kkossev / Hubitat

Hubitat Elevation drivers and apps
25 stars 17 forks source link

When in Scene mode, TS004F broadcasts the button-press events, instead of unicast to Hubitat Elevation Zigbee coordinator. #3

Closed kkossev closed 2 years ago

kkossev commented 2 years ago

Main issue: When in Scene mode, TS004F broadcasts the button-press events, instead of unicast to HE ZIgbee cordinator.

kkossev commented 2 years ago

I've managed to bind clusters 6 EP 1,2,3 and 4 to the ZIgbee coordinator (bind commands were accepted / in effect by TS004F only when sent during the pairing process ! ).

But.... TS004F after each keypress continues to send 3 unicasts to the ZIgbee coordinator! :(

These 2 or 3 reparative commands have one and the same Sequence number, but unfortunately, the sequence numbers are not accessible by the driver in my platform. I see the serial numbers are inside the Payload of the Cluster:On/Off (x00006) command generated by TS0004F, but probably because the command is non-standard ( 0xFD) my hub does not expose the full payload of the command (that is actually 12 bytes), where the Sequence number is.

Even if the sequence number of the device unicast was accessible from the driver, the only benefit would be the easier (and more effective) filtering of the duplicated commands. The device still sends 2 additional duplicated commands to the coordinator, waiting 800 milliseconds between. So when two different keys are pressed fast, the second keypress is sent from TS004F after 3200 milliseconds! I think this may explain why TS004F keypress reaction time is much slower even when paired to Tuya gateway when compared to the good old TS0044, but I have to repeat the same experiment using Tuya Zigbee gateway again.

So, for the moment not much real use in sending a unicast instead of broadcast. :(

kkossev commented 2 years ago

Hubitat Elevation platform-specific, nothing can be done from the driver side... Closed.

MattWestb commented 2 years ago

Can HA forcing sending dealt response to no ZCL commands ? The Zigbee stack is sending default response to all ZCL commands if the flag in the frame is not set (flag name = disable default response), ZHA can doing that and is being used for all TS004X plus the DP / MCU devices (TS0601) and some more devices that is using no standard cluster / commands / attributes for not getting repeated frames from the devices. If can getting the system sending it is the switch not blocked re sending commands and is working faster the sending more commands fast.

By the way great work done !!