AutomationDataset/RafhaanShah/automation-descriptions.json

1549 lines
122 KiB
JSON

[
{
"id": "'Sleeping: Asleep Automations State'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from off to on. CONDITIONS: None. ACTIONS: Turn on alarm pre morning heating bedroom [automation.alarm_pre_morning_heating_bedroom], alarm pre morning heating living room [automation.alarm_pre_morning_heating_living_room], alarm pre morning blanket [automation.alarm_pre_morning_blanket], and alarm pre morning lights [automation.alarm_pre_morning_lights].",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] is turned on.",
"conditions": "There are no additional conditions that must be met.",
"action": "Enables a set of morning preparation automations, turning on alarm pre morning heating bedroom [automation.alarm_pre_morning_heating_bedroom], alarm pre morning heating living room [automation.alarm_pre_morning_heating_living_room], alarm pre morning blanket [automation.alarm_pre_morning_blanket], and alarm pre morning lights [automation.alarm_pre_morning_lights]."
},
"human_like": "When you go to sleep, this turns on the automations that will prepare your bedroom, living room heating, blanket, and lights for the morning alarm.",
"complexity": "low"
}
},
{
"id": "'Sleeping: Asleep Blanket'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from off to on. CONDITIONS: plug5 power [switch.plug5_power] is on. ACTIONS: Turn off plug5 power [switch.plug5_power].",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] is turned on.",
"conditions": "If the plug5 power [switch.plug5_power] is currently on.",
"action": "Turns off the plug5 power [switch.plug5_power]."
},
"human_like": "Turns off the bedroom blanket when the sleeping state is activated.",
"complexity": "low"
}
},
{
"id": "'Sleeping: Asleep Heating'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from off to on. CONDITIONS: None. ACTIONS: Turn off All climate entities [all].",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] is turned on.",
"conditions": "There are no conditions that must be met.",
"action": "Turns off all climate control devices."
},
"human_like": "Turns off the heating when the system indicates someone is asleep.",
"complexity": "low"
}
},
{
"id": "'Sleeping: Asleep Media Volumes'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from off to on. CONDITIONS: None. ACTIONS: Set volume to 0.15 for bathroom mini [media_player.bathroom_mini], guest room mini [media_player.guest_room_mini], speaker [media_player.speaker], and living room display [media_player.living_room_display].",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] is turned on.",
"conditions": "There are no conditions that must be met.",
"action": "Sets the volume level to 15% for the bathroom mini [media_player.bathroom_mini], guest room mini [media_player.guest_room_mini], speaker [media_player.speaker], and living room display [media_player.living_room_display]."
},
"human_like": "Lowers the volume on all media players when the sleeping mode is activated.",
"complexity": "low"
}
},
{
"id": "'Sleeping: Asleep Rain Warning'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from off to on. CONDITIONS: living room window sensor contact [binary_sensor.living_room_window_sensor_contact] is open (on) AND weather pirateweather [weather.pirateweather] is rainy. ACTIONS: Send a notification to mobile_app_rafs_phone with title 'Rain warning' and message 'May rain overnight, window is open'.",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] is turned on, indicating the user has gone to sleep.",
"conditions": "The living room window sensor contact [binary_sensor.living_room_window_sensor_contact] reports the window is open, and the weather pirateweather [weather.pirateweather] reports rainy conditions.",
"action": "Sends a push notification to the user's phone with a warning that it may rain overnight and the window is open."
},
"human_like": "Sends a rain warning to your phone if you go to sleep while the living room window is open and the weather is rainy.",
"complexity": "low"
}
},
{
"id": "'Light: Guest Room Motion Off'",
"result": {
"structured": "TRIGGER: When guest room motion sensor occupancy [binary_sensor.guest_room_motion_sensor_occupancy] changes from on to off AND remains off for 10 minutes. CONDITIONS: guest room light [light.guest_room] is on. ACTIONS: Turn off guest room light [light.guest_room].",
"natural_language": {
"trigger": "When the guest room motion sensor occupancy [binary_sensor.guest_room_motion_sensor_occupancy] stops detecting motion and remains inactive for 10 minutes.",
"conditions": "If the guest room light [light.guest_room] is currently turned on.",
"action": "Turns off the guest room light [light.guest_room]."
},
"human_like": "Automatically turns off the guest room light 10 minutes after motion is no longer detected, but only if the light is on.",
"complexity": "low"
}
},
{
"id": "'Light: Guest Room No Motion'",
"result": {
"structured": "TRIGGER: When guest room light [light.guest_room] changes from off to on AND remains on for 10 minutes. CONDITIONS: guest room motion sensor occupancy [binary_sensor.guest_room_motion_sensor_occupancy] is off AND remains off for 5 minutes. ACTIONS: Turn off guest room light [light.guest_room].",
"natural_language": {
"trigger": "When the guest room light [light.guest_room] is turned on and stays on for 10 minutes.",
"conditions": "If the guest room motion sensor occupancy [binary_sensor.guest_room_motion_sensor_occupancy] reports no motion and has remained in that state for 5 minutes.",
"action": "Turns off the guest room light [light.guest_room]."
},
"human_like": "Automatically turns off the guest room light after 10 minutes if no motion is detected in the room for 5 minutes, preventing lights from being left on in an empty room.",
"complexity": "low"
}
},
{
"id": "'Light: Hallway Motion On'",
"result": {
"structured": "TRIGGER: When bathroom door sensor contact [binary_sensor.bathroom_door_sensor_contact] changes state (from on OR off to on OR off) OR When bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] changes state (from on OR off to on OR off) OR When front door sensor contact [binary_sensor.front_door_sensor_contact] changes state (from on OR off to on OR off) OR When guest room door sensor contact [binary_sensor.guest_room_door_sensor_contact] changes state (from on OR off to on OR off) OR When living room door sensor contact [binary_sensor.living_room_door_sensor_contact] changes state (from on OR off to on OR off) OR When bathroom light [light.bathroom] changes state (from on OR off to on OR off) OR When guest room light [light.guest_room] changes state (from on OR off to on OR off). CONDITIONS: sun sun [sun.sun] elevation is less than or equal to sunset elevation [input_number.sunset_elevation] AND hallway 2 light [light.hallway_2] brightness is less than or equal to 3. ACTIONS: Turn on hallway 2 light [light.hallway_2] with brightness 3, then wait 15 seconds, then if hallway 2 light [light.hallway_2] brightness is still less than or equal to 3, turn off hallway 2 light [light.hallway_2].",
"natural_language": {
"trigger": "The automation is triggered by any state change on several door sensors or lights. This includes the bathroom door sensor contact [binary_sensor.bathroom_door_sensor_contact], bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact], front door sensor contact [binary_sensor.front_door_sensor_contact], guest room door sensor contact [binary_sensor.guest_room_door_sensor_contact], living room door sensor contact [binary_sensor.living_room_door_sensor_contact], bathroom light [light.bathroom], or guest room light [light.guest_room].",
"conditions": "Two conditions must be met: first, it must be dark, which is determined by checking if the sun's elevation [sun.sun] is at or below the configured sunset elevation [input_number.sunset_elevation]. Second, the hallway 2 light [light.hallway_2] must be dim or off, specifically with a brightness of 3 or less.",
"action": "The automation turns on the hallway 2 light [light.hallway_2] to a low brightness of 3. After a 15-second delay, it checks if the light's brightness is still 3 or less. If it is, the automation turns the hallway 2 light off."
},
"human_like": "Turns on the hallway light briefly when activity is detected in connected rooms and it's dark, providing a temporary guiding light.",
"complexity": "medium"
}
},
{
"id": "'Light: Living Room Sunset'",
"result": {
"structured": "TRIGGER: When sun sun [sun.sun] elevation is less than or equal to sunset elevation [input_number.sunset_elevation] OR When hue motion sensor 1 illuminance [sensor.hue_motion_sensor_1_illuminance] is below 400 lux for 10 minutes. CONDITIONS: Time is after 14:30:00 AND at home state [input_boolean.at_home] is on AND living room light [light.living_room] is off AND NOT (lg tv [media_player.lg_tv] source is Apple TV OR Prime Video OR BBC iPlayer OR Netflix OR Disney+ OR Plex OR ITVX). ACTIONS: Turn on scene.living_room_evening [scene.living_room_evening] if lg tv [media_player.lg_tv] is off, otherwise turn on scene.living_room_evening_tv [scene.living_room_evening_tv], with a transition time of 300 seconds.",
"natural_language": {
"trigger": "The automation triggers either when the sun's elevation falls below a configured sunset threshold, or when the light level in the living room, measured by the hue motion sensor 1 illuminance [sensor.hue_motion_sensor_1_illuminance], stays below 400 lux for 10 minutes.",
"conditions": "All of the following must be true: it is after 2:30 PM, the at home state [input_boolean.at_home] is set to on, the living room light [light.living_room] is currently off, and the LG TV [media_player.lg_tv] is not playing content from any of the specified streaming services (Apple TV, Prime Video, BBC iPlayer, Netflix, Disney+, Plex, or ITVX).",
"action": "Activates an evening lighting scene in the living room. If the LG TV [media_player.lg_tv] is off, it turns on the living room evening scene [scene.living_room_evening]. If the TV is on, it instead turns on the living room evening tv scene [scene.living_room_evening_tv]. The lights transition to the new scene over 5 minutes."
},
"human_like": "Turns on cozy evening lights in the living room at sunset or when it gets dark, but only if someone is home, the main light is off, and the TV isn't streaming.",
"complexity": "medium"
}
},
{
"id": "'Sleeping: Awake Automations State'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from on to off. CONDITIONS: None. ACTIONS: Turn off alarm pre morning heating bedroom [automation.alarm_pre_morning_heating_bedroom], alarm pre morning heating living room [automation.alarm_pre_morning_heating_living_room], alarm pre morning blanket [automation.alarm_pre_morning_blanket], and alarm pre morning lights [automation.alarm_pre_morning_lights].",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] changes from on to off, indicating the user is awake.",
"conditions": "There are no additional conditions that must be met.",
"action": "Disables a set of morning-related automations by turning off alarm pre morning heating bedroom [automation.alarm_pre_morning_heating_bedroom], alarm pre morning heating living room [automation.alarm_pre_morning_heating_living_room], alarm pre morning blanket [automation.alarm_pre_morning_blanket], and alarm pre morning lights [automation.alarm_pre_morning_lights]."
},
"human_like": "Disables the morning heating, blanket, and light automations when you wake up.",
"complexity": "low"
}
},
{
"id": "'Sleeping: Awake Heating'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from on to off. CONDITIONS: plug5 power [switch.plug5_power] is on OR electric blanket morning [input_boolean.electric_blanket_morning] is on. ACTIONS: Turn off plug5 power [switch.plug5_power] AND turn off electric blanket morning [input_boolean.electric_blanket_morning].",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] changes from on to off, indicating the user is no longer asleep.",
"conditions": "If either the plug5 power [switch.plug5_power] is currently on, or the electric blanket morning [input_boolean.electric_blanket_morning] is currently on.",
"action": "Turns off the plug5 power [switch.plug5_power] and also turns off the electric blanket morning [input_boolean.electric_blanket_morning]."
},
"human_like": "Turns off bedroom heating devices when you wake up, ensuring they are not left on unnecessarily.",
"complexity": "low"
}
},
{
"id": "'Sleeping: Awake Heating'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from on to off. CONDITIONS: bedroom heater [climate.bedroom_heater] is in heat mode. ACTIONS: Turn off bedroom heater [climate.bedroom_heater].",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] changes from 'on' to 'off', indicating the user is awake.",
"conditions": "The bedroom heater [climate.bedroom_heater] must currently be in heating mode.",
"action": "Turn off the bedroom heater [climate.bedroom_heater]."
},
"human_like": "Turns off the bedroom heater when you wake up, provided it was heating.",
"complexity": "low"
}
},
{
"id": "'Sleeping: Awake Lights'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from on to off. CONDITIONS: None. ACTIONS: Turn off adaptive lighting sleep mode bathroom [switch.adaptive_lighting_sleep_mode_bathroom]. Turn on bedside lamp [light.bedside_lamp] to 100% brightness with a 60-second transition. Wait for 1 hour. Turn off bedroom light [light.bedroom].",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] changes from being on to off, indicating the user is now awake.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "Turns off the adaptive lighting sleep mode for the bathroom [switch.adaptive_lighting_sleep_mode_bathroom], turns on the bedside lamp [light.bedside_lamp] to full brightness with a slow 60-second fade-in, waits for one hour, and then turns off the main bedroom light [light.bedroom]."
},
"human_like": "When you stop sleeping, this automation turns on a bedside lamp for an hour and then turns off the main bedroom light, while also disabling the bathroom's sleep lighting mode.",
"complexity": "low"
}
},
{
"id": "'Sleeping: Awake Media Volumes'",
"result": {
"structured": "TRIGGER: When sleeping state [input_boolean.sleeping] changes from on to off. CONDITIONS: None. ACTIONS: Set volume of bathroom mini [media_player.bathroom_mini] and guest room mini [media_player.guest_room_mini] to 0.3. Set volume of speaker [media_player.speaker] to 0.45. Set volume of living room display [media_player.living_room_display] to 0.35.",
"natural_language": {
"trigger": "When the sleeping state [input_boolean.sleeping] changes from on to off, indicating the household is no longer in sleep mode.",
"conditions": "There are no conditions that must be met.",
"action": "Sets the volume for several media players to predefined 'awake' levels: the bathroom mini [media_player.bathroom_mini] and guest room mini [media_player.guest_room_mini] to 30%, the speaker [media_player.speaker] to 45%, and the living room display [media_player.living_room_display] to 35%."
},
"human_like": "Restores normal media player volumes when the household wakes up from sleep mode.",
"complexity": "low"
}
},
{
"id": "'Presence: Away Heating'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from on to off. CONDITIONS: None. ACTIONS: Turn off all climate entities [all].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes from 'on' to 'off'.",
"conditions": "There are no additional conditions that must be met.",
"action": "Turns off all climate entities [all]."
},
"human_like": "Turns off the heating when the house is set to 'away' mode.",
"complexity": "low"
}
},
{
"id": "'Presence: Away Lights'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from on to off. CONDITIONS: None. ACTIONS: Turn off all lights [all].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes from 'on' to 'off', indicating the home is now unoccupied.",
"conditions": "There are no additional conditions that must be met.",
"action": "Turns off all lights [all] in the home."
},
"human_like": "Turns off all the lights when the system detects that you have left home.",
"complexity": "low"
}
},
{
"id": "'Vacuum: Away Schedule'",
"result": {
"structured": "TRIGGER: At 15:00:00. CONDITIONS: (Weekday is Monday OR Wednesday OR Friday) AND (at home state [input_boolean.at_home] is off) AND (robovac last run [sensor.robovac_last_run] is above 0). ACTIONS: Start robovac vacuum [vacuum.robovac].",
"natural_language": {
"trigger": "At 3:00 PM.",
"conditions": "If it is a Monday, Wednesday, or Friday, the at home state [input_boolean.at_home] is off (meaning no one is home), and the robovac last run [sensor.robovac_last_run] sensor shows a value greater than 0 (indicating the vacuum has run before).",
"action": "Starts the robovac vacuum [vacuum.robovac]."
},
"human_like": "Automatically starts the robot vacuum on weekday afternoons when nobody is home and it hasn't run yet today.",
"complexity": "medium"
}
},
{
"id": "'Presence: Away Set Away'",
"result": {
"structured": "TRIGGER: When all people group [group.all_people] changes from home to any other state AND remains in that state for 5 minutes. ACTIONS: Turn off at home state [input_boolean.at_home].",
"natural_language": {
"trigger": "When the group tracking all people [group.all_people] changes from being at home to a different state and stays in that non-home state for five minutes.",
"conditions": "There are no additional conditions for this automation.",
"action": "Sets the home's presence state to away by turning off the at home state [input_boolean.at_home]."
},
"human_like": "Sets the house to 'away' mode when everyone has been gone for five minutes.",
"complexity": "low"
}
},
{
"id": "'Presence: Away Update GPS Lynn'",
"result": {
"structured": "TRIGGER: When lynns phone wifi tracker [device_tracker.lynns_phone_wifi] changes from 'home' AND remains away for 10 minutes. CONDITIONS: None. ACTIONS: Execute Update Location Lynn Script [script.update_location_lynn].",
"natural_language": {
"trigger": "When Lynn's phone disconnects from the home Wi-Fi and remains disconnected for 10 minutes.",
"conditions": "There are no additional conditions.",
"action": "The system runs the 'Update Location Lynn' script to request a GPS location update."
},
"human_like": "Requests a fresh GPS location for Lynn if her phone stays disconnected from home Wi-Fi for 10 minutes.",
"complexity": "low"
}
},
{
"id": "'Presence: Away Update GPS Raf'",
"result": {
"structured": "TRIGGER: When rafs phone wifi tracker [device_tracker.rafs_phone_wifi] changes from home to any other state AND remains in that new state for 10 minutes. CONDITIONS: None. ACTIONS: Execute Update Location Raf Script [script.update_location_raf].",
"natural_language": {
"trigger": "When Raf's phone disconnects from the home WiFi network and stays disconnected for 10 minutes.",
"conditions": "There are no additional conditions for this automation.",
"action": "Runs the script named Update Location Raf Script [script.update_location_raf] to request a GPS location update."
},
"human_like": "Requests a fresh GPS location from Raf's phone if it has been disconnected from the home WiFi for 10 minutes.",
"complexity": "low"
}
},
{
"id": "'Presence: Away Vacuum'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from on to off. CONDITIONS: vacuum clean state [input_boolean.vacuum_clean] is on AND robovac last run [sensor.robovac_last_run] is above 0. ACTIONS: Start cleaning robovac vacuum [vacuum.robovac] AND turn off vacuum clean state [input_boolean.vacuum_clean].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes from being on to off, indicating the home is now unoccupied.",
"conditions": "If the vacuum clean state [input_boolean.vacuum_clean] is switched on, and the robovac last run [sensor.robovac_last_run] sensor reports a value greater than zero.",
"action": "Starts the robovac vacuum [vacuum.robovac] to begin cleaning and then turns off the vacuum clean state [input_boolean.vacuum_clean]."
},
"human_like": "Automatically starts the robot vacuum when everyone leaves the house, but only if a cleaning is scheduled and the vacuum has run before.",
"complexity": "low"
}
},
{
"id": "'Presence: Away Vacuum Notification'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from on to off. CONDITIONS: (presence away vacuum notification automation [automation.presence_away_vacuum_notification] has a numeric value above 0, where the value is calculated as the number of days since its last_triggered date) AND (vacuum clean state [input_boolean.vacuum_clean] is off) AND (robovac last run [sensor.robovac_last_run] has a numeric value above 0) AND (current time is on Saturday OR Sunday). ACTIONS: Set variables action_run and action_run_short. Send a notification to mobile_app_rafs_phone with title 'Start RoboVac Cleaning Session?' and message showing last run days, including two action buttons 'Quick' and 'Full'. Wait for 30 minutes for a mobile_app_notification_action event with action matching either action_run or action_run_short. If timeout occurs, stop. If an action is received, start robovac vacuum [vacuum.robovac]. If the received action matches action_run_short, delay for 30 minutes and then send robovac vacuum [vacuum.robovac] to return to base.",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes from on to off, indicating the home is now unoccupied.",
"conditions": "If the presence away vacuum notification automation [automation.presence_away_vacuum_notification] was last triggered more than zero days ago, the vacuum clean state [input_boolean.vacuum_clean] is off, the robovac last run [sensor.robovac_last_run] sensor shows a value greater than zero (meaning it has been at least a day since the last run), and the current day is either Saturday or Sunday.",
"action": "Sends a notification to a mobile phone asking if a cleaning session should start, offering 'Quick' or 'Full' options. It then waits up to 30 minutes for a response. If a response is received, it starts the robovac vacuum [vacuum.robovac]. If the 'Quick' option was selected, it runs the vacuum for 30 minutes before commanding it to return to its base."
},
"human_like": "When you leave home on a weekend and the vacuum hasn't run recently, it asks if you want to start a cleaning session and can run a short or full clean based on your reply.",
"complexity": "high"
}
},
{
"id": "'Travel: Back Automations State'",
"result": {
"structured": "TRIGGER: When away state [input_boolean.away] changes from on to off. CONDITIONS: None. ACTIONS: Turn on vacuum home schedule automation [automation.vacuum_home_schedule], vacuum away schedule automation [automation.vacuum_away_schedule], and presence home set at home automation [automation.presence_home_set_at_home].",
"natural_language": {
"trigger": "When the away state [input_boolean.away] changes from being on to off, indicating a return home.",
"conditions": "There are no additional conditions for this automation.",
"action": "Turns on three specific automations: the vacuum home schedule automation [automation.vacuum_home_schedule], the vacuum away schedule automation [automation.vacuum_away_schedule], and the presence home set at home automation [automation.presence_home_set_at_home]."
},
"human_like": "When you return home, this automation re-enables the vacuuming schedules and the presence detection system.",
"complexity": "low"
}
},
{
"id": "'Safety: Bathroom Humidity'",
"result": {
"structured": "TRIGGER: When bathroom sensor humidity [sensor.bathroom_sensor_humidity] is above 80% AND remains above 80% for 15 minutes. CONDITIONS: None. ACTIONS: Send a notification via notify.telegram_raf with a message containing 'High Humidity: ' followed by the name of the triggering entity.",
"natural_language": {
"trigger": "When the bathroom sensor humidity [sensor.bathroom_sensor_humidity] reads above 80% and stays above that level for 15 consecutive minutes.",
"conditions": "There are no additional conditions for this automation.",
"action": "Sends a Telegram notification to the user 'raf' with a message stating 'High Humidity: ' followed by the name of the sensor that triggered the alert."
},
"human_like": "Sends a warning notification if the bathroom humidity stays too high for 15 minutes.",
"complexity": "low"
}
},
{
"id": "'Media: Bathroom Off'",
"result": {
"structured": "TRIGGER: When bathroom light [light.bathroom] changes from on to off. CONDITIONS: bathroom mini [media_player.bathroom_mini] is playing. ACTIONS: Pause media on bathroom mini [media_player.bathroom_mini].",
"natural_language": {
"trigger": "When the bathroom light [light.bathroom] is turned off.",
"conditions": "If the bathroom mini speaker [media_player.bathroom_mini] is currently playing audio.",
"action": "Pauses the audio playback on the bathroom mini speaker [media_player.bathroom_mini]."
},
"human_like": "Pauses the bathroom speaker when the bathroom light is turned off, ensuring music stops when the room is vacated.",
"complexity": "low"
}
},
{
"id": "'Climate: Bedroom Door Open'",
"result": {
"structured": "TRIGGER: When bedroom heater [climate.bedroom_heater] remains in heat mode for 5 minutes. CONDITIONS: bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] is open (on). ACTIONS: Send a Telegram notification to 'telegram_raf' with the message 'Bedroom Heater is on with the door open'.",
"natural_language": {
"trigger": "When the bedroom heater [climate.bedroom_heater] has been set to heat mode for at least five minutes.",
"conditions": "If the bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] reports that the door is open.",
"action": "Sends a notification via Telegram to the user 'raf' with a message stating that the bedroom heater is on while the door is open."
},
"human_like": "Sends a notification if the bedroom heater has been running for five minutes while the bedroom door is open, to alert about potential energy waste.",
"complexity": "low"
}
},
{
"id": "'Climate: Bedroom Heater Morning'",
"result": {
"structured": "TRIGGER: At 07:30:00. CONDITIONS: sleeping state [input_boolean.sleeping] is on AND (current_temperature of bedroom heater [climate.bedroom_heater] is less than its target temperature). ACTIONS: Turn on bedroom heater [climate.bedroom_heater].",
"natural_language": {
"trigger": "The automation triggers daily at 7:30 AM.",
"conditions": "The sleeping state [input_boolean.sleeping] must be on, indicating someone is asleep. Additionally, the current temperature reported by the bedroom heater [climate.bedroom_heater] must be lower than its set target temperature.",
"action": "Turns on the bedroom heater [climate.bedroom_heater]."
},
"human_like": "Turns on the bedroom heater at 7:30 AM if someone is sleeping and the room is colder than the desired temperature.",
"complexity": "medium"
}
},
{
"id": "'Switch: Bedroom'",
"result": {
"structured": "TRIGGER: When bedroom switch action [sensor.bedroom_switch_action] changes to 'on' OR when bedroom switch action [sensor.bedroom_switch_action] changes to 'off'. CONDITIONS: None. ACTIONS: Call service 'light.turn_{{trigger.to_state.state}}' on ceiling 3 light [light.ceiling_3].",
"natural_language": {
"trigger": "When the bedroom switch action [sensor.bedroom_switch_action] reports a new state of either 'on' or 'off'.",
"conditions": "There are no conditions that must be met.",
"action": "Turns the ceiling 3 light [light.ceiling_3] on or off, matching the state reported by the switch ('on' or 'off')."
},
"human_like": "Toggles the bedroom ceiling light on or off to match the state of the wall switch.",
"complexity": "low"
}
},
{
"id": "'Security: Blink Disarmed'",
"result": {
"structured": "TRIGGER: When blink rafs flat alarm [alarm_control_panel.blink_rafs_flat] remains disarmed for 20 minutes OR When blink rafs flat alarm [alarm_control_panel.blink_rafs_flat] remains disarmed for 40 minutes OR When blink rafs flat alarm [alarm_control_panel.blink_rafs_flat] remains disarmed for 60 minutes. CONDITIONS: None. ACTIONS: Set variable 'action_arm' to 'BLINK_ARM_' concatenated with the automation context ID. Send a notification to mobile_app_rafs_phone with title 'Arm Blink?' and a message stating the system has been disarmed for the trigger duration in minutes. The notification includes an action button with title 'Arm' and the action value from the variable. Wait for a mobile_app_notification_action event with the matching action value for up to 30 minutes. If the action is received, then call the service alarm_control_panel.alarm_arm_away on blink rafs flat alarm [alarm_control_panel.blink_rafs_flat].",
"natural_language": {
"trigger": "When the blink rafs flat alarm [alarm_control_panel.blink_rafs_flat] has been in the disarmed state for 20 minutes, 40 minutes, or 60 minutes.",
"conditions": "There are no conditions to check.",
"action": "The automation creates a unique action identifier, then sends a notification to the user's phone asking if they want to arm the system, showing how long it has been disarmed. It waits for the user to tap the 'Arm' button in the notification for up to 30 minutes. If the user responds, it arms the blink rafs flat alarm [alarm_control_panel.blink_rafs_flat] to 'away' mode."
},
"human_like": "Sends a reminder notification to arm the Blink security system after it has been disarmed for a while, and arms it automatically if the user confirms.",
"complexity": "medium"
}
},
{
"id": "'Light: Living Room Bright Sun'",
"result": {
"structured": "TRIGGER: When hue motion sensor 1 illuminance [sensor.hue_motion_sensor_1_illuminance] remains above 600 lux for 10 minutes. CONDITIONS: (Current time is between 05:00:00 and 14:30:00) AND (at home state [input_boolean.at_home] is on) AND (The number of days since light living room bright sun automation [automation.light_living_room_bright_sun] was last triggered is greater than 0) AND (desk area light [light.desk_area] is on). ACTIONS: Turn off desk area light [light.desk_area].",
"natural_language": {
"trigger": "When the hue motion sensor 1 illuminance [sensor.hue_motion_sensor_1_illuminance] reports a brightness level above 600 lux for a continuous period of 10 minutes.",
"conditions": "The automation only runs if the current time is between 5:00 AM and 2:30 PM, the at home state [input_boolean.at_home] is set to on, the desk area light [light.desk_area] is currently on, and at least one full day has passed since this specific automation was last triggered.",
"action": "Turns off the desk area light [light.desk_area]."
},
"human_like": "Automatically turns off the living room desk light during daylight hours if it's bright enough outside and someone is home, but only once per day.",
"complexity": "medium"
}
},
{
"id": "'System: Certificate Expiry'",
"result": {
"structured": "TRIGGER: At 09:00:00 daily. CONDITIONS: (The number of days between the date from cert expiry home assistant [sensor.cert_expiry_home_assistant] and the current date from date sensor [sensor.date] is less than 7). ACTIONS: Send a Telegram notification to notify.telegram_raf with the message 'Home Assistant Certificate Expiring On: [current state of the trigger entity]'.",
"natural_language": {
"trigger": "Every day at 9:00 AM.",
"conditions": "If the Home Assistant certificate expiry date, as reported by cert expiry home assistant [sensor.cert_expiry_home_assistant], is less than seven days away from the current date reported by date sensor [sensor.date].",
"action": "Sends a notification via Telegram to the recipient 'raf' with a message stating the certificate's expiry date."
},
"human_like": "Sends a Telegram alert when the Home Assistant SSL certificate is due to expire within a week.",
"complexity": "medium"
}
},
{
"id": "'System: Certificate Renew'",
"result": {
"structured": "TRIGGER: At 03:00:00 daily. CONDITIONS: The number of days between the certificate expiry date (from cert expiry home assistant [sensor.cert_expiry_home_assistant]) and today's date (from date sensor [sensor.date]) is less than 30. ACTIONS: Start the Home Assistant addon core_letsencrypt.",
"natural_language": {
"trigger": "Every day at 3:00 AM.",
"conditions": "If the certificate's expiry date, as reported by the cert expiry home assistant [sensor.cert_expiry_home_assistant] sensor, is less than 30 days away from the current date, as reported by the date sensor [sensor.date].",
"action": "Triggers the renewal process by starting the 'core_letsencrypt' Home Assistant addon."
},
"human_like": "Automatically renews the SSL certificate when it is due to expire within the next 30 days.",
"complexity": "medium"
}
},
{
"id": "'Keyboard Remote: Chromecast Forward'",
"result": {
"structured": "TRIGGER: When a keyboard remote command with key code 208 is received from device 'flirc.tv flirc Keyboard'. CONDITIONS: (lg tv [media_player.lg_tv] attribute 'source' is 'Chromecast') AND (living room tv [media_player.living_room_tv] is NOT off). ACTIONS: Execute script Media Seek Script [script.media_seek] with data: seek_amount 15, media_player media_player.living_room_tv.",
"natural_language": {
"trigger": "When the forward button (key code 208) on the 'flirc.tv flirc Keyboard' remote is pressed.",
"conditions": "If the lg tv [media_player.lg_tv] is set to the 'Chromecast' source, and the living room tv [media_player.living_room_tv] is not turned off.",
"action": "Seeks forward by 15 seconds on the living room tv [media_player.living_room_tv] using the Media Seek Script [script.media_seek]."
},
"human_like": "When the forward button on the keyboard remote is pressed while the TV is on Chromecast, it skips forward 15 seconds on the living room TV.",
"complexity": "medium"
}
},
{
"id": "'Keyboard Remote: Chromecast Rewind'",
"result": {
"structured": "TRIGGER: When a keyboard remote command is received from device 'flirc.tv flirc Keyboard' with key code 168. CONDITIONS: lg tv [media_player.lg_tv] source attribute is 'Chromecast' AND living room tv [media_player.living_room_tv] is NOT off. ACTIONS: Execute script.media_seek [script.media_seek] with data: seek_amount -15, media_player media_player.living_room_tv.",
"natural_language": {
"trigger": "When the rewind button (key code 168) is pressed on the 'flirc.tv flirc Keyboard' remote.",
"conditions": "The source of the lg tv [media_player.lg_tv] must be set to 'Chromecast', and the living room tv [media_player.living_room_tv] must not be turned off.",
"action": "Rewind the media playing on the living room tv [media_player.living_room_tv] by 15 seconds using the Media Seek Script [script.media_seek]."
},
"human_like": "Rewinds the Chromecast video by 15 seconds when the rewind button is pressed on the remote, but only if the TV is on and set to the Chromecast input.",
"complexity": "medium"
}
},
{
"id": "'Media: Notification Clear'",
"result": {
"structured": "TRIGGER: When any of the following media players changes state to 'off': speaker [media_player.speaker], bedroom tv [media_player.bedroom_tv], bedroom display [media_player.bedroom_display], bathroom mini [media_player.bathroom_mini], home group [media_player.home_group], living room display [media_player.living_room_display] OR when spotify raf [media_player.spotify_raf] changes state to 'idle'. CONDITIONS: person raf [person.raf] is home. ACTIONS: Send a command to joaoapps_join.rafs_phone_send_tasker with the data command: 'homemedia=:=clear=:=' concatenated with the object_id of the triggering entity's state.",
"natural_language": {
"trigger": "When any of the specified media players (speaker [media_player.speaker], bedroom tv [media_player.bedroom_tv], bedroom display [media_player.bedroom_display], bathroom mini [media_player.bathroom_mini], home group [media_player.home_group], living room display [media_player.living_room_display]) stops playing and changes its state to 'off', or when the Spotify player for Raf [media_player.spotify_raf] becomes idle.",
"conditions": "The automation only runs if Raf [person.raf] is at home.",
"action": "Sends a clear notification command to Raf's phone via the Join service. The command includes a custom string that identifies which media player triggered the action."
},
"human_like": "Clears media notifications on Raf's phone when media playback stops on any device and Raf is at home.",
"complexity": "medium"
}
},
{
"id": "'Calendar: Contacts Event'",
"result": {
"structured": "TRIGGER: When an event starts on Birthdays Calendar [calendar.birthdays]. CONDITIONS: None. ACTIONS: First, retrieve events from Birthdays Calendar [calendar.birthdays] for the next 24 hours and store them in variable 'agenda'. Then, send a notification to mobile_app_rafs_phone with title 'Someone's birthday!' and a message listing each event's summary and description from the retrieved agenda.",
"natural_language": {
"trigger": "When an event begins on the Birthdays Calendar [calendar.birthdays].",
"conditions": "There are no conditions for this automation.",
"action": "The automation first fetches all events scheduled on the Birthdays Calendar [calendar.birthdays] for the next 24 hours. It then sends a notification to the user's phone with the title 'Someone's birthday!' and a message that lists the summary and description of each of those upcoming events."
},
"human_like": "Sends a phone notification with details of upcoming birthday events when a calendar event starts.",
"complexity": "medium"
}
},
{
"id": "'Security: Door Open'",
"result": {
"structured": "TRIGGER: When front door sensor contact [binary_sensor.front_door_sensor_contact] changes from closed (off) to open (on). CONDITIONS: at home state [input_boolean.at_home] is off. ACTIONS: Send a Telegram notification to 'telegram_raf' with the message 'Alert: Front door has been opened'.",
"natural_language": {
"trigger": "When the front door sensor contact [binary_sensor.front_door_sensor_contact] opens, changing its state from closed to open.",
"conditions": "The automation only proceeds if the at home state [input_boolean.at_home] is set to off, indicating the house is in 'away' mode.",
"action": "Sends an alert notification via Telegram to the user 'raf' with the message 'Alert: Front door has been opened'."
},
"human_like": "Sends a security alert when the front door is opened while the house is in away mode.",
"complexity": "low"
}
},
{
"id": "'Security: Door Open Long'",
"result": {
"structured": "TRIGGER: When front door sensor contact [binary_sensor.front_door_sensor_contact] changes from closed (off) to open (on) AND remains open for 15 minutes. CONDITIONS: None. ACTIONS: Send a notification via notify.telegram_raf with the message 'Front Door has been open for 15+ minutes'.",
"natural_language": {
"trigger": "When the front door sensor contact [binary_sensor.front_door_sensor_contact] opens and stays open for at least 15 minutes.",
"conditions": "There are no additional conditions for this automation.",
"action": "Sends a Telegram notification to the user 'raf' with a message stating that the front door has been open for 15 minutes or more."
},
"human_like": "Sends a security alert if the front door is left open for more than 15 minutes.",
"complexity": "low"
}
},
{
"id": "'Climate: Electric Blanket on Morning'",
"result": {
"structured": "TRIGGER: When plug5 power [switch.plug5_power] changes from off to on AND remains on for 10 minutes. CONDITIONS: The current time is between 21:00:00 and 03:00:00. ACTIONS: Turn on electric blanket morning [input_boolean.electric_blanket_morning].",
"natural_language": {
"trigger": "When the plug5 power [switch.plug5_power] is turned on and stays on for at least 10 minutes.",
"conditions": "The automation only runs if the current time is between 9:00 PM and 3:00 AM.",
"action": "Turns on the electric blanket morning [input_boolean.electric_blanket_morning]."
},
"human_like": "Turns on a morning indicator for the electric blanket when it's switched on overnight for a sustained period.",
"complexity": "low"
}
},
{
"id": "'Climate: Electric Blanket on Time'",
"result": {
"structured": "TRIGGER: When plug5 power [switch.plug5_power] changes from off to on and remains on for 20 minutes. CONDITIONS: None. ACTIONS: Turn off plug5 power [switch.plug5_power].",
"natural_language": {
"trigger": "When the plug5 power [switch.plug5_power] is turned on and stays on for 20 minutes.",
"conditions": "There are no additional conditions.",
"action": "Turns off the plug5 power [switch.plug5_power]."
},
"human_like": "Turns off the electric blanket after it has been on for 20 minutes to prevent it from running too long.",
"complexity": "low"
}
},
{
"id": "vacuum_error",
"result": {
"structured": "TRIGGER: When robovac vacuum [vacuum.robovac] enters the 'error' state AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Send a notification via notify.telegram_raf with the message 'Vacuum has an error'.",
"natural_language": {
"trigger": "When the robovac vacuum [vacuum.robovac] enters an error state and stays in that state for at least five minutes.",
"conditions": "There are no additional conditions.",
"action": "Sends a Telegram notification to the user 'raf' with the message 'Vacuum has an error'."
},
"human_like": "Sends an alert if the robot vacuum has been stuck in an error state for five minutes.",
"complexity": "low"
}
},
{
"id": "'Climate: Evening Heating Bedroom'",
"result": {
"structured": "TRIGGER: At 23:30:00. CONDITIONS: at home state [input_boolean.at_home] is on AND current temperature of bedroom heater [climate.bedroom_heater] is less than its target temperature. ACTIONS: Turn on bedroom heater [climate.bedroom_heater].",
"natural_language": {
"trigger": "At 11:30 PM.",
"conditions": "If the at home state [input_boolean.at_home] is on, and the current temperature of the bedroom heater [climate.bedroom_heater] is lower than its set target temperature.",
"action": "Turns on the bedroom heater [climate.bedroom_heater]."
},
"human_like": "Turns on the bedroom heater at 11:30 PM if someone is home and the room is colder than desired.",
"complexity": "medium"
}
},
{
"id": "'Climate: Evening Heating Living Room'",
"result": {
"structured": "TRIGGER: At 21:30:00. CONDITIONS: at home state [input_boolean.at_home] is on AND living room heater [climate.living_room_heater] is in heat mode. ACTIONS: Turn off living room heater [climate.living_room_heater].",
"natural_language": {
"trigger": "At 9:30 PM.",
"conditions": "If the at home state [input_boolean.at_home] is on, and the living room heater [climate.living_room_heater] is currently set to heat mode.",
"action": "Turns off the living room heater [climate.living_room_heater]."
},
"human_like": "Turns off the living room heater at 9:30 PM if someone is home and the heater is currently heating.",
"complexity": "low"
}
},
{
"id": "vacuum_finish_cleaning",
"result": {
"structured": "TRIGGER: When robovac runtime today [sensor.robovac_runtime_today] is above 0.75. CONDITIONS: (The previous state of robovac runtime today [sensor.robovac_runtime_today] is not unknown, unavailable, or none) AND (The new state of robovac runtime today [sensor.robovac_runtime_today] is not unknown, unavailable, or none) AND (The previous state of robovac runtime today [sensor.robovac_runtime_today] is different from the new state). ACTIONS: Send robovac vacuum [vacuum.robovac] to dock.",
"natural_language": {
"trigger": "When the sensor tracking the vacuum's runtime today [sensor.robovac_runtime_today] exceeds 0.75.",
"conditions": "The automation only runs if the sensor's previous state was a valid number (not unknown, unavailable, or none), its new state is also a valid number, and the value has actually changed from the previous reading.",
"action": "Commands the robovac vacuum [vacuum.robovac] to return to its charging dock."
},
"human_like": "Sends the robot vacuum back to its dock when it has been cleaning for a sufficient amount of time.",
"complexity": "medium"
}
},
{
"id": "'Presence: Guest Mode Automations State'",
"result": {
"structured": "TRIGGER: When guest mode state [input_boolean.guest_mode] changes state (from on to off OR from off to on). CONDITIONS: None. ACTIONS: If the previous state was on, call service automation.turn_on for light guest room motion off automation [automation.light_guest_room_motion_off] and light guest room no motion automation [automation.light_guest_room_no_motion]. If the previous state was off, call service automation.turn_off for light guest room motion off automation [automation.light_guest_room_motion_off] and light guest room no motion automation [automation.light_guest_room_no_motion].",
"natural_language": {
"trigger": "Whenever the guest mode state [input_boolean.guest_mode] is toggled, either turned on or off.",
"conditions": "There are no additional conditions that must be met.",
"action": "Depending on the previous state of guest mode, it will either turn on or turn off two specific automations: the light guest room motion off automation [automation.light_guest_room_motion_off] and the light guest room no motion automation [automation.light_guest_room_no_motion]."
},
"human_like": "Toggles the guest room light automations on or off whenever guest mode is enabled or disabled.",
"complexity": "low"
}
},
{
"id": "'Switch: Guest Room'",
"result": {
"structured": "TRIGGER: When guest room switch action [sensor.guest_room_switch_action] changes to 'on' OR when guest room switch action [sensor.guest_room_switch_action] changes to 'off'. CONDITIONS: None. ACTIONS: Call service light.turn_{{trigger.to_state.state}} on ceiling 4 light [light.ceiling_4] (which will be either light.turn_on or light.turn_off depending on the trigger).",
"natural_language": {
"trigger": "When the guest room switch action [sensor.guest_room_switch_action] is pressed, reporting either an 'on' or an 'off' action.",
"conditions": "There are no conditions for this automation.",
"action": "Toggles the ceiling 4 light [light.ceiling_4] by calling a service that matches the switch action: turning the light on if the switch action was 'on', or turning it off if the switch action was 'off'."
},
"human_like": "Toggles the guest room ceiling light on or off when the guest room switch is pressed.",
"complexity": "low"
}
},
{
"id": "'Switch: Hallway'",
"result": {
"structured": "TRIGGER: When hallway switch action [sensor.hallway_switch_action] changes to 'single_left' OR when hallway switch action [sensor.hallway_switch_action] changes to 'single_right'. CONDITIONS: None. ACTIONS: Toggle hallway light [light.hallway] with brightness set to 100%.",
"natural_language": {
"trigger": "When the hallway switch action [sensor.hallway_switch_action] reports a single press on the left button or a single press on the right button.",
"conditions": "There are no additional conditions that must be met.",
"action": "Toggles the hallway light [light.hallway] on or off, setting its brightness to 100%."
},
"human_like": "Pressing either the left or right button once on the hallway switch toggles the hallway light at full brightness.",
"complexity": "low"
}
},
{
"id": "'Presence: Home Bathroom Lights'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from off to on. CONDITIONS: None. ACTIONS: Activate bathroom normal scene [scene.bathroom_normal].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes from off to on, indicating someone has arrived home.",
"conditions": "There are no additional conditions that must be met.",
"action": "Activates the bathroom normal scene [scene.bathroom_normal], turning on the bathroom lights to a preset level."
},
"human_like": "Turns on the bathroom lights to a normal preset when the home state changes to 'at home'.",
"complexity": "low"
}
},
{
"id": "'Presence: Home Bedroom Heater'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from off to on. CONDITIONS: The current time is between 21:30:00 and 05:30:00 AND the current temperature of bedroom heater [climate.bedroom_heater] is less than its target temperature. ACTIONS: Turn on bedroom heater [climate.bedroom_heater].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes from off to on, indicating someone has arrived home.",
"conditions": "The automation only runs if it is between 9:30 PM and 5:30 AM, and if the current temperature reported by the bedroom heater [climate.bedroom_heater] is lower than its set target temperature.",
"action": "Turns on the bedroom heater [climate.bedroom_heater]."
},
"human_like": "Turns on the bedroom heater in the evening or night when someone arrives home and the room is colder than desired.",
"complexity": "medium"
}
},
{
"id": "'Presence: Home Bedroom Lights'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from off to on. CONDITIONS: The sun's elevation [sun.sun] is less than or equal to the sunset elevation value [input_number.sunset_elevation]. ACTIONS: Activate the bedroom evening scene [scene.bedroom_evening].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes from off to on, indicating someone has arrived home.",
"conditions": "The automation only runs if the sun's current elevation [sun.sun] is at or below the configured sunset elevation threshold [input_number.sunset_elevation], meaning it is evening or later.",
"action": "Turns on the bedroom evening scene [scene.bedroom_evening] to set the bedroom lights appropriately."
},
"human_like": "Turns on the bedroom evening lights when someone arrives home after sunset.",
"complexity": "low"
}
},
{
"id": "'Presence: Home Check At Home'",
"result": {
"structured": "TRIGGER: When person raf [person.raf] is at home for 5 minutes OR when person lynn [person.lynn] is at home for 10 minutes. CONDITIONS: at home state [input_boolean.at_home] is off. ACTIONS: Set variable action_turn_on to 'AT_HOME_TURN_ON_' concatenated with the automation context ID. Send a notification to mobile_app_rafs_phone with title 'Detected 'at_home' is off' and a message showing the current states of person raf [person.raf] and person lynn [person.lynn], including an action button titled 'Turn On' that triggers the action_turn_on event. Wait for a mobile_app_notification_action event with action matching the action_turn_on variable for up to 30 minutes, and stop if the timeout is reached. If the action is received within the timeout, turn on at home state [input_boolean.at_home].",
"natural_language": {
"trigger": "When person raf [person.raf] has been detected at home for at least 5 minutes, or when person lynn [person.lynn] has been detected at home for at least 10 minutes.",
"conditions": "The at home state [input_boolean.at_home] must currently be off.",
"action": "The automation creates a unique action identifier, then sends a notification to Raf's phone stating that the 'at home' state is off and showing the current status of both people. The notification includes a button labeled 'Turn On'. The automation then waits for up to 30 minutes for Raf to press that button on the notification. If the button is pressed within that time, the automation turns on the at home state [input_boolean.at_home]. If the button is not pressed within 30 minutes, the automation stops and does not turn on the at home state."
},
"human_like": "Sends a phone notification to confirm and manually enable the 'at home' state when a person arrives home but the system hasn't been set to 'at home'.",
"complexity": "medium"
}
},
{
"id": "'Security: Home Disarm Blink'",
"result": {
"structured": "TRIGGER: When front door sensor contact [binary_sensor.front_door_sensor_contact] changes from closed (off) to open (on). CONDITIONS: person raf [person.raf] is home. ACTIONS: Disarm blink rafs flat alarm [alarm_control_panel.blink_rafs_flat]. Then wait for front door sensor contact [binary_sensor.front_door_sensor_contact] to be closed (off) for 5 minutes, with a timeout of 15 minutes (proceed on timeout). Then, while blink rafs flat alarm [alarm_control_panel.blink_rafs_flat] is disarmed AND the repeat loop has executed 11 times or fewer, repeatedly arm the alarm away and wait 2 minutes.",
"natural_language": {
"trigger": "When the front door sensor contact [binary_sensor.front_door_sensor_contact] opens.",
"conditions": "The person raf [person.raf] must be at home.",
"action": "First, disarm the blink rafs flat alarm [alarm_control_panel.blink_rafs_flat]. Then, wait for the front door to be closed for five minutes, but if that doesn't happen within fifteen minutes, continue anyway. After that, repeatedly attempt to arm the alarm to 'away' mode, pausing for two minutes between each attempt. This will be repeated up to 11 times, but will stop early if the alarm is no longer in a disarmed state."
},
"human_like": "Disarms the Blink alarm when Raf is home and the front door opens, then re-arms it after the door is closed or a timeout occurs.",
"complexity": "medium"
}
},
{
"id": "'Presence: Home Living Room Heater'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from off to on. CONDITIONS: The current time is between 05:30:00 and 21:30:00 AND the current temperature of living room heater [climate.living_room_heater] is less than its target temperature. ACTIONS: Turn on living room heater [climate.living_room_heater].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes to on, indicating someone has arrived home.",
"conditions": "The automation only runs if it is daytime, specifically between 5:30 AM and 9:30 PM, and if the current temperature reported by the living room heater [climate.living_room_heater] is lower than its set target temperature.",
"action": "Turns on the living room heater [climate.living_room_heater]."
},
"human_like": "Turns on the living room heater when someone arrives home during the day, but only if the room is colder than the desired temperature.",
"complexity": "medium"
}
},
{
"id": "'Presence: Home Living Room Lights'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from off to on. CONDITIONS: The sun's elevation [sun.sun] is less than or equal to the sunset elevation [input_number.sunset_elevation]. ACTIONS: Activate the living room evening scene [scene.living_room_evening].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] changes from off to on, indicating someone has arrived home.",
"conditions": "The sun's elevation [sun.sun] must be at or below the configured sunset elevation threshold [input_number.sunset_elevation], meaning it is evening or later.",
"action": "Turn on the living room evening scene [scene.living_room_evening] to set the appropriate lighting."
},
"human_like": "Turns on the evening lights in the living room when someone arrives home after sunset.",
"complexity": "low"
}
},
{
"id": "'Vacuum: Home Schedule'",
"result": {
"structured": "TRIGGER: At 18:15:00. CONDITIONS: (Day is Monday OR Wednesday OR Friday) AND (robovac last run [sensor.robovac_last_run] is above 0). ACTIONS: Start robovac vacuum [vacuum.robovac].",
"natural_language": {
"trigger": "Every day at 6:15 PM.",
"conditions": "The day must be a Monday, Wednesday, or Friday. Additionally, the sensor robovac last run [sensor.robovac_last_run] must have a value greater than 0, indicating the vacuum has run at least once before.",
"action": "Starts the cleaning cycle for the robovac vacuum [vacuum.robovac]."
},
"human_like": "Starts the robot vacuum on a scheduled cleaning time on Mondays, Wednesdays, and Fridays, but only if it has run at least once before.",
"complexity": "medium"
}
},
{
"id": "'Presence: Home Set At Home'",
"result": {
"structured": "TRIGGER: When front door sensor contact [binary_sensor.front_door_sensor_contact] changes from closed (off) to open (on) OR When all people group [group.all_people] changes to home. CONDITIONS: at home state [input_boolean.at_home] is off. ACTIONS: Turn on at home state [input_boolean.at_home].",
"natural_language": {
"trigger": "When the front door sensor contact [binary_sensor.front_door_sensor_contact] opens, or when the all people group [group.all_people] changes its state to 'home'.",
"conditions": "The automation only runs if the at home state [input_boolean.at_home] is currently off.",
"action": "Sets the home state to 'at home' by turning on the at home state [input_boolean.at_home]."
},
"human_like": "Sets the home to an 'at home' state when someone arrives, either by the front door opening or by a person tracker reporting home.",
"complexity": "low"
}
},
{
"id": "'Presence: Home Update GPS Lynn'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from off to on OR When front door motion sensor occupancy [binary_sensor.front_door_motion_sensor_occupancy] changes from off to on. CONDITIONS: (The time elapsed since test automation [automation.test_automation] was last triggered is greater than 15 minutes) AND (rafs flat lynn distance [sensor.rafs_flat_lynn_distance] is below 10.0) AND (person lynn [person.lynn] is NOT home). ACTIONS: Execute Update Location Lynn Script [script.update_location_lynn].",
"natural_language": {
"trigger": "When the at home state [input_boolean.at_home] switches from off to on, or when motion is detected at the front door by the front door motion sensor occupancy [binary_sensor.front_door_motion_sensor_occupancy].",
"conditions": "If more than 15 minutes have passed since the test automation [automation.test_automation] was last triggered, the distance reported by rafs flat lynn distance [sensor.rafs_flat_lynn_distance] is less than 10.0, and person lynn [person.lynn] is not currently at home.",
"action": "Runs the Update Location Lynn Script [script.update_location_lynn] to update Lynn's GPS location."
},
"human_like": "Updates Lynn's GPS location when the system detects potential arrival at home, provided she is nearby and not already marked as home.",
"complexity": "medium"
}
},
{
"id": "'Presence: Home Update GPS Raf'",
"result": {
"structured": "TRIGGER: When at home state [input_boolean.at_home] changes from off to on OR When front door motion sensor occupancy [binary_sensor.front_door_motion_sensor_occupancy] changes from off to on. CONDITIONS: (The time elapsed since test automation [automation.test_automation] was last triggered is greater than 15 minutes) AND (rafs flat raf distance [sensor.rafs_flat_raf_distance] is below 10.0) AND (person raf [person.raf] is NOT home). ACTIONS: Execute Update Location Raf Script [script.update_location_raf].",
"natural_language": {
"trigger": "The automation triggers when the at home state [input_boolean.at_home] switches from off to on, or when the front door motion sensor occupancy [binary_sensor.front_door_motion_sensor_occupancy] detects motion (changes from off to on).",
"conditions": "All of the following must be true: more than 15 minutes have passed since the test automation [automation.test_automation] was last triggered, the distance reported by rafs flat raf distance [sensor.rafs_flat_raf_distance] is less than 10.0, and person raf [person.raf] is not currently at home.",
"action": "Runs the Update Location Raf Script [script.update_location_raf]."
},
"human_like": "Updates Raf's GPS location when signs suggest they might be arriving home, but only if they are not already marked as home and are nearby.",
"complexity": "medium"
}
},
{
"id": "'Presence: Home WiFi Raf'",
"result": {
"structured": "TRIGGER: When person raf [person.raf] arrives home OR when at home state [input_boolean.at_home] changes from off to on. CONDITIONS: rafs phone wifi tracker [device_tracker.rafs_phone_wifi] is not_home. ACTIONS: Send a command to joaoapps_join.rafs_phone_send_tasker to turn on WiFi.",
"natural_language": {
"trigger": "When the person Raf [person.raf] arrives home, or when the at home state [input_boolean.at_home] is switched from off to on.",
"conditions": "The rafs phone wifi tracker [device_tracker.rafs_phone_wifi] must report that the phone is not connected to the home WiFi (state is not_home).",
"action": "Sends a command via the joaoapps_join service to Raf's phone to turn on its WiFi."
},
"human_like": "Turns on the WiFi on Raf's phone when he arrives home or when the home state is manually set, but only if his phone is not already connected to the home WiFi.",
"complexity": "medium"
}
},
{
"id": "'Switch: Kitchen'",
"result": {
"structured": "TRIGGER: When kitchen switch action [sensor.kitchen_switch_action] changes to single_left OR When kitchen switch action [sensor.kitchen_switch_action] changes to singe_right. CONDITIONS: None. ACTIONS: Toggle kitchen light [light.kitchen].",
"natural_language": {
"trigger": "When the kitchen switch action [sensor.kitchen_switch_action] reports a single press on the left side or a single press on the right side.",
"conditions": "There are no conditions that must be met.",
"action": "Toggles the kitchen light [light.kitchen] on or off."
},
"human_like": "Toggles the kitchen light when either the left or right button on the switch is pressed once.",
"complexity": "low"
}
},
{
"id": "'Vacuum: Last Run'",
"result": {
"structured": "TRIGGER: When robovac runtime today [sensor.robovac_runtime_today] is above 0.4. CONDITIONS: (trigger.from_state.state is not 'unknown' AND not 'unavailable' AND not 'none') AND (trigger.to_state.state is not 'unknown' AND not 'unavailable' AND not 'none') AND (trigger.from_state.state is not equal to trigger.to_state.state). ACTIONS: Set robovac last run datetime [input_datetime.robovac_last_run] date to the current date from date sensor [sensor.date].",
"natural_language": {
"trigger": "When the sensor tracking the vacuum's runtime today [sensor.robovac_runtime_today] exceeds 0.4.",
"conditions": "The automation only runs if the previous state of the runtime sensor was a valid, known value (not 'unknown', 'unavailable', or 'none'), the new state is also a valid, known value, and the state value has actually changed from the previous one.",
"action": "Updates the date of the 'robovac last run datetime' [input_datetime.robovac_last_run] to today's date, as reported by the date sensor [sensor.date]."
},
"human_like": "Records the date whenever the vacuum cleaner has been running, ensuring the last run date is kept up to date.",
"complexity": "medium"
}
},
{
"id": "'Keyboard Remote: LG TV Netflix Login'",
"result": {
"structured": "TRIGGER: When a keyboard remote command is received from device 'flirc.tv flirc Keyboard' with key code 83. CONDITIONS: The media source attribute of lg tv [media_player.lg_tv] is 'Netflix'. ACTIONS: Wait 100 milliseconds, then press the 'secret lg_tv_netflix_login_1' button on lg tv [media_player.lg_tv], wait 100 milliseconds, then press the 'secret lg_tv_netflix_login_2' button on lg tv [media_player.lg_tv], wait 100 milliseconds, then press the 'secret lg_tv_netflix_login_3' button on lg tv [media_player.lg_tv], wait 100 milliseconds, then press the 'secret lg_tv_netflix_login_4' button on lg tv [media_player.lg_tv].",
"natural_language": {
"trigger": "When the stop button (key code 83) is pressed on the 'flirc.tv flirc Keyboard' remote.",
"conditions": "The LG TV [media_player.lg_tv] must currently be set to the 'Netflix' input source.",
"action": "After a brief 100-millisecond delay, the automation sends a sequence of four secret button presses ('secret lg_tv_netflix_login_1', 'secret lg_tv_netflix_login_2', 'secret lg_tv_netflix_login_3', and 'secret lg_tv_netflix_login_4') to the LG TV [media_player.lg_tv], with a 100-millisecond delay between each press."
},
"human_like": "Automatically enters a Netflix login PIN on the LG TV when the stop button on a specific remote is pressed while Netflix is selected.",
"complexity": "low"
}
},
{
"id": "'TV: LG TV On'",
"result": {
"structured": "TRIGGER: When the LG TV [media_player.lg_tv] receives a turn on command. CONDITIONS: None. ACTIONS: Send a Wake-on-LAN magic packet to the device with the specified MAC address.",
"natural_language": {
"trigger": "When a command is received to turn on the LG TV [media_player.lg_tv].",
"conditions": "There are no conditions that must be met.",
"action": "Sends a Wake-on-LAN packet to the TV's network adapter to power it on."
},
"human_like": "Turns on the LG TV by sending a network wake-up signal when a power-on command is issued.",
"complexity": "low"
}
},
{
"id": "'Keyboard Remote: LG TV Play Pause'",
"result": {
"structured": "TRIGGER: When a keyboard remote command is received from device 'flirc.tv flirc Keyboard' with key code 164. CONDITIONS: The source attribute of lg tv [media_player.lg_tv] is 'Chromecast' OR 'Prime Video' OR 'Plex'. ACTIONS: Wait for 1 second, then toggle play/pause on lg tv [media_player.lg_tv].",
"natural_language": {
"trigger": "When the play/pause button (key code 164) is pressed on the 'flirc.tv flirc Keyboard' remote.",
"conditions": "If the lg tv [media_player.lg_tv] is currently set to one of the following sources: Chromecast, Prime Video, or Plex.",
"action": "After a one-second delay, the automation toggles the play/pause state of the lg tv [media_player.lg_tv]."
},
"human_like": "Uses a keyboard remote's play/pause button to control media playback on the TV when using specific streaming apps.",
"complexity": "low"
}
},
{
"id": "'Climate: Living Room Open Window'",
"result": {
"structured": "TRIGGER: When living room window sensor contact [binary_sensor.living_room_window_sensor_contact] changes from closed (off) to open (on) AND remains open for 1 minute. CONDITIONS: living room heater [climate.living_room_heater] is in heat mode. ACTIONS: Turn off living room heater [climate.living_room_heater].",
"natural_language": {
"trigger": "When the living room window sensor contact [binary_sensor.living_room_window_sensor_contact] opens and stays open for at least one minute.",
"conditions": "The living room heater [climate.living_room_heater] must currently be in heating mode.",
"action": "Turns off the living room heater [climate.living_room_heater]."
},
"human_like": "Turns off the living room heater when the window is opened for a minute to save energy.",
"complexity": "low"
}
},
{
"id": "'Climate: Living Room Window Open'",
"result": {
"structured": "TRIGGER: When living room heater [climate.living_room_heater] remains in heat mode for 1 minute. CONDITIONS: living room window sensor contact [binary_sensor.living_room_window_sensor_contact] is open (on). ACTIONS: Turn off living room heater [climate.living_room_heater].",
"natural_language": {
"trigger": "When the living room heater [climate.living_room_heater] has been set to heat mode for at least one minute.",
"conditions": "If the living room window sensor contact [binary_sensor.living_room_window_sensor_contact] reports that the window is open.",
"action": "Turns off the living room heater [climate.living_room_heater]."
},
"human_like": "Turns off the living room heater if it has been heating for a minute while the window is open, to prevent energy waste.",
"complexity": "low"
}
},
{
"id": "'Zone: Lynn Home'",
"result": {
"structured": "TRIGGER: When person lynn [person.lynn] changes state to home AND remains in that state for 10 seconds. CONDITIONS: (person raf [person.raf] is NOT home) AND (raf lynn distance [sensor.raf_lynn_distance] is greater than 1). ACTIONS: Send a notification titled 'Location Update' with message 'Lynn has arrived at home' to notify.mobile_app_rafs_phone.",
"natural_language": {
"trigger": "When person lynn [person.lynn] arrives home and stays there for at least 10 seconds.",
"conditions": "If person raf [person.raf] is not at home, and the distance between Raf and Lynn [sensor.raf_lynn_distance] is greater than 1.",
"action": "Sends a notification to Raf's phone with the title 'Location Update' and the message 'Lynn has arrived at home'."
},
"human_like": "Notifies Raf when Lynn arrives home, but only if Raf is not already there and they are more than 1 unit apart.",
"complexity": "medium"
}
},
{
"id": "'Button: Lynns PC Button'",
"result": {
"structured": "TRIGGER: When lynns pc button action [sensor.lynns_pc_button_action] changes to state 'single'. CONDITIONS: None. ACTIONS: Turn on lynns pc power [switch.lynns_pc_power].",
"natural_language": {
"trigger": "When the lynns pc button action [sensor.lynns_pc_button_action] reports a 'single' press.",
"conditions": "There are no conditions to check.",
"action": "Powers on the PC by turning on the lynns pc power [switch.lynns_pc_power] switch."
},
"human_like": "Turns on Lynn's PC when its associated button is pressed.",
"complexity": "low"
}
},
{
"id": "'Zone: Lynn Work'",
"result": {
"structured": "TRIGGER: When person lynn [person.lynn] changes state to Lynn's Work AND remains for 10 seconds OR When person lynn [person.lynn] changes state from Lynn's Work AND remains for 10 seconds. CONDITIONS: workday sensor [binary_sensor.workday_sensor] is on AND (NOT (time is after 11:00:00 AND before 15:00:00)). ACTIONS: Send a notification to mobile_app_rafs_phone with title 'Location Update' and message 'Lynn has {{ message_verb }} the office'.",
"natural_language": {
"trigger": "When person lynn [person.lynn] arrives at 'Lynn's Work' and stays there for at least 10 seconds, or when they leave 'Lynn's Work' and remain away for at least 10 seconds.",
"conditions": "The workday sensor [binary_sensor.workday_sensor] must be on, indicating it's a workday, and the current time must not be between 11:00:00 and 15:00:00.",
"action": "Sends a notification to the mobile app 'mobile_app_rafs_phone' with the title 'Location Update' and a message stating whether Lynn has arrived at or left the office."
},
"human_like": "Sends a notification when Lynn arrives at or leaves work during a workday, but not during the core midday hours.",
"complexity": "medium"
}
},
{
"id": "'Media: Max Volumes'",
"result": {
"structured": "TRIGGER: When volume_level attribute of bathroom mini [media_player.bathroom_mini] OR guest room mini [media_player.guest_room_mini] OR speaker [media_player.speaker] OR living room display [media_player.living_room_display] rises above 0.16 OR When volume_level attribute of bedroom display [media_player.bedroom_display] rises above 0.41. CONDITIONS: The media player's state after the trigger is not 'off' AND sleeping state [input_boolean.sleeping] is on. ACTIONS: Set the volume_level of the triggering media player to 0.15 (for the first trigger group) or 0.3 (for the second trigger group) as defined by the trigger variable 'volume'.",
"natural_language": {
"trigger": "The automation triggers when the volume level of the bathroom mini [media_player.bathroom_mini], guest room mini [media_player.guest_room_mini], speaker [media_player.speaker], or living room display [media_player.living_room_display] exceeds 16%, or when the volume level of the bedroom display [media_player.bedroom_display] exceeds 41%.",
"conditions": "The automation only runs if the media player that triggered the event is not in an 'off' state, and if the sleeping state [input_boolean.sleeping] is currently active (on).",
"action": "It lowers the volume of the specific media player that triggered the automation. For the bathroom mini, guest room mini, speaker, or living room display, the volume is set to 15%. For the bedroom display, the volume is set to 30%."
},
"human_like": "Automatically lowers the volume on media players if it gets too loud while the sleeping mode is active.",
"complexity": "medium"
}
},
{
"id": "'Light: Living Room Morning'",
"result": {
"structured": "TRIGGER: When bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] changes from closed (off) to open (on). CONDITIONS: (hue motion sensor 1 illuminance [sensor.hue_motion_sensor_1_illuminance] is below 350) AND (time is between 06:00:00 and 12:00:00) AND (the number of days since the light living room morning automation [automation.light_living_room_morning] was last triggered is above 0) AND (desk area light [light.desk_area] is off). ACTIONS: Turn on living room evening scene [scene.living_room_evening] with a transition of 60 seconds.",
"natural_language": {
"trigger": "When the bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] opens.",
"conditions": "If the illuminance level from the hue motion sensor 1 illuminance [sensor.hue_motion_sensor_1_illuminance] is below 350, the current time is between 6:00 AM and 12:00 PM, the light living room morning automation [automation.light_living_room_morning] has not been triggered today, and the desk area light [light.desk_area] is off.",
"action": "Gradually turns on the living room evening scene [scene.living_room_evening] over 60 seconds."
},
"human_like": "Turns on the living room lights in the morning when the bedroom door opens, but only if it's dark and the automation hasn't already run today.",
"complexity": "medium"
}
},
{
"id": "'Light: Bathroom Morning Bedroom Door'",
"result": {
"structured": "TRIGGER: When bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] changes from closed (off) to open (on). CONDITIONS: The current time is between 06:00:00 and 12:00:00 AND The number of days since light bathroom morning bedroom door automation [automation.light_bathroom_morning_bedroom_door] was last triggered is greater than 0 AND The number of days since light bathroom morning guest room door automation [automation.light_bathroom_morning_guest_room_door] was last triggered is greater than 0. ACTIONS: Turn off adaptive lighting sleep mode bathroom [switch.adaptive_lighting_sleep_mode_bathroom], wait 1 second, then activate bathroom normal scene [scene.bathroom_normal].",
"natural_language": {
"trigger": "When the bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] opens.",
"conditions": "The automation only runs if it is between 6 AM and 12 PM (noon), and if both the 'light bathroom morning bedroom door automation' [automation.light_bathroom_morning_bedroom_door] and the 'light bathroom morning guest room door automation' [automation.light_bathroom_morning_guest_room_door] have not been triggered yet today.",
"action": "First, it turns off the adaptive lighting sleep mode bathroom [switch.adaptive_lighting_sleep_mode_bathroom]. After a one-second delay, it turns on the bathroom normal scene [scene.bathroom_normal]."
},
"human_like": "Turns on the normal bathroom lights when the bedroom door opens in the morning, but only if similar automations haven't already run today.",
"complexity": "medium"
}
},
{
"id": "'Light: Bathroom Morning Guest Room Door'",
"result": {
"structured": "TRIGGER: When guest room door sensor contact [binary_sensor.guest_room_door_sensor_contact] changes from closed (off) to open (on). CONDITIONS: The current time is between 06:00:00 and 12:00:00 AND The number of days since light bathroom morning guest room door automation [automation.light_bathroom_morning_guest_room_door] was last triggered is greater than 0 AND The number of days since light bathroom morning bedroom door automation [automation.light_bathroom_morning_bedroom_door] was last triggered is greater than 0. ACTIONS: Turn off adaptive lighting sleep mode bathroom [switch.adaptive_lighting_sleep_mode_bathroom], wait 1 second, then activate bathroom normal scene [scene.bathroom_normal].",
"natural_language": {
"trigger": "When the guest room door sensor contact [binary_sensor.guest_room_door_sensor_contact] opens.",
"conditions": "The automation only runs if it is between 6 AM and 12 PM, and if both the light bathroom morning guest room door automation [automation.light_bathroom_morning_guest_room_door] and the light bathroom morning bedroom door automation [automation.light_bathroom_morning_bedroom_door] have not been triggered yet today.",
"action": "First, it turns off the adaptive lighting sleep mode bathroom [switch.adaptive_lighting_sleep_mode_bathroom]. After a one-second delay, it activates the bathroom normal scene [scene.bathroom_normal] to set the bathroom lights to their normal daytime state."
},
"human_like": "Turns on the normal bathroom lights when the guest room door opens in the morning, but only if it hasn't already been triggered by this or another related automation today.",
"complexity": "medium"
}
},
{
"id": "'Alarm: Morning Sleeping State'",
"result": {
"structured": "TRIGGER: When the time reaches the value set in morning alarm [input_datetime.morning_alarm]. CONDITIONS: None. ACTIONS: Wait for 30 minutes, then turn off sleeping state [input_boolean.sleeping].",
"natural_language": {
"trigger": "When the scheduled time set in the morning alarm [input_datetime.morning_alarm] arrives.",
"conditions": "There are no conditions that must be met for this automation to proceed.",
"action": "After waiting for 30 minutes, the automation turns off the sleeping state [input_boolean.sleeping]."
},
"human_like": "Turns off the sleeping state half an hour after the morning alarm time, ensuring it doesn't stay on too long.",
"complexity": "low"
}
},
{
"id": "'Light: Bathroom Motion Off'",
"result": {
"structured": "TRIGGER: When bathroom motion sensor occupancy [binary_sensor.bathroom_motion_sensor_occupancy] changes from on to off AND remains off for 15 minutes. CONDITIONS: bathroom light [light.bathroom] is on. ACTIONS: Turn off bathroom light [light.bathroom].",
"natural_language": {
"trigger": "When the bathroom motion sensor occupancy [binary_sensor.bathroom_motion_sensor_occupancy] stops detecting motion and remains in that state for 15 minutes.",
"conditions": "The bathroom light [light.bathroom] must be turned on.",
"action": "Turns off the bathroom light [light.bathroom]."
},
"human_like": "Turns off the bathroom light after no motion has been detected for 15 minutes.",
"complexity": "low"
}
},
{
"id": "'Light: Bathroom Motion On'",
"result": {
"structured": "TRIGGER: When bathroom motion sensor occupancy [binary_sensor.bathroom_motion_sensor_occupancy] changes from off to on. CONDITIONS: bathroom light [light.bathroom] is off. ACTIONS: Turn on bathroom normal scene [scene.bathroom_normal].",
"natural_language": {
"trigger": "When motion is first detected in the bathroom, indicated by the bathroom motion sensor occupancy [binary_sensor.bathroom_motion_sensor_occupancy] changing from 'off' to 'on'.",
"conditions": "The automation only runs if the bathroom light [light.bathroom] is currently turned off.",
"action": "Activates the bathroom normal scene [scene.bathroom_normal], which turns on the lights to a predefined setting."
},
"human_like": "Turns on the bathroom lights to a normal scene when motion is detected and the lights are off.",
"complexity": "low"
}
},
{
"id": "'Mount Media: Mount'",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Execute shell command mount_media.",
"natural_language": {
"trigger": "When the Home Assistant system starts up.",
"conditions": "There are no additional conditions that must be met.",
"action": "Runs the shell command 'mount_media' to mount a network share into the /media directory."
},
"human_like": "Mounts a network storage location for media files automatically when Home Assistant starts.",
"complexity": "low"
}
},
{
"id": "'TV: Music Off'",
"result": {
"structured": "TRIGGER: When LG TV [media_player.lg_tv] changes from 'off' to any other state AND remains in that new state for 30 seconds. CONDITIONS: speaker [media_player.speaker] is in the 'playing' state. ACTIONS: Pause the media on speaker [media_player.speaker].",
"natural_language": {
"trigger": "When the LG TV [media_player.lg_tv] turns on from being off and stays on for 30 seconds.",
"conditions": "If the speaker [media_player.speaker] is currently playing music.",
"action": "Pauses the music on the speaker [media_player.speaker]."
},
"human_like": "Automatically pauses the living room music when the TV is turned on, ensuring the TV audio isn't interrupted.",
"complexity": "low"
}
},
{
"id": "'Light: Living Room Night'",
"result": {
"structured": "TRIGGER: When living room light [light.living_room] turns from on to off. CONDITIONS: Time is between 21:00:00 and 03:00:00 AND lg tv [media_player.lg_tv] is off. ACTIONS: Turn off living room heater [climate.living_room_heater].",
"natural_language": {
"trigger": "When the living room light [light.living_room] is turned off.",
"conditions": "The automation runs only if the current time is between 9:00 PM and 3:00 AM, and the lg tv [media_player.lg_tv] is also turned off.",
"action": "Turns off the living room heater [climate.living_room_heater]."
},
"human_like": "Turns off the living room heater at night when the lights and TV are off to save energy.",
"complexity": "low"
}
},
{
"id": "'Media: Notification Notify'",
"result": {
"structured": "TRIGGER: When the media_title attribute changes for any of the following media players: speaker [media_player.speaker], bedroom tv [media_player.bedroom_tv], bedroom display [media_player.bedroom_display], bathroom mini [media_player.bathroom_mini], home group [media_player.home_group], or living room display [media_player.living_room_display]. CONDITIONS: (person raf [person.raf] is home) AND (the new media_title is not None AND the media player's state is not 'off') AND (lg tv [media_player.lg_tv] is off). ACTIONS: Send a command via the joaoapps_join.rafs_phone_send_tasker service with the data command set to 'homemedia=:=notify=:=' concatenated with the object_id of the triggering media player.",
"natural_language": {
"trigger": "When the title of the currently playing media changes on any of the specified media players: the speaker [media_player.speaker], bedroom tv [media_player.bedroom_tv], bedroom display [media_player.bedroom_display], bathroom mini [media_player.bathroom_mini], home group [media_player.home_group], or living room display [media_player.living_room_display].",
"conditions": "If person raf [person.raf] is at home, the media player that triggered the event is not turned off and has a valid media title, and the lg tv [media_player.lg_tv] is off.",
"action": "Sends a notification command to a phone via the Tasker app, containing a specific string that includes the ID of the media player where the title changed."
},
"human_like": "Sends a phone notification when the media playing on any speaker or display changes, but only when Raf is home and the main TV is off.",
"complexity": "medium"
}
},
{
"id": "'Media: Notification Notify Spotify'",
"result": {
"structured": "TRIGGER: When the media_title attribute of spotify raf [media_player.spotify_raf] changes. CONDITIONS: (spotify raf [media_player.spotify_raf] source attribute is Speaker) AND (person raf [person.raf] state is home) AND (lg tv [media_player.lg_tv] state is off) AND (the new state of spotify raf [media_player.spotify_raf] is not idle AND the new media_title attribute is not None). ACTIONS: Send a command to joaoapps_join.rafs_phone_send_tasker with the data: 'homemedia=:=notify=:=' concatenated with the object_id of the new state of spotify raf [media_player.spotify_raf].",
"natural_language": {
"trigger": "When the currently playing track title (media_title) changes on the spotify raf [media_player.spotify_raf] device.",
"conditions": "The spotify raf [media_player.spotify_raf] must be playing through the 'Speaker' source, the person raf [person.raf] must be at home, the lg tv [media_player.lg_tv] must be off, and the new state of the Spotify player must not be idle and must have a valid track title.",
"action": "Sends a notification command to a phone via the joaoapps_join service, including the object_id of the Spotify player to identify the media."
},
"human_like": "Sends a phone notification when a new song starts playing on Spotify through the Speaker, but only if the TV is off and the user is home.",
"complexity": "medium"
}
},
{
"id": "'Light: Bathroom No Motion'",
"result": {
"structured": "TRIGGER: When bathroom light [light.bathroom] turns from off to on AND remains on for 15 minutes. CONDITIONS: bathroom motion sensor occupancy [binary_sensor.bathroom_motion_sensor_occupancy] is off AND remains off for 10 minutes. ACTIONS: Turn off bathroom light [light.bathroom].",
"natural_language": {
"trigger": "When the bathroom light [light.bathroom] is turned on and stays on for 15 minutes.",
"conditions": "If the bathroom motion sensor occupancy [binary_sensor.bathroom_motion_sensor_occupancy] has not detected any motion for at least 10 minutes.",
"action": "Turns off the bathroom light [light.bathroom]."
},
"human_like": "Automatically turns off the bathroom light after 15 minutes if no motion is detected for 10 minutes.",
"complexity": "medium"
}
},
{
"id": "'TV: Off Chromecast'",
"result": {
"structured": "TRIGGER: When lg tv [media_player.lg_tv] turns off OR When the source attribute of lg tv [media_player.lg_tv] changes to any value other than 'Chromecast'. CONDITIONS: NOT (living room tv [media_player.living_room_tv] is off). ACTIONS: Turn off living room tv [media_player.living_room_tv].",
"natural_language": {
"trigger": "When the lg tv [media_player.lg_tv] is turned off, or when its source attribute changes to something other than 'Chromecast'.",
"conditions": "The living room tv [media_player.living_room_tv] must not already be off.",
"action": "Turn off the living room tv [media_player.living_room_tv]."
},
"human_like": "Turns off the living room TV's Chromecast when the main TV is turned off or switched away from the Chromecast source.",
"complexity": "medium"
}
},
{
"id": "'TV: Off Scene'",
"result": {
"structured": "TRIGGER: When lg tv [media_player.lg_tv] remains off for 15 seconds. CONDITIONS: The sun's elevation [sun.sun] is less than or equal to the sunset elevation [input_number.sunset_elevation]. ACTIONS: Activate living room evening scene [scene.living_room_evening].",
"natural_language": {
"trigger": "When the lg tv [media_player.lg_tv] has been turned off and remains off for 15 seconds.",
"conditions": "The automation only runs if it is evening, which is determined by checking if the current sun elevation [sun.sun] is at or below the configured sunset elevation threshold [input_number.sunset_elevation].",
"action": "Turns on the living room evening scene [scene.living_room_evening]."
},
"human_like": "When the TV turns off in the evening, it automatically sets the living room to the evening lighting scene.",
"complexity": "low"
}
},
{
"id": "'TV: On Scene'",
"result": {
"structured": "TRIGGER: When lg tv [media_player.lg_tv] changes state from off to on. CONDITIONS: floor lamp [light.floor_lamp] is on. ACTIONS: Activate living room evening tv scene [scene.living_room_evening_tv].",
"natural_language": {
"trigger": "When the lg tv [media_player.lg_tv] is turned on.",
"conditions": "If the floor lamp [light.floor_lamp] is already on.",
"action": "Activate the living room evening tv scene [scene.living_room_evening_tv]."
},
"human_like": "When the TV is turned on and the floor lamp is on, it sets the living room lighting to the TV viewing scene.",
"complexity": "low"
}
},
{
"id": "'Security: Outdoor Motion'",
"result": {
"structured": "TRIGGER: When front door motion sensor occupancy [binary_sensor.front_door_motion_sensor_occupancy] changes from off to on. CONDITIONS: at home state [input_boolean.at_home] is off. ACTIONS: Send a Telegram notification to 'telegram_raf' with the message 'Alert: Motion detected outside'.",
"natural_language": {
"trigger": "When motion is first detected by the front door motion sensor occupancy [binary_sensor.front_door_motion_sensor_occupancy].",
"conditions": "The system must be in 'away' mode, meaning the at home state [input_boolean.at_home] is turned off.",
"action": "Sends an alert notification via Telegram to the user 'raf' with the message 'Alert: Motion detected outside'."
},
"human_like": "Sends a security alert when motion is detected outside while the house is set to away mode.",
"complexity": "low"
}
},
{
"id": "'Location: Owntracks Update Lynn'",
"result": {
"structured": "TRIGGER: When Lynn's Phone App Tracker [device_tracker.lynns_phone_app] changes state. CONDITIONS: person lynn [person.lynn] has a gps_accuracy attribute greater than 0 AND less than 101 AND (the latitude attribute changed OR the longitude attribute changed). ACTIONS: Execute service rest_command.owntracks_push_lynn.",
"natural_language": {
"trigger": "Whenever the state of Lynn's Phone App Tracker [device_tracker.lynns_phone_app] changes.",
"conditions": "The person lynn [person.lynn] must have a GPS accuracy value that is greater than 0 and less than 101. Additionally, the location must have actually changed, meaning either the latitude or the longitude attribute of the tracker is different from its previous value.",
"action": "Sends the updated location to the Owntracks service by calling the rest_command.owntracks_push_lynn."
},
"human_like": "Updates Lynn's location in Owntracks when her phone's GPS location changes and the accuracy is acceptable.",
"complexity": "medium"
}
},
{
"id": "'Location: Owntracks Update Raf'",
"result": {
"structured": "TRIGGER: When person raf [person.raf] changes state. CONDITIONS: (person raf [person.raf] gps_accuracy is greater than 0 AND less than 101) AND (latitude attribute changed OR longitude attribute changed). ACTIONS: Execute service rest_command.owntracks_push_raf.",
"natural_language": {
"trigger": "Whenever the state of person raf [person.raf] changes.",
"conditions": "The GPS accuracy of person raf [person.raf] must be between 1 and 100 inclusive. Additionally, the change in state must correspond to an actual change in location, meaning either the latitude or longitude attribute has changed from the previous state.",
"action": "Sends the updated location to the Owntracks service by calling the rest_command.owntracks_push_raf."
},
"human_like": "Sends Raf's location to Owntracks whenever his GPS location changes and the accuracy is good.",
"complexity": "medium"
}
},
{
"id": "'TV: Paused Chromecast'",
"result": {
"structured": "TRIGGER: When living room tv [media_player.living_room_tv] remains in the paused state for 30 seconds. CONDITIONS: lg tv [media_player.lg_tv] has the source attribute set to Chromecast. ACTIONS: Execute the TV Screen Off Script [script.tv_screen_off].",
"natural_language": {
"trigger": "When the living room tv [media_player.living_room_tv] has been in a paused state for 30 seconds.",
"conditions": "The lg tv [media_player.lg_tv] must be set to the Chromecast source.",
"action": "Runs the TV Screen Off Script [script.tv_screen_off] to turn off the TV screen."
},
"human_like": "Turns off the TV screen if a Chromecast stream has been paused for 30 seconds.",
"complexity": "low"
}
},
{
"id": "'Computer: Pi Off'",
"result": {
"structured": "TRIGGER: When rafs pc power [binary_sensor.rafs_pc_power] changes from on to off AND remains off for 2 minutes. CONDITIONS: None. ACTIONS: Execute the Pi Off Script [script.pi_off].",
"natural_language": {
"trigger": "When the rafs pc power [binary_sensor.rafs_pc_power] sensor indicates the computer has turned off and stays off for two minutes.",
"conditions": "There are no additional conditions.",
"action": "Runs the Pi Off Script [script.pi_off]."
},
"human_like": "Turns off the Raspberry Pi two minutes after the computer is switched off.",
"complexity": "low"
}
},
{
"id": "'Computer: Pi On'",
"result": {
"structured": "TRIGGER: When rafs pc power [binary_sensor.rafs_pc_power] changes from off to on AND remains on for 2 minutes. CONDITIONS: None. ACTIONS: Execute Pi On Script [script.pi_on].",
"natural_language": {
"trigger": "When the rafs pc power [binary_sensor.rafs_pc_power] turns on and stays on for two minutes.",
"conditions": "There are no additional conditions.",
"action": "Runs the Pi On Script [script.pi_on]."
},
"human_like": "Turns on the Raspberry Pi when the computer has been on for two minutes.",
"complexity": "low"
}
},
{
"id": "'TV: Play Chromecast'",
"result": {
"structured": "TRIGGER: When living room tv [media_player.living_room_tv] changes state from paused to playing. CONDITIONS: lg tv [media_player.lg_tv] attribute 'source' is Chromecast. ACTIONS: Execute TV Screen On Script [script.tv_screen_on].",
"natural_language": {
"trigger": "When the living room tv [media_player.living_room_tv] starts playing from a paused state.",
"conditions": "The lg tv [media_player.lg_tv] must have its source set to Chromecast.",
"action": "Run the TV Screen On Script [script.tv_screen_on] to turn on the TV screen."
},
"human_like": "Turns on the TV screen when the Chromecast starts playing content.",
"complexity": "low"
}
},
{
"id": "'Alarm: Pre Morning Blanket'",
"result": {
"structured": "TRIGGER: When the time reaches the value set in morning alarm pre [input_datetime.morning_alarm_pre]. CONDITIONS: electric blanket morning [input_boolean.electric_blanket_morning] is on AND plug5 power [switch.plug5_power] is off. ACTIONS: Turn on plug5 power [switch.plug5_power] AND turn off electric blanket morning [input_boolean.electric_blanket_morning].",
"natural_language": {
"trigger": "At the specific time set for the pre-morning alarm [input_datetime.morning_alarm_pre].",
"conditions": "If the electric blanket morning [input_boolean.electric_blanket_morning] is enabled and the plug5 power [switch.plug5_power] is currently off.",
"action": "Turns on the plug5 power [switch.plug5_power] to activate the blanket and then turns off the electric blanket morning [input_boolean.electric_blanket_morning] flag."
},
"human_like": "Turns on the electric blanket at a pre-set time before the morning alarm, provided it's scheduled and currently off.",
"complexity": "low"
}
},
{
"id": "'Alarm: Pre Morning Heating Bedroom'",
"result": {
"structured": "TRIGGER: When the time reaches the value set in morning alarm pre [input_datetime.morning_alarm_pre]. CONDITIONS: bedroom heater [climate.bedroom_heater] is in heat mode. ACTIONS: Turn off bedroom heater [climate.bedroom_heater].",
"natural_language": {
"trigger": "At the specific time set in the morning alarm pre [input_datetime.morning_alarm_pre].",
"conditions": "If the bedroom heater [climate.bedroom_heater] is currently set to heat mode.",
"action": "Turns the bedroom heater [climate.bedroom_heater] off."
},
"human_like": "Turns off the bedroom heater at a pre-set time before the morning alarm, but only if it is currently heating.",
"complexity": "low"
}
},
{
"id": "'Alarm: Pre Morning Heating Living Room'",
"result": {
"structured": "TRIGGER: At the time specified by morning alarm pre [input_datetime.morning_alarm_pre]. CONDITIONS: The current temperature of living room heater [climate.living_room_heater] is less than its target temperature. ACTIONS: Turn on living room heater [climate.living_room_heater].",
"natural_language": {
"trigger": "At the specific time set for the morning alarm pre [input_datetime.morning_alarm_pre].",
"conditions": "If the current temperature reported by the living room heater [climate.living_room_heater] is lower than the target temperature set on the same device.",
"action": "Turns on the living room heater [climate.living_room_heater]."
},
"human_like": "Turns on the living room heater before the morning alarm if the room is colder than the desired temperature.",
"complexity": "low"
}
},
{
"id": "'Alarm: Pre Morning Lights'",
"result": {
"structured": "TRIGGER: At the time specified by morning alarm pre [input_datetime.morning_alarm_pre]. CONDITIONS: None. ACTIONS: Turn on bedside lamp [light.bedside_lamp] with brightness at 100% over a transition period of 1800 seconds.",
"natural_language": {
"trigger": "At the specific time set for the morning alarm pre [input_datetime.morning_alarm_pre].",
"conditions": "There are no conditions that need to be met.",
"action": "Gradually turns on the bedside lamp [light.bedside_lamp] to full brightness over a period of 30 minutes."
},
"human_like": "Gradually turns on the bedside lamp to full brightness 30 minutes before the morning alarm, providing a gentle wake-up light.",
"complexity": "low"
}
},
{
"id": "'Travel: Proximity Away Mode'",
"result": {
"structured": "TRIGGER: When rafs flat raf distance [sensor.rafs_flat_raf_distance] is below 2 OR When rafs flat lynn distance [sensor.rafs_flat_lynn_distance] is below 2. CONDITIONS: away state [input_boolean.away] is on. ACTIONS: Turn off away state [input_boolean.away].",
"natural_language": {
"trigger": "When either the rafs flat raf distance [sensor.rafs_flat_raf_distance] or the rafs flat lynn distance [sensor.rafs_flat_lynn_distance] drops below 2 units.",
"conditions": "The away state [input_boolean.away] must currently be on.",
"action": "Turns off the away state [input_boolean.away]."
},
"human_like": "Automatically disables the away mode when either tracked person gets close to home.",
"complexity": "low"
}
},
{
"id": "'System: Public IP'",
"result": {
"structured": "TRIGGER: When public ip [sensor.public_ip] changes to any new state AND remains in that new state for 5 minutes. CONDITIONS: None. ACTIONS: Send a notification via notify.telegram_raf with the message 'IP changed: {{ trigger.to_state.state }}'.",
"natural_language": {
"trigger": "When the public ip [sensor.public_ip] sensor reports a new state and that state remains stable for five minutes.",
"conditions": "There are no additional conditions for this automation.",
"action": "Sends a Telegram notification to the recipient 'raf' with a message stating the new IP address."
},
"human_like": "Sends a notification when the home's public IP address changes and stays changed for five minutes.",
"complexity": "low"
}
},
{
"id": "'Zone: Raf Home'",
"result": {
"structured": "TRIGGER: When person raf [person.raf] is at home for 10 seconds. CONDITIONS: (person lynn [person.lynn] is NOT home) AND (raf lynn distance [sensor.raf_lynn_distance] is above 1). ACTIONS: Send a notification titled 'Location Update' with message 'Raf has arrived at home' to notify.mobile_app_lynns_phone.",
"natural_language": {
"trigger": "When person raf [person.raf] has been at home for at least 10 seconds.",
"conditions": "If person lynn [person.lynn] is not at home, and the distance between Raf and Lynn, as measured by raf lynn distance [sensor.raf_lynn_distance], is greater than 1 unit.",
"action": "Sends a notification to Lynn's phone with the title 'Location Update' and the message 'Raf has arrived at home'."
},
"human_like": "Notifies Lynn when Raf arrives home, but only if Lynn is not already home and they are far enough apart.",
"complexity": "medium"
}
},
{
"id": "'Zone: Raf Work'",
"result": {
"structured": "TRIGGER: When person raf [person.raf] arrives at Raf's Work AND remains for 10 seconds OR When person raf [person.raf] leaves Raf's Work AND remains away for 10 seconds. CONDITIONS: workday sensor [binary_sensor.workday_sensor] is on AND (time is NOT between 11:00:00 and 15:00:00). ACTIONS: Send a notification to mobile_app_lynns_phone with title 'Location Update' and message 'Raf has {{ message_verb }} the office'.",
"natural_language": {
"trigger": "When person raf [person.raf] arrives at Raf's Work and stays there for at least 10 seconds, or when person raf [person.raf] leaves Raf's Work and remains away for at least 10 seconds.",
"conditions": "The workday sensor [binary_sensor.workday_sensor] must be on, indicating it's a workday, and the current time must not be between 11:00 AM and 3:00 PM.",
"action": "Sends a notification to Lynn's phone with the title 'Location Update' and a message stating whether Raf has arrived at or left the office."
},
"human_like": "Sends a notification when Raf arrives at or leaves the office during a workday, but not during the core lunch hours.",
"complexity": "medium"
}
},
{
"id": "'Safety: Room Humidity'",
"result": {
"structured": "TRIGGER: When bedroom sensor humidity [sensor.bedroom_sensor_humidity] OR guest room sensor humidity [sensor.guest_room_sensor_humidity] OR living room sensor humidity [sensor.living_room_sensor_humidity] remains above 69% for 10 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification to 'raf' with a message containing the name of the triggered sensor entity.",
"natural_language": {
"trigger": "When the humidity in the bedroom, guest room, or living room, as measured by their respective sensors, stays above 69% for at least 10 minutes.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a notification via Telegram to the user 'raf', stating which specific room sensor detected the high humidity."
},
"human_like": "Sends a warning notification if the humidity in any monitored room stays too high for an extended period.",
"complexity": "low"
}
},
{
"id": "'Alarm: Set Pre Morning Alarm'",
"result": {
"structured": "TRIGGER: When morning alarm [input_datetime.morning_alarm] changes state. CONDITIONS: None. ACTIONS: Set morning alarm pre [input_datetime.morning_alarm_pre] to a time 30 minutes before the current time value of morning alarm [input_datetime.morning_alarm].",
"natural_language": {
"trigger": "Whenever the time set for the morning alarm [input_datetime.morning_alarm] is changed.",
"conditions": "There are no conditions that must be met.",
"action": "Calculates a new time by subtracting 30 minutes from the current morning alarm time and sets the morning alarm pre [input_datetime.morning_alarm_pre] to that new time."
},
"human_like": "Automatically sets a pre-alarm to go off 30 minutes before the main morning alarm time.",
"complexity": "low"
}
},
{
"id": "'Light: Bathroom Door Sleeping'",
"result": {
"structured": "TRIGGER: When bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] changes from closed (off) to open (on). CONDITIONS: sleeping state [input_boolean.sleeping] is on AND the current time is between 21:00:00 and 06:00:00 AND bathroom light [light.bathroom] is off. ACTIONS: Activate the bathroom midnight scene [scene.bathroom_midnight].",
"natural_language": {
"trigger": "When the bedroom door sensor contact [binary_sensor.bedroom_door_sensor_contact] opens.",
"conditions": "If the sleeping state [input_boolean.sleeping] is on, the current time is between 9:00 PM and 6:00 AM, and the bathroom light [light.bathroom] is currently off.",
"action": "Turns on the bathroom midnight scene [scene.bathroom_midnight]."
},
"human_like": "Turns on a dim bathroom light when the bedroom door is opened during the night while the household is sleeping.",
"complexity": "low"
}
},
{
"id": "'Safety: Smoke'",
"result": {
"structured": "TRIGGER: When smoke sensor smoke [binary_sensor.smoke_sensor_smoke] changes from off to on. CONDITIONS: None. ACTIONS: Send a notification via notify.telegram_raf with the message 'Alert: Smoke Detected'.",
"natural_language": {
"trigger": "When the smoke sensor smoke [binary_sensor.smoke_sensor_smoke] detects smoke, changing its state from off to on.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends an alert notification via Telegram with the message 'Alert: Smoke Detected'."
},
"human_like": "Sends an alert notification when smoke is detected by the smoke sensor.",
"complexity": "low"
}
},
{
"id": "'TV: Speakers Off'",
"result": {
"structured": "TRIGGER: When lg tv [media_player.lg_tv] remains off for 15 seconds. CONDITIONS: tv speaker power [binary_sensor.tv_speaker_power] is on. ACTIONS: Turn off tv speaker power [switch.tv_speaker_power].",
"natural_language": {
"trigger": "When the lg tv [media_player.lg_tv] has been turned off and remains off for 15 seconds.",
"conditions": "If the TV Speaker Power [binary_sensor.tv_speaker_power] indicates the speakers are currently on.",
"action": "Turns off the tv speaker power [switch.tv_speaker_power]."
},
"human_like": "Automatically turns off the TV speakers shortly after the TV is turned off, if they are still on.",
"complexity": "low"
}
},
{
"id": "'TV: Speakers On'",
"result": {
"structured": "TRIGGER: When lg tv [media_player.lg_tv] changes from off to on AND remains on for 5 seconds. CONDITIONS: tv speaker power [binary_sensor.tv_speaker_power] is off. ACTIONS: Turn on tv speaker power [switch.tv_speaker_power].",
"natural_language": {
"trigger": "When the LG TV [media_player.lg_tv] turns on and stays on for at least 5 seconds.",
"conditions": "If the TV speaker power [binary_sensor.tv_speaker_power] is currently off.",
"action": "Turn on the TV speaker power switch [switch.tv_speaker_power]."
},
"human_like": "Automatically turns on the TV speakers when the TV is powered on, but only if the speakers are currently off.",
"complexity": "low"
}
},
{
"id": "'Media: Spotify Redirect Lynn'",
"result": {
"structured": "TRIGGER: When spotify lynn [media_player.spotify_lynn] changes its source attribute to 'Living Room Display'. CONDITIONS: None. ACTIONS: Set the source of spotify lynn [media_player.spotify_lynn] to 'Speaker' AND set the volume level of spotify lynn [media_player.spotify_lynn] to 0.4.",
"natural_language": {
"trigger": "When the media player spotify lynn [media_player.spotify_lynn] starts playing from the source named 'Living Room Display'.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Redirects the playback to the 'Speaker' source and sets the volume level to 40% on the spotify lynn [media_player.spotify_lynn] media player."
},
"human_like": "Automatically redirects Spotify playback from the Living Room Display to the Speaker and sets the volume to a comfortable level.",
"complexity": "low"
}
},
{
"id": "'Media: Spotify Redirect Raf'",
"result": {
"structured": "TRIGGER: When media_player.spotify_raf changes its 'source' attribute to 'Living Room Display'. CONDITIONS: None. ACTIONS: Set the source of media_player.spotify_raf to 'Speaker' AND set the volume level of media_player.spotify_raf to 0.4.",
"natural_language": {
"trigger": "When the Spotify player [media_player.spotify_raf] changes its playback source to 'Living Room Display'.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "Redirects the playback to the 'Speaker' source and sets the volume to 40% for the Spotify player [media_player.spotify_raf]."
},
"human_like": "Automatically redirects Spotify playback from the living room display to a speaker and sets the volume when a specific source is selected.",
"complexity": "low"
}
},
{
"id": "vacuum_stuck_returning",
"result": {
"structured": "TRIGGER: When robovac vacuum [vacuum.robovac] remains in state 'returning' for 20 minutes. CONDITIONS: None. ACTIONS: Pause robovac vacuum [vacuum.robovac] AND send a Telegram notification to 'telegram_raf' with the message 'Vacuum got stuck returning to base'.",
"natural_language": {
"trigger": "When the robovac vacuum [vacuum.robovac] has been in the 'returning' state for 20 minutes.",
"conditions": "There are no conditions for this automation.",
"action": "Pauses the robovac vacuum [vacuum.robovac] and sends a notification via Telegram to 'telegram_raf' stating that the vacuum got stuck returning to base."
},
"human_like": "Pauses the vacuum and sends an alert if it gets stuck trying to return to its dock for too long.",
"complexity": "low"
}
},
{
"id": "'Light: Bedroom Sunset'",
"result": {
"structured": "TRIGGER: When the sun's elevation [sun.sun] is less than or equal to the sunset elevation [input_number.sunset_elevation]. CONDITIONS: at home state [input_boolean.at_home] is on AND bedroom light [light.bedroom] is off. ACTIONS: Turn on bedroom evening scene [scene.bedroom_evening].",
"natural_language": {
"trigger": "When the sun's elevation falls below or reaches the configured sunset elevation threshold.",
"conditions": "If the at home state is set to on, indicating someone is home, and the bedroom light is currently off.",
"action": "Activates the bedroom evening scene to set the lighting for the evening."
},
"human_like": "Turns on the bedroom evening lighting scene at sunset, but only if someone is home and the bedroom light is currently off.",
"complexity": "low"
}
},
{
"id": "'Log Level: System'",
"result": {
"structured": "TRIGGER: When log level select [input_select.log_level] changes state. CONDITIONS: None. ACTIONS: Set the default logger level to the current state of log level select [input_select.log_level].",
"natural_language": {
"trigger": "Whenever the selected value in the log level select [input_select.log_level] changes.",
"conditions": "There are no conditions for this automation.",
"action": "Updates the system's default log level to match the newly selected value from the log level select [input_select.log_level]."
},
"human_like": "Updates the system's logging level to match the user's selection from a dropdown.",
"complexity": "low"
}
},
{
"id": "'Test: Automation'",
"result": {
"structured": "TRIGGER: When test value [input_boolean.test_value] changes from off to on. CONDITIONS: The number of seconds since test automation [automation.test_automation] was last triggered is greater than 10. ACTIONS: Send a persistent notification with title 'Automation fired' and message 'Test Automation'.",
"natural_language": {
"trigger": "When the test value [input_boolean.test_value] is turned on from an off state.",
"conditions": "If more than 10 seconds have passed since the test automation [automation.test_automation] was last triggered.",
"action": "Creates a persistent notification with the title 'Automation fired' and the message 'Test Automation'."
},
"human_like": "Sends a test notification when a test switch is turned on, but only if the automation hasn't run recently.",
"complexity": "medium"
}
},
{
"id": "'Travel: Travelling Automations State'",
"result": {
"structured": "TRIGGER: When away state [input_boolean.away] changes from off to on. CONDITIONS: None. ACTIONS: Turn off vacuum home schedule automation [automation.vacuum_home_schedule], vacuum away schedule automation [automation.vacuum_away_schedule], and presence home set at home automation [automation.presence_home_set_at_home].",
"natural_language": {
"trigger": "When the away state [input_boolean.away] is turned on.",
"conditions": "There are no conditions for this automation.",
"action": "Disables three specific automations: the vacuum home schedule automation [automation.vacuum_home_schedule], the vacuum away schedule automation [automation.vacuum_away_schedule], and the presence home set at home automation [automation.presence_home_set_at_home]."
},
"human_like": "When you set the system to 'away', this turns off the vacuuming and home presence automations to prevent them from running while you're traveling.",
"complexity": "low"
}
},
{
"id": "'Media: Notification TV Clear'",
"result": {
"structured": "TRIGGER: When lg tv [media_player.lg_tv] changes state to off. CONDITIONS: person raf [person.raf] is home. ACTIONS: Send a Tasker command 'homemedia=:=clear=:=lg_tv' to joaoapps_join.rafs_phone_send_tasker.",
"natural_language": {
"trigger": "When the lg tv [media_player.lg_tv] is turned off or stops playing.",
"conditions": "If person raf [person.raf] is at home.",
"action": "Sends a specific command to a Tasker service on Raf's phone to clear the media status for the LG TV."
},
"human_like": "Clears the media notification on Raf's phone when the TV is turned off and Raf is at home.",
"complexity": "low"
}
},
{
"id": "'Media: Notification TV Notify'",
"result": {
"structured": "TRIGGER: When the source attribute of lg tv [media_player.lg_tv] remains unchanged for 10 seconds. CONDITIONS: person raf [person.raf] is home AND lg tv [media_player.lg_tv] is NOT off. ACTIONS: Send a command 'homemedia=:=tv=:=lg_tv' to the joaoapps_join.rafs_phone_send_tasker service.",
"natural_language": {
"trigger": "When the source input selected on the lg tv [media_player.lg_tv] stays the same for 10 seconds.",
"conditions": "The person raf [person.raf] must be at home, and the lg tv [media_player.lg_tv] must not be in an 'off' state.",
"action": "Sends a specific command to a phone via the joaoapps_join service, likely to trigger a notification or action related to the TV being active."
},
"human_like": "Sends a notification to Raf's phone when the TV is playing a source and he is at home.",
"complexity": "low"
}
},
{
"id": "'TV: Twitch Active'",
"result": {
"structured": "TRIGGER: When lg tv [media_player.lg_tv] source attribute changes to Twitch. CONDITIONS: None. ACTIONS: While lg tv [media_player.lg_tv] source attribute remains Twitch, press the INFO button on lg tv [media_player.lg_tv] and then wait 1 minute. Repeat this sequence.",
"natural_language": {
"trigger": "When the TV's input source changes to Twitch.",
"conditions": "There are no conditions that must be checked before proceeding with the action.",
"action": "As long as the TV's source remains set to Twitch, the automation will repeatedly press the INFO button on the TV remote and then wait for one minute before checking again and repeating the process."
},
"human_like": "Keeps the Twitch app active on the TV by periodically sending an INFO button press while it's the selected source.",
"complexity": "medium"
}
},
{
"id": "'Mount Media: Unmount'",
"result": {
"structured": "TRIGGER: When Home Assistant shutdown event occurs. CONDITIONS: None. ACTIONS: Execute shell_command.unmount_media.",
"natural_language": {
"trigger": "When Home Assistant begins its shutdown process.",
"conditions": "There are no conditions for this automation.",
"action": "Runs a shell command to unmount a network share located at /media."
},
"human_like": "Unmounts a network drive when Home Assistant is shutting down to prevent data corruption.",
"complexity": "low"
}
},
{
"id": "'Safety: Water Leak'",
"result": {
"structured": "TRIGGER: When bathroom water sensor water leak [binary_sensor.bathroom_water_sensor_water_leak] changes state from off to on OR When boiler water sensor water leak [binary_sensor.boiler_water_sensor_water_leak] changes state from off to on OR When kitchen water sensor water leak [binary_sensor.kitchen_water_sensor_water_leak] changes state from off to on. CONDITIONS: None. ACTIONS: Send a Telegram notification to notify.telegram_raf with the message 'Alert: Water Leak: [name of the triggering sensor]'.",
"natural_language": {
"trigger": "When any of the water leak sensors—the bathroom water sensor water leak [binary_sensor.bathroom_water_sensor_water_leak], the boiler water sensor water leak [binary_sensor.boiler_water_sensor_water_leak], or the kitchen water sensor water leak [binary_sensor.kitchen_water_sensor_water_leak]—changes from a state of no leak (off) to a state of leak detected (on).",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends an alert via Telegram to the user 'raf' with a message stating 'Alert: Water Leak:' followed by the name of the specific sensor that triggered the alert."
},
"human_like": "Sends an immediate alert if any water leak sensor in the home detects a leak.",
"complexity": "low"
}
},
{
"id": "'Log Level: Zigbee2Mqtt'",
"result": {
"structured": "TRIGGER: When zigbee2mqtt log level [input_select.zigbee2mqtt_log_level] changes state. CONDITIONS: None. ACTIONS: Publish the current state of zigbee2mqtt log level [input_select.zigbee2mqtt_log_level] as the payload to the MQTT topic 'zigbee2mqtt/bridge/config/log_level'.",
"natural_language": {
"trigger": "Whenever the zigbee2mqtt log level [input_select.zigbee2mqtt_log_level] is changed.",
"conditions": "There are no conditions for this automation.",
"action": "Sends the newly selected log level value to the Zigbee2MQTT bridge by publishing it to the MQTT topic 'zigbee2mqtt/bridge/config/log_level'."
},
"human_like": "Updates the Zigbee2MQTT bridge's log level whenever the user changes the setting in Home Assistant.",
"complexity": "low"
}
}
]