The Future of Z-Wave in HA - QT-OpenZWave

Excellent! I was unaware of the “refreshvalue” MQTT command. That allowed me to move my 2 dimmer modules off of polling and just refreshing them 4 seconds after any command to them. For the remaining 3 switches that don’t report manually, I think I’m going to have to aggressively refresh them. I don’t like it, but I don’t have a better option right now. 3 refreshvalues (1 per switch) every 5 seconds is quite sufficient, and I doubt will have too much of a performance hit on the network.

I have begun my migration to the new QT-OpenZWave. I am trying to rename the device and auto update the entity id’s (like the popup mentions) and sometimes it doesn’t work. Only the device name is updated. Any ideas why? Any easy way to “manually” update a few items that doesn’t involve multi clicks per device? Screenshot of mentioned popup below.

Screen Shot 2020-09-19 at 2.40.26 AM

If you click Ok on that dialog it should rename the entitiy_ids as well, if it’s not occuring it’s usually due to the entities having been renamed already.

Is this still the future path? It’s difficult for me to follow updates or progress since there’s been no movement in the public repo for over 2 months and no response to critical issues like the one I filed several weeks ago. Right now I’m completely blocked and not sure what to do.

I’m contemplating moving to Zwave2Mqtt as a possible resolution, which seems to continue to see active development. Has anyone made a move in that direction?

1 Like

I dont have an answer for you but am curious as well as to why there have been no updates lately. I can’t complain much as my setup seems to just work right now. I had a crash a couple of weeks ago from the OZWD container that required a restart, but other than that, been rock solid since. It is nice to restart Home Assistant as much as you want and not have to wait for the network to reload.

1 Like

I too am starting to get worried. I’ve raised my concern in a separate thread https://community.home-assistant.io/t/srt321-zwave-thermostat-setpoint-still-not-supported-and-winter-is-approaching-fast/231077 but I’m wondering if I need to revert to the previous ZWave implementation (or ZWave2MQTT) to get my thermostat working properly

Is @Fishwaldo allright?

I’m considering reverting as well.

Well, his last activity on GitHub was in August, so maybe he is just taking a vacation :grinning:

If he would be unable to work on ozw anymore, this would have an impact on zwave2mqtt as well, as it is also based on open zwave, where fishwaldo is (one of the) the main contributor(s).

I had the same concern :wink:

Can anyone help with this. I’m just getting to understand the mqtt.publish stuff.

This worked for my ge dimmer that was having issues reporting

        topic: "OpenZWave/1/command/requestnodedynamic/"
        payload: "{\"node\":127}"

this did not

        topic: "OpenZWave/1/command/requestnodedynamic/"
        payload: "{\"ValueIDKey\":2202632209}"

I used mqtt explorer to get the valueidkey.

Before I dig deeper just wanted to verify my format. Thanks in advance for any help

You want refreshvalue for the latter. requestnodedynamic is only for nodes.

Thank you for the quick reply. Still not working. this is the whole auotmation

- alias: "Refresh Hallway Status"
  trigger:
    platform: state
    entity_id: 
      - light.hallway_light
  action:
    - delay:
        milliseconds: "{{ range(500, 1500) | random }}"
    - service: mqtt.publish
      data:
        topic: "OpenZWave/1/command/refreshvalue/"
        payload: "{\"ValueIDKey\":2202632209}"

The light still does not report status well to HA. Request node worked well, just want to follow good practices and learn for the next time

@ discord > Zwave thread

from Fishwaldo

Hi All - just chiming in with a update why no progress on OZW recently. I had a power spike kill my laptop and server and on top of that work has been very busy. I’ve got a new laptop arriving this weekend (hopefully damn you covid) and a server soon. Might be a week or two before I can get back to OZW tho.

Are you sure the trigger is being triggered? Did you trigger it manually and verify if that action works or not?

Double check the value key is the right one. For a dimmer it would be the “Level” value. Check the response to make sure the command was accepted, OpenZWave/1/event/refreshvalue/ should have a payload with status “ok”.

Watch the ozwdaemon logs to see what happens and if it’s triggering a refresh or not. I see:

[ozw.library] [info]: Info - Node: 0 mgr,     Refreshing node 3: COMMAND_CLASS_SWITCH_MULTILEVEL index = 0 instance = 1 (to confirm a reported change)

It makes no difference, but for readability I prefer single quotes.

payload: '{ "ValueIDKey": 2202632209 }'

The automation does trigger. It runs when I use node vs valueidkey. I did try earlier the format you’ve listed

Here is the info from that payload


{
  "Label": "Level",
  "Value": 64,
  "Units": "",
  "ValueSet": true,
  "ValuePolled": false,
  "ChangeVerified": false,
  "Min": 0,
  "Max": 255,
  "Type": "Byte",
  "Instance": 1,
  "CommandClass": "COMMAND_CLASS_SWITCH_MULTILEVEL",
  "Index": 0,
  "Node": 131,
  "Genre": "User",
  "Help": "The Current Level of the Device",
  "ValueIDKey": 2202632209,
  "ReadOnly": false,
  "WriteOnly": false,
  "Event": "valueChanged",
  "Event": "valueRefreshed",
  "TimeStamp": 1601749832
}

Here is the screen capture of mqtt explorer.

I’ll check the logs next

Interestingly enough. I noticed that it works when I turn on a switch, but turning the light off does not work using that mqtt payload

I see this in the logs for the “off command”

2020-10-03 18:43:10.866228617  [20201003 18:43:10.866 UTC] [ozw.mqtt.publisher] [debug]: "Sat Oct 3 18:43:10 2020 PingResponse\n" 
2020-10-03 18:43:18.480830988  [20201003 18:43:18.480 UTC] [ozw.mqtt.commands] [debug]: Got  "OpenZWave/1/command/setvalue/"  Message:  "{\"ValueIDKey\": 2202632209, \"Value\": 0}" 
2020-10-03 18:43:18.482795945  [20201003 18:43:18.482 UTC] [ozw.mqtt.commands.setValue] [info]: Setting  2202632209  to Value  QVariant(uint, 0) 
2020-10-03 18:43:18.483396362  [20201003 18:43:18.483 UTC] [ozw.values] [debug]: setData Called for Row 990  With Value QVariant(uint, 0) 
2020-10-03 18:43:18.483497783  [20201003 18:43:18.483 UTC] [ozw.values] [debug]: valueModel Changed! QTOZW_ValueIds::Value - 990 :  QVariant(uint, 0) 
2020-10-03 18:43:18.483582548  [20201003 18:43:18.483 UTC] [ozw.values] [debug]: valueModel Changed! vidKey: 2202632209 QVariant(uint, 0) 
2020-10-03 18:43:18.483699732  [20201003 18:43:18.483 UTC] [ozw.library] [info]: Info - Node: 131 Value::Set - COMMAND_CLASS_SWITCH_MULTILEVEL - Level - 0 - 1 - 0 
2020-10-03 18:43:18.483798802  [20201003 18:43:18.483 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.484707586  [20201003 18:43:18.484 UTC] [ozw.library] [info]: Info - Node: 131 SwitchMultilevel::Set - Setting to level 0 
2020-10-03 18:43:18.484772645  [20201003 18:43:18.484 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.485571647  [20201003 18:43:18.485 UTC] [ozw.library] [info]: Info - Node: 131   Duration: Device Default 
2020-10-03 18:43:18.485689661  [20201003 18:43:18.485 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.486478803  [20201003 18:43:18.486 UTC] [ozw.library] [debug]: Detail - Node: 131 Queuing (Send) SwitchMultilevelCmd_Set (Node=131): 0x01, 0x0b, 0x00, 0x13, 0x83, 0x04, 0x26, 0x01, 0x00, 0xff, 0x25, 0x47, 0xda 
2020-10-03 18:43:18.486664933  [20201003 18:43:18.486 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.487584225  [20201003 18:43:18.487 UTC] [ozw.library] [debug]: Detail - Node: 131 Queuing (Send) SwitchMultilevelCmd_Get (Node=131): 0x01, 0x09, 0x00, 0x13, 0x83, 0x02, 0x26, 0x02, 0x25, 0x48, 0x2d 
2020-10-03 18:43:18.487641931  [20201003 18:43:18.487 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.488567650  [20201003 18:43:18.488 UTC] [ozw.library] [info]: Info - Node: 131 Sending (Send) message (Callback ID=0x47, Expected Reply=0x13) - SwitchMultilevelCmd_Set (Node=131): 0x01, 0x0b, 0x00, 0x13, 0x83, 0x04, 0x26, 0x01, 0x00, 0xff, 0x25, 0x47, 0xda 
2020-10-03 18:43:18.488808552  [20201003 18:43:18.488 UTC] [ozw.mqtt.commands] [info]: Processed Message for  "setvalue" :  "{\"ValueIDKey\": 2202632209, \"Value\": 0}" 
2020-10-03 18:43:18.489214499  [20201003 18:43:18.488 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.490592958  [20201003 18:43:18.490 UTC] [ozw.library] [info]: Info - Node: 131 Encrypted Flag is 0 
2020-10-03 18:43:18.490681446  [20201003 18:43:18.490 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.498100898  [20201003 18:43:18.497 UTC] [ozw.library] [debug]: Detail - Node: 131   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8 
2020-10-03 18:43:18.498384660  [20201003 18:43:18.498 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.499273984  [20201003 18:43:18.499 UTC] [ozw.library] [debug]: Detail - Node: 131   ZW_SEND_DATA delivered to Z-Wave stack 
2020-10-03 18:43:18.499448698  [20201003 18:43:18.499 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.536309497  [20201003 18:43:18.536 UTC] [ozw.library] [debug]: Detail - Node: 131   Received: 0x01, 0x05, 0x00, 0x13, 0x47, 0x00, 0xae 
2020-10-03 18:43:18.536497695  [20201003 18:43:18.536 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.537523394  [20201003 18:43:18.537 UTC] [ozw.library] [debug]: Detail - Node: 131   ZW_SEND_DATA Request with callback ID 0x47 received (expected 0x47) 
2020-10-03 18:43:18.537722247  [20201003 18:43:18.537 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.539301704  [20201003 18:43:18.539 UTC] [ozw.library] [info]: Info - Node: 131 Request RTT 47 Average Request RTT 47 
2020-10-03 18:43:18.539548352  [20201003 18:43:18.539 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.541208287  [20201003 18:43:18.541 UTC] [ozw.library] [debug]: Detail - Node: 131   Expected callbackId was received 
2020-10-03 18:43:18.541406327  [20201003 18:43:18.541 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.543030403  [20201003 18:43:18.542 UTC] [ozw.library] [debug]: Detail - Node: 131   Expected reply was received 
2020-10-03 18:43:18.543288122  [20201003 18:43:18.543 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.544844972  [20201003 18:43:18.544 UTC] [ozw.library] [debug]: Detail - Node: 131   Message transaction complete 
2020-10-03 18:43:18.545032723  [20201003 18:43:18.544 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.546569727  [20201003 18:43:18.546 UTC] [ozw.library] [debug]: Detail - Node: 131 Removing current message 
2020-10-03 18:43:18.546760336  [20201003 18:43:18.546 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.548298800  [20201003 18:43:18.548 UTC] [ozw.library] [info]: Info - Node: 131 Sending (Send) message (Callback ID=0x48, Expected Reply=0x04) - SwitchMultilevelCmd_Get (Node=131): 0x01, 0x09, 0x00, 0x13, 0x83, 0x02, 0x26, 0x02, 0x25, 0x48, 0x2d 
2020-10-03 18:43:18.548519711  [20201003 18:43:18.548 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.549995691  [20201003 18:43:18.549 UTC] [ozw.library] [info]: Info - Node: 131 Encrypted Flag is 0 
2020-10-03 18:43:18.550207841  [20201003 18:43:18.550 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.557445398  [20201003 18:43:18.557 UTC] [ozw.library] [debug]: Detail - Node: 131   Received: 0x01, 0x04, 0x01, 0x13, 0x01, 0xe8 
2020-10-03 18:43:18.557723749  [20201003 18:43:18.557 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.558965041  [20201003 18:43:18.558 UTC] [ozw.library] [debug]: Detail - Node: 131   ZW_SEND_DATA delivered to Z-Wave stack 
2020-10-03 18:43:18.559181767  [20201003 18:43:18.559 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.603027609  [20201003 18:43:18.602 UTC] [ozw.library] [debug]: Detail - Node: 131   Received: 0x01, 0x05, 0x00, 0x13, 0x48, 0x00, 0xa1 
2020-10-03 18:43:18.603103780  [20201003 18:43:18.603 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.604176059  [20201003 18:43:18.604 UTC] [ozw.library] [debug]: Detail - Node: 131   ZW_SEND_DATA Request with callback ID 0x48 received (expected 0x48) 
2020-10-03 18:43:18.604409048  [20201003 18:43:18.604 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.605895861  [20201003 18:43:18.605 UTC] [ozw.library] [info]: Info - Node: 131 Request RTT 54 Average Request RTT 50 
2020-10-03 18:43:18.606135952  [20201003 18:43:18.605 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.607622070  [20201003 18:43:18.607 UTC] [ozw.library] [debug]: Detail - Node: 131   Expected callbackId was received 
2020-10-03 18:43:18.607829487  [20201003 18:43:18.607 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.674742022  [20201003 18:43:18.674 UTC] [ozw.library] [debug]: Detail - Node: 131   Received: 0x01, 0x09, 0x00, 0x04, 0x00, 0x83, 0x03, 0x26, 0x03, 0x40, 0x17 
2020-10-03 18:43:18.674822940  [20201003 18:43:18.674 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.675971240  [20201003 18:43:18.675 UTC] [ozw.library] [info]: Info - Node: 131 Response RTT 124 Average Response RTT 122 
2020-10-03 18:43:18.676272962  [20201003 18:43:18.676 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.677517716  [20201003 18:43:18.677 UTC] [ozw.library] [info]: Info - Node: 131 Received SwitchMultiLevel report: level=64 
2020-10-03 18:43:18.677730615  [20201003 18:43:18.677 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.679010109  [20201003 18:43:18.678 UTC] [ozw.library] [debug]: Detail - Node: 131 Value Updated: old value=64, new value=64, type=byte 
2020-10-03 18:43:18.679161748  [20201003 18:43:18.679 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.680129941  [20201003 18:43:18.680 UTC] [ozw.library] [debug]: Detail - Node: 131 Changes to this value are not verified 
2020-10-03 18:43:18.680272657  [20201003 18:43:18.680 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.681322645  [20201003 18:43:18.681 UTC] [ozw.library] [debug]: Detail - Node: 131   Expected reply and command class was received 
2020-10-03 18:43:18.681469240  [20201003 18:43:18.681 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.682632430  [20201003 18:43:18.682 UTC] [ozw.library] [debug]: Detail - Node: 131   Message transaction complete 
2020-10-03 18:43:18.682857438  [20201003 18:43:18.682 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.683892760  [20201003 18:43:18.683 UTC] [ozw.library] [debug]: Detail - Node: 131 Removing current message 
2020-10-03 18:43:18.684105249  [20201003 18:43:18.684 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.685332661  [20201003 18:43:18.685 UTC] [ozw.library] [debug]: Detail - Node: 131 Notification: ValueRefreshed CC: COMMAND_CLASS_SWITCH_MULTILEVEL Instance: 1 Index: 0 
2020-10-03 18:43:18.685511758  [20201003 18:43:18.685 UTC] [ozw.logging] [debug]: popping Log Mesages 
2020-10-03 18:43:18.686659475  [20201003 18:43:18.686 UTC] [ozw.notifications] [debug]: Notification pvt_valueRefreshed:  2202632209 Thread:  0x7f1ab96a09c0 
2020-10-03 18:43:18.692599845  [20201003 18:43:18.692 UTC] [ozw.mqtt.publisher] [debug]: Publishing Event valueRefreshed: 2202632209 

The end result, is the light is actually off, but HA did not change at all. Still showing ON with a birghtness of 65. Second click turns it “off” in HA immediately.

Looks like your delay is too short. Look at the times where the setvalue and refreshvalue are processed. I think your refresh was received before the Set command was even sent to the z-wave network.

EDIT: Actually, there is no refreshvalue command received in those logs. That Get is from the Set.

Oddly enough when I turned on the light it did send a refresh value, just not when I turned it off. I only have two dimmers that are having this issue. Weirdly enough they are newer GE Zwave plus. I have older GE dimmers that I used to have to set up polling with the previous intergration and those are working fine.

I dont turn these on/off that often, so I think I’ll just live with the extra bit of poling and just poll the entire node, which works great.

Thanks for helping me troubleshoot, learned a good amount how the data flows

I think because the value did not change, HA never updated the state, so no trigger. Another way to do this would be to use an MQTT trigger, and trigger off of the setvalue command instead for the value id.

That approach is basically a re-implementation of the old zwave refresh_value config setting.

1 Like