Started to use the new roborock integration with map support (as image).
I was previously using Map Cloud Extractor and it allows to configure what exactly you expect to see on the map (backgrounds, rooms, walls, vacuum path and etc…) and provide custom colors, it allows to seamlessly overlay over a floor plan.
How the same can be achieved within a new integration?
So, I found some solution, but it’s ugly and will not survive the update (i’m with supervised ha).
I found that all colors set in python library vacuum_map_parser_base localte in ha docker in /usr/local/lib/python3.11/site-packages/vacuum_map_parser_base/config/color.py in class ColorsPalette.
I’ve set all not needed entries with opacity 0 and got a working result.
I believe there’s should an easy way to implement this color mapping from the config, however i don’t have dev environment (and time) to start looking into…
That doesn’t answer my question. What is the code to display it? For example, I have a conditional card that shows when I press a button. That card should be the map. Currently I use the xaomi camera stuff. There’so camera for the Roborock integration.
show_state: false
show_name: false
camera_view: auto
type: picture-entity
entity: camera.roborock_s8_pro_ultra_map
Yes, the picture regularly updates since the source is a camera. Every couple/3 seconds or so? I wouldn’t say constantly, but it then doesn’t constantly update in the native Roborock app either, so…
Also - keep in mind that this is, as I said when I first replied to this - an entity from the regular Roborock integration. It appears to have been recently added since I didn’t see this before the last update?
Also, this doesn’t extract the overlay, it just shows you the exact same map as you’d see in the app, just like the pic I posted.
This does NOT use the xiaomi integration (since the s8 isn’t on the supported list and I couldn’t seem to get that working).
There’s my problem. I have no camera entity for s7 Max V. Is that native to your integration based on model or is it created elsewhere (like the xiaomi cloud extractor)? I know the vac has a camera, but it’s not listed anywhere.
The s8 doesn’t actually have a camera. The map entity is exposed via the roborock integration as a camera so that the image updates. If it was just a jpg, it would be cached by a web browser and never update.
I’m not using the xiaomi integration since it doesn’t support the s8.
That is exactly why I’m having a problem. Thanks for verifying that I’m not just stupid. SO…how do you get an S7 map to display via Roborock, not Xiaomi?
Can you define the image as a generic camera perhaps? I have several jpgs on my system that I’ve defined that way. For example, snapshots that I take from my doorbell cameras every time someone rings the doorbell. I want them to update on the dashboard instead of be cached by browsers. So I defined them as a generic camera entity under the generic camera integration, then used that “camera” on a picture entity card. Whenever the jpg updates, the picture entity updates.
I’m just thinking out loud here, I have no idea if that would work or not.
Erm, no? There is no requirement that it be external. Re-read what I said about how I am using it. I am displaying several jog files located directly on my home assistant instance. As in, local - not external.
@bkr1969, I think the way to currently do it is to create a “Generic Camera” entity with your image like this.
Under settings → Integrations click “Add Integration”, search for (and select) “generic camera”.
Fill in “Still Image URL” with http://127.0.0.1:8123/$PATH
$PATH can be found by looking at your image.roborock entity; just copy the entire string listed in the entity_picture attribute, something like /api/image_proxy/image.roborock_s7_main_20floor?token=REDACTED.
No need to fill in/change anything else, just click “Submit”, and you should see your image. If you do, check the “This image looks good” box and click “Submit”.
I will agree, though, that this is not the most user friendly way. Preferably, either the Roborock integration should provide a camera entity, or the xiaomi-vacuum-map-card should accept an image entity.
Does anyone have a suggestion for which solution would be better? Then I’ll add a feature request for the relevant repo.