Silence the stove detector's queue overflow and fix notify calls in stove and HVAC blueprints
Stove: added max_exceeded: silent (mode: queued, max: 10 kept as-is) since the ~1/s sensor cadence keeps the queue full by design. Fixed five broken notify calls (rise, matched fall, unmatched fall, out-of-window edge, cycle timeout) that rendered notify_target's target-selector dict into the service name instead of resolving it, replacing each with notify.send_message + target: !input notify_target. HVAC: same fix at its one notify call, after confirming its notify_target input is the same target selector. Claude-Session: https://claude.ai/code/session_017vaW5jtjrCqhV9nUDr8mQa
This commit is contained in:
@@ -140,7 +140,8 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ notify_target | length > 0 }}"
|
||||
sequence:
|
||||
- service: notify.{{ notify_target }}
|
||||
- service: notify.send_message
|
||||
target: !input notify_target
|
||||
data:
|
||||
message: >
|
||||
HVAC '{{ hvac_action }}' action for {{ interval }} minutes showed ineffective operation.
|
||||
|
||||
@@ -188,8 +188,11 @@ blueprint:
|
||||
# Serialized queued execution (not restart) is what makes the snapshot-then-settle-delay
|
||||
# resample technique safe: near-simultaneous phase1/phase2 trigger firings are processed one
|
||||
# after another instead of restarting each other mid-delay or being dropped.
|
||||
# The queue runs steadily full by design at the ~1/s sensor cadence, so max_exceeded is
|
||||
# silenced rather than logged as an overflow.
|
||||
mode: queued
|
||||
max: 10
|
||||
max_exceeded: silent
|
||||
|
||||
trigger:
|
||||
- platform: state
|
||||
@@ -287,7 +290,8 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ notify_target | length > 0 }}"
|
||||
sequence:
|
||||
- service: notify.{{ notify_target }}
|
||||
- service: notify.send_message
|
||||
target: !input notify_target
|
||||
data:
|
||||
message: >
|
||||
Stove signature detected: +{{ magnitude | round(0) }}W
|
||||
@@ -330,7 +334,8 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ notify_target | length > 0 }}"
|
||||
sequence:
|
||||
- service: notify.{{ notify_target }}
|
||||
- service: notify.send_message
|
||||
target: !input notify_target
|
||||
data:
|
||||
message: >
|
||||
Matching element drop: -{{ magnitude | round(0) }}W
|
||||
@@ -357,7 +362,8 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ notify_target | length > 0 }}"
|
||||
sequence:
|
||||
- service: notify.{{ notify_target }}
|
||||
- service: notify.send_message
|
||||
target: !input notify_target
|
||||
data:
|
||||
message: >
|
||||
Ignored non-matching drop: -{{ magnitude | round(0) }}W
|
||||
@@ -386,7 +392,8 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ notify_target | length > 0 }}"
|
||||
sequence:
|
||||
- service: notify.{{ notify_target }}
|
||||
- service: notify.send_message
|
||||
target: !input notify_target
|
||||
data:
|
||||
message: >
|
||||
Ignored power edge: delta1 {{ delta1 | round(0) }}W / delta2
|
||||
@@ -421,7 +428,8 @@ action:
|
||||
- choose:
|
||||
- conditions: "{{ notify_target | length > 0 }}"
|
||||
sequence:
|
||||
- service: notify.{{ notify_target }}
|
||||
- service: notify.send_message
|
||||
target: !input notify_target
|
||||
data:
|
||||
message: >
|
||||
No matching stove activity for {{ cycle_timeout_minutes }}m -> OFF
|
||||
|
||||
Reference in New Issue
Block a user