iRobot Roomba i7+ Configuration using Rest980

Hi @Syrius

Thanks for doing a fine step to step instruction

It has taken me a while to get into this and I’ve tried almost everything discussed in the discussion - still I’m running into some troubles stopping me from getting this right.

Kind regards

Morten

When I’m trying to get the map I’m getting the following output to the log - this is an improvement after I disabled the iRobot Roomba and Braava integration, but I cannot see what causes the problem. The BLID and Password are the same used for connecting through the integration, so that should be in order:

Configuration:
nginx part:
NGINX_WEBROOT: /config/vacuum

Rest980:
BLID: iRobot-36414DD9835444168243407EE03603A0
PASSWORD: 1:1578504700:aDSFkZ27ca3vWQ6k
ROBOT_IP: 192.168.1.53
FIRMWARE_VERSION: 2

Log from running the robot: first with the iRobot integration turned on - it seems to work, but I get an empty log file then with integration turned of - the error occurs

GET /api/local/info/state 200 102.032 ms - 2
GET /api/local/info/state 200 105.332 ms - 2
GET /api/local/info/state 200 102.934 ms - 2
GET /api/local/info/state 200 102.159 ms - 2
GET /api/local/info/state 200 102.101 ms - 2
GET /api/local/info/state 200 105.762 ms - 2
GET /api/local/info/state 200 100.585 ms - 2
GET /api/local/info/state 200 101.609 ms - 2
GET /api/local/info/state 200 101.898 ms - 2
GET /api/local/info/state 200 107.285 ms - 2
GET /api/local/info/state 200 101.914 ms - 2
GET /api/local/info/state 200 102.297 ms - 2
GET /api/local/info/state 200 101.826 ms - 2
GET /api/local/info/state 200 118.384 ms - 2
GET /api/local/info/state 200 101.141 ms - 2
GET /api/local/info/state 200 101.647 ms - 2
GET /api/local/info/state 200 129.996 ms - 2
GET /api/local/info/state 200 101.673 ms - 2
GET /api/local/info/state 200 111.283 ms - 2
GET /api/local/info/state 200 101.971 ms - 2
GET /api/local/info/state 200 101.606 ms - 2
GET /api/local/info/state 200 100.841 ms - 2
GET /api/local/info/state 200 102.153 ms - 2
GET /api/local/info/state 200 101.354 ms - 2
GET /api/local/info/state 200 102.007 ms - 2
GET /api/local/info/state 200 102.912 ms - 2
GET /api/local/info/state 200 108.148 ms - 2
GET /api/local/info/state 200 103.050 ms - 2
GET /api/local/info/state 200 100.987 ms - 2
GET /api/local/info/state 200 102.211 ms - 2
GET /api/local/info/state 200 101.748 ms - 2
GET /api/local/info/state 200 103.804 ms - 2
GET /api/local/info/state 200 102.009 ms - 2
GET /api/local/info/state 200 101.531 ms - 2
GET /api/local/info/state 200 101.979 ms - 2
GET /api/local/info/state 200 101.384 ms - 2
GET /api/local/info/state 200 101.764 ms - 2
GET /api/local/info/state 200 103.127 ms - 2
GET /api/local/info/state 200 101.833 ms - 2
GET /api/local/info/state 200 101.592 ms - 2
GET /api/local/info/state 200 101.839 ms - 2
GET /api/local/info/state 200 101.682 ms - 2
GET /api/local/info/state 200 102.470 ms - 2
GET /api/local/info/state 200 104.912 ms - 2
GET /api/local/info/state 200 101.771 ms - 2
GET /api/local/info/state 200 106.288 ms - 2
GET /api/local/info/state 200 101.948 ms - 2
GET /api/local/info/state 200 102.266 ms - 2
GET /api/local/info/state 200 102.789 ms - 2
GET /api/local/info/state 304 117.520 ms - -
GET /favicon.ico 200 28.780 ms - 15406
GET /api/local/info/state 200 102.210 ms - 2
GET /api/local/info/state 200 103.092 ms - 2
GET /api/local/info/state 200 102.350 ms - 2
GET /api/local/info/state 200 102.332 ms - 2
GET /api/local/info/state 200 101.856 ms - 2
GET /api/local/info/state 200 100.760 ms - 2
GET /api/local/info/state 200 101.676 ms - 2
GET /api/local/info/state 200 101.792 ms - 2
“— the following occurs after I remove the iRobot integration —”
/usr/src/app/node_modules/dorita980/lib/v2/local.js:33
throw e;
^
Error: Connection refused: Identifier rejected
at MqttClient._handleConnack (/usr/src/app/node_modules/mqtt/lib/client.js:920:15)
at MqttClient._handlePacket (/usr/src/app/node_modules/mqtt/lib/client.js:350:12)
at work (/usr/src/app/node_modules/mqtt/lib/client.js:292:12)
at Writable.writable._write (/usr/src/app/node_modules/mqtt/lib/client.js:302:5)
at doWrite (/usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:428:64)
at writeOrBuffer (/usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:417:5)
at Writable.write (/usr/src/app/node_modules/readable-stream/lib/_stream_writable.js:334:11)
at TLSSocket.ondata (_stream_readable.js:558:20)
at emitOne (events.js:96:13)
at TLSSocket.emit (events.js:188:7)
at readableAddChunk (_stream_readable.js:176:18)
at TLSSocket.Readable.push (_stream_readable.js:134:10)
at TLSWrap.onread (net.js:559:20)
npm ERR! Linux 5.10.63-v7l
npm ERR! argv “/usr/local/bin/node” “/usr/local/bin/npm” “start”
npm ERR! node v6.17.1
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] start: node ./bin/www
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] start script ‘node ./bin/www’.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the rest980 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./bin/www
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs rest980
npm ERR! Or if that isn’t available, you can get their info via:
npm ERR! npm owner ls rest980
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /usr/src/app/npm-debug.log

@Syrius
I was wondering if anyone ever figured out the error:

2022-02-03 21:03:31 ERROR (MainThread) [homeassistant.helpers.template] Template variable error: 'None' has no attribute 'split' when rendering '{% if state_attr('sensor.rest980', 'softwareVer') is defined %} {% set version = state_attr('sensor.rest980', 'softwareVer') %}
  {{ version.split('+')[1] }} 
{% else %}
  n-a
{% endif %}'

I am able to receive information from the state url:

http://homeassistant.local:3001/api/local/info/state

> [email protected] start
> node ./bin/www
GET /api/local/info/state 200 116.973 ms - 4544

My image.php looks correct:

// ADJUST THESE PARAMETERS
$robot_log = 'http://192.168.0.140:3002/vacuum.log'; # Could also be HTTPS, or mop.log
$file_append = ''; # Allows differentiation of files for different floors or robots
$robot_type = 'roomba'; # Select between roomba and braava for different icons
$set_first_coordinate = 3; # Ability to skip initial coordinate(s) if incorrect data logged
$overlay_image = 'floor.png'; # Background Layer
$overlay_walls = false; # Allows overlaying of walls, used in fill mode to cover 'spray'
$walls_image = 'walls.png'; # Walls Image must contain transparent floor
$show_stuck_positions = true; 
$line_thickness = 2; # Default 2, Set to ~60 for Fill Mode
$map_width = 1050; # Ensure overlay and wall images match this size
$map_height = 900; # Ensure overlay and wall images match this size
$x_offset = 220;
$y_offset = 220;
$flip_vertical = false;
$flip_horizontal = false;
$render_status_text = true;
$rotate_angle = 0; # Allows rotating of the robot lines
$x_scale=1.00; # Allows scaling of roomba x lines
$y_scale=1.00; # Allows scaling of roomba y lines
$ha_rest980 = 'http://192.168.0.140:8123/api/states/sensor.rest980'; # sensor.rest980_2, if configured for Mop
$ha_token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiI3NjVlZGY2M2E0MDc0MDJmYjljYWRjY2FkYzUzZTZmNSIsImlhdCI6MTY0MzkzNzU1NSwiZXhwIjoxOTU5Mjk3NTU1fQ.4mHyRAPDJTdzit0FePPOl6qiI06ttmGFhvqWjZL5MNA';
$ha_timezone = 'America/Chicago'; # Supported Timezones https://www.php.net/manual/en/timezones.php
$ha_text_delimiter = " \n"; # How text is displayed on the map top " \n" --> New Line ## " |" --> Show on one line

I do not see a sensor.rest980 in developer, but I do have a sensor.vacuum.
I do not have the Official Roomba integration loaded
I do not see a vacuum.log
I do have the php-nginx Docker Image(port 3002) and rest980_j7 Docker Image(port 3001) addon running.

php-nginx log is showing:

[WARN tini (7)] Tini is not running as PID 1 and isn’t registered as a child subreaper.
Zombie processes will not be re-parented to Tini, so zombie reaping won’t work.
To fix the problem, use the -s option or set the environment variable TINI_SUBREAPER to register Tini as a child subreaper, or run Tini as PID 1.
writing nginx config
{“level”:“debug”,“time”:“2022-02-04T02:45:35Z”,“msg”:“starting gomplate”}
{“level”:“debug”,“version”:“3.9.0”,“build”:“9d11ac0c”,“time”:“2022-02-04T02:45:35Z”,“msg”:“config is:\n—\ninputFiles: [/etc/templates/nginx.conf.tmpl]\noutputFiles: [/etc/nginx/nginx.conf]\nleftDelim: ‘{{’\nrightDelim: ‘}}’\npluginTimeout: 5s\n”}
{“level”:“debug”,“data”:“&{ctx:0xc0000dfcb0 Sources:map sourceReaders:map cache:map extraHeaders:map}”,“time”:“2022-02-04T02:45:35Z”,“msg”:“created data from config”}
{“level”:“debug”,“templatesRendered”:1,“errors”:0,“duration”:0.002405317,“time”:“2022-02-04T02:45:35Z”,“msg”:“completed rendering”}
writing host config
{“level”:“debug”,“time”:“2022-02-04T02:45:35Z”,“msg”:“starting gomplate”}
{“level”:“debug”,“version”:“3.9.0”,“build”:“9d11ac0c”,“time”:“2022-02-04T02:45:35Z”,“msg”:“config is:\n—\ninputFiles: [/etc/templates/host.conf.tmpl]\noutputFiles: [/etc/nginx/host.conf]\nleftDelim: ‘{{’\nrightDelim: ‘}}’\npluginTimeout: 5s\n”}
{“level”:“debug”,“data”:“&{ctx:0xc000098fc0 Sources:map sourceReaders:map cache:map extraHeaders:map}”,“time”:“2022-02-04T02:45:35Z”,“msg”:“created data from config”}
{“level”:“debug”,“templatesRendered”:1,“errors”:0,“duration”:0.004881465,“time”:“2022-02-04T02:45:35Z”,“msg”:“completed rendering”}
chown webroot files
chown nginx files
writing fpm config
{“level”:“debug”,“time”:“2022-02-04T02:45:35Z”,“msg”:“starting gomplate”}
{“level”:“debug”,“version”:“3.9.0”,“build”:“9d11ac0c”,“time”:“2022-02-04T02:45:35Z”,“msg”:“config is:\n—\ninputFiles: [/etc/templates/php-fpm.conf.tmpl]\noutputFiles: [/etc/php8/php-fpm.conf]\nleftDelim: ‘{{’\nrightDelim: ‘}}’\npluginTimeout: 5s\n”}
{“level”:“debug”,“data”:“&{ctx:0xc000140990 Sources:map sourceReaders:map cache:map extraHeaders:map}”,“time”:“2022-02-04T02:45:35Z”,“msg”:“created data from config”}
{“level”:“debug”,“templatesRendered”:1,“errors”:0,“duration”:0.00100883,“time”:“2022-02-04T02:45:35Z”,“msg”:“completed rendering”}
writing php config
{“level”:“debug”,“time”:“2022-02-04T02:45:35Z”,“msg”:“starting gomplate”}
{“level”:“debug”,“version”:“3.9.0”,“build”:“9d11ac0c”,“time”:“2022-02-04T02:45:35Z”,“msg”:“config is:\n—\ninputFiles: [/etc/templates/php.ini.tmpl]\noutputFiles: [/etc/php8/php.ini]\nleftDelim: ‘{{’\nrightDelim: ‘}}’\npluginTimeout: 5s\n”}
{“level”:“debug”,“data”:“&{ctx:0xc000634f60 Sources:map sourceReaders:map cache:map extraHeaders:map}”,“time”:“2022-02-04T02:45:35Z”,“msg”:“created data from config”}
{“level”:“debug”,“templatesRendered”:1,“errors”:0,“duration”:0.001786859,“time”:“2022-02-04T02:45:35Z”,“msg”:“completed rendering”}
starting nginx service
starting php service

I don’t know where to go from here with the troubleshooting since the api data is coming back clean. Anyone have an idea of what might be causing this issue?

@Syrius

For your information : it is a problem of parameters.

When on the dashboard with the simple configuration, I get this (the right one) :

type: custom:roomba-vacuum-card
entity: sensor.vacuum

Found it : it’s this causing that behaviour :grinning:

robot_states:
ready: Klaar

So, only the language items and it’s perfect…good job, thank you !

Schermafbeelding 2022-02-04 120248
Schermafbeelding 2022-02-04 120405
Schermafbeelding 2022-02-04 123426

Oh, and this warning in the log :

Template variable warning: list object has no element 1 when rendering ‘{% if state_attr(‘sensor.rest980’, ‘softwareVer’) is defined %} {% set version = state_attr(‘sensor.rest980’, ‘softwareVer’) %} {{ version.split(’+’)[1] }} {% else %} n-a {% endif %}’

Is there any way to determine what room it’s currently cleaning?

How do i include No Go zones? When initiating cleaning from Home Assistant through this integration, the vacuum ignores my No Go zones.

what do you see at this url for softwareVer? http://<ip or fqdn of docker host>:<port>/api/local/info/state
mine shows - “lewis+3.20.7+lewis-release-rt421+11” which the above command is splitting the string at each of the + signs, and selecting the second attribute (start from 0) representing 3.20.7

i run a full clean (when it was working) and then just used paint.net to define the walls lol… but tbh… i wouldn’t bother yet until the mapping functionality returns (if ever :frowning_face: )

the log file wont populate, because mapping is broken in the latest firmware. thats very strange that you get the error only once the integration is disabled. perhaps keep it disabled and try restarting/rebuilding the rest980 container?

you should be able to see sensor.rest980… its created here in vacuum.yaml

nice! glad its working

change them here, here, here, here and if needed here :smiley:

that information does not appear to be available from the api, its suspected its all done in the fluffy cloud.

this integration should honor the configuration as it just instructs the robot to clean based on your defined rooms in the iRobot app (tho i suspect a full clean will ignore them)

@Syrius
Thank you! That got me down the right path for troubleshooting. It turns out the hostname I put in the secrets file wasn’t resolving quick enough so the sensor never got created. I switched to IP address and boom goes the dynamite!

So for anyone out there that gets the
Error while processing template: Template("{% if state_attr('sensor.rest980', 'cleanMissionStatus')['cycle'] == 'none' and state_attr('sensor.rest980', 'cleanMissionStatus')['notReady'] == 39 %}
OR

Platform rest not ready yet: [Errno -2] Name does not resolve

CHANGE YOUR HOSTNAME TO IP!

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

# Vacuum
vacuum_state: http://homeassistant.local:3000/api/local/info/state
vacuum_action: http://homeassistant.local:3000/api/local/action/
###################################
# Secrets
###################################

# Vacuum
vacuum_state: http://192.168.0.140:3000/api/local/info/state
vacuum_action: http://192.168.0.140:3000/api/local/action/
2 Likes

Totally something else here :

“softwareVer”:“v2.4.16-126”

Strange is this :

Schermafbeelding 2022-02-12 184645

Robot is empty, charged and docked…but the buttons shows as if the robot is vacuuming ?

if you have changed the robot_states on the card, then this wont properly be able to understand the current vacuum state to reflect the buttons.

ok i have updated the code here to support this - pasted below for reference

          software_ver: >-
            {% if state_attr('sensor.rest980', 'softwareVer') is defined %}
              {% set version = state_attr('sensor.rest980', 'softwareVer') %}
              {% if '+' in version %}
                {{ version.split('+')[1] }} 
              {% else %}
                {{ version }} 
              {% endif %}
            {% else %}
              n-a
            {% endif %}

I have replaced the whole file…works fine now.

Thanks !

1 Like

I’m new to HA and trying to get this integration setup with my Rooma i7+. I installed “roombapw Docker Image,” then went to Configuration and entered the IP address for my Roomba and left the firmware number at 2. No matter the order I try (holding Home on the docked Rooma for 2 seconds and then starting the add-on or vice versa), each time I get the below error message, so I’m unable to get the credentials. I can confirm that during this process I had a spinning blue light on my docked Roomba. My iRobot app is not open and restarting HA didn’t help. Any ideas?

> [email protected] getpassword /usr/src/app
> node ./bin/getpassword.js
Make sure your robot is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
This step will continue in 10 seconds...
events.js:160
      throw er; // Unhandled 'error' event
      ^
Error: connect ECONNREFUSED 192.168.1.185:8883
    at Object.exports._errnoException (util.js:1020:11)
    at exports._exceptionWithHostPort (util.js:1043:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1099:14)
npm ERR! Linux 5.10.92-v8
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "getpassword"
npm ERR! node v6.17.1
npm ERR! npm  v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] getpassword: `node ./bin/getpassword.js`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the [email protected] getpassword script 'node ./bin/getpassword.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the dorita980 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node ./bin/getpassword.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs dorita980
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls dorita980
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /usr/src/app/npm-debug.log

does the blue spinning still continue once you get that error? I did notice with one firmware verison, once i entered pairing mode, it only lasted a couple of seconds and then stopped - maybe try starting the addon, waiting until about 7 seconds, then enter pairing mode so the robot enters pairing mode a second or so before it tried to pair

First of all: thank you for providing this integration, the pictures look amazing!

However, I struggle to actually get the integration to work and do not even get past finding out the password of my roombas. I try it through the roombapw Docker Image. Given that I have a ‘Home Assistant Operating System’, none of the docker commands through the SSH worked and I now installed node-red to have node.js support - I do hope that this works…

When I run the getpassword script I now get the below error message - any help on this would be much appreciated!

[email protected] getpassword /usr/src/app
node ./bin/getpassword.js
Make sure your robot is on the Home Base and powered on (green lights on). Then press and hold the HOME button on your robot until it plays a series of tones (about 2 seconds). Release the button and your robot will flash WIFI light.
This step will continue in 10 seconds…
events.js:160
throw er; // Unhandled ‘error’ event
^
Error: connect ECONNREFUSED 192.168.178.64:8883
at Object.exports._errnoException (util.js:1020:11)
at exports._exceptionWithHostPort (util.js:1043:20)
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1099:14)
npm ERR! Linux 5.10.98
npm ERR! argv “/usr/local/bin/node” “/usr/local/bin/npm” “run” “getpassword”
npm ERR! node v6.17.1
npm ERR! npm v3.10.10
npm ERR! code ELIFECYCLE
npm ERR! [email protected] getpassword: node ./bin/getpassword.js
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] getpassword script ‘node ./bin/getpassword.js’.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the dorita980 package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node ./bin/getpassword.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs dorita980
npm ERR! Or if that isn’t available, you can get their info via:
npm ERR! npm owner ls dorita980
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /usr/src/app/npm-debug.log

1 Like

Hi dude,

i have a question, i changed the corresponding status in the vacuum.yaml to german.
For example:

‘clean’ : ‘Clean’,
‘quick’ : ‘Clean’,
‘spot’ : ‘Spot’,
‘evac’ : ‘Empty’,
‘dock’ : ‘Dock’,
‘train’ : ‘Training’,
‘none’ : ‘Ready’ }

so far this works as well. The Roomba Card in Lovelace should switch depending on whether the device is running or not.

But now it shows the card as if the robot is running, here is an example picture. In this case it is actually running, but it looks like this all the time

1

In the Watchman report I get these errors :

| sensor.vacuum_maint_clean_brus | missing | vacuum.yaml:632                                              |
| hes                            |         |                                                              |
| sensor.vacuum_maint_clean_cont | missing | vacuum.yaml:633                                              |
| acts                           |         |                                                              |
| sensor.vacuum_maint_clean_filt | missing | vacuum.yaml:634                                              |
| er                             |         |                                                              |
| sensor.vacuum_maint_clean_whee | missing | vacuum.yaml:635                                              |
| l                              |         |                                                              |
| sensor.vacuum_maint_clean_bin  | missing | vacuum.yaml:636                                              |
| sensor.vacuum_maint_replace_br | missing | vacuum.yaml:637                                              |
| ushes                          |         |                                                              |
| sensor.vacuum_maint_replace_fi | missing | vacuum.yaml:638                                              |
| lter                           |         |                                                              |
| sensor.vacuum_maint_replace_wh | missing | vacuum.yaml:639                                              |
| eel                            |         |                                                              |
| sensor.vacuum_maint            | missing | vacuum.yaml:644                                              |
| input_boolean.vacuum_clean_    | missing | vacuum.yaml:679,711                                          |
| input_boolean.vacation         | missing | vacuum.yaml:728,752                                          |

There is the problem :

  # Maintenance Check
  - alias: Vacuum Maintenance Check
    initial_state: true
    trigger:
      - platform: time_pattern
        minutes: /15
      - platform: state
        entity_id: [
          'sensor.vacuum_maint_clean_brushes',
          'sensor.vacuum_maint_clean_contacts',
          'sensor.vacuum_maint_clean_filter',
          'sensor.vacuum_maint_clean_wheel',
          'sensor.vacuum_maint_clean_bin',
          'sensor.vacuum_maint_replace_brushes',
          'sensor.vacuum_maint_replace_filter',
          'sensor.vacuum_maint_replace_wheel'
        ]

Same problem I had, scroll 15d up :wink:

Do we know if rest980 will be compatible with genius 4.0?

I am posting for 2 reasons. The first, I did a factory reset last night, long story sees 2nd reason :slight_smile: , so I assume I need to retrieve the keys again. I was searching for how to do that, I have been running this addon for a long time without any issues and noticed there is an integration now. I am curious if it is related to this add-on or not?

Now the long story, I am sharing this in case someone like me makes the same mistake. The i7 was having an issue that whenever we commanded a clean, it would not vacuum, but clear the bin and make the job as being finished. When I tried the Romba app, same results. I tried rebooting, that did not fix it. It had a “factory reset” and I could save the map to the cloud. So I thought it would be harmless. It did save it and did restore it, but thinking in hindsight it created new keys and so the add-on does not work. The sad thing, it did not fix my issue. Doing more searching I read one sentence that got me on the right track, there could be dirt causing the bin empty sensor to think it was not empty. The app and I believe the add-on both said it was empty. Now I can not be 100% about the add-on since it is not communicating at this point. I pulled the bin out, replace the filter, and took it out to the shop where I thoroughly blew air trying to get every bit of dust out. One of those steps fixed it. The moral of the story, if your i7+, and I am guessing most self-cleaning Romba, keep cleaning the bin and not vacuuming, then double-check the bin. :slight_smile:

2 Likes

Take a look on the instructions for watchman. Exclude these sensors and everything is fine :slight_smile:

No clue! Guess we will find out :slight_smile:

the integration has been around for a while now, it didnt have a simple method of being able to identify and clean specific rooms which is why i created this solution.