iRobot Roomba i7+ Configuration using Rest980

Hi All,

Apologies as I am clearly out of my depth, I hope this hasn’t been answered already but its a pretty silly question.

I have installed the REST980 API so far as I can tell, I’ve had no issues with BLID and password. This is loaded via HACS through Home assistant running on a Raspberry Pi4. Once started the log says:

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

Essentially I have no idea what do do from here, do I need an MQTT server to control my Roomba i7+? Perhaps I just don’t understand the language in the guide but essentially I have no idea how to see the robot and then control it in Home assistant.

Looking for help, no coding experience mostly just familiar with HA interface.

Hi All,
I’m new here and I’m also stuck on this point when te log says:

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

I Hope someone can help us to integrate our Roomba :crossed_fingers:

I finally got this working to at least talk to my roomba but I don’t appear to have all the sensor elements broken out. I see a parent sensor.rest980 and I can see in the Developer Tools and all of the sub data (cleanMissonStatus, dock, etc.) but those sensors aren’t exposed to HA so that I can use them in a lovelace card. I’m using the Mosquitto MQTT add-on with the default settings (discovery prefix, etc.) and it’s running with other devices showing up in the MQTT list of devices except the roomba, is this normal?

I’m back at this: and everything worked out.
I was making following mistakes:

  1. Never connected to iRobot (map collection) I was under impression, I could get this working without interacting with iRobot servers
  2. All the steps (11 of them, 12th is extra) explained in github needs to be followed, there is no checking if it worked after every steps or such

Now next part is getting second instance of this working:
As of now I’ve:

  1. Changed all instances of rest980 to rest980_2 in yaml file.
  2. Created mop.yaml instead of vacuum.yaml under packages
  3. Created mop directory (updated yaml entries correctly) instead of vacuum directory.

I would like to know:

  1. Can I simply change every instance of vacuum to mop in mop.yaml ? (I’ve updated secrets.yaml with new entries and those are correctly updated in mop.yaml), However I’m not very sure about sensor.vacuum and such

Thanks

That is correct behavior, that’s all the log says once app starts.
After that point you should be able to see state of vacuum at:
http://<ip or fqdn of docker host>:<rest980port>/api/local/info/state

Will this work on a Roomba i6+?

Ill answer my own question here when I pick up my i6+
stay tuned for an update.

Thx for the reply! I managed to get in the log! Now I’ll try all the other steps :slight_smile:

Unfortuantly this add-on is code based. Please have a go at following the steps in the GH Repo.

Getting this info is explained in Step 5 from the GH Repo. Please follow all the steps to ensure you set this up correctly!

you should have a sensor.vacuum if you have following the steps - do you see this entity?

Thanks, you are correct this was not called out in the documentation - I have corrected this.

Bascially yes

  • sensor.rest980 pulls the data in from the HA Addon (so you will need a second sensor i.e. sensor.rest980_2)
  • sensor.vacuum templates the retrieved data into a more user-friendly format

in theory it should, but it will depend on the capabilities the i6 has for how much functionaility you will get from this.

I may need some more help setting up mop.
As of now I’ve done:
enabled _2 versions of both rest980 and php_nginx.
Running them on ports 4000 and 4001, managed to grab RID (region ID info from port 4000).
I think I’m missing something when it comes to lovelace.
I created MOP section in secrets.yaml
created mop.yaml under packages, replaced vacuum by mop and rest980 by rest980_2.
Created config/mop directory (similar to config/vacuum) updated mop.yaml with that directory.
Went to Overview added new card with proper info (I think it’s proper). However I get:

In my packages/mop.yaml, i’ve
image

Thanks

Hmm, should be right.

Firstly have you rebooted since creating them (or reloaded the relevant YAML component)
Also, do you see these entities if you look on the developer tools => states tab ?

Good Morning, evening afternoon everyone.

I have been fighting with this for days, and losing sleep at night over this. I troubleshoot things for a living, but my oh my this has me stumped.

Some quick notes, I have gotten to the same place twice now, and can’t get things to work right, I have followed your guide the best I can, I have tried to follow others (for other vacuums using their notes and ideas to fix my issues). I have duplicate copies of files everywhere just in case something wasn’t in the right spot.

So now I am here for your help, I can’t fight it anymore. I have attached some images of where I am at with the card. I am going to add here that none of the cleaning room commands work, not even the 2 I did get the ID for (LR and entry) but I am not worried about them, I really just need a full clean, a kitchen clean, the maintenance stuff, and the beautiful card (it really is beautiful).

I am not sure where to go. I also am adding in my config yaml, but has had several revisions as well over my trials.


# Configure a default setup of Home Assistant (frontend, api, etc)
default_config:

# Text to speech
tts:
  - platform: google_translate

group: !include groups.yaml
automation: !include automations.yaml
script: !include scripts.yaml
scene: !include scenes.yaml


homeassistant:
  packages: !include_dir_named \config\www\community\

# mqtt discovery
mqtt:
  discovery: true  
  
tplink:
  discovery: true
  light:

I may have solveds this on my own (using another thread). If anyone gets stuck like I did (and I am not sure if I am fully solved yet or not, but it looks right) I added

``
homeassistant:
packages:
pack_1: !include vacuum.yaml


to my config.yaml and moved vacuum.yaml to my config folder.

Lastly I added 

resources:

  • type: module
    url: /hacsfiles/lovelace-roomba-vacuum-card/roomba-vacuum-card.js
  • type: module
    url: /hacsfiles/button-card/button-card.js
  • type: module
    url: /hacsfiles/lovelace-fold-entity-row/fold-entity-row.js
  • type: module
    url: /hacsfiles/text-divider-row/text-divider-row.js
  • type: module
    url: /hacsfiles/check-button-card/check-button-card.js
  • type: module
    url: /hacsfiles/lovelace-card-mod/card-mod.js
to my lovelace.yaml above the code for the card (that doesn't seem to do anything so I might just remove that and see if things still work).

Current issue to still be resolved:

Can not save the card in the editor. Not even sure how I got it to work the first time since the save will just literally circle and circle. Maybe it does save but doesn't show it did? I just keep duplicating the card at this point.

The other issue is setting up automation on a schedule. I want specific days and times.

Will try this again later, I got hit with this last few days: Updated core and now <ip>:8123 doesn't load - #6 by hass_noob

Now setting things up again

GL @hass_noob! Wish I could help, but I am a noob as well. I am looking at messing with themes next to make it match the beautiful card it uses. I will make sure and make a snapshot before I do anything with them however so I don’t have an issue!

I want to update that the circle issue with saving was cleared up by clearing cache.

I think I may have gotten the automation for a full run working, but I haven’t tested it (it will self test Saturday (sure I can run it sooner, but I want some joy while I am at work that I got it working lol)).

I need to figure out the map thing next but if I can get this 90% of the way, I will be taking a break (and keeping an eye on here).

So quick update, automation works with the REST clean command you can automate a full clean.

I added in config yaml

mqtt:
  discovery: true
  discovery_prefix: homeassistant  #replace homeassistant with whatever your username was

Some maint/clean things aren’t working right, 51 years over, but some are.

@hass_noob Hows it going for you? I remember you were working on starting it over from scratch.

I get this error when trying to add your repo…

Repository structure for master is not compliant…

I figured it out… I was trying to add to HACS instead of Supervisor…

1 Like

Suggestions? I have 2 i980 iRobots that don’t have the room mapping. In the App, i can create Favorite which defaults to Vacuum Everywhere… How can I still use your great work? I have rest980 and the NGINX working great and can hit the URL for state and the /map works on both of my 980s. I am struggling getting the integration into HA. right now I don’t have sensor.vacuum as an entity and stuck there.

Looking for some help. New to Home Assistant but I have successfully onboarded 2 instances of Rest980 and NGINX and integrated to HA using Supervisor and the HACS. I have 2 980 robots and have them separated out and /map, state, etc working perfect. I followed the direction to had the Lovelace UI card and after fighting and redoing my configuration.yaml, adding the package capability I was able to get a nice looking card on my dashboard for Robot 1. I thought I would just add another card and be done. No Dice!!! I figured out I needed to clone the vacuum.yaml and set up a sensor.vacuum2 and associated configs for HASS integration. I got that working and had two beautiful cards for robot1 and robot2 along with MQTT reporting properly from both robots.

My current issue is the buttons on card 2 interact with robot 1 and I have comb through everything including the javascript and stuck.

Anyone have any ideas?