AutomationDataset/TxHarleyDude/automation-descriptions.json

1328 lines
100 KiB
JSON

[
{
"id": "bedtime_alarm_night",
"result": {
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] is turned on and remains on for 2 minutes. CONDITIONS: residents group [group.residents] is home. ACTIONS: Arm alarmo alarm control panel [alarm_control_panel.alarmo] in night mode.",
"natural_language": {
"trigger": "When the bedtime [input_boolean.bedtime] switch is turned on and stays on for two minutes.",
"conditions": "At least one member of the residents group [group.residents] must be at home.",
"action": "Arms the home alarm system, alarmo alarm control panel [alarm_control_panel.alarmo], in night mode."
},
"human_like": "Automatically arms the home alarm in night mode two minutes after bedtime is activated, but only if someone is home.",
"complexity": "low"
}
},
{
"id": "away_mode_set_Alarm",
"result": {
"structured": "TRIGGER: When residents group [group.residents] state changes to not_home AND remains for 2 minutes. CONDITIONS: residents group [group.residents] state is not_home. ACTIONS: Call service alarmo.arm on alarmo alarm control panel [alarm_control_panel.alarmo] with mode away.",
"natural_language": {
"trigger": "When the residents group [group.residents] shows that everyone has left home (state becomes 'not_home') and this state remains unchanged for two minutes.",
"conditions": "The automation only proceeds if the residents group [group.residents] is still in the 'not_home' state at the moment the action is about to run.",
"action": "Arms the home alarm system, alarmo alarm control panel [alarm_control_panel.alarmo], in 'away' mode."
},
"human_like": "Automatically arms the house alarm in away mode two minutes after everyone has left home.",
"complexity": "low"
}
},
{
"id": "someone_arrived_home_disarm_alarm",
"result": {
"structured": "TRIGGER: When residents group [group.residents] changes from not_home to home. CONDITIONS: residents group [group.residents] is home. ACTIONS: Disarm alarmo alarm control panel [alarm_control_panel.alarmo] AND run script general_notification with title 'Alarm Notification' and message 'The alarm has been disarmed by automation because someone is home.'",
"natural_language": {
"trigger": "When the residents group [group.residents] changes its state from 'not_home' to 'home'.",
"conditions": "The residents group [group.residents] must be in the 'home' state.",
"action": "Disarm the alarm system (alarmo alarm control panel [alarm_control_panel.alarmo]) and send a notification to all devices stating that the alarm has been disarmed because someone is home."
},
"human_like": "Automatically disarms the home alarm and sends a notification when the first resident arrives home.",
"complexity": "low"
}
},
{
"id": "'1635168063973'",
"result": {
"structured": "TRIGGER: At 07:00:00. CONDITIONS: Day of the week is Wednesday. ACTIONS: Send a notification via Pushover with title 'Home Assistant' and message 'Today is trash day'.",
"natural_language": {
"trigger": "The automation runs at 7:00 AM.",
"conditions": "The automation only runs if the current day is Wednesday.",
"action": "Sends a push notification with the title 'Home Assistant' and the message 'Today is trash day'."
},
"human_like": "Sends a reminder notification on Wednesday mornings that it's trash day.",
"complexity": "low"
}
},
{
"id": "'1635252134480'",
"result": {
"structured": "TRIGGER: At 07:00:00. CONDITIONS: (Current weekday is Wednesday) AND (Current ISO week number is even). ACTIONS: Send a push notification with title 'Home Assistant' and message 'Recycling Day'.",
"natural_language": {
"trigger": "The automation triggers every day at 7:00 AM.",
"conditions": "The automation only proceeds if it is a Wednesday and the current week number is even.",
"action": "Sends a push notification with the title 'Home Assistant' and the message 'Recycling Day'."
},
"human_like": "Sends a reminder notification on every other Wednesday morning that it's recycling day.",
"complexity": "medium"
}
},
{
"id": "change_filters_message",
"result": {
"structured": "TRIGGER: When the time is 10:00:00 OR when the time is 19:00:00. CONDITIONS: The current day is the 1st of the month AND the current month is January (1) OR April (4) OR July (7) OR October (10). ACTIONS: Send a push notification via notify.pushover with the title 'Home Assistant' and the message 'Change HVAC Filter'.",
"natural_language": {
"trigger": "The automation runs at 10:00 AM or at 7:00 PM.",
"conditions": "It only proceeds if today is the first day of the month, and the month is either January, April, July, or October.",
"action": "Sends a push notification with the title 'Home Assistant' reminding you to 'Change HVAC Filter'."
},
"human_like": "Sends a reminder to change the HVAC filter on the first day of every quarter at 10 AM and 7 PM.",
"complexity": "medium"
}
},
{
"id": "'1636498355579'",
"result": {
"structured": "TRIGGER: When a Kodi call method result event occurs with method 'Profiles.CurrentProfile'. CONDITIONS: None. ACTIONS: Write a system log entry with message 'Hello Kodi'.",
"natural_language": {
"trigger": "When Kodi reports a result for the 'Profiles.CurrentProfile' method call.",
"conditions": "There are no conditions that must be met.",
"action": "Writes a log message saying 'Hello Kodi' to the system log."
},
"human_like": "Logs a message when the Kodi media player profile changes.",
"complexity": "low"
}
},
{
"id": "'1681008702192'",
"result": {
"structured": "TRIGGER: When living room roku media player [media_player.living_room_roku] changes state from playing to paused. CONDITIONS: None. ACTIONS: Turn on patio lights switch [switch.patiolights].",
"natural_language": {
"trigger": "When the living room roku media player [media_player.living_room_roku] changes from playing to paused.",
"conditions": "There are no conditions for this automation.",
"action": "Turns on the patio lights switch [switch.patiolights]."
},
"human_like": "Turns on the patio lights when the Roku media player in the living room is paused.",
"complexity": "low"
}
},
{
"id": "'1681008759794'",
"result": {
"structured": "TRIGGER: When living room roku media player [media_player.living_room_roku] changes state from paused to playing. CONDITIONS: None. ACTIONS: Turn off patio lights switch [switch.patiolights].",
"natural_language": {
"trigger": "When the living room roku media player [media_player.living_room_roku] starts playing from a paused state.",
"conditions": "There are no conditions that must be met.",
"action": "Turns off the patio lights switch [switch.patiolights]."
},
"human_like": "Turns off the patio lights when the Roku in the living room starts playing, likely to create a better viewing environment.",
"complexity": "low"
}
},
{
"id": "'1681175986353'",
"result": {
"structured": "TRIGGER: When alarmo alarm control panel [alarm_control_panel.alarmo] changes state to triggered. CONDITIONS: None. ACTIONS: Turn on living room tv leds light [light.livingroom_tv_leds] with effect 'Alarmo - Triggered'.",
"natural_language": {
"trigger": "When the alarmo alarm control panel [alarm_control_panel.alarmo] enters the 'triggered' state.",
"conditions": "There are no conditions that must be met.",
"action": "Turns on the living room tv leds light [light.livingroom_tv_leds] and sets its light effect to 'Alarmo - Triggered'."
},
"human_like": "When the alarm is triggered, it turns on the TV LED lights with a specific alarm effect.",
"complexity": "low"
}
},
{
"id": "'1681943556314'",
"result": {
"structured": "TRIGGER: At 07:00:00 daily. CONDITIONS: Any sensor (excluding ricks iphone battery level sensor [sensor.ricks_iphone_battery_level], tracys iphone battery level sensor [sensor.tracys_iphone_battery_level], and sm t500 battery level sensor [sensor.sm_t500_battery_level]) reports a numeric state below 20. ACTIONS: Send a notification via notify.pushover containing a list of the sensors meeting the condition.",
"natural_language": {
"trigger": "Every day at 7:00 AM.",
"conditions": "If any battery level sensor in the system, except for the explicitly excluded ones (ricks iphone battery level sensor [sensor.ricks_iphone_battery_level], tracys iphone battery level sensor [sensor.tracys_iphone_battery_level], and sm t500 battery level sensor [sensor.sm_t500_battery_level]), has a battery level below 20%.",
"action": "Send a push notification via the Pushover service, listing the sensors that are below the threshold."
},
"human_like": "Sends a daily morning notification if any device batteries (except for specific excluded ones) are running low.",
"complexity": "low"
}
},
{
"id": "'1682540595241'",
"result": {
"structured": "TRIGGER: When tracys iphone device tracker [device_tracker.tracys_iphone] enters the zone 'zone.home'. CONDITIONS: None. ACTIONS: Send a notification via notify.alexa_media_rick_s_echo_dot with the message 'Tracy has entered the Home zone.'.",
"natural_language": {
"trigger": "When Tracy's iPhone [device_tracker.tracys_iphone] enters the Home zone.",
"conditions": "There are no conditions that need to be met.",
"action": "Sends a notification to the Alexa device 'Rick's Echo Dot' announcing that Tracy has entered the Home zone."
},
"human_like": "Sends an Alexa notification when Tracy arrives home.",
"complexity": "low"
}
},
{
"id": "'1700939591775'",
"result": {
"structured": "TRIGGER: When diskstation shutdown button [button.diskstation_shutdown] changes state from unavailable to any other state. CONDITIONS: None. ACTIONS: Send a push notification with title 'Diskstation Alert' and message 'Diskstation Online'.",
"natural_language": {
"trigger": "When the diskstation shutdown button [button.diskstation_shutdown] becomes available after being unavailable.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a push notification with the title 'Diskstation Alert' and the message 'Diskstation Online'."
},
"human_like": "Sends a notification when the Diskstation comes back online.",
"complexity": "low"
}
},
{
"id": "'1701457944332'",
"result": {
"structured": "TRIGGER: When filter door sensor [binary_sensor.filter_door_sensor] changes to open (on). CONDITIONS: None. ACTIONS: Send a notification to mobile_app_ricks_iphone asking 'Did you change AC filter?' with two action buttons: 'Yes' (action FILTER_CHANGED) and 'Ignore' (action IGNORED). Wait for up to 1 minute for a mobile_app_notification_action event with action FILTER_CHANGED. If that event is received within the timeout, turn off ac filter needs changing [input_boolean.ac_filter_needs_changing].",
"natural_language": {
"trigger": "When the filter door sensor [binary_sensor.filter_door_sensor] is opened.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a push notification to the user's iPhone asking if they changed the AC filter. The notification provides 'Yes' and 'Ignore' buttons. The automation then waits for up to one minute for the user to press the 'Yes' button. If the user confirms by pressing 'Yes' within that time, it turns off the ac filter needs changing [input_boolean.ac_filter_needs_changing] status."
},
"human_like": "Asks for confirmation when the AC filter door is opened and, if confirmed, marks the filter as no longer needing to be changed.",
"complexity": "medium"
}
},
{
"id": "'1704297733089'",
"result": {
"structured": "TRIGGER: When galaxy tab a7 motion detection switch [switch.galaxy_tab_a7_motion_detection] turns on OR when galaxy tab a7 motion detection switch [switch.galaxy_tab_a7_motion_detection] turns off. CONDITIONS: (Trigger is motion) OR (Trigger is no motion). ACTIONS: Turn on screen auto device [device_id: d11010a541e53118a778be0378056efa] AND turn off screen auto device [device_id: d11010a541e53118a778be0378056efa].",
"natural_language": {
"trigger": "When the galaxy tab a7 motion detection switch [switch.galaxy_tab_a7_motion_detection] is turned on or when it is turned off.",
"conditions": "The automation runs if the trigger was the motion detection turning on, or if the trigger was the motion detection turning off.",
"action": "It will both turn on and turn off the screen auto device [device_id: d11010a541e53118a778be0378056efa]."
},
"human_like": "Toggles the screen auto device on and off whenever the tablet's motion detection switch changes state.",
"complexity": "low"
}
},
{
"id": "'1720391053317'",
"result": {
"structured": "TRIGGER: When hvac monitor vibration sensor [binary_sensor.hvac_monitor_vibration] changes state from on to off. CONDITIONS: None. ACTIONS: Send a notification to the Alexa device 'Rick's Echo Dot' with the message 'HVAC turned off'.",
"natural_language": {
"trigger": "When the hvac monitor vibration sensor [binary_sensor.hvac_monitor_vibration] stops detecting vibration, indicating it has changed from an 'on' state to an 'off' state.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a voice notification to Rick's Echo Dot Alexa device saying 'HVAC turned off'."
},
"human_like": "Sends an Alexa notification when the HVAC system stops running, as detected by a vibration sensor.",
"complexity": "low"
}
},
{
"id": "ricks_wifi_status",
"result": {
"structured": "TRIGGER: When sensor.ricks_iphone_ssid [sensor.ricks_iphone_ssid] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: None. ACTIONS: If the value of sensor.ricks_iphone_ssid [sensor.ricks_iphone_ssid] contains the substring 'SLYFOX', then publish a retained MQTT message with payload 'home' to the topic 'location/ricks_wifi'. Otherwise, publish a retained MQTT message with payload 'not_home' to the topic 'location/ricks_wifi'.",
"natural_language": {
"trigger": "The automation triggers when the ricks iphone ssid sensor [sensor.ricks_iphone_ssid] changes, when Home Assistant starts up, or when an automation is reloaded.",
"conditions": "There are no conditions that must be met before the action runs.",
"action": "The automation checks if the current value of the ricks iphone ssid sensor [sensor.ricks_iphone_ssid] contains the text 'SLYFOX'. If it does, it sends a message 'home' to the MQTT topic 'location/ricks_wifi'. If it does not, it sends a message 'not_home' to the same topic. Both messages are set to be retained."
},
"human_like": "Updates an MQTT topic to show if Rick is home or not based on whether his phone is connected to the 'SLYFOX' WiFi network.",
"complexity": "medium"
}
},
{
"id": "'1722257844555'",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] changes to off. CONDITIONS: None. ACTIONS: Send a notification via notify.alexa_media_rick_s_echo_dot with the message 'Office has been vacated.'.",
"natural_language": {
"trigger": "When the office occupied [input_boolean.office_occupied] input boolean is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a voice notification to the Alexa device named 'Rick's Echo Dot' stating 'Office has been vacated.'."
},
"human_like": "Announces when the office is no longer occupied.",
"complexity": "low"
}
},
{
"id": "'1722566036838'",
"result": {
"structured": "TRIGGER: When a voice command 'open the car door' is spoken. CONDITIONS: None. ACTIONS: Send a notification to Alexa Media Rick's Echo Dot [notify.alexa_media_rick_s_echo_dot] with the message 'I will ' followed by the exact spoken sentence.",
"natural_language": {
"trigger": "When someone says the voice command 'open the car door'.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to the Alexa Media Rick's Echo Dot [notify.alexa_media_rick_s_echo_dot], which will say 'I will ' and then repeat the exact sentence that was spoken."
},
"human_like": "When you say 'open the car door', an Alexa device will respond by saying it will perform that action.",
"complexity": "low"
}
},
{
"id": "'1722911048220'",
"result": {
"structured": "TRIGGER: When the event 'phone_alarm_rick' occurs. CONDITIONS: None. ACTIONS: Send a notification to Alexa Media Rick's Echo Dot [notify.alexa_media_rick_s_echo_dot] with the message \"Rick's alarm went off\".",
"natural_language": {
"trigger": "When a custom event named 'phone_alarm_rick' is received.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to the Alexa device named 'Rick's Echo Dot' [notify.alexa_media_rick_s_echo_dot] with the message 'Rick's alarm went off'."
},
"human_like": "Sends a voice notification to Rick's Echo Dot when his phone alarm event is triggered.",
"complexity": "low"
}
},
{
"id": "'1723895553522'",
"result": {
"structured": "TRIGGER: When porch alert popup [binary_sensor.porch_alert_popup] turns on. CONDITIONS: None. ACTIONS: Send a notification to Alexa Media Rick's Echo Dot with the message 'Porch Alert'.",
"natural_language": {
"trigger": "When the porch alert popup [binary_sensor.porch_alert_popup] becomes active (turns on).",
"conditions": "There are no conditions that need to be met.",
"action": "Sends a voice notification to the Alexa device named 'Rick's Echo Dot' saying 'Porch Alert'."
},
"human_like": "Sends an Alexa alert when the porch alert sensor is triggered.",
"complexity": "low"
}
},
{
"id": "'1724553299104'",
"result": {
"structured": "TRIGGER: When porch alert [input_boolean.porch_alert] turns on. CONDITIONS: None. ACTIONS: Show a popup on specified browsers with title 'Front Door Camera', displaying a live view from porch camera [camera.porch]. The popup is dismissable, auto-closes after 30000 milliseconds, and has custom styling.",
"natural_language": {
"trigger": "When the porch alert [input_boolean.porch_alert] is turned on.",
"conditions": "There are no conditions for this automation.",
"action": "Displays a popup notification on two specific web browsers with the title 'Front Door Camera'. The popup shows a live video feed from the porch camera [camera.porch]. The notification can be manually dismissed and will also close automatically after 30 seconds. The popup's appearance is modified with custom styling, including a semi-transparent backdrop and centered alignment."
},
"human_like": "Shows a live view from the front door camera in a popup notification when a porch alert is activated.",
"complexity": "low"
}
},
{
"id": "open_back_gate",
"result": {
"structured": "TRIGGER: When home button triggered [input_boolean.home_button_triggered] turns on. CONDITIONS: back gate 2 sensor [binary_sensor.back_gate_2] is off. ACTIONS: Turn on back gate control 2 switch [switch.back_gate_control_2].",
"natural_language": {
"trigger": "When the home button triggered [input_boolean.home_button_triggered] is activated and changes to the 'on' state.",
"conditions": "The back gate 2 sensor [binary_sensor.back_gate_2] must be reporting that the gate is closed (off).",
"action": "Opens the back gate by turning on the back gate control 2 switch [switch.back_gate_control_2]."
},
"human_like": "Opens the back gate when a home button is pressed, but only if the gate is currently closed.",
"complexity": "low"
}
},
{
"id": "home_triggered_reset_switch",
"result": {
"structured": "TRIGGER: When home button triggered [input_boolean.home_button_triggered] turns on (from off to on) AND remains on for 5 seconds. CONDITIONS: None. ACTIONS: Turn off home button triggered [input_boolean.home_button_triggered].",
"natural_language": {
"trigger": "When the home button triggered [input_boolean.home_button_triggered] switches from off to on and stays on for 5 seconds.",
"conditions": "There are no conditions for this automation.",
"action": "Turns the home button triggered [input_boolean.home_button_triggered] back off."
},
"human_like": "Resets the home button triggered switch automatically 5 seconds after it is turned on.",
"complexity": "low"
}
},
{
"id": "bad_weather_mode_on",
"result": {
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on OR When pirateweather summary sensor [sensor.pirateweather_summary] changes to exceptional, lightning, rainy, snowy, or snowy rainy OR When pirateweather cloud coverage sensor [sensor.pirateweather_cloud_coverage] rises above 75%. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND bad weather [input_boolean.bad_weather] is off AND sun [sun.sun] is above_horizon AND (pirateweather summary sensor [sensor.pirateweather_summary] is exceptional, lightning, rainy, snowy, or snowy rainy OR pirateweather alerts sensor [sensor.pirateweather_alerts] is greater than 1). ACTIONS: Turn on bad weather [input_boolean.bad_weather].",
"natural_language": {
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] switch is turned on, when the pirateweather summary sensor [sensor.pirateweather_summary] reports severe weather conditions such as exceptional, lightning, rainy, snowy, or snowy rainy, or when the pirateweather cloud coverage sensor [sensor.pirateweather_cloud_coverage] exceeds 75%.",
"conditions": "The automation only proceeds if the house is marked as occupied, the bad weather mode is currently off, the sun is above the horizon, and either the weather summary indicates severe conditions or there are more than one active weather alerts from the pirateweather alerts sensor [sensor.pirateweather_alerts].",
"action": "Activates the bad weather mode by turning on the bad weather [input_boolean.bad_weather] switch."
},
"human_like": "Turns on bad weather mode when the house is occupied, the sun is up, and severe weather conditions or high cloud coverage are detected.",
"complexity": "medium"
}
},
{
"id": "bad_weather_mode_off",
"result": {
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off OR When pirateweather summary sensor [sensor.pirateweather_summary] changes to sunny OR When pirateweather cloud coverage sensor [sensor.pirateweather_cloud_coverage] becomes greater than 41% OR When tempest illuminance sensor [sensor.tempest_illuminance] becomes greater than 150 lux. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND bad weather [input_boolean.bad_weather] is on AND sun [sun.sun] is above_horizon AND (pirateweather summary sensor [sensor.pirateweather_summary] is sunny OR pirateweather summary sensor [sensor.pirateweather_summary] is clear OR pirateweather summary sensor [sensor.pirateweather_summary] is party cloudy OR pirateweather cloud coverage sensor [sensor.pirateweather_cloud_coverage] is greater than 41%). ACTIONS: Turn off bad weather [input_boolean.bad_weather].",
"natural_language": {
"trigger": "The automation can be triggered in several ways: when the house occupied [input_boolean.house_occupied] status changes to off, when the weather summary [sensor.pirateweather_summary] changes to sunny, when the cloud coverage [sensor.pirateweather_cloud_coverage] rises above 41%, or when the outdoor light level [sensor.tempest_illuminance] exceeds 150 lux.",
"conditions": "For the action to run, several conditions must be true simultaneously: the house must be marked as occupied [input_boolean.house_occupied], the bad weather mode must currently be active [input_boolean.bad_weather], the sun must be above the horizon [sun.sun], and at least one of the following weather conditions must be met: the weather summary is sunny, clear, or partly cloudy, or the cloud coverage is above 41%.",
"action": "Turns off the bad weather mode by setting the bad weather [input_boolean.bad_weather] input boolean to off."
},
"human_like": "Turns off the 'bad weather' mode when the house is occupied, it's daytime, and the weather conditions improve, indicating good weather.",
"complexity": "medium"
}
},
{
"id": "bedtime_tv_leds_on",
"result": {
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on. CONDITIONS: None. ACTIONS: Turn on living room tv leds tv light [light.living_room_tv_leds_tv_light] with the effect 'Alarmo - Pending'.",
"natural_language": {
"trigger": "When the bedtime [input_boolean.bedtime] input boolean is switched on.",
"conditions": "There are no conditions for this automation.",
"action": "Turns on the living room tv leds tv light [light.living_room_tv_leds_tv_light] and sets its light effect to 'Alarmo - Pending'."
},
"human_like": "When bedtime mode is activated, it turns on the TV's LED lights with a specific 'Alarmo - Pending' effect.",
"complexity": "low"
}
},
{
"id": "Bedtime - LED's Off after delay",
"result": {
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] is turned on and remains on for 2 minutes. CONDITIONS: None. ACTIONS: Turn off living room tv leds tv light [light.living_room_tv_leds_tv_light].",
"natural_language": {
"trigger": "When the bedtime [input_boolean.bedtime] switch is turned on and stays on for two minutes.",
"conditions": "There are no additional conditions.",
"action": "Turns off the living room TV LED lights [light.living_room_tv_leds_tv_light]."
},
"human_like": "Turns off the living room TV LEDs two minutes after bedtime mode is activated.",
"complexity": "low"
}
},
{
"id": "bedtime_alexa_message",
"result": {
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on. CONDITIONS: None. ACTIONS: Send a notification to Alexa media Rick's echo dot with a random message from a predefined list.",
"natural_language": {
"trigger": "When the bedtime [input_boolean.bedtime] input boolean is switched on.",
"conditions": "There are no conditions that need to be met.",
"action": "Sends a random goodnight message to the Alexa device named Rick's echo dot."
},
"human_like": "Says a random goodnight message via Alexa when bedtime mode is activated.",
"complexity": "low"
}
},
{
"id": "bedtime_reset_switch",
"result": {
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] changes from off to on AND remains on for 10 minutes. CONDITIONS: None. ACTIONS: Turn off bedtime [input_boolean.bedtime].",
"natural_language": {
"trigger": "When the bedtime [input_boolean.bedtime] switch is turned on and stays on for 10 minutes.",
"conditions": "There are no additional conditions.",
"action": "Turns the bedtime [input_boolean.bedtime] switch back off."
},
"human_like": "Automatically turns off the bedtime switch 10 minutes after it's turned on, acting as a self-resetting timer.",
"complexity": "low"
}
},
{
"id": "garbage_day_event",
"result": {
"structured": "TRIGGER: When garbage calendar [calendar.garbage] event starts. CONDITIONS: None. ACTIONS: Turn on garbage day [input_boolean.garbage_day] AND create a persistent notification with title 'Garbage Notification' and a random message from a predefined list.",
"natural_language": {
"trigger": "When an event on the garbage calendar [calendar.garbage] begins.",
"conditions": "There are no conditions for this automation.",
"action": "Turns on the garbage day [input_boolean.garbage_day] status and creates a notification with the title 'Garbage Notification' containing a randomly selected humorous message about trash day."
},
"human_like": "Notifies you on garbage day with a fun message and marks the day as active.",
"complexity": "low"
}
},
{
"id": "recycling_day_event",
"result": {
"structured": "TRIGGER: When recycling calendar [calendar.recycling] event starts. CONDITIONS: None. ACTIONS: Turn on recycling day [input_boolean.recycling_day].",
"natural_language": {
"trigger": "When a scheduled event on the recycling calendar [calendar.recycling] begins.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Sets the recycling day [input_boolean.recycling_day] flag to on."
},
"human_like": "Turns on a reminder flag when it's recycling day, based on the calendar schedule.",
"complexity": "low"
}
},
{
"id": "reset_garbage_day",
"result": {
"structured": "TRIGGER: When days till garbage pickup sensor [sensor.days_till_garbage_pickup] equals 6. CONDITIONS: garbage day [input_boolean.garbage_day] is on. ACTIONS: Turn off garbage day [input_boolean.garbage_day] AND turn off recycling day [input_boolean.recycling_day].",
"natural_language": {
"trigger": "When the days till garbage pickup sensor [sensor.days_till_garbage_pickup] shows exactly 6 days remaining.",
"conditions": "The automation only runs if the garbage day [input_boolean.garbage_day] is currently switched on.",
"action": "Turns off both the garbage day [input_boolean.garbage_day] and recycling day [input_boolean.recycling_day] input booleans."
},
"human_like": "Resets the garbage and recycling day reminders when there are six days left until the next pickup.",
"complexity": "low"
}
},
{
"id": "birthday_tomorrow_reminder",
"result": {
"structured": "TRIGGER: When the time is 18:30:00 OR when the time is 20:05:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND birthday tomorrow sensor [binary_sensor.birthday_tomorrow] is on AND the current time is after 17:00:00. ACTIONS: Execute the script general_notification with data: message 'Tomorrow is {{states.calendar.birthdays.attributes.message}}', title 'Birthday Reminder', devices 'rf', priority 'active', tag 'birthday-reminder'.",
"natural_language": {
"trigger": "The automation triggers at 6:30 PM or at 8:05 PM.",
"conditions": "The automation only runs if the house is marked as occupied [input_boolean.house_occupied], if the birthday tomorrow sensor [binary_sensor.birthday_tomorrow] indicates a birthday is tomorrow, and if the current time is after 5:00 PM.",
"action": "Sends a general notification via the script 'general_notification'. The notification has the title 'Birthday Reminder' and a message that includes the event details from the birthdays calendar [calendar.birthdays]. It is sent to devices tagged 'rf' with an active priority."
},
"human_like": "Sends a reminder notification in the evening if there is a birthday tomorrow and someone is home.",
"complexity": "medium"
}
},
{
"id": "birthday_today_reminder",
"result": {
"structured": "TRIGGER: When the time is 07:35:00 OR when the time is 17:15:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND birthdays calendar [calendar.birthdays] is on. ACTIONS: Execute script general_notification with data: message 'Today is {{states.calendar.birthdays.attributes.message}}', title 'Birthday Reminder', devices 'rf', priority 'active', tag 'birthday-reminder'.",
"natural_language": {
"trigger": "The automation triggers at 7:35 AM or at 5:15 PM.",
"conditions": "The house must be marked as occupied, indicated by house occupied [input_boolean.house_occupied] being on, and there must be a birthday event scheduled for today, indicated by birthdays calendar [calendar.birthdays] being on.",
"action": "Sends a notification via the script general_notification. The notification's title is 'Birthday Reminder', and its message includes the details of the birthday event from the calendar. It is sent to devices tagged 'rf' with an active priority."
},
"human_like": "Sends a birthday reminder notification in the morning and evening when the house is occupied and a birthday is scheduled for the day.",
"complexity": "low"
}
},
{
"id": "BB - Garage - Door Open",
"result": {
"structured": "TRIGGER: When garage open [input_boolean.garage_open] changes from off to on. CONDITIONS: None. ACTIONS: Turn on led 1 switch [switch.led_1].",
"natural_language": {
"trigger": "When the garage open [input_boolean.garage_open] input boolean is turned on.",
"conditions": "There are no conditions for this automation.",
"action": "Turns on the led 1 switch [switch.led_1]."
},
"human_like": "Turns on the garage light when the garage is marked as open.",
"complexity": "low"
}
},
{
"id": "BB - Garage - Door Closed",
"result": {
"structured": "TRIGGER: When garage open [input_boolean.garage_open] changes from on to off. ACTIONS: Turn off led 1 switch [switch.led_1].",
"natural_language": {
"trigger": "When the garage open [input_boolean.garage_open] status changes from on to off.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the led 1 switch [switch.led_1]."
},
"human_like": "Turns off the garage light when the garage is marked as closed.",
"complexity": "low"
}
},
{
"id": "led_notifications_change_to",
"result": {
"structured": "TRIGGER: When led notification change to input text [input_text.led_notification_change_to] changes state. CONDITIONS: None. ACTIONS: Set led notification previous input text [input_text.led_notification_previous] to the current value of led notification current input text [input_text.led_notification_current] AND set led notification current input text [input_text.led_notification_current] to 'Alarmo - Pending'.",
"natural_language": {
"trigger": "Whenever the value of the input text field 'led notification change to input text' [input_text.led_notification_change_to] changes.",
"conditions": "There are no conditions that must be met.",
"action": "First, it saves the current value of the 'led notification current input text' [input_text.led_notification_current] into the 'led notification previous input text' [input_text.led_notification_previous] field. Then, it updates the 'led notification current input text' [input_text.led_notification_current] to the fixed value 'Alarmo - Pending'."
},
"human_like": "Updates the LED notification history by saving the current notification and setting a new one to 'Alarmo - Pending'.",
"complexity": "low"
}
},
{
"id": "christmas_enabled",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at 02:00:00 daily. CONDITIONS: (Current month is December OR (current month is January AND current day is between 1 and 7 inclusive)) AND christmas season active [input_boolean.christmas_season_active] is off. ACTIONS: Turn on christmas season active [input_boolean.christmas_season_active].",
"natural_language": {
"trigger": "The automation triggers either when Home Assistant first starts up, or every day at 2:00 AM.",
"conditions": "It checks if the current date falls within the Christmas season, which is defined as the entire month of December or the first week of January (days 1 through 7). It also verifies that the christmas season active [input_boolean.christmas_season_active] is currently off.",
"action": "Turns on the christmas season active [input_boolean.christmas_season_active] input boolean."
},
"human_like": "Automatically activates the Christmas season mode in early December and keeps it active through the first week of January.",
"complexity": "medium"
}
},
{
"id": "christmas_disabled",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at 02:00:00 daily. CONDITIONS: (christmas season active [input_boolean.christmas_season_active] is on) AND (the current date is after January 7th AND before December). ACTIONS: Turn off christmas season active [input_boolean.christmas_season_active].",
"natural_language": {
"trigger": "When Home Assistant first starts up, or at 2:00 AM every day.",
"conditions": "If the christmas season active [input_boolean.christmas_season_active] is currently turned on, and if the current date is after January 7th and before December (i.e., not during the Christmas season).",
"action": "Turns off the christmas season active [input_boolean.christmas_season_active] input boolean."
},
"human_like": "Automatically turns off the Christmas season mode after the holidays have ended, checking daily at 2 AM.",
"complexity": "medium"
}
},
{
"id": "Conversation - Set Bedtime Mode",
"result": {
"structured": "TRIGGER: When a voice command 'Set bedtime mode' is detected via conversation. CONDITIONS: None. ACTIONS: Turn on bedtime [input_boolean.bedtime].",
"natural_language": {
"trigger": "When the voice command 'Set bedtime mode' is spoken.",
"conditions": "There are no conditions that must be met.",
"action": "Activates bedtime mode by turning on the bedtime [input_boolean.bedtime] input boolean."
},
"human_like": "Activates bedtime mode when you ask for it using a voice command.",
"complexity": "low"
}
},
{
"id": "Conversation - Open/Close Back Gate",
"result": {
"structured": "TRIGGER: When a voice command 'Open back gate' is detected OR when a voice command 'Close back gate' is detected. CONDITIONS: None. ACTIONS: Send a notification 'Gate Opening' to notify.alexa_media_rick_s_echo_dot.",
"natural_language": {
"trigger": "When a voice command is issued to either 'Open back gate' or 'Close back gate'.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification with the message 'Gate Opening' to the Alexa device named 'rick_s_echo_dot'."
},
"human_like": "When you ask to open or close the back gate, it sends a notification to an Alexa device saying 'Gate Opening'.",
"complexity": "low"
}
},
{
"id": "Conversation - Close Garage Door",
"result": {
"structured": "TRIGGER: When a voice command 'Close garage door' is received via conversation. CONDITIONS: None. ACTIONS: Turn on garage door control switch [switch.garage_door_control].",
"natural_language": {
"trigger": "When you say the voice command 'Close garage door'.",
"conditions": "There are no conditions that must be met.",
"action": "Activates the garage door control switch [switch.garage_door_control] to close the garage door."
},
"human_like": "Closes the garage door when you ask for it using a voice command.",
"complexity": "low"
}
},
{
"id": "Conversation - Set media mode",
"result": {
"structured": "TRIGGER: When a voice command 'Set media mode' is issued via conversation. CONDITIONS: None. ACTIONS: Turn on living room tv leds tv light [light.living_room_tv_leds_tv_light] with the Rainbow effect.",
"natural_language": {
"trigger": "When a user issues the voice command 'Set media mode'.",
"conditions": "There are no additional conditions that must be met.",
"action": "Turns on the living room tv leds tv light [light.living_room_tv_leds_tv_light] and sets its light effect to Rainbow."
},
"human_like": "Sets the living room TV lights to Rainbow mode when you ask to 'Set media mode'.",
"complexity": "low"
}
},
{
"id": "turn_on_dark_outside",
"result": {
"structured": "TRIGGER: When sunset occurs OR When sunset occurs with a 10-minute offset OR When sun elevation [sun.sun] is below -4.0 OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: Dark Outside [input_boolean.dark_outside] is off AND sun elevation [sun.sun] is below -4.0. ACTIONS: Turn on Dark Outside [input_boolean.dark_outside].",
"natural_language": {
"trigger": "The automation can be triggered by the sunset event, the sunset event with a 10-minute delay, the sun's elevation dropping below -4 degrees, the reloading of automations, or when Home Assistant starts up.",
"conditions": "The automation only runs if the Dark Outside [input_boolean.dark_outside] is currently off and the sun's elevation [sun.sun] is below -4 degrees.",
"action": "Sets the Dark Outside [input_boolean.dark_outside] to on."
},
"human_like": "Turns on the 'Dark Outside' indicator when it's nighttime and the indicator is off, ensuring it activates at sunset or when the sun is sufficiently low.",
"complexity": "medium"
}
},
{
"id": "turn_off_dark_outside",
"result": {
"structured": "TRIGGER: When sunrise occurs OR When sunrise occurs with a 10-minute offset before sunrise OR When the sun elevation [sun.sun] rises above -4.0 degrees OR When the automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: Dark Outside [input_boolean.dark_outside] is on AND sun elevation [sun.sun] is above -4.0 degrees. ACTIONS: Turn off Dark Outside [input_boolean.dark_outside].",
"natural_language": {
"trigger": "The automation can be triggered by the sunrise event, by a sunrise event that occurs 10 minutes before the actual sunrise, by the sun's elevation rising above -4.0 degrees, by the system event indicating an automation reload, or when Home Assistant itself starts up.",
"conditions": "The automation only runs if the Dark Outside [input_boolean.dark_outside] switch is currently on, and the sun's elevation [sun.sun] is above -4.0 degrees.",
"action": "Turns off the Dark Outside [input_boolean.dark_outside] switch."
},
"human_like": "Turns off the 'Dark Outside' indicator when the sun is sufficiently high in the sky, triggered by sunrise or other system events.",
"complexity": "medium"
}
},
{
"id": "hvac_ filter_change_reminder_7_days",
"result": {
"structured": "TRIGGER: When days till filter replacement sensor [sensor.days_till_filter_replacement] state equals '7'. CONDITIONS: None. ACTIONS: Send a notification to Alexa Media Rick's Echo Dot [notify.alexa_media_rick_s_echo_dot] with the message 'Change HVAC Filterin 7 days'.",
"natural_language": {
"trigger": "When the days till filter replacement sensor [sensor.days_till_filter_replacement] reports that there are exactly 7 days left until the filter needs to be changed.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a voice notification to the Alexa device named Rick's Echo Dot [notify.alexa_media_rick_s_echo_dot] with the message 'Change HVAC Filterin 7 days'."
},
"human_like": "Sends a voice reminder to change the HVAC filter when there are 7 days left until the scheduled replacement.",
"complexity": "low"
}
},
{
"id": "hvac_ filter_change_reminder_today",
"result": {
"structured": "TRIGGER: When days till filter replacement sensor [sensor.days_till_filter_replacement] state equals '1'. CONDITIONS: None. ACTIONS: Send a notification to Alexa Media Rick's Echo Dot [notify.alexa_media_rick_s_echo_dot] with the message 'Change HVAC Filter today'.",
"natural_language": {
"trigger": "When the days till filter replacement sensor [sensor.days_till_filter_replacement] shows that there is one day left until the filter needs to be replaced.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a voice notification to the Alexa device named 'Rick's Echo Dot' [notify.alexa_media_rick_s_echo_dot], telling it to announce the message 'Change HVAC Filter today'."
},
"human_like": "Reminds you to change the HVAC filter today by sending an announcement to an Alexa device when the countdown sensor reaches one day.",
"complexity": "low"
}
},
{
"id": "garage_doors_close_when_home",
"result": {
"structured": "TRIGGER: When Dark Outside [input_boolean.dark_outside] turns on. CONDITIONS: Dark Outside [input_boolean.dark_outside] is on AND garage door sensor [binary_sensor.garage_door] is open (on). ACTIONS: Execute script general_notification with data (title: 'Garage Doors Open!', message: 'Garage door has been open for a while but nobody is around so I'm automatically closing.', devices: all, priority: time-sensitive, tag: garage-doors-open-home) AND Turn on garage door control switch [switch.garage_door_control] AND Start garage door closed timer [timer.garage_door_closed].",
"natural_language": {
"trigger": "When the Dark Outside [input_boolean.dark_outside] input boolean turns on, indicating it has become dark outside.",
"conditions": "It must be dark outside, as indicated by Dark Outside [input_boolean.dark_outside] being on, and the garage door sensor [binary_sensor.garage_door] must report that the door is open.",
"action": "Sends a notification to all devices with a time-sensitive priority, warning that the garage door is open and will be closed automatically. It then activates the garage door control switch [switch.garage_door_control] to close the door and starts the garage door closed timer [timer.garage_door_closed]."
},
"human_like": "Automatically closes the garage door and sends a notification when it gets dark outside and the door is found to be open.",
"complexity": "low"
}
},
{
"id": "garage_double_check_closed",
"result": {
"structured": "TRIGGER: When garage door closed timer [timer.garage_door_closed] finishes. CONDITIONS: garage door sensor [binary_sensor.garage_door] is open (on). ACTIONS: Run script general_notification with parameters (title: 'Garage Door Failed to Close!', message: 'The garage door failed to close after an automation attempted to close it', devices: all, priority: time-sensitive, tag: garage-doors-open-home) AND Start garage door closed timer [timer.garage_door_closed].",
"natural_language": {
"trigger": "When the garage door closed timer [timer.garage_door_closed] finishes.",
"conditions": "If the garage door sensor [binary_sensor.garage_door] reports that the door is open.",
"action": "Sends a high-priority notification to all devices with the title 'Garage Door Failed to Close!' and a message explaining the failure, and then restarts the garage door closed timer [timer.garage_door_closed]."
},
"human_like": "Sends an alert and restarts a timer if the garage door is still open after a previous attempt to close it.",
"complexity": "low"
}
},
{
"id": "bedtime_garage_door",
"result": {
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR when residents group [group.residents] becomes not_home AND remains so for 2 minutes. CONDITIONS: garage door sensor [binary_sensor.garage_door] is open (on). ACTIONS: Turn on garage door control switch [switch.garage_door_control] AND turn on garage closing [input_boolean.garage_closing].",
"natural_language": {
"trigger": "When the bedtime [input_boolean.bedtime] mode is activated, or when all residents [group.residents] have been away from home for at least two minutes.",
"conditions": "The garage door sensor [binary_sensor.garage_door] must report that the door is open.",
"action": "Activate the garage door control switch [switch.garage_door_control] to close the door, and set the garage closing [input_boolean.garage_closing] flag to on."
},
"human_like": "Automatically closes the garage door at bedtime or when everyone has been away for a couple of minutes, but only if the door is currently open.",
"complexity": "medium"
}
},
{
"id": "garage_door_closed",
"result": {
"structured": "TRIGGER: When garage door sensor [binary_sensor.garage_door] changes from open (on) to closed (off). CONDITIONS: None. ACTIONS: Turn off garage closing [input_boolean.garage_closing] AND turn off garage open [input_boolean.garage_open].",
"natural_language": {
"trigger": "When the garage door sensor [binary_sensor.garage_door] reports that the garage door has closed, changing its state from open to closed.",
"conditions": "There are no conditions that must be met for this automation to proceed.",
"action": "It turns off the garage closing [input_boolean.garage_closing] and garage open [input_boolean.garage_open] input booleans."
},
"human_like": "When the garage door closes, it updates the system to show the garage is no longer open or in the process of closing.",
"complexity": "low"
}
},
{
"id": "garage_door_open",
"result": {
"structured": "TRIGGER: When garage door sensor [binary_sensor.garage_door] changes from closed (off) to open (on). CONDITIONS: None. ACTIONS: Turn on garage open [input_boolean.garage_open].",
"natural_language": {
"trigger": "When the garage door sensor [binary_sensor.garage_door] changes from a closed state to an open state.",
"conditions": "There are no conditions that must be met.",
"action": "Sets the garage open [input_boolean.garage_open] status to on."
},
"human_like": "Tracks when the garage door opens by updating a status indicator.",
"complexity": "low"
}
},
{
"id": "garbage_day_notification",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND garbage day [input_boolean.garbage_day] is on. ACTIONS: Send a notification via alexa_media_rick_s_echo_dot with a dynamic message stating 'Today is garbage collection day.' or 'Today is garbage collection and recycling day.' depending on the state of recycling day [input_boolean.recycling_day]. Then, run script.general_notification with the same dynamic message, title 'Reminders', targeting devices 'rf', with priority 'active' and tag 'reminder'.",
"natural_language": {
"trigger": "When the office occupied [input_boolean.office_occupied] sensor indicates the office becomes occupied.",
"conditions": "Both the house occupied [input_boolean.house_occupied] and garbage day [input_boolean.garbage_day] indicators must be on.",
"action": "Sends a voice notification via the Alexa device and runs a general notification script. The message content is built dynamically: it always announces garbage collection day, and if recycling day [input_boolean.recycling_day] is also on, it includes recycling in the announcement."
},
"human_like": "Sends a reminder about garbage and recycling collection days when someone enters the office and the house is occupied.",
"complexity": "medium"
}
},
{
"id": "notifications_activate_important_only",
"result": {
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR When entertainment mode [input_boolean.entertainment_mode] turns on OR When house occupied [input_boolean.house_occupied] turns off. CONDITIONS: notification level input select [input_select.notification_level] is set to All. ACTIONS: Set notification level input select [input_select.notification_level] to Important.",
"natural_language": {
"trigger": "The automation triggers when the bedtime [input_boolean.bedtime] is switched on, or when the entertainment mode [input_boolean.entertainment_mode] is switched on, or when the house occupied [input_boolean.house_occupied] is switched off.",
"conditions": "The automation only runs if the notification level input select [input_select.notification_level] is currently set to 'All'.",
"action": "It changes the notification level input select [input_select.notification_level] from 'All' to 'Important'."
},
"human_like": "This automation reduces notifications to only important ones when bedtime or entertainment mode is activated, or when the house becomes unoccupied.",
"complexity": "low"
}
},
{
"id": "Notify Holiday State Change",
"result": {
"structured": "TRIGGER: When holiday sensor [sensor.holiday] changes state. CONDITIONS: holiday sensor [sensor.holiday] is not 'unknown' AND holiday sensor [sensor.holiday] is not 'unavailable' AND holiday sensor [sensor.holiday] is not empty (after trimming whitespace). ACTIONS: Create a persistent notification with the title and message set to the current state of holiday sensor [sensor.holiday].",
"natural_language": {
"trigger": "Whenever the holiday sensor [sensor.holiday] reports a new state.",
"conditions": "The automation only proceeds if the sensor's state is a valid, non-empty string. Specifically, the state must not be 'unknown', must not be 'unavailable', and must not be just whitespace.",
"action": "Creates a system notification. The notification's title and message both display the current state of the holiday sensor [sensor.holiday]."
},
"human_like": "Shows a notification with the current holiday status whenever it changes.",
"complexity": "low"
}
},
{
"id": "house_occupied",
"result": {
"structured": "TRIGGER: When rick home [input_boolean.rick_home] turns on OR When the event 'automation_reloaded' occurs OR When Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is off AND (rick home [input_boolean.rick_home] is on). ACTIONS: Turn on house occupied [input_boolean.house_occupied].",
"natural_language": {
"trigger": "The automation triggers when the rick home [input_boolean.rick_home] status changes to 'on', when the system event 'automation_reloaded' occurs, or when Home Assistant itself starts up.",
"conditions": "The automation only runs if the house occupied [input_boolean.house_occupied] status is currently 'off', and at least one of the following is true: the rick home [input_boolean.rick_home] status is 'on'.",
"action": "Sets the house to an occupied state by turning on the house occupied [input_boolean.house_occupied] input boolean."
},
"human_like": "Marks the house as occupied when Rick arrives home, ensuring the status is also set correctly after a system restart or reload.",
"complexity": "low"
}
},
{
"id": "house_not_occupied",
"result": {
"structured": "TRIGGER: When rick home [input_boolean.rick_home] changes to off OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: rick home [input_boolean.rick_home] is off. ACTIONS: Turn off house occupied [input_boolean.house_occupied].",
"natural_language": {
"trigger": "When the rick home [input_boolean.rick_home] switch is turned off, when Home Assistant reloads its automations, or when Home Assistant itself starts up.",
"conditions": "The automation only proceeds if the rick home [input_boolean.rick_home] switch is currently in the off state.",
"action": "Turns off the house occupied [input_boolean.house_occupied] switch, indicating the house is unoccupied."
},
"human_like": "Marks the house as unoccupied when Rick is indicated as not being home.",
"complexity": "low"
}
},
{
"id": "turn_off_led_lights_away",
"result": {
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: house occupied [input_boolean.house_occupied] is off. ACTIONS: Turn off ham desk led segment 1 light [light.ham_desk_led_segment_1].",
"natural_language": {
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to off, indicating the house is unoccupied.",
"conditions": "The house occupied [input_boolean.house_occupied] status must be off.",
"action": "Turns off the ham desk led segment 1 light [light.ham_desk_led_segment_1]."
},
"human_like": "Turns off the office LED lights when the house is set to away mode.",
"complexity": "low"
}
},
{
"id": "turn_off_led_lights_night",
"result": {
"structured": "TRIGGER: At 22:00:00. CONDITIONS: None. ACTIONS: Turn off ham desk led segment 1 light [light.ham_desk_led_segment_1].",
"natural_language": {
"trigger": "Every day at 10:00 PM.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns off the ham desk led segment 1 light [light.ham_desk_led_segment_1]."
},
"human_like": "Turns off the office LED lights at 10 PM every night.",
"complexity": "low"
}
},
{
"id": "turn_on_led_lights_morning",
"result": {
"structured": "TRIGGER: When office contact sensor [binary_sensor.office_contact] changes to open (on). CONDITIONS: The current time is between 05:30:00 AND 08:00:00. ACTIONS: Turn on ham desk led segment 1 light [light.ham_desk_led_segment_1].",
"natural_language": {
"trigger": "When the office contact sensor [binary_sensor.office_contact] opens.",
"conditions": "The automation only runs if the current time is between 5:30 AM and 8:00 AM.",
"action": "Turns on the ham desk led segment 1 light [light.ham_desk_led_segment_1]."
},
"human_like": "Turns on the office desk LED light in the morning when the door is opened.",
"complexity": "low"
}
},
{
"id": "turn_on_led_lights_office_occupancy",
"result": {
"structured": "TRIGGER: When office occupied [input_boolean.office_occupied] changes from off to on. CONDITIONS: The current time is between 05:30:00 AND 21:30:00. ACTIONS: Turn on ham desk led segment 1 light [light.ham_desk_led_segment_1].",
"natural_language": {
"trigger": "When the office occupied [input_boolean.office_occupied] status changes from off to on.",
"conditions": "The automation only runs if the current time is between 5:30 AM and 9:30 PM.",
"action": "Turns on the ham desk led segment 1 light [light.ham_desk_led_segment_1]."
},
"human_like": "Turns on the office desk LED lights when the room is marked as occupied, but only during daytime hours.",
"complexity": "low"
}
},
{
"id": "Away Mode - Turn Off Media Players",
"result": {
"structured": "TRIGGER: When residents group [group.residents] changes to not_home. CONDITIONS: residents group [group.residents] is not_home. ACTIONS: Pause media on kodi patio media player [media_player.kodi_patio].",
"natural_language": {
"trigger": "When the residents group [group.residents] changes its state to 'not_home'.",
"conditions": "The automation checks that the residents group [group.residents] is indeed in the 'not_home' state.",
"action": "Pauses the media playback on the kodi patio media player [media_player.kodi_patio]."
},
"human_like": "Pauses the patio media player when everyone leaves home.",
"complexity": "low"
}
},
{
"id": "all_away_media_off",
"result": {
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: At least one media player within the media players group [group.media_players] is currently playing. ACTIONS: Pause all media players in the media players group [group.media_players].",
"natural_language": {
"trigger": "When the house occupied [input_boolean.house_occupied] indicator changes to off, signaling that no one is home.",
"conditions": "If at least one media player that is part of the media players group [group.media_players] is currently in a playing state.",
"action": "Pauses all media players that are members of the media players group [group.media_players]."
},
"human_like": "Pauses all media players when the house is marked as unoccupied and any media is playing.",
"complexity": "low"
}
},
{
"id": "nws_mobile_app_notifications",
"result": {
"structured": "TRIGGER: When nws alerts alerts sensor [sensor.nws_alerts_alerts] changes state. CONDITIONS: nws alerts alerts sensor [sensor.nws_alerts_alerts] has a numeric value greater than 0. ACTIONS: For each new alert in the updated Alerts list (sorted by ID and not present in the previous state), send a push notification to My Phone [my_phone] via Notification Pushover Message [script.notification_pushover_message] with the alert's event title and a specific sound, then wait 5 seconds before processing the next alert.",
"natural_language": {
"trigger": "Whenever the nws alerts alerts sensor [sensor.nws_alerts_alerts] updates its state.",
"conditions": "The automation only proceeds if the nws alerts alerts sensor [sensor.nws_alerts_alerts] shows a count of alerts greater than zero.",
"action": "For every new alert that appears in the sensor's list compared to the previous state, the system sends a push notification to My Phone [my_phone] using the Notification Pushover Message [script.notification_pushover_message] script. Each notification includes the new alert's event title and plays a specific sound. There is a 5-second delay between sending notifications for each new alert."
},
"human_like": "Sends a mobile notification for each new National Weather Service alert, ensuring you are promptly informed of severe weather updates.",
"complexity": "medium"
}
},
{
"id": "nws_persistent_notifications",
"result": {
"structured": "TRIGGER: When nws alerts alerts sensor [sensor.nws_alerts_alerts] changes state. CONDITIONS: nws alerts alerts sensor [sensor.nws_alerts_alerts] has a numeric value greater than 0. ACTIONS: For each new alert in the Alerts attribute list (sorted by ID and not present in the previous state), run the script NWS Alerts Persistent Notification [script.nws_alerts_persistent_notification] with a notification ID of NWS_<alert ID>, a title of 'NWS New: <alert Event>', and a message of '<alert Description>', then wait 5 seconds before processing the next alert.",
"natural_language": {
"trigger": "Whenever the nws alerts alerts sensor [sensor.nws_alerts_alerts] updates its state.",
"conditions": "The sensor's numeric value must be above zero, indicating there are active alerts.",
"action": "For every new alert that appears in the sensor's list of alerts compared to its previous state, the system creates a persistent notification. It uses the script NWS Alerts Persistent Notification [script.nws_alerts_persistent_notification] to send a notification with a unique ID, a title containing the alert event type, and a message with the alert description. After sending each notification, it waits for five seconds before moving on to the next new alert."
},
"human_like": "Creates persistent notifications for new National Weather Service alerts, sending them one by one with a short delay between each.",
"complexity": "medium"
}
},
{
"id": "nws_tts_announcements",
"result": {
"structured": "TRIGGER: When nws alerts alerts sensor [sensor.nws_alerts_alerts] changes state. CONDITIONS: The number of alerts in nws alerts alerts sensor [sensor.nws_alerts_alerts] is greater than 0. ACTIONS: For each new alert in the sensor's Alerts attribute list (sorted by ID): If the alert's Event contains 'Tornado Warning' AND the alert's Type is 'Alert', then run the script NWS Alerts Announce Tornado Warning [script.nws_alerts_announce_tornado_warning] and wait 1 minute. Then, for each new alert in the sensor's Alerts attribute list (sorted by ID): If the alert's Event contains 'Severe Thunderstorm Warning' AND the alert's Type is 'Alert', then run the script NWS Alerts Announce Thunderstorm Warning [script.nws_alerts_announce_thunderstorm_warning] and wait 1 minute.",
"natural_language": {
"trigger": "When the nws alerts alerts sensor [sensor.nws_alerts_alerts] updates its state.",
"conditions": "The sensor must report that there is at least one active alert.",
"action": "The automation processes each newly added alert. For each new alert, if it is a 'Tornado Warning' type alert, it triggers an announcement script for tornado warnings and then waits one minute. After processing all new alerts for tornado warnings, it processes them again, and for each new alert that is a 'Severe Thunderstorm Warning' type alert, it triggers an announcement script for thunderstorm warnings and waits one minute."
},
"human_like": "Announces new tornado and severe thunderstorm warnings from the National Weather Service using text-to-speech.",
"complexity": "medium"
}
},
{
"id": "Office occupied",
"result": {
"structured": "TRIGGER: When office motion group [group.office_motion] turns on OR when rick office session state sensor [sensor.rick_office_session_state] changes to Unlocked. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Start office motion timer [timer.office_motion_timer] AND turn on office occupied [input_boolean.office_occupied].",
"natural_language": {
"trigger": "When motion is detected in the office, as indicated by the office motion group [group.office_motion] turning on, or when the sensor tracking Rick's office session state [sensor.rick_office_session_state] reports a change to 'Unlocked'.",
"conditions": "The house must be marked as occupied, meaning the house occupied [input_boolean.house_occupied] input boolean is currently on.",
"action": "Starts a timer called office motion timer [timer.office_motion_timer] and marks the office as occupied by turning on the office occupied [input_boolean.office_occupied] input boolean."
},
"human_like": "Marks the office as occupied and starts a timer when motion is detected or a session is unlocked, but only if the house is already occupied.",
"complexity": "low"
}
},
{
"id": "office_unoccupied",
"result": {
"structured": "TRIGGER: When timer.office_motion_timer [timer.office_motion_timer] finishes. CONDITIONS: office occupied [input_boolean.office_occupied] is on AND office motion group [group.office_motion] is off. ACTIONS: If office chair contact sensor [binary_sensor.office_chair_contact] is not off, then turn off office occupied [input_boolean.office_occupied]. Otherwise, start timer.office_motion_timer [timer.office_motion_timer].",
"natural_language": {
"trigger": "When the office motion timer [timer.office_motion_timer] finishes.",
"conditions": "The office must be marked as occupied [input_boolean.office_occupied] and the office motion group [group.office_motion] must report no motion.",
"action": "If the office chair contact sensor [binary_sensor.office_chair_contact] indicates the chair is not empty (i.e., not 'off'), the automation turns off the office occupied [input_boolean.office_occupied] status. If the chair is empty ('off'), it restarts the office motion timer [timer.office_motion_timer]."
},
"human_like": "Marks the office as unoccupied when the motion timer ends and no motion is detected, but checks the chair sensor first to avoid false triggers.",
"complexity": "medium"
}
},
{
"id": "Christmas lights on before Sunset",
"result": {
"structured": "TRIGGER: When sunset occurs, 30 minutes before the actual sunset event. CONDITIONS: christmas time [input_boolean.christmas_time] is on. ACTIONS: Turn on christmas lights group [group.christmas_lights].",
"natural_language": {
"trigger": "When the sun is about to set, specifically 30 minutes before the sunset event.",
"conditions": "If the christmas time [input_boolean.christmas_time] is currently switched on.",
"action": "Turns on all the lights in the christmas lights group [group.christmas_lights]."
},
"human_like": "Turns on the Christmas lights 30 minutes before sunset, but only if the 'Christmas time' mode is active.",
"complexity": "low"
}
},
{
"id": "Christmas lights off at 10:00pm",
"result": {
"structured": "TRIGGER: When the time is exactly 22:00:00. CONDITIONS: christmas time [input_boolean.christmas_time] is on. ACTIONS: Turn off christmas lights group [group.christmas_lights].",
"natural_language": {
"trigger": "Every day at 10:00 PM.",
"conditions": "If the christmas time [input_boolean.christmas_time] is currently switched on.",
"action": "Turns off all the lights in the christmas lights group [group.christmas_lights]."
},
"human_like": "Turns off the Christmas lights every night at 10 PM, but only if the 'Christmas time' mode is active.",
"complexity": "low"
}
},
{
"id": "sink_light_off_at_morning",
"result": {
"structured": "TRIGGER: When the sun rises with an offset of +30 minutes. CONDITIONS: None. ACTIONS: Turn off kitchen over sink light [light.kitchen_over_sink].",
"natural_language": {
"trigger": "When the sun rises, delayed by 30 minutes.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the kitchen over sink light [light.kitchen_over_sink]."
},
"human_like": "Turns off the sink light in the kitchen half an hour after sunrise.",
"complexity": "low"
}
},
{
"id": "sink_light_off_at_night",
"result": {
"structured": "TRIGGER: When the time is 22:30:00. CONDITIONS: None. ACTIONS: Turn off kitchen over sink light [light.kitchen_over_sink].",
"natural_language": {
"trigger": "Every day at 10:30 PM.",
"conditions": "There are no conditions that must be met.",
"action": "Turns off the kitchen over sink light [light.kitchen_over_sink]."
},
"human_like": "Turns off the kitchen sink light every night at 10:30 PM.",
"complexity": "low"
}
},
{
"id": "sink_light_on_in_morning",
"result": {
"structured": "TRIGGER: At 03:15:00. CONDITIONS: workday sensor [binary_sensor.workday] is on. ACTIONS: Turn on kitchen over sink light [light.kitchen_over_sink] with brightness set to 128.",
"natural_language": {
"trigger": "The automation triggers daily at 3:15 AM.",
"conditions": "It only runs if the workday sensor [binary_sensor.workday] indicates it is a workday.",
"action": "It turns on the kitchen over sink light [light.kitchen_over_sink] to a medium brightness level."
},
"human_like": "Turns on the kitchen sink light at 3:15 AM, but only on workdays.",
"complexity": "low"
}
},
{
"id": "sink_light_on_if_house_unoccupied_and_dark",
"result": {
"structured": "TRIGGER: When sunset occurs with a 30-minute offset before the event. CONDITIONS: residents group [group.residents] is not_home. ACTIONS: Turn on kitchen over sink light [light.kitchen_over_sink].",
"natural_language": {
"trigger": "When the sun sets, but 30 minutes before the actual sunset time.",
"conditions": "If the residents group [group.residents] is marked as not being home.",
"action": "Turn on the kitchen over sink light [light.kitchen_over_sink]."
},
"human_like": "Turns on the kitchen sink light 30 minutes before sunset, but only when nobody is home.",
"complexity": "low"
}
},
{
"id": "Pollen Notifications",
"result": {
"structured": "TRIGGER: When the time is 07:00:00. CONDITIONS: None. ACTIONS: Send a push notification with title 'Pollen Levels' containing the current states of air pollen level weed sensor [sensor.air_pollen_level_weed], air pollen level grass sensor [sensor.air_pollen_level_grass], air pollen level mold sensor [sensor.air_pollen_level_mold], and air pollen level tree sensor [sensor.air_pollen_level_tree].",
"natural_language": {
"trigger": "Every day at 7:00 AM.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a push notification titled 'Pollen Levels' that reports the current pollen levels for weed, grass, mold, and tree from their respective sensors."
},
"human_like": "Sends a daily morning notification with the current pollen levels for weed, grass, mold, and tree.",
"complexity": "low"
}
},
{
"id": "rick_phone_plugged_in",
"result": {
"structured": "TRIGGER: When ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] changes to Charging OR when ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] changes to Full. CONDITIONS: rick phone plugged in [input_boolean.rick_phone_plugged_in] is off AND (ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] is Charging OR ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] is Full). ACTIONS: Turn on rick phone plugged in [input_boolean.rick_phone_plugged_in].",
"natural_language": {
"trigger": "When the ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] reports that the phone has started charging or has reached a full charge.",
"conditions": "The rick phone plugged in [input_boolean.rick_phone_plugged_in] must currently be off, and the phone's battery state must be either Charging or Full.",
"action": "Sets the rick phone plugged in [input_boolean.rick_phone_plugged_in] to on, indicating the phone is plugged in."
},
"human_like": "Tracks when Rick's phone is plugged in by monitoring its charging state and setting a status flag accordingly.",
"complexity": "low"
}
},
{
"id": "rick_phone_unplugged",
"result": {
"structured": "TRIGGER: When ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] changes to Not Charging. CONDITIONS: ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] is Not Charging. ACTIONS: Turn off rick phone plugged in [input_boolean.rick_phone_plugged_in].",
"natural_language": {
"trigger": "When the ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] reports a change to the state 'Not Charging'.",
"conditions": "The automation only proceeds if the ricks iphone battery state sensor [sensor.ricks_iphone_battery_state] is currently in the 'Not Charging' state.",
"action": "Turns off the rick phone plugged in [input_boolean.rick_phone_plugged_in] input boolean."
},
"human_like": "Updates a status indicator to show that Rick's phone is no longer charging when its battery state changes.",
"complexity": "low"
}
},
{
"id": "ricks_wifi_status",
"result": {
"structured": "TRIGGER: When ricks iphone ssid sensor [sensor.ricks_iphone_ssid] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: None. ACTIONS: If ricks iphone ssid sensor [sensor.ricks_iphone_ssid] contains the string 'SLYFOX', then publish 'home' to MQTT topic 'location/ricks_wifi' with retain flag. Otherwise, publish 'not_home' to the same MQTT topic with retain flag.",
"natural_language": {
"trigger": "The automation triggers when the Wi-Fi network name reported by ricks iphone ssid sensor [sensor.ricks_iphone_ssid] changes, when Home Assistant starts up, or when any automation is reloaded.",
"conditions": "There are no conditions that must be met before proceeding with the actions.",
"action": "It checks if the reported Wi-Fi network name contains 'SLYFOX'. If it does, it sends an MQTT message 'home' to the topic 'location/ricks_wifi' and retains the message. If it does not contain 'SLYFOX', it sends an MQTT message 'not_home' to the same topic and retains it."
},
"human_like": "Updates an MQTT topic to indicate whether Rick is home based on his phone's connected Wi-Fi network.",
"complexity": "medium"
}
},
{
"id": "person_rick_away",
"result": {
"structured": "TRIGGER: When person rick fox [person.rick_fox] OR ricks iphone device tracker [device_tracker.ricks_iphone] leaves zone.home OR When person rick fox [person.rick_fox] OR ricks iphone device tracker [device_tracker.ricks_iphone] changes state to not_home OR When event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: (rick home [input_boolean.rick_home] is on) AND (person rick fox [person.rick_fox] is not_home OR ricks iphone device tracker [device_tracker.ricks_iphone] is not_home). ACTIONS: Run script Rick Away [script.rick_away].",
"natural_language": {
"trigger": "This automation triggers when either the person rick fox [person.rick_fox] or the ricks iphone device tracker [device_tracker.ricks_iphone] leaves the home zone, or when either of their states changes to 'not_home'. It also triggers when Home Assistant starts up or when automations are reloaded.",
"conditions": "The automation only proceeds if the rick home [input_boolean.rick_home] is set to 'on', and if either the person rick fox [person.rick_fox] or the ricks iphone device tracker [device_tracker.ricks_iphone] is currently in a 'not_home' state.",
"action": "Executes the script named Rick Away [script.rick_away]."
},
"human_like": "Marks Rick as away and runs a departure routine when he or his phone leaves home, provided the system is set to track his presence.",
"complexity": "medium"
}
},
{
"id": "person_rick_home",
"result": {
"structured": "TRIGGER: When person rick fox [person.rick_fox] OR ricks iphone device tracker [device_tracker.ricks_iphone] enters zone.home OR When person rick fox [person.rick_fox] OR ricks iphone device tracker [device_tracker.ricks_iphone] changes state to home OR When the event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: rick home [input_boolean.rick_home] is off AND (person rick fox [person.rick_fox] is home OR ricks iphone device tracker [device_tracker.ricks_iphone] is home). ACTIONS: Run script Rick Home [script.rick_home].",
"natural_language": {
"trigger": "The automation triggers when either the person rick fox [person.rick_fox] or the ricks iphone device tracker [device_tracker.ricks_iphone] enters the home zone, or when either of their states changes to 'home'. It also triggers when Home Assistant starts or when automations are reloaded.",
"conditions": "The automation only proceeds if the rick home [input_boolean.rick_home] is currently off, and if either the person rick fox [person.rick_fox] is at home or the ricks iphone device tracker [device_tracker.ricks_iphone] is at home.",
"action": "Executes the script named Rick Home [script.rick_home]."
},
"human_like": "Marks Rick as home by running a script when he or his phone arrives, but only if he isn't already marked as home.",
"complexity": "medium"
}
},
{
"id": "rick_in_bed",
"result": {
"structured": "TRIGGER: When living room roku media player [media_player.living_room_roku] becomes idle OR rick phone plugged in [input_boolean.rick_phone_plugged_in] turns on OR the time is 22:30:00 OR bedtime [input_boolean.bedtime] turns on (duplicate trigger). CONDITIONS: The current time is between 21:00:00 and 06:00:00 AND rick home [input_boolean.rick_home] is on AND office occupied [input_boolean.office_occupied] is off. ACTIONS: Run the script Rick In Bed [script.rick_in_bed].",
"natural_language": {
"trigger": "The automation can be triggered by any of the following events: the living room Roku media player [media_player.living_room_roku] becomes idle, Rick's phone is plugged in [input_boolean.rick_phone_plugged_in], the clock reaches 10:30 PM, or the bedtime [input_boolean.bedtime] input boolean is turned on.",
"conditions": "For the automation to proceed, the current time must be between 9:00 PM and 6:00 AM, Rick must be marked as home [input_boolean.rick_home], and the office must be unoccupied [input_boolean.office_occupied].",
"action": "When triggered and all conditions are met, the automation runs the 'Rick In Bed' script [script.rick_in_bed]."
},
"human_like": "This automation runs a bedtime routine for Rick when certain evening triggers occur, provided he is home and the office is not in use.",
"complexity": "medium"
}
},
{
"id": "plant_light_on",
"result": {
"structured": "TRIGGER: At sunrise minus 30 minutes. CONDITIONS: seeding time [input_boolean.seeding_time] is on. ACTIONS: Turn on seedling grow lights group [group.seedling_grow_lights].",
"natural_language": {
"trigger": "The automation triggers 30 minutes before sunrise.",
"conditions": "The automation only runs if the seeding time [input_boolean.seeding_time] is switched on.",
"action": "It turns on the seedling grow lights group [group.seedling_grow_lights]."
},
"human_like": "Turns on the seedling grow lights 30 minutes before sunrise, but only when the seeding time mode is active.",
"complexity": "low"
}
},
{
"id": "plant_light_off",
"result": {
"structured": "TRIGGER: When sunset occurs with an offset of 30 minutes before. CONDITIONS: seeding time [input_boolean.seeding_time] is on. ACTIONS: Turn off seedling grow lights group [group.seedling_grow_lights].",
"natural_language": {
"trigger": "When sunset is 30 minutes away.",
"conditions": "If the seeding time [input_boolean.seeding_time] is currently switched on.",
"action": "Turns off the seedling grow lights group [group.seedling_grow_lights]."
},
"human_like": "Turns off the seedling grow lights half an hour before sunset, but only when the seeding time mode is active.",
"complexity": "low"
}
},
{
"id": "severe_weather_warning",
"result": {
"structured": "TRIGGER: When pirateweather alerts sensor [sensor.pirateweather_alerts] changes state. CONDITIONS: (The numeric state of pirateweather alerts sensor [sensor.pirateweather_alerts] is greater than 0) AND (The new numeric state of pirateweather alerts sensor [sensor.pirateweather_alerts] is greater than its previous numeric state) AND (The severity attribute of pirateweather alerts sensor [sensor.pirateweather_alerts] is \"severe\" OR \"extreme\"). ACTIONS: Run script.general_notification with a title and message constructed from the title and description attributes of pirateweather alerts sensor [sensor.pirateweather_alerts], targeting device 'jk' with a time-sensitive priority and tag 'weather-alert'.",
"natural_language": {
"trigger": "Whenever the pirateweather alerts sensor [sensor.pirateweather_alerts] changes its state.",
"conditions": "The automation checks that the sensor's numeric value is greater than zero, that the new value is higher than the old value, and that the severity attribute of the alert is either 'severe' or 'extreme'.",
"action": "Sends a high-priority notification to a device named 'jk' with a title and message based on the weather alert's details."
},
"human_like": "Sends an urgent notification when a new severe or extreme weather alert is issued.",
"complexity": "medium"
}
},
{
"id": "String lights on before Sunrise",
"result": {
"structured": "TRIGGER: When the sun event sunrise occurs 30 minutes before actual sunrise. CONDITIONS: None. ACTIONS: Turn on patio lights switch [switch.patiolights].",
"natural_language": {
"trigger": "The automation is triggered 30 minutes before the scheduled sunrise.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Turns on the patio lights switch [switch.patiolights]."
},
"human_like": "Turns on the patio lights half an hour before sunrise.",
"complexity": "low"
}
},
{
"id": "String lights off After Sunrise",
"result": {
"structured": "TRIGGER: When sunrise occurs with an offset of +30 minutes. CONDITIONS: None. ACTIONS: Turn off patio lights switch [switch.patiolights].",
"natural_language": {
"trigger": "Thirty minutes after sunrise.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the patio lights switch [switch.patiolights]."
},
"human_like": "Turns off the patio lights half an hour after sunrise.",
"complexity": "low"
}
},
{
"id": "String lights on Before Sunset",
"result": {
"structured": "TRIGGER: When sunset occurs 30 minutes before the actual sunset event. CONDITIONS: None. ACTIONS: Turn on patio lights switch [switch.patiolights].",
"natural_language": {
"trigger": "The automation triggers 30 minutes before the sun sets.",
"conditions": "There are no conditions that must be met for this automation to run.",
"action": "Turns on the patio lights switch [switch.patiolights]."
},
"human_like": "Turns on the patio lights half an hour before sunset.",
"complexity": "low"
}
},
{
"id": "String lights off at 10:00pm",
"result": {
"structured": "TRIGGER: When the time is exactly 22:00:00. CONDITIONS: None. ACTIONS: Turn off patio lights switch [switch.patiolights].",
"natural_language": {
"trigger": "At exactly 10:00 PM every day.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the patio lights switch [switch.patiolights]."
},
"human_like": "Automatically turns off the patio lights every night at 10:00 PM.",
"complexity": "low"
}
},
{
"id": "tracys_alarm_activated",
"result": {
"structured": "TRIGGER: When the event phone_alarm_tracy occurs. CONDITIONS: tracys alarm activated [input_boolean.tracys_alarm_activated] is off. ACTIONS: Turn on tracys alarm activated [input_boolean.tracys_alarm_activated].",
"natural_language": {
"trigger": "When a specific event named 'phone_alarm_tracy' is received.",
"conditions": "If the status indicator tracys alarm activated [input_boolean.tracys_alarm_activated] is currently off.",
"action": "Turns on the status indicator tracys alarm activated [input_boolean.tracys_alarm_activated]."
},
"human_like": "Sets an indicator to show that Tracy's phone alarm has been activated.",
"complexity": "low"
}
},
{
"id": "tracy_alarm_reset",
"result": {
"structured": "TRIGGER: When the time is 23:59:00 OR When tracy phone plugged in [input_boolean.tracy_phone_plugged_in] changes to off. CONDITIONS: tracys alarm activated [input_boolean.tracys_alarm_activated] is on. ACTIONS: Turn off tracys alarm activated [input_boolean.tracys_alarm_activated].",
"natural_language": {
"trigger": "The automation triggers either at 11:59 PM every day, or when tracy phone plugged in [input_boolean.tracy_phone_plugged_in] changes to an unplugged (off) state.",
"conditions": "The automation only runs if tracys alarm activated [input_boolean.tracys_alarm_activated] is currently turned on.",
"action": "It turns off the tracys alarm activated [input_boolean.tracys_alarm_activated] input boolean."
},
"human_like": "Resets Tracy's alarm status either at midnight or when her phone is unplugged.",
"complexity": "low"
}
},
{
"id": "tracy_phone_plugged_in",
"result": {
"structured": "TRIGGER: When tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] changes to Charging OR When tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] changes to Full. CONDITIONS: (tracy phone plugged in [input_boolean.tracy_phone_plugged_in] is off) AND (tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] is Charging OR tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] is Full). ACTIONS: Turn on tracy phone plugged in [input_boolean.tracy_phone_plugged_in].",
"natural_language": {
"trigger": "When the tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] reports that the phone's battery state has changed to either 'Charging' or 'Full'.",
"conditions": "The automation only runs if the tracy phone plugged in [input_boolean.tracy_phone_plugged_in] is currently off, and the phone's battery state is confirmed to be either 'Charging' or 'Full'.",
"action": "Sets the tracy phone plugged in [input_boolean.tracy_phone_plugged_in] to on, indicating the phone is plugged in."
},
"human_like": "Sets a flag to indicate that Tracy's phone is plugged in when its battery state changes to charging or full.",
"complexity": "low"
}
},
{
"id": "tracy_phone_unplugged",
"result": {
"structured": "TRIGGER: When tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] changes to Not Charging. CONDITIONS: tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] is Not Charging. ACTIONS: Turn off tracy phone plugged in [input_boolean.tracy_phone_plugged_in].",
"natural_language": {
"trigger": "When the tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] reports a change to 'Not Charging'.",
"conditions": "The tracys iphone battery state sensor [sensor.tracys_iphone_battery_state] must currently be in the 'Not Charging' state.",
"action": "Updates the status by turning off the tracy phone plugged in [input_boolean.tracy_phone_plugged_in] input boolean."
},
"human_like": "Turns off the 'phone plugged in' indicator when Tracy's phone is no longer charging.",
"complexity": "low"
}
},
{
"id": "tracys_wifi_status",
"result": {
"structured": "TRIGGER: When tracys iphone ssid sensor [sensor.tracys_iphone_ssid] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: None. ACTIONS: If tracys iphone ssid sensor [sensor.tracys_iphone_ssid] state contains 'SLYFOX' THEN publish 'home' to MQTT topic 'location/tracys_wifi' with retain flag. OTHERWISE publish 'not_home' to MQTT topic 'location/tracys_wifi' with retain flag.",
"natural_language": {
"trigger": "The automation triggers when the WiFi network name (SSID) reported by Tracy's iPhone [sensor.tracys_iphone_ssid] changes, when Home Assistant starts up, or when any automation is reloaded.",
"conditions": "There are no conditions that must be met before proceeding with the actions.",
"action": "The automation checks the current value of the SSID sensor. If the sensor's state contains the text 'SLYFOX', it publishes the message 'home' to the MQTT topic 'location/tracys_wifi' and retains that message. If the sensor's state does not contain 'SLYFOX', it publishes the message 'not_home' to the same MQTT topic and retains it."
},
"human_like": "Updates an MQTT topic to show whether Tracy is home or not based on whether her iPhone is connected to the home WiFi network.",
"complexity": "medium"
}
},
{
"id": "person_tracy_away",
"result": {
"structured": "TRIGGER: When person tracy fox [person.tracy_fox] OR tracys iphone device tracker [device_tracker.tracys_iphone] leaves zone.home OR When person tracy fox [person.tracy_fox] OR tracys iphone device tracker [device_tracker.tracys_iphone] changes state to not_home OR When the event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: tracy home [input_boolean.tracy_home] is on AND (person tracy fox [person.tracy_fox] is not_home OR tracys iphone device tracker [device_tracker.tracys_iphone] is not_home). ACTIONS: Run script Tracy Away [script.tracy_away].",
"natural_language": {
"trigger": "The automation triggers when either the person tracy fox [person.tracy_fox] or the tracys iphone device tracker [device_tracker.tracys_iphone] leaves the home zone, or when either of these entities changes its state to 'not_home'. It also triggers when Home Assistant starts up or when an automation reload event occurs.",
"conditions": "The automation only proceeds if the input boolean tracy home [input_boolean.tracy_home] is currently set to 'on', and if either the person tracy fox [person.tracy_fox] or the tracys iphone device tracker [device_tracker.tracys_iphone] is in a 'not_home' state.",
"action": "Executes the script named Tracy Away [script.tracy_away]."
},
"human_like": "Marks Tracy as away and runs the 'away' routine when she leaves home, ensuring the system is only active when she is supposed to be home.",
"complexity": "medium"
}
},
{
"id": "person_tracy_home",
"result": {
"structured": "TRIGGER: When person tracy fox [person.tracy_fox] OR tracys iphone device tracker [device_tracker.tracys_iphone] enters zone.home OR When person tracy fox [person.tracy_fox] OR tracys iphone device tracker [device_tracker.tracys_iphone] changes state to home OR When the event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: tracy home [input_boolean.tracy_home] is off AND (person tracy fox [person.tracy_fox] is home OR tracys iphone device tracker [device_tracker.tracys_iphone] is home). ACTIONS: Run script Tracy Home [script.tracy_home].",
"natural_language": {
"trigger": "When either person tracy fox [person.tracy_fox] or tracys iphone device tracker [device_tracker.tracys_iphone] enters the home zone, or when either of their states changes to 'home'. It also triggers when Home Assistant starts up or when automations are reloaded.",
"conditions": "The automation only runs if the tracy home [input_boolean.tracy_home] is currently set to off, and at least one of the two entities, person tracy fox [person.tracy_fox] or tracys iphone device tracker [device_tracker.tracys_iphone], is at home.",
"action": "Executes the script named Tracy Home [script.tracy_home]."
},
"human_like": "This automation runs a welcome-home script for Tracy when she arrives home, but only if she hasn't already been marked as home.",
"complexity": "medium"
}
},
{
"id": "notifications_updates_available",
"result": {
"structured": "TRIGGER: When the time pattern matches every 3 hours OR When home assistant core update [update.home_assistant_core_update] state changes to 'on' OR When home assistant operating system update [update.home_assistant_operating_system_update] state changes to 'on' OR When hacs update [update.hacs_update] state changes to 'on'. CONDITIONS: The current time is between 06:00:00 and 20:00:00. ACTIONS: Send a notification via notify.alert with title 'Updates Available' and a message listing all update entities that are 'on', have defined 'latest_version' and 'installed_version' attributes, and whose 'latest_version' is not 'unknown', 'unavailable', 'none', or empty. The message formats each entry as '- Name: installed_version -> latest_version', where Name is derived from entity attributes. The notification includes data for tagging, grouping, and a 'Pause Alert' action. Also, create a persistent notification with the same title and message content.",
"natural_language": {
"trigger": "The automation triggers every three hours, or whenever the home assistant core update [update.home_assistant_core_update], home assistant operating system update [update.home_assistant_operating_system_update], or hacs update [update.hacs_update] entities change their state to 'on', indicating an update is available.",
"conditions": "The automation only runs if the current time is between 6:00 AM and 8:00 PM.",
"action": "Sends a push notification and creates a persistent notification titled 'Updates Available'. The message lists all update entities that are currently reporting an available update, showing their name and the version change from installed to latest. The push notification is configured to be a time-sensitive alert with a badge and includes an action button to pause the alert."
},
"human_like": "Sends a daytime notification when Home Assistant, its OS, or HACS have updates available, listing each one with version details.",
"complexity": "medium"
}
},
{
"id": "ups_power_failure",
"result": {
"structured": "TRIGGER: When ups status sensor [sensor.ups_status] changes state to 'On Battery Battery Discharging'. CONDITIONS: None. ACTIONS: Send a notification titled 'Power Failure!' with message 'HA UPS Status - On Battery Battery Discharging' and tag 'ups_power_failure' AND Turn on ups on batteries [input_boolean.ups_on_batteries].",
"natural_language": {
"trigger": "When the ups status sensor [sensor.ups_status] reports that the UPS is 'On Battery Battery Discharging'.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a high-priority mobile notification with the title 'Power Failure!' and a message indicating the UPS status. It also turns on the ups on batteries [input_boolean.ups_on_batteries] input boolean to track the power state."
},
"human_like": "Sends an urgent alert and updates a status tracker when the home's UPS switches to battery power, indicating a power failure.",
"complexity": "low"
}
},
{
"id": "ups_power_restored",
"result": {
"structured": "TRIGGER: When ups status sensor [sensor.ups_status] changes from 'On Battery Battery Discharging' to 'Online Battery Charging'. CONDITIONS: None. ACTIONS: Send a notification with title 'Power Restored' and message 'HA UPS Status - Online Battery Charging' (tag: ups_power_restored) AND turn off ups on batteries [input_boolean.ups_on_batteries].",
"natural_language": {
"trigger": "When the ups status sensor [sensor.ups_status] reports a change from running on battery power ('On Battery Battery Discharging') to being connected to mains power and charging ('Online Battery Charging').",
"conditions": "There are no conditions that must be met.",
"action": "Sends a push notification titled 'Power Restored' with the message 'HA UPS Status - Online Battery Charging' and turns off the ups on batteries [input_boolean.ups_on_batteries] status indicator."
},
"human_like": "Sends an alert and updates the system status when the UPS (uninterruptible power supply) switches from battery power back to mains power.",
"complexity": "low"
}
},
{
"id": "bedtime_disable_voice",
"result": {
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on AND remains on for 1 minute. CONDITIONS: None. ACTIONS: Turn off voice enabled [input_boolean.voice_enabled].",
"natural_language": {
"trigger": "When the bedtime [input_boolean.bedtime] switch is turned on and stays on for at least one minute.",
"conditions": "There are no additional conditions that need to be met.",
"action": "Disables voice control by turning off the voice enabled [input_boolean.voice_enabled] switch."
},
"human_like": "Automatically disables voice control one minute after bedtime is activated.",
"complexity": "low"
}
},
{
"id": "water_pump_charger_on",
"result": {
"structured": "TRIGGER: When the time is 02:00:00. CONDITIONS: The current day is Monday. ACTIONS: Turn on water pump outlet switch [switch.water_pump_outlet].",
"natural_language": {
"trigger": "The automation triggers at 2:00 AM.",
"conditions": "The automation only runs if the current day is Monday.",
"action": "It turns on the water pump outlet switch [switch.water_pump_outlet]."
},
"human_like": "Turns on the water pump charger every Monday at 2 AM.",
"complexity": "low"
}
},
{
"id": "water_pump_charger_off",
"result": {
"structured": "TRIGGER: When water pump outlet switch [switch.water_pump_outlet] remains on for 1 hour. CONDITIONS: water pump outlet switch [switch.water_pump_outlet] is on. ACTIONS: Turn off water pump outlet switch [switch.water_pump_outlet].",
"natural_language": {
"trigger": "When the water pump outlet switch [switch.water_pump_outlet] has been turned on and remains in that state for one hour.",
"conditions": "The automation checks that the water pump outlet switch [switch.water_pump_outlet] is still on at the moment the trigger condition is met.",
"action": "Turns off the water pump outlet switch [switch.water_pump_outlet]."
},
"human_like": "Automatically turns off the water pump after it has been running continuously for one hour.",
"complexity": "low"
}
}
]