core icon indicating copy to clipboard operation
core copied to clipboard

iRobot Roomba and Braava Integration doesn't work after update to 2024.2.3

Open HaraldGithub opened this issue 1 year ago • 58 comments

The problem

After Updating via terminal from 2024.2.2 to 2024.2.3 "iRobot Roomba and Braava"-Integration doesn't work any longer. All devices and entoties are unavailable. Reload integration and restart HA with hardware doesn't help

I'm back to 2024.2.2 an "iRobot Roomba and Braava"-Integration works again.

What version of Home Assistant Core has the issue?

2024.2.3

What was the last working version of Home Assistant Core?

2024.2.2

What type of installation are you running?

Home Assistant Supervised

Integration causing the issue

iRobot Roomba and Braava

Link to integration documentation on our website

No response

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

HaraldGithub avatar Feb 23 '24 16:02 HaraldGithub

This is also happening for me PR https://github.com/home-assistant/core/pull/110762 was supposed to fix this, but it seems like it didn't

shwarnock avatar Feb 23 '24 18:02 shwarnock

For me it is failing on the manually configuration. I generate the password using the steps outlined on https://github.com/koalazak/dorita980, but when I submit in HA, it says Unknown error occurred

shwarnock avatar Feb 23 '24 18:02 shwarnock

I'm seeing failures after the update to 2024.2.3 too. There are a few tracebacks in the log:

2024-02-23 11:21:29.867 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Braava jet for roomba
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/roomba/__init__.py", line 40, in async_setup_entry
    roomba = await hass.async_add_executor_job(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 14, in create_roomba
    remote_client = RoombaFactory._create_remote_client(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 21, in _create_remote_client
    return RoombaRemoteClient(address=address, blid=blid, password=password)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 44, in __init__
    self.mqtt_client = self._get_mqtt_client()
                       ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 103, in _get_mqtt_client
    callback_api_version=mqtt.CallbackAPIVersion.VERSION1,
                         ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'paho.mqtt.client' has no attribute 'CallbackAPIVersion'
2024-02-23 11:21:29.910 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Zelda for roomba
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/roomba/__init__.py", line 40, in async_setup_entry
    roomba = await hass.async_add_executor_job(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 14, in create_roomba
    remote_client = RoombaFactory._create_remote_client(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 21, in _create_remote_client
    return RoombaRemoteClient(address=address, blid=blid, password=password)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 44, in __init__
    self.mqtt_client = self._get_mqtt_client()
                       ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 103, in _get_mqtt_client
    callback_api_version=mqtt.CallbackAPIVersion.VERSION1,
                         ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'paho.mqtt.client' has no attribute 'CallbackAPIVersion'
2024-02-23 11:24:46.553 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Braava jet for roomba
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/roomba/__init__.py", line 40, in async_setup_entry
    roomba = await hass.async_add_executor_job(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 14, in create_roomba
    remote_client = RoombaFactory._create_remote_client(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 21, in _create_remote_client
    return RoombaRemoteClient(address=address, blid=blid, password=password)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 44, in __init__
    self.mqtt_client = self._get_mqtt_client()
                       ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 103, in _get_mqtt_client
    callback_api_version=mqtt.CallbackAPIVersion.VERSION1,
                         ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'paho.mqtt.client' has no attribute 'CallbackAPIVersion'
2024-02-23 11:24:54.067 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Zelda for roomba
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/roomba/__init__.py", line 40, in async_setup_entry
    roomba = await hass.async_add_executor_job(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 14, in create_roomba
    remote_client = RoombaFactory._create_remote_client(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 21, in _create_remote_client
    return RoombaRemoteClient(address=address, blid=blid, password=password)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 44, in __init__
    self.mqtt_client = self._get_mqtt_client()
                       ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 103, in _get_mqtt_client
    callback_api_version=mqtt.CallbackAPIVersion.VERSION1,
                         ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'paho.mqtt.client' has no attribute 'CallbackAPIVersion'
2024-02-23 11:25:43.974 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Braava jet for roomba
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup
    result = await component.async_setup_entry(hass, self)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/components/roomba/__init__.py", line 40, in async_setup_entry
    roomba = await hass.async_add_executor_job(
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 14, in create_roomba
    remote_client = RoombaFactory._create_remote_client(
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 21, in _create_remote_client
    return RoombaRemoteClient(address=address, blid=blid, password=password)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 44, in __init__
    self.mqtt_client = self._get_mqtt_client()
                       ^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 103, in _get_mqtt_client
    callback_api_version=mqtt.CallbackAPIVersion.VERSION1,
                         ^^^^^^^^^^^^^^^^^^^^^^^
AttributeError: module 'paho.mqtt.client' has no attribute 'CallbackAPIVersion'

stellarhopper avatar Feb 23 '24 18:02 stellarhopper

Same. Reverted back to 2024.2.2 and Roomba resumed working. So definitely something in this release.

mikesalz avatar Feb 23 '24 19:02 mikesalz

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)

home-assistant[bot] avatar Feb 23 '24 19:02 home-assistant[bot]

So this is now fixed, but its not included in the patch release. Since there won't be anymore patch releases this month because the beta starts Wednesday, the easiest is to rollback to 2024.2.2. Or to wait till the first week of march.

joostlek avatar Feb 23 '24 19:02 joostlek

So this is now fixed, but its not included in the patch release. Since there won't be anymore patch releases this month because the beta starts Wednesday, the easiest is to rollback to 2024.2.2. Or to wait till the first week of march.

@joostlek Is it possible to manually install the updated/corrected roomba.py? There was a SwitchBot integration that broke like this but you could just download the fixed .py until the official one was released like this here.

aarnaegg avatar Feb 23 '24 19:02 aarnaegg

Euh, yes there is, but if i advertise it here, a lot of people will do it and then we get a lot of issues the moment they forget to remove the custom component and forgot they even installed that fix.

So yes there is :)

If there isn't anything in 2024.2.3 that fixes an issue you have, I'd rather have you rollback to 2024.2.2 instead of trying to patch it.

joostlek avatar Feb 23 '24 19:02 joostlek

Understood. I'll just wait till 2024.3. Will the update also fix the issue with the newer roombas (ex. Roomba j9+) not working at all?

aarnaegg avatar Feb 23 '24 19:02 aarnaegg

There really ought to be a way to push out a hotfix for something like this which seems to be breaking everyone, instead of asking all users of the integration to just wait ~2 weeks

stellarhopper avatar Feb 23 '24 19:02 stellarhopper

I mean this is an issue that only came to light on a production machine, not on our development machines.

The users who are affected have both Roomba and mqtt installed. And they should have upgraded to 2024.2.3. Roomba only has 8k active installations which isn't particularly a lot. We have done hotfixes because of integrations before, but that was for ZHA, hue or Shelly, which has waaaay more users.

Tldr, the amount of people who are affected isn't enough to issue a hotfix for the whole of core.

joostlek avatar Feb 23 '24 20:02 joostlek

Some of us lost Roomba function in all versions of 2023.02.xx. So i guess fallback to 2023.01.x is the solution then. Was really hoping 2023.02.03 to be the fix for roomba.

banditdk avatar Feb 23 '24 20:02 banditdk

Maybe revert to 2024.2.2 and then run ha core rebuild

joostlek avatar Feb 23 '24 20:02 joostlek

I'm hitting this issue as well. Would folks recommend restoring a backup or downgrading via terminal (e.g. running ha core update --version 2024.2.2)?

MasterDevwi avatar Feb 23 '24 20:02 MasterDevwi

Same problem here, after update it broke. "Failed to load"

It breaks more often after an update and then I just add the thing again. But this time I add it, klik the submit button. But adding seems to fail beause no entities are bing added and "integration failed to setup".

Log says:

Logger: homeassistant.config_entries Source: config_entries.py:444 First occurred: 21:38:26 (3 occurrences) Last logged: 22:03:27

Error setting up entry Roomba for roomba Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 444, in async_setup result = await component.async_setup_entry(hass, self) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/src/homeassistant/homeassistant/components/roomba/init.py", line 40, in async_setup_entry roomba = await hass.async_add_executor_job( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/concurrent/futures/thread.py", line 58, in run result = self.fn(*self.args, **self.kwargs) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 14, in create_roomba remote_client = RoombaFactory._create_remote_client( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/roombapy/roomba_factory.py", line 21, in _create_remote_client return RoombaRemoteClient(address=address, blid=blid, password=password) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 44, in init self.mqtt_client = self._get_mqtt_client() ^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/local/lib/python3.12/site-packages/roombapy/remote_client.py", line 103, in _get_mqtt_client callback_api_version=mqtt.CallbackAPIVersion.VERSION1, ^^^^^^^^^^^^^^^^^^^^^^^ AttributeError: module 'paho.mqtt.client' has no attribute 'CallbackAPIVersion'

ghost avatar Feb 23 '24 21:02 ghost

I concur with the commits above, 2024.2.3 HA core update broke the Roomba integration. Rolled back to 2024.2.2, Roomba works.

craigccfl avatar Feb 23 '24 21:02 craigccfl

Same here

frontside76 avatar Feb 23 '24 21:02 frontside76

I couldn't add the robot in 2024.2.2 nor in 2024.2.3 I guess I'm stuck till March

giovannipinna1 avatar Feb 23 '24 21:02 giovannipinna1

Damn well I justed wasted like an hour of faffing with trying to connect mine.. I should really check git more often 😅

I cannot add a new device. It states there are no devices discovers and then when I manually add the IP address in it just said 'Unkown error' but I could not find the log to know what the error was..

J-shw avatar Feb 23 '24 21:02 J-shw

well, glad it's not only me 😅

mguilherme avatar Feb 23 '24 22:02 mguilherme

manually bumping it to 1.6.13 fixed for me. I guess it was not included in the release.

https://github.com/home-assistant/core/pull/111187

gkwok1 avatar Feb 23 '24 22:02 gkwok1

manually bumping it to 1.6.13 fixed for me. I guess it was not included in the release.

#111187

Same here, adding robot and controlling it now works

giovannipinna1 avatar Feb 23 '24 23:02 giovannipinna1

How are you manually bumping it? Custom deps deployment then putting roombapy==1.6.13 in pypi?

aarnaegg avatar Feb 24 '24 00:02 aarnaegg

How are you manually bumping it? Custom deps deployment then putting roombapy==1.6.13 in pypi?

Wanna know too

frontside76 avatar Feb 24 '24 05:02 frontside76

I'm hitting this issue as well. Would folks recommend restoring a backup or downgrading via terminal (e.g. running ha core update --version 2024.2.2)?

I downgraded via terminal, with that code, and it worked for me. Restoring a backup always loses any energy data for the last day, so I try to avoid it if possible.

malrogers7 avatar Feb 24 '24 08:02 malrogers7

Putting the backup back broke my iBeacons, they are all not detected anymore. And the Skyconnect says all my devices report unknown values. Managed repair the zigbee devices withs sky connect but iBeacon is completely fucked, removing adding nothing works anymore aaagh :(

ghost avatar Feb 24 '24 09:02 ghost

I'm just going to wait a few weeks for the fix, it's just a Roomba 😎. Yes , could roll back again and rebuild, but I'd lose some other changes I made to the FE that I really don't want to edit my .yaml (s) again or hassel with the Lovelace files. It's not that big a deal. The wife won't even notice it's offline as long as everything else works, e.g., motion sensors, lights, weather station, buttons, etc. Appreciate all the work done on HA; thank you.

craigccfl avatar Feb 24 '24 09:02 craigccfl

tldr as also mentioned in #111030 thread; first add the roomba integration with version 2024.2.3 and then downgrade to 2024.2.2

Just fyi this might be a solution for anyone who wants to get it working again. I didnt know about the update breaking roomba so I first removed the integration. When I tried to add roomba again, it of course still didn't work (hadn't read this thread yet). So I removed the integration again and downgraded to 2024.2.2 with ha core update --version 2024.2.2 (terminal and ssh add-on). When I tried to re-add roomba it gave me another error about not being able to add it.

So.... I got it working again by updating to 2024.2.3 again, adding roomba and downgrading to 2024.2.2 again with said command.

alebr001 avatar Feb 24 '24 14:02 alebr001

How are you manually bumping it? Custom deps deployment then putting roombapy==1.6.13 in pypi?

Download 1.6.13, place the roombapy folder from inside the zip in HA's /config, restart HA.

Here is the link to 1.6.13 https://github.com/pschmitt/roombapy/archive/refs/tags/1.6.13.zip

Once 1.6.13 is merged into HA releases (hopefully in 2024.3), you can delete the folder

gkwok1 avatar Feb 24 '24 14:02 gkwok1

I confirm I have the same issue.

jprokopowich avatar Feb 24 '24 18:02 jprokopowich