AutomationDataset/HofmaDresu/automation-descriptions.json

587 lines
61 KiB
JSON

[
{
"id": "Activate circadian overnight",
"result": {
"structured": "TRIGGER: At 04:00:00. CONDITIONS: light 1 [6aad29377c9d331661aefb7d3aa9bf6c] is off AND light 2 [4f504f129d920af05dbfed66e23bcf8f] is off AND office light 1 [570122fb667e2bbf465c4b1eee4cc5b8] is off AND office light 2 [525207ce60b068d636526e83f993b12a] is off. ACTIONS: Turn on circadian lighting switch [switch.circadian_lighting_whole_house_circadian_switch].",
"natural_language": {
"trigger": "At 4:00 AM.",
"conditions": "All four specified lights must be off: light 1 [6aad29377c9d331661aefb7d3aa9bf6c], light 2 [4f504f129d920af05dbfed66e23bcf8f], office light 1 [570122fb667e2bbf465c4b1eee4cc5b8], and office light 2 [525207ce60b068d636526e83f993b12a].",
"action": "Turn on the circadian lighting switch [switch.circadian_lighting_whole_house_circadian_switch]."
},
"human_like": "Turns on the whole-house circadian lighting at 4 AM, but only if all the main lights in the living room and office are already off.",
"complexity": "low"
}
},
{
"id": "Arming alarm and leaving",
"result": {
"structured": "TRIGGER: When a voice command matches 'I'm Leaving' OR 'I am leaving'. CONDITIONS: None. ACTIONS: Clear the conversation response AND execute leaving home script [script.leaving_home].",
"natural_language": {
"trigger": "When you say either 'I'm Leaving' or 'I am leaving' to the voice assistant.",
"conditions": "There are no conditions that need to be met.",
"action": "The automation will clear the voice assistant's response and then run the leaving home script [script.leaving_home]."
},
"human_like": "Runs the 'leaving home' routine when you tell the system you are leaving.",
"complexity": "low"
}
},
{
"id": "'Arrive home routine '",
"result": {
"structured": "TRIGGER: When person [person.hofmadresu] enters zone.home. CONDITIONS: alarm control panel [ed8fc83278462fc5ba4f6de76da799ad] is armed_away. ACTIONS: If vacation mode input boolean [input_boolean.vacation_mode] is on, turn it off. Disarm alarm control panel [ed8fc83278462fc5ba4f6de76da799ad] using a secret code. Execute unlock doors script [script.unlock_doors]. Then, if the current time is between sunset and sunrise, turn on switch 1 [d7144b619bd94371cb9c1e6459036229], turn on switch 2 [f2899e19720f9c1b0f0c164f3eea4069], turn on light 1 [6aad29377c9d331661aefb7d3aa9bf6c], turn on light 2 [4f504f129d920af05dbfed66e23bcf8f], wait 10 minutes, and turn off switch 1 [d7144b619bd94371cb9c1e6459036229]. Otherwise, if temperature sensor [sensor.openweathermap_temperature] is above 10, send a notification to mobile app notification [notify.mobile_app_pixel_8] asking 'Open the blinds?' with an action button, wait up to 2 minutes for the user to press the button, and if the correct action is received, execute zarathustra script [script.zarathustra].",
"natural_language": {
"trigger": "When the person [person.hofmadresu] arrives home by entering the home zone.",
"conditions": "The home alarm system, alarm control panel [ed8fc83278462fc5ba4f6de76da799ad], must be set to armed_away mode.",
"action": "First, if vacation mode is active, it is turned off. The alarm is then disarmed using a secret code, and the unlock doors script [script.unlock_doors] is run to unlock the doors. Next, if it is currently dark (between sunset and sunrise), several lights and switches are turned on for 10 minutes before one switch is turned off. If it is not dark, but the outside temperature is above 10 degrees, a notification is sent to the user's phone asking if they want to open the blinds. If the user responds 'Do it!' within 2 minutes, a script named zarathustra [script.zarathustra] is executed."
},
"human_like": "When someone arrives home, this routine disarms the alarm, unlocks the doors, and turns on lights if it's dark, or suggests opening the blinds if it's warm and light outside.",
"complexity": "high"
}
},
{
"id": "Basement automatic lights",
"result": {
"structured": "TRIGGER: When basement motion sensor [binary_sensor.basement_motion_sensor_motion] detects motion (turns on). CONDITIONS: basement light [bb00fcbf210a9d5ff50742987089da85] is off. ACTIONS: Turn on all lights in the basement area, then wait until basement motion sensor [binary_sensor.basement_motion_sensor_motion] has not detected motion (remains off) for 5 minutes, then turn off all lights in the basement area.",
"natural_language": {
"trigger": "When the basement motion sensor [binary_sensor.basement_motion_sensor_motion] detects motion.",
"conditions": "The basement light [bb00fcbf210a9d5ff50742987089da85] must be off.",
"action": "Turns on all lights in the basement area. Then, it waits for the basement motion sensor [binary_sensor.basement_motion_sensor_motion] to report no motion for a continuous period of 5 minutes. After that waiting period, it turns off all lights in the basement area."
},
"human_like": "Automatically turns on the basement lights when motion is detected, and turns them off again after 5 minutes of no motion.",
"complexity": "medium"
}
},
{
"id": "Bedroom light off on shades opened",
"result": {
"structured": "TRIGGER: When bedroom shades [cover.bedroom_shades] current_position remains at 100 for 30 seconds. CONDITIONS: The sun is above the horizon (before sunset). ACTIONS: Turn off bedroom switch [89d5346579b899623f4d4f45014c604a].",
"natural_language": {
"trigger": "When the bedroom shades [cover.bedroom_shades] have been fully open (at 100% position) for 30 seconds.",
"conditions": "This only runs during the daytime, before sunset.",
"action": "Turns off the bedroom switch [89d5346579b899623f4d4f45014c604a]."
},
"human_like": "Turns off the bedroom light when the shades have been fully open for a short time during the day.",
"complexity": "low"
}
},
{
"id": "Change thermostat on window open/close",
"result": {
"structured": "TRIGGER: When bedroom window sensor [binary_sensor.bedroom_window_open_state] changes state (from any state to any state) AND remains in the new state for 1 minute. CONDITIONS: None. ACTIONS: IF bedroom window sensor [binary_sensor.bedroom_window_open_state] is open (on) THEN set the fan mode to 'off' for the climate device associated with device_id 695ac42995783206896bb51e715e03e1 AND set the HVAC mode to 'off' for family room climate [climate.family_room]. ELSE run the script set temp based on mode script [script.set_temp_based_on_mode].",
"natural_language": {
"trigger": "When the bedroom window sensor [binary_sensor.bedroom_window_open_state] changes its state and then stays in that new state for one full minute.",
"conditions": "There are no additional conditions that must be met.",
"action": "If the bedroom window sensor [binary_sensor.bedroom_window_open_state] is detected as open, the automation will turn off the fan for the family room's climate system and set the thermostat to 'off' mode. If the window is not open, it will run a separate script called 'set temp based on mode script [script.set_temp_based_on_mode]' to adjust the temperature."
},
"human_like": "Turns off the family room heating/cooling when the bedroom window is left open for a minute, otherwise it runs a script to set the temperature normally.",
"complexity": "medium"
}
},
{
"id": "Close all shades before sunruse",
"result": {
"structured": "TRIGGER: At sunrise minus 2 hours. CONDITIONS: NOT (all shades [cover.all_shades] is closed). ACTIONS: Close all shades [cover.all_shades].",
"natural_language": {
"trigger": "Two hours before sunrise.",
"conditions": "If the all shades [cover.all_shades] are not already closed.",
"action": "Closes the all shades [cover.all_shades]."
},
"human_like": "Closes all shades two hours before sunrise, but only if they aren't already closed.",
"complexity": "low"
}
},
{
"id": "Coffee timer",
"result": {
"structured": "TRIGGER: When the voice command 'Coffee Timer' is spoken. CONDITIONS: None. ACTIONS: Clear the conversation response, then use the tts cloud [tts.home_assistant_cloud] to speak 'Activating coffee timer' through media player voice [media_player.home_assistant_voice_091b0c_media_player], wait for 3 minutes and 30 seconds, then use the tts cloud [tts.home_assistant_cloud] to speak 'Your coffee is done steeping, plunge away!' through media player voice [media_player.home_assistant_voice_091b0c_media_player].",
"natural_language": {
"trigger": "The automation is triggered when the voice command 'Coffee Timer' is spoken.",
"conditions": "There are no conditions that must be met for the automation to run.",
"action": "The system will first clear any pending conversation response. It will then use the text-to-speech service (tts cloud [tts.home_assistant_cloud]) to announce 'Activating coffee timer' on the specified speaker (media player voice [media_player.home_assistant_voice_091b0c_media_player]). After a delay of 3 minutes and 30 seconds, it will use the same text-to-speech service to announce 'Your coffee is done steeping, plunge away!' on the same speaker."
},
"human_like": "Sets a 3 minute 30 second timer for coffee steeping when you ask for it, and announces when it's time to plunge.",
"complexity": "low"
}
},
{
"id": "Create chores",
"result": {
"structured": "TRIGGER: At 05:00:00 daily. CONDITIONS: None. ACTIONS: 1. Retrieve completed items from chores todo [todo.chores] and store in variable 'completedChores'. 2. IF a completed chore summary contains 'Replace furnace filter' THEN run script add unique chore script [script.add_unique_chore] with data 'Clean used furnace filter'. 3. IF a completed chore summary contains 'Clean vacuum sensor' THEN press roborock sensor reset button [button.roborock_s7_maxv_reset_sensor_consumable]. 4. IF a completed chore summary contains 'Replace vacuum filter' THEN press roborock filter reset button [button.roborock_s7_maxv_reset_air_filter_consumable]. 5. IF a completed chore summary contains 'Replace vacuum main brush' THEN press roborock main brush reset button [button.roborock_s7_maxv_reset_main_brush_consumable]. 6. IF a completed chore summary contains 'Replace vacuum side brush' THEN press roborock side brush reset button [button.roborock_s7_maxv_reset_side_brush_consumable]. 7. IF a completed chore summary contains 'Clean Shelfy filter' THEN press shelfy filter reset button [button.vitesy_shelfy_i_already_washed_the_filter]. 8. IF a completed chore summary contains 'Clean fridge' THEN press shelfy fridge reset button [button.vitesy_shelfy_i_already_cleaned_my_fridge]. 9. Remove all completed items from chores todo [todo.chores]. 10. Wait 5 minutes. 11. Retrieve pending items from chores todo [todo.chores] and store in variable 'chores'. 12. IF today is January 3rd THEN run script add unique chore script [script.add_unique_chore] with data 'Refill emergency water'. 13. IF today is the 1st day of the month THEN run script add unique chore script [script.add_unique_chore] with data 'Set up next month's meals on wheels', 'Water and feed plant', 'Pay bills', 'Check blood pressure', and 'Empty vacuum bag'. 14. IF washer tub clean counter [sensor.washer_tub_clean_counter] is above 29 THEN run script add unique chore script [script.add_unique_chore] with data 'Clean washer'. 15. IF today is the 1st day of a month where month modulo 3 equals 1 (i.e., January, April, July, October) THEN run script add unique chore script [script.add_unique_chore] with data 'Replace furnace filter'. 16. IF today is Monday OR Thursday OR Saturday AND hummingbird feeder input boolean [input_boolean.hummingbird_feeder_out] is on THEN run script add unique chore script [script.add_unique_chore] with data 'Refresh hummingbird liquid'. 17. IF roborock dock error sensor [sensor.roborock_s7_maxv_dock_error] state is NOT 'ok' AND NOT 'unavailable' AND NOT 'unknown' THEN run script add unique chore script [script.add_unique_chore] with data 'vacuum dock error: [current state]'. 18. IF roborock sensor time left [sensor.roborock_s7_maxv_sensor_time_left] is below 0 THEN run script add unique chore script [script.add_unique_chore] with data 'Clean vacuum sensor'. 19. IF roborock filter time left [sensor.roborock_s7_maxv_filter_time_left] is below 0 THEN run script add unique chore script [script.add_unique_chore] with data 'Replace vacuum filter'. 20. IF roborock main brush time left [sensor.roborock_s7_maxv_main_brush_time_left] is below 0 THEN run script add unique chore script [script.add_unique_chore] with data 'Replace vacuum main brush'. 21. IF roborock side brush time left [sensor.roborock_s7_maxv_side_brush_time_left] is below 0 THEN run script add unique chore script [script.add_unique_chore] with data 'Replace vacuum side brush'. 22. IF today is the 1st day of a month where month modulo 3 equals 1 (i.e., January, April, July, October) THEN run script add unique chore script [script.add_unique_chore] with data 'Clean basement bathroom'. 23. IF shelfy remaining filter days [sensor.vitesy_shelfy_remaining_filter_cleaning_days] is below 1 THEN run script add unique chore script [script.add_unique_chore] with data 'Clean Shelfy filter'. 24. IF shelfy remaining fridge days [sensor.vitesy_shelfy_remaining_fridge_cleaning_days] is below 1 THEN run script add unique chore script [script.add_unique_chore] with data 'Clean fridge'. 25. For each battery sensor (excluding phone, Roborock, Mo99, and 'Front Door Motion Sensor Battery') with battery level at or below 80%, run script add unique chore script [script.add_unique_chore] with data 'Replace [sensor name]'.",
"natural_language": {
"trigger": "The automation runs every day at 5:00 AM.",
"conditions": "There are no conditions that must be met for the automation to start; it runs unconditionally at the scheduled time.",
"action": "The automation performs a comprehensive chore management routine. First, it checks the chores todo [todo.chores] list for any completed chores. If specific chores like 'Replace furnace filter' or various vacuum maintenance tasks are found as completed, it triggers corresponding reset buttons on devices like the roborock vacuum or the Shelfy appliance to acknowledge the maintenance. It then clears all completed chores from the list. After a five-minute delay, it fetches the current pending chores. Based on the current date and the status of various sensors, it adds new chores to the list. This includes monthly chores on the 1st of the month, quarterly chores for the furnace and basement bathroom, weekly hummingbird feeder maintenance on specific days if the feeder is out, and chores triggered by sensor readings like low washer cycle counts, vacuum component lifespans, Shelfy filter days, and low battery levels for various devices. The final step involves creating a list of all battery-powered sensors (with some exclusions) that have a battery level at or below 80% and adds a chore to replace each one."
},
"human_like": "This automation manages a daily household chore list by clearing completed tasks, resetting device maintenance counters, and adding new chores based on the date, sensor readings, and device statuses.",
"complexity": "high"
}
},
{
"id": "Deluminate",
"result": {
"structured": "TRIGGER: When a voice command 'Deluminate' is detected via conversation. CONDITIONS: None. ACTIONS: Activate the power off scene [scene.power_off].",
"natural_language": {
"trigger": "When the voice command 'Deluminate' is spoken.",
"conditions": "There are no conditions that must be met.",
"action": "Turns on the power off scene [scene.power_off]."
},
"human_like": "Turns off the lights by activating a scene when you say 'Deluminate'.",
"complexity": "low"
}
},
{
"id": "Entryway on for motion",
"result": {
"structured": "TRIGGER: When entryway motion sensor [7d28ef5d2c38a911fdaed396414d3e47] detects motion. CONDITIONS: (The sun is below the horizon (after sunset AND before sunrise)) AND (entryway light [e61c2892bd3b7db050d5212b10ed5230] is off). ACTIONS: Turn on entryway light [e61c2892bd3b7db050d5212b10ed5230], wait for 5 minutes, then turn off entryway light [e61c2892bd3b7db050d5212b10ed5230].",
"natural_language": {
"trigger": "When motion is detected by the entryway motion sensor [7d28ef5d2c38a911fdaed396414d3e47].",
"conditions": "It must be nighttime (after sunset and before sunrise), and the entryway light [e61c2892bd3b7db050d5212b10ed5230] must currently be off.",
"action": "Turn on the entryway light [e61c2892bd3b7db050d5212b10ed5230], wait for five minutes, and then turn the light off again."
},
"human_like": "Turns on the entryway light for five minutes when motion is detected at night, but only if the light is currently off.",
"complexity": "low"
}
},
{
"id": "Holiday lights morning",
"result": {
"structured": "TRIGGER: When sunrise occurs with an offset of -1 hour (i.e., 1 hour before sunrise). CONDITIONS: None. ACTIONS: Execute the run holiday lights script [script.run_holiday_lights]. Then wait until sunrise occurs with an offset of +1 hour (i.e., 1 hour after sunrise). Then turn off holiday light [device_id: 957afb69a90840abaf62c497bf3c4185].",
"natural_language": {
"trigger": "The automation is triggered one hour before sunrise.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "First, it runs the run holiday lights script [script.run_holiday_lights]. Then, it waits until one hour after sunrise. Finally, it turns off the holiday light [device_id: 957afb69a90840abaf62c497bf3c4185]."
},
"human_like": "Turns on holiday lights one hour before sunrise and turns them off one hour after sunrise.",
"complexity": "medium"
}
},
{
"id": "Holiday lights night",
"result": {
"structured": "TRIGGER: When the sun sets with an offset of -1 hour. CONDITIONS: None. ACTIONS: Execute run holiday lights script [script.run_holiday_lights], then wait until the time is 23:59:59, then turn off holiday light [device_id:957afb69a90840abaf62c497bf3c4185].",
"natural_language": {
"trigger": "One hour before sunset.",
"conditions": "There are no conditions for this automation.",
"action": "First, the run holiday lights script [script.run_holiday_lights] is executed. Then, the automation waits until 11:59:59 PM. Finally, it turns off the holiday light [device_id:957afb69a90840abaf62c497bf3c4185]."
},
"human_like": "Turns on holiday lights an hour before sunset and turns them off at midnight.",
"complexity": "medium"
}
},
{
"id": "House temp",
"result": {
"structured": "TRIGGER: When the time matches a pattern of every hour OR When sick mode input boolean [input_boolean.sick_mode] changes state OR When pet mode input boolean [input_boolean.pet_mode] changes state. CONDITIONS: NOT (family room climate [climate.family_room] HVAC mode is 'off' OR family room climate [climate.family_room] preset mode is 'eco'). ACTIONS: Run the set temp based on mode script [script.set_temp_based_on_mode].",
"natural_language": {
"trigger": "The automation triggers every hour on the hour, or whenever the sick mode input boolean [input_boolean.sick_mode] or the pet mode input boolean [input_boolean.pet_mode] changes its state.",
"conditions": "The automation only runs if the family room climate [climate.family_room] is not set to 'off' mode and is not in the 'eco' preset mode.",
"action": "It executes the set temp based on mode script [script.set_temp_based_on_mode]."
},
"human_like": "This automation adjusts the house temperature based on the current mode, running hourly or when special modes like 'sick' or 'pet' are toggled, but only if the climate system is active.",
"complexity": "medium"
}
},
{
"id": "Illuminate",
"result": {
"structured": "TRIGGER: When the voice command 'Illuminate' is spoken. CONDITIONS: None. ACTIONS: Turn on lights in the living room and office areas AND turn on switch 2 [f2899e19720f9c1b0f0c164f3eea4069] AND turn on bedroom switch [89d5346579b899623f4d4f45014c604a].",
"natural_language": {
"trigger": "When someone says the voice command 'Illuminate'.",
"conditions": "There are no conditions that must be met.",
"action": "Turns on all lights in the living room and office areas, and also turns on the switch 2 [f2899e19720f9c1b0f0c164f3eea4069] and the bedroom switch [89d5346579b899623f4d4f45014c604a]."
},
"human_like": "Turns on lights in the living room and office, plus two specific switches, when you say 'Illuminate'.",
"complexity": "low"
}
},
{
"id": "'Fun: Intruder alert'",
"result": {
"structured": "TRIGGER: When the voice command 'Intruder alert' is spoken. CONDITIONS: None. ACTIONS: First, clear the conversation response. Then, use the TTS service (tts.elevenlabs) to speak the message 'So you have chosen death!' via the media player voice [media_player.home_assistant_voice_091b0c_media_player]. Wait for the media player to be in the 'playing' state, then wait for it to be in the 'idle' state. Next, play the audio file 'doom eternal 22 intro.mp3' on the same media player. Then, activate the indoor power off scene [scene.indoor_power_off]. Next, run the lock doors script [script.lock_doors]. Finally, close all shades [cover.all_shades].",
"natural_language": {
"trigger": "When the voice command 'Intruder alert' is detected.",
"conditions": "There are no conditions; the automation runs immediately upon the trigger.",
"action": "The system will first clear any conversation response. It will then use a text-to-speech voice to say 'So you have chosen death!' through the media player voice [media_player.home_assistant_voice_091b0c_media_player]. After waiting for the speech to start and then finish playing, it will play a specific audio file ('doom eternal 22 intro.mp3') on the same media player. Following this, it will activate a scene that turns off indoor power [scene.indoor_power_off], run a script to lock the doors [script.lock_doors], and finally close all the window shades [cover.all_shades]."
},
"human_like": "When you say 'Intruder alert', the system responds with a dramatic audio message, plays the Doom Eternal intro, locks the doors, closes the shades, and turns off the indoor lights to simulate a security lockdown.",
"complexity": "medium"
}
},
{
"id": "Keep air good",
"result": {
"structured": "TRIGGER: When carbon dioxide sensor [070616c02a3b9688b3a97f4023c0b515] reports a carbon dioxide level above 700. CONDITIONS: (Climate Entity [c6c45aeb39a40b31cfc9e0bd944c67ae] is NOT in HVAC mode 'off') AND (person [person.hofmadresu] is in zone.home). ACTIONS: Set fan mode of family room climate [climate.family_room] to 'on'. Wait until carbon dioxide sensor [070616c02a3b9688b3a97f4023c0b515] reports a carbon dioxide level below 600. Then set fan mode of family room climate [climate.family_room] to 'off'. The automation restarts if triggered again while running.",
"natural_language": {
"trigger": "When the carbon dioxide sensor [070616c02a3b9688b3a97f4023c0b515] detects a carbon dioxide level above 700.",
"conditions": "The Climate Entity [c6c45aeb39a40b31cfc9e0bd944c67ae] must not be turned off, and the person [person.hofmadresu] must be present at home.",
"action": "The automation turns on the fan for the family room climate [climate.family_room], waits for the carbon dioxide level to drop below 600 as reported by the sensor, and then turns the fan off."
},
"human_like": "Turns on the fan to improve air quality when CO2 levels get too high, and turns it off once the air quality improves.",
"complexity": "medium"
}
},
{
"id": "Living room dusk",
"result": {
"structured": "TRIGGER: At sunset offset by -1 hour. CONDITIONS: person [person.hofmadresu] is in zone.home. ACTIONS: Turn on light 1 [6aad29377c9d331661aefb7d3aa9bf6c] AND Turn on light 2 [4f504f129d920af05dbfed66e23bcf8f].",
"natural_language": {
"trigger": "One hour before sunset.",
"conditions": "The person [person.hofmadresu] must be at home, specifically within the zone 'home'.",
"action": "Turn on two living room lights: light 1 [6aad29377c9d331661aefb7d3aa9bf6c] and light 2 [4f504f129d920af05dbfed66e23bcf8f]."
},
"human_like": "Turns on the living room lights one hour before sunset, but only when someone is home.",
"complexity": "low"
}
},
{
"id": "Living room lights off on shades opened",
"result": {
"structured": "TRIGGER: When living room short shades [cover.living_room_short_shades] current_position remains at 100 for 30 seconds OR When living room long shades [cover.living_room_long_shades] current_position remains at 100 for 30 seconds. CONDITIONS: The sun is above the horizon (before sunset). ACTIONS: Turn off light 2 [4f504f129d920af05dbfed66e23bcf8f] AND Turn off light 1 [6aad29377c9d331661aefb7d3aa9bf6c].",
"natural_language": {
"trigger": "When the living room short shades [cover.living_room_short_shades] are fully open (position 100) for 30 seconds, or when the living room long shades [cover.living_room_long_shades] are fully open (position 100) for 30 seconds.",
"conditions": "The automation only runs during the daytime, before sunset.",
"action": "Turns off both living room lights: light 2 [4f504f129d920af05dbfed66e23bcf8f] and light 1 [6aad29377c9d331661aefb7d3aa9bf6c]."
},
"human_like": "Turns off the living room lights when the shades are fully opened during the day.",
"complexity": "medium"
}
},
{
"id": "Make Me Move",
"result": {
"structured": "TRIGGER: When the time pattern matches minutes 30 OR minutes 0 (i.e., every half hour). CONDITIONS: (Time is between 09:00:00 and 17:00:00 AND weekday is Monday, Tuesday, Wednesday, Thursday, or Friday) AND (person [person.hofmadresu] is in zone.home OR person [person.hofmadresu] is in zone.aunties OR person [person.hofmadresu] is in zone.parents) AND (sick mode input boolean [input_boolean.sick_mode] is off). ACTIONS: Define exercise lists (anywhereExercises, nonOfficeExercises, homeEquipmentExercises). Determine person's location (isHome, isAtAunties, isAtParents). Build available exercises list based on location. Randomly select one exercise from the combined list. Construct a notification message with the exercise name and count/seconds. Send a high-priority notification via mobile app notification [notify.mobile_app_pixel_8] with title 'Time To Move', the constructed message, a custom icon, and a 30-minute timeout.",
"natural_language": {
"trigger": "The automation triggers every half hour, at minutes 30 and 0.",
"conditions": "It only runs on weekdays (Monday to Friday) between 9 AM and 5 PM. The person [person.hofmadresu] must be located at home, at the aunties' place, or at the parents' place. Additionally, the sick mode input boolean [input_boolean.sick_mode] must be turned off.",
"action": "It prepares several lists of exercises that can be done anywhere, at non-office locations, and at home with equipment. Based on the person's current location, it builds a combined list of available exercises. It then randomly selects one exercise from this list and sends a high-priority notification to the mobile app notification [notify.mobile_app_pixel_8]. The notification prompts the user to perform the selected exercise, specifying the number of repetitions or the duration."
},
"human_like": "Sends a random exercise reminder notification every half hour during workday hours when the user is at home or a family member's house and is not in sick mode.",
"complexity": "medium"
}
},
{
"id": "Monthly full backup",
"result": {
"structured": "TRIGGER: At 03:00:00. CONDITIONS: The current day of the month is the first day. ACTIONS: Perform a full Home Assistant backup with compression enabled and the Home Assistant database included.",
"natural_language": {
"trigger": "The automation is triggered daily at 3:00 AM.",
"conditions": "The automation only runs if the current day is the first day of the month.",
"action": "Creates a full, compressed backup of the Home Assistant system, including the database."
},
"human_like": "Creates a full system backup on the first day of every month at 3 AM.",
"complexity": "low"
}
},
{
"id": "'Mower: Mow easement on command'",
"result": {
"structured": "TRIGGER: When a conversation command matches 'Mow the easement' OR 'Mow easement'. CONDITIONS: None. ACTIONS: Start mowing for mo99 lawn mower [lawn_mower.mo99] with specific parameters: mowing enabled, no dumping, border mode 0, speed 0.3, ultra_wave 10, channel mode 0, channel width 12, rain tactics 1, toward mode 2, mowing laps 3, obstacle laps 1, start progress 0, blade height 88.9, and targeting area mo99 area 1 switch [switch.mo99_area_8647782149318140073].",
"natural_language": {
"trigger": "When you say either 'Mow the easement' or 'Mow easement' to a voice assistant or conversation interface.",
"conditions": "There are no conditions that must be met.",
"action": "Commands the mo99 lawn mower [lawn_mower.mo99] to start mowing the easement area. It uses a specific set of mowing parameters, including a speed of 0.3, a blade height of 88.9, and targets the area defined by the mo99 area 1 switch [switch.mo99_area_8647782149318140073]."
},
"human_like": "Starts the robot mower to cut the easement when you ask it to.",
"complexity": "low"
}
},
{
"id": "'Mower: Mow lawn'",
"result": {
"structured": "TRIGGER: At 10:00:00 daily. CONDITIONS: None. ACTIONS: IF (precipitation kind sensor [sensor.openweathermap_precipitation_kind] state is None AND remains so for 2 hours) AND (today is mow day sensor [binary_sensor.today_is_mow_day] state is on) AND (temperature sensor [sensor.openweathermap_temperature] numeric state is above 40) THEN IF person [person.hofmadresu] is in zone.home THEN start mowing mo99 lawn mower [lawn_mower.mo99] with areas: mo99 area 1 switch [switch.mo99_area_8647782149318140073], mo99 driveway edge area switch [switch.mo99_area_driveway_edge], and mo99 area 2 switch [switch.mo99_area_3365964821918555184] ELSE start mowing mo99 lawn mower [lawn_mower.mo99] with area: mo99 area 2 switch [switch.mo99_area_3365964821918555184]. THEN send notification to mobile app notification [notify.mobile_app_pixel_8] with title 'Mo' and message 'Mowing has started'. ELSE increment days since last mow input number [input_number.days_since_last_mow].",
"natural_language": {
"trigger": "The automation triggers every day at 10:00 AM.",
"conditions": "There are no global conditions; all checks are performed as part of the action sequence.",
"action": "First, the automation checks if it's a suitable day to mow. It verifies that there has been no precipitation reported for the past two hours, that today is marked as a mowing day, and that the temperature is above 40 degrees. If all these checks pass, it then checks if the person [person.hofmadresu] is at home. If they are home, the mower [lawn_mower.mo99] is instructed to mow three specific lawn areas. If they are not home, the mower is instructed to mow only the main lawn area. After starting the mower, a notification is sent to the mobile phone. If the initial weather, schedule, or temperature checks fail, the automation instead increments a counter that tracks the number of days since the last mow."
},
"human_like": "Automatically starts the robot lawn mower at 10 AM on scheduled days, but only if the weather is dry and warm, and adjusts which areas are mowed based on whether someone is home.",
"complexity": "medium"
}
},
{
"id": "Notify close windows on high AQI",
"result": {
"structured": "TRIGGER: When aqi sensor [sensor.ypsilanti_michigan_usa_air_quality_index] rises above 100. CONDITIONS: bedroom window sensor [binary_sensor.bedroom_window_open_state] is open (on). ACTIONS: Send a notification via mobile app notification [notify.mobile_app_pixel_8] with title 'Close windows' and message 'High AQI'.",
"natural_language": {
"trigger": "When the air quality index sensor [sensor.ypsilanti_michigan_usa_air_quality_index] reports a value greater than 100.",
"conditions": "If the bedroom window sensor [binary_sensor.bedroom_window_open_state] indicates the window is currently open.",
"action": "Sends a push notification to a mobile device [notify.mobile_app_pixel_8] with the title 'Close windows' and the message 'High AQI'."
},
"human_like": "Sends a notification to close the bedroom windows when the air quality is poor.",
"complexity": "low"
}
},
{
"id": "'Mower: Notify complete'",
"result": {
"structured": "TRIGGER: When mo99 progress sensor [sensor.mo99_progress] is above 99. CONDITIONS: None. ACTIONS: Send a high-priority notification titled 'Mo' with message 'Mowing has finished' to mobile app notification [notify.mobile_app_pixel_8] AND set days since last mow input number [input_number.days_since_last_mow] to 0.",
"natural_language": {
"trigger": "When the mower's progress sensor [sensor.mo99_progress] reports a value greater than 99.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a high-priority notification to a mobile device [notify.mobile_app_pixel_8] stating 'Mowing has finished' and resets the counter for days since the last mow [input_number.days_since_last_mow] to zero."
},
"human_like": "Sends a notification and resets a counter when the robotic mower has finished its job.",
"complexity": "low"
}
},
{
"id": "'Mower: Notify error'",
"result": {
"structured": "TRIGGER: When mo99 last error code sensor [sensor.mo99_last_error_code] changes state. CONDITIONS: NOT (time is between 00:00:00 and 09:00:00 OR mo99 last error code sensor [sensor.mo99_last_error_code] is '1005' OR mo99 last error code sensor [sensor.mo99_last_error_code] is '2701' OR mo99 last error code sensor [sensor.mo99_last_error_code] is '1108' OR mo99 last error code sensor [sensor.mo99_last_error_code] is unavailable OR mo99 last error code sensor [sensor.mo99_last_error_code] is unknown). ACTIONS: Choose based on error code: IF mo99 last error code sensor [sensor.mo99_last_error_code] is '1105' THEN wait 1 minute, start mowing on Lawn Mower Device [c1a6fce56e3605c6ec1e00d22321e2f2], and send a notification 'Auto-resume attempted, check if it worked' via mobile app notification [notify.mobile_app_pixel_8]. ELSE IF mo99 last error code sensor [sensor.mo99_last_error_code] is '1300' THEN wait 15 minutes, IF mo99 activity mode sensor [sensor.mo99_activity_mode] is MODE_PAUSE THEN send a notification 'Mo has had weak satellite connection for 15 minutes, check its position' via mobile app notification [notify.mobile_app_pixel_8]. ELSE IF mo99 last error code sensor [sensor.mo99_last_error_code] is '1068' THEN run add unique chore script [script.add_unique_chore] with chore 'Clean Mo's camera'. OTHERWISE send a notification 'Mo encountered an error' with the error code and description via mobile app notification [notify.mobile_app_pixel_8].",
"natural_language": {
"trigger": "Whenever the mo99 last error code sensor [sensor.mo99_last_error_code] changes its state.",
"conditions": "The automation runs only if it is not between midnight and 9 AM, and the error code is not one of the following: '1005', '2701', '1108', 'unavailable', or 'unknown'.",
"action": "Depending on the specific error code, different actions are taken. For error code '1105', the system waits one minute, attempts to restart the mower, and sends a notification about the auto-resume attempt. For error code '1300', it waits fifteen minutes and, if the mower is still paused, sends a notification about a weak satellite connection. For error code '1068', it adds a chore to clean the mower's camera. For any other error code, it sends a notification with the error code and description."
},
"human_like": "Manages robot mower errors by sending notifications and attempting automatic recovery for specific error codes, while ignoring certain errors during the night.",
"complexity": "high"
}
},
{
"id": "Notify to open windows",
"result": {
"structured": "TRIGGER: When temperature sensor [sensor.openweathermap_temperature] is between 60 and 80 degrees. CONDITIONS: person [person.hofmadresu] is home AND current time is between 07:00:00 and 22:00:00 AND bedroom window sensor [binary_sensor.bedroom_window_open_state] is closed (off) AND aqi sensor [sensor.ypsilanti_michigan_usa_air_quality_index] is below 100 AND precipitation kind sensor [sensor.openweathermap_precipitation_kind] is None AND remains None for 1 hour. ACTIONS: Send a notification titled 'Open Windows' with message 'Temp good to open windows' to mobile app notification [notify.mobile_app_pixel_8].",
"natural_language": {
"trigger": "When the outdoor temperature [sensor.openweathermap_temperature] is between 60 and 80 degrees Fahrenheit.",
"conditions": "The person [person.hofmadresu] must be at home, the current time must be between 7:00 AM and 10:00 PM, the bedroom window [binary_sensor.bedroom_window_open_state] must be closed, the local air quality index [sensor.ypsilanti_michigan_usa_air_quality_index] must be below 100, and there must have been no precipitation [sensor.openweathermap_precipitation_kind] for the past hour.",
"action": "Sends a push notification to the mobile device [notify.mobile_app_pixel_8] suggesting to open the windows, with the title 'Open Windows' and the message 'Temp good to open windows'."
},
"human_like": "Suggests opening the windows when the weather is nice, the air quality is good, and it hasn't rained recently, but only if someone is home during the day.",
"complexity": "medium"
}
},
{
"id": "Office automatic lights",
"result": {
"structured": "TRIGGER: When office motion sensor [binary_sensor.office_motion_sensor_motion] detects motion (state changes to on). CONDITIONS: office light 1 [570122fb667e2bbf465c4b1eee4cc5b8] is off AND office light 2 [525207ce60b068d636526e83f993b12a] is off AND pet mode input boolean [input_boolean.pet_mode] is off AND office shades [cover.office_shades] current_position is below 50. ACTIONS: Turn on all lights in the office area, then wait for office motion sensor [binary_sensor.office_motion_sensor_motion] to remain not detecting motion (state changes from on and stays off) for 1 minute, then turn off all lights in the office area.",
"natural_language": {
"trigger": "When motion is detected by the office motion sensor [binary_sensor.office_motion_sensor_motion].",
"conditions": "If both office light 1 [570122fb667e2bbf465c4b1eee4cc5b8] and office light 2 [525207ce60b068d636526e83f993b12a] are off, the pet mode input boolean [input_boolean.pet_mode] is disabled, and the office shades [cover.office_shades] are less than 50% open.",
"action": "Turn on all the lights in the office area. After that, the automation waits for the office motion sensor [binary_sensor.office_motion_sensor_motion] to report no motion for a full minute, and then turns off all the lights in the office area."
},
"human_like": "Automatically turns on the office lights when motion is detected and conditions are right, and turns them off again after a minute of no motion.",
"complexity": "medium"
}
},
{
"id": "Office lights off on shade open",
"result": {
"structured": "TRIGGER: When the template condition '{{state_attr('cover.office_shades', 'current_position') | int == 100 }}' evaluates to true AND remains true for 30 seconds. CONDITIONS: The sun is above the horizon (before sunset). ACTIONS: Turn off office light 1 [570122fb667e2bbf465c4b1eee4cc5b8], Turn off office light 2 [525207ce60b068d636526e83f993b12a], AND Turn off office light 3 [df93ec8a60392af9342a2076858609f2].",
"natural_language": {
"trigger": "When the office shades [cover.office_shades] are fully open (position at 100%) and remain in that state for 30 seconds.",
"conditions": "The automation only runs if it is currently daytime, specifically before sunset.",
"action": "Turns off all three office lights: office light 1 [570122fb667e2bbf465c4b1eee4cc5b8], office light 2 [525207ce60b068d636526e83f993b12a], and office light 3 [df93ec8a60392af9342a2076858609f2]."
},
"human_like": "Automatically turns off the office lights when the shades are fully open during the day, saving energy when natural light is sufficient.",
"complexity": "medium"
}
},
{
"id": "Office lights off when computer shut down",
"result": {
"structured": "TRIGGER: When computer plug power sensor [sensor.computer_plug_top_power] power consumption falls below 10. CONDITIONS: None. ACTIONS: Turn off all lights in the office area.",
"natural_language": {
"trigger": "When the power consumption of the computer plug power sensor [sensor.computer_plug_top_power] drops below 10 watts.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns off all the lights in the office area."
},
"human_like": "Turns off the office lights when the computer's power consumption indicates it has been shut down.",
"complexity": "low"
}
},
{
"id": "'On Startup: shut off driveway garden watering'",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: driveway garden switch [f823727348b8efe0357b3e46bcf0329e] is on. ACTIONS: Turn off driveway garden switch [f823727348b8efe0357b3e46bcf0329e].",
"natural_language": {
"trigger": "When Home Assistant starts up.",
"conditions": "If the driveway garden switch [f823727348b8efe0357b3e46bcf0329e] is currently turned on.",
"action": "Turns off the driveway garden switch [f823727348b8efe0357b3e46bcf0329e]."
},
"human_like": "Ensures the driveway garden watering is turned off when Home Assistant restarts, preventing it from accidentally running.",
"complexity": "low"
}
},
{
"id": "'Mower: power control'",
"result": {
"structured": "TRIGGER: At 01:00:00 daily. CONDITIONS: None. ACTIONS: If today is mow day sensor [binary_sensor.today_is_mow_day] is on, then turn on mower outlet switch [switch.mower_outlet], wait 5 minutes, then turn on mo99 updates switch [switch.mo99_turn_updates_on_off]. Otherwise, if mower outlet switch [switch.mower_outlet] is on, then turn off mo99 updates switch [switch.mo99_turn_updates_on_off], wait 5 minutes, then turn off mower outlet switch [switch.mower_outlet].",
"natural_language": {
"trigger": "The automation runs every day at 1:00 AM.",
"conditions": "There are no conditions that must be met before the actions are executed.",
"action": "If today is mow day sensor [binary_sensor.today_is_mow_day] indicates it is a mowing day, the automation will turn on the mower outlet switch [switch.mower_outlet], wait for five minutes, and then turn on the mo99 updates switch [switch.mo99_turn_updates_on_off]. If it is not a mowing day, the automation will check if the mower outlet switch [switch.mower_outlet] is on. If it is, it will turn off the mo99 updates switch [switch.mo99_turn_updates_on_off], wait for five minutes, and then turn off the mower outlet switch [switch.mower_outlet]."
},
"human_like": "Manages the power for the mower based on the schedule, turning it on for mowing days and off otherwise, with a delay between switching different components.",
"complexity": "medium"
}
},
{
"id": "Protect from heat",
"result": {
"structured": "TRIGGER: When temperature sensor [sensor.openweathermap_feels_like_temperature] is above 89 OR temperature sensor [sensor.openweathermap_temperature] is above 89. CONDITIONS: ((south shades [cover.south_shades] is open OR bedroom window sensor [binary_sensor.bedroom_window_open_state] is on) AND person [person.hofmadresu] is home). ACTIONS: If (bedroom window sensor [binary_sensor.bedroom_window_open_state] is on AND south shades [cover.south_shades] is open) THEN: Use TTS to announce 'Heat index is very high, you should close windows. South shades will close in 5 minutes' on media player voice [media_player.home_assistant_voice_091b0c_media_player], send a notification 'Extreme high temperature: Heat index is very high, you should close windows. South shades will close in 5 minutes' to mobile app notification [notify.mobile_app_pixel_8], wait 5 minutes, and close south shades [cover.south_shades]. If (south shades [cover.south_shades] is open AND bedroom window sensor [binary_sensor.bedroom_window_open_state] is NOT on) THEN: Close south shades [cover.south_shades]. If (bedroom window sensor [binary_sensor.bedroom_window_open_state] is on AND south shades [cover.south_shades] is NOT open) THEN: Create a persistent notification 'Extreme high temperature: Heat index is very high, you should close windows' and use TTS to announce 'Heat index is very high, you should close windows' on media player voice [media_player.home_assistant_voice_091b0c_media_player].",
"natural_language": {
"trigger": "The automation triggers when the feels like temperature sensor [sensor.openweathermap_feels_like_temperature] or the temperature sensor [sensor.openweathermap_temperature] reports a value above 89 degrees.",
"conditions": "For the automation to proceed, the person [person.hofmadresu] must be home, and either the south shades [cover.south_shades] must be open or the bedroom window sensor [binary_sensor.bedroom_window_open_state] must indicate the window is open.",
"action": "Depending on which openings are open, different actions are taken. If both the window and shades are open, a voice announcement is made and a mobile notification is sent warning about the high heat and that the shades will close in 5 minutes. After the delay, the shades are closed. If only the shades are open, they are closed immediately. If only the window is open, a persistent notification and a voice announcement are sent advising the user to close the windows."
},
"human_like": "When it gets very hot and someone is home, this automation warns about open windows and shades, and automatically closes the shades if needed to protect from the heat.",
"complexity": "medium"
}
},
{
"id": "Set alarm on command",
"result": {
"structured": "TRIGGER: When a conversation command is recognized as 'Goodnight' OR 'Good night'. CONDITIONS: None. ACTIONS: Clear the conversation response. Then, execute two parallel sequences: (1) After a 10-second delay, arm the alarm control panel [ed8fc83278462fc5ba4f6de76da799ad] to home mode using a secret code, then run the lock doors script [script.lock_doors], then after a 50-second delay, activate the power off scene [scene.power_off]. (2) If alarm circuitbreaker input boolean [input_boolean.alarm_circuitbreaker] is off, then run the morning routine script [script.morning_routine].",
"natural_language": {
"trigger": "When you say 'Goodnight' or 'Good night' to the assistant.",
"conditions": "There are no conditions that must be met.",
"action": "The assistant will not give a verbal response. Then, two sets of actions will run at the same time. The first set waits 10 seconds, arms the alarm control panel [ed8fc83278462fc5ba4f6de76da799ad] in home mode using a secret code, runs the lock doors script [script.lock_doors], waits another 50 seconds, and finally turns on the power off scene [scene.power_off]. The second set checks if the alarm circuitbreaker input boolean [input_boolean.alarm_circuitbreaker] is off, and if it is, it runs the morning routine script [script.morning_routine]."
},
"human_like": "Sets the alarm, locks the doors, and turns off power when you say 'Goodnight', and also runs the morning routine if the alarm circuitbreaker is off.",
"complexity": "medium"
}
},
{
"id": "Set morning alarm override",
"result": {
"structured": "TRIGGER: When a voice command matching the pattern 'Set morning alarm to {time}' is processed. CONDITIONS: None. ACTIONS: Set alarm override time input datetime [input_datetime.alarm_override_time] to the time value from the voice command AND Turn on alarm override active input boolean [input_boolean.alarm_override_active].",
"natural_language": {
"trigger": "When a user issues a voice command to set the morning alarm to a specific time.",
"conditions": "There are no conditions that must be met.",
"action": "Sets the alarm override time input datetime [input_datetime.alarm_override_time] to the time specified in the voice command and then activates the override by turning on alarm override active input boolean [input_boolean.alarm_override_active]."
},
"human_like": "Allows you to set a one-time morning alarm time using a voice command.",
"complexity": "low"
}
},
{
"id": "Terrible air notification",
"result": {
"structured": "TRIGGER: When carbon dioxide sensor [070616c02a3b9688b3a97f4023c0b515] remains above 1000 ppm for 10 minutes OR When carbon dioxide sensor [070616c02a3b9688b3a97f4023c0b515] remains above 800 ppm for 1 hour. CONDITIONS: (person [person.hofmadresu] is in zone.home) AND (NOT (bedroom window sensor [binary_sensor.bedroom_window_open_state] is on)). ACTIONS: Send a notification to mobile app notification [notify.mobile_app_pixel_8] with title 'Terrible air, maybe you should open a window' and message 'CO2 is very high'.",
"natural_language": {
"trigger": "When the carbon dioxide sensor [070616c02a3b9688b3a97f4023c0b515] detects levels above 1000 ppm for at least 10 minutes, or above 800 ppm for at least 1 hour.",
"conditions": "If the person [person.hofmadresu] is at home, and the bedroom window sensor [binary_sensor.bedroom_window_open_state] indicates the window is not open.",
"action": "Sends a notification to the mobile app notification [notify.mobile_app_pixel_8] with the title 'Terrible air, maybe you should open a window' and the message 'CO2 is very high'."
},
"human_like": "Sends a notification about high CO2 levels when someone is home and the bedroom window is closed, suggesting to open a window.",
"complexity": "medium"
}
},
{
"id": "Toggle recycling boolean",
"result": {
"structured": "TRIGGER: At 11:00:00. CONDITIONS: Day is Tuesday. ACTIONS: Toggle recycling input boolean [input_boolean.recycling_at_next_trash].",
"natural_language": {
"trigger": "The automation runs every day at 11:00.",
"conditions": "It only proceeds if the current day is Tuesday.",
"action": "It toggles the state of the recycling input boolean [input_boolean.recycling_at_next_trash]."
},
"human_like": "Toggles the recycling reminder every Tuesday at 11 AM.",
"complexity": "low"
}
},
{
"id": "Vacation mode off",
"result": {
"structured": "TRIGGER: When vacation mode input boolean [input_boolean.vacation_mode] changes from on to off. CONDITIONS: None. ACTIONS: Set family room climate [climate.family_room] preset mode to none AND Turn off vacation mode input boolean [input_boolean.vacation_mode] AND Turn off vacuum circuitbreaker input boolean [input_boolean.vacuum_circuitbreaker] AND Start set temp based on mode script [script.set_temp_based_on_mode] AND Turn on non essential outlets switch [switch.non_essential_outlets].",
"natural_language": {
"trigger": "When the vacation mode input boolean [input_boolean.vacation_mode] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "The automation will first set the family room climate [climate.family_room] to its normal preset mode. It will then turn off both the vacation mode input boolean [input_boolean.vacation_mode] and the vacuum circuitbreaker input boolean [input_boolean.vacuum_circuitbreaker]. Next, it runs the set temp based on mode script [script.set_temp_based_on_mode] and finally turns on the non essential outlets switch [switch.non_essential_outlets]."
},
"human_like": "Turns off vacation mode and restores normal home operations, including climate settings, power outlets, and vacuuming.",
"complexity": "low"
}
},
{
"id": "Vacation mode on",
"result": {
"structured": "TRIGGER: At 04:00:00. CONDITIONS: (vacation mode circuitbreaker input boolean [input_boolean.vacation_mode_circuitbreaker] is off) AND (person [person.hofmadresu] is NOT in zone.home). ACTIONS: Turn on vacation mode input boolean [input_boolean.vacation_mode], run vacation script [script.vacation], set family room climate [climate.family_room] preset mode to eco, turn on vacuum circuitbreaker input boolean [input_boolean.vacuum_circuitbreaker], and turn off non essential outlets switch [switch.non_essential_outlets].",
"natural_language": {
"trigger": "Every day at 4:00 AM.",
"conditions": "If the vacation mode circuitbreaker input boolean [input_boolean.vacation_mode_circuitbreaker] is off, and the person [person.hofmadresu] is not at home.",
"action": "Activates vacation mode by turning on the vacation mode input boolean [input_boolean.vacation_mode], running the vacation script [script.vacation], setting the family room climate [climate.family_room] to eco preset, turning on the vacuum circuitbreaker input boolean [input_boolean.vacuum_circuitbreaker], and turning off the non essential outlets switch [switch.non_essential_outlets]."
},
"human_like": "Automatically activates vacation settings at 4 AM when no one is home and the vacation mode is not manually overridden.",
"complexity": "medium"
}
},
{
"id": "Vacuum main floor",
"result": {
"structured": "TRIGGER: At 11:00:00 daily. CONDITIONS: (vacuum circuitbreaker input boolean [input_boolean.vacuum_circuitbreaker] is off) AND (vacation mode input boolean [input_boolean.vacation_mode] is off). ACTIONS: If it is Sunday, set roborock vacuum [vacuum.roborock_s7_maxv] fan speed to max, set vacuum mop mode select [dfbe856fbf9eebc63d793e257ef12970] to moderate, start roborock vacuum [vacuum.roborock_s7_maxv], and stop further action processing. If it is Wednesday, set roborock vacuum [vacuum.roborock_s7_maxv] fan speed to quiet, set vacuum mop mode select [dfbe856fbf9eebc63d793e257ef12970] to mild, start roborock vacuum [vacuum.roborock_s7_maxv], and stop further action processing. If it is Friday OR pet mode input boolean [input_boolean.pet_mode] is on, set roborock vacuum [vacuum.roborock_s7_maxv] fan speed to quiet, set vacuum mop mode select [dfbe856fbf9eebc63d793e257ef12970] to off, and start roborock vacuum [vacuum.roborock_s7_maxv].",
"natural_language": {
"trigger": "Every day at 11:00 AM.",
"conditions": "The vacuum circuitbreaker input boolean [input_boolean.vacuum_circuitbreaker] must be off, and the vacation mode input boolean [input_boolean.vacation_mode] must also be off.",
"action": "On Sundays, the vacuum will be set to maximum fan speed and a moderate mop mode before starting, and no other actions will run. On Wednesdays, the vacuum will be set to quiet fan speed and a mild mop mode before starting, and no other actions will run. On Fridays, or if the pet mode input boolean [input_boolean.pet_mode] is turned on, the vacuum will be set to quiet fan speed and the mop mode will be turned off before starting."
},
"human_like": "Automatically starts the vacuum at 11 AM on specific days with different cleaning settings, unless vacation mode or a circuit breaker is active.",
"complexity": "medium"
}
},
{
"id": "Water driveway garden",
"result": {
"structured": "TRIGGER: When sunset occurs with an offset of -1 hour (i.e., 1 hour before sunset). CONDITIONS: (temperature sensor [sensor.openweathermap_temperature] is above 50) AND (precipitation kind sensor [sensor.openweathermap_precipitation_kind] is None AND remains stable for 12 hours). ACTIONS: Turn on driveway garden switch [f823727348b8efe0357b3e46bcf0329e], wait for 10 minutes, then turn off driveway garden switch [f823727348b8efe0357b3e46bcf0329e].",
"natural_language": {
"trigger": "One hour before sunset.",
"conditions": "If the temperature sensor [sensor.openweathermap_temperature] reports a temperature above 50, and the precipitation kind sensor [sensor.openweathermap_precipitation_kind] has reported no precipitation (state 'None') for the past 12 hours.",
"action": "Turn on the driveway garden switch [f823727348b8efe0357b3e46bcf0329e] for 10 minutes, then turn it off."
},
"human_like": "Waters the driveway garden for 10 minutes in the early evening, but only if it's warm enough and hasn't rained recently.",
"complexity": "medium"
}
},
{
"id": "'Water leak: basement sink'",
"result": {
"structured": "TRIGGER: When basement sink leak detector [binary_sensor.basement_sink_leak_detector_moisture] changes state to on (moisture detected). CONDITIONS: None. ACTIONS: Execute the water leak notification script [script.water_leak_notification] with the parameter location set to 'basement sink'.",
"natural_language": {
"trigger": "When the basement sink leak detector [binary_sensor.basement_sink_leak_detector_moisture] detects moisture and changes its state to 'on'.",
"conditions": "There are no conditions that must be met.",
"action": "Runs the water leak notification script [script.water_leak_notification], specifying the location as 'basement sink'."
},
"human_like": "Sends a water leak alert when moisture is detected under the basement sink.",
"complexity": "low"
}
},
{
"id": "What's the AQI",
"result": {
"structured": "TRIGGER: When a conversation command matches 'What's the AQI'. CONDITIONS: None. ACTIONS: Respond with the current state of aqi sensor [sensor.ypsilanti_michigan_usa_air_quality_index].",
"natural_language": {
"trigger": "When a user asks the voice assistant 'What's the AQI'.",
"conditions": "There are no conditions that must be met.",
"action": "The voice assistant will read out the current Air Quality Index value from the aqi sensor [sensor.ypsilanti_michigan_usa_air_quality_index]."
},
"human_like": "Tells you the current Air Quality Index when you ask for it.",
"complexity": "low"
}
},
{
"id": "'Mower: Where is Mo'",
"result": {
"structured": "TRIGGER: When a conversation command matches 'Where is mo', 'Where is moe', or 'Where is mow'. CONDITIONS: None. ACTIONS: If mo99 charging sensor [binary_sensor.mo99_charging] is on, then set conversation response to 'Moe is charging'. Otherwise, set conversation response to 'Moe is mowing the {{states.sensor.mo99_work_area.state}}'.",
"natural_language": {
"trigger": "When someone asks the voice assistant 'Where is mo', 'Where is moe', or 'Where is mow'.",
"conditions": "There are no conditions that must be met.",
"action": "If the mo99 charging sensor [binary_sensor.mo99_charging] indicates the mower is charging, the assistant will respond 'Moe is charging'. If it is not charging, the assistant will respond with 'Moe is mowing the' followed by the current value of the mo99 work area sensor [sensor.mo99_work_area]."
},
"human_like": "When asked where the mower is, it will tell you if it's charging or what area it is currently mowing.",
"complexity": "low"
}
},
{
"id": "Work run mode ringer volume",
"result": {
"structured": "TRIGGER: At 23:00:00 daily. CONDITIONS: on call calendar [calendar.on_call_schedule_for_matt_hoffman] is on. ACTIONS: Send a mobile notification to mobile app device [device_id: 2a4dba515991380dd038caf3d8ffa4e6] to set the ring stream volume to level 7, wait for 9 hours, then send another mobile notification to the same device to set the ring stream volume to level 3.",
"natural_language": {
"trigger": "Every day at 11:00 PM.",
"conditions": "The on call calendar [calendar.on_call_schedule_for_matt_hoffman] must show that the user is currently on call.",
"action": "Sends a command to the mobile app device [device_id: 2a4dba515991380dd038caf3d8ffa4e6] to set the ringer volume to a loud level (7). After a delay of 9 hours, it sends another command to the same device to lower the ringer volume back to a normal level (3)."
},
"human_like": "Sets a louder ringer volume overnight when on call, and returns it to normal in the morning.",
"complexity": "medium"
}
}
]