Open Zwave Beta and Inovelli lzw36 not reporting state

Tags: #<Tag:0x00007f7393e65f60> #<Tag:0x00007f7393e65e20>

New HA user, I’m working on setting up an Inovelli LZW36 switch/fan controller. It shows up in HA and I can control both the fan and light via HA.

I am running into issues with the state not updating correctly in HA when i manually press the buttons on the switch. I have read some options that seem to work for the old Zwave integration(polling_interval, polling_intensity) but I’m not sure how to apply them to the beta openzwave integration.

I’m not sure what to check next, any suggestions would be appreciated.

This is working now. I removed the device and added it again.

There are times where updates happen almost immediately, and other times it takes 10-15 seconds. It also seems to get out of sync periodically, I haven’t left it for a while to see if it eventually syncs. I can live with the above for what I’m doing currently.

Is there any way to force devices to re-sync state on an interval?

I’m using an automation to refresh the entities for this node after a state change is observed. I think there might be a thread on this in the Inovelli forums, had to set this up when the device was first launched.

 #Refresh fan/light entities for current status
 - alias: Refresh fan/light entities
   initial_state: 'false'
     - platform: event
       event_type: state_changed
         entity_id: light.inovelli_lzw36_fan_light_dimmer_level_3
     - service: zwave.refresh_entity
         entity_id: light.inovelli_lzw36_fan_light_dimmer_level
     - service: zwave.refresh_entity
         entity_id: light.inovelli_lzw36_fan_light_dimmer_level_2
 #Turn on 'Refresh fan light/entities' automation after Z-Wave network started
 - alias: Refresh fan/light entities delay
     platform: event
     event_type: zwave.network_ready
     - service: automation.turn_on
         entity_id: automation.refresh_fan_light_entities

OP is using the OpenZWave Beta integration which does not yet provide refresh service calls. You can write a similar automation though, using MQTT directly.

- alias: Refresh after Set
  - platform: mqtt
    topic: OpenZWave/1/command/setvalue/
  - condition: template
    value_template: '{{ trigger.payload_json.ValueIDKey == 89161751}}'
  - delay: 00:00:05
  - data:
      payload: '{ "ValueIDKey": 89161751 }'
      topic: OpenZWave/1/command/refreshvalue/
    service: mqtt.publish
  mode: restart

Triggering on the setvalue mqtt payload means the automation will run anytime something (like HA) changes the switch value via MQTT. Using the state_changed event is not always reliable because in some cases the state never actually changes.

You need to find the value id key for the value to refresh using something like MQTT explorer. You could also include multiple keys in the condition, and programatically extract the key from the payload. I think some others have posted examples here.

As for the zwave integration, the automatic refresh is already implemented for you, so the automation should not be necessary. You should be able to replace it by enabling the refresh_value configuration setting, which refreshes light entities automatically (disabled by default). There are plenty of examples provided in this community.