Skip to content

Integration that export and render all Valetudo Vacuums (Hypfer and RE(rand256)) maps to Home Assistant

License

Notifications You must be signed in to change notification settings

kodbuzz/valetudo_vacuum_camera

 
 

Repository files navigation

Valetudo Vacuum's Camera

logo_new

Current Release: GitHub Latest Release

Screenshot 2023-12-27 at 13 37 57

Valetudo Vacuums maps in Home Assistant was never so easy.

About: Extract the maps for rooted Vacuum Cleaners with Valetudo Hypfer or RE(rand256) Firmware connected to Home Assistant via MQTT, easy setup thanks to HACS and guided Home Assistant GUI configuration.

What it is: This custom component anyhow is simple to install and setup, decode and render the vacuum maps to Home Assistant in few clicks. When you want also to control your vacuum you will need to also install the: lovelace-xiaomi-vacuum-map-card (recommended) from HACS as well.

Configuration of the card (thanks to @PiotrMachowski) once the camera is installed requires:

calibration source will be set to camera not to identity as the camera is providing the calibration points to the card.

calibration_source: 
  camera: true 

Do not forget to use the internal_variables as Valetudo is using MQTT is necessary to set in the card the topic. Your topic can be obtained also from the camera attributes vacuum_topic.

Screenshot 2023-10-24 at 18 25 59

internal_variables: 
  topic: valetudo/your_topic  

We did agree and work with the author of the card, we guess soon a new version of the card will be released. Those settings for the internal_variables will be automatically setup in the card as soon the vacuum and camera will be setup in the card.

Limitations and Compatibility:

Please read the limitations and compatibility before to install the camera.

I kindly ask for your understanding regarding any limitations you may encounter with this custom component. While it's been extensively tested on a PI4 8GB, hardware below PI4 8GB may face issues. Your feedback on such platforms is invaluable; please report any problems you encounter. As a team of one, I'm diligently working to address compatibility across all environments, but this process takes time. In the interim, you can utilize ValetudoPNG as an alternative on unsupported platforms. Your support in making this component compatible with all environments is greatly appreciated. If you'd like to contribute, whether through code or time, please consider joining our efforts. For further details on how the camera operates and how you can contribute, refer to the Wiki section of this project. Your patience and assistance are crucial as we strive toward our goal of universal compatibility.

  • PI3 4GB: The camera is working on PI3 4GB, anyhow no chance there to run two vacuums cameras at the same time.
  • PI4 4GB: The camera is working on PI4 4GB, anyhow run two vacuums cameras at the same time isn't advised.

Known Supported Vacuums:

We here list, thanks to our users and tests done, the known working vacuums.
  • Dreame D9
  • Dreame Z10 Pro
  • Dreame L10s Ultra
  • Mi Robot Vacuum-Mop P
  • Roborock.S5 / S50 / S55 (Gen.2)
  • Roborock.S6
  • Roborock.S7
  • Roborock.S8
  • Roborock.V1 (Gen.1)
  • Xiaomi C1
  • In general, it works with all flashed Valetudo Hypfer or RE(rand256) vacuums.

Screenshot 2023-09-12 at 22 53 29

How to install:

Via HACS please follow. The instructions in here show detailed steps and will help to set up the camera also without HACS (manual setup).

Features:

We here List what this camera offers as futures.
  1. Automatically Generate the calibration points for the lovelace-xiaomi-vacuum-map-card to ensure full compatibility to this user-friendly card.
  2. Automatically Generate rooms based configuration when vacuum support this functionality, this will allow you to configure the rooms quickly on the lovelace-xiaomi-vacuum-map-card. Both firmwares are now supported.
  3. The camera take automatically snapshots (when the vacuum idle/ error / docked). It is also possible to save a snapshot using a service call from Home Assistant with the file name and location you want to use.
    service: camera.snapshot
    target:
      entity_id: camera.valetudo_your_vacuum_camera
    data:
      filename: /config/www/vacuum.png
    
  4. Change the image options directly form the Home Assistant integration UI with a simple click on the integration configuration.
    • Image Rotation: 0, 90, 180, 270 (default is 0).
    • Trim automatically the images. The standard Valetudo images size 5210x5210 or more, are resized automatically (At boot the camera trims and reduces the images sizes).
    • Base colors are the colors for robot, charger, walls, background, zones etc.
    • Rooms colors, Room 1 is actually also the Floor color (for vacuum that do not support rooms).
    • Transparency level for all elements and rooms colours can be also customize.
    • It is possible to display on the image the vacuum status, this option add a vacuum status text at the top left of the image. Status and room where the vacuum is will be display on the text filed.
  5. This integration make possible to render multiple vacuums as per each camera will be named with the vacuum name (example: vacuum.robot1 = camera.robot1_camera.. vacuum.robotx = camera.robotx_camera)
  6. The camera as all cameras in HA supports the ON/OFF service, it is possible to suspend and resume the camera streem as desired.
  7. In the attributes is possible to get on what room the vacuum is.
  8. No Go, Virtual Walls, Zone Clean, Active Segments and Obstacles are draw on the map when available.

Notes:

  • This integration is developed and tested using a PI4 with Home Assistant OS fully updated to the last version, this allows us to confirm that the component is working properly with Home Assistant. Tested also on Docker Supervised "production" enviroment (fully setup home installation).

Tanks to:

  • @PiotrMachowski inspiring this integration and his amazing work.
  • @Hypfer for freeing the vacuums from the clouds and continuously improve our vacuums :)
  • @billyourself for providing us the data and motivation to evolve this project.
  • @Skeletorjus that using this integration gave us several ideas to improve it.
  • @rohankapoorcom autor of the v1.4.0 that make really easy to set up this integration.
  • @gunjambi that found a solution to re-draw the robot and also implemented the snapshots png to be enabled or disabled from the options.
  • @T0ytoy for the amazing cooperation in testing our Camera that improved using the threading.
  • And to all of you using this integration and reporting any issues, improvements and vacuums used with it.

About

Integration that export and render all Valetudo Vacuums (Hypfer and RE(rand256)) maps to Home Assistant

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.7%
  • Shell 0.3%