I have an automation set to run a script when pressing the top button of any of my 7 ZEN34 scene controllers. The script sends my phone a notification, and runs the circulation pump (which is on a Wifi switch) for one minute.
This morning, around 7am, I got a flood of notifications - dozens of them - and the pump run for 6 minutes in a row. The same thing happened at 1pm. I haven’t made any change to any automation in the last few days. I was asleep at 7am, and so was my husband. Nobody could have pressed the switch once, never mind dozens of times. My phone was on silent - I saw the notifications later when I woke up.
What’s going on here ? Seems like ghosts in the Z-wave signal.
How can I determine which scene controller it was that generated this notification flood, short of splitting my automation into 7 different ones, and waiting for the problem to happen again ?
For now, I disabled this automation, but not having it means waiting about 2.5 minutes for hot water vs 1 minute with the pump (house is big with very long pipes).
FYI, here is the automation (from a blueprint) :
mode: restart
max_exceeded: silent
variables:
logger: blueprint.zwave_scene_activation
device_ids:
- 1a081a1c11d642920ceea2961d3a26d5
- 13e23e8cd8484be5d95103103310cc97
- 882c42f6547c7bafd030cb88ad4b58d3
- e523e2c8911bed076e8bc0b49a05c0a2
- e09b5e05e9a460e2a84edd90c0794c59
- 7080d40351ff3b22a0e867abddd49dcf
- 4679a1b3c9ca4bbd303dfb8643b12aa7
key_up_scene_id: Scene 001
key_down_scene_id: Scene 002
is_loop_for_hold_up: false
is_loop_for_hold_down: false
trigger:
- platform: event
event_type: zwave_js_value_notification
condition: '{{ trigger.event.data.device_id in device_ids }}'
action:
- variables:
scene_id: '{{trigger.event.data.label}}'
key_pressed: '{{trigger.event.data.value}}'
value_raw: '{{trigger.event.data.value_raw}}'
- choose:
- conditions:
- condition: template
value_template: '{{ trigger.event.data.device_id in device_ids }}'
sequence:
- choose:
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_up_scene_id and (key_pressed ==
'KeyPressed' or value_raw == 0) }}
sequence:
- service: script.1663379903786
data: {}
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_down_scene_id and (key_pressed ==
'KeyPressed' or value_raw == 0) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_up_scene_id and (key_pressed ==
'KeyPressed2x' or value_raw == 3) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_down_scene_id and (key_pressed ==
'KeyPressed2x' or value_raw == 3) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_up_scene_id and (key_pressed==
'KeyPressed3x' or value_raw == 4) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_down_scene_id and (key_pressed ==
'KeyPressed3x' or value_raw == 4) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_up_scene_id and (key_pressed==
'KeyPressed4x' or value_raw == 5) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_down_scene_id and (key_pressed ==
'KeyPressed4x' or value_raw == 5) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_up_scene_id and (key_pressed ==
'KeyPressed5x' or value_raw == 6) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_down_scene_id and (key_pressed ==
'KeyPressed5x' or value_raw == 6) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_up_scene_id and (key_pressed ==
"KeyReleased" or value_raw == 1 ) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_down_scene_id and (key_pressed ==
"KeyReleased" or value_raw == 1 ) }}
sequence: []
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_up_scene_id and (key_pressed ==
"KeyHeldDown" or value_raw == 2) }}
sequence:
- repeat:
sequence: []
until: '{{ not is_loop_for_hold_up }}'
- conditions:
- condition: template
value_template: >-
{{ scene_id == key_down_scene_id and (key_pressed ==
"KeyHeldDown" or value_raw == 2)}}
sequence:
- repeat:
sequence: []
until: '{{ not is_loop_for_hold_down }}'
default:
- service: system_log.write
data:
level: debug
logger: '{{ logger }}'
message: >-
Activated scene '{{ trigger.event.data.scene_label }}' ({{
trigger.event.data.label }}) with value '{{
trigger.event.data.scene_value_label }}' ({{
trigger.event.data.value }}) for node '{{ zwave_nodeid }}'
({{ trigger.event.data.node_id }})
default: []
id: '1685831631249'
alias: Scene controllers run circulation pump upon top paddle 1x press
description: ''