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:
|
- choose:
|
||||||
- conditions: "{{ notify_target | length > 0 }}"
|
- conditions: "{{ notify_target | length > 0 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.{{ notify_target }}
|
- service: notify.send_message
|
||||||
|
target: !input notify_target
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
HVAC '{{ hvac_action }}' action for {{ interval }} minutes showed ineffective operation.
|
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
|
# 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
|
# resample technique safe: near-simultaneous phase1/phase2 trigger firings are processed one
|
||||||
# after another instead of restarting each other mid-delay or being dropped.
|
# 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
|
mode: queued
|
||||||
max: 10
|
max: 10
|
||||||
|
max_exceeded: silent
|
||||||
|
|
||||||
trigger:
|
trigger:
|
||||||
- platform: state
|
- platform: state
|
||||||
@@ -287,7 +290,8 @@ action:
|
|||||||
- choose:
|
- choose:
|
||||||
- conditions: "{{ notify_target | length > 0 }}"
|
- conditions: "{{ notify_target | length > 0 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.{{ notify_target }}
|
- service: notify.send_message
|
||||||
|
target: !input notify_target
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
Stove signature detected: +{{ magnitude | round(0) }}W
|
Stove signature detected: +{{ magnitude | round(0) }}W
|
||||||
@@ -330,7 +334,8 @@ action:
|
|||||||
- choose:
|
- choose:
|
||||||
- conditions: "{{ notify_target | length > 0 }}"
|
- conditions: "{{ notify_target | length > 0 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.{{ notify_target }}
|
- service: notify.send_message
|
||||||
|
target: !input notify_target
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
Matching element drop: -{{ magnitude | round(0) }}W
|
Matching element drop: -{{ magnitude | round(0) }}W
|
||||||
@@ -357,7 +362,8 @@ action:
|
|||||||
- choose:
|
- choose:
|
||||||
- conditions: "{{ notify_target | length > 0 }}"
|
- conditions: "{{ notify_target | length > 0 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.{{ notify_target }}
|
- service: notify.send_message
|
||||||
|
target: !input notify_target
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
Ignored non-matching drop: -{{ magnitude | round(0) }}W
|
Ignored non-matching drop: -{{ magnitude | round(0) }}W
|
||||||
@@ -386,7 +392,8 @@ action:
|
|||||||
- choose:
|
- choose:
|
||||||
- conditions: "{{ notify_target | length > 0 }}"
|
- conditions: "{{ notify_target | length > 0 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.{{ notify_target }}
|
- service: notify.send_message
|
||||||
|
target: !input notify_target
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
Ignored power edge: delta1 {{ delta1 | round(0) }}W / delta2
|
Ignored power edge: delta1 {{ delta1 | round(0) }}W / delta2
|
||||||
@@ -421,7 +428,8 @@ action:
|
|||||||
- choose:
|
- choose:
|
||||||
- conditions: "{{ notify_target | length > 0 }}"
|
- conditions: "{{ notify_target | length > 0 }}"
|
||||||
sequence:
|
sequence:
|
||||||
- service: notify.{{ notify_target }}
|
- service: notify.send_message
|
||||||
|
target: !input notify_target
|
||||||
data:
|
data:
|
||||||
message: >
|
message: >
|
||||||
No matching stove activity for {{ cycle_timeout_minutes }}m -> OFF
|
No matching stove activity for {{ cycle_timeout_minutes }}m -> OFF
|
||||||
|
|||||||
Reference in New Issue
Block a user