How to send a “basic command class” value to z-wave device?

I’m not getting any error when I try a non-0 value; just it’s not changing.

But can you go back a few steps - I need some explanations:
a) Where did you find those 3 lines of XML - I don’t see them in open-zwave git
b) I know hex, but I’m not seeing how you get 0xFE out of that - probably because I don’t know what the request_flags and mapping fields do or how the XML is interpreted. Can you point to the appropriate doc?

1 Like

Sorry that was from @bronger’s XML from November. Ignore that.

Again going off his post.

It’s not reporting a change or physically not changing?
If it’s just not reporting, there’s a configuration option for that: Valve Opening Percentage Report

If it’s not physically changing, then it honestly sounds like they need to fix the firmware of the device.

When you try to set to a non-0 value what shows up in the Openzwave log? (OZW_Log.txt) or the console of OZWCP

As far as I can tell physically not changing; the value read back for the valve position is 0, and the LCD displays a ‘0’ that I think is the valve position.

As for logs, I turned on debug and I’ve got:

DEBUG:libopenzwave:SetValueListSelection Off
DEBUG:libopenzwave:SetValueListSelection True
DEBUG:libopenzwave:notif_callback : new notification
DEBUG:libopenzwave:notif_callback : Notification type : 2, nodeId : 7
DEBUG:libopenzwave:addValueId : ValueID : 72057594160611332
DEBUG:libopenzwave:addValueId : GetCommandClassId : 64, GetType : 4
DEBUG:libopenzwave:addValueId : Notification : {‘notificationType’: ‘ValueChanged’, ‘homeId’: 4140730395, ‘nodeId’: 7, ‘valueId’: {‘homeId’: 4140730395, ‘nodeId’: 7, ‘commandClass’: ‘COMMAND_CLASS_THERMOSTAT_MODE’, ‘instance’: 1, ‘index’: 0, ‘id’: 72057594160611332, ‘genre’: ‘User’, ‘type’: ‘List’, ‘value’: ‘Off’, ‘label’: ‘Mode’, ‘units’: ‘’, ‘readOnly’: False}}
DEBUG:libopenzwave:notif_callback : call callback context
DEBUG:openzwave:zwcallback args=[{‘notificationType’: ‘ValueChanged’, ‘homeId’: 4140730395, ‘nodeId’: 7, ‘valueId’: {‘homeId’: 4140730395, ‘nodeId’: 7, ‘commandClass’: ‘COMMAND_CLASS_THERMOSTAT_MODE’, ‘instance’: 1, ‘index’: 0, ‘id’: 72057594160611332, ‘genre’: ‘User’, ‘type’: ‘List’, ‘value’: ‘Off’, ‘label’: ‘Mode’, ‘units’: ‘’, ‘readOnly’: False}}]
DEBUG:openzwave:Z-Wave Notification ValueChanged : {‘notificationType’: ‘ValueChanged’, ‘homeId’: 4140730395, ‘nodeId’: 7, ‘valueId’: {‘homeId’: 4140730395, ‘nodeId’: 7, ‘commandClass’: ‘COMMAND_CLASS_THERMOSTAT_MODE’, ‘instance’: 1, ‘index’: 0, ‘id’: 72057594160611332, ‘genre’: ‘User’, ‘type’: ‘List’, ‘value’: ‘Off’, ‘label’: ‘Mode’, ‘units’: ‘’, ‘readOnly’: False}}
DEBUG:libopenzwave:notif_callback : end
DEBUG:libopenzwave:SetValueListSelection Manufacturer Specific
DEBUG:libopenzwave:SetValueListSelection True
DEBUG:openzwave:set_dimmer Level:20

it still seems to write the normal log file:
drwxrwxr-x 2 dg dg 4096 Dec 26 2018 include
(zwave) dg@gort2:~/zwave$ cat OZW_Log.log
2019-07-07 01:03:40.181 Always, OpenZwave Version 1.4.3297 Starting Up
2019-07-07 01:03:44.266 Warning, CheckCompletedNodeQueries m_allNodesQueried=0 m_awakeNodesQueried=0
2019-07-07 01:03:44.266 Warning, CheckCompletedNodeQueries all=0, deadFound=0 sleepingOnly=1
2019-07-07 01:03:45.093 Warning, Node004, index Value in XML was greater than range. Setting to Invalid
2019-07-07 01:03:45.093 Warning, Node004, index Value in XML was greater than range. Setting to Invalid
2019-07-07 01:03:45.326 Warning, Node005, index Value in XML was greater than range. Setting to Invalid
2019-07-07 01:03:45.326 Warning, Node005, index Value in XML was greater than range. Setting to Invalid
2019-07-07 01:03:45.578 Warning, Node007, index Value in XML was greater than range. Setting to Invalid
2019-07-07 01:03:45.578 Warning, Node007, index Value in XML was greater than range. Setting to Invalid
2019-07-07 01:03:49.982 Warning, CheckCompletedNodeQueries m_allNodesQueried=0 m_awakeNodesQueried=1
2019-07-07 01:03:50.050 Warning, CheckCompletedNodeQueries all=0, deadFound=0 sleepingOnly=1
2019-07-07 01:03:50.052 Warning, CheckCompletedNodeQueries m_allNodesQueried=0 m_awakeNodesQueried=1
2019-07-07 01:03:50.052 Warning, CheckCompletedNodeQueries all=0, deadFound=0 sleepingOnly=1
2019-07-07 01:03:50.053 Warning, CheckCompletedNodeQueries m_allNodesQueried=0 m_awakeNodesQueried=1
2019-07-07 01:03:50.053 Warning, CheckCompletedNodeQueries all=1, deadFound=0 sleepingOnly=1

which I think is mostly just the normal startup stuff.

The code at the end that did that was:
TRV_davidoffice_node.values[TRV_davidoffice_node.dg_valid_mode].data = “Off”
time.sleep(5.0)
TRV_davidoffice_node.values[TRV_davidoffice_node.dg_valid_mode].data = “Manufacturer Specific”
TRV_davidoffice_node.set_dimmer(dim_valid, 20)

now I think if it was previously non-0 (e.g. it was in Heat mode and the room was cold) then setting it to 0 makes it go to 0.

I know this is an old post but i just figured it out and want to let everyone know.

If you post this in HA as a service the valve will go to manufacturer specific:

When using zWave JS you can then open and close the valve with the build in valve position entity.

In the code this line i highlighted should be added:

Knipsel

1 Like