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 Intergration - Unable to connect to Roomba #94419

Open poelleke opened 1 year ago

poelleke commented 1 year ago

The problem

I am trying to add the Roomba integration. I had to find the password myself for this. but when I enter this I get the message that it cannot connect.

What version of Home Assistant Core has the issue?

core-2023.6.1

What was the last working version of Home Assistant Core?

No response

What type of installation are you running?

Home Assistant OS

Integration causing the issue

iRobot Roomba and Braava

Link to integration documentation on our website

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

Diagnostics information

2023-06-11 09:06:24.799 INFO (roombapy) [roombapy.remote_client] Connecting to 192.168.1.16, attempt 1 of 3 2023-06-11 09:06:25.585 INFO (Thread-1763 (_thread_main)) [roombapy.roomba] Connecting to Roomba 192.168.1.16 2023-06-11 09:06:25.585 ERROR (Thread-1763 (_thread_main)) [roombapy.roomba] Roomba 192.168.1.16 connection error, code Bad username or password 2023-06-11 09:06:25.586 WARNING (Thread-1763 (_thread_main)) [roombapy.roomba] Unexpectedly disconnected from Roomba 192.168.1.16, code Not authorised 2023-06-11 09:06:26.070 INFO (roombapy) [roombapy.remote_client] Connecting to 192.168.1.16, attempt 1 of 3 2023-06-11 09:06:27.368 INFO (Thread-1764 (_thread_main)) [roombapy.roomba] Connecting to Roomba 192.168.1.16 2023-06-11 09:06:27.368 ERROR (Thread-1764 (_thread_main)) [roombapy.roomba] Roomba 192.168.1.16 connection error, code Bad username or password 2023-06-11 09:06:27.369 WARNING (Thread-1764 (_thread_main)) [roombapy.roomba] Unexpectedly disconnected from Roomba 192.168.1.16, code Not authorised 2023-06-11 09:06:27.908 INFO (roombapy) [roombapy.remote_client] Connecting to 192.168.1.16, attempt 1 of 3 2023-06-11 09:06:29.173 INFO (Thread-1765 (_thread_main)) [roombapy.roomba] Connecting to Roomba 192.168.1.16 2023-06-11 09:06:29.173 ERROR (Thread-1765 (_thread_main)) [roombapy.roomba] Roomba 192.168.1.16 connection error, code Bad username or password 2023-06-11 09:06:29.174 WARNING (Thread-1765 (_thread_main)) [roombapy.roomba] Unexpectedly disconnected from Roomba 192.168.1.16, code Not authorised 2023-06-11 09:06:29.662 INFO (roombapy) [roombapy.remote_client] Connecting to 192.168.1.16, attempt 1 of 3 2023-06-11 09:06:31.581 INFO (roombapy) [roombapy.remote_client] Connecting to 192.168.1.16, attempt 1 of 3 2023-06-11 09:06:31.738 ERROR (roombapy) [roombapy.remote_client] Can't connect to 192.168.1.16, error: [Errno 111] Connection refused 2023-06-11 09:06:31.738 INFO (roombapy) [roombapy.remote_client] Connecting to 192.168.1.16, attempt 2 of 3 2023-06-11 09:06:31.741 ERROR (roombapy) [roombapy.remote_client] Can't connect to 192.168.1.16, error: [Errno 111] Connection refused 2023-06-11 09:06:31.741 INFO (roombapy) [roombapy.remote_client] Connecting to 192.168.1.16, attempt 3 of 3 2023-06-11 09:06:31.750 ERROR (roombapy) [roombapy.remote_client] Can't connect to 192.168.1.16, error: [Errno 111] Connection refused 2023-06-11 09:06:31.750 ERROR (roombapy) [roombapy.remote_client] Unable to connect to 192.168.1.16 2023-06-11 09:06:31.751 WARNING (roombapy) [roombapy.roomba] Unexpectedly disconnected from Roomba 192.168.1.16, code Unable to connect to Roomba at 192.168.1.16

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 1 year ago

Hey there @pschmitt, @cyr-ius, @shenxn, 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.

(message by CodeOwnersMention)


roomba documentation roomba source (message by IssueLinks)

TheAlphaLaw commented 1 year ago

@poelleke I had to move to Homekit integrations. Seems in this case they're better maintained.

poelleke commented 1 year ago

@poelleke I had to move to Homekit integrations. Seems in this case they're better maintained.

I don't use homekit. I don't have any apple products either.

TheAlphaLaw commented 1 year ago

@poelleke I had to move to Homekit integrations. Seems in this case they're better maintained.

I don't use homekit. I don't have any apple products either.

@poelleke I had to move to Homekit integrations. Seems in this case they're better maintained.

I don't use homekit. I don't have any apple products either.

I don't own any Apple products, but there are many things that integrate into Homekit via Homebridge and then into Home Assistant that don't have native support. https://homebridge.io/

Hellmanx commented 1 year ago

The project is dead. The devs seemed to have gone silent.

joostlek commented 1 year ago

What type of Roomba do you have?

Hellmanx commented 1 year ago

What type of Roomba do you have?

I Have an i3+. Worked before.

I personally have deleted the roombaa configuration and tried adding it again. It seems that the integration cannot send the cloud password to what ever it needs to send it to. Keeps failing.

poelleke commented 1 year ago

What type of Roomba do you have?

i have a Roomba Combo J7+

joostlek commented 1 year ago

How come you had to get your password manually? I remember I only had to press 2 buttons on the Roomba and it worked.

To verify some stuff, do you have any funky networking setup? Are you able to ping the Roomba from your HA setup?

Hellmanx commented 1 year ago

How come you had to get your password manually? I remember I only had to press 2 buttons on the Roomba and it worked.

To verify some stuff, do you have any funky networking setup? Are you able to ping the Roomba from your HA setup?

Never worked for me. HA can automatically detect the roombaa. HA just won't get the password automatically. I can get the password manually, but HA will say "Failed to connect" when I put in the password

joostlek commented 1 year ago

What firmware version are you running?

Hellmanx commented 1 year ago

What firmware version are you running?

Looks like 2.4.7

joostlek commented 1 year ago

In https://github.com/pschmitt/roombapy/issues/97 I can see that there are multiple people having issues with the J7+. They have a workaround with capturing the password via their phone.

poelleke commented 1 year ago

In pschmitt/roombapy#97 I can see that there are multiple people having issues with the J7+. They have a workaround with capturing the password via their phone.

The roomba is on frimware 22.52.6 And i have already get the password from a workaround. But the problem is when i try to connect the intergration with the roomba it gives me a time out on the connection

joostlek commented 1 year ago

It seems that the J7+ communicates different than previous versions (I mean they went from firmware 2.4.x to 22.x.x). The roombapy lib is made from a fork, and that fork is inspired by another repo, and I found an issue in that repo for the J7+ (https://github.com/koalazak/dorita980/issues/157), and they seem to link back to the HA forums (https://community.home-assistant.io/t/roomba-j7-integration-help/339705). Maybe this will help?

Jshanks commented 12 months ago

Just popping in to say i'm seeing this still with an S9+ on 2023.8.3. Discovery finds it and suggests adding it, that fails. Pulling the BLID and Password work via Dorita980's methods, but still get an error message stating that it can't connect in HA.

jschonenberg commented 11 months ago

I have the same issues with a Roomba i3+. Integration used to work perfectly, but recently it disconnected and I can't seem to get it working again.

While setting up the integration it finds the Roomba perfectly fine, but then cannot retrieve the password automatically. I can retrieve the password manually using dorita980, but after entering it the integration states that it can't connect to the Roomba.

seanmccabe commented 11 months ago

Getting the same issue with the J7+, documentation says it should work, but it does not. Retrieve the password using Dorita980 (the HA implementation also doesn't work, its just blank). However, entering the retrieved password says fails to connect

Traxtar928 commented 11 months ago

Screenshot_20230831_232758_Home Assistant

Same issue with my i3+... Mine connects and integrates by just pressing the home button (not the spot button). After connection, HA communicates just fine and controls the Roomba.

The next day, the integration fails and cannot reconnect. Entities are all unavailable. I have no idea why this keeps happening.

halfskye commented 11 months ago

Experiencing the same issue with a Roomba s9+ on Product Software 22.29.6

Noticed today that the integration couldn't connect (not sure for how long) so I tried to reconnect but was unable. Then tried to remove the integration and then re-add it. It had previously detected the password automatically when I had originally setup the integration last year if I remember correctly, I needed to now run the dorita980 method to retrieve the password. When trying to connect using the manually retrieved password, I get a "Failed to connect" error.

Traxtar928 commented 11 months ago

Are you pressing the home AND spot button, or just the home button? If pressing both, try just the home button and see if it pulls the password. That worked for me, but did not resolve the integration failing after a day.

lambros414 commented 11 months ago

I'm having a similar issue with an i4 replacement. I was able to connect an i4 to HA with no problem. That roomba worked fine for about a month, then had charging issues. I got a replacement from iRobot. The new one isn't connecting. Funny thing is I can still connect my original one very easily. It actually is auto discovered. The new one, nope. I have to manually get the password information and input it during the connection process. When I do, I get "Connection failed". I have rebooted, factory reset and more several times.

I am working the issue with iRobot as well, but obviously they don't have to support third party products.

I have determined that there must be something different between the two. They are both i4 rombas. I spoke with iRobot, they confirmed that not only are they the same version, but were made only a few months apart. There is a difference though, the newer one was made at a different plant. Also, my older one seems to have a software version that the new one is not yet able to be upgraded to. (iRobot is looking into that on their side).

My question for our forum or HA people is the following…. Even though I removed the old robot, and the integration, are there residual files in HA that may have information about the old robot that allows it to pair and could be preventing my new one from pairing. I was hoping to find a way of completely cleansing my HA instance from any of the integration files, and reinstalling everything from absolute scratch to see if that is the problem.

If it isn’t, I am hoping iRobot will be able to share some information that I can share here that can hopefully explain why one robot pairs, and one does not.

Any feedback would be greatly appreciated.

lambros414 commented 11 months ago

[Traxtar928],

thank you for your advice. I was FINALLY able to reconnect my roomba. just didn't press the home and spot buttons. I went to enter the password, I did, and even before I was going to hit the clean button, it connected. Seems like when the home and spot button are pushed, it won't communicate with the roomba (despite the instructions on the integration being different).

Thank you! all of my automations are working again!, at least for now.

BIRDIE13 commented 10 months ago

Are you pressing the home AND spot button, or just the home button? If pressing both, try just the home button and see if it pulls the password. That worked for me, but did not resolve the integration failing after a day.

Can confirm that this worked with my i3 as well. Been struggling for a week trying to add the integration on a new HA instance. Thanks!

seanmccabe commented 10 months ago

I got this working for my j7+.

Instructions says hold the button for 20 seconds. DON'T. Press it once and it will work.

Holding causes the unit to reset.

The instructions for this should be updated. In the case of the j7 it has only one button.

aarnaegg commented 9 months ago

I got this working for my j7+.

Instructions says hold the button for 20 seconds. DON'T. Press it once and it will work.

Holding causes the unit to reset.

The instructions for this should be updated. In the case of the j7 it has only one button.

I'm trying this and it's not working… When I press the button once, it starts vacuuming. I get [Errno 111] Connection refused too. I got a J9+ (I assume would work the same as the J7) but I suppose it's not possible to add it?

seanmccabe commented 9 months ago

I got this working for my j7+.

Instructions says hold the button for 20 seconds. DON'T. Press it once and it will work.

Holding causes the unit to reset.

The instructions for this should be updated. In the case of the j7 it has only one button.

I'm trying this and it's not working… When I press the button once, it starts vacuuming. I get [Errno 111] Connection refused too. I got a J9+ (I assume would work the same as the J7) but I suppose it's not possible to add it?

I'm not sure, I had heard the security was updated for that model, but could be wrong.

Are you pressing the button whilst it's on the dock and HA is looking for it.

aarnaegg commented 9 months ago

Are you pressing the button whilst it's on the dock and HA is looking for it.

I am. It plays the tone/beep, but I always get failed to connect after entering my password.

seanmccabe commented 9 months ago

Are you pressing the button whilst it's on the dock and HA is looking for it.

I am. It plays the tone/beep, but I always get failed to connect after entering my password.

Your password as in Roomba password, or the retrieved one?

aarnaegg commented 9 months ago

Your password as in Roomba password, or the retrieved one?

The password retrieved from dorita980

Jedi940 commented 9 months ago

I am trying to get my J7+ to work with the integration and I can't even get the integration to install and ask for my password. It fails to connect when it asks for the IP address. Where can I find additional logs about this. Since the integration never finishes installing I can't enable debugging.

TimothyLeeAdams commented 9 months ago

I just picked up a J9+ and am having the same problem. HA finds it, automatic password retrieval fails, I was able to retrieve my password using the dorita980 tool, but when I enter the password it fails and says "failed to connect".

Jedi940 commented 9 months ago

I figured out my problem. I was not allowing UDP traffic on my firewall. After I corrected that issue, I was able to get it to connect.

aarnaegg commented 9 months ago

I figured out my problem. I was not allowing UDP traffic on my firewall. After I corrected that issue, I was able to get it to connect.

How do you manually allow UDP connections for the J9+? I am using Unifi OS if that helps for instructions…

Screenshot 2023-11-14 at 9 22 28 AM

These are the only rules I have set. I don't believe anything would be blocking it? I also have a J7+ that I am able to connect just fine after retrieving the password…

TimothyLeeAdams commented 9 months ago

I figured out my problem. I was not allowing UDP traffic on my firewall. After I corrected that issue, I was able to get it to connect.

How do you manually allow UDP connections for the J9+? I am using Unifi OS if that helps for instructions…

Screenshot 2023-11-14 at 9 22 28 AM

These are the only rules I have set. I don't believe anything would be blocking it? I also have a J7+ that I am able to connect just fine after retrieving the password…

I've read that iRobot has changed something with the ciphers on the J9+. Not sure if that's why the password isn't working, but maybe someone else knows more about this? I'm pretty sure my problem isn't my local network firewall because HA is able to find my J9+ automatically, and my Roomba 980 integration is integrated and working perfectly, it's just the password step when trying to add the J9+ that fails...

gerthass commented 9 months ago

I had the same issue on my i7+:

'failed to connect' while entering the password retreived with the dorita980 method.

What solved my issue was just disabling the 'pairing' method which was activated with the HOME&SPOT button (2sec). So after connecting to the Roomba, when the password screen popped up, shortly press the HOME button on the Roomba, wait for the sound and then enter your password to connect.

This helped in my case

aarnaegg commented 9 months ago

@gerthass Hmm I think I understand what you're saying... I'll give that a try on my J9+ when I get home. I'm not sure it will work though because the i7+ and J series pair differently. Like the Js only have 1 button. The I series have more.

Update: Unfortunately that method does not work with the J9+. Like mentioned above, I think something changed with this robot and will require an update from @pschmitt, @cyr-ius, @shenxn

ffzeus22 commented 8 months ago

Same. j7+ and j9+. They both only have a single button. I can retrieve the password for both, but I cannot get HA to connect—it finds them, but then errors on the password screen with "Failed to connect".

seanmccabe commented 8 months ago

Same. j7+ and j9+. They both only have a single button. I can retrieve the password for both, but I cannot get HA to connect—it finds them, but then errors on the password screen with "Failed to connect".

Don't hold the button, just press the button.

TimothyLeeAdams commented 8 months ago

The problem is that there's only 1 button on this model and and when pressed, it starts a clean job. When held for 2-5 seconds while on the dock, it triggers the dock to evac. Neither triggers the connection when trying to setup with the integration.

ffzeus22 commented 8 months ago

The problem is that there's only 1 button on this model and and when pressed, it starts a clean job. When held for 2-5 seconds while on the dock, it triggers the dock to evac. Neither triggers the connection when trying to setup with the integration.

As said above, there is only one button on the j7 and j9. A single short press begins cleaning, a long press, when docked, starts the clean base emptying, and a long press off of the base reboots the bot. There appears to be some error in how Home Assistant communicates with these bots.

seanmccabe commented 8 months ago

The problem is that there's only 1 button on this model and and when pressed, it starts a clean job. When held for 2-5 seconds while on the dock, it triggers the dock to evac. Neither triggers the connection when trying to setup with the integration.

As said above, there is only one button on the j7 and j9. A single short press begins cleaning, a long press, when docked, starts the clean base emptying, and a long press off of the base reboots the bot. There appears to be some error in how Home Assistant communicates with these bots.

I've got a J7+. Leave it on the dock and when HA says to hold the buttons, just press the button once and it will pair.

I've done it a couple of times successfully.

HA can't get the password itself, but once you have it, the pairing works.

aarnaegg commented 8 months ago

The problem is that there's only 1 button on this model and and when pressed, it starts a clean job. When held for 2-5 seconds while on the dock, it triggers the dock to evac. Neither triggers the connection when trying to setup with the integration.

As said above, there is only one button on the j7 and j9. A single short press begins cleaning, a long press, when docked, starts the clean base emptying, and a long press off of the base reboots the bot. There appears to be some error in how Home Assistant communicates with these bots.

I've got a J7+. Leave it on the dock and when HA says to hold the buttons, just press the button once and it will pair.

I've done it a couple of times successfully.

HA can't get the password itself, but once you have it, the pairing works.

So the J7+ does work. You just have to retrieve the robot password yourself. The J9/J9+ does not work at all, even with the password. Seems everyone is missing that part. J7 does work J9 does not.

TimothyLeeAdams commented 8 months ago

The problem is that there's only 1 button on this model and and when pressed, it starts a clean job. When held for 2-5 seconds while on the dock, it triggers the dock to evac. Neither triggers the connection when trying to setup with the integration.

As said above, there is only one button on the j7 and j9. A single short press begins cleaning, a long press, when docked, starts the clean base emptying, and a long press off of the base reboots the bot. There appears to be some error in how Home Assistant communicates with these bots.

I've got a J7+. Leave it on the dock and when HA says to hold the buttons, just press the button once and it will pair. I've done it a couple of times successfully. HA can't get the password itself, but once you have it, the pairing works.

So the J7+ does work. You just have to retrieve the robot password yourself. The J9/J9+ does not work at all, even with the password. Seems everyone is missing that part. J7 does work J9 does not.

Interesting... I have a J9+, but have no luck with that approach. I'm just curious, when you do the pairing process and press the button on your J7+, does it start a clean job or does it do nothing other t

aarnaegg commented 8 months ago

Interesting... I have a J9+, but have no luck with that approach. I'm just curious, when you do the pairing process and press the button on your J7+, does it start a clean job or does it do nothing other than pair?

I have both the J7+ and J9+. I try the very exact same steps with the J7+ on the J9+, it does not work at all. As someone said above, the connections to the J9 is different than all the other roombas. So I think until the developers (@pschmitt @cyr-ius @shenxn) update this integration it won't work?

seanmccabe commented 8 months ago

The problem is that there's only 1 button on this model and and when pressed, it starts a clean job. When held for 2-5 seconds while on the dock, it triggers the dock to evac. Neither triggers the connection when trying to setup with the integration.

As said above, there is only one button on the j7 and j9. A single short press begins cleaning, a long press, when docked, starts the clean base emptying, and a long press off of the base reboots the bot. There appears to be some error in how Home Assistant communicates with these bots.

I've got a J7+. Leave it on the dock and when HA says to hold the buttons, just press the button once and it will pair. I've done it a couple of times successfully. HA can't get the password itself, but once you have it, the pairing works.

So the J7+ does work. You just have to retrieve the robot password yourself. The J9/J9+ does not work at all, even with the password. Seems everyone is missing that part. J7 does work J9 does not.

Interesting... I have a J9+, but have no luck with that approach. I'm just curious, when you do the pairing process and press the button on your J7+, does it start a clean job or does it do nothing other t

It just pairs, doesnt start a cleaning job or anything else.

tuupos commented 7 months ago

Have a j9+ as well. No luck here either.... My 960 connects without problems. Hope someone can get it to work .

tuupos commented 7 months ago

Can we work around this by automate it via home assistant --> IFTTT --> ROOMBA and get the j9 to work?

MikeBookham commented 7 months ago

J7+ A press of the button causes a beep but no HA connection. The only way was to manually retrieve both the BLID (username) and the password, refer to the instructions in the Roomba 980 or dority 980 repository.

I followed the dority 980 option 3 Docker method, if you get an error stating that the username/password is incorrect then I suggest changing your password to 20 characters or less (Upper/Lower/Numbers - no special characters). I have done this twice now due to an HA update wiping the Roomba key.

jdwhite commented 7 months ago

Are you pressing the home AND spot button, or just the home button? If pressing both, try just the home button and see if it pulls the password. That worked for me, but did not resolve the integration failing after a day.

Can confirm that this worked with my i3 as well. Been struggling for a week trying to add the integration on a new HA instance. Thanks!

Roomba i8: confirm pressing home only for 2-3 seconds works; home and spot together did not. HA was able to grab pull the password no problem.