iRobot Roomba i7+ Configuration using Rest980

Love the look of this card config. Unfortunately every time I try to use it, it crashes my lovelace view. I have to go in and remove it for the rest of my lovelace cards to show back up again. Any ideas? Or maybe an updated config?

Thanks!

no my mistake. here is what i type inn.

BLID: 317********16890

2

PASSWORD: ‘:1:15********96:K6DowgNVQAynokui’

3

ROBOT_IP: 192.168.2.155

4

FIRMWARE_VERSION: ‘2’

5

Failed to save addon configuration, not a valid value for dictionary value @ data[‘options’]. Got {‘BLID’: 3175000042416890, ‘PASSWORD’: ‘:1:1565099596:K6DowgNVQAynokui’, ‘ROBOT_IP’: ‘192.168.2.155’, ‘FIRMWARE_VERSION’: ‘2’}

BLID: ‘317*16890’
PASSWORD: '‘:1:15
6DowgNVQAynokui’’
ROBOT_IP: 192.168.2.155
FIRMWARE_VERSION: ‘2’

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

amd mpthing happens more

That’s all the log will show.

Navigate to

Http://<ha ip>:<rest980port>/api/local/info/state

I assume the port will be 3000

You should get all the robot data in json format

The configuration of multiple-entity-row has changed, check the repo for info to change primary/secondary/tiertary to an entities array

{} this is the only thing on the website
and log shows GET /api/local/info/state 304 124.482 ms - -

http://192.168.2.183:3000/api/local/info/state

Make sure you don’t have the official HA vacuum component running, double and triple check your credentials and restart the addon

Is there a way to self define the maintenance items? I keep having an issue where mine are deleting and the cards say “due in less than 1 undefined” and the sensors are deleted and no longer in HA.

@bmduke1997 The sensors are defined in Lovelace, and use MQTT to store the data. they are just check-button-card entities, leveraging due mode.
I suggest, use MQTT Explorer and connect to your broker, delete any existing vacuum_clean sensors and then recreate the entities from the maintenance menu (inside Lovelace, vacuum page)

Hi @Syrius,
I was trying to convert Smartthings integration to Home assistant from smartthings-bridge - > MQTT to the new built-in smartthings integration. I enabled extra logging in HA to successfully troubleshoot it, but now that I got smartthings integration working, I’m noticing the following error repeating. It could be something I did, the error always occurs after sensor.rest980 event.

I just started troubleshooting this, This is the last DEBUG line before the Error is thrown repeatedly.

Is this related to the image.php running a curl command to HA url https://mydomain/api/states/sensor.rest980

To make smartthings integration work with its own api key, I did change HTTP integration base_url from domain.com:8123 to https://domain.com my router takes care of redirecting it to https://192.168.1.30:8123

my image.php $ha_rest980 has always had https://domain.com without 8123.
I also have google assistant still making successful calls to https://domain.com, even after the base_url change.

the debug output I see is not exactly the same output as when I run this test curl command

curl -X GET -H “Authorization: Bearer LONG_LIVED_TOKEN”
https://mydomain.com/api/states/sensor.rest980

How do you have your HTTP integration setup?

2020-03-16 22:32:56 DEBUG (MainThread) [homeassistant.core] Bus:Handling <Event state_changed[L]: entity_id=sensor.rest980, old_state=<state sensor.rest980=OK; batPct=100, bin=present=True, full=False, cleanMissionStatus=cycle=none, phase=charge, expireM=0, rechrgM=0, error=0, notReady=0, mssnM=34, sqft=218, initiator=localApp, nMssn=271, dock=known=True, pn=4604317, state=301, id=8074234843861481382272325421862199183, fwVer=2.1.5, signal=rssi=-38, snr=52, noise=-90, bbmssn=aCycleM=79, nMssnF=17, nMssnC=20, nMssnOk=234, aMssnM=102, nMssn=271, bbrun=nEvacs=148, nCBump=0, nOvertemps=0, nWStll=1, nMBStll=2058, nPanics=450, nPicks=3275, nScrubs=95, nStuck=21, sqft=856, nOpticalDD=82, min=17, nPiezoDD=4, hr=199, nCliffsF=16290, nCliffsR=0, name=Roomba i7, friendly_name=rest980 @ 2020-03-16T21:56:17.349442-05:00>, new_state=<state sensor.rest980=OK; batPct=100, bin=present=True, full=False, cleanMissionStatus=cycle=none, phase=charge, expireM=0, rechrgM=0, error=0, notReady=0, mssnM=34, sqft=218, initiator=localApp, nMssn=271, dock=known=True, pn=4604317, state=301, id=8074234843861481382272325421862199183, fwVer=2.1.5, signal=rssi=-39, snr=51, noise=-90, bbmssn=aCycleM=79, nMssnF=17, nMssnC=20, nMssnOk=234, aMssnM=102, nMssn=271, bbrun=nEvacs=148, nCBump=0, nOvertemps=0, nWStll=1, nMBStll=2058, nPanics=450, nPicks=3275, nScrubs=95, nStuck=21, sqft=856, nOpticalDD=82, min=17, nPiezoDD=4, hr=199, nCliffsF=16290, nCliffsR=0, name=Roomba i7, friendly_name=rest980 @ 2020-03-16T21:56:17.349442-05:00>>

2020-03-16 22:32:56 ERROR (MainThread) [homeassistant.core] Error doing job: Exception in callback async_track_state_change..state_change_listener(>) at /usr/src/homeassistant/homeassistant/helpers/event.py:81
Traceback (most recent call last):
File “/usr/src/homeassistant/homeassistant/helpers/template.py”, line 221, in async_render
return compiled.render(kwargs).strip()
File “/usr/local/lib/python3.7/site-packages/jinja2/environment.py”, line 1090, in render
self.environment.handle_exception()
File “/usr/local/lib/python3.7/site-packages/jinja2/environment.py”, line 832, in handle_exception
reraise(*rewrite_traceback_stack(source=source))
File “/usr/local/lib/python3.7/site-packages/jinja2/_compat.py”, line 28, in reraise
raise value.with_traceback(tb)
File “”, line 1, in top-level template code
File “/usr/local/lib/python3.7/site-packages/jinja2/sandbox.py”, line 384, in getitem
return obj[argument]
jinja2.exceptions.UndefinedError: ‘None’ has no attribute ‘point’
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/usr/local/lib/python3.7/asyncio/events.py”, line 88, in _run
self._context.run(self._callback, *self._args)
File “/usr/src/homeassistant/homeassistant/helpers/event.py”, line 103, in state_change_listener
event.data.get(“new_state”),
File “/usr/src/homeassistant/homeassistant/core.py”, line 368, in async_run_job
target(*args)
File “/usr/src/homeassistant/homeassistant/components/websocket_api/commands.py”, line 242, in state_listener
msg[“id”], {“result”: template.async_render(variables)}
File “/usr/src/homeassistant/homeassistant/helpers/template.py”, line 223, in async_render
raise TemplateError(err)
homeassistant.exceptions.TemplateError: UndefinedError: ‘None’ has no attribute ‘point’

It looks like it’s complaining that it can’t find “point” which is part of the theta json object.

My quick scan through the above I also cannot these this value

Maybe try running a clean cycle to repopulate this?

That seems to have worked, after a clean of a small area I don’t see Exception messages anymore.
I wonder if I triggered this, because i paused the roomba too long. Because of Corona my company decided everyone is going to work remote, I was on a conference call when the roomba started its clean cycle, I paused it to keep the noise down. The conference call was long enough the Resume button disappeared while the roomba was in the middle of the room. So I clicked selective room cleaning in HA to start the room clean from scratch.

Thanks

I never had any luck getting the pw for my Roomba e5 not matter what I have tried.

If anyone has any ideas why it isn’t working I’d be so happy to know what’s wrong even if it doesn’t work in the end. Here’s my log:


> [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...
(node:18) [DEP0005] DeprecationWarning: Buffer() is deprecated due to security and usability issues. Please use the Buffer.alloc(), Buffer.allocUnsafe(), or Buffer.from() methods instead.
events.js:187
      throw er; // Unhandled 'error' event
      ^

Error: connect ETIMEDOUT 192.168.10.22:8883
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1129:14)
Emitted 'error' event on TLSSocket instance at:
    at emitErrorNT (internal/streams/destroy.js:84:8)
    at processTicksAndRejections (internal/process/task_queues.js:80:21) {
  errno: -110,
  code: 'ETIMEDOUT',
  syscall: 'connect',
  address: '192.168.10.22',
  port: 8883
}
npm ERR! code ELIFECYCLE
npm ERR! errno 1
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.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-03-21T18_11_48_433Z-debug.log

What version software does the e5 run?

The error seems to indicate timeout, can you confirm is the Roomba staying in pairing mode when the 10sec times out? I recently found that I had to start the addon - then rush over and invoke pairing mode otherwise it would stop

It’s 3.4.59-92

Yeah, pairing mode stays active for a minute or so if the blinking Home button is an indicator. I just tried it by starting the addon and then the pairing and got the same result.

I force close the app before I do this operation.

I tried both Rest980 and Dorita980 on Windows, in Linux, in Docker and always got similar results. I suspect that either my Roomba isn’t compatible or my home network might be an issue. No idea how to diagnose that though. :confused:

Excuse my ignorance. I’m still getting familiar with HA. I downloaded the MQTT Explorer, I can’t seem to find any resources for connecting. Do you happen to have anything explaining this?

Thanks!

Sure, if you have setup a MQTT server, you should have details inside your configuration.yaml.

If your using HA (formerly HASS) then it’s likely your using the mosquito addon, do you will connect to the HA IP on port 1883

Can you ping the IP address of the Roomba from your machine?

Yes, that works.

I was able to connect to the MQTT Broker, however none of the vacuum_clean sensors are there. I have noticed my issue occurs when i restart HA. I use the card to create the MQTT sensors, they are working. Then when I restart HA for whatever reason they all are deleted. If I look in my HA entities they have the red “!” beside them and clicking on them provides the following.

This entity is currently unavailable and is an orphan to a removed, changed or dysfunctional integration or device.
If the entity is no longer in use, you can clean it up by removing it.

Any idea why this happens? Or how I can stop it?