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
69.94k stars 29.03k forks source link

Roomba Combo vacuum cleaner is found but the Status attribute is no longer availableand the Lovelace custom card is blank #111639

Open esdcmc opened 4 months ago

esdcmc commented 4 months ago

The problem

My Roomba combo was integrated without issues up to and including core 2024.2.2, it disappeared in 2024.2.3 (for a known issue that is now closed in 2024.2.4), it is found again in 2024.2.4 but not completely. The status attribute, which should be showing 'charging' when docked, now shows 'nul' and the custom vacuum card in lovelace is blank This is the situation 2024.2.2 roomba combo 1 roomba combo 2

this is the situation with 2024.2.4 roomba combo 3 roomba combo 4

FYI I need the status: charging for a logic of mine in Node-red

What version of Home Assistant Core has the issue?

2024.2.4

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

joostlek commented 4 months ago

Sounds like an issue for the frontend repository. Please raise it here

joostlek commented 4 months ago

Wait, never mind, the vacuum looks strange. Can you turn on debug logging

esdcmc commented 4 months ago

Good question: how?

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

Orhideous commented 4 months ago

Good question: how?

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

logger:
  default: info
  logs:
    roombapy: debug
    homeassistant.components.roomba: debug
esdcmc commented 4 months ago

Ok, will have to return to 2024.2.4 (I had restored back to 2024.2.2), so it will take me 30'.

Orhideous commented 4 months ago

There is possible case with an incorrect (actually, correct, but unknown for library) state in which the robot may be. There must be something in the logs.

esdcmc commented 4 months ago

ok here are the developer tools YAML fields from 2024.2.2 roomba combo 5

here are the same fields from 2024.2.4 roomba combo 6

and here is the roomba lines from the log of 2024.2.4 home-assistant.log roomba sections.txt

unfortunately I don't have the equivalent log for 2024.2.2: do you need it?

esdcmc commented 4 months ago

Just noted: the thing that leads to confusion is that the vacuum mask calls 'status' what is actually defined as 'state' in developer tools, while the actual field 'Status' in dev tools is a 'state attribute'

Orhideous commented 4 months ago

@esdcmc

unfortunately I don't have the equivalent log for 2024.2.2: do you need it?

I don't think it's necessary.

By the way, is it possible to run couple of tests and get logs for each?

  1. Remove the robot from the charging station and place it there.
  2. Start the cleaning and then, after a minute or two, stop it and send roomba back to the base?

I think I have an idea of what's wrong.

esdcmc commented 4 months ago

here is the log after

home-assistant after 2 min cleaning.log

Orhideous commented 4 months ago

@esdcmc Thanks. I'll look into it.

esdcmc commented 4 months ago

I was hoping for an improvement or a fix in 2024.2.5 but, when I tried, I actually experienced worse. The robot is no longer found with the log complaining about a py file in a Python 312 directory (sorry I didn't save that log and now I am back to 2024.2.2). I hope it makes sense to you. Surely unrelated I also found for another vacuum that works through MQTT (a Valetudo firmware) that the 'schema option is deprecated': God only knows what that means

esdcmc commented 3 months ago

Update after test with core 2024.3.1 (supervisor 2024.03.0) The Roomba Combo is now found again (I read the fix was introduced by supervisor update) and the lovelace card now shows the robot again by displaying the state 'docked' instead of the status 'charging' As a matter of fact the status still shows 'null' in the corresponding developer tools' case

Did you determine why the status 'charging' no longer shows? is it because it's not a message from the robot but rather a message from the docking station?

Thanks Enrico

kenwiens commented 2 months ago

Following this thread as I also have also lost the status information on all 4 of my roomba vacuums. All 4 are different models - so it doesn't appear to be model specific.

image

kenwiens commented 2 months ago

I'm curious about the state of the "Status not available" issue. Has this been identified as an issue that will be resolved at some point?

thx, Ken

esdcmc commented 2 months ago

no update from Orhideous since February: he's probably busy on something else and this is just a hobby. Since it's free of charge for us, we can't really complain while patiently waiting.

I just hope nobody closes this post, thinking that the issue has been addressed.

My theory (as a wrote above) is that the status doesn't really come from the robot but rather from the base (I may well be wrong)

Personally I use that status 'charging' to confirm that the robot has docked properly (sometimes it bounces back from the base and lose electrical contacts): when it doesn't, I make NodeRed send my a message to check on the robot (most often it just needs to cycle a start soon followed by a return to dock command to redock properly).

In the absence of such notice, nobody tells me that the robot is properly charging and I only realise it when I try to hoover again and find the robot off line because out of battery.

True I could monitor battery status and send me a message when below a certain threshold but for now, I am waiting for a fix while still running core version 2024.2.2 (last one where the chargins state was available)

kenwiens commented 2 months ago

no update from Orhideous since February: he's probably busy on something else and this is just a hobby. Since it's free of charge for us, we can't really complain while patiently waiting.

Absolutely!

Agreed, and anything the authors of integrations like this provide makes my home a better place! If Orhideous is working on it great! If he has moved on and this isn't going to be addressed, then I'll happily look at modifying my automations etc to not have this data. It would just be nice to have a sense on where this one is going. I do like the status information, I find it very useful in understanding the state of my romba's - and I also use it in alerts and self-repairing automations. If it is gone permanently then I'll look for another way to address my use case, and continue to appreciate everything that this integration does give me already!

I needed to upgrade my core for other features it provided, so staying on the 2024.2.2 wasn't an option for me.