iRobot Roomba i7+ Configuration using Rest980

Tags: #<Tag:0x00007f73acfd4748> #<Tag:0x00007f73acfd43b0>

So everything has been working great, and I want to keep it that way so I killed my roombas uplink but now I have to solve the no google home control problem. Is there a way to expose the commands to google? Probably a input boolean, but i’m having trouble figuring out what exactly needs to be triggered. Just need the start cleaning and dock, maybe pause.

Have a look at this post for some inspiration :slight_smile:

Yea thats all beyond my skill. Can I just create a input boolean with the rest_command.vacuum_action? What would be the service data to sent to the rest command?

Then i can just set up google assistant for when i sat start “start vacuum” i can have it turn on that switch.

I’ve been getting this error when I check the configuration of Home Assistant. Any idea what’s wrong?

 Invalid config for [vacuum]: required key not provided @ data['platform']. Got None.

Followed your step by step guide for an i7+.

All working so far but when I check the configuration of Home Assistant, I get:

expected a dictionary for dictionary value @ data['packages']['sensor']

I think its related to vacuum.yaml in my packages directory but not sure.
Any thought? thanks.

Hey @Syrius it looks like my vacuum is storing a ton of data in my home assistant data base, it’s over 9GB and takes FORVER to load.

Not sure if you’re able to set this on your side, but I’m looking into solution with recorder integration and mariaDB to try and fix it.

working on it here -> Help! Home Assistant 20-30 MINUTE to restart and database at 9GB for some reason

I am reallty not sure on how to integrate with Google :frowning: I dont use it unfortunatley…
You could potentially create an automation which enables the IB or updates the text field and then trigger the clean?

are you using the native vacuum component? this solution uses a sensor component not the vacuum component.

Perhaps have a review of this page which explains how to configure packages

yikes! thats alot of data to store.

I cant really make any changes on my side, but you should just be able to configure the recorder component to exclude these entities from storing data in the DB - for example

recorder:
  <existing code here, if any>
  exclude:
    entity_globs:
      - sensor.vacuum_*
      - automation.vacuum_*
    entities:
      - sensor.rest980
      - camera.roomba
2 Likes

Utilizing the template vacuum you can expose the vacuum to google for control.

1 Like

I was able to get my vacuum (S9) setup and working (rest980 and lovelace card).
I’m having trouble getting the second one (Brava M6) with rest980_2
no new entities are created.
(rest980_2 has the correct config (which works on the first rest980 if I were to configure it there))
(php-nginx_2 config: NGINX_WEBROOT: /config/mop (created the directory and populated with same files as /config/vacuum)

Any suggestions?

Hi Syrius, great job on the integration for roomba…

I do have one question (new to HA)… I have added the “rest980 Docker Image” addon and I have the lovelace card and roomba is working correctly (BIND and passwords are correct), but it seems i cannot get stats info on the card

image

it seems that docker is not working properly (log info:)

[email protected] start /usr/src/app
node ./bin/www


thank you for your help

you will need to duplicate the sensor config and secrets for your second robot.

thats correct for the docker part, but you need to create the sensor configure package in HA which will pull the data from the docker container. check the readme on GH Repo for the detailed steps!

Thanks that worked. Just the mapping not working now for either one. just get the default floor.png as latest after each job finishes.

have a look at this post for how the mapping process works -

let me know if it dosent help and we can suss it out (y)

That got it!
Thank you for your assistance.
I am so appreciative of the support and excellent addons!!

1 Like

I’m trying to get rest980 set up in a Docker in order to play with this for my 960 (mostly interested in the live map), but I’m getting the error:

Errol:~ # docker run -e BLID=my_blid -e PASSWORD=my_password -e ROBOT_IP=my_robot_ip koalazak/rest980
standard_init_linux.go:211: exec user process caused "exec format error"

I have a feeling this is because my device is an aarch64 one? Could anyone offer suggestions on how I could get it running?

Yep koalazak only published x84_64 images on Docker Hub.

I have created custom images which run on HA which should work for your platform?

If you just want to run it direct on Docker, clone the rest980 folder in the above repo and build it manually
docker build --tag rest980 .

Trying to implement the 2 floor cleaning and following your earlier post.

Getting the following in the logs when I try to clean a room on a floor.
The pmap id and region are correct.

* Error. Url: http://192.168.1.4:3002/api/local/action/cleanRoom. Status code 400. Payload: b'{\n "ordered": 0,\n "pmap_id": "4VaRSnhQTBaH1uvtJksaFQ",\n "regions": [\n {"region_id": "4"}\n ]\n "user_pmapv_id": "None"\n}'

Any ideas on what may be wrong?
Can post vacuum.yaml if required.

Hi, I have a roomba (downstairs) and am adding a second(upstairs). I have the add-on containers working for both robots and the first(downstairs) robot entirely configured and working. Looking over this page I saw reference to an update in the FAQ to better explain what needs to change in the secrets.yaml and vacuum.yaml packages. I checked the FAQ and readme but was not able to find what I was looking for. The documentation explains how to get the second set of containers working but I could not find the steps needed to support a second floor Roomba like possible changes in the yaml files and possibly vacuum folder . Anyone have a link handy to the steps?, I have looked a few times and just am not seeing it…

Hi, i’m really new (started yesterday) to home assistant and lover the work you’ve done for this Roomba integration.
I was able to add my Roomba I7 through the GUI - Integrations. Got my blid and password through a python script.
But now i wanted to start using your advancend roomba setup.
I got stuck at Step 5: Get Room Details
My page is totally empty just {}2020-11-20 17_03_37-Window

I have the same issue. I haven’t figured out the solution yet however I can post more information here so that someone else might be able to.
Here is a link to an error from the rest980 container when this occurs.
https://pastebin.com/MuwEtbTV

Here is my environment section of my docker-compose

    environment:
      - BLID=BEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      - PASSWORD=:1:xxxxxxxxx:xxxxxxxxxxxxxxxx
      - ROBOT_IP=192.168.x.xx
      - FIRMWARE_VERSION=2

I have also tried with putting quotes around the entire environment string
eg:

- "PASSWORD=:1:xxxxxxxxx:xxxxxxxxxxxxxxx"

That did not have a change. If anyone has any ideas or wants me to provide more information I’ll be happy to.

edit:
The error I linked does not always occur and may be unrelated. I’ve done several variations of this step and sometimes it doesn’t happen. However I always get a blank dictionary in my rest api
edit2:
So I’ve tried various combinations of holding the home button and starting clean rooms and starting the rest980 container. By holding the home button, then starting the rest980 and then checking the web page I get output. However the last command is NULL. If I leave the container going and start a clean room task, I immediately get the error I posted in the pastebin. It’s like it kicks me off once it starts the clean room
final edit:
So this is embarrassing but at some point during the resets and such the password changed. It used to be :1:55 and changed to :1:155. Couldn’t have been a copy paste error since it’s in the middle of the string. Sorry guys.