I’m trying to set the “LED Indicator Color” parameter in the Inovelli products to a custom value using Z-Wave JS through a websocket to zwavejs2mqtt docker container 2.4.0 (which runs zwave-js 6.6.3). I’ll focus on the LZW31-SN dimmer here for simplicity, but it’s the same for all of them. Using the service call:
service: zwave_js.set_config_parameter
data:
parameter: LED Indicator Color
value: 170
entity_id: light.family_room
I’m able to set the indicator to blue. Changing the value to, say, 145 gives me the error:
zwave_js_server.exceptions.InvalidNewValue: Must provide a value that represents a valid state key or label from {“0”: “Red”, “21”: “Orange”, “42”: “Yellow”, “85”: “Green”, “127”: “Cyan”, “170”: “Blue”, “212”: “Violet”, “234”: “Pink”}
I see that this aligns with the predefined values in the Zwave JS Config Database, but if I read this correctly, I should be able to send any value between 0 – 255 like in the deprecated Z-Wave 1.4 integration. Parameter 13’s value column in the database reads:
Range: 0 - 255
Default: 170
Predefined:
0: Red
21: Orange
42: Yellow
85: Green
127: Cyan
170: Blue
212: Violet
234: Pink
If I log into the zwavejs2mqtt web interface and set the configuration parameter that way I can set it to any number, so I believe the issue is in the service call and not in the switch firmware or container driver and configuration.
What am I doing wrong? Is the full range not supported yet? I don’t see a discussion around limiting parameters to pre-defined values in the integration roadmap, but it’s possible this is a separate bug that’s already been filed and I’m just not finding it.