home-assistant / core

:house_with_garden: Open source home automation that puts local control and privacy first.
https://www.home-assistant.io
Apache License 2.0
70.46k stars 29.39k forks source link

Roomba j7 still not integrating after 2024.3.0 #112544

Open bkr1969 opened 5 months ago

bkr1969 commented 5 months ago

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[bot] commented 5 months ago

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 commented 5 months ago

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 commented 5 months ago

Anything in the logs?

mediacutlet commented 5 months ago

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 commented 5 months ago

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

yannc74 commented 5 months ago

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 commented 5 months ago

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 commented 4 months ago

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 commented 4 months ago

2024.3.3 cannot add roomba j7+

yannc74 commented 4 months ago

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 commented 4 months ago

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 commented 4 months ago

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 commented 4 months ago

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 commented 4 months ago

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 commented 4 months ago

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 commented 4 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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

adamengineering commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

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 commented 3 months ago

@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 commented 3 months ago

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 commented 3 months ago

Ahh fair point

valentinmirchev commented 3 months ago

Guys it's not j9, I have a 966

quadcom commented 3 months ago

Here's another thought. Do the others who are having adoption issues have their devices on a separate VLAN/subnet from their HA system?

alebr001 commented 3 months ago

Here's another thought. Do the others who are having adoption issues have their devices on a separate VLAN/subnet from their HA system?

I don’t, and I actually never had any problems. This happened recently. I don’t know exactly but I think in the past seven days.

mluckolson commented 3 months ago

I don’t either.

adamengineering commented 3 months ago

Updated today to HA 2024.4.4 (latest release as of date). Retried a few times to integrate the 980 without pressing any buttons at all. After 6 unsuccessful tries the seventh one worked out and I have the 980 back in my Entities and can use it within HA and all of my Automations for it.

As for @quadcom question: My devices are all on a separate VLAN from HA, in total 53 devices. Some made more problems to integrate then others, but in the end I managed to have them all working. I had to add specific Firewall rules for some devices.

alebr001 commented 3 months ago

Lucky you, because I have tried more then 10 times, and it isnt budging.

tuupos commented 3 months ago

I wish I had the programming skills to help and get the 9+ integrated. I got an pwd through dorita but the integration keeps refusing it. Wonder if there will be a solution. Has anyone got it somehow working?

mluckolson commented 3 months ago

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 commented 2 months ago

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

alebr001 commented 2 months ago

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 commented 2 months ago

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 commented 2 months ago

@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 commented 2 months ago

@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 commented 2 months ago

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 commented 2 months ago

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 commented 2 months ago

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

tuupos commented 1 month ago

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 commented 1 month ago

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 (https://github.com/home-assistant/core/issues/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 commented 1 month ago

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 commented 1 month ago

@Orhideous, can you make these updates?

aarnaegg commented 1 month ago

@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?