[RELEASE] Tuya Zigbee Contact Sensor++ w/ healthStatus

Thanks for that, will get that done tomorrow and reply with the logs

I've captured the logs and sent them over to you

1 Like

Hi @kkossev ,
I ordered some tuya contact sensor and they pair with the following details:
image
Manufacturer - _TZ3000_6zvw8ham
Can you please add them to this driver?

1 Like

Sure, I will include the fingerprint in the next update.
Are these sensors reporting the battery level regularly and at what time period?

Thanks @kkossev
They seem to report every 4 hours. They report the percentage and the voltage

Hi @kkossev,
I am getting Error messages like this:
errorgroovy.lang.MissingMethodException: No signature of method: user_driver_kkossev_Tuya_Zigbee_Contact_Sensor___w__healthStatus_3174.getKeepTimeString() is applicable for argument types: (java.lang.Integer) values: [1] on line 347 (method parse)
I am on version 1.2.4 (using HPM and did not see any updates).
Looked at the driver code and it seems like the getKeepTimeString is not defined at all. Also looked in Github for latest version and did not see any change with regards to this function. So, I think this might have been leftover from previous versions.

Hi @amithalp ,

This error is due to a scheduled job left by another driver... I suppose that you managed to remove it already?

I have added to my TODO list to unsubscribe from leftover jobs when clicking the Save Preferences button.

Yes I did. Thanks

1 Like

Oppps, i changed to the "device" driver and then back to this driver and now I got this:

Summary

dev:42752024-12-26 09:44:15.934

info

גלאי כספת Statistics were reset. Press F5 to refresh the device page

dev:42752024-12-26 09:44:15.929

info

גלאי כספת InitializeVars()... fullInit = false

dev:42752024-12-26 09:44:15.926

info

גלאי כספת updating the settings from the current driver version null to the new version 1.2.4 2024/08/14 1:05 PM

dev:42752024-12-26 09:43:34.849

error

groovy.lang.MissingMethodException: No signature of method: user_driver_kkossev_Tuya_Zigbee_Contact_Sensor___w__healthStatus_3174.initialize() is applicable for argument types: (java.lang.String) values: [undefined]

dev:42752024-12-26 09:40:53.036

info

Zigbee parsed:[raw:6F9E0105000801F02001, dni:6F9E, endpoint:01, cluster:0500, size:08, attrId:F001, encoding:20, command:0A, value:01, clusterInt:1280, attrInt:61441]

dev:42752024-12-26 09:40:48.247

info

Zigbee parsed:[raw:6F9E010001082100209E, dni:6F9E, endpoint:01, cluster:0001, size:08, attrId:0021, encoding:20, command:0A, value:9E, clusterInt:1, attrInt:33]

dev:42752024-12-26 09:40:47.839

info

fingerprint profileId:"0104", endpointId:"01", inClusters:"0000,0003,0001,0500,0020", outClusters:"0019", model:"SNZB-04", manufacturer:"_TZ3000_n2egfsli", controllerType: "ZGB"

dev:42752024-12-26 09:40:47.559

trace

ZCL version:03

dev:42752024-12-26 09:40:47.557

trace

Software Build Id:0122052017

dev:42752024-12-26 09:40:47.556

trace

Model:SNZB-04

dev:42752024-12-26 09:40:47.555

trace

Manufacturer:_TZ3000_n2egfsli

dev:42752024-12-26 09:40:47.551

info

Zigbee parsed:[raw:6F9E010001082000201B, dni:6F9E, endpoint:01, cluster:0001, size:08, attrId:0020, encoding:20, command:0A, value:1B, clusterInt:1, attrInt:32]

dev:42752024-12-26 09:40:47.278

info

Zigbee parsed:[raw:6F9E010001082100209E, dni:6F9E, endpoint:01, cluster:0001, size:08, attrId:0021, encoding:20, command:0A, value:9E, clusterInt:1, attrInt:33]

dev:42752024-12-26 09:40:27.966

debug

getting info for unknown Zigbee device...

Are you on the latest HE platform 2.4.x.x ?

Yes

Device details:

1 Like

Can you update manually the driver to the latest dev. branch version 1.2.6 2024-10-02 and test again whether the same error will show up?

I am away from home till the end of this week and I can't test it easily myself.

1 Like

I updated manually and got this:

Summary

dev:42752024-12-26 10:00:33.968

info

גלאי כספת Statistics were reset. Press F5 to refresh the device page

dev:42752024-12-26 10:00:33.964

info

גלאי כספת InitializeVars()... fullInit = false

dev:42752024-12-26 10:00:33.960

info

גלאי כספת updating the settings from the current driver version null to the new version 1.2.6 2024/10/02 10:02 PM

dev:42752024-12-26 10:00:32.497

error

groovy.lang.MissingMethodException: No signature of method: user_driver_kkossev_Tuya_Zigbee_Contact_Sensor___w__healthStatus_3174.initialize() is applicable for argument types: (java.lang.String) values: [undefined]

Thanks for the logs, I will try to reproduce and fix the issue.

Update: this is a very strange device - should be a Tuya TS0203 contact sensor, but the model is reported as SNZB-04 (SONOFF) ... :thinking: Do you see 'ONENUO' white label on it?

1 Like

I see other problems in the latest HE platform version 2.4.0.x related to device drivers commands that have some description/help text... The devices that are already paired/initialized are working OK, but it may be a good idea to wait for a platform fix.

@amithalp, the errors shoud be fixed in HE platform 2.4.0.144 - please update your hub and test again the Initialzie command.
(I haven't added the new device to the driver yet).

1 Like

After updating to 2.4.0.144 the Initialize error is gone.
Out of curiosity, I did see that driver is designed to work with the _TZ3000_n2egfsli just like mine but with different inClusters and outClusters, is this common? I was thinking the same model should use the same inClusters and outClusters.
This is cousing my deviceProfile to show UNKNOWN and the model SNZB-04

Summary

dev:42752024-12-27 14:05:47.258

info

גלאי כספת Initialization finished version=1.2.6 (Timestamp: 2024/10/02 10:02 PM)

dev:42752024-12-27 14:05:47.257

info

גלאי כספת manufacturer = _TZ3000_n2egfsli ModelGroup = UNKNOWN

dev:42752024-12-27 14:05:45.342

debug

גלאי כספת nothing to send to the device (UNKNOWN)

dev:42752024-12-27 14:05:45.264

info

גלאי כספת Debug logging will be turned off after 24 hours

dev:42752024-12-27 14:05:45.245

info

גלאי כספת Debug logging is true; Description text logging is true

dev:42752024-12-27 14:05:45.243

info

גלאי כספת Updating גלאי כספת (Generic Zigbee Contact Sensor) model SNZB-04 manufacturer _TZ3000_n2egfsli, deviceProfile = UNKNOWN

dev:42752024-12-27 14:05:44.209

trace

גלאי כספת sendZigbeeCommands(cmd=[he raw 0x6F9E 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 200])

dev:42752024-12-27 14:05:44.201

info

גלאי כספת configure()..

dev:42752024-12-27 14:05:44.166

info

גלאי כספת all states and scheduled jobs cleared!

dev:42752024-12-27 14:05:44.164

warn

גלאי כספת user_driver_kkossev_Tuya_Zigbee_Contact_Sensor___w__healthStatus_3174$_setDeviceName_closure5@66a2c2

dev:42752024-12-27 14:05:44.161

warn

גלאי כספת unknown model SNZB-04 manufacturer _TZ3000_n2egfsli

dev:42752024-12-27 14:05:44.157

info

גלאי כספת Statistics were reset. Press F5 to refresh the device page

dev:42752024-12-27 14:05:44.149

info

גלאי כספת InitializeVars()... fullInit = true

dev:42752024-12-27 14:05:44.142

info

גלאי כספת installed()...

dev:42752024-12-27 14:05:44.098

info

גלאי כספת all states and scheduled jobs cleared!

dev:42752024-12-27 14:05:44.096

warn

גלאי כספת user_driver_kkossev_Tuya_Zigbee_Contact_Sensor___w__healthStatus_3174$_setDeviceName_closure5@5fb8f8

dev:42752024-12-27 14:05:44.092

warn

גלאי כספת unknown model SNZB-04 manufacturer _TZ3000_n2egfsli

dev:42752024-12-27 14:05:44.085

info

גלאי כספת Statistics were reset. Press F5 to refresh the device page

dev:42752024-12-27 14:05:44.071

info

גלאי כספת InitializeVars()... fullInit = true

dev:42752024-12-27 14:05:44.051

info

גלאי כספת Initialize()...

1 Like

Adding this new device in a future update of this driver is in my TODO list, thank you for providing the device details.

2 Likes

I have a package box by the front door for Amazon and other delivery people to use to keep porch pirates away.

I would like a notification when the lid is opened so I bought a ThirdReality garage door tilt sensor 3RDTS01056Z

When the lid is closed, it is horizontal and when it is open it is vertical. I looked through the preferences and didn’t see a way to reverse this so open is closed and closed is open.

Other than create a rule that reflects state change, is there a way to reverse the data?