From 3d0b82b77aedc68d1036a88c25d465f33bc4535c Mon Sep 17 00:00:00 2001 From: Joshua King Date: Tue, 30 Jun 2026 19:08:08 -0400 Subject: [PATCH] Add notify_events step to cat notification automations Mirror existing message/title to notify.notify_events for all litter level, wastebin-full, cat medication, and litter box monitor alerts. Co-Authored-By: Claude Opus 4.8 --- automations/02_alerts_and_notifications.yaml | 40 ++++++++++++++++++++ packages/cat_medication_tracker_ha.yaml | 20 ++++++++++ packages/litter_box_monitor.yaml | 12 ++++++ 3 files changed, 72 insertions(+) diff --git a/automations/02_alerts_and_notifications.yaml b/automations/02_alerts_and_notifications.yaml index 04b96f4..f209269 100644 --- a/automations/02_alerts_and_notifications.yaml +++ b/automations/02_alerts_and_notifications.yaml @@ -261,6 +261,11 @@ title: The Deuce's Litter is Low target: joshua@cnjmail.com enabled: false + - action: notify.notify_events + metadata: {} + data: + message: The Deuce's Litter is Low + title: The Deuce's Litter is Low mode: single - id: '1742841709247' @@ -288,6 +293,11 @@ title: Triple Threat's Litter is Low target: joshua@cnjmail.com enabled: false + - action: notify.notify_events + metadata: {} + data: + message: Triple Threat's Litter is Low + title: Triple Threat's Litter is Low mode: single - id: '1742841764585' @@ -309,6 +319,11 @@ metadata: {} data: message: Cat Crapper 3000's Litter is Low + - action: notify.notify_events + metadata: {} + data: + message: Cat Crapper 3000's Litter is Low + title: Cat Crapper 3000's Litter is Low mode: single - id: '1742841838536' @@ -337,6 +352,11 @@ title: Poop Box's Litter is Low target: joshua@cnjmail.com enabled: falsef + - action: notify.notify_events + metadata: {} + data: + message: Poop Box's Litter is Low + title: Poop Box's Litter is Low mode: single - id: '1742842192548' @@ -365,6 +385,11 @@ title: CLEAN Cat Crapper 3000 - it's full of crap target: joshua@cnjmail.com enabled: false + - action: notify.notify_events + metadata: {} + data: + message: Cat Crapper 3000 is full of crap + title: CLEAN Cat Crapper 3000 - it's full of crap mode: single - id: '1742842261527' @@ -397,6 +422,11 @@ metadata: {} data: message: The Deuce is full of deuces (laundry room) + - action: notify.notify_events + metadata: {} + data: + message: The Deuce is full of deuces (laundry room) + title: Too many dueces have been dropped! mode: single - id: '1742842372471' @@ -429,6 +459,11 @@ title: The poop box is bursting!! target: joshua@cnjmail.com enabled: false + - action: notify.notify_events + metadata: {} + data: + message: The Poop Box has runneth over (basement, left side) + title: The poop box is bursting!! mode: single - id: '1742842458817' @@ -461,6 +496,11 @@ title: Triple Threat can't take no more! target: joshua@cnjmail.com enabled: false + - action: notify.notify_events + metadata: {} + data: + message: Triple Threat can't take no more! (Basement, right side) + title: Triple Threat can't take no more! mode: single - id: '1771090372998' diff --git a/packages/cat_medication_tracker_ha.yaml b/packages/cat_medication_tracker_ha.yaml index 7ad7727..9038358 100644 --- a/packages/cat_medication_tracker_ha.yaml +++ b/packages/cat_medication_tracker_ha.yaml @@ -54,6 +54,10 @@ automation: data: title: "Cat meds done" message: "Penelope and Tess have both been marked medicated today." + - service: notify.notify_events + data: + title: "Cat meds done" + message: "Penelope and Tess have both been marked medicated today." - id: cat_medication_tracker_cat_medicated_notify alias: "Cat Medication Tracker - Cat medicated notification" @@ -81,6 +85,10 @@ automation: data: title: "Cat medication given" message: "{{ cat_name }} has been marked medicated." + - service: notify.notify_events + data: + title: "Cat medication given" + message: "{{ cat_name }} has been marked medicated." - id: cat_medication_tracker_evening_reminder alias: "Cat Medication Tracker - 6PM medication reminder" @@ -116,3 +124,15 @@ automation: {% set ns.cats = ns.cats + ['Tess'] %} {% endif %} {{ ns.cats | join(' and ') }} still need medication. + - service: notify.notify_events + data: + title: "Cat meds still needed" + message: > + {% set ns = namespace(cats=[]) %} + {% if is_state('switch.cat_medication_tracker_penelope_medicated', 'off') %} + {% set ns.cats = ns.cats + ['Penelope'] %} + {% endif %} + {% if is_state('switch.cat_medication_tracker_tess_medicated', 'off') %} + {% set ns.cats = ns.cats + ['Tess'] %} + {% endif %} + {{ ns.cats | join(' and ') }} still need medication. diff --git a/packages/litter_box_monitor.yaml b/packages/litter_box_monitor.yaml index 6971b5d..fa7af38 100644 --- a/packages/litter_box_monitor.yaml +++ b/packages/litter_box_monitor.yaml @@ -204,6 +204,10 @@ automation: data: message: "🐱 A cat is using the litter box right now!" title: "Litter Box Activity" + - action: notify.notify_events + data: + message: "🐱 A cat is using the litter box right now!" + title: "Litter Box Activity" mode: single # --- Reset cat notification cooldown --- @@ -252,6 +256,10 @@ automation: message: "The litter box camera detects the box in a rotated/closed position. The mechanism may be stuck mid-cycle." title: "Litter Box Stuck Closed!" target: "joshua@cnjmail.com" + - action: notify.notify_events + data: + message: "⚠️ The litter box is STUCK ROTATED CLOSED! Visual state is 'closed' — check the mechanism." + title: "Litter Box STUCK CLOSED!" mode: single # --- Reset stuck notification when status returns to normal/open --- @@ -298,6 +306,10 @@ automation: data: message: "🧹 The litter box could use a scoop! Cleanliness: {{ states('sensor.litter_box_camera_cleanliness_score') }}%" title: "Litter Box Needs Scooping" + - action: notify.notify_events + data: + message: "🧹 The litter box could use a scoop! Cleanliness: {{ states('sensor.litter_box_camera_cleanliness_score') }}%" + title: "Litter Box Needs Scooping" mode: single # --- Reset scoop notification cooldown ---