Firstly thanks for being an amazing Home Assistant community!
So much valuable information can be found in these forums, without this I don’t think this project would be possible/complete!
When I took ownership of my iRobot Roomba i7+, these built-in vacuum component didn’t work for me so I ventured to find another way of integrating this capability into HA
I personally still use the scheduling built into the iRobot App, however this configuration can be leveraged for performing spot cleaning and/or integrating into more advanced cleaning
I have documented the steps used to get i7+ functionality up and running
Please let me know your thoughts / any comments for improvement !!
This can also be installed on Hass.io deployments… including RPi!
MAPPING STATUS
Please note - location data is currently broken in iRobot FW 3.20.x +
This is being tracking in the dorita980 repo.
Thanks Jeremy for making this available. I got it working with a few minor issues. In the lovelace script there is a section trying to execute a script named script.vacuum_clean_rooms this was not in the vacuum.yaml, I improvised took your automation.vacuum_clean_rooms and copied then changed it to a script named script.vacuum_clean_rooms
First time i restarted HA, the services rest_command.vacuum_action, rest_command.vacuum_clean did not get created, don’t know if I needed it, i put the url section for the rest_command.vacuum_action only in single quotes because of whitespaces in {{ command }}.
I haven’t quite mastered everything in HA, just wondering could vacuum.yaml be referenced in configuration.yaml? I didn’t find answers, so I cut pasted parts of vacuum.yaml into configuration, scripts, automation, groups yaml files.
enjoying the utility and the rest980 docker, if the roombai7 ever gets stuck somewhere in the house the experimental feature map url could be handy, for now you have to leave a computer running with chrome web page at this url though.
http://<ip/fqdn of docker host>:<port>/map
Hopefully in the future res980 docker can also show the floor plans similar to the irobot app.
You are correct, this was a mistake and should be automation.vacuum_clean_rooms. I was originally going to use a script, but it worked directly using an automation so it wasn’t needed.
Strange, i didn’t need single quotes? but it cant hurt i suppose!
I am using the Packages feature in HA which allows you to group all the relevant bits into a single file!
Yeah I’ve been experimenting with this - however it seems for me to just disappear off the page! Its a works in progress
Hi Jeremy,
you might want to take a look at iRobot Roomba (WiFi) Support a user gotschi has posted a solution i’m trying to add to your setup. his scripts uses automation trigger to write (theta,x,y) to a log file. Another trigger executes curl command line every 10 seconds (i think it’s drawing next position). An index.php file setup as camera displaying vacuum progress.
I’ve added to the rest platform
- pose
to fetch the necessary data then produce location which I think resembles (theta, x, y) parenthesis included from Roomba status device
I was able to get the map working, however its not as responsive via rest980, even with an interval of 2 sec from the rest sensor, it is only getting updates at 4/6/8 second intervals from the Roomba resulting in not as useful maps.
This is an apparent clean of my apartment… which looks absolutely nothing like my apartment
Thank you for this write up! I was using the other integration method before but found it really quite useless since I couldn’t target individual rooms. I was going to try using the google assistant webserver route but that would only allow 1 specific room which still wouldn’t allow me to move my scheduled cleaning automations into Home Assistant.
With your method I was able to copy what you had exactly and then using node red I created my same schedules I had in the roomba app but added inteligence to it so instead of just starting at 9am, it waits until we leave the house and starts. This is what I have been wanting to do since day 1 however with the old integration I couldn’t just clean specific rooms on a particular day.
Am I right assuming that I need to add this git repo to the allowed repositories for the add-on store? THEN follow your instructions? I don’t currently see it in the add-on store.
Do I need to/should I disable the regular Roomba/vaccum integration?
Also, as a side note, I had to restart Hassio before this would work.
After I installed the add-on, I set up the config parameters and started the add-on…
It didn’t work…
I restarted home assistant and the add-on started automatically (as it should) and then it worked correctly and I was able to do the API call to get the rooms, etc.
Hi @Syrius
yeah the php solution is work in progress. on my home, the vacuum even went outside the frame, so I couldn’t even see where it was. I was also wrong about the coordinates, theta is not the 1st coordinate, its the last. I don’t know php code, but when a php code similar to this becomes available in the future with some configuration options for windows size, I could install php server, and image.php related files inside the rest980 docker image with a few tweaks to the Dockerfile when building, the image.php would make localhost rest calls that would improve the performance. The http://rest980_local:3000/map url seems to have no issues in drawing the vacuum path, it might be because its local, or HA rest calls have some limitations on frequency of http gets.
in raspbian 10 I only had to install 4 packages “apt install apache2 php php-mbstring php-gd” to get php recognized, something like these 3 would go inside the Dockerfile.
FYI, I was also wrong about rest_command.vacuum_action URL needing single quotes, when invoking the rest command the single quotes were sent with it, and caused the rest980_local docker to throw some errors.