Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Issue with Plugin for Eufy Clean L60 #6

Open
coneseek opened this issue Sep 11, 2024 · 7 comments
Open

Issue with Plugin for Eufy Clean L60 #6

coneseek opened this issue Sep 11, 2024 · 7 comments
Labels
bug Something isn't working help wanted Extra attention is needed

Comments

@coneseek
Copy link

Hi hov3rcraft,

First of all, thank you for creating such a great plugin! Unfortunately, I'm currently experiencing an issue with it. I am using a Eufy Clean L60, but the plugin throws the following error while pressing the buttons in the home app:

[08/09/2024, 18:06:02] [@hov3rcraft/homebridge-eufy-robovac] New data from L60 received - updated 0 characteristics.
[08/09/2024, 18:06:03] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic was supplied illegal value: number -1 exceeded minimum of 0. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:06:44] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic was supplied illegal value: number -1 exceeded minimum of 0. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:03] [@hov3rcraft/homebridge-eufy-robovac] Fetching status update...
[08/09/2024, 18:07:03] [@hov3rcraft/homebridge-eufy-robovac] New data from L60 received - updated 0 characteristics.
[08/09/2024, 18:07:03] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:03] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:03] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected valid finite number and received "undefined" (undefined). See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:25] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:25] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:25] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected valid finite number and received "undefined" (undefined). See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:26] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:26] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:37] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:37] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:37] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected valid finite number and received "undefined" (undefined). See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:47] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:47] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:07:58] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected valid finite number and received "undefined" (undefined). See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:08:24] [@hov3rcraft/homebridge-eufy-robovac] An error occurred! (during SET of Find Robot to true ): Error: A set command is already in progress. Can not issue a second one that also should return a response.
at TuyaDevice.set (/var/lib/homebridge/node_modules/@hov3rcraft/homebridge-eufy-robovac/node_modules/tuyapi/index.js:396:13)
at RoboVac.set (/var/lib/homebridge/node_modules/@hov3rcraft/homebridge-eufy-robovac/src/robovac-api.ts:319:28)
at RoboVac.setFindRobot (/var/lib/homebridge/node_modules/@hov3rcraft/homebridge-eufy-robovac/src/robovac-api.ts:433:21)
at EufyRobovacAccessory.setFindRobot (/var/lib/homebridge/node_modules/@hov3rcraft/homebridge-eufy-robovac/src/accessory.ts:224:22)
at On. (/var/lib/homebridge/node_modules/homebridge/node_modules/hap-nodejs/src/lib/Characteristic.ts:2552:42)
at step (/var/lib/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:195:27)
at Object.next (/var/lib/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:176:57)
at /var/lib/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:169:75
at new Promise ()
at Object.__awaiter (/var/lib/homebridge/node_modules/homebridge/node_modules/tslib/tslib.js:165:16)
[08/09/2024, 18:08:24] [@hov3rcraft/homebridge-eufy-robovac] Disconnected from device.
[08/09/2024, 18:08:25] [@hov3rcraft/homebridge-eufy-robovac] Error! Timeout waiting for status response from device id: bf1c35d35a0e67********
[08/09/2024, 18:08:25] [@hov3rcraft/homebridge-eufy-robovac] Setting Running to true successful.
[08/09/2024, 18:08:26] [@hov3rcraft/homebridge-eufy-robovac] Connected to device!
[08/09/2024, 18:08:26] [@hov3rcraft/homebridge-eufy-robovac] Setting Find Robot to true successful.
[08/09/2024, 18:08:26] [@hov3rcraft/homebridge-eufy-robovac] New data from L60 received - updated 0 characteristics.
[08/09/2024, 18:08:39] [@hov3rcraft/homebridge-eufy-robovac] Error! Timeout waiting for status response from device id: bf1c35d35a0e67********
[08/09/2024, 18:08:39] [@hov3rcraft/homebridge-eufy-robovac] Disconnected from device.
[08/09/2024, 18:08:39] [@hov3rcraft/homebridge-eufy-robovac] Setting Running to true successful.
[08/09/2024, 18:08:42] [@hov3rcraft/homebridge-eufy-robovac] Connected to device!
[08/09/2024, 18:08:42] [@hov3rcraft/homebridge-eufy-robovac] Setting Running to true successful.
[08/09/2024, 18:08:42] [@hov3rcraft/homebridge-eufy-robovac] New data from L60 received - updated 0 characteristics.
[08/09/2024, 18:09:19] [@hov3rcraft/homebridge-eufy-robovac] Restarting child bridge...
[08/09/2024, 18:09:19] Got SIGTERM, shutting down child bridge process...
[08/09/2024, 18:09:24] [@hov3rcraft/homebridge-eufy-robovac] Child bridge process ended
[08/09/2024, 18:09:24] [@hov3rcraft/homebridge-eufy-robovac] Process Ended. Code: 143, Signal: null
[08/09/2024, 18:09:31] [@hov3rcraft/homebridge-eufy-robovac] Restarting Process...
[08/09/2024, 18:09:33] [@hov3rcraft/homebridge-eufy-robovac] Launched child bridge with PID 4599
[08/09/2024, 18:09:33] Registering platform '@hov3rcraft/homebridge-eufy-robovac.EufyRobovac'
[08/09/2024, 18:09:33] [@hov3rcraft/homebridge-eufy-robovac] Loaded @hov3rcraft/homebridge-eufy-robovac v3.2.0-beta2 child bridge successfully
[08/09/2024, 18:09:33] Loaded 1 cached accessories from cachedAccessories.0EE4C3E5****.
[08/09/2024, 18:09:33] [@hov3rcraft/homebridge-eufy-robovac] Loading accessory from cache: L60
[08/09/2024, 18:09:33] [@hov3rcraft/homebridge-eufy-robovac] Restoring existing accessory from cache: L60
[08/09/2024, 18:09:33] [@hov3rcraft/homebridge-eufy-robovac] Finished initializing accessory: L60
[08/09/2024, 18:09:33] Homebridge v1.8.4 (HAP v0.12.2) (Staubsauger) is running on port 45317.

These errors occur while i am not doing anything:

[08/09/2024, 18:11:28] [@hov3rcraft/homebridge-eufy-robovac] New data from L60 received - updated 0 characteristics.
[08/09/2024, 18:11:28] [@hov3rcraft/homebridge-eufy-robovac] New data from L60 received - updated 0 characteristics.
[08/09/2024, 18:11:28] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:11:28] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:11:31] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https:// homebridge.io/w/JtMGR for more info.
[08/09/2024, 18:34:40] [@hov3rcraft/homebridge-eufy-robovac] New data from L60 received - updated 0 characteristics.
[08/09/2024, 18:56:51] [@hov3rcraft/homebridge-eufy-robovac] Disconnected from device.
[08/09/2024, 18:57:55] [@hov3rcraft/homebridge-eufy-robovac] Fetching status update...
[08/09/2024, 18:57:55] [@hov3rcraft/homebridge-eufy-robovac] Connected to device!

I configured the plugin like this:

{
"devices": [
{
"name": "Staubsauger",
"deviceId": "bf1c35d35a0e67********",
"localKey": "Sc:z-Zih0Pt*****",
"deviceIp": "192.168.1.158",
"useSwitchService": true,
"findButtonEnabled": true,
"batteryInformationEnabled": true,
"errorSensorEnabled": true
}
],
"debugLogEnabled": false,
"_bridge": {
"name": "Staubsauger",
"username": "0E:E4:C3:::**",
"manufacturer": "Eufy",
"model": "Eufy Clean L60"
},
"platform": "EufyRobovac"
}

The Homebridge (v1.8.4) is running on a Raspberry Pi Zero 2W, connected via Wi-Fi, and everything is on the same network. I’ve tried troubleshooting (reinstalling the plugin, restarting the homebridge, checking if the ID etc is correct) on my own but haven’t had any luck. I would really appreciate it if you could help or provide some guidance on how to resolve this issue.

Thank you in advance for your support!

Best regards,
Coneseek

@hov3rcraft
Copy link
Owner

Hi! I am not receiving these messages with my RoboVac (different model), but let's see if we can find the problem together.

What I can see in the logs is that Homebridge receives several illegal values, like -1 for the Battery Level. I am using -1 as the default value for the Battery Level when initialising the RoboVac in the plugin, but then I mark this status as expired in the plugin, so that the plugin should pull new status data from the device before passing anything to Homebridge. So my guess is that something goes wrong during the initial status data request.

Can you please enable the debug log in the plugin settings and post it here? That might help us understanding which requests are made to the device in what order.

@hov3rcraft hov3rcraft added the bug Something isn't working label Sep 18, 2024
@coneseek
Copy link
Author

Hi, sorry for the late reply. I hope the following logs will help:

Received data from device:
-- Status Start --
-- Status End --
updateCharacteristics for L60
updateCharacteristics for L60 complete - updated 0 characteristics.
[30/09/2024, 10:44:04] [Homebridge UI] [HapClient] Discovery :: Found HAP device with username 0E:E4:C3:E5:XX:XX
[30/09/2024, 10:44:04] [Homebridge UI] [HapClient] Discovery :: Testing 0E:E4:C3:E5:XX:XX via http://127.0.0.1:39419/accessories
getRunning for L60
Status request within max status update age
getFindRobot for L60
Status request within max status update age
getLowBattery for L60
Status request within max status update age
getBatteryLevel for L60
Status request within max status update age
getCharging for L60
Status request within max status update age
getErrorStatus for L60
Status request within max status update age
[9/30/2024, 10:44:04 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic was supplied illegal value: number -1 exceeded minimum of 0. See https://homebridge.io/w/JtMGR for more info.
[30/09/2024, 10:44:04] [Homebridge UI] [HapClient] Discovery :: Success 0E:E4:C3:E5:XX:XX via http://127.0.0.1:39419/accessories
[30/09/2024, 10:44:04] [Homebridge UI] [HapClient] Discovery :: [127.0.0.1:39419 (0E:E4:C3:E5:XX:XX)] Instance Registered
getRunning for L60
Status request within max status update age
getFindRobot for L60
Status request within max status update age
getLowBattery for L60
Status request within max status update age
getBatteryLevel for L60
Status request within max status update age
getCharging for L60
Status request within max status update age
[9/30/2024, 10:44:07 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic was supplied illegal value: number -1 exceeded minimum of 0. See https://homebridge.io/w/JtMGR for more info.
getErrorStatus for L60
Status request within max status update age
[30/09/2024, 10:44:07] [Homebridge UI] [HapClient] [127.0.0.1:51566 (0E:AC:68:22:XX:XX)] Connected
[30/09/2024, 10:44:07] [Homebridge UI] [HapClient] [127.0.0.1:39419 (0E:E4:C3:E5:XX:XX)] Connected
[30/09/2024, 10:44:07] [Homebridge UI] [HapClient] Discovery :: Re-broadcasting discovery query
getRunning for L60
Status request within max status update age
getFindRobot for L60
Status request within max status update age
getLowBattery for L60
Status request within max status update age
getBatteryLevel for L60
Status request within max status update age
getCharging for L60
Status request within max status update age
[9/30/2024, 10:44:10 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic was supplied illegal value: number -1 exceeded minimum of 0. See https://homebridge.io/w/JtMGR for more info.
getErrorStatus for L60
Status request within max status update age
setRunning for L60 set to true
Setting Running to true ...
getRunning for L60
Status request within max status update age
getRunning for L60
Status request within max status update age
getFindRobot for L60
Status request within max status update age
getLowBattery for L60
Status request within max status update age
getBatteryLevel for L60
Status request within max status update age
getCharging for L60
Status request within max status update age
getErrorStatus for L60
Status request within max status update age
[9/30/2024, 10:44:34 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic was supplied illegal value: number -1 exceeded minimum of 0. See https://homebridge.io/w/JtMGR for more info.
getRunning for L60
Status request within max status update age
getFindRobot for L60
Status request within max status update age
getLowBattery for L60
Status request within max status update age
getBatteryLevel for L60
Status request within max status update age
getCharging for L60
Status request within max status update age
[9/30/2024, 10:44:36 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic was supplied illegal value: number -1 exceeded minimum of 0. See https://homebridge.io/w/JtMGR for more info.
getErrorStatus for L60
Status request within max status update age
Error! Timeout waiting for status response from device id: bf1c35d35a0e67fea1qjhf
Disconnected from device.
Setting Running to true successful.
setRunning for L60 set to true
Setting Running to true ...
Connected to device!
Setting Running to true successful.
getRunning for L60
Fetching status update...
Received data from device:
-- Status Start --
-- Status End --
updateCharacteristics for L60
updateCharacteristics for L60 complete - updated 0 characteristics.
Received data from device:
-- Status Start --
-- Status End --
updateCharacteristics for L60
updateCharacteristics for L60 complete - updated 0 characteristics.
Status update retrieved.
[9/30/2024, 10:44:44 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https://homebridge.io/w/JtMGR for more info.
getRunning for L60
Status request within max status update age
getFindRobot for L60
Status request within max status update age
getLowBattery for L60
Status request within max status update age
getBatteryLevel for L60
Status request within max status update age
getCharging for L60
Status request within max status update age
getErrorStatus for L60
Status request within max status update age
[9/30/2024, 10:44:44 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https://homebridge.io/w/JtMGR for more info.
[9/30/2024, 10:44:44 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https://homebridge.io/w/JtMGR for more info.
[9/30/2024, 10:44:44 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
[30/09/2024, 10:44:44] [Homebridge UI] [HapClient] [127.0.0.1:39419 (0E:E4:C3:E5:XX:XX)] Got Event: [{"aid":2,"iid":18,"value":0},{"aid":2,"iid":16,"value":0},{"aid":2,"iid":10,"value":0},{"aid":2,"iid":10,"value":1}]
getRunning for L60
Status request within max status update age
[9/30/2024, 10:44:45 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https://homebridge.io/w/JtMGR for more info.
getFindRobot for L60
Status request within max status update age
[9/30/2024, 10:44:45 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'On': characteristic value expected boolean and received undefined. See https://homebridge.io/w/JtMGR for more info.
getLowBattery for L60
Status request within max status update age
getBatteryLevel for L60
Status request within max status update age
getCharging for L60
Status request within max status update age
[9/30/2024, 10:44:45 AM] [@hov3rcraft/homebridge-eufy-robovac] This plugin generated a warning from the characteristic 'Battery Level': characteristic value expected valid finite number and received "undefined" (undefined). See https://homebridge.io/w/JtMGR for more info.
getErrorStatus for L60
Status request within max status update age
[30/09/2024, 10:44:54] [Homebridge UI] [HapClient] Discovery :: Ended

@coneseek
Copy link
Author

Hi! Any updates on this issue?

Kind regards

@champagnearni
Copy link

Seconding this issue, getting the exact same expected boolean and received undefined error in the logs. Same model, Eufy Clean L60.

@panagiotisTB
Copy link

Hey all, seemingly the commands appear to be encrypted: CodeFoodPixels/robovac#85 (comment)

@hov3rcraft
Copy link
Owner

hov3rcraft commented Dec 14, 2024

This explains a lot. The plugin receives values from the RoboVac, but isn't able to interpret them.

Since I don't have an L60 and can't test anything, this would be quite tricky for me to work on. Would anyone be interested to look at what they did in the Home Assistant plugin and work on a fix? I would be happy to support you where I can.

@hov3rcraft hov3rcraft added the help wanted Extra attention is needed label Dec 14, 2024
@champagnearni
Copy link

This explains a lot. The plugin receives values from the RoboVac, but isn't able to interpret them.

Since I don't have an L60 and can't test anything, this would be quite tricky for me to work on. Would anyone be interested to look at what they did in the Home Assistant plugin and work on a fix? I would be happy to support you where I can.

I've got a L60 and can help any way I can

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants