OpenZWave / qt-openzwave

QT5 Wrapper for OpenZWave
GNU Lesser General Public License v3.0
105 stars 30 forks source link

setValue not working for HS-WD100+ command class configuration params 7 & 9 #100

Closed semlethe3rd closed 4 years ago

semlethe3rd commented 4 years ago

Publishing setValue via MQTT to HS-WD100+ params 7 and 9 not working. Please note setValue works for params 8 and 10 of the same device. Tried issuing the requestallconfigparam command to the node after using setValue and that didn't resolve the issue, which isn't surprising based on the information in the logs. See additional information below:

MQTT Published Data: Topic: OpenZWave/1/command/setValue/ Payload: { "ValueIDKey": 1970324998193174, "Value": 10 }

MQTT Config Parameter # 7 (OpenZWave/1/node/9/instance/1/commandclass/112/value/1970324998193174): { "Label": "Remote level percent", "Value": 1, "Units": "%", "ValueSet": true, "ValuePolled": false, "ChangeVerified": false, "Min": 1, "Max": 99, "Type": "Short", "Instance": 1, "CommandClass": "COMMAND_CLASS_CONFIGURATION", "Index": 7, "Node": 9, "Genre": "Config", "Help": "Indicates how much each level dims/brightens as a portion of the whole range when set remotely.", "ValueIDKey": 1970324998193174, "ReadOnly": false, "WriteOnly": false, "Event": "valueChanged", "TimeStamp": 1591580294 }

Log: ozw_log.txt

Fishwaldo commented 4 years ago

The device didn't accept the new value:

[20200608 1:39:40.491 UTC] [ozw.library] [debug]: Detail - Node: 9 Refreshed Value: old value=1, new value=1, type=short

Nothing wrong with OZW, or ozwdaemon then. You need to ensure your sending values that the device will accept.

kpine commented 4 years ago

FYI, the config file sets parameters 7 and 9 as a short, but the mfg docs say it is a byte. I usually see the device reject the setting if the size is wrong.

The config file was changed in this PR to make params 7 and 9 shorts, when they were previously bytes. https://github.com/OpenZWave/open-zwave/pull/1530. Not sure how it is working for that user. Difference in firmware versions? If OZW is unable to set values 0-99 or 0-255 in a byte value, it doesn't seem like the correct solution is to modify the config parameter size, shouldn't OZW should be fixed?

https://products.z-wavealliance.org/products/2874/configs

image