Hi
I have the same problem as my pioneer, I’ve already searched the internet and haven’t found a solution. I just can’t get the card to work, hopefully someone else reading here can help.
Hi @Flodo1987, this works for me:
- type: "custom:valetudo-map-card"
vacuum: valetudo_roborock
I looked into the source code of the card and found this:
getMapEntityName(vacuum_name) {
return "camera." + vacuum_name + "_map_data";
}
getVacuumEntityName(vacuum_name) {
return "vacuum." + vacuum_name;
}
So it just expects the name and will derive the entity IDs from it.
For who is looking for a really easy way to do integrate the maps from Valetudo… the Valetudo Vacuum Camera is configurable with few simple steps, download, install, setup without a line of code written.
Hi gsca075
I can’t manage to get Valetudo Vacuum Camera to work.
I own a X40 from dreame.
Are there any prerequisite aside of having the dreame integration effective? Said integration exposes camera.bot_map_data.
I proceeded to install yours and went to System > Devices and Services > + Add Integration > MQTT Camera Setup
And when I click the empty field, it offers only to enter vacuum.bot as expected. I click submit and I get “unknown error occurred”. Any idea?
Hi @solarsol
I’ve seen a similar report and I will check as soon… it looks there is small misunderstanding, MQTT Vacuum Camera… Did you check the install guide here? The vacuums are display and then it should be possible to add them anyhow as per recently there was another issue… similar to what you reported I will check… what firmware runs your X40 and what HA version are you using? Can you please eventually report your issue on here please. I 'm pretty sure that with the older version (currently still need to install and test the last of Valetudo)… it works as expected.
Hey there! thanks for replying. here’s the answers. I will report my issue on the other place too.
I followed the install guide.
I’m running the latest HA (I actually installed 72h a go for the first time), latest X40 firmware 4.3.9_1536
@solarsol did replay already in there but…
- No logs of the issue you are reporting are available.
- There is only one scenario possible causing the issue you are reporting and it is the following:
- No MQTT connection (but you reported you can see the vacuum on HA)
- The vacuums has no map data / issue with the status text data (I’m checking).
- Either the cases MQTT_Vacuum_Camera must be setup there so the error comes after the integration is setup, then probably you deleted the camera correct?
hello again.
So I investigated MQTT itself following your reply. Indeed it was stopped and couldn’t be started. I got it working but still no success with your plugins (still " unknonwn error occurred")
I have MQTT IO running:
- Protection mode ON, configuration file
- config.yml in /config/mqtt-io/ confirmed
- mqtt:
host: core-mosquitto
port: 1883
user: “username I defined” in HA system/people and users/users
password: “password I defined” in HA system/people and users/users - however, in System/Devices & Services/MQTT there’s one entry: coremosquitto but no device or entities attached
is that normal?
@solarsol Again this is strange:
do you see those?
as you can see I run the same version.
The credential in the robot should be in here:
the host should be the IP address of your HA instance.
The camera setup:
After that we use the Topic, that by default is setup in the Vacuum.
if you can provide a log for instance… I can better investigate, meanwhile I will check if I get an X40 json and verify the startup.
Yeah, and getting stranger by the hour too…
I see MQTT
MQTT Vacuum Camera doesn’t appear in thet list as no integration can be configured (the vacuum “unknown error”
In this terminal image, you can see that the command Mosquitto_pub works so something is connected right. I just don’t know what isn’t. (that specific command is the one recommended to test for errors in MQTT’s documentation
Valetudo V1 SilentTepidStinkbug Robot is the how should look the standard Valetudo… entity id isn’t it? you have a vacuum.bot I assume renamed entity in home assistant? is in your Entry of MQTT? if you have only the coremosquitto I think you can resolve it in this way… You need to delete the entity coremosquitto (that by the way is the cause at this point, because I had a similar problem in the past). So disable the entity in MQTT and delete then delete it.
After done, from the add-on store, restart Mosquito.
Then in devices add MQTT
Select use official.
There you your vacuum.bot entity should appear.
if you have this click on devices and the vacuum should be display.
if it is so… the only think to check is in the vacuum setup what is the topic / identifier you use… because I would try to simulate the same situation and get it working… this is the reason why I would like to know this data. I mean seams reasonable, isn’t it?
I did all you said: disable then delete the integration entry, restart mosquito, re-add the entry and still unsuccessful. I’m gonna copy all I can here.
Yes, the bot has been renamed “bot” so the its entity is vacuum.bot, the camera is camera.bot_map, the current map data is camera.bot_map_data
First MQTT (Addon page, config.yml, configuration, and log), then Mosquito (same) then Dreame
1. MQTT
a. Settings>Addons>MQTT IO and the Configuration tab
b. MQTT add-on logs (Seems to me it’s all ok)
c. the config.yml itself
d. system>Devices & Services>MQTT gives me the mosquito integration but with no entry
e. system>Devices & Services>MQTT>Configure
f. system>Devices & Services>MQTT>Configure>Re-Configure
In here, I’ve put the username and password of my user
2. Mosquitto
a. Settings>Addons>Mosquitto Broker and the configuration tab
b. logs
3. Dreame
a. I’m on the latest beta as per HACS>Dreame Vacuum>Re-download>Releases
b. 1 device + 172 entities
system>Devices & Services>Dreame Vacuum
When I go into configure:
Do you need anymore data ?Tell me where to find it and I will bring it to you
mmmmm that is not Valetudo this is why the Camera isn’t working in your case… but okay… I will have a look to the integration you use and decide if we can get the maps data from there… are we okay with that?
So you mean to ask me to integrate my vacuum using valetudo?
aside that, totally okay with that what do you need from me ?
@solarsol no, absolutely I’m not asking you to integrate the vacuum with Valetudo but this thread and it’s contents are for Valetudo…, Xaiomi Map Extractor should handle your vacuums maps if not wrong… anyhow the Dreame integration as I see is providing the maps in one of this between the 172 entites in your screnshot… as Valetudo alternative… looks good…
If when you setup your MQTT there is no Vacuum… there isn’t much I can do… as the aim of the integration I’m developing is to somehow cover the luck of entities sometimes there is by using those “unclouded” vacuums in Home Assistant.
As I see from the link I provided, you should be good to Go… if you are okay with the cloud remote control… or whatever method this component offer to control your vacuum in Home Assistant…
Please remember “Never touch a running system” is the role number 1…
Anyhow I got to thank you as per… when the vacuum isn’t supported the MQTT Vacuum Camera integration should simply error “Unsupported vacuum” instead of “Unkown Error”…
Alright, you clarified the whole thing for me, thank you very much.
Dreame integration provides its own map and so doesn’t do it over to valetudo, am I correct? hence why I can’t find it via MQTT.
This works good, I can even use Homekit bridge to display the map as a camera in homekit. However, when I go into it, the stream stay frozen and doesn’t update. only the preview on Homekit’s homepage.
Then there’s camera.current_map_data which also provides the same into homekit however: it says “install Lovelace valetudo card to see the data embedded here”. Hence why I contact you but I understand the burden isn’t on you, it’s on the dreame integration maker. am I correct?
@solarsol @gsca075 Dreame integration does actually provide a map data entity to be used by Valetudo Map Card but it is disabled by default.
You need to enable camera.[Device Name]_map_data
entity manually from your device page then you can select your vacuum from the card configuration and it should work.
It is mainly intended to be used from low memory devices (<=2GB) since backend rendering of the map image has huge impact on. Idea is that you can disable the standard camera map entity and use Valetudo Map Card to render the map data in frontend to spare some memory and CPU time from server.
@tasshack thanks for the really great explanation, well I didn’t read fully from your project page but you did a great job
Thank you for your reply.
So it’s actually normal that I get 2 entities:
- camera.[device_name]_map
- camera.[device_name]_map_data
The first one is the map as provided by the bot, whilst the second is the one that parse data that can be used by valetudo, am I correct?
As camera type entities, they can be displayed as camera into Homekit which is my goal. but the following happens:
- camera.[device_name]_map
- Whilst in preview (the view before going into the stream), it refreshes ok every 10 second or so as per homekit’s design. But once I go into view/fullscreen it keeps buffering. I leave, it works instantly again in preview
- camera.[device_name]_map_data
- It only displays “Install Lovelace Valetudo Card to display the data” in homekit
- same as above: keeps buffering in full screen, ok in preview
- now that’ve enabled the entity, it displays fine on the dashboard
Both display ok in the dashboard and updates well in preview and streaming.
Any idea about the constant buffering?
And display “install valetudo card” in homekit whilst generating the actual map_data in the dashboard?
Homekit expects a constantly refreshing camera stream but the integration only returns a new frame when the map has been updated.
You need to convert the MJPEG stream of the integration to a format that Homekit can understand correctly and you can use ffmpeg proxy camera integration for that.