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
73.56k stars 30.74k forks source link

Litter Robot not seen after firmware update #95018

Closed maxiedaniels closed 1 year ago

maxiedaniels commented 1 year ago

The problem

I installed the Litter Robot integration (latest version of HA docker) and all went well, LR4 was seen straight away. Then I saw a notification that the LR4 has a firmware update, so I opened the Whisker app and did the update there. Update finished, LR4 restarted, it's fully working via the Whisker app. However, the HA integration can't see the device anymore. edit Sorry, I should clarify - the device shows in HA, but it's clearly not getting any new data.

I've restarted HA but it doesn't fix the issue. I've tried going into the Litter Robot integration to remove and re-add it, but it has a custom interface with the Litter Robot logo and I can't find any option to remove the integration. I also enabled debug logging on the LR4 integration page, and I've pasted the log below... weird part is, it seems to get responses from the API fine, so maybe it's a bug where it's just not updating?

What version of Home Assistant Core has the issue?

Home Assistant 2023.6.2

What was the last working version of Home Assistant Core?

Home Assistant 2023.6.2

What type of installation are you running?

Home Assistant Container

Integration causing the issue

litterrobot

Link to integration documentation on our website

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

Diagnostics information

No response

Example YAML snippet

No response

Anything in the logs that might be useful for us?

2023-06-21 21:59:16.173 DEBUG (MainThread) [pylitterbot.session] Making POST request to https://lr4.iothings.site/graphql
2023-06-21 21:59:16.366 DEBUG (MainThread) [pylitterbot.session] Received 200 response: {'data': {'getLitterRobot4BySerial': {'unitId': '**REDACTED**', 'name': 'LR4', 'serial': '**REDACTED**', 'userId': '**REDACTED**', 'espFirmware': '1.1.66', 'picFirmwareVersion': '10500.3072.2.84', 'picFirmwareVersionHex': '2904.C00.254 (Production)', 'laserBoardFirmwareVersion': '5.0.1.1', 'laserBoardFirmwareVersionHex': '5.0.11 (Production)', 'wifiRssi': -50.0, 'unitPowerType': 'AC', 'catWeight': 11.95, 'displayCode': 'DC_MODE_IDLE', 'unitTimezone': 'America/Los_Angeles', 'unitTime': None, 'cleanCycleWaitTime': 7, 'isKeypadLockout': False, 'nightLightMode': 'AUTO', 'nightLightBrightness': 100, 'isPanelSleepMode': False, 'panelSleepTime': 0, 'panelWakeTime': 0, 'weekdaySleepModeEnabled': {'Sunday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Monday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Tuesday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Wednesday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Thursday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Friday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Saturday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}}, 'unitPowerStatus': 'ON', 'sleepStatus': 'WAKE', 'robotStatus': 'ROBOT_IDLE', 'globeMotorFaultStatus': 'FAULT_CLEAR', 'pinchStatus': 'CLEAR', 'catDetect': 'CAT_DETECT_CLEAR', 'isBonnetRemoved': False, 'isNightLightLEDOn': True, 'odometerPowerCycles': 39, 'odometerCleanCycles': 579, 'panelBrightnessHigh': 0, 'panelBrightnessLow': 0, 'smartWeightEnabled': True, 'odometerEmptyCycles': 3, 'odometerFilterCycles': 0, 'isDFIResetPending': False, 'DFINumberOfCycles': 11, 'DFILevelPercent': 26, 'isDFIFull': False, 'DFIFullCounter': 0, 'DFITriggerCount': 0, 'litterLevel': 454, 'DFILevelMM': 37, 'isCatDetectPending': False, 'globeMotorRetractFaultStatus': 'FAULT_CLEAR', 'robotCycleStatus': 'CYCLE_IDLE', 'robotCycleState': 'CYCLE_STATE_WAIT_ON', 'weightSensor': 0.9, 'isOnline': True, 'isOnboarded': True, 'isProvisioned': True, 'isDebugModeActive': False, 'lastSeen': '2023-06-21T21:04:18.217Z', 'sessionId': '**REDACTED**', 'setupDateTime': '2023-01-14T18:36:42.085Z', 'isFirmwareUpdateTriggered': False, 'firmwareUpdateStatus': 'PICTRIGGERED', 'wifiModeStatus': 'ROUTER_CONNECTED', 'isUSBPowerOn': True, 'USBFaultStatus': 'CLEAR', 'isDFIPartialFull': False, 'isLaserDirty': False}}}
2023-06-21 21:59:16.375 DEBUG (MainThread) [homeassistant.components.litterrobot.hub] Finished fetching litterrobot data in 0.202 seconds (success: True)

Additional information

No response

home-assistant[bot] commented 1 year ago

Hey there @natekspencer, @tkdrob, mind taking a look at this issue as it has been labeled with an integration (litterrobot) you are listed as a code owner for? Thanks!

Code owner commands Code owners of `litterrobot` 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 litterrobot` Removes the current integration label and assignees on the issue, add the integration domain after the command.

(message by CodeOwnersMention)


litterrobot documentation litterrobot source (message by IssueLinks)

natekspencer commented 1 year ago

Can you provide your full debug logs? The three lines above only show that the initial request for the LR4 worked, but there may be another issue in the setup if the device isn't showing at all.

maxiedaniels commented 1 year ago

Can you provide your full debug logs? The three lines above only show that the initial request for the LR4 worked, but there may be another issue in the setup if the device isn't showing at all.

I think that covers everything in the logs that I'm seeing, here's the latest: 2023-06-21 21:59:16.173 DEBUG (MainThread) [pylitterbot.session] Making POST request to https://lr4.iothings.site/graphql 2023-06-21 21:59:16.366 DEBUG (MainThread) [pylitterbot.session] Received 200 response: {'data': {'getLitterRobot4BySerial': {'unitId': '**REDACTED**', 'name': 'LR4', 'serial': '**REDACTED**', 'userId': '**REDACTED**', 'espFirmware': '1.1.66', 'picFirmwareVersion': '10500.3072.2.84', 'picFirmwareVersionHex': '2904.C00.254 (Production)', 'laserBoardFirmwareVersion': '5.0.1.1', 'laserBoardFirmwareVersionHex': '5.0.11 (Production)', 'wifiRssi': -50.0, 'unitPowerType': 'AC', 'catWeight': 11.95, 'displayCode': 'DC_MODE_IDLE', 'unitTimezone': 'America/Los_Angeles', 'unitTime': None, 'cleanCycleWaitTime': 7, 'isKeypadLockout': False, 'nightLightMode': 'AUTO', 'nightLightBrightness': 100, 'isPanelSleepMode': False, 'panelSleepTime': 0, 'panelWakeTime': 0, 'weekdaySleepModeEnabled': {'Sunday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Monday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Tuesday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Wednesday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Thursday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Friday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Saturday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}}, 'unitPowerStatus': 'ON', 'sleepStatus': 'WAKE', 'robotStatus': 'ROBOT_IDLE', 'globeMotorFaultStatus': 'FAULT_CLEAR', 'pinchStatus': 'CLEAR', 'catDetect': 'CAT_DETECT_CLEAR', 'isBonnetRemoved': False, 'isNightLightLEDOn': True, 'odometerPowerCycles': 39, 'odometerCleanCycles': 579, 'panelBrightnessHigh': 0, 'panelBrightnessLow': 0, 'smartWeightEnabled': True, 'odometerEmptyCycles': 3, 'odometerFilterCycles': 0, 'isDFIResetPending': False, 'DFINumberOfCycles': 11, 'DFILevelPercent': 26, 'isDFIFull': False, 'DFIFullCounter': 0, 'DFITriggerCount': 0, 'litterLevel': 454, 'DFILevelMM': 37, 'isCatDetectPending': False, 'globeMotorRetractFaultStatus': 'FAULT_CLEAR', 'robotCycleStatus': 'CYCLE_IDLE', 'robotCycleState': 'CYCLE_STATE_WAIT_ON', 'weightSensor': 0.9, 'isOnline': True, 'isOnboarded': True, 'isProvisioned': True, 'isDebugModeActive': False, 'lastSeen': '2023-06-21T21:04:18.217Z', 'sessionId': '**REDACTED**', 'setupDateTime': '2023-01-14T18:36:42.085Z', 'isFirmwareUpdateTriggered': False, 'firmwareUpdateStatus': 'PICTRIGGERED', 'wifiModeStatus': 'ROUTER_CONNECTED', 'isUSBPowerOn': True, 'USBFaultStatus': 'CLEAR', 'isDFIPartialFull': False, 'isLaserDirty': False}}} 2023-06-21 21:59:16.375 DEBUG (MainThread) [homeassistant.components.litterrobot.hub] Finished fetching litterrobot data in 0.202 seconds (success: True) 2023-06-21 22:04:16.173 DEBUG (MainThread) [pylitterbot.session] Making POST request to https://lr4.iothings.site/graphql 2023-06-21 22:04:16.443 DEBUG (MainThread) [pylitterbot.session] Received 200 response: {'data': {'getLitterRobot4BySerial': {'unitId': '**REDACTED**', 'name': 'LR4', 'serial': '**REDACTED**', 'userId': '**REDACTED**', 'espFirmware': '1.1.66', 'picFirmwareVersion': '10500.3072.2.84', 'picFirmwareVersionHex': '2904.C00.254 (Production)', 'laserBoardFirmwareVersion': '5.0.1.1', 'laserBoardFirmwareVersionHex': '5.0.11 (Production)', 'wifiRssi': -50.0, 'unitPowerType': 'AC', 'catWeight': 11.95, 'displayCode': 'DC_MODE_IDLE', 'unitTimezone': 'America/Los_Angeles', 'unitTime': None, 'cleanCycleWaitTime': 7, 'isKeypadLockout': False, 'nightLightMode': 'AUTO', 'nightLightBrightness': 100, 'isPanelSleepMode': False, 'panelSleepTime': 0, 'panelWakeTime': 0, 'weekdaySleepModeEnabled': {'Sunday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Monday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Tuesday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Wednesday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Thursday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Friday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Saturday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}}, 'unitPowerStatus': 'ON', 'sleepStatus': 'WAKE', 'robotStatus': 'ROBOT_IDLE', 'globeMotorFaultStatus': 'FAULT_CLEAR', 'pinchStatus': 'CLEAR', 'catDetect': 'CAT_DETECT_CLEAR', 'isBonnetRemoved': False, 'isNightLightLEDOn': True, 'odometerPowerCycles': 39, 'odometerCleanCycles': 579, 'panelBrightnessHigh': 0, 'panelBrightnessLow': 0, 'smartWeightEnabled': True, 'odometerEmptyCycles': 3, 'odometerFilterCycles': 0, 'isDFIResetPending': False, 'DFINumberOfCycles': 11, 'DFILevelPercent': 26, 'isDFIFull': False, 'DFIFullCounter': 0, 'DFITriggerCount': 0, 'litterLevel': 454, 'DFILevelMM': 37, 'isCatDetectPending': False, 'globeMotorRetractFaultStatus': 'FAULT_CLEAR', 'robotCycleStatus': 'CYCLE_IDLE', 'robotCycleState': 'CYCLE_STATE_WAIT_ON', 'weightSensor': 0.9, 'isOnline': True, 'isOnboarded': True, 'isProvisioned': True, 'isDebugModeActive': False, 'lastSeen': '2023-06-21T21:04:18.217Z', 'sessionId': '**REDACTED**', 'setupDateTime': '2023-01-14T18:36:42.085Z', 'isFirmwareUpdateTriggered': False, 'firmwareUpdateStatus': 'PICTRIGGERED', 'wifiModeStatus': 'ROUTER_CONNECTED', 'isUSBPowerOn': True, 'USBFaultStatus': 'CLEAR', 'isDFIPartialFull': False, 'isLaserDirty': False}}} 2023-06-21 22:04:16.454 DEBUG (MainThread) [homeassistant.components.litterrobot.hub] Finished fetching litterrobot data in 0.282 seconds (success: True) 2023-06-21 22:09:16.173 DEBUG (MainThread) [pylitterbot.session] Making POST request to https://lr4.iothings.site/graphql 2023-06-21 22:09:16.534 DEBUG (MainThread) [pylitterbot.session] Received 200 response: {'data': {'getLitterRobot4BySerial': {'unitId': '**REDACTED**', 'name': 'LR4', 'serial': '**REDACTED**', 'userId': '**REDACTED**', 'espFirmware': '1.1.66', 'picFirmwareVersion': '10500.3072.2.84', 'picFirmwareVersionHex': '2904.C00.254 (Production)', 'laserBoardFirmwareVersion': '5.0.1.1', 'laserBoardFirmwareVersionHex': '5.0.11 (Production)', 'wifiRssi': -50.0, 'unitPowerType': 'AC', 'catWeight': 11.95, 'displayCode': 'DC_MODE_IDLE', 'unitTimezone': 'America/Los_Angeles', 'unitTime': None, 'cleanCycleWaitTime': 7, 'isKeypadLockout': False, 'nightLightMode': 'AUTO', 'nightLightBrightness': 100, 'isPanelSleepMode': False, 'panelSleepTime': 0, 'panelWakeTime': 0, 'weekdaySleepModeEnabled': {'Sunday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Monday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Tuesday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Wednesday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Thursday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Friday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}, 'Saturday': {'sleepTime': 0, 'wakeTime': 0, 'isEnabled': False}}, 'unitPowerStatus': 'ON', 'sleepStatus': 'WAKE', 'robotStatus': 'ROBOT_IDLE', 'globeMotorFaultStatus': 'FAULT_CLEAR', 'pinchStatus': 'CLEAR', 'catDetect': 'CAT_DETECT_CLEAR', 'isBonnetRemoved': False, 'isNightLightLEDOn': True, 'odometerPowerCycles': 39, 'odometerCleanCycles': 579, 'panelBrightnessHigh': 0, 'panelBrightnessLow': 0, 'smartWeightEnabled': True, 'odometerEmptyCycles': 3, 'odometerFilterCycles': 0, 'isDFIResetPending': False, 'DFINumberOfCycles': 11, 'DFILevelPercent': 26, 'isDFIFull': False, 'DFIFullCounter': 0, 'DFITriggerCount': 0, 'litterLevel': 454, 'DFILevelMM': 37, 'isCatDetectPending': False, 'globeMotorRetractFaultStatus': 'FAULT_CLEAR', 'robotCycleStatus': 'CYCLE_IDLE', 'robotCycleState': 'CYCLE_STATE_WAIT_ON', 'weightSensor': 0.9, 'isOnline': True, 'isOnboarded': True, 'isProvisioned': True, 'isDebugModeActive': False, 'lastSeen': '2023-06-21T21:04:18.217Z', 'sessionId': '**REDACTED**', 'setupDateTime': '2023-01-14T18:36:42.085Z', 'isFirmwareUpdateTriggered': False, 'firmwareUpdateStatus': 'PICTRIGGERED', 'wifiModeStatus': 'ROUTER_CONNECTED', 'isUSBPowerOn': True, 'USBFaultStatus': 'CLEAR', 'isDFIPartialFull': False, 'isLaserDirty': False}}} 2023-06-21 22:09:16.542 DEBUG (MainThread) [homeassistant.components.litterrobot.hub] Finished fetching litterrobot data in 0.370 seconds (success: True)

natekspencer commented 1 year ago

Can you reload the integration with debug enabled? Additionally, don't filter for only "litterrobot" as that may exclude an error/warning thrown in another section of the code that is pertinent to determining if there is an issue.

maxiedaniels commented 1 year ago

Can you reload the integration with debug enabled? Additionally, don't filter for only "litterrobot" as that may exclude an error/warning thrown in another section of the code that is pertinent to determining if there is an issue.

System log attached... I wasn't filtering but my log I posted before was from Portainer, this one seems to show a bit more. LR4 log HA.txt

I can't figure out how to reload the integration since the LR4 integration settings page has no option to reload integration or remove integration, and the device button goes to a custom LR4 page that has no option of that either. I did reload HA with debug logging on, which is what the log is attached to this comment.

natekspencer commented 1 year ago

I'm not sure if the container version displays it differently, but this is where it is in a supervised install:

Screenshot 2023-06-21 at 16 46 57
natekspencer commented 1 year ago

System log attached... I wasn't filtering but my log I posted before was from Portainer, this one seems to show a bit more. LR4 log HA.txt

Nothing here seems to indicate that there is an issue loading anything related to your LR4. I'm not sure what is going on honestly.

tkdrob commented 1 year ago

System log attached... I wasn't filtering but my log I posted before was from Portainer, this one seems to show a bit more. LR4 log HA.txt

Nothing here seems to indicate that there is an issue loading anything related to your LR4. I'm not sure what is going on honestly.

Maybe they added an AWS AZ? Maybe some robots will not show if they are set to use a different AZ. It is just my guess.

maxiedaniels commented 1 year ago

I'm not sure if the container version displays it differently, but this is where it is in a supervised install:

Okay, thanks for pointing that out, I didn't see the triple dots, my bad. I deleted and re-added the integration. Log provided. It seems to be receiving a response with all of the latest details about my LR4, but it's not updating any of the entity values. It still shows three hours since last seen for my LR4.

LR4 log HA after delete.txt

natekspencer commented 1 year ago

It seems to be receiving a response with all of the latest details about my LR4, but it's not updating any of the entity values. It still shows three hours since last seen for my LR4.

Do you mean to say that you do see your device in HA? Your initial post indicates the device is missing entirely.

natekspencer commented 1 year ago

Also, maybe worth noting, the "last seen" doesn't update as frequently as other sensors. So if you are basing not seeing your device purely on that sensor, then we have likely been chasing an issue that doesn't exist.

maxiedaniels commented 1 year ago

Do you mean to say that you do see your device in HA? Your initial post indicates the device is missing entirely.

Yeah, my apologies I just realized my original post was not clear. I meant to say the device values are not updating in HA any more.

Also, maybe worth noting, the "last seen" doesn't update as frequently as other sensors. So if you are basing not seeing your device purely on that sensor, then we have likely been chasing an issue that doesn't exist.

My issue may actually be related to a bug in the LR4 itself, as the Whisker app is not updating properly either. I'll do some more testing and get back to you guys, thanks for the help. Just so I know, why is the 'last seen' not updating? It's currently at 7 hours last seen. Before the LR4 firmware update, it looks like 'last seen' was updated every minute or so (looking at the history of the last seen variable on HA).

natekspencer commented 1 year ago

Just so I know, why is the 'last seen' not updating? It's currently at 7 hours last seen. Before the LR4 firmware update, it looks like 'last seen' was updated every minute or so (looking at the history of the last seen variable on HA).

It varies wildly for me as well. Sometimes updating every minute (which is what it did when I originally tested), to hours or days apart. Unfortunately there isn't an officially supported API, so it's hard to say why it functions as it does.

maxiedaniels commented 1 year ago

Just so I know, why is the 'last seen' not updating? It's currently at 7 hours last seen. Before the LR4 firmware update, it looks like 'last seen' was updated every minute or so (looking at the history of the last seen variable on HA).

It varies wildly for me as well. Sometimes updating every minute (which is what it did when I originally tested), to hours or days apart. Unfortunately there isn't an officially supported API, so it's hard to say why it functions as it does.

Gotcha. So it does seem the other variables are updating fine today, I think this was a mix of 1) not realizing the 'last seen' doesn't update, and 2) my LR4 having issues with going offline, but I don't think it has anything to do with the integration. Thank you for the help all! Closing.