Hey All,
Spent most of the morning today trying to get my new Roomba j8+ to integrate with HA. I am documenting the steps I followed here in the hopes it helps out someone else.
First problem I was running in to is that I had installed the Roomba on a subnet of my home network where most of my devices live. My ecobee thermostats work fine this way but I was not able to get the HA integration to find the Roomba and went in and put it on my main subnet and the integration discovered it. I cannot say for sure Roomba has to be on the same subnet, as changing the subnet required a change in WiFi setup which could have reset something else but regardless I at least got the integration to find the j8+.
Second thing that was not yet an issue but I addressed it now to prevent it from becoming an issue is that I changed the IP configuration on the robot to be static and not use DHCP. I don’t like to chase devices like this around my network when I don’t have to.
Next issue I ran into is the j8+ does not have a separate Home button. When I got to the step where you press Home until it beeps and have the integration retrieve the password, nothing seemed to work.
Doing internet searches, I found several solutions in GitHub that tried to also read the password from robot directly - all of them I found also depended on hitting the Home button and also failed miserably.
Finally I found the dorita980 package (GitHub - koalazak/dorita980: Unofficial iRobot Roomba and Braava (i7/i7+, 980, 960, 900, e5, 690, 675, m6, etc) node.js library (SDK) to control your robot) and installed it. I also had to install node.js.
Instructions are down in the readme and I copied what worked for me below. Note that you will need to replace [email protected] and myeasypassword with whatever you use to log in to the iRobot app and at irobot.com.
I ran the below and manually entered the password and the install of the integration finished and added my j8+.
$ npm install -g dorita980
$ get-roomba-password-cloud *[email protected] myeasypassword*
Found 1 robot(s)!
Robot "Dorita" (sku: R98---- SoftwareVer: v2.4.16-126):
BLID=> xxxxxxxxxxxxx
Password=> :1:1486937829:gktkDoYpWaDxCfGh <= Yes, all this string.
One note - if you have multiple robots, you will get multiple instances of the last 3 lines. Just be sure you get the one for the robot you are trying to add.
Hope this helps out others - feedback/clarification/corrections welcome.