Valetudo Vacuums Map Camera for Home Assistant

@hayvan96 I think we can do it automatically from the camera, working on this implementation:

  • get the command START to the vacuum via broker.
  • fire the event “vacuum.start”
  • the camera will get the event from HA bus and reset the trims.

If all goes well this should simplify a lot the implementation and there should be no need to create an automation.

@hayvan96 the beta 2024.10.0b2 is now available, in theory this should automate and trigger the camera reset_trim as soon the vacuum get the start command.

I’ve tried it, it seems to work. I have to test on bigger areas, but it seems that it works as intended. Thank you!

Perfect thanks for trying it :slight_smile:

Hello Everyone :slight_smile:

The vacuums Rand256 are not providing sensors data to home assistant, so in the release 2024.10.0 will introduce the sensors for Rand256 users. The camera startup was refactored and a beta 2024.10.0b3 have been release today.

This update also improved the code for the function introduced thanks @hayvan96 suggestion.

I would be testing this 2024.10.0b3 and report any unexpected behaviour would be really appreciated. Thanks as alway for the cooperation :rocket:

Hi, testing b3 here. Curiously, when I launch the robot in a closed room, it maps correctly but the framing is a bit weird.


One would expect for the camera to be framed upon the room, without all this empty space?

Interesting… is it different from b2? I mean did it show before the closet without the empty space around? I think and repeat (as I see no dock there) it’s a really particular case of use, will have look at it but… I guess is normal as there is a min image size and the robot is changing orientation of the map.

Working fine here with my two S5 vacuums (Hypfer).

@tom_l thanks for confirming it this is super appreciated :slight_smile:

You’re probably right, it’s very niche even for me, and it was similar with b2.
So it works perfectly!

Newly release 2024.10.0

Added

  • Detection and incremented support for rand256 vacuums, adding HA sensor for the vacuums.
  • Function build_full_topic_set for constructing MQTT topic sets.
  • Constants DECODED_TOPICS and NON_DECODED_TOPICS for MQTT topic management.
  • Vacuums start detection to automatically reset the images trims.

Changed

  • Updated sensor units and state classes in sensor.py for improved measurement reporting.
  • Refactored MQTT handling and payload decoding in connector.py.
  • Removed trailing spaces from strings in strings.json and translations/en.json.
  • Transitioned version from beta to stable release in camera.py and manifest.json.

Fixed

  • Improved exception handling in coordinator.py for broader error management.

Side note: As always, would appreciate, when you like it please star it and feel free to contribute reporting issues or possible improvements :wink:
This release goes out a little earlier as per I’m personally quite busy in the next days.

3 Likes

Just tested in my test environment, for the users of Pkoehlers maploader, on 2024.11.0 the integration will work with it. We did get the maploader status and when it will go from loading_map to idle the camera will automatically reset the images trims :slight_smile:

This means that there will be no need to call the “action “ reset_trims anymore, as per it will run automatically each time the maploader changes the maps.

Some of you already probably download 2024.11.0, if so please re-download it as I made a small mistake corrected few minutes ago (sorry for that).
added vacuum Actions go_to, clean_zones and celan_segments (save an load maps for Rand256) and added also support for MapLoader, in order to simplify the scripts in Home Assistant. Each time the maps are re-load in the vacuums the camera reset_trims will be automatically triggered.

Thanks also to @Minims did add a temporary fix for the reported #263
As a side note, there could be some fix for this new function within the next week.

What’s Changed

  • Adding support for MapLoader (auto reset_trims) by @sca075 in #260
  • Update dependency pillow to v11 by @renovate in #259
  • chore(deps): update dependency janus to v1.1.0 by #264
  • Create da.json (Danish translation) by @kibuan in #269
  • Temporary fix for issue #263 and Adding Actions by @sca075 in #266

New Contributors