- 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: "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: Light Control Motion" description: Turns on office lights when the door opens, or via motion if turned off by inactivity within the last hour. Turns off lights after 1 hour of no occupancy. Prevents motion from re-triggering if turned off manually/Alexa. Respects a master override toggle helper. triggers: - trigger: state entity_id: binary_sensor.office_door_contact to: "on" id: door_opened - trigger: state entity_id: binary_sensor.office_occupancy to: "on" id: motion_detected - trigger: state entity_id: binary_sensor.office_occupancy to: "off" for: hours: 1 minutes: 0 seconds: 0 id: turn_off_logic conditions: [] actions: - choose: - conditions: - condition: time after: "10:00:00" before: "20:00:00" - condition: state entity_id: light.playroom_light state: "off" - condition: state entity_id: input_boolean.office_motion_override state: "off" - condition: or conditions: - condition: trigger id: door_opened - condition: and conditions: - condition: trigger id: motion_detected - condition: template value_template: "{{ (now() - states.light.playroom_light.last_changed).total_seconds() < 3600 and states.light.playroom_light.context.parent_id == none }}" sequence: - action: light.turn_on target: entity_id: light.playroom_light data: {} - conditions: - condition: trigger id: turn_off_logic - condition: state entity_id: light.playroom_light state: "on" sequence: - action: light.turn_off target: entity_id: light.playroom_light data: {} - action: notify.notify data: message: Office Lights Turned Off due to inactivity title: ⚡️ Office Lights mode: restart - 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: {} - action: notify.notify metadata: {} data: message: Office Lights Turned Off title: ⚡️ Office Lights 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: "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. - 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_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_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_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') | 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 to Work is heavier than usual this morning. \n- Google Maps: {{ states('sensor.google_travel_time_work') }} mins." data: image: /local/commute_snapshot.jpg enabled: false - action: notify.persistent_notification data: title: "\U0001F6A8 Commute Delay Alert!" message: "Traffic to Work is heavier than usual this morning. \n- Google Maps: {{ states('sensor.google_travel_time_work') }} 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 above: 35 actions: - action: notify.notify data: title: "\U0001F697 Morning Commute" message: "Google: {{ states('sensor.google_travel_time_work') }} min\n\n{% set g = states('sensor.google_travel_time_work') | float(0) %} {% if g > 50 %} \U0001F6A8 Major traffic delays. {% elif g > 40 %} ⚠️ Heavy traffic. {% else %} \U0001F7E1 Moderate traffic. {% endif %}" mode: single - 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: state entity_id: input_boolean.blink_shed_camera_motion to: "on" enabled: true - 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: false conditions: - condition: template value_template: "{{ trigger.event.data.new_state.attributes.event_type in ['motion', 'person', 'animal', 'chime'] }}" enabled: false actions: - action: camera.record target: entity_id: - camera.blink_backyard_shed data: duration: 10 lookback: 0 filename: /media/blinkshed.mp4 enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - action: homeassistant.update_entity target: entity_id: camera.blink_backyard_shed data: {} - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - action: camera.snapshot target: entity_id: camera.blink_backyard_shed data: filename: /config/www/flush_cache.jpg - delay: hours: 0 minutes: 0 seconds: 3 milliseconds: 0 - action: homeassistant.update_entity target: entity_id: camera.blink_backyard_shed data: {} - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - 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.blink_backyard data: filename: /media/{{ snapshot_filename }} - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - action: ai_task.generate_data continue_on_error: true data: task_name: Blink Backyard Camera Analysis entity_id: ai_task.ollama_ai_task_video instructions: Describe what you see in this image in brief, but make it a little humorous. 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: "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 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 response_variable: ai_profile data: task_name: Blink InShed Camera Analysis entity_id: ai_task.ollama_ai_task_video 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 - 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 - trigger: state entity_id: - input_boolean.blink_front_camera_motion to: - "on" 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.blink_front data: {} enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - action: homeassistant.update_entity target: entity_id: camera.blink_front - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - 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.blink_front data: filename: /media/{{ snapshot_filename }} - action: camera.snapshot target: entity_id: camera.blink_front data: filename: /config/www/{{ snapshot_filename }} - delay: hours: 0 minutes: 0 seconds: 2 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, but make it a little humorous. 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: "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: {} enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - 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.blink_front data: filename: /media/{{ snapshot_filename }} - action: camera.snapshot target: entity_id: camera.blink_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_2 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: "1783628026617" alias: "Garage Door: Open Notification" description: "" triggers: - trigger: state entity_id: - binary_sensor.garage_door_contact to: - "on" conditions: [] actions: - action: notify.notify metadata: {} data: message: "Garage Door is Opened " title: Garage Door mode: single - id: "1783628088925" alias: "Garage Door: Closed Notification" description: "" triggers: - trigger: state entity_id: - binary_sensor.garage_door_contact to: - "off" from: - "on" conditions: [] actions: - action: notify.notify metadata: {} data: message: Garage Door Closed title: Garage Door mode: single - id: "1783643893067" alias: Blink Shed Camera Motion Triggered description: Triggers local actions when the front Blink camera senses motion triggers: - entity_id: input_boolean.blink_shed_camera_motion to: "on" trigger: state conditions: [] actions: - data: title: Shed Door Alert message: Motion detected on the Shed Blink camera! action: notify.persistent_notification mode: single - id: "1783647055563" alias: Motion Backyard - 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: state entity_id: - input_boolean.blink_backyard_camera_motion to: - "on" enabled: true - 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: 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.blink_backyard data: {} enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - action: homeassistant.update_entity target: entity_id: camera.blink_backyard - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - variables: snapshot_filename: blink_backyard_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg - variables: notification_id: blink_backyard_{{ now().strftime('%Y%m%d_%H%M%S_%f') }} - action: camera.snapshot target: entity_id: camera.blink_backyard data: filename: /media/{{ snapshot_filename }} - action: camera.snapshot target: entity_id: camera.blink_backyard data: filename: /config/www/{{ snapshot_filename }} - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - action: ai_task.generate_data continue_on_error: true data: task_name: Blink Backyard Camera Analysis entity_id: ai_task.google_ai_task instructions: Describe what you see in this image in brief, but make it a little humorous. 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 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 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: "1783649304797" alias: Motion Inside 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: state entity_id: - input_boolean.blink_inside_shed_camera_motion to: - "on" enabled: true - 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: 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.blink_backyard_tree data: {} enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - action: homeassistant.update_entity target: entity_id: camera.blink_backyard_tree - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - variables: snapshot_filename: blink_Inshed_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg - variables: notification_id: blink_Inshed_{{ now().strftime('%Y%m%d_%H%M%S_%f') }} - action: camera.snapshot target: entity_id: camera.blink_backyard_tree data: filename: /media/{{ snapshot_filename }} - action: camera.snapshot target: entity_id: camera.blink_backyard_tree data: filename: /config/www/{{ snapshot_filename }} - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - action: ai_task.generate_data continue_on_error: true data: task_name: Blink InShed Camera Analysis entity_id: ai_task.google_ai_task instructions: Describe what you see in this image in brief, but make it a little humorous. 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 Inside 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 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.' }}" notification_id: "{{ notification_id }}" mode: queued max: 10 - id: "1783736251030" alias: "Office: Teams Webhook Busy Light" description: Triggers light based on Windows 11 Teams log file status changes triggers: - webhook_id: office_teams_meeting_status_webhook_secret_99 allowed_methods: - POST local_only: false trigger: webhook conditions: [] actions: - choose: - conditions: - condition: template value_template: "{{ trigger.json.status in ['busy', 'do not disturb'] }}" sequence: - target: entity_id: light.night_light data: brightness_pct: 100 rgb_color: - 255 - 0 - 0 action: light.turn_on - conditions: - condition: template value_template: "{{ trigger.json.status in ['available', 'offline', 'away'] }}" sequence: - target: entity_id: light.night_light data: brightness_pct: 20 rgb_color: - 255 - 255 - 255 action: light.turn_on mode: single - id: "1783737753660" alias: "Office: Manual Meeting Status Busy Light - Working Hours" description: "Work hours: Toggle controls Red/Green (Motion ignored). After hours OR Away Mode: Pure motion night light (Toggle ignored)." triggers: - id: status_changed entity_id: input_boolean.in_a_meeting trigger: state - id: motion_detected entity_id: binary_sensor.night_light_occupancy trigger: state to: "on" - id: motion_cleared entity_id: binary_sensor.night_light_occupancy trigger: state to: "off" conditions: [] actions: - choose: - conditions: - condition: trigger id: status_changed - condition: state entity_id: input_boolean.in_a_meeting state: "on" - condition: state entity_id: input_boolean.away_mode state: "off" - condition: time after: 08:00:00 before: "18:00:00" weekday: - mon - tue - wed - thu - fri sequence: - target: entity_id: light.night_light data: brightness_pct: 100 rgb_color: - 255 - 0 - 0 action: light.turn_on - conditions: - condition: trigger id: status_changed - condition: state entity_id: input_boolean.in_a_meeting state: "off" - condition: state entity_id: input_boolean.away_mode state: "off" - condition: time after: 08:00:00 before: "18:00:00" weekday: - mon - tue - wed - thu - fri sequence: - target: entity_id: light.night_light data: brightness_pct: 20 rgb_color: - 5 - 245 - 45 action: light.turn_on - conditions: - condition: trigger id: motion_detected - condition: or conditions: - condition: state entity_id: input_boolean.away_mode state: "on" - condition: not conditions: - condition: time after: 08:00:00 before: "18:00:00" weekday: - mon - tue - wed - thu - fri sequence: - target: entity_id: light.night_light data: brightness_pct: 30 rgb_color: - 255 - 255 - 255 action: light.turn_on - conditions: - condition: trigger id: motion_cleared - condition: or conditions: - condition: state entity_id: input_boolean.away_mode state: "on" - condition: not conditions: - condition: time after: 08:00:00 before: "18:00:00" weekday: - mon - tue - wed - thu - fri sequence: - target: entity_id: light.night_light action: light.turn_off mode: restart - id: "1783738120074" alias: "Office: Webhook Toggle Meeting Status" description: Toggles the meeting status boolean when the secret webhook URL is opened triggers: - webhook_id: toggle_my_meeting_status_secret_abc123 allowed_methods: - POST - GET local_only: false trigger: webhook conditions: [] actions: - target: entity_id: input_boolean.in_a_meeting action: input_boolean.toggle mode: single - id: "1783806626578" alias: "Office: TEST Meeting Status Lights" description: "DEDICATED TESTING: Forces Red/Green colors anytime the switch is toggled. Disable production automation before using." triggers: - entity_id: input_boolean.in_a_meeting trigger: state conditions: [] actions: - choose: - conditions: - condition: state entity_id: input_boolean.in_a_meeting state: "on" sequence: - target: entity_id: light.night_light data: brightness_pct: 100 rgb_color: - 255 - 0 - 0 action: light.turn_on - conditions: - condition: state entity_id: input_boolean.in_a_meeting state: "off" sequence: - target: entity_id: light.night_light data: brightness_pct: 20 rgb_color: - 5 - 245 - 45 action: light.turn_on mode: single - id: "1783824363227" alias: Downstairs Bathroom Light Control description: Turn on bathroom switch when occupied, turn off after 30 minutes of no occupancy. triggers: - entity_id: binary_sensor.downstairs_bathroom_occupancy to: "on" id: motion_detected trigger: state - entity_id: binary_sensor.downstairs_bathroom_occupancy to: "off" for: hours: 0 minutes: 30 seconds: 0 id: motion_clear trigger: state conditions: [] actions: - choose: - conditions: - condition: trigger id: motion_detected sequence: - target: entity_id: switch.downstairs_bathroom_switch action: switch.turn_on - conditions: - condition: trigger id: motion_clear sequence: - target: entity_id: switch.downstairs_bathroom_switch action: switch.turn_off mode: restart - id: "1783896963375" alias: "Office: Smart Button Toggles Meeting Status - IKEA BILRESA" description: Toggles the meeting input boolean when the smart button is pressed triggers: - trigger: event event_type: state_changed event_data: entity_id: event.office_button_button_1 conditions: [] actions: - target: entity_id: input_boolean.in_a_meeting action: input_boolean.toggle mode: single - id: "1783901121760" alias: Ikea BILRESA scroll wheel - Bedroom Switch description: "" use_blueprint: path: BoGu5/kea BILRESA scroll wheel (sensors for scroll, events for press).yaml input: remote: c7289314a586fc3739316abfeee0cdf5 click_action_ch1: - action: light.toggle metadata: {} target: entity_id: light.bedroom_lights data: {} scroll_wheel_target_ch1: - light.bedroom_lights scroll_wheel_mode_ch1: "lights: color temp only" - id: "1783904189553" alias: IKEA Bilresa Scrollwheel - Bedroom Light Control V1 - Atomic description: "" use_blueprint: path: stone13/ikea_bilresa_atomic_v1.yaml input: light_entity: light.bedroom_lights sensor_1: sensor.bedroom_switch_current_switch_position_1 sensor_2: sensor.bedroom_switch_current_switch_position_2 sensor_4: sensor.bedroom_switch_current_switch_position_4 sensor_5: sensor.bedroom_switch_current_switch_position_5 sensor_7: sensor.bedroom_switch_current_switch_position_7 sensor_8: sensor.office_scroll_wheel_current_switch_position_8 event_taste_1: event.bedroom_switch_button_3 event_taste_2: event.bedroom_switch_button_6 event_taste_3: event.bedroom_switch_button_9 scroll_logic_4_5: brightness scroll_logic_7_8: brightness - id: "1783905541495" alias: Ikea Bilresa Switch Bedroom Light Control description: "" use_blueprint: path: jhol-byte/Ikea_bilresa_scroll_wheel.yaml input: remote: c7289314a586fc3739316abfeee0cdf5 click_action_ch1: - action: light.toggle metadata: {} target: entity_id: light.bedroom_lights data: {} scroll_wheel_target_ch1: - light.bedroom_lights - id: "1783906561328" alias: IKEA BILRESA - Light Controller for PLAYROOM TEST2 description: "" use_blueprint: path: SvKRO/ha-blueprint-ikea-bilresa-scrollwheel_en.yaml input: remote_device: 353fb9eb9f1b2a138e468b02fb9fbf06 input_click_1: - action: light.toggle metadata: {} target: device_id: 2f8c5ab2ca0d4be31919fba6df365813 data: {} input_light_1: device_id: 2f8c5ab2ca0d4be31919fba6df365813 input_mode_1: brightness input_long_1: [] input_double_1: [] input_sens_1: 15 input_transition_1: 34 input_light_2: device_id: 2f8c5ab2ca0d4be31919fba6df365813 input_sens_2: 15 input_light_3: entity_id: light.bedroom_lights input_sens_3: 10 input_transition_2: 0 - id: "1783909375854" alias: "Office: Playroom Light Toggle - IKEA BILRESA" description: Toggles the meeting input boolean when the smart button is pressed triggers: - trigger: event event_type: state_changed event_data: entity_id: event.office_button_button_2 conditions: [] actions: - action: light.toggle metadata: {} target: device_id: 2f8c5ab2ca0d4be31919fba6df365813 data: {} mode: single - id: "1783960650360" alias: "Bedroom: Ikea Bilresa Scrollwheel - Light Control" description: "" use_blueprint: path: jhol-byte/Ikea_bilresa_scroll_wheel.yaml input: remote: c7289314a586fc3739316abfeee0cdf5 click_action_ch1: - action: light.toggle metadata: {} target: entity_id: light.bedroom_lights data: {} scroll_wheel_target_ch1: - light.bedroom_lights scroll_wheel_mode_ext_ch1: instant long_click_action_ch1: - action: light.turn_on metadata: {} target: entity_id: light.bedroom_lights data: brightness_pct: 80 double_click_action_ch1: - action: light.toggle metadata: {} target: entity_id: light.bedroom_lights data: brightness_pct: 25 dim_turns_lights_on: true - id: "1783962246983" alias: "OFFICE: IKEA BILRESA E2489 Dual Button (Matter) - In Meeting and Away Mode" description: Ikea BILRESA E2489 Dual Button controls in Meeting toggle, and enable Away Mode use_blueprint: path: censay/ikea-bilresa-e2489-matter-smart-button.yaml input: target_device: 0c00a80e3106a9d7089f44c4781e0187 button1_event: event.office_button_button_1 button2_event: event.office_button_button_2 button1_single: - action: input_boolean.toggle metadata: {} target: entity_id: input_boolean.in_a_meeting data: {} button2_single: - action: input_boolean.toggle metadata: {} target: entity_id: input_boolean.away_mode data: {} button2_double: [] button1_long_press: [] button2_long_press: [] - id: "1783972932942" alias: "Notification: Office Meeting Status" description: Sends a notification when entering or leaving a meeting triggers: - entity_id: input_boolean.in_a_meeting to: "on" id: meeting_started trigger: state - entity_id: input_boolean.in_a_meeting to: "off" id: meeting_ended trigger: state conditions: [] actions: - choose: - alias: Meeting Started Notification conditions: - condition: trigger id: meeting_started sequence: - action: notify.notify data: title: Meeting Active message: "Your status is now set to: \U0001F534 DO NOT ENTER" - alias: Meeting Ended Notification conditions: - condition: trigger id: meeting_ended sequence: - action: notify.notify data: title: Meeting Ended message: "Your status is now set to: \U0001F7E2 AVAILABLE" - id: "1784037118280" alias: "Blink Safeguard: Auto Reset Stuck Toggles" description: Forces stuck Blink helper toggles to turn off after 2 minutes and logs the event triggers: - trigger: state entity_id: - input_boolean.blink_backyard_camera_motion - input_boolean.blink_front_camera_motion - input_boolean.blink_inside_shed_camera_motion - input_boolean.blink_shed_camera_motion to: "on" for: minutes: 2 conditions: [] actions: - action: logbook.log data: name: Blink Safeguard message: Alexa failed to clear motion. Forcing auto-reset. entity_id: "{{ trigger.entity_id }}" - action: input_boolean.turn_off target: entity_id: "{{ trigger.entity_id }}" mode: parallel - id: "1784070582456" alias: "Office: Lamp and lights control with IKEA Scroll Wheel" description: "" use_blueprint: path: jhol-byte/Ikea_bilresa_scroll_wheel.yaml input: remote: c9c7e25e54eb6ac497a6791fe9cf70fe click_action_ch1: - action: light.toggle metadata: {} target: device_id: 2f8c5ab2ca0d4be31919fba6df365813 data: {} scroll_wheel_target_ch1: - light.playroom_light scroll_wheel_mode_ext_ch1: instant long_click_action_ch1: - action: light.turn_on metadata: {} target: entity_id: light.playroom_light data: brightness_step_pct: 30 double_click_action_ch1: [] click_action_ch2: - action: light.toggle metadata: {} target: entity_id: light.office_lamp data: color_temp_kelvin: 5564 scroll_wheel_target_ch2: - light.office_lamp scroll_wheel_mode_ext_ch2: instant double_click_action_ch2: [] scroll_wheel_mode_ch2: "lights: dim" on_hold_action_ch2: - action: light.turn_on metadata: {} target: entity_id: light.office_lamp data: color_temp_kelvin: 5765 triple_click_action_ch2: - action: light.turn_on metadata: {} target: entity_id: light.office_lamp data: color_temp_kelvin: 2348 click_action_ch3: - action: light.toggle metadata: {} target: entity_id: light.office_lamp data: {} - action: light.toggle metadata: {} target: device_id: 2f8c5ab2ca0d4be31919fba6df365813 data: {} scroll_wheel_target_ch3: - light.office_lamp - light.playroom_light scroll_wheel_mode_ext_ch3: instant on_hold_action_ch1: - action: light.turn_on metadata: {} target: entity_id: light.playroom_light data: brightness_pct: 30 dim_turns_lights_on: true - id: "1784073759556" alias: "Office: Desk Lamp Meeting Alert" description: Flashes the desk lamp color temperature for a few seconds when a meeting status changes (on or off) to confirm the button press registered. triggers: - trigger: state entity_id: input_boolean.in_a_meeting conditions: - condition: state entity_id: input_boolean.meeting_lamp_override state: "off" - condition: state entity_id: input_boolean.away_mode state: "off" actions: - action: scene.create data: scene_id: desk_lamp_before_alert snapshot_entities: - light.office_lamp - action: light.turn_on target: entity_id: light.office_lamp data: brightness_pct: 100 color_temp_kelvin: 2261 transition: 1 - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - action: scene.turn_on target: entity_id: scene.desk_lamp_before_alert data: transition: 1 mode: queued max: 2 - id: "1784153893584" alias: "Office: Manual Meeting Status Busy Light (Night Light) - Working Hours + Motion Detection - v2" description: "Work hours: Automatically turns Green or Red at 8 AM depending on status. Toggle controls Red/Green. At 6 PM, light clears and switches to motion detection. After hours OR Away Mode: Pure motion night light. Instant transition when Away changes. Only triggers motion if dark." triggers: - id: status_changed entity_id: input_boolean.in_a_meeting trigger: state - id: away_changed entity_id: input_boolean.away_mode trigger: state - id: motion_detected entity_id: binary_sensor.night_light_occupancy trigger: state to: "on" - id: motion_cleared entity_id: binary_sensor.night_light_occupancy trigger: state to: "off" - id: work_day_started trigger: time at: 08:00:00 - id: work_day_ended trigger: time at: "18:00:00" conditions: [] actions: - variables: is_work_hours: "{{ 8 <= now().hour < 18 and now().isoweekday() in [1,2,3,4,5] }}" is_away: "{{ is_state('input_boolean.away_mode', 'on') }}" is_dark: "{{ states('sensor.night_light_illuminance') | float(0) < 15 }}" - choose: - alias: "--- WORKING HOURS MODE ---" conditions: - condition: template value_template: "{{ is_work_hours and not is_away and (trigger.id in ['status_changed', 'work_day_started'] or (trigger.id == 'away_changed' and not is_away)) }}" sequence: - choose: - alias: "Meeting is active: Set light to solid Red (100%)" conditions: - condition: state entity_id: input_boolean.in_a_meeting state: "on" sequence: - action: light.turn_on target: entity_id: light.night_light data: brightness_pct: 100 rgb_color: - 255 - 0 - 0 - alias: "Meeting is inactive: Set light to solid Green (20%)" conditions: - condition: state entity_id: input_boolean.in_a_meeting state: "off" sequence: - action: light.turn_on target: entity_id: light.night_light data: brightness_pct: 30 rgb_color: - 5 - 245 - 45 - alias: "--- WORK DAY ENDED: CLEAR LIGHT ---" conditions: - condition: template value_template: "{{ trigger.id == 'work_day_ended' }}" sequence: - action: light.turn_off target: entity_id: light.night_light - alias: "--- AFTER HOURS / AWAY: MOTION DETECTED ---" conditions: - condition: template value_template: "{{ is_dark and (not is_work_hours or is_away) and trigger.id == 'motion_detected' }}" sequence: - action: light.turn_on target: entity_id: light.night_light data: brightness_pct: 40 color_temp_kelvin: 2700 - alias: "--- AFTER HOURS / AWAY: MOTION CLEARED ---" conditions: - condition: template value_template: "{{ (not is_work_hours or is_away) and trigger.id == 'motion_cleared' }}" sequence: - delay: 00:00:05 - action: light.turn_off target: entity_id: light.night_light - alias: "--- INSTANT AWAY TRANSITION ---" conditions: - condition: template value_template: "{{ trigger.id == 'away_changed' and is_away }}" sequence: - action: light.turn_off target: entity_id: light.night_light - alias: "--- FALLBACK: MEETING ENDS AFTER HOURS ---" conditions: - condition: template value_template: "{{ not is_work_hours and trigger.id == 'status_changed' and is_state('input_boolean.in_a_meeting', 'off') }}" sequence: - action: light.turn_off target: entity_id: light.night_light mode: restart - id: "1784246257858" alias: Sync Alexa Volume Slider description: Syncs the Alexa Master Volume slider with the currently selected speaker. triggers: - entity_id: input_number.alexa_master_volume id: slider_changed trigger: state - entity_id: input_select.alexa_target_device id: speaker_changed trigger: state conditions: [] actions: - choose: - conditions: - condition: trigger id: slider_changed sequence: - action: media_player.volume_set target: entity_id: "{{ states('input_select.alexa_target_device') }}" data: volume_level: "{{ states('input_number.alexa_master_volume') | float / 100 }}" - conditions: - condition: trigger id: speaker_changed sequence: - action: input_number.set_value target: entity_id: input_number.alexa_master_volume data: value: "{% set target = states('input_select.alexa_target_device') %} {% if state_attr(target, 'volume_level') != none %}\n {{ (state_attr(target, 'volume_level') | float * 100) | round(0) }}\n{% else %}\n 20\n{% endif %}" mode: restart - id: ai_agent_auto_1784596277269 alias: Blink Shed Motion Notification description: Sends a notification when motion is detected by the Blink Backyard Shed camera. triggers: - entity_id: binary_sensor.blink_backyard_shed_motion to: "on" trigger: state - entity_id: - binary_sensor.blink_backyard_tree_motion to: - "on" trigger: state - entity_id: - binary_sensor.blink_front_motion to: - "on" trigger: state - entity_id: - binary_sensor.blink_backyard_tree_motion to: - "on" trigger: state conditions: [] actions: - data: title: Motion Detected! message: Motion detected in the Blink Backyard Cameras using HomeBridge. action: persistent_notification.create mode: single - id: "1784597653614" alias: New automation description: "" triggers: [] conditions: [] actions: - action: webrtc.create_link metadata: {} data: open_limit: 1 time_to_live: 60 entity: camera.blink_backyard_shed mode: single - id: "1784599010203" alias: Motion Backyard - AI Description - Version 2 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: state entity_id: - input_boolean.blink_backyard_camera_motion to: - "on" enabled: true - 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: false conditions: - condition: template value_template: "{{ (now() - state_attr('automation.motion_backyard_ai_description_version_2', 'last_triggered')).total_seconds() > 60 }}" - condition: template value_template: "{{ trigger.event.data.new_state.attributes.event_type in ['motion', 'person', 'animal', 'chime'] }}" enabled: false actions: - action: shell_command.cleanup_blink_snapshots - action: switch.turn_on target: entity_id: switch.backyard_refresh_snapshot - delay: hours: 0 minutes: 0 seconds: 20 milliseconds: 0 - action: homeassistant.update_entity target: entity_id: camera.blink_backyard enabled: true data: entity_id: - camera.blink_backyard - delay: hours: 0 minutes: 0 seconds: 3 milliseconds: 0 - action: blink.trigger_camera target: entity_id: camera.blink_backyard data: {} enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - variables: snapshot_filename: blink_backyard_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg - variables: notification_id: blink_backyard_{{ now().strftime('%Y%m%d_%H%M%S_%f') }} - action: camera.snapshot target: entity_id: camera.blink_backyard data: filename: /media/{{ snapshot_filename }} - action: camera.snapshot target: entity_id: camera.blink_backyard data: filename: /config/www/{{ snapshot_filename }} - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - action: ai_task.generate_data continue_on_error: true data: task_name: Blink Backyard Camera Analysis entity_id: ai_task.ollama_ai_task_video instructions: Describe what you see in this image in brief, but make it a little humorous. Focus on any people, objects, animals or activities. 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 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 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: "1784601034537" alias: Motion Front Door - AI Description - Version 2 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 - trigger: state entity_id: - input_boolean.blink_front_camera_motion to: - "on" enabled: true conditions: - condition: template value_template: "{{ trigger.event.data.new_state.attributes.event_type in ['motion', 'person', 'animal', 'chime'] }}" enabled: false actions: - action: shell_command.cleanup_blink_snapshots - action: switch.turn_on target: entity_id: switch.front_refresh_snapshot - delay: hours: 0 minutes: 0 seconds: 20 milliseconds: 0 - action: homeassistant.update_entity target: entity_id: camera.front enabled: true data: entity_id: - camera.front - delay: hours: 0 minutes: 0 seconds: 3 milliseconds: 0 - action: blink.trigger_camera target: entity_id: camera.front data: {} enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - 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.blink_backyard data: filename: /media/{{ snapshot_filename }} - delay: hours: 0 minutes: 0 seconds: 2 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_video instructions: Describe what you see in this image in brief, but make it a little humorous. Focus on any people, objects, animals or activities. 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.' }}" title: Motion Detected - Front Door notification_id: "{{ notification_id }}" mode: queued max: 10 - id: "1784601274723" alias: Motion Shed - AI Description - Version 2 description: Takes a snapshot when the shed's Blink camera detects motion, analyzes it with AI, and sends a mobile and persistent notification. Structurally mirrors the working Front automation (same switch/camera device pairing). If the AI description still doesn't match the physical shed, camera.backyard_shed may be mislabeled in the HomeKit Controller integration -- check its live feed against camera.garage_side and camera.backyard_tree to confirm which physical camera is which, then rename if needed. triggers: - trigger: state entity_id: input_boolean.blink_shed_camera_motion to: "on" enabled: true - 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: false conditions: - condition: template value_template: "{{ trigger.event.data.new_state.attributes.event_type in ['motion', 'person', 'animal', 'chime'] }}" enabled: false actions: - action: shell_command.cleanup_blink_snapshots - action: switch.turn_on target: entity_id: switch.backyard_shed_refresh_snapshot - delay: hours: 0 minutes: 0 seconds: 30 milliseconds: 0 - action: homeassistant.update_entity target: entity_id: camera.blink_backyard_shed enabled: true data: entity_id: - camera.blink_backyard_shed - delay: hours: 0 minutes: 0 seconds: 5 milliseconds: 0 - action: camera.record target: entity_id: - camera.blink_backyard_shed data: duration: 10 lookback: 0 filename: /media/blinkshed.mp4 enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - variables: snapshot_filename: blink_shed_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg - variables: notification_id: blink_backyard_{{ now().strftime('%Y%m%d_%H%M%S_%f') }} - action: camera.snapshot target: entity_id: camera.blink_backyard data: filename: /media/{{ snapshot_filename }} - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - action: ai_task.generate_data continue_on_error: true response_variable: ai_profile data: task_name: Blink Shed Camera Analysis entity_id: ai_task.ollama_ai_task_video instructions: "Describe what you see in this image in brief, but make it a little humorous. Focus on any people, objects, animals or activities. " attachments: - media_content_id: media-source://media_source/local/{{ snapshot_filename }} media_content_type: image/jpeg - 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.' }}" notification_id: "{{ notification_id }}" mode: queued max: 10 - id: "1784601377055" alias: Motion Garage - AI Description - Version 2 description: Takes a snapshot when garage motion is detected and analyzes it with AI. Deliberately uses the 'backyard_tree' Blink camera (switch.backyard_tree_refresh_snapshot / camera.backyard_tree) as the garage-monitoring camera -- entity names don't match the physical location, but this pairing is intentional, not a bug. triggers: - trigger: state entity_id: - input_boolean.blink_inside_shed_camera_motion to: - "on" enabled: true - 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: false conditions: - condition: template value_template: "{{ trigger.event.data.new_state.attributes.event_type in ['motion', 'person', 'animal', 'chime'] }}" enabled: false actions: - action: shell_command.cleanup_blink_snapshots - action: switch.turn_on target: entity_id: switch.backyard_tree_refresh_snapshot - delay: hours: 0 minutes: 0 seconds: 30 milliseconds: 0 - action: homeassistant.update_entity target: entity_id: camera.blink_backyard_tree enabled: true data: entity_id: - camera.blink_backyard_tree - delay: hours: 0 minutes: 0 seconds: 5 milliseconds: 0 - action: blink.trigger_camera target: entity_id: camera.blink_backyard_tree data: {} enabled: false - delay: hours: 0 minutes: 0 seconds: 10 milliseconds: 0 enabled: false - variables: snapshot_filename: blink_Inshed_{{ now().strftime('%Y%m%d_%H%M%S') }}.jpg - variables: notification_id: blink_Inshed_{{ now().strftime('%Y%m%d_%H%M%S_%f') }} - action: camera.snapshot target: entity_id: camera.blink_backyard_tree data: filename: /media/{{ snapshot_filename }} - delay: hours: 0 minutes: 0 seconds: 2 milliseconds: 0 - action: ai_task.generate_data continue_on_error: true data: task_name: Blink InShed Camera Analysis entity_id: ai_task.ollama_ai_task_video instructions: Describe what you see in this image in brief, but make it a little humorous. Focus on any people, objects, animals or activities. 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 - Garage 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 - Garage 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.' }}" notification_id: "{{ notification_id }}" mode: queued max: 10