Z-wave issues with Hass.io and TKB Home (Wenzhou) device TZ78 (and TZ68)

Tags: #<Tag:0x00007f739a06bd68> #<Tag:0x00007f739a06bb60> #<Tag:0x00007f739a06b6b0>

Hi all,

I’ve bougth a TKB Home TZ78 and successfully connected it to a my Hass.io setup with an Aotec gen 5 USB stick. My problem is that the device is being recognized as a TZ68, so I need to edit the OZW files to include some options that are different. I am unable to find the OZW library on my rpi via Samba. So what I did is let everything initialize and then try to edit the zwcfg_*.xml (see below)

But when I am sending this command to the device:

2018-02-01 18:04:34.528 Info, Node002, Value::Set - COMMAND_CLASS_CONFIGURATION - mode - 3 - 1 - edge-toggle
2018-02-01 18:04:34.528 Info, Node002, Configuration::Set - Parameter=3, Value=3 Size=1
2018-02-01 18:04:34.528 Detail, Node002, Queuing (Send) ConfigurationCmd_Set (Node=2): 0x01, 0x0c, 0x00, 0x13, 0x02, 0x05, 0x70, 0x04, 0x03, 0x01, 0x03, 0x25, 0x26, 0x91
2018-02-01 18:04:34.528 Detail, Node002, Queuing (Send) ConfigurationCmd_Get (Node=2): 0x01, 0x0a, 0x00, 0x13, 0x02, 0x03, 0x70, 0x05, 0x03, 0x25, 0x27, 0x93

I am getting the reply that parameter is set to zero, which is not an allowed value. And the device is not registering/saving it (see log file for more details):

2018-02-01 18:04:34.607 Detail, Node002,   Received: 0x01, 0x0b, 0x00, 0x04, 0x00, 0x02, 0x05, 0x70, 0x06, 0x03, 0x01, 0x00, 0x83
2018-02-01 18:04:34.611 Detail,
2018-02-01 18:04:34.611 Info, Node002, Response RTT 40 Average Response RTT 49
2018-02-01 18:04:34.611 Info, Node002, Received Configuration report: Parameter=3, Value=0

zwfcg_ log.xml (2.7 KB)

I presumably thought the problem was with the device, so I reached out to TKB Home over this issue. They pointed me to an inconsistency with the frame length:

In the log you gave me. I found a problem with the data length.
In the attached picture: you can see the 0x70 means the command is a configuration command.
In the definition of configuration set command , after the 0x70,is the 0x04(set),0x03(the paragram number),0x01(the paragram size),0x01(paragram value),then the checksum.
But you have the extra two Byte data. So the Product will ignore the wrong length command.

In the configuration Get command, for the wrong length invalid command,the product will reponse a zero value.
Best regards.

So my question is, how do I fix this? Or more specifically, how do I define the payload of the ConfigurationCmd_Set command since I believe the correct payload should be (removed the last two) : 0x01, 0x0c, 0x00, 0x13, 0x02, 0x05, 0x70, 0x04, 0x03, 0x01, 0x03, 0x25
And out of interest what do the last two bytes even mean? Assuming 0x25 is the checksum, what are 0x26, 0x91 communicating?

zwfcg_.xml (21.3 KB)

You have find solution ?