-
-
Notifications
You must be signed in to change notification settings - Fork 29.4k
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 no longer detected #82775
Comments
Hey there @pschmitt, @cyr-ius, @shenxn, mind taking a look at this issue as it has been labeled with an integration ( Code owner commandsCode owners of
(message by CodeOwnersMention) roomba documentation |
Subscribing here too for updates.
Vacuum has been already restarted and password retrieval (with Dorita) already done, no changes on the client side, major difference here is homeassistant update (on my side). |
Any maintainers still working on this integration? Happy to provide any additional information that might help! |
Same here. It used to work before and now I am getting Connection refused in the logs. |
I have an update for all folks here watching this thread and an advice for package mantainers. To package mantainers: when you connect to the roomba with explicit request() functions avoid/ignore self assigned certs from the roomba or you won't be able to connect to the device when python is set in enforcing mode or when you've a 3.10 (or later) versions As a workaround I've solved by adding SSL variables but this is a dirty hack and proper solution should be held in place. In my case I've simply added two lines in main # these are inside 'hass' script as a workaround
import os
os.environ['OPENSSL_CONF'] = os.path.dirname(__file__) + '/openssl.cnf' Or you can obviously use something like openssl_conf = openssl_init
[openssl_init]
ssl_conf = ssl_sect
[ssl_sect]
system_default = system_default_sect
[system_default_sect]
Options = UnsafeLegacyRenegotiation But it's better to patch the module, this is just a temp workaround. |
Thanks @andreabenini, that worked for me! |
Please bear in mind this is just a workaround until someone will fix python https request to Roombas with self signed certs. It might not be a problem for newer Ix (i5, i7, ...) machines but if you combine new python versions with older 8xx,9xx roombas and their self signed certs you'll surely spot this problem. |
I'm aware of the nastiness of the workaround, but after all, it's just that and working fine for my i6 for now until a proper patch is available. Thanks again and happy new year! |
@andreabenini - I'm all for a dodgy workaround, just struggling to understand what you're referring to by the "main hass script"? |
@MinimalMule
I'll probably take a look at it after all these holidays but maintainers might probably preceed me on it. |
@andreabenini Thanks for responding so quickly! I think the issue here is that I'm running HASSOS, and if I'm right that means that I can't access that script? |
I'm having the same issue and running Home Assistant OS so I'm unable to modify the scripts unless I'm missing something. Is there any other workaround for this? |
You can search a script named |
Hello, I have the same problem with a 960 robot, and there is another issue open here: #69594 @pschmitt @cyr-ius @shenxn could you kindly have a look on the problem discovered by @andreabenini ? |
Even worse, |
Had the same problem with Total Connect. See how we fixed it in the underlying package at craigjmidwinter/total-connect-client#196 |
This is an issue that would need fixing in the roombapy library. |
SSL changes are in the latest release of roombapy, and now working on getting that merged into home assistant. Hopefully we can be automatically vacuuming together soon! |
Had high hopes for the fix, but it still doesn't seem to have resolved the problem with my Roomba s9+! |
@MinimalMule what is the error you're getting? This fix fixed the legacy renegotiation error on my 600 series |
I know these log records look ridiculous, but all I'm getting is:
After some more digging I've managed to get it to spit out:
Still not happily connecting, I'm not sure why but the address it is quoting back at me there (XXX'd out) is the address of my homeassistant instance. I have two subnets, homeassistant has addresses in both of them. @Dilski I'm guessing my problem is something in my network and the issue was just coincidental! |
To debug, you can try and clone this project and run the scripts to discover roombas (from a machine in the same subnet as roomba) to rule out networking vs roomba device issues |
I confirm the updated library, with python 3.11, does not fix the problem |
would this be related to why im trying to setup a roomba s9 brand new today and getting "error cannot connect"? I successfully retrieved my blid and password, but for some reason the integration will not connect. |
@bobloadmire - certainly sounds like we're in the same boat! |
Would agree to re-open. |
@Dilski absolutely - will give running roombapy a go shortly, I'm running on HASSOS so a few of the debugging items are a bit trickier in that platform, but anything I can do in python world I'm happy to run from another machine? |
I can run whatever you want as long as it works on my rpi4 |
We can try! |
@Dilski I've tried to run roombapy on another machine - doesn't look happy:
Roomba is responding to a ping at that address, and roomba app control works fine Also just tried...
Nothing made a dent. Just in case there's commonality here - @bobloadmire and @ferdyvi - are either of you running ubiquiti networks? (just wondering if it could be some obscure ubiquiti thing - wouldn't be the first time) |
@MinimalMule I've got a branch here that enables debug logging for those scripts: Alternatively copy-paste this into what you've got checked out already and give it another go |
And just to check I'm not totally crazy:
|
@Dilski OK... So I'm left even more confused now! I just installed roombapy on a windows machine with python, and lo and behold, it connected first try! So I'm now left trying to chase down the differences between these machines, and the biggest one I can think of is that both my HASSOS install and the linux machine I was testing with are installed on a single Hyper-V hypervisor as Linux VMs, and maybe something is going wrong in the translation process there... Alternatively, it could be something that the linux firewall or some other part of the linux system is blocking. Will revert back if I work this junk out... |
Slightly more testing:
The Windows 11 machine, Debian machine, and homeassistant are all running in the same VLAN. I don't have a dedicated linux box but I'll see what I can scrounge together to test whether it's the Hyper-V platform that is giving me a problem. Any ideas of things I can check on the linux box I have to see why it isn't getting through would be great! Update:So, I ran Wireshark on the Linux machine, I can see UDP packets heading out from the machine, going to the correct address, and I can't see anything coming back... Going to try and delve deeper into the network and see if I can find the packets anywhere. Likely final update!So, after lots of digging - it seems like the UDP packets just can't escape the Hyper-V host. I have no idea why this problem is new, considering I was using my Roomba on this rig quite happily before. Also have no idea why it seems to only be impacting the Roomba extension. Seems like the quick and dirty thing is to just find another piece of hardware, put HA on that, and see if it wakes up happily in a non-virtualised state. @Dilski - thank you for all of your help, and sorry for the wild goose chase! |
So that hyper v issue shouldn't affect us ha users on rpi though right? Oh and no I'm not using ubiquity, have crappy consumer Linksys mesh system on wired backhaul |
@bobloadmire I can't see how it would... I would suggest that as per my insane rants above you do some similar testing - starting with the step of using a different machine with Python and attempting to connect. Certainly there were a bunch of different places where this could go wrong, and maybe you will have more luck that I did in the debugging stages, for me it was just total loss of communication (data not reaching destination). You might find that trying to monitor with Wireshark is a good bet as that is where I was able to confirm that no data was coming back. Unfortunately this one seems extremely sneaky! |
Ok I'll see what I can do, I should be able to run it on a WSL on a windows rig right? I saw this issue marked as closed so that's why I was asking. Doesn't seem solved. |
I wonder if you have some firewall/port blocking going on. From my understanding roombapy starts up a port and instructs roomba to connect to it. If roomba can't connect that may be a problem that's hard to debug (and yeah you may need to wireshark) |
I can put my rpi on a DMZ in the router settings and see if that clears it up |
@bobloadmire you can run it direct on windows - just download Python and use pip to install roombapy and away you go |
well - I'm happy to call this one closed, but for future people looking - I have confirmed that Homeassistant running as a VM on Hyper-V does not happily communicate over UDP, and this prevents the Roomba from working. I ended up installing HASSOS on bare metal and the Roomba plugin worked out of the box without a problem. Thanks @dilsk and @andreabenini for persevering with this one, it's certainly the oddest issue that I've had... |
Well now I'm scratching my head on why can't my rpi haos install connect to my S9? DMZing the rpi didn't help. "Error cannot connect" but HA discovers the s9snip automatically and everything looks fine |
The problem
My iRobot s9+ is no longer adding to home assistant. It had been working well previously but stopped (presumably with a firmware update), and I can no longer add it to home assistant.
It SOMETIMES auto detects, but when I try to add it goes into manual mode, and then if I enter the IP address I receive a fail to connect error.
I have factory reset the Roomba twice and deleted the home assistant integration, but I don’t get any meaningful error messages. I have also tried changing the IP address and moving the Roomba to a different subnet, all giving the same result. Thanks!
What version of Home Assistant Core has the issue?
2022.11.4
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
roomba
Link to integration documentation on our website
https://github.com/home-assistant/core/tree/dev/homeassistant/components/roomba
Diagnostics information
No response
Example YAML snippet
No response
Anything in the logs that might be useful for us?
No response
Additional information
No response
The text was updated successfully, but these errors were encountered: