Roomba j7 still not integrating after 2024.3.0
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
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 closeCloses the issue.@home-assistant rename Awesome new titleRenames the issue.@home-assistant reopenReopen the issue.@home-assistant unassign roombaRemoves the current integration label and assignees on the issue, add the integration domain after the command.@home-assistant add-label needs-more-informationAdd a label (needs-more-information, problem in dependency, problem in custom component) to the issue.@home-assistant remove-label needs-more-informationRemove 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)
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.
Anything in the logs?
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!
Nope. I appreciate the suggestion but it did not work.
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
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.
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.
2024.3.3 cannot add roomba j7+
Hello, after many tries, I'm abble to connect Roomba J7+ with HA. I followed these steps:
- Stop HA
- Stop the app IRobot.
- 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)
- Launch the app IRobot and restart the Roomba J7+
- Launch the IRobot integration, give the IP adress and wait some times. (Retry this step if neccessary, before the bip on the robot)
- 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 !
Hello, after many tries, I'm abble to connect Roomba J7+ with HA. I followed these steps:
- Stop HA
- Stop the app IRobot.
- 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)
- Launch the app IRobot and restart the Roomba J7+
- Launch the IRobot integration, give the IP adress and wait some times. (Retry this step if neccessary, before the bip on the robot)
- 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...
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.
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 ?
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 [email protected] XXXXXXXXXXXXXXXXXXXXX"
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: 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 [email protected]: 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 [email protected] 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 :)
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 [email protected] XXXXXXXXXXXXXXXXXXXXX" npm WARN deprecated [email protected]: this library is no longer supported npm WARN deprecated [email protected]: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN deprecated [email protected]: 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 [email protected]: 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 [email protected] 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.
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
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.
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.
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.
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
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.
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 [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: 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 [email protected]: 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.
Yes that might makes sense, unfortunately if I use the Roomba980 repo i get the same password
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'
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.
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 [email protected] XXXXXXXXXXXXXXXXXXXXX" npm WARN deprecated [email protected]: this library is no longer supported npm WARN deprecated [email protected]: request-promise has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142 npm WARN deprecated [email protected]: 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 [email protected]: 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 [email protected] 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.
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
Only one button on the vac
@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?
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.
Ahh fair point
Guys it's not j9, I have a 966