iRobot Roomba i7+ Configuration using Rest980

@buckbanzai , any luck getting the map to work? I don’t really care for the real-time map if it matters.

Unfortunately not, the “pose” data that’s used for map generation/etc was removed from the Roomba firmware some time ago- the upstream repo is tracking the issue in this GitHub issue, but as far as I know the j7 never shipped with a firmware that provided this data.

Appears there must be something wrong with adding the GitHub Repository to HA Add-ons. When I add the link “GitHub - jeremywillans/hass-addons: Hass.io Addon Repository”, it’ll accept it. But nothing shows up in the Add-on Store. There are no logs stating that it failed either.

Maybe this is a bug?

Force refresh of the browser window (Shift-ctrl-R). Ran into the same issue!

1 Like

My bad! I can now see data. I will soon try installing further :slight_smile:

Hello;

I’m using rest980 and it’s working great. However, I’d love to create an automation that tell my roomba to go clean but I don’t know how do to this ? (I guess I have to make a REST call ?)
Any idea ?

Thanks a lot :slight_smile: edit: foudn the solution in this same topic !

    - service: rest_command.vacuum_action
        data:
          command: start
1 Like

Hello. I’ve been getting my HA up and running and I’ve added an automation that sends the Roomba to the litterbox after the litter robot reports a status change that the clean cycle is complete. I’d like to make this smarter and have a couple question for those here.

  1. is there a way to tell the rooomba “twoPass”:true on this job?
  2. can the roomba be told not to empty itself when it docks (only when initiated via the automation).

Thanks for any feedback, below is my current automation for reference

alias: CCC Automation
description: ""
trigger:
  - platform: state
    entity_id:
      - sensor.litterbot_status_code
    to: ccc
condition: []
action:
  - service: input_text.set_value
    data:
      value: mud_room
    target:
      entity_id: input_text.vacuum_rooms
  - service: automation.trigger
    data:
      skip_condition: true
    target:
      entity_id: automation.vacuum_clean_rooms
mode: single

Hello,

Ive been having trouble connecting my iRobot Roomba i7 to the rest980 http server. ive filled out the default.json file but every request i make comes back with an Endpoint not found error.

The webserver is up and there is no proxy restricting my access, but it doesnt work on the hosted server. Has anyone else had this problem? Does anyone know how to fix it?

Good day.
I intend to control the i7 with voice control in my language using HA Assist.
Can you please advise me what services or commands must be sent for
cleaning everywhere
pause
total stop
dock
Thank you

Kind of new to HA but I have gotten most of this setup
The lovelace card is there, it works for full clean, empty bin, etc. Just doesnt work for selective room cleaning. Any thoughts?

Not really sure what else to do. I think things are setup correctly.
One thing, should i be able to see anything when going to http://192.168.1.47:3000/api/local/action/ like i do with the info/state? I get not found…

###################################
# Secrets
###################################

# Vacuum
vacuum_state: http://192.168.1.47:3000/api/local/info/state
vacuum_action: http://192.168.1.47:3000/api/local/action/
vacuum_verify_ssl: false
vacuum_notify: notify.mobile_app_SM # You can also use a notify group here
vacuum_map: http://192.168.1.47:3001/image.php
vacuum_log: /config/vacuum/vacuum.log
vacuum_dir: /config/vacuum
vacuum_master_bedroom: '{"region_id": "1", "type": "rid"}'
vacuum_behind_couch: '{"region_id": "5", "type": "rid"}'
vacuum_master_bath: '{"region_id": "6", "type": "rid"}'
vacuum_living_room: '{"region_id": "11", "type": "rid"}'
vacuum_hallway: '{"region_id": "23", "type": "rid"}'
vacuum_laundry: '{"region_id": "28", "type": "rid"}'
vacuum_kitchen: '{"region_id": "30", "type": "rid"}'
vacuum_entryway: '{"region_id": "31", "type": "rid"}'
vacuum_dining_room: '{"region_id": "29", "type": "rid"}'
vacuum_patio_door: '{"region_id": "32", "type": "rid"}'
vacuum_office: '{"region_id": "34", "type": "rid"}'
vacuum_addison_room: '{"region_id": "35", "type": "rid"}'

Good morning,
I have a roomba I7 and I’ve been trying to install this integration for several weeks but not great.
Is it still possible to install it?

The command :
http://192.168.1.131:3002/api/local/info/state


Don’t give me the region or for the parts…

http://192.168.1.131:3002/image.php?last=true

https://192.168.1.131:8123/api/states/sensor.rest980
image

I don’t know what’s bugging…

I have been trying to get the roomba card to work, i have downloaded it with Hacs (where i can see it) i added it by adding the code to the dashbord
(resources:

  • type: module
    url: /hacsfiles/lovelace-roomba-vacuum-card/roomba-vacuum-card.js)

, but even after restarting i cannot select the card. What am i missing?

Trying to configure this on a Raspberry pi 4 setup, and getting an issue where roombapw is unable to start. Pulled the Add-on repo via UI. Anything that could be top of mind what is going on?

Note: I have the current iRobot integration working fine.

Is anyone else having problems with the tank status for a Braava m6? Mine used to display the tank status fine, but I think it’s been broken since a robot firmware update. I’m on firmware 22.29.6.

The status of the tank is always displaying as “n-a”. Looking at the code under the tank section for the mop, there’s this…

          tank: >-
            {% if state_attr('sensor.rest980_2', 'mopReady')['tankPresent'] is defined %}
              {% if state_attr('sensor.rest980_2', 'cleanMissionStatus')['notReady'] == 31 %}
                Fill Tank
              {% elif state_attr('sensor.rest980_2', 'mopReady')['tankPresent'] and state_attr('sensor.rest980_2', 'mopReady')['lidClosed'] %}
                Ready
              {% elif state_attr('sensor.rest980_2', 'mopReady')['tankPresent'] and (state_attr('sensor.rest980_2', 'mopReady')['lidClosed'] == false) %}
                Lid Open
              {% else %}
                Tank Missing
              {% endif %}
            {% else %}
              n-a
            {% endif %}

…and it seems that its falling back to the else statement at the end so that’s where my status is coming from.

There’s no ‘tankPresent’ attribute for the mop in HA, but looking at /api/local/info/state for rest980_2 it does list “tankPresent”:true. So I’m a bit lost why it’s not working.

Thanks.

yes you can, but i havent written the code to support this on a per-room basis. if you run a job from your irobot app and review the lastCommand, you will see that you can pass these attributes to each room, but my code does not account for this support.

i dont believe this is possible.

this sounds like you are trying to hit the wrong endpoint - can you please provide some futher details on what your trying ?

this post shows the command for start, replace the command with dock, stop and pause and resume

no you wont get a response when trying to nagivate to it.

have a look at faq 12 which explains how the scheduling works. can you check this is all happening as expected? does selective cleaning a single room work?

the live map does not work anymore as iRobot has removed the location data from the api

you need to specify it manually, it wont appear in the list.

do you have j-series robot? i dont know if roomapw works for the j series.
you cannot run them in parallal, turn off the iRobot one first.

good call, i have pushed some changes to the mop.yaml file which reflects the new api changes.
update these and it should work better now :+1:

Looks better now. Thanks!

1 Like

any advice getting the password from a braava m6? I got it no problem with my S9, but the braava refuses to connect. I’m holding the home button to initiate pairing, but it’s refusing connection.

also when I start the rest980 addon with my id and PW configured, the logs shows

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

and thats it, never progresses.

Hi
I have done a fresh installation of Home assistant in supervised mode on Proxmox. I have restored from a full backup from the previous installation. 99% of the things worked perfectly well and overall, the system is performant.

I do have one nagging issue. I have installed Rest980/php-nginx Docker Image. Rest980 seems to work, but the logs from the nginx docker show permission errors. The supervised installation is root:root, and the docker image seems to be 1000:1000. Even though I have changed the access rights to give full RW to both, it seems that the fact nginx using a different user than the homeassistant creates permission errors reading the /config/vacuum directory.

Any idea how I can make this work again?

Error message in log:

2023/04/26 20:03:45 [error] 60#60: *2 open() "/config/vacuum/favicon.ico" failed (13: Permission denied), client: 192.168.0.78, server: , request: "GET /favicon.ico HTTP/1.1", host: "192.168.0.55:3003", referrer: "http://192.168.0.55:3003/index.php"

P.S. I did change port to 3003 for testing purposed, but it had no impact.

Hi, I followed all the instructions, I made almost everything work, I can run the robot from HA, I can reach the endpoint api/local/info/state but the map does not work because position is not logged. I’m running rest980 and php-nginx as an addon, I have roomba i+7. Automation Vacuum Log Position was never triggered. Any idea what went wrong and how to fix it?

Thanks