ICantBelieveItsNotValetudo is an assistant service which runs on your Linux box, Pi, whatever.
Basically it does the heavy lifting map-wise for the vacuum, because otherwise the vacuum will run out of resources.
You can run it by cloning the git and the command “npm start”.
Don’t forget to make a proper config file with the proper mqtt topics.
Make sure this config settings match the mqtt topics from your valetudo config on the vacuum.
If you want to run it on the background, use something like PM2.
Good luck!
By the way, I use the fork of rand256, he also made a ICantBelieveItsNotValetudo fork which is now called valetudo-mapper. Rand256-Valetudo Rand256-mapper
So, Mqtt was used to communicate between ICantBelieveItsNotValetudo and Valetudo?
I have integration vacuum image in used ( Valetudo ). If i want to use Rand256-valetudo, Do i need to build vacuum image again and flash to vacuum cleaner? Thanks for your help :)
No, just replace Valetudo. He also makes deb files, which you can easily copy to the vacuum and do dpkg to install.
All this information is found in that git!
Maybe first try to install the new Valetudo by hand?
Just replace the binary file in the folder /usr/local/bin
Just make sure first to stop Valetudo and chmod +X Valetudo binary before starting again.
I have Roborock that is flashed with Valetudo and is connected to HA with mqqt. I also have icantbelieveitsnotvaletudo hass.io addon installed so I have the map as a camera sensor.
But how I can get a Live map to show? The map is not updating when the vacuum is on.
Edit: It is working, had to change the mapDataTopic to match the identifier.
Anyone using Valetudo by rand256 with home assistant and the now supported rooms? Would like to know how to use those predefined rooms straight from hass.
Looking at MQTT explorer. When home assistant sends a command it comes in on the custom_command topic. In order for me to pause the vacuum I have to use the command topic. Anyone know why that is?
EDIT:
I have come up with a solution but it is a hack so I hope someone can point me out the proper way to do this. I added to my configuration.yaml a vacuum entry so I now have two vacuum entities for the same thing and then I sent the command to that. First block is configuration.yaml and second block is scripts.yaml
vacuum:
- platform: mqtt
name: "Valetudo Vacuum"
schema: state
supported_features:
- start
- pause
- stop
- return_home
- battery
- status
- locate
- clean_spot
- fan_speed
- send_command
command_topic: "valetudo/rockrobo/command"
state_topic: "valetudo/rockrobo/state"
set_fan_speed_topic: "valetudo/rockrobo/set_fan_speed"
fan_speed_list:
- min
- low
- medium
- high
- max
send_command_topic: 'valetudo/rockrobo/command'