iRobot Roomba i7+ Configuration using Rest980

Oh my god… I did exactly what you told. And it was 1 sec, and I got my password… Thanks man… :slight_smile:

Glad to hear that :slight_smile:

Jeremy / Tomáš, Thanks for all your help.

The last issue I ran into was that the IP address in the secrets file can not contain a local domain name and must include an actual IP address. Just wanted to list it out for anybody who runs across this in the future.

I use a domain name in my secrets file? perhaps you need to make sure your HA instance is capable of DNS resolution for your particular endpoint

I had no luck for the rest of the setups… I cannot add the integration to HA… Time out… Because i didn’t find any firewall rule which can cause the issue, I have installed wireshark to HA… I have attached a screenshot. You can see there is communitaction.

Client Hello, Server Hello, Certificate etc. I have tried to analyse this dump but I didn’t find anything. Is there anyone here who sees what could be the problem?

@Jeremy. After quite some struggling (me not reading documentation with understanding :man_facepalming:) I managed to install and configure this integration. I must say great work, given the complexity of entire solution :clap:! I love it!
Now, I still have to finetune entire configuration to my setup, but I found one item that bothers me, that I found no solution. When the robot starts vacuuming specific room and the map starts to be drawn, the starting point is not where the clean base is installed, but some point far away, where robot does not reach even… Below are 2 screenshots from my setup for 2 individual cleaning cycles. Clean station position is clearly marked with roomba icon and I’d expect this to be starting and ending point:


Is there any way to move starting point to exact location where the base is located?
BTW, another small item… is there a way to make summary text single line, so it spread across top of the map? With my maps it becomes partially unreadable , overlapping map itself…

Thanks! Glad you have found value in it :partying_face:

That is interesting! Might be the robot reporting a sporadic value for the first log report.
Open your vacuum.log and see what the first coordinates refer to and if it’s the same in a couple of cleans?
We might have to potentially tweak the image.php file to skip the first entry in the coordinates list. I’ll suss it out tomorrow morning and report back :+1:

Edit image.php

  • line 216: delete \n
  • line 239: delete “\n”.

@Jeremy, thanks for swift reply!
So, here are the few first lines from my vacuum.log:

Home Assistant notifications (Log started: 2020-05-20T09:30:18.113909+00:00)
--------------------------------------------------------------------------------
(-56, 0, -172)
(140, -171, 86)
(154, -156, -84)
(168, -132, 89)
(176, -174, -89)
(189, -152, 89)
(190, -3, 90)
(191, 90, 19)
(205, -15, -90)
(216, -91, 43)
(216, 39, 89)
(223, 109, -23)
(231, -20, -89)

If this help somehow, here is the transformation data from my image.php:

$map_width = 1351; # Ensure overlay and wall images match this size
$map_height = 1266; # Ensure overlay and wall images match this size
$x_offset = -740;
$y_offset = -560;
$flip_vertical = false;
$flip_horizontal = false;
$rotate_angle = 180; # Allows rotating of the roomba lines
$scale=0.62; # Allows scaling of roomba lines

And how the entire map picture looks like (I made screenshots of only part of it, whole map covers 4 levels), so it is easier to understand mapping:


Obviously it is as such after last cleaning… I’ll try to make few more and see how it looks after subsequent runs…
I also updated image.php according to your suggestion, but it does not seem to work… I guess sort of caching problem? In a while I’ll re-run cleaning, this should refresh the image, I’ll check then.

I’ve published some changes to the image.php file :slight_smile:

Try updating these new variables -

  • $set_first_coordinate - try setting this to 1 for your scenario, will skip the first (or what ever number is set) datapoints in the log
  • $ha_text_delimiter - update this to " |" or something similar to change how the text is broken up. the default is " \n" which moves it to a new line

Let me know how you go !

if those are all different levels, then you might want to attempt the multi floor implementation i vaguely proposed here

so when you add the blid/password in rest980 ha addon, what do you see in the logs for the addon?

I’ve added a new feature to the GH Repo to automate the deletion of image files older than 30 days! :broom: (mine was getting out of hand!)

Changes needed to your secrets and vacuum yaml files :slight_smile:

:beers:

Thanks a lot Jeremy! Will test these changes today!
For multi floor setup - yes, I’ve seen this, but perhaps the first step for me will be to create new, more accurate maps… these I posted were created in Excel :slight_smile: with purpose to only show home presence and switched on/off devices, so not needed to be very precise - it is a bit different for tracing robot… I do not like it hitting walls :smiley: Also yet need to train it in physical environment, I made some mistakes creating initial maps in application, so will need to repeat process.
Anyhow I’ll keep you posted on progress!

sounds great! :+1:

note that Roomba mapping isn’t always the most accurate… so you will still get wall “bumps” from time to time. especially if the robot is lifted off the floor, it tends to revert back to 0,0,0 in the logging :see_no_evil:

reach out if you need a hand :slight_smile:

Hi @Syrius , does this only support roomba i7? does it support any other model from irobot? I may miss the reply from other users, but can you let me know? Thanks

I dont know what is the problem… I guess it comes from my router, because I could only get the password when I was on another wifi. (my phone’s hotspot). If it is fault of my router I will be very angry. I do not see anything in logs. I have reinstalled my mikrotik, and not set any firewall rules. There is no more network. I use the 192.168.10.0/24. You can see the wireshark dumb. There is some communication between the 2 device…

I have tried to set roomba up with the official integration without luck. And also I have tried with your HA addon. Your logs below:

[email protected] start /usr/src/app
node ./bin/www
/usr/src/app/node_modules/dorita980/lib/v2/local.js:33
throw e;
^
Error: Connection refused: Not authorized
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 4.19.115
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

it supports most of iRobot Roombas, check rest980 documentation :slight_smile: Which Roomba do you have?

this sounds like wrong credentials!

As @pasleto states, this support the vast majority of wireless iRobot roombas as it uses dorita980/rest980 as its connection platform.

I stated the i7… because this is the one i have :rofl:

@Jeremy, finally have some time to complete teste and I’m happy to report that everything works perfectly! after setting $set_first_coordinate = 3 strange initial lines disappeared and also status is displayed as a single row on my map!

Next step is to recreate a bit more accurate maps (perhaps using floorplan) and setting configuration for multi floor operation.

Thanks a lot for your great support!

1 Like

Hi!
I just got the combo pack with the Roomba S9+ and the Braava M6.
Is it possible to configure both in the integration configuration or is it only supporting one?

Would like to understand how I get them both into HA :slight_smile:

Thanks