iRobot Roomba Init

If I want to add my iRobot Roomba I get always “Unknown error occurred”.

image

Can anybody help?

Log infos:

Logger: aiohttp.server
Source: /usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py:421
First occurred: 17:40:36 (25 occurrences)
Last logged: 17:48:32

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_protocol.py", line 452, in _handle_request
    resp = await request_handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_app.py", line 543, in _handle
    resp = await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/aiohttp/web_middlewares.py", line 114, in impl
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 91, in security_filter_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/forwarded.py", line 227, in forwarded_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 28, in request_context_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 80, in ban_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 235, in auth_middleware
    return await handler(request)
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/headers.py", line 31, in headers_middleware
    response = await handler(request)
               ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 149, in handle
    result = await handler(request, **request.match_info)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/decorators.py", line 72, in with_admin
    return await func(self, request, *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 185, in post
    return await super().post(request, flow_id)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 72, in wrapper
    result = await method(view, request, data, *args, **kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 110, in post
    result = await self._flow_mgr.async_configure(flow_id, data)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 358, in async_configure
    result = await self._async_configure(flow_id, user_input)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 404, in _async_configure
    result = await self._async_handle_step(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 501, in _async_handle_step
    result: FlowResult = await getattr(flow, method)(user_input)
                         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/roomba/config_flow.py", line 230, in async_step_link
    roomba_pw = RoombaPassword(self.host)
                ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/getpassword.py", line 21, in __init__
    self.server_socket = _get_socket()
                         ^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/getpassword.py", line 81, in _get_socket
    ssl_socket = ssl.wrap_socket(
                 ^^^^^^^^^^^^^^^
AttributeError: module 'ssl' has no attribute 'wrap_socket'
3 Likes

This issue exist because ssl.wrap_socket() function, deprecated. Need to ask author of library to fix it. Or may be exist other ways, but I don’t know anything about it.
I create issue on github (In current version HA couldn't connect to roomba. · Issue #223 · pschmitt/roombapy · GitHub) I think if many people write about this problem it will be fixed very soon.

2 Likes

Maybe this will help:

Irobot Roomba I5+ – Integration does not accept password - Home Assistant Community (home-assistant.io)

In essence: don’t press and hold the button(s) and wait for the beep - just press “home” briefly and release

If it does work please let me know - it will make me feel less of a fool :slight_smile:

Thanks for creating an issue on GitHub.
So let’s wait.

Will try, but I think I have a different problem and it should not work with a simple press instead of hold the button.

1 Like

Same problem here with one of two Roomba 980. Still waiting for a fix.

im getting the same issue, i used to have trouble getting the password for one of my roombas, i finally figured that out, where i would enter it in myself, now both vacums whenever i click submit i get unknown error occurred.
let me know if you have found a fix to this

Getting the same error with my new Roomba J7+ on the latest februari release.
Found the password through a HTTPS sniffer, but no option for manual entry.

Same issue here. Using a Rooma 966.

Gave that here a try on my new Roomba J7+
1 press
2sec press
10 sec press with jingle

But no go …

1 Like

Thanks for the feedback - it seems this is definitely a different problem then.

I am having the same issue, even if I get the password, I have no place input it.

2 Likes

Same “unknown error” with J7 here.
I have recovered login details but no way to make it work.
I have also tried to make an hard reset of the device as I read it somewhere but it didn’t help

New to HA and ran into this as well. It looks like the fix is straight forward and has been committed to the roombapy repo. It looks like anything after 1.6.10 should have the fix in it.

How does this come into HA? Do I need to manually enter the docker container and pip3 upgrade roombapy? Or will there be an update to HA that will bring this in soon?

I am wondering the same thing. I’m running HA through HAOS so a manual install is kind of hard.

1 Like

Thats the same as me. I managed to get my cloud password, but when trying to enter it there was no area to enter it and an unkown error. When looking at the logs I saw the SSL error - J7 here

Fixed in roombapy 1.6.12, hope in a next few days it will land in 2024.2.3.

6 Likes

With 2024.2.3 I don‘t even get to the point where I am asked to retrieve the password (Roomba j7).

It gets stuck at “manually connect the device”.

No iRobot app is running, nothing in the logs.

I updated to 2024.2.3, now It is able to retrieve the password again, but can’t setup the entity due to a new error.

AttributeError: module 'paho.mqtt.client' has no attribute 'CallbackAPIVersion'

After upgrade to 2024.2.3 the integration comes directly with a manual add screen after detecting my Roomba J7. I have the correct password and username, but only a password input field popups. After entering the password “ unknown error occured” and nothing in the logs.