[RELEASE] Tuya Zigbee Valve driver (w/ healthStatus)

I was afraid you were going to say that :sweat_smile:

Ordered one and keeping my fingers crossed :smiley:
Not even sure if it's going to fit my pool valve, pretty sure I'll have to jerry rig it, but the alternative was buying an actuator that cost 6 times this one and having to mess with extra zigbee relays as well :smiley:

Let us know how it goes when you receive the valve.... Some had success pairing it to the C-8 hub when done far away from the hub, and extremely close to a mains-powered Zigbee repeater/router. Once paired successfully, you can move it to the final place.

@kkossev

Hoppe is all is well

I'm currently trying to get my Zigbee water valve working with your driver but somehow I'm not having much luck.
I'm using the C-8 hub with your latest drivers v1.2.6

this is the paring information
image

image


dev:2492023-10-20 03:36:11.932 PMinfoVALVE Round-trip time : timeout

dev:2492023-10-20 03:36:11.929 PMwarnVALVE no response received (sleepy device or offline?)

dev:2492023-10-20 03:36:01.975 PMdebugVALVE sendZigbeeCommands (cmd=[he cmd 0xD8DE 0x01 6 1 {}, delay 2000])

dev:2492023-10-20 03:36:01.972 PMdebugVALVE open()... sent cmds=[he cmd 0xD8DE 0x01 6 1 {}, delay 2000]

dev:2492023-10-20 03:35:05.199 PMinfoVALVE Round-trip time : timeout

dev:2492023-10-20 03:35:05.195 PMwarnVALVE no response received (sleepy device or offline?)

dev:2492023-10-20 03:34:55.229 PMinfoVALVE Initialization finished

dev:2492023-10-20 03:34:55.207 PMdebugVALVE sendZigbeeCommands (cmd=[he rattr 0xD8DE 0x01 6 0 {}, delay 2000, he raw 0xD8DE 1 0x01 0xE000 {10 00 00 01 D0}, delay 200, he raw 0xD8DE 1 0x01 0xE000 {10 00 00 02 D0}, delay 200, he raw 0xD8DE 1 0x01 0xE000 {10 00 00 03 D0}, delay 200, he raw 0xD8DE 1 0x01 0xE001 {10 00 00 10 D0}, delay 200, he raw 0xD8DE 1 0x01 0xE001 {10 00 00 30 D0}, delay 200, he raw 0xD8DE 1 0x01 0x0006 {10 00 00 01 40}, delay 200, he raw 0xD8DE 1 0x01 0x0006 {10 00 00 02 40}, delay 200, he raw 0xD8DE 1 0x01 0x0006 {10 00 00 01 80}, delay 200, he raw 0xD8DE 1 0x01 0x0006 {10 00 00 02 80}, delay 200])

dev:2492023-10-20 03:34:55.136 PMdebugVALVE refresh()...

dev:2492023-10-20 03:34:52.166 PMdebugVALVE scheduleDeviceHealthCheck()...

dev:2492023-10-20 03:34:52.136 PMdebugVALVE sendZigbeeCommands (cmd=[he raw 0xD8DE 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 150, he wattr 0xD8DE 0x01 0x0000 0xFFDE 0x20 {0D} {}, delay 50, he wattr 0xD8DE 0x01 0xE001 0xD010 0x30 {02} {}, delay 251])

dev:2492023-10-20 03:34:52.100 PMdebugVALVE setting powerOnBehaviour to last state (2)

dev:2492023-10-20 03:34:52.096 PMinfoVALVE press F5 to refresh the page

dev:2492023-10-20 03:34:52.094 PMwarnVALVE changing the device profile from UNKNOWN to TS0001_VALVE_ONOFF

dev:2492023-10-20 03:34:52.058 PMinfoVALVE configure()..

dev:2492023-10-20 03:34:52.023 PMdebugVALVE scheduleDeviceHealthCheck()...

dev:2492023-10-20 03:34:52.019 PMinfoVALVE Debug logging will be automatically switched off after 24 hours

dev:2492023-10-20 03:34:51.994 PMinfoVALVE Debug logging is true Description text logging is true

dev:2492023-10-20 03:34:51.989 PMinfoVALVE Updating VALVE (Tuya Zigbee Valve) device model null manufacturer null deviceProfile UNKNOWN (driver version 1.2.6 2023/07/28 7:28 AM)

dev:2492023-10-20 03:34:51.985 PMtrace destinationEP = 01

dev:2492023-10-20 03:34:51.983 PMtrace model = TS0001

dev:2492023-10-20 03:34:51.905 PMwarnVALVE device model TS0001 manufacturer _TZ3000_iedbgyxt was not found!

dev:2492023-10-20 03:34:51.898 PMwarnVALVE unknown model TS0001 manufacturer _TZ3000_iedbgyxt

dev:2492023-10-20 03:34:51.887 PMinfoVALVE all states and scheduled jobs cleared!

dev:2492023-10-20 03:34:51.863 PMinfoVALVE InitializeVars()... fullInit = true

dev:2492023-10-20 03:34:51.786 PMinfoVALVE Initialize()...

2 of my 3 Giex valves are actually listed as child devices of my C-8, although they weren’t originally. They have never needed to be rejoined since being joined back when the C-8 was released but many times they have changed what router they use. They have shown up as routing through Sonoff dongles, GE in-wall dimmers (zigbee 1.2), Hue outlets, and now as child devices.

Hi @Suliman ,

Your device has a connectivity problem with your C-8 hub, it stops communicating a few seconds after the pairing...

Try pairing several times again, away from the hub, close to a Zigbee repeater.
You can test whether the Zigee communication is successful by clicking on the Ping button. If you see timeout message, try pairing again.

@kkossev Thanks for the support

it is working for some time then get disconnected.
after some troubleshooting they only worked if both of them in parring mod in this case it is working


dev:254
2023-10-20 09:24:08.168 PMinfoValve Round-trip time is 104 ms

dev:2542023-10-20 09:24:08.162 PMdebugValve Tuya check-in message (attribute 0001 reported: 52)

dev:2542023-10-20 09:24:08.154 PMdebugValve Desc Map: [raw:075A0100000A01002052, dni:075A, endpoint:01, cluster:0000, size:0A, attrId:0001, encoding:20, command:01, value:52, clusterInt:0, attrInt:1]

dev:2542023-10-20 09:24:08.147 PMdebugValve parse: description is read attr - raw: 075A0100000A01002052, dni: 075A, endpoint: 01, cluster: 0000, size: 0A, attrId: 0001, encoding: 20, command: 01, value: 52

dev:2542023-10-20 09:24:08.113 PMinfoValve Valve is open (Refresh)

dev:2542023-10-20 09:24:08.083 PMdebugValve event [name:switch, value:on]

dev:2542023-10-20 09:24:08.078 PMdebugValve parse: description is read attr - raw: 075A0100060A00001001, dni: 075A, endpoint: 01, cluster: 0006, size: 0A, attrId: 0000, encoding: 10, command: 01, value: 01

dev:2542023-10-20 09:24:08.053 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x075A 1 0x01 0x0000 {10 00 00 01 00}])

dev:2542023-10-20 09:24:08.009 PMinfoValve ping...

dev:2542023-10-20 09:24:07.997 PMdebugValve sendZigbeeCommands (cmd=[he rattr 0x075A 0x01 6 0 {}, delay 2000, he raw 0x075A 1 0x01 0xE000 {10 00 00 01 D0}, delay 200, he raw 0x075A 1 0x01 0xE000 {10 00 00 02 D0}, delay 200, he raw 0x075A 1 0x01 0xE000 {10 00 00 03 D0}, delay 200, he raw 0x075A 1 0x01 0xE001 {10 00 00 10 D0}, delay 200, he raw 0x075A 1 0x01 0xE001 {10 00 00 30 D0}, delay 200, he raw 0x075A 1 0x01 0x0006 {10 00 00 01 40}, delay 200, he raw 0x075A 1 0x01 0x0006 {10 00 00 02 40}, delay 200, he raw 0x075A 1 0x01 0x0006 {10 00 00 01 80}, delay 200, he raw 0x075A 1 0x01 0x0006 {10 00 00 02 80}, delay 200])

dev:2542023-10-20 09:24:07.931 PMdebugValve refresh()...

dev:2542023-10-20 09:24:05.561 PMinfoValve power on behavior is last state (02)

dev:2542023-10-20 09:24:05.557 PMdebugValve TuyaE00xCluster Desc Map: [raw:075A01E0010810D03002, dni:075A, endpoint:01, cluster:E001, size:08, attrId:D010, encoding:30, command:0A, value:02, clusterInt:57345, attrInt:53264]

dev:2542023-10-20 09:24:05.553 PMdebugValve parse: description is read attr - raw: 075A01E0010810D03002, dni: 075A, endpoint: 01, cluster: E001, size: 08, attrId: D010, encoding: 30, command: 0A, value: 02

dev:2542023-10-20 09:24:05.324 PMdebugValve parseZHAcommand writeAttributeResponse cluster: E001 status:00

dev:2542023-10-20 09:24:05.317 PMdebugValve Desc Map: [raw:catchall: 0104 E001 01 01 0040 00 075A 00 00 0000 04 01 00, profileId:0104, clusterId:E001, clusterInt:57345, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:075A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:2542023-10-20 09:24:05.310 PMdebugValve parse: description is catchall: 0104 E001 01 01 0040 00 075A 00 00 0000 04 01 00

dev:2542023-10-20 09:24:05.296 PMdebugValve Model is : TS0001

dev:2542023-10-20 09:24:05.290 PMdebugValve Tuya check-in message (attribute 0001 reported: 52)

dev:2542023-10-20 09:24:05.285 PMdebugValve zclVersion is : 03

dev:2542023-10-20 09:24:05.279 PMdebugValve Manufacturer is : _TZ3000_iedbgyxt

dev:2542023-10-20 09:24:05.273 PMdebugValve Desc Map: [raw:075A01000068040042105F545A333030305F69656462677978740000002003010000205205000042065453303030310700003001FEFF003000, dni:075A, endpoint:01, cluster:0000, size:68, attrId:0004, encoding:42, command:01, value:_TZ3000_iedbgyxt, clusterInt:0, attrInt:4, additionalAttrs:[[value:03, encoding:20, attrId:0000, consumedBytes:4, attrInt:0], [value:52, encoding:20, attrId:0001, consumedBytes:4, attrInt:1], [value:TS0001, encoding:42, attrId:0005, consumedBytes:9, attrInt:5]]]

dev:2542023-10-20 09:24:05.264 PMdebugValve exception caught while parsing description: read attr - raw: 075A01000068040042105F545A333030305F69656462677978740000002003010000205205000042065453303030310700003001FEFF003000, dni: 075A, endpoint: 01, cluster: 0000, size: 68, attrId: 0004, encoding: 42, command: 01, value: 105F545A333030305F69656462677978740000002003010000205205000042065453303030310700003001FEFF003000

dev:2542023-10-20 09:24:05.253 PMdebugValve parse: description is read attr - raw: 075A01000068040042105F545A333030305F69656462677978740000002003010000205205000042065453303030310700003001FEFF003000, dni: 075A, endpoint: 01, cluster: 0000, size: 68, attrId: 0004, encoding: 42, command: 01, value: 105F545A333030305F69656462677978740000002003010000205205000042065453303030310700003001FEFF003000

dev:2542023-10-20 09:24:05.163 PMdebugValve parseZHAcommand writeAttributeResponse cluster: 0000 status:00

dev:2542023-10-20 09:24:05.159 PMdebugValve Desc Map: [raw:catchall: 0104 0000 01 01 0040 00 075A 00 00 0000 04 01 00, profileId:0104, clusterId:0000, clusterInt:0, sourceEndpoint:01, destinationEndpoint:01, options:0040, messageType:00, dni:075A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:04, direction:01, data:[00]]

dev:2542023-10-20 09:24:05.155 PMdebugValve parse: description is catchall: 0104 0000 01 01 0040 00 075A 00 00 0000 04 01 00

dev:2542023-10-20 09:24:04.966 PMinfoValve Received device announcement, data=[5B, 5A, 07, 7D, 2C, 10, 89, 52, 38, C1, A4, 8E] (Sequence Number:5B, Device network ID: 075A, Capability Information: 8E)

dev:2542023-10-20 09:24:04.962 PMdebugValve Desc Map: [raw:catchall: 0000 0013 00 00 0040 00 075A 00 00 0000 00 00 5B5A077D2C10895238C1A48E, profileId:0000, clusterId:0013, clusterInt:19, sourceEndpoint:00, destinationEndpoint:00, options:0040, messageType:00, dni:075A, isClusterSpecific:false, isManufacturerSpecific:false, manufacturerId:0000, command:00, direction:00, data:[5B, 5A, 07, 7D, 2C, 10, 89, 52, 38, C1, A4, 8E]]

dev:2542023-10-20 09:24:04.958 PMdebugValve parse: description is catchall: 0000 0013 00 00 0040 00 075A 00 00 0000 00 00 5B5A077D2C10895238C1A48E

dev:2542023-10-20 09:24:04.931 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x075A 1 0x01 0x0000 {10 00 00 04 00 00 00 01 00 05 00 07 00 FE FF}, delay 150, he wattr 0x075A 0x01 0x0000 0xFFDE 0x20 {0D} {}, delay 50, he wattr 0x075A 0x01 0xE001 0xD010 0x30 {02} {}, delay 251])

dev:2542023-10-20 09:24:04.906 PMdebugValve setting powerOnBehaviour to last state (2)

dev:2542023-10-20 09:24:04.900 PMinfoValve configure()..

sys:12023-10-20 09:24:03.894 PMinfoFound previously joined Zigbee device Valve

sys:12023-10-20 09:24:03.188 PMinfoZigbee Discovery Running

dev:2542023-10-20 09:23:58.129 PMinfoValve Round-trip time : timeout

dev:2542023-10-20 09:23:58.125 PMwarnValve no response received (sleepy device or offline?)

dev:2542023-10-20 09:23:48.140 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x00CC 1 0x01 0x0000 {10 00 00 01 00}])

dev:2542023-10-20 09:23:48.102 PMinfoValve ping...

sys:12023-10-20 09:23:41.830 PMinfoZigbee Discovery Stopped

dev:2542023-10-20 09:23:38.211 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x00CC 1 0x01 0x0000 {10 00 00 01 00}])

dev:2542023-10-20 09:23:38.140 PMinfoValve ping...

dev:2542023-10-20 09:23:38.004 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x00CC 1 0x01 0x0000 {10 00 00 01 00}])

dev:2542023-10-20 09:23:37.968 PMinfoValve ping...

dev:2542023-10-20 09:23:37.872 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x00CC 1 0x01 0x0000 {10 00 00 01 00}])

dev:2542023-10-20 09:23:37.807 PMinfoValve ping...

dev:2542023-10-20 09:23:37.703 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x00CC 1 0x01 0x0000 {10 00 00 01 00}])

dev:2542023-10-20 09:23:37.656 PMinfoValve ping...

dev:2542023-10-20 09:23:37.497 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x00CC 1 0x01 0x0000 {10 00 00 01 00}])

dev:2542023-10-20 09:23:37.471 PMinfoValve ping...

dev:2542023-10-20 09:23:37.375 PMinfoValve Round-trip time is 98 ms

dev:2542023-10-20 09:23:37.371 PMdebugValve Tuya check-in message (attribute 0001 reported: 52)

dev:2542023-10-20 09:23:37.363 PMdebugValve Desc Map: [raw:00CC0100000A01002052, dni:00CC, endpoint:01, cluster:0000, size:0A, attrId:0001, encoding:20, command:01, value:52, clusterInt:0, attrInt:1]

dev:2542023-10-20 09:23:37.351 PMdebugValve parse: description is read attr - raw: 00CC0100000A01002052, dni: 00CC, endpoint: 01, cluster: 0000, size: 0A, attrId: 0001, encoding: 20, command: 01, value: 52

dev:2542023-10-20 09:23:37.277 PMdebugValve sendZigbeeCommands (cmd=[he raw 0x00CC 1 0x01 0x0000 {10 00 00 01 00}])

dev:2542023-10-20 09:23:37.249 PMinfoValve ping...

@kkossev I tried to add it near to my repeater far from my hub. still same issue as above

it connect for some time then disconnect

Happy to report back once I receive it. I'm on the C5 though, so won't be able to provide feedback for the C8

Hi

I have Parkside Valve and your driver works the same as generic one I used before.
The issue with Parkside is that when Open Valve command is executed, by default it is set with 5 minutes timer. After that time valve is automatically closed.

I once found option to send open command with timer as below, but not sure if this is possible
{"ontime":20,"on":true} - for example this will open valve for 20 minutes.

Best Regards

1 Like

Hi,
You are the first one who gave some feedback on the Parkside (LIDL) valve..

Can you please first give me the device model and manufacturer - can be found in the Device Details - Data section at the bottom of the web page.

  • endpointId: 01
  • application: 56
  • inClusters: 0000,0004,0005,0006,0003,EF00
  • manufacturer: _TZE200_htnnfasr
  • model: TS0601
  • outClusters: 0019,000A
  • softwareBuild:
  • tuyaVersion: 1.1.6

Thank you Sylwester, I will look at this model this weekekend.

Hey @kkossev,
I've found this driver yesterday and although my valve worked perfectly with the sinope driver, I decided to give yours a shot, since I saw the feature for power-on behaviour. I often have power outages, and it's very frustrating to have to manually let water flow every time. However, at least for my device, the power on behaviour doesn't seem to do anything. I've tried it on "open" and "last state", but neither did anything. Does this setting work for specific devices?

Hi,

I will need to know your valve model and manufacturer, there are at least 2 different models that look the same. Mine is model TS0001 manufactuer _TZ3000_iedbgyxt .

This is what mine is reporting in hubitat.

endpointId: 01
application: 1320FFE2FF
inClusters: 0000,0004,0005,0006
manufacturer: _TYZB01_rifa0wlb
model: TS0011
outClusters: 0019
softwareBuild:

Thanks. This device uses another method for configuring the power on behaviour - will try to add support for it in the next week.

1 Like

Sure, whenever you have the time, there is no rush, just please ping me to test when ready.

1 Like

So I managed to get the device below to pair and it worked while the light was flashing blue.... But when the light stops flashing the device no longer functions. If I repair without deleting it it works again.. Then as soon as the blue light stops flashing after pairing it stops working again.

Get a warning in debug saying it might be sleepy device or offline.

Edit: seems it's not always when the blue light stops flashing, it's either a period of time or maybe after so many open and closes... I'm not exactly sure. However it seems to have a problem within a few minutes at most.

Has your device stay connected. Mine pairs fine, works fine... And then just stops working and I have to repair. I get the same device name as you so hoping there's some hope left in it... I'm on a c5 hub but have a c8 hub sitting there when I find time to change it over...