[Project] Device Health Status [Tuya, Aqara, Ikea, Sonoff, Lidl and others]

@kkossev
Glad to hear you are continuing with this project :blush:.
This app is very important for me and has become one of my core apps for monitoring my devices; currently have about 28 devices with health status support (includes some devices from Home Assistant).
I have also setup RM rules to alert me when a device goes offline, and I am happy to report that it has been working really well!

2 Likes

Tuya Wall Thermostat
Thx, its works, you can move it from todo to the supported zigbee drivers :slight_smile:

2 Markus drivers to go for adding the Health Status :slight_smile:

  • Aqara Water Leak Sensor (works with model SJCGQ11LM) - Import URL

  • Aqara Cube (works with model MFKZQ01LM) - Import URL

1 Like

Today I have updated the rest of Markus's drivers to support the healthStatus attribute :

7 Likes

Hi @kkossev , I seem to have missed the update for Markus's Sonoff temp and humidity sensor. Could you point me in the right direction. Thank you.

Hi @kkossev , it me again. I'd like to make a request for healthStatus to be added to your Tuya / NEO Coolcam Zigbee Water Leak Sensor driver. I have several of these. If this could be be put on a TODO list that would be great.

1 Like

Hi @bbholthome ,
I have pushed an update of the Tuya Neo Coolcam Water Leak Sensor driver to ver 1.1.0 where the Presence attribute was substituted with healthStatus.

On the Sonoff temperature and humidity sensor - I highly recommend to use the Tuya Temperature Humidity Illuminance .... driver instead, it handles the configuration of the reporting parameters much better.

1 Like

I have switched over to the driver and set it to Zigbee NON-Tuya, as Auto-detect didn't report the temperature.



I can't seem to get a healthStatus to show up.

Pair it again to the hub with this driver, for similar sleepy Zigbee devices just changing the driver doesn’t work always.

I have tried to repair the temp & humidity device a few times and the healthStatus refuses to show up. I am using version 1.3.5 of the driver. Is it likely it will work if I remove the device and rejoin?

I am using this driver for 2 other devices,
image
and
image
I rejoined these as well but healthStatus didn't show up for these either.

I don't expect a big make work project, but if there is something simple I could try, otherwise I haven't had healthStatus for these devices before so it is not a big deal.

1 Like

There is a bug in the latest versions of the "Tuya THI ..." driver, and the healthCheck periodic job is not running ,,. Wait for a fix.

1 Like

Hi @kkossev

I am installing the Aqara Wall Switch update, I removed the old installation and made a new one. But I don't see the option to create the children, and in the log I am seeing this error/advertisement message.

dev:21302023-08-14 11:30:29.471 AMerrorjava.lang.NullPointerException: Cannot invoke method parse() on null object on line 654 (method parse)
dev:21302023-08-14 11:30:29.452 AMinfoPower Cluster 0006 catchall - description:catchall: 0000 0006 00 00 0040 00 FF48 00 00 0000 00 00 D6FDFF040101190000 | parseMap:[raw:catchall: 0000 0006 00 00 0040 00 FF48 00 00 0000 00 00 D6FDFF040101190000, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:FF48, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[D6, FD, FF, 04, 01, 01, 19, 00, 00]]
dev:21302023-08-14 11:30:24.487 AMwarnUnknown model (null) - PLEASE REPORT THIS LOG TO THE DEV - description:catchall: 0000 0013 00 00 0040 00 FF48 00 00 0000 00 00 D348FF8E36763CDF8CCF048E | parseMap:[raw:catchall: 0000 0013 00 00 0040 00 FF48 00 00 0000 00 00 D348FF8E36763CDF8CCF048E, profileId:0000, clusterId:0013, clusterInt:19, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:FF48, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[D3, 48, FF, 8E, 36, 76, 3C, DF, 8C, CF, 04, 8E]]
dev:21302023-08-14 11:27:15.740 AMerrorgroovy.lang.MissingMethodException: No signature of method: user_driver_oh_lalabs_com_Zigbee___Aqara_Wall_Switch__w__healthStatus__1103.driverVersionAndTimeStamp() is applicable for argument types: () values: [] on line 786 (method initialize)
dev:21302023-08-14 11:27:15.660 AMinfoinitialize()
dev:21302023-08-14 11:26:14.817 AMerrorgroovy.lang.MissingMethodException: No signature of method: user_driver_oh_lalabs_com_Zigbee___Aqara_Wall_Switch__w__healthStatus__1103.driverVersionAndTimeStamp() is applicable for argument types: () values: [] on line 786 (method updated)
dev:21302023-08-14 11:26:14.749 AMinfoupdated()
dev:21302023-08-14 11:25:20.247 AMerrorjava.lang.NullPointerException: Cannot invoke method parse() on null object on line 654 (method parse)
dev:21302023-08-14 11:25:20.223 AMinfoPower Cluster 0006 catchall - description:catchall: 0000 0006 00 00 0040 00 537E 00 00 0000 00 00 D6FDFF040101190000 | parseMap:[raw:catchall: 0000 0006 00 00 0040 00 537E 00 00 0000 00 00 D6FDFF040101190000, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:537E, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[D6, FD, FF, 04, 01, 01, 19, 00, 00]]
dev:21302023-08-14 11:25:19.861 AMerrorgroovy.lang.MissingMethodException: No signature of method: user_driver_oh_lalabs_com_Zigbee___Aqara_Wall_Switch__w__healthStatus__1103.driverVersionAndTimeStamp() is applicable for argument types: () values: [] on line 786 (method installed)
dev:21302023-08-14 11:25:19.787 AMinfoinstalled()

Please, your help :slight_smile:

@kkossev

Additional information, this is a one gang / two-key WS-USC04 model with neutral. I also have the same version code WS-USC02 in this case without neutral.

Thanks

1 Like

I've found and hopefully fixed the bug - please update the "Zigbee - Aqara Wall Switch (w/ healthStatus)" driver to the fix version 2.0.1 2023/08/14 8:23 PM.

I don't have these Aqara switches, but I can test the driver partially using another device. Now the initialize button doesn't throw exception, hopefully your switches are supported.

Hi @kkossev

First of all, thank you very much for the quick reply.
Well, I updated the drive, deleted a device, and added it again (2 times).
I see that the error and warning have changed, follow the log below.

dev:21312023-08-14 01:34:21.539 PMerrorjava.lang.NullPointerException: Cannot invoke method parse() on null object on line 655 (method parse)
dev:21312023-08-14 01:34:21.526 PMinfoPower Cluster 0006 catchall - description:catchall: 0000 0006 00 00 0040 00 79CF 00 00 0000 00 00 D6FDFF040101190000 | parseMap:[raw:catchall: 0000 0006 00 00 0040 00 79CF 00 00 0000 00 00 D6FDFF040101190000, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:79CF, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[D6, FD, FF, 04, 01, 01, 19, 00, 00]]
dev:21312023-08-14 01:34:16.527 PMwarnUnknown model (lumi.switch.b2naus01) - PLEASE REPORT THIS LOG TO THE DEV - description:catchall: 0000 0013 00 00 0040 00 79CF 00 00 0000 00 00 D3CF798E36763CDF8CCF048E | parseMap:[raw:catchall: 0000 0013 00 00 0040 00 79CF 00 00 0000 00 00 D3CF798E36763CDF8CCF048E, profileId:0000, clusterId:0013, clusterInt:19, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:79CF, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[D3, CF, 79, 8E, 36, 76, 3C, DF, 8C, CF, 04, 8E]]
dev:21312023-08-14 01:31:14.371 PMinfoNo VALID lastCheckin event available! This should be resolved by itself within 1 or 2 hours and is perfectly NORMAL as long as the same device don't get this multiple times per day...
dev:21312023-08-14 01:31:14.328 PMinfoRecovery feature ENABLED
dev:21312023-08-14 01:31:14.272 PMinfogetDriverVersion() = 2.0.1 2023/08/14 8:23 PM
dev:21312023-08-14 01:31:14.234 PMinfoinitialize()
dev:21312023-08-14 01:30:40.298 PMerrorjava.lang.NullPointerException: Cannot invoke method parse() on null object on line 655 (method parse)
dev:21312023-08-14 01:30:40.275 PMinfoPower Cluster 0006 catchall - description:catchall: 0000 0006 00 00 0040 00 3D13 00 00 0000 00 00 D5FDFF040101190000 | parseMap:[raw:catchall: 0000 0006 00 00 0040 00 3D13 00 00 0000 00 00 D5FDFF040101190000, profileId:0000, clusterId:0006, clusterInt:6, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:3D13, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[D5, FD, FF, 04, 01, 01, 19, 00, 00]]
dev:21312023-08-14 01:30:38.879 PMwarnUnknown model (null) - PLEASE REPORT THIS LOG TO THE DEV - description:read attr - raw: 3D1302000032050042146C756D692E7377697463682E62326E6175733031, dni: 3D13, endpoint: 02, cluster: 0000, size: 32, attrId: 0005, encoding: 42, command: 01, value: 146C756D692E7377697463682E62326E6175733031 | parseMap:[raw:3D1302000032050042146C756D692E7377697463682E62326E6175733031, dni:3D13, endpoint:02, cluster:0000, size:32, attrId:0005, encoding:42, command:01, value:lumi.switch.b2naus01, clusterInt:0, attrInt:5]
dev:21312023-08-14 01:30:38.808 PMwarnUnknown model (null) - PLEASE REPORT THIS LOG TO THE DEV - description:read attr - raw: 3D1302000012040042044C554D49, dni: 3D13, endpoint: 02, cluster: 0000, size: 12, attrId: 0004, encoding: 42, command: 01, value: 044C554D49 | parseMap:[raw:3D1302000012040042044C554D49, dni:3D13, endpoint:02, cluster:0000, size:12, attrId:0004, encoding:42, command:01, value:LUMI, clusterInt:0, attrInt:4]
dev:21312023-08-14 01:30:38.709 PMinfoNo VALID lastCheckin event available! This should be resolved by itself within 1 or 2 hours and is perfectly NORMAL as long as the same device don't get this multiple times per day...
dev:21312023-08-14 01:30:38.645 PMinfoRecovery feature ENABLED
dev:21312023-08-14 01:30:38.500 PMinfogetDriverVersion() = 2.0.1 2023/08/14 8:23 PM
dev:21312023-08-14 01:30:38.492 PMinfoinstalled()

Thanks.

The warning and the consequent error are because lumi.switch.b2naus01 is not supported in Markus driver.
I can try to add it, but there cannot be a guarantee of success.

Is your switch this one?

1 Like

Yes!! Correct!!

I was using another old drive, it worked, but it had problems like action made directly on the switch did not reflect on the HE, and recurrently lost the pairing in the absence of power.

Thanks!!

Before I forget @kkossev , excellent your Device Health Status app!

Thanks!

2 Likes

You can update the driver to version 2.0.2 2023/08/14 10:24 PM.
I am not sure whether this is a 'D1' series switch, so we may need more than one iteration.

I will need also the device fingerprint, as formed by HE. So please assigned temporarily the inbuilt 'Device' driver, hit the 'Get Info' button and copy the fingerprint from the live logs.

After switching to the updated Zigbee - Aqara Wall Switch (w/ healthStatus) driver, click on the Initialize button and let me know if it works,

lumi.switch.b2naus01 Model WS-USC04 Aqara US Wall Switch w/ Neutral Double Rocker (D1 series) is now added to "Zigbee - Aqara Wall Switch (w/ healthStatus)" driver version 2.0.2

1 Like

Added to the list all the AlertMe drivers by @birdslikewires, linked to the AlertMe / Iris V1 Drivers page.