OZW: Need a way to poll nodes like refresh_node from old Z-Wave integration

I’ve got some Neo Coolcam switches that don’t send an update when operated manually. At the moment I’m polling them every minute 24x7 from a little script using MQTT. I’d prefer to be able to poll them from Home Assistant, so I can trigger the polling on a scene change or automation. I think the old Z-Wave integration had a refresh_node service or something.

The script I use publishes to the MQTT topic OpenZWave/1/command/requestnodedynamic/ and the payload is simply ‘{“node”: $node_id}’

Or you could enable polling on those valueIDkeys?

Thanks for the pointer. It looks like a simper way of doing polling but I would prefer not to do polling but have some way of querying the node as part of an automation. What happens currently is if I manually switch on a light and it doesn’t update hass then I can’t switch it off from hass because hass still thinks it’s off. If I run polling then hass is up to date after the polling interval and I can switch the light off.

What I would like to do is have my automation for switching the light off do the following:

  • Switch the light off
  • Query the node
  • Wait a bit for the node to refresh
  • Switch the light off again
    That way I get the instant off when hass thinks the light is on, and a delayed off if hass thinks the switch is off but actually on.

I can actually do this now by using a shell_script in the automation but it would be a lot nicer if I could just call ozw.refresh_node

Did you find any good solution to this? I am also looking for the old zwave.refresh_node or zwave.refresh_entity functionality with the OpenZwave (Beta) integration to get my fibaro heat controllers to work properly.

Until the service is programmed in you can utilize the mqtt command requestnodestate

2 Likes

I wrote a script to talk to the mqtt server directly. It’s a bit heavyweight as it figures out which devices to query just in case they move around. It works by looking for a certain manufacturer and product ID so you should change those to match your device. Or just type in the node ID. It’s at https://corky.co/update-neo-switches

1 Like

Would you have a sample on how I can do the command?

topic: OpenZWave/<instance>/command/requestnodestate/
payload: { "node" : <node id to refresh> }