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:
2026-09-25 22:52:20 -04:00
parent 591e66b208
commit bca2e3f5a0
2 changed files with 15 additions and 6 deletions
+2 -1
View File
@@ -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.
+13 -5
View File
@@ -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