iRobot Roomba i7+ Configuration using Rest980

I’ve managed to get this setup on one of my roombas, really cool to see the live map!

This morning i remembered that one of our use cases is moving the roomba between floors, often when we do this - we manually start the roomba on the new floor via the clean button.

I see that there may be some ways to know what floor and generate the right background image if the roomba is started from the app, but is there any way to know what floor it is when the roomba is manually started?

I was having a hell of a time getting the blid and passwlord, but tried this and it came right up. The problem is whenever I attempt to use the info I get errors. So for example if I try to setup the integration in the gui, I get this in my log

020-09-30 12:19:31 ERROR (SyncWorker_37) [roomba.roomba] Error: [Errno -3] Try again
2020-09-30 12:19:36 ERROR (MainThread) [homeassistant.components.roomba] Timeout expired
2020-09-30 12:19:36 ERROR (SyncWorker_37) [roomba.roomba] Error: [Errno -3] Try again
2020-09-30 12:19:41 ERROR (SyncWorker_37) [roomba.roomba] Error: [Errno -3] Try again
2020-09-30 12:19:41 ERROR (SyncWorker_37) [roomba.roomba] Unable to connect to Roomba-3193C20C31338710.

Any help would be greatly appreciated

hi
i am new in using this card.
i have some trouble to get the information into this card

here is the entities i have on the Roomba!

how can i get the rest of the information added to the card? in the right place
As a note my roomba is a model 980

here is my code
cards:
- type: custom:roomba-vacuum-card
entity: sensor.dusty_battery_level

here is the card
image

The directions imply that 2 roombas can be configured. How is this done? Are there any instructions that I am missing?

If your starting from the Roomba then it’s not likely… my only suggestion is to check the api to see if it exposes the mapid when it starts cleaning ? Otherwise just don’t start it manually :wink:

I’ve been meaning to work on revising the two floor capability - I just don’t currently have two floor nor the time to properly test :confused:

It looks like your using the native integration which this intergrstion/card isn’t designed for. That being said - the log is indicating a connection issue. Maybe check connectivity between HA and Roomba?

It looks like your using the native integration. This card isn’t intended for that as it’s designed for my custom sensors using data from the rest980 api

Two roombas can be configured - as far as I provide two seperate addon instances. However it’s not explicitly defined in the config templates - you will simply need to duplicate it for each robot.

I’ll try make this more clear in the FAQ

Okay. I have now made an template to make an sensor.xxx for each attribute. Can I use the sensors I have made in your card?
For example I have made an sensor (sensor.batrerylevel) can I put that one into battery on your card

The card is looking for a single sensor entity with a defined list of attributes. I have listed out the attributes used here.

I don’t however know if the native card exposes all of these attributes.

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.