Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Roomba j7 still not integrating after 2024.3.0 #112544

Open
bkr1969 opened this issue Mar 6, 2024 · 63 comments
Open

Roomba j7 still not integrating after 2024.3.0 #112544

bkr1969 opened this issue Mar 6, 2024 · 63 comments

Comments

@bkr1969
Copy link

bkr1969 commented Mar 6, 2024

The problem

I have read some "solutions" but nothing has worked. My Roombas are detected and I get a notification but get "Unknown error" when trying to configure.

What version of Home Assistant Core has the issue?

2024.3.0

What was the last working version of Home Assistant Core?

2024.2.2

What type of installation are you running?

Home Assistant OS

Integration causing the issue

Roomba

Link to integration documentation on our website

https://www.home-assistant.io/integrations/roomba/

Diagnostics information

Nothing in error logs at all.

Example YAML snippet

No response

Anything in the logs that might be useful for us?

No response

Additional information

No response

@home-assistant
Copy link

home-assistant bot commented Mar 6, 2024

Hey there @pschmitt, @cyr-ius, @shenxn, @Xitee1, @Orhideous, mind taking a look at this issue as it has been labeled with an integration (roomba) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of roomba can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign roomba Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


roomba documentation
roomba source
(message by IssueLinks)

@mediacutlet
Copy link

I'll second this. I was able to add my M6 Braava mops but J7 series machines will not connect. It won't even locate them on the network. Also not seeing anything in the logs related. Thanks to all who support this integration.
irobot-ha-2024 3-error

@joostlek
Copy link
Member

joostlek commented Mar 9, 2024

Anything in the logs?

@mediacutlet
Copy link

Nothing in the logs but I just followed these simple instructions (just restarted the bots). HA picked them up and configured succesfully. Not sure if this will resolve the issue @bkr1969 encountered but my issue is resolved!

@bkr1969
Copy link
Author

bkr1969 commented Mar 9, 2024

Nope. I appreciate the suggestion but it did not work.

@yannc74
Copy link

yannc74 commented Mar 10, 2024

Hello, same issue:

the logs:
2024-03-10 17:40:56.596 DEBUG (SyncWorker_23) [roombapy.discovery] Socket server started, port 5678
2024-03-10 17:40:56.597 DEBUG (SyncWorker_23) [roombapy.discovery] Message sent
2024-03-10 17:40:56.989 DEBUG (SyncWorker_23) [roombapy.discovery] Received response: b'{"ver":"4","hostname":"iRobot-XX","robotname":"Roomba","robotid":"XX","ip":"192.168.0.XX","mac":"4C:B9:EA:XXXXXX","sw":"sapphire+23.37.5+2023-10-17-5245d211fc3+Firmware-Production+165","sku":"j755840","nc":0,"proto":"mqtt","cap":{"binFullDetect":2,"addOnHw":1,"oMode":10,"odoa":7,"dockComm":1,"maps":3,"pmaps":10,"mc":2,"sem2umf":2,"tLine":2,"area":1,"eco":1,"multiPass":2,"pp":0,"edge":null,"team":1,"pose":2,"lang":2,"hm":0,"5ghz":1,"prov":3,"sched":2,"svcConf":1,"ota":2,"log":2,"langOta":0,"ns":1,"bleLog":1,"expectingUserConf":2,"idl":1},"freq":5580,"cloudConnState":14}', address: ('192.168.0.XX', 5678)
2024-03-10 17:41:01.995 INFO (SyncWorker_23) [roombapy.discovery] Socket timeout

@bkr1969
Copy link
Author

bkr1969 commented Mar 12, 2024

OK. After Supervisor update today I was able to connect one of the two (same make and model so I'm not sure why both won't connect) but the status just shows "null." The other one still shows as discovered but I get the same error when trying to configure.

@gershte
Copy link

gershte commented Mar 21, 2024

2024.3.0 Same problem. Integration can not find my Roomba J7plus not in automatic nor manual mode by IP address. Nothing in logs. Hope it will be fixed in the next release.

@Emissasry
Copy link

2024.3.3 cannot add roomba j7+

@yannc74
Copy link

yannc74 commented Mar 26, 2024

Hello, after many tries, I'm abble to connect Roomba J7+ with HA.
I followed these steps:

  1. Stop HA
  2. Stop the app IRobot.
  3. Retrieve the credentials with dorita980 :
    a. Launch the app IRobot and restart the Roomba J7+. Close the app.
    b. launch the dorita command.
    c. After few minutes, you heard a bip on the Roomba.
    So, dorita is abble to retrieve the credentials.
    (you can relaunch many times dorita, before the bip)
  4. Launch the app IRobot and restart the Roomba J7+
  5. Launch the IRobot integration, give the IP adress and wait some times. (Retry this step if neccessary, before the bip on the robot)
  6. HA and Roomba are connected !

In fact, the connection between HA and IRobot is made just after the Restart/few minutes/bip.

After, you can retrieve the zone as described here:
https://blog.hessindustria.com/home-assistant-roomba-s9-integration/
But, you must stop HA before using dorita (otherwise, i'm not abble to connect to the irobot - only one connection is available)
don't change the option HA/Integration Irobot/Continuous)

I hope it's the solution for you !

@gershte
Copy link

gershte commented Mar 26, 2024

Hello, after many tries, I'm abble to connect Roomba J7+ with HA. I followed these steps:

  1. Stop HA
  2. Stop the app IRobot.
  3. Retrieve the credentials with dorita980 :
    a. Launch the app IRobot and restart the Roomba J7+. Close the app.
    b. launch the dorita command.
    c. After few minutes, you heard a bip on the Roomba.
    So, dorita is abble to retrieve the credentials.
    (you can relaunch many times dorita, before the bip)
  4. Launch the app IRobot and restart the Roomba J7+
  5. Launch the IRobot integration, give the IP adress and wait some times. (Retry this step if neccessary, before the bip on the robot)
  6. HA and Roomba are connected !

In fact, the connection between HA and IRobot is made just after the Restart/few minutes/bip.

After, you can retrieve the zone as described here: https://blog.hessindustria.com/home-assistant-roomba-s9-integration/ But, you must stop HA before using dorita (otherwise, i'm not abble to connect to the irobot - only one connection is available) don't change the option HA/Integration Irobot/Continuous)

I hope it's the solution for you !

Thank you! But this doesn't work in general. This morning, I migrated the system to new HASS hardware. It was a fresh installation, and before restoring the system backup, it automatically detected my Roomba and suggested configuring it. However, after restoring the backup, the Roomba became inaccessible again. Therefore, it can be inferred that the issue lies with one of the already installed integrations. However, there are dozens of them in my system. Therefore, finding the problem is impossible...

@gershte
Copy link

gershte commented Apr 3, 2024

After software update of Supervisor to 2024.04.0 version, in my case the problem was solved. Roomba was detected and connected with no issue.

@maxiwheat
Copy link

After software update of Supervisor to 2024.04.0 version, in my case the problem was solved. Roomba was detected and connected with no issue.

What do you mean update Supervisor ? Doesn't seem to be a release of Home Assistant mentionning that. My install runs in a docker container, is it possible to apply such an update ?

@quadcom
Copy link

quadcom commented Apr 10, 2024

Brand new J9+ vac and M6 Mop. HAOS found the M6 Mop but no the J9+ Vac.

Attempting to connect directly via IP and providing password from dorita fail.

One thing I wonder might be an issue is the BLID numbers for the MOP and the VAC are different. Does the main integration re-use the BLID number from previous integrations to add more items?

Also, the passwords returned contain special chars. Could that be something new that's tripping up the scripts?

Then there's all the deprication warnings on the docker container that runs dorita to pull the UN&PASS. Could those deprications be causing issues with the data returned?

I couldn't get the integration to pull the UN & PASS using the instructions for either the VAC or the MOP. The MOP finally was connected using the password provided by dorita after numerous attempts and failures.

XXXXXX@docker1:~$ sudo docker run -it node sh -c "npm install -g dorita980 && get-roomba-password-cloud XXXXXXXXXXXXXX@gmail.com XXXXXXXXXXXXXXXXXXXXX"
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

added 125 packages in 7s

4 packages are looking for funding
  run `npm fund` for details
npm notice
npm notice New patch version of npm available! 10.5.0 -> 10.5.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.5.1
npm notice Run npm install -g npm@10.5.1 to update!
npm notice
(node:27) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Found 2 robot(s)!
Robot "Moppy" (sku: m611320 SoftwareVer: sanmarino+22.29.6+2022-12-01-82f3372a65c+Firmware-Build+2321):
BLID=> FC86XXXXXXXXXXXXXXXXXXX
Password=> :1:171XXXXXXXXXXXXXXXX <= Yes, all this string.

Robot "Sucky" (sku: j955020 SoftwareVer: ruby+23.37.5+2023-10-17-5245d211fc3+Firmware-Production+167):
BLID=> 95C31XXXXXXXXXXXXXX
Password=> :1:171XXXXXXXXXXXXXXXXXXXXXXXX <= Yes, all this string.

Use this credentials in dorita980 lib :)

@valentinmirchev
Copy link

Brand new J9+ vac and M6 Mop. HAOS found the M6 Mop but no the J9+ Vac.

Attempting to connect directly via IP and providing password from dorita fail.

One thing I wonder might be an issue is the BLID numbers for the MOP and the VAC are different. Does the main integration re-use the BLID number from previous integrations to add more items?

Also, the passwords returned contain special chars. Could that be something new that's tripping up the scripts?

Then there's all the deprication warnings on the docker container that runs dorita to pull the UN&PASS. Could those deprications be causing issues with the data returned?

I couldn't get the integration to pull the UN & PASS using the instructions for either the VAC or the MOP. The MOP finally was connected using the password provided by dorita after numerous attempts and failures.

XXXXXX@docker1:~$ sudo docker run -it node sh -c "npm install -g dorita980 && get-roomba-password-cloud XXXXXXXXXXXXXX@gmail.com XXXXXXXXXXXXXXXXXXXXX"
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

added 125 packages in 7s

4 packages are looking for funding
  run `npm fund` for details
npm notice
npm notice New patch version of npm available! 10.5.0 -> 10.5.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.5.1
npm notice Run npm install -g npm@10.5.1 to update!
npm notice
(node:27) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Found 2 robot(s)!
Robot "Moppy" (sku: m611320 SoftwareVer: sanmarino+22.29.6+2022-12-01-82f3372a65c+Firmware-Build+2321):
BLID=> FC86XXXXXXXXXXXXXXXXXXX
Password=> :1:171XXXXXXXXXXXXXXXX <= Yes, all this string.

Robot "Sucky" (sku: j955020 SoftwareVer: ruby+23.37.5+2023-10-17-5245d211fc3+Firmware-Production+167):
BLID=> 95C31XXXXXXXXXXXXXX
Password=> :1:171XXXXXXXXXXXXXXXXXXXXXXXX <= Yes, all this string.

Use this credentials in dorita980 lib :)

Same issue here with 966. I used to have the integration running for more than an year. Nothing have changed, I just lost connectivity.

@mluckolson
Copy link

Same issue here with J9+. I've now tried it with two J9's. No problem getting the password using get-roomba-password-cloud via dorita on my rpi4. Then run the HA integration, it finds the vacuum, but doesn't accept password. I've tried every sequence of button pushes and reboots that I can fathom--it never gets the password. So then I paste it manually, and I still get a "Failed to connect" message. I have a Braava that continues to be connected to HA without a problem.

@Orhideous, you wrote in the HA community to mention you on the github issue. Not sure if there's anything you can do to help, but I'd be greatly appreciative.

Logs say:
Logger: roombapy.remote_client
Source: /usr/local/lib/python3.12/site-packages/roombapy/remote_client.py:95
First occurred: 12:19:55 AM (39 occurrences)
Last logged: 12:38:42 AM

Can't connect to 192.168.1.91
Traceback (most recent call last):
File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 93, in connect
self._open_mqtt_connection()
File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 121, in _open_mqtt_connection
self.mqtt_client.reconnect()
File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 1044, in reconnect
sock = self._create_socket_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/site-packages/paho/mqtt/client.py", line 3685, in _create_socket_connection
return socket.create_connection(addr, timeout=self._connect_timeout, source_address=source)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.12/socket.py", line 852, in create_connection
raise exceptions[0]
File "/usr/local/lib/python3.12/socket.py", line 837, in create_connection
sock.connect(sa)
ConnectionRefusedError: [Errno 111] Connection refused

@alebr001
Copy link

I have two devices, an i8 and a 974. i8 is still working but the 974 cant login anymore. Even with the password I got from dorita980. So the device does get recognized when searching for it but the password is not accepted.

@quadcom
Copy link

quadcom commented Apr 22, 2024

I suspect this may have something to do with the outdated libraries used in the dorita980 scripts. There were multiple warnings of depreciation when I ran it. If the integration uses those same depreciated libraries to pull the passwords, that would make sense that things are failing.

@quadcom
Copy link

quadcom commented Apr 22, 2024

After software update of Supervisor to 2024.04.0 version, in my case the problem was solved. Roomba was detected and connected with no issue.

What do you mean update Supervisor ? Doesn't seem to be a release of Home Assistant mentionning that. My install runs in a docker container, is it possible to apply such an update ?

I believe the poster is running HAOS which is a complete system running either on bare metal of a VM. There's a lot more to HA than just the core in that case, Supervisor being one of them.

@quadcom
Copy link

quadcom commented Apr 22, 2024

If it's of any help, I am currently running the latest HAOS release.

Core: 2024.4.3
Supervisor: 2024.04.0
Operating System: 12.2
Frontend: 20240404.2

@alebr001
Copy link

I suspect this may have something to do with the outdated libraries used in the dorita980 scripts. There were multiple warnings of depreciation when I ran it. If the integration uses those same depreciated libraries to pull the passwords, that would make sense that things are failing.

I dont know that much about those deprecated libraries, but if that would break anything I would assume that the password as a whole cannot be retrieved, not that it would make a password up. Also it doesnt really make sense that my password can not be auto-retrieved anymore in the roomba integration itself.

@quadcom
Copy link

quadcom commented Apr 22, 2024

I suspect this may have something to do with the outdated libraries used in the dorita980 scripts. There were multiple warnings of depreciation when I ran it. If the integration uses those same depreciated libraries to pull the passwords, that would make sense that things are failing.

I dont know that much about those deprecated libraries, but if that would break anything I would assume that the password as a whole cannot be retrieved, not that it would make a password up. Also it doesnt really make sense that my password can not be auto-retrieved anymore in the roomba integration itself.

If the integration uses those libraries to pull, and most likely decrypt the returned password. It could possibly pull the password hash but fail on the decrypt part. One of the deprications mentions mathrandom() which could be used in this case;

npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

Not a definitive answer but just suggesting possibilities. It appears the dorita980 scripts are somewhat old.

@alebr001
Copy link

alebr001 commented Apr 22, 2024

Yes that might makes sense, unfortunately if I use the Roomba980 repo i get the same password

@adamengineering
Copy link

I have a Roomba 980 and a i7. Both are detected automatically by HA 2024.4.3 (2024.04.0 | 12.2) I can configure the i7 with no problem in seconds using the password I retrieved with the dorita980 script.

But failing to do so with the 980, no matter which combination of pressing Home, Home and Spot or none after a few seconds the Integration reports back with ^failed to connect'

Bildschirmfoto 2024-04-23 um 09 54 36

I've had both devices running for more than a year previously with no problems. After updating HA to 2023.12.0 the 980 stoped working within HA and none of the following releases of HA solved my problem. With some versions the 980 wasn't even detected automatically, this started to work again with 2024.4.0 - nonetheless Integration still fails.

@valentinmirchev
Copy link

Brand new J9+ vac and M6 Mop. HAOS found the M6 Mop but no the J9+ Vac.
Attempting to connect directly via IP and providing password from dorita fail.
One thing I wonder might be an issue is the BLID numbers for the MOP and the VAC are different. Does the main integration re-use the BLID number from previous integrations to add more items?
Also, the passwords returned contain special chars. Could that be something new that's tripping up the scripts?
Then there's all the deprication warnings on the docker container that runs dorita to pull the UN&PASS. Could those deprications be causing issues with the data returned?
I couldn't get the integration to pull the UN & PASS using the instructions for either the VAC or the MOP. The MOP finally was connected using the password provided by dorita after numerous attempts and failures.

XXXXXX@docker1:~$ sudo docker run -it node sh -c "npm install -g dorita980 && get-roomba-password-cloud XXXXXXXXXXXXXX@gmail.com XXXXXXXXXXXXXXXXXXXXX"
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated request-promise@4.2.6: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

added 125 packages in 7s

4 packages are looking for funding
  run `npm fund` for details
npm notice
npm notice New patch version of npm available! 10.5.0 -> 10.5.1
npm notice Changelog: https://github.com/npm/cli/releases/tag/v10.5.1
npm notice Run npm install -g npm@10.5.1 to update!
npm notice
(node:27) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
(Use `node --trace-deprecation ...` to show where the warning was created)
Found 2 robot(s)!
Robot "Moppy" (sku: m611320 SoftwareVer: sanmarino+22.29.6+2022-12-01-82f3372a65c+Firmware-Build+2321):
BLID=> FC86XXXXXXXXXXXXXXXXXXX
Password=> :1:171XXXXXXXXXXXXXXXX <= Yes, all this string.

Robot "Sucky" (sku: j955020 SoftwareVer: ruby+23.37.5+2023-10-17-5245d211fc3+Firmware-Production+167):
BLID=> 95C31XXXXXXXXXXXXXX
Password=> :1:171XXXXXXXXXXXXXXXXXXXXXXXX <= Yes, all this string.

Use this credentials in dorita980 lib :)

Same issue here with 966. I used to have the integration running for more than an year. Nothing have changed, I just lost connectivity.

Update: Yesterday I tried again and the integration worked with no issue. Password was retrieved automatically and the roomba integrated without any issue.

@quadcom
Copy link

quadcom commented Apr 23, 2024

Tried again with the J9+ vaccuum (not the combo, why they kept the same model number is beyond me). Same problem.

One thing I wanted to point out is the J9+ vacuum only has one button. The HA integration states to hold down the Home button for 2 seconds until it makes a noise. For this vacuum, you have to hold that button down for 15+ seconds and it appears to hard reboot the device. The integration then says to hit submit within 30 seconds but it takes more than 30 seconds for the vacuum to reboot and hook back onto the network. If a connection is only successful during a period of time during bootup and unless we are very lucky with the timing, it's not going to be easy to get the integration to connect reliably.

Integration message
image

Only one button on the vac
image

@mluckolson
Copy link

@valentinmirchev, since you seem to have succeeded with a J9+, I’d appreciate hearing what your button push sequence and timing looked like. Read @quadcom’s message immediately above. I have the exact same quandary so curious how you navigated this. Thanks in advance.

Can any devs offer a suggested path forward given that the dorita980 scripts appear to be the root of the problem?

@quadcom
Copy link

quadcom commented Apr 23, 2024

since you seem to have succeeded with a J9+

His may have been the J9+ combo which is different device. The J9+ that I have is just a vacuum. It's not the vac/mop combo unit.

Just to clarify.

@mluckolson
Copy link

I still can’t get it working — both a J9 and a Braava M6.

Anyone know who the developer is (are?) and how we can get their attention.

@leifnel
Copy link

leifnel commented May 28, 2024

As the Google Home is able to connect to the iRobot Cloud, perhaps HA could do this too as a fallback?

@alebr001
Copy link

It’s frustrating that last time there was an issue with the Roomba integration it got updated so quickly and now we have to wait so long not even knowing if it will be picked up eventually.

@HotNoob
Copy link

HotNoob commented May 31, 2024

i used : https://github.com/NickWaterton/Roomba980-Python/tree/master

to get the password from "cloud":
python .\roomba\getcloudpassword.py (irobot_username/email) (password)

afterwards it works, but isn't the most responsive...
on the other hand, the android version of the irobot home app also doesnt work for me :P

maybe it's a "fix" for someone here.

@mluckolson
Copy link

@HotNoob would you mind elaborating what you did and how you did it? Like many folks around here, I’m stuck with several non-integrated iRobots.

And in general, does anybody know which devs own this integration? We all have experienced the problems but it’s still unclear to me who if anybody is in a position to identify let alone address the root cause issues. Appreciate the community is mostly volunteer contributors, so no judgment here. But trying to understand who we can talk to about this. It’s a pretty major integration for HA generally.

@HotNoob
Copy link

HotNoob commented Jun 1, 2024

@HotNoob would you mind elaborating what you did and how you did it? Like many folks around here, I’m stuck with several non-integrated iRobots.

i'm running haos... so seemed easier for me to just run python scripts to get password for manual setup on diff device.

clone / download linked repo on any computer.
https://github.com/NickWaterton/Roomba980-Python/tree/master

install python
install reqs

pip install -r requirements.txt

run script to get your roomba's password from irobot's cloud api

python .\roomba\getcloudpassword.py (irobot_username/email) (password)

read json output:

"password": "your roomba password here",

give password to ha roomba intergration.
https://www.home-assistant.io/integrations/roomba/


pics

image

just to show the mqtt is sluggish.
image

although i recently found out my unifi / wifi ssid stops broadcasting when internet drops, and starlinks been having problems lately. so... unconfirmed if it's ha, limitation of roomba, or my bad wifi.


edit:
wrote (rewrote) a simplified script to get cloud password here.
removing all of the undeeded code and dependancies.

https://github.com/HotNoob/irobot_get_cloudpassword

if someone wants they can just shove that code into ha repo.

@tuupos
Copy link

tuupos commented Jun 1, 2024

Thanks but there is a difference in connecting the 980 to HA or a j9+. I think it's even different to connecting a j7. I got the login and password from dorita980 i can manually find my j9+ in HA but it won't accept the retrieved password when trying to setup the roomba in HA.

I found this link for controlling j9+ locally but somehow i cannot get it to work. It seems that this developer has no trouble running his/hers j9+ through HA but wanted more local control. So it seems that there is a connection possible?
https://revolugame.com/p/home-assistant-roomba-script/#how-to-use-it

If someone can get this script to work could they explain how they did it?

@alebr001
Copy link

alebr001 commented Jun 1, 2024

I also used the script to retrieve the password multiple times.. Always finds my two devices both my 976 and my i8.

Scherm­afbeelding 2024-06-01 om 10 05 07

When I integrate my i8 it has no problems (don't even need to give a password) but when I try to integrate my 976 it always fails:

Scherm­afbeelding 2024-06-01 om 10 00 57

@alebr001
Copy link

alebr001 commented Jun 1, 2024

Now that I look at the original post it isnt quite the same. Should I create a new thread for this?

@tuupos
Copy link

tuupos commented Jul 5, 2024

OK, I finally got it to work but locally, so without the official integration, by using rest980.
I followed the steps exactly within https://github.com/jeremywillans/ha-rest980-roomba?tab=readme-ov-file
and now i can control my J9+ (no mop) and see all the sensors in HA. I just need to put it into my own code by calling the script or html directly for the commands but at least it is working in HA

Screenshot_20240705-073030_Brave

@alebr001
Copy link

alebr001 commented Jul 5, 2024

I finally got it to work! This is what I did. I was reading through the roomba integration issues and saw that someone said that their roomba fails to set up (#117071)... I thought that was the same problem as mine. This post suggests to change the core code in config_flow.py. I dont know how to change the core code so I copied the integration roomba of the core code, put it in a custom_components folder and changed the code there. I put continuous on true, restarted home assistant and it worked!

@tuupos
Copy link

tuupos commented Jul 6, 2024

It WORKED @alebr001
Thanks, this is an even easier setup.

Now my J9+ is found in my HA.
image

although no options for room selection. Maybe I wil stick to my earlier posted solution/work around by https://github.com/jeremywillans/ha-rest980-roomba?tab=readme-ov-file

@aarnaegg
Copy link

aarnaegg commented Jul 7, 2024

@Orhideous, can you make these updates?

@aarnaegg
Copy link

aarnaegg commented Jul 7, 2024

@alebr001 So I downloaded homeassistant/components/roomba as a zip. I then uploaded it to a folder under "/homeassistant/custom_components" and unzipped it. Next, open "config_flow.py" and change line 58 from "continuous=False," to "continuous=True,". Save and Reboot HA. I still get failed to connect with my J9+. What am I missing?

@tuupos
Copy link

tuupos commented Jul 7, 2024

@aarnaegg do you see that the custom integration is loaded?
The version number in my example is what i gave it.
Screenshot_20240707-081808_Brave

I also changed DEFAULT_DELAY in const.py to 5 instead of 1. But I dont know if that is also needed.

Restart HA
I made sure my roomba app was not open (although I do not know if that is necessary)
Then when I rebooted my J9+ i kept on feeding
the password when it refused and within the 4th try it took it. Before the 4th try I think the roomba stil was in reboot mode

I have my roomba on a separate IoT vlan

@aarnaegg
Copy link

aarnaegg commented Jul 7, 2024

@tuupos I do not see it loaded under custom integrations after a reboot. How do you set a custom version number?

@tuupos
Copy link

tuupos commented Jul 7, 2024

@tuupos I do not see it loaded under custom integrations after a reboot. How do you set a custom version number?

@aarnaegg There is a file named "manifest.json" in de custom_components/roomba directory.
edit this one and put in a version number you like (e.g. 1.0)
below is a snippet of my manifest.json there you can see where I put the version number. Then reboot HA and from that point on HA picks up the custom_component of your roomba integration instead of the core one.

"documentation": "https://www.home-assistant.io/integrations/roomba",
"iot_class": "local_push",
"loggers": ["paho_mqtt", "roombapy"],
"requirements": ["roombapy==1.8.1"],
"version": "1.3.3.7",
"zeroconf": [

@aarnaegg
Copy link

aarnaegg commented Jul 7, 2024

@alebr001 @tuupos I got it! Thank you for the help! It's been forever!

@jay-kub
Copy link

jay-kub commented Jul 17, 2024

@tuupos or @aarnaegg, was your password retrieved from the device automatically or did you need to manually input it?

@tuupos
Copy link

tuupos commented Jul 17, 2024

Manually through dorito980 with separate procedure

@alebr001
Copy link

I have stumbled across new problems which I solved by doing this: #117071 (comment)

Must say that I have not dived into the code to find out why that works so it might also be solved by doing something else.

@mdaraujoGit
Copy link

mdaraujoGit commented Oct 5, 2024

Ok, after a lot of trial and error I FINALLY got the official integration working with my J9+

image

The main culprit are the instructions, which are completely misleading for the j9+ (Vaccum only)

This is what I did:

  1. I did not have to play around with firewalls, UDP ports or none of that sort
  2. I first had to get the BLID and Password for my Robot. There are great instructions on the web to do so;

a) Installed Node.js in my pc (https://nodejs.org/en)
b) Successfuly installed Dorita
c) Was able to retrieve BLID and Password using the command prompt of my PC using these instructions: (https://github.com/koalazak/dorita980#how-to-get-your-usernameblid-and-password)
d) Remember, the password is the string between the arrows (no initial space or ending space):

Password=> :1XXXXXXXXXXXXXXXXXXXXXXXXZ <= Yes, all this string.

  1. After I had the password I was ready to install the the iRobot integration in home assistant. The first time you install the integration it will try to find the robot on the network.

  2. I discorvered that finding the robot in the network can be a mission on its own.. I found that the best way to find the robot again was simply to unplug the base and then also restart the Robot. In the case of the J9+ (Vaccum Only) the way to restart it is to press the only button for 9 seconds (after about 3 seconds you will hear a firest sound but then keep pressing until you hear a different sound and only then will the robot restart). As it is restarting the button light will swirl light in circles. After if finishes restarting, again try to start the integration and it should find the robot on the network.

  3. After that "Submit" and it will go onto the next page where it tells you to press the button till you hear a sound. In the case of the J9+ (vaccum) you will have to restart the robot (again) as per the description above. Press for nine seconds until the robot start restarting.

  4. While the robot is restarting (and hear it is all about timming) you will have to keep trying to input the password until it finally accepts it. In my case it had to submit 7 times is a row.

image

  1. I kept getting the above message, but, nevertheless, as the robot is restarting, I just kept retrying to submit the password until "voilá" it finally accepted the password and I was able to install the Roomba Home Assistant Official integration. My guess for these retries is that since the J9+ does not have a set of buttons to place it in this "pairing mode" you have to restart it to get to this mode, but only at a particular timming will this pairing actually occur. Since we do not know when exactly that happens, it is a question of trial and error until the robot accepts the password and the integration works.

(Had to spend more than a couple of hours to learn all of this....)

Anyway, hope this will help someone else!!!!!

@the8thsign
Copy link

The above worked for me after about 8 reboots and spamming the password. Thank you!

@mdaraujoGit
Copy link

The above worked for me after about 8 reboots and spamming the password. Thank you!

Glad to know it worked!!! I am now trying to figure out the best way to also have the cleaning zones show up in home assistant....

@AuroreVgn
Copy link
Contributor

Hi all,

By mixing several topics, I found a solution (mainly thanks to @alebr001) for my Roomba 960. Here are the steps I did:

  1. I download on a Linux device (= accessible through SSH) the roomba component from official HA Git
  2. modify three files:
    - const.py: DEFAULT_DELAY = 100 instead of DEFAULT_DELAY = 1
    - config_flow.py: continuous=True instead of continuous=False
    - manifest.json: adding version tag like "version"=20241026 in order to override official HA integration
  3. trough Terminal use scp to copy all files from roomba component to /homeassistant/custom_components/roomba
  4. restart HA
  5. check if you have the "custom component" logo on iRobot integration
  6. retry to add your iRobot device

I added my 960 with the password I get from Dorita980 without out pressing 'Home' and 'Spot' buttons and..... it's works!

@tuupos
Copy link

tuupos commented Oct 31, 2024

So this means i can use the HA official integration again instead of my local one?

@AuroreVgn
Copy link
Contributor

I am not familiar with HA development and update workflow... You should have to wait for the next update I think.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests