Hi,
I have a Tuya FingerBot Plus and when using the Zigbee Shell sample:
1.I can 'click' the finger using a ZCL command
2. I can't change the 'finger mode' from 'click' to 'switch' using the shell zcl attribute write command.
I have managed to change the finger mode using Home Assistant and a SkyConnect dongle on a Pi so I know it can be done, I just keep getting the 134 error in the Zigbee Shell.
(EDIT: I've just added a capture with it working for home assistant.)
Versions:
nrf52840
nRF Connect SDK + ZigBee Shell: v2.6.1 (also occurs on v2.5.2)
nRF-Sniffer-for-802.15.4: fec12fbf84f3f38ad754776f2338b803e49e1a66
Commands that work:
uart:~$ zdo simple_desc_req 0xd2c3 1
src_addr=0xd2c3 ep=1 profile_id=0x0104 app_dev_id=0x0 app_dev_ver=0x1 in_clusters=0x0006,0xef00,0x0000 out_clusters=0x0019,0x000a
Done
# Toggle finger:
uart:~$ zcl cmd 0xd2c3 1 0x0006 0x02
Done
Attribute write command that fails (nRF sniffer log attached):
uart:~$ zcl attr write 0xd2c3 1 0xef00 0x0104 0x65 0x30 0x01
Error: Status 134
[00:40:10.948,181] <inf> zigbee.eprxzcl: Received ZCL command (1): src_addr=0xd2c3(short) src_ep=1 dst_ep=64 cluster_id=0xef00 profile_id=0x0104 cmd_dir=1 common_cmd=1 cmd_id=0x04 cmd_seq=23 disable_def_resp=1 manuf_code=void payload=[866500] (1)
Reference material from: github.com/.../ts0001_fingerbot.py
class TuyaFingerbotCluster(TuyaMCUCluster):
attributes = TuyaMCUCluster.attributes.copy()
attributes.update(
{
101: ("mode", FingerBotMode),
102: ("down_movement", t.uint16_t),
103: ("sustain_time", t.uint16_t),
104: ("reverse", FingerBotReverse),
105: ("battery", t.uint16_t),
106: ("up_movement", t.uint16_t),
107: ("touch_control", t.Bool),
}
)
# Ref: 101 = 0x65
class FingerBotMode(t.enum8):
CLICK = 0x00
SWITCH = 0x01
PROGRAM = 0x02
TuyaFingerbotCluster -> TuyaMCUCluster -> TuyaNewManufCluster -> cluster_id => TUYA_CLUSTER_ID = 0xEF00
As well as the 0x30 (8BIT_ENUM) attribute type I have also tried these, just in case: 0x08 (8BIT), 0x20 (U8), 0x28 (S8)
I did start looking into supplying a custom_manufac flag & manufact_code to the ZB frame creation thinking this was some kind of custom cluster, but as the cluster id of 0xef00 is below 0xfbff (as defined in ZB_ZCL_IS_CLUSTER_MANUF_SPEC() macro) then that doesn't seem necessary.
Any help would be much aprrieicated.
Thanks
Wayne
2705.write_attribute_fail.pcap.ziphomeassistant_set_mode_1_working.pcapng.zip