I am trying to use the notification LED bar across 3 Z-Wave products. It’s not working as I expected.
Environment:
-
Controller: Home Assistant with Z-Wave JS
-
Devices: LZW30-SN (Switches), LZW31-SN (Dimmers), LZW36 (Fan/Light Combo)
Objective: Trigger a synchronized LED notification across 15 switches.
-
Effect: Solid
-
Color: Red (0)
-
Brightness: 10% (Level 1)
-
Duration: 10 Hours
The Setup: According to the documentation and the Inovelli Switch Toolbox, a duration between 121 and 254 calculates hours using the formula value - 120. To achieve 10 hours, the duration byte must be 130.
The resulting 4-byte integer is 25297152.
-
Byte 4 (Effect): 1
-
Byte 3 (Duration): 130
-
Byte 2 (Level): 1
-
Byte 1 (Color): 0
The Problem: I am broadcasting this configuration to all switches simultaneously at exactly 9:00 PM. The command is successfully received and executed by all nodes. However, the duration behavior varies strictly by hardware model:
-
LZW30-SN: Behaves exactly as documented. The notification remains active through the night and clears after 10 hours.
-
LZW31-SN & LZW36: The notification clears prematurely. By midnight, all dimmers and fan/light combos have reverted to their default LED state.
Our Hypothesis: Given the timeline, it appears the LZW31-SN and LZW36 firmwares are failing to apply the value - 120 hour math to the duration byte. Instead, they seem to be interpreting the 130 byte linearly as 130 minutes (2 hours and 10 minutes).
If an automation fires at 9:00 PM, a 130-minute timer expires at exactly 11:10 PM, which perfectly matches the observation that they are off when checked at midnight.
What We Have Already Ruled Out:
-
Z-Wave JS Command Syntax: We are using
zwave_js.bulk_set_partial_config_parametersfor the LZW31-SNs andzwave_js.set_config_parameter(with explicitvalue_size: 4andvalue_format: 0) for the LZW30-SNs and LZW36s to account for missing partial parameter metadata in the Z-Wave JS database. The commands are verified to be arriving and activating the correct colors/effects. -
Value Calculation: Verified the
25297152integer multiple times via the Inovelli Switch Toolbox.
Questions:
-
Can anyone confirm if the LZW31-SN and LZW36 firmware handles the 121-254 duration byte differently than the LZW30-SN?
-
Is this a known bug where the hour mapping was omitted and defaults to minutes, or is there an undocumented parameter setting causing this behavior?