Files
Home-Assistant/automations.yaml
T
2026-07-09 13:30:12 -04:00

1439 lines
41 KiB
YAML

- id: '1780072464609'
alias: 'Camera: Send Motion Notifications'
description: Sends a push notification to your primary mobile device when Nest cameras
detect activity.
triggers:
- entity_id:
- camera.entryway_camera
- camera.front_door
- camera.hallway_camera
- camera.living_room_camera
trigger: state
conditions: []
actions:
- action: notify.notify
data:
title: Motion Detected!
message: Activity detected on one of your Nest security cameras.
mode: parallel
max: 10
- id: '1780125759253'
alias: 'Tablet: Dim Screen at Night'
description: Drops tablet brightness to zero at night
triggers:
- at: 01:00:00
trigger: time
actions:
- action: notify.mobile_app_sm_t387w
data:
message: command_screen_brightness_level
data:
command: 0
- id: '1780125803824'
alias: 'Tablet: Restore Screen in Morning'
description: Restores tablet brightness to normal in the morning
triggers:
- at: 07:00:00
trigger: time
actions:
- action: notify.mobile_app_sm_t387w
data:
message: command_screen_brightness_level
data:
command: 180
- id: '1780343863793'
alias: Front Door Notification
description: ''
triggers:
- trigger: state
entity_id:
- binary_sensor.front_door
from:
- 'off'
to:
- 'on'
- trigger: state
entity_id:
- binary_sensor.patio_door
from:
- 'off'
to:
- 'on'
conditions: []
actions:
- target:
entity_id:
- light.kitchen_home_kitchen
action: light.toggle
- delay: 00:00:15
- target:
entity_id:
- light.kitchen_home_kitchen
action: light.toggle
- data:
message: There is someone at the front door
action: notify.notify
mode: single
variables:
_cafe_metadata:
version: 1
strategy: native
nodes:
trigger_1780343037167_0:
x: -615
y: -705
action_1780343442574_1:
x: -360
y: -630
delay_1780343604675_2:
x: -120
y: -360
action_1780343739141_3:
x: 75
y: -615
action_1780343804458_4:
x: 330
y: -615
trigger_1780343965767_5:
x: -615
y: -555
graph_id: 7ad98446-4ce0-4b88-a400-430ac474a617
graph_version: 1
- id: '1780441470361'
alias: Reload Hilo Integrations on Reboot
description: Reloads problematic integrations 2 minutes after Home Assistant starts
up.
triggers:
- trigger: homeassistant
event: start
conditions: []
actions:
- delay:
hours: 0
minutes: 3
seconds: 0
milliseconds: 0
- action: homeassistant.reload_config_entry
metadata: {}
target:
device_id:
- 3e67afd88a4b4d17552c8f370aaf40b5
- baad176ac2f415f3642e2d075bb6a977
data: {}
mode: single
- id: '1780509027967'
alias: Notify When Ring Console Battery Low
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.entryway_keypad_battery
below: 25
conditions: []
actions:
- data:
message: Keypad Battery Low. Please Charge ASAP
title: Ring Console Battery
action: notify.notify
mode: single
variables:
_cafe_metadata:
version: 1
strategy: native
nodes:
trigger_1780508927611_4:
x: 15
y: -105
action_1780508992783_5:
x: 285
y: 45
graph_id: 816af3b7-3eac-47c3-8da3-8797d1774c0c
graph_version: 1
- id: '1780516946807'
alias: Notify When Front Door Sensor Battery Low
description: ''
triggers:
- trigger: numeric_state
entity_id:
- sensor.front_door_battery
below: 25
conditions: []
actions:
- data:
message: Front Door Sensor Battery Low. Please Change Batteries ASAP.
title: Ring Console Battery
action: notify.notify
mode: single
variables:
_cafe_metadata:
version: 1
strategy: native
nodes:
trigger_1780508927611_4:
x: 15
y: -105
action_1780508992783_5:
x: 285
y: 45
graph_id: 816af3b7-3eac-47c3-8da3-8797d1774c0c
graph_version: 1
- id: '1780813227139'
alias: 'Alert: Fridge or Freezer Power Outage'
description: Triggers an alert if the fridge or freezer smart plug power consumption
drops to 0W for too long.
triggers:
- trigger: numeric_state
entity_id:
- sensor.freezer_power
for:
hours: 0
minutes: 45
seconds: 0
below: 0.2
id: freezer_down
- trigger: numeric_state
entity_id:
- sensor.fridge_power
for:
hours: 0
minutes: 20
seconds: 0
below: 0.2
id: fridge_down
conditions: []
actions:
- if:
- condition: trigger
id: freezer_down
then:
- data:
title: "\U0001F6A8 URGENT: Freezer Power Failure"
message: The Freezer smart plug has drawn 0W of power for over 40 minutes!
Check the physical appliance immediately.
action: notify.notify
else:
- if:
- condition: trigger
id: fridge_down
then:
- data:
title: "\U0001F6A8 URGENT: Fridge Power Failure"
message: The Fridge smart plug has drawn 0W of power for over 20 minutes!
Check the physical appliance immediately.
action: notify.notify
else: []
mode: single
variables:
_cafe_metadata:
version: 1
strategy: native
nodes:
trigger_1780846348490_0_0:
x: 12
y: 182
trigger_1780846348490_1_1:
x: 12
y: 22
condition_1780846348491_2_2:
x: 312
y: 92
action_1780846348491_3_3:
x: 632
y: 12
condition_1780846348491_4_4:
x: 632
y: 172
action_1780846348491_5_5:
x: 952
y: 102
graph_id: 5948b900-b45d-4c2e-ae73-c880acc3a1bf
graph_version: 1
- id: '1780989340205'
alias: 'Kitchen: Coffee Maker Active Notification'
description: Sends a mobile application push notification when the coffee maker
power exceeds 1000W for 5 seconds.
triggers:
- entity_id: sensor.coffee_maker_power
above: 1000
for:
hours: 0
minutes: 0
seconds: 5
trigger: numeric_state
conditions: []
actions:
- data:
title: ☕ Coffee Time
message: Someone is Making Coffee
action: notify.notify
- action: notify.persistent_notification
metadata: {}
data:
title: ☕ Coffee Time
message: Someone is Making Coffee
- delay:
hours: 0
minutes: 4
seconds: 0
milliseconds: 0
mode: single
- id: '1781024962776'
alias: 'Office: Turn On Lights on Motion then Door Open'
description: Triggers when office door opens, but only if living room motion happened
in the last 30 seconds and light is off.
triggers:
- trigger: state
entity_id: binary_sensor.office_door_contact
to: 'on'
conditions:
- condition: time
after: '10:00:00'
before: '20:00:00'
- condition: state
entity_id: light.playroom_light
state: 'off'
- condition: template
value_template: '{{ (now() - states.binary_sensor.basement.last_changed).total_seconds()
< 30 }}'
actions:
- action: light.turn_on
target:
entity_id: light.playroom_light
data: {}
mode: single
- id: '1781034724187'
alias: 'Office: Turn Off Lights on Exit'
description: Turns off office lights 2 minutes after the door closes, but only if
living room motion was detected after the door shut.
triggers:
- trigger: state
entity_id: binary_sensor.office_door_contact
to: 'off'
conditions:
- condition: state
entity_id: light.playroom_light
state: 'on'
- condition: template
value_template: '{{ states.binary_sensor.basement.last_changed > states.binary_sensor.office_door_contact.last_changed
}}'
actions:
- delay:
minutes: 2
- action: light.turn_off
target:
entity_id: light.playroom_light
data: {}
mode: single
- id: '1781102033733'
alias: Water Leak Detected
description: ''
triggers:
- type: moist
device_id: 59bc102f385d7a3524c8f21a5c53592b
entity_id: c268ff8842e905515de2274d09c5ab9e
domain: binary_sensor
metadata:
secondary: false
trigger: device
conditions: []
actions:
- action: notify.notify
metadata: {}
data:
title: "\U0001F6A8 URGENT: Water Leak Detected"
message: Water Leak Detected in Basement. Check Water Heater for Leaks.
- action: persistent_notification.create
metadata: {}
data:
title: "\U0001F6A8 URGENT: Water Leak Detected"
message: Water Leak Detected in Basement. Check Water Heater for Leaks.
mode: single
- id: '1781112110968'
alias: 'Freezer Safety: Alert if Plug Turns Off'
description: Triggers an immediate notification if the freezer smart plug is turned
off.
triggers:
- trigger: state
entity_id: switch.freezer
to: 'off'
for:
minutes: 1
actions:
- action: notify.notify
data:
title: "\U0001F6A8 FREEZER PLUG TRIPPED!"
message: The freezer smart plug turned off. Check it immediately to prevent
food spoilage.
- action: notify.persistent_notification
metadata: {}
data:
title: "\U0001F6A8 FREEZER PLUG TRIPPED!"
message: The freezer smart plug turned off. Check it immediately to prevent
food spoilage.
mode: single
- id: '1781275767970'
alias: 'Dishwasher: Cycle Finished Notification'
description: Alerts when the dishwasher finishes washing
triggers:
- entity_id:
- sensor.150633095332665_progress
from:
- Dry
to:
- Complete
trigger: state
actions:
- action: notify.notify
data:
title: Dishwasher Done
message: The dishwasher cycle has completed successfully!
mode: single
- id: '1781275801564'
alias: 'Dishwasher: Rinse Aid Low Warning'
description: Alerts when rinse aid needs a refill
triggers:
- entity_id: binary_sensor.150633095332665_rinse_aid
to: 'on'
trigger: state
actions:
- action: notify.notify
data:
title: Dishwasher Maintenance
message: The dishwasher is low on rinse aid. Please refill it before the next
cycle!
mode: single
- id: '1781278655292'
alias: 'Dishwasher: Dishwasher Started Notification'
description: Alerts when the dishwasher starts washing
triggers:
- entity_id:
- sensor.150633095332665_status
to:
- Running
trigger: state
conditions: []
actions:
- action: notify.notify
data:
title: Dishwasher Started
message: The dishwasher cycle has started!
mode: single
- id: '1781279642928'
alias: 'Dishwasher: Rinse Aid Refilled Notification'
description: Alerts when rinse aid has been refilled
triggers:
- entity_id:
- binary_sensor.150633095332665_rinse_aid
to:
- 'off'
trigger: state
from:
- 'on'
conditions: []
actions:
- action: notify.notify
data:
title: Dishwasher Maintenance
message: The dishwasher rinse aid has been refilled!
mode: single
- id: '1781282506359'
alias: Dishwasher Cycle Tracker
description: ''
triggers:
- trigger: state
entity_id:
- sensor.150633095332665_progress
to:
- Complete
conditions: []
actions:
- action: counter.increment
target:
entity_id:
- counter.dishwasher_wash_cycles
- counter.dishwasher_total_wash_cycles
data: {}
mode: single
- id: '1781283625261'
alias: 'Dishwasher: Create Persistent Filter Alert'
description: Pins a notification to the sidebar when the dishwasher hits 40 cycles.
triggers:
- entity_id:
- counter.dishwasher_wash_cycles
above: 30
trigger: numeric_state
conditions: []
actions:
- action: persistent_notification.create
data:
title: Dishwasher Filter Maintenance
message: The dishwasher has completed 30 cycles. Please clean the physical mesh
filter and press Reset on your dashboard.
notification_id: dishwasher_filter_reminder
- action: notify.notify
metadata: {}
data:
title: Dishwasher Filter Maintenance
message: The dishwasher has completed 30 cycles. Please clean the physical mesh
filter and press Reset on your dashboard.
mode: single
- id: '1781283661169'
alias: 'Dishwasher: Clear Persistent Filter Alert'
description: Automatically removes the sidebar notification when the counter is
reset.
triggers:
- entity_id: counter.dishwasher_wash_cycles
below: 10
trigger: numeric_state
conditions: []
actions:
- action: persistent_notification.dismiss
data:
notification_id: dishwasher_filter_reminder
mode: single
- id: '1781285278462'
alias: 'Tablet: Dim Screen at Night v2'
description: Shuts the tablet screen off completely at night
triggers:
- at: 01:00:00
trigger: time
actions:
- action: notify.mobile_app_sm_t387w
data:
message: command_screen_off_timeout
data:
command: 1000
- id: '1781285326960'
alias: 'Tablet: Restore Screen in Morning v2'
description: Wakes the tablet and restores brightness/timeout
triggers:
- at: 07:00:00
trigger: time
actions:
- action: notify.mobile_app_sm_t387w
data:
message: command_screen_on
data:
command: turn_on
- action: notify.mobile_app_sm_t387w
data:
message: command_screen_off_timeout
data:
command: 120000
- action: notify.mobile_app_sm_t387w
data:
message: command_screen_brightness_level
data:
command: 180
- id: '1781320273276'
alias: 'Tablet: Fix Greyed Out Brightness'
description: Disables auto-brightness and restores manual slider control
triggers:
- at: 07:00:00
trigger: time
actions:
- action: notify.mobile_app_sm_t387w
data:
message: command_auto_screen_brightness
data:
command: turn_off
- action: notify.mobile_app_sm_t387w
data:
message: command_screen_brightness_level
data:
command: 180
- id: '1781392657515'
alias: 'Washing Machine: Cycle Status'
description: Triggers notifications when the washing machine starts and finishes
its cycle based on power consumption with debouncing.
triggers:
- entity_id: sensor.washer_power
above: 10
id: washer_started
trigger: numeric_state
- entity_id: sensor.washer_power
below: 3
for:
hours: 0
minutes: 4
seconds: 0
id: washer_finished
trigger: numeric_state
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: washer_started
- condition: state
entity_id: input_boolean.washer_running
state: 'off'
sequence:
- action: input_boolean.turn_on
target:
entity_id: input_boolean.washer_running
- action: notify.notify
data:
title: Washer Started
message: The washing machine has started its cycle.
- conditions:
- condition: trigger
id: washer_finished
- condition: state
entity_id: input_boolean.washer_running
state: 'on'
sequence:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.washer_running
- action: notify.notify
data:
title: Washer Finished
message: The washing machine has completed its cycle. Time to empty it!
- id: '1781402128095'
alias: Daily Morning Climate Report
description: Triggers the weather and comfort report script every morning at 7:00
AM
triggers:
- at: 07:00:00
trigger: time
conditions: []
actions:
- action: script.weather_and_comfort_report
mode: single
- id: '1781403940897'
alias: 'Microwave: Cycle Status'
description: Triggers notifications when the microwave starts and finishes based
on power consumption.
triggers:
- entity_id:
- sensor.microwave_power
above: 100
id: microwave_started
trigger: numeric_state
- entity_id: sensor.microwave_power
below: 3
for:
hours: 0
minutes: 1
seconds: 0
id: microwave_finished
trigger: numeric_state
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: microwave_started
- condition: state
entity_id: input_boolean.microwave_running
state: 'off'
sequence:
- action: input_boolean.turn_on
target:
entity_id: input_boolean.microwave_running
- action: notify.notify
data:
title: Microwave Started
message: The microwave is running.
- conditions:
- condition: trigger
id: microwave_finished
- condition: state
entity_id: input_boolean.microwave_running
state: 'on'
sequence:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.microwave_running
- action: notify.notify
data:
title: Microwave Finished
message: The microwave has finished!
- id: '1781404011664'
alias: 'Ninja Toaster Oven: Cycle Status'
description: Triggers notifications when the Ninja toaster oven starts and finishes
cooking, with a buffer for element heat cycling.
triggers:
- entity_id: sensor.ninja_power
above: 10
id: ninja_started
trigger: numeric_state
- entity_id: sensor.ninja_power
below: 3
for:
hours: 0
minutes: 3
seconds: 0
id: ninja_finished
trigger: numeric_state
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: ninja_started
- condition: state
entity_id: input_boolean.ninja_running
state: 'off'
sequence:
- action: input_boolean.turn_on
target:
entity_id: input_boolean.ninja_running
- action: notify.notify
data:
title: Ninja Ovens Started
message: The Ninja toaster oven is heating up.
- conditions:
- condition: trigger
id: ninja_finished
- condition: state
entity_id: input_boolean.ninja_running
state: 'on'
sequence:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.ninja_running
- action: notify.notify
data:
title: Ninja Oven Finished
message: The Ninja toaster oven has finished cooking!
- id: '1781445544080'
alias: 'Kitchen: Coffee Maker Cycle Status'
description: 'Triggers on the high-wattage grinder spike. Dynamically waits for
the cycle to finish: it requires a minimum of 1 minute to pass AND the power to
drop back to the TV baseline.'
triggers:
- trigger: numeric_state
entity_id: sensor.coffee_maker_power
above: 800
id: coffee_started
- trigger: numeric_state
entity_id: sensor.coffee_maker_power
below: 15
for:
hours: 0
minutes: 1
seconds: 0
id: coffee_finished
conditions: []
actions:
- choose:
- conditions:
- condition: trigger
id: coffee_started
- condition: state
entity_id: input_boolean.coffee_maker_running
state: 'off'
sequence:
- action: input_boolean.turn_on
target:
entity_id: input_boolean.coffee_maker_running
- action: notify.notify
data:
title: ☕ Coffee Time
message: Someone is making coffee.
- action: notify.persistent_notification
data:
title: ☕ Coffee Time
message: Someone is making coffee.
- conditions:
- condition: trigger
id: coffee_finished
- condition: state
entity_id: input_boolean.coffee_maker_running
state: 'on'
sequence:
- action: input_boolean.turn_off
target:
entity_id: input_boolean.coffee_maker_running
- action: notify.notify
data:
title: ☕ Coffee Ready
message: Your coffee is ready to enjoy!
mode: single
- id: '1781793117883'
alias: Basement Temperature Change
description: ''
triggers:
- type: temperature
device_id: 3e67afd88a4b4d17552c8f370aaf40b5
entity_id: 64689573a8b11a83829efcae0022d7c1
domain: sensor
trigger: device
above: 15
below: 10
conditions: []
actions:
- action: notify.notify
metadata: {}
data:
title: Basement Temperature Change
message: Basement Temperature Changed!
mode: single
- id: '1782161891986'
alias: 'Notification: Pool Sensor Low Battery'
description: Alert when the pool temperature sensor battery drops below 15%
triggers:
- entity_id: sensor.pool_temperature_battery
below: 15
trigger: numeric_state
conditions: []
actions:
- data:
title: Pool Sensor Battery Low
message: The pool temperature sensor battery is currently at {{ states('sensor.pool_temperature_battery')
}}%. Please change it soon.
action: notify.persistent_notification
- action: notify.notify
metadata: {}
data:
title: Pool Sensor Battery Low
message: The pool temperature sensor battery is currently at {{ states('sensor.pool_temperature_battery')
}}%. Please change it soon.
mode: single
- &id001
id: commute_morning_traffic_alert_map
alias: 'Commute: Morning Traffic Alert with Map'
description: Checks commute times at 7:15 AM and attaches a map if traffic is bad.
triggers:
- at: 07:15:00
trigger: time
conditions:
- condition: or
conditions:
- condition: template
value_template: '{{ states(''sensor.google_travel_time_work_work'') | float(0)
> 35 }}'
- condition: template
value_template: '{{ states(''sensor.waze_travel_time'') | float(0) > 35 }}'
actions:
- action: camera.snapshot
target:
entity_id: camera.camera_commute_map
data:
filename: /config/www/commute_snapshot.jpg
- action: notify.notify
data:
title: "\U0001F6A8 Commute Delay Alert!"
message: "Traffic is heavier than usual this morning. \nGoogle Maps: {{ states('sensor.google_travel_time_work_work')
}} mins. Waze: {{ states('sensor.waze_to_work_travel_time') }} mins."
data:
image: /local/commute_snapshot.jpg
enabled: false
- action: notify.persistent_notification
data:
title: "\U0001F6A8 Commute Delay Alert!"
message: "Traffic is heavier than usual this morning. \nGoogle Maps: {{ states('sensor.google_travel_time_work_work')
}} mins. Waze: {{ states('sensor.waze_to_work_travel_time') }} mins.\n![Commute
Map](/local/commute_snapshot.jpg)"
mode: single
- *id001
- *id001
- id: '1782999027626'
alias: 'Commute: Morning Traffic Alert'
description: Pushes an interactive, live traffic map to my phone before the commute.
triggers:
- at: 07:15:00
trigger: time
actions:
- action: notify.notify
data:
title: Morning Commute Traffic
message: Swipe down to view live traffic along your route.
data:
push:
category: map
action_data:
latitude: '45.474668'
longitude: '-73.737158'
shows_traffic: true
shows_scale: true
- id: '1783000087983'
alias: Morning Commute Alert
description: Notify when commute is longer than 35 minutes.
triggers:
- trigger: time
at: 07:15:00
conditions:
- condition: time
weekday:
- mon
- tue
- wed
- thu
- fri
- condition: or
conditions:
- condition: numeric_state
entity_id: sensor.google_travel_time_work_work
above: 35
- condition: numeric_state
entity_id: sensor.waze_travel_time
above: 35
actions:
- action: notify.notify
data:
title: "\U0001F697 Morning Commute"
message: "Google: {{ states('sensor.google_travel_time_work_work') }} min\nWaze:
{{ states('sensor.waze_to_work_travel_time') }} min\n{% set g = states('sensor.google_travel_time_work_work')
| float(0) %} {% if g > 50 %} \U0001F6A8 Major traffic delays. {% elif g >
40 %} ⚠️ Heavy traffic. {% else %} \U0001F7E1 Moderate traffic. {% endif %}"
mode: single
- id: '1783049020714'
alias: Aqara-Magic-Cube-T1-Pro-(CTP-R01) - Franco
description: ''
use_blueprint:
path: SirGoodenough/Zigbee2MQTT-Aqara-Magic-Cube-T1-Pro-CTP-R01-Xiaomi-Lumi.yaml
input:
topic: zigbee2mqtt/Ziggy
action_slide_face_1:
- action: light.toggle
metadata: {}
target:
device_id: 2f8c5ab2ca0d4be31919fba6df365813
data:
brightness_pct: 25
action_doubletap_face_1: []
action_rotate_cw_face_1:
- action: script.cube_dimmer_control
metadata: {}
data:
light: light.playroom_light
angle: -20
action_rotate_ccw_face_1: []
action_flipped90_face_1: []
- id: '1783162325964'
alias: Motion Shed - AI Description
description: Takes a snapshot when the Nest camera detects motion, a person, an
animal, or a doorbell press, analyzes it with AI, and sends a mobile and persistent
notification.
triggers:
- trigger: event
event_type: state_changed
event_data:
entity_id: event.front_door_front_door_motion
enabled: false
- trigger: state
entity_id: event.living_room_living_room_camera_motion
enabled: false
- trigger: state
entity_id: event.front_door_front_door_motion
enabled: false
- trigger: event.received
target:
entity_id: event.entryway_entryway_camera_motion
options:
event_type:
- camera_motion
- camera_person
- camera_sound
enabled: false
- trigger: event.received
target:
device_id: 290f56e5a655e3af82cbf3cf9fd22406
options:
event_type:
- camera_motion
- camera_person
- camera_sound
- ring
enabled: false
- trigger: event.received
target:
device_id: 679d52e0d16cf48648d11dd024b961f8
options:
event_type:
- camera_motion
- camera_sound
- camera_person
enabled: true
conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.attributes.event_type in [''motion'',
''person'', ''animal'', ''chime''] }}'
enabled: false
actions:
- action: blink.trigger_camera
target:
entity_id: camera.backyard_shed
data: {}
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: homeassistant.update_entity
target:
entity_id: camera.backyard_shed
- variables:
snapshot_filename: blink_shed_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg
- variables:
notification_id: blink_shed_{{ now().strftime('%Y%m%d_%H%M%S_%f') }}
- action: camera.snapshot
target:
entity_id: camera.backyard_shed
data:
filename: /media/{{ snapshot_filename }}
- action: camera.snapshot
target:
entity_id: camera.backyard_shed
data:
filename: /config/www/{{ snapshot_filename }}
- delay:
hours: 0
minutes: 0
seconds: 4
milliseconds: 0
- action: ai_task.generate_data
continue_on_error: true
data:
task_name: Blink Shed Camera Analysis
entity_id: ai_task.google_ai_task
instructions: Describe what you see in this image in brief. Focus on any people,
objects, animals or activities. Text needs to be max 240 characters.
attachments:
- media_content_id: media-source://media_source/local/{{ snapshot_filename }}
media_content_type: image/jpeg
response_variable: ai_profile
- action: notify.notify
continue_on_error: true
data:
title: Motion Detected - Backyard Shed
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}'
- action: persistent_notification.create
data:
title: Motion Detected - Backyard Shed
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}
![Snapshot](/local/{{ snapshot_filename }})'
notification_id: '{{ notification_id }}'
mode: queued
max: 10
- id: '1783293479398'
alias: Blink Camera Fast Update Cycle
description: Polls the Blink cloud every 30 seconds to bypass the default 5-minute
delay and force instant motion detection state updates.
triggers:
- trigger: time_pattern
seconds: /30
actions:
- action: homeassistant.update_entity
target:
entity_id:
- binary_sensor.backyard_shed_motion
- binary_sensor.front_door_motion
mode: single
- id: '1783304677475'
alias: Motion Detection AI Tree
description: Takes a snapshot when the Blink camera detects motion, analyzes it
with AI, and sends a mobile and persistent notification.
triggers:
- trigger: state
entity_id: binary_sensor.backyard_tree_motion
to: 'on'
conditions: []
actions:
- action: blink.trigger_camera
target:
entity_id: camera.backyard_tree
- delay: 00:00:02
- action: camera.snapshot
target:
entity_id: camera.backyard_tree
data:
filename: /media/blinkTree.jpg
- action: camera.snapshot
target:
entity_id: camera.backyard_tree
data:
filename: /config/www/blinkTree.jpg
- delay: 00:00:02
- action: ai_task.generate_data
continue_on_error: true
data:
task_name: Backyard Shed Camera Analysis
entity_id: ai_task.google_ai_task
instructions: Describe what you see in this image in brief. Focus on any people,
objects, animals or activities. Text needs to be max 240 characters.
attachments:
- media_content_id: media-source://media_source/local/blinkTree.jpg
media_content_type: image/jpeg
response_variable: ai_profile
- action: notify.notify
data:
title: Motion Detected - Backyard Tree
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}'
- action: persistent_notification.create
data:
title: Motion Detected - Backyard Tree
notification_id: backyard_tree_motion
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}
![Snapshot](/local/blinkTree.jpg)'
mode: queued
max: 10
- id: '1783387792679'
description: Takes a snapshot when the Blink camera detects motion, analyzes it
with AI, and sends a mobile and persistent notification.
triggers:
- trigger: state
entity_id: binary_sensor.backyard_shed_motion
to: 'on'
conditions: []
actions:
- action: blink.trigger_camera
target:
entity_id: camera.living_room_living_room_camera
- delay: 00:00:02
- action: camera.snapshot
target:
entity_id: camera.living_room_living_room_camera
data:
filename: /media/blink.jpg
- action: camera.snapshot
target:
entity_id: camera.living_room_living_room_camera
data:
filename: /config/www/nest.jpg
- delay: 00:00:02
- action: ai_task.generate_data
continue_on_error: true
data:
task_name: Backyard Shed Camera Analysis
entity_id: ai_task.google_ai_task
instructions: Describe what you see in this image in brief. Focus on any people,
objects, or activities. Text needs to be max 225 characters.
attachments:
- media_content_id: media-source://media_source/local/nest.jpg
media_content_type: image/jpeg
response_variable: ai_profile
- action: notify.notify
data:
title: Motion Detected - Backyard Shed
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}'
- action: persistent_notification.create
data:
title: Motion Detected - Backyard Shed
notification_id: backyard_shed_motion2
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}
![Snapshot](/local/nest.jpg)'
mode: queued
max: 10
- id: '1783452320698'
alias: Nest Test Motion
description: Takes a snapshot when the Blink camera detects motion, analyzes it
with AI, and sends a mobile and persistent notification.
triggers:
- trigger: state
entity_id: binary_sensor.backyard_tree_motion
to: 'on'
conditions: []
actions:
- delay: 00:00:02
- action: camera.snapshot
target:
entity_id:
- camera.front
- camera.backyard_shed
data:
filename: /media/nest_Living2.jpg
- action: camera.snapshot
target:
entity_id: camera.backyard_tree
data:
filename: /config/www/blinkTree.jpg
- delay: 00:00:02
- action: ai_task.generate_data
continue_on_error: true
data:
task_name: Backyard Shed Camera Analysis
entity_id: ai_task.google_ai_task
instructions: Describe what you see in this image in brief. Focus on any people,
objects, or activities. Text needs to be max 225 characters.
attachments:
- media_content_id: media-source://media_source/local/blinkTree.jpg
media_content_type: image/jpeg
response_variable: ai_profile
- action: notify.notify
data:
title: Motion Detected - Backyard Tree
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}'
- action: persistent_notification.create
data:
title: Motion Detected - Backyard Tree
notification_id: backyard_tree_motion
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}
![Snapshot](/local/blinkTree.jpg)'
mode: queued
max: 10
- id: '1783540959739'
alias: Motion Front Door - AI Description
description: Takes a snapshot when the Nest camera detects motion, a person, an
animal, or a doorbell press, analyzes it with AI, and sends a mobile and persistent
notification.
triggers:
- trigger: event
event_type: state_changed
event_data:
entity_id: event.front_door_front_door_motion
enabled: false
- trigger: state
entity_id: event.living_room_living_room_camera_motion
enabled: false
- trigger: state
entity_id: event.front_door_front_door_motion
enabled: false
- trigger: event.received
target:
entity_id: event.entryway_entryway_camera_motion
options:
event_type:
- camera_motion
- camera_person
- camera_sound
enabled: false
- trigger: event.received
target:
device_id: 290f56e5a655e3af82cbf3cf9fd22406
options:
event_type:
- camera_motion
- camera_person
- camera_sound
- ring
- trigger: event.received
target:
device_id: 679d52e0d16cf48648d11dd024b961f8
options:
event_type:
- camera_motion
- camera_sound
- camera_person
enabled: false
conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.attributes.event_type in [''motion'',
''person'', ''animal'', ''chime''] }}'
enabled: false
actions:
- action: blink.trigger_camera
target:
entity_id: camera.front
data: {}
- delay:
hours: 0
minutes: 0
seconds: 5
milliseconds: 0
- action: homeassistant.update_entity
target:
entity_id: camera.front
- variables:
snapshot_filename: blink_Front_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg
- variables:
notification_id: blink_front_{{ now().strftime('%Y%m%d_%H%M%S_%f') }}
- action: camera.snapshot
target:
entity_id: camera.front
data:
filename: /media/{{ snapshot_filename }}
- action: camera.snapshot
target:
entity_id: camera.front
data:
filename: /config/www/{{ snapshot_filename }}
- delay:
hours: 0
minutes: 0
seconds: 4
milliseconds: 0
- action: ai_task.generate_data
continue_on_error: true
data:
task_name: Nest Front Camera Analysis
entity_id: ai_task.google_ai_task
instructions: Describe what you see in this image in brief. Focus on any people,
objects, animals or activities. Text needs to be max 240 characters.
attachments:
- media_content_id: media-source://media_source/local/{{ snapshot_filename }}
media_content_type: image/jpeg
response_variable: ai_profile
- action: notify.notify
continue_on_error: true
data:
title: Motion Detected - Front Door
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}'
- action: notify.persistent_notification
data:
title: Motion Detected - Front Door
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}
![Snapshot](/local/{{ snapshot_filename }})'
data:
notification_id: nest_front_motion
enabled: false
- action: persistent_notification.create
metadata: {}
data:
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}} ![Snapshot](/local/{{ snapshot_filename }})'
title: Motion Detected - Front Door
notification_id: '{{ notification_id }}'
mode: queued
max: 10
- id: '1783541174963'
alias: Daily Snapshot Purge
description: Triggers the snapshot purge script every night at midnight.
triggers:
- trigger: time
at: 00:00:00
conditions: []
actions:
- action: script.purge_old_blink_snapshot
data: {}
mode: single
- id: '1783615071224'
alias: 'TEST: AI Camera Motion Detection OLLAMA'
description: Takes a snapshot when the Nest camera detects motion, a person, an
animal, or a doorbell press, analyzes it with AI, and sends a mobile and persistent
notification.
triggers:
- trigger: event
event_type: state_changed
event_data:
entity_id: event.front_door_front_door_motion
enabled: false
- trigger: state
entity_id: event.living_room_living_room_camera_motion
enabled: false
- trigger: state
entity_id: event.front_door_front_door_motion
enabled: false
- trigger: event.received
target:
entity_id: event.entryway_entryway_camera_motion
options:
event_type:
- camera_motion
- camera_person
- camera_sound
enabled: false
- trigger: event.received
target:
device_id: 290f56e5a655e3af82cbf3cf9fd22406
options:
event_type:
- camera_motion
- camera_person
- camera_sound
- ring
- trigger: event.received
target:
device_id: 679d52e0d16cf48648d11dd024b961f8
options:
event_type:
- camera_motion
- camera_sound
- camera_person
enabled: false
conditions:
- condition: template
value_template: '{{ trigger.event.data.new_state.attributes.event_type in [''motion'',
''person'', ''animal'', ''chime''] }}'
enabled: false
actions:
- action: blink.trigger_camera
target:
entity_id: camera.front
data: {}
- delay:
hours: 0
minutes: 0
seconds: 10
milliseconds: 0
- action: homeassistant.update_entity
target:
entity_id: camera.front
- variables:
snapshot_filename: blink_Front_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg
- variables:
notification_id: blink_front_{{ now().strftime('%Y%m%d_%H%M%S_%f') }}
- action: camera.snapshot
target:
entity_id: camera.front
data:
filename: /media/{{ snapshot_filename }}
- action: camera.snapshot
target:
entity_id: camera.front
data:
filename: /config/www/{{ snapshot_filename }}
- delay:
hours: 0
minutes: 0
seconds: 4
milliseconds: 0
- action: ai_task.generate_data
continue_on_error: true
data:
task_name: Nest Front Camera Analysis
entity_id: ai_task.ollama_ai_task
instructions: Describe what you see in this image in brief. Focus on any people,
objects, animals or activities. Text needs to be max 240 characters.
attachments:
- media_content_id: media-source://media_source/local/{{ snapshot_filename }}
media_content_type: image/jpeg
response_variable: ai_profile
- action: notify.notify
continue_on_error: true
data:
title: Motion Detected - Front Door
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}'
- action: notify.persistent_notification
data:
title: Motion Detected - Front Door
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}}
![Snapshot](/local/{{ snapshot_filename }})'
data:
notification_id: nest_front_motion
enabled: false
- action: persistent_notification.create
metadata: {}
data:
message: '{{ ai_profile.data if ai_profile is defined and ''data'' in ai_profile
else ''Motion detected, but the AI Task integration failed to return a response.''
}} ![Snapshot](/local/{{ snapshot_filename }})'
title: Motion Detected - Front Door
notification_id: '{{ notification_id }}'
mode: queued
max: 10