feat: add litter box alert and kiosk dashboard automations
Add new automation files to the Home Assistant configuration: - 02a_litter_box_alerts.yaml: Notifications for multiple litter boxes (Poop Box, Triple Threat, Cat Crapper 3000, The Deuce, and Luma Smart) covering waste bin full, low litter level, door error, and deodorant empty alerts, leveraging shared notification blueprints - 06a_kiosk_dashboards.yaml: Automations for managing kiosk dashboards These automations centralize pet-care and maintenance notifications so alerts are triggered consistently across devices.
This commit is contained in:
@@ -0,0 +1,63 @@
|
||||
# - id: '1772978762478'
|
||||
# alias: Kiosk Rotate Dashboards
|
||||
# description: During 8:30 AM-4:00 PM, show summer schedule only on weekdays with
|
||||
# no camp event today; otherwise rotate normally.
|
||||
# triggers:
|
||||
# - minutes: /1
|
||||
# trigger: time_pattern
|
||||
# actions:
|
||||
# - action: calendar.get_events
|
||||
# target:
|
||||
# entity_id: calendar.family_events
|
||||
# data:
|
||||
# start_date_time: '{{ today_at(''00:00'') }}'
|
||||
# end_date_time: '{{ today_at(''00:00'') + timedelta(days=1) }}'
|
||||
# response_variable: agenda
|
||||
# - variables:
|
||||
# camp_events: '{{ (agenda[''calendar.family_events''][''events''] | default([]))
|
||||
# | selectattr(''summary'', ''defined'') | map(attribute=''summary'') | map(''lower'')
|
||||
# | select(''search'', ''camp'') | list | count }}'
|
||||
# should_show_summer: '{{ now().weekday() < 5 and today_at(''08:29:59'') <= now()
|
||||
# < today_at(''16:00'') and (camp_events | int(0)) == 0 }}'
|
||||
# current_view: '{{ states(''input_select.kiosk_view'') }}'
|
||||
# - choose:
|
||||
# - conditions:
|
||||
# - condition: template
|
||||
# value_template: '{{ should_show_summer | bool }}'
|
||||
# sequence:
|
||||
# - action: input_select.select_option
|
||||
# target:
|
||||
# entity_id: input_select.kiosk_view
|
||||
# data:
|
||||
# option: summer-schedule-kiosk
|
||||
# - conditions:
|
||||
# - condition: template
|
||||
# value_template: '{{ current_view == ''summer-schedule-kiosk'' and not (should_show_summer
|
||||
# | bool) }}'
|
||||
# sequence:
|
||||
# - action: input_select.select_next
|
||||
# target:
|
||||
# entity_id: input_select.kiosk_view
|
||||
# data:
|
||||
# cycle: true
|
||||
# default:
|
||||
# - action: input_select.select_next
|
||||
# target:
|
||||
# entity_id: input_select.kiosk_view
|
||||
# data:
|
||||
# cycle: true
|
||||
# mode: single
|
||||
|
||||
# - id: '1772978826069'
|
||||
# alias: Kiosk Navigate Display
|
||||
# description: ''
|
||||
# triggers:
|
||||
# - trigger: state
|
||||
# entity_id: input_select.kiosk_view
|
||||
# actions:
|
||||
# - data:
|
||||
# browser_id:
|
||||
# - raspberry-kiosk
|
||||
# path: /{{ states('input_select.kiosk_view') }}
|
||||
# action: browser_mod.navigate
|
||||
# mode: restart
|
||||
@@ -0,0 +1,49 @@
|
||||
# - id: '1774407470375'
|
||||
# alias: ESPHome Fleet Update
|
||||
# description: ''
|
||||
# triggers:
|
||||
# - at: 03:00:00
|
||||
# trigger: time
|
||||
# - event_type: esphome_fleet_update_trigger
|
||||
# trigger: event
|
||||
# conditions:
|
||||
# - condition: template
|
||||
# value_template: "{{ expand(integration_entities('esphome'))\n | selectattr('entity_id',\
|
||||
# \ 'contains', 'update')\n | selectattr('state', 'eq', 'on')\n | list | count\
|
||||
# \ > 0 }}\n"
|
||||
# actions:
|
||||
# - variables:
|
||||
# pending_devices: "{{ expand(integration_entities('esphome'))\n | selectattr('entity_id',\
|
||||
# \ 'contains', 'update')\n | selectattr('state', 'eq', 'on')\n | map(attribute='entity_id')\
|
||||
# \ | list }}\n"
|
||||
# pending_names: "{{ expand(integration_entities('esphome'))\n | selectattr('entity_id',\
|
||||
# \ 'contains', 'update')\n | selectattr('state', 'eq', 'on')\n | map(attribute='name')\
|
||||
# \ | join(', ') }}\n"
|
||||
# - action: notify.persistent_notification
|
||||
# data:
|
||||
# title: ESPHome Fleet Update Starting
|
||||
# message: 'Updating {{ pending_devices | count }} device(s): {{ pending_names
|
||||
# }}
|
||||
|
||||
# '
|
||||
# - repeat:
|
||||
# for_each: '{{ pending_devices }}'
|
||||
# sequence:
|
||||
# - action: update.install
|
||||
# target:
|
||||
# entity_id: '{{ repeat.item }}'
|
||||
# continue_on_error: true
|
||||
# - wait_template: '{{ not is_state(repeat.item, ''on'') }}
|
||||
|
||||
# '
|
||||
# timeout: 00:05:00
|
||||
# continue_on_timeout: true
|
||||
# - delay:
|
||||
# minutes: 2
|
||||
# - action: notify.persistent_notification
|
||||
# data:
|
||||
# title: ESPHome Fleet Update Complete
|
||||
# message: 'Finished updating {{ pending_devices | count }} device(s): {{ pending_names
|
||||
# }}
|
||||
|
||||
# '
|
||||
Reference in New Issue
Block a user