What are people here using for notification if something wrong with a z-wave device?
I use an automation if time since last update on a device is over a certain time-value.
But that does not work on a siren I have (Nexa) that is always on, since it doesn`t give a new last updated value. The same goes for my Aeotec usb stick controller.
Does anyone here have a solution for this problem?
Interesting, this would be useful. Could you share your current solution?
I’m using the following to detect when any device hasn’t sent an update in more than 10 minutes, and if so run a test then a heal. Just add as many duplicates of the BETA line as you need. The ALPHA and OMEGA lines are different, so if you’ve only one device it’ll need some tweaking.
alias: 'ZWave check'
initial_state: 'on'
trigger:
platform: time
minutes: '/5'
seconds: 00
condition:
condition: template
value_template: > {{ ((as_timestamp(now()) | int) - [ as_timestamp(strptime(states.zwave.ALPHA.attributes.receivedTS | string | truncate(19,True,'',0),'%Y-%m-%d %H:%M:%S:%f')),
as_timestamp(strptime(states.zwave.BETA.attributes.receivedTS | string | truncate(19,True,'',0),'%Y-%m-%d %H:%M:%S:%f')),
...
as_timestamp(strptime(states.zwave.OMEGA.attributes.receivedTS | string | truncate(19,True,'',0),'%Y-%m-%d %H:%M:%S:%f')) ] | max | int) > 600 }}
action:
- service: notify.WHOEVER
data:
message: "Z-Wave network has stalled, testing and healing"
- service: zwave.test_network
- delay: 00:01:00
- service: zwave.heal_network
Thank you for your reply.
If I understand your automation correctly, it does the same as mine, just a different approch.
I have one automation per unit, so I easily can get a notification which device it is something wrong with.
- alias: timestamp fire detector kitchen
trigger:
platform: time
minutes: '/60'
seconds: 00
condition:
condition: template
value_template: '{{ (as_timestamp(now())-as_timestamp(states.zwave.brannvarsler_kjokken_5.last_updated)) > 21600 }}'
action:
service: notify.pushover_einar
data_template:
message: 'Something wrong with fire detector kitchen'
I have a battery operated Fibaro fire detector, but even though I have a wake up interval to 1800, it does not get a new update every 1800 seconds, therefor I have so many seconds before I say it fails. I too have a fibaro water detector, and that updates every 1800 seconds. Why it`s different, I do not know.
But as mentioned earlier my siren and aeotec zwave controller does not get a last updated value (just when homeassistant restarts, but that is not a real last updated value). Is there any ways of detecting if they fails?
I do not have a test and heal network service, that could be smart to use.
But the test network service, what does it do? Could you get any output if the test fails?
See here for details on what test and heal do.
I use the received timestamp field, because that always seems to have an update. Worth checking your devices to see if there are any other timestamp fields that are reliable.
Thank you. Sadly receivedTS is the same value as last updated. Sent TS is the same or older.
The problem with the battery powered devices is now fixed. The problem was that I have used the config parameters in hass UI. Seems like it just adjusted the values in the zwave config file, but did not actually change anything in the unit. So I changed to use open zwave control panel, and now the wake up interval is correct.
Still no change for the siren yet thou.