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
72.8k stars 30.5k forks source link

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

Closed HaraldGithub closed 8 months ago

HaraldGithub commented 8 months ago

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

shwarnock commented 8 months ago

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

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

stellarhopper commented 8 months ago

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'
mikesalz commented 8 months ago

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

home-assistant[bot] commented 8 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)

joostlek commented 8 months ago

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.

aarnaegg commented 8 months ago

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.

joostlek commented 8 months ago

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.

aarnaegg commented 8 months ago

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?

stellarhopper commented 8 months ago

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

joostlek commented 8 months ago

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.

banditdk commented 8 months ago

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.

joostlek commented 8 months ago

Maybe revert to 2024.2.2 and then run ha core rebuild

MasterDevwi commented 8 months ago

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

ghost commented 8 months ago

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'

craigccfl commented 8 months ago

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

frontside76 commented 8 months ago

Same here

giovannipinna1 commented 8 months ago

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

J-shw commented 8 months ago

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..

mguilherme commented 8 months ago

well, glad it's not only me 😅

gkwok1 commented 8 months ago

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

giovannipinna1 commented 8 months ago

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

aarnaegg commented 8 months ago

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

frontside76 commented 8 months ago

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

Wanna know too

malrogers7 commented 8 months ago

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.

ghost commented 8 months ago

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 :(

craigccfl commented 8 months ago

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.

alebr001 commented 8 months ago

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.

gkwok1 commented 8 months ago

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

jprokopowich commented 8 months ago

I confirm I have the same issue.

DeFlanko commented 8 months ago

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.

This has to be the wildest response to an actual functionality breaking issue especially since you know how to fix it -- sounds like it could be a quick win for everyone.

quasistoic commented 8 months ago

I went through the rigmarole to restore back to a pre-update version, but lost a day’s worth of data and configuration changes I had made since the update. I don’t think most users should have to go through that, and I would concur with those saying a hotfix is warranted.

jurgenweber commented 8 months ago

Are we sure 1.6.13 is a fix? I added into my Dockefile which just a few things I added on core.

pip install roombapy==1.6.13

I can see it when I run pip freeze;

roombapy==1.6.13

but I am still getting errors

2024-02-25 16:37:43.422 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Terrance 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'

and it fails to setup in the UI.. or does HASS in the core image/container not use standard pip locations/something/something. A venv I need to switch to?

gkwok1 commented 8 months ago

Did you restart HA after updating to 1.6.13? Looks like it's still running the old version.

On Sat, Feb 24, 2024, 23:39 Jürgen W @.***> wrote:

Are we sure 1.6.13 is a fix? I added into my Dockefile which just a few things I added on core.

pip install roombapy==1.6.13

I can see it when I run pip freeze;

roombapy==1.6.13

but I am still getting errors

2024-02-25 16:37:43.422 ERROR (MainThread) [homeassistant.config_entries] Error setting up entry Terrance 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'

and it fails to setup in the UI

— Reply to this email directly, view it on GitHub https://github.com/home-assistant/core/issues/111210#issuecomment-1962821408, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMLG6RCCNBTOUEIZKM2SE2TYVLFB5AVCNFSM6AAAAABDW7RRMOVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNRSHAZDCNBQHA . You are receiving this because you commented.Message ID: @.***>

jurgenweber commented 8 months ago

Yea. I did restart.

tom3q commented 8 months ago

It looks like HA automatically downgrades roomapy to 1.6.12 whenever it starts. Does anyone know if there is a way to bypass that?

tom3q commented 8 months ago

It looks like HA automatically downgrades roomapy to 1.6.12 whenever it starts. Does anyone know if there is a way to bypass that?

Okay, I was able to make it use 1.6.13 by manually editing homeassistant/components/roomba/manifest.json in my HA installation.

jurgenweber commented 8 months ago

It looks like HA automatically downgrades roomapy to 1.6.12 whenever it starts. Does anyone know if there is a way to bypass that?

Yeah, I was suspecting something like this because I found it at v12 again and I am going down another rabbit hole atm. :)

jurgenweber commented 8 months ago

Yeah, so in the end I had to

RUN sed -i 's/1.6.12/1.6.13/g' /usr/src/homeassistant/homeassistant/components/roomba/manifest.json && pip install roombapy==1.6.13

to ensure it kept the version at 13, works now. This should work for anyone running core themselves in docker.

ghost commented 8 months ago

I find it somewhat disturbing news to hear that if there are not that many users you don’t get a hotfix.

I mean when you carefully buy quality electronics like Bosch, Hue, Panasonic, Apple, iRobot… because of it’s (waf) quality of life, and better for the environment, better security updates…you essentially got punished not being important. While these big brands essentially will have the longest life.

So we need to buy cheap insecure stuff like tuya, Samsung, Xiomi, lg etc. because everybody has this stuff, to be important.

I find it not a wise decision for the HA brand. I think quality should go above quantity. Mayor brands should also do get the hotfixes.

HaraldGithub commented 8 months ago

I find it somewhat disturbing news to hear that if there are not that many users you don’t get a hotfix. I mean when you carefully buy quality electronics like Bosch, Hue, Panasonic, Apple, iRobot… because of it’s (waf) quality of life, and better for the environment, better security updates…you essentially got punished not being important. While these big brands essentially will have the longest life. So we need to buy cheap insecure stuff like tuya, Samsung, Xiomi, lg etc. because everybody has this stuff, to be important. I find it not a wise decision for the HA brand. I think quality should go above quantity. Mayor brands should also do get the hotfixes.

I totally agree! In January there have been several HA-Updates within 2 or 3 day's and in February the update/fix is postponed with the argument, that March-beta will start on Wednesday! I can't believe this, especially therefor, that the fix is available but HA/NabuCasa-Staff has forgotten to implement it!!

Aliskin-Papa commented 8 months ago

Its full shit... Same here.

Aliskin-Papa commented 8 months ago

Not full list broken in the february update:

  1. 20242.1 - HA not start (dataplisity)
  2. 2024.2.1 - Processor use not show
  3. 2024.2.3 - iRobot not work Your take in your team man with brocken-hand????
mediacutlet commented 8 months ago

No hotfix? Fine. But things like this will eventually erode the community's confidence in keeping up to date with the latest version. It seems like the HA/Nabu crew want people to upgrade as each release is made public and do so quickly. They show rate of adoption graphs and praise those that upgrade early. Breaking issues like this and refusal to push a fix will cuase more and more users to hesitate before updating. Perhaps its prudent to stay a version behind, but that goes against the mantra Paulus and the team currently adorn toward upgrading. I was always quick to adopt new versions but this issue casts a very long shadow of doubt and I'll be staying on at least one or two versions behind the bleeding edge from now on.

joostlek commented 8 months ago

I mean, we're all human after all. Mistakes happen and we're doing our best to fix them. I've talked to some other people around the roomba integration and we've learnt our lesson here to not have this caused again.

If we'd do a hotfix for every integration that has a regression we'd be at countless releases every month.

People are on holiday and most of the people who can create hotfix releases aren't working. I tried to be transparent and temper expectations and all I got was a discussion about people who think they're entitled for a hotfix release because their product is expensive.

I am also suffering from this issue myself and I also don't like that this happens. But that's why I try to be transparent so you know what you can expect.

Sorry for ruining your weekend and I'm sad to see people from the community rage out because we're doing what we can.

We might be trying something, but I can't promise when that lands.

lanyar commented 8 months ago

It's all good... it's just a sub-par vacuum in this case. I appreciate you all for the effort and work put in to make HA great. My Roomba is noisy and annoying anyway so this will be a nice quiet break :)

aarnaegg commented 8 months ago

I just appreciate the plug-in being updated after what seemed almost a year with no updates... So thank you @joostlek & @Orhideous!

lchavezcuu commented 8 months ago

This is just a vacuum, just wait for the fix, also there are other options you can use in the meantime to use the robot, the official app or even the physical buttons, I do think people are overreacting, there is no guarantee nowhere these integrations will work 100% of the time, accept that and move on 😄

home assistant team, you are doing great and we appreciate your hard work and transparency

kylehakala commented 8 months ago

No hotfix? Fine. […] Breaking issues like this and refusal to push a fix will cuase more and more users to hesitate before updating. Perhaps it’s prudent to stay a version behind, […] I'll be staying on at least one or two versions behind the bleeding edge from now on.

For any critical software in your daily operations, I am surprised you aren’t already holding off until you confirm releases aren’t carrying detrimental bugs. With software that is essential in such a capacity where it can’t be unavailable for a week or two, I’d suggest setting up your own testing environment with another identical home-assistant setup and probably an additional Roomba dedicated to testing; stand up several layers of redundant backups of your docker images, configs, data, volumes/filesysyems, probably across multiple geographic sites for added redundancy in the case you need to fall back onto older versions during disaster recovery. /s

@mediacutlet, @HAuser2019 — I don’t mean this in any attacking way or demeaning way. But I want to help illustrate why this isn’t getting fixed at the rate you’re hoping for, and why that expectation might be rooted with some unfair assumptions about the developers giving their time to this project. I hope you’ll roll with me here.

All exaggeration of those practices aside (though for real, backup your stuff fully before updating, that’s always good practice), when investing time into Home Assistant and also updating continuously, it’s not too much out of line to say there ought to be a certain amount of risk-acceptance and tinkering-ability if things don’t always work as intended.

When relying on software that is 100% free to use in perpetuity, it should go without noting that it’s free usage comes with inherent compromises: you’re not paying anyone to work on or maintain the reliability of that software. That piece of software might not even run in your current setup; your OS and hardware might be fine, but even something so innocent as updating your WiFi password could render part of [any piece of] your setup unusable (looking at you SimpliSafe Camera 😒…)

The iRobot app is still very much functional. Our expensive robots are expensive not because the HA community found ways to integrate with them, but because the vendor (iRobot) set the price and we all agreed that it was worth it at the time.

I love a good analogy so humor me here (even if for others’ benefit who might not have considered this). You have a walking trail with a little garden alongside it that you like to meander through every day. There is little ground to stand on when volunteers aren’t maintaining that garden in the way you want. It’s communal land, but the state/government doesn’t pay for the gardens to be maintained, it was just a community thing. If the garden is so important to your daily routine, and you’re not able to do the gardening yourself, you’ll need to make a decision:

  1. You can try to convince others to volunteer to help more, or find ways that you can help support the gardeners even if you can’t garden yourself.
  2. You can hire a private gardener to do a bunch of gardening for you, but they’ll still need to work together with others in the community since it’s still public land and a community garden.
  3. You can choose to find a different place to walk, such as paying a monthly membership fee to visit the local conservatory or arboretum where you can have more of a say on what you’d like to see (assuming they interpret your dollars spent as having some kind of sway on how they run the property).
  4. You can look around for another open-access trail/path with a different community of gardeners. Still free, but not the original ecosystem/biome/climate you wanted to walk in.

Having one of the (wonderful) devs who helps maintain this particular code kindly offering up info on a timeline for fixing the problem is more engagement and effective support than what you agreed to when you started using the tool. And that is most often how free things work.

Yeah. It’s a bummer that my roomba is temporarily not vacuuming the rug in front of my cats’ litter box every Nth time they poop. But I can still go and use the app that came with the robot (as much as I dislike it nowadays) and I’ll get by.

Orhideous commented 8 months ago

The special irony is that I've borked my own Roombas with the code I released and I'm just waiting for a next release.