For now you can either downgrade to a version of Z-Wave JS before v12.9.0, or install a custom device config file modified with the compat flag is shown here.
You can also first verify it is this bug by running this driver code and seeing if it works. (Replace 164 with your node number). Go to Hamburger Menu → Advanced Actions → Driver function. Payload 99 turns on, 0 turns off.
const { logger, zwaveClient, require } = this
const {CommandClass} = require("zwave-js");
const {CommandClasses} = require("@zwave-js/core");
const cc = new CommandClass(driver, {
nodeId: 164,
ccId: CommandClasses["Multilevel Switch"], // or 0x5d
ccCommand: 0x01,
payload: Buffer.from([99]),
});
await driver.sendCommand(cc);
I copied tz55d file from same location as tz67 above and modified. Tail of tz55d:
{
"#": "5",
"label": "Suspend Group 4",
"description": "Disable transmitting commands to devices that are in Group 4",
"valueSize": 1,
"minValue": 0,
"maxValue": 1,
"defaultValue": 0
}
],
"compat": {
// The device does not react to Multilevel Switch commands that include a duration field
"encodeCCsUsingTargetVersion": true
}
}
Complete path /homeassistant/store/config/tz55d.json.
Power cycled HA
Re-interviewed the devices
I managed to get a more detailed log when trying to turn on light, but the content is beyond my knowledge.
I don’t know if this enough to file a bug report?
2024-06-13T08:28:38.260Z DRIVER all queues busy
2024-06-13T08:28:38.262Z SERIAL » 0x010b00130804260163ff252451 (13 bytes)
2024-06-13T08:28:38.262Z DRIVER » [Node 008] [REQ] [SendData]
│ transmit options: 0x25
│ callback id: 36
└─[MultilevelSwitchCCSet]
target value: 99
duration: default
2024-06-13T08:28:38.285Z SERIAL « [ACK] (0x06)
2024-06-13T08:28:38.292Z SERIAL « 0x0104011301e8 (6 bytes)
2024-06-13T08:28:38.292Z SERIAL » [ACK] (0x06)
2024-06-13T08:28:38.293Z DRIVER « [RES] [SendData]
was sent: true
2024-06-13T08:28:38.308Z SERIAL « 0x0107001324000003cc (9 bytes)
2024-06-13T08:28:38.308Z SERIAL » [ACK] (0x06)
2024-06-13T08:28:38.309Z DRIVER « [REQ] [SendData]
callback id: 36
transmit status: OK
2024-06-13T08:28:38.311Z CNTRLR [Node 008] [~] [Multilevel Switch] currentValue: 0 => 99 [Endpoint 0]
2024-06-13T08:28:38.313Z DRIVER all queues idle
2024-06-13T08:28:43.313Z DRIVER all queues busy
2024-06-13T08:28:43.315Z SERIAL » 0x01090013080226022525cb (11 bytes)
2024-06-13T08:28:43.315Z DRIVER » [Node 008] [REQ] [SendData]
│ transmit options: 0x25
│ callback id: 37
└─[MultilevelSwitchCCGet]
2024-06-13T08:28:43.318Z SERIAL « [ACK] (0x06)
2024-06-13T08:28:43.326Z SERIAL « 0x0104011301e8 (6 bytes)
2024-06-13T08:28:43.327Z SERIAL » [ACK] (0x06)
2024-06-13T08:28:43.328Z DRIVER « [RES] [SendData]
was sent: true
2024-06-13T08:28:43.342Z SERIAL « 0x0107001325000002cc (9 bytes)
2024-06-13T08:28:43.343Z SERIAL » [ACK] (0x06)
2024-06-13T08:28:43.345Z DRIVER « [REQ] [SendData]
callback id: 37
transmit status: OK
2024-06-13T08:28:43.354Z SERIAL « 0x01090004000803260300dc (11 bytes)
2024-06-13T08:28:43.354Z SERIAL » [ACK] (0x06)
2024-06-13T08:28:43.357Z CNTRLR [Node 008] [~] [Multilevel Switch] currentValue: 99 => 0 [Endpoint 0]
2024-06-13T08:28:43.362Z DRIVER « [Node 008] [REQ] [ApplicationCommand]
└─[MultilevelSwitchCCReport]
current value: 0
2024-06-13T08:28:43.363Z DRIVER all queues idle
'''
“Embedded” is the built-in file, “User-provided” is the one you added to the store/config directory. Is “User-provided” showing for your node in question?
I managed to get a more detailed log when trying to turn on light, but the content is beyond my knowledge.
This log looks fine, aside from the incorrect value report. There are no communication errors. What do these logs look like when you try running the driver function from above?