AutomationDataset/DubhAd/automation-descriptions.json

5345 lines
661 KiB
JSON

[
{
"id": "adults_away",
"result": {
"structured": "TRIGGER: When person3 home status [input_boolean.person3_home] changes to off OR person2 home status [input_boolean.person2_home] changes to off. CONDITIONS: (person3 home status [input_boolean.person3_home] is off) AND (person2 home status [input_boolean.person2_home] is off). ACTIONS: Turn on adults away status [input_boolean.adults_away].",
"natural_language": {
"trigger": "When either the person3 home status [input_boolean.person3_home] or the person2 home status [input_boolean.person2_home] changes to off.",
"conditions": "Both the person3 home status [input_boolean.person3_home] and the person2 home status [input_boolean.person2_home] must be off.",
"action": "Sets the adults away status [input_boolean.adults_away] to on."
},
"human_like": "Sets an 'adults away' status when both tracked adults are marked as not at home.",
"complexity": "low"
}
},
{
"id": "adults_away_something_open",
"result": {
"structured": "TRIGGER: When adults away status [input_boolean.adults_away] changes from off to on OR when all away status [input_boolean.all_away] changes from off to on. CONDITIONS: The state change that triggered the automation occurred more than 300 seconds (5 minutes) ago AND (exterior doors group [group.my_exterior_doors] is on OR downstairs windows group [group.my_downstairs_windows] is on OR (upstairs windows group [group.my_upstairs_windows] is on AND all away status [input_boolean.all_away] is on)). ACTIONS: If person2 home status [input_boolean.person2_home] was updated more recently than person3 home status [input_boolean.person3_home], then check if pixel xl android auto [binary_sensor.pixel_xl_android_auto] is on. If it is, send a car UI notification to mobile app pixel xl [notify.mobile_app_pixel_xl] with a title and message listing the open doors/windows. If it is not on, send a notification to person2 notification [notify.person2] with a message listing the open doors/windows. Otherwise (if person3 home status was updated more recently), send a notification to person3 notification [notify.person3] with a message listing the open doors/windows.",
"natural_language": {
"trigger": "The automation triggers when either the 'adults away status' [input_boolean.adults_away] or the 'all away status' [input_boolean.all_away] changes from off to on, indicating the home is becoming unoccupied.",
"conditions": "The automation only runs if the triggering state change happened more than five minutes ago. Additionally, at least one of the following must be true: the 'exterior doors group' [group.my_exterior_doors] is reporting an open door, the 'downstairs windows group' [group.my_downstairs_windows] is reporting an open window, or the 'upstairs windows group' [group.my_upstairs_windows] is reporting an open window while the 'all away status' [input_boolean.all_away] is also on.",
"action": "The action determines who to notify about any open doors or windows. It first checks which person was home most recently by comparing the last update times of 'person2 home status' [input_boolean.person2_home] and 'person3 home status' [input_boolean.person3_home]. If person2 was home more recently, it then checks if their phone is connected to Android Auto via 'pixel xl android auto' [binary_sensor.pixel_xl_android_auto]. If connected, a special notification is sent to the car's display via 'mobile app pixel xl' [notify.mobile_app_pixel_xl]. If not connected, a standard notification is sent to 'person2 notification' [notify.person2]. If person3 was home more recently, a notification is sent to 'person3 notification' [notify.person3]. All notifications include a list of the specific open doors and windows."
},
"human_like": "Notifies the appropriate person if any doors or windows are left open after the adults or everyone has been away for more than five minutes.",
"complexity": "high"
}
},
{
"id": "adults_returned",
"result": {
"structured": "TRIGGER: When person3 home status [input_boolean.person3_home] turns on OR person2 home status [input_boolean.person2_home] turns on. CONDITIONS: adults away status [input_boolean.adults_away] is on. ACTIONS: Turn off adults away status [input_boolean.adults_away].",
"natural_language": {
"trigger": "When either person3 home status [input_boolean.person3_home] or person2 home status [input_boolean.person2_home] changes to 'on'.",
"conditions": "If the adults away status [input_boolean.adults_away] is currently set to 'on'.",
"action": "Turns off the adults away status [input_boolean.adults_away]."
},
"human_like": "Turns off the 'adults away' status when either adult returns home.",
"complexity": "low"
}
},
{
"id": "master_bedroom_air_quality",
"result": {
"structured": "TRIGGER: When master bedroom pm25 sensor [sensor.master_bedroom_environment_pm25] reports a value above 50 for 2 minutes. CONDITIONS: (person3 is awake [input_boolean.person3_is_awake] is on) OR (person2 is awake [input_boolean.person2_is_awake] is on). ACTIONS: Play a TTS announcement on master bedroom display [media_player.master_bedroom_display] stating the current PM2.5 level and advising to ventilate the room, with volume set to 20.",
"natural_language": {
"trigger": "When the master bedroom pm25 sensor [sensor.master_bedroom_environment_pm25] detects a particulate matter level above 50 for a continuous period of two minutes.",
"conditions": "If either person3 is awake [input_boolean.person3_is_awake] or person2 is awake [input_boolean.person2_is_awake] is in the 'on' state.",
"action": "Plays a text-to-speech announcement on the master bedroom display [media_player.master_bedroom_display]. The announcement states the current PM2.5 level, notes it is above the recommended maximum of 50, and asks someone to ventilate the room. The announcement is played with a volume level of 20."
},
"human_like": "Announces an air quality alert in the master bedroom when PM2.5 levels are high for two minutes and at least one person is awake.",
"complexity": "medium"
}
},
{
"id": "alarm_arm_away",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] changes to off OR when downstairs occupied [group.downstairs_occupied] changes to off. CONDITIONS: home occupied [binary_sensor.home_occupied] is off AND downstairs occupied [group.downstairs_occupied] is off. ACTIONS: Arm the alarm control panel [alarm_control_panel.master] in away mode.",
"natural_language": {
"trigger": "When either the home occupied [binary_sensor.home_occupied] sensor or the downstairs occupied [group.downstairs_occupied] group changes to an 'off' state.",
"conditions": "Both the home occupied [binary_sensor.home_occupied] sensor and the downstairs occupied [group.downstairs_occupied] group must be in the 'off' state.",
"action": "Arms the master alarm system [alarm_control_panel.master] in 'away' mode."
},
"human_like": "Automatically arms the home alarm in away mode when the home and downstairs areas are detected as unoccupied.",
"complexity": "low"
}
},
{
"id": "alarm_arm_at_night",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] turns on. CONDITIONS: None. ACTIONS: Arm alarm control panel [alarm_control_panel.master] in night mode.",
"natural_language": {
"trigger": "When the bedtime status [input_boolean.bedtime] is turned on.",
"conditions": "There are no additional conditions that must be met.",
"action": "Arms the master alarm system [alarm_control_panel.master] in night mode."
},
"human_like": "Automatically arms the home alarm to night mode when bedtime is activated.",
"complexity": "low"
}
},
{
"id": "alarm_arm_vacation",
"result": {
"structured": "TRIGGER: When holiday mode [input_boolean.holiday_mode] turns on. CONDITIONS: None. ACTIONS: Arm alarm control panel [alarm_control_panel.master] in vacation mode.",
"natural_language": {
"trigger": "When the holiday mode [input_boolean.holiday_mode] is switched on.",
"conditions": "There are no additional conditions.",
"action": "Arms the master alarm system [alarm_control_panel.master] in vacation mode."
},
"human_like": "Automatically arms the home alarm in vacation mode when holiday mode is activated.",
"complexity": "low"
}
},
{
"id": "alarm_disarm_hall",
"result": {
"structured": "TRIGGER: When vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] changes to on. CONDITIONS: front door contact [binary_sensor.front_door_contact] is off AND alarm control panel [alarm_control_panel.master] is NOT disarmed. ACTIONS: Disarm alarm control panel [alarm_control_panel.master] via the alarmo.disarm service.",
"natural_language": {
"trigger": "When the vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] detects motion or occupancy and changes to 'on'.",
"conditions": "The front door contact [binary_sensor.front_door_contact] must be closed (state 'off'), and the alarm control panel [alarm_control_panel.master] must not already be in a disarmed state.",
"action": "Disarms the master alarm system [alarm_control_panel.master]."
},
"human_like": "Automatically disarms the home alarm when someone enters the vestibule, but only if the front door is closed and the alarm is currently armed.",
"complexity": "low"
}
},
{
"id": "alarm_disarm_in_the_morning",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] turns off OR When utility motion occupancy [binary_sensor.utility_motion_occupancy] turns on. CONDITIONS: NOT (alarm control panel [alarm_control_panel.master] is disarmed). ACTIONS: Disarm alarm control panel [alarm_control_panel.master] using the alarmo.disarm service.",
"natural_language": {
"trigger": "When the bedtime status [input_boolean.bedtime] is turned off, indicating the end of bedtime, or when motion is detected in the utility room by utility motion occupancy [binary_sensor.utility_motion_occupancy].",
"conditions": "The automation only runs if the alarm control panel [alarm_control_panel.master] is not already in the disarmed state.",
"action": "Disarms the master alarm system by calling the alarmo.disarm service on the alarm control panel [alarm_control_panel.master]."
},
"human_like": "Automatically disarms the home alarm in the morning when bedtime ends or when motion is detected in the utility room, provided the alarm is armed.",
"complexity": "low"
}
},
{
"id": "alarm_disarm_upon_return",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] changes to on. CONDITIONS: NOT (alarm control panel [alarm_control_panel.master] is disarmed). ACTIONS: Disarm alarm control panel [alarm_control_panel.master] using the alarmo.disarm service.",
"natural_language": {
"trigger": "When the home occupied [binary_sensor.home_occupied] sensor detects that the home has become occupied.",
"conditions": "The automation only runs if the alarm control panel [alarm_control_panel.master] is not already in a disarmed state.",
"action": "It disarms the master alarm system [alarm_control_panel.master]."
},
"human_like": "Automatically disarms the home alarm when the system detects someone has returned home, provided the alarm is not already off.",
"complexity": "low"
}
},
{
"id": "all_away_media_off",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] changes to off. CONDITIONS: office media player [media_player.office] is playing OR family room media player [media_player.family_room] is playing OR living room media player [media_player.living_room] is playing OR person1 media player [media_player.person1] is playing OR person2 media player [media_player.person2] is playing. ACTIONS: Pause media playback on all applicable media players.",
"natural_language": {
"trigger": "When the home occupied [binary_sensor.home_occupied] sensor indicates that the home is no longer occupied.",
"conditions": "If at least one of the following media players is currently playing: office media player [media_player.office], family room media player [media_player.family_room], living room media player [media_player.living_room], person1 media player [media_player.person1], or person2 media player [media_player.person2].",
"action": "Pauses all media playback."
},
"human_like": "Pauses any playing media when everyone leaves the house.",
"complexity": "medium"
}
},
{
"id": "house_awake",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] changes to off. CONDITIONS: None. ACTIONS: Turn off adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall], adaptive lighting sleep mode living room lamps [switch.adaptive_lighting_sleep_mode_living_room_lamps], adaptive lighting sleep mode living room table [switch.adaptive_lighting_sleep_mode_living_room_table], adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom], adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office], and adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom].",
"natural_language": {
"trigger": "When the bedtime status [input_boolean.bedtime] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the adaptive lighting sleep mode switches for the hall [switch.adaptive_lighting_sleep_mode_hall], living room lamps [switch.adaptive_lighting_sleep_mode_living_room_lamps], living room table [switch.adaptive_lighting_sleep_mode_living_room_table], master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom], office [switch.adaptive_lighting_sleep_mode_office], and second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom]."
},
"human_like": "Disables the sleep mode for adaptive lighting in multiple rooms when bedtime is over.",
"complexity": "low"
}
},
{
"id": "spare_bedroom_guest_mode_off",
"result": {
"structured": "TRIGGER: When guest mode [input_boolean.guest_mode] turns off. CONDITIONS: None. ACTIONS: Set spare bedroom radiator [climate.spare_bedroom_radiator] preset mode to away.",
"natural_language": {
"trigger": "When the guest mode [input_boolean.guest_mode] is turned off.",
"conditions": "There are no conditions that need to be met.",
"action": "Sets the spare bedroom radiator [climate.spare_bedroom_radiator] to the 'away' preset mode, reducing the heating."
},
"human_like": "Turns down the heat in the spare bedroom when guest mode is disabled.",
"complexity": "low"
}
},
{
"id": "spare_bedroom_guest_mode_on",
"result": {
"structured": "TRIGGER: When guest mode [input_boolean.guest_mode] turns on. CONDITIONS: None. ACTIONS: Set spare bedroom radiator [climate.spare_bedroom_radiator] temperature to 21°C.",
"natural_language": {
"trigger": "When the guest mode [input_boolean.guest_mode] is switched on.",
"conditions": "There are no conditions that need to be met.",
"action": "Sets the temperature of the spare bedroom radiator [climate.spare_bedroom_radiator] to 21 degrees Celsius."
},
"human_like": "When guest mode is enabled, it automatically warms up the spare bedroom by setting the radiator to a comfortable temperature.",
"complexity": "low"
}
},
{
"id": "awtrix_calendar",
"result": {
"structured": "TRIGGER: Every 5 minutes (time pattern). CONDITIONS: office occupied [input_boolean.office_occupied] is on AND (the start time of calendar person2 work [calendar.person2_work] is between now and 1000 seconds (approximately 16.7 minutes) in the future). ACTIONS: Send a notification to awtrix 6d6f50 [notify.awtrix_6d6f50] with a custom message containing the event description and a relative time until start, using a specific icon and repeating twice.",
"natural_language": {
"trigger": "The automation runs every five minutes.",
"conditions": "The office must be marked as occupied via the office occupied [input_boolean.office_occupied] switch, and the next event in the calendar person2 work [calendar.person2_work] must be scheduled to start within the next 1000 seconds (about 16 minutes and 40 seconds).",
"action": "Sends a notification to the Awtrix device awtrix 6d6f50 [notify.awtrix_6d6f50]. The message includes the event description from the calendar and a human-readable countdown until it starts. The notification uses a specific icon and is repeated twice."
},
"human_like": "Sends a reminder to the office Awtrix display when a work event is about to start and the office is occupied.",
"complexity": "medium"
}
},
{
"id": "awtrix_family_room_clock_colour",
"result": {
"structured": "TRIGGER: Every 5 minutes (time pattern). CONDITIONS: None. ACTIONS: Compute variable 'when' as minutes until next alarm (negative if alarm unavailable). Choose action based on conditions: IF (person1 in bed [input_boolean.person1_in_bed] is on OR second bedroom occupied [input_boolean.second_bedroom_occupied] is on OR when < 0 OR when >= 510) THEN publish white clock colour. ELSE IF (when < 510 AND when > 450) THEN publish amber clock colour. ELSE IF (when <= 450) THEN publish red clock colour. ELSE (default) publish white clock colour.",
"natural_language": {
"trigger": "The automation runs every 5 minutes.",
"conditions": "There are no separate conditions; the logic is embedded in the action's choice block.",
"action": "First, it calculates the time until the next alarm in minutes. If the alarm is unavailable, the value is set to -1. Then, it chooses a colour for the clock display: If person1 is in bed, or the second bedroom is occupied, or the alarm is unavailable, or the alarm is more than 8.5 hours away, it sets the clock to white. If the alarm is between 7.5 and 8.5 hours away, it sets the clock to amber. If the alarm is 7.5 hours away or less, it sets the clock to red. As a fallback, it sets the clock to white."
},
"human_like": "Changes the colour of a family room clock based on the time until the next alarm and whether certain people are in bed, updating every 5 minutes.",
"complexity": "medium"
}
},
{
"id": "awtrix_clock_mode",
"result": {
"structured": "TRIGGER: When the time is 23:00:00 (trigger id NM Start) OR When the time is 07:00:00 (trigger id NM End). CONDITIONS: None. ACTIONS: If the trigger was NM Start, then publish MQTT message to topic awtrix_6d6f50/switch with payload '{\"name\":\"Time\"}' AND publish MQTT message to topic awtrix_6d6f50/settings with payload '{ \"WD\": false, \"TIME_COL\": [255,0,0], \"TMODE\": 0, \"BRI\": 1, \"ABRI\": false, \"ATRANS\": false }'. If the trigger was NM End, then publish MQTT message to topic awtrix_6d6f50/settings with payload '{ \"WD\": true, \"TIME_COL\": [255,255,255], \"TMODE\": 2, \"ABRI\": true, \"ATRANS\": true }'.",
"natural_language": {
"trigger": "The automation is triggered daily at 11:00 PM (23:00) and at 7:00 AM (07:00).",
"conditions": "There are no conditions to evaluate; the actions run immediately upon the time trigger.",
"action": "If the trigger is the 11:00 PM event, the automation sends two MQTT commands to the device 'awtrix_6d6f50'. First, it sends a command to switch to a mode named 'Time'. Second, it sends a settings command to disable weekday display, set the time color to red, set the time mode to 0, set a low brightness, and disable auto-brightness and auto-transitions. If the trigger is the 7:00 AM event, the automation sends a settings command to enable weekday display, set the time color to white, set the time mode to 2, and enable both auto-brightness and auto-transitions."
},
"human_like": "Switches the Awtrix display to a dim, red night mode at 11 PM and back to a bright, white day mode with auto-adjustments at 7 AM.",
"complexity": "low"
}
},
{
"id": "awtrix_next_meeting",
"result": {
"structured": "TRIGGER: When the time pattern matches every minute OR When office occupied [input_boolean.office_occupied] turns on. CONDITIONS: office occupied [input_boolean.office_occupied] is on AND The calendar event message for calendar person2 work [calendar.person2_work] does NOT contain \"Reminder: \". ACTIONS: If (Time until next meeting start > 1801 seconds) AND (next meeting input select [input_select.next_meeting] is not None) THEN Set next meeting input select [input_select.next_meeting] to None AND Publish MQTT message to topic 'awtrix_6d6f50/settings' with payload setting CHCOL to #007700 (green). ELSE IF (Time until next meeting start > 901 seconds AND <= 1801 seconds) AND (next meeting input select [input_select.next_meeting] is not Shortly) THEN Set next meeting input select [input_select.next_meeting] to Shortly AND Publish MQTT message to topic 'awtrix_6d6f50/settings' with payload setting CHCOL to #FF7400 (amber). ELSE IF (Time until next meeting start >= 0 seconds AND <= 901 seconds) AND (next meeting input select [input_select.next_meeting] is not Imminent) THEN Set next meeting input select [input_select.next_meeting] to Imminent AND Publish MQTT message to topic 'awtrix_6d6f50/settings' with payload setting CHCOL to #FF0000 (red). ELSE IF (Time until next meeting start < 0 seconds AND Time until meeting end > 0 seconds) AND (next meeting input select [input_select.next_meeting] is not Now) THEN Set next meeting input select [input_select.next_meeting] to Now AND Publish MQTT message to topic 'awtrix_6d6f50/settings' with payload setting CHCOL to #FF00FF (blue).",
"natural_language": {
"trigger": "The automation runs every minute, or whenever the office occupied [input_boolean.office_occupied] is turned on.",
"conditions": "The office must be marked as occupied, and the next calendar event from calendar person2 work [calendar.person2_work] must not be a reminder (its message does not contain the text 'Reminder: ').",
"action": "Based on the time until the next meeting starts and whether it is currently ongoing, the automation updates a status selector and sends a colour command to an Awtrix display. If no meeting is within the next 30 minutes, it sets the status to None and the colour to green. If a meeting is 15 to 30 minutes away, it sets the status to Shortly and the colour to amber. If a meeting is within 15 minutes, it sets the status to Imminent and the colour to red. If a meeting is currently in progress, it sets the status to Now and the colour to blue. These actions only occur if the status selector is not already in the target state."
},
"human_like": "Updates an Awtrix display's date box colour based on the proximity of the next work meeting, using green, amber, red, and blue to indicate no meeting, upcoming, imminent, and current meeting statuses.",
"complexity": "medium"
}
},
{
"id": "awtrix_weather_app",
"result": {
"structured": "TRIGGER: When tomorrow io home nowcast [weather.tomorrow_io_home_nowcast] changes state. CONDITIONS: None. ACTIONS: For each target device (6d6f50, living_room, family_room), push weather app data to awtrix device 'awtrix_{{ target }}' with service 'awtrix.awtrix_{{ target }}_push_app_data'. The data includes: text set to the feels-like temperature from tomorrow io home feels like [sensor.tomorrow_io_home_feels_like] (rounded to 1 decimal place with unit), icon determined by the current weather condition and whether the sun is below the horizon (using sun sun [sun.sun]), and a gradient colour. The colour is blue (#6666ff) if feels-like temperature <= 0, red (#ff7777) if >= 25, otherwise white (#ffffff). Other parameters: rainbow false, repeat 2, pushIcon 1, textCase 0, textOffset 0, lifetime 1800 seconds, lifetimeMode 0.",
"natural_language": {
"trigger": "Whenever the weather condition reported by tomorrow io home nowcast [weather.tomorrow_io_home_nowcast] changes.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "For each of the three Awtrix devices (identified as 6d6f50, living_room, and family_room), send updated weather information to their 'weather' app. The information sent includes the current feels-like temperature from tomorrow io home feels like [sensor.tomorrow_io_home_feels_like], a weather icon that changes based on the time of day (using the state of sun sun [sun.sun]), and a background colour gradient. The colour is blue if it feels very cold (0°C or below), red if it feels hot (25°C or above), and white otherwise. The update is set to display for 30 minutes."
},
"human_like": "Updates the weather display on all Awtrix devices with the current feels-like temperature and a condition-appropriate icon, changing the colour based on how hot or cold it feels.",
"complexity": "medium"
}
},
{
"id": "battery_aa",
"result": {
"structured": "TRIGGER: When family room multi battery low [binary_sensor.family_room_multi_battery_low] changes to on. CONDITIONS: None. ACTIONS: Send a Discord notification via notify.apprise [notify.apprise] with the message ':low_battery: The [triggering entity name] has a low battery, fit some new AAs'.",
"natural_language": {
"trigger": "When the family room multi battery low [binary_sensor.family_room_multi_battery_low] sensor indicates a low battery by turning on.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to Discord using the notify.apprise [notify.apprise] service. The message includes a low battery emoji and states that the device which triggered the alert has a low battery and needs new AA batteries."
},
"human_like": "Sends a Discord alert when the battery in the family room multi-sensor is low, prompting the user to replace the AA batteries.",
"complexity": "low"
}
},
{
"id": "battery_cr1632",
"result": {
"structured": "TRIGGER: When any of the following binary sensors become 'on': front door battery low [binary_sensor.front_door_battery_low], patio door left battery low [binary_sensor.patio_door_left_battery_low], patio door right battery low [binary_sensor.patio_door_right_battery_low], utility door exterior battery low [binary_sensor.utility_door_exterior_battery_low], vestibule door battery low [binary_sensor.vestibule_door_battery_low], garage door car battery low [binary_sensor.garage_door_car_battery_low], garage door bike battery low [binary_sensor.garage_door_bike_battery_low], chest bike lid battery low [binary_sensor.chest_bike_lid_battery_low]. OR When any of the listed numeric battery sensors (chest bike lid battery [sensor.chest_bike_lid_battery], garage door car battery [sensor.garage_door_car_battery], garage door bike battery [sensor.garage_door_bike_battery], bathroom door battery [sensor.bathroom_door_battery], bathroom window battery [sensor.bathroom_window_battery], family window left battery [sensor.family_window_left_battery], family window right battery [sensor.family_window_right_battery], front door battery [sensor.front_door_battery], guest bedroom door battery [sensor.guest_bedroom_door_battery], guest bedroom window left battery [sensor.guest_bedroom_window_left_battery], guest bedroom window right battery [sensor.guest_bedroom_window_right_battery], kitchen window left battery [sensor.kitchen_window_left_battery], kitchen window right battery [sensor.kitchen_window_right_battery], master bedroom button battery [sensor.master_bedroom_button_battery], master ensuite door battery [sensor.master_ensuite_door_battery], master window ensuite battery [sensor.master_window_ensuite_battery], master window left battery [sensor.master_window_left_battery], master window right battery [sensor.master_window_right_battery], office dial moes battery [sensor.office_dial_moes_battery], office door battery [sensor.office_door_battery], office window battery [sensor.office_window_battery], patio door left battery [sensor.patio_door_left_battery], patio door right battery [sensor.patio_door_right_battery], patio window left battery [sensor.patio_window_left_battery], patio window right battery [sensor.patio_window_right_battery], second bedroom ensuite battery [sensor.second_bedroom_ensuite_battery], second bedroom window ensuite battery [sensor.second_bedroom_window_ensuite_battery], second bedroom window left battery [sensor.second_bedroom_window_left_battery], second bedroom window right battery [sensor.second_bedroom_window_right_battery], second ensuite door battery [sensor.second_ensuite_door_battery], spare bedroom window left battery [sensor.spare_bedroom_window_left_battery], spare bedroom window right battery [sensor.spare_bedroom_window_right_battery], utility door exterior battery [sensor.utility_door_exterior_battery], vestibule window front battery [sensor.vestibule_window_front_battery], vestibule window side battery [sensor.vestibule_window_side_battery]) remains below 21% for 3 hours OR remains below 11% for 3 hours OR remains below 6% for 1 hour. CONDITIONS: None. ACTIONS: Send a notification via notify apprise [notify.apprise] to Discord, with a message stating the triggering entity's name and its battery percentage, noting it uses a CR1632 coin cell.",
"natural_language": {
"trigger": "The automation triggers in several ways. First, if any of the specific low-battery binary sensors (like front door battery low, patio door left battery low, etc.) turn on. Second, if any of the many battery level sensors for doors, windows, and buttons drops below 21% and stays there for three hours. Third, if any of those same battery sensors drops below 11% and stays there for three hours. Finally, if any of them drops below 6% and stays there for one hour.",
"conditions": "There are no additional conditions that must be met for the action to run.",
"action": "Sends a notification to Discord via the notify apprise service. The message includes the name of the device that triggered the alert and its current battery percentage, specifying that it uses a CR1632 coin cell battery."
},
"human_like": "Sends a Discord alert when any door, window, or button sensor reports a low battery, with different urgency levels based on the battery percentage and duration.",
"complexity": "medium"
}
},
{
"id": "battery_cr2032",
"result": {
"structured": "TRIGGER: When bathroom water leak battery low [binary_sensor.bathroom_water_leak_battery_low] OR kitchen water leak battery low [binary_sensor.kitchen_water_leak_battery_low] OR master ensuite leak battery low [binary_sensor.master_ensuite_leak_battery_low] OR second ensuite battery low [binary_sensor.second_ensuite_battery_low] OR toilet water leak battery low [binary_sensor.toilet_water_leak_battery_low] OR utility room water leak battery low [binary_sensor.utility_room_water_leak_battery_low] changes to 'on'. OR When bathroom environment battery [sensor.bathroom_environment_battery] OR living room climate battery [sensor.living_room_climate_battery] OR master bedroom button battery [sensor.master_bedroom_button_battery] OR master ensuite environment battery [sensor.master_ensuite_environment_battery] OR office battery [sensor.office_battery] OR second bedroom ensuite battery [sensor.second_bedroom_ensuite_battery] OR utility remote battery [sensor.utility_remote_battery] remains below 21% for 3 hours. OR When the same list of sensors remains below 11% for 3 hours. OR When the same list of sensors remains below 6% for 1 hour. CONDITIONS: None. ACTIONS: Send a Discord notification via notify apprise [notify.apprise] with a low battery message, specifying the triggering entity's name and battery percentage.",
"natural_language": {
"trigger": "The automation triggers in any of four scenarios. First, if any of the water leak sensors (bathroom, kitchen, master ensuite, second ensuite, toilet, or utility room) reports a low battery state. Second, if any of the battery level sensors (for the bathroom environment, living room climate, master bedroom button, master ensuite environment, office, second bedroom ensuite, or utility remote) drops below 21% and stays there for three hours. Third, if any of those same battery level sensors drops below 11% and stays there for three hours. Fourth, if any of those same battery level sensors drops below 6% and stays there for one hour.",
"conditions": "There are no additional conditions that must be met for the action to run.",
"action": "Sends a notification to Discord using the notify apprise [notify.apprise] service. The message includes a low battery emoji and states the name of the device that triggered the alert and its current battery percentage, noting it uses a CR2032 coin cell."
},
"human_like": "Sends a Discord alert when any of several battery-powered devices reports a low battery, using different thresholds and durations to provide early and critical warnings.",
"complexity": "medium"
}
},
{
"id": "battery_cr2450",
"result": {
"structured": "TRIGGER: When upstairs hall motion front battery low [binary_sensor.upstairs_hall_motion_front_battery_low] OR office presence battery low [binary_sensor.office_presence_battery_low] turns on. OR When any of the following sensors: downstairs hall light sensor battery [sensor.downstairs_hall_light_sensor_battery], downstairs hall motion battery [sensor.downstairs_hall_motion_battery], hue dimmer battery [sensor.hue_dimmer_battery], living room light sensor battery [sensor.living_room_light_sensor_battery], living room presence battery [sensor.living_room_presence_battery], master bedroom cube battery [sensor.master_bedroom_cube_battery], master bedroom light sensor battery [sensor.master_bedroom_light_sensor_battery], office illuminance battery [sensor.office_illuminance_battery], office presence battery [sensor.office_presence_battery], vestibule multi battery [sensor.vestibule_multi_battery] remains below 21% for 3 hours. OR When any of the same list of sensors remains below 11% for 3 hours. OR When any of the same list of sensors remains below 6% for 1 hour. CONDITIONS: None. ACTIONS: Send a notification via notify apprise [notify.apprise] to Discord with a message indicating the triggering entity's name and its battery percentage, noting it uses a CR2450 coin cell.",
"natural_language": {
"trigger": "The automation triggers in four possible ways. First, if the upstairs hall motion front battery low [binary_sensor.upstairs_hall_motion_front_battery_low] or the office presence battery low [binary_sensor.office_presence_battery_low] reports a low battery state (turns on). Second, if the battery level of any of ten specific sensors (including downstairs hall light sensor battery, hue dimmer battery, and others) drops below 21% and stays there for three hours. Third, if the battery level of any of those same sensors drops below 11% and stays there for three hours. Fourth, if the battery level of any of those sensors drops below 6% and stays there for one hour.",
"conditions": "There are no conditions that must be checked after the trigger.",
"action": "Sends a notification to Discord via the notify apprise [notify.apprise] service. The message includes the name of the device that triggered the alert and its current battery percentage, and states that the device uses a CR2450 coin cell battery."
},
"human_like": "Sends a Discord alert when any of several specific battery-powered devices report a low battery, using different thresholds and durations to provide early warnings.",
"complexity": "medium"
}
},
{
"id": "battery_notes_low",
"result": {
"structured": "TRIGGER: When a battery_notes_battery_threshold event occurs with battery_low: true OR When a battery_notes_battery_threshold event occurs with battery_low: false. CONDITIONS: None. ACTIONS: If the trigger is the low event, send a Discord notification via notify apprise [notify.apprise] with a low battery message including the device name, battery level, required battery quantity, and type. If the trigger is the high event, send a Discord notification via notify apprise [notify.apprise] with a battery level increased message including the device name and battery level.",
"natural_language": {
"trigger": "When the battery_notes_battery_threshold event is received, indicating either that a battery has gone low (battery_low: true) or that a battery has gone high (battery_low: false).",
"conditions": "There are no additional conditions; the automation runs based solely on the trigger event.",
"action": "If the battery is low, it sends a Discord notification with a low battery warning, including the device name, current battery percentage, and the number and type of batteries needed. If the battery level has increased, it sends a Discord notification indicating the device's battery level has recovered."
},
"human_like": "Sends Discord notifications when device batteries are low or when their level increases, providing details about the battery status.",
"complexity": "medium"
}
},
{
"id": "bedhead_light_dim_late",
"result": {
"structured": "TRIGGER: When the time is 23:00:00 OR when Master Bedroom Bedhead Light [light.master_bedroom_bedhead] turns on. CONDITIONS: Master Bedroom Bedhead Light [light.master_bedroom_bedhead] is on AND the current time is after 22:59:59. ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to the 'Bedtime' option.",
"natural_language": {
"trigger": "Either at exactly 11:00 PM, or whenever the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] is turned on.",
"conditions": "The Master Bedroom Bedhead Light [light.master_bedroom_bedhead] must be on, and the current time must be after 10:59:59 PM.",
"action": "Changes the Master Bedroom Select [input_select.master_bedroom] to the 'Bedtime' setting."
},
"human_like": "Sets the master bedroom to 'Bedtime' mode either at 11 PM or when the bedhead light is turned on late in the evening.",
"complexity": "medium"
}
},
{
"id": "bedtime",
"result": {
"structured": "TRIGGER: When person1 in bed [input_boolean.person1_in_bed] OR person2 in bed [input_boolean.person2_in_bed] OR person3 in bed [input_boolean.person3_in_bed] turns on. OR When downstairs occupied [group.downstairs_occupied] OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] OR Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] turns off AND remains off for 2 minutes. ACTIONS: Send debug log message with occupancy states. Check condition: home occupied [binary_sensor.home_occupied] is on. If true, send debug log message 'Bedtime: house is occupied'. Check condition: downstairs occupied [group.downstairs_occupied] is off AND remains off for 2 minutes. If true, send debug log message 'Bedtime: Downstairs isn't occupied'. Check condition: (vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] is off for 2 minutes OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] is unavailable) AND (Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] is off for 2 minutes OR Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] is unavailable). If true, send debug log message 'Bedtime: No motion recently'. Check condition: (person3 in bed [input_boolean.person3_in_bed] is on OR Person3 Travelling [input_boolean.person3_travelling] is on) AND (person2 in bed [input_boolean.person2_in_bed] is on OR Person2 Travelling [input_boolean.person2_travelling] is on) AND (person1 in bed [input_boolean.person1_in_bed] is on OR Person1 Travelling [input_boolean.person1_travelling] is on). If true, send debug log message 'Bedtime: Everybody is in bed' AND turn on bedtime status [input_boolean.bedtime].",
"natural_language": {
"trigger": "The automation triggers when any of the three people (person1, person2, or person3) is marked as being in bed. Alternatively, it also triggers if the downstairs area (represented by the group, the vestibule sensor, or the downstairs hall motion sensor) becomes unoccupied and stays that way for two minutes.",
"conditions": "The automation performs a series of checks after triggering. First, it verifies that the home is occupied. Then, it checks that the downstairs area has been unoccupied for at least two minutes. Next, it ensures there has been no recent motion in the vestibule or downstairs hall for two minutes, or that those sensors are unavailable. Finally, it confirms that all three people are either in bed or marked as travelling.",
"action": "Throughout the process, the automation sends several status messages to a debug log. If all checks pass, it sends a final message stating everyone is in bed and then activates the bedtime status."
},
"human_like": "This automation activates the 'bedtime' mode when everyone is either in bed or travelling, and the downstairs area has been quiet and unoccupied for a while.",
"complexity": "high"
}
},
{
"id": "bedtime_something_open",
"result": {
"structured": "TRIGGER: When Person3 In Bed [input_boolean.person3_in_bed] changes to on OR when Person2 In Bed [input_boolean.person2_in_bed] changes to on. CONDITIONS: (person3 is awake [input_boolean.person3_is_awake] is on OR person2 is awake [input_boolean.person2_is_awake] is on) AND (exterior doors group [group.my_exterior_doors] is on OR downstairs windows group [group.my_downstairs_windows] is on). ACTIONS: Set variable 'what' to a comma-separated list of names of all open entities in the groups exterior doors group [group.my_exterior_doors] and downstairs windows group [group.my_downstairs_windows]. Send a notification to the person who was most recently awake (person2 notification [notify.person2] if person2 is awake [input_boolean.person2_is_awake] was updated last, otherwise person3 notification [notify.person3]) with a message listing the open items. Turn on the media player for the most recently awake person (media_player.cast_master_bedroom_speaker for person2, media_player.cast_master_bedroom_display for person3). Set the volume of that media player to 0.15. Use TTS on that media player to announce the open items. Wait for 1 minute. Turn off that media player.",
"natural_language": {
"trigger": "When either Person3 In Bed [input_boolean.person3_in_bed] or Person2 In Bed [input_boolean.person2_in_bed] is turned on.",
"conditions": "At least one of the persons (person3 is awake [input_boolean.person3_is_awake] or person2 is awake [input_boolean.person2_is_awake]) must be marked as awake. Also, at least one entity within either the exterior doors group [group.my_exterior_doors] or the downstairs windows group [group.my_downstairs_windows] must be open (state 'on').",
"action": "The automation first compiles a list of all open doors and windows from the two groups. It then determines which person was most recently marked as awake and sends them a notification with the list. It turns on the corresponding media device in the master bedroom (a speaker for person2, a display for person3), sets its volume to 15%, and uses text-to-speech to announce the list of open items. After a one-minute delay, it turns the media device off."
},
"human_like": "When someone goes to bed but is still awake, this automation checks if any doors or windows are open downstairs and alerts the most recently active person with a spoken and written notification.",
"complexity": "high"
}
},
{
"id": "bin_calendar",
"result": {
"structured": "TRIGGER: When the bin_type attribute of Next Bin Collection Sensor [sensor.next_bin_collection] changes to null. CONDITIONS: Next Bin Collection Sensor [sensor.next_bin_collection] state is 'tomorrow'. ACTIONS: Create a calendar event in Refuse collection calendar [calendar.refuse_collection] with a summary and description set to the capitalized bin_type attribute of Next Bin Collection Sensor [sensor.next_bin_collection] followed by 'bin collection', starting at midnight tomorrow and ending at noon tomorrow.",
"natural_language": {
"trigger": "When the 'bin_type' attribute of the Next Bin Collection Sensor [sensor.next_bin_collection] changes to a null value.",
"conditions": "The Next Bin Collection Sensor [sensor.next_bin_collection] must have a state of 'tomorrow'.",
"action": "Creates a new event in the Refuse collection calendar [calendar.refuse_collection]. The event's title and description are set to the capitalized value of the sensor's 'bin_type' attribute (e.g., 'Recycling bin collection'). The event is scheduled to start at midnight tomorrow and end at noon tomorrow."
},
"human_like": "Adds tomorrow's bin collection schedule to the calendar when the sensor updates with the collection type.",
"complexity": "medium"
}
},
{
"id": "bin_notification",
"result": {
"structured": "TRIGGER: Every 5 minutes at 30 seconds past the minute (time pattern). CONDITIONS: (Living Room Occupied [input_boolean.living_room_occupied] is on OR Family Room Occupied [input_boolean.family_room_occupied] is on) AND ((Next Bin Collection Sensor [sensor.next_bin_collection] state is tomorrow AND Garden gate contact [binary_sensor.garden_gate_contact] last_changed before 18:00 today) OR (time is before 09:00:00 AND Next Bin Collection Sensor [sensor.next_bin_collection] state is today AND Garden gate contact [binary_sensor.garden_gate_contact] last_changed before 18:00 yesterday)). ACTIONS: Wait 1 minute, then for each room (living_room, family_room) send a notification to awtrix_{{ room }} with a message about the bin collection and an icon based on bin type, repeating the notification twice.",
"natural_language": {
"trigger": "The automation triggers every five minutes, at 30 seconds past the minute.",
"conditions": "At least one of the main living areas must be occupied, indicated by either Living Room Occupied [input_boolean.living_room_occupied] or Family Room Occupied [input_boolean.family_room_occupied] being on. Additionally, the bin collection logic must be satisfied. This means either: the bin collection is scheduled for tomorrow and the Garden gate contact [binary_sensor.garden_gate_contact] has not been opened since before 6 PM today; or it is before 9 AM, the bin collection is scheduled for today, and the Garden gate contact [binary_sensor.garden_gate_contact] has not been opened since before 6 PM the previous day.",
"action": "After a one-minute delay, the system sends a notification to the displays in both the living room and family room. The message informs the user about the upcoming bin collection (today or tomorrow) and the bin type (grey, green, blue, or brown), and includes a warning if the bin has not been put out yet. The notification includes a specific icon for the bin type and is repeated twice on each display."
},
"human_like": "Sends a reminder to put the bins out when collection is scheduled for the next day or the same morning, but only if someone is home in the main living areas.",
"complexity": "high"
}
},
{
"id": "bin_reminder",
"result": {
"structured": "TRIGGER: At 19:40:00. CONDITIONS: (Garden gate contact [binary_sensor.garden_gate_contact] last changed before 18:00 today) AND (Next Bin Collection Sensor [sensor.next_bin_collection] state is 'tomorrow'). ACTIONS: Wait for Living room presence occupancy [binary_sensor.living_room_presence_occupancy] to become 'on' for up to 2 hours. If the wait times out, stop. If the wait succeeds, then check the condition again: (Garden gate contact [binary_sensor.garden_gate_contact] last changed before 18:00 today). If true, play a TTS announcement on Living Room Sonos Cloud [media_player.living_room_sonos_cloud] stating the bin type and that it hasn't been put out yet.",
"natural_language": {
"trigger": "The automation triggers daily at 7:40 PM.",
"conditions": "It first checks if the Garden gate contact [binary_sensor.garden_gate_contact] was last opened or closed before 6:00 PM today, and if the Next Bin Collection Sensor [sensor.next_bin_collection] indicates that collection is 'tomorrow'.",
"action": "After the conditions are met, the automation waits for someone to be detected in the living room by the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor. It will wait for up to two hours. If no one is detected within that time, the automation stops. If someone is detected, it re-checks that the Garden gate contact [binary_sensor.garden_gate_contact] still hasn't been opened or closed since before 6:00 PM. If this is still true, it plays a text-to-speech announcement on the Living Room Sonos Cloud [media_player.living_room_sonos_cloud] speaker, reminding the household that a specific type of bin is due for collection and hasn't been taken out."
},
"human_like": "Reminds you to take the bins out in the evening if they are due for collection the next day and the gate hasn't been opened since the afternoon.",
"complexity": "medium"
}
},
{
"id": "bt_front_dead",
"result": {
"structured": "TRIGGER: When First floor front [binary_sensor.first_floor_front] remains off for 10 minutes. CONDITIONS: person2 home status [input_boolean.person2_home] is on AND person2 is awake [input_boolean.person2_is_awake] is on. ACTIONS: Send a Discord notification with the message 'Front Bluetooth is a zombie'.",
"natural_language": {
"trigger": "When the First floor front [binary_sensor.first_floor_front] sensor has been in an 'off' state for a continuous period of 10 minutes.",
"conditions": "If person2 home status [input_boolean.person2_home] is set to 'on', indicating the person is home, and person2 is awake [input_boolean.person2_is_awake] is also set to 'on', indicating the person is awake.",
"action": "Sends a notification to Discord with the message 'Front Bluetooth is a zombie'."
},
"human_like": "Sends a Discord alert if the front Bluetooth sensor becomes inactive for 10 minutes while a specific person is home and awake.",
"complexity": "low"
}
},
{
"id": "bt_front_offline_too_long",
"result": {
"structured": "TRIGGER: When First floor front [binary_sensor.first_floor_front] becomes unavailable (off) AND remains off for 5 minutes. CONDITIONS: None. ACTIONS: Send a Discord notification stating 'Front Bluetooth node was a zombie, and we'll power cycle it'. THEN, WHILE First floor front [binary_sensor.first_floor_front] remains off, REPEAT: Turn off Master Bedroom Switch [switch.master_bedroom], wait 10 seconds, turn on Master Bedroom Switch [switch.master_bedroom], wait 30 seconds, THEN wait up to 5 minutes for First floor front [binary_sensor.first_floor_front] to become available (on). AFTER the loop finishes, send a Discord notification stating 'Front Bluetooth node is alive again!'.",
"natural_language": {
"trigger": "When the First floor front [binary_sensor.first_floor_front] sensor reports as offline (off) and stays that way for five minutes.",
"conditions": "There are no conditions that must be checked before proceeding with the actions.",
"action": "First, a message is sent to Discord saying the front Bluetooth node was a zombie and will be power cycled. Then, as long as the First floor front [binary_sensor.first_floor_front] remains offline, the automation will repeatedly turn off the Master Bedroom Switch [switch.master_bedroom], wait ten seconds, turn it back on, wait thirty seconds, and then wait for up to five minutes for the sensor to come back online. Once the sensor is online or the loop ends, a final Discord message is sent confirming the node is alive again."
},
"human_like": "Automatically power cycles a switch to try and restore a Bluetooth sensor that has been offline for too long, sending notifications before and after the process.",
"complexity": "medium"
}
},
{
"id": "bt_front_offline",
"result": {
"structured": "TRIGGER: When First floor front [binary_sensor.first_floor_front] changes to off. CONDITIONS: None. ACTIONS: Publish 'unknown' to MQTT topic monitor/first floor front/person2_mobile/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/person2_tablet/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/person2_laptop/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/person2_work_mobile/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/work_laptop/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/person3_mobile/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/person1_mobile/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/person1_tablet/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/person4_mobile/device_tracker. Publish 'unknown' to MQTT topic monitor/first floor front/car/device_tracker.",
"natural_language": {
"trigger": "When the First floor front [binary_sensor.first_floor_front] sensor changes its state to off.",
"conditions": "There are no conditions for this automation.",
"action": "The automation publishes an 'unknown' status to a series of MQTT topics related to device trackers for various devices (mobile phones, tablets, laptops, and a car) associated with the 'first floor front' area."
},
"human_like": "When the front area sensor goes offline, it marks all tracked devices in that area as 'unknown'.",
"complexity": "low"
}
},
{
"id": "bt_rear_dead",
"result": {
"structured": "TRIGGER: When First floor rear [binary_sensor.first_floor_rear] remains off for 10 minutes. ACTIONS: Wait until person2 home status [input_boolean.person2_home] is on AND person2 is awake [input_boolean.person2_is_awake] is on. Then, send a notification via person2 notification [notify.person2] with the message 'Rear Bluetooth is a zombie'.",
"natural_language": {
"trigger": "When the First floor rear [binary_sensor.first_floor_rear] sensor remains in an 'off' state for a continuous period of 10 minutes.",
"conditions": "There are no explicit conditions defined in the automation. The action includes a wait step that acts as a runtime condition.",
"action": "The automation will first wait until both the person2 home status [input_boolean.person2_home] and the person2 is awake [input_boolean.person2_is_awake] are set to 'on'. Once both are true, it will send a notification to person2 notification [notify.person2] containing the message 'Rear Bluetooth is a zombie'."
},
"human_like": "Sends a warning notification to Person 2 when the rear Bluetooth sensor has been inactive for 10 minutes, but only if they are home and awake.",
"complexity": "medium"
}
},
{
"id": "bt_rear_offline",
"result": {
"structured": "TRIGGER: When First floor rear [binary_sensor.first_floor_rear] remains off for 1 minute. CONDITIONS: None. ACTIONS: Publish 'unknown' to MQTT topics: monitor/first floor rear/person2_mobile/device_tracker, monitor/first floor rear/person2_tablet/device_tracker, monitor/first floor rear/person2_laptop/device_tracker, monitor/first floor rear/person2_work_mobile/device_tracker, monitor/first floor rear/work_laptop/device_tracker, monitor/first floor rear/person3_mobile/device_tracker, monitor/first floor rear/person1_mobile/device_tracker, monitor/first floor rear/person1_tablet/device_tracker, monitor/first floor rear/person4_mobile/device_tracker, monitor/first floor rear/car/device_tracker.",
"natural_language": {
"trigger": "When the First floor rear [binary_sensor.first_floor_rear] sensor reports an 'off' state for at least one minute.",
"conditions": "There are no additional conditions.",
"action": "The automation publishes an 'unknown' status to ten different MQTT topics, each representing a device tracker for various personal devices and a car associated with the first floor rear area."
},
"human_like": "Marks all tracked devices in the first floor rear area as 'unknown' when the area's sensor goes offline for a minute.",
"complexity": "low"
}
},
{
"id": "bt_node_hung",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When home occupied [binary_sensor.home_occupied] becomes unoccupied (off) and remains so for 15 minutes. CONDITIONS: home occupied [binary_sensor.home_occupied] is off AND (Person3 BT front mobile 2 [device_tracker.person3_bt_front_mobile_2] is home OR Person3 BT mobile 2 [device_tracker.person3_bt_mobile_2] is home OR Person1 BT front mobile 2 [device_tracker.person1_bt_front_mobile_2] is home OR Person1 BT mobile 2 [device_tracker.person1_bt_mobile_2] is home OR Person2 BT front mobile 2 [device_tracker.person2_bt_front_mobile_2] is home OR Person2 BT mobile 2 [device_tracker.person2_bt_mobile_2] is home). ACTIONS: Execute script Scan BT Restart Script [script.scan_bt_restart] AND send a notification to person2 notification [notify.person2] with the message: 'One of the monitor nodes was hung, so I've restarted them'.",
"natural_language": {
"trigger": "The automation triggers in three situations: when Home Assistant first starts up, when any automation is reloaded, or when the home occupied [binary_sensor.home_occupied] sensor indicates the home is unoccupied and remains in that state for 15 minutes.",
"conditions": "For the automation to proceed, the home must be unoccupied, meaning the home occupied [binary_sensor.home_occupied] sensor must be off. Additionally, at least one of the six Bluetooth device trackers for Person1, Person2, or Person3 must report that the associated device is 'home'. This suggests a potential inconsistency, as the home is reported empty but a personal device is still detected.",
"action": "The automation runs the Scan BT Restart Script [script.scan_bt_restart] to restart the Bluetooth monitoring nodes. It then sends a notification to person2 notification [notify.person2] explaining that a monitor node was hung and has been restarted."
},
"human_like": "This automation restarts the Bluetooth monitoring system and sends an alert if the system detects the home is empty but a personal device is still present, which suggests a node might be stuck.",
"complexity": "medium"
}
},
{
"id": "telegram_callback_whereis",
"result": {
"structured": "TRIGGER: When a Telegram callback event occurs with data \"/whereis person3\" OR when a Telegram callback event occurs with data \"/whereis person1\". CONDITIONS: None. ACTIONS: Choose based on the trigger data: If the trigger data contains \"person1\", then send the location of Person1 [person.person1] via Telegram and send a message describing Person1's status based on the state of person1 in bed [input_boolean.person1_in_bed], Person1 Home [input_boolean.person1_home], Person1 [person.person1], Person Person1 Text [input_text.person_person1], and SM A546B Geocoded Location Sensor [sensor.sm_a546b_geocoded_location]. If the trigger data contains \"person3\", then send the location of Person3 [person.person3] via Telegram and send a message describing Person3's status based on the state of Person3 In Bed [input_boolean.person3_in_bed], person3 home status [input_boolean.person3_home], Person3 [person.person3], Person Person3 Text [input_text.person_person3], and Pixel 6a Geocoded Location Sensor [sensor.pixel_6a_geocoded_location]. Otherwise, send a Telegram message asking to specify either person1 or person3, with inline keyboard options for both.",
"natural_language": {
"trigger": "The automation is triggered when a specific Telegram callback command is received, either for person1 or person3. Specifically, when the event data is exactly \"/whereis person1\" or \"/whereis person3\".",
"conditions": "There are no additional conditions that must be met for the automation to proceed.",
"action": "The automation checks which person was requested. If the request was for person1, it sends their current GPS location via Telegram and follows up with a detailed status message. This message varies: it reports how long person1 has been in bed if the person1 in bed [input_boolean.person1_in_bed] is on, or how long they have been home if Person1 Home [input_boolean.person1_home] is on. If they are marked as not home, it states their location using the SM A546B Geocoded Location Sensor [sensor.sm_a546b_geocoded_location] and the Person Person1 Text [input_text.person_person1], along with the duration. Otherwise, it provides a general status from Person Person1 Text [input_text.person_person1]. If the request was for person3, it performs the same sequence using person3's corresponding entities: Person3 [person.person3], Person3 In Bed [input_boolean.person3_in_bed], person3 home status [input_boolean.person3_home], Person Person3 Text [input_text.person_person3], and Pixel 6a Geocoded Location Sensor [sensor.pixel_6a_geocoded_location]. If the request was for neither person1 nor person3, it sends a reply asking the user to specify one of them, providing inline buttons for both options."
},
"human_like": "Responds to Telegram 'whereis' commands by sending the location and a detailed status update for either person1 or person3.",
"complexity": "medium"
}
},
{
"id": "car_away",
"result": {
"structured": "TRIGGER: When Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] changes to not_home OR When Home Assistant starts. CONDITIONS: Car Home [input_boolean.car_home] is on AND Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] is not_home. ACTIONS: Turn off Car Home [input_boolean.car_home] AND set Car Text [input_text.car] value to 'Away'.",
"natural_language": {
"trigger": "When the Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] reports the car is not home, or when Home Assistant first starts up.",
"conditions": "The Car Home [input_boolean.car_home] status must be on, and the Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] must currently be reporting not_home.",
"action": "Turns off the Car Home [input_boolean.car_home] status and updates the Car Text [input_text.car] field to 'Away'."
},
"human_like": "Updates the system to show the car is away when it leaves home or on system startup, if it's currently marked as home.",
"complexity": "low"
}
},
{
"id": "car_home",
"result": {
"structured": "TRIGGER: When Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] changes to home OR when Home Assistant starts. CONDITIONS: Car Home [input_boolean.car_home] is off AND Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] is home. ACTIONS: Turn on Car Home [input_boolean.car_home] AND set Car Text [input_text.car] value to 'Home'.",
"natural_language": {
"trigger": "When the Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] reports that the car is at home, or when Home Assistant first starts up.",
"conditions": "The Car Home [input_boolean.car_home] must currently be off, and the Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] must be reporting that the car is at home.",
"action": "Turns on the Car Home [input_boolean.car_home] indicator and updates the Car Text [input_text.car] to display the value 'Home'."
},
"human_like": "This automation marks the car as being at home and updates a text field when the car arrives or when the system starts, ensuring the status is correctly set.",
"complexity": "low"
}
},
{
"id": "car_location_update",
"result": {
"structured": "TRIGGER: When Car GPS [device_tracker.car_gps] state changes OR When Skoda Superb Places Sensor [sensor.skoda_superb_places] state changes OR When Skoda To Home Distance Sensor [sensor.skoda_to_home_skoda_superb_position_distance] state changes. CONDITIONS: None. ACTIONS: Set the value of Car Location Text [input_text.car_location] based on a template. The template logic is: IF Car Home [input_boolean.car_home] is on THEN set value to 'Home'. ELSE IF Car GPS [device_tracker.car_gps] state is 'vehicle_in_motion' THEN set value to 'On the move'. ELSE IF Car GPS [device_tracker.car_gps] state is NOT 'not_home' THEN set value to 'At [state of Car GPS]'. ELSE set value to 'Near [formatted location string]'. The formatted location string is derived from Skoda Superb Places Sensor [sensor.skoda_superb_places] attributes: if the sensor state is not 'unknown', it constructs a string using place_name (if defined and different from street), street_number, street, and city; otherwise, it uses the string 'somewhere'.",
"natural_language": {
"trigger": "The automation triggers whenever there is a change in the state of the Car GPS [device_tracker.car_gps], the Skoda Superb Places Sensor [sensor.skoda_superb_places], or the Skoda To Home Distance Sensor [sensor.skoda_to_home_skoda_superb_position_distance].",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Updates the text field Car Location Text [input_text.car_location] with a descriptive location. It first checks if the Car Home [input_boolean.car_home] is on, and if so, sets the location to 'Home'. If the car is moving (Car GPS [device_tracker.car_gps] state is 'vehicle_in_motion'), it sets the location to 'On the move'. If the car is at a known location (Car GPS [device_tracker.car_gps] state is not 'not_home'), it uses that location name. Otherwise, it generates a detailed address string from the Skoda Superb Places Sensor [sensor.skoda_superb_places] attributes like street and city, or simply uses 'somewhere' if that data is unavailable."
},
"human_like": "Updates a text display with the car's current location, showing if it's at home, moving, at a named place, or near an address.",
"complexity": "medium"
}
},
{
"id": "car_moved",
"result": {
"structured": "TRIGGER: When Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] changes state. CONDITIONS: None. ACTIONS: Execute Update Car Location Script [script.update_car_location].",
"natural_language": {
"trigger": "Whenever the location or state of the Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] changes.",
"conditions": "There are no conditions that must be met.",
"action": "Runs the Update Car Location Script [script.update_car_location]."
},
"human_like": "Updates the car's location whenever the vehicle tracker reports a change.",
"complexity": "low"
}
},
{
"id": "car_update_myskoda",
"result": {
"structured": "TRIGGER: When pixel xl android auto [binary_sensor.pixel_xl_android_auto] changes to state 'null' AND remains for 1 minute. CONDITIONS: None. ACTIONS: Update entity Skoda Superb Combi position [device_tracker.skoda_superb_combi_position].",
"natural_language": {
"trigger": "When the pixel xl android auto [binary_sensor.pixel_xl_android_auto] sensor changes to a state of 'null' and stays that way for one minute.",
"conditions": "There are no conditions for this automation.",
"action": "Triggers an update for the Skoda Superb Combi position [device_tracker.skoda_superb_combi_position] device tracker."
},
"human_like": "Updates the car's location tracker one minute after Android Auto disconnects.",
"complexity": "low"
}
},
{
"id": "christmas_disabled",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Season Select [input_select.season] changes from Christmas to any other state. CONDITIONS: Season Select [input_select.season] is NOT Christmas. ACTIONS: Turn off Christmas control group [group.christmas_control].",
"natural_language": {
"trigger": "When Home Assistant first starts up, when any automation is reloaded, or when the Season Select [input_select.season] is changed away from the 'Christmas' setting.",
"conditions": "The only condition is that the Season Select [input_select.season] is not currently set to 'Christmas'.",
"action": "Turns off the Christmas control group [group.christmas_control]."
},
"human_like": "Turns off all Christmas-related controls when the season is changed away from Christmas, or when the system restarts.",
"complexity": "low"
}
},
{
"id": "christmas_enabled",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Season Select [input_select.season] changes to Christmas. CONDITIONS: Season Select [input_select.season] is Christmas AND Christmas control group [group.christmas_control] is off. ACTIONS: Turn off Christmas control group [group.christmas_control].",
"natural_language": {
"trigger": "When Home Assistant first starts up, when any automation is reloaded, or when the Season Select [input_select.season] is changed to 'Christmas'.",
"conditions": "The Season Select [input_select.season] must be set to 'Christmas', and the Christmas control group [group.christmas_control] must currently be off.",
"action": "Turns off the Christmas control group [group.christmas_control]."
},
"human_like": "Ensures the Christmas control group is turned off when the season is set to Christmas, triggered by system start, automation reloads, or a manual season change.",
"complexity": "low"
}
},
{
"id": "telegram_command_lights_off",
"result": {
"structured": "TRIGGER: When a telegram_command event occurs with command /lights. CONDITIONS: The event arguments list contains exactly one argument AND that argument equals 'off'. ACTIONS: Send a Telegram message containing 'Turning the lights off'.",
"natural_language": {
"trigger": "When a Telegram command event is received for the command '/lights'.",
"conditions": "If the command includes exactly one argument and that argument is the word 'off'.",
"action": "Sends a reply via Telegram confirming the action, stating 'Turning the lights off'."
},
"human_like": "Responds to a specific Telegram command to turn the lights off by sending a confirmation message.",
"complexity": "medium"
}
},
{
"id": "telegram_command_check",
"result": {
"structured": "TRIGGER: When a Telegram command event with command '/check' is received. CONDITIONS: None. ACTIONS: Send a Telegram message containing a status report. The message includes: the alarm state of House alarm control panel [alarm_control_panel.house]; the online/offline status of Zigbee2mqtt bridge state [binary_sensor.zigbee2mqtt_bridge_state]; the count and names of occupied rooms from group.my_room_status; the count and names of lights on from group.my_lights; the count and names of open doors from exterior doors group [group.my_exterior_doors]; the count and names of open windows from downstairs windows group [group.my_downstairs_windows] and upstairs windows group [group.my_upstairs_windows]; the status and duration for person3 [person.person3] based on person3 in bed [input_boolean.person3_in_bed], person3 home status [input_boolean.person3_home], or location; the status and duration for person1 [person.person1] based on person1 in bed [input_boolean.person1_in_bed], Person1 Home [input_boolean.person1_home], or location; and, if Car GPS [device_tracker.car_gps] is not 'not_home' and its location differs from Person2 [person.person2], the car's location.",
"natural_language": {
"trigger": "When a Telegram command event with the command '/check' is received.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a detailed status report via Telegram. The report includes the current state of the house alarm, the Zigbee bridge status, which rooms are occupied, which lights are on, which exterior doors and windows are open, and the current status and location of person1 and person3. It also reports the location of the car if it is not at the same location as person2."
},
"human_like": "Sends a comprehensive home status report via Telegram when the '/check' command is received.",
"complexity": "medium"
}
},
{
"id": "telegram_command_help",
"result": {
"structured": "TRIGGER: When a telegram_command event occurs with command /help. CONDITIONS: None. ACTIONS: Send a Telegram message with markdown2 formatting containing a list of supported commands: /check, /lights, /ping, /status, /trains, /where, /whereis PERSON.",
"natural_language": {
"trigger": "When a user sends the '/help' command via Telegram.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a reply message via Telegram Bot listing all the supported commands and a brief description of what each one does."
},
"human_like": "Provides a help menu listing all available commands when a user types '/help' in Telegram.",
"complexity": "low"
}
},
{
"id": "telegram_command_lights",
"result": {
"structured": "TRIGGER: When a Telegram command event occurs with command /lights. CONDITIONS: The command has no arguments. ACTIONS: Send a Telegram message listing the names of all lights in group.my_lights that are currently on.",
"natural_language": {
"trigger": "When a Telegram command event is received with the command '/lights'.",
"conditions": "The command must have no additional arguments.",
"action": "Sends a Telegram message that lists the names of all lights that are part of the 'group.my_lights' group and are currently turned on."
},
"human_like": "Replies to a Telegram command by listing all the lights that are currently on.",
"complexity": "low"
}
},
{
"id": "telegram_command_lights_on",
"result": {
"structured": "TRIGGER: When a telegram_command event occurs with command /lights. CONDITIONS: The event data contains exactly one argument AND the argument equals 'on'. ACTIONS: Send a Telegram message stating 'Turning the lights on'.",
"natural_language": {
"trigger": "When a Telegram command event is received with the command '/lights'.",
"conditions": "If the command includes exactly one argument and that argument is the word 'on'.",
"action": "Sends a reply Telegram message stating 'Turning the lights on'."
},
"human_like": "Responds to a specific Telegram command to turn the lights on by sending a confirmation message.",
"complexity": "low"
}
},
{
"id": "telegram_command_ping",
"result": {
"structured": "TRIGGER: When a telegram_command event occurs with command /ping. CONDITIONS: None. ACTIONS: Send a Telegram message containing 'Pong at ' followed by the current local timestamp formatted as YYYY-MM-DD HH:MM:SS.",
"natural_language": {
"trigger": "When a Telegram command event with the specific command '/ping' is received.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a reply message via Telegram Bot containing the text 'Pong at' followed by the current date and time."
},
"human_like": "Replies 'Pong' with a timestamp to a /ping command sent via Telegram.",
"complexity": "low"
}
},
{
"id": "telegram_command_status",
"result": {
"structured": "TRIGGER: When a telegram_command event occurs with command /status. CONDITIONS: None. ACTIONS: Send a Telegram message containing: the count of open doors and windows from group.my_downstairs_windows, my_upstairs_windows, and group.my_exterior_doors, followed by a list of the names of those open doors and windows.",
"natural_language": {
"trigger": "When a Telegram command event is received with the specific command '/status'.",
"conditions": "There are no conditions that must be met for this automation to proceed.",
"action": "Sends a message via Telegram. The message first states the total number of doors and windows that are currently open, counting from the groups 'downstairs windows group' [group.my_downstairs_windows], 'my_upstairs_windows', and 'exterior doors group' [group.my_exterior_doors]. It then lists the names of all those open doors and windows."
},
"human_like": "Replies to a '/status' Telegram command with a count and list of all open doors and windows in the house.",
"complexity": "low"
}
},
{
"id": "telegram_command_trains",
"result": {
"structured": "TRIGGER: When a Telegram command event with command '/trains' is received. CONDITIONS: None. ACTIONS: Execute Train Message Script [script.train_message] AND send a Telegram message with content from Train Message Text [input_text.train_message] and an inline keyboard button 'Recheck' that triggers the /trains command.",
"natural_language": {
"trigger": "When a user sends the '/trains' command via Telegram.",
"conditions": "There are no conditions for this automation.",
"action": "First, it runs the Train Message Script [script.train_message]. Then, it sends a Telegram message. The message content is taken from the Train Message Text [input_text.train_message] entity, and includes an inline 'Recheck' button that, when pressed, will send the '/trains' command again."
},
"human_like": "Responds to a Telegram command by checking train information and sending a status message with a button to refresh the data.",
"complexity": "low"
}
},
{
"id": "telegram_command_where",
"result": {
"structured": "TRIGGER: When a Telegram command event with command '/where' occurs. CONDITIONS: None. ACTIONS: Send a Telegram message with a dynamically generated status report. The message includes: For Person3 [person.person3], if Person3 In Bed [input_boolean.person3_in_bed] is on, report time in bed; otherwise if person3 home status [input_boolean.person3_home] is on, report time home; otherwise if Person3 [person.person3] is not_home, report location from Pixel 6a Geocoded Location Sensor [sensor.pixel_6a_geocoded_location] and Person Person3 Text [input_text.person_person3]; otherwise report status from Person Person3 Text [input_text.person_person3]. For Person1 [person.person1], if person1 in bed [input_boolean.person1_in_bed] is on, report time in bed; otherwise if Person1 Home [input_boolean.person1_home] is on, report time home; otherwise if Person1 [person.person1] is not_home, report location from SM A546B Geocoded Location Sensor [sensor.sm_a546b_geocoded_location] and Person Person1 Text [input_text.person_person1]; otherwise report status from Person Person1 Text [input_text.person_person1]. Additionally, if Car GPS [device_tracker.car_gps] location differs from Pixel XL device tracker [device_tracker.pixel_xl] AND Car GPS [device_tracker.car_gps] is not 'not_home', report the car's location.",
"natural_language": {
"trigger": "When a Telegram command event with the command '/where' is received.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a detailed Telegram message reporting the status and location of Person3 and Person1, and optionally the car. For Person3, it checks if they are in bed, at home, or away, and reports the duration and location accordingly. For Person1, it performs a similar check. If the Car GPS location is different from the Pixel XL device tracker's location and the car is not marked as 'not_home', the car's current location is also included in the message."
},
"human_like": "Responds to a Telegram '/where' command by sending a message with the current status and location of household members and the car.",
"complexity": "medium"
}
},
{
"id": "telegram_command_whereis",
"result": {
"structured": "TRIGGER: When a Telegram command event occurs with command /whereis. CONDITIONS: None. ACTIONS: If the command arguments contain \"person1\", then send the location of Person1 [person.person1] via Telegram and send a message with status details based on: if person1 in bed [input_boolean.person1_in_bed] is on, report time in bed; else if Person1 Home [input_boolean.person1_home] is on, report time at home; else if Person1 [person.person1] is not_home, report location from SM A546B Geocoded Location Sensor [sensor.sm_a546b_geocoded_location] and Person Person1 Text [input_text.person_person1]; else report status from Person Person1 Text [input_text.person_person1]. If the command arguments contain \"person3\", then send the location of Person3 [person.person3] via Telegram and send a message with status details based on: if Person3 In Bed [input_boolean.person3_in_bed] is on, report time in bed; else if person3 home status [input_boolean.person3_home] is on, report time at home; else if Person3 [person.person3] is not_home, report location from Pixel 6a Geocoded Location Sensor [sensor.pixel_6a_geocoded_location] and Person Person3 Text [input_text.person_person3]; else report status from Person Person3 Text [input_text.person_person3]. Otherwise, send a Telegram message prompting to specify person1 or person3 with inline buttons.",
"natural_language": {
"trigger": "When a Telegram command event is received with the command /whereis.",
"conditions": "There are no additional conditions; the automation runs immediately upon the trigger.",
"action": "The automation checks the arguments of the command. If \"person1\" is included, it sends the current latitude and longitude of Person1 [person.person1] via Telegram and then sends a detailed status message. This message reports either how long person1 has been in bed (if person1 in bed [input_boolean.person1_in_bed] is on), how long they have been home (if Person1 Home [input_boolean.person1_home] is on), or their location and status if they are away, using data from SM A546B Geocoded Location Sensor [sensor.sm_a546b_geocoded_location] and Person Person1 Text [input_text.person_person1]. If \"person3\" is included, it performs the same actions for Person3 [person.person3], using Person3 In Bed [input_boolean.person3_in_bed], person3 home status [input_boolean.person3_home], Pixel 6a Geocoded Location Sensor [sensor.pixel_6a_geocoded_location], and Person Person3 Text [input_text.person_person3]. If neither person is specified, it sends a reply asking the user to specify either person1 or person3, providing inline buttons for each option."
},
"human_like": "Responds to a Telegram /whereis command by sending the location and a detailed status message for either person1 or person3, depending on who is requested.",
"complexity": "medium"
}
},
{
"id": "cooler_outside_livingroom",
"result": {
"structured": "TRIGGER: When Living Room Climate Temperature Sensor [sensor.living_room_climate_temperature] is above 23°C OR When Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is below 22°C OR When the integer value of Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is less than the integer value of Living Room Climate Temperature Sensor [sensor.living_room_climate_temperature]. CONDITIONS: Living Room Occupied [input_boolean.living_room_occupied] is on AND Living Room Climate Temperature Sensor [sensor.living_room_climate_temperature] is above 23°C AND Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is below 22°C AND Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is above 5°C AND the integer value of Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is less than the integer value of Living Room Climate Temperature Sensor [sensor.living_room_climate_temperature] AND (Patio window left contact [binary_sensor.patio_window_left_contact] is closed (off) AND Patio window right contact [binary_sensor.patio_window_right_contact] is closed (off) AND Patio door left contact [binary_sensor.patio_door_left_contact] is closed (off) AND Patio door right contact [binary_sensor.patio_door_right_contact] is closed (off)) AND more than 1800 seconds (30 minutes) have passed since the last time this automation was triggered. ACTIONS: Play an announcement on Living Room Sonos Cloud [media_player.living_room_sonos_cloud] at 25% volume saying \"It's now cooler outside than inside, you should open some windows or doors.\" AND turn off the Cooler outside livingroom automation [automation.cooler_outside_livingroom].",
"natural_language": {
"trigger": "The automation can be triggered in three ways: if the indoor temperature in the living room rises above 23°C, if the outdoor temperature falls below 22°C, or if the outdoor temperature is simply lower than the indoor temperature.",
"conditions": "For the automation to run, several conditions must all be true. The living room must be marked as occupied. The indoor temperature must be above 23°C, and the outdoor temperature must be between 5°C and 22°C. Critically, the outdoor temperature must be lower than the indoor temperature. All patio windows and doors must be closed. Finally, this reminder must not have been played in the last 30 minutes.",
"action": "The system plays a voice announcement on the living room Sonos speaker, suggesting to open windows or doors because it's cooler outside. After the announcement, the automation turns itself off to prevent repeated messages."
},
"human_like": "Suggests opening windows when the living room is occupied, too warm inside, and cooler outside, but only if the windows and doors are currently closed and the reminder hasn't been given recently.",
"complexity": "medium"
}
},
{
"id": "dimmer",
"result": {
"structured": "TRIGGER: When Hue dimmer action event [event.hue_dimmer_action] changes state. CONDITIONS: None. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] containing the button press details: event type and action from the trigger.",
"natural_language": {
"trigger": "Whenever the Hue dimmer action event [event.hue_dimmer_action] changes state, indicating a button press.",
"conditions": "There are no conditions.",
"action": "Sends a notification to the Debug Log Notify [notify.debug_log] service, logging the specific button press event type and action."
},
"human_like": "Logs Hue dimmer button presses to a debug log for troubleshooting.",
"complexity": "low"
}
},
{
"id": "dimmer_up_motion",
"result": {
"structured": "TRIGGER: When Hue dimmer action event [event.hue_dimmer_action] changes state. CONDITIONS: (The event type of the trigger is 'down_press') AND (Living Room Select [input_select.living_room] is set to 'Motion'). ACTIONS: Set Living Room Select [input_select.living_room] to 'Dim'.",
"natural_language": {
"trigger": "When the Hue dimmer action event [event.hue_dimmer_action] reports a state change.",
"conditions": "If the specific event that occurred is a 'down_press' on the dimmer, and the Living Room Select [input_select.living_room] is currently in the 'Motion' mode.",
"action": "Changes the Living Room Select [input_select.living_room] from 'Motion' to 'Dim' mode."
},
"human_like": "Pressing the down button on the Hue dimmer switch changes the living room mode from 'Motion' to 'Dim'.",
"complexity": "low"
}
},
{
"id": "dimmer_off",
"result": {
"structured": "TRIGGER: When Hue dimmer action event [event.hue_dimmer_action] changes state. CONDITIONS: (The trigger event type is 'press') AND (The trigger action is 'off-press') AND (Living Room Occupied [input_boolean.living_room_occupied] is on). ACTIONS: Set Living Room Select [input_select.living_room] to 'Off' if its current option is 'Dim', to 'Dim' if its current option is 'Day on', to 'Day on' if its current option is 'Night on', otherwise set it to 'Off'.",
"natural_language": {
"trigger": "When the Hue dimmer action event [event.hue_dimmer_action] reports a state change.",
"conditions": "The event must be of type 'press', specifically the 'off-press' action, and the Living Room Occupied [input_boolean.living_room_occupied] must be set to on.",
"action": "Cycles the Living Room Select [input_select.living_room] setting: if it's currently 'Dim', set it to 'Off'; if it's 'Day on', set it to 'Dim'; if it's 'Night on', set it to 'Day on'; otherwise, set it to 'Off'."
},
"human_like": "When the off button on the Hue dimmer is pressed and the living room is occupied, it cycles the room's lighting mode (e.g., from Day on to Dim to Off).",
"complexity": "medium"
}
},
{
"id": "dimmer_off_while_off",
"result": {
"structured": "TRIGGER: When Hue dimmer action event [event.hue_dimmer_action] changes state. CONDITIONS: (The event type is 'press') AND (The event action is 'off_press') AND (Living Room Occupied [input_boolean.living_room_occupied] is on) AND (Living Room Select [input_select.living_room] is 'Off'). ACTIONS: Turn off Living Room Occupied [input_boolean.living_room_occupied].",
"natural_language": {
"trigger": "When the Hue dimmer action event [event.hue_dimmer_action] changes state.",
"conditions": "If the event type is a 'press', the specific action is an 'off_press', the Living Room Occupied [input_boolean.living_room_occupied] is currently on, and the Living Room Select [input_select.living_room] is set to 'Off'.",
"action": "Turns off the Living Room Occupied [input_boolean.living_room_occupied] input boolean."
},
"human_like": "Turns off the living room occupied status when the Hue dimmer's off button is pressed while the room is already set to 'Off'.",
"complexity": "medium"
}
},
{
"id": "dimmer_on_",
"result": {
"structured": "TRIGGER: When Hue dimmer action event [event.hue_dimmer_action] changes state. CONDITIONS: (The event type is 'press') AND (The event action is 'on_press') AND (Living Room Occupied [input_boolean.living_room_occupied] is on). ACTIONS: Set Living Room Select [input_select.living_room] to a new option based on its current state: if 'Off' then 'Dim', else if 'Dim' then 'Day on', else 'Night on'.",
"natural_language": {
"trigger": "When the Hue dimmer action event [event.hue_dimmer_action] reports a state change.",
"conditions": "The event must be of type 'press' with the specific action 'on_press', and the Living Room Occupied [input_boolean.living_room_occupied] must be set to on.",
"action": "Cycles the Living Room Select [input_select.living_room] through a sequence of lighting modes: from Off to Dim, from Dim to Day on, and from any other state (Day on or Night on) to Night on."
},
"human_like": "Cycles the living room lighting mode when the Hue dimmer's 'on' button is pressed, but only if the room is marked as occupied.",
"complexity": "medium"
}
},
{
"id": "dimmer_on_while_away",
"result": {
"structured": "TRIGGER: When Hue dimmer action event [event.hue_dimmer_action] changes state. CONDITIONS: (The event type is 'press') AND (The event action is 'on_press') AND (Living Room Occupied [input_boolean.living_room_occupied] is off). ACTIONS: Turn on Living Room Occupied [input_boolean.living_room_occupied].",
"natural_language": {
"trigger": "When the Hue dimmer action event [event.hue_dimmer_action] changes state.",
"conditions": "The event must be of type 'press' with the specific action 'on_press', and the Living Room Occupied [input_boolean.living_room_occupied] status must be off.",
"action": "Sets the living room as occupied by turning on Living Room Occupied [input_boolean.living_room_occupied]."
},
"human_like": "Marks the living room as occupied when someone presses the 'on' button on the Hue dimmer switch while the room is currently marked as unoccupied.",
"complexity": "low"
}
},
{
"id": "dimmer_up_enable_lights",
"result": {
"structured": "TRIGGER: When Hue dimmer action event [event.hue_dimmer_action] changes state. CONDITIONS: (The event type of the trigger is 'up_press') AND (Lighting Living Room [input_boolean.lighting_living_room] is off). ACTIONS: Turn on Lighting Living Room [input_boolean.lighting_living_room].",
"natural_language": {
"trigger": "When the Hue dimmer action event [event.hue_dimmer_action] is triggered.",
"conditions": "If the specific event type is an 'up_press' and the Lighting Living Room [input_boolean.lighting_living_room] is currently off.",
"action": "Turns on the Lighting Living Room [input_boolean.lighting_living_room] input boolean."
},
"human_like": "Turns on the living room lighting control when the up button on the Hue dimmer is pressed, but only if the lighting is currently off.",
"complexity": "low"
}
},
{
"id": "living_room_dog_slipped_in",
"result": {
"structured": "TRIGGER: When Living room door contact [binary_sensor.living_room_door_contact] opens (state changes to on). CONDITIONS: Family Room Occupied [input_boolean.family_room_occupied] is on AND Living Room Occupied [input_boolean.living_room_occupied] is off. ACTIONS: Wait up to 5 seconds for Living room door contact [binary_sensor.living_room_door_contact] to close (state changes to off). After the wait, if the wait completed due to a trigger with id 'motion', then play a TTS announcement saying 'The living room door just opened, maybe Luna has slipped in'. If the wait completed due to a trigger with id 'door', then play a TTS announcement saying 'The living room door just opened and closed, maybe Luna has slipped in' on Family Room Sonos Cloud [media_player.family_room_sonos_cloud].",
"natural_language": {
"trigger": "When the Living room door contact [binary_sensor.living_room_door_contact] opens.",
"conditions": "The Family Room Occupied [input_boolean.family_room_occupied] must be on, indicating someone is in the family room, and the Living Room Occupied [input_boolean.living_room_occupied] must be off, indicating the living room is unoccupied.",
"action": "The automation waits for up to 5 seconds to see if the living room door closes. If it detects a trigger with the id 'motion' during the wait, it plays a text-to-speech announcement saying 'The living room door just opened, maybe Luna has slipped in'. If it detects the door closing (trigger id 'door'), it plays a slightly different announcement, 'The living room door just opened and closed, maybe Luna has slipped in', specifically on the Family Room Sonos Cloud [media_player.family_room_sonos_cloud] speaker."
},
"human_like": "Announces when the dog might have entered the living room by detecting the door opening while the family room is occupied and the living room is not.",
"complexity": "medium"
}
},
{
"id": "family_room_arrival",
"result": {
"structured": "TRIGGER: When Person2 Status Dropdown [input_select.person2_status_dropdown] changes to 'Just Arrived' OR Person3 Status Dropdown [input_select.person3_status_dropdown] changes to 'Just Arrived' OR Person1 Status Dropdown [input_select.person1_status_dropdown] changes to 'Just Arrived'. CONDITIONS: Family Room Occupied [input_boolean.family_room_occupied] is off. ACTIONS: Set Family Room Select [input_select.family_room] to 'Dim'.",
"natural_language": {
"trigger": "When any of the three person status dropdowns (Person1, Person2, or Person3) changes its state to 'Just Arrived'.",
"conditions": "The automation only proceeds if the Family Room Occupied [input_boolean.family_room_occupied] is currently off, indicating the room is not already marked as occupied.",
"action": "Sets the Family Room Select [input_select.family_room] to the 'Dim' option, likely adjusting the room's lighting or scene."
},
"human_like": "When a family member arrives home, this automation sets the family room to a dimmed lighting scene if the room is not already occupied.",
"complexity": "low"
}
},
{
"id": "family_room_mode_away",
"result": {
"structured": "TRIGGER: When Family Room Occupied [input_boolean.family_room_occupied] turns off OR When Family Room Occupied [input_boolean.family_room_occupied] remains off for 10 minutes OR When home occupied [binary_sensor.home_occupied] turns off. CONDITIONS: home occupied [binary_sensor.home_occupied] is off. ACTIONS: Set Family Room Select [input_select.family_room] to Away.",
"natural_language": {
"trigger": "The automation triggers when the Family Room Occupied [input_boolean.family_room_occupied] switch is turned off, when it has been off for 10 minutes, or when the home occupied [binary_sensor.home_occupied] sensor indicates the home is unoccupied.",
"conditions": "The automation only proceeds if the home occupied [binary_sensor.home_occupied] sensor confirms the home is unoccupied.",
"action": "Sets the Family Room Select [input_select.family_room] to the 'Away' mode."
},
"human_like": "Sets the family room to 'Away' mode when the room is unoccupied and the whole home is empty.",
"complexity": "medium"
}
},
{
"id": "family_room_mode_bedtime",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] turns on OR when Family Room Occupied [input_boolean.family_room_occupied] turns off. CONDITIONS: (home occupied [binary_sensor.home_occupied] is on) AND (Family Room Occupied [input_boolean.family_room_occupied] is off) AND (bedtime status [input_boolean.bedtime] is on). ACTIONS: Set Family Room Select [input_select.family_room] to 'Bedtime'.",
"natural_language": {
"trigger": "When the bedtime status [input_boolean.bedtime] is switched on, or when the Family Room Occupied [input_boolean.family_room_occupied] status is switched off.",
"conditions": "If the home is occupied (home occupied [binary_sensor.home_occupied] is on), the family room is not occupied (Family Room Occupied [input_boolean.family_room_occupied] is off), and the bedtime mode is active (bedtime status [input_boolean.bedtime] is on).",
"action": "Changes the family room mode to 'Bedtime' by setting the Family Room Select [input_select.family_room] to that option."
},
"human_like": "Switches the family room to bedtime mode when the home is occupied, the room is empty, and bedtime is active.",
"complexity": "medium"
}
},
{
"id": "family_room_not_occupied",
"result": {
"structured": "TRIGGER: When Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] remains off, standby, or unavailable for 3 minutes OR When Family room multi occupancy [binary_sensor.family_room_multi_occupancy] remains off for 3 minutes OR When Family room door contact [binary_sensor.family_room_door_contact] becomes on. CONDITIONS: (Family Room Occupied [input_boolean.family_room_occupied] is on) AND (Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] is off, standby, or unavailable) AND (Family room door contact [binary_sensor.family_room_door_contact] is on). ACTIONS: Turn off Family Room Occupied [input_boolean.family_room_occupied].",
"natural_language": {
"trigger": "The automation triggers if the Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] stays off, in standby, or unavailable for three minutes, or if the Family room multi occupancy [binary_sensor.family_room_multi_occupancy] sensor reports no occupancy for three minutes, or if the Family room door contact [binary_sensor.family_room_door_contact] becomes open (on).",
"conditions": "All of the following must be true: the Family Room Occupied [input_boolean.family_room_occupied] status is on, the Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] is currently off, in standby, or unavailable, and the Family room door contact [binary_sensor.family_room_door_contact] is currently open (on).",
"action": "Marks the family room as unoccupied by turning off the Family Room Occupied [input_boolean.family_room_occupied] switch."
},
"human_like": "Marks the family room as unoccupied when the TV is off, there's no motion, and the door is open for a period of time.",
"complexity": "medium"
}
},
{
"id": "family_room_occupied",
"result": {
"structured": "TRIGGER: When Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] turns on OR When Family room multi occupancy [binary_sensor.family_room_multi_occupancy] turns on. CONDITIONS: Family Room Occupied [input_boolean.family_room_occupied] is off AND (Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] is on OR Family room door contact [binary_sensor.family_room_door_contact] is closed (off)). ACTIONS: Turn on Family Room Occupied [input_boolean.family_room_occupied].",
"natural_language": {
"trigger": "When the Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] is turned on, or when the Family room multi occupancy [binary_sensor.family_room_multi_occupancy] sensor detects occupancy.",
"conditions": "The automation only runs if the Family Room Occupied [input_boolean.family_room_occupied] flag is currently off. Additionally, either the Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] must be on, or the Family room door contact [binary_sensor.family_room_door_contact] must be closed.",
"action": "Sets the family room as occupied by turning on the Family Room Occupied [input_boolean.family_room_occupied] flag."
},
"human_like": "Marks the family room as occupied when the TV is turned on or motion is detected, provided the room isn't already marked as occupied and either the TV is on or the door is closed.",
"complexity": "medium"
}
},
{
"id": "family_room_mode_off",
"result": {
"structured": "TRIGGER: When Sun Solar Elevation Sensor [sensor.sun_solar_elevation] rises above 5 degrees OR when Family Room Occupied [input_boolean.family_room_occupied] turns off. CONDITIONS: home occupied [binary_sensor.home_occupied] is on AND Family Room Select [input_select.family_room] is not set to 'Off' AND (Family Room Occupied [input_boolean.family_room_occupied] is off OR Family Room Multi Illuminance Sensor [sensor.family_room_multi_illuminance_lux] is above 5). ACTIONS: Set Family Room Select [input_select.family_room] to 'Off' AND turn off Family Room Lights Auto [input_boolean.family_room_lights_auto].",
"natural_language": {
"trigger": "When the sun rises above 5 degrees of elevation, or when the Family Room Occupied [input_boolean.family_room_occupied] status changes to off.",
"conditions": "The home must be occupied, the Family Room Select [input_select.family_room] must not already be set to 'Off', and either the Family Room Occupied [input_boolean.family_room_occupied] is off or the light level in the family room is above 5 lux.",
"action": "Sets the family room mode to 'Off' and disables the automatic lighting control for the room."
},
"human_like": "Turns off the family room mode and its automatic lighting when the sun is up or the room is unoccupied, but only if the home is occupied.",
"complexity": "medium"
}
},
{
"id": "family_room_mode_on",
"result": {
"structured": "TRIGGER: When Family Room Occupied [input_boolean.family_room_occupied] turns on OR When Sun Solar Elevation Sensor [sensor.sun_solar_elevation] falls below 5 degrees. CONDITIONS: Family Room Christmas [input_boolean.family_room_christmas] is on AND Family Room Occupied [input_boolean.family_room_occupied] is on AND Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 5 AND (Family Room Select [input_select.family_room] is NOT set to 'On'). ACTIONS: Set Family Room Select [input_select.family_room] to the option 'On'.",
"natural_language": {
"trigger": "The automation triggers either when the Family Room Occupied [input_boolean.family_room_occupied] switch is turned on, or when the Sun Solar Elevation Sensor [sensor.sun_solar_elevation] reports a value below 5 degrees.",
"conditions": "For the automation to run, the Family Room Christmas [input_boolean.family_room_christmas] must be enabled, the Family Room Occupied [input_boolean.family_room_occupied] must be on, the Sun Solar Elevation Sensor [sensor.sun_solar_elevation] must be below 5 degrees, and the Family Room Select [input_select.family_room] must not already be set to 'On'.",
"action": "It sets the Family Room Select [input_select.family_room] to the 'On' option."
},
"human_like": "Turns on the family room's Christmas mode when the room is occupied and it's dark outside, but only if the mode isn't already active.",
"complexity": "medium"
}
},
{
"id": "bike_left_open",
"result": {
"structured": "TRIGGER: When Family room multi occupancy [binary_sensor.family_room_multi_occupancy] becomes occupied (on). CONDITIONS: Chest bike lid contact [binary_sensor.chest_bike_lid_contact] is open (on) AND Garage door bike contact [binary_sensor.garage_door_bike_contact] is closed (off). ACTIONS: Play a TTS announcement on Family Room Sonos Cloud [media_player.family_room_sonos_cloud] saying 'The bike lid is still open, but the garage door is closed' at 25% volume with announcement mode, then wait for 5 minutes.",
"natural_language": {
"trigger": "When the Family room multi occupancy [binary_sensor.family_room_multi_occupancy] detects that the room has become occupied.",
"conditions": "If the Chest bike lid contact [binary_sensor.chest_bike_lid_contact] reports that the lid is open, and the Garage door bike contact [binary_sensor.garage_door_bike_contact] reports that the garage door is closed.",
"action": "Plays a text-to-speech announcement through the Family Room Sonos Cloud [media_player.family_room_sonos_cloud] stating 'The bike lid is still open, but the garage door is closed' at a volume of 25% and in announcement mode, then pauses for five minutes."
},
"human_like": "Announces a reminder in the family room if someone enters and the bike storage is open while the garage door is closed.",
"complexity": "low"
}
},
{
"id": "frigate_motion_start",
"result": {
"structured": "TRIGGER: When any of the following occupancy sensors changes from off to on: Front path bicycle occupancy [binary_sensor.front_path_bicycle_occupancy] OR Front path bus occupancy [binary_sensor.front_path_bus_occupancy] OR Front path car occupancy [binary_sensor.front_path_car_occupancy] OR Front path dog occupancy [binary_sensor.front_path_dog_occupancy] OR Front path motorcycle occupancy [binary_sensor.front_path_motorcycle_occupancy] OR Front path person occupancy [binary_sensor.front_path_person_occupancy] OR Drive bicycle occupancy [binary_sensor.drive_bicycle_occupancy] OR Drive bus occupancy [binary_sensor.drive_bus_occupancy] OR Drive car occupancy [binary_sensor.drive_car_occupancy] OR Drive dog occupancy [binary_sensor.drive_dog_occupancy] OR Drive motorcycle occupancy [binary_sensor.drive_motorcycle_occupancy] OR Drive person occupancy [binary_sensor.drive_person_occupancy] OR Road bus occupancy [binary_sensor.road_bus_occupancy] OR Road car occupancy [binary_sensor.road_car_occupancy] OR Road motorcycle occupancy [binary_sensor.road_motorcycle_occupancy]. CONDITIONS: Stream Front Camera Motion [input_boolean.stream_front_camera_motion] is on. ACTIONS: Turn on Stream Camera [input_boolean.stream_camera].",
"natural_language": {
"trigger": "When any of the listed motion detection sensors for the front path, driveway, or road areas detects a new object (such as a bicycle, bus, car, dog, motorcycle, or person) and changes its state from 'off' to 'on'.",
"conditions": "The automation only runs if the Stream Front Camera Motion [input_boolean.stream_front_camera_motion] is currently switched on, indicating that motion-triggered streaming is enabled for the front camera.",
"action": "Activates the camera stream by turning on the Stream Camera [input_boolean.stream_camera] input boolean."
},
"human_like": "Starts the camera stream when motion is detected by any of the outdoor object sensors, provided motion streaming is enabled.",
"complexity": "medium"
}
},
{
"id": "frigate_motion_stopped",
"result": {
"structured": "TRIGGER: When Stream Front Camera Motion [input_boolean.stream_front_camera_motion] turns off OR When Stream Camera [input_boolean.stream_camera] remains on for 10 minutes OR When any of the following occupancy sensors remains off for 1 minute: Front path bicycle occupancy [binary_sensor.front_path_bicycle_occupancy], Front path bus occupancy [binary_sensor.front_path_bus_occupancy], Front path car occupancy [binary_sensor.front_path_car_occupancy], Front path dog occupancy [binary_sensor.front_path_dog_occupancy], Front path motorcycle occupancy [binary_sensor.front_path_motorcycle_occupancy], Front path person occupancy [binary_sensor.front_path_person_occupancy], Drive bicycle occupancy [binary_sensor.drive_bicycle_occupancy], Drive bus occupancy [binary_sensor.drive_bus_occupancy], Drive car occupancy [binary_sensor.drive_car_occupancy], Drive dog occupancy [binary_sensor.drive_dog_occupancy], Drive motorcycle occupancy [binary_sensor.drive_motorcycle_occupancy], Drive person occupancy [binary_sensor.drive_person_occupancy], Road bus occupancy [binary_sensor.road_bus_occupancy], Road car occupancy [binary_sensor.road_car_occupancy], Road motorcycle occupancy [binary_sensor.road_motorcycle_occupancy]. CONDITIONS: (Trigger is the idle trigger) OR (All of the listed occupancy sensors are off). ACTIONS: Turn off Stream Camera [input_boolean.stream_camera].",
"natural_language": {
"trigger": "The automation can be triggered in three ways: when the Stream Front Camera Motion [input_boolean.stream_front_camera_motion] is turned off, when the Stream Camera [input_boolean.stream_camera] has been on for 10 minutes, or when any of the 15 listed occupancy sensors (covering the front path, driveway, and road for various objects like people, cars, and animals) have been reporting 'off' (no occupancy) for at least one minute.",
"conditions": "After a trigger occurs, the automation checks if either the specific 'idle' trigger (the 10-minute timer) was the cause, or if all of the 15 listed occupancy sensors are currently in the 'off' state.",
"action": "The automation turns off the Stream Camera [input_boolean.stream_camera]."
},
"human_like": "Stops the camera stream when motion has stopped, the stream has been idle for a while, or no objects are detected in the monitored areas.",
"complexity": "medium"
}
},
{
"id": "frigate_new_event",
"result": {
"structured": "TRIGGER: When an MQTT message is received on topic frigate/events with payload 'new' and the extracted value of type field matches 'new'. CONDITIONS: None. ACTIONS: Set variables: camera = after.camera, stationary = (after.stationary == true), id = after.id, object = after.label, label = object with title case, zones = after.current_zones joined by ', ', entered_zones = after.entered_zones, before_zones = before.entered_zones. Then, send a notification to Logfile Notify [notify.logfile] with a message containing the event ID and camera name.",
"natural_language": {
"trigger": "When Frigate sends a new event notification via MQTT on the topic frigate/events, specifically when the event type is 'new'.",
"conditions": "There are no conditions for this automation.",
"action": "The automation first extracts several pieces of information from the event data, such as the camera name, whether the object is stationary, the event ID, the detected object type, and zone information. It then sends a log message to the Logfile Notify [notify.logfile] service, reporting the event ID and the camera that detected it."
},
"human_like": "Logs new Frigate camera detection events to a file for debugging or record-keeping.",
"complexity": "medium"
}
},
{
"id": "frigate_new_notification",
"result": {
"structured": "TRIGGER: When an MQTT message is received on topic 'frigate/events' with payload 'new' and the 'type' field from the JSON payload equals 'new'. CONDITIONS: The variable 'zones' must equal the string 'opposite' AND at least one of the zones 'road', 'front_path', or 'drive' must be present in the 'current_zones' list from the trigger payload AND at least one of the zones 'road', 'front_path', or 'drive' must be present in the 'entered_zones' list from the trigger payload. ACTIONS: First, set variables: 'camera' to the 'camera' field, 'stationary' to the boolean of 'stationary' field, 'id' to the 'id' field, 'object' to the 'label' field, 'label' to the title-cased 'object', 'zones' to the joined and underscore-replaced 'current_zones' list, 'entered_zones' to the joined and underscore-replaced 'entered_zones' list, 'type' to the 'type' field, and 'external_url' to a secret value. Second, send a notification to Debug Log Notify [notify.debug_log] with a message containing event details. Third, send another notification to Debug Log Notify [notify.debug_log] with a message evaluating zone interest. Fourth, if conditions are met, send a notification to Discord [discord] with a formatted message and embed to the secret Discord Camera Channel Secret [secret discord_camera_channel].",
"natural_language": {
"trigger": "When Frigate sends a new event notification via MQTT, specifically when the message type is 'new'.",
"conditions": "The automation proceeds only if the processed zones string equals 'opposite', and if at least one of the zones 'road', 'front_path', or 'drive' is found in both the current zones and the entered zones of the detected object.",
"action": "The automation first extracts details about the event, such as the camera name, object label, and zones. It then logs two debug messages to the Debug Log Notify [notify.debug_log] service. Finally, if the conditions are satisfied, it sends a formatted notification with a video clip link to a specific Discord channel using the Discord [discord] service."
},
"human_like": "Sends a Discord notification for specific Frigate camera events, like when a person or vehicle is detected in key outdoor zones, after logging the details for debugging.",
"complexity": "medium"
}
},
{
"id": "frigate_new_object",
"result": {
"structured": "TRIGGER: When Front Bicycle Count Sensor [sensor.front_bicycle_count] OR Front Bus Count Sensor [sensor.front_bus_count] OR Front Car Count Sensor [sensor.front_car_count] OR Front Motorcycle Count Sensor [sensor.front_motorcycle_count] OR Front Person Count Sensor [sensor.front_person_count] changes state. CONDITIONS: The new integer state value of the triggering sensor is greater than its previous integer state value. ACTIONS: Send a Discord notification to the channel defined by the secret 'discord_camera_channel' with the message: 'We've just seen a new {{ trigger.to_state.name }} out the front'.",
"natural_language": {
"trigger": "When any of the front camera object count sensors (for bicycles, buses, cars, motorcycles, or people) changes its state.",
"conditions": "The condition checks that the new count value reported by the sensor is higher than the previous count value, meaning a new object of that type has been detected.",
"action": "Sends a notification to a specific Discord channel, announcing that a new object of the detected type has been seen out the front."
},
"human_like": "Sends a Discord alert when the front camera detects a new person, car, or other object.",
"complexity": "medium"
}
},
{
"id": "frigate_notification",
"result": {
"structured": "TRIGGER: When an MQTT message is received on topic 'frigate/events' with payload 'new' (where the 'type' field equals 'new'). CONDITIONS: (The event type is 'new') AND (The zones field does not equal 'opposite'). ACTIONS: Extract variables (camera, stationary flag, event ID, object label, formatted label, current zones, entered zones, event type). Send a debug log message to Debug Log Notify [notify.debug_log] containing event details. Send a second debug log message to Debug Log Notify [notify.debug_log] evaluating if the event involves interesting zones ('road', 'front_path', or 'drive'). Wait for 1 second. Send a notification to Discord [notify.discord] with a message and images, targeting the channel defined by Discord camera channel secret [!secret discord_camera_channel].",
"natural_language": {
"trigger": "When a new Frigate event is published to the MQTT topic 'frigate/events'.",
"conditions": "The event must be of type 'new', and the zones associated with the event must not be 'opposite'.",
"action": "The automation first extracts details about the event, such as the camera, object detected, and zones involved. It then logs two debug messages with this information. After a one-second delay, it sends a notification to a specific Discord channel with a description of the event and attaches thumbnail and full-size images from the camera."
},
"human_like": "Sends a Discord notification with images when Frigate detects a new object in specific zones, after logging the event details for debugging.",
"complexity": "medium"
}
},
{
"id": "front_door_closed",
"result": {
"structured": "TRIGGER: When front door contact [binary_sensor.front_door_contact] changes to closed (off). CONDITIONS: None. ACTIONS: Start the Scan BT Script [script.scan_bt].",
"natural_language": {
"trigger": "When the front door contact [binary_sensor.front_door_contact] changes to a closed state.",
"conditions": "There are no conditions that must be met.",
"action": "Start the Scan BT Script [script.scan_bt]."
},
"human_like": "Starts a Bluetooth scan when the front door is closed.",
"complexity": "low"
}
},
{
"id": "front_door_left_open",
"result": {
"structured": "TRIGGER: When front door contact [binary_sensor.front_door_contact] becomes open (on) AND remains for 5 minutes OR When vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] becomes unoccupied (off) AND remains for 5 minutes. CONDITIONS: front door contact [binary_sensor.front_door_contact] is open (on) AND remains for 5 minutes AND vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] is unoccupied (off) AND remains for 5 minutes. ACTIONS: If person2 home status [input_boolean.person2_home] is on, send notification 'The front door has been left open' to person2 notification [notify.person2]. If person3 home status [input_boolean.person3_home] is on, send notification 'The front door has been left open' to person3 notification [notify.person3]. If Family Room Occupied [input_boolean.family_room_occupied] is on, play TTS announcement 'The front door has been left open' on Family Room Sonos Cloud [media_player.family_room_sonos_cloud] with volume 25. If Living Room Occupied [input_boolean.living_room_occupied] is on, play TTS announcement 'The front door has been left open' on Living Room Sonos Cloud [media_player.living_room_sonos_cloud] with volume 25. If office occupied [input_boolean.office_occupied] is on, play TTS announcement 'The front door has been left open' on Office Sonos Cloud [media_player.office_sonos_cloud] with volume 25.",
"natural_language": {
"trigger": "The automation triggers when the front door contact [binary_sensor.front_door_contact] has been open for at least five minutes, or when the vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] sensor has reported no occupancy for at least five minutes.",
"conditions": "For the automation to proceed, both the front door contact [binary_sensor.front_door_contact] must have been open for five minutes and the vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] must have been unoccupied for five minutes.",
"action": "The automation performs a series of conditional actions. If person2 is home, it sends a notification to them. If person3 is home, it sends a notification to them. It then checks which rooms are occupied and plays a text-to-speech announcement on the Sonos speakers in the family room, living room, or office, but only if those rooms are marked as occupied."
},
"human_like": "Alerts people at home if the front door is left open and the vestibule is empty for five minutes, by sending notifications or playing announcements in occupied rooms.",
"complexity": "medium"
}
},
{
"id": "front_door_open",
"result": {
"structured": "TRIGGER: When front door contact [binary_sensor.front_door_contact] becomes open (on). CONDITIONS: None. ACTIONS: Turn on Scan BT Script [script.scan_bt].",
"natural_language": {
"trigger": "When the front door contact [binary_sensor.front_door_contact] opens.",
"conditions": "There are no conditions that must be met.",
"action": "Starts the Scan BT Script [script.scan_bt]."
},
"human_like": "Starts a Bluetooth scan whenever the front door is opened.",
"complexity": "low"
}
},
{
"id": "garage_door_closed",
"result": {
"structured": "TRIGGER: When Garage door car contact [binary_sensor.garage_door_car_contact] changes to closed (off). CONDITIONS: person2 home status [input_boolean.person2_home] is on AND remains on for 5 minutes. ACTIONS: Execute Scan BT Depart Script [script.scan_bt_depart].",
"natural_language": {
"trigger": "When the Garage door car contact [binary_sensor.garage_door_car_contact] reports that the garage door is closed.",
"conditions": "If person2 home status [input_boolean.person2_home] is set to on and has remained in that state for at least five minutes.",
"action": "Runs the Scan BT Depart Script [script.scan_bt_depart]."
},
"human_like": "When the garage door is closed and a specific person has been home for at least five minutes, it runs a Bluetooth scan script, likely to check if they have left.",
"complexity": "low"
}
},
{
"id": "garage_door_open",
"result": {
"structured": "TRIGGER: When Garage door car contact [binary_sensor.garage_door_car_contact] opens (changes to on). CONDITIONS: person2 home status [input_boolean.person2_home] is off AND remains off for 5 minutes. ACTIONS: Execute Scan BT Arrive Script [script.scan_bt_arrive].",
"natural_language": {
"trigger": "When the Garage door car contact [binary_sensor.garage_door_car_contact] opens.",
"conditions": "If person2 home status [input_boolean.person2_home] has been off for at least five minutes.",
"action": "Runs the Scan BT Arrive Script [script.scan_bt_arrive]."
},
"human_like": "Triggers a Bluetooth scan for arrival when the garage door opens and a specific person has been away for five minutes.",
"complexity": "low"
}
},
{
"id": "garage_open_nobody_home",
"result": {
"structured": "TRIGGER: When Garage door car contact [binary_sensor.garage_door_car_contact] opens (changes to on). CONDITIONS: Home Person2 Distance Sensor [sensor.home_person2_distance] is below 100 AND home occupied [binary_sensor.home_occupied] is off. ACTIONS: Send a notification to mobile app pixel xl [notify.mobile_app_pixel_xl] with a TTS message 'Nobody is home right now, turn off the alarm' using the alarm_stream_max media stream and high priority, AND send a second notification to mobile app pixel xl [notify.mobile_app_pixel_xl] with title 'Nobody is home' and message 'Nobody is home right now, turn off the alarm', configured for car UI with high importance.",
"natural_language": {
"trigger": "When the Garage door car contact [binary_sensor.garage_door_car_contact] opens.",
"conditions": "If the Home Person2 Distance Sensor [sensor.home_person2_distance] reports a value less than 100 (indicating proximity), and the home occupied [binary_sensor.home_occupied] sensor indicates that the home is not occupied.",
"action": "Sends two notifications to the mobile app pixel xl [notify.mobile_app_pixel_xl]. The first is a text-to-speech alert with the message 'Nobody is home right now, turn off the alarm' played through the alarm_stream_max stream. The second is a visual notification with the title 'Nobody is home' and the same message, formatted for display in a car's user interface."
},
"human_like": "Sends an alert to a phone in the car when the garage door opens but the house is empty, reminding someone to turn off the alarm.",
"complexity": "low"
}
},
{
"id": "garden_lights_left_on",
"result": {
"structured": "TRIGGER: When Garden lights left on [binary_sensor.garden_lights_left_on] turns on OR When Garden lights left on [binary_sensor.garden_lights_left_on] remains on for 10 minutes. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND ( (Utility door exterior contact [binary_sensor.utility_door_exterior_contact] is closed (off) for 1 minute OR Patio door left contact [binary_sensor.patio_door_left_contact] is closed (off) for 1 minute OR Patio door right contact [binary_sensor.patio_door_right_contact] is closed (off) for 1 minute) OR (Garden lights left on [binary_sensor.garden_lights_left_on] remains on for 9 minutes) ). ACTIONS: Turn off Garden Lights Switch [switch.garden_lights].",
"natural_language": {
"trigger": "When the Garden lights left on [binary_sensor.garden_lights_left_on] sensor first turns on, or when it has been on for a continuous period of 10 minutes.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] master switch must be on. Additionally, either one of the exterior doors (Utility door exterior contact [binary_sensor.utility_door_exterior_contact], Patio door left contact [binary_sensor.patio_door_left_contact], or Patio door right contact [binary_sensor.patio_door_right_contact]) has been closed for at least one minute, or the Garden lights left on [binary_sensor.garden_lights_left_on] sensor has been on for at least nine minutes.",
"action": "Turns off the Garden Lights Switch [switch.garden_lights]."
},
"human_like": "Turns off the garden lights if they are left on when no one is likely outside, or after a set time, provided lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "gate_open_doors_closed",
"result": {
"structured": "TRIGGER: When Garden gate contact [binary_sensor.garden_gate_contact] changes to open (on). CONDITIONS: Utility door exterior contact [binary_sensor.utility_door_exterior_contact] AND Patio door left contact [binary_sensor.patio_door_left_contact] AND Patio door right contact [binary_sensor.patio_door_right_contact] are all closed (off) AND remain closed for 5 minutes. ACTIONS: (If Family Room Occupied [input_boolean.family_room_occupied] is on, then play a TTS announcement 'The gate has just been opened' at 25% volume on Family Room Sonos Cloud [media_player.family_room_sonos_cloud]) OR (If Living Room Occupied [input_boolean.living_room_occupied] is on, then play a TTS announcement 'The gate has just been opened' at 25% volume on Living Room Sonos Cloud [media_player.living_room_sonos_cloud]) OR (If office occupied [input_boolean.office_occupied] is on, then play a TTS announcement 'The gate has just been opened' at 25% volume on Office Sonos Cloud [media_player.office_sonos_cloud]) OR (If office occupied [input_boolean.office_occupied] AND Family Room Occupied [input_boolean.family_room_occupied] AND Living Room Occupied [input_boolean.living_room_occupied] are all off AND person2 home status [input_boolean.person2_home] is on, then send a notification 'The gate has just been opened' to person2 notification [notify.person2]). Wait 30 seconds.",
"natural_language": {
"trigger": "When the Garden gate contact [binary_sensor.garden_gate_contact] is opened.",
"conditions": "The Utility door exterior contact [binary_sensor.utility_door_exterior_contact], the Patio door left contact [binary_sensor.patio_door_left_contact], and the Patio door right contact [binary_sensor.patio_door_right_contact] must all be closed and remain closed for at least five minutes.",
"action": "If the Family Room Occupied [input_boolean.family_room_occupied] is on, a text-to-speech announcement saying 'The gate has just been opened' is played at 25% volume on the Family Room Sonos Cloud [media_player.family_room_sonos_cloud]. If the Living Room Occupied [input_boolean.living_room_occupied] is on, the same announcement is played on the Living Room Sonos Cloud [media_player.living_room_sonos_cloud]. If the office occupied [input_boolean.office_occupied] is on, the same announcement is played on the Office Sonos Cloud [media_player.office_sonos_cloud]. If none of those rooms are occupied, but the person2 home status [input_boolean.person2_home] is on, a notification with the same message is sent to person2 notification [notify.person2]. After any of these actions, the automation waits for 30 seconds."
},
"human_like": "Announces via voice or notification when the garden gate is opened, but only if the main exterior doors have been closed for a while, ensuring the alert is relevant.",
"complexity": "medium"
}
},
{
"id": "guest_bedroom_not_occupied",
"result": {
"structured": "TRIGGER: When Master bedroom door contact [binary_sensor.master_bedroom_door_contact] opens (to on) OR When Master bedroom door contact [binary_sensor.master_bedroom_door_contact] remains closed (off) for 30 seconds OR When Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] stops detecting motion (off) for 30 seconds. CONDITIONS: Guest Bedroom Occupied [input_boolean.guest_bedroom_occupied] is on AND ((Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] is off AND Master bedroom door contact [binary_sensor.master_bedroom_door_contact] is open) OR (Master bedroom door contact [binary_sensor.master_bedroom_door_contact] is closed AND ((Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] is on AND motion last_seen occurred before Guest bedroom door contact [binary_sensor.guest_bedroom_door_contact] last_changed) OR (Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] is off)))). ACTIONS: Turn off Guest Bedroom Occupied [input_boolean.guest_bedroom_occupied].",
"natural_language": {
"trigger": "When the Master bedroom door contact [binary_sensor.master_bedroom_door_contact] opens, or when it remains closed for at least 30 seconds, or when the Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] reports no motion for at least 30 seconds.",
"conditions": "The Guest Bedroom Occupied [input_boolean.guest_bedroom_occupied] must be set to on. Additionally, the automation requires that either motion has stopped while the Master bedroom door is open, or the Master bedroom door is closed and either motion is still detected but occurred before the Guest bedroom door was last changed, or motion is currently not detected.",
"action": "Marks the guest bedroom as not occupied by turning off Guest Bedroom Occupied [input_boolean.guest_bedroom_occupied]."
},
"human_like": "Marks the guest bedroom as unoccupied when motion and door activity indicate the room is likely empty, using timing correlations to avoid false detections.",
"complexity": "high"
}
},
{
"id": "guest_bedroom_occupied",
"result": {
"structured": "TRIGGER: When Master bedroom door contact [binary_sensor.master_bedroom_door_contact] becomes closed (off) OR When Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] starts detecting motion (on) OR When the last_seen attribute of Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] changes. CONDITIONS: Guest Bedroom Occupied [input_boolean.guest_bedroom_occupied] is off AND Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] is on. ACTIONS: Turn on Guest Bedroom Occupied [input_boolean.guest_bedroom_occupied].",
"natural_language": {
"trigger": "When the Master bedroom door contact [binary_sensor.master_bedroom_door_contact] closes, when the Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] detects motion, or when the last time motion was seen for Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] updates.",
"conditions": "The Guest Bedroom Occupied [input_boolean.guest_bedroom_occupied] must be off, and the Guest bedroom motion occupancy [binary_sensor.guest_bedroom_motion_occupancy] must be currently detecting motion (on).",
"action": "Marks the guest bedroom as occupied by turning on Guest Bedroom Occupied [input_boolean.guest_bedroom_occupied]."
},
"human_like": "Marks the guest bedroom as occupied when motion is detected there and the room is not already marked as occupied, or when the master bedroom door closes.",
"complexity": "medium"
}
},
{
"id": "guest_mode_off",
"result": {
"structured": "TRIGGER: When Guests group [group.guests] turns off OR when Home Assistant starts. CONDITIONS: guest mode [input_boolean.guest_mode] is on AND Guests group [group.guests] is off. ACTIONS: Turn off guest mode [input_boolean.guest_mode]. If Downstairs Hall Light [light.downstairs_hall] is on, then run Hall Strip On Script [script.hall_strip_on].",
"natural_language": {
"trigger": "The automation triggers either when the Guests group [group.guests] turns off, or when Home Assistant starts up.",
"conditions": "For the automation to run, the guest mode [input_boolean.guest_mode] must be switched on, and the Guests group [group.guests] must be off.",
"action": "The automation first turns off the guest mode [input_boolean.guest_mode]. Then, it checks if the Downstairs Hall Light [light.downstairs_hall] is on. If it is, the automation runs the Hall Strip On Script [script.hall_strip_on]."
},
"human_like": "Turns off guest mode and, if the hall light is on, runs a script to adjust hall lighting when there are no guests or after a system restart.",
"complexity": "medium"
}
},
{
"id": "guest_mode_off_nobody_home",
"result": {
"structured": "TRIGGER: When guest mode [input_boolean.guest_mode] turns off. CONDITIONS: (person3 home status [input_boolean.person3_home] is off) AND (person2 home status [input_boolean.person2_home] is off) AND (Person person1 tablet group [group.person_person1_tablet] is not_home OR Person1 Home [input_boolean.person1_home] is off). ACTIONS: Turn off home occupied [binary_sensor.home_occupied].",
"natural_language": {
"trigger": "When the guest mode [input_boolean.guest_mode] is turned off.",
"conditions": "If person3 home status [input_boolean.person3_home] is off, person2 home status [input_boolean.person2_home] is off, and either the Person person1 tablet group [group.person_person1_tablet] is not at home or Person1 Home [input_boolean.person1_home] is off.",
"action": "Turns off the home occupied [binary_sensor.home_occupied] status."
},
"human_like": "Turns off the home occupied status when guest mode is disabled and no residents are detected at home.",
"complexity": "medium"
}
},
{
"id": "guest_mode_on",
"result": {
"structured": "TRIGGER: When Guests group [group.guests] turns on OR when Home Assistant starts. CONDITIONS: guest mode [input_boolean.guest_mode] is off AND Guests group [group.guests] is on. ACTIONS: Turn on guest mode [input_boolean.guest_mode].",
"natural_language": {
"trigger": "When the Guests group [group.guests] is turned on, or when the Home Assistant system starts up.",
"conditions": "The guest mode [input_boolean.guest_mode] must currently be off, and the Guests group [group.guests] must be in the on state.",
"action": "Activates guest mode by turning on the guest mode [input_boolean.guest_mode] switch."
},
"human_like": "Turns on guest mode when the guests group is activated or when Home Assistant restarts, ensuring the mode is only enabled if it's currently off.",
"complexity": "low"
}
},
{
"id": "ha_started",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Execute Notify Person2 Script [script.notify_person2] with a message containing the current Home Assistant version from Current Version Sensor [sensor.current_version] and the current UTC timestamp, then execute Scan BT Restart Script [script.scan_bt_restart].",
"natural_language": {
"trigger": "When Home Assistant finishes starting up.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a notification via the Notify Person2 Script [script.notify_person2] stating that Home Assistant has started, including the current version number and the start time. It then runs the Scan BT Restart Script [script.scan_bt_restart]."
},
"human_like": "Sends a notification and restarts the Bluetooth scan when Home Assistant starts up.",
"complexity": "low"
}
},
{
"id": "ha_stopped",
"result": {
"structured": "TRIGGER: When Home Assistant shutdown event occurs. CONDITIONS: None. ACTIONS: Turn on Shutdown In Progress [input_boolean.shutdown_in_progress] AND execute Notify Person2 Script [script.notify_person2] with a message containing the current Home Assistant version from Current Version Sensor [sensor.current_version] and the current UTC timestamp.",
"natural_language": {
"trigger": "When Home Assistant begins its shutdown process.",
"conditions": "There are no conditions for this automation.",
"action": "Sets the Shutdown In Progress [input_boolean.shutdown_in_progress] flag to on and sends a notification to Person2 via the Notify Person2 Script [script.notify_person2]. The notification message includes the current Home Assistant version from the Current Version Sensor [sensor.current_version] and the current UTC time."
},
"human_like": "Sends a notification when Home Assistant shuts down and sets a flag to indicate the shutdown is in progress.",
"complexity": "low"
}
},
{
"id": "notify_about_hacs_updates",
"result": {
"structured": "TRIGGER: At 19:00:00 daily. CONDITIONS: HACS Sensor [sensor.hacs] state is not 'unknown' AND HACS Sensor [sensor.hacs] numeric value is not zero AND person2 home status [input_boolean.person2_home] is on. ACTIONS: Send a notification to person2 notification [notify.person2] with title 'Updates (X) pending in HACS' where X is the current state of HACS Sensor [sensor.hacs], and a message listing each repository's display name, installed version, and available version. The notification is sent silently (disable_notification: true).",
"natural_language": {
"trigger": "Every day at 7:00 PM.",
"conditions": "The HACS Sensor [sensor.hacs] must be reporting a valid state (not 'unknown') and must have a numeric value that is not zero, indicating there are pending updates. Additionally, the person2 home status [input_boolean.person2_home] must be on, meaning the person is marked as being at home.",
"action": "Sends a silent notification to person2 notification [notify.person2]. The notification's title shows the number of pending updates from the HACS Sensor [sensor.hacs], and the message lists each repository with its current and available version."
},
"human_like": "Sends a daily silent notification to Person 2 at 7 PM if they are home and there are pending updates in HACS.",
"complexity": "medium"
}
},
{
"id": "hall_lights_on_when_off",
"result": {
"structured": "TRIGGER: When Downstairs Hall Light [light.downstairs_hall] turns on from off AND remains on for 30 minutes. CONDITIONS: Hall Select [input_select.hall] is set to 'Off'. ACTIONS: Turn off Adaptive Lighting Hall [switch.adaptive_lighting_hall] AND turn off Downstairs Hall Light [light.downstairs_hall] with a 5-second transition.",
"natural_language": {
"trigger": "When the Downstairs Hall Light [light.downstairs_hall] is switched on and stays on for 30 minutes.",
"conditions": "The Hall Select [input_select.hall] must be set to 'Off'.",
"action": "First, turn off the Adaptive Lighting Hall [switch.adaptive_lighting_hall] switch, and then turn off the Downstairs Hall Light [light.downstairs_hall] with a 5-second fade-out."
},
"human_like": "Turns off the hall lights if they have been left on for 30 minutes while the hall mode is set to 'Off'.",
"complexity": "low"
}
},
{
"id": "hall_lights_to_away",
"result": {
"structured": "TRIGGER: When Hall Select [input_select.hall] changes to Away OR When House Select [input_select.house] changes to Away. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Hall Select [input_select.hall] is Away OR (Hall Select [input_select.hall] is Auto AND House Select [input_select.house] is Away)). ACTIONS: Wait until Downstairs Hall Light [light.downstairs_hall] is either on or off. Then turn off adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall] AND Adaptive Lighting Hall [switch.adaptive_lighting_hall]. Then turn off Downstairs Hall Light [light.downstairs_hall].",
"natural_language": {
"trigger": "The automation triggers when either the Hall Select [input_select.hall] is set to 'Away' or the House Select [input_select.house] is set to 'Away'.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] are enabled. Additionally, the Hall Select [input_select.hall] must be set to 'Away', or, if it is set to 'Auto', then the House Select [input_select.house] must also be set to 'Away'.",
"action": "The automation first waits for the Downstairs Hall Light [light.downstairs_hall] to be in a stable state, either on or off. It then turns off two switches: the adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall] and the Adaptive Lighting Hall [switch.adaptive_lighting_hall]. Finally, it turns off the Downstairs Hall Light [light.downstairs_hall]."
},
"human_like": "Turns off the hall lights and their adaptive lighting features when the house or hall is set to 'Away' mode.",
"complexity": "medium"
}
},
{
"id": "hall_lights_to_bedtime",
"result": {
"structured": "TRIGGER: When Hall Select [input_select.hall] changes to Bedtime OR when House Select [input_select.house] changes to Bedtime. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Hall Select [input_select.hall] is Bedtime OR (Hall Select [input_select.hall] is Auto AND House Select [input_select.house] is Bedtime)). ACTIONS: If Adaptive Lighting Hall [switch.adaptive_lighting_hall] is off, turn it on. Wait until Downstairs Hall Light [light.downstairs_hall] is either off or on. Turn on Downstairs Hall Light [light.downstairs_hall] with a 10-second transition. Turn on adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall]. Wait 1 minute. Turn off Downstairs Hall Light [light.downstairs_hall]. Wait 1 minute. Turn off Downstairs Hall Light [light.downstairs_hall] again.",
"natural_language": {
"trigger": "The automation triggers when the Hall Select [input_select.hall] is set to 'Bedtime' or when the House Select [input_select.house] is set to 'Bedtime'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be turned on. Additionally, either the Hall Select [input_select.hall] must be set to 'Bedtime', or the Hall Select [input_select.hall] must be set to 'Auto' while the House Select [input_select.house] is set to 'Bedtime'.",
"action": "First, if the Adaptive Lighting Hall [switch.adaptive_lighting_hall] is off, it is turned on. The automation then waits for the Downstairs Hall Light [light.downstairs_hall] to be in a stable state (either on or off). Next, it turns on the Downstairs Hall Light [light.downstairs_hall] with a 10-second fade-in. It also activates the adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall]. After a one-minute delay, it turns off the Downstairs Hall Light [light.downstairs_hall]. Following another one-minute delay, it turns off the Downstairs Hall Light [light.downstairs_hall] a second time."
},
"human_like": "Sets the hall lights to a bedtime routine, turning them on with a gentle fade and then off after a short period, while ensuring adaptive lighting features are active.",
"complexity": "medium"
}
},
{
"id": "hall_lights_to_dim",
"result": {
"structured": "TRIGGER: When Hall Select [input_select.hall] changes to Dim OR When House Select [input_select.house] changes to Dim. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Hall Select [input_select.hall] is Dim OR (Hall Select [input_select.hall] is Auto AND House Select [input_select.house] is Dim)). ACTIONS: Turn on Adaptive Lighting Hall [switch.adaptive_lighting_hall] AND Turn off adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall] AND IF Hall Christmas [input_boolean.hall_christmas] is on THEN run Hall String On Script [script.hall_string_on] OTHERWISE run Hall Strip Dim Script [script.hall_strip_dim].",
"natural_language": {
"trigger": "When the Hall Select [input_select.hall] is changed to 'Dim' or when the House Select [input_select.house] is changed to 'Dim'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be turned on. Additionally, either the Hall Select [input_select.hall] must be set to 'Dim', or the Hall Select [input_select.hall] must be set to 'Auto' while the House Select [input_select.house] is set to 'Dim'.",
"action": "The automation turns on the Adaptive Lighting Hall [switch.adaptive_lighting_hall] and turns off the adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall]. Then, it checks the state of Hall Christmas [input_boolean.hall_christmas]. If it is on, it runs the Hall String On Script [script.hall_string_on]; otherwise, it runs the Hall Strip Dim Script [script.hall_strip_dim]."
},
"human_like": "Sets the hall lights to a dimmed state when the hall or house mode is set to 'Dim', provided lighting automations are enabled, and chooses a festive or standard dimming script based on a Christmas setting.",
"complexity": "medium"
}
},
{
"id": "hall_lights_to_motion",
"result": {
"structured": "TRIGGER: When Hall Select [input_select.hall] changes to Motion. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND Hall Select [input_select.hall] is Motion. ACTIONS: Turn on adaptive lighting hall [switch.adaptive_lighting_hall] AND Turn on adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall] AND Turn on Downstairs Hall Light [light.downstairs_hall] with brightness set to 1.",
"natural_language": {
"trigger": "When the Hall Select [input_select.hall] is changed to the 'Motion' mode.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be switched on, and the Hall Select [input_select.hall] must be set to 'Motion'.",
"action": "Turns on the Adaptive Lighting Hall [switch.adaptive_lighting_hall] and the Adaptive Lighting Sleep Mode Hall [switch.adaptive_lighting_sleep_mode_hall] switches, and also turns on the Downstairs Hall Light [light.downstairs_hall] at its minimum brightness level."
},
"human_like": "Switches the hall lights to motion-activated mode, turning on adaptive lighting and a dimmed hall light.",
"complexity": "low"
}
},
{
"id": "hall_lights_to_night_on",
"result": {
"structured": "TRIGGER: When Hall Select [input_select.hall] changes to Night on OR When House Select [input_select.house] changes to Night on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Hall Select [input_select.hall] is Night on OR (Hall Select [input_select.hall] is Auto AND House Select [input_select.house] is Night on)). ACTIONS: Turn on Adaptive Lighting Hall [switch.adaptive_lighting_hall] AND Turn off adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall] AND IF Hall Christmas [input_boolean.hall_christmas] is on THEN run Hall String On Script [script.hall_string_on] OTHERWISE run Hall Strip On Script [script.hall_strip_on].",
"natural_language": {
"trigger": "When the Hall Select [input_select.hall] is set to 'Night on' or when the House Select [input_select.house] is set to 'Night on'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be turned on. Additionally, either the Hall Select [input_select.hall] is directly set to 'Night on', or the Hall Select [input_select.hall] is set to 'Auto' while the House Select [input_select.house] is set to 'Night on'.",
"action": "It turns on the Adaptive Lighting Hall [switch.adaptive_lighting_hall] and turns off the adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall]. Then, it checks if the Hall Christmas [input_boolean.hall_christmas] is on; if it is, it runs the Hall String On Script [script.hall_string_on]; otherwise, it runs the Hall Strip On Script [script.hall_strip_on]."
},
"human_like": "Sets the hall lights to a 'Night on' mode, adjusting adaptive lighting and choosing between Christmas or regular light strips based on a holiday setting.",
"complexity": "medium"
}
},
{
"id": "hall_lights_to_off",
"result": {
"structured": "TRIGGER: When Hall Select [input_select.hall] changes to Off OR When House Select [input_select.house] changes to Off. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Hall Select [input_select.hall] is Off OR (Hall Select [input_select.hall] is Auto AND House Select [input_select.house] is Off)). ACTIONS: Turn off adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall] AND Turn off Adaptive Lighting Hall [switch.adaptive_lighting_hall]. Wait until Downstairs Hall Light [light.downstairs_hall] is either on or off. Then turn off Downstairs Hall Light [light.downstairs_hall]. Wait for 1 minute. Then, if (Hall Select [input_select.hall] is Off OR (Hall Select [input_select.hall] is Auto AND House Select [input_select.house] is Off)), turn off Downstairs Hall Light [light.downstairs_hall] again.",
"natural_language": {
"trigger": "The automation triggers when the Hall Select [input_select.hall] is set to 'Off' or when the House Select [input_select.house] is set to 'Off'.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] are enabled. Additionally, it requires that either the Hall Select [input_select.hall] is set to 'Off', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Off'.",
"action": "First, it turns off the adaptive lighting switches for the hall: adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall] and Adaptive Lighting Hall [switch.adaptive_lighting_hall]. It then waits for the Downstairs Hall Light [light.downstairs_hall] to be in a stable state (either on or off) before turning it off. After a one-minute delay, it checks the hall and house settings again. If the hall is set to 'Off' or is in 'Auto' while the house is 'Off', it turns off the Downstairs Hall Light [light.downstairs_hall] once more."
},
"human_like": "Turns off the hall lights and adaptive lighting when the hall or house mode is set to 'Off', ensuring the lights are properly switched off even if they were in a transitional state.",
"complexity": "medium"
}
},
{
"id": "hall_lights_turned_off",
"result": {
"structured": "TRIGGER: When Downstairs Hall Light [light.downstairs_hall] changes from on to off AND remains off for 1 minute. CONDITIONS: None. ACTIONS: First, if Hall Select [input_select.hall] is NOT set to 'Off', set Hall Select [input_select.hall] to 'Off'. Second, if Adaptive Lighting Hall [switch.adaptive_lighting_hall] is off, turn on Adaptive Lighting Hall [switch.adaptive_lighting_hall].",
"natural_language": {
"trigger": "When the Downstairs Hall Light [light.downstairs_hall] turns off and stays off for one minute.",
"conditions": "There are no conditions that must be met before the actions run.",
"action": "First, it checks the current setting of the Hall Select [input_select.hall]. If it is not already set to 'Off', it changes the selection to 'Off'. Then, it checks the state of the Adaptive Lighting Hall [switch.adaptive_lighting_hall]. If that switch is off, it turns the switch on."
},
"human_like": "Turns off the hall lighting mode and re-enables adaptive lighting when the hall light has been off for a minute.",
"complexity": "medium"
}
},
{
"id": "hall_lights_unavailable_off",
"result": {
"structured": "TRIGGER: When Downstairs Hall Light [light.downstairs_hall] changes from unavailable to on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Hall Select [input_select.hall] is Bedtime OR Hall Select [input_select.hall] is Off OR Hall Select [input_select.hall] is Away). ACTIONS: Turn off Downstairs Hall Light [light.downstairs_hall].",
"natural_language": {
"trigger": "When the Downstairs Hall Light [light.downstairs_hall] becomes available and turns on after being in an unavailable state.",
"conditions": "If the Lighting Automations [input_boolean.lighting_automations] are enabled, and the Hall Select [input_select.hall] is set to either 'Bedtime', 'Off', or 'Away'.",
"action": "Turns off the Downstairs Hall Light [light.downstairs_hall]."
},
"human_like": "Ensures the hall light stays off if it unexpectedly turns on when the system is set to a non-active mode like Bedtime, Off, or Away.",
"complexity": "medium"
}
},
{
"id": "hall_mode_away",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] changes to off OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: Hall Select [input_select.hall] is NOT set to 'Away' AND home occupied [binary_sensor.home_occupied] is off. ACTIONS: Set Hall Select [input_select.hall] to 'Away'.",
"natural_language": {
"trigger": "The automation triggers when the home occupied [binary_sensor.home_occupied] sensor indicates the home is unoccupied, when Home Assistant first starts up, or whenever an automation is reloaded.",
"conditions": "For the action to run, the Hall Select [input_select.hall] must not already be set to 'Away', and the home occupied [binary_sensor.home_occupied] sensor must be in the 'off' state.",
"action": "Sets the Hall Select [input_select.hall] to the 'Away' option."
},
"human_like": "Sets the hall mode to 'Away' when the home is unoccupied, ensuring it's not already in that mode.",
"complexity": "low"
}
},
{
"id": "hall_mode_bedtime",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] turns on OR Hall Occupied [input_boolean.hall_occupied] turns on OR Home Assistant starts OR an automation is reloaded. CONDITIONS: Hall Select [input_select.hall] is NOT set to 'Bedtime' AND (bedtime status [input_boolean.bedtime] is on OR Hall Occupied [input_boolean.hall_occupied] is on). ACTIONS: Set Hall Select [input_select.hall] to 'Bedtime'.",
"natural_language": {
"trigger": "The automation triggers when either the bedtime status [input_boolean.bedtime] or the Hall Occupied [input_boolean.hall_occupied] switch is turned on. It also triggers when Home Assistant starts up or when any automation is reloaded.",
"conditions": "The automation only runs if the Hall Select [input_select.hall] is not already set to 'Bedtime'. Additionally, at least one of the two switches—either bedtime status [input_boolean.bedtime] or Hall Occupied [input_boolean.hall_occupied]—must be in the 'on' state.",
"action": "Changes the Hall Select [input_select.hall] to the 'Bedtime' option."
},
"human_like": "Sets the hall to 'Bedtime' mode when bedtime is activated or the hall is occupied, ensuring it's not already in that mode.",
"complexity": "medium"
}
},
{
"id": "hall_mode_dim",
"result": {
"structured": "TRIGGER: When Person2 In Bed [input_boolean.person2_in_bed] turns on OR Person3 In Bed [input_boolean.person3_in_bed] turns on OR Hall Occupied [input_boolean.hall_occupied] turns on OR Family Room Occupied [input_boolean.family_room_occupied] turns on. CONDITIONS: (Hall Select [input_select.hall] is NOT set to 'Dim') AND (Family Room Occupied [input_boolean.family_room_occupied] is on) AND (Hall Occupied [input_boolean.hall_occupied] is on) AND (Person2 In Bed [input_boolean.person2_in_bed] is on AND Person3 In Bed [input_boolean.person3_in_bed] is on) AND (bedtime status [input_boolean.bedtime] is off). ACTIONS: Set Hall Select [input_select.hall] to 'Dim'.",
"natural_language": {
"trigger": "When either Person2 In Bed [input_boolean.person2_in_bed] or Person3 In Bed [input_boolean.person3_in_bed] is turned on, or when Hall Occupied [input_boolean.hall_occupied] or Family Room Occupied [input_boolean.family_room_occupied] is turned on.",
"conditions": "The Hall Select [input_select.hall] must not already be set to 'Dim'. The Family Room Occupied [input_boolean.family_room_occupied] must be on, the Hall Occupied [input_boolean.hall_occupied] must be on, both Person2 In Bed [input_boolean.person2_in_bed] and Person3 In Bed [input_boolean.person3_in_bed] must be on, and the bedtime status [input_boolean.bedtime] must be off.",
"action": "Changes the Hall Select [input_select.hall] mode to 'Dim'."
},
"human_like": "Sets the hall lighting to a dimmed mode when both people are in bed and the hall and family room are occupied, but only if it's not bedtime.",
"complexity": "medium"
}
},
{
"id": "hall_mode_night_on",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 5 OR When Downstairs Hall Light Sensor Illuminance [sensor.downstairs_hall_light_sensor_illuminance_lux] is below 2 OR When Downstairs Hall Light Sensor Illuminance [sensor.downstairs_hall_light_sensor_illuminance_lux] is below 1 OR When bedtime status [input_boolean.bedtime] turns off OR When Hall Occupied [input_boolean.hall_occupied] turns on OR When Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] OR Upstairs hall motion front occupancy [binary_sensor.upstairs_hall_motion_front_occupancy] turns on. CONDITIONS: (Hall Select [input_select.hall] is NOT set to Night on) AND (bedtime status [input_boolean.bedtime] is off) AND ((Downstairs Hall Light Sensor Illuminance [sensor.downstairs_hall_light_sensor_illuminance_lux] is below 1) OR ((Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 5) AND (Downstairs Hall Light Sensor Illuminance [sensor.downstairs_hall_light_sensor_illuminance_lux] is below 2))) AND (Hall Occupied [input_boolean.hall_occupied] is on). ACTIONS: Set Hall Select [input_select.hall] to the option Night on.",
"natural_language": {
"trigger": "The automation can be triggered by several events: when Home Assistant starts up, when an automation is reloaded, when the sun's solar elevation falls below 5 degrees, when the downstairs hall light sensor reports illuminance below 2 lux, when the same sensor reports illuminance below 1 lux, when the bedtime status is turned off, when the hall is marked as occupied, or when motion is detected by either the downstairs hall or upstairs hall front motion sensors.",
"conditions": "For the automation to run, the hall must not already be in the 'Night on' mode. The bedtime status must be off. Furthermore, the lighting conditions must be met: either the downstairs hall illuminance is below 1 lux, or it is below 2 lux while the sun's solar elevation is also below 5 degrees. Finally, the hall must be marked as occupied.",
"action": "Sets the hall's mode to 'Night on' by selecting that option on the Hall Select input."
},
"human_like": "Automatically switches the hall to 'Night on' mode when it's dark, the hall is occupied, and bedtime mode is not active.",
"complexity": "medium"
}
},
{
"id": "hall_mode_off",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is above 5 degrees OR When Downstairs Hall Light Sensor Illuminance [sensor.downstairs_hall_light_sensor_illuminance_lux] is above 3 lux for 5 minutes OR When Downstairs Hall Light Sensor Illuminance [sensor.downstairs_hall_light_sensor_illuminance_lux] is above 5 lux OR When Hall Occupied [input_boolean.hall_occupied] is off for 1 minute. CONDITIONS: Hall Select [input_select.hall] is not set to 'Off' AND (Hall Occupied [input_boolean.hall_occupied] is off OR (Downstairs Hall Light Sensor Illuminance [sensor.downstairs_hall_light_sensor_illuminance_lux] is above 3 lux AND Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is above 0 degrees)). ACTIONS: Set Hall Select [input_select.hall] to 'Off'.",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when Home Assistant starts up, when an automation is reloaded, when the sun's elevation is above 5 degrees, when the downstairs hall light sensor reports illuminance above 3 lux for five consecutive minutes, when the same sensor reports illuminance above 5 lux, or when the Hall Occupied indicator is off for one minute.",
"conditions": "For the action to run, the Hall Select must not already be set to 'Off'. Additionally, either the Hall Occupied indicator must be off, or the downstairs hall light sensor must read above 3 lux while the sun's elevation is above 0 degrees.",
"action": "Sets the Hall Select to the 'Off' mode."
},
"human_like": "Turns off the hall mode when it's bright enough or the hall is unoccupied, ensuring the mode isn't already off.",
"complexity": "medium"
}
},
{
"id": "hall_not_occupied",
"result": {
"structured": "TRIGGER: When any of the following entities changes to 'off': Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy], Upstairs hall motion front occupancy [binary_sensor.upstairs_hall_motion_front_occupancy], Living Room Occupied [input_boolean.living_room_occupied], Living room door contact [binary_sensor.living_room_door_contact], Living room presence occupancy [binary_sensor.living_room_presence_occupancy], Family Room Occupied [input_boolean.family_room_occupied], Family room door contact [binary_sensor.family_room_door_contact], Family room multi occupancy [binary_sensor.family_room_multi_occupancy], Vestibule door contact [binary_sensor.vestibule_door_contact], vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy], Toilet Occupied [input_boolean.toilet_occupied], Toilet door contact [binary_sensor.toilet_door_contact]. CONDITIONS: Hall Occupied [input_boolean.hall_occupied] is on AND (Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] is off AND Upstairs hall motion front occupancy [binary_sensor.upstairs_hall_motion_front_occupancy] is off) AND ((Living room door contact [binary_sensor.living_room_door_contact] is off) OR (Living room door contact [binary_sensor.living_room_door_contact] is on AND (Living Room Occupied [input_boolean.living_room_occupied] is off AND Living room presence occupancy [binary_sensor.living_room_presence_occupancy] is off))) AND ((Family room door contact [binary_sensor.family_room_door_contact] is off) OR (Family room door contact [binary_sensor.family_room_door_contact] is on AND (Family Room Occupied [input_boolean.family_room_occupied] is off AND Family room multi occupancy [binary_sensor.family_room_multi_occupancy] is off))) AND (Vestibule door contact [binary_sensor.vestibule_door_contact] is off OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] is off) AND (Toilet Occupied [input_boolean.toilet_occupied] is off OR Toilet door contact [binary_sensor.toilet_door_contact] is off). ACTIONS: Turn off Hall Occupied [input_boolean.hall_occupied].",
"natural_language": {
"trigger": "The automation triggers when any of the following sensors or switches changes to an 'off' state: motion sensors in the Downstairs Hall and Upstairs Hall, the occupancy status of the Living Room, Family Room, and Toilet, the door contacts for the Living Room, Family Room, Vestibule, and Toilet, and the presence/multi-occupancy sensors for the Living Room, Family Room, and Vestibule.",
"conditions": "For the automation to run, the Hall must currently be marked as occupied. Both the Downstairs hall motion occupancy and the Upstairs hall motion front occupancy sensors must report no motion. For the Living Room, either its door must be closed, or if the door is open, the room must be marked as unoccupied and its presence sensor must also report no occupancy. The same logic applies to the Family Room: either its door is closed, or if open, the room is unoccupied and its multi-occupancy sensor reports no occupancy. For the Vestibule, either its door is closed or its multi-occupancy sensor reports no occupancy. For the Toilet, either it is marked as unoccupied or its door is closed.",
"action": "The automation marks the Hall as unoccupied by turning off the Hall Occupied switch."
},
"human_like": "Marks the hall as unoccupied when there is no motion detected in the halls and all adjacent rooms (Living Room, Family Room, Vestibule, and Toilet) show signs of being empty.",
"complexity": "high"
}
},
{
"id": "hall_occupied",
"result": {
"structured": "TRIGGER: When any of the following entities changes to 'on': Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy], Upstairs hall motion front occupancy [binary_sensor.upstairs_hall_motion_front_occupancy], Living Room Occupied [input_boolean.living_room_occupied], Living room door contact [binary_sensor.living_room_door_contact], Living room presence occupancy [binary_sensor.living_room_presence_occupancy], Family Room Occupied [input_boolean.family_room_occupied], Family room door contact [binary_sensor.family_room_door_contact], Family room multi occupancy [binary_sensor.family_room_multi_occupancy], Vestibule door contact [binary_sensor.vestibule_door_contact], vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy], Toilet Occupied [input_boolean.toilet_occupied], Toilet door contact [binary_sensor.toilet_door_contact]. CONDITIONS: Hall Occupied [input_boolean.hall_occupied] is off AND ( (Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] is on OR Upstairs hall motion front occupancy [binary_sensor.upstairs_hall_motion_front_occupancy] is on) OR (Living room door contact [binary_sensor.living_room_door_contact] is on AND (Living Room Occupied [input_boolean.living_room_occupied] is on OR Living room presence occupancy [binary_sensor.living_room_presence_occupancy] is on)) OR (Family room door contact [binary_sensor.family_room_door_contact] is on AND (Family Room Occupied [input_boolean.family_room_occupied] is on OR Family room multi occupancy [binary_sensor.family_room_multi_occupancy] is on)) OR (Vestibule door contact [binary_sensor.vestibule_door_contact] is on OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] is on) OR (Toilet Occupied [input_boolean.toilet_occupied] is on OR Toilet door contact [binary_sensor.toilet_door_contact] is on) ). ACTIONS: Turn on Hall Occupied [input_boolean.hall_occupied].",
"natural_language": {
"trigger": "The automation triggers when any of the following sensors or status indicators turn on: motion in the downstairs or upstairs hall, the living room being marked as occupied or its door opening or presence being detected, the family room being marked as occupied or its door opening or multi-occupancy being detected, the vestibule door opening or multi-occupancy being detected, or the toilet being marked as occupied or its door opening.",
"conditions": "The hall must currently be marked as unoccupied. Additionally, at least one of the following scenarios must be true: motion is detected in either the downstairs or upstairs hall; the living room door is open and the living room is either marked as occupied or has presence detected; the family room door is open and the family room is either marked as occupied or has multi-occupancy detected; the vestibule door is open or multi-occupancy is detected there; or the toilet is marked as occupied or its door is open.",
"action": "Marks the hall as occupied by turning on Hall Occupied [input_boolean.hall_occupied]."
},
"human_like": "Marks the hall as occupied when motion is detected there, or when activity in adjacent rooms (like doors opening or those rooms being occupied) suggests someone is entering the hall.",
"complexity": "medium"
}
},
{
"id": "ha_automations_reloaded",
"result": {
"structured": "TRIGGER: When the Home Assistant automation_reloaded event occurs. CONDITIONS: None. ACTIONS: Send a notification via notify apprise [notify.apprise] to the target Discord HA [discord_ha] with a title of a space and a message containing a Discord user mention for Tinkerer0042, a robot emoji, and the text 'Automations on Custodes have been reloaded at' followed by the current local timestamp in the format 'YYYY-MM-DD HH:MM:SS'.",
"natural_language": {
"trigger": "When Home Assistant finishes reloading its automations.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a Discord notification via the notify apprise [notify.apprise] service to the Discord HA [discord_ha] channel. The message mentions the user Tinkerer0042, includes a robot emoji, and states that the automations on the system named 'Custodes' have been reloaded, appending the exact local date and time."
},
"human_like": "Sends a Discord notification to alert a user when Home Assistant automations have been reloaded.",
"complexity": "low"
}
},
{
"id": "healthcheck",
"result": {
"structured": "TRIGGER: When a webhook with ID 'secret pi3' is received. CONDITIONS: None. ACTIONS: Wait for 1 millisecond.",
"natural_language": {
"trigger": "When a webhook request with the specific ID 'secret pi3' arrives at the system.",
"conditions": "There are no conditions that must be met.",
"action": "The automation pauses for a very short duration of 1 millisecond."
},
"human_like": "Responds to a specific webhook request by performing a tiny delay.",
"complexity": "low"
}
},
{
"id": "holiday",
"result": {
"structured": "TRIGGER: When Person2 Travelling [input_boolean.person2_travelling] turns on OR Person3 Travelling [input_boolean.person3_travelling] turns on OR Person1 Travelling [input_boolean.person1_travelling] turns on. CONDITIONS: Person2 Travelling [input_boolean.person2_travelling] is on AND Person3 Travelling [input_boolean.person3_travelling] is on AND Person1 Travelling [input_boolean.person1_travelling] is on. ACTIONS: Turn on holiday mode [input_boolean.holiday_mode].",
"natural_language": {
"trigger": "When any of the three travelling statuses for Person1, Person2, or Person3 changes to 'on'.",
"conditions": "All three travelling statuses must be on simultaneously. This means Person1 Travelling [input_boolean.person1_travelling], Person2 Travelling [input_boolean.person2_travelling], and Person3 Travelling [input_boolean.person3_travelling] all need to be in the 'on' state.",
"action": "Activates the holiday mode by turning on the holiday mode [input_boolean.holiday_mode] input boolean."
},
"human_like": "Turns on holiday mode when all three people are marked as travelling.",
"complexity": "low"
}
},
{
"id": "holiday_over",
"result": {
"structured": "TRIGGER: When Person2 Travelling [input_boolean.person2_travelling] turns off OR Person3 Travelling [input_boolean.person3_travelling] turns off OR Person1 Travelling [input_boolean.person1_travelling] turns off. CONDITIONS: Person2 Travelling [input_boolean.person2_travelling] is off AND Person3 Travelling [input_boolean.person3_travelling] is off AND Person1 Travelling [input_boolean.person1_travelling] is off. ACTIONS: Turn off holiday mode [input_boolean.holiday_mode].",
"natural_language": {
"trigger": "When any of the three travel status indicators (Person1 Travelling [input_boolean.person1_travelling], Person2 Travelling [input_boolean.person2_travelling], or Person3 Travelling [input_boolean.person3_travelling]) changes to off.",
"conditions": "All three travel status indicators must be off simultaneously. Specifically, Person1 Travelling [input_boolean.person1_travelling], Person2 Travelling [input_boolean.person2_travelling], and Person3 Travelling [input_boolean.person3_travelling] must all be in the 'off' state.",
"action": "Turns off the holiday mode [input_boolean.holiday_mode]."
},
"human_like": "Turns off holiday mode when all tracked persons have returned from their trips.",
"complexity": "low"
}
},
{
"id": "home_not_occupied",
"result": {
"structured": "TRIGGER: When any of the following entities change state to off: person3 home status [input_boolean.person3_home] OR person2 home status [input_boolean.person2_home] OR Person1 Home [input_boolean.person1_home] OR Person4 Home [input_boolean.person4_home] OR guest mode [input_boolean.guest_mode]. CONDITIONS: All of the following entities must be in the off state: person3 home status [input_boolean.person3_home] AND person2 home status [input_boolean.person2_home] AND Person1 Home [input_boolean.person1_home] AND Person4 Home [input_boolean.person4_home] AND guest mode [input_boolean.guest_mode]. ACTIONS: Turn off Home Occupied [input_boolean.home_occupied].",
"natural_language": {
"trigger": "The automation triggers when any one of the following statuses changes to 'off': person3 home status [input_boolean.person3_home], person2 home status [input_boolean.person2_home], Person1 Home [input_boolean.person1_home], Person4 Home [input_boolean.person4_home], or guest mode [input_boolean.guest_mode].",
"conditions": "For the action to run, all of the following conditions must be true: person3 home status [input_boolean.person3_home] is off, person2 home status [input_boolean.person2_home] is off, Person1 Home [input_boolean.person1_home] is off, Person4 Home [input_boolean.person4_home] is off, and guest mode [input_boolean.guest_mode] is off.",
"action": "It turns off the Home Occupied [input_boolean.home_occupied] status, indicating that no one is home."
},
"human_like": "Marks the home as unoccupied when all tracked people and guest mode are set to 'away'.",
"complexity": "low"
}
},
{
"id": "home_occupied",
"result": {
"structured": "TRIGGER: When any of the following entities turn on: person3 home status [input_boolean.person3_home], person2 home status [input_boolean.person2_home], Person1 Home [input_boolean.person1_home], Person1 Tablet Home [input_boolean.person1_tablet_home], Person4 Home [input_boolean.person4_home], or guest mode [input_boolean.guest_mode]. CONDITIONS: home occupied [binary_sensor.home_occupied] is off AND (person3 home status [input_boolean.person3_home] is on OR person2 home status [input_boolean.person2_home] is on OR (Person1 Home [input_boolean.person1_home] is on AND Person1 Tablet Home [input_boolean.person1_tablet_home] is on) OR Person4 Home [input_boolean.person4_home] is on OR guest mode [input_boolean.guest_mode] is on). ACTIONS: Turn on Home Occupied [input_boolean.home_occupied].",
"natural_language": {
"trigger": "When any of the tracked statuses—person3 home status [input_boolean.person3_home], person2 home status [input_boolean.person2_home], Person1 Home [input_boolean.person1_home], Person1 Tablet Home [input_boolean.person1_tablet_home], Person4 Home [input_boolean.person4_home], or guest mode [input_boolean.guest_mode]—change to the 'on' state.",
"conditions": "The automation only runs if the home occupied [binary_sensor.home_occupied] sensor is currently off, and at least one of the following is true: person3 is home, person2 is home, both Person1 and their tablet are home, person4 is home, or guest mode is active.",
"action": "Sets the home as occupied by turning on the Home Occupied [input_boolean.home_occupied] input boolean."
},
"human_like": "Marks the home as occupied when any resident or guest is detected at home, provided the home isn't already marked as occupied.",
"complexity": "medium"
}
},
{
"id": "hotter_outside_livingroom",
"result": {
"structured": "TRIGGER: When Patio window left contact [binary_sensor.patio_window_left_contact] opens (on) OR Patio window right contact [binary_sensor.patio_window_right_contact] opens (on) OR Patio door left contact [binary_sensor.patio_door_left_contact] opens (on) OR Patio door right contact [binary_sensor.patio_door_right_contact] opens (on) OR when the template condition is met (Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] > 23 AND Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] > Living Room Climate Temperature Sensor [sensor.living_room_climate_temperature]). CONDITIONS: Living Room Occupied [input_boolean.living_room_occupied] is on AND Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is above 23 AND Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] > Living Room Climate Temperature Sensor [sensor.living_room_climate_temperature] AND (Patio window left contact [binary_sensor.patio_window_left_contact] is open (on) OR Patio window right contact [binary_sensor.patio_window_right_contact] is open (on) OR Patio door left contact [binary_sensor.patio_door_left_contact] is open (on) OR Patio door right contact [binary_sensor.patio_door_right_contact] is open (on)) AND more than 1800 seconds (30 minutes) have passed since the automation hotter_outside_livingroom was last triggered. ACTIONS: Turn on Cooler outside livingroom automation [automation.cooler_outside_livingroom] AND play a TTS announcement on Living Room Sonos Cloud [media_player.living_room_sonos_cloud] saying \"It's now hotter outside than inside, you should close the windows and doors.\" at 25% volume.",
"natural_language": {
"trigger": "The automation triggers if any of the patio windows or doors (Patio window left contact [binary_sensor.patio_window_left_contact], Patio window right contact [binary_sensor.patio_window_right_contact], Patio door left contact [binary_sensor.patio_door_left_contact], or Patio door right contact [binary_sensor.patio_door_right_contact]) are opened. It also triggers when a template condition is met, which checks if the outside temperature from the Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is greater than 23 degrees and also hotter than the indoor temperature from the Living Room Climate Temperature Sensor [sensor.living_room_climate_temperature].",
"conditions": "For the automation to run, the living room must be marked as occupied (Living Room Occupied [input_boolean.living_room_occupied] is on). The outside temperature from the Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] must be above 23 degrees and must also be higher than the indoor temperature from the Living Room Climate Temperature Sensor [sensor.living_room_climate_temperature]. At least one of the patio windows or doors must be open. Finally, at least 30 minutes must have passed since this automation was last triggered.",
"action": "The automation turns on another automation called Cooler outside livingroom automation [automation.cooler_outside_livingroom] and plays a text-to-speech announcement on the Living Room Sonos Cloud [media_player.living_room_sonos_cloud], advising that it's hotter outside than inside and suggesting to close the windows and doors."
},
"human_like": "When it's hot outside and the living room is occupied with windows or doors open, this automation reminds you to close them and activates a related cooling routine.",
"complexity": "medium"
}
},
{
"id": "hotter_outside_office",
"result": {
"structured": "TRIGGER: When Office window contact [binary_sensor.office_window_contact] opens (changes to on) OR When Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is above 23°C OR When the temperature from Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is greater than the temperature from Office Temperature Sensor [sensor.office_temperature]. CONDITIONS: (Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is above 23°C) AND (The temperature from Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] is greater than the temperature from Office Temperature Sensor [sensor.office_temperature]) AND (Office window contact [binary_sensor.office_window_contact] is open (on)). ACTIONS: Play a TTS announcement on Office Sonos Cloud [media_player.office_sonos_cloud] saying \"It's now hotter outside than inside, you should close the window.\"",
"natural_language": {
"trigger": "The automation can be triggered in three ways: when the Office window contact [binary_sensor.office_window_contact] reports the window is open, when the Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] reads a temperature above 23°C, or when the outside temperature from Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] becomes higher than the inside temperature from Office Temperature Sensor [sensor.office_temperature].",
"conditions": "For the action to run, all of the following must be true: the outside temperature from Tomorrow IO Temperature Sensor [sensor.tomorrow_io_temperature] must be above 23°C, the outside temperature must still be greater than the inside temperature from Office Temperature Sensor [sensor.office_temperature], and the Office window contact [binary_sensor.office_window_contact] must indicate the window is open.",
"action": "The system will play a text-to-speech announcement on the Office Sonos Cloud [media_player.office_sonos_cloud] speaker, stating: \"It's now hotter outside than inside, you should close the window.\""
},
"human_like": "Announces a reminder to close the office window when it's open and the outside temperature is both high and warmer than inside.",
"complexity": "medium"
}
},
{
"id": "house_is_awake",
"result": {
"structured": "TRIGGER: When person3 is awake [input_boolean.person3_is_awake] turns on OR person2 is awake [input_boolean.person2_is_awake] turns on OR Person1 Is Awake [input_boolean.person1_is_awake] turns on. CONDITIONS: Time is after 03:00:00 AND ((person3 home status [input_boolean.person3_home] is off OR (person3 is awake [input_boolean.person3_is_awake] is on AND person3 home status [input_boolean.person3_home] is on)) OR (person2 home status [input_boolean.person2_home] is off OR (person2 is awake [input_boolean.person2_is_awake] is on AND person2 home status [input_boolean.person2_home] is on)) OR (Person1 Home [input_boolean.person1_home] is off OR (Person1 Is Awake [input_boolean.person1_is_awake] is on AND Person1 Home [input_boolean.person1_home] is on))). ACTIONS: Turn off bedtime status [input_boolean.bedtime].",
"natural_language": {
"trigger": "When any of the three 'awake' status indicators for the household members (person3 is awake [input_boolean.person3_is_awake], person2 is awake [input_boolean.person2_is_awake], or Person1 Is Awake [input_boolean.person1_is_awake]) changes to 'on'.",
"conditions": "The current time must be after 3:00 AM. Additionally, for at least one of the three people, the condition must be met that either they are not at home, or they are both at home and marked as awake. Specifically, for person3, they must be away or both home and awake; for person2, they must be away or both home and awake; for Person1, they must be away or both home and awake.",
"action": "Turns off the 'bedtime' status indicator [input_boolean.bedtime]."
},
"human_like": "Ends the 'bedtime' mode after 3 AM when at least one person in the household is awake and at home (or not home).",
"complexity": "medium"
}
},
{
"id": "house_lights_from_bedtime",
"result": {
"structured": "TRIGGER: When House Select [input_select.house] changes from Bedtime to any other state. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND House Select [input_select.house] is NOT Bedtime. ACTIONS: Turn off adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall].",
"natural_language": {
"trigger": "When the House Select [input_select.house] changes away from the 'Bedtime' setting.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be turned on, and the House Select [input_select.house] must not be set to 'Bedtime'.",
"action": "Turns off the adaptive lighting sleep mode for the hall by switching off adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall]."
},
"human_like": "Turns off the hall's sleep lighting when the house mode changes from bedtime, provided lighting automations are enabled.",
"complexity": "low"
}
},
{
"id": "house_lights_to_bedtime",
"result": {
"structured": "TRIGGER: When House Select [input_select.house] changes to Bedtime. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND House Select [input_select.house] is Bedtime. ACTIONS: Turn on adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall].",
"natural_language": {
"trigger": "When the House Select [input_select.house] is set to the 'Bedtime' mode.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be enabled (on), and the House Select [input_select.house] must currently be set to 'Bedtime'.",
"action": "Activates the sleep mode for the hall lighting by turning on adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall]."
},
"human_like": "Turns on the hall's adaptive sleep lighting when the house mode is set to bedtime and lighting automations are active.",
"complexity": "low"
}
},
{
"id": "house_mode_auto",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] becomes on OR When bedtime status [input_boolean.bedtime] becomes off. CONDITIONS: None. ACTIONS: Set House Select [input_select.house] to option 'Auto'.",
"natural_language": {
"trigger": "When the home occupied [binary_sensor.home_occupied] sensor indicates someone is home, or when the bedtime status [input_boolean.bedtime] is turned off.",
"conditions": "There are no additional conditions that must be met.",
"action": "Changes the house mode to 'Auto' by setting the House Select [input_select.house] option."
},
"human_like": "Automatically sets the house mode to 'Auto' when someone arrives home or when bedtime mode is turned off.",
"complexity": "low"
}
},
{
"id": "house_mode_away",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] changes to off. CONDITIONS: None. ACTIONS: Set House Select [input_select.house] to option 'Away'.",
"natural_language": {
"trigger": "When the home occupied [binary_sensor.home_occupied] sensor indicates the home is no longer occupied (changes to 'off').",
"conditions": "There are no additional conditions that must be met.",
"action": "Changes the house mode by setting the House Select [input_select.house] to 'Away'."
},
"human_like": "Sets the house to 'Away' mode when the home occupancy sensor indicates the house is empty.",
"complexity": "low"
}
},
{
"id": "house_mode_bedtime",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] turns on. CONDITIONS: None. ACTIONS: Set House Select [input_select.house] to 'Bedtime'.",
"natural_language": {
"trigger": "When the bedtime status [input_boolean.bedtime] is turned on.",
"conditions": "There are no additional conditions that must be met.",
"action": "Changes the house mode to 'Bedtime' by setting the House Select [input_select.house] option accordingly."
},
"human_like": "Sets the house to 'Bedtime' mode when the bedtime switch is activated.",
"complexity": "low"
}
},
{
"id": "house_mode_holiday",
"result": {
"structured": "TRIGGER: When holiday mode [input_boolean.holiday_mode] turns on. CONDITIONS: None. ACTIONS: Set House Select [input_select.house] to Holiday.",
"natural_language": {
"trigger": "When the holiday mode [input_boolean.holiday_mode] is switched on.",
"conditions": "There are no additional conditions that must be met.",
"action": "Changes the house mode to 'Holiday' by setting the House Select [input_select.house] option accordingly."
},
"human_like": "Switches the house mode to 'Holiday' when holiday mode is activated.",
"complexity": "low"
}
},
{
"id": "internet_outage",
"result": {
"structured": "TRIGGER: When Fritz box 3490 connection [binary_sensor.fritz_box_3490_connection] changes from off to on AND remains on for 5 minutes OR Fritz box 3490 link [binary_sensor.fritz_box_3490_link] changes from off to on AND remains on for 5 minutes. CONDITIONS: None. ACTIONS: Send a notification to Logfile Notify [notify.logfile] with the message 'The internet went down and is now back up' AND send a notification to person2 notification [notify.person2] with the message 'The internet went down and is now back up'.",
"natural_language": {
"trigger": "When the Fritz box 3490 connection [binary_sensor.fritz_box_3490_connection] or the Fritz box 3490 link [binary_sensor.fritz_box_3490_link] changes from off to on and stays in that state for five minutes.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a notification to the log file via Logfile Notify [notify.logfile] and a notification to person2 via person2 notification [notify.person2], both stating that the internet went down and is now back up."
},
"human_like": "Sends a notification when the internet connection is restored after an outage.",
"complexity": "low"
}
},
{
"id": "last_motion",
"result": {
"structured": "TRIGGER: When any of the following motion sensors changes from no motion (off) to motion detected (on): Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy], Family room multi occupancy [binary_sensor.family_room_multi_occupancy], Living room presence occupancy [binary_sensor.living_room_presence_occupancy], vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy], utility motion occupancy [binary_sensor.utility_motion_occupancy], Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy], Office presence occupancy [binary_sensor.office_presence_occupancy], Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy], Upstairs hall motion front occupancy [binary_sensor.upstairs_hall_motion_front_occupancy]. CONDITIONS: None. ACTIONS: Set the value of Last Motion Text [input_text.last_motion] to the name of the entity that triggered the automation.",
"natural_language": {
"trigger": "When any of the listed motion sensors in various rooms (Downstairs hall, Family room, Living room, vestibule, utility, Master bedroom, Office, Second bedroom, or Upstairs hall) transitions from not detecting motion to detecting motion.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Updates the text input 'Last Motion Text' [input_text.last_motion] with the friendly name of the specific motion sensor that triggered the automation."
},
"human_like": "Keeps track of the last room where motion was detected by updating a text field with the sensor's name.",
"complexity": "low"
}
},
{
"id": "last_opened",
"result": {
"structured": "TRIGGER: When any of the following contact sensors changes from closed (off) to open (on): front door contact [binary_sensor.front_door_contact], Garage door bike contact [binary_sensor.garage_door_bike_contact], Garage door car contact [binary_sensor.garage_door_car_contact], Patio door left contact [binary_sensor.patio_door_left_contact], Patio door right contact [binary_sensor.patio_door_right_contact], Utility door exterior contact [binary_sensor.utility_door_exterior_contact], Family window left contact [binary_sensor.family_window_left_contact], Family window right contact [binary_sensor.family_window_right_contact], Kitchen window left contact [binary_sensor.kitchen_window_left_contact], Kitchen window right contact [binary_sensor.kitchen_window_right_contact], Patio window left contact [binary_sensor.patio_window_left_contact], Patio window right contact [binary_sensor.patio_window_right_contact], Vestibule window front contact [binary_sensor.vestibule_window_front_contact], Vestibule window side contact [binary_sensor.vestibule_window_side_contact], Bathroom window contact [binary_sensor.bathroom_window_contact], Guest bedroom window left contact [binary_sensor.guest_bedroom_window_left_contact], Guest bedroom window right contact [binary_sensor.guest_bedroom_window_right_contact], Master window ensuite contact [binary_sensor.master_window_ensuite_contact], Master window left contact [binary_sensor.master_window_left_contact], Master window right contact [binary_sensor.master_window_right_contact], Office window contact [binary_sensor.office_window_contact], Second bedroom window ensuite contact [binary_sensor.second_bedroom_window_ensuite_contact], Second bedroom window left contact [binary_sensor.second_bedroom_window_left_contact], Second bedroom window right contact [binary_sensor.second_bedroom_window_right_contact], Spare bedroom window left contact [binary_sensor.spare_bedroom_window_left_contact], Spare bedroom window right contact [binary_sensor.spare_bedroom_window_right_contact]. CONDITIONS: None. ACTIONS: Set the value of Last Opened Text [input_text.last_opened] to the friendly name of the entity that triggered the automation.",
"natural_language": {
"trigger": "Whenever any of the listed doors or windows are opened, as detected by their contact sensors changing from a closed (off) state to an open (on) state. This includes the front door, garage doors, patio doors, utility door, and numerous windows throughout the house.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Updates the text input field 'Last Opened Text' [input_text.last_opened] with the friendly name of the specific door or window that was just opened."
},
"human_like": "Tracks which door or window was opened most recently by updating a text field with its name.",
"complexity": "low"
}
},
{
"id": "last_opened_interior",
"result": {
"structured": "TRIGGER: When any of the following door contact sensors changes state (from on to off OR from off to on): Family room door contact [binary_sensor.family_room_door_contact], Living room door contact [binary_sensor.living_room_door_contact], Toilet door contact [binary_sensor.toilet_door_contact], Vestibule door contact [binary_sensor.vestibule_door_contact], Master bedroom door contact [binary_sensor.master_bedroom_door_contact], Master ensuite door contact [binary_sensor.master_ensuite_door_contact], Office door contact [binary_sensor.office_door_contact], Second bedroom door contact [binary_sensor.second_bedroom_door_contact], Second ensuite door contact [binary_sensor.second_ensuite_door_contact], Spare bedroom door contact [binary_sensor.spare_bedroom_door_contact], Guest bedroom door contact [binary_sensor.guest_bedroom_door_contact], Bathroom door contact [binary_sensor.bathroom_door_contact], Loft hatch contact [binary_sensor.loft_hatch_contact]. CONDITIONS: The state change must be a genuine transition (the previous state is different from the new state). ACTIONS: Set the value of Last Opened Interior Text [input_text.last_opened_interior] to the friendly name of the sensor that triggered the automation.",
"natural_language": {
"trigger": "When any interior door or hatch contact sensor changes its state, whether from open to closed or from closed to open. This includes doors in the Family Room, Living Room, Toilet, Vestibule, Master Bedroom, Master Ensuite, Office, Second Bedroom, Second Ensuite, Spare Bedroom, Guest Bedroom, Bathroom, and the Loft hatch.",
"conditions": "The change must be a real state transition, meaning the door didn't report the same state it was already in.",
"action": "Records the name of the door that was just opened or closed by updating the Last Opened Interior Text [input_text.last_opened_interior] input text entity."
},
"human_like": "Tracks which interior door or hatch was most recently opened or closed by updating a text field with the door's name.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_lights_off_sleeping_bedtime",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] remains in state 'Off' for 5 minutes OR When person2 is awake [input_boolean.person2_is_awake] remains in state 'off' for 5 minutes. CONDITIONS: Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is 'on' AND person2 is awake [input_boolean.person2_is_awake] is 'off' AND Master Bedroom Select [input_select.master_bedroom] is 'Off'. ACTIONS: Turn on adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom] AND Turn on Adaptive Lighting Sleep Mode Master Neon [switch.adaptive_lighting_sleep_mode_master_neon].",
"natural_language": {
"trigger": "When the Master Bedroom Select [input_select.master_bedroom] has been set to 'Off' for five minutes, or when the person2 is awake [input_boolean.person2_is_awake] status has been 'off' for five minutes.",
"conditions": "If the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is currently on, the person2 is awake [input_boolean.person2_is_awake] status is off, and the Master Bedroom Select [input_select.master_bedroom] is set to 'Off'.",
"action": "Activates the sleep lighting modes by turning on both the adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom] and the Adaptive Lighting Sleep Mode Master Neon [switch.adaptive_lighting_sleep_mode_master_neon]."
},
"human_like": "Turns on sleep-mode lighting in the master bedroom when the room is occupied, the lights are off, and the person is asleep for a few minutes.",
"complexity": "medium"
}
},
{
"id": "living_room_adaptive",
"result": {
"structured": "TRIGGER: Every 3 minutes (time pattern). CONDITIONS: (Living Room TV Lamp [light.living_room_tv_lamp] is on OR Living Room Corner Lamp [light.living_room_corner_lamp] is on OR Living Room Table Lamp [light.living_room_table_lamp] is on) AND Living Room Select [input_select.living_room] state is one of: Auto, Motion, Dim, Wake, Bedtime, Day on, Night on, On. ACTIONS: If Living Room TV Lamp [light.living_room_tv_lamp] is on, apply adaptive lighting to it. Wait 1 second. If Living Room Corner Lamp [light.living_room_corner_lamp] is on, apply adaptive lighting to it. Wait 1 second. If Living Room Table Lamp [light.living_room_table_lamp] is on, apply adaptive lighting to it. Wait 1 second.",
"natural_language": {
"trigger": "The automation runs every three minutes.",
"conditions": "At least one of the three living room lights (Living Room TV Lamp [light.living_room_tv_lamp], Living Room Corner Lamp [light.living_room_corner_lamp], or Living Room Table Lamp [light.living_room_table_lamp]) must be turned on. Additionally, the Living Room Select [input_select.living_room] mode must be set to one of the following: Auto, Motion, Dim, Wake, Bedtime, Day on, Night on, or On.",
"action": "For each of the three lights, if the light is currently on, the adaptive lighting service is applied to adjust its color temperature and brightness. The actions are performed in sequence for the TV lamp, corner lamp, and table lamp, with a one-second delay between each application."
},
"human_like": "Every three minutes, it adjusts the color and brightness of any turned-on living room lamps to match the time of day, but only when the room's mode is set to an active state.",
"complexity": "medium"
}
},
{
"id": "living_room_arrival",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded (automation_reloaded event) OR When Person2 Status Dropdown [input_select.person2_status_dropdown] changes to 'Just Arrived' OR When Person3 Status Dropdown [input_select.person3_status_dropdown] changes to 'Just Arrived' OR When Person1 Status Dropdown [input_select.person1_status_dropdown] changes to 'Just Arrived'. CONDITIONS: Living Room Occupied [input_boolean.living_room_occupied] is off AND (Person2 Status Dropdown [input_select.person2_status_dropdown] is 'Just Arrived' OR Person3 Status Dropdown [input_select.person3_status_dropdown] is 'Just Arrived' OR Person1 Status Dropdown [input_select.person1_status_dropdown] is 'Just Arrived' OR Person4 Status Dropdown [input_select.person4_status_dropdown] is 'Just Arrived') AND Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is below 4 lux. ACTIONS: Set Living Room Select [input_select.living_room] to 'Dim'.",
"natural_language": {
"trigger": "The automation triggers when Home Assistant starts up, when any automation is reloaded, or when the status dropdown for Person1, Person2, or Person3 changes to 'Just Arrived'.",
"conditions": "The living room must be marked as unoccupied (Living Room Occupied [input_boolean.living_room_occupied] is off), at least one person (Person1, Person2, Person3, or Person4) must have their status set to 'Just Arrived', and the light level in the living room (Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux]) must be below 4 lux.",
"action": "Sets the living room mode to 'Dim' by updating the Living Room Select [input_select.living_room] dropdown."
},
"human_like": "When someone arrives home and the living room is dark and unoccupied, it automatically sets the room to a dim lighting mode.",
"complexity": "medium"
}
},
{
"id": "living_room_away",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Living Room Occupied [input_boolean.living_room_occupied] changes to off OR When Living Room Occupied [input_boolean.living_room_occupied] remains off for 10 minutes OR When home occupied [binary_sensor.home_occupied] changes to off. CONDITIONS: home occupied [binary_sensor.home_occupied] is off AND Living Room Occupied [input_boolean.living_room_occupied] is off. ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND Set Living Room Select [input_select.living_room] to 'Away'.",
"natural_language": {
"trigger": "The automation triggers when Home Assistant starts up, when any automation is reloaded, when the Living Room Occupied [input_boolean.living_room_occupied] status changes to off, when it has been off for 10 minutes, or when the home occupied [binary_sensor.home_occupied] status changes to off.",
"conditions": "Both the home occupied [binary_sensor.home_occupied] must be off and the Living Room Occupied [input_boolean.living_room_occupied] must also be off.",
"action": "It turns off the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] setting and changes the Living Room Select [input_select.living_room] to the 'Away' option."
},
"human_like": "Sets the living room to 'Away' mode and disables automatic lighting when both the home and the living room are unoccupied.",
"complexity": "medium"
}
},
{
"id": "living_room_bedtime",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When bedtime status [input_boolean.bedtime] turns on OR When Living Room Occupied [input_boolean.living_room_occupied] turns off. CONDITIONS: (home occupied [binary_sensor.home_occupied] is on AND bedtime status [input_boolean.bedtime] is on) AND (Living Room Occupied [input_boolean.living_room_occupied] is off). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND Set Living Room Select [input_select.living_room] to 'Bedtime'.",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when Home Assistant starts up, when any automation is reloaded, when the bedtime status [input_boolean.bedtime] is switched on, or when the Living Room Occupied [input_boolean.living_room_occupied] status changes to off.",
"conditions": "For the automation to run, the home must be occupied (home occupied [binary_sensor.home_occupied] is on) and bedtime must be active (bedtime status [input_boolean.bedtime] is on). Additionally, the living room must not be occupied (Living Room Occupied [input_boolean.living_room_occupied] is off).",
"action": "The automation will disable automatic light control for the living room by turning off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] and set the living room mode to 'Bedtime' via the Living Room Select [input_select.living_room] input select."
},
"human_like": "Sets the living room to bedtime mode by disabling automatic lights and selecting the bedtime scene when the home is occupied, bedtime is active, and the living room is empty.",
"complexity": "medium"
}
},
{
"id": "living_room_christmas_tree_off",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When bedtime status [input_boolean.bedtime] turns on OR When home occupied [binary_sensor.home_occupied] turns off. CONDITIONS: (Living Room Christmas [input_boolean.living_room_christmas] is on AND Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is on) AND (bedtime status [input_boolean.bedtime] is on OR home occupied [binary_sensor.home_occupied] is off). ACTIONS: Turn off Living Room Christmas Tree Switch [switch.living_room_christmas_tree].",
"natural_language": {
"trigger": "The automation triggers when Home Assistant first starts up, when the bedtime status [input_boolean.bedtime] is turned on, or when the home occupied [binary_sensor.home_occupied] sensor indicates the home has become unoccupied.",
"conditions": "For the action to run, the Living Room Christmas [input_boolean.living_room_christmas] toggle must be on, and the Living Room Christmas Tree Switch [switch.living_room_christmas_tree] must also be on. Additionally, either the bedtime status [input_boolean.bedtime] must be on, or the home must be unoccupied (as indicated by home occupied [binary_sensor.home_occupied]).",
"action": "Turns off the Living Room Christmas Tree Switch [switch.living_room_christmas_tree]."
},
"human_like": "Turns off the living room Christmas tree when it's bedtime or when nobody is home, but only if the Christmas mode is active.",
"complexity": "medium"
}
},
{
"id": "living_room_christmas_tree_on",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] turns off OR When any of the following entities turn on: Living Room Occupied [input_boolean.living_room_occupied], home occupied [binary_sensor.home_occupied], downstairs occupied [group.downstairs_occupied], or Living Room Christmas [input_boolean.living_room_christmas] OR When sun sun [sun.sun] sets (state changes to below_horizon). CONDITIONS: (downstairs occupied [group.downstairs_occupied] is on AND home occupied [binary_sensor.home_occupied] is on AND Living Room Christmas [input_boolean.living_room_christmas] is on) AND (Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is off). ACTIONS: Turn on Living Room Christmas Tree Switch [switch.living_room_christmas_tree].",
"natural_language": {
"trigger": "The automation can be triggered in three ways: when the bedtime status [input_boolean.bedtime] is turned off, when any of the occupancy or Christmas mode indicators (Living Room Occupied [input_boolean.living_room_occupied], home occupied [binary_sensor.home_occupied], downstairs occupied [group.downstairs_occupied], or Living Room Christmas [input_boolean.living_room_christmas]) turn on, or when the sun [sun.sun] sets below the horizon.",
"conditions": "For the action to run, several conditions must be met: the downstairs must be occupied (downstairs occupied [group.downstairs_occupied] is on), the home must be occupied (home occupied [binary_sensor.home_occupied] is on), the Christmas mode must be active (Living Room Christmas [input_boolean.living_room_christmas] is on), and the Christmas tree must currently be off (Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is off).",
"action": "The automation turns on the Living Room Christmas Tree Switch [switch.living_room_christmas_tree]."
},
"human_like": "Turns on the living room Christmas tree when it's evening, the house is occupied, and Christmas mode is active, provided the tree is currently off.",
"complexity": "medium"
}
},
{
"id": "living_room_dark_motion",
"result": {
"structured": "TRIGGER: When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] becomes 'on'. CONDITIONS: (home occupied [binary_sensor.home_occupied] is 'on') AND (Lighting Automations [input_boolean.lighting_automations] is 'on') AND (Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is below 5) AND (Living Room Occupied [input_boolean.living_room_occupied] is 'off') AND (Living Room Select [input_select.living_room] is 'Night off' OR 'Off' OR 'Bedtime'). ACTIONS: Turn on Livingroom Lights Auto [input_boolean.livingroom_lights_auto], set Living Room Select [input_select.living_room] to 'Dim', and start Living Room Motion Timer [timer.living_room_motion] for 2 minutes.",
"natural_language": {
"trigger": "When motion is detected in the living room, indicated by the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] turning on.",
"conditions": "If the home is occupied, the Lighting Automations are enabled, the living room light level is below 5 lux, the living room is not marked as occupied, and the living room mode is set to either 'Night off', 'Off', or 'Bedtime'.",
"action": "Enable automatic lighting control for the living room, set the living room lighting mode to 'Dim', and start a two-minute timer to track the motion event."
},
"human_like": "Automatically dims the living room lights when motion is detected in the dark, provided the home is occupied and the room is not already in use.",
"complexity": "medium"
}
},
{
"id": "living_room_dark_no_motion",
"result": {
"structured": "TRIGGER: When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] remains off (no motion) for 5 minutes. CONDITIONS: (Lighting Automations [input_boolean.lighting_automations] is on AND Livingroom Lights Auto [input_boolean.livingroom_lights_auto] is on) AND (Living Room Occupied [input_boolean.living_room_occupied] is off) AND (Living Room Select [input_select.living_room] is Dim). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND set Living Room Select [input_select.living_room] to Off.",
"natural_language": {
"trigger": "When the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor reports no motion for a continuous period of five minutes.",
"conditions": "If the master Lighting Automations [input_boolean.lighting_automations] switch is on, the specific Livingroom Lights Auto [input_boolean.livingroom_lights_auto] switch is also on, the Living Room Occupied [input_boolean.living_room_occupied] indicator is off, and the Living Room Select [input_select.living_room] is currently set to 'Dim'.",
"action": "Disables the automatic lighting control for the living room by turning off the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] switch and changes the living room lighting mode to 'Off' via the Living Room Select [input_select.living_room]."
},
"human_like": "Turns off the dimmed living room lights when no motion is detected for five minutes and the room is not marked as occupied.",
"complexity": "medium"
}
},
{
"id": "living_room_day_on",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Living Room Occupied [input_boolean.living_room_occupied] turns on OR When Lighting Living Room [input_boolean.lighting_living_room] OR Livingroom Lights Auto [input_boolean.livingroom_lights_auto] turns on OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] remains below 13 lux for 5 minutes OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] falls below 11 lux OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] remains above 7 lux for 10 minutes. CONDITIONS: Living Room Occupied [input_boolean.living_room_occupied] is on AND (Living Room Select [input_select.living_room] is NOT set to 'Day on' AND NOT set to 'Night on') AND (Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is between 7 and 13 lux) AND (The trigger was Living Room Occupied [input_boolean.living_room_occupied] OR Lighting Living Room [input_boolean.lighting_living_room] OR (if the trigger was the light sensor, then more than 30 seconds have passed since Living Room Corner Lamp [light.living_room_corner_lamp] last changed)) AND Lighting Living Room [input_boolean.lighting_living_room] is on. ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND Set Living Room Select [input_select.living_room] to 'Day on'.",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when Home Assistant starts up, when an automation is reloaded, when the Living Room Occupied [input_boolean.living_room_occupied] switch is turned on, when either the Lighting Living Room [input_boolean.lighting_living_room] or Livingroom Lights Auto [input_boolean.livingroom_lights_auto] switches are turned on, when the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] reports a value below 13 lux for at least five minutes, when it falls below 11 lux, or when it stays above 7 lux for at least ten minutes.",
"conditions": "For the automation to run, the Living Room Occupied [input_boolean.living_room_occupied] must be on. Additionally, the Living Room Select [input_select.living_room] must not already be set to 'Day on' or 'Night on', and the light level from the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] must be between 7 and 13 lux. The trigger must also be appropriate: it must be either the Living Room Occupied or Lighting Living Room switches, or if the trigger is the light sensor, then the Living Room Corner Lamp [light.living_room_corner_lamp] must not have changed state in the last 30 seconds. Finally, the Lighting Living Room [input_boolean.lighting_living_room] switch must be on.",
"action": "The automation disables the auto-lights mode by turning off the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] switch and sets the living room lighting mode to 'Day on' by updating the Living Room Select [input_select.living_room]."
},
"human_like": "Automatically switches the living room lights to 'Day on' mode when the room is occupied, lighting control is enabled, and the ambient light level is in a suitable range, while preventing unnecessary triggers.",
"complexity": "high"
}
},
{
"id": "living_room_dim",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] changes from on to off. CONDITIONS: (Living Room Occupied [input_boolean.living_room_occupied] is off) AND (Living Room Occupied [input_boolean.living_room_occupied] last changed more than 600 seconds ago) AND (home occupied [binary_sensor.home_occupied] is on) AND (Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is below 4) AND (Living Room Select [input_select.living_room] is Off OR Auto OR Bedtime OR Away) AND (bedtime status [input_boolean.bedtime] is off). ACTIONS: Wait for Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] to become on, with a timeout of 5 minutes. Then, set Living Room Select [input_select.living_room] to Dim.",
"natural_language": {
"trigger": "When the bedtime status [input_boolean.bedtime] is turned off.",
"conditions": "If the Living Room Occupied [input_boolean.living_room_occupied] is off and has been off for more than 10 minutes, the home is occupied [binary_sensor.home_occupied] is on, the light level in the living room [sensor.living_room_light_sensor_illuminance_lux] is below 4 lux, the living room mode [input_select.living_room] is set to Off, Auto, Bedtime, or Away, and the bedtime status [input_boolean.bedtime] is still off.",
"action": "Wait for motion to be detected in the Downstairs Hall [binary_sensor.downstairs_hall_motion_occupancy] for up to 5 minutes, and then change the living room mode [input_select.living_room] to Dim."
},
"human_like": "When bedtime ends, if the living room is unoccupied and dark, it waits for motion in the hall before setting the room to a dimmed lighting mode.",
"complexity": "medium"
}
},
{
"id": "living_room_dim_motion",
"result": {
"structured": "TRIGGER: When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] changes to 'on' OR When Living room door contact [binary_sensor.living_room_door_contact] changes to 'on'. CONDITIONS: home occupied [binary_sensor.home_occupied] is 'on' AND Lighting Automations [input_boolean.lighting_automations] is 'on' AND Living Room Select [input_select.living_room] is 'Dim' AND (adaptive lighting sleep mode living room table [switch.adaptive_lighting_sleep_mode_living_room_table] is 'on' OR adaptive lighting sleep mode living room lamps [switch.adaptive_lighting_sleep_mode_living_room_lamps] is 'on'). ACTIONS: Turn off adaptive lighting sleep mode living room lamps [switch.adaptive_lighting_sleep_mode_living_room_lamps] AND Turn off adaptive lighting sleep mode living room table [switch.adaptive_lighting_sleep_mode_living_room_table].",
"natural_language": {
"trigger": "When motion is detected by the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] or when the Living room door contact [binary_sensor.living_room_door_contact] opens.",
"conditions": "The home must be occupied, as indicated by home occupied [binary_sensor.home_occupied]. Lighting automations must be enabled via Lighting Automations [input_boolean.lighting_automations]. The living room lighting mode must be set to 'Dim' on the Living Room Select [input_select.living_room]. Additionally, at least one of the adaptive lighting sleep mode switches, either for the table or the lamps, must be currently on.",
"action": "Turn off both the adaptive lighting sleep mode for the living room lamps and the table light."
},
"human_like": "Disables the sleep mode for the living room lights when someone enters the room, provided the home is occupied and the lighting mode is set to 'Dim'.",
"complexity": "medium"
}
},
{
"id": "living_room_dim_off",
"result": {
"structured": "TRIGGER: When Living Room Select [input_select.living_room] changes to Dim and remains for 30 minutes OR When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] changes to off and remains for 10 minutes OR When office occupied [input_boolean.office_occupied] changes to on OR When person2 home status [input_boolean.person2_home] changes to off. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND Living Room Select [input_select.living_room] is Dim AND Living Room Occupied [input_boolean.living_room_occupied] is off AND ((Living Room Select [input_select.living_room] is Dim for 30 minutes AND Living room presence occupancy [binary_sensor.living_room_presence_occupancy] is off for 10 minutes) OR (Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is above 4) OR (office occupied [input_boolean.office_occupied] is on) OR (person2 home status [input_boolean.person2_home] is off)). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND set Living Room Select [input_select.living_room] to Off.",
"natural_language": {
"trigger": "The automation can be triggered in four ways: when the Living Room Select [input_select.living_room] is set to 'Dim' and stays that way for 30 minutes; when the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor reports no presence for 10 minutes; when the office occupied [input_boolean.office_occupied] status is turned on; or when the person2 home status [input_boolean.person2_home] is turned off.",
"conditions": "For the automation to run, the Lighting Automations [input_boolean.lighting_automations] master switch must be on, the Living Room Select [input_select.living_room] must currently be set to 'Dim', and the Living Room Occupied [input_boolean.living_room_occupied] status must be off. Additionally, at least one of the following must be true: the 'Dim' mode has been active for 30 minutes while there has been no presence detected for 10 minutes, the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] reports a light level above 4 lux, the office is marked as occupied, or person2 is marked as not home.",
"action": "The automation turns off the automatic lighting control for the living room by switching off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] and changes the room's lighting mode to 'Off' by setting Living Room Select [input_select.living_room] to Off."
},
"human_like": "Turns off the living room's dimmed lights after a period of inactivity, when the office is occupied, or when a specific person leaves home, provided the room is not occupied and lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "living_room_lights_bedtime",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When Living Room Select [input_select.living_room] changes to Bedtime OR When House Select [input_select.house] changes to Bedtime OR When Living Room Select [input_select.living_room] changes to Auto OR When Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Living Room Select [input_select.living_room] is Bedtime OR (Living Room Select [input_select.living_room] is Auto AND House Select [input_select.house] is Bedtime)). ACTIONS: Turn off Living Room Cabinet Light Switch [switch.living_room_cabinet_light], Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps], and Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. Then, while Living Room Light [light.living_room] is on AND the loop iteration count is 5 or less, turn off Living Room Light [light.living_room] with a 5-second transition and wait 7 seconds. Finally, turn on adaptive lighting sleep mode living room lamps [switch.adaptive_lighting_sleep_mode_living_room_lamps] and adaptive lighting sleep mode living room table [switch.adaptive_lighting_sleep_mode_living_room_table].",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when Home Assistant first starts up, when the Living Room Select [input_select.living_room] is set to 'Bedtime', when the House Select [input_select.house] is set to 'Bedtime', when the Living Room Select [input_select.living_room] is set to 'Auto', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "For the automation to run, the Lighting Automations [input_boolean.lighting_automations] must be switched on. Additionally, the Living Room Select [input_select.living_room] must be set to 'Bedtime', or if it is set to 'Auto', then the House Select [input_select.house] must be set to 'Bedtime'.",
"action": "The automation first turns off several switches: the Living Room Cabinet Light Switch [switch.living_room_cabinet_light], the Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps], and the Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. It then enters a loop to gradually turn off the main Living Room Light [light.living_room]. This loop will run up to five times, each time turning the light off with a slow 5-second fade and then waiting 7 seconds, but only if the light is still on. Finally, it turns on the adaptive lighting sleep mode switches: adaptive lighting sleep mode living room lamps [switch.adaptive_lighting_sleep_mode_living_room_lamps] and adaptive lighting sleep mode living room table [switch.adaptive_lighting_sleep_mode_living_room_table]."
},
"human_like": "Sets the living room lights to a bedtime scene by turning off most lights, fading out the main light, and enabling sleep-mode lighting when the house or room is set to bedtime mode.",
"complexity": "medium"
}
},
{
"id": "living_room_lights_day_on",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When Living Room Select [input_select.living_room] changes to Day on OR When House Select [input_select.house] changes to Day on OR When Living Room Select [input_select.living_room] changes to Auto OR When Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Living Room Select [input_select.living_room] is Day on OR (Living Room Select [input_select.living_room] is Auto AND House Select [input_select.house] is Day on)). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto]. Turn on Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps], Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table], and Living Room Cabinet Light Switch [switch.living_room_cabinet_light]. While Living Room TV Lamp [light.living_room_tv_lamp] is off and the attempt count is 5 or less, repeatedly turn on Living Room TV Lamp [light.living_room_tv_lamp] and wait 10 seconds. If Living Room Table Lamp [light.living_room_table_lamp] is on, turn it off with a 5-second transition. If Living Room Corner Lamp [light.living_room_corner_lamp] is on, turn it off with a 5-second transition. If Living Room Christmas [input_boolean.living_room_christmas] is on, turn on Living Room Christmas Tree Switch [switch.living_room_christmas_tree].",
"natural_language": {
"trigger": "The automation can be triggered when Home Assistant first starts, when the Living Room Select [input_select.living_room] is set to 'Day on', when the House Select [input_select.house] is set to 'Day on', when the Living Room Select [input_select.living_room] is set to 'Auto', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "The automation will only run if the Lighting Automations [input_boolean.lighting_automations] switch is on. Additionally, the Living Room Select [input_select.living_room] must be set to 'Day on', or if it is set to 'Auto', then the House Select [input_select.house] must also be set to 'Day on'.",
"action": "The automation first turns off the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] switch. It then turns on several lighting switches: Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps], Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table], and Living Room Cabinet Light Switch [switch.living_room_cabinet_light]. Next, it attempts to turn on the Living Room TV Lamp [light.living_room_tv_lamp] by trying up to five times, waiting 10 seconds between each attempt, but only if the lamp is off. If the Living Room Table Lamp [light.living_room_table_lamp] is currently on, it is turned off with a 5-second fade. Similarly, if the Living Room Corner Lamp [light.living_room_corner_lamp] is on, it is also turned off with a 5-second fade. Finally, if the Living Room Christmas [input_boolean.living_room_christmas] switch is on, the Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is turned on."
},
"human_like": "Activates a daytime lighting scene in the living room by turning on specific lamps and adaptive lighting, while turning off other lamps and optionally a Christmas tree, based on the selected house and room modes.",
"complexity": "high"
}
},
{
"id": "living_room_lights_dim_on",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When Living Room Select [input_select.living_room] changes to Dim OR When House Select [input_select.house] changes to Dim OR When Living Room Select [input_select.living_room] changes to Auto OR When Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Living Room Select [input_select.living_room] is Dim OR (Living Room Select [input_select.living_room] is Auto AND House Select [input_select.house] is Dim)). ACTIONS: Turn on Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] AND Turn on Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. Then, while Living Room Table Lamp [light.living_room_table_lamp] is off AND the repeat index is less than or equal to 5, repeatedly turn on Living Room Table Lamp [light.living_room_table_lamp] and wait 10 seconds.",
"natural_language": {
"trigger": "This automation can be triggered in several ways: when Home Assistant first starts, when the Living Room Select [input_select.living_room] is set to 'Dim', when the House Select [input_select.house] is set to 'Dim', when the Living Room Select [input_select.living_room] is set to 'Auto', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "For the automation to proceed, the Lighting Automations [input_boolean.lighting_automations] must be enabled (set to 'on'). Additionally, either the Living Room Select [input_select.living_room] must be set to 'Dim', or it must be set to 'Auto' while the House Select [input_select.house] is also set to 'Dim'.",
"action": "The automation first turns on two adaptive lighting switches: Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] and Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. It then attempts to turn on the Living Room Table Lamp [light.living_room_table_lamp]. If the lamp does not turn on, it will retry up to five times, waiting 10 seconds between each attempt."
},
"human_like": "Turns on dimmed adaptive lighting for the living room when the house or room is set to a dimmed mode, and ensures the table lamp is on by retrying if needed.",
"complexity": "medium"
}
},
{
"id": "living_room_lights_motion",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR when Living Room Select [input_select.living_room] changes to Motion OR when House Select [input_select.house] changes to Motion OR when Living Room Select [input_select.living_room] changes to Auto OR when Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Living Room Select [input_select.living_room] is Motion OR (Living Room Select [input_select.living_room] is Auto AND House Select [input_select.house] is Motion)). ACTIONS: Turn on Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] AND turn on Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. Then, while Living Room Table Lamp [light.living_room_table_lamp] is off AND the repeat index is less than or equal to 5, repeatedly turn on Living Room Table Lamp [light.living_room_table_lamp] and wait 5 seconds.",
"natural_language": {
"trigger": "The automation triggers when Home Assistant starts up, when the Living Room Select [input_select.living_room] is set to 'Motion' or 'Auto', when the House Select [input_select.house] is set to 'Motion', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] switch is on. Additionally, the Living Room Select [input_select.living_room] must be set to 'Motion', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'Motion'.",
"action": "First, it turns on two adaptive lighting switches: Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] and Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. Then, it attempts to turn on the Living Room Table Lamp [light.living_room_table_lamp], retrying up to five times with a five-second delay between attempts if the lamp remains off."
},
"human_like": "This automation turns on the living room lights using adaptive lighting when motion-based modes are active, and ensures the table lamp is on by retrying if needed.",
"complexity": "medium"
}
},
{
"id": "living_room_lights_night_on",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When Living Room Select [input_select.living_room] changes to 'Night on' OR When House Select [input_select.house] changes to 'Night on' OR When Living Room Select [input_select.living_room] changes to 'Auto' OR When Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Living Room Select [input_select.living_room] is 'Night on' OR (Living Room Select [input_select.living_room] is 'Auto' AND House Select [input_select.house] is 'Night on')). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto]. Turn on Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] and Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. If Living Room Cabinet Light Switch [switch.living_room_cabinet_light] is off, then turn it on. Turn on Living Room Light [light.living_room] with a 2-second transition, brightness percentage from Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] (default 75), and color temperature from Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] (default 5000K). Wait 4 seconds. If Living Room Table Lamp [light.living_room_table_lamp] is off, then repeat turning it on with a 4-second delay between attempts, up to 5 times, until it is on. If Living Room Corner Lamp [light.living_room_corner_lamp] is off, then repeat turning it on with a 4-second delay between attempts, up to 5 times, until it is on. If Living Room TV Lamp [light.living_room_tv_lamp] is off, then repeat turning it on with a 4-second delay between attempts, up to 5 times, until it is on.",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when Home Assistant first starts up, when the Living Room Select [input_select.living_room] is set to 'Night on', when the House Select [input_select.house] is set to 'Night on', when the Living Room Select [input_select.living_room] is set to 'Auto', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "For the automation to run, the Lighting Automations [input_boolean.lighting_automations] must be enabled. Additionally, either the Living Room Select [input_select.living_room] must be set to 'Night on', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'Night on'.",
"action": "The automation performs a sequence of actions to set up the living room lighting for night. First, it disables the 'auto' mode for the living room lights by turning off Livingroom Lights Auto [input_boolean.livingroom_lights_auto]. It then activates the adaptive lighting features for the lamps and table. If the cabinet light is off, it is turned on. The main living room light is turned on with a smooth transition, using brightness and color temperature settings from the adaptive lighting system (with defaults if unavailable). After a brief pause, the automation checks several specific lamps. For each lamp—the table lamp, corner lamp, and TV lamp—if it is found to be off, the automation will attempt to turn it on. It will try up to five times, waiting four seconds between each attempt, until the lamp successfully turns on."
},
"human_like": "Turns on a specific set of living room lights for a 'Night on' scene, using adaptive lighting settings and ensuring all lamps are on, even if they need multiple attempts.",
"complexity": "high"
}
},
{
"id": "living_room_lights_off",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When Living Room Select [input_select.living_room] OR House Select [input_select.house] changes to Off OR Away OR When Living Room Select [input_select.living_room] OR House Select [input_select.house] remains Off OR Away for 10 minutes OR When House Select [input_select.house] changes to Auto. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Living Room Select [input_select.living_room] is Off OR Living Room Select [input_select.living_room] is Away OR (Living Room Select [input_select.living_room] is Auto AND (House Select [input_select.house] is Off OR House Select [input_select.house] is Away))). ACTIONS: Turn off Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] AND Turn off Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. IF Living Room Cabinet Light Switch [switch.living_room_cabinet_light] is on THEN Turn off Living Room Cabinet Light Switch [switch.living_room_cabinet_light]. IF Living Room Light [light.living_room] is on THEN REPEAT (Turn off Living Room Light [light.living_room] with a 5-second transition AND Wait 7 seconds) WHILE Living Room Light [light.living_room] is on AND repeat count is less than or equal to 5. IF Living Room Christmas [input_boolean.living_room_christmas] is off AND Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is on THEN Turn off Living Room Christmas Tree Switch [switch.living_room_christmas_tree].",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when Home Assistant first starts up, when either the Living Room Select [input_select.living_room] or the House Select [input_select.house] is set to 'Off' or 'Away', when either of those selectors remains in the 'Off' or 'Away' state for 10 minutes, or when the House Select [input_select.house] is set to 'Auto'.",
"conditions": "For the automation to run, the Lighting Automations [input_boolean.lighting_automations] must be turned on. Additionally, the living room must be in a state where lights should be off. This is true if the Living Room Select [input_select.living_room] is set to 'Off' or 'Away', or if it is set to 'Auto' and the House Select [input_select.house] is set to either 'Off' or 'Away'.",
"action": "The automation turns off the main lighting switches: Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] and Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. It then checks and turns off the Living Room Cabinet Light Switch [switch.living_room_cabinet_light] if it is on. Next, if the main Living Room Light [light.living_room] is on, it attempts to turn it off with a gentle 5-second transition, waiting 7 seconds between attempts, and will try this up to 5 times until the light is off. Finally, if the Living Room Christmas [input_boolean.living_room_christmas] mode is off but the Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is on, it will turn off the Christmas tree."
},
"human_like": "Turns off all the lights in the living room, including the Christmas tree if not in holiday mode, when the house or room is set to an 'Away', 'Off', or 'Auto' state.",
"complexity": "high"
}
},
{
"id": "living_room_lights_on_when_off",
"result": {
"structured": "TRIGGER: When any of Living Room Table Lamp [light.living_room_table_lamp], Living Room TV Lamp [light.living_room_tv_lamp], Living Room Corner Lamp [light.living_room_corner_lamp], Living Room Christmas Tree Switch [switch.living_room_christmas_tree], or Living Room Cabinet Light Switch [switch.living_room_cabinet_light] turns on and remains on for 30 seconds. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Living Room Select [input_select.living_room] is Off OR Away OR Bedtime OR (Living Room Select [input_select.living_room] is Auto AND (House Select [input_select.house] is Off OR Away OR Bedtime))). ACTIONS: Turn off Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] AND Turn off Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. If Living Room Cabinet Light Switch [switch.living_room_cabinet_light] is on, then turn it off. If Living Room Light [light.living_room] is on, then turn it off. If Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is on AND Living Room Christmas [input_boolean.living_room_christmas] is off, then turn off Living Room Christmas Tree Switch [switch.living_room_christmas_tree]; otherwise, turn off the specific entity that triggered the automation.",
"natural_language": {
"trigger": "When any of the Living Room Table Lamp [light.living_room_table_lamp], Living Room TV Lamp [light.living_room_tv_lamp], Living Room Corner Lamp [light.living_room_corner_lamp], Living Room Christmas Tree Switch [switch.living_room_christmas_tree], or Living Room Cabinet Light Switch [switch.living_room_cabinet_light] turns on and stays on for 30 seconds.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be enabled. Additionally, the Living Room Select [input_select.living_room] must be set to 'Off', 'Away', or 'Bedtime'. Alternatively, if the Living Room Select is set to 'Auto', then the House Select [input_select.house] must be set to 'Off', 'Away', or 'Bedtime'.",
"action": "First, turn off the Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] and Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. Then, if the Living Room Cabinet Light Switch [switch.living_room_cabinet_light] is on, turn it off. Next, if the main Living Room Light [light.living_room] is on, turn it off. Finally, if the Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is on and the Living Room Christmas [input_boolean.living_room_christmas] setting is off, turn off the Christmas tree. If the Christmas tree condition is not met, the automation will turn off the specific light or switch that triggered the automation."
},
"human_like": "Ensures that when certain living room lights are turned on while the room or house is in an 'Off', 'Away', or 'Bedtime' mode, they are automatically turned off, helping to conserve energy and maintain the desired lighting scene.",
"complexity": "medium"
}
},
{
"id": "living_room_lights_wake_on",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When Living Room Select [input_select.living_room] changes to Wake OR When House Select [input_select.house] changes to Wake OR When Living Room Select [input_select.living_room] changes to Auto OR When Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Living Room Select [input_select.living_room] is Wake OR (Living Room Select [input_select.living_room] is Auto AND House Select [input_select.house] is Wake)). ACTIONS: Turn on Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] AND Turn on Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. THEN, while Living Room Table Lamp [light.living_room_table_lamp] is off AND the loop has repeated 5 times or fewer, turn on Living Room Table Lamp [light.living_room_table_lamp] and wait 10 seconds.",
"natural_language": {
"trigger": "The automation triggers when Home Assistant starts up, when the Living Room Select [input_select.living_room] is set to 'Wake', when the House Select [input_select.house] is set to 'Wake', when the Living Room Select [input_select.living_room] is set to 'Auto', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] switch is on. Additionally, the Living Room Select [input_select.living_room] must be set to 'Wake', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'Wake'.",
"action": "First, it turns on the Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] and the Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. Then, it attempts to turn on the Living Room Table Lamp [light.living_room_table_lamp]. If the lamp is off, it will try up to five times, waiting 10 seconds between each attempt, until the lamp is successfully turned on."
},
"human_like": "Turns on the living room's adaptive lighting and ensures the table lamp is on when the house or living room is in 'Wake' mode, or when automations are enabled.",
"complexity": "medium"
}
},
{
"id": "living_room_mode_motion",
"result": {
"structured": "TRIGGER: When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] becomes 'on' OR Living room door contact [binary_sensor.living_room_door_contact] becomes 'on'. CONDITIONS: (home occupied [binary_sensor.home_occupied] is 'on' OR Lighting Automations [input_boolean.lighting_automations] is 'on') AND Living Room Occupied [input_boolean.living_room_occupied] is 'off' AND Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is below 2 AND Living Room Select [input_select.living_room] is 'Night off' OR 'Off' OR 'Bedtime'. ACTIONS: Turn on Livingroom Lights Auto [input_boolean.livingroom_lights_auto], set Living Room Select [input_select.living_room] to 'Motion', and start Living Room Motion Timer [timer.living_room_motion] for 2 minutes.",
"natural_language": {
"trigger": "When motion is detected by the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] or the Living room door contact [binary_sensor.living_room_door_contact] opens.",
"conditions": "The home must be marked as occupied or lighting automations must be enabled. The Living Room Occupied [input_boolean.living_room_occupied] status must be off, indicating the room is not manually set as occupied. The Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] must report a light level below 2 lux, meaning it's dark. Finally, the Living Room Select [input_select.living_room] mode must be set to either 'Night off', 'Off', or 'Bedtime'.",
"action": "The automation enables automatic lighting control by turning on Livingroom Lights Auto [input_boolean.livingroom_lights_auto], changes the room mode to 'Motion' via the Living Room Select [input_select.living_room], and starts a 2-minute timer called Living Room Motion Timer [timer.living_room_motion]."
},
"human_like": "Automatically switches the living room to motion-controlled lighting mode when someone enters the dark room, but only if the house is occupied and the room isn't already marked as manually occupied.",
"complexity": "medium"
}
},
{
"id": "living_room_mode_motion_off",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] remains off for 2 minutes OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] rises above 4 lux OR When Living Room Select [input_select.living_room] remains set to 'Motion' for 5 minutes. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND Living Room Select [input_select.living_room] is set to 'Motion' AND (Living room presence occupancy [binary_sensor.living_room_presence_occupancy] is off for 2 minutes OR Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is above 4 lux). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND Set Living Room Select [input_select.living_room] to 'Off'.",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when Home Assistant starts up, when any automation is reloaded, when the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor reports no occupancy for at least two minutes, when the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] detects a light level above 4 lux, or when the Living Room Select [input_select.living_room] mode has been set to 'Motion' for a continuous period of five minutes.",
"conditions": "For the actions to run, the Lighting Automations [input_boolean.lighting_automations] master switch must be on, and the Living Room Select [input_select.living_room] must be in 'Motion' mode. Additionally, at least one of these two conditions must be true: either the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] has been reporting no motion for two minutes, or the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is reading a light level greater than 4 lux.",
"action": "The automation disables automatic lighting control by turning off the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] switch and changes the room mode by setting the Living Room Select [input_select.living_room] to 'Off'."
},
"human_like": "Turns off automatic lighting and switches the living room out of 'Motion' mode when the room is unoccupied or well-lit, ensuring lights aren't left on unnecessarily.",
"complexity": "medium"
}
},
{
"id": "living_room_movement",
"result": {
"structured": "TRIGGER: When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] changes to on. CONDITIONS: (Livingroom Lights Auto [input_boolean.livingroom_lights_auto] is on) AND (Living Room Motion Timer [timer.living_room_motion] is active). ACTIONS: Cancel Living Room Motion Timer [timer.living_room_motion] AND start Living Room Motion Timer [timer.living_room_motion] with a duration of 2 minutes.",
"natural_language": {
"trigger": "When motion is detected in the living room, indicated by the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor turning on.",
"conditions": "The automation only runs if the automatic lighting control for the living room is enabled, which is indicated by the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] being on, and if the Living Room Motion Timer [timer.living_room_motion] is currently running.",
"action": "The automation resets the motion timer by first cancelling the current Living Room Motion Timer [timer.living_room_motion] and then immediately restarting it for a fresh 2-minute duration."
},
"human_like": "Resets the living room motion timer whenever motion is detected, as long as automatic lighting is enabled.",
"complexity": "low"
}
},
{
"id": "living_room_night_on",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Living Room Occupied [input_boolean.living_room_occupied] turns on OR When Livingroom Lights Auto [input_boolean.livingroom_lights_auto] OR Lighting Living Room [input_boolean.lighting_living_room] turns on OR When Living Room Christmas Tree Switch [switch.living_room_christmas_tree] turns on OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] remains below 8 lux for 2 minutes OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] remains below 6 lux for 1 minute OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] falls below 5 lux OR When Hue dimmer action event [event.hue_dimmer_action] changes to null. CONDITIONS: Living Room Occupied [input_boolean.living_room_occupied] is on AND (Lighting Living Room [input_boolean.lighting_living_room] is on OR (the trigger is the remote and the action was an up_press)) AND Living Room Select [input_select.living_room] is NOT set to 'Night on' AND Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is below 8 lux AND (the trigger is Living Room Occupied [input_boolean.living_room_occupied] OR the trigger is Lighting Living Room [input_boolean.lighting_living_room] OR (the trigger is the light sensor AND more than 30 seconds have passed since Living Room Corner Lamp [light.living_room_corner_lamp] last changed)). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto]; Set Living Room Select [input_select.living_room] to 'Night on'; If Lighting Living Room [input_boolean.lighting_living_room] is off, wait 5 seconds and then turn it on.",
"natural_language": {
"trigger": "This automation can start when Home Assistant boots up, when an automation is reloaded, when the Living Room Occupied [input_boolean.living_room_occupied] switch turns on, when either the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] or Lighting Living Room [input_boolean.lighting_living_room] switch turns on, when the Living Room Christmas Tree Switch [switch.living_room_christmas_tree] is turned on, when the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] stays below 8 lux for two minutes, stays below 6 lux for one minute, or simply drops below 5 lux, or when a Hue dimmer remote button is pressed (detected as the Hue dimmer action event [event.hue_dimmer_action] changing to null).",
"conditions": "For the automation to proceed, the Living Room Occupied [input_boolean.living_room_occupied] must be on. Additionally, either the Lighting Living Room [input_boolean.lighting_living_room] switch must be on, or the trigger must be a specific 'up_press' action from the Hue dimmer remote. The Living Room Select [input_select.living_room] must not already be set to 'Night on'. The light level from the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] must be below 8 lux. Finally, the trigger must be either the occupancy switch, the main lighting switch, or a change in the light sensor that occurs more than 30 seconds after the Living Room Corner Lamp [light.living_room_corner_lamp] was last adjusted.",
"action": "The automation first turns off the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] switch. It then sets the Living Room Select [input_select.living_room] to the 'Night on' mode. Finally, it checks if the main Lighting Living Room [input_boolean.lighting_living_room] switch is off; if it is, it waits for five seconds and then turns it on."
},
"human_like": "Activates a cozy 'Night on' lighting scene in the living room when it's occupied, dark, and triggered by various events like motion, a remote, or low light levels.",
"complexity": "high"
}
},
{
"id": "living_room_not_occupied",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation_reloaded event occurs OR When Sky Q Living Room [media_player.sky_q_living_room] remains off for 1 minute OR When Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] remains off for 1 minute OR When Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] remains off OR unavailable for 5 minutes OR When Living Room TV [media_player.living_room_tv] becomes unavailable OR When Living Room TV [media_player.living_room_tv] remains unavailable for 5 minutes OR When living room media player [media_player.living_room] remains paused for 3 minutes OR When living room media player [media_player.living_room] remains idle for 3 minutes OR When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] remains off for 1 minute. CONDITIONS: (Living Room Occupied [input_boolean.living_room_occupied] is on) AND (Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] is off OR unavailable OR standby) AND (living room media player [media_player.living_room] is paused OR idle) AND (Living room presence occupancy [binary_sensor.living_room_presence_occupancy] is off). ACTIONS: Turn off Living Room Occupied [input_boolean.living_room_occupied], wait 1 second, then turn on Lighting Living Room [input_boolean.lighting_living_room].",
"natural_language": {
"trigger": "The automation can be triggered by several events: when Home Assistant starts up, when automations are reloaded, when the Sky Q Living Room [media_player.sky_q_living_room] has been off for a minute, when the Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] has been off for a minute or off/unavailable for five minutes, when the Living Room TV [media_player.living_room_tv] becomes unavailable or stays unavailable for five minutes, when the living room media player [media_player.living_room] is paused or idle for three minutes, or when the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor reports no presence for a minute.",
"conditions": "For the automation to proceed, the following must all be true: the Living Room Occupied [input_boolean.living_room_occupied] flag is set to on, the Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] is either off, unavailable, or in standby, the living room media player [media_player.living_room] is either paused or idle, and the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor is not detecting anyone.",
"action": "The automation marks the room as unoccupied by turning off the Living Room Occupied [input_boolean.living_room_occupied] input boolean. After a one-second delay, it turns on the Lighting Living Room [input_boolean.lighting_living_room] input boolean."
},
"human_like": "This automation marks the living room as unoccupied and adjusts lighting when all media players are off or idle and no presence is detected for a set time.",
"complexity": "medium"
}
},
{
"id": "living_room_occupied",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] turns on OR When Sky Q Living Room [media_player.sky_q_living_room] OR Living Room TV [media_player.living_room_tv] starts playing or buffering (id: playing) OR When living room media player [media_player.living_room] starts playing or buffering (id: sonos) OR When Living Room TV [media_player.living_room_tv] OR living room media player [media_player.living_room] OR Sky Q Living Room [media_player.sky_q_living_room] remains in playing or buffering state for 5 minutes OR When Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] turns on OR When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] turns on. CONDITIONS: (Living Room Occupied [input_boolean.living_room_occupied] is off) AND ((Living room presence occupancy [binary_sensor.living_room_presence_occupancy] last changed less than 180 seconds ago) OR (bedtime status [input_boolean.bedtime] is off)) AND ((Trigger id is playing) OR (Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] is on AND Sky Q Living Room [media_player.sky_q_living_room] is playing or buffering) OR (living room media player [media_player.living_room] OR Living Room TV [media_player.living_room_tv] is playing or buffering or off (match any))). ACTIONS: Turn off adaptive lighting sleep mode living room lamps [switch.adaptive_lighting_sleep_mode_living_room_lamps] AND Turn off adaptive lighting sleep mode living room table [switch.adaptive_lighting_sleep_mode_living_room_table] AND Turn on Living Room Occupied [input_boolean.living_room_occupied] AND Turn on Lighting Living Room [input_boolean.lighting_living_room].",
"natural_language": {
"trigger": "The automation can be triggered by several events: when Home Assistant starts up, when any automation is reloaded, when the Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] is turned on, when either the Sky Q Living Room [media_player.sky_q_living_room] or Living Room TV [media_player.living_room_tv] starts playing or buffering, when the living room media player [media_player.living_room] starts playing or buffering, when any of the living room media players (Living Room TV, living room media player, or Sky Q Living Room) remain in a playing or buffering state for five minutes, or when the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor detects occupancy.",
"conditions": "For the automation to run, the Living Room Occupied [input_boolean.living_room_occupied] status must be off. Additionally, either the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] must have detected occupancy within the last three minutes, or the bedtime status [input_boolean.bedtime] must be off. Finally, one of the following media conditions must be true: the specific trigger for the Sky Q or Living Room TV playing was activated, or the Lounge TCL Roku TV is on and the Sky Q Living Room is playing or buffering, or either the living room media player or the Living Room TV is in a state of playing, buffering, or off.",
"action": "The automation will turn off the adaptive lighting sleep modes for the living room lamps and table, and then mark the living room as occupied by turning on both the Living Room Occupied and Lighting Living Room status indicators."
},
"human_like": "This automation marks the living room as occupied and adjusts the lighting when media starts playing or occupancy is detected, ensuring it doesn't run during bedtime unless there's recent activity.",
"complexity": "high"
}
},
{
"id": "living_room_off",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded (automation_reloaded event) OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 65 lux OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 60 lux for 1 minute OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 55 lux for 1 minute 30 seconds OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 50 lux for 2 minutes OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 45 lux for 2 minutes 30 seconds OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 40 lux for 3 minutes OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 35 lux for 3 minutes 30 seconds OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 30 lux for 4 minutes OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 25 lux for 4 minutes 30 seconds OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 22 lux for 5 minutes OR When Living Room Occupied [input_boolean.living_room_occupied] changes to off OR When home occupied [binary_sensor.home_occupied] changes to on. CONDITIONS: home occupied [binary_sensor.home_occupied] is on AND Living Room Select [input_select.living_room] is not set to 'Off' or 'Bedtime' AND (Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 50 lux OR (Living Room Occupied [input_boolean.living_room_occupied] is off AND bedtime status [input_boolean.bedtime] is off) OR (Trend sun elevation [binary_sensor.trend_sun_elevation] is on AND Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] exceeds 20 lux)). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND Set Living Room Select [input_select.living_room] to 'Off'.",
"natural_language": {
"trigger": "This automation can be triggered in several ways: when Home Assistant starts up, when any automation is reloaded, when the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] reports a light level above 65 lux, or when it remains above a series of lower thresholds (from 60 down to 22 lux) for progressively longer durations (from 1 minute to 5 minutes). It also triggers if the Living Room Occupied [input_boolean.living_room_occupied] status changes to off, or if the home occupied [binary_sensor.home_occupied] status changes to on.",
"conditions": "For the automation to run, the home must be marked as occupied, the Living Room Select [input_select.living_room] must not be set to 'Off' or 'Bedtime'. Additionally, one of the following must be true: the light level is above 50 lux, or the living room is not occupied and it is not bedtime, or the sun is considered elevated and the light level is above 20 lux.",
"action": "The automation will disable automatic light control by turning off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] and set the living room mode to 'Off' via the Living Room Select [input_select.living_room]."
},
"human_like": "Turns off the living room lights and disables automatic lighting when the room is bright enough, unoccupied, or when the home status changes, ensuring lights aren't on unnecessarily.",
"complexity": "high"
}
},
{
"id": "living_room_off_empty",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Living Room Occupied [input_boolean.living_room_occupied] changes to off. CONDITIONS: home occupied [binary_sensor.home_occupied] is on AND Living Room Select [input_select.living_room] is not set to 'Off' AND Living Room Occupied [input_boolean.living_room_occupied] is off. ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND Set Living Room Select [input_select.living_room] to 'Off'.",
"natural_language": {
"trigger": "The automation can be triggered in three ways: when Home Assistant first starts up, when any automation is reloaded, or when the Living Room Occupied [input_boolean.living_room_occupied] status changes to off.",
"conditions": "For the actions to run, the home must be occupied (home occupied [binary_sensor.home_occupied] is on), the Living Room Select [input_select.living_room] must not already be set to 'Off', and the Living Room Occupied [input_boolean.living_room_occupied] must be off.",
"action": "The automation will turn off the automatic lighting control for the living room (Livingroom Lights Auto [input_boolean.livingroom_lights_auto]) and set the living room mode selector (Living Room Select [input_select.living_room]) to 'Off'."
},
"human_like": "Turns off the living room's automatic lighting and sets the room mode to 'Off' when the room is unoccupied and the home is occupied.",
"complexity": "medium"
}
},
{
"id": "living_room_override",
"result": {
"structured": "TRIGGER: When Living Room Corner Lamp [light.living_room_corner_lamp] turns off OR Living Room TV Lamp [light.living_room_tv_lamp] turns off OR Living Room Table Lamp [light.living_room_table_lamp] turns off OR Living Room Cabinet Light Switch [switch.living_room_cabinet_light] turns off. CONDITIONS: (Living Room Select [input_select.living_room] is 'Night on' AND (Living Room Corner Lamp [light.living_room_corner_lamp] is off OR Living Room Cabinet Light Switch [switch.living_room_cabinet_light] is off OR Living Room TV Lamp [light.living_room_tv_lamp] is off OR Living Room Table Lamp [light.living_room_table_lamp] is off)) OR (Living Room Select [input_select.living_room] is 'Day on' AND (Living Room Cabinet Light Switch [switch.living_room_cabinet_light] is off OR Living Room TV Lamp [light.living_room_tv_lamp] is off)). ACTIONS: Set Living Room Select [input_select.living_room] to 'Off' AND Turn off Lighting Living Room [input_boolean.lighting_living_room].",
"natural_language": {
"trigger": "When any of the Living Room Corner Lamp [light.living_room_corner_lamp], Living Room TV Lamp [light.living_room_tv_lamp], Living Room Table Lamp [light.living_room_table_lamp], or Living Room Cabinet Light Switch [switch.living_room_cabinet_light] turns off.",
"conditions": "If the Living Room Select [input_select.living_room] is set to 'Night on' and at least one of the Living Room Corner Lamp, Living Room Cabinet Light Switch, Living Room TV Lamp, or Living Room Table Lamp is off. Alternatively, if the Living Room Select is set to 'Day on' and at least one of the Living Room Cabinet Light Switch or the Living Room TV Lamp is off.",
"action": "Changes the Living Room Select [input_select.living_room] to 'Off' and turns off the Lighting Living Room [input_boolean.lighting_living_room] input boolean."
},
"human_like": "Resets the living room lighting mode to 'Off' and disables the lighting automation when specific lights are turned off while the room is in a 'Day on' or 'Night on' mode.",
"complexity": "medium"
}
},
{
"id": "living_room_sleep_mode",
"result": {
"structured": "TRIGGER: When the time is 22:00:00. CONDITIONS: Living Room Light [light.living_room] is on. ACTIONS: Turn off Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] AND Turn off Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table]. THEN Turn on adaptive lighting sleep mode living room lamps [switch.adaptive_lighting_sleep_mode_living_room_lamps] AND Turn on adaptive lighting sleep mode living room table [switch.adaptive_lighting_sleep_mode_living_room_table]. THEN Turn on Living Room Light [light.living_room] with brightness 1% and a 5-second transition. THEN Wait for 5 seconds. THEN Turn on Adaptive Lighting Living Room Lamps [switch.adaptive_lighting_living_room_lamps] AND Turn on Adaptive Lighting Living Room Table [switch.adaptive_lighting_living_room_table].",
"natural_language": {
"trigger": "At 10:00 PM every day.",
"conditions": "The Living Room Light [light.living_room] must be turned on.",
"action": "First, it turns off the regular adaptive lighting for the lamps and table. Then, it activates the sleep mode adaptive lighting for the same fixtures. Next, it dims the main Living Room Light [light.living_room] to 1% brightness over 5 seconds. After a 5-second delay, it turns the regular adaptive lighting for the lamps and table back on."
},
"human_like": "At bedtime, this automation gently dims the living room lights and switches to a sleep-friendly lighting mode, then restores normal adaptive lighting.",
"complexity": "medium"
}
},
{
"id": "living_room_table_light_unavailable_off",
"result": {
"structured": "TRIGGER: When Living Room Table Lamp [light.living_room_table_lamp] changes from unavailable to off. CONDITIONS: (Living Room Select [input_select.living_room] is Dim) OR (Living Room Select [input_select.living_room] is Night on). ACTIONS: Turn on Living Room Table Lamp [light.living_room_table_lamp] with a transition of 3 seconds.",
"natural_language": {
"trigger": "When the Living Room Table Lamp [light.living_room_table_lamp] becomes available again, transitioning from an 'unavailable' state to an 'off' state.",
"conditions": "If the Living Room Select [input_select.living_room] is currently set to either 'Dim' or 'Night on' mode.",
"action": "Turns on the Living Room Table Lamp [light.living_room_table_lamp] with a smooth 3-second fade-in transition."
},
"human_like": "Ensures the living room table lamp turns on smoothly when it becomes available again, but only if the room is in a dim or night lighting mode.",
"complexity": "low"
}
},
{
"id": "living_room_table_light_unavailable_on",
"result": {
"structured": "TRIGGER: When Living Room Table Lamp [light.living_room_table_lamp] changes from unavailable to on. CONDITIONS: (Living Room Select [input_select.living_room] is Off) OR (Living Room Select [input_select.living_room] is Away) OR (Living Room Select [input_select.living_room] is Day on). ACTIONS: Turn off Living Room Table Lamp [light.living_room_table_lamp] with a 3-second transition.",
"natural_language": {
"trigger": "When the Living Room Table Lamp [light.living_room_table_lamp] becomes available and turns on after being in an unavailable state.",
"conditions": "If the Living Room Select [input_select.living_room] is set to 'Off', 'Away', or 'Day on'.",
"action": "Turns off the Living Room Table Lamp [light.living_room_table_lamp] with a smooth 3-second fade."
},
"human_like": "Ensures the living room table lamp stays off when the room is set to a mode where it shouldn't be on, turning it off if it becomes available while in an undesired state.",
"complexity": "medium"
}
},
{
"id": "living_room_table_off",
"result": {
"structured": "TRIGGER: When Living Room Table Lamp [light.living_room_table_lamp] changes from unavailable to off. CONDITIONS: (Living Room Select [input_select.living_room] is Dim) OR (Living Room Select [input_select.living_room] is Night on). ACTIONS: Turn on Living Room Table Lamp [light.living_room_table_lamp] with a transition of 15 seconds.",
"natural_language": {
"trigger": "When the Living Room Table Lamp [light.living_room_table_lamp] becomes available and reports an 'off' state.",
"conditions": "If the Living Room Select [input_select.living_room] is set to either 'Dim' or 'Night on' mode.",
"action": "Turns the Living Room Table Lamp [light.living_room_table_lamp] back on, using a smooth 15-second transition."
},
"human_like": "Ensures the living room table lamp stays on in dim or night modes if it accidentally turns off.",
"complexity": "low"
}
},
{
"id": "living_room_table_on",
"result": {
"structured": "TRIGGER: When Living Room Table Lamp [light.living_room_table_lamp] changes from unavailable to on. CONDITIONS: (Living Room Select [input_select.living_room] is Day off OR Living Room Select [input_select.living_room] is Day on OR Living Room Select [input_select.living_room] is Away). ACTIONS: Turn off Living Room Table Lamp [light.living_room_table_lamp].",
"natural_language": {
"trigger": "When the Living Room Table Lamp [light.living_room_table_lamp] becomes available and turns on.",
"conditions": "If the Living Room Select [input_select.living_room] is set to 'Day off', 'Day on', or 'Away'.",
"action": "Turns off the Living Room Table Lamp [light.living_room_table_lamp]."
},
"human_like": "Turns off the living room table lamp if it turns on while the living room mode is set to Day off, Day on, or Away.",
"complexity": "medium"
}
},
{
"id": "living_room_wake_off",
"result": {
"structured": "TRIGGER: When Living Room Select [input_select.living_room] changes to Wake and remains for 30 minutes OR When Living room presence occupancy [binary_sensor.living_room_presence_occupancy] changes to off and remains for 30 minutes OR When office occupied [input_boolean.office_occupied] changes to on OR When person2 home status [input_boolean.person2_home] changes to off OR When Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is above 8. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND Living Room Select [input_select.living_room] is Wake AND Living Room Occupied [input_boolean.living_room_occupied] is off AND ((Living Room Select [input_select.living_room] is Wake for 30 minutes AND Living room presence occupancy [binary_sensor.living_room_presence_occupancy] is off for 30 minutes) OR (Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is above 8) OR (office occupied [input_boolean.office_occupied] is on) OR (person2 home status [input_boolean.person2_home] is off)). ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] AND set Living Room Select [input_select.living_room] to Off.",
"natural_language": {
"trigger": "The automation can be triggered in several ways: if the Living Room Select [input_select.living_room] is set to 'Wake' and stays that way for 30 minutes; if the Living room presence occupancy [binary_sensor.living_room_presence_occupancy] sensor reports no occupancy for 30 minutes; if the office occupied [input_boolean.office_occupied] status is turned on; if the person2 home status [input_boolean.person2_home] is turned off; or if the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] detects a light level above 8 lux.",
"conditions": "For the automation to run, the Lighting Automations [input_boolean.lighting_automations] master switch must be on, the Living Room Select [input_select.living_room] must currently be set to 'Wake', and the Living Room Occupied [input_boolean.living_room_occupied] status must be off. Additionally, at least one of the following must be true: the 'Wake' mode and no occupancy have both been stable for 30 minutes, the light level is above 8 lux, the office is marked as occupied, or person2 is marked as not home.",
"action": "The automation will disable automatic lighting control by turning off Livingroom Lights Auto [input_boolean.livingroom_lights_auto] and change the living room mode to 'Off' by setting Living Room Select [input_select.living_room] to Off."
},
"human_like": "Turns off the 'Wake' lighting mode and automatic lights in the living room when the room is unoccupied, the office is occupied, person2 leaves, or it's bright enough, ensuring lighting automations are enabled.",
"complexity": "high"
}
},
{
"id": "awtrix_location_update",
"result": {
"structured": "TRIGGER: When Person Person3 Text [input_text.person_person3] changes state OR when Person Person1 Text [input_text.person_person1] changes state. CONDITIONS: office occupied [input_boolean.office_occupied] is on. ACTIONS: If the trigger is from Person Person3 Text [input_text.person_person3] AND person3 home status [input_boolean.person3_home] is off, then send a notification to awtrix 6d6f50 [notify.awtrix_6d6f50] with the message 'person3 is [current state of input_text.person_person3]', icon 14717, pushIcon 2, and repeat 1. Otherwise, if the trigger is from Person Person1 Text [input_text.person_person1] AND Person1 Home [input_boolean.person1_home] is off, then send a notification to awtrix 6d6f50 [notify.awtrix_6d6f50] with the message 'person1 is [current state of input_text.person_person1]', icon 14717, pushIcon 2, and repeat 1.",
"natural_language": {
"trigger": "The automation triggers whenever the text input for Person Person3 Text [input_text.person_person3] or Person Person1 Text [input_text.person_person1] changes.",
"conditions": "The automation only runs if the office is marked as occupied, meaning the input boolean office occupied [input_boolean.office_occupied] is on.",
"action": "Depending on which person's text input triggered the automation, it will send a notification to the Awtrix device. If the trigger was for person3 and their home status is off, it sends a notification stating person3's location. If the trigger was for person1 and their home status is off, it sends a notification stating person1's location. The notification includes a specific icon and display settings."
},
"human_like": "When someone's location text updates and the office is occupied, this automation sends a notification to the Awtrix device showing where that person is, but only if they are marked as not being at home.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_button_pushed",
"result": {
"structured": "TRIGGER: When Master bedroom button action event [event.master_bedroom_button_action] OR Master bedroom button R action event [event.master_bedroom_button_r_action] changes state. CONDITIONS: None. ACTIONS: Based on the trigger event type, perform a conditional selection: If the event type is 'single', then: If Master Bedroom Select [input_select.master_bedroom] state is 'On', 'Bedtime', 'Motion', 'Wake', or 'Auto', set it to 'Off'. Else if Master Bedroom Select [input_select.master_bedroom] state is 'Off' or 'Motion', set it to 'On'. Otherwise, set it to 'On'. If the event type is 'double', then: If Master Bedroom Select [input_select.master_bedroom] state is 'Bedtime', set it to 'On'. Otherwise, set it to 'Bedtime'. If the event type is 'hold', then: If Master Bedroom Select [input_select.master_bedroom] state is 'Sleeping', set it to 'Off'. Otherwise, set it to 'Sleeping'. If the event type is 'release', then: Turn on NOP Script [script.nop]. For any other event type, set Master Bedroom Select [input_select.master_bedroom] to 'On' and send a debug notification to Debug Log Notify [notify.debug_log].",
"natural_language": {
"trigger": "When either the Master bedroom button action event [event.master_bedroom_button_action] or the Master bedroom button R action event [event.master_bedroom_button_r_action] is activated.",
"conditions": "There are no explicit conditions that must be met before the actions run.",
"action": "The automation reacts differently depending on the button press type. A single press toggles the Master Bedroom Select [input_select.master_bedroom] between 'On' and 'Off', with some specific logic for other states. A double press sets the mode to 'Bedtime', unless it's already 'Bedtime', in which case it sets it to 'On'. A long press sets the mode to 'Sleeping', unless it's already 'Sleeping', in which case it sets it to 'Off'. A button release runs a no-operation script. If the button press type is anything else, it sets the mode to 'On' and logs the event details for debugging."
},
"human_like": "Controls the master bedroom's mode (like On, Off, Bedtime, Sleeping) using different button press actions on the room's smart button.",
"complexity": "high"
}
},
{
"id": "master_bedroom_cube",
"result": {
"structured": "TRIGGER: When Master bedroom cube action event [event.master_bedroom_cube_action] state changes. ACTIONS: Based on the event type and conditions, perform one of the following: 1. If event_type is 'wakeup' AND Master Bedroom Select [input_select.master_bedroom] is 'Off' OR 'Auto' AND person2 is awake [input_boolean.person2_is_awake] is off AND Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is on AND Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] is below 20 lux, then set Master Bedroom Select [input_select.master_bedroom] to 'Bedtime'. 2. If event_type is 'tap' OR 'flip' is in the state, then: A. If Master Bedroom Select [input_select.master_bedroom] is 'On', 'Bedtime', 'Wake', or 'Auto' AND Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] is below 20 lux, set Master Bedroom Select [input_select.master_bedroom] to 'Off'. B. Else if Master Bedroom Select [input_select.master_bedroom] is 'Off', 'Motion', or 'Auto', set Master Bedroom Select [input_select.master_bedroom] to 'On'. C. Else if Master Bedroom Select [input_select.master_bedroom] is 'Auto' AND Master Bedroom Bedhead Light [light.master_bedroom_bedhead] is off, set Master Bedroom Select [input_select.master_bedroom] to 'On'. D. Else if Master Bedroom Select [input_select.master_bedroom] is 'Auto' AND Master Bedroom Bedhead Light [light.master_bedroom_bedhead] is on, set Master Bedroom Select [input_select.master_bedroom] to 'Off'. E. Otherwise, set Master Bedroom Select [input_select.master_bedroom] to 'Off'. 3. If event_type is 'rotate_right' AND Master Bedroom Select [input_select.master_bedroom] is 'Bedtime', set Master Bedroom Select [input_select.master_bedroom] to 'On'. 4. If event_type is 'rotate_left' AND (Master Bedroom Select [input_select.master_bedroom] is 'On' OR (Master Bedroom Select [input_select.master_bedroom] is 'Off' AND Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is on)), set Master Bedroom Select [input_select.master_bedroom] to 'Bedtime'. 5. If event_type is 'fall' AND Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] is below 20 lux, set Master Bedroom Select [input_select.master_bedroom] to 'Wake'. 6. If event_type is 'shake', set Master Bedroom Select [input_select.master_bedroom] to 'Auto', then if Master Bedroom Bedhead Light [light.master_bedroom_bedhead] is off, turn it on, and finally set Master Bedroom Bedhead Light [light.master_bedroom_bedhead] to full brightness with a random RGB color.",
"natural_language": {
"trigger": "When the Master bedroom cube action event [event.master_bedroom_cube_action] is triggered, indicating a cube gesture.",
"conditions": "The specific action taken depends on the type of gesture and the current state of several entities. The automation checks the event type (like 'wakeup', 'tap', 'flip', 'rotate_right', 'rotate_left', 'fall', or 'shake'), the current mode of the Master Bedroom Select [input_select.master_bedroom], whether person2 is awake [input_boolean.person2_is_awake], if the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is on, the light level from the Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux], and the state of the Master Bedroom Bedhead Light [light.master_bedroom_bedhead].",
"action": "Depending on the gesture and conditions, the automation changes the Master Bedroom Select [input_select.master_bedroom] to different modes ('Off', 'On', 'Bedtime', 'Wake', 'Auto'). For a 'shake' gesture, it also turns on and sets the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] to full brightness with a random color."
},
"human_like": "This automation interprets gestures from the master bedroom cube to control the room's lighting mode and bedhead light, adapting based on occupancy, light levels, and who is awake.",
"complexity": "high"
}
},
{
"id": "master_bedroom_lights_bedtime",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] changes to Bedtime OR when House Select [input_select.house] changes to Bedtime. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Master Bedroom Select [input_select.master_bedroom] is Bedtime OR (Master Bedroom Select [input_select.master_bedroom] is Auto AND House Select [input_select.house] is Bedtime)). ACTIONS: Turn on Adaptive Lighting Adapt Brightness Master Bedroom [switch.adaptive_lighting_adapt_brightness_master_bedroom], Adaptive Lighting Sleep Mode Master Bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom], Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom], Adaptive Lighting Adapt Brightness Master Neon [switch.adaptive_lighting_adapt_brightness_master_neon], Adaptive Lighting Sleep Mode Master Neon [switch.adaptive_lighting_sleep_mode_master_neon], and Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon]. Turn on Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 5-second transition. Turn on WLED Master Neon Light [light.wled_master_neon] with a 5-second transition and set its effect to Solid. Wait for 5 seconds. Apply the Adaptive Lighting service to Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon].",
"natural_language": {
"trigger": "The automation triggers when the Master Bedroom Select [input_select.master_bedroom] is set to 'Bedtime', or when the House Select [input_select.house] is set to 'Bedtime'.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] is turned on. Additionally, the Master Bedroom Select [input_select.master_bedroom] must be set to 'Bedtime', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'Bedtime'.",
"action": "The automation activates several adaptive lighting switches for the master bedroom and neon lights, turns on the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] and the WLED Master Neon Light [light.wled_master_neon] with a smooth 5-second transition, sets the neon light to a solid effect, waits 5 seconds, and then applies the adaptive lighting settings to the neon light."
},
"human_like": "Sets up the master bedroom lights for bedtime by activating adaptive lighting and turning on the bedhead and neon lights with a gentle transition.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_lights_dim",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] changes to Dim OR when House Select [input_select.house] changes to Dim. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Master Bedroom Select [input_select.master_bedroom] is Dim OR (Master Bedroom Select [input_select.master_bedroom] is Auto AND House Select [input_select.house] is Dim)). ACTIONS: Turn on Adaptive Lighting Adapt Brightness Master Bedroom [switch.adaptive_lighting_adapt_brightness_master_bedroom], Adaptive Lighting Sleep Mode Master Bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom], Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom], Adaptive Lighting Adapt Brightness Master Neon [switch.adaptive_lighting_adapt_brightness_master_neon], Adaptive Lighting Sleep Mode Master Neon [switch.adaptive_lighting_sleep_mode_master_neon], and Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon]. Turn on Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 2-second transition. Turn on WLED Master Neon Light [light.wled_master_neon] with a 2-second transition and the Solid effect. Wait for 2 seconds. Apply Adaptive Lighting settings to Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon].",
"natural_language": {
"trigger": "The automation triggers when the Master Bedroom Select [input_select.master_bedroom] is set to 'Dim' or when the House Select [input_select.house] is set to 'Dim'.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] is turned on. Furthermore, it requires that either the Master Bedroom Select [input_select.master_bedroom] is set to 'Dim', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Dim'.",
"action": "The automation turns on a series of adaptive lighting switches for the master bedroom and neon lights. It then turns on the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] and the WLED Master Neon Light [light.wled_master_neon], both with a smooth 2-second transition, and sets the neon light to the 'Solid' effect. After a 2-second delay, it applies the adaptive lighting settings specifically to the Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon]."
},
"human_like": "Dims the master bedroom and neon lights to a relaxing level when the room or house mode is set to 'Dim', provided lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_lights_motion",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] changes to Motion OR when House Select [input_select.house] changes to Motion. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Master Bedroom Select [input_select.master_bedroom] is Motion OR (Master Bedroom Select [input_select.master_bedroom] is Auto AND House Select [input_select.house] is Motion)). ACTIONS: Turn on Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 0.5 second transition, turn on WLED Master Neon Light [light.wled_master_neon] with a 0.5 second transition and effect set to Solid, wait 1 second, then apply adaptive lighting to Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon].",
"natural_language": {
"trigger": "When the mode for the Master Bedroom Select [input_select.master_bedroom] is changed to 'Motion', or when the overall House Select [input_select.house] mode is changed to 'Motion'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be enabled. Additionally, either the Master Bedroom Select [input_select.master_bedroom] is set to 'Motion', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Motion'.",
"action": "Turns on the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] and the WLED Master Neon Light [light.wled_master_neon] with a smooth half-second transition, sets the neon light to a solid color effect, waits one second, and then applies adaptive lighting settings to the Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon]."
},
"human_like": "Automatically turns on the master bedroom lights with adaptive lighting when motion-based modes are activated for the room or the whole house.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_lights_night",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] changes to Night OR when House Select [input_select.house] changes to Night. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Master Bedroom Select [input_select.master_bedroom] is Night OR (Master Bedroom Select [input_select.master_bedroom] is Auto AND House Select [input_select.house] is Night)). ACTIONS: Turn off Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 5-second transition, turn off Adaptive Lighting Adapt Brightness Master Bedroom [switch.adaptive_lighting_adapt_brightness_master_bedroom], turn off Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom], turn off adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom], and set WLED Master Neon Preset Select [select.wled_master_neon_preset] to Night.",
"natural_language": {
"trigger": "When the Master Bedroom Select [input_select.master_bedroom] is set to 'Night' or when the House Select [input_select.house] is set to 'Night'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be turned on. Additionally, either the Master Bedroom Select [input_select.master_bedroom] is set to 'Night', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Night'.",
"action": "Turn off the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 5-second fade, turn off the three adaptive lighting switches (Adaptive Lighting Adapt Brightness Master Bedroom [switch.adaptive_lighting_adapt_brightness_master_bedroom], Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom], and adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom]), and set the WLED Master Neon Preset Select [select.wled_master_neon_preset] to the 'Night' option."
},
"human_like": "Sets up the master bedroom for nighttime by turning off the main lights and adaptive lighting features, and activating a night-friendly lighting preset.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_lights_off",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] changes to 'Off' OR When House Select [input_select.house] changes to 'Off'. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Master Bedroom Select [input_select.master_bedroom] is 'Off' OR (Master Bedroom Select [input_select.master_bedroom] is 'Auto' AND House Select [input_select.house] is 'Off')). ACTIONS: (In parallel) If WLED Master Neon Light [light.wled_master_neon] is on, turn it off with a 5-second transition. If Master Bedroom Bedhead Light [light.master_bedroom_bedhead] is on, turn it off with a 5-second transition. Then, if the trigger's previous state was not 'Motion', wait 5 minutes. Then, turn on Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom], Adaptive Lighting Adapt Brightness Master Bedroom [switch.adaptive_lighting_adapt_brightness_master_bedroom], Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon], and Adaptive Lighting Adapt Brightness Master Neon [switch.adaptive_lighting_adapt_brightness_master_neon]. Finally, turn off adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom] and Adaptive Lighting Sleep Mode Master Neon [switch.adaptive_lighting_sleep_mode_master_neon].",
"natural_language": {
"trigger": "When the Master Bedroom Select [input_select.master_bedroom] is set to 'Off' or when the House Select [input_select.house] is set to 'Off'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be enabled. Additionally, either the Master Bedroom Select [input_select.master_bedroom] is set to 'Off', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Off'.",
"action": "First, it checks and turns off specific lights if they are on: the WLED Master Neon Light [light.wled_master_neon] and the Master Bedroom Bedhead Light [light.master_bedroom_bedhead], each with a 5-second fade. Then, if the automation was not triggered by a change from a 'Motion' state, it waits for five minutes. After the wait, it turns on the main adaptive lighting switches for the master bedroom and neon lights, and then turns off the sleep mode switches for both lighting systems."
},
"human_like": "Turns off the master bedroom lights and restores adaptive lighting settings when the room or house mode is set to 'Off', ensuring a smooth transition and disabling sleep mode.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_lights_on",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] changes to 'On' OR When House Select [input_select.house] changes to 'On'. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Master Bedroom Select [input_select.master_bedroom] is 'On' OR (Master Bedroom Select [input_select.master_bedroom] is 'Auto' AND House Select [input_select.house] is 'On')). ACTIONS: Turn on Adaptive Lighting Adapt Brightness Master Bedroom [switch.adaptive_lighting_adapt_brightness_master_bedroom], Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom], Adaptive Lighting Adapt Brightness Master Neon [switch.adaptive_lighting_adapt_brightness_master_neon], and Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon]. Turn off adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom] and Adaptive Lighting Sleep Mode Master Neon [switch.adaptive_lighting_sleep_mode_master_neon]. Turn on Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 0.5 second transition. Turn on WLED Master Neon Light [light.wled_master_neon] with a 0.5 second transition and the 'Solid' effect. Wait for 1 second. Apply adaptive lighting settings to Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon].",
"natural_language": {
"trigger": "The automation triggers when the Master Bedroom Select [input_select.master_bedroom] is set to 'On', or when the House Select [input_select.house] is set to 'On'.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] are enabled. Additionally, the Master Bedroom Select [input_select.master_bedroom] must be set to 'On', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'On'.",
"action": "The automation turns on several adaptive lighting switches for the master bedroom and neon lights, and turns off their corresponding sleep mode switches. It then turns on the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] and the WLED Master Neon Light [light.wled_master_neon] with a smooth transition and a solid light effect. After a one-second delay, it applies adaptive lighting settings specifically to the neon light."
},
"human_like": "Turns on the master bedroom lights and configures adaptive lighting when the room or house mode is set to 'On', provided lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_lights_sleeping",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] changes to 'Sleeping' OR when House Select [input_select.house] changes to 'Sleeping'. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Master Bedroom Select [input_select.master_bedroom] is 'Sleeping' OR (Master Bedroom Select [input_select.master_bedroom] is 'Auto' AND House Select [input_select.house] is 'Sleeping')). ACTIONS: Turn off Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 5-second transition, turn off Adaptive Lighting Adapt Brightness Master Bedroom [switch.adaptive_lighting_adapt_brightness_master_bedroom], turn off Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom], turn off adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom], and set WLED Master Neon Preset Select [select.wled_master_neon_preset] to 'Night'.",
"natural_language": {
"trigger": "When the Master Bedroom Select [input_select.master_bedroom] is set to 'Sleeping' or when the House Select [input_select.house] is set to 'Sleeping'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be switched on. Additionally, either the Master Bedroom Select [input_select.master_bedroom] must be set to 'Sleeping', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'Sleeping'.",
"action": "The automation turns off the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 5-second fade-out. It also turns off three adaptive lighting switches: Adaptive Lighting Adapt Brightness Master Bedroom [switch.adaptive_lighting_adapt_brightness_master_bedroom], Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom], and adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom]. Finally, it sets the WLED Master Neon Preset Select [select.wled_master_neon_preset] to the 'Night' option."
},
"human_like": "Sets up the master bedroom for sleep by turning off the main light and adaptive lighting features, and switching the neon lights to a night preset.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_lights_turned_off",
"result": {
"structured": "TRIGGER: When Master Bedroom Light [light.master_bedroom] turns off. CONDITIONS: Master Bedroom Select [input_select.master_bedroom] is not in the 'Off' state. ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to 'Off'.",
"natural_language": {
"trigger": "When the Master Bedroom Light [light.master_bedroom] is turned off.",
"conditions": "If the Master Bedroom Select [input_select.master_bedroom] is currently set to any option other than 'Off'.",
"action": "Changes the Master Bedroom Select [input_select.master_bedroom] to the 'Off' option."
},
"human_like": "Synchronizes the master bedroom light switch state with a dropdown selector, ensuring the selector shows 'Off' when the lights are turned off.",
"complexity": "low"
}
},
{
"id": "master_bedroom_lights_turned_on",
"result": {
"structured": "TRIGGER: When Master Bedroom Light [light.master_bedroom] turns on. CONDITIONS: Master Bedroom Select [input_select.master_bedroom] is set to 'Off'. ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to 'Auto'.",
"natural_language": {
"trigger": "When the Master Bedroom Light [light.master_bedroom] is turned on.",
"conditions": "If the Master Bedroom Select [input_select.master_bedroom] is currently set to the 'Off' option.",
"action": "Changes the Master Bedroom Select [input_select.master_bedroom] to the 'Auto' option."
},
"human_like": "When the master bedroom light is manually turned on while the room's mode is set to 'Off', it automatically switches the mode to 'Auto'.",
"complexity": "low"
}
},
{
"id": "master_bedroom_lights_wake",
"result": {
"structured": "TRIGGER: When Master Bedroom Select [input_select.master_bedroom] changes to Wake OR When House Select [input_select.house] changes to Wake. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Master Bedroom Select [input_select.master_bedroom] is Wake OR (Master Bedroom Select [input_select.master_bedroom] is Auto AND House Select [input_select.house] is Wake)). ACTIONS: Turn off Adaptive Lighting Master Bedroom [switch.adaptive_lighting_master_bedroom] AND Turn off Adaptive Lighting Master Neon [switch.adaptive_lighting_master_neon]. Then, turn on Master Bedroom Bedhead Light [light.master_bedroom_bedhead] with a 10-second transition, 100% brightness, and white color. Then, turn on WLED Master Neon Light [light.wled_master_neon] with a 10-second transition, 100% brightness, white color, and the 'Solid' effect.",
"natural_language": {
"trigger": "The automation triggers when the Master Bedroom Select [input_select.master_bedroom] is set to 'Wake' or when the House Select [input_select.house] is set to 'Wake'.",
"conditions": "It requires that the Lighting Automations [input_boolean.lighting_automations] are enabled. Additionally, it checks that either the Master Bedroom Select [input_select.master_bedroom] is set to 'Wake', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Wake'.",
"action": "It first turns off the adaptive lighting switches for the master bedroom and neon lights. Then, it turns on the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] to 100% brightness in white, fading over 10 seconds. Finally, it turns on the WLED Master Neon Light [light.wled_master_neon] to 100% brightness in white with the 'Solid' effect, also fading over 10 seconds."
},
"human_like": "Turns on the master bedroom and neon lights to a bright white setting when the house or bedroom is set to 'Wake' mode, ensuring a consistent morning lighting scene.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_mode_bedtime",
"result": {
"structured": "TRIGGER: When Person2 In Bed [input_boolean.person2_in_bed] turns on and remains on for 30 minutes. CONDITIONS: Master Bedroom Select [input_select.master_bedroom] is NOT currently set to 'Bedtime' OR 'Off' AND person2 is awake [input_boolean.person2_is_awake] is on. ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to 'Bedtime'.",
"natural_language": {
"trigger": "When the Person2 In Bed [input_boolean.person2_in_bed] switch is turned on and stays on for 30 minutes.",
"conditions": "If the Master Bedroom Select [input_select.master_bedroom] is not currently set to either 'Bedtime' or 'Off', and the person2 is awake [input_boolean.person2_is_awake] switch is on.",
"action": "Changes the mode of the Master Bedroom Select [input_select.master_bedroom] to 'Bedtime'."
},
"human_like": "Sets the master bedroom to 'Bedtime' mode when Person2 has been in bed for 30 minutes and is still awake.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_mode_off",
"result": {
"structured": "TRIGGER: When Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] is above 15 lux OR When Master Bedroom Select [input_select.master_bedroom] remains in the 'Wake' state for 30 minutes OR When Master Bedroom Occupied [input_boolean.master_bedroom_occupied] changes to off. CONDITIONS: (Master Bedroom Select [input_select.master_bedroom] is NOT in the 'Off' state) AND (Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is off OR Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] is above 15 lux). ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to 'Off'.",
"natural_language": {
"trigger": "The automation can be triggered in three ways: if the Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] reports a light level above 15 lux; if the Master Bedroom Select [input_select.master_bedroom] has been set to 'Wake' for a continuous period of 30 minutes; or if the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] status changes to off.",
"conditions": "Two conditions must be met. First, the Master Bedroom Select [input_select.master_bedroom] must not already be set to 'Off'. Second, either the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] must be off, or the Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] must be reading above 15 lux.",
"action": "Changes the Master Bedroom Select [input_select.master_bedroom] mode to 'Off'."
},
"human_like": "Turns off the master bedroom mode when it's either bright enough, the room is unoccupied, or the 'Wake' mode has been active for too long.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_mode_on",
"result": {
"structured": "TRIGGER: When Master Bedroom Occupied [input_boolean.master_bedroom_occupied] turns on OR When Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] falls below 14 lux. CONDITIONS: (Master Bedroom Select [input_select.master_bedroom] is NOT 'On') AND (Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] is below 14 lux) AND (Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is on) AND (Person2 In Bed [input_boolean.person2_in_bed] is off) AND (person2 home status [input_boolean.person2_home] is on). ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to 'On'.",
"natural_language": {
"trigger": "The automation triggers either when the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is turned on, or when the Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] detects the light level has dropped below 14 lux.",
"conditions": "All of the following must be true: the Master Bedroom Select [input_select.master_bedroom] is not already set to 'On', the light level in the master bedroom is below 14 lux, the master bedroom is marked as occupied, Person2 is not in bed, and Person2 is at home.",
"action": "Sets the Master Bedroom Select [input_select.master_bedroom] to the 'On' mode."
},
"human_like": "Turns on the master bedroom mode when the room is occupied, dark, and Person2 is home but not yet in bed.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_mode_wake",
"result": {
"structured": "TRIGGER: When person2 media player [media_player.person2] OR Master Bedroom Media Player [media_player.master_bedroom] changes state to playing OR When a tasker_webhook event occurs with event_data.who equal to 'person2'. CONDITIONS: The current time is before 10:00:00 AND person2 home status [input_boolean.person2_home] is on AND (The trigger is the playing trigger OR (The trigger is the tasker_webhook event AND the event data contains the string 'Sleep alarm')). ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to the option 'Wake'.",
"natural_language": {
"trigger": "This automation is triggered either when the person2 media player [media_player.person2] or the Master Bedroom Media Player [media_player.master_bedroom] starts playing media, or when a specific webhook event from Tasker is received, indicating an action by person2.",
"conditions": "For the automation to run, the current time must be before 10:00 AM, person2 must be marked as home (person2 home status [input_boolean.person2_home] is on), and either the trigger was the media player starting to play, or the webhook event contained the specific phrase 'Sleep alarm' in its data.",
"action": "Changes the mode of the Master Bedroom to 'Wake' by setting the Master Bedroom Select [input_select.master_bedroom] to that option."
},
"human_like": "Sets the master bedroom to 'Wake' mode in the morning when person2 is home and either starts playing media or triggers a 'Sleep alarm' webhook.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_motion",
"result": {
"structured": "TRIGGER: When Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] OR Master bedroom door contact [binary_sensor.master_bedroom_door_contact] changes to on. CONDITIONS: (Master Bedroom Select [input_select.master_bedroom] is NOT in ('Dim', 'Wake', 'On')) AND (Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is off) AND (Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] is below 14). ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to 'Motion'.",
"natural_language": {
"trigger": "When motion is detected by the Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] or when the Master bedroom door contact [binary_sensor.master_bedroom_door_contact] opens.",
"conditions": "If the Master Bedroom Select [input_select.master_bedroom] is not currently set to 'Dim', 'Wake', or 'On', the room is marked as unoccupied (Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is off), and the light level in the room, measured by the Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux], is below 14 lux.",
"action": "Changes the room's mode by setting the Master Bedroom Select [input_select.master_bedroom] to 'Motion'."
},
"human_like": "Automatically sets the master bedroom to 'Motion' mode when motion or door opening is detected, but only if the room is dark, unoccupied, and not already in a lighting mode.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_not_occupied",
"result": {
"structured": "TRIGGER: When Master bedroom door contact [binary_sensor.master_bedroom_door_contact] remains closed (off) for 2 minutes OR When Master bedroom door contact [binary_sensor.master_bedroom_door_contact] remains open (on) for 2 minutes OR When Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] stops detecting motion (off) for 30 seconds. CONDITIONS: Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is on AND ((Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] is off AND remains so for 30 seconds AND Master ensuite door contact [binary_sensor.master_ensuite_door_contact] is open OR closed AND remains stable for 2 minutes AND the trigger is Master bedroom door contact [binary_sensor.master_bedroom_door_contact] closed) OR (the trigger is Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] off AND Master bedroom door contact [binary_sensor.master_bedroom_door_contact] is open)). ACTIONS: Turn off Master Bedroom Occupied [input_boolean.master_bedroom_occupied].",
"natural_language": {
"trigger": "When the Master bedroom door contact [binary_sensor.master_bedroom_door_contact] remains either open or closed for at least two minutes, or when the Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] reports no motion for at least thirty seconds.",
"conditions": "The Master Bedroom Occupied [input_boolean.master_bedroom_occupied] must be set to on. Furthermore, one of two scenarios must be true: either the motion sensor has been off for thirty seconds, the ensuite door contact has been in a stable state (open or closed) for two minutes, and the trigger was the bedroom door being closed for two minutes; or the trigger was the motion sensor being off for thirty seconds and the bedroom door is currently open.",
"action": "Marks the master bedroom as not occupied by turning off Master Bedroom Occupied [input_boolean.master_bedroom_occupied]."
},
"human_like": "Marks the master bedroom as unoccupied when the door is left closed or open for a while, or when motion stops, provided the room was previously marked as occupied.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_no_motion",
"result": {
"structured": "TRIGGER: When Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] remains off (no motion) for 3 minutes OR When Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] is above 15 lux. CONDITIONS: Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is off AND Master Bedroom Select [input_select.master_bedroom] is set to 'Motion'. ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to 'Off'.",
"natural_language": {
"trigger": "When the Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] reports no motion for a continuous period of three minutes, or when the Master Bedroom Light Sensor Illuminance Sensor [sensor.master_bedroom_light_sensor_illuminance_lux] detects a light level above 15 lux.",
"conditions": "The Master Bedroom Occupied [input_boolean.master_bedroom_occupied] must be off, and the Master Bedroom Select [input_select.master_bedroom] must be in the 'Motion' mode.",
"action": "Changes the Master Bedroom Select [input_select.master_bedroom] from 'Motion' to 'Off'."
},
"human_like": "Turns off the master bedroom's motion-based mode when the room is unoccupied and either no motion is detected for three minutes or the light level is high enough.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_occupied",
"result": {
"structured": "TRIGGER: When light.master_bedroom_bedhead [light.master_bedroom_bedhead] turns on OR Person2 In Bed [input_boolean.person2_in_bed] turns on OR person2 is awake [input_boolean.person2_is_awake] turns off OR Master bedroom door contact [binary_sensor.master_bedroom_door_contact] closes (off) OR Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] detects motion (on) OR Master ensuite door contact [binary_sensor.master_ensuite_door_contact] changes to null. CONDITIONS: (Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is off) AND (Master bedroom door contact [binary_sensor.master_bedroom_door_contact] is closed (off)) AND (Master ensuite door contact [binary_sensor.master_ensuite_door_contact] triggered OR Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] triggered OR Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] is on). ACTIONS: Turn on Master Bedroom Occupied [input_boolean.master_bedroom_occupied].",
"natural_language": {
"trigger": "The automation triggers when the Master Bedroom Bedhead Light [light.master_bedroom_bedhead] is turned on, when Person2 In Bed [input_boolean.person2_in_bed] is turned on, when person2 is awake [input_boolean.person2_is_awake] is turned off, when the Master bedroom door contact [binary_sensor.master_bedroom_door_contact] closes, when the Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] detects motion, or when the Master ensuite door contact [binary_sensor.master_ensuite_door_contact] changes to a null state.",
"conditions": "The automation only runs if the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is currently off, the Master bedroom door contact [binary_sensor.master_bedroom_door_contact] is closed, and at least one of the following is true: the trigger was the Master ensuite door contact [binary_sensor.master_ensuite_door_contact] changing, the trigger was the Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] detecting motion, or the Master bedroom motion occupancy [binary_sensor.master_bedroom_motion_occupancy] is currently detecting motion.",
"action": "Marks the master bedroom as occupied by turning on the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] input boolean."
},
"human_like": "Marks the master bedroom as occupied when activity is detected inside the room while the door is closed, such as lights, motion, or bed status changes.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_mode_to_off",
"result": {
"structured": "TRIGGER: When Master Bedroom Light [light.master_bedroom] remains off for 5 seconds OR When Master Bedroom Occupied [input_boolean.master_bedroom_occupied] changes to off. CONDITIONS: None. ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to option 'Off'.",
"natural_language": {
"trigger": "When the Master Bedroom Light [light.master_bedroom] has been turned off and remains off for at least five seconds, or when the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] status changes to off.",
"conditions": "There are no additional conditions that must be met.",
"action": "Changes the mode of the Master Bedroom Select [input_select.master_bedroom] to the 'Off' option."
},
"human_like": "Sets the master bedroom mode to 'Off' when the light is turned off or the room is marked as unoccupied.",
"complexity": "low"
}
},
{
"id": "nearly_home",
"result": {
"structured": "TRIGGER: When Garage door car contact [binary_sensor.garage_door_car_contact] opens (on) OR When front door contact [binary_sensor.front_door_contact] opens (on) OR When Home Person2 Distance Sensor [sensor.home_person2_distance] is below 1000 OR When Home Person3 Distance Sensor [sensor.home_person3_distance] is below 1000 OR When Home Person1 Distance Sensor [sensor.home_person1_distance] is below 1000. CONDITIONS: home occupied [binary_sensor.home_occupied] is off AND remains off for 10 minutes AND Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is below 25 AND Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 15. ACTIONS: Set Hall Select [input_select.hall] to 'Night on' AND (IF Season Select [input_select.season] is 'Christmas' THEN Set Vestibule Select [input_select.vestibule] to 'On').",
"natural_language": {
"trigger": "The automation triggers when either the Garage door car contact [binary_sensor.garage_door_car_contact] or the front door contact [binary_sensor.front_door_contact] opens, or when any of the distance sensors for Person1, Person2, or Person3 report a distance below 1000 units.",
"conditions": "All of the following must be true: the home has been unoccupied (home occupied [binary_sensor.home_occupied] is off) for at least 10 minutes, the light level in the living room (Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux]) is below 25 lux, and the sun's elevation (Sun Solar Elevation Sensor [sensor.sun_solar_elevation]) is below 15 degrees.",
"action": "First, it sets the Hall Select [input_select.hall] to 'Night on'. Then, it checks if the Season Select [input_select.season] is set to 'Christmas', and if so, it also sets the Vestibule Select [input_select.vestibule] to 'On'."
},
"human_like": "Turns on specific night lighting when someone is arriving home after dark and the house has been empty for a while, with a special Christmas setting for the vestibule.",
"complexity": "medium"
}
},
{
"id": "nighttime_garden_off",
"result": {
"structured": "TRIGGER: When Garden Lights Switch [switch.garden_lights] remains on for 15 minutes. CONDITIONS: (Time is after 00:00:00) AND (sun sun [sun.sun] is below_horizon). ACTIONS: Turn off Garden Lights Switch [switch.garden_lights].",
"natural_language": {
"trigger": "When the Garden Lights Switch [switch.garden_lights] has been turned on and remains on for at least 15 minutes.",
"conditions": "If the current time is after midnight and the sun [sun.sun] is below the horizon (i.e., it is nighttime).",
"action": "Turns off the Garden Lights Switch [switch.garden_lights]."
},
"human_like": "Automatically turns off the garden lights if they are left on during the night, helping to save energy.",
"complexity": "low"
}
},
{
"id": "notify_about_unavailable",
"result": {
"structured": "TRIGGER: When Unavailable Entities Sensor [sensor.unavailable_entities] changes state OR When Unavailable Entities Sensor [sensor.unavailable_entities] remains in a state for 30 minutes. CONDITIONS: Shutdown In Progress [input_boolean.shutdown_in_progress] is off AND Unavailable Entities Sensor [sensor.unavailable_entities] is NOT unavailable. ACTIONS: (Choose one action based on conditions) IF (Unavailable Entities Sensor [sensor.unavailable_entities] new state is '0' AND previous state was '0') THEN delay for 1 second. ELSE IF (Unavailable Entities Sensor [sensor.unavailable_entities] new state is '0' AND state changed less than 5 seconds ago AND previous state was greater than 0) THEN send Discord notification: 'There are no entities unavailable, there were X (list)'. ELSE IF (Unavailable Entities Sensor [sensor.unavailable_entities] new state is greater than 0 AND state changed more than 600 seconds ago) THEN send Discord notification: 'There are X entities unavailable, these are (list)'. ELSE IF (Unavailable Entities Sensor [sensor.unavailable_entities] new state is greater than 0 AND state changed 600 seconds or less ago) THEN send Discord notification: 'There are X entities unavailable, these are (list) - please hold'. ELSE (default) send Discord notification: 'Hey, there are X entities unavailable, these are (list)'. THEN send a debug log notification to Debug Log Notify [notify.debug_log] with the same status message.",
"natural_language": {
"trigger": "The automation triggers whenever the Unavailable Entities Sensor [sensor.unavailable_entities] changes its state, or if it remains in the same state for 30 minutes.",
"conditions": "The automation only runs if the Shutdown In Progress [input_boolean.shutdown_in_progress] switch is off, and if the Unavailable Entities Sensor [sensor.unavailable_entities] is not reporting a state of 'unavailable'.",
"action": "Based on the specific change in the sensor's value, the automation performs different actions. If the sensor changes from zero to zero (a no-change event), it simply waits for a second. If the sensor just changed to zero from a non-zero value, it sends a Discord message stating that all entities are now available, listing the ones that were previously unavailable. If the sensor shows a non-zero value that has been stable for over 10 minutes, it sends a Discord message listing the currently unavailable entities. If the sensor shows a non-zero value that changed recently (within 10 minutes), it sends a similar Discord message but adds a 'please hold' note. In any other case, it sends a generic Discord message with the current status. Finally, regardless of the chosen path, it always sends a detailed status message to a debug log notification service."
},
"human_like": "Sends notifications to Discord and a debug log when entities become unavailable, with different messages based on how long they've been unavailable and whether the situation has just been resolved.",
"complexity": "high"
}
},
{
"id": "number_sign_off",
"result": {
"structured": "TRIGGER: When the time is 23:59:00 OR When sun sun [sun.sun] changes to above_horizon OR When Outside Light Sensor Illuminance Sensor [sensor.outside_light_sensor_illuminance_lux] rises above 50 lux OR When Home Assistant starts. CONDITIONS: (Trigger is time) OR (sun sun [sun.sun] is above_horizon AND Outside Light Sensor Illuminance Sensor [sensor.outside_light_sensor_illuminance_lux] is above 50). ACTIONS: Turn off Number Sign Switch [switch.number_sign].",
"natural_language": {
"trigger": "The automation triggers at 23:59:00 daily, when the sun rises above the horizon, when the outside light sensor [sensor.outside_light_sensor_illuminance_lux] detects illuminance above 50 lux, or when Home Assistant starts up.",
"conditions": "If the trigger was the scheduled time, or if the sun is above the horizon and the outside light sensor [sensor.outside_light_sensor_illuminance_lux] reads above 50 lux.",
"action": "Turns off the Number Sign Switch [switch.number_sign]."
},
"human_like": "Turns off the number sign at night or when it's bright enough outside, ensuring it's not left on unnecessarily.",
"complexity": "medium"
}
},
{
"id": "number_on_at_sunset",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 0 OR When Outside Light Sensor Illuminance Sensor [sensor.outside_light_sensor_illuminance_lux] is below 50. CONDITIONS: Number Sign Switch [switch.number_sign] is off AND (Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 0 OR Outside Light Sensor Illuminance Sensor [sensor.outside_light_sensor_illuminance_lux] is below 50). ACTIONS: Turn on Number Sign Switch [switch.number_sign].",
"natural_language": {
"trigger": "The automation triggers when Home Assistant starts, when the Sun Solar Elevation Sensor [sensor.sun_solar_elevation] indicates the sun is below the horizon, or when the Outside Light Sensor Illuminance Sensor [sensor.outside_light_sensor_illuminance_lux] reports an illuminance level below 50 lux.",
"conditions": "The Number Sign Switch [switch.number_sign] must be off. Additionally, either the Sun Solar Elevation Sensor [sensor.sun_solar_elevation] must be below 0 or the Outside Light Sensor Illuminance Sensor [sensor.outside_light_sensor_illuminance_lux] must be below 50 lux.",
"action": "Turn on the Number Sign Switch [switch.number_sign]."
},
"human_like": "Turns on the number sign at sunset or when it gets dark outside, but only if it's currently off.",
"complexity": "medium"
}
},
{
"id": "number_on_in_the_morning",
"result": {
"structured": "TRIGGER: When the time is 06:30:00 OR when Home Assistant starts. CONDITIONS: (sun sun [sun.sun] is below_horizon OR Outside Light Sensor Illuminance Sensor [sensor.outside_light_sensor_illuminance_lux] is below 50 lux) AND Number Sign Switch [switch.number_sign] is off. ACTIONS: Turn on Number Sign Switch [switch.number_sign].",
"natural_language": {
"trigger": "The automation triggers either at 6:30 AM every day, or when Home Assistant starts up.",
"conditions": "It checks if it is still dark outside, which is determined by either the sun being below the horizon or the outside light sensor reading being below 50 lux. It also verifies that the Number Sign Switch [switch.number_sign] is currently off.",
"action": "The automation turns on the Number Sign Switch [switch.number_sign]."
},
"human_like": "Turns on the number sign in the morning at 6:30 AM or when the system starts, but only if it's dark outside and the sign is off.",
"complexity": "medium"
}
},
{
"id": "office_air",
"result": {
"structured": "TRIGGER: When Office Air CO2 Sensor [sensor.office_air_co2] is above 1000 AND remains so for 5 minutes OR When Office Air VOC Sensor [sensor.office_air_voc] is above 250 AND remains so for 1 hour OR When Office Air VOC Sensor [sensor.office_air_voc] is above 2000 OR When Office Air PM25 Sensor [sensor.office_air_pm25] is above 50 AND remains so for 5 minutes OR When Office Air PM25 Sensor [sensor.office_air_pm25] is above 100 AND remains so for 5 minutes. CONDITIONS: office occupied [input_boolean.office_occupied] is on. ACTIONS: Send a notification to awtrix 6d6f50 [notify.awtrix_6d6f50] with a dynamic message. The message states 'The air quality is low' and appends a recommendation based on the states of Office door contact [binary_sensor.office_door_contact] and Office window contact [binary_sensor.office_window_contact]. If door is closed (off) AND window is open (on), recommend 'open the door'. If door is closed (off) AND window is closed (off), recommend 'open the door and window'. If door is open (on) AND window is closed (off), recommend 'open the window'. Otherwise (door open AND window open), recommend 'turn on the fan'. The message then reports the status of CO2, VOC, and PM2.5 levels based on their current sensor values against the defined thresholds.",
"natural_language": {
"trigger": "The automation can be triggered by several air quality conditions in the office. It triggers if the carbon dioxide level measured by the Office Air CO2 Sensor [sensor.office_air_co2] stays above 1000 for five minutes, or if the volatile organic compound level from the Office Air VOC Sensor [sensor.office_air_voc] stays above 250 for one hour, or if the VOC level simply exceeds 2000, or if the fine particulate matter level from the Office Air PM25 Sensor [sensor.office_air_pm25] stays above 50 for five minutes, or if it stays above 100 for five minutes.",
"conditions": "The automation only runs if the office is marked as occupied, meaning the input_boolean office occupied [input_boolean.office_occupied] is set to on.",
"action": "Sends a detailed notification to the awtrix 6d6f50 [notify.awtrix_6d6f50] device. The notification first states that the air quality is low. It then provides a specific recommendation for improving air circulation based on whether the Office door contact [binary_sensor.office_door_contact] and Office window contact [binary_sensor.office_window_contact] are open or closed. Finally, it includes a summary of the current air quality levels, reporting whether CO2, VOC, and PM2.5 are 'ok', 'elevated', or 'high' based on the same thresholds used in the triggers."
},
"human_like": "Sends a smart notification with air quality advice to the office display when air quality is poor and the room is occupied.",
"complexity": "medium"
}
},
{
"id": "office_alert",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Alarm Mode [input_boolean.alarm_mode] turns on. CONDITIONS: Alarm Mode [input_boolean.alarm_mode] is on. ACTIONS: Turn off Lighting Office [input_boolean.lighting_office]. Turn off Adaptive Lighting Office [switch.adaptive_lighting_office]. Turn on Office Strip Light [light.office_strip] (with default settings). WHILE Alarm Mode [input_boolean.alarm_mode] is on, REPEAT: Set Office Strip Light [light.office_strip] to 100% brightness red (0.5s transition), wait 1 second, set Office Strip Light [light.office_strip] to minimum brightness red (0.5s transition), wait 1 second. After the loop ends, turn on Lighting Office [input_boolean.lighting_office]. Turn on Adaptive Lighting Office [switch.adaptive_lighting_office].",
"natural_language": {
"trigger": "The automation triggers when Home Assistant first starts, when any automation is reloaded, or when the Alarm Mode [input_boolean.alarm_mode] is turned on.",
"conditions": "The automation only proceeds if the Alarm Mode [input_boolean.alarm_mode] is currently active (on).",
"action": "First, it disables the office's standard lighting control by turning off Lighting Office [input_boolean.lighting_office] and Adaptive Lighting Office [switch.adaptive_lighting_office]. It then turns on the Office Strip Light [light.office_strip]. While the alarm mode remains active, it repeatedly flashes the strip light: it sets it to bright red for one second, then dims it to a very low red for one second, creating a pulsing effect. Once the alarm mode is turned off and the loop ends, it restores the office's normal lighting by turning Lighting Office [input_boolean.lighting_office] and Adaptive Lighting Office [switch.adaptive_lighting_office] back on."
},
"human_like": "When the alarm is activated, this automation makes the office light flash red as a visual alert, temporarily overriding the normal lighting settings.",
"complexity": "medium"
}
},
{
"id": "office_calendar_announcement",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] turns on. CONDITIONS: (Current time is before 09:00:00) AND (Person2 Work Events Sensor [sensor.person2_work_events] is NOT unavailable) AND (Workday sensor [binary_sensor.workday_sensor] is on) AND (Person2 on holiday [binary_sensor.person2_on_holiday] is off). ACTIONS: Wait until office media player [media_player.office] is not unavailable, then play a TTS announcement on Office Sonos Cloud [media_player.office_sonos_cloud] with volume 20. The announcement lists today's future meetings from Person2 Work Events Sensor [sensor.person2_work_events].",
"natural_language": {
"trigger": "When the office occupied [input_boolean.office_occupied] input boolean is turned on.",
"conditions": "The automation only runs if it is before 9:00 AM, the Person2 Work Events Sensor [sensor.person2_work_events] is available (not in an 'unavailable' state), the Workday sensor [binary_sensor.workday_sensor] indicates it is a workday, and the Person2 on holiday [binary_sensor.person2_on_holiday] sensor shows that the person is not on holiday.",
"action": "The automation first waits for the office media player [media_player.office] to become available. Once it is, it plays a text-to-speech announcement on the Office Sonos Cloud [media_player.office_sonos_cloud] speaker at 20% volume. The announcement reads out a list of today's upcoming work meetings, which are fetched from the Person2 Work Events Sensor [sensor.person2_work_events]."
},
"human_like": "Announces the day's work meetings on the office speaker when someone enters the office on a workday morning, provided they are not on holiday.",
"complexity": "medium"
}
},
{
"id": "office_calendar_reminder",
"result": {
"structured": "TRIGGER: When calendar person2 work [calendar.person2_work] event starts. CONDITIONS: (office occupied [input_boolean.office_occupied] is on) AND (the event summary contains the text 'Reminder:'). ACTIONS: Play a TTS announcement on Office Sonos Cloud [media_player.office_sonos_cloud] with volume 20, announcing the event summary text after removing the 'Reminder:' prefix.",
"natural_language": {
"trigger": "When a new calendar event begins on the calendar person2 work [calendar.person2_work].",
"conditions": "If the office is marked as occupied via the office occupied [input_boolean.office_occupied] input boolean being on, and if the calendar event's summary contains the word 'Reminder:'.",
"action": "Plays a text-to-speech announcement on the Office Sonos Cloud [media_player.office_sonos_cloud] speaker at a volume of 20, speaking the reminder text from the calendar event after removing the 'Reminder:' prefix."
},
"human_like": "Announces calendar reminders in the office when the room is occupied.",
"complexity": "low"
}
},
{
"id": "office_dial_action",
"result": {
"structured": "TRIGGER: When Office dial Moes action event [event.office_dial_moes_action] changes state. CONDITIONS: The event type of the trigger is 'toggle'. ACTIONS: IF office media player [media_player.office] is playing THEN pause office media player [media_player.office] ELSE play office media player [media_player.office].",
"natural_language": {
"trigger": "When the Office dial Moes action event [event.office_dial_moes_action] occurs.",
"conditions": "The specific event that triggered the automation must be of the type 'toggle'.",
"action": "If the office media player [media_player.office] is currently playing, it will be paused. Otherwise, if it is not playing, it will be started or resumed."
},
"human_like": "Toggles the playback state of the office media player when a specific dial action event is triggered.",
"complexity": "medium"
}
},
{
"id": "office_dial_rotate",
"result": {
"structured": "TRIGGER: When Office dial Moes action event [event.office_dial_moes_action] changes state. CONDITIONS: The event type of the trigger is one of: 'brightness_step', 'brightness_step', 'color_temperature_step_up', 'color_temperature_step_down'. ACTIONS: Based on the event type and direction, perform one of the following: If the action is 'volume_up' or 'volume_down', set the volume level of office media player [media_player.office] to a new value calculated by increasing or decreasing the current volume by 0.01, clamped between 0 and 1. If the action is 'next_track', first ensure media is playing on office media player [media_player.office], then skip to the next track. If the action is 'prev_track', first ensure media is playing on office media player [media_player.office], then go to the previous track. If none of the above conditions match, send a debug notification to Debug Log Notify [notify.debug_log] with the action and new volume values.",
"natural_language": {
"trigger": "When the Office dial Moes action event [event.office_dial_moes_action] is triggered.",
"conditions": "The automation only runs if the event type of the trigger is either 'brightness_step', 'brightness_step', 'color_temperature_step_up', or 'color_temperature_step_down'.",
"action": "Depending on the specific event, the automation will adjust the volume of the office media player [media_player.office], change tracks, or send a debug message. If the event is a brightness step with a direction, it will increase or decrease the volume by a small step. If the event is a color temperature step up, it will play the next track. If it's a color temperature step down, it will play the previous track. For any other event type, it will send a notification to the debug log [notify.debug_log]."
},
"human_like": "Uses a smart dial in the office to control the media player's volume and track selection, with fallback logging for unexpected actions.",
"complexity": "medium"
}
},
{
"id": "office_dial_test",
"result": {
"structured": "TRIGGER: When Office dial Moes action event [event.office_dial_moes_action] changes state to null. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] with a message containing the previous and new event_type and direction attributes from the triggering entity.",
"natural_language": {
"trigger": "When the Office dial Moes action event [event.office_dial_moes_action] changes its state to null.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a notification to the Debug Log Notify [notify.debug_log] service. The message includes the previous event type and direction, and the new event type and direction, extracted from the state attributes of the triggering event entity."
},
"human_like": "Logs the details of any change to the office dial event to a debug log for testing purposes.",
"complexity": "low"
}
},
{
"id": "office_lights_dim",
"result": {
"structured": "TRIGGER: When Office Select [input_select.office] changes to Dim OR Office Select [input_select.office] changes to Auto OR House Select [input_select.house] changes to Dim OR Lighting Automations [input_boolean.lighting_automations] changes to on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Office Select [input_select.office] is Dim OR (Office Select [input_select.office] is Auto AND House Select [input_select.house] is Dim)). ACTIONS: Turn on Adaptive Lighting Office [switch.adaptive_lighting_office], adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office], and Adaptive Lighting Adapt Brightness Office [switch.adaptive_lighting_adapt_brightness_office]; then turn on Office Strip Light [light.office_strip].",
"natural_language": {
"trigger": "The automation can be triggered by any of the following changes: the Office Select [input_select.office] setting changes to 'Dim' or 'Auto', the House Select [input_select.house] setting changes to 'Dim', or the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "For the action to run, the Lighting Automations [input_boolean.lighting_automations] must be on. Additionally, the Office Select [input_select.office] must be set to 'Dim', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'Dim'.",
"action": "The automation turns on three adaptive lighting switches for the office: Adaptive Lighting Office [switch.adaptive_lighting_office], adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office], and Adaptive Lighting Adapt Brightness Office [switch.adaptive_lighting_adapt_brightness_office]. It also turns on the Office Strip Light [light.office_strip]."
},
"human_like": "Sets the office lights to a dimmed mode when the room or house is set to 'Dim' or 'Auto', ensuring the lighting automations are active.",
"complexity": "medium"
}
},
{
"id": "office_lights_motion",
"result": {
"structured": "TRIGGER: When Office Select [input_select.office] changes to Motion OR Office Select [input_select.office] changes to Auto OR House Select [input_select.house] changes to Motion OR Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Office Select [input_select.office] is Motion OR (Office Select [input_select.office] is Auto AND House Select [input_select.house] is Motion)). ACTIONS: First, if the current time is between 22:00:00 and 05:00:00, turn on adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office] and Adaptive Lighting Adapt Brightness Office [switch.adaptive_lighting_adapt_brightness_office]; otherwise, turn them off. Then, turn on Adaptive Lighting Office [switch.adaptive_lighting_office]. Finally, turn on Office Strip Light [light.office_strip] at 5% brightness.",
"natural_language": {
"trigger": "The automation triggers when the Office Select [input_select.office] is set to 'Motion' or 'Auto', when the House Select [input_select.house] is set to 'Motion', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] switch is on. Additionally, the Office Select [input_select.office] must be set to 'Motion', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'Motion'.",
"action": "Depending on the time of day, it adjusts adaptive lighting settings: during night hours (10 PM to 5 AM), it enables sleep mode and brightness adaptation for the office lights; otherwise, it disables those features. It then activates the main adaptive lighting system for the office and turns on the office strip light at a low 5% brightness."
},
"human_like": "Turns on the office lights with adaptive settings and dimmed strip lighting when motion mode is selected, either for the office specifically or for the whole house.",
"complexity": "medium"
}
},
{
"id": "office_lights_off",
"result": {
"structured": "TRIGGER: When Office Select [input_select.office] changes to 'Off' OR When Office Select [input_select.office] changes to 'Away' OR When Office Select [input_select.office] changes to 'Auto' OR When House Select [input_select.house] changes to 'Off' OR When House Select [input_select.house] changes to 'Away' OR When Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Office Select [input_select.office] is 'Off' OR Office Select [input_select.office] is 'Away' OR (Office Select [input_select.office] is 'Auto' AND (House Select [input_select.house] is 'Off' OR House Select [input_select.house] is 'Away'))). ACTIONS: Turn off Office Strip Light [light.office_strip] with a 15-second transition, wait 20 seconds, turn off adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office], and turn on Adaptive Lighting Office [switch.adaptive_lighting_office] and Adaptive Lighting Adapt Brightness Office [switch.adaptive_lighting_adapt_brightness_office].",
"natural_language": {
"trigger": "The automation triggers when the Office Select [input_select.office] changes to 'Off', 'Away', or 'Auto', when the House Select [input_select.house] changes to 'Off' or 'Away', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "The automation only proceeds if the Lighting Automations [input_boolean.lighting_automations] switch is on. Additionally, it requires that the Office Select [input_select.office] is set to 'Off' or 'Away', or if it is set to 'Auto', then the House Select [input_select.house] must be set to either 'Off' or 'Away'.",
"action": "It turns off the Office Strip Light [light.office_strip] with a 15-second fade-out, waits 20 seconds, then turns off the adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office] and turns on both the Adaptive Lighting Office [switch.adaptive_lighting_office] and Adaptive Lighting Adapt Brightness Office [switch.adaptive_lighting_adapt_brightness_office] switches."
},
"human_like": "Turns off the office lights and adjusts adaptive lighting settings when the office or house mode is set to an unoccupied state, ensuring the room is dark and lighting features are configured appropriately.",
"complexity": "medium"
}
},
{
"id": "office_lights_on",
"result": {
"structured": "TRIGGER: When Office Select [input_select.office] changes to 'On' OR When Office Select [input_select.office] changes to 'Auto' OR When House Select [input_select.house] changes to 'On' OR When Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Office Select [input_select.office] is 'On' OR (Office Select [input_select.office] is 'Auto' AND House Select [input_select.house] is 'On')). ACTIONS: Turn off Adaptive Lighting Office [switch.adaptive_lighting_office] AND Turn off adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office] AND Turn on Office Strip Light [light.office_strip] with a 3-second transition AND Turn on Adaptive Lighting Adapt Brightness Office [switch.adaptive_lighting_adapt_brightness_office] AND Turn on Adaptive Lighting Office [switch.adaptive_lighting_office].",
"natural_language": {
"trigger": "The automation triggers when the Office Select [input_select.office] is set to 'On' or 'Auto', when the House Select [input_select.house] is set to 'On', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be on. Additionally, either the Office Select [input_select.office] is set to 'On', or it is set to 'Auto' and the House Select [input_select.house] is set to 'On'.",
"action": "It turns off the adaptive lighting controls (Adaptive Lighting Office [switch.adaptive_lighting_office] and adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office]), turns on the Office Strip Light [light.office_strip] with a 3-second transition, and then re-enables the adaptive brightness and main adaptive lighting switches (Adaptive Lighting Adapt Brightness Office [switch.adaptive_lighting_adapt_brightness_office] and Adaptive Lighting Office [switch.adaptive_lighting_office])."
},
"human_like": "Turns on the office strip light and configures adaptive lighting when the office or house mode is set appropriately and lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "office_lights_on_when_off",
"result": {
"structured": "TRIGGER: When Office Strip Light [light.office_strip] turns on and remains on for 30 seconds. CONDITIONS: Office Select [input_select.office] is set to 'Off'. ACTIONS: Turn off Office Strip Light [light.office_strip] with a transition time of 1 second.",
"natural_language": {
"trigger": "When the Office Strip Light [light.office_strip] is turned on and stays on for 30 seconds.",
"conditions": "The Office Select [input_select.office] must be set to the 'Off' mode.",
"action": "Turns the Office Strip Light [light.office_strip] back off, using a 1-second fade-out transition."
},
"human_like": "Ensures the office strip light stays off when the office mode is set to 'Off' by automatically turning it off if it gets turned on.",
"complexity": "low"
}
},
{
"id": "office_lights_pause",
"result": {
"structured": "TRIGGER: When Office Select [input_select.office] changes to state 'Pause' OR when Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND Office Select [input_select.office] is in state 'Pause'. ACTIONS: Turn off Adaptive Lighting Office [switch.adaptive_lighting_office] AND turn on Office Strip Light [light.office_strip] with brightness 2% and a 1-second transition.",
"natural_language": {
"trigger": "This automation triggers when the Office Select [input_select.office] is changed to the 'Pause' setting, or when the Lighting Automations [input_boolean.lighting_automations] master switch is turned on.",
"conditions": "For the actions to run, the Lighting Automations [input_boolean.lighting_automations] must be enabled (on), and the Office Select [input_select.office] must be set to 'Pause'.",
"action": "It turns off the Adaptive Lighting Office [switch.adaptive_lighting_office] and turns on the Office Strip Light [light.office_strip] at a very low brightness (2%) with a smooth one-second fade-in."
},
"human_like": "Sets the office to a low-light 'pause' mode by turning off adaptive lighting and dimming the strip light.",
"complexity": "low"
}
},
{
"id": "office_lights_turned_off",
"result": {
"structured": "TRIGGER: When Office Strip Light [light.office_strip] remains off for 30 seconds. CONDITIONS: NOT (Office Select [input_select.office] is Off). ACTIONS: Set Office Select [input_select.office] to option 'Off'.",
"natural_language": {
"trigger": "When the Office Strip Light [light.office_strip] has been turned off and remains off for 30 seconds.",
"conditions": "If the Office Select [input_select.office] is not already set to the 'Off' option.",
"action": "Changes the Office Select [input_select.office] to the 'Off' option."
},
"human_like": "Updates the office mode to 'Off' when the main office light has been off for half a minute.",
"complexity": "low"
}
},
{
"id": "office_lights_turned_on",
"result": {
"structured": "TRIGGER: When Office Strip Light [light.office_strip] remains on for 30 minutes. CONDITIONS: Office Select [input_select.office] is set to 'Off'. ACTIONS: IF office occupied [input_boolean.office_occupied] is on THEN set Office Select [input_select.office] to 'On'. OTHERWISE turn off Office Strip Light [light.office_strip].",
"natural_language": {
"trigger": "When the Office Strip Light [light.office_strip] has been turned on and remains in the 'on' state for 30 minutes.",
"conditions": "The automation only runs if the Office Select [input_select.office] is currently set to the 'Off' option.",
"action": "If the office occupied [input_boolean.office_occupied] indicator is on, the automation will change the Office Select [input_select.office] to 'On'. If the office is not marked as occupied, it will turn off the Office Strip Light [light.office_strip]."
},
"human_like": "Turns off the office lights if they've been left on for 30 minutes while the room is unoccupied, or updates the room mode if someone is present.",
"complexity": "medium"
}
},
{
"id": "office_lights_unpaused",
"result": {
"structured": "TRIGGER: When Office Select [input_select.office] changes from Pause OR when Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: (Lighting Automations [input_boolean.lighting_automations] is on AND office occupied [input_boolean.office_occupied] is on) AND (Office Select [input_select.office] is NOT Pause). ACTIONS: Turn on Adaptive Lighting Office [switch.adaptive_lighting_office] AND turn off adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office].",
"natural_language": {
"trigger": "When the Office Select [input_select.office] is changed from the 'Pause' setting, or when the Lighting Automations [input_boolean.lighting_automations] master switch is turned on.",
"conditions": "Both the Lighting Automations [input_boolean.lighting_automations] and the office occupied [input_boolean.office_occupied] switches must be on. Additionally, the Office Select [input_select.office] must not currently be set to 'Pause'.",
"action": "It turns on the main Adaptive Lighting Office [switch.adaptive_lighting_office] and turns off the adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office]."
},
"human_like": "Resumes normal adaptive lighting in the office when lighting automations are active, the room is occupied, and the pause mode is deactivated.",
"complexity": "medium"
}
},
{
"id": "office_lights_wake",
"result": {
"structured": "TRIGGER: When Office Select [input_select.office] changes to Wake OR When Office Select [input_select.office] changes to Auto OR When House Select [input_select.house] changes to Wake OR When Lighting Automations [input_boolean.lighting_automations] turns on. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Office Select [input_select.office] is Wake OR (Office Select [input_select.office] is Auto AND House Select [input_select.house] is Wake)). ACTIONS: Turn off Adaptive Lighting Adapt Brightness Office [switch.adaptive_lighting_adapt_brightness_office] AND Turn off adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office] AND Turn on Adaptive Lighting Office [switch.adaptive_lighting_office] AND Turn on Office Strip Light [light.office_strip] with brightness set to 5%.",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when the Office Select [input_select.office] is set to 'Wake' or 'Auto', when the House Select [input_select.house] is set to 'Wake', or when the Lighting Automations [input_boolean.lighting_automations] switch is turned on.",
"conditions": "For the actions to run, the Lighting Automations [input_boolean.lighting_automations] must be on. Additionally, either the Office Select [input_select.office] is set to 'Wake', or the Office Select [input_select.office] is set to 'Auto' and the House Select [input_select.house] is set to 'Wake'.",
"action": "The automation disables the adaptive brightness and sleep mode features for the office by turning off the corresponding switches. It then turns on the main adaptive lighting for the office and sets the office strip light to a low brightness of 5%."
},
"human_like": "Sets the office lights to a gentle 'wake' mode by turning on adaptive lighting and dimming the strip light, based on the house or office mode.",
"complexity": "medium"
}
},
{
"id": "office_meeting_ended",
"result": {
"structured": "TRIGGER: When calendar person2 work [calendar.person2_work] state changes to off OR When calendar person2 work [calendar.person2_work] calendar event ends OR When Kelsie webcam active [binary_sensor.kelsie_webcamactive] state changes to off OR When office occupied [input_boolean.office_occupied] state changes to on OR When Office mmwave region 1 [binary_sensor.office_mmwave_region_1] state changes to on OR When Office Paused [input_boolean.office_paused] state changes to off OR When Office Select [input_select.office] state changes to Motion OR When office media player [media_player.office] state changes to playing. CONDITIONS: Home Assistant Voice Mute Switch [switch.home_assistant_voice_0907a0_mute] is on AND (office occupied [input_boolean.office_occupied] is on OR Office Select [input_select.office] is Motion OR the trigger was Office mmwave region 1 [binary_sensor.office_mmwave_region_1] changing to on). ACTIONS: Turn off Home Assistant Voice Mute Switch [switch.home_assistant_voice_0907a0_mute].",
"natural_language": {
"trigger": "The automation can be triggered by any of the following events: the calendar person2 work [calendar.person2_work] showing as 'off' or a calendar event ending; the Kelsie webcam active [binary_sensor.kelsie_webcamactive] turning off; the office occupied [input_boolean.office_occupied] being turned on; the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] detecting presence (turning on); the Office Paused [input_boolean.office_paused] being turned off; the Office Select [input_select.office] being set to 'Motion'; or the office media player [media_player.office] starting to play.",
"conditions": "The Home Assistant Voice Mute Switch [switch.home_assistant_voice_0907a0_mute] must be on. Additionally, at least one of the following must be true: the office occupied [input_boolean.office_occupied] is on, the Office Select [input_select.office] is set to 'Motion', or the trigger that started the automation was the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] turning on.",
"action": "Unmute the voice assistant by turning off the Home Assistant Voice Mute Switch [switch.home_assistant_voice_0907a0_mute]."
},
"human_like": "This automation unmutes the voice assistant when an office meeting ends or when there is activity in the office, but only if the mute switch is currently on.",
"complexity": "medium"
}
},
{
"id": "office_meeting_started",
"result": {
"structured": "TRIGGER: When calendar person2 work [calendar.person2_work] state changes to on OR calendar person2 work [calendar.person2_work] calendar event start occurs OR Kelsie webcam active [binary_sensor.kelsie_webcamactive] state changes to on OR office occupied [input_boolean.office_occupied] state changes to off OR Office Paused [input_boolean.office_paused] state changes to on. CONDITIONS: Home Assistant Voice Mute Switch [switch.home_assistant_voice_0907a0_mute] is off. ACTIONS: Turn on Home Assistant Voice Mute Switch [switch.home_assistant_voice_0907a0_mute].",
"natural_language": {
"trigger": "The automation can be triggered by several events: when the calendar person2 work [calendar.person2_work] shows an event is active, when a calendar event for person2 work [calendar.person2_work] starts, when the Kelsie webcam active [binary_sensor.kelsie_webcamactive] sensor turns on, when the office occupied [input_boolean.office_occupied] status changes to off, or when the Office Paused [input_boolean.office_paused] status is turned on.",
"conditions": "The automation only runs if the Home Assistant Voice Mute Switch [switch.home_assistant_voice_0907a0_mute] is currently off.",
"action": "The automation will mute the voice assistant by turning on the Home Assistant Voice Mute Switch [switch.home_assistant_voice_0907a0_mute]."
},
"human_like": "Automatically mutes the voice assistant when a work meeting starts, the webcam activates, or the office becomes unoccupied, ensuring no interruptions.",
"complexity": "medium"
}
},
{
"id": "office_mode_no_wake",
"result": {
"structured": "TRIGGER: When Office Select [input_select.office] remains in state 'Wake' for 1 hour. CONDITIONS: None. ACTIONS: Set Office Select [input_select.office] to 'Off'.",
"natural_language": {
"trigger": "When the Office Select [input_select.office] has been set to 'Wake' and stays in that state for a full hour.",
"conditions": "There are no additional conditions that must be met.",
"action": "Changes the Office Select [input_select.office] back to the 'Off' option."
},
"human_like": "Automatically turns off the 'Wake' mode in the office after one hour of inactivity.",
"complexity": "low"
}
},
{
"id": "office_mode_off",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] changes state OR When Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] is above 90 lux OR When Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] is above 80 lux for 1 minute OR When Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] is above 70 lux for 2 minutes OR When Office Select [input_select.office] changes to Dim and remains for 1 hour OR When Office Select [input_select.office] changes to On and remains for 3 minutes OR When Lighting Office [input_boolean.lighting_office] turns on. CONDITIONS: Lighting Office [input_boolean.lighting_office] is on AND (office occupied [input_boolean.office_occupied] is off OR Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] is above 70 lux). ACTIONS: Set Office Select [input_select.office] to Off.",
"natural_language": {
"trigger": "The automation can be triggered by several events: a change in the office occupied [input_boolean.office_occupied] status, the Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] reading exceeding 90 lux, the illuminance exceeding 80 lux for at least one minute, the illuminance exceeding 70 lux for at least two minutes, the Office Select [input_select.office] being set to 'Dim' for a full hour, the Office Select [input_select.office] being set to 'On' for three minutes, or the Lighting Office [input_boolean.lighting_office] being turned on.",
"conditions": "For the action to proceed, the Lighting Office [input_boolean.lighting_office] must be on. Additionally, either the office occupied [input_boolean.office_occupied] must be off, or the Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] must be reading above 70 lux.",
"action": "The automation will turn off the office lighting by setting the Office Select [input_select.office] to 'Off'."
},
"human_like": "Turns off the office lights when the room is unoccupied or sufficiently bright, ensuring lights aren't left on unnecessarily.",
"complexity": "medium"
}
},
{
"id": "office_mode_on",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] turns on OR Lighting Office [input_boolean.lighting_office] turns on OR Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] falls below 50 lux OR Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] remains below 60 lux for 1 minute OR Office Paused [input_boolean.office_paused] turns off. CONDITIONS: (office occupied [input_boolean.office_occupied] is on AND Lighting Office [input_boolean.lighting_office] is on) AND Office Paused [input_boolean.office_paused] is off AND Office Select [input_select.office] is not set to 'Pause' or 'On' AND Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] is below 60 lux AND current time is between 05:00:00 and 22:00:00. ACTIONS: Set Office Select [input_select.office] to 'On'.",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when the office occupied [input_boolean.office_occupied] is turned on, when the Lighting Office [input_boolean.lighting_office] is turned on, when the Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] detects light levels below 50 lux, when the same sensor reports levels below 60 lux for a full minute, or when the Office Paused [input_boolean.office_paused] is turned off.",
"conditions": "For the action to run, several conditions must be met. Both the office occupied [input_boolean.office_occupied] and the Lighting Office [input_boolean.lighting_office] must be set to on. The Office Paused [input_boolean.office_paused] must be off. The current mode selected in Office Select [input_select.office] must not be 'Pause' or 'On'. The Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] must report a light level below 60 lux. Finally, the current time must be between 5:00 AM and 10:00 PM.",
"action": "Sets the office mode to 'On' by selecting the 'On' option for Office Select [input_select.office]."
},
"human_like": "Turns on the office lighting mode when the room is occupied, the lights are enabled, it's not paused, and the ambient light is low enough, but only during daytime hours.",
"complexity": "medium"
}
},
{
"id": "office_mode_wake",
"result": {
"structured": "TRIGGER: When person2 is awake [input_boolean.person2_is_awake] turns on and remains on for 15 minutes. CONDITIONS: person2 is awake [input_boolean.person2_is_awake] is on AND Workday sensor [binary_sensor.workday_sensor] is on AND Person2 on holiday [binary_sensor.person2_on_holiday] is off AND office occupied [input_boolean.office_occupied] is off AND Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] reports a value below 15 lux. ACTIONS: Wait until Master bedroom door contact [binary_sensor.master_bedroom_door_contact] is open (on), then set Office Select [input_select.office] to the 'Wake' option.",
"natural_language": {
"trigger": "When the input boolean indicating that person2 is awake [input_boolean.person2_is_awake] has been on for a continuous period of 15 minutes.",
"conditions": "All of the following must be true: person2 is awake [input_boolean.person2_is_awake] is on, it is a workday as indicated by the Workday sensor [binary_sensor.workday_sensor], person2 is not on holiday as indicated by Person2 on holiday [binary_sensor.person2_on_holiday], the office is not occupied as indicated by office occupied [input_boolean.office_occupied], and the light level in the office measured by the Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] is below 15 lux.",
"action": "The automation waits for the Master bedroom door contact [binary_sensor.master_bedroom_door_contact] to open. Once the door is open, it changes the mode of the office by setting the Office Select [input_select.office] to the 'Wake' option."
},
"human_like": "Automatically sets the office to 'Wake' mode on workday mornings when person2 is awake, the office is dark and unoccupied, and the master bedroom door opens.",
"complexity": "medium"
}
},
{
"id": "office_motion",
"result": {
"structured": "TRIGGER: When Office presence occupancy [binary_sensor.office_presence_occupancy] OR Office mmwave region 1 [binary_sensor.office_mmwave_region_1] turns on. CONDITIONS: (Office Select [input_select.office] is NOT 'Pause' AND NOT 'Dim' AND NOT 'Wake' AND NOT 'On') AND (office occupied [input_boolean.office_occupied] is off) AND (Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] is below 15). ACTIONS: Set Office Select [input_select.office] to 'Motion'.",
"natural_language": {
"trigger": "When either the Office presence occupancy [binary_sensor.office_presence_occupancy] or the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] sensor detects occupancy and changes its state to on.",
"conditions": "The automation only runs if the current mode of the office, as indicated by the Office Select [input_select.office], is not set to 'Pause', 'Dim', 'Wake', or 'On'. Additionally, the office must be marked as not occupied via the office occupied [input_boolean.office_occupied] being off, and the light level in the room, measured by the Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux], must be below 15 lux.",
"action": "Changes the office mode to 'Motion' by updating the Office Select [input_select.office] input selector."
},
"human_like": "When motion is detected in the dark office and it's not already in an active lighting mode, the system switches the room to 'Motion' mode.",
"complexity": "medium"
}
},
{
"id": "office_not_occupied",
"result": {
"structured": "TRIGGER: When Work Laptop Group [group.work_laptop] becomes not_home OR When Office mmwave region 1 [binary_sensor.office_mmwave_region_1] becomes off OR When Office mmwave region 1 [binary_sensor.office_mmwave_region_1] remains off for 10 minutes. CONDITIONS: (office occupied [input_boolean.office_occupied] is on) AND ((Work Laptop Group [group.work_laptop] is not_home) OR (Office mmwave region 1 [binary_sensor.office_mmwave_region_1] is off AND remains off for 10 minutes)) AND (Office mmwave region 1 [binary_sensor.office_mmwave_region_1] is off). ACTIONS: Turn off office occupied [input_boolean.office_occupied].",
"natural_language": {
"trigger": "When the Work Laptop Group [group.work_laptop] leaves (state becomes not_home), or when the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] stops detecting presence (state becomes off), or when the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] has been off for a continuous period of 10 minutes.",
"conditions": "The automation only runs if the office is currently marked as occupied, meaning office occupied [input_boolean.office_occupied] is on. It also requires that either the Work Laptop Group [group.work_laptop] is not home, or the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] has been off for 10 minutes. Finally, it checks that the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] is currently off.",
"action": "Marks the office as not occupied by turning off the office occupied [input_boolean.office_occupied] input boolean."
},
"human_like": "Marks the office as unoccupied when the work laptop leaves or the presence sensor indicates the room is empty for a period of time.",
"complexity": "medium"
}
},
{
"id": "office_no_motion",
"result": {
"structured": "TRIGGER: When Office presence occupancy [binary_sensor.office_presence_occupancy] changes to off OR When Office mmwave region 1 [binary_sensor.office_mmwave_region_1] changes to off OR When Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] rises above 20 lux. CONDITIONS: Office Select [input_select.office] is currently set to Motion AND (Office presence occupancy [binary_sensor.office_presence_occupancy] is off OR Office mmwave region 1 [binary_sensor.office_mmwave_region_1] is off OR Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] is above 20 lux). ACTIONS: Set Office Select [input_select.office] to Off.",
"natural_language": {
"trigger": "The automation triggers when either the Office presence occupancy [binary_sensor.office_presence_occupancy] or the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] sensor reports no occupancy (off), or when the Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] detects a light level above 20 lux.",
"conditions": "For the automation to proceed, the Office Select [input_select.office] must currently be set to 'Motion'. Additionally, at least one of the following must be true: the Office presence occupancy [binary_sensor.office_presence_occupancy] is off, the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] is off, or the Office Illuminance Sensor [sensor.office_illuminance_illuminance_lux] reads above 20 lux.",
"action": "Changes the Office Select [input_select.office] mode from 'Motion' to 'Off'."
},
"human_like": "Turns off the office's 'Motion' mode when no motion is detected or when the room becomes sufficiently bright.",
"complexity": "medium"
}
},
{
"id": "office_no_presence",
"result": {
"structured": "TRIGGER: When Office mmwave region 1 [binary_sensor.office_mmwave_region_1] changes to off. CONDITIONS: office occupied [input_boolean.office_occupied] is on AND office media player [media_player.office] is playing. ACTIONS: Set Office Select [input_select.office] to option 'Pause' AND Turn on Office Paused [input_boolean.office_paused].",
"natural_language": {
"trigger": "When the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] sensor stops detecting presence (changes to 'off').",
"conditions": "If the office occupied [input_boolean.office_occupied] flag is currently set to 'on', and the office media player [media_player.office] is in the 'playing' state.",
"action": "Pauses the media by setting the Office Select [input_select.office] to the 'Pause' option and also turns on the Office Paused [input_boolean.office_paused] flag to indicate the media was paused."
},
"human_like": "Automatically pauses the office media player when no presence is detected, but only if the room is marked as occupied and media is currently playing.",
"complexity": "low"
}
},
{
"id": "office_occupied",
"result": {
"structured": "TRIGGER: When Work Laptop Group [group.work_laptop] changes to home OR when Person2 In Bed [input_boolean.person2_in_bed] changes to off OR when person2 home status [input_boolean.person2_home] changes to on OR when Office presence occupancy [binary_sensor.office_presence_occupancy] OR Office mmwave region 1 [binary_sensor.office_mmwave_region_1] changes to on OR when Office mmwave presence [binary_sensor.office_mmwave_presence] changes to on AND remains for 5 minutes. CONDITIONS: (Office presence occupancy [binary_sensor.office_presence_occupancy] is on OR Office mmwave region 1 [binary_sensor.office_mmwave_region_1] is on OR Office MMwave Presence Event Sensor [sensor.office_mmwave_presence_event] is approach) AND (office occupied [input_boolean.office_occupied] is off AND Person2 In Bed [input_boolean.person2_in_bed] is off) AND (Work Laptop Group [group.work_laptop] is home OR Office mmwave region 1 [binary_sensor.office_mmwave_region_1] is on AND remains for 4 minutes) AND (person2 home status [input_boolean.person2_home] is on). ACTIONS: Turn on office occupied [input_boolean.office_occupied] AND turn on Lighting Office [input_boolean.lighting_office] AND turn on Stream Front Camera Motion [input_boolean.stream_front_camera_motion].",
"natural_language": {
"trigger": "The automation triggers when the work laptop arrives home, when Person2 In Bed [input_boolean.person2_in_bed] is turned off, when person2 home status [input_boolean.person2_home] is turned on, when either the Office presence occupancy [binary_sensor.office_presence_occupancy] or Office mmwave region 1 [binary_sensor.office_mmwave_region_1] sensors detect occupancy, or when the Office mmwave presence [binary_sensor.office_mmwave_presence] sensor detects presence for a continuous period of five minutes.",
"conditions": "The automation requires that at least one of the following occupancy indicators is active: the Office presence occupancy [binary_sensor.office_presence_occupancy] is on, the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] is on, or the Office MMwave Presence Event Sensor [sensor.office_mmwave_presence_event] reports an 'approach' event. Additionally, the office must not already be marked as occupied, and Person2 must not be in bed. Furthermore, either the work laptop is at home, or the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] has been on for at least four minutes. Finally, Person2 must be marked as home.",
"action": "Marks the office as occupied by turning on office occupied [input_boolean.office_occupied], turns on the office lighting via Lighting Office [input_boolean.lighting_office], and enables motion streaming for the front camera via Stream Front Camera Motion [input_boolean.stream_front_camera_motion]."
},
"human_like": "Automatically marks the office as occupied and turns on the lights and camera streaming when Person2 is home, not in bed, and presence is detected in the office, or when the work laptop arrives.",
"complexity": "high"
}
},
{
"id": "office_paused_motion",
"result": {
"structured": "TRIGGER: When Office presence occupancy [binary_sensor.office_presence_occupancy] changes to on OR Office mmwave region 1 [binary_sensor.office_mmwave_region_1] changes to on. CONDITIONS: Office Select [input_select.office] is set to Pause AND office occupied [input_boolean.office_occupied] is on. ACTIONS: Set Office Select [input_select.office] to On AND start playback on office media player [media_player.office].",
"natural_language": {
"trigger": "When either the Office presence occupancy [binary_sensor.office_presence_occupancy] or the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] sensor detects presence and changes its state to 'on'.",
"conditions": "If the Office Select [input_select.office] is currently set to 'Pause' and the office occupied [input_boolean.office_occupied] indicator is turned on.",
"action": "Changes the Office Select [input_select.office] to 'On' and resumes playback on the office media player [media_player.office]."
},
"human_like": "Resumes the office media player when someone is present and the system is paused, but only if the room is marked as occupied.",
"complexity": "low"
}
},
{
"id": "office_presence",
"result": {
"structured": "TRIGGER: When Office mmwave region 1 [binary_sensor.office_mmwave_region_1] becomes on OR Office presence occupancy [binary_sensor.office_presence_occupancy] becomes on. CONDITIONS: Office Paused [input_boolean.office_paused] is on. ACTIONS: Turn off Office Paused [input_boolean.office_paused].",
"natural_language": {
"trigger": "When either the Office mmwave region 1 [binary_sensor.office_mmwave_region_1] or the Office presence occupancy [binary_sensor.office_presence_occupancy] detects presence and changes its state to 'on'.",
"conditions": "The automation only runs if the Office Paused [input_boolean.office_paused] is currently set to 'on'.",
"action": "The automation will turn off the Office Paused [input_boolean.office_paused] input boolean."
},
"human_like": "Resumes the office's paused state when either of its presence sensors detects someone in the room.",
"complexity": "low"
}
},
{
"id": "office_sonos_switch_off",
"result": {
"structured": "TRIGGER: When Office Sonos Switch [switch.office_sonos] is turned off and remains off for 20 seconds. ACTIONS: Turn on Office Sonos Switch [switch.office_sonos].",
"natural_language": {
"trigger": "When the Office Sonos Switch [switch.office_sonos] is turned off and stays off for 20 seconds.",
"conditions": "There are no conditions for this automation.",
"action": "Turns the Office Sonos Switch [switch.office_sonos] back on."
},
"human_like": "Automatically turns the Office Sonos switch back on if it is accidentally turned off for 20 seconds.",
"complexity": "low"
}
},
{
"id": "office_sonos_unavailable",
"result": {
"structured": "TRIGGER: When office media player [media_player.office] remains in state 'unavailable' for 20 minutes OR When Office sonos family [binary_sensor.office_sonos_family] remains off for 3 minutes. CONDITIONS: Office Sonos Switch [switch.office_sonos] is on AND remains on for 1 minute. ACTIONS: Turn off Office Sonos Switch [switch.office_sonos], delay for 15 seconds, turn on Office Sonos Switch [switch.office_sonos], send a Discord notification with the message ':speaker: The office Sonos was unavailable so we power cycled it'.",
"natural_language": {
"trigger": "The automation triggers if the office media player [media_player.office] reports as 'unavailable' for a continuous period of 20 minutes, or if the Office sonos family [binary_sensor.office_sonos_family] sensor is off for 3 minutes.",
"conditions": "The automation only proceeds if the Office Sonos Switch [switch.office_sonos] has been in the 'on' state for at least one minute.",
"action": "It will turn off the Office Sonos Switch [switch.office_sonos], wait for 15 seconds, then turn it back on. Finally, it sends a notification to Discord stating ':speaker: The office Sonos was unavailable so we power cycled it'."
},
"human_like": "Automatically power cycles the Office Sonos switch and sends a notification if the speaker becomes unavailable or unresponsive for a set period of time.",
"complexity": "medium"
}
},
{
"id": "office_unoccupied",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] turns off. ACTIONS: Turn off Stream Front Camera Motion [input_boolean.stream_front_camera_motion] AND turn on Lighting Living Room [input_boolean.lighting_living_room] AND turn on Lighting Office [input_boolean.lighting_office].",
"natural_language": {
"trigger": "When the office occupied [input_boolean.office_occupied] status changes to off.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the Stream Front Camera Motion [input_boolean.stream_front_camera_motion] and turns on both the Lighting Living Room [input_boolean.lighting_living_room] and Lighting Office [input_boolean.lighting_office]."
},
"human_like": "When the office is marked as unoccupied, it stops streaming the front camera motion and turns on the living room and office lights.",
"complexity": "low"
}
},
{
"id": "office_unoccupied_window_open",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] changes to off. CONDITIONS: office occupied [input_boolean.office_occupied] is off AND Office window contact [binary_sensor.office_window_contact] is open (on). ACTIONS: Send a notification to person2 [notify.person2] with the message 'You left the office window open'.",
"natural_language": {
"trigger": "When the office occupied [input_boolean.office_occupied] status changes to off, indicating the office is no longer occupied.",
"conditions": "The office occupied [input_boolean.office_occupied] status must be off, and the Office window contact [binary_sensor.office_window_contact] must be open.",
"action": "Sends a notification to person2 [notify.person2] with the message 'You left the office window open'."
},
"human_like": "Sends a notification if you leave the office while the window is still open.",
"complexity": "low"
}
},
{
"id": "office_volume_change",
"result": {
"structured": "TRIGGER: When office media player [media_player.office] volume_level attribute changes. CONDITIONS: None. ACTIONS: Send a notification to awtrix 6d6f50 [notify.awtrix_6d6f50] with a message showing the volume percentage, an icon, and a progress bar scaled to the volume level.",
"natural_language": {
"trigger": "Whenever the volume level of the office media player [media_player.office] changes.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to the awtrix 6d6f50 [notify.awtrix_6d6f50] display. The notification shows the current volume as a percentage, displays a specific icon, and shows a progress bar that visually represents the volume level. The notification repeats once and stays visible for 2 seconds."
},
"human_like": "Shows the office speaker's volume level on a smart display whenever it is changed.",
"complexity": "low"
}
},
{
"id": "office_white_noise",
"result": {
"structured": "TRIGGER: Every 5 minutes. CONDITIONS: office occupied [input_boolean.office_occupied] is off AND remains off for 30 minutes. ACTIONS: Set volume of office media player [media_player.office] to 0.01, delay 10 seconds, check office occupied [input_boolean.office_occupied] is off, play specified sleep sound on office media player [media_player.office], delay 5 minutes, check office occupied [input_boolean.office_occupied] is off, pause office media player [media_player.office], delay 10 seconds, check office occupied [input_boolean.office_occupied] is off, set volume of office media player [media_player.office] to 0.08.",
"natural_language": {
"trigger": "The automation runs every 5 minutes.",
"conditions": "The office must be unoccupied, meaning the office occupied [input_boolean.office_occupied] has been in the 'off' state for at least 30 minutes.",
"action": "First, the volume of the office media player [media_player.office] is set very low to 0.01. After a 10-second delay, it checks again that the office is still unoccupied. If so, it plays a specific white noise sleep sound on the office media player. After a 5-minute delay, it checks once more that the office is unoccupied. If it is, it pauses the media player. After another 10-second delay, a final check confirms the office is still unoccupied, and then the volume of the office media player is set to 0.08."
},
"human_like": "Plays a quiet white noise sound in the office when it has been unoccupied for a while, adjusting the volume before and after playback.",
"complexity": "medium"
}
},
{
"id": "awtrix_outside_door_opened",
"result": {
"structured": "TRIGGER: When any of the following entities changes to on: front door contact [binary_sensor.front_door_contact], Garage door car contact [binary_sensor.garage_door_car_contact], Garage door bike contact [binary_sensor.garage_door_bike_contact], Garden gate [binary_sensor.garden_gate], Utility door exterior contact [binary_sensor.utility_door_exterior_contact], Door Test [input_boolean.door_test], Gate Test [input_boolean.gate_test], Garage Door Test [input_boolean.garage_door_test] OR when any of the same entities changes to off. CONDITIONS: office occupied [input_boolean.office_occupied] is on. ACTIONS: If the trigger was a change to on, send a notification to awtrix 6d6f50 [notify.awtrix_6d6f50] with a message stating the entity was opened and a dynamic icon based on the entity type. If the trigger was a change to off, send a notification to awtrix 6d6f50 [notify.awtrix_6d6f50] with a message stating the entity is closed and a dynamic icon based on the entity type.",
"natural_language": {
"trigger": "When any of the monitored doors, gates, or test switches (front door contact [binary_sensor.front_door_contact], Garage door car contact [binary_sensor.garage_door_car_contact], Garage door bike contact [binary_sensor.garage_door_bike_contact], Garden gate [binary_sensor.garden_gate], Utility door exterior contact [binary_sensor.utility_door_exterior_contact], Door Test [input_boolean.door_test], Gate Test [input_boolean.gate_test], Garage Door Test [input_boolean.garage_door_test]) are either opened (changed to 'on') or closed (changed to 'off').",
"conditions": "The automation only runs if the office occupied [input_boolean.office_occupied] status is set to on, meaning someone is in the office.",
"action": "Depending on whether the change was an opening or closing event, a notification is sent to the awtrix 6d6f50 [notify.awtrix_6d6f50] display. For an opening, the message states the specific door or gate was opened and uses an icon for an open door, gate, or garage door. For a closing, the message states the item is closed and uses the corresponding closed icon."
},
"human_like": "Sends a notification to the office Awtrix display when an outside door, gate, or test switch is opened or closed, but only if someone is in the office.",
"complexity": "medium"
}
},
{
"id": "pause_music_in_the_office",
"result": {
"structured": "TRIGGER: When calendar person2 work [calendar.person2_work] state changes to on OR calendar person2 work [calendar.person2_work] calendar event starts OR Kelsie webcam active [binary_sensor.kelsie_webcamactive] state changes to on OR office occupied [input_boolean.office_occupied] state changes to off OR Office Paused [input_boolean.office_paused] state changes to on OR Office Select [input_select.office] state changes to Pause. CONDITIONS: office media player [media_player.office] is playing AND (office occupied [input_boolean.office_occupied] is off OR Office Paused [input_boolean.office_paused] is on OR (office occupied [input_boolean.office_occupied] is on AND (Kelsie webcam active [binary_sensor.kelsie_webcamactive] is on OR calendar person2 work [calendar.person2_work] is on OR trigger id calendar OR trigger id webcam))). ACTIONS: Pause office media player [media_player.office].",
"natural_language": {
"trigger": "The automation triggers when any of the following events occur: the calendar person2 work [calendar.person2_work] indicates a work event is active or starts, the Kelsie webcam active [binary_sensor.kelsie_webcamactive] becomes active, the office occupied [input_boolean.office_occupied] is turned off, the Office Paused [input_boolean.office_paused] is turned on, or the Office Select [input_select.office] is set to 'Pause'.",
"conditions": "The automation only runs if the office media player [media_player.office] is currently playing. Additionally, it requires that either the office is marked as unoccupied, the pause flag is manually set, or if the office is marked as occupied, then either the webcam is active, the work calendar shows an active event, or the trigger itself was caused by a calendar or webcam event.",
"action": "Pauses the playback on the office media player [media_player.office]."
},
"human_like": "Automatically pauses the music in the office when work events, webcam activity, or manual flags indicate that the room should be quiet.",
"complexity": "high"
}
},
{
"id": "people_reloaded_when_just_arrived",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR when automations are reloaded. CONDITIONS: None. ACTIONS: For each person status dropdown, if its current state is 'Just Arrived', set it to 'Home'. Specifically: If Person2 Status Dropdown [input_select.person2_status_dropdown] is 'Just Arrived', set it to 'Home'. If Person3 Status Dropdown [input_select.person3_status_dropdown] is 'Just Arrived', set it to 'Home'. If Person1 Status Dropdown [input_select.person1_status_dropdown] is 'Just Arrived', set it to 'Home'. If Person4 Status Dropdown [input_select.person4_status_dropdown] is 'Just Arrived', set it to 'Home'.",
"natural_language": {
"trigger": "The automation runs when Home Assistant starts up or when automations are reloaded.",
"conditions": "There are no additional conditions that must be met for the actions to execute.",
"action": "For each person's status dropdown, the automation checks if the current status is 'Just Arrived'. If it is, the status is changed to 'Home'. This is done for Person2 Status Dropdown [input_select.person2_status_dropdown], Person3 Status Dropdown [input_select.person3_status_dropdown], Person1 Status Dropdown [input_select.person1_status_dropdown], and Person4 Status Dropdown [input_select.person4_status_dropdown]."
},
"human_like": "Resets any 'Just Arrived' person statuses to 'Home' whenever Home Assistant starts or automations are reloaded.",
"complexity": "medium"
}
},
{
"id": "people_reloaded_when_just_left",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR when automations are reloaded. CONDITIONS: None. ACTIONS: If Person2 Status Dropdown [input_select.person2_status_dropdown] is 'Just Left', set it to 'Away'. If Person3 Status Dropdown [input_select.person3_status_dropdown] is 'Just Left', set it to 'Away'. If Person1 Status Dropdown [input_select.person1_status_dropdown] is 'Just Left', set it to 'Away'. If Person4 Status Dropdown [input_select.person4_status_dropdown] is 'Just Left', set it to 'Away'.",
"natural_language": {
"trigger": "When Home Assistant starts up, or when automations are reloaded.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "For each of the four person status dropdowns, if its current state is 'Just Left', it will be changed to 'Away'. This is done for Person2 Status Dropdown [input_select.person2_status_dropdown], Person3 Status Dropdown [input_select.person3_status_dropdown], Person1 Status Dropdown [input_select.person1_status_dropdown], and Person4 Status Dropdown [input_select.person4_status_dropdown]."
},
"human_like": "Resets any person status marked as 'Just Left' to 'Away' whenever Home Assistant restarts or automations are reloaded.",
"complexity": "low"
}
},
{
"id": "mark_person_as_just_arrived",
"result": {
"structured": "TRIGGER: When person3 home status [input_boolean.person3_home] changes to on OR person2 home status [input_boolean.person2_home] changes to on OR Person1 Home [input_boolean.person1_home] changes to on OR Person4 Home [input_boolean.person4_home] changes to on. CONDITIONS: None. ACTIONS: Set the corresponding status dropdown for the triggered person to 'Just Arrived', unless that dropdown's current state is 'Just Left', in which case set it to 'Home'. Then, run the Scan BT Arrive Script [script.scan_bt_arrive].",
"natural_language": {
"trigger": "When any of the four person home status indicators (person3 home status [input_boolean.person3_home], person2 home status [input_boolean.person2_home], Person1 Home [input_boolean.person1_home], or Person4 Home [input_boolean.person4_home]) turns on.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "For the person whose home status just turned on, the automation updates their corresponding status dropdown (Person1 Status Dropdown [input_select.person1_status_dropdown], Person2 Status Dropdown [input_select.person2_status_dropdown], Person3 Status Dropdown [input_select.person3_status_dropdown], or Person4 Status Dropdown [input_select.person4_status_dropdown]). If their dropdown currently shows 'Just Left', it is set to 'Home'. Otherwise, it is set to 'Just Arrived'. Afterwards, the Scan BT Arrive Script [script.scan_bt_arrive] is started."
},
"human_like": "Updates a person's arrival status to 'Just Arrived' when they come home, and runs a Bluetooth scan script.",
"complexity": "medium"
}
},
{
"id": "mark_person_as_away",
"result": {
"structured": "TRIGGER: When Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] OR Person4 Status Dropdown [input_select.person4_status_dropdown] changes to the 'Just Left' state AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set the triggering dropdown (the specific entity that triggered the automation) to the 'Away' option.",
"natural_language": {
"trigger": "When any of the four person status dropdowns (Person1 Status Dropdown [input_select.person1_status_dropdown], Person2 Status Dropdown [input_select.person2_status_dropdown], Person3 Status Dropdown [input_select.person3_status_dropdown], or Person4 Status Dropdown [input_select.person4_status_dropdown]) is set to 'Just Left' and stays in that state for five minutes.",
"conditions": "There are no additional conditions that must be met.",
"action": "Changes the status of the specific person's dropdown that triggered the automation from 'Just Left' to 'Away'."
},
"human_like": "Automatically updates a person's status to 'Away' if they have been marked as 'Just Left' for five minutes.",
"complexity": "medium"
}
},
{
"id": "mark_person_as_home",
"result": {
"structured": "TRIGGER: When Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] OR Person4 Status Dropdown [input_select.person4_status_dropdown] changes to state 'Just Arrived' AND remains in that state for 5 minutes. OR When Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] OR Person4 Status Dropdown [input_select.person4_status_dropdown] changes from state 'Just Left' to state 'Just Arrived'. CONDITIONS: None. ACTIONS: Set the triggering dropdown (Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] OR Person4 Status Dropdown [input_select.person4_status_dropdown]) to the 'Home' option.",
"natural_language": {
"trigger": "The automation triggers in two ways. First, if any of the four person status dropdowns (Person1, Person2, Person3, or Person4) changes its state to 'Just Arrived' and stays in that state for five minutes. Second, if any of those dropdowns changes directly from the state 'Just Left' to the state 'Just Arrived'.",
"conditions": "There are no conditions that must be checked after the trigger.",
"action": "The automation identifies which specific person's status dropdown triggered the automation and sets that same dropdown to the 'Home' option."
},
"human_like": "Updates a person's status to 'Home' when they have either just arrived or have been in the 'Just Arrived' state for five minutes.",
"complexity": "medium"
}
},
{
"id": "mark_person_as_just_left",
"result": {
"structured": "TRIGGER: When person2 home status [input_boolean.person2_home] changes to off OR person3 home status [input_boolean.person3_home] changes to off OR Person1 Home [input_boolean.person1_home] changes to off OR Person4 Home [input_boolean.person4_home] changes to off. CONDITIONS: None. ACTIONS: Set the corresponding person's status dropdown to 'Just Left'. Specifically, if the trigger was from person2 home status [input_boolean.person2_home], set Person2 Status Dropdown [input_select.person2_status_dropdown] to 'Just Left'. If from person3 home status [input_boolean.person3_home], set Person3 Status Dropdown [input_select.person3_status_dropdown] to 'Just Left'. If from Person1 Home [input_boolean.person1_home], set Person1 Status Dropdown [input_select.person1_status_dropdown] to 'Just Left'. Otherwise, set Person4 Status Dropdown [input_select.person4_status_dropdown] to 'Just Left'.",
"natural_language": {
"trigger": "When any of the four person home status indicators (person2 home status [input_boolean.person2_home], person3 home status [input_boolean.person3_home], Person1 Home [input_boolean.person1_home], or Person4 Home [input_boolean.person4_home]) changes to 'off', indicating the person is no longer at home.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Updates the specific person's status dropdown to 'Just Left'. The automation determines which person's status changed and selects the corresponding dropdown (Person1 Status Dropdown [input_select.person1_status_dropdown], Person2 Status Dropdown [input_select.person2_status_dropdown], Person3 Status Dropdown [input_select.person3_status_dropdown], or Person4 Status Dropdown [input_select.person4_status_dropdown]) to set the option."
},
"human_like": "When someone leaves home, their status is automatically updated to 'Just Left' in the system.",
"complexity": "medium"
}
},
{
"id": "mark_person_as_nearly_home",
"result": {
"structured": "TRIGGER: When Person2 [person.person2] OR Person1 [person.person1] OR Person3 [person.person3] OR DSB 0230 device tracker [device_tracker.dsb_0230] enters the zone zone.nearly_home. CONDITIONS: None. ACTIONS: For the triggering entity, select the 'Pre Arrival' option in its corresponding status dropdown if the current value is 'Away'; otherwise, keep the current value. Specifically: If Person2 [person.person2] triggered, update Person2 Status Dropdown [input_select.person2_status_dropdown]. If Person3 [person.person3] triggered, update Person3 Status Dropdown [input_select.person3_status_dropdown]. If Person1 [person.person1] triggered, update Person1 Status Dropdown [input_select.person1_status_dropdown]. If DSB 0230 device tracker [device_tracker.dsb_0230] triggered, update Person4 Status Dropdown [input_select.person4_status_dropdown].",
"natural_language": {
"trigger": "When any of the tracked people or devices — Person2 [person.person2], Person1 [person.person1], Person3 [person.person3], or DSB 0230 device tracker [device_tracker.dsb_0230] — enters the 'nearly home' zone.",
"conditions": "There are no additional conditions that must be met for the action to run.",
"action": "The automation updates the status dropdown for the person or device that triggered it. If the person's current status is 'Away', it changes the dropdown to 'Pre Arrival'. If the status is anything other than 'Away', it leaves the dropdown unchanged. Person2 [person.person2] updates Person2 Status Dropdown [input_select.person2_status_dropdown], Person3 [person.person3] updates Person3 Status Dropdown [input_select.person3_status_dropdown], Person1 [person.person1] updates Person1 Status Dropdown [input_select.person1_status_dropdown], and DSB 0230 device tracker [device_tracker.dsb_0230] updates Person4 Status Dropdown [input_select.person4_status_dropdown]."
},
"human_like": "Updates a person's status to 'Pre Arrival' when they enter a designated 'nearly home' area, but only if they were previously marked as 'Away'.",
"complexity": "medium"
}
},
{
"id": "person1_alarm_left_playing",
"result": {
"structured": "TRIGGER: When Second bedroom door contact [binary_sensor.second_bedroom_door_contact] remains closed (off) for 2 minutes OR When person1 media player [media_player.person1] remains in playing state for 1 minute OR When person1 in bed [input_boolean.person1_in_bed] turns off. CONDITIONS: (person1 in bed [input_boolean.person1_in_bed] is off) AND (person1 media player [media_player.person1] is playing) AND (Second bedroom door contact [binary_sensor.second_bedroom_door_contact] is off AND remains stable for 2 minutes) AND (time is after 04:00:00 AND before 12:00:00). ACTIONS: Turn off person1 media player [media_player.person1].",
"natural_language": {
"trigger": "The automation triggers if the Second bedroom door contact [binary_sensor.second_bedroom_door_contact] stays closed for two minutes, or if the person1 media player [media_player.person1] stays in the playing state for one minute, or if the person1 in bed [input_boolean.person1_in_bed] status changes to off.",
"conditions": "All of the following must be true: the person1 in bed [input_boolean.person1_in_bed] status is off, the person1 media player [media_player.person1] is currently playing, the Second bedroom door contact [binary_sensor.second_bedroom_door_contact] has been closed for at least two minutes, and the current time is between 4:00 AM and 12:00 PM.",
"action": "Turns off the person1 media player [media_player.person1]."
},
"human_like": "Turns off Person1's media player if they are out of bed, the bedroom door is closed, and it's playing during the morning hours.",
"complexity": "medium"
}
},
{
"id": "person1_alarm_light",
"result": {
"structured": "TRIGGER: When Second Bedroom Light [light.second_bedroom] turns off. CONDITIONS: (person1 in bed [input_boolean.person1_in_bed] is on) AND (Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] is on). ACTIONS: Turn on Second Bedroom Light [light.second_bedroom] with a 5-second transition.",
"natural_language": {
"trigger": "When the Second Bedroom Light [light.second_bedroom] is turned off.",
"conditions": "If both the person1 in bed [input_boolean.person1_in_bed] and the Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] switches are turned on.",
"action": "Turns the Second Bedroom Light [light.second_bedroom] back on, fading it in over a 5-second period."
},
"human_like": "Turns the bedroom light back on with a gentle fade if it's turned off while the alarm is sounding and the person is in bed.",
"complexity": "low"
}
},
{
"id": "person1_alarm_playing",
"result": {
"structured": "TRIGGER: When person1 media player [media_player.person1] changes to playing OR paused. CONDITIONS: (Person1 Home [input_boolean.person1_home] is on OR second bedroom occupied [input_boolean.second_bedroom_occupied] is on) AND Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] is off AND the current time is between 04:00:00 and 12:00:00. ACTIONS: Turn on Person1 Alarm Sounded [input_boolean.person1_alarm_sounded], turn on Second Bedroom Speaker [media_player.cast_second_bedroom_speaker], wait until Second Bedroom Speaker [media_player.cast_second_bedroom_speaker] is idle, set volume of Second Bedroom Speaker [media_player.cast_second_bedroom_speaker] to 0.2, turn off Second Bedroom Speaker [media_player.cast_second_bedroom_speaker].",
"natural_language": {
"trigger": "When the person1 media player [media_player.person1] starts playing or becomes paused.",
"conditions": "If either Person1 Home [input_boolean.person1_home] is on or the second bedroom occupied [input_boolean.second_bedroom_occupied] is on, and the Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] flag is off, and the current time is between 4 AM and 12 PM.",
"action": "Sets the Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] flag to on, turns on the Second Bedroom Speaker [media_player.cast_second_bedroom_speaker], waits for the speaker to become idle, sets its volume to 20%, and then turns the speaker off."
},
"human_like": "When person1's alarm starts playing or is paused in the morning, it activates a speaker in the second bedroom to play at low volume and marks the alarm as having sounded.",
"complexity": "medium"
}
},
{
"id": "person1_asleep",
"result": {
"structured": "TRIGGER: When person1 in bed [input_boolean.person1_in_bed] remains on for 5 minutes OR at 23:00:00 OR at 00:00:00 OR at 01:00:00. CONDITIONS: person1 in bed [input_boolean.person1_in_bed] is on AND Person1 Is Awake [input_boolean.person1_is_awake] is on AND Person1 Home [input_boolean.person1_home] is on. ACTIONS: Turn off Person1 Is Awake [input_boolean.person1_is_awake] AND turn on Person1 Travel Sensor Script [script.person1_travel_sensor].",
"natural_language": {
"trigger": "When the 'person1 in bed' [input_boolean.person1_in_bed] switch has been on for five minutes, or when the time reaches 11:00 PM, midnight, or 1:00 AM.",
"conditions": "All of the following must be true: the 'person1 in bed' [input_boolean.person1_in_bed] switch is on, the 'Person1 Is Awake' [input_boolean.person1_is_awake] switch is on, and the 'Person1 Home' [input_boolean.person1_home] switch is on.",
"action": "Marks Person1 as asleep by turning off the 'Person1 Is Awake' [input_boolean.person1_is_awake] switch and then runs the 'Person1 Travel Sensor Script' [script.person1_travel_sensor]."
},
"human_like": "Marks Person1 as asleep and runs a related script when they have been in bed for a while or at specific late-night times, provided they are home and currently awake.",
"complexity": "medium"
}
},
{
"id": "person1_at_ep",
"result": {
"structured": "TRIGGER: When SM A546B device tracker [device_tracker.sm_a546b] changes state to work Park. CONDITIONS: Person1 At HW [input_boolean.person1_at_hw] is on AND person2 home status [input_boolean.person2_home] is on. ACTIONS: Send notification via notify apprise [notify.apprise] with target telegram_ha and message 'person1 is at work Park' AND turn off Person1 At HW [input_boolean.person1_at_hw].",
"natural_language": {
"trigger": "When the SM A546B device tracker [device_tracker.sm_a546b] reports that the device's location is 'work Park'.",
"conditions": "Both the Person1 At HW [input_boolean.person1_at_hw] must be switched on, and the person2 home status [input_boolean.person2_home] must also be on.",
"action": "Sends a notification to the Telegram HA target via the notify apprise [notify.apprise] service with the message 'person1 is at work Park', and then turns off the Person1 At HW [input_boolean.person1_at_hw] input boolean."
},
"human_like": "Sends a Telegram notification and updates a status when person1 arrives at work Park, but only if they were previously marked as being at HW and person2 is home.",
"complexity": "low"
}
},
{
"id": "person1_at_station",
"result": {
"structured": "TRIGGER: When SM A546B device tracker [device_tracker.sm_a546b] changes to state 'station Train Station'. CONDITIONS: (person2 home status [input_boolean.person2_home] is on OR Home Person2 Distance Sensor [sensor.home_person2_distance] is below 2000) AND Person1 At HW [input_boolean.person1_at_hw] is on. ACTIONS: Turn off Person1 At HW [input_boolean.person1_at_hw]; Update entity Next Train To ABC 3 Sensor [sensor.next_train_to_abc_3]; Send notification via person2 notification [notify.person2_telegram] with a message stating person1 is at station, and providing the next train departure times from sensor.next_train_to_abc_3.",
"natural_language": {
"trigger": "When the SM A546B device tracker [device_tracker.sm_a546b] reports that the tracked device is at 'station Train Station'.",
"conditions": "If either person2 is marked as home (person2 home status [input_boolean.person2_home] is on) or person2 is nearby (Home Person2 Distance Sensor [sensor.home_person2_distance] is less than 2000 units away), and the Person1 At HW [input_boolean.person1_at_hw] status is currently on.",
"action": "Turn off the Person1 At HW [input_boolean.person1_at_hw] status, refresh the data for the Next Train To ABC 3 Sensor [sensor.next_train_to_abc_3], and send a Telegram notification to person2. The message informs them that person1 is at the station and provides the estimated departure times of the next two trains based on the sensor data."
},
"human_like": "Notifies person2 when person1 arrives at the train station, providing upcoming train times, but only if person2 is home or nearby and person1's 'at HW' status is active.",
"complexity": "medium"
}
},
{
"id": "person1_at_station2",
"result": {
"structured": "TRIGGER: When SM A546B device tracker [device_tracker.sm_a546b] changes state to station2. CONDITIONS: (person2 home status [input_boolean.person2_home] is on OR Home Person2 Distance Sensor [sensor.home_person2_distance] is below 2000) AND Person1 At HW [input_boolean.person1_at_hw] is on. ACTIONS: Turn off Person1 At HW [input_boolean.person1_at_hw], update Next Train To ABC Sensor [sensor.next_train_to_abc], and send a notification to person2 notification [notify.person2] with a message containing the next train departure times.",
"natural_language": {
"trigger": "When the SM A546B device tracker [device_tracker.sm_a546b] reports that the tracked device is at station2.",
"conditions": "If either person2 home status [input_boolean.person2_home] is set to on, indicating person2 is home, or the Home Person2 Distance Sensor [sensor.home_person2_distance] reads less than 2000, indicating person2 is nearby. Additionally, Person1 At HW [input_boolean.person1_at_hw] must be on.",
"action": "Turns off the Person1 At HW [input_boolean.person1_at_hw] status, refreshes the data for the Next Train To ABC Sensor [sensor.next_train_to_abc], and sends a Telegram notification to person2. The message states that person1 is at station2 and provides the estimated departure times of the next two trains."
},
"human_like": "Notifies person2 when person1 arrives at station2 and provides upcoming train times, but only if person2 is home or nearby and person1 was previously marked as being at HW.",
"complexity": "medium"
}
},
{
"id": "person1_awake",
"result": {
"structured": "TRIGGER: When person1 in bed [input_boolean.person1_in_bed] changes to off. CONDITIONS: None. ACTIONS: Turn on Person1 Is Awake [input_boolean.person1_is_awake] AND Turn off Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] AND Turn off Second Bedroom Speaker [media_player.cast_second_bedroom_speaker] AND Turn off person1 media player [media_player.person1] AND Start Person1 Travel Sensor Script [script.person1_travel_sensor].",
"natural_language": {
"trigger": "When the person1 in bed [input_boolean.person1_in_bed] status changes to off, indicating the person is no longer in bed.",
"conditions": "There are no conditions for this automation.",
"action": "It marks the person as awake by turning on Person1 Is Awake [input_boolean.person1_is_awake], turns off the Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] flag, turns off the Second Bedroom Speaker [media_player.cast_second_bedroom_speaker] and the person1 media player [media_player.person1], and starts the Person1 Travel Sensor Script [script.person1_travel_sensor]."
},
"human_like": "When Person1 gets out of bed, this automation marks them as awake, silences their alarm and media players, and starts a travel sensor script.",
"complexity": "low"
}
},
{
"id": "person1_away",
"result": {
"structured": "TRIGGER: When SM A546B device tracker [device_tracker.sm_a546b] changes state OR When any of Person1 BT mobile 2 [device_tracker.person1_bt_mobile_2], Person1 BT front mobile 2 [device_tracker.person1_bt_front_mobile_2], Person person1 wifi [device_tracker.person_person1_wifi], or Nmap tracker Samsung A54 [device_tracker.nmap_tracker_samsung_a54] changes to not_home OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: Person1 Home [input_boolean.person1_home] is on AND remains stable for 2 minutes AND ( ( (The proportion of router-type trackers in Person person1 group [group.person_person1] that are home is less than or equal to 50% AND The proportion of bluetooth-type trackers in Person person1 group [group.person_person1] that are home is less than or equal to 50%) AND (front door contact [binary_sensor.front_door_contact] changed state within the last 5 minutes OR Garage door car contact [binary_sensor.garage_door_car_contact] changed state within the last 5 minutes) ) OR ( (The proportion of all trackers in Person person1 group [group.person_person1] that are home is less than 100%) AND (The distance reported by SM A546B device tracker [device_tracker.sm_a546b] is greater than 0.3 AND the trigger ID is 'gps') ) OR (The distance reported by SM A546B device tracker [device_tracker.sm_a546b] is greater than 0.6 AND the trigger ID is 'gps') ). ACTIONS: Run the Person1 Away Script [script.person1_away] AND Turn off Person1 Alarm Sounded [input_boolean.person1_alarm_sounded].",
"natural_language": {
"trigger": "This automation can be triggered in several ways: when the GPS location of the SM A546B device tracker [device_tracker.sm_a546b] updates; when any of the passive trackers for Person1 (Person1 BT mobile 2 [device_tracker.person1_bt_mobile_2], Person1 BT front mobile 2 [device_tracker.person1_bt_front_mobile_2], Person person1 wifi [device_tracker.person_person1_wifi], or Nmap tracker Samsung A54 [device_tracker.nmap_tracker_samsung_a54]) report a 'not_home' state; when automations are reloaded in the system; or when Home Assistant itself starts up.",
"conditions": "For the automation to proceed, Person1 must be marked as home for at least two minutes, meaning the Person1 Home [input_boolean.person1_home] input boolean must be 'on' and stable. Furthermore, one of three complex scenarios must be true. The first scenario checks if less than half of the router-based trackers and less than half of the bluetooth-based trackers in the Person person1 group [group.person_person1] are at home, and that either the front door contact [binary_sensor.front_door_contact] or the garage door car contact [binary_sensor.garage_door_car_contact] was opened or closed within the last five minutes. The second scenario checks if not all trackers in the Person person1 group [group.person_person1] are home, and that the GPS tracker [device_tracker.sm_a546b] reports a distance greater than 0.3 units, but only if the trigger was a GPS update. The third scenario is a simpler check that the GPS tracker [device_tracker.sm_a546b] reports a distance greater than 0.6 units, again only if the trigger was a GPS update.",
"action": "If all conditions are met, the automation executes two actions: it runs the Person1 Away Script [script.person1_away] to perform a series of 'away' routines, and it turns off the Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] indicator."
},
"human_like": "Marks Person1 as away and silences their alarm when multiple device trackers and door sensors indicate they have likely left the home, using a combination of presence percentages and GPS distance checks.",
"complexity": "high"
}
},
{
"id": "person1_bedside_left_on",
"result": {
"structured": "TRIGGER: When the time reaches 23:59:59. CONDITIONS: Second Bedroom Light [light.second_bedroom] is on. ACTIONS: Set Second Bedroom Select [input_select.second_bedroom] to 'Bedtime', wait for 1 minute, then set Second Bedroom Select [input_select.second_bedroom] to 'Off'.",
"natural_language": {
"trigger": "At exactly 23:59:59 each day.",
"conditions": "The Second Bedroom Light [light.second_bedroom] must be turned on.",
"action": "Changes the Second Bedroom Select [input_select.second_bedroom] to the 'Bedtime' option, waits for one minute, and then changes it to the 'Off' option."
},
"human_like": "At midnight, if the bedroom light is on, it sets a bedtime scene for one minute before turning it off.",
"complexity": "low"
}
},
{
"id": "person1_changing_zones",
"result": {
"structured": "TRIGGER: When SM A546B device tracker [device_tracker.sm_a546b] remains away (not_home) for 5 minutes OR When SM A546B device tracker [device_tracker.sm_a546b] returns home (from not_home) OR When SM A546B WiFi Connection Sensor [sensor.sm_a546b_wifi_connection] becomes disconnected (<not connected>) OR When SM A546B WiFi Connection Sensor [sensor.sm_a546b_wifi_connection] becomes reconnected (from <not connected>). CONDITIONS: The time elapsed since Person1 Traveltime Script [script.person1_traveltime] was last triggered is greater than 300 seconds. ACTIONS: Start Person1 Traveltime Script [script.person1_traveltime].",
"natural_language": {
"trigger": "When the SM A546B device tracker [device_tracker.sm_a546b] has been away from home for at least five minutes, or when it returns home, or when the SM A546B WiFi Connection Sensor [sensor.sm_a546b_wifi_connection] loses its connection, or when the WiFi connection is restored.",
"conditions": "The Person1 Traveltime Script [script.person1_traveltime] must not have been triggered in the last five minutes.",
"action": "Run the Person1 Traveltime Script [script.person1_traveltime]."
},
"human_like": "Triggers a travel time calculation script when a person's phone leaves home, returns home, or changes its WiFi connection, but only if the script hasn't run recently.",
"complexity": "medium"
}
},
{
"id": "person1_home",
"result": {
"structured": "TRIGGER: When any of the following device trackers changes state to home: Person1 BT mobile 2 [device_tracker.person1_bt_mobile_2], Person1 BT front mobile 2 [device_tracker.person1_bt_front_mobile_2], Person person1 wifi [device_tracker.person_person1_wifi], Nmap tracker Samsung A54 [device_tracker.nmap_tracker_samsung_a54] OR When front door contact [binary_sensor.front_door_contact] changes to open (on) or closed (off) OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: Person person1 group [group.person_person1] state is home AND (The count of 'home' state entities within Person person1 group [group.person_person1] is greater than 1 OR (The time since front door contact [binary_sensor.front_door_contact] last changed is less than 120 seconds AND the count of 'home' state entities within Person person1 group [group.person_person1] is greater than 0)). ACTIONS: Run Person1 Home Script [script.person1_home].",
"natural_language": {
"trigger": "This automation triggers when any of the four device trackers for Person1 (Person1 BT mobile 2 [device_tracker.person1_bt_mobile_2], Person1 BT front mobile 2 [device_tracker.person1_bt_front_mobile_2], Person person1 wifi [device_tracker.person_person1_wifi], or Nmap tracker Samsung A54 [device_tracker.nmap_tracker_samsung_a54]) reports arriving home. It also triggers when the front door contact [binary_sensor.front_door_contact] opens or closes, when automations are reloaded, or when Home Assistant starts up.",
"conditions": "For the automation to proceed, the Person person1 group [group.person_person1] must already be in the 'home' state. Furthermore, either more than one of the trackers in the group must be reporting 'home', or the front door must have been opened or closed within the last two minutes and at least one tracker in the group must be reporting 'home'.",
"action": "The automation runs the Person1 Home Script [script.person1_home]."
},
"human_like": "This automation runs a 'Person1 home' script when Person1 arrives home, using multiple device trackers and door activity to confirm their presence.",
"complexity": "high"
}
},
{
"id": "person1_home_after_work",
"result": {
"structured": "TRIGGER: When SM A546B device tracker [device_tracker.sm_a546b] changes to home and remains for 10 minutes. CONDITIONS: Notify Person1 Work [input_boolean.notify_person1_work] is on AND ((time is after 15:00:00 on Monday, Tuesday, Wednesday, or Thursday) OR (time is after 12:00:00 on Friday)). ACTIONS: Turn off Person1 home after work automation [automation.person1_home_after_work].",
"natural_language": {
"trigger": "When the SM A546B device tracker [device_tracker.sm_a546b] shows that the device is at home and stays in that state for at least ten minutes.",
"conditions": "The automation only runs if the Notify Person1 Work [input_boolean.notify_person1_work] switch is turned on. Additionally, the current time must be after 3:00 PM on a Monday, Tuesday, Wednesday, or Thursday, OR after 12:00 PM on a Friday.",
"action": "The automation turns itself off by disabling the Person1 home after work automation [automation.person1_home_after_work]."
},
"human_like": "Turns itself off when Person1 arrives home after work hours, but only if notifications for their work schedule are enabled.",
"complexity": "medium"
}
},
{
"id": "person1_in_bed",
"result": {
"structured": "TRIGGER: When second bedroom occupied [input_boolean.second_bedroom_occupied] turns on and remains on for 5 minutes OR When Second ensuite door contact [binary_sensor.second_ensuite_door_contact] closes (off) and remains closed for 5 minutes OR When the time is 22:01:00 OR When Roku Active App Sensor [sensor.roku_x00200y5s7lx_active_app] changes from 'PlayStation 5'. CONDITIONS: person1 in bed [input_boolean.person1_in_bed] is off AND Person1 Home [input_boolean.person1_home] is on AND The current time is between 22:00:00 and 06:00:00 AND second bedroom occupied [input_boolean.second_bedroom_occupied] is on and remains on for 5 minutes AND Second ensuite door contact [binary_sensor.second_ensuite_door_contact] is closed (off) AND Roku Active App Sensor [sensor.roku_x00200y5s7lx_active_app] is NOT 'PlayStation 5'. ACTIONS: Turn on person1 in bed [input_boolean.person1_in_bed] AND Turn off Person1 Alarm Sounded [input_boolean.person1_alarm_sounded].",
"natural_language": {
"trigger": "This automation can start when any of these events occur: the second bedroom is marked as occupied for at least five minutes, the ensuite door remains closed for at least five minutes, the clock reaches 10:01 PM, or the Roku stops showing the PlayStation 5 app.",
"conditions": "For the automation to proceed, the following must all be true: the system must not already think person1 is in bed, person1 must be marked as home, the current time must be between 10:00 PM and 6:00 AM, the second bedroom must be occupied for at least five minutes, the ensuite door must be closed, and the Roku must not be actively showing the PlayStation 5 app.",
"action": "The automation marks person1 as being in bed and turns off any alarm that may have been sounding for them."
},
"human_like": "Marks person1 as in bed during the night when they are home, the bedroom is occupied, the ensuite door is closed, and they are not using the PlayStation 5.",
"complexity": "medium"
}
},
{
"id": "person1_location_update",
"result": {
"structured": "TRIGGER: When SM A546B device tracker [device_tracker.sm_a546b] OR Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person1 Home [input_boolean.person1_home] OR Person1s Time To Home Duration Sensor [sensor.person1s_time_to_home_duration] OR Person1s Time To Home By Bus Google Sensor [sensor.person1s_time_to_home_by_bus_google] OR Person1s Time To Home By Foot Duration Sensor [sensor.person1s_time_to_home_by_foot_duration] OR Person1s Time To Home Waze Sensor [sensor.person1s_time_to_home_waze] OR Person1 Places Sensor [sensor.person1_places] changes state. CONDITIONS: None. ACTIONS: Start Person1 Travel Sensor Script [script.person1_travel_sensor].",
"natural_language": {
"trigger": "Whenever any of the following entities changes its state: the SM A546B device tracker [device_tracker.sm_a546b], the Person1 Status Dropdown [input_select.person1_status_dropdown], the Person1 Home [input_boolean.person1_home], the Person1s Time To Home Duration Sensor [sensor.person1s_time_to_home_duration], the Person1s Time To Home By Bus Google Sensor [sensor.person1s_time_to_home_by_bus_google], the Person1s Time To Home By Foot Duration Sensor [sensor.person1s_time_to_home_by_foot_duration], the Person1s Time To Home Waze Sensor [sensor.person1s_time_to_home_waze], or the Person1 Places Sensor [sensor.person1_places].",
"conditions": "There are no additional conditions that must be met.",
"action": "The automation runs the Person1 Travel Sensor Script [script.person1_travel_sensor] to update the person's travel information."
},
"human_like": "Updates Person1's travel status by running a script whenever any relevant location or status sensor changes.",
"complexity": "medium"
}
},
{
"id": "person1_next_alarm",
"result": {
"structured": "TRIGGER: When next alarm sensor [sensor.sm_a546b_next_alarm] changes to a null state AND remains null for 5 minutes. ACTIONS: Set Person1 Next Alarm [input_datetime.person1_next_alarm] to the timestamp value of next alarm sensor [sensor.sm_a546b_next_alarm] (converted to a timestamp, defaulting to 0 if invalid).",
"natural_language": {
"trigger": "When the next alarm sensor [sensor.sm_a546b_next_alarm] reports a null value and that state persists for five minutes.",
"conditions": "There are no conditions for this automation.",
"action": "Updates the Person1 Next Alarm [input_datetime.person1_next_alarm] input datetime entity. The new value is set to the timestamp representation of the sensor's state, using a default of 0 if the conversion fails."
},
"human_like": "Updates the 'Person1 Next Alarm' input when the phone's alarm sensor reports no upcoming alarm for five minutes.",
"complexity": "low"
}
},
{
"id": "person1_not_at_work",
"result": {
"structured": "TRIGGER: When University Person1 Distance Sensor [sensor.university_person1_distance] is above 10000. CONDITIONS: Person1 At HW [input_boolean.person1_at_hw] is on. ACTIONS: Turn off Person1 At HW [input_boolean.person1_at_hw].",
"natural_language": {
"trigger": "When the University Person1 Distance Sensor [sensor.university_person1_distance] reports a distance greater than 10000.",
"conditions": "The Person1 At HW [input_boolean.person1_at_hw] status must be on.",
"action": "Turns off the Person1 At HW [input_boolean.person1_at_hw] status."
},
"human_like": "Updates Person1's work status to 'not at work' when they are more than 10000 units away.",
"complexity": "low"
}
},
{
"id": "person1_on_the_move",
"result": {
"structured": "TRIGGER: When the state of SM A546B device tracker [device_tracker.sm_a546b] changes. CONDITIONS: Person1 Home [input_boolean.person1_home] is off AND Person1 Overseas [input_boolean.person1_overseas] is off AND ( (Person1 Traveltime Script [script.person1_traveltime] was last triggered more than 300 seconds ago OR never triggered) AND (the new state of SM A546B device tracker [device_tracker.sm_a546b] is 'University' AND the previous state was 'not_home') ) OR ( (Person1 Traveltime Script [script.person1_traveltime] was last triggered more than 1800 seconds ago OR never triggered) AND Person1 At HW [input_boolean.person1_at_hw] is on ) OR ( (Person1 Traveltime Script [script.person1_traveltime] was last triggered more than 300 seconds ago OR never triggered) AND Home Person1 Distance Sensor [sensor.home_person1_distance] is below 2000 ) OR ( (Person1 Traveltime Script [script.person1_traveltime] was last triggered more than 900 seconds ago OR never triggered) AND Home Person1 Distance Sensor [sensor.home_person1_distance] is above 1999 AND below 10000 ) OR ( (Person1 Traveltime Script [script.person1_traveltime] was last triggered more than 1800 seconds ago OR never triggered) AND Home Person1 Distance Sensor [sensor.home_person1_distance] is above 9999 AND below 20000 ) OR ( (Person1 Traveltime Script [script.person1_traveltime] was last triggered more than 3600 seconds ago OR never triggered) AND Home Person1 Distance Sensor [sensor.home_person1_distance] is above 19999 ) ). ACTIONS: Start the Person1 Traveltime Script [script.person1_traveltime].",
"natural_language": {
"trigger": "Whenever the location state of the SM A546B device tracker [device_tracker.sm_a546b] changes.",
"conditions": "The Person1 Home [input_boolean.person1_home] status must be off, and the Person1 Overseas [input_boolean.person1_overseas] status must also be off. Furthermore, one of the following scenarios must be true: 1) The Person1 Traveltime Script [script.person1_traveltime] hasn't been run in the last 5 minutes (or ever), and the device tracker just arrived at 'University' from being 'not_home'. 2) The script hasn't been run in the last 30 minutes (or ever), and the Person1 At HW [input_boolean.person1_at_hw] status is on. 3) The script hasn't been run in the last 5 minutes (or ever), and the Home Person1 Distance Sensor [sensor.home_person1_distance] shows a distance less than 2 km. 4) The script hasn't been run in the last 15 minutes (or ever), and the distance is between 2 km and 10 km. 5) The script hasn't been run in the last 30 minutes (or ever), and the distance is between 10 km and 20 km. 6) The script hasn't been run in the last hour (or ever), and the distance is greater than 20 km.",
"action": "Activates the Person1 Traveltime Script [script.person1_traveltime]."
},
"human_like": "Estimates travel time for Person1 when they are not home or overseas, based on their location changes and distance from home, while preventing the script from running too frequently.",
"complexity": "high"
}
},
{
"id": "person1_phone_alarm",
"result": {
"structured": "TRIGGER: When the current time matches the value of next alarm sensor [sensor.sm_a546b_next_alarm]. CONDITIONS: Person1 Home [input_boolean.person1_home] is on AND next alarm sensor [sensor.sm_a546b_next_alarm] is not unavailable. ACTIONS: Set Second Bedroom Select [input_select.second_bedroom] to the option 'Wake'.",
"natural_language": {
"trigger": "The automation triggers at the time specified by the next alarm sensor [sensor.sm_a546b_next_alarm].",
"conditions": "Person1 Home [input_boolean.person1_home] must be on, and the next alarm sensor [sensor.sm_a546b_next_alarm] must have a valid value (not unavailable).",
"action": "Sets the Second Bedroom Select [input_select.second_bedroom] to 'Wake'."
},
"human_like": "Sets the second bedroom to 'Wake' mode when Person1's phone alarm goes off and they are home.",
"complexity": "low"
}
},
{
"id": "person1_phone_plugged",
"result": {
"structured": "TRIGGER: When a tasker_webhook event occurs with event_data.who equal to 'person1'. CONDITIONS: The event data contains the string 'Plugged' in the 'what' field. ACTIONS: Turn off Person1 Phone Charging [input_boolean.person1_phone_charging], wait 2 seconds, then turn on Person1 Phone Charging [input_boolean.person1_phone_charging].",
"natural_language": {
"trigger": "When a webhook event from Tasker is received, specifically for person1.",
"conditions": "The content of the webhook event must include the word 'Plugged' in its data.",
"action": "The automation briefly toggles the Person1 Phone Charging [input_boolean.person1_phone_charging] indicator off, waits two seconds, and then turns it back on."
},
"human_like": "Briefly toggles the phone charging indicator for person1 when a 'plugged' webhook is received, likely to refresh a display or trigger another action.",
"complexity": "low"
}
},
{
"id": "person1_phone_unplugged",
"result": {
"structured": "TRIGGER: When a Tasker webhook event occurs with event data containing who: person1. CONDITIONS: The event data includes the string 'Unplugged' in the 'what' field. ACTIONS: Turn on Person1 Phone Charging [input_boolean.person1_phone_charging], wait 2 seconds, then turn off Person1 Phone Charging [input_boolean.person1_phone_charging].",
"natural_language": {
"trigger": "When a webhook event from Tasker is received, specifically for person1.",
"conditions": "The content of the webhook event's 'what' field must contain the word 'Unplugged'.",
"action": "Briefly turn on the Person1 Phone Charging [input_boolean.person1_phone_charging] indicator for two seconds and then turn it off."
},
"human_like": "Briefly flashes the phone charging indicator when Person1's phone is unplugged, as reported by a Tasker webhook.",
"complexity": "low"
}
},
{
"id": "awtrix_person1_status_pixel",
"result": {
"structured": "TRIGGER: When Person1 [person.person1] changes state OR When Home Person1 Distance Sensor [sensor.home_person1_distance] changes state OR When office occupied [input_boolean.office_occupied] turns on OR When Person1 Home [input_boolean.person1_home] turns on. CONDITIONS: (Person1 Home [input_boolean.person1_home] is off AND Home Person1 Distance Sensor [sensor.home_person1_distance] is less than 200). ACTIONS: If conditions are met, publish an MQTT message to topic 'awtrix_6d6f50/indicator3' with a colour defined by the 'status_colour' variable and a fade duration of 2000 ms. Otherwise, publish an MQTT message to the same topic with the colour defined by the 'status_colour' variable without a fade. The 'status_colour' variable is defined as: [0,64,0] if Person1 Home [input_boolean.person1_home] is on; else [0,162,128] if Person1 [person.person1] is 'work'; else [0,128,128] if University Person1 Distance Sensor [sensor.university_person1_distance] is less than 1500; else [64,41,0] if Home Person1 Distance Sensor [sensor.home_person1_distance] is less than 500; else [255,255,0] if Person1 [person.person1] is 'station Train Station' or 'station2'; else [64,0,64] if Person1 [person.person1] is not 'not_home'; else [64,0,0].",
"natural_language": {
"trigger": "The automation runs when there is a change in the state of Person1 [person.person1], a change in the distance reported by the Home Person1 Distance Sensor [sensor.home_person1_distance], when the office occupied [input_boolean.office_occupied] input boolean is turned on, or when the Person1 Home [input_boolean.person1_home] input boolean is turned on.",
"conditions": "For the primary action sequence to run, Person1 Home [input_boolean.person1_home] must be off, and the distance from home reported by the Home Person1 Distance Sensor [sensor.home_person1_distance] must be less than 200 meters. If these conditions are not met, a default action runs.",
"action": "If the conditions are satisfied, the automation sends an MQTT command to an Awtrix device's indicator3, setting its colour based on Person1's status and location, and includes a 2-second fade effect. The colour is determined by a complex set of rules: green if the person is marked as home, teal if at work, another teal if near the university, brown if within 500 meters of home, yellow if at a train station, purple if not 'not_home', and dark red otherwise. If the conditions are not met, it sends the same colour command but without the fade effect."
},
"human_like": "Updates an Awtrix display pixel with a colour representing Person1's location and status, using a smooth fade when they are near home but not marked as home.",
"complexity": "high"
}
},
{
"id": "person1_tablet_away",
"result": {
"structured": "TRIGGER: When Person person1 tablet group [group.person_person1_tablet] changes to not_home OR when Home Assistant starts. CONDITIONS: Person1 Tablet Home [input_boolean.person1_tablet_home] is on AND Person person1 tablet group [group.person_person1_tablet] is not_home AND ((the time since front door contact [binary_sensor.front_door_contact] last changed is less than 300 seconds) OR (the time since Garage door car contact [binary_sensor.garage_door_car_contact] last changed is less than 300 seconds)). ACTIONS: Turn off Person1 Tablet Home [input_boolean.person1_tablet_home].",
"natural_language": {
"trigger": "The automation runs either when the Person person1 tablet group [group.person_person1_tablet] changes its state to 'not_home', or when Home Assistant itself starts up.",
"conditions": "The automation checks that the Person1 Tablet Home [input_boolean.person1_tablet_home] is currently on, and that the Person person1 tablet group [group.person_person1_tablet] is in the 'not_home' state. It also requires that either the front door contact [binary_sensor.front_door_contact] or the Garage door car contact [binary_sensor.garage_door_car_contact] was opened or closed within the last five minutes.",
"action": "It turns off the Person1 Tablet Home [input_boolean.person1_tablet_home] input boolean."
},
"human_like": "Marks a tablet as away when it leaves home, but only if a door has been used recently, to confirm the departure.",
"complexity": "medium"
}
},
{
"id": "person1_tablet_home",
"result": {
"structured": "TRIGGER: When Person person1 tablet group [group.person_person1_tablet] changes state to home OR when Home Assistant starts. CONDITIONS: Person1 Tablet Home [input_boolean.person1_tablet_home] is off AND Person person1 tablet group [group.person_person1_tablet] is home. ACTIONS: Turn on Person1 Tablet Home [input_boolean.person1_tablet_home].",
"natural_language": {
"trigger": "When the Person person1 tablet group [group.person_person1_tablet] arrives home, or when the Home Assistant system starts up.",
"conditions": "If the Person1 Tablet Home [input_boolean.person1_tablet_home] is currently off, and the Person person1 tablet group [group.person_person1_tablet] is currently at home.",
"action": "Turns on the Person1 Tablet Home [input_boolean.person1_tablet_home] input boolean."
},
"human_like": "Sets a flag to indicate that a person's tablet is at home when the device arrives or when the system restarts.",
"complexity": "low"
}
},
{
"id": "person1_travelling",
"result": {
"structured": "TRIGGER: When Home Person1 Distance Sensor [sensor.home_person1_distance] is above 50000 for 3 hours OR at 23:00:00. CONDITIONS: Person1 Home [input_boolean.person1_home] is off AND Home Person1 Distance Sensor [sensor.home_person1_distance] is above 20000. ACTIONS: Turn on Person1 Travelling [input_boolean.person1_travelling].",
"natural_language": {
"trigger": "The automation triggers when the Home Person1 Distance Sensor [sensor.home_person1_distance] reports a distance greater than 50000 for three consecutive hours, or when the time reaches 11:00 PM.",
"conditions": "Both conditions must be met: Person1 Home [input_boolean.person1_home] must be in the 'off' state, and the Home Person1 Distance Sensor [sensor.home_person1_distance] must be reporting a distance greater than 20000.",
"action": "Sets the Person1 Travelling [input_boolean.person1_travelling] status to 'on'."
},
"human_like": "Marks Person1 as travelling if they are far from home for an extended period or if it's late at night and they are not home.",
"complexity": "medium"
}
},
{
"id": "person1_up",
"result": {
"structured": "TRIGGER: When second bedroom occupied [input_boolean.second_bedroom_occupied] turns off OR Person1 Home [input_boolean.person1_home] turns off OR When Second bedroom door contact [binary_sensor.second_bedroom_door_contact] opens (on) and remains open for 30 seconds OR When Second ensuite door contact [binary_sensor.second_ensuite_door_contact] opens (on) OR When Roku Active App Sensor [sensor.roku_x00200y5s7lx_active_app] changes to 'PlayStation 5'. CONDITIONS: person1 in bed [input_boolean.person1_in_bed] is on AND time is between 05:00:00 and 21:00:00 AND (Roku Active App Sensor [sensor.roku_x00200y5s7lx_active_app] is 'PlayStation 5' OR Person1 Home [input_boolean.person1_home] is off OR second bedroom occupied [input_boolean.second_bedroom_occupied] is off OR (Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] is on AND (Second bedroom door contact [binary_sensor.second_bedroom_door_contact] is on OR Second ensuite door contact [binary_sensor.second_ensuite_door_contact] is on))). ACTIONS: Turn off person1 in bed [input_boolean.person1_in_bed] AND Turn off Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] AND Turn off adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom].",
"natural_language": {
"trigger": "The automation triggers when any of the following occurs: the second bedroom occupied [input_boolean.second_bedroom_occupied] status turns off, the Person1 Home [input_boolean.person1_home] status turns off, the Second bedroom door contact [binary_sensor.second_bedroom_door_contact] is opened and remains open for 30 seconds, the Second ensuite door contact [binary_sensor.second_ensuite_door_contact] opens, or the Roku Active App Sensor [sensor.roku_x00200y5s7lx_active_app] shows the active app is 'PlayStation 5'.",
"conditions": "For the automation to run, the person1 in bed [input_boolean.person1_in_bed] status must be on, and the current time must be between 5:00 AM and 9:00 PM. Additionally, at least one of the following must be true: the Roku is showing 'PlayStation 5', Person1 is marked as not home, the second bedroom is marked as not occupied, or Person1's alarm has sounded and either the bedroom or ensuite door is open.",
"action": "The automation marks the person as no longer in bed by turning off the person1 in bed [input_boolean.person1_in_bed] and Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] statuses, and also turns off the adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom]."
},
"human_like": "This automation detects when Person1 is getting up, based on door openings, app usage, or occupancy changes, and turns off their 'in bed' status and bedroom sleep lighting.",
"complexity": "medium"
}
},
{
"id": "person1_up_reminder_off",
"result": {
"structured": "TRIGGER: When Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] changes to off. CONDITIONS: None. ACTIONS: Turn off Wake Person1 Script [script.wake_person1].",
"natural_language": {
"trigger": "When the Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Stops the Wake Person1 Script [script.wake_person1] from running."
},
"human_like": "Stops the wake-up reminder for Person1 when their alarm is turned off.",
"complexity": "low"
}
},
{
"id": "person1_wifi_status",
"result": {
"structured": "TRIGGER: When SM A546B WiFi Connection Sensor [sensor.sm_a546b_wifi_connection] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: None. ACTIONS: If the state of SM A546B WiFi Connection Sensor [sensor.sm_a546b_wifi_connection] contains the text 'Cogs-n-Gears', then publish an MQTT message to topic 'location/person1_wifi' with payload 'home' and retain flag true. Otherwise, publish an MQTT message to the same topic with payload 'not_home' and retain flag true.",
"natural_language": {
"trigger": "This automation runs when the SM A546B WiFi Connection Sensor [sensor.sm_a546b_wifi_connection] updates its state, when Home Assistant first starts up, or when any automation is reloaded.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "The automation checks if the current state of the SM A546B WiFi Connection Sensor [sensor.sm_a546b_wifi_connection] contains the text 'Cogs-n-Gears'. If it does, it sends an MQTT message to the topic 'location/person1_wifi' with the message 'home' and sets it to be retained. If it does not contain that text, it sends a message to the same topic with 'not_home' and retains it."
},
"human_like": "Updates a person's location status via MQTT based on whether their phone is connected to a specific WiFi network.",
"complexity": "medium"
}
},
{
"id": "person2_up_early",
"result": {
"structured": "TRIGGER: When person2 media player [media_player.person2] changes to playing OR when Master Bedroom Media Player [media_player.master_bedroom] changes to playing. CONDITIONS: (The sun is below the horizon (before sunrise)) AND (The time is after 02:00:00) AND (Number Sign Switch [switch.number_sign] is off). ACTIONS: Turn on Number Sign Switch [switch.number_sign].",
"natural_language": {
"trigger": "When either the person2 media player [media_player.person2] or the Master Bedroom Media Player [media_player.master_bedroom] starts playing media.",
"conditions": "If it is before sunrise, the current time is after 2:00 AM, and the Number Sign Switch [switch.number_sign] is currently off.",
"action": "Turns on the Number Sign Switch [switch.number_sign]."
},
"human_like": "Turns on the number sign early in the morning if media starts playing before sunrise, indicating someone is up.",
"complexity": "medium"
}
},
{
"id": "person2_asleep",
"result": {
"structured": "TRIGGER: When Person2 In Bed [input_boolean.person2_in_bed] remains on for 5 minutes OR When SleepAsAndroid Person2 Sensor [sensor.sleepasandroid_person2] changes from sleep_tracking_stopped, unavailable, or sleep_tracking_paused to any state except sleep_tracking_stopped, sleep_tracking_paused, or unavailable, and remains in that new state for 1 minute. CONDITIONS: (person2 is awake [input_boolean.person2_is_awake] is on AND person2 home status [input_boolean.person2_home] is on AND Person2 Phone Charging [input_boolean.person2_phone_charging] is on) AND NOT (SleepAsAndroid Person2 Sensor [sensor.sleepasandroid_person2] is sleep_tracking_stopped OR unavailable). ACTIONS: Turn on Person2 In Bed [input_boolean.person2_in_bed]; Turn off person2 is awake [input_boolean.person2_is_awake]; Turn on Person2 Travel Sensor Script [script.person2_travel_sensor].",
"natural_language": {
"trigger": "When the Person2 In Bed [input_boolean.person2_in_bed] switch has been on for at least five minutes, or when the SleepAsAndroid Person2 Sensor [sensor.sleepasandroid_person2] transitions from a non-tracking state (like stopped, paused, or unavailable) to a tracking state and stays in that new state for at least one minute.",
"conditions": "All of the following must be true: the person2 is awake [input_boolean.person2_is_awake] switch is on, the person2 home status [input_boolean.person2_home] switch is on, and the Person2 Phone Charging [input_boolean.person2_phone_charging] switch is on. Additionally, the SleepAsAndroid Person2 Sensor [sensor.sleepasandroid_person2] must not be in a sleep_tracking_stopped or unavailable state.",
"action": "It sets the Person2 In Bed [input_boolean.person2_in_bed] switch to on, turns off the person2 is awake [input_boolean.person2_is_awake] switch, and starts the Person2 Travel Sensor Script [script.person2_travel_sensor]."
},
"human_like": "This automation marks Person2 as asleep when they are in bed or when their sleep tracking app starts, provided they are home, awake, and their phone is charging.",
"complexity": "medium"
}
},
{
"id": "person2_at_amsterdam_airport",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to Amsterdam Airport. CONDITIONS: None. ACTIONS: Send a notification to person3 notification [notify.person3] with the message 'person2 has arrived at Amsterdam Airport'.",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] reports that its location is Amsterdam Airport.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to person3 notification [notify.person3] stating that person2 has arrived at Amsterdam Airport."
},
"human_like": "Sends a notification when a specific person's phone arrives at Amsterdam Airport.",
"complexity": "low"
}
},
{
"id": "person2_at_brussels_airport",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to Brussels Airport. CONDITIONS: None. ACTIONS: Send a notification to person3 notification [notify.person3] with the message 'person2 has arrived at Brussels Airport'.",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] reports that its location is Brussels Airport.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to person3 notification [notify.person3] stating that person2 has arrived at Brussels Airport."
},
"human_like": "Sends a notification when a specific phone arrives at Brussels Airport.",
"complexity": "low"
}
},
{
"id": "person2_at_paris_cdg_airport",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to 'Paris CDG Airport'. CONDITIONS: None. ACTIONS: Send a notification to person3 notification [notify.person3] with the message 'person2 has arrived at Paris CDG Airport'.",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] reports that its location is 'Paris CDG Airport'.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to person3 notification [notify.person3] containing the message 'person2 has arrived at Paris CDG Airport'."
},
"human_like": "Sends a notification to person3 when person2's phone arrives at Paris CDG Airport.",
"complexity": "low"
}
},
{
"id": "person2_at_gym",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] remains at Gym for 15 minutes. CONDITIONS: None. ACTIONS: Turn on Person2 returning home automation [automation.person2_returning_home] AND IF Person2 Driving [input_boolean.person2_driving] is on THEN turn off Person2 Driving [input_boolean.person2_driving].",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] shows that the device is at the Gym location for a continuous period of 15 minutes.",
"conditions": "There are no conditions that must be checked before the actions run.",
"action": "First, it enables the Person2 returning home automation [automation.person2_returning_home]. Then, it checks if the Person2 Driving [input_boolean.person2_driving] status is on, and if it is, it turns it off."
},
"human_like": "When Person2 has been at the gym for 15 minutes, it triggers their 'returning home' routine and turns off their driving status if it was on.",
"complexity": "low"
}
},
{
"id": "person2_at_dulles_airport",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to Dulles Airport. CONDITIONS: None. ACTIONS: Send a notification to person3 notification [notify.person3] with the message 'person2 has arrived at Dulles Airport'.",
"natural_language": {
"trigger": "When the location of the Pixel XL device tracker [device_tracker.pixel_xl] changes to Dulles Airport.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to person3 via the person3 notification [notify.person3] service, informing them that person2 has arrived at Dulles Airport."
},
"human_like": "Sends a notification when person2's phone arrives at Dulles Airport.",
"complexity": "low"
}
},
{
"id": "person2_at_lcy",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to London City Airport OR when Pixel XL device tracker [device_tracker.pixel_xl] changes state to LHR T2. CONDITIONS: None. ACTIONS: Send a notification to person3 notification [notify.person3] with the message 'person2 has arrived at London City Airport'.",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] reports that the device's location is either London City Airport or LHR T2.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to person3 notification [notify.person3] stating that person2 has arrived at London City Airport."
},
"human_like": "Notifies person3 when person2's phone arrives at either London City Airport or LHR T2.",
"complexity": "low"
}
},
{
"id": "person2_at_lhr",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to 'London Heathrow Airport' OR when Pixel XL device tracker [device_tracker.pixel_xl] changes state to 'LHR T2'. CONDITIONS: None. ACTIONS: Send a notification to person3 notification [notify.person3] with the message 'person2 has arrived at London Heathrow Airport'.",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] reports its location as either 'London Heathrow Airport' or 'LHR T2'.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to person3 notification [notify.person3] stating that person2 has arrived at London Heathrow Airport."
},
"human_like": "Notifies person3 when person2's phone arrives at London Heathrow Airport.",
"complexity": "low"
}
},
{
"id": "person2_at_sin",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to Singapore Airport. CONDITIONS: None. ACTIONS: Send a notification to person3 notification [notify.person3] with the message 'person2 has arrived at Singapore Airport'.",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] reports its location as Singapore Airport.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to person3 notification [notify.person3] stating that person2 has arrived at Singapore Airport."
},
"human_like": "Notifies person3 when person2's phone arrives at Singapore Airport.",
"complexity": "low"
}
},
{
"id": "person2_at_station",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to home Station. CONDITIONS: Workday sensor [binary_sensor.workday_sensor] is on. ACTIONS: Turn on Person2 returning home automation [automation.person2_returning_home].",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] reports arriving at a location named 'home Station'.",
"conditions": "The Workday sensor [binary_sensor.workday_sensor] must be on, indicating it is a workday.",
"action": "Activates the Person2 returning home automation [automation.person2_returning_home]."
},
"human_like": "Starts the 'person2 returning home' routine when Person2 arrives at the station on a workday.",
"complexity": "low"
}
},
{
"id": "person2_at_work_airport",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] state changes to 'work Airport' AND remains for 1 hour. CONDITIONS: Person2 at work airport returning automation [automation.person2_at_work_airport_returning] is off. ACTIONS: Turn on Person2 at work airport returning automation [automation.person2_at_work_airport_returning].",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] shows that the device is at 'work Airport' and stays in that state for a full hour.",
"conditions": "The automation will only proceed if the Person2 at work airport returning automation [automation.person2_at_work_airport_returning] is currently turned off.",
"action": "Activates the Person2 at work airport returning automation [automation.person2_at_work_airport_returning] by turning it on."
},
"human_like": "Starts the 'returning from work' automation when Person2 has been at the airport work location for an hour.",
"complexity": "low"
}
},
{
"id": "person2_at_work_airport_returning",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to 'work Airport'. CONDITIONS: person2 home status [input_boolean.person2_home] is off. ACTIONS: Send a notification to person3 notification [notify.person3] with the message 'person2 has landed at work Aiport' AND turn off Person2 at work airport returning automation [automation.person2_at_work_airport_returning].",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] reports that the device is at 'work Airport'.",
"conditions": "The person2 home status [input_boolean.person2_home] must be set to off, indicating that person2 is not at home.",
"action": "Sends a notification to person3 notification [notify.person3] stating 'person2 has landed at work Aiport', and then turns off the Person2 at work airport returning automation [automation.person2_at_work_airport_returning] to prevent further notifications."
},
"human_like": "Notifies person3 when person2's phone arrives at the work airport, but only if person2 is not already marked as home.",
"complexity": "low"
}
},
{
"id": "person2_awake",
"result": {
"structured": "TRIGGER: When media_player.master_bedroom OR media_player.person2 changes from playing to off (id: alarm) OR When input_boolean.person2_phone_charging OR input_boolean.person2_tablet_charging changes to off (id: unplugged) OR When sensor.sleepasandroid_person2 changes to sleep_tracking_stopped (id: stopped) OR When a SleepAsAndroid_person2 event occurs with event data event: alarm_alert_dismiss (id: sleep_alarm) OR When a SleepAsAndroid_person2 event occurs with event data event: alarm_skip_next (id: sleep_alarm_skip) OR When sensor.sleepasandroid_person2 changes to alarm_rescheduled (id: sleep_alarm_rescheduled). CONDITIONS: input_boolean.person2_is_awake is off AND (trigger id: alarm OR trigger id: unplugged OR (input_boolean.person2_pre_alarm is on AND (trigger id: stopped OR trigger id: sleep_alarm OR trigger id: sleep_alarm_skip OR trigger id: sleep_alarm_rescheduled))). ACTIONS: Turn on person2 is awake [input_boolean.person2_is_awake] AND Turn off Person2 In Bed [input_boolean.person2_in_bed] AND Turn off Person2 Pre Alarm [input_boolean.person2_pre_alarm] AND Turn on Person2 Travel Sensor Script [script.person2_travel_sensor].",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when either the Master Bedroom Media Player [media_player.master_bedroom] or the person2 media player [media_player.person2] stops playing, when either Person2 Phone Charging [input_boolean.person2_phone_charging] or Person2 Tablet Charging [input_boolean.person2_tablet_charging] is turned off, when the SleepAsAndroid Person2 Sensor [sensor.sleepasandroid_person2] reports that sleep tracking has stopped, or when specific SleepAsAndroid events occur such as an alarm being dismissed, skipped, or rescheduled.",
"conditions": "For the automation to run, the person2 is awake [input_boolean.person2_is_awake] must currently be off. Additionally, the trigger must be either the media player stopping or a device being unplugged, OR, if Person2 Pre Alarm [input_boolean.person2_pre_alarm] is on, the trigger must be related to the sleep tracking stopping or a sleep alarm event.",
"action": "The automation marks the person as awake by turning on person2 is awake [input_boolean.person2_is_awake], turns off the Person2 In Bed [input_boolean.person2_in_bed] and Person2 Pre Alarm [input_boolean.person2_pre_alarm] statuses, and activates the Person2 Travel Sensor Script [script.person2_travel_sensor]."
},
"human_like": "This automation detects when Person2 wakes up, based on media players stopping, devices being unplugged, or sleep tracking events, and then updates their status and runs a travel sensor script.",
"complexity": "medium"
}
},
{
"id": "person2_away",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state OR When any of Person2 BT mobile 2 [device_tracker.person2_bt_mobile_2], Person2 BT front mobile 2 [device_tracker.person2_bt_front_mobile_2], Person person2 wifi [device_tracker.person_person2_wifi], or Google Pixel 8 [device_tracker.google_pixel_8] changes to not_home OR When Person2 Driving [input_boolean.person2_driving] turns on OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: person2 home status [input_boolean.person2_home] is on AND remains stable for 2 minutes AND (Person2 Driving [input_boolean.person2_driving] is on OR ( (The proportion of router-type trackers in Person person2 group [group.person_person2] that are home is less than or equal to 50% AND The proportion of bluetooth-type trackers in Person person2 group [group.person_person2] that are home is less than or equal to 50%) AND front door contact [binary_sensor.front_door_contact] is closed (off) AND (front door contact [binary_sensor.front_door_contact] changed within the last 5 minutes OR Garage door car contact [binary_sensor.garage_door_car_contact] changed within the last 5 minutes) ) OR ( (The proportion of all trackers in Person person2 group [group.person_person2] that are home is less than 100%) AND The distance of Pixel XL device tracker [device_tracker.pixel_xl] is greater than 0.3 ) OR (The proportion of all trackers in Person person2 group [group.person_person2] that are home is 0%) OR (The distance of Pixel XL device tracker [device_tracker.pixel_xl] is greater than 0.6) ). ACTIONS: Run the Person2 Away Script [script.person2_away].",
"natural_language": {
"trigger": "The automation can be triggered by several events: a change in the state of the Pixel XL device tracker [device_tracker.pixel_xl]; any of the trackers for Person2 BT mobile 2 [device_tracker.person2_bt_mobile_2], Person2 BT front mobile 2 [device_tracker.person2_bt_front_mobile_2], Person person2 wifi [device_tracker.person_person2_wifi], or Google Pixel 8 [device_tracker.google_pixel_8] becoming 'not_home'; the Person2 Driving [input_boolean.person2_driving] status turning on; the Home Assistant system reloading automations; or when Home Assistant itself starts up.",
"conditions": "For the automation to proceed, the person2 home status [input_boolean.person2_home] must be 'on' and remain in that state for at least two minutes. Additionally, at least one of the following scenarios must be true: Person2 is marked as driving; or, most of Person2's router and Bluetooth trackers show them away, the front door is closed, and either the front door or the garage car door was opened within the last five minutes; or, some of Person2's trackers show them away and their Pixel XL is more than 0.3 units away; or, all of Person2's trackers show them away; or, their Pixel XL is more than 0.6 units away.",
"action": "Executes the Person2 Away Script [script.person2_away] to handle the actions associated with Person2 leaving."
},
"human_like": "This automation marks Person2 as away by running a script when their device trackers indicate they have left home, using a combination of door sensors, driving status, and location data to confirm.",
"complexity": "high"
}
},
{
"id": "person2_away_garage_open",
"result": {
"structured": "TRIGGER: When person2 home status [input_boolean.person2_home] changes to off AND remains off for 2 minutes. CONDITIONS: Garage door car contact [binary_sensor.garage_door_car_contact] is on. ACTIONS: Send a high-priority TTS notification to mobile app pixel xl [notify.mobile_app_pixel_xl] with the message 'You left the garage door open, you pillock.' AND turn off Person2 away garage open automation [automation.person2_away_garage_open].",
"natural_language": {
"trigger": "When the person2 home status [input_boolean.person2_home] changes to indicate the person is away and remains in that state for two minutes.",
"conditions": "The Garage door car contact [binary_sensor.garage_door_car_contact] must report that the garage door is open.",
"action": "Sends a high-priority text-to-speech notification to the mobile app pixel xl [notify.mobile_app_pixel_xl] with a specific message, and then disables this automation to prevent repeated notifications."
},
"human_like": "Sends a voice alert to a phone if the garage door is left open when someone leaves the house, then turns itself off.",
"complexity": "low"
}
},
{
"id": "person2_changing_zones",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] remains not_home for 5 minutes OR When Pixel XL device tracker [device_tracker.pixel_xl] changes from not_home to any other state. CONDITIONS: The time elapsed since Person2 Traveltime Script [script.person2_traveltime] was last triggered is greater than 300 seconds (5 minutes). ACTIONS: Execute Person2 Traveltime Script [script.person2_traveltime].",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] has been away from home (not_home) for at least five minutes, or when it returns home (changes from not_home to any other state).",
"conditions": "The Person2 Traveltime Script [script.person2_traveltime] must not have been triggered in the last five minutes.",
"action": "Runs the Person2 Traveltime Script [script.person2_traveltime]."
},
"human_like": "Calculates travel time for Person2 when they leave or return home, but only if the calculation hasn't been run recently.",
"complexity": "medium"
}
},
{
"id": "person2_coming_home",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to home Station. CONDITIONS: (Time is after 10:00:00) AND (home occupied [binary_sensor.home_occupied] is off). ACTIONS: Send notification to person2 notification [notify.person2] with message 'Nobody's home right now' AND turn off Person2 coming home automation [automation.person2_coming_home].",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] arrives at the location 'home Station'.",
"conditions": "If the current time is after 10:00:00 and the home occupied [binary_sensor.home_occupied] sensor indicates the home is unoccupied (off).",
"action": "Sends a notification to person2 [notify.person2] stating 'Nobody's home right now' and then disables this automation itself [automation.person2_coming_home]."
},
"human_like": "Notifies person2 when they arrive home after 10 AM if the house is empty, and then turns itself off.",
"complexity": "low"
}
},
{
"id": "person2_driving",
"result": {
"structured": "TRIGGER: When pixel xl android auto [binary_sensor.pixel_xl_android_auto] turns on. CONDITIONS: Person2 Driving [input_boolean.person2_driving] is off. ACTIONS: Turn on Person2 Driving [input_boolean.person2_driving].",
"natural_language": {
"trigger": "When the pixel xl android auto [binary_sensor.pixel_xl_android_auto] becomes active (turns on).",
"conditions": "The Person2 Driving [input_boolean.person2_driving] status must currently be off.",
"action": "Sets the Person2 Driving [input_boolean.person2_driving] status to on."
},
"human_like": "Sets a flag to indicate Person2 is driving when their phone connects to Android Auto.",
"complexity": "low"
}
},
{
"id": "person2_high_accuracy",
"result": {
"structured": "TRIGGER: When Pixel XL high accuracy mode [binary_sensor.pixel_xl_high_accuracy_mode] turns on and remains on for 5 minutes OR when person2 home status [input_boolean.person2_home] turns on. CONDITIONS: Pixel XL high accuracy mode [binary_sensor.pixel_xl_high_accuracy_mode] is on. ACTIONS: Send a notification to mobile app pixel xl [notify.mobile_app_pixel_xl] with the command 'turn_off'.",
"natural_language": {
"trigger": "When the Pixel XL high accuracy mode [binary_sensor.pixel_xl_high_accuracy_mode] has been active for five minutes, or when the person2 home status [input_boolean.person2_home] is switched on.",
"conditions": "The Pixel XL high accuracy mode [binary_sensor.pixel_xl_high_accuracy_mode] must be currently on.",
"action": "Sends a notification to the mobile app pixel xl [notify.mobile_app_pixel_xl] containing the command to turn off high accuracy mode."
},
"human_like": "Turns off the phone's high accuracy mode when the user arrives home or after it has been on for five minutes.",
"complexity": "low"
}
},
{
"id": "person2_home",
"result": {
"structured": "TRIGGER: When any of the following device trackers changes state to home: Person2 BT mobile 2 [device_tracker.person2_bt_mobile_2], Person2 BT front mobile 2 [device_tracker.person2_bt_front_mobile_2], Person person2 wifi [device_tracker.person_person2_wifi], Google Pixel 8 [device_tracker.google_pixel_8] OR When front door contact [binary_sensor.front_door_contact] changes to open (on) or closed (off) OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: Person person2 group [group.person_person2] state is home AND (The count of 'home' state entities within Person person2 group [group.person_person2] is greater than 1 OR (The time since front door contact [binary_sensor.front_door_contact] last changed is less than 2 minutes AND The count of 'home' state entities within Person person2 group [group.person_person2] is greater than 0)). ACTIONS: Run Person2 Home Script [script.person2_home].",
"natural_language": {
"trigger": "The automation triggers when any of the four device trackers for person2 (Person2 BT mobile 2, Person2 BT front mobile 2, Person person2 wifi, or Google Pixel 8) reports arriving home. It also triggers when the front door contact sensor changes its state (either opening or closing), when automations are reloaded in the system, or when Home Assistant itself starts up.",
"conditions": "For the automation to proceed, the Person person2 group must be in the 'home' state. Furthermore, it requires that either more than one of the trackers within that group show 'home', or if the front door was opened or closed within the last two minutes, at least one tracker in the group shows 'home'.",
"action": "The automation executes the Person2 Home Script, which likely performs a series of actions to set up the home environment for person2's arrival."
},
"human_like": "This automation runs a welcome-home routine for person2 when they arrive, using device tracking and door activity as triggers, ensuring they are reliably detected as home.",
"complexity": "high"
}
},
{
"id": "person2_home_disable_garage_open",
"result": {
"structured": "TRIGGER: When person2 home status [input_boolean.person2_home] changes to on. CONDITIONS: person2 home status [input_boolean.person2_home] is on. ACTIONS: Turn off Person2 away garage open automation [automation.person2_away_garage_open].",
"natural_language": {
"trigger": "When the person2 home status [input_boolean.person2_home] changes to on.",
"conditions": "If the person2 home status [input_boolean.person2_home] is currently on.",
"action": "Disables the Person2 away garage open automation [automation.person2_away_garage_open]."
},
"human_like": "Disables the garage opening automation when person2 is marked as home.",
"complexity": "low"
}
},
{
"id": "person2_home_enable_garage_open",
"result": {
"structured": "TRIGGER: When person2 home status [input_boolean.person2_home] remains on for 15 minutes OR When Garage door car contact [binary_sensor.garage_door_car_contact] remains off for 15 minutes. CONDITIONS: person2 home status [input_boolean.person2_home] is on AND remains on for 15 minutes AND Garage door car contact [binary_sensor.garage_door_car_contact] is off AND remains off for 15 minutes. ACTIONS: Turn on Person2 away garage open automation [automation.person2_away_garage_open].",
"natural_language": {
"trigger": "When the person2 home status [input_boolean.person2_home] has been on for at least 15 minutes, or when the Garage door car contact [binary_sensor.garage_door_car_contact] has been off for at least 15 minutes.",
"conditions": "The person2 home status [input_boolean.person2_home] must be on and have remained on for at least 15 minutes. Additionally, the Garage door car contact [binary_sensor.garage_door_car_contact] must be off and have remained off for at least 15 minutes.",
"action": "Enables the Person2 away garage open automation [automation.person2_away_garage_open] by turning it on."
},
"human_like": "Enables the garage door automation for when Person2 is away, but only after confirming Person2 is home and the garage door has been closed for a period of time.",
"complexity": "medium"
}
},
{
"id": "person2_in_bed",
"result": {
"structured": "TRIGGER: When Person2 Tablet Charging [input_boolean.person2_tablet_charging] turns on OR Person2 Phone Charging [input_boolean.person2_phone_charging] turns on OR Master Bedroom Occupied [input_boolean.master_bedroom_occupied] turns on OR at 22:00:01. CONDITIONS: (person2 home status [input_boolean.person2_home] is on) AND (Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is on) AND (current time is after 22:00:00 AND before 04:00:00) AND (Person2 Tablet Charging [input_boolean.person2_tablet_charging] is on OR Person2 Phone Charging [input_boolean.person2_phone_charging] is on). ACTIONS: Turn on Person2 In Bed [input_boolean.person2_in_bed] AND if Person2 Driving [input_boolean.person2_driving] is on, turn it off.",
"natural_language": {
"trigger": "The automation triggers when either Person2's tablet or phone starts charging, when the master bedroom is marked as occupied, or at 10:00:01 PM.",
"conditions": "For the actions to run, person2 must be marked as home, the master bedroom must be occupied, the current time must be between 10:00 PM and 4:00 AM, and at least one of Person2's devices (tablet or phone) must be charging.",
"action": "The automation marks Person2 as in bed by turning on the corresponding status. Additionally, if Person2 was previously marked as driving, that status is turned off."
},
"human_like": "This automation marks Person2 as being in bed for the night when they are home, in the master bedroom, and charging a device during the late evening or night.",
"complexity": "medium"
}
},
{
"id": "person2_in_the_car",
"result": {
"structured": "TRIGGER: When a tasker_webhook event occurs with event_data.who equal to 'person2'. CONDITIONS: The event_data.what field contains the substring 'BT Car' AND person2 home status [input_boolean.person2_home] is off. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] containing a message that checks if the Pixel XL device tracker [device_tracker.pixel_xl] was last updated within the last 60 seconds AND if the Pixel XL device tracker [device_tracker.pixel_xl] was last updated within the last 60 seconds, then turn on Person2 Traveltime Script [script.person2_traveltime].",
"natural_language": {
"trigger": "When a webhook event from Tasker is received, specifically for 'person2'.",
"conditions": "The webhook event data must contain the text 'BT Car', and the person2 home status [input_boolean.person2_home] must be set to off.",
"action": "First, a debug message is sent to the Debug Log Notify [notify.debug_log] service, reporting whether the Pixel XL device tracker [device_tracker.pixel_xl] location was updated within the last 60 seconds and how many seconds ago it was last updated. Then, if the Pixel XL device tracker [device_tracker.pixel_xl] location was indeed updated within the last 60 seconds, the Person2 Traveltime Script [script.person2_traveltime] is started."
},
"human_like": "When Person2 is detected to be in the car via a webhook and is not at home, it logs the freshness of their phone's location and, if recent, starts a travel time calculation script.",
"complexity": "medium"
}
},
{
"id": "person2_location_update",
"result": {
"structured": "TRIGGER: When any of the following entities change state: Pixel XL device tracker [device_tracker.pixel_xl] OR Person person2 wifi [device_tracker.person_person2_wifi] OR Person2 BT front mobile 2 [device_tracker.person2_bt_front_mobile_2] OR Person2 BT mobile 2 [device_tracker.person2_bt_mobile_2] OR office occupied [input_boolean.office_occupied] OR person2 home status [input_boolean.person2_home] OR Person2 In Bed [input_boolean.person2_in_bed] OR person2 is awake [input_boolean.person2_is_awake] OR Person2 Overseas [input_boolean.person2_overseas] OR Person2 Travelling [input_boolean.person2_travelling] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person2s Time To Home Distance Sensor [sensor.person2s_time_to_home_distance] OR Person2s Time To Home Waze Sensor [sensor.person2s_time_to_home_waze] OR Person2 Places Sensor [sensor.person2_places]. CONDITIONS: None. ACTIONS: Execute the Person2 Travel Sensor Script [script.person2_travel_sensor].",
"natural_language": {
"trigger": "This automation runs whenever there is a change in the state of any of the following: the Pixel XL device tracker, the Person person2 wifi tracker, the Person2 BT front mobile 2 tracker, the Person2 BT mobile 2 tracker, the office occupied status, the person2 home status, whether Person2 is in bed, whether Person2 is awake, whether Person2 is overseas, whether Person2 is travelling, the Person2 status dropdown selection, the Person2s time to home distance sensor, the Person2s time to home Waze sensor, or the Person2 places sensor.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "It runs the Person2 Travel Sensor Script to update the person's location and travel status."
},
"human_like": "Updates Person2's location and travel status whenever any relevant device tracker, sensor, or status changes.",
"complexity": "medium"
}
},
{
"id": "person2_nearly_home",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] enters the zone 'nearly_home'. CONDITIONS: person2 home status [input_boolean.person2_home] is off. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] with the message 'person2 is nearly home'.",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] enters the 'nearly_home' zone.",
"conditions": "The person2 home status [input_boolean.person2_home] must be off, meaning person2 is not currently marked as home.",
"action": "Sends a debug notification to Debug Log Notify [notify.debug_log] stating 'person2 is nearly home'."
},
"human_like": "Sends a debug notification when person2's phone enters the 'nearly home' zone and they are not already marked as home.",
"complexity": "low"
}
},
{
"id": "person2_next_alarm",
"result": {
"structured": "TRIGGER: When a tasker_webhook event occurs with event_data containing what: next_alarm AND who: person2. CONDITIONS: None. ACTIONS: Set Person2 Next Alarm [input_datetime.person2_next_alarm] date and time. If the 'when' field in the event data contains the string '%taskertime' after a space, set time to 12:00 and date to 1970-01-01. Otherwise, parse the 'when' field as a timestamp and set the time and date accordingly.",
"natural_language": {
"trigger": "When a webhook event from Tasker is received, specifically indicating it's for the next alarm for person2.",
"conditions": "There are no conditions for this automation.",
"action": "Updates the Person2 Next Alarm [input_datetime.person2_next_alarm] entity. If the alarm time data contains a special placeholder value, it sets a default time and date. Otherwise, it converts the provided timestamp into the correct format for the entity."
},
"human_like": "Updates the next alarm time for person2 when a notification is received from their phone.",
"complexity": "medium"
}
},
{
"id": "person2_not_driving",
"result": {
"structured": "TRIGGER: When pixel xl android auto [binary_sensor.pixel_xl_android_auto] changes to off. CONDITIONS: Person2 Driving [input_boolean.person2_driving] is on. ACTIONS: Turn off Person2 Driving [input_boolean.person2_driving].",
"natural_language": {
"trigger": "When the pixel xl android auto [binary_sensor.pixel_xl_android_auto] sensor indicates that Android Auto is no longer active (turns off).",
"conditions": "If the Person2 Driving [input_boolean.person2_driving] status is currently set to on.",
"action": "Sets the Person2 Driving [input_boolean.person2_driving] status to off."
},
"human_like": "Turns off the 'Person2 Driving' status when Android Auto disconnects from the phone.",
"complexity": "low"
}
},
{
"id": "person2_not_overseas",
"result": {
"structured": "TRIGGER: When Pixel XL Geocoded Location Sensor [sensor.pixel_xl_geocoded_location] attribute iso_country_code changes to GB. CONDITIONS: Pixel XL Geocoded Location Sensor [sensor.pixel_xl_geocoded_location] attribute iso_country_code is GB AND Person2 Overseas [input_boolean.person2_overseas] is on. ACTIONS: Turn off Person2 Overseas [input_boolean.person2_overseas].",
"natural_language": {
"trigger": "When the Pixel XL Geocoded Location Sensor [sensor.pixel_xl_geocoded_location] reports that the country code has changed to GB.",
"conditions": "The Pixel XL Geocoded Location Sensor [sensor.pixel_xl_geocoded_location] must currently report the country code as GB, and the Person2 Overseas [input_boolean.person2_overseas] flag must be set to on.",
"action": "Turns off the Person2 Overseas [input_boolean.person2_overseas] flag, indicating the person is no longer considered overseas."
},
"human_like": "When Person2's phone detects they are in the United Kingdom, it automatically updates their status to indicate they are no longer overseas.",
"complexity": "low"
}
},
{
"id": "person2_on_the_move",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state. CONDITIONS: (Person2 Traveltime Script [script.person2_traveltime] has never been triggered OR more than 300 seconds have passed since its last trigger) AND (person2 home status [input_boolean.person2_home] is off) AND ((more than 300 seconds since last trigger AND Home Person2 Distance Sensor [sensor.home_person2_distance] is between 10 and 20000) OR (more than 600 seconds since last trigger AND Home Person2 Distance Sensor [sensor.home_person2_distance] is between 19999 and 40000) OR (more than 900 seconds since last trigger AND Home Person2 Distance Sensor [sensor.home_person2_distance] is between 39999 and 60000) OR (more than 3600 seconds since last trigger AND Home Person2 Distance Sensor [sensor.home_person2_distance] is between 59999 and 100000) OR (more than 10800 seconds since last trigger AND Home Person2 Distance Sensor [sensor.home_person2_distance] is between 99999 and 199999) OR (more than 86400 seconds since last trigger AND Home Person2 Distance Sensor [sensor.home_person2_distance] is above 200000)). ACTIONS: Turn on Person2 Traveltime Script [script.person2_traveltime].",
"natural_language": {
"trigger": "Whenever the Pixel XL device tracker [device_tracker.pixel_xl] reports a change in its state.",
"conditions": "First, the Person2 Traveltime Script [script.person2_traveltime] must either have never been triggered before, or at least 5 minutes (300 seconds) must have passed since it was last triggered. Second, the person2 home status [input_boolean.person2_home] must be off, indicating the person is not at home. Finally, the current distance of the person from home, measured by the Home Person2 Distance Sensor [sensor.home_person2_distance], must fall into one of several distance bands, each with its own required minimum time since the last script trigger. For example, if the distance is between 10 and 20,000 meters, at least 5 minutes must have passed. The required delay increases with distance, up to requiring a full day (86,400 seconds) for distances over 200,000 meters.",
"action": "Starts the Person2 Traveltime Script [script.person2_traveltime]."
},
"human_like": "Calculates travel time for person2 when they are away from home, but only after a suitable delay based on how far they have traveled.",
"complexity": "high"
}
},
{
"id": "person2_overseas",
"result": {
"structured": "TRIGGER: When Pixel XL Geocoded Location Sensor [sensor.pixel_xl_geocoded_location] attribute iso_country_code changes from GB. CONDITIONS: (Pixel XL Geocoded Location Sensor [sensor.pixel_xl_geocoded_location] is NOT unknown AND Pixel XL Geocoded Location Sensor [sensor.pixel_xl_geocoded_location] attribute iso_country_code is NOT GB) AND Person2 Overseas [input_boolean.person2_overseas] is off. ACTIONS: Turn on Person2 Overseas [input_boolean.person2_overseas].",
"natural_language": {
"trigger": "When the country code attribute of the Pixel XL Geocoded Location Sensor [sensor.pixel_xl_geocoded_location] changes from being 'GB'.",
"conditions": "The location sensor must not be in an 'unknown' state, and its country code attribute must not be 'GB'. Additionally, the Person2 Overseas [input_boolean.person2_overseas] flag must currently be off.",
"action": "Sets the Person2 Overseas [input_boolean.person2_overseas] flag to on."
},
"human_like": "Flags that Person2 is overseas when their phone's location indicates they have left the United Kingdom.",
"complexity": "medium"
}
},
{
"id": "person2_phone_not_plugged",
"result": {
"structured": "TRIGGER: At 22:45:00 daily. CONDITIONS: Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] is 'none' AND person2 home status [input_boolean.person2_home] is 'on'. ACTIONS: Send notification via person2 notification [notify.person2] with message 'Don't forget to plug the phone in'.",
"natural_language": {
"trigger": "Every day at 10:45 PM.",
"conditions": "The Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] reports that the phone is not connected to a charger (state 'none'), and the person2 home status [input_boolean.person2_home] indicates that person2 is home.",
"action": "Sends a notification to person2 via person2 notification [notify.person2] reminding them to plug their phone in."
},
"human_like": "Sends a nightly reminder to person2 to charge their phone if they are home and the phone is not plugged in.",
"complexity": "low"
}
},
{
"id": "person2_phone_plugged",
"result": {
"structured": "TRIGGER: When a tasker_webhook event occurs with event_data.who equal to 'person2' OR when Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] changes state from 'none'. CONDITIONS: Person2 Phone Charging [input_boolean.person2_phone_charging] is off AND ( (trigger is an event AND 'Plugged' is in trigger.event.data.what) OR (Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] is NOT 'none') ). ACTIONS: Turn on Person2 Phone Charging [input_boolean.person2_phone_charging].",
"natural_language": {
"trigger": "When a webhook event from Tasker is received for 'person2', or when the Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] changes from a state of 'none'.",
"conditions": "The Person2 Phone Charging [input_boolean.person2_phone_charging] status must be off. Additionally, either the webhook event must contain the word 'Plugged' in its data, or the Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] must not be reporting 'none'.",
"action": "Turns on the Person2 Phone Charging [input_boolean.person2_phone_charging] indicator."
},
"human_like": "Turns on the phone charging indicator for person2 when their phone is plugged in, detected either via a webhook notification or a charger sensor.",
"complexity": "medium"
}
},
{
"id": "person2_phone_unplugged",
"result": {
"structured": "TRIGGER: When a Tasker webhook event occurs with data field 'who' equal to 'person2' OR When Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] changes to state 'none'. CONDITIONS: Person2 Phone Charging [input_boolean.person2_phone_charging] is on AND (The trigger is an event where the event data 'what' contains 'Unplugged' OR Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] is 'none'). ACTIONS: Turn off Person2 Phone Charging [input_boolean.person2_phone_charging].",
"natural_language": {
"trigger": "When a Tasker webhook event is received where the 'who' field is set to 'person2', or when the Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] reports that the charger type is 'none'.",
"conditions": "The Person2 Phone Charging [input_boolean.person2_phone_charging] must be currently on. Additionally, either the webhook event must contain the word 'Unplugged' in its 'what' data field, or the Pixel XL Charger Type Sensor [sensor.pixel_xl_charger_type] must be in the 'none' state.",
"action": "Turns off the Person2 Phone Charging [input_boolean.person2_phone_charging] status indicator."
},
"human_like": "Turns off the phone charging status for person2 when their phone is unplugged, detected either via a webhook notification or a sensor.",
"complexity": "medium"
}
},
{
"id": "person2_pre_alarm",
"result": {
"structured": "TRIGGER: When an event SleepAsAndroid_person2 occurs with event_data event equal to 'smart_period' OR When an event SleepAsAndroid_person2 occurs with event_data event equal to 'before_smart_period'. CONDITIONS: None. ACTIONS: Turn on Person2 Pre Alarm [input_boolean.person2_pre_alarm].",
"natural_language": {
"trigger": "When the SleepAsAndroid app for person2 sends an event indicating the start of a 'smart_period' or a 'before_smart_period'.",
"conditions": "There are no conditions that need to be met.",
"action": "Activates the Person2 Pre Alarm [input_boolean.person2_pre_alarm] by turning it on."
},
"human_like": "Activates a pre-alarm flag for person2 when their SleepAsAndroid app indicates it's time to start or prepare for a smart sleep period.",
"complexity": "low"
}
},
{
"id": "person2_returning",
"result": {
"structured": "TRIGGER: When Pixel XL device tracker [device_tracker.pixel_xl] changes state to 'work Airport' OR to 'other Airport' OR to 'station2' OR to 'other station3'. CONDITIONS: (person2 home status [input_boolean.person2_home] is off) AND (Person2 Travelling [input_boolean.person2_travelling] is on). ACTIONS: Turn off Person2 Travelling [input_boolean.person2_travelling].",
"natural_language": {
"trigger": "When the Pixel XL device tracker [device_tracker.pixel_xl] arrives at one of the specified locations: 'work Airport', 'other Airport', 'station2', or 'other station3'.",
"conditions": "If person2 is currently marked as not at home (person2 home status [input_boolean.person2_home] is off) and is currently marked as travelling (Person2 Travelling [input_boolean.person2_travelling] is on).",
"action": "Stops marking person2 as travelling by turning off Person2 Travelling [input_boolean.person2_travelling]."
},
"human_like": "Stops tracking person2 as travelling when their phone arrives at a key transit location, indicating they are on their way home.",
"complexity": "low"
}
},
{
"id": "person2_returning_home",
"result": {
"structured": "TRIGGER: When a tasker_webhook event occurs with event_data.who equal to 'person2'. CONDITIONS: (adults away status [input_boolean.adults_away] is off) AND (person2 home status [input_boolean.person2_home] is off) AND (the string 'BT Car' is contained in trigger.event.data.what) AND (Pixel XL device tracker [device_tracker.pixel_xl] is NOT in state 'not_home'). ACTIONS: Turn off Person2 returning home automation [automation.person2_returning_home], then run Person2 Traveltime Script [script.person2_traveltime], then wait 30 seconds, then send a notification to person3 notification [notify.person3] with a message stating person2 should be home from the location of Pixel XL device tracker [device_tracker.pixel_xl] in a time range based on Person2s Time To Home Duration Sensor [sensor.person2s_time_to_home_duration_].",
"natural_language": {
"trigger": "When a webhook event from Tasker is received, specifically indicating it's for 'person2'.",
"conditions": "If the adults away status [input_boolean.adults_away] is off, the person2 home status [input_boolean.person2_home] is off, the webhook data contains the text 'BT Car', and the Pixel XL device tracker [device_tracker.pixel_xl] is not showing as 'not_home'.",
"action": "First, the automation turns itself off. It then runs the Person2 Traveltime Script [script.person2_traveltime], waits for 30 seconds, and finally sends a notification to person3 notification [notify.person3] estimating when person2 will arrive home based on their current location and travel time."
},
"human_like": "When person2 is on their way home, this automation notifies person3 with an estimated arrival time and then deactivates itself to prevent repeated notifications.",
"complexity": "medium"
}
},
{
"id": "person2_sleep_status",
"result": {
"structured": "TRIGGER: When a webhook with ID 01234567-dead-beef-cafe-0123456789abc is received via POST. CONDITIONS: None. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] with a message containing the webhook event and full JSON payload.",
"natural_language": {
"trigger": "When a specific webhook request (ID: 01234567-dead-beef-cafe-0123456789abc) is received by the system.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a debug notification to Debug Log Notify [notify.debug_log] containing the event type and the full data from the webhook."
},
"human_like": "Logs incoming webhook events from Sleep as Android to a debug notification service.",
"complexity": "low"
}
},
{
"id": "person2_tablet_plugged",
"result": {
"structured": "TRIGGER: When Person2 P11 Charger Type Sensor [sensor.person2_p11_charger_type] changes state from 'none'. CONDITIONS: Person2 P11 Charger Type Sensor [sensor.person2_p11_charger_type] is 'none'. ACTIONS: Turn on Person2 Tablet Charging [input_boolean.person2_tablet_charging].",
"natural_language": {
"trigger": "When the Person2 P11 Charger Type Sensor [sensor.person2_p11_charger_type] changes its state from 'none' to something else.",
"conditions": "The Person2 P11 Charger Type Sensor [sensor.person2_p11_charger_type] must be in the state 'none'.",
"action": "Turns on the Person2 Tablet Charging [input_boolean.person2_tablet_charging] status."
},
"human_like": "Turns on a charging indicator when the tablet's charger type sensor changes from 'none', indicating the tablet has been plugged in.",
"complexity": "low"
}
},
{
"id": "person2_tablet_unplugged",
"result": {
"structured": "TRIGGER: When Person2 P11 Charger Type Sensor [sensor.person2_p11_charger_type] changes to 'none'. CONDITIONS: Person2 P11 Charger Type Sensor [sensor.person2_p11_charger_type] is 'none'. ACTIONS: Turn off Person2 Tablet Charging [input_boolean.person2_tablet_charging].",
"natural_language": {
"trigger": "When the Person2 P11 Charger Type Sensor [sensor.person2_p11_charger_type] reports that the charger type has changed to 'none'.",
"conditions": "The Person2 P11 Charger Type Sensor [sensor.person2_p11_charger_type] must be in the 'none' state.",
"action": "Turns off the Person2 Tablet Charging [input_boolean.person2_tablet_charging] status."
},
"human_like": "Turns off the tablet charging indicator when the charger is unplugged.",
"complexity": "low"
}
},
{
"id": "person2_tablet_wifi_status",
"result": {
"structured": "TRIGGER: When Person2 P11 WiFi Connection Sensor [sensor.person2_p11_wifi_connection] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: None. ACTIONS: If the state of Person2 P11 WiFi Connection Sensor [sensor.person2_p11_wifi_connection] contains the substring 'Cogs-n-Gears', then publish 'home' to the MQTT topic 'location/person2_tablet_wifi' with retain enabled. Otherwise, publish 'not_home' to the same topic with retain enabled.",
"natural_language": {
"trigger": "The automation triggers when the Person2 P11 WiFi Connection Sensor [sensor.person2_p11_wifi_connection] reports a change in its state, when the Home Assistant system starts up, or when any automation is reloaded.",
"conditions": "There are no additional conditions that must be met for the action to run.",
"action": "The automation checks if the current state of the Person2 P11 WiFi Connection Sensor [sensor.person2_p11_wifi_connection] includes the text 'Cogs-n-Gears'. If it does, it sends a message 'home' to the MQTT topic 'location/person2_tablet_wifi' and keeps that message stored. If the text is not found, it sends the message 'not_home' to the same topic and also retains that message."
},
"human_like": "Updates the reported location of a tablet to 'home' or 'not_home' based on whether it's connected to a specific WiFi network.",
"complexity": "medium"
}
},
{
"id": "person2_up",
"result": {
"structured": "TRIGGER: When person2 is awake [input_boolean.person2_is_awake] changes to 'on'. CONDITIONS: (person2 home status [input_boolean.person2_home] is 'on' AND Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is 'on') AND (time is after 03:00:00 AND before 21:00:00). ACTIONS: Set Master Bedroom Select [input_select.master_bedroom] to option 'Wake' AND Turn off adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom].",
"natural_language": {
"trigger": "When the person2 is awake [input_boolean.person2_is_awake] status changes to 'on'.",
"conditions": "If person2 home status [input_boolean.person2_home] is 'on' and the Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is 'on', and the current time is between 3:00 AM and 9:00 PM.",
"action": "Sets the Master Bedroom Select [input_select.master_bedroom] to the 'Wake' option and turns off the adaptive lighting sleep mode master bedroom [switch.adaptive_lighting_sleep_mode_master_bedroom]."
},
"human_like": "When person2 wakes up during the day and is at home in the occupied master bedroom, it sets the room to a 'Wake' mode and disables the sleep lighting.",
"complexity": "medium"
}
},
{
"id": "person2_wifi_status",
"result": {
"structured": "TRIGGER: When Pixel XL WiFi Connection Sensor [sensor.pixel_xl_wifi_connection] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: None. ACTIONS: If the state of Pixel XL WiFi Connection Sensor [sensor.pixel_xl_wifi_connection] contains the substring 'Cogs-n-Gears', then publish an MQTT message to topic 'location/person2_wifi' with payload 'home' and retain it. Otherwise, publish an MQTT message to topic 'location/person2_wifi' with payload 'not_home' and retain it.",
"natural_language": {
"trigger": "The automation triggers whenever the Pixel XL WiFi Connection Sensor [sensor.pixel_xl_wifi_connection] changes its state, when Home Assistant starts up, or when any automation is reloaded.",
"conditions": "There are no additional conditions that must be met for the action to run.",
"action": "The automation checks if the current state of the Pixel XL WiFi Connection Sensor [sensor.pixel_xl_wifi_connection] contains the text 'Cogs-n-Gears'. If it does, it sends an MQTT message to the topic 'location/person2_wifi' with the payload 'home' and sets it to be retained. If the text is not found, it sends an MQTT message to the same topic with the payload 'not_home' and retains it."
},
"human_like": "Updates a person's location status via MQTT based on whether their phone is connected to a specific WiFi network.",
"complexity": "medium"
}
},
{
"id": "person3_asleep",
"result": {
"structured": "TRIGGER: When Person3 In Bed [input_boolean.person3_in_bed] turns on and remains on for 5 minutes OR at 23:00:00 OR at 00:00:00 OR at 01:00:00. CONDITIONS: Person3 In Bed [input_boolean.person3_in_bed] is on AND person3 is awake [input_boolean.person3_is_awake] is on AND person3 home status [input_boolean.person3_home] is on. ACTIONS: Turn off person3 is awake [input_boolean.person3_is_awake] AND turn on Person3 Travel Sensor Script [script.person3_travel_sensor].",
"natural_language": {
"trigger": "The automation can be triggered in two ways: either when the Person3 In Bed [input_boolean.person3_in_bed] switch is turned on and stays on for five minutes, or at the scheduled times of 11:00 PM, midnight, and 1:00 AM.",
"conditions": "All of the following must be true: the Person3 In Bed [input_boolean.person3_in_bed] switch is on, the person3 is awake [input_boolean.person3_is_awake] switch is on, and the person3 home status [input_boolean.person3_home] switch is on.",
"action": "It marks the person as asleep by turning off the person3 is awake [input_boolean.person3_is_awake] switch and then runs the Person3 Travel Sensor Script [script.person3_travel_sensor]."
},
"human_like": "Marks Person3 as asleep and runs a related script when they are in bed for a while or at specific night-time hours, provided they are home and currently awake.",
"complexity": "medium"
}
},
{
"id": "person3_awake",
"result": {
"structured": "TRIGGER: When Person3 In Bed [input_boolean.person3_in_bed] changes to off OR when person3 home status [input_boolean.person3_home] changes to off. CONDITIONS: None. ACTIONS: Turn on person3 is awake [input_boolean.person3_is_awake] AND turn off Person3 In Bed [input_boolean.person3_in_bed] AND start Person3 Travel Sensor Script [script.person3_travel_sensor].",
"natural_language": {
"trigger": "When either the Person3 In Bed [input_boolean.person3_in_bed] status changes to 'off' (not in bed) or the person3 home status [input_boolean.person3_home] changes to 'off' (person3 leaves home).",
"conditions": "There are no additional conditions for this automation.",
"action": "Marks person3 as awake by turning on the person3 is awake [input_boolean.person3_is_awake] status, ensures the in-bed status is turned off, and runs the Person3 Travel Sensor Script [script.person3_travel_sensor]."
},
"human_like": "This automation marks person3 as awake and runs a travel sensor script when they either get out of bed or leave the house.",
"complexity": "low"
}
},
{
"id": "person3_away",
"result": {
"structured": "TRIGGER: When Pixel 6a device tracker [device_tracker.pixel_6a] changes state OR When any of Person3 BT mobile 2 [device_tracker.person3_bt_mobile_2], Person3 BT front mobile 2 [device_tracker.person3_bt_front_mobile_2], Person person3 wifi [device_tracker.person_person3_wifi], or Nmap tracker person3 [device_tracker.nmap_tracker_person3] changes state to not_home OR When Home Assistant starts. CONDITIONS: (person3 home status [input_boolean.person3_home] is on AND remains stable for 2 minutes) AND ( ( ( (Less than or equal to 50% of router-type trackers in Person person3 group [group.person_person3] are home) AND (Less than or equal to 50% of bluetooth-type trackers in Person person3 group [group.person_person3] are home) ) AND ( (front door contact [binary_sensor.front_door_contact] changed state within the last 5 minutes) OR (Garage door car contact [binary_sensor.garage_door_car_contact] changed state within the last 5 minutes) ) ) OR ( (Less than 100% (i.e., not all) trackers in Person person3 group [group.person_person3] are home) AND (Distance of Pixel 6a device tracker [device_tracker.pixel_6a] is greater than 0.3 units) ) OR (0% (i.e., none) of trackers in Person person3 group [group.person_person3] are home) OR (Distance of Pixel 6a device tracker [device_tracker.pixel_6a] is greater than 0.6 units) ). ACTIONS: Run the Person3 Away Script [script.person3_away].",
"natural_language": {
"trigger": "This automation can be triggered in three ways: when the Pixel 6a device tracker [device_tracker.pixel_6a] changes its state, when any of the specific Person3 trackers (Person3 BT mobile 2 [device_tracker.person3_bt_mobile_2], Person3 BT front mobile 2 [device_tracker.person3_bt_front_mobile_2], Person person3 wifi [device_tracker.person_person3_wifi], or Nmap tracker person3 [device_tracker.nmap_tracker_person3]) changes to a 'not_home' state, or when the Home Assistant system starts up.",
"conditions": "First, the person3 home status [input_boolean.person3_home] must be 'on' and stay that way for two minutes. Then, one of several complex conditions must be met. This could be if a low percentage of router and Bluetooth trackers in the Person person3 group [group.person_person3] are home, combined with recent activity at the front door contact [binary_sensor.front_door_contact] or Garage door car contact [binary_sensor.garage_door_car_contact] (within the last 5 minutes). Alternatively, it could be if not all trackers in the group are home and the Pixel 6a device tracker [device_tracker.pixel_6a] is more than 0.3 units away. It also triggers if none of the trackers in the group are home, or if the Pixel 6a device tracker is more than 0.6 units away.",
"action": "If all conditions are satisfied, the automation runs the Person3 Away Script [script.person3_away]."
},
"human_like": "Marks Person3 as away by running a script when their device trackers indicate they have left home, using a combination of door activity, tracker percentages, and distance checks.",
"complexity": "high"
}
},
{
"id": "person3_changing_zones",
"result": {
"structured": "TRIGGER: When Pixel 6a device tracker [device_tracker.pixel_6a] changes to not_home and remains for 5 minutes OR When Pixel 6a device tracker [device_tracker.pixel_6a] changes from not_home. CONDITIONS: The time elapsed since Person3 Traveltime Script [script.person3_traveltime] was last triggered is greater than 300 seconds. ACTIONS: Turn on Person3 Traveltime Script [script.person3_traveltime].",
"natural_language": {
"trigger": "When the Pixel 6a device tracker [device_tracker.pixel_6a] either leaves home (changes to 'not_home') and stays away for at least five minutes, or returns home (changes from 'not_home').",
"conditions": "The automation only runs if the Person3 Traveltime Script [script.person3_traveltime] has not been triggered in the last five minutes.",
"action": "Starts the Person3 Traveltime Script [script.person3_traveltime]."
},
"human_like": "Runs a travel time script when a person's phone leaves or returns home, but only if the script hasn't been run recently.",
"complexity": "medium"
}
},
{
"id": "person3_coming_home",
"result": {
"structured": "TRIGGER: When Home Person3 Distance Sensor [sensor.home_person3_distance] is below 550 OR when Person3s Time To Home By Foot Duration Sensor [sensor.person3s_time_to_home_by_foot_duration] is below 12. CONDITIONS: (person3 home status [input_boolean.person3_home] is off AND remains stable for 2 minutes) AND (Home Person3 Distance Sensor [sensor.home_person3_distance] attribute dir_of_travel is towards) AND (person2 home status [input_boolean.person2_home] is on AND remains stable for 5 minutes) AND (Home Person3 Distance Sensor [sensor.home_person3_distance] is below 550). ACTIONS: If Person3s Time To Home By Foot Duration Sensor [sensor.person3s_time_to_home_by_foot_duration] is above 11, then run Person3 Traveltime Script [script.person3_traveltime] (continues on error). Then, send a notification to person2 notification [notify.person2] with a message stating person3's estimated arrival time. Then, wait for 5 minutes.",
"natural_language": {
"trigger": "When the distance sensor for person3 [sensor.home_person3_distance] reports a value below 550, or when the estimated walking time home for person3 [sensor.person3s_time_to_home_by_foot_duration] is less than 12 minutes.",
"conditions": "Person3 must be marked as away, with their home status [input_boolean.person3_home] being off for at least two minutes. The distance sensor must indicate that person3 is traveling towards home. Person2 must be at home, with their home status [input_boolean.person2_home] being on for at least five minutes. Finally, the distance sensor must confirm that person3 is still within 550 units of distance.",
"action": "If the estimated walking time home is above 11 minutes, the system will attempt to update the travel time by running a script [script.person3_traveltime]. Regardless, it will then send a notification to person2 [notify.person2] informing them that person3 is nearly home and providing the estimated arrival time. After sending the notification, the automation waits for five minutes."
},
"human_like": "Notifies person2 when person3 is on their way home, based on distance and travel time, and updates the travel estimate if needed.",
"complexity": "medium"
}
},
{
"id": "person3_home",
"result": {
"structured": "TRIGGER: When Person3 BT mobile 2 [device_tracker.person3_bt_mobile_2] OR Person3 BT front mobile 2 [device_tracker.person3_bt_front_mobile_2] OR Person person3 wifi [device_tracker.person_person3_wifi] changes to home OR When front door contact [binary_sensor.front_door_contact] changes to open (on) OR closed (off) OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: Person person3 group [group.person_person3] state is home AND (The count of 'home' state entities within Person person3 group [group.person_person3] is greater than 1 OR (front door contact [binary_sensor.front_door_contact] last changed less than 120 seconds ago AND the count of 'home' state entities within Person person3 group [group.person_person3] is greater than 0)). ACTIONS: Run script Person3 Home Script [script.person3_home].",
"natural_language": {
"trigger": "The automation triggers when any of the three device trackers for person3 (Person3 BT mobile 2 [device_tracker.person3_bt_mobile_2], Person3 BT front mobile 2 [device_tracker.person3_bt_front_mobile_2], or Person person3 wifi [device_tracker.person_person3_wifi]) reports arriving home. It also triggers when the front door contact [binary_sensor.front_door_contact] opens or closes, when automations are reloaded, or when Home Assistant starts up.",
"conditions": "For the automation to proceed, the Person person3 group [group.person_person3] must be in the 'home' state. Furthermore, either more than one of the trackers in that group must be reporting 'home', or the front door was used within the last two minutes and at least one tracker in the group is reporting 'home'.",
"action": "Executes the script named Person3 Home Script [script.person3_home]."
},
"human_like": "Runs a 'person3 is home' routine when person3's devices indicate they have arrived, especially if confirmed by recent door activity.",
"complexity": "high"
}
},
{
"id": "person3_in_bed",
"result": {
"structured": "TRIGGER: When person3 phone charging [input_boolean.person3_phone_charging] turns on OR when Pixel 6a device locked [binary_sensor.pixel_6a_device_locked] becomes locked (on) and remains so for 10 minutes OR when Master bedroom door contact [binary_sensor.master_bedroom_door_contact] becomes closed (off) OR when Living Room Occupied [input_boolean.living_room_occupied] turns off OR at 22:30:00 daily. CONDITIONS: (person3 is awake [input_boolean.person3_is_awake] is on AND person3 home status [input_boolean.person3_home] is on) AND ((time is between 22:00:00 and 04:00:00 AND (person3 phone charging [input_boolean.person3_phone_charging] is on OR Pixel 6a device locked [binary_sensor.pixel_6a_device_locked] is locked (on) for 10 minutes)) OR (time is between 22:29:00 and 04:00:00 AND Living Room Occupied [input_boolean.living_room_occupied] is off)). ACTIONS: Turn on Person3 In Bed [input_boolean.person3_in_bed].",
"natural_language": {
"trigger": "The automation can be triggered by any of these events: person3's phone starts charging, their Pixel 6a device is locked for 10 minutes, the master bedroom door closes, the living room becomes unoccupied, or the time reaches 10:30 PM.",
"conditions": "For the automation to run, person3 must be both awake and at home. Additionally, depending on the time, different secondary conditions apply. If it's between 10:00 PM and 4:00 AM, then either person3's phone must be charging or their device must be locked for 10 minutes. Alternatively, if it's between 10:29 PM and 4:00 AM, the living room must be unoccupied.",
"action": "Marks person3 as being in bed by turning on the Person3 In Bed [input_boolean.person3_in_bed] status."
},
"human_like": "Automatically marks person3 as in bed when they are home, awake, and nighttime indicators like phone charging, device locking, or the living room being empty are detected.",
"complexity": "high"
}
},
{
"id": "person3_location_update",
"result": {
"structured": "TRIGGER: When the state of any of the following entities changes: Pixel 6a device tracker [device_tracker.pixel_6a], Person3 Status Dropdown [input_select.person3_status_dropdown], person3 home status [input_boolean.person3_home], Person3s Time To Home Duration Sensor [sensor.person3s_time_to_home_duration], Person3s Time To Home By Bus Duration Sensor [sensor.person3s_time_to_home_by_bus_duration], Person3s Time To Home By Google Sensor [sensor.person3s_time_to_home_by_google], Person3s Time To Home By Foot Duration Sensor [sensor.person3s_time_to_home_by_foot_duration], Person3 Places Sensor [sensor.person3_places]. CONDITIONS: None. ACTIONS: Run the Person3 Travel Sensor Script [script.person3_travel_sensor].",
"natural_language": {
"trigger": "Whenever there is a change in the state of the Pixel 6a device tracker, the Person3 Status Dropdown, the person3 home status, any of the travel time sensors (by car, bus, Google, or foot), or the Person3 Places sensor.",
"conditions": "There are no conditions that must be met.",
"action": "The automation runs the Person3 Travel Sensor Script to update the person's location and travel information."
},
"human_like": "Updates Person3's location and travel information whenever any related device, status, or travel time sensor changes.",
"complexity": "low"
}
},
{
"id": "person3_next_alarm",
"result": {
"structured": "TRIGGER: When Pixel 6a Next Alarm Sensor [sensor.pixel_6a_next_alarm] changes to a null state. CONDITIONS: The attribute 'Time in Milliseconds' of Pixel 6a Next Alarm Sensor [sensor.pixel_6a_next_alarm] is not none. ACTIONS: Set Person3 Next Alarm [input_datetime.person3_next_alarm] to the timestamp defined by the 'Time in Milliseconds' attribute divided by 1000.",
"natural_language": {
"trigger": "When the Pixel 6a Next Alarm Sensor [sensor.pixel_6a_next_alarm] changes its state to null.",
"conditions": "The condition checks that the Pixel 6a Next Alarm Sensor [sensor.pixel_6a_next_alarm] has a valid 'Time in Milliseconds' attribute, meaning it is not empty.",
"action": "Sets the Person3 Next Alarm [input_datetime.person3_next_alarm] to the date and time calculated from the 'Time in Milliseconds' attribute of the alarm sensor."
},
"human_like": "Updates Person3's next alarm time when their phone's alarm sensor provides a new valid timestamp.",
"complexity": "low"
}
},
{
"id": "person3_on_the_move",
"result": {
"structured": "TRIGGER: When Pixel 6a device tracker [device_tracker.pixel_6a] changes state. CONDITIONS: (Person3 Traveltime Script [script.person3_traveltime] last_triggered attribute is none OR more than 300 seconds have passed since it was last triggered) AND (person3 home status [input_boolean.person3_home] is off) AND ((Person3 Traveltime Script [script.person3_traveltime] last_triggered attribute is none OR more than 300 seconds have passed since it was last triggered) AND Home Person3 Distance Sensor [sensor.home_person3_distance] is between 10 and 2000) OR ((Person3 Traveltime Script [script.person3_traveltime] last_triggered attribute is none OR more than 600 seconds have passed since it was last triggered) AND Home Person3 Distance Sensor [sensor.home_person3_distance] is between 1999 and 4000) OR ((Person3 Traveltime Script [script.person3_traveltime] last_triggered attribute is none OR more than 1200 seconds have passed since it was last triggered) AND Home Person3 Distance Sensor [sensor.home_person3_distance] is between 3999 and 10000) OR ((Person3 Traveltime Script [script.person3_traveltime] last_triggered attribute is none OR more than 3600 seconds have passed since it was last triggered) AND Home Person3 Distance Sensor [sensor.home_person3_distance] is between 9999 and 100000) OR ((Person3 Traveltime Script [script.person3_traveltime] last_triggered attribute is none OR more than 10800 seconds have passed since it was last triggered) AND Home Person3 Distance Sensor [sensor.home_person3_distance] is between 99999 and 199999) OR ((Person3 Traveltime Script [script.person3_traveltime] last_triggered attribute is none OR more than 86400 seconds have passed since it was last triggered) AND Home Person3 Distance Sensor [sensor.home_person3_distance] is above 200000). ACTIONS: Turn on Person3 Traveltime Script [script.person3_traveltime].",
"natural_language": {
"trigger": "Whenever the Pixel 6a device tracker [device_tracker.pixel_6a] reports a change in its state.",
"conditions": "The Person3 Traveltime Script [script.person3_traveltime] must not have been triggered in the last 5 minutes (or ever). Person3 must be marked as away, as indicated by the person3 home status [input_boolean.person3_home] being off. Furthermore, the current distance of Person3 from home, measured by the Home Person3 Distance Sensor [sensor.home_person3_distance], must fall into one of several distance bands, each with its own required minimum time since the script was last triggered. For distances between 10 and 2000 meters, the script must not have run in the last 5 minutes. For distances between 1999 and 4000 meters, the script must not have run in the last 10 minutes. For distances between 3999 and 10000 meters, the script must not have run in the last 20 minutes. For distances between 9999 and 100000 meters, the script must not have run in the last hour. For distances between 99999 and 199999 meters, the script must not have run in the last 3 hours. For distances over 200000 meters, the script must not have run in the last 24 hours.",
"action": "Executes the Person3 Traveltime Script [script.person3_traveltime]."
},
"human_like": "Calculates travel time for Person3 when they are away from home, using their phone's location and a cooldown period that increases with distance to avoid running the script too frequently.",
"complexity": "high"
}
},
{
"id": "person3_phone_plugged",
"result": {
"structured": "TRIGGER: When a tasker_webhook event occurs with who: person3 OR When Pixel 6a Charger Type Sensor [sensor.pixel_6a_charger_type] changes from state 'none'. CONDITIONS: Person3 Phone Charging [input_boolean.person3_phone_charging] is off AND ((trigger is a tasker_webhook event AND the event data 'what' contains the text 'Plugged') OR (Pixel 6a Charger Type Sensor [sensor.pixel_6a_charger_type] is NOT 'none')). ACTIONS: Turn on Person3 Phone Charging [input_boolean.person3_phone_charging].",
"natural_language": {
"trigger": "The automation can be triggered in two ways: either by receiving a specific webhook event from Tasker that is identified as coming from 'person3', or when the Pixel 6a Charger Type Sensor [sensor.pixel_6a_charger_type] changes its state away from 'none'.",
"conditions": "For the automation to run, the Person3 Phone Charging [input_boolean.person3_phone_charging] must currently be off. Additionally, one of two further conditions must be met: either the trigger was the webhook event and its data included the word 'Plugged', or the Pixel 6a Charger Type Sensor [sensor.pixel_6a_charger_type] is reporting a charger type (i.e., its state is not 'none').",
"action": "The automation turns on the Person3 Phone Charging [input_boolean.person3_phone_charging] input boolean."
},
"human_like": "This automation detects when Person3's phone is plugged in, either via a Tasker notification or a charger sensor, and marks it as charging.",
"complexity": "medium"
}
},
{
"id": "person3_phone_unplugged",
"result": {
"structured": "TRIGGER: When a Tasker webhook event occurs with 'who' equal to 'person3' OR When Pixel 6a Charger Type Sensor [sensor.pixel_6a_charger_type] changes to 'none'. CONDITIONS: Person3 Phone Charging [input_boolean.person3_phone_charging] is on AND ( (Trigger is a Tasker webhook event AND the event data 'what' contains 'Unplugged') OR Pixel 6a Charger Type Sensor [sensor.pixel_6a_charger_type] is 'none' ). ACTIONS: Turn off Person3 Phone Charging [input_boolean.person3_phone_charging].",
"natural_language": {
"trigger": "The automation triggers either when a Tasker webhook event is received with the 'who' field set to 'person3', or when the Pixel 6a Charger Type Sensor [sensor.pixel_6a_charger_type] reports its state as 'none'.",
"conditions": "The automation only runs if the Person3 Phone Charging [input_boolean.person3_phone_charging] is currently on. Additionally, it requires that either the trigger was a specific Tasker webhook event containing the word 'Unplugged' in its data, or the Pixel 6a Charger Type Sensor [sensor.pixel_6a_charger_type] is in the 'none' state.",
"action": "Turns off the Person3 Phone Charging [input_boolean.person3_phone_charging] input boolean."
},
"human_like": "This automation turns off the phone charging indicator for person3 when their phone is unplugged, detected either via a Tasker notification or a sensor.",
"complexity": "medium"
}
},
{
"id": "awtrix_person3_status_pixel",
"result": {
"structured": "TRIGGER: When Person3 [person.person3] changes state OR When Home Person3 Distance Sensor [sensor.home_person3_distance] changes state OR When office occupied [input_boolean.office_occupied] turns on OR When person3 home status [input_boolean.person3_home] changes state. CONDITIONS: None (no global conditions). ACTIONS: If person3 home status [input_boolean.person3_home] is off AND Home Person3 Distance Sensor [sensor.home_person3_distance] value is less than 200, then publish an MQTT message to topic 'awtrix_6d6f50/indicator1' with a color value determined by the 'status_colour' variable and a fade duration of 2000. Otherwise, publish an MQTT message to the same topic with the color value determined by the 'status_colour' variable without a fade. The 'status_colour' variable is defined as: green [0,64,0] if person3 home status [input_boolean.person3_home] is on; orange [255,165,0] if the distance is less than 200; purple [64,0,64] if Person3 [person.person3] is not 'not_home'; red [64,0,0] otherwise.",
"natural_language": {
"trigger": "The automation triggers when the state of Person3 [person.person3] changes, when the distance reported by Home Person3 Distance Sensor [sensor.home_person3_distance] changes, when the office occupied [input_boolean.office_occupied] is turned on, or when the person3 home status [input_boolean.person3_home] changes.",
"conditions": "There are no global conditions that must be met for the automation to run. However, the action uses a conditional choose block to decide which specific MQTT command to send.",
"action": "The automation updates an indicator light on an Awtrix device. It calculates a color based on the person's location status. If the person is marked as not at home but is within 200 meters, it sends a command to set the indicator to the calculated color with a 2-second fade effect. In all other cases, it sends a command to set the indicator to the calculated color without a fade. The color is green if the person is marked as home, orange if they are within 200 meters, purple if their person state is anything other than 'not_home', and red otherwise."
},
"human_like": "Updates a status light on an Awtrix device to visually represent the location of person3, using different colors and fade effects based on whether they are home, nearby, or away.",
"complexity": "medium"
}
},
{
"id": "person3_travelling",
"result": {
"structured": "TRIGGER: When Home Person3 Distance Sensor [sensor.home_person3_distance] is above 100000 for 3 hours OR When Home Assistant starts OR At 21:00:00. CONDITIONS: (person3 home status [input_boolean.person3_home] is off) AND (Home Person3 Distance Sensor [sensor.home_person3_distance] is above 100000). ACTIONS: Turn on Person3 Travelling [input_boolean.person3_travelling].",
"natural_language": {
"trigger": "This automation can be triggered in three ways: when the Home Person3 Distance Sensor [sensor.home_person3_distance] reports a distance greater than 100,000 for a continuous period of three hours, when the Home Assistant system itself starts up, or at 9:00 PM every day.",
"conditions": "For the automation to run, two conditions must be met: the person3 home status [input_boolean.person3_home] must be off, and the Home Person3 Distance Sensor [sensor.home_person3_distance] must currently be reporting a value above 100,000.",
"action": "Sets the Person3 Travelling [input_boolean.person3_travelling] status to on, indicating the person is travelling."
},
"human_like": "Marks Person3 as travelling if they are not home and are far away, or checks this status at system startup and each evening.",
"complexity": "medium"
}
},
{
"id": "person3_up",
"result": {
"structured": "TRIGGER: When Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] turns on OR when person3 home status [input_boolean.person3_home] OR Person3 Phone Charging [input_boolean.person3_phone_charging] turns off. CONDITIONS: Person3 In Bed [input_boolean.person3_in_bed] is on AND Master bedroom door contact [binary_sensor.master_bedroom_door_contact] is open (on) AND Person3 Phone Charging [input_boolean.person3_phone_charging] is off AND the current time is between 03:00:00 and 21:00:00. ACTIONS: Turn off Person3 In Bed [input_boolean.person3_in_bed].",
"natural_language": {
"trigger": "When motion is detected in either the Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] or the vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy], or when either the person3 home status [input_boolean.person3_home] or the Person3 Phone Charging [input_boolean.person3_phone_charging] status changes to off.",
"conditions": "If Person3 In Bed [input_boolean.person3_in_bed] is currently set to on, the Master bedroom door contact [binary_sensor.master_bedroom_door_contact] is open, the Person3 Phone Charging [input_boolean.person3_phone_charging] is off, and the current time is between 3 AM and 9 PM.",
"action": "Marks Person3 as no longer in bed by turning off Person3 In Bed [input_boolean.person3_in_bed]."
},
"human_like": "Detects when Person3 gets up based on motion, door status, phone charging, and time of day, and updates their 'in bed' status accordingly.",
"complexity": "medium"
}
},
{
"id": "person3_wifi_status",
"result": {
"structured": "TRIGGER: When Pixel 6a WiFi Connection Sensor [sensor.pixel_6a_wifi_connection] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: None. ACTIONS: If the state of Pixel 6a WiFi Connection Sensor [sensor.pixel_6a_wifi_connection] contains the substring 'Cogs-n-Gears', then publish 'home' to the MQTT topic 'location/person3_wifi' with retain enabled. Otherwise, publish 'not_home' to the same MQTT topic with retain enabled.",
"natural_language": {
"trigger": "The automation triggers when the Pixel 6a WiFi Connection Sensor [sensor.pixel_6a_wifi_connection] changes its state, when Home Assistant starts up, or when any automation is reloaded.",
"conditions": "There are no separate conditions. The decision logic is part of the action sequence.",
"action": "The automation checks if the current state of the Pixel 6a WiFi Connection Sensor [sensor.pixel_6a_wifi_connection] contains the text 'Cogs-n-Gears'. If it does, it sends an MQTT message with the payload 'home' to the topic 'location/person3_wifi' and retains the message. If the text is not found, it sends an MQTT message with the payload 'not_home' to the same topic and retains it."
},
"human_like": "Updates a person's location status via MQTT based on whether their phone is connected to a specific WiFi network.",
"complexity": "medium"
}
},
{
"id": "person4_away",
"result": {
"structured": "TRIGGER: When Home 2 DSB 0230 Distance Sensor [sensor.home_2_dsb_0230_distance] is above 2000 OR When 00 1d 29 f0 4d da device tracker [device_tracker.00_1d_29_f0_4d_da] OR Person4 BT front mobile 2 [device_tracker.person4_bt_front_mobile_2] OR Person4 BT mobile 2 [device_tracker.person4_bt_mobile_2] changes to not_home OR When Home Assistant starts. CONDITIONS: (Person Person4 Group [group.person_person4] has fewer than 2 members in the 'home' state) AND ((front door contact [binary_sensor.front_door_contact] changed state less than 5 minutes ago OR Garage door car contact [binary_sensor.garage_door_car_contact] changed state less than 5 minutes ago OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] changed state less than 5 minutes ago) OR (Person Person4 Group [group.person_person4] is not_home AND Home 2 DSB 0230 Distance Sensor [sensor.home_2_dsb_0230_distance] is above 2)). ACTIONS: Run Person4 Away Script [script.person4_away].",
"natural_language": {
"trigger": "The automation triggers if the distance sensor [sensor.home_2_dsb_0230_distance] reports a value greater than 2000, or if any of the three device trackers for Elizabeth (00 1d 29 f0 4d da device tracker [device_tracker.00_1d_29_f0_4d_da], Person4 BT front mobile 2 [device_tracker.person4_bt_front_mobile_2], Person4 BT mobile 2 [device_tracker.person4_bt_mobile_2]) become 'not_home', or when Home Assistant first starts up.",
"conditions": "First, the group representing Elizabeth's presence [group.person_person4] must have fewer than two members currently at home. Additionally, either a recent entry/exit event must have occurred (the front door [binary_sensor.front_door_contact], garage car door [binary_sensor.garage_door_car_contact], or vestibule occupancy [binary_sensor.vestibule_multi_occupancy] changed state within the last 5 minutes), or Elizabeth's group must be marked as 'not_home' and the distance sensor [sensor.home_2_dsb_0230_distance] must be above 2.",
"action": "Executes the 'Person4 Away' script [script.person4_away]."
},
"human_like": "Marks Elizabeth as away when her devices leave home or a distance sensor indicates she is far away, but only after confirming recent activity or her overall status.",
"complexity": "high"
}
},
{
"id": "person4_changing_zones",
"result": {
"structured": "TRIGGER: When DSB 0230 device tracker [device_tracker.dsb_0230] remains not_home for 5 minutes OR When DSB 0230 device tracker [device_tracker.dsb_0230] changes from not_home to any other state. CONDITIONS: More than 300 seconds (5 minutes) have passed since the Person4 Traveltime Script [script.person4_traveltime] was last triggered. ACTIONS: Start the Person4 Traveltime Script [script.person4_traveltime].",
"natural_language": {
"trigger": "When the DSB 0230 device tracker [device_tracker.dsb_0230] has been away from home for at least five minutes, or when it returns home from being away.",
"conditions": "The Person4 Traveltime Script [script.person4_traveltime] must not have been run in the last five minutes.",
"action": "Run the Person4 Traveltime Script [script.person4_traveltime]."
},
"human_like": "Runs a travel time script for Elizabeth when she leaves or returns home, but only if the script hasn't been run recently.",
"complexity": "medium"
}
},
{
"id": "person4_home",
"result": {
"structured": "TRIGGER: When 00 1d 29 f0 4d da device tracker [device_tracker.00_1d_29_f0_4d_da] changes state to home OR Person4 BT front mobile 2 [device_tracker.person4_bt_front_mobile_2] changes state to home OR Person4 BT mobile 2 [device_tracker.person4_bt_mobile_2] changes state to home. CONDITIONS: The number of entities within Person Person4 Group [group.person_person4] that are in the 'home' state is greater than 0. ACTIONS: Execute Person4 Home Script [script.person4_home].",
"natural_language": {
"trigger": "When any of the three device trackers (00 1d 29 f0 4d da device tracker [device_tracker.00_1d_29_f0_4d_da], Person4 BT front mobile 2 [device_tracker.person4_bt_front_mobile_2], or Person4 BT mobile 2 [device_tracker.person4_bt_mobile_2]) reports that the tracked device has arrived home.",
"conditions": "The automation only proceeds if, after the trigger, at least one of the entities that are members of the Person Person4 Group [group.person_person4] is currently in the 'home' state.",
"action": "Runs the Person4 Home Script [script.person4_home] to perform a series of actions associated with Elizabeth arriving home."
},
"human_like": "Runs a 'welcome home' routine for Elizabeth when one of her tracked devices arrives home, but only if the system confirms she is actually home.",
"complexity": "medium"
}
},
{
"id": "person4_location_update",
"result": {
"structured": "TRIGGER: When DSB 0230 device tracker [device_tracker.dsb_0230] changes state OR Person4 Status Dropdown [input_select.person4_status_dropdown] changes state OR Person4 Home [input_boolean.person4_home] changes state OR Person4s Time To Home Distance Sensor [sensor.person4s_time_to_home_distance] changes state OR Person4s Time To Home Waze Sensor [sensor.person4s_time_to_home_waze] changes state OR Person4s Time To Person4 O Sensor [sensor.person4s_time_to_person4_o] changes state. CONDITIONS: None. ACTIONS: Run Person4 Travel Sensor Script [script.person4_travel_sensor].",
"natural_language": {
"trigger": "The automation is triggered whenever there is a change in any of the following: the DSB 0230 device tracker [device_tracker.dsb_0230], the Person4 Status Dropdown [input_select.person4_status_dropdown], the Person4 Home [input_boolean.person4_home] status, the Person4s Time To Home Distance Sensor [sensor.person4s_time_to_home_distance], the Person4s Time To Home Waze Sensor [sensor.person4s_time_to_home_waze], or the Person4s Time To Person4 O Sensor [sensor.person4s_time_to_person4_o].",
"conditions": "There are no conditions; the action runs immediately after any trigger.",
"action": "Executes the Person4 Travel Sensor Script [script.person4_travel_sensor]."
},
"human_like": "Updates Elizabeth's location and travel information by running a script whenever any of her related device trackers, statuses, or travel time sensors change.",
"complexity": "medium"
}
},
{
"id": "person4_on_the_move",
"result": {
"structured": "TRIGGER: When DSB 0230 device tracker [device_tracker.dsb_0230] changes state. CONDITIONS: (Person4 Traveltime Script [script.person4_traveltime] has never been triggered OR more than 300 seconds have passed since its last trigger) AND DSB 0230 device tracker [device_tracker.dsb_0230] is not_home AND ((more than 600 seconds have passed since Person4 Traveltime Script [script.person4_traveltime] last trigger AND Home 2 DSB 0230 Distance Sensor [sensor.home_2_dsb_0230_distance] is between 10 and 20000) OR (more than 900 seconds have passed since Person4 Traveltime Script [script.person4_traveltime] last trigger AND Home 2 DSB 0230 Distance Sensor [sensor.home_2_dsb_0230_distance] is between 19999 and 40000) OR (more than 3600 seconds have passed since Person4 Traveltime Script [script.person4_traveltime] last trigger AND Home 2 DSB 0230 Distance Sensor [sensor.home_2_dsb_0230_distance] is above 39999)). ACTIONS: Start Person4 Traveltime Script [script.person4_traveltime].",
"natural_language": {
"trigger": "Whenever the state of the DSB 0230 device tracker [device_tracker.dsb_0230] changes.",
"conditions": "The Person4 Traveltime Script [script.person4_traveltime] must not have been triggered in the last 5 minutes, or it must have never been triggered at all. The DSB 0230 device tracker [device_tracker.dsb_0230] must be in a 'not_home' state. Furthermore, depending on how far away the device is, a specific amount of time must have passed since the script was last run: if the distance is between 10 and 20,000 units, it must have been more than 10 minutes; if the distance is between 19,999 and 40,000 units, it must have been more than 15 minutes; and if the distance is greater than 39,999 units, it must have been more than an hour.",
"action": "Triggers the Person4 Traveltime Script [script.person4_traveltime]."
},
"human_like": "Runs a travel time script for Elizabeth when she leaves home, but only after a specific cooldown period that depends on how far away she is.",
"complexity": "high"
}
},
{
"id": "play_music_in_the_office",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] turns on OR When Office Paused [input_boolean.office_paused] turns off. CONDITIONS: (office media player [media_player.office] is paused OR idle OR off) AND (office occupied [input_boolean.office_occupied] is on) AND ((time is between 06:30:00 and 09:00:00 AND the trigger was office occupied turning on) OR (the trigger was Office Paused turning off)). ACTIONS: Start playback on office media player [media_player.office].",
"natural_language": {
"trigger": "When the office occupied [input_boolean.office_occupied] switch is turned on, or when the Office Paused [input_boolean.office_paused] switch is turned off.",
"conditions": "The office media player [media_player.office] must be in a state where it can start playing, such as paused, idle, or off. The office must also be marked as occupied, meaning office occupied [input_boolean.office_occupied] is on. Finally, the action only proceeds if it is triggered by the pause switch being turned off, or if it is triggered by the occupancy switch turning on and the current time is between 6:30 AM and 9:00 AM.",
"action": "Starts playing media on the office media player [media_player.office]."
},
"human_like": "Automatically starts playing music in the office when the room is occupied in the morning, or when media playback is manually unpaused.",
"complexity": "medium"
}
},
{
"id": "plex_hook",
"result": {
"structured": "TRIGGER: When a webhook with ID 'secret plex_token' is received via POST. CONDITIONS: None. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] containing the text 'Plex: ' followed by the data from the webhook trigger.",
"natural_language": {
"trigger": "When a specific webhook request (identified by the token 'secret plex_token') is sent to Home Assistant.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to the Debug Log Notify [notify.debug_log] service. The notification message will start with 'Plex: ' and include the full data payload from the webhook."
},
"human_like": "Logs incoming Plex webhook events to a debug notification service for monitoring.",
"complexity": "low"
}
},
{
"id": "power_cycle_loki",
"result": {
"structured": "TRIGGER: When RPI Loki device tracker [device_tracker.rpi_loki] is not_home for 10 minutes. CONDITIONS: Cloudfree USB Loki Switch [switch.cloudfree_usb_loki] is on. ACTIONS: Turn off Cloudfree USB Loki Switch [switch.cloudfree_usb_loki], wait 5 seconds, turn on Cloudfree USB Loki Switch [switch.cloudfree_usb_loki], send a Discord notification with message 'Loki was down for 10 minutes so we power cycled it'.",
"natural_language": {
"trigger": "When the RPI Loki device tracker [device_tracker.rpi_loki] shows the device as 'not_home' for a continuous period of 10 minutes.",
"conditions": "The Cloudfree USB Loki Switch [switch.cloudfree_usb_loki] must currently be in the 'on' state.",
"action": "The automation will turn off the Cloudfree USB Loki Switch [switch.cloudfree_usb_loki], wait for 5 seconds, turn it back on, and then send a notification to Discord stating 'Loki was down for 10 minutes so we power cycled it'."
},
"human_like": "Automatically power cycles the Loki device if it appears to be offline for 10 minutes and sends a notification.",
"complexity": "low"
}
},
{
"id": "power_cycle_tempus",
"result": {
"structured": "TRIGGER: When RPI Tempus device tracker [device_tracker.rpi_tempus] is not_home for 10 minutes. CONDITIONS: Cloudfree USB Switch Tempus [switch.cloudfree_usb_switch_tempus] is on. ACTIONS: Turn off Cloudfree USB Switch Tempus [switch.cloudfree_usb_switch_tempus], wait 5 seconds, turn on Cloudfree USB Switch Tempus [switch.cloudfree_usb_switch_tempus], and send a Discord notification with the message: 'Tempus was down for 10 minutes so we power cycled it'.",
"natural_language": {
"trigger": "When the RPI Tempus device tracker [device_tracker.rpi_tempus] shows the device as 'not_home' for a continuous period of 10 minutes.",
"conditions": "The Cloudfree USB Switch Tempus [switch.cloudfree_usb_switch_tempus] must be currently switched on.",
"action": "The automation will turn off the Cloudfree USB Switch Tempus [switch.cloudfree_usb_switch_tempus], wait for 5 seconds, then turn it back on. After this power cycle, it sends a notification to Discord with the message: 'Tempus was down for 10 minutes so we power cycled it'."
},
"human_like": "Automatically power cycles the Tempus USB switch and sends a Discord alert if the Tempus device is offline for 10 minutes.",
"complexity": "low"
}
},
{
"id": "printer_low",
"result": {
"structured": "TRIGGER: When Printer Sensor [sensor.printer] is below 100 OR when Printer Sensor [sensor.printer] is below 20. CONDITIONS: None. ACTIONS: Send a notification to person2 notification [notify.person2] with the message: 'The printer is running low on consumables, time to buy something.'.",
"natural_language": {
"trigger": "When the Printer Sensor [sensor.printer] reports a value below 100, or when it reports a value below 20.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to person2 notification [notify.person2] stating that the printer is running low on consumables and it's time to buy something."
},
"human_like": "Sends a notification when the printer's consumable level is low.",
"complexity": "low"
}
},
{
"id": "printer_problems",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When an automation is reloaded OR When Samsung M283x Series Active Alerts Sensor [sensor.samsung_m283x_series_active_alerts] becomes unavailable (null) OR When Samsung m283x series health [binary_sensor.samsung_m283x_series_health] becomes healthy (on). CONDITIONS: (Samsung M283x Series Active Alerts Sensor [sensor.samsung_m283x_series_active_alerts] has a numeric value greater than 0) OR (Samsung m283x series health [binary_sensor.samsung_m283x_series_health] is on). ACTIONS: Send a Discord notification with a message. If Samsung m283x series health [binary_sensor.samsung_m283x_series_health] is on, the message indicates the printer is unhealthy and includes the number of active alerts. Otherwise, the message indicates there is a problem with the printer and includes the number of active alerts.",
"natural_language": {
"trigger": "The automation triggers when Home Assistant starts up, when any automation is reloaded, when the Samsung M283x Series Active Alerts Sensor [sensor.samsung_m283x_series_active_alerts] becomes unavailable, or when the Samsung m283x series health [binary_sensor.samsung_m283x_series_health] sensor reports a healthy status.",
"conditions": "The automation proceeds only if either the Samsung M283x Series Active Alerts Sensor [sensor.samsung_m283x_series_active_alerts] reports more than zero active alerts, or if the Samsung m283x series health [binary_sensor.samsung_m283x_series_health] sensor is in the 'on' (healthy) state.",
"action": "Sends a notification to Discord. The message content depends on the health sensor's state. If the printer is reported as unhealthy, the message states that and includes the current count of active alerts. If the health sensor is not 'on', the message states there is a problem with the printer and includes the alert count."
},
"human_like": "Sends a Discord alert when the printer has active problems or its health status changes, ensuring you're notified of printer issues.",
"complexity": "medium"
}
},
{
"id": "probably_leaving",
"result": {
"structured": "TRIGGER: When front door contact [binary_sensor.front_door_contact] opens (on) OR When vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] detects occupancy (on). CONDITIONS: (My other exterior doors group [group.my_other_exterior_doors] is on OR downstairs windows group [group.my_downstairs_windows] is on OR upstairs windows group [group.my_upstairs_windows] is on) AND ((Living Room Occupied [input_boolean.living_room_occupied] is off AND its last update was less than 300 seconds ago) OR (Family Room Occupied [input_boolean.family_room_occupied] is off AND its last update was less than 300 seconds ago)) AND vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] is on AND front door contact [binary_sensor.front_door_contact] is on AND office occupied [input_boolean.office_occupied] is off. ACTIONS: Send a notification to person2 notification [notify.person2] and person3 notification [notify.person3] with a message listing the names of all open doors and windows from the groups My other exterior doors group [group.my_other_exterior_doors], downstairs windows group [group.my_downstairs_windows], and upstairs windows group [group.my_upstairs_windows].",
"natural_language": {
"trigger": "When the front door contact [binary_sensor.front_door_contact] opens, or when the vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] detects motion.",
"conditions": "At least one of the following groups must be in an 'on' state, indicating something is open: My other exterior doors group [group.my_other_exterior_doors], the downstairs windows group [group.my_downstairs_windows], or the upstairs windows group [group.my_upstairs_windows]. Additionally, either the Living Room Occupied [input_boolean.living_room_occupied] or the Family Room Occupied [input_boolean.family_room_occupied] must have been turned off within the last five minutes. The vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] must be detecting occupancy, the front door contact [binary_sensor.front_door_contact] must be open, and the office occupied [input_boolean.office_occupied] must be off.",
"action": "Sends a notification to both person2 notification [notify.person2] and person3 notification [notify.person3]. The message lists the names of all open doors and windows from the specified groups."
},
"human_like": "Sends an alert when someone might be leaving the house, triggered by the front door opening or motion in the vestibule, but only if a main living area was recently vacated and some windows or doors are still open.",
"complexity": "high"
}
},
{
"id": "rain_alert",
"result": {
"structured": "TRIGGER: When vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] becomes occupied (on). CONDITIONS: person2 home status [input_boolean.person2_home] is on AND current time is between 18:55:00 and 20:00:00 AND the automation rain_alert [automation.rain_alert] was last triggered before today at 18:55. ACTIONS: IF the maximum precipitation probability from the forecast of tomorrow io home nowcast [weather.tomorrow_io_home_nowcast] is 0 AND the total precipitation sum from the forecast is 0, THEN send a notification to person2 notification [notify.person2] stating it will be dry and providing the feels-like temperature from tomorrow io home feels like [sensor.tomorrow_io_home_feels_like]. OTHERWISE, send a notification to person2 notification [notify.person2] stating the likelihood of rain (based on probability brackets), the expected wetness level (based on total precipitation brackets), and the feels-like temperature from tomorrow io home feels like [sensor.tomorrow_io_home_feels_like].",
"natural_language": {
"trigger": "When motion is detected in the vestibule, indicated by the vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] turning on.",
"conditions": "The automation only runs if person2 is marked as home via person2 home status [input_boolean.person2_home], the current time is between 6:55 PM and 8:00 PM, and the automation has not been triggered since before 6:55 PM today.",
"action": "The automation checks the weather forecast from tomorrow io home nowcast [weather.tomorrow_io_home_nowcast] for the probability and total amount of rain. If there is no rain expected, it sends a dry weather notification to person2. If rain is expected, it sends a notification describing the likelihood and intensity of the rain. Both messages include the current 'feels like' temperature from the sensor tomorrow io home feels like [sensor.tomorrow_io_home_feels_like]."
},
"human_like": "Sends a personalised rain forecast notification to Person2 when they are likely heading out for an evening dog walk, but only once per evening.",
"complexity": "medium"
}
},
{
"id": "reset_family_room_sonos",
"result": {
"structured": "TRIGGER: At 09:00:00. CONDITIONS: (family room media player [media_player.family_room] is paused) AND (Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] is off OR standby OR unavailable) AND (current weekday is sat). ACTIONS: Set volume of family room media player [media_player.family_room] to 0; Play radio stream (x-rincon-mp3radio://http://s7.myradiostream.com:10126) on family room media player [media_player.family_room]; Wait 10 seconds; Pause office media player [media_player.office]; Set volume of family room media player [media_player.family_room] to 0.08.",
"natural_language": {
"trigger": "At 9:00 AM.",
"conditions": "The family room media player [media_player.family_room] must be in a paused state, the Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] must be off, on standby, or unavailable, and it must be Saturday.",
"action": "First, it sets the volume of the family room media player [media_player.family_room] to zero. Then, it starts playing a specific radio stream on the family room media player. After a 10-second delay, it pauses the office media player [media_player.office]. Finally, it sets the volume of the family room media player back to 8%."
},
"human_like": "On Saturday mornings at 9 AM, this automation starts a radio stream in the family room at a low volume and pauses the office player, provided the family room player is paused and the Roku is not active.",
"complexity": "medium"
}
},
{
"id": "return_train_status",
"result": {
"structured": "TRIGGER: At the time specified by input_datetime.return_train_time. CONDITIONS: Workday sensor [binary_sensor.workday_sensor] is on AND Work Person2 Distance Sensor [sensor.work_person2_distance] is below 5. ACTIONS: Send a notification to person2 notification [notify.person2] with the message content from Train Message Text [input_text.train_message].",
"natural_language": {
"trigger": "At the specific time set in the input_datetime.return_train_time entity.",
"conditions": "If the Workday sensor [binary_sensor.workday_sensor] indicates it is a workday, and the Work Person2 Distance Sensor [sensor.work_person2_distance] shows a value less than 5.",
"action": "Sends a notification to person2 containing the message stored in the Train Message Text [input_text.train_message] entity."
},
"human_like": "Sends a train status notification to person2 at a scheduled time on workdays when they are close to work.",
"complexity": "low"
}
},
{
"id": "returned_gate_open",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] becomes occupied (on) OR when adults away status [input_boolean.adults_away] becomes not away (off). CONDITIONS: Garden gate contact [binary_sensor.garden_gate_contact] is open (on). ACTIONS: Wait for 2 minutes, then check if Garden gate contact [binary_sensor.garden_gate_contact] is still open (on). If so, play a TTS announcement 'The garden gate was opened while you were away, and is still open' at 25% volume on Family Room Sonos Cloud [media_player.family_room_sonos_cloud] and Living Room Sonos Cloud [media_player.living_room_sonos_cloud].",
"natural_language": {
"trigger": "When the home becomes occupied, indicated by the home occupied [binary_sensor.home_occupied] sensor turning on, or when the adults away status [input_boolean.adults_away] is turned off, meaning adults have returned.",
"conditions": "The automation only runs if the Garden gate contact [binary_sensor.garden_gate_contact] is currently open.",
"action": "After a two-minute delay, it checks again to confirm the Garden gate contact [binary_sensor.garden_gate_contact] is still open. If it is, a text-to-speech announcement stating 'The garden gate was opened while you were away, and is still open' is played at a low volume on the Family Room Sonos Cloud [media_player.family_room_sonos_cloud] and Living Room Sonos Cloud [media_player.living_room_sonos_cloud] speakers."
},
"human_like": "Announces if the garden gate was left open while the adults were away, and remains open upon their return.",
"complexity": "medium"
}
},
{
"id": "returned_home",
"result": {
"structured": "TRIGGER: When front door contact [binary_sensor.front_door_contact] opens (state changes to on) OR When Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] changes to Pre Arrival OR When Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] changes to Just Arrived. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is below 15 AND Downstairs Hall Light [light.downstairs_hall] is off AND front door contact [binary_sensor.front_door_contact] is on AND (Person1 Status Dropdown [input_select.person1_status_dropdown] is Pre Arrival OR Just Arrived OR Person2 Status Dropdown [input_select.person2_status_dropdown] is Pre Arrival OR Just Arrived OR Person3 Status Dropdown [input_select.person3_status_dropdown] is Pre Arrival OR Just Arrived). ACTIONS: Turn on Hall Occupied [input_boolean.hall_occupied] AND if Season Select [input_select.season] is Christmas, set Vestibule Select [input_select.vestibule] to On.",
"natural_language": {
"trigger": "The automation triggers when the front door contact [binary_sensor.front_door_contact] opens, or when the status dropdown for any of the three persons (Person1, Person2, or Person3) changes to either 'Pre Arrival' or 'Just Arrived'.",
"conditions": "All of the following must be true: the Lighting Automations [input_boolean.lighting_automations] master switch is on; the light level in the living room, measured by the Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux], is below 15 lux; the Downstairs Hall Light [light.downstairs_hall] is off; the front door contact [binary_sensor.front_door_contact] is currently open; and at least one of the three person status dropdowns is set to either 'Pre Arrival' or 'Just Arrived'.",
"action": "The automation marks the hall as occupied by turning on Hall Occupied [input_boolean.hall_occupied]. Additionally, if the Season Select [input_select.season] is set to 'Christmas', it will also set the Vestibule Select [input_select.vestibule] to 'On'."
},
"human_like": "Turns on hall occupancy and festive vestibule lighting when someone arrives home in the dark, provided lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "scanner_stuck",
"result": {
"structured": "TRIGGER: When Scan BT Script [script.scan_bt] remains on for 15 minutes OR When Scan BT Arrive Script [script.scan_bt_arrive] remains on for 15 minutes OR When Scan BT Depart Script [script.scan_bt_depart] remains on for 15 minutes. CONDITIONS: None. ACTIONS: Turn off the specific script that triggered the automation [{{ trigger.entity_id }}].",
"natural_language": {
"trigger": "When any of the three Bluetooth scanning scripts (Scan BT Script [script.scan_bt], Scan BT Arrive Script [script.scan_bt_arrive], or Scan BT Depart Script [script.scan_bt_depart]) remains in the 'on' state for 15 minutes.",
"conditions": "There are no additional conditions.",
"action": "Stops the specific script that triggered the automation by turning it off."
},
"human_like": "Monitors Bluetooth scanner scripts and stops any that have been running for too long to prevent them from getting stuck.",
"complexity": "low"
}
},
{
"id": "season_is_autumn",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at 03:00:00 daily. CONDITIONS: (The current month is greater than 8 AND less than 12) AND (Season Select [input_select.season] is NOT set to Autumn). ACTIONS: Set Season Select [input_select.season] to Autumn.",
"natural_language": {
"trigger": "The automation runs either when Home Assistant first starts up or at 3:00 AM every day.",
"conditions": "It checks if the current month is September, October, or November (months 9, 10, 11). It also verifies that the Season Select [input_select.season] is not already set to Autumn.",
"action": "Sets the Season Select [input_select.season] to Autumn."
},
"human_like": "Automatically sets the season to Autumn during the fall months if it hasn't been set already.",
"complexity": "low"
}
},
{
"id": "season_is_christmas",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at 02:00:00 daily. CONDITIONS: (Current date is in January before the 7th OR in December on or after the 12th) AND Season Select [input_select.season] is NOT set to Christmas. ACTIONS: Set Season Select [input_select.season] to Christmas.",
"natural_language": {
"trigger": "When Home Assistant first starts up, or every day at 2:00 AM.",
"conditions": "If the current date is either in early January (before the 7th) or in mid-to-late December (on or after the 12th), and the Season Select [input_select.season] is not already set to 'Christmas'.",
"action": "Changes the Season Select [input_select.season] to the 'Christmas' option."
},
"human_like": "Automatically sets the season to Christmas during the holiday period, from mid-December to early January.",
"complexity": "medium"
}
},
{
"id": "season_is_easter",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at 02:00:00 daily OR when Holidays in the United Kingdom calendar [calendar.holidays_in_the_united_kingdom] changes state to on. CONDITIONS: (The message attribute of Holidays in the United Kingdom calendar [calendar.holidays_in_the_united_kingdom] is \"Good Friday\" OR \"Easter Sunday\" OR \"Easter Monday\") AND (Season Select [input_select.season] is NOT set to Easter). ACTIONS: Set Season Select [input_select.season] to Easter.",
"natural_language": {
"trigger": "When Home Assistant first starts, at 2:00 AM every day, or when the Holidays in the United Kingdom calendar [calendar.holidays_in_the_united_kingdom] indicates an event is starting.",
"conditions": "If the calendar event's message is \"Good Friday\", \"Easter Sunday\", or \"Easter Monday\", and the Season Select [input_select.season] is not already set to Easter.",
"action": "Change the Season Select [input_select.season] to Easter."
},
"human_like": "Automatically sets the season to Easter when the UK holiday calendar indicates it's Good Friday, Easter Sunday, or Easter Monday.",
"complexity": "medium"
}
},
{
"id": "season_is_spring",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at 03:00:00 daily. CONDITIONS: (Current month is greater than 2 AND less than 6) AND (Holidays in the United Kingdom calendar [calendar.holidays_in_the_united_kingdom] attributes.message is not \"Good Friday\", \"Easter Sunday\", or \"Easter Monday\") AND (Season Select [input_select.season] is NOT Spring). ACTIONS: Set Season Select [input_select.season] to Spring.",
"natural_language": {
"trigger": "The automation triggers either when Home Assistant first starts up or every day at 3:00 AM.",
"conditions": "All of the following must be true: the current month is March, April, or May; the current holiday message from the Holidays in the United Kingdom calendar [calendar.holidays_in_the_united_kingdom] is not 'Good Friday', 'Easter Sunday', or 'Easter Monday'; and the Season Select [input_select.season] is not already set to 'Spring'.",
"action": "Sets the Season Select [input_select.season] to the 'Spring' option."
},
"human_like": "Automatically sets the season to Spring at the start of the season, unless it's a major Easter holiday.",
"complexity": "medium"
}
},
{
"id": "season_is_summer",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at 03:00:00 daily. CONDITIONS: The current month is between June and August (6 < month < 9) AND Season Select [input_select.season] is NOT set to Summer. ACTIONS: Set Season Select [input_select.season] to Summer.",
"natural_language": {
"trigger": "When Home Assistant first starts up, or every day at 3:00 AM.",
"conditions": "If the current month is June, July, or August, and the Season Select [input_select.season] is not already set to 'Summer'.",
"action": "Changes the Season Select [input_select.season] to the 'Summer' option."
},
"human_like": "Automatically sets the season to 'Summer' during the summer months, either at startup or at a scheduled time each day.",
"complexity": "medium"
}
},
{
"id": "season_is_winter",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at 03:00:00 daily. CONDITIONS: (Season Select [input_select.season] is NOT Winter) AND (current month is December OR current month is January OR current month is February) AND ((current month is January AND current day is on or after the 7th) OR (current month is December AND current day is before the 12th AND Season Select [input_select.season] is NOT Christmas)). ACTIONS: Set Season Select [input_select.season] to Winter.",
"natural_language": {
"trigger": "When Home Assistant first starts up, or every day at 3:00 AM.",
"conditions": "The Season Select [input_select.season] is not already set to 'Winter'. The current date must be within the winter months (December, January, or February). Furthermore, the date must be either on or after January 7th, or it must be before December 12th but only if the Season Select [input_select.season] is not currently set to 'Christmas'.",
"action": "Changes the Season Select [input_select.season] to the 'Winter' option."
},
"human_like": "Automatically sets the season to 'Winter' during the winter months, but avoids overlapping with the 'Christmas' season setting in early December.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_button",
"result": {
"structured": "TRIGGER: When Second bedroom button action event [event.second_bedroom_button_action] changes state. CONDITIONS: None. ACTIONS: Determine the button action from the event. If the action is 'hold', set Second Bedroom Select [input_select.second_bedroom] to 'Bedtime'. If the action is 'single', then check the state of Second Bedroom Light [light.second_bedroom]. If it is off, turn on Second Bedroom Light [light.second_bedroom] and then, based on the time of day, set Second Bedroom Select [input_select.second_bedroom] to 'Bedtime' (between 00:00 and 05:00), 'Dim' (between 23:00 and 00:00 OR between 05:00 and 06:00), or 'On' (any other time). If Second Bedroom Light [light.second_bedroom] is already on, set Second Bedroom Select [input_select.second_bedroom] to 'Off'. For any other button action, send a debug notification to Debug Log Notify [notify.debug_log] with the action and trigger details.",
"natural_language": {
"trigger": "When the Second bedroom button action event [event.second_bedroom_button_action] is triggered, indicating a button press.",
"conditions": "There are no additional conditions that must be met for the automation to run.",
"action": "The automation reacts differently based on the type of button press. A 'hold' action immediately sets the Second Bedroom Select [input_select.second_bedroom] to 'Bedtime'. A 'single' press first checks if the Second Bedroom Light [light.second_bedroom] is off. If it is, the light is turned on, and then a scene is selected for the light based on the time of day: 'Bedtime' between midnight and 5 AM, 'Dim' between 11 PM and midnight or 5 AM and 6 AM, and 'On' for all other times. If the light is already on, a single press sets the Second Bedroom Select [input_select.second_bedroom] to 'Off', effectively turning the light off. Any other button action results in a debug message being sent to the Debug Log Notify [notify.debug_log] service."
},
"human_like": "Controls the second bedroom light and scene based on button presses, using a single click to toggle the light with time-based scenes and a hold to set a bedtime scene.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_lights_to_bedtime",
"result": {
"structured": "TRIGGER: When Second Bedroom Select [input_select.second_bedroom] changes to Bedtime OR when House Select [input_select.house] changes to Bedtime. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Second Bedroom Select [input_select.second_bedroom] is Bedtime OR (Second Bedroom Select [input_select.second_bedroom] is Auto AND House Select [input_select.house] is Bedtime)). ACTIONS: Turn on Adaptive Lighting Second Bedroom [switch.adaptive_lighting_second_bedroom], Adaptive Lighting WLED Cob Person1 [switch.adaptive_lighting_wled_cob_person1], adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom], and Adaptive Lighting Sleep Mode WLED Cob Person1 [switch.adaptive_lighting_sleep_mode_wled_cob_person1]; and turn on Second Bedroom Light [light.second_bedroom] with the 'Solid' effect.",
"natural_language": {
"trigger": "When the Second Bedroom Select [input_select.second_bedroom] is set to 'Bedtime', or when the House Select [input_select.house] is set to 'Bedtime'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be switched on. Additionally, either the Second Bedroom Select [input_select.second_bedroom] is directly set to 'Bedtime', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Bedtime'.",
"action": "Activates several adaptive lighting switches: Adaptive Lighting Second Bedroom [switch.adaptive_lighting_second_bedroom], Adaptive Lighting WLED Cob Person1 [switch.adaptive_lighting_wled_cob_person1], adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom], and Adaptive Lighting Sleep Mode WLED Cob Person1 [switch.adaptive_lighting_sleep_mode_wled_cob_person1]. It also turns on the Second Bedroom Light [light.second_bedroom] and sets its effect to 'Solid'."
},
"human_like": "Sets the second bedroom lights to a bedtime scene when the room or house mode is set to bedtime, provided lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_lights_to_dim",
"result": {
"structured": "TRIGGER: When Second Bedroom Select [input_select.second_bedroom] changes to Dim OR when House Select [input_select.house] changes to Dim. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Second Bedroom Select [input_select.second_bedroom] is Dim OR (Second Bedroom Select [input_select.second_bedroom] is Auto AND House Select [input_select.house] is Dim)). ACTIONS: Turn off adaptive lighting second bedroom [switch.adaptive_lighting_second_bedroom], adaptive lighting WLED cob person1 [switch.adaptive_lighting_wled_cob_person1], adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom], and adaptive lighting sleep mode WLED cob person1 [switch.adaptive_lighting_sleep_mode_wled_cob_person1]; set WLED neon K preset select [select.wled_neon_k_preset] to Red; set WLED cob K preset select [select.wled_cob_k_preset] to Red; turn on Second Bedroom Light [light.second_bedroom].",
"natural_language": {
"trigger": "When the Second Bedroom Select [input_select.second_bedroom] is set to 'Dim', or when the House Select [input_select.house] is set to 'Dim'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be turned on. Furthermore, either the Second Bedroom Select [input_select.second_bedroom] is set to 'Dim', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Dim'.",
"action": "Turns off four adaptive lighting switches, sets the WLED neon and cob light presets to 'Red', and turns on the main Second Bedroom Light [light.second_bedroom]."
},
"human_like": "Sets the second bedroom to a dimmed, red-toned lighting scene when either the room or the whole house is set to dim mode, provided lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_lights_to_motion",
"result": {
"structured": "TRIGGER: When Second Bedroom Select [input_select.second_bedroom] changes to Motion OR When House Select [input_select.house] changes to Motion. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Second Bedroom Select [input_select.second_bedroom] is Motion OR (Second Bedroom Select [input_select.second_bedroom] is Auto AND House Select [input_select.house] is Motion)). ACTIONS: Turn off adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom] AND Turn off adaptive lighting sleep mode WLED cob person1 [switch.adaptive_lighting_sleep_mode_wled_cob_person1] AND Turn on adaptive lighting second bedroom [switch.adaptive_lighting_second_bedroom] AND Turn on adaptive lighting WLED cob person1 [switch.adaptive_lighting_wled_cob_person1] AND Turn on Second Bedroom Light [light.second_bedroom] with effect Solid.",
"natural_language": {
"trigger": "When the mode for the Second Bedroom Select [input_select.second_bedroom] is changed to 'Motion', or when the overall House Select [input_select.house] mode is changed to 'Motion'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be switched on. Additionally, either the Second Bedroom Select [input_select.second_bedroom] must be set to 'Motion', or it must be set to 'Auto' while the House Select [input_select.house] is set to 'Motion'.",
"action": "Disables the sleep mode for the adaptive lighting in the second bedroom and a WLED COB light, enables the standard adaptive lighting for both, and turns on the main Second Bedroom Light [light.second_bedroom] with a solid effect."
},
"human_like": "Activates motion-based lighting in the second bedroom by turning on the lights and enabling adaptive lighting when the room or house is set to motion mode.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_lights_to_off",
"result": {
"structured": "TRIGGER: When Second Bedroom Select [input_select.second_bedroom] changes to 'Off' OR When House Select [input_select.house] changes to 'Off'. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Second Bedroom Select [input_select.second_bedroom] is 'Off' OR (Second Bedroom Select [input_select.second_bedroom] is 'Auto' AND House Select [input_select.house] is 'Off')). ACTIONS: Turn off Second Bedroom Light [light.second_bedroom], wait 5 seconds, turn off adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom] and Adaptive Lighting Sleep Mode WLED Cob Person1 [switch.adaptive_lighting_sleep_mode_wled_cob_person1], then turn on Adaptive Lighting Second Bedroom [switch.adaptive_lighting_second_bedroom] and Adaptive Lighting WLED Cob Person1 [switch.adaptive_lighting_wled_cob_person1].",
"natural_language": {
"trigger": "When the Second Bedroom Select [input_select.second_bedroom] is set to 'Off', or when the House Select [input_select.house] is set to 'Off'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be enabled. Additionally, either the Second Bedroom Select [input_select.second_bedroom] is set to 'Off', or it is set to 'Auto' and the House Select [input_select.house] is set to 'Off'.",
"action": "Turns off the Second Bedroom Light [light.second_bedroom]. After a 5-second delay, it turns off the adaptive lighting sleep mode switches for the second bedroom and a WLED cob light, and then turns on the standard adaptive lighting switches for those same lights."
},
"human_like": "Turns off the second bedroom lights and restores standard adaptive lighting when the room or house mode is set to 'Off', provided lighting automations are active.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_lights_to_on",
"result": {
"structured": "TRIGGER: When Second Bedroom Select [input_select.second_bedroom] changes to 'On' OR when House Select [input_select.house] changes to 'On'. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Second Bedroom Select [input_select.second_bedroom] is 'On' OR (Second Bedroom Select [input_select.second_bedroom] is 'Auto' AND House Select [input_select.house] is 'On')). ACTIONS: Turn off adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom] AND turn off adaptive lighting sleep mode WLED cob person1 [switch.adaptive_lighting_sleep_mode_wled_cob_person1]; then turn on Adaptive Lighting Second Bedroom [switch.adaptive_lighting_second_bedroom] AND turn on Adaptive Lighting WLED Cob Person1 [switch.adaptive_lighting_wled_cob_person1]; then turn on Second Bedroom Light [light.second_bedroom] with effect set to 'Solid'.",
"natural_language": {
"trigger": "When the Second Bedroom Select [input_select.second_bedroom] is set to 'On', or when the House Select [input_select.house] is set to 'On'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be enabled. Additionally, either the Second Bedroom Select [input_select.second_bedroom] is directly set to 'On', or it is set to 'Auto' while the House Select [input_select.house] is set to 'On'.",
"action": "Disable the sleep mode for the adaptive lighting by turning off two switches: adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom] and adaptive lighting sleep mode WLED cob person1 [switch.adaptive_lighting_sleep_mode_wled_cob_person1]. Then, enable the main adaptive lighting by turning on Adaptive Lighting Second Bedroom [switch.adaptive_lighting_second_bedroom] and Adaptive Lighting WLED Cob Person1 [switch.adaptive_lighting_wled_cob_person1]. Finally, turn on the Second Bedroom Light [light.second_bedroom] with a solid light effect."
},
"human_like": "Turns on the second bedroom lights and adaptive lighting when the room or house mode is set appropriately, ensuring sleep mode is disabled.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_lights_to_wake",
"result": {
"structured": "TRIGGER: When Second Bedroom Select [input_select.second_bedroom] changes to Wake OR when House Select [input_select.house] changes to Wake. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Second Bedroom Select [input_select.second_bedroom] is Wake OR (Second Bedroom Select [input_select.second_bedroom] is Auto AND House Select [input_select.house] is Wake)). ACTIONS: Turn off adaptive lighting switches: Adaptive Lighting Second Bedroom [switch.adaptive_lighting_second_bedroom], Adaptive Lighting WLED Cob Person1 [switch.adaptive_lighting_wled_cob_person1], adaptive lighting sleep mode second bedroom [switch.adaptive_lighting_sleep_mode_second_bedroom], Adaptive Lighting Sleep Mode WLED Cob Person1 [switch.adaptive_lighting_sleep_mode_wled_cob_person1]. Set WLED Cob K Preset Select [select.wled_cob_k_preset] to White. Set WLED Neon K Preset Select [select.wled_neon_k_preset] to White. Turn on Second Bedroom Light [light.second_bedroom].",
"natural_language": {
"trigger": "The automation triggers when the Second Bedroom Select [input_select.second_bedroom] is set to 'Wake' or when the House Select [input_select.house] is set to 'Wake'.",
"conditions": "The automation only runs if the Lighting Automations [input_boolean.lighting_automations] switch is on. Additionally, the room must be in a 'Wake' state, which is determined by either the Second Bedroom Select being set directly to 'Wake', or the room being in 'Auto' mode while the whole house is in 'Wake' mode.",
"action": "It turns off several adaptive lighting switches, sets two WLED light presets to 'White', and turns on the main Second Bedroom Light [light.second_bedroom]."
},
"human_like": "Activates a bright, white wake-up lighting scene in the second bedroom when the house or room enters 'Wake' mode.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_mode_bedtime",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] turns on. CONDITIONS: (Second Bedroom Select [input_select.second_bedroom] is NOT set to 'Bedtime') AND (bedtime status [input_boolean.bedtime] is on AND Person1 Home [input_boolean.person1_home] is on) AND (second bedroom occupied [input_boolean.second_bedroom_occupied] is off). ACTIONS: Set Second Bedroom Select [input_select.second_bedroom] to the 'Bedtime' option.",
"natural_language": {
"trigger": "When the bedtime status [input_boolean.bedtime] is turned on.",
"conditions": "The automation checks that the Second Bedroom Select [input_select.second_bedroom] is not already set to 'Bedtime'. It also verifies that both the bedtime status [input_boolean.bedtime] and Person1 Home [input_boolean.person1_home] are on, and that the second bedroom occupied [input_boolean.second_bedroom_occupied] is off.",
"action": "Sets the Second Bedroom Select [input_select.second_bedroom] to the 'Bedtime' option."
},
"human_like": "Automatically sets the second bedroom to 'Bedtime' mode when bedtime is activated, Person1 is home, and the room is unoccupied.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_mode_motion",
"result": {
"structured": "TRIGGER: When Second bedroom door contact [binary_sensor.second_bedroom_door_contact] changes to on OR when Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] changes to on. CONDITIONS: (Second Bedroom Select [input_select.second_bedroom] is not set to 'Dim', 'Wake', or 'On') AND (second bedroom occupied [input_boolean.second_bedroom_occupied] is off) AND (Second bedroom door contact [binary_sensor.second_bedroom_door_contact] is on) AND (Second Bedroom Light Sensor Illuminance Sensor [sensor.second_bedroom_light_sensor_illuminance_lux] is below 14). ACTIONS: Set Second Bedroom Select [input_select.second_bedroom] to 'Motion'.",
"natural_language": {
"trigger": "When either the Second bedroom door contact [binary_sensor.second_bedroom_door_contact] opens or the Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] detects motion.",
"conditions": "If the room's mode, set by Second Bedroom Select [input_select.second_bedroom], is not currently 'Dim', 'Wake', or 'On'. The room must also be marked as unoccupied via second bedroom occupied [input_boolean.second_bedroom_occupied] being off. The bedroom door must be open, and the light level measured by the Second Bedroom Light Sensor Illuminance Sensor [sensor.second_bedroom_light_sensor_illuminance_lux] must be below 14 lux.",
"action": "Changes the room's mode to 'Motion' by updating the Second Bedroom Select [input_select.second_bedroom]."
},
"human_like": "Automatically sets the second bedroom to 'Motion' mode when motion or door opening is detected, but only if the room is unoccupied, dark, and not already in a different lighting mode.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_mode_no_motion",
"result": {
"structured": "TRIGGER: When Second bedroom door contact [binary_sensor.second_bedroom_door_contact] remains in any state for 3 minutes OR When Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] remains off for 3 minutes. CONDITIONS: (second bedroom occupied [input_boolean.second_bedroom_occupied] is off) AND (Second Bedroom Select [input_select.second_bedroom] is Motion) AND (Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] is off AND remains off for 3 minutes). ACTIONS: Set Second Bedroom Select [input_select.second_bedroom] to Off.",
"natural_language": {
"trigger": "When the Second bedroom door contact [binary_sensor.second_bedroom_door_contact] remains in its current state for three minutes, or when the Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] reports no motion for three minutes.",
"conditions": "The second bedroom occupied [input_boolean.second_bedroom_occupied] must be off, the Second Bedroom Select [input_select.second_bedroom] must be set to 'Motion', and the Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] must have been off for at least three minutes.",
"action": "Changes the Second Bedroom Select [input_select.second_bedroom] mode from 'Motion' to 'Off'."
},
"human_like": "Turns off the motion-based mode for the second bedroom when the room is unoccupied and no motion has been detected for a while.",
"complexity": "medium"
}
},
{
"id": "second_bedroom_mode_off",
"result": {
"structured": "TRIGGER: When person1 in bed [input_boolean.person1_in_bed] AND second bedroom occupied [input_boolean.second_bedroom_occupied] are both off for 5 minutes OR When Person1 Home [input_boolean.person1_home] AND second bedroom occupied [input_boolean.second_bedroom_occupied] are both off OR When Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is above 5 degrees OR When Second Bedroom Select [input_select.second_bedroom] is set to Bedtime OR Wake for 30 minutes OR When Second Bedroom Light Sensor Illuminance Sensor [sensor.second_bedroom_light_sensor_illuminance_lux] is above 32 lux (id: lux) OR When Second Bedroom Light Sensor Illuminance Sensor [sensor.second_bedroom_light_sensor_illuminance_lux] is above 42 lux. CONDITIONS: Second Bedroom Select [input_select.second_bedroom] is NOT set to Off AND (Person1 Home [input_boolean.person1_home] is off OR Second Bedroom Select [input_select.second_bedroom] is Bedtime OR Wake for 30 minutes OR (second bedroom occupied [input_boolean.second_bedroom_occupied] AND person1 in bed [input_boolean.person1_in_bed] are both off for 5 minutes) OR (trigger id: lux AND Second Bedroom Select [input_select.second_bedroom] last changed more than 1 minute ago)). ACTIONS: Set Second Bedroom Select [input_select.second_bedroom] to Off.",
"natural_language": {
"trigger": "The automation triggers in several situations: if both the 'person1 in bed' and 'second bedroom occupied' switches are off for five minutes; if both the 'Person1 Home' and 'second bedroom occupied' switches are off; if the sun's solar elevation rises above 5 degrees; if the second bedroom mode is set to 'Bedtime' or 'Wake' for thirty minutes; or if the light level in the second bedroom rises above either 32 lux or 42 lux.",
"conditions": "The automation only runs if the second bedroom mode is not already set to 'Off'. Additionally, at least one of the following must be true: Person1 is not home; the second bedroom mode has been set to 'Bedtime' or 'Wake' for thirty minutes; both the 'second bedroom occupied' and 'person1 in bed' switches have been off for five minutes; or the trigger was a light level above 32 lux and the second bedroom mode was last changed more than a minute ago.",
"action": "Changes the second bedroom mode to 'Off'."
},
"human_like": "Turns off the second bedroom's mode when the room is unoccupied, the occupant is not home or in bed, it's daytime, or the room becomes bright enough, ensuring the mode isn't already off.",
"complexity": "high"
}
},
{
"id": "second_bedroom_mode_on",
"result": {
"structured": "TRIGGER: When second bedroom occupied [input_boolean.second_bedroom_occupied] changes to on. CONDITIONS: (second bedroom occupied [input_boolean.second_bedroom_occupied] is on) AND (Second Bedroom Light Sensor Illuminance Sensor [sensor.second_bedroom_light_sensor_illuminance_lux] is below 14) AND (Person1 Home [input_boolean.person1_home] is on). ACTIONS: Set Second Bedroom Select [input_select.second_bedroom] to option 'On'.",
"natural_language": {
"trigger": "When the second bedroom occupied [input_boolean.second_bedroom_occupied] is turned on.",
"conditions": "If the second bedroom occupied [input_boolean.second_bedroom_occupied] is currently on, the light level in the room measured by the Second Bedroom Light Sensor Illuminance Sensor [sensor.second_bedroom_light_sensor_illuminance_lux] is below 14 lux, and Person1 Home [input_boolean.person1_home] is set to on, indicating they are at home.",
"action": "Changes the mode of the second bedroom by setting the Second Bedroom Select [input_select.second_bedroom] to the 'On' option."
},
"human_like": "When the second bedroom is marked as occupied and it's dark, it sets the room's mode to 'On' if Person1 is home.",
"complexity": "low"
}
},
{
"id": "second_bedroom_mode_wake",
"result": {
"structured": "TRIGGER: When Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] turns on. CONDITIONS: Person1 Home [input_boolean.person1_home] is on AND the current time is before 10:00:00. ACTIONS: Set Second Bedroom Select [input_select.second_bedroom] to 'Wake'.",
"natural_language": {
"trigger": "When the Person1 Alarm Sounded [input_boolean.person1_alarm_sounded] is turned on.",
"conditions": "If Person1 Home [input_boolean.person1_home] is currently set to on, and the current time is before 10:00 AM.",
"action": "Changes the mode of the Second Bedroom Select [input_select.second_bedroom] to 'Wake'."
},
"human_like": "Sets the second bedroom to 'Wake' mode when Person1's alarm goes off in the morning, but only if they are home.",
"complexity": "low"
}
},
{
"id": "second_bedroom_not_occupied",
"result": {
"structured": "TRIGGER: When Second bedroom door contact [binary_sensor.second_bedroom_door_contact] remains closed (off) for 1 minute OR When Second bedroom door contact [binary_sensor.second_bedroom_door_contact] remains open (on) for 1 minute OR When Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] stops detecting motion (off) for 1 minute. CONDITIONS: (Second ensuite door contact [binary_sensor.second_ensuite_door_contact] is open OR closed AND remains stable for 1 minute) AND (second bedroom occupied [input_boolean.second_bedroom_occupied] is on) AND ((Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] is off AND Second bedroom door contact [binary_sensor.second_bedroom_door_contact] is open) OR (Second bedroom door contact [binary_sensor.second_bedroom_door_contact] is closed AND ((Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] is on AND motion last_seen occurred before Second bedroom door contact [binary_sensor.second_bedroom_door_contact] last_changed) OR (Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] is off)))). ACTIONS: Turn off second bedroom occupied [input_boolean.second_bedroom_occupied].",
"natural_language": {
"trigger": "The automation can be triggered in three ways: if the Second bedroom door contact [binary_sensor.second_bedroom_door_contact] stays closed for one minute, if it stays open for one minute, or if the Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] sensor reports no motion for one minute.",
"conditions": "For the automation to run, the Second ensuite door contact [binary_sensor.second_ensuite_door_contact] must have been in a stable state (either open or closed) for at least one minute, and the second bedroom occupied [input_boolean.second_bedroom_occupied] flag must be set to on. Furthermore, the specific trigger must match one of two scenarios: either the motion sensor is off while the bedroom door is open, or the bedroom door is closed and either the motion sensor is off, or motion is still detected but the last motion was seen before the door was last closed.",
"action": "The automation turns off the second bedroom occupied [input_boolean.second_bedroom_occupied] flag, marking the room as unoccupied."
},
"human_like": "This automation marks the second bedroom as unoccupied when the door and motion sensors indicate the room is empty, using careful timing to avoid false triggers.",
"complexity": "high"
}
},
{
"id": "second_bedroom_occupied",
"result": {
"structured": "TRIGGER: When Second bedroom door contact [binary_sensor.second_bedroom_door_contact] becomes closed (off) OR When Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] becomes on OR When Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] attribute last_seen changes OR When Second ensuite door contact [binary_sensor.second_ensuite_door_contact] changes state. CONDITIONS: (second bedroom occupied [input_boolean.second_bedroom_occupied] is off) AND (Second bedroom door contact [binary_sensor.second_bedroom_door_contact] is closed (off)) AND (trigger is Second ensuite door contact [binary_sensor.second_ensuite_door_contact] OR trigger is Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] becomes on). ACTIONS: Turn on second bedroom occupied [input_boolean.second_bedroom_occupied].",
"natural_language": {
"trigger": "The automation triggers when the Second bedroom door contact [binary_sensor.second_bedroom_door_contact] closes, when the Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] detects motion, when the last_seen attribute of the motion sensor changes, or when the Second ensuite door contact [binary_sensor.second_ensuite_door_contact] changes state.",
"conditions": "The automation only runs if the second bedroom occupied [input_boolean.second_bedroom_occupied] is currently off, the Second bedroom door contact [binary_sensor.second_bedroom_door_contact] is closed, and the trigger that started the automation was either the Second ensuite door contact [binary_sensor.second_ensuite_door_contact] changing state or the Second bedroom motion occupancy [binary_sensor.second_bedroom_motion_occupancy] detecting motion.",
"action": "Marks the room as occupied by turning on second bedroom occupied [input_boolean.second_bedroom_occupied]."
},
"human_like": "Marks the second bedroom as occupied when the door is closed and either motion is detected or the ensuite door is used, but only if the room is not already marked as occupied.",
"complexity": "medium"
}
},
{
"id": "signal_received",
"result": {
"structured": "TRIGGER: When Signal Message Received Sensor [sensor.signal_message_received] attribute 'source' changes to 'secret signal_recipient'. ACTIONS: Set the value of Command Text [input_text.command] to the content of the 'message' field from the 'dataMessage' attribute of Signal Message Received Sensor [sensor.signal_message_received].",
"natural_language": {
"trigger": "When the Signal Message Received Sensor [sensor.signal_message_received] receives a message from the source named 'secret signal_recipient'.",
"conditions": "There are no conditions for this automation.",
"action": "Copies the text of the received message into the Command Text [input_text.command] field."
},
"human_like": "Copies a specific secret signal message into a command text field for processing.",
"complexity": "low"
}
},
{
"id": "sleep_as_android",
"result": {
"structured": "TRIGGER: When event SleepAsAndroid_person2 occurs. CONDITIONS: None. ACTIONS: Send notification to Debug Log Notify [notify.debug_log] with message 'SleepAsAndroid: {{ trigger.event.data }}'.",
"natural_language": {
"trigger": "When a Sleep as Android event named 'SleepAsAndroid_person2' is received.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a debug notification to Debug Log Notify [notify.debug_log], including the data from the triggering event."
},
"human_like": "Logs data from a specific Sleep as Android event to a debug log for monitoring.",
"complexity": "low"
}
},
{
"id": "somebody_arrived_scan",
"result": {
"structured": "TRIGGER: When Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] OR Person4 Status Dropdown [input_select.person4_status_dropdown] changes to state 'Just Arrived'. CONDITIONS: Scan BT Arrive Script [script.scan_bt_arrive] is off. ACTIONS: Turn on Scan BT Arrive Script [script.scan_bt_arrive].",
"natural_language": {
"trigger": "When any of the status dropdowns for Person1, Person2, Person3, or Person4 changes to 'Just Arrived'.",
"conditions": "The Scan BT Arrive Script [script.scan_bt_arrive] must not currently be running (its state must be off).",
"action": "Start the Scan BT Arrive Script [script.scan_bt_arrive]."
},
"human_like": "Starts a Bluetooth scan when any person's status is set to 'Just Arrived'.",
"complexity": "low"
}
},
{
"id": "sonos_off_tv_unmute",
"result": {
"structured": "TRIGGER: When living room media player [media_player.living_room] changes from playing to paused OR when living room media player [media_player.living_room] changes from playing to idle. CONDITIONS: Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] is on. ACTIONS: Unmute Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv].",
"natural_language": {
"trigger": "When the living room media player [media_player.living_room] stops playing, either by being paused or by becoming idle.",
"conditions": "The Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] must be powered on.",
"action": "Unmutes the Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv]."
},
"human_like": "Automatically unmutes the lounge TV when the living room Sonos speaker stops playing, ensuring the TV audio is ready.",
"complexity": "low"
}
},
{
"id": "sonos_on_tv_mute",
"result": {
"structured": "TRIGGER: When living room media player [media_player.living_room] changes from paused to playing OR When living room media player [media_player.living_room] changes from idle to playing. CONDITIONS: Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] is on. ACTIONS: Mute the volume of Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv].",
"natural_language": {
"trigger": "When the living room media player [media_player.living_room] starts playing, either from a paused state or from an idle state.",
"conditions": "The Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] must be turned on.",
"action": "Mutes the volume of the Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv]."
},
"human_like": "Automatically mutes the TV in the lounge when the living room media player starts playing.",
"complexity": "low"
}
},
{
"id": "startup_location_update",
"result": {
"structured": "TRIGGER: When Home Assistant starts. ACTIONS: Wait 30 seconds, then execute Person3 Traveltime Script [script.person3_traveltime], wait 30 seconds, then execute Person1 Traveltime Script [script.person1_traveltime], wait 30 seconds, then execute Person2 Traveltime Script [script.person2_traveltime], wait 1 minute, then execute Person4 Traveltime Script [script.person4_traveltime].",
"natural_language": {
"trigger": "When the Home Assistant system starts up.",
"conditions": "There are no conditions for this automation.",
"action": "After a 30-second delay, it runs the Person3 Traveltime Script [script.person3_traveltime]. It then waits another 30 seconds before running the Person1 Traveltime Script [script.person1_traveltime]. After a further 30-second delay, it runs the Person2 Traveltime Script [script.person2_traveltime]. Finally, it waits for one minute before running the Person4 Traveltime Script [script.person4_traveltime]."
},
"human_like": "Runs a sequence of travel time update scripts for different people with specific delays after Home Assistant starts.",
"complexity": "medium"
}
},
{
"id": "startup_person1_up",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: (Time is between 06:00:00 and 22:00:00) OR (Person1 Home [input_boolean.person1_home] is off). ACTIONS: Turn on Person1 Is Awake [input_boolean.person1_is_awake].",
"natural_language": {
"trigger": "When Home Assistant starts up.",
"conditions": "If the current time is between 6:00 AM and 10:00 PM, or if Person1 Home [input_boolean.person1_home] is currently set to off.",
"action": "Sets Person1's awake status by turning on Person1 Is Awake [input_boolean.person1_is_awake]."
},
"human_like": "When Home Assistant restarts, it marks Person1 as awake if it's daytime or if they are not marked as home.",
"complexity": "medium"
}
},
{
"id": "startup_person2_up",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: (Time is between 06:00:00 and 22:00:00) OR (person2 home status [input_boolean.person2_home] is off). ACTIONS: Turn on person2 is awake [input_boolean.person2_is_awake].",
"natural_language": {
"trigger": "When the Home Assistant system starts up.",
"conditions": "If the current time is between 6:00 AM and 10:00 PM, or if the person2 home status [input_boolean.person2_home] indicates the person is not home.",
"action": "Sets the status for person2 is awake [input_boolean.person2_is_awake] to on."
},
"human_like": "When Home Assistant restarts, it marks person2 as awake if it's daytime or if they are not home.",
"complexity": "low"
}
},
{
"id": "startup_person3_up",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: (Time is between 06:00:00 and 22:00:00) OR (person3 home status [input_boolean.person3_home] is off). ACTIONS: Turn on person3 is awake [input_boolean.person3_is_awake].",
"natural_language": {
"trigger": "When the Home Assistant system starts up.",
"conditions": "If the current time is between 6:00 AM and 10:00 PM, or if the person3 home status [input_boolean.person3_home] is currently set to off.",
"action": "Sets the person3 is awake [input_boolean.person3_is_awake] status to on."
},
"human_like": "Sets person3 as awake when Home Assistant starts, but only during daytime hours or if they are not marked as home.",
"complexity": "low"
}
},
{
"id": "start_camera_stream",
"result": {
"structured": "TRIGGER: When Stream Camera [input_boolean.stream_camera] turns on. CONDITIONS: home occupied [binary_sensor.home_occupied] is on. ACTIONS: First, set Camera Stream Target [input_select.camera_stream_target] to media_player.office_smart_display if office occupied [input_boolean.office_occupied] is on, otherwise to media_player.living_room_display if Living Room Occupied [input_boolean.living_room_occupied] is on, otherwise to media_player.master_bedroom_display if Master Bedroom Occupied [input_boolean.master_bedroom_occupied] is on, otherwise to media_player.family_room_display. Second, play the HLS stream from Front camera lowres [camera.front_camera_lowres] on the media player selected in Camera Stream Target [input_select.camera_stream_target].",
"natural_language": {
"trigger": "When the Stream Camera [input_boolean.stream_camera] is turned on.",
"conditions": "The home must be occupied, meaning the home occupied [binary_sensor.home_occupied] sensor is on.",
"action": "First, the automation selects a target media player based on which rooms are occupied. It checks the office occupied [input_boolean.office_occupied] status first, then the Living Room Occupied [input_boolean.living_room_occupied], then the Master Bedroom Occupied [input_boolean.master_bedroom_occupied], and finally defaults to the family room. It sets this selection in the Camera Stream Target [input_select.camera_stream_target]. Then, it starts playing the HLS video stream from the Front camera lowres [camera.front_camera_lowres] on the selected media player."
},
"human_like": "Starts streaming the front camera to a display in an occupied room when streaming is manually activated.",
"complexity": "medium"
}
},
{
"id": "stop_camera_stream",
"result": {
"structured": "TRIGGER: When Stream Camera [input_boolean.stream_camera] changes to off. CONDITIONS: None. ACTIONS: Turn off the media player entity whose ID is the current state of Camera Stream Target [input_select.camera_stream_target].",
"natural_language": {
"trigger": "When the Stream Camera [input_boolean.stream_camera] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the media player that is currently selected in the Camera Stream Target [input_select.camera_stream_target] dropdown."
},
"human_like": "Stops the camera stream by turning off the media player that is currently selected as the streaming target.",
"complexity": "low"
}
},
{
"id": "tasker_hook",
"result": {
"structured": "TRIGGER: When a webhook with ID 'secret assistant_api_key' is received via HTTP POST. CONDITIONS: None. ACTIONS: Fire an event named 'tasker_webhook' with data fields (id, who, what, when, device, roaming, phonenet) populated from the webhook payload AND send a notification to Debug Log Notify [notify.debug_log] containing a message that includes the webhook ID, the 'who' and 'what' from the payload, and a timestamp (using the 'when' value if 'what' is 'next_alarm', otherwise the current local time), followed by the full JSON payload.",
"natural_language": {
"trigger": "The automation is triggered when a specific webhook, identified by the key 'secret assistant_api_key', is received by Home Assistant.",
"conditions": "There are no conditions; the automation runs every time the webhook is received.",
"action": "It first fires a custom event called 'tasker_webhook', passing along data from the webhook such as who triggered it, what action was taken, and device information. Then, it sends a detailed notification to the Debug Log Notify [notify.debug_log] service. This notification includes the webhook ID, the user and action from the payload, a timestamp (which uses a special value if the action is 'next_alarm'), and the complete data received."
},
"human_like": "This automation acts as a bridge for Tasker, logging webhook events and forwarding their data within Home Assistant for debugging and processing.",
"complexity": "low"
}
},
{
"id": "telegram_callback",
"result": {
"structured": "TRIGGER: When a telegram_callback event occurs. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] containing the callback data, message, sender details, and chat information.",
"natural_language": {
"trigger": "Whenever a telegram_callback event is received.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a detailed notification to the Debug Log Notify [notify.debug_log] service. The message includes the callback data, the associated message text, the sender's first and last name, their user ID, and the chat ID and name."
},
"human_like": "Logs details from incoming Telegram callback events to a debug notification service.",
"complexity": "low"
}
},
{
"id": "telegram_callback_trains",
"result": {
"structured": "TRIGGER: When a Telegram callback event occurs with data field equal to '/trains'. CONDITIONS: None. ACTIONS: Execute the Train Message Script [script.train_message] AND send a Telegram callback answer with the message content from Train Message Text [input_text.train_message] and the callback query ID from the triggering event.",
"natural_language": {
"trigger": "When a specific callback button is pressed in a Telegram chat, specifically the one linked to the command '/trains'.",
"conditions": "There are no conditions that must be met for this automation to proceed.",
"action": "First, it runs the Train Message Script [script.train_message]. Then, it sends a response back to the Telegram chat, using the text currently stored in the Train Message Text [input_text.train_message] field, to acknowledge the button press."
},
"human_like": "Responds to a Telegram button press by running a script to get train information and sending the result back to the user.",
"complexity": "low"
}
},
{
"id": "telegram_command",
"result": {
"structured": "TRIGGER: When a telegram_command event occurs. CONDITIONS: None. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] with a message containing the command, arguments, sender details (first name, last name, user ID), and chat details (chat ID, chat name) from the triggering event.",
"natural_language": {
"trigger": "Whenever a 'telegram_command' event is received.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a notification to the Debug Log Notify [notify.debug_log] service. The message includes the command and its arguments, the sender's first and last name, their user ID, and the chat ID and name where the command was sent."
},
"human_like": "Logs details of any received Telegram command to a debug notification service.",
"complexity": "low"
}
},
{
"id": "telegram_text",
"result": {
"structured": "TRIGGER: When a telegram_text event occurs. ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] containing the received text, sender first name, sender last name, user ID, chat ID, and chat name from the event data.",
"natural_language": {
"trigger": "Whenever a 'telegram_text' event is received by Home Assistant.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a notification to the Debug Log Notify [notify.debug_log] service. The notification message includes the text received, the sender's first and last name, their user ID, and the chat ID and name where the message was sent."
},
"human_like": "Logs details of received Telegram messages to a debug notification service.",
"complexity": "low"
}
},
{
"id": "test_alarm",
"result": {
"structured": "TRIGGER: When the current time matches the timestamp stored in sensor.pixel_xl_next_alarm. CONDITIONS: None. ACTIONS: Send a notification via person2 notification [notify.person2] with the message 'The alarm, it's time'.",
"natural_language": {
"trigger": "When the current time reaches the specific time set in the sensor.pixel_xl_next_alarm.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a notification to person2 notification [notify.person2] with the message 'The alarm, it's time'."
},
"human_like": "Sends a notification when the scheduled alarm time arrives.",
"complexity": "low"
}
},
{
"id": "test_calendar_automation",
"result": {
"structured": "TRIGGER: At 00:00:01. ACTIONS: Retrieve events from calendar person2 work [calendar.person2_work] for a 24-hour period starting at today's 00:00:00 and store the result in variable 'agenda'. Then, set variable 'holiday' to true if any event in the retrieved agenda has a summary containing the substring 'holiday'. Finally, turn Person2 On Holiday [input_boolean.person2_on_holiday] on if 'holiday' is true, otherwise turn it off.",
"natural_language": {
"trigger": "Every day at one second past midnight.",
"conditions": "There are no conditions to evaluate.",
"action": "First, the automation fetches the events from the calendar person2 work [calendar.person2_work] for the entire day. It then checks if any of those events contain the word 'holiday' in their title. Based on this check, it sets the Person2 On Holiday [input_boolean.person2_on_holiday] switch to on if a holiday event is found, or to off if not."
},
"human_like": "Checks the work calendar each night to see if Person2 has a holiday scheduled for the day and updates a switch accordingly.",
"complexity": "medium"
}
},
{
"id": "toilet_occupied",
"result": {
"structured": "TRIGGER: When an automation_reloaded event occurs OR When Toilet Light Sensor Illuminance Sensor [sensor.toilet_light_sensor_illuminance_lux] rises above 2 lux OR When Toilet door contact [binary_sensor.toilet_door_contact] changes to closed (off). CONDITIONS: Toilet Light Sensor Illuminance Sensor [sensor.toilet_light_sensor_illuminance_lux] is above 2 lux AND Toilet door contact [binary_sensor.toilet_door_contact] is closed (off). ACTIONS: Turn on Toilet Occupied [input_boolean.toilet_occupied].",
"natural_language": {
"trigger": "This automation can be triggered in three ways: when the Home Assistant automations are reloaded, when the toilet light sensor [sensor.toilet_light_sensor_illuminance_lux] detects a light level above 2 lux, or when the toilet door contact [binary_sensor.toilet_door_contact] closes.",
"conditions": "For the action to run, both the toilet light sensor [sensor.toilet_light_sensor_illuminance_lux] must read above 2 lux and the toilet door contact [binary_sensor.toilet_door_contact] must be closed.",
"action": "Sets the toilet as occupied by turning on the Toilet Occupied [input_boolean.toilet_occupied] input boolean."
},
"human_like": "Marks the toilet as occupied when the door is closed and the light level is high enough, ensuring it also runs when automations are reloaded.",
"complexity": "low"
}
},
{
"id": "toilet_unoccupied",
"result": {
"structured": "TRIGGER: When an automation_reloaded event occurs OR When Toilet Light Sensor Illuminance Sensor [sensor.toilet_light_sensor_illuminance_lux] falls below 2 lux OR When Toilet door contact [binary_sensor.toilet_door_contact] changes to open (on) or closed (off). CONDITIONS: Toilet Light Sensor Illuminance Sensor [sensor.toilet_light_sensor_illuminance_lux] is below 2 lux. ACTIONS: Turn off Toilet Occupied [input_boolean.toilet_occupied].",
"natural_language": {
"trigger": "The automation can be triggered in three ways: when Home Assistant reloads automations, when the light level in the toilet measured by the Toilet Light Sensor Illuminance Sensor [sensor.toilet_light_sensor_illuminance_lux] drops below 2 lux, or when the Toilet door contact [binary_sensor.toilet_door_contact] changes state, either opening or closing.",
"conditions": "The automation only proceeds if the light level in the toilet, measured by the Toilet Light Sensor Illuminance Sensor [sensor.toilet_light_sensor_illuminance_lux], is below 2 lux.",
"action": "Marks the toilet as unoccupied by turning off the Toilet Occupied [input_boolean.toilet_occupied] input boolean."
},
"human_like": "Marks the toilet as unoccupied when it's dark and either the door moves or automations are reloaded.",
"complexity": "medium"
}
},
{
"id": "train_status",
"result": {
"structured": "TRIGGER: When the time is 07:10:00. CONDITIONS: Notify Train Status Work [input_boolean.notify_train_status_work] is on AND person2 is awake [input_boolean.person2_is_awake] is on AND person2 home status [input_boolean.person2_home] is on AND Person2 Working Trains [input_boolean.person2_working_trains] is on. ACTIONS: Execute script Train Message Script [script.train_message]. Send notification to person2 notification [notify.person2] with the message content from Train Message Text [input_text.train_message]. Send notification to awtrix living room [notify.awtrix_living_room] with the message content from Train Message Text [input_text.train_message], using icon 17608 and displaying for 30 seconds, repeating 2 times.",
"natural_language": {
"trigger": "The automation runs daily at 7:10 AM.",
"conditions": "All of the following must be true: the 'Notify Train Status Work' [input_boolean.notify_train_status_work] option is enabled, 'person2 is awake' [input_boolean.person2_is_awake] is on, 'person2 home status' [input_boolean.person2_home] indicates the person is home, and 'Person2 Working Trains' [input_boolean.person2_working_trains] is enabled.",
"action": "First, it runs the 'Train Message Script' [script.train_message]. Then, it sends the current train status message, stored in 'Train Message Text' [input_text.train_message], as a notification to 'person2 notification' [notify.person2]. Finally, it also displays the same message on the 'awtrix living room' [notify.awtrix_living_room] device with a specific icon, showing it for 30 seconds and repeating the display twice."
},
"human_like": "Sends a morning train status update to Person2 and the living room display at 7:10 AM, but only if they are home, awake, and have the relevant notifications enabled.",
"complexity": "medium"
}
},
{
"id": "turned_off_by_person3",
"result": {
"structured": "TRIGGER: When Downstairs Hall Light [light.downstairs_hall] changes from on to off. CONDITIONS: (Hall Select [input_select.hall] is NOT 'Off') AND (the user who triggered the state change has the user_id 'cc64811238de43b5a2e3d15637a0bde7'). ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] with the message 'The hall light was manually turned off by person3', then wait for 2 minutes, then turn on adaptive lighting sleep mode hall [switch.adaptive_lighting_sleep_mode_hall], then turn on Downstairs Hall Light [light.downstairs_hall].",
"natural_language": {
"trigger": "When the Downstairs Hall Light [light.downstairs_hall] is turned off from an on state.",
"conditions": "The Hall Select [input_select.hall] is not set to 'Off', and the action was performed by a specific user identified by the user ID 'cc64811238de43b5a2e3d15637a0bde7'.",
"action": "Sends a debug notification stating that the hall light was manually turned off by person3, waits for two minutes, then turns on the adaptive lighting sleep mode for the hall, and finally turns the Downstairs Hall Light back on."
},
"human_like": "When person3 manually turns off the hall light, it logs the event, waits two minutes, and then restores the light and its adaptive sleep mode.",
"complexity": "medium"
}
},
{
"id": "tv_on_sonos_off",
"result": {
"structured": "TRIGGER: When Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] turns on. CONDITIONS: living room media player [media_player.living_room] is playing. ACTIONS: Stop living room media player [media_player.living_room].",
"natural_language": {
"trigger": "When the Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] is turned on.",
"conditions": "If the living room media player [media_player.living_room] is currently playing media.",
"action": "Stops the playback on the living room media player [media_player.living_room]."
},
"human_like": "Automatically stops the Sonos speaker in the living room when the TV is turned on, preventing audio overlap.",
"complexity": "low"
}
},
{
"id": "tv_light_on",
"result": {
"structured": "TRIGGER: When Living Room TV Lamp [light.living_room_tv_lamp] turns on. CONDITIONS: Livingroom Lights Auto [input_boolean.livingroom_lights_auto] is on. ACTIONS: Turn off Livingroom Lights Auto [input_boolean.livingroom_lights_auto].",
"natural_language": {
"trigger": "When the Living Room TV Lamp [light.living_room_tv_lamp] is turned on.",
"conditions": "The automation only runs if the Livingroom Lights Auto [input_boolean.livingroom_lights_auto] is currently switched on.",
"action": "Disables the automatic lighting control by turning off the Livingroom Lights Auto [input_boolean.livingroom_lights_auto]."
},
"human_like": "Disables automatic living room lighting when the TV lamp is manually turned on.",
"complexity": "low"
}
},
{
"id": "family_tv_not_sattv",
"result": {
"structured": "TRIGGER: When Roku Active App Sensor [sensor.roku_x00200y5s7lx_active_app] changes to any state except 'Satellite TV' AND remains stable for 5 minutes OR When Roku X00200Y5S7LX [media_player.roku_x00200y5s7lx] changes to standby OR off AND remains stable for 5 minutes. CONDITIONS: Roku Active App Sensor [sensor.roku_x00200y5s7lx_active_app] does NOT contain the string 'Satellite' AND Sky Q Family Room [media_player.sky_q_family_room] is playing. ACTIONS: Turn off Sky Q Family Room [media_player.sky_q_family_room].",
"natural_language": {
"trigger": "When the Roku TV's active app changes to anything other than 'Satellite TV' and stays that way for five minutes, or when the Roku TV itself is turned off or goes to standby for five minutes.",
"conditions": "If the Roku's active app sensor does not show 'Satellite' in its name, and the Sky Q set-top box in the family room is currently playing content.",
"action": "Turn off the Sky Q Family Room [media_player.sky_q_family_room] media player."
},
"human_like": "Turns off the Sky Q box in the family room when the Roku TV is no longer set to the satellite TV input for a few minutes.",
"complexity": "medium"
}
},
{
"id": "living_tv_off",
"result": {
"structured": "TRIGGER: When Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] remains in state 'off' OR 'standby' for 3 minutes. CONDITIONS: Sky Q Living Room [media_player.sky_q_living_room] is playing. ACTIONS: Turn off Sky Q Living Room [media_player.sky_q_living_room].",
"natural_language": {
"trigger": "When the Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] has been turned off or put on standby for at least three minutes.",
"conditions": "The Sky Q Living Room [media_player.sky_q_living_room] media player must currently be in a playing state.",
"action": "Turn off the Sky Q Living Room [media_player.sky_q_living_room] media player."
},
"human_like": "Turns off the Sky Q box in the living room when the main TV has been off or on standby for three minutes.",
"complexity": "low"
}
},
{
"id": "tv_on_reconnect",
"result": {
"structured": "TRIGGER: When Living room Chromecast [device_tracker.living_room_chromecast] is at home for 30 seconds OR When Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] is on for 30 seconds. CONDITIONS: Living Room TV [media_player.living_room_tv] is unavailable. ACTIONS: Update the entity state for Living Room TV [media_player.living_room_tv].",
"natural_language": {
"trigger": "When the Living room Chromecast [device_tracker.living_room_chromecast] has been at home for 30 seconds, or when the Lounge TCL Roku TV [media_player.lounge_tcl_roku_tv] has been turned on for 30 seconds.",
"conditions": "The Living Room TV [media_player.living_room_tv] must be in an unavailable state.",
"action": "Requests an update of the state for the Living Room TV [media_player.living_room_tv]."
},
"human_like": "Refreshes the Living Room TV's status when the Chromecast reconnects or the other TV turns on, but only if the main TV is currently unavailable.",
"complexity": "medium"
}
},
{
"id": "utility_door_left_open",
"result": {
"structured": "TRIGGER: When Utility door exterior contact [binary_sensor.utility_door_exterior_contact] OR Patio door left contact [binary_sensor.patio_door_left_contact] OR Patio door right contact [binary_sensor.patio_door_right_contact] changes from closed (off) to open (on) AND remains open for 5 minutes. CONDITIONS: Accuhome Apparent Temperature Sensor [sensor.accuhome_apparent_temperature] is below 5. ACTIONS: Play a TTS announcement on a selected media player. The announcement states: 'The [triggering door name] has been left open and it is [current apparent temperature] [temperature unit] outside'. The target media player is selected based on room occupancy: If Family Room Occupied [input_boolean.family_room_occupied] is on, use Family Room Sonos Cloud [media_player.family_room_sonos_cloud]; otherwise, if Living Room Occupied [input_boolean.living_room_occupied] is on, use Living Room Sonos Cloud [media_player.living_room_sonos_cloud]; otherwise, use Office Sonos Cloud [media_player.office_sonos_cloud]. The announcement is played with an extra volume of 25.",
"natural_language": {
"trigger": "When the Utility door exterior contact [binary_sensor.utility_door_exterior_contact], the Patio door left contact [binary_sensor.patio_door_left_contact], or the Patio door right contact [binary_sensor.patio_door_right_contact] is opened and stays open for five minutes.",
"conditions": "The Accuhome Apparent Temperature Sensor [sensor.accuhome_apparent_temperature] must report a temperature below 5 degrees.",
"action": "A text-to-speech announcement is played on a Sonos speaker. The message names the specific door that was left open and states the current outside apparent temperature. The speaker is chosen based on which room is occupied: it plays in the family room if that room is occupied, otherwise in the living room if that room is occupied, and otherwise in the office."
},
"human_like": "Announces a warning on a nearby speaker when an exterior door is left open for five minutes during cold weather.",
"complexity": "medium"
}
},
{
"id": "utility_door_open_after_sunset_closed",
"result": {
"structured": "TRIGGER: When Utility door exterior contact [binary_sensor.utility_door_exterior_contact] OR Patio door left contact [binary_sensor.patio_door_left_contact] OR Patio door right contact [binary_sensor.patio_door_right_contact] changes from open (on) to closed (off). CONDITIONS: Utility door open after sunset turn off automation [automation.utility_door_open_after_sunset_turn_off] is off. ACTIONS: Wait 1 second, then turn on Garden Lights [input_boolean.garden_lights], then turn on Utility door open after sunset turn off automation [automation.utility_door_open_after_sunset_turn_off].",
"natural_language": {
"trigger": "When the Utility door exterior contact [binary_sensor.utility_door_exterior_contact], the Patio door left contact [binary_sensor.patio_door_left_contact], or the Patio door right contact [binary_sensor.patio_door_right_contact] changes from being open to being closed.",
"conditions": "This automation only runs if the Utility door open after sunset turn off automation [automation.utility_door_open_after_sunset_turn_off] is currently turned off.",
"action": "After a one-second delay, the automation turns on the Garden Lights [input_boolean.garden_lights] and then turns on the Utility door open after sunset turn off automation [automation.utility_door_open_after_sunset_turn_off]."
},
"human_like": "Turns on the garden lights when an exterior door is closed at night, and enables a related automation to manage them.",
"complexity": "medium"
}
},
{
"id": "utility_door_open_after_sunset_turn_off",
"result": {
"structured": "TRIGGER: When Utility door exterior contact [binary_sensor.utility_door_exterior_contact] OR Patio door left contact [binary_sensor.patio_door_left_contact] OR Patio door right contact [binary_sensor.patio_door_right_contact] changes from open (on) to closed (off). CONDITIONS: (Utility door exterior contact [binary_sensor.utility_door_exterior_contact] OR Patio door left contact [binary_sensor.patio_door_left_contact] OR Patio door right contact [binary_sensor.patio_door_right_contact] is closed (off)) AND Garden Lights Switch [switch.garden_lights] is on. ACTIONS: Turn off Garden Lights Switch [switch.garden_lights] AND turn off Garden Lights [input_boolean.garden_lights].",
"natural_language": {
"trigger": "When any of the three doors—the Utility door exterior contact [binary_sensor.utility_door_exterior_contact], the Patio door left contact [binary_sensor.patio_door_left_contact], or the Patio door right contact [binary_sensor.patio_door_right_contact]—closes (changes from open to closed).",
"conditions": "If at least one of those three doors is confirmed to be closed, and the Garden Lights Switch [switch.garden_lights] is currently turned on.",
"action": "Turns off both the Garden Lights Switch [switch.garden_lights] and the Garden Lights [input_boolean.garden_lights] input boolean."
},
"human_like": "Turns off the garden lights when any of the specified exterior doors are closed, provided the lights are currently on.",
"complexity": "low"
}
},
{
"id": "utility_door_open_after_sunset_turn_on",
"result": {
"structured": "TRIGGER: When Utility door exterior contact [binary_sensor.utility_door_exterior_contact] changes from closed (off) to open (on) OR Patio door left contact [binary_sensor.patio_door_left_contact] changes from closed (off) to open (on) OR Patio door right contact [binary_sensor.patio_door_right_contact] changes from closed (off) to open (on). CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND Garden Lights Switch [switch.garden_lights] is off AND (Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below -4 OR Outside Light Sensor Illuminance Sensor [sensor.outside_light_sensor_illuminance_lux] is below 16). ACTIONS: Run the Garden Door After Sunset Script [script.garden_door_after_sunset].",
"natural_language": {
"trigger": "When either the Utility door exterior contact [binary_sensor.utility_door_exterior_contact], the Patio door left contact [binary_sensor.patio_door_left_contact], or the Patio door right contact [binary_sensor.patio_door_right_contact] opens.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be enabled, the Garden Lights Switch [switch.garden_lights] must be off, and it must be dark outside. Darkness is determined by either the sun being well below the horizon (solar elevation below -4) or the outside light level being less than 16 lux.",
"action": "Run the Garden Door After Sunset Script [script.garden_door_after_sunset]."
},
"human_like": "Turns on garden lights when an exterior door is opened after sunset or when it's dark, but only if the lights are currently off and lighting automations are enabled.",
"complexity": "medium"
}
},
{
"id": "utility_remote",
"result": {
"structured": "TRIGGER: When Utility remote action event [event.utility_remote_action] state changes. CONDITIONS: None. ACTIONS: Set variable 'action' to trigger.id if not 'event', otherwise to trigger.to_state.attributes.event_type. Then choose: IF (Garden Lights Switch [switch.garden_lights] is off OR action is 'single') THEN toggle Garden Lights Switch [switch.garden_lights]. ELSE IF (action is 'double') THEN turn off Utility door open after sunset turn off automation [automation.utility_door_open_after_sunset_turn_off]. ELSE IF (action is 'hold') THEN turn off Utility door open after sunset turn off automation [automation.utility_door_open_after_sunset_turn_off]. OTHERWISE (default) toggle Garden Lights Switch [switch.garden_lights] AND send notification to Debug Log Notify [notify.debug_log] with message containing action and trigger details.",
"natural_language": {
"trigger": "When the Utility remote action event [event.utility_remote_action] changes state, indicating a remote button press.",
"conditions": "There are no explicit conditions that must be met for the automation to run.",
"action": "First, the automation captures the type of remote action (like 'single', 'double', or 'hold') from the event. Then, it performs different actions based on that action type. If the Garden Lights Switch [switch.garden_lights] is off or the action is a 'single' press, it toggles the garden lights. If the action is a 'double' press or a 'hold', it turns off another automation called Utility door open after sunset turn off automation [automation.utility_door_open_after_sunset_turn_off]. For any other action type, it toggles the garden lights and also sends a detailed debug message to the Debug Log Notify [notify.debug_log]."
},
"human_like": "Controls garden lights and other automations based on button presses from a utility remote, with different actions for single, double, and hold presses.",
"complexity": "medium"
}
},
{
"id": "vestibule_lights_to_away",
"result": {
"structured": "TRIGGER: When Vestibule Select [input_select.vestibule] changes to Away OR when House Select [input_select.house] changes to Away. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Vestibule Select [input_select.vestibule] is Away OR (Vestibule Select [input_select.vestibule] is Auto AND House Select [input_select.house] is Away)) AND Vestibule Socket Switch [switch.vestibule_socket] is on. ACTIONS: Turn off Vestibule Socket Switch [switch.vestibule_socket].",
"natural_language": {
"trigger": "When the Vestibule Select [input_select.vestibule] is set to 'Away', or when the House Select [input_select.house] is set to 'Away'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be enabled. Additionally, either the Vestibule Select [input_select.vestibule] is set to 'Away', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Away'. Finally, the Vestibule Socket Switch [switch.vestibule_socket] must currently be on.",
"action": "Turns off the Vestibule Socket Switch [switch.vestibule_socket]."
},
"human_like": "Turns off the vestibule lights when the house or vestibule mode is set to 'Away', provided lighting automations are active.",
"complexity": "medium"
}
},
{
"id": "vestibule_lights_to_bedtime",
"result": {
"structured": "TRIGGER: When Vestibule Select [input_select.vestibule] changes to Bedtime OR when House Select [input_select.house] changes to Bedtime. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Vestibule Select [input_select.vestibule] is Bedtime OR (Vestibule Select [input_select.vestibule] is Auto AND House Select [input_select.house] is Bedtime)). ACTIONS: Turn off Vestibule Socket Switch [switch.vestibule_socket].",
"natural_language": {
"trigger": "When the Vestibule Select [input_select.vestibule] is set to 'Bedtime', or when the House Select [input_select.house] is set to 'Bedtime'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be switched on. Additionally, either the Vestibule Select [input_select.vestibule] must be set to 'Bedtime', or the Vestibule Select [input_select.vestibule] must be set to 'Auto' while the House Select [input_select.house] is set to 'Bedtime'.",
"action": "Turns off the Vestibule Socket Switch [switch.vestibule_socket]."
},
"human_like": "Turns off the vestibule light at bedtime, either when the vestibule is set directly to bedtime or when the whole house is set to bedtime and the vestibule is in auto mode.",
"complexity": "medium"
}
},
{
"id": "vestibule_lights_to_night_on",
"result": {
"structured": "TRIGGER: When Vestibule Select [input_select.vestibule] changes to 'Night on' OR When House Select [input_select.house] changes to 'Night on'. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is on AND (Vestibule Select [input_select.vestibule] is 'Night on' OR (Vestibule Select [input_select.vestibule] is 'Auto' AND House Select [input_select.house] is 'Night on')) AND Vestibule Socket Switch [switch.vestibule_socket] is off AND Vestibule Christmas [input_boolean.vestibule_christmas] is on. ACTIONS: Turn on Vestibule Socket Switch [switch.vestibule_socket].",
"natural_language": {
"trigger": "When the Vestibule Select [input_select.vestibule] is set to 'Night on' or when the House Select [input_select.house] is set to 'Night on'.",
"conditions": "If the Lighting Automations [input_boolean.lighting_automations] are enabled, the Vestibule Socket Switch [switch.vestibule_socket] is currently off, and the Vestibule Christmas [input_boolean.vestibule_christmas] mode is active. Additionally, either the Vestibule Select [input_select.vestibule] is directly set to 'Night on', or it is set to 'Auto' and the House Select [input_select.house] is set to 'Night on'.",
"action": "Turns on the Vestibule Socket Switch [switch.vestibule_socket]."
},
"human_like": "Turns on the vestibule lights for Christmas when the house or vestibule is set to 'Night on' mode, provided the lighting automations are active and the lights are currently off.",
"complexity": "medium"
}
},
{
"id": "vestibule_lights_to_off",
"result": {
"structured": "TRIGGER: When Vestibule Select [input_select.vestibule] changes to 'Off' OR when House Select [input_select.house] changes to 'Off'. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is 'on' AND (Vestibule Select [input_select.vestibule] is 'Off' OR (Vestibule Select [input_select.vestibule] is 'Auto' AND House Select [input_select.house] is 'Off')) AND Vestibule Socket Switch [switch.vestibule_socket] is 'on'. ACTIONS: Turn off Vestibule Socket Switch [switch.vestibule_socket].",
"natural_language": {
"trigger": "When the Vestibule Select [input_select.vestibule] is set to 'Off', or when the House Select [input_select.house] is set to 'Off'.",
"conditions": "The Lighting Automations [input_boolean.lighting_automations] must be turned on. Additionally, either the Vestibule Select [input_select.vestibule] is set to 'Off', or it is set to 'Auto' while the House Select [input_select.house] is set to 'Off'. Finally, the Vestibule Socket Switch [switch.vestibule_socket] must currently be on.",
"action": "Turns off the Vestibule Socket Switch [switch.vestibule_socket]."
},
"human_like": "Turns off the vestibule lights when the house or vestibule mode is set to 'Off', provided lighting automations are enabled and the lights are currently on.",
"complexity": "medium"
}
},
{
"id": "vestibule_lights_to_on",
"result": {
"structured": "TRIGGER: When Vestibule Select [input_select.vestibule] changes to 'On' OR When House Select [input_select.house] changes to 'On' OR When House Select [input_select.house] changes to 'Auto'. CONDITIONS: Lighting Automations [input_boolean.lighting_automations] is 'on' AND (Vestibule Select [input_select.vestibule] is 'On' OR (Vestibule Select [input_select.vestibule] is 'Auto' AND House Select [input_select.house] is 'On')) AND Vestibule Socket Switch [switch.vestibule_socket] is 'off' AND Vestibule Christmas [input_boolean.vestibule_christmas] is 'on'. ACTIONS: Turn on Vestibule Socket Switch [switch.vestibule_socket].",
"natural_language": {
"trigger": "When the Vestibule Select [input_select.vestibule] is set to 'On', or when the House Select [input_select.house] is set to 'On' or 'Auto'.",
"conditions": "If the Lighting Automations [input_boolean.lighting_automations] are enabled, the Vestibule Socket Switch [switch.vestibule_socket] is currently off, and the Vestibule Christmas [input_boolean.vestibule_christmas] setting is on. Additionally, either the Vestibule Select [input_select.vestibule] is set to 'On', or it is set to 'Auto' while the House Select [input_select.house] is set to 'On'.",
"action": "Turns on the Vestibule Socket Switch [switch.vestibule_socket]."
},
"human_like": "Turns on the vestibule lights when the house or vestibule mode is set to On or Auto, provided Christmas lighting is enabled and the lights are currently off.",
"complexity": "medium"
}
},
{
"id": "vestibule_mode_away",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] changes to off. CONDITIONS: Vestibule Select [input_select.vestibule] is NOT set to 'Away'. ACTIONS: Set Vestibule Select [input_select.vestibule] to 'Away'.",
"natural_language": {
"trigger": "When the home occupied [binary_sensor.home_occupied] sensor indicates the home is no longer occupied (changes to off).",
"conditions": "The Vestibule Select [input_select.vestibule] is not already set to the 'Away' option.",
"action": "Change the Vestibule Select [input_select.vestibule] to the 'Away' option."
},
"human_like": "Sets the vestibule mode to 'Away' when the home becomes unoccupied.",
"complexity": "low"
}
},
{
"id": "vestibule_mode_bedtime",
"result": {
"structured": "TRIGGER: When bedtime status [input_boolean.bedtime] turns on OR When (downstairs occupied [group.downstairs_occupied] OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] OR Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy]) remains off for 3 minutes. CONDITIONS: Vestibule Select [input_select.vestibule] is NOT set to 'Bedtime' AND bedtime status [input_boolean.bedtime] is on AND (downstairs occupied [group.downstairs_occupied] OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] OR Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy]) remains off for 3 minutes. ACTIONS: Set Vestibule Select [input_select.vestibule] to 'Bedtime'.",
"natural_language": {
"trigger": "The automation triggers either when the bedtime status [input_boolean.bedtime] is turned on, or when the downstairs occupied group [group.downstairs_occupied], the vestibule multi occupancy sensor [binary_sensor.vestibule_multi_occupancy], and the Downstairs hall motion occupancy sensor [binary_sensor.downstairs_hall_motion_occupancy] have all been off for at least three minutes.",
"conditions": "For the automation to run, the Vestibule Select [input_select.vestibule] must not already be set to 'Bedtime'. The bedtime status [input_boolean.bedtime] must be on. Furthermore, the downstairs occupied group [group.downstairs_occupied], the vestibule multi occupancy sensor [binary_sensor.vestibule_multi_occupancy], and the Downstairs hall motion occupancy sensor [binary_sensor.downstairs_hall_motion_occupancy] must have all been off for at least three minutes.",
"action": "Changes the Vestibule Select [input_select.vestibule] to the 'Bedtime' option."
},
"human_like": "Sets the vestibule to 'Bedtime' mode when it's bedtime and the downstairs area has been unoccupied for a few minutes.",
"complexity": "medium"
}
},
{
"id": "vestibule_mode_night_on",
"result": {
"structured": "TRIGGER: When vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] becomes occupied (on) OR Sun Solar Elevation Sensor [sensor.sun_solar_elevation] falls below 2.5 degrees OR Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] falls below 15 lux and remains for 5 minutes OR Vestibule Multi Illuminance Sensor [sensor.vestibule_multi_illuminance_lux] falls below 10 lux OR bedtime status [input_boolean.bedtime] turns off OR Living Room Occupied [input_boolean.living_room_occupied] OR Family Room Occupied [input_boolean.family_room_occupied] becomes on OR Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] OR Person4 Status Dropdown [input_select.person4_status_dropdown] changes to 'Just Arrived' OR front door contact [binary_sensor.front_door_contact] opens (on). CONDITIONS: Vestibule Select [input_select.vestibule] is NOT set to 'Night on' AND bedtime status [input_boolean.bedtime] is off AND Living Room Light Sensor Illuminance Sensor [sensor.living_room_light_sensor_illuminance_lux] is below 25 lux AND Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 15 degrees AND (Vestibule Multi Illuminance Sensor [sensor.vestibule_multi_illuminance_lux] is below 5 lux OR Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 5 degrees) AND (home occupied [binary_sensor.home_occupied] is on OR guest mode [input_boolean.guest_mode] is on). ACTIONS: Set Vestibule Select [input_select.vestibule] to 'Night on'.",
"natural_language": {
"trigger": "The automation can be triggered by any of the following events: motion is detected in the vestibule; the sun's elevation drops below 2.5 degrees; the living room light level falls below 15 lux for at least five minutes; the vestibule light level falls below 10 lux; the bedtime mode is turned off; either the living room or family room is marked as occupied; any person's status changes to 'Just Arrived'; or the front door opens.",
"conditions": "For the automation to run, the vestibule must not already be in 'Night on' mode, bedtime mode must be off, the living room light level must be below 25 lux, the sun's elevation must be below 15 degrees, and either the vestibule light level is below 5 lux or the sun's elevation is below 5 degrees. Additionally, either the home must be marked as occupied or guest mode must be active.",
"action": "Sets the vestibule mode to 'Night on'."
},
"human_like": "Activates the vestibule's night lighting mode when it's dark and someone is home, triggered by events like motion, door openings, or low light levels.",
"complexity": "high"
}
},
{
"id": "vestibule_mode_off",
"result": {
"structured": "TRIGGER: When home occupied [binary_sensor.home_occupied] becomes on OR When Sun Solar Elevation Sensor [sensor.sun_solar_elevation] rises above 5 degrees. CONDITIONS: Vestibule Select [input_select.vestibule] is NOT set to 'Off' AND home occupied [binary_sensor.home_occupied] is on AND Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is above 5 degrees. ACTIONS: Set Vestibule Select [input_select.vestibule] to 'Off'.",
"natural_language": {
"trigger": "The automation can be triggered in two ways: either when the home occupied [binary_sensor.home_occupied] sensor indicates someone is home, or when the Sun Solar Elevation Sensor [sensor.sun_solar_elevation] reports that the sun is more than 5 degrees above the horizon.",
"conditions": "For the automation to run, the Vestibule Select [input_select.vestibule] must not already be set to 'Off'. Additionally, the home must be occupied, and the sun's elevation must be above 5 degrees.",
"action": "Sets the Vestibule Select [input_select.vestibule] to the 'Off' mode."
},
"human_like": "Turns off the vestibule mode when the home is occupied and it's daytime, ensuring the setting isn't already off.",
"complexity": "medium"
}
},
{
"id": "vestibule_mode_on",
"result": {
"structured": "TRIGGER: When Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 2.5 OR when bedtime status [input_boolean.bedtime] turns off OR when Person1 Status Dropdown [input_select.person1_status_dropdown] OR Person2 Status Dropdown [input_select.person2_status_dropdown] OR Person3 Status Dropdown [input_select.person3_status_dropdown] OR Person4 Status Dropdown [input_select.person4_status_dropdown] changes to 'Just Arrived' OR when front door contact [binary_sensor.front_door_contact] OR Downstairs hall motion occupancy [binary_sensor.downstairs_hall_motion_occupancy] OR vestibule multi occupancy [binary_sensor.vestibule_multi_occupancy] turns on OR when Living Room Occupied [input_boolean.living_room_occupied] OR Family Room Occupied [input_boolean.family_room_occupied] turns on. CONDITIONS: Vestibule Select [input_select.vestibule] is not 'On' AND bedtime status [input_boolean.bedtime] is off AND home occupied [binary_sensor.home_occupied] is on AND Sun Solar Elevation Sensor [sensor.sun_solar_elevation] is below 2.5. ACTIONS: Set Vestibule Select [input_select.vestibule] to 'On'.",
"natural_language": {
"trigger": "The automation can be triggered by several events: when the sun's elevation falls below 2.5 degrees, when the bedtime status is turned off, when any of the four person status dropdowns changes to 'Just Arrived', when the front door opens, when motion is detected in the downstairs hall or vestibule, or when either the living room or family room is marked as occupied.",
"conditions": "For the automation to run, the vestibule mode must not already be set to 'On', the bedtime status must be off, the home must be marked as occupied, and the sun's elevation must be below 2.5 degrees.",
"action": "It activates the vestibule mode by setting the Vestibule Select [input_select.vestibule] to 'On'."
},
"human_like": "Turns on the vestibule mode in the evening or when someone arrives home, provided the house is occupied and bedtime mode is not active.",
"complexity": "medium"
}
},
{
"id": "wan_ip_changed",
"result": {
"structured": "TRIGGER: When Fritz box 3490 connection [binary_sensor.fritz_box_3490_connection] changes state from 'unavilable' to 'on'. CONDITIONS: (The new state of the triggering entity is different from its previous state) AND (Fritz Box External IP Sensor [sensor.fritz_box_3490_external_ip] has a value that is not 'none' and is not an empty string). ACTIONS: Send a notification to Debug Log Notify [notify.debug_log] containing the message 'The WAN IP has changed to #[current value of Fritz Box External IP Sensor [sensor.fritz_box_3490_external_ip]]#'. Send a notification via notify apprise [notify.apprise] to the target 'discord_ha' with a title ' ' and a message containing a computer emoji, the reconnection timestamp from Fritz Box Connection Uptime Sensor [sensor.fritz_box_3490_connection_uptime], and the current WAN IP addresses from Fritz Box External IP Sensor [sensor.fritz_box_3490_external_ip] and Fritz Box External IPv6 Sensor [sensor.fritz_box_3490_external_ipv6].",
"natural_language": {
"trigger": "When the Fritz box 3490 connection [binary_sensor.fritz_box_3490_connection] changes from being unavailable to being on.",
"conditions": "The state change must be a genuine transition (the old and new states are different). Additionally, the Fritz Box External IP Sensor [sensor.fritz_box_3490_external_ip] must have a valid, non-empty value.",
"action": "First, it logs a debug message to the Debug Log Notify [notify.debug_log] service, stating the new WAN IP address. Then, it sends a formatted notification via the notify apprise [notify.apprise] service to a Discord channel, announcing the internet reconnection time and the new external IP addresses (both IPv4 and IPv6)."
},
"human_like": "Notifies you when the internet connection is restored, logging the event and sending a Discord message with the new IP addresses.",
"complexity": "medium"
}
},
{
"id": "weather_notification",
"result": {
"structured": "TRIGGER: Every 5 minutes at second 50 OR when Weather Source Select [input_select.weather_source] changes state. CONDITIONS: None. ACTIONS: If Weather Source Select [input_select.weather_source] is 'here' then run Weather Notification Here Script [script.weather_notification_here]. If Weather Source Select [input_select.weather_source] is 'owm' then run Weather Notification Here Script [script.weather_notification_here]. If Weather Source Select [input_select.weather_source] is 'accuweather' then run Weather Notification Accuweather Script [script.weather_notification_accuweather]. Otherwise, run Weather Notification Accuweather Script [script.weather_notification_accuweather].",
"natural_language": {
"trigger": "The automation triggers every five minutes at the 50-second mark, or whenever the Weather Source Select [input_select.weather_source] changes its value.",
"conditions": "There are no conditions that must be met for the actions to run; the automation proceeds directly from the trigger.",
"action": "Depending on the selected weather source, the automation runs a specific script. If the source is set to 'here' or 'owm', it runs the Weather Notification Here Script [script.weather_notification_here]. If the source is set to 'accuweather', or if none of the specific options match, it runs the Weather Notification Accuweather Script [script.weather_notification_accuweather]."
},
"human_like": "Sends weather notifications every five minutes or when the weather source is changed, using different scripts based on the selected provider.",
"complexity": "medium"
}
},
{
"id": "zigbee2mqtt_devices",
"result": {
"structured": "TRIGGER: When an MQTT message is received on the topic 'zigbee2mqtt/bridge/event'. CONDITIONS: The MQTT message payload indicates the event type is 'device_joined' OR the entire payload is the string 'device_leave'. ACTIONS: Send a Discord notification with a message containing a bee emoji, the friendly name from the payload, and the event type.",
"natural_language": {
"trigger": "Whenever a message is published to the MQTT topic 'zigbee2mqtt/bridge/event'.",
"conditions": "The content of the message must indicate that a Zigbee device has either joined the network (type 'device_joined') or that the payload is exactly the string 'device_leave'.",
"action": "Sends a notification to Discord [notify.discord_webhook] with a custom message that includes a bee emoji, the friendly name of the device from the message, and the type of event that occurred."
},
"human_like": "Sends a Discord notification whenever a Zigbee device joins or leaves the network.",
"complexity": "low"
}
},
{
"id": "zigbee_offline",
"result": {
"structured": "TRIGGER: When Zigbee2mqtt bridge state [binary_sensor.zigbee2mqtt_bridge_state] changes to off. CONDITIONS: None. ACTIONS: Send a notification via Discord [notify.discord_webhook] with a message stating the Zigbee bridge is offline, including the current local timestamp.",
"natural_language": {
"trigger": "When the Zigbee2mqtt bridge state [binary_sensor.zigbee2mqtt_bridge_state] becomes offline (changes to 'off').",
"conditions": "There are no conditions that need to be met.",
"action": "Sends a notification to Discord [notify.discord_webhook] with a message indicating the Zigbee bridge is offline, along with the current date and time."
},
"human_like": "Sends a Discord alert when the Zigbee bridge goes offline.",
"complexity": "low"
}
},
{
"id": "zigbee_online",
"result": {
"structured": "TRIGGER: When Zigbee2mqtt bridge state [binary_sensor.zigbee2mqtt_bridge_state] changes to on. ACTIONS: Send a Discord notification containing a message stating the Zigbee bridge is back online with the current local timestamp.",
"natural_language": {
"trigger": "When the Zigbee2mqtt bridge state [binary_sensor.zigbee2mqtt_bridge_state] becomes online (on).",
"conditions": "There are no conditions for this automation.",
"action": "Sends a notification to Discord [notify.discord_webhook] with a message that the Zigbee bridge is back online, including the current date and time."
},
"human_like": "Sends a Discord notification when the Zigbee bridge comes back online.",
"complexity": "low"
}
}
]