AutomationDataset/chrisron95/automation-descriptions.json

1523 lines
173 KiB
JSON

[
{
"id": "81bee5ee-6820-4626-aebf-3deb8de69e4d",
"result": {
"structured": "TRIGGER: When the current time reported by time sensor [sensor.time] equals the time value stored in audible notification on input datetime [input_datetime.audible_notification_on]. CONDITIONS: None. ACTIONS: Turn on audible notifications input boolean [input_boolean.audible_notifications].",
"natural_language": {
"trigger": "When the current time matches the specific time set in the audible notification on input datetime [input_datetime.audible_notification_on].",
"conditions": "There are no conditions for this automation.",
"action": "Enables audible notifications by turning on the audible notifications input boolean [input_boolean.audible_notifications]."
},
"human_like": "Turns on audible notifications at a specific scheduled time.",
"complexity": "low"
}
},
{
"id": "e0e9c774-6abe-42aa-bdab-32108bebb0e9",
"result": {
"structured": "TRIGGER: When the current time reported by time sensor [sensor.time] matches the time value stored in audible notification off input datetime [input_datetime.audible_notification_off]. CONDITIONS: audible notifications input boolean [input_boolean.audible_notifications] is on. ACTIONS: Turn off audible notifications input boolean [input_boolean.audible_notifications].",
"natural_language": {
"trigger": "When the current time matches the specific time set in the audible notification off input datetime [input_datetime.audible_notification_off].",
"conditions": "The audible notifications input boolean [input_boolean.audible_notifications] must be in the 'on' state.",
"action": "Turns off the audible notifications input boolean [input_boolean.audible_notifications], disabling audible notifications."
},
"human_like": "Automatically turns off audible notifications at a scheduled time.",
"complexity": "low"
}
},
{
"id": "time_for_bed_annc",
"result": {
"structured": "TRIGGER: At 22:30:00. CONDITIONS: None. ACTIONS: Execute Status Announcement [script.status_annc] with parameters: who = everywhere, call_time_for_bed = 1.",
"natural_language": {
"trigger": "Every day at 10:30 PM.",
"conditions": "There are no conditions.",
"action": "Runs the Status Announcement [script.status_annc] script, sending a 'time for bed' announcement everywhere."
},
"human_like": "Plays a 'time for bed' announcement throughout the house every night at 10:30 PM.",
"complexity": "low"
}
},
{
"id": "a3739bb0-632d-4526-bf82-ee4e27b80882",
"result": {
"structured": "TRIGGER: When room audio sensor [sensor.room_audio] changes state. CONDITIONS: None. ACTIONS: Set the value of room presence input text [input_text.room_presence] to the current state of room audio sensor [sensor.room_audio] AND Publish the current state of room audio sensor [sensor.room_audio] to the MQTT topic 'house/presence/current_room' with the retain flag set to true.",
"natural_language": {
"trigger": "Whenever the state of the room audio sensor [sensor.room_audio] changes.",
"conditions": "There are no conditions for this automation.",
"action": "Updates the room presence input text [input_text.room_presence] with the latest value from the audio sensor, and publishes that same value to the MQTT topic 'house/presence/current_room' so it is retained for other systems."
},
"human_like": "Updates the current room presence information whenever the audio sensor detects a change, keeping both a local input text and a retained MQTT message in sync.",
"complexity": "low"
}
},
{
"id": "8a2711f5-a034-4df0-ba67-4b8f85ceaaee",
"result": {
"structured": "TRIGGER: When audible notifications input boolean [input_boolean.audible_notifications] changes to off. CONDITIONS: None. ACTIONS: Set the volume level to 0.3 for media players: kitchen echo dot media player [media_player.kitchen_echo_dot], living room echo media player [media_player.living_room_echo], chris s echo flex media player [media_player.chris_s_echo_flex], chris s echo show media player [media_player.chris_s_echo_show], and lab echo dot media player [media_player.lab_echo_dot].",
"natural_language": {
"trigger": "When the audible notifications input boolean [input_boolean.audible_notifications] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Sets the volume of all specified Echo devices to 30%. This includes the kitchen echo dot media player [media_player.kitchen_echo_dot], living room echo media player [media_player.living_room_echo], chris s echo flex media player [media_player.chris_s_echo_flex], chris s echo show media player [media_player.chris_s_echo_show], and lab echo dot media player [media_player.lab_echo_dot]."
},
"human_like": "Lowers the volume on all Echo devices to 30% when audible notifications are disabled.",
"complexity": "low"
}
},
{
"id": "d5fe0a64-9012-4446-b946-cbcafb2c0728",
"result": {
"structured": "TRIGGER: When audible notifications input boolean [input_boolean.audible_notifications] changes to on. CONDITIONS: None. ACTIONS: Set volume level to 0.5 on kitchen echo dot media player [media_player.kitchen_echo_dot], living room echo media player [media_player.living_room_echo], chris s echo flex media player [media_player.chris_s_echo_flex], chris s echo show media player [media_player.chris_s_echo_show], and lab echo dot media player [media_player.lab_echo_dot].",
"natural_language": {
"trigger": "When the audible notifications input boolean [input_boolean.audible_notifications] is turned on.",
"conditions": "There are no conditions that must be met.",
"action": "Sets the volume to 50% on all the specified Echo devices: kitchen echo dot media player [media_player.kitchen_echo_dot], living room echo media player [media_player.living_room_echo], chris s echo flex media player [media_player.chris_s_echo_flex], chris s echo show media player [media_player.chris_s_echo_show], and lab echo dot media player [media_player.lab_echo_dot]."
},
"human_like": "Sets all the household Echo devices to a standard notification volume when audible notifications are enabled.",
"complexity": "low"
}
},
{
"id": "28c0e7a6-4024-48c9-a422-8b8ffc3a86d1",
"result": {
"structured": "TRIGGER: When any of the following media players change state: kitchen echo dot media player [media_player.kitchen_echo_dot], living room echo media player [media_player.living_room_echo], chris s echo flex media player [media_player.chris_s_echo_flex], chris s echo show media player [media_player.chris_s_echo_show], or lab echo dot media player [media_player.lab_echo_dot]. CONDITIONS: The last_called_timestamp attribute of the triggering media player has increased (the new timestamp is greater than the old timestamp). ACTIONS: Set the date and time of last time alexa called input datetime [input_datetime.last_time_alexa_called] to the current date and time.",
"natural_language": {
"trigger": "When the state of any of the Alexa devices (kitchen echo dot media player [media_player.kitchen_echo_dot], living room echo media player [media_player.living_room_echo], chris s echo flex media player [media_player.chris_s_echo_flex], chris s echo show media player [media_player.chris_s_echo_show], or lab echo dot media player [media_player.lab_echo_dot]) changes.",
"conditions": "The change must be due to the device's 'last_called_timestamp' attribute increasing, meaning a more recent call or interaction has been registered.",
"action": "Updates the 'last time alexa called input datetime [input_datetime.last_time_alexa_called]' to the current date and time."
},
"human_like": "Updates a timestamp whenever any Alexa device registers a new voice interaction or call.",
"complexity": "medium"
}
},
{
"id": "06611dfc596b4d79bc1b3cde11e93347",
"result": {
"structured": "TRIGGER: When bathroom humidity sensor [sensor.bathroom_humidity] remains above the value set in bathroom humidity high level input number [input_number.bathroom_humidity_high_level] for 30 seconds. CONDITIONS: None. ACTIONS: Turn on bathroom fan switch [switch.bathroom_fan].",
"natural_language": {
"trigger": "When the bathroom humidity sensor [sensor.bathroom_humidity] reports a humidity level that is higher than the threshold value set in the bathroom humidity high level input number [input_number.bathroom_humidity_high_level] for at least 30 seconds.",
"conditions": "There are no additional conditions that must be met.",
"action": "Turns on the bathroom fan switch [switch.bathroom_fan] to help reduce the humidity."
},
"human_like": "Automatically turns on the bathroom fan when the humidity level is too high for a short period.",
"complexity": "low"
}
},
{
"id": "331455d398e7440d955caa48f35b6cde",
"result": {
"structured": "TRIGGER: When bathroom humidity sensor [sensor.bathroom_humidity] is above 40% AND below the value of bathroom humidity low level input number [input_number.bathroom_humidity_low_level] AND remains in that range for 10 minutes. ACTIONS: Turn off bathroom fan switch [switch.bathroom_fan].",
"natural_language": {
"trigger": "When the bathroom humidity sensor [sensor.bathroom_humidity] reports a value that is above 40% but below the threshold set by the bathroom humidity low level input number [input_number.bathroom_humidity_low_level], and this condition persists for 10 minutes.",
"conditions": "There are no explicit conditions in this automation.",
"action": "Turns off the bathroom fan switch [switch.bathroom_fan]."
},
"human_like": "Turns off the bathroom fan when the humidity has been moderately low for 10 minutes.",
"complexity": "low"
}
},
{
"id": "'1587008568649'",
"result": {
"structured": "TRIGGER: When an MQTT message is received on the topic 'living_room/light/toggle'. CONDITIONS: None. ACTIONS: Toggle living room fan light [light.living_room_fan_light].",
"natural_language": {
"trigger": "When a specific MQTT message is published to the topic 'living_room/light/toggle'.",
"conditions": "There are no conditions that must be met.",
"action": "Toggles the state of the living room fan light [light.living_room_fan_light] (turns it on if it's off, or off if it's on)."
},
"human_like": "Toggles the living room light on or off when a specific MQTT command is received.",
"complexity": "low"
}
},
{
"id": "6c9f49dabdea44c19255d71723f3dde4",
"result": {
"structured": "TRIGGER: When an MQTT message is received on the topic 'bedroom/fan_light/toggle'. CONDITIONS: None. ACTIONS: Toggle bedroom fan lights [light.bedroom_fan_lights].",
"natural_language": {
"trigger": "When a specific MQTT message is published to the topic 'bedroom/fan_light/toggle'.",
"conditions": "There are no conditions that must be met.",
"action": "Toggles the state of the bedroom fan lights [light.bedroom_fan_lights], turning them on if they are off, or off if they are on."
},
"human_like": "Toggles the bedroom fan light on or off when a specific MQTT command is received.",
"complexity": "low"
}
},
{
"id": "'1601067953579'",
"result": {
"structured": "TRIGGER: When an iOS action event with actionName 'Test' is fired. CONDITIONS: None. ACTIONS: Toggle lab fan light [light.lab_fan_light].",
"natural_language": {
"trigger": "When a specific iOS action named 'Test' is triggered from a mobile device.",
"conditions": "There are no conditions for this automation.",
"action": "Toggles the lab fan light [light.lab_fan_light] on or off."
},
"human_like": "Toggles the lab light when a 'Test' action is triggered from an iOS device.",
"complexity": "low"
}
},
{
"id": "'1615999793826'",
"result": {
"structured": "TRIGGER: When the automation is triggered manually or via a script (implicitly defined by the blueprint). CONDITIONS: None explicitly defined in the provided automation snippet. ACTIONS: Use the blueprint 'NachtaktiverHalbaffe/alexa-tts-announcement-from-lovelace-ui-and-without-nabu-casa-alexa-media-player.yaml' to send a TTS/announcement message using the content from alexa message text input text [input_text.alexa_message_text] to the device(s) selected in alexa devices input select [input_select.alexa_devices].",
"natural_language": {
"trigger": "This automation is triggered manually or via a script, as defined by the blueprint it uses.",
"conditions": "There are no specific conditions defined in this automation; it relies on the blueprint's internal logic.",
"action": "It uses a blueprint to send a text-to-speech announcement. The message is taken from the 'alexa message text input text' [input_text.alexa_message_text] and is played on the Alexa device(s) selected in 'alexa devices input select' [input_select.alexa_devices]."
},
"human_like": "Sends a custom voice announcement to selected Alexa devices using text entered in a Lovelace UI input field.",
"complexity": "low"
}
},
{
"id": "'1616084444705'",
"result": {
"structured": "TRIGGER: When tasmota device 517105d1d709294e0650b8f8b53dc3f8 button_1 is short-pressed. CONDITIONS: None. ACTIONS: Toggle bathroom fan switch [switch.bathroom_fan].",
"natural_language": {
"trigger": "When the button_1 on the tasmota device 517105d1d709294e0650b8f8b53dc3f8 is short-pressed.",
"conditions": "There are no conditions.",
"action": "Toggle the bathroom fan switch [switch.bathroom_fan], turning it on if it's off, or off if it's on."
},
"human_like": "Toggles the bathroom fan on or off with a single button press.",
"complexity": "low"
}
},
{
"id": "'1616451082602'",
"result": {
"structured": "TRIGGER: When tasmota device 082f2d49dab1e06234cbc1a01d3787dc [device_id: 082f2d49dab1e06234cbc1a01d3787dc] button_1 is long-pressed OR When tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f [device_id: f51e5de9797e5949aa2cacb1b5bbfb8f] button_1 is long-pressed. CONDITIONS: None. ACTIONS: Set lab fan [fan.lab_fan] percentage to 33 if it is off, to 66 if its current percentage is 33, to 100 if its current percentage is 66, or to 0 (off) if its current percentage is 100.",
"natural_language": {
"trigger": "When a long press is detected on button 1 of either the tasmota device 082f2d49dab1e06234cbc1a01d3787dc [device_id: 082f2d49dab1e06234cbc1a01d3787dc] or the tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f [device_id: f51e5de9797e5949aa2cacb1b5bbfb8f].",
"conditions": "There are no conditions.",
"action": "Cycles the lab fan [fan.lab_fan] through its speed settings. If the fan is off, it sets the speed to 33%. If it's at 33%, it increases to 66%. If it's at 66%, it increases to 100%. If it's at 100%, it turns the fan off."
},
"human_like": "Cycles the lab fan speed with a long press of a button, moving from off to low, medium, high, and back to off.",
"complexity": "medium"
}
},
{
"id": "'1616454279431'",
"result": {
"structured": "TRIGGER: When button_1 on tasmota device 7d85bf0a57468f7e8385682e13b24e1d is long-pressed. CONDITIONS: None. ACTIONS: Set the speed of bedroom fan [fan.bedroom_fan] based on its current state: if it is off, set to 33%; if it is at 33%, set to 66%; if it is at 66%, set to 100%; if it is at 100%, set to 0% (off).",
"natural_language": {
"trigger": "When button 1 on the Tasmota device in the bedroom is held down for a long press.",
"conditions": "There are no conditions that need to be met.",
"action": "Cycles the bedroom fan [fan.bedroom_fan] through its speed settings. If the fan is off, it turns it on to 33% speed. If it's at 33%, it increases to 66%. If it's at 66%, it increases to 100%. If it's at 100%, it turns the fan off."
},
"human_like": "Cycles the bedroom fan speed with a long press of a button, turning it on to low, then medium, then high, and finally off.",
"complexity": "medium"
}
},
{
"id": "'1616454324529'",
"result": {
"structured": "TRIGGER: When button_1 on tasmota device 7d85bf0a57468f7e8385682e13b24e1d is double-pressed. CONDITIONS: None. ACTIONS: Toggle bedroom lamp device [device_id: e8b907a90b194fdc84c90957f919749d] with brightness set to 75%.",
"natural_language": {
"trigger": "When button 1 on the tasmota device in the bedroom is double-pressed.",
"conditions": "There are no conditions for this automation.",
"action": "Toggles the bedroom lamp device on or off, setting its brightness to 75% when turned on."
},
"human_like": "Double-pressing a button on the tasmota device toggles the bedroom lamp at 75% brightness.",
"complexity": "low"
}
},
{
"id": "'1616476834323'",
"result": {
"structured": "TRIGGER: When tasmota device 7e8b95744c7040bbbee460145db11d97 button_1 receives a double press. CONDITIONS: None. ACTIONS: Toggle kitchen leds [light.kitchen_leds] and set brightness to 100%.",
"natural_language": {
"trigger": "When button 1 on the Tasmota device in the kitchen is double-pressed.",
"conditions": "There are no conditions for this automation.",
"action": "Toggles the kitchen LEDs [light.kitchen_leds] on or off, setting their brightness to 100%."
},
"human_like": "Double-pressing a button on the kitchen Tasmota device toggles the kitchen LEDs on or off at full brightness.",
"complexity": "low"
}
},
{
"id": "'1616476916110'",
"result": {
"structured": "TRIGGER: When button_1 on tasmota device 251ad65bd1a0ec8b40cbd7a8fbf2a51d is long-pressed. CONDITIONS: None. ACTIONS: Set the speed of living room fan [fan.living_room_fan] to a new percentage based on its current state: if it is off, set to 33%; if it is at 33%, set to 66%; if it is at 66%, set to 100%; if it is at 100%, set to 0% (off).",
"natural_language": {
"trigger": "When button 1 on the Tasmota device in the living room is held down for a long press.",
"conditions": "There are no conditions that must be met.",
"action": "Cycles the living room fan [fan.living_room_fan] through its speed settings. If the fan is off, it turns it on to 33% speed. If it's at 33%, it increases to 66%. If it's at 66%, it increases to 100% (maximum). If it's already at 100%, it turns the fan off."
},
"human_like": "Cycles the living room fan speed with a long press of a button, turning it on to low, then medium, then high, and finally off.",
"complexity": "medium"
}
},
{
"id": "'1616477007406'",
"result": {
"structured": "TRIGGER: When tasmota device 6f7d6c6e1774cd155c791b5e55b771ee button_1 is long-pressed OR When tasmota device cfda927b6ff502b7d88f779339e28f5d button_1 is long-pressed. CONDITIONS: None. ACTIONS: Toggle fish tank leds [light.fish_tank_leds] with color temperature 269 and brightness at 100%.",
"natural_language": {
"trigger": "When a long press is detected on button 1 of either the tasmota device 6f7d6c6e1774cd155c791b5e55b771ee or the tasmota device cfda927b6ff502b7d88f779339e28f5d.",
"conditions": "There are no conditions that need to be met.",
"action": "Toggle the fish tank leds [light.fish_tank_leds] on or off, setting the color temperature to 269 and the brightness to 100%."
},
"human_like": "Toggles the fish tank light on or off with a specific color and full brightness when a long press is made on either of two designated buttons.",
"complexity": "low"
}
},
{
"id": "'1616477064062'",
"result": {
"structured": "TRIGGER: When tasmota device 5351cc93aaae40182c0633e8de1a775e [device_id: 5351cc93aaae40182c0633e8de1a775e] sends a button_long_press event for button_1. CONDITIONS: None. ACTIONS: Toggle patio fan switch [switch.patio_fan].",
"natural_language": {
"trigger": "When a long press is detected on button 1 of the Tasmota device in the patio.",
"conditions": "There are no conditions for this automation.",
"action": "Toggles the patio fan switch [switch.patio_fan] on or off."
},
"human_like": "Toggles the patio fan on or off when a specific button on a Tasmota device is held down.",
"complexity": "low"
}
},
{
"id": "'1620354646102'",
"result": {
"structured": "TRIGGER: When tasmota device 5351cc93aaae40182c0633e8de1a775e button 1 receives a double press. CONDITIONS: None. ACTIONS: Toggle patio string lights [light.patio_string_lights].",
"natural_language": {
"trigger": "When button 1 on the Tasmota device located in the patio is double-pressed.",
"conditions": "There are no conditions that must be met.",
"action": "Toggles the state of the patio string lights [light.patio_string_lights] on or off."
},
"human_like": "Double-pressing a button on the patio Tasmota device toggles the patio string lights.",
"complexity": "low"
}
},
{
"id": "'1622521426971'",
"result": {
"structured": "TRIGGER: When tasmota device 517105d1d709294e0650b8f8b53dc3f8 [device_id: 517105d1d709294e0650b8f8b53dc3f8] sends a button_double_press event for button_1. CONDITIONS: None. ACTIONS: Turn on bathroom fan switch [switch.bathroom_fan], wait for 10 minutes, then turn off bathroom fan switch [switch.bathroom_fan].",
"natural_language": {
"trigger": "When the tasmota device 517105d1d709294e0650b8f8b53dc3f8 [device_id: 517105d1d709294e0650b8f8b53dc3f8] detects a double press of button 1.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns on the bathroom fan switch [switch.bathroom_fan], waits for 10 minutes, and then turns the fan off."
},
"human_like": "Turns on the bathroom fan for 10 minutes when a specific button is double-pressed.",
"complexity": "low"
}
},
{
"id": "'1625634502512'",
"result": {
"structured": "TRIGGER: When chriss room media player [media_player.chriss_room] is turned off. CONDITIONS: None. ACTIONS: Execute script Turn Off Bedroom Apple TV [script.turn_off_bedroom_apple_tv].",
"natural_language": {
"trigger": "When the chriss room media player [media_player.chriss_room] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Runs the script named Turn Off Bedroom Apple TV [script.turn_off_bedroom_apple_tv]."
},
"human_like": "Runs a script to fully turn off the Apple TV when the bedroom media player is switched off.",
"complexity": "low"
}
},
{
"id": "'1625634770413'",
"result": {
"structured": "TRIGGER: When chriss room media player [media_player.chriss_room] is turned on. CONDITIONS: None. ACTIONS: Execute script Wake Bedroom Apple TV [script.wake_bedroom_apple_tv].",
"natural_language": {
"trigger": "When the chriss room media player [media_player.chriss_room] is turned on.",
"conditions": "There are no conditions; the automation runs immediately when triggered.",
"action": "Runs the script named Wake Bedroom Apple TV [script.wake_bedroom_apple_tv]."
},
"human_like": "Starts the Apple TV wake-up routine when the bedroom media player is turned on.",
"complexity": "low"
}
},
{
"id": "'1628655116939'",
"result": {
"structured": "TRIGGER: When a Tasmota device button (device_id: f51e5de9797e5949aa2cacb1b5bbfb8f) receives a short press on button 1. CONDITIONS: None. ACTIONS: Toggle the state of lab fan light [light.lab_fan_light].",
"natural_language": {
"trigger": "When a specific Tasmota device button in the lab is pressed briefly.",
"conditions": "There are no conditions for this automation.",
"action": "Toggles the lab fan light [light.lab_fan_light] on or off."
},
"human_like": "Pressing a button on a Tasmota device toggles the lab fan light on or off.",
"complexity": "low"
}
},
{
"id": "'1628691692223'",
"result": {
"structured": "TRIGGER: When tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f [device_id: f51e5de9797e5949aa2cacb1b5bbfb8f] button_2 is short-pressed OR when tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f [device_id: f51e5de9797e5949aa2cacb1b5bbfb8f] button_6 is long-pressed (disabled) OR when tasmota device a2acf2ee7393220e37087061d1b0566c [device_id: a2acf2ee7393220e37087061d1b0566c] button_1 is short-pressed. CONDITIONS: None. ACTIONS: Toggle western electric rectifier switch [switch.western_electric_rectifier].",
"natural_language": {
"trigger": "When button 2 on the Tasmota device in the lab [device_id: f51e5de9797e5949aa2cacb1b5bbfb8f] is pressed briefly, or when button 1 on another Tasmota device [device_id: a2acf2ee7393220e37087061d1b0566c] is pressed briefly. A long press of button 6 on the first device is also a trigger, but it is currently disabled.",
"conditions": "There are no conditions that must be met for the automation to run.",
"action": "Toggles the state of the Western Electric Rectifier switch [switch.western_electric_rectifier], turning it on if it's off, or off if it's on."
},
"human_like": "Toggles the Western Electric Rectifier switch when specific buttons on Tasmota devices are pressed.",
"complexity": "low"
}
},
{
"id": "'1632278000510'",
"result": {
"structured": "TRIGGER: When button 5 on tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f is short-pressed. CONDITIONS: octoprint printing binary sensor [binary_sensor.octoprint_printing_2] is off. ACTIONS: Toggle 3d printer switch [switch.3d_printer].",
"natural_language": {
"trigger": "When a short press is detected on button 5 of the tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f.",
"conditions": "The octoprint printing binary sensor [binary_sensor.octoprint_printing_2] must be off, indicating the printer is not currently printing.",
"action": "Toggle the power of the 3D printer by switching the 3d printer switch [switch.3d_printer]."
},
"human_like": "Turns the 3D printer on or off with a button press, but only when it's not printing.",
"complexity": "low"
}
},
{
"id": "'1634268597502'",
"result": {
"structured": "TRIGGER: When 3d printer switch [switch.3d_printer] changes state OR When octoprint print status sensor [sensor.octoprint_print_status] changes state OR When octoprint print progress sensor [sensor.octoprint_print_progress] changes state. CONDITIONS: None. ACTIONS: Choose one of the following sequences based on conditions: 1. IF (3d printer switch [switch.3d_printer] is on) AND (octoprint print status sensor [sensor.octoprint_print_status] is Operational) THEN turn on 3d printer update bed temperature light automation [automation.3d_printer_update_bed_temperature_light] AND 3d printer update tool temperature light automation [automation.3d_printer_update_tool_temperature_light], trigger those automations, AND turn on 3d printer status light [light.3d_printer_status] to a specific white color with Solid effect. 2. IF (3d printer switch [switch.3d_printer] is off) THEN turn off 3d printer status light [light.3d_printer_status] AND turn off 3d printer update bed temperature light automation [automation.3d_printer_update_bed_temperature_light] AND 3d printer update tool temperature light automation [automation.3d_printer_update_tool_temperature_light]. 3. IF (3d printer switch [switch.3d_printer] is on) AND (octoprint print status sensor [sensor.octoprint_print_status] is Printing) AND (octoprint print progress sensor [sensor.octoprint_print_progress] is below 98) THEN turn on 3d printer status light [light.3d_printer_status] to a specific white color with Breathe effect. 4. IF (3d printer switch [switch.3d_printer] is on) AND (octoprint print status sensor [sensor.octoprint_print_status] is Printing) AND (octoprint print progress sensor [sensor.octoprint_print_progress] is above 97) THEN turn on 3d printer status light [light.3d_printer_status] to white with Rainbow effect.",
"natural_language": {
"trigger": "The automation runs whenever the state of the 3d printer switch [switch.3d_printer], the octoprint print status sensor [sensor.octoprint_print_status], or the octoprint print progress sensor [sensor.octoprint_print_progress] changes.",
"conditions": "There are no global conditions; the automation evaluates a set of internal rules to decide which action to take.",
"action": "Depending on the current state of the printer and the print job, the automation will change the color and effect of the 3d printer status light [light.3d_printer_status] and manage related automations. If the printer is on and idle (status is Operational), it turns on the status light to a warm white with a solid effect and activates two other temperature-related automations. If the printer is turned off, it turns off the status light and deactivates those automations. If the printer is on and actively printing with progress below 98%, it sets the light to breathe in warm white. If the print is nearly complete (progress above 97%), it sets the light to a rainbow effect."
},
"human_like": "This automation uses a status light to visually indicate the 3D printer's state—idle, printing, or nearly finished—and manages related temperature automations accordingly.",
"complexity": "medium"
}
},
{
"id": "'1634272502278'",
"result": {
"structured": "TRIGGER: When octoprint tool 0 temperature sensor [sensor.octoprint_tool_0_temperature] changes state OR When octoprint tool 0 target sensor [sensor.octoprint_tool_0_target] changes state OR When 3d printer switch [switch.3d_printer] changes state. CONDITIONS: None. ACTIONS: Choose one action based on conditions: 1) IF (3d printer switch [switch.3d_printer] is on) AND (octoprint tool 0 temperature sensor [sensor.octoprint_tool_0_temperature] is below 81) AND (octoprint tool 0 target sensor [sensor.octoprint_tool_0_target] is 32.0) THEN set 3d printer tool temp light [light.3d_printer_tool_temp] to solid blue (0, 255, 255). 2) IF (3d printer switch [switch.3d_printer] is on) AND (octoprint tool 0 temperature sensor [sensor.octoprint_tool_0_temperature] integer value is less than (octoprint tool 0 target sensor [sensor.octoprint_tool_0_target] integer value minus 1)) AND (octoprint tool 0 target sensor [sensor.octoprint_tool_0_target] is above 33) THEN set 3d printer tool temp light [light.3d_printer_tool_temp] to breathe orange (255, 142, 0). 3) IF (3d printer switch [switch.3d_printer] is on) AND (octoprint tool 0 target sensor [sensor.octoprint_tool_0_target] is above 33) AND ((octoprint tool 0 temperature sensor [sensor.octoprint_tool_0_temperature] integer value is greater than (octoprint tool 0 target sensor [sensor.octoprint_tool_0_target] integer value minus 2)) AND (octoprint tool 0 temperature sensor [sensor.octoprint_tool_0_temperature] integer value is less than (octoprint tool 0 target sensor [sensor.octoprint_tool_0_target] integer value plus 2))) THEN set 3d printer tool temp light [light.3d_printer_tool_temp] to solid red (255, 0, 0). 4) IF (3d printer switch [switch.3d_printer] is on) AND (octoprint tool 0 temperature sensor [sensor.octoprint_tool_0_temperature] integer value is greater than (octoprint tool 0 target sensor [sensor.octoprint_tool_0_target] integer value plus 1)) THEN set 3d printer tool temp light [light.3d_printer_tool_temp] to breathe yellowish (254, 254, 0). 5) IF (3d printer switch [switch.3d_printer] is off) THEN turn off 3d printer tool temp light [light.3d_printer_tool_temp].",
"natural_language": {
"trigger": "When the temperature of the 3D printer's tool, its target temperature, or the printer's power state changes.",
"conditions": "There are no global conditions. The automation selects an action based on a set of specific rules.",
"action": "Changes the color and effect of the 3d printer tool temp light [light.3d_printer_tool_temp] to indicate the tool's heating status. If the printer is on and the tool is cold with a low target, the light turns solid blue. If the printer is on and the tool is warming up to a target above 33 degrees, the light breathes orange. If the printer is on, the target is above 33, and the tool temperature is within 2 degrees of the target, the light turns solid red. If the printer is on and the tool is cooling down but still above its target, the light breathes yellowish. If the printer is turned off, the light is turned off."
},
"human_like": "Changes a light's color to visually indicate the 3D printer's tool temperature status, such as cold, heating, at target, or cooling.",
"complexity": "medium"
}
},
{
"id": "'1634273868202'",
"result": {
"structured": "TRIGGER: When octoprint bed target sensor [sensor.octoprint_bed_target] changes state OR When octoprint bed temperature sensor [sensor.octoprint_bed_temperature] changes state OR When 3d printer switch [switch.3d_printer] changes state. CONDITIONS: None. ACTIONS: Choose one action based on conditions: 1) IF (3d printer switch [switch.3d_printer] is on) AND (octoprint bed temperature sensor [sensor.octoprint_bed_temperature] is below 116) AND (octoprint bed target sensor [sensor.octoprint_bed_target] is 32.0) THEN turn on 3d printer bed temp light [light.3d_printer_bed_temp] with blue color (RGB 0,255,255) and Solid effect. 2) IF (3d printer switch [switch.3d_printer] is on) AND (octoprint bed target sensor [sensor.octoprint_bed_target] is above 33) AND (octoprint bed temperature sensor [sensor.octoprint_bed_temperature] integer value is less than (octoprint bed target sensor [sensor.octoprint_bed_target] integer value minus 1)) THEN turn on 3d printer bed temp light [light.3d_printer_bed_temp] with orange color (RGB 255,142,0) and Breathe effect. 3) IF (3d printer switch [switch.3d_printer] is on) AND (octoprint bed target sensor [sensor.octoprint_bed_target] is above 33) AND ((octoprint bed temperature sensor [sensor.octoprint_bed_temperature] integer value is greater than (octoprint bed target sensor [sensor.octoprint_bed_target] integer value minus 2)) AND (octoprint bed temperature sensor [sensor.octoprint_bed_temperature] integer value is less than (octoprint bed target sensor [sensor.octoprint_bed_target] integer value plus 2))) THEN turn on 3d printer bed temp light [light.3d_printer_bed_temp] with red color (RGB 255,0,0) and Solid effect. 4) IF (3d printer switch [switch.3d_printer] is on) AND (octoprint bed temperature sensor [sensor.octoprint_bed_temperature] integer value is greater than (octoprint bed target sensor [sensor.octoprint_bed_target] integer value plus 1)) THEN turn on 3d printer bed temp light [light.3d_printer_bed_temp] with yellowish color (RGB 254,254,0) and Breathe effect. 5) IF (3d printer switch [switch.3d_printer] is off) THEN turn off 3d printer bed temp light [light.3d_printer_bed_temp].",
"natural_language": {
"trigger": "The automation runs whenever there is a change in the state of the octoprint bed target sensor [sensor.octoprint_bed_target], the octoprint bed temperature sensor [sensor.octoprint_bed_temperature], or the 3d printer switch [switch.3d_printer].",
"conditions": "There are no global conditions. The automation uses a set of conditional branches to decide which action to take.",
"action": "Depending on the current state of the printer and sensors, the automation changes the color and effect of the 3d printer bed temp light [light.3d_printer_bed_temp] to indicate the bed's thermal status. If the printer is on and the bed is cold (temperature below 116 and target is 32.0), the light turns solid blue. If the printer is on, the bed target is above 33, and the current temperature is more than one degree below the target, the light breathes orange to indicate warming up. If the printer is on, the target is above 33, and the current temperature is within two degrees of the target, the light turns solid red to indicate the target temperature is reached. If the printer is on and the current temperature is more than one degree above the target, the light breathes yellowish to indicate cooling down. If the printer is turned off, the light is turned off."
},
"human_like": "Changes the color and behavior of a light to visually indicate the heating status of a 3D printer's bed, turning it off when the printer is off.",
"complexity": "medium"
}
},
{
"id": "'1634606712756'",
"result": {
"structured": "TRIGGER: When button_5 on tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f [device_id: f51e5de9797e5949aa2cacb1b5bbfb8f] is long-pressed. CONDITIONS: None. ACTIONS: Turn on octoprint cancel print switch [switch.octoprint_cancel_print].",
"natural_language": {
"trigger": "When button 5 on the Tasmota device in the lab [device_id: f51e5de9797e5949aa2cacb1b5bbfb8f] is held down for a long press.",
"conditions": "There are no conditions.",
"action": "Activates the OctoPrint cancel print function by turning on the octoprint cancel print switch [switch.octoprint_cancel_print]."
},
"human_like": "Cancels the 3D printer's current print job when a specific button on a Tasmota device is long-pressed.",
"complexity": "low"
}
},
{
"id": "'1634611734007'",
"result": {
"structured": "TRIGGER: When button_2 on tasmota device e4ac095d58ceb8bb01bbcf6440 [device_id: e4ac095d46cedd58ceb8bb01bbcf6440] is double-pressed. CONDITIONS: None. ACTIONS: Toggle living room fan light [light.living_room_fan_light].",
"natural_language": {
"trigger": "When the second button on the Tasmota device in the living room is double-pressed.",
"conditions": "There are no conditions for this automation.",
"action": "Toggles the state of the living room fan light [light.living_room_fan_light]."
},
"human_like": "Double-pressing a specific button on a Tasmota device toggles the living room fan light on or off.",
"complexity": "low"
}
},
{
"id": "'1637599699240'",
"result": {
"structured": "TRIGGER: When tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f [device_id: f51e5de9797e5949aa2cacb1b5bbfb8f] sends a button_1 DOUBLE press event OR When tasmota device 082f2d49dab1e06234cbc1a01d3787dc [device_id: 082f2d49dab1e06234cbc1a01d3787dc] sends a button_1 DOUBLE press event. CONDITIONS: None. ACTIONS: Toggle lab tv media player [media_player.lab_tv].",
"natural_language": {
"trigger": "When either of the two Tasmota devices in the lab sends a double-press signal from their first button.",
"conditions": "There are no conditions that must be met.",
"action": "Toggles the power state of the lab TV media player."
},
"human_like": "Double-pressing a button on either of two lab switches toggles the lab TV on or off.",
"complexity": "low"
}
},
{
"id": "'1638942926537'",
"result": {
"structured": "TRIGGER: When tasmota device cfda927b6ff502b7d88f779339e28f5d [device_id: cfda927b6ff502b7d88f779339e28f5d] button_1 receives a triple press. CONDITIONS: None. ACTIONS: Toggle fish tank filter switch [switch.fish_tank_filter].",
"natural_language": {
"trigger": "When the button_1 on the tasmota device cfda927b6ff502b7d88f779339e28f5d is triple-pressed.",
"conditions": "There are no conditions.",
"action": "Toggles the state of the fish tank filter switch [switch.fish_tank_filter]."
},
"human_like": "Triple-pressing a specific button on a Tasmota device toggles the fish tank filter on or off.",
"complexity": "low"
}
},
{
"id": "'1642469538699'",
"result": {
"structured": "TRIGGER: When thermostat preset input select [input_select.thermostat_preset] changes state OR When windows open input boolean [input_boolean.windows_open] changes state. CONDITIONS: None. ACTIONS: Execute script Thermostat Preset Handler [script.thermostat_preset_handler].",
"natural_language": {
"trigger": "Whenever the thermostat preset input select [input_select.thermostat_preset] changes its selected option, or whenever the windows open input boolean [input_boolean.windows_open] changes its on/off state.",
"conditions": "There are no conditions that must be met.",
"action": "Runs the script named Thermostat Preset Handler [script.thermostat_preset_handler]."
},
"human_like": "Updates the thermostat preset whenever the user changes the preset selection or when the status of open windows changes.",
"complexity": "low"
}
},
{
"id": "'1642470565005'",
"result": {
"structured": "TRIGGER: When steven person [person.steven] changes state. CONDITIONS: None. ACTIONS: Choose based on conditions: IF (steven person [person.steven] is home) AND (thermostat preset input select [input_select.thermostat_preset] is 'Daytime - Chris') THEN set thermostat preset input select [input_select.thermostat_preset] to 'Daytime - Steven'. ELSE IF (chris person [person.chris] is home) AND (steven person [person.steven] is NOT home) AND (thermostat preset input select [input_select.thermostat_preset] is 'Daytime - Steven') THEN set thermostat preset input select [input_select.thermostat_preset] to 'Daytime - Chris'. ELSE do nothing.",
"natural_language": {
"trigger": "Whenever the state of steven person [person.steven] changes.",
"conditions": "There are no global conditions; the automation always runs when triggered.",
"action": "The automation checks a set of rules. If steven person [person.steven] is home and the thermostat preset input select [input_select.thermostat_preset] is currently set to 'Daytime - Chris', it will change the preset to 'Daytime - Steven'. Alternatively, if chris person [person.chris] is home, steven person [person.steven] is not home, and the thermostat preset is currently 'Daytime - Steven', it will change the preset to 'Daytime - Chris'. If neither of these situations applies, no action is taken."
},
"human_like": "Automatically selects the appropriate daytime thermostat preset based on which person is at home, favoring Steven's preset when he is present.",
"complexity": "medium"
}
},
{
"id": "'1643264447175'",
"result": {
"structured": "TRIGGER: At 12:00:00 daily OR When mail button binary sensor [binary_sensor.mail_button] turns on. CONDITIONS: None. ACTIONS: Choose based on conditions: IF mail button binary sensor [binary_sensor.mail_button] is on THEN Turn off new mail input boolean [input_boolean.new_mail] AND Turn off mail light [light.mail_light]. ELSE IF mail usps packages sensor [sensor.mail_usps_packages] is above 0 OR mail usps mail sensor [sensor.mail_usps_mail] is above 0 THEN Turn on new mail input boolean [input_boolean.new_mail] AND Turn on mail light [light.mail_light] with RGB color (255, 200, 151). ELSE No action.",
"natural_language": {
"trigger": "The automation runs either at noon every day, or whenever the mail button binary sensor [binary_sensor.mail_button] is pressed (turns on).",
"conditions": "There are no global conditions for this automation.",
"action": "The automation checks two scenarios in order. First, if the mail button is currently pressed, it will clear the mail notification by turning off the new mail input boolean [input_boolean.new_mail] and turning off the mail light [light.mail_light]. If the button is not pressed, it then checks if there is any mail or packages reported. If the mail usps packages sensor [sensor.mail_usps_packages] shows more than zero packages, or the mail usps mail sensor [sensor.mail_usps_mail] shows more than zero mail pieces, it will activate the notification by turning on the new mail input boolean [input_boolean.new_mail] and turning on the mail light [light.mail_light] with a warm white color. If neither scenario applies, no action is taken."
},
"human_like": "Updates the mail notification light at noon or when the mail button is pressed, turning it off if the button is pressed or turning it on with a warm color if new mail or packages are detected.",
"complexity": "medium"
}
},
{
"id": "'1643341212029'",
"result": {
"structured": "TRIGGER: When trash state input select [input_select.trash_state] changes state OR When garbage collection sensor [sensor.garbage_collection] value falls below 2. CONDITIONS: None. ACTIONS: Choose based on conditions: IF (trash state input select [input_select.trash_state] state is Brought In) THEN Turn off trash light [light.trash_light]. ELSE IF (trash state input select [input_select.trash_state] state is Bring Out AND garbage collection sensor [sensor.garbage_collection] value is below 1) THEN Turn on trash light [light.trash_light] with red color (RGB 255, 0, 0). ELSE IF (trash state input select [input_select.trash_state] state is Bring Out AND garbage collection sensor [sensor.garbage_collection] value is below 2) THEN Turn on trash light [light.trash_light] with orange color (RGB 255, 208, 159). ELSE IF (trash state input select [input_select.trash_state] state is Bring Back In) THEN Turn on trash light [light.trash_light] with cyan color (RGB 0, 255, 255). OTHERWISE do nothing.",
"natural_language": {
"trigger": "The automation triggers whenever the trash state input select [input_select.trash_state] changes its selected option, or when the garbage collection sensor [sensor.garbage_collection] reports a value less than 2.",
"conditions": "There are no global conditions for this automation.",
"action": "Depending on the current state, the automation will change the trash light [light.trash_light]. If the trash state is set to 'Brought In', the light is turned off. If the state is 'Bring Out' and the garbage collection count is less than 1, the light turns on with a bright red color. If the state is 'Bring Out' and the garbage collection count is less than 2, the light turns on with an orange color. If the state is 'Bring Back In', the light turns on with a cyan color. If none of these specific conditions are met, no action is taken."
},
"human_like": "Controls a trash reminder light, changing its color or turning it off based on the current trash state and how soon garbage collection is scheduled.",
"complexity": "medium"
}
},
{
"id": "'1643347287312'",
"result": {
"structured": "TRIGGER: When garbage collection sensor [sensor.garbage_collection] is below 2 OR when trash button binary sensor [binary_sensor.trash_button] turns on. CONDITIONS: None. ACTIONS: Choose based on conditions: IF trash button binary sensor [binary_sensor.trash_button] is on THEN: Choose based on conditions: IF trash state input select [input_select.trash_state] is Bring Out THEN call service garbage_collection.collect_garbage on garbage collection sensor [sensor.garbage_collection]. THEN call service input_select.select_next on trash state input select [input_select.trash_state]. ELSE IF garbage collection sensor [sensor.garbage_collection] is below 2 THEN call service input_select.select_option with option Bring Out on trash state input select [input_select.trash_state].",
"natural_language": {
"trigger": "The automation is triggered either when the garbage collection sensor [sensor.garbage_collection] reports a value below 2, or when the trash button binary sensor [binary_sensor.trash_button] is pressed (turns on).",
"conditions": "There are no conditions that must be met for the automation to run.",
"action": "The automation performs different actions depending on what triggered it. If the trigger was the trash button being pressed, it first checks the current state of the trash state input select [input_select.trash_state]. If the state is 'Bring Out', it triggers a garbage collection. Regardless of that check, it then cycles the trash state to the next option. If the trigger was the garbage collection sensor value dropping below 2, the automation sets the trash state directly to 'Bring Out'."
},
"human_like": "Manages the trash state and triggers garbage collection based on a sensor countdown or a manual button press.",
"complexity": "medium"
}
},
{
"id": "'1643347730280'",
"result": {
"structured": "TRIGGER: When recycle state input select [input_select.recycle_state] changes state OR When recycling sensor [sensor.recycling] falls below 2. CONDITIONS: None. ACTIONS: Choose based on conditions: IF recycle state input select [input_select.recycle_state] is 'Brought In' THEN turn off recycle light [light.recycle_light]. ELSE IF recycle state input select [input_select.recycle_state] is 'Bring Out' AND recycling sensor [sensor.recycling] is below 1 THEN turn on recycle light [light.recycle_light] with red color (RGB 255,0,0). ELSE IF recycle state input select [input_select.recycle_state] is 'Bring Out' AND recycling sensor [sensor.recycling] is below 2 THEN turn on recycle light [light.recycle_light] with orange color (RGB 255,208,159). ELSE IF recycle state input select [input_select.recycle_state] is 'Bring Back In' THEN turn on recycle light [light.recycle_light] with cyan color (RGB 0,255,255). OTHERWISE do nothing.",
"natural_language": {
"trigger": "The automation triggers either when the recycle state input select [input_select.recycle_state] changes its selected option, or when the recycling sensor [sensor.recycling] reports a value below 2.",
"conditions": "There are no global conditions that must be met for the automation to run.",
"action": "Depending on the situation, the automation will change the recycle light [light.recycle_light]. If the selected state is 'Brought In', the light is turned off. If the state is 'Bring Out' and the sensor value is below 1, the light turns on with a bright red color. If the state is 'Bring Out' and the sensor value is below 2 (but not below 1), the light turns on with an orange color. If the state is 'Bring Back In', the light turns on with a cyan color. In any other case, no action is taken."
},
"human_like": "Updates a light to visually indicate the current recycling status, using different colors for different states and bin fill levels.",
"complexity": "medium"
}
},
{
"id": "'1643348123383'",
"result": {
"structured": "TRIGGER: When recycling sensor [sensor.recycling] reports a value below 2 OR When recycle button binary sensor [binary_sensor.recycle_button] turns on. CONDITIONS: None. ACTIONS: Choose based on conditions: IF recycle button binary sensor [binary_sensor.recycle_button] is on THEN (IF recycle state input select [input_select.recycle_state] is set to Bring Out THEN call service garbage_collection.collect_garbage on recycling sensor [sensor.recycling]) AND advance the selection of recycle state input select [input_select.recycle_state] to the next option. ELSE IF recycling sensor [sensor.recycling] is below 2 THEN set recycle state input select [input_select.recycle_state] to Bring Out.",
"natural_language": {
"trigger": "The automation triggers either when the recycling sensor [sensor.recycling] indicates a value below 2, or when the recycle button binary sensor [binary_sensor.recycle_button] is pressed (turns on).",
"conditions": "There are no conditions that must be met for the automation to proceed; it runs whenever a trigger occurs.",
"action": "Depending on what triggered the automation: If the trigger was the recycle button being pressed, the automation first checks the current state of the recycle state input select [input_select.recycle_state]. If it is set to 'Bring Out', it calls a service to collect garbage for the recycling sensor [sensor.recycling]. Regardless of that check, it then advances the recycle state to the next option in its list. If the trigger was the recycling sensor value falling below 2, the automation directly sets the recycle state to 'Bring Out'."
},
"human_like": "Manages the recycling state, either advancing it when a button is pressed or setting it to 'Bring Out' when the recycling level is low.",
"complexity": "medium"
}
},
{
"id": "'1644253838913'",
"result": {
"structured": "TRIGGER: When lab tv media player [media_player.lab_tv] is turned on via the webOS TV integration. CONDITIONS: None. ACTIONS: Send a Wake-on-LAN magic packet to MAC address 20:17:42:D9:6D:4E.",
"natural_language": {
"trigger": "When the lab tv media player [media_player.lab_tv] receives a command to turn on through the webOS TV platform.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a Wake-on-LAN magic packet to the device with the MAC address 20:17:42:D9:6D:4E."
},
"human_like": "Sends a Wake-on-LAN signal to power on the Lab TV when a turn-on command is issued.",
"complexity": "low"
}
},
{
"id": "'1644253912444'",
"result": {
"structured": "TRIGGER: When living room tv media player [media_player.living_room_tv] receives a turn_on command via the webostv integration. CONDITIONS: None. ACTIONS: Send a Wake-on-LAN magic packet to the device with MAC address 74:40:BE:88:4F:80.",
"natural_language": {
"trigger": "When a command is sent to turn on the living room tv media player [media_player.living_room_tv] via the webOS TV integration.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a Wake-on-LAN magic packet to wake up the TV using the MAC address 74:40:BE:88:4F:80."
},
"human_like": "Wakes up the living room TV using Wake-on-LAN when a turn-on command is issued.",
"complexity": "low"
}
},
{
"id": "'1650324443680'",
"result": {
"structured": "TRIGGER: When front door ring ding binary sensor [binary_sensor.front_door_ring_ding] becomes occupied. CONDITIONS: None. ACTIONS: Execute script Status Announcement [script.status_annc] with parameters: who = everywhere, call_doorbell_chime = 1, call_snark_doorbell = 1.",
"natural_language": {
"trigger": "When the front door ring ding binary sensor [binary_sensor.front_door_ring_ding] detects that the doorbell has been pressed (state changes to 'occupied').",
"conditions": "There are no conditions; the automation runs immediately when triggered.",
"action": "Runs the Status Announcement [script.status_annc] script, which announces the doorbell press everywhere, triggers a chime, and sends a notification via Snark."
},
"human_like": "Announces the doorbell press throughout the home and triggers chimes and notifications.",
"complexity": "low"
}
},
{
"id": "'1650326437602'",
"result": {
"structured": "TRIGGER: When front door ring motion binary sensor [binary_sensor.front_door_ring_motion] detects motion. CONDITIONS: do not disturb input boolean [input_boolean.do_not_disturb] is off. ACTIONS: First, check if front door recent activity binary sensor [binary_sensor.front_door_recent_activity] is off. Then, wait for up to 5 seconds for front door recent activity binary sensor [binary_sensor.front_door_recent_activity] to change from off to on. If the wait triggers (door_activity), stop the automation. Otherwise, run the Status Announcement [script.status_annc] script with the parameters who: everywhere and call_snark_door_motion: 1.",
"natural_language": {
"trigger": "When motion is detected by the front door ring motion binary sensor [binary_sensor.front_door_ring_motion].",
"conditions": "The automation only runs if the do not disturb input boolean [input_boolean.do_not_disturb] is turned off.",
"action": "The automation first checks if the front door recent activity binary sensor [binary_sensor.front_door_recent_activity] is not active. It then waits for up to five seconds for that sensor to become active, indicating recent door activity. If door activity is detected within that time, the automation stops. If no door activity is detected within five seconds, it triggers a status announcement everywhere, specifically for doorbell motion."
},
"human_like": "Announces doorbell motion detection everywhere, but only if the house is not in 'Do Not Disturb' mode and no recent door activity is detected within a few seconds.",
"complexity": "medium"
}
},
{
"id": "'1651617197832'",
"result": {
"structured": "TRIGGER: When lab bathroom humidity sensor [sensor.lab_bathroom_humidity] humidity rises above 80% OR When lab bathroom humidity sensor [sensor.lab_bathroom_humidity] humidity falls below 60%. CONDITIONS: None. ACTIONS: If the trigger was high humidity (above 80%), turn on lab bathroom fan switch [switch.lab_bathroom_fan]. If the trigger was low humidity (below 60%), turn off lab bathroom fan switch [switch.lab_bathroom_fan].",
"natural_language": {
"trigger": "When the lab bathroom humidity sensor [sensor.lab_bathroom_humidity] detects humidity rising above 80%, or when it detects humidity falling below 60%.",
"conditions": "There are no additional conditions.",
"action": "If the humidity is high (above 80%), the lab bathroom fan switch [switch.lab_bathroom_fan] is turned on. If the humidity is low (below 60%), the fan is turned off."
},
"human_like": "Automatically turns the bathroom fan on when humidity gets too high, and turns it off when humidity drops back down.",
"complexity": "low"
}
},
{
"id": "'1651635402480'",
"result": {
"structured": "TRIGGER: When kaitlyn person [person.kaitlyn] changes state to home OR ronald person [person.ronald] changes state to home OR rheena person [person.rheena] changes state to home OR danielle person [person.danielle] changes state to home OR brian person [person.brian] changes state to home OR rathnam person [person.rathnam] changes state to home OR nico person [person.nico] changes state to home OR mari person [person.mari] changes state to home. CONDITIONS: None. ACTIONS: Execute script Text Notify Everyone [script.text_notify_everyone] with data: title 'Guest Arrival' and message containing the friendly name of the triggering person.",
"natural_language": {
"trigger": "When any of the tracked people (kaitlyn person [person.kaitlyn], ronald person [person.ronald], rheena person [person.rheena], danielle person [person.danielle], brian person [person.brian], rathnam person [person.rathnam], nico person [person.nico], or mari person [person.mari]) arrives home.",
"conditions": "There are no conditions that must be met for the automation to run.",
"action": "Sends a text notification to everyone using the script 'Text Notify Everyone' [script.text_notify_everyone]. The notification has the title 'Guest Arrival' and a message stating which person has arrived, using their friendly name."
},
"human_like": "Sends a group notification when any of the listed friends or family members arrives home.",
"complexity": "low"
}
},
{
"id": "'1653577962938'",
"result": {
"structured": "TRIGGER: When tasmota device f51e5de9797e5949aa2cacb1b5bbfb8f button_2 receives a double press OR When tasmota device a2acf2ee7393220e37087061d1b0566c button_1 receives a double press OR When western electric rectifier switch [switch.western_electric_rectifier] changes from off to on. CONDITIONS: None. ACTIONS: If the trigger is a button double press, toggle western electric cabinet lights [light.western_electric_cabinet_lights] with color temperature 380, effect 'Wake up', and brightness 100%. If the trigger is the rectifier turning on, turn on western electric cabinet lights [light.western_electric_cabinet_lights] with brightness 100%, color temperature 380, and effect 'Wake up'.",
"natural_language": {
"trigger": "The automation can be triggered in three ways: when button 2 on the Tasmota device in the lab is double-pressed, when button 1 on another Tasmota device is double-pressed, or when the Western Electric rectifier switch is turned on from an off state.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "Depending on what triggered the automation, different actions are taken. If the trigger was a button double press, the Western Electric cabinet lights are toggled, setting them to a color temperature of 380, the 'Wake up' effect, and 100% brightness. If the trigger was the rectifier turning on, the Western Electric cabinet lights are turned on with the same settings: 100% brightness, a color temperature of 380, and the 'Wake up' effect."
},
"human_like": "This automation controls the Western Electric cabinet lights, turning them on with a specific warm color and effect when a button is double-pressed or when the rectifier is powered on.",
"complexity": "medium"
}
},
{
"id": "'1656455659129'",
"result": {
"structured": "TRIGGER: When living room magic cube remote [device: 3146f49fef4d10d8cf2a4be6609f44f3] generates a specific event. CONDITIONS: The event type must be one of the following: flip_90, flip_180, slide_any_side, knock_any_side, rotate_right, rotate_left, or shake. ACTIONS: If the event is flip_90, toggle living room fan light [light.living_room_fan_light]. If the event is slide_any_side, play/pause living room apple tv media player [media_player.living_room_apple_tv]. If the event is knock_any_side, toggle living room tv media player [media_player.living_room_tv]. If the event is rotate_right, increase volume on living room pioneer media player [media_player.living_room_pioneer]. If the event is rotate_left, decrease volume on living room pioneer media player [media_player.living_room_pioneer]. If the event is shake, execute the script Downstairs Chill [script.downstairs_chill]. The automation also updates living room magic cube side input number [input_number.living_room_magic_cube_side] with the active face of the cube.",
"natural_language": {
"trigger": "When the living room magic cube remote is used, generating a specific gesture event.",
"conditions": "The automation runs based on the specific gesture detected from the cube, such as flipping, sliding, knocking, rotating, or shaking it.",
"action": "Depending on the gesture, different actions are performed: flipping the cube 90 degrees toggles the living room fan light; sliding any side plays or pauses the living room apple tv; knocking any side toggles the living room tv; rotating right increases the volume on the living room pioneer media player; rotating left decreases the volume on the living room pioneer media player; and shaking the cube runs the 'Downstairs Chill' script. The automation also tracks which side of the cube is facing up."
},
"human_like": "Controls living room lights and media devices using gestures on a magic cube remote, like toggling lights, adjusting volume, and playing media.",
"complexity": "medium"
}
},
{
"id": "'1657676381882'",
"result": {
"structured": "TRIGGER: When the ZHA Aqara Wireless Mini Switch device [device:dbac350dab9bcea6d7548327a20cefee] sends a button press event. CONDITIONS: None. ACTIONS: If the button press is a single press, then run the Text Notify Chris [script.text_notify_chris] script with the message 'Single'. If the button press is a double press, then run the Text Notify Chris [script.text_notify_chris] script with the message 'Double'. If the button press is a long press, then run the Text Notify Chris [script.text_notify_chris] script with the message 'Long'.",
"natural_language": {
"trigger": "When the Aqara Wireless Mini Switch device [device:dbac350dab9bcea6d7548327a20cefee] is pressed.",
"conditions": "There are no conditions for this automation.",
"action": "Depending on the type of button press, it sends a text notification to Chris. A single press sends the message 'Single', a double press sends 'Double', and a long press sends 'Long'. All notifications are sent using the Text Notify Chris [script.text_notify_chris] script."
},
"human_like": "Sends a text notification to Chris with different messages based on whether the Aqara Mini Switch is pressed once, twice, or held down.",
"complexity": "low"
}
},
{
"id": "'1672953123172'",
"result": {
"structured": "TRIGGER: When an event of type test_tag_scan occurs with event_data containing tag_type: chore. CONDITIONS: None. ACTIONS: Send a notification to chris with a message containing the scanned_by and tag_name from the event data. Then, if the tag_name from the event data equals 'cleaned_master_bath', perform no further actions (empty sequence).",
"natural_language": {
"trigger": "When a custom event named 'test_tag_scan' is fired, specifically one that includes data indicating the tag_type is 'chore'.",
"conditions": "There are no conditions; the automation runs whenever the trigger occurs.",
"action": "Sends a notification to the user 'chris' with a message stating who scanned the tag and the tag's name. Then, if the scanned tag's name is exactly 'cleaned_master_bath', it does nothing else."
},
"human_like": "Sends a notification when a specific NFC tag is scanned, and handles a particular tag name specially.",
"complexity": "medium"
}
},
{
"id": "'1674004743050'",
"result": {
"structured": "TRIGGER: When living room tv media player [media_player.living_room_tv] is turned on OR when living room tv media player [media_player.living_room_tv] is turned off. CONDITIONS: None. ACTIONS: If the trigger was 'on', turn on living room tv hyperion light [light.living_room_tv_hyperion] with effect 'USB Capture' and brightness at 100%. If the trigger was 'off', turn off living room tv hyperion light [light.living_room_tv_hyperion].",
"natural_language": {
"trigger": "When the living room tv media player [media_player.living_room_tv] is turned on or when it is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "If the TV was turned on, the living room tv hyperion light [light.living_room_tv_hyperion] is turned on with the 'USB Capture' effect and set to full brightness. If the TV was turned off, the living room tv hyperion light [light.living_room_tv_hyperion] is turned off."
},
"human_like": "Syncs the TV's ambient backlight (Hyperion) with the TV's power state, turning it on or off accordingly.",
"complexity": "low"
}
},
{
"id": "'1674014681253'",
"result": {
"structured": "TRIGGER: When ac water leak sensor binary sensor [binary_sensor.ac_water_leak_sensor] detects moisture (moist) OR When garage water leak sensor binary sensor [binary_sensor.garage_water_leak_sensor] detects moisture (moist) OR When lumi lumi sensor wleak aq1 iaszone 2 binary sensor [binary_sensor.lumi_lumi_sensor_wleak_aq1_iaszone_2] detects moisture (moist). CONDITIONS: None. ACTIONS: Send an urgent text alert to chris via script.text_urgent_alert with a title 'Water Leak!!' and a message that includes the location (A/C closet, Garage, or under the kitchen sink) based on the triggering sensor's name. Then, announce the same message via script.alexa_voice to the presence group.",
"natural_language": {
"trigger": "When any of the three water leak sensors detects moisture: the ac water leak sensor binary sensor [binary_sensor.ac_water_leak_sensor], the garage water leak sensor binary sensor [binary_sensor.garage_water_leak_sensor], or the lumi lumi sensor wleak aq1 iaszone 2 binary sensor [binary_sensor.lumi_lumi_sensor_wleak_aq1_iaszone_2].",
"conditions": "There are no conditions; the automation runs immediately upon any trigger.",
"action": "Sends an urgent text message to 'chris' with the title 'Water Leak!!' and a message specifying the location of the leak based on which sensor was triggered (A/C closet, Garage, or under the kitchen sink). It also uses an Alexa voice announcement to broadcast the same alert message to the presence group."
},
"human_like": "Sends an urgent alert and voice announcement when a water leak is detected in the A/C closet, garage, or under the kitchen sink.",
"complexity": "medium"
}
},
{
"id": "alexa_snack_for_blaze",
"result": {
"structured": "TRIGGER: When alexa snack for blaze input button [input_button.alexa_snack_for_blaze] is pressed. CONDITIONS: None. ACTIONS: Execute the Snack For Blaze [script.snack_for_blaze] script.",
"natural_language": {
"trigger": "When the alexa snack for blaze input button [input_button.alexa_snack_for_blaze] is pressed.",
"conditions": "There are no conditions for this automation.",
"action": "Runs the Snack For Blaze [script.snack_for_blaze] script."
},
"human_like": "Runs the 'Snack For Blaze' script when the associated Alexa button is pressed.",
"complexity": "low"
}
},
{
"id": "clock_chime",
"result": {
"structured": "TRIGGER: When the time matches minutes 0 OR minutes 15 OR minutes 30 OR minutes 45. CONDITIONS: (Current time is after clock chime on time input datetime [input_datetime.clock_chime_on_time] AND before clock chime off time input datetime [input_datetime.clock_chime_off_time]) AND (audible notifications input boolean [input_boolean.audible_notifications] is on) AND (clock chime input boolean [input_boolean.clock_chime] is on) AND (family group [group.family] is home OR guest mode input boolean [input_boolean.guest_mode] is on). ACTIONS: If trigger id is 15 OR 45, then check if (clock chime quarter toll input boolean [input_boolean.clock_chime_quarter_toll] is off OR clock chime sound input select [input_select.clock_chime_sound] is Cuckoo Clock) and stop execution if true. If trigger id is 30, then check if clock chime half toll input boolean [input_boolean.clock_chime_half_toll] is off and stop execution if true. Otherwise, wait until living room echo media player [media_player.living_room_echo] is not playing, with a timeout of 2 minutes. Then, execute Alexa Voice [script.alexa_voice] with a message determined by the trigger id and the selected clock chime sound, playing the appropriate audio file.",
"natural_language": {
"trigger": "The automation triggers every quarter hour, at 0, 15, 30, and 45 minutes past the hour.",
"conditions": "The current time must be within the configured window set by the clock chime on and off times. Audible notifications and the clock chime feature must both be enabled. Additionally, either someone from the family group must be home, or guest mode must be active.",
"action": "First, the automation checks if quarter-hour or half-hour chimes should be skipped based on user settings. If the trigger is for 15 or 45 minutes past, it stops if quarter tolls are disabled or if the selected sound is a Cuckoo Clock. If the trigger is for 30 minutes past, it stops if half tolls are disabled. If not stopped, it waits for up to two minutes for the living room Echo to finish any current playback. Finally, it plays a specific chime sound on the Echo, chosen based on the current time and the user's selected clock sound (Cuckoo Clock or Grandfather Clock)."
},
"human_like": "Plays a clock chime sound on the living room Echo every quarter hour, but only during a set time window, when people are home, and if the user hasn't disabled specific chimes.",
"complexity": "high"
}
},
{
"id": "set_wakeup_time",
"result": {
"structured": "TRIGGER: At 01:00:00 daily. CONDITIONS: None. ACTIONS: Choose action based on conditions: IF (workday binary sensor [binary_sensor.workday] is on) AND (holiday binary sensor [binary_sensor.holiday] is off) THEN set wakeup input datetime [input_datetime.wakeup] time to the current value of workday wakeup time input datetime [input_datetime.workday_wakeup_time] AND turn on wakeup alarm input boolean [input_boolean.wakeup_alarm]. OTHERWISE (default) set wakeup input datetime [input_datetime.wakeup] time to 09:00:00 AND turn off wakeup alarm input boolean [input_boolean.wakeup_alarm].",
"natural_language": {
"trigger": "The automation runs every day at 1:00 AM.",
"conditions": "There are no global conditions. The actions are chosen based on the state of two sensors at the time of the trigger.",
"action": "If it is a workday (workday binary sensor [binary_sensor.workday] is on) and not a holiday (holiday binary sensor [binary_sensor.holiday] is off), the automation sets the wakeup time (wakeup input datetime [input_datetime.wakeup]) to the pre-configured workday wakeup time (workday wakeup time input datetime [input_datetime.workday_wakeup_time]) and enables the wakeup alarm (wakeup alarm input boolean [input_boolean.wakeup_alarm]). Otherwise, for non-workdays or holidays, it sets the wakeup time to 9:00 AM and turns off the wakeup alarm."
},
"human_like": "Sets the daily wake-up time and alarm status at 1 AM, using a workday schedule or a default weekend/holiday time.",
"complexity": "medium"
}
},
{
"id": "morning_routine",
"result": {
"structured": "TRIGGER: At the time specified by wakeup input datetime [input_datetime.wakeup]. CONDITIONS: None. ACTIONS: Turn off do not disturb input boolean [input_boolean.do_not_disturb]. Turn on audible notifications input boolean [input_boolean.audible_notifications]. If windows open input boolean [input_boolean.windows_open] is off, then turn off bedroom fan [fan.bedroom_fan]. Set thermostat preset input select [input_select.thermostat_preset] to 'Daytime - Steven' if steven person [person.steven] is home, otherwise set it to 'Daytime - Chris'. Turn off chris s echo show do not disturb switch [switch.chris_s_echo_show_do_not_disturb_switch], lab echo dot do not disturb switch [switch.lab_echo_dot_do_not_disturb_switch], living room echo do not disturb switch [switch.living_room_echo_do_not_disturb_switch], kitchen echo dot do not disturb switch [switch.kitchen_echo_dot_do_not_disturb_switch], and chris s fire do not disturb switch [switch.chris_s_fire_do_not_disturb_switch]. If wakeup alarm input boolean [input_boolean.wakeup_alarm] is on, then execute Morning Wakeup Report [script.morning_wakeup_report].",
"natural_language": {
"trigger": "The automation runs at the specific time set in the wakeup input datetime [input_datetime.wakeup].",
"conditions": "There are no conditions that must be met for the actions to run; they execute immediately upon the trigger.",
"action": "It first turns off the do not disturb mode [input_boolean.do_not_disturb] and turns on audible notifications [input_boolean.audible_notifications]. If the windows are not reported as open [input_boolean.windows_open], it turns off the bedroom fan [fan.bedroom_fan]. It then sets the thermostat preset [input_select.thermostat_preset] to a daytime mode, choosing 'Daytime - Steven' if Steven is home [person.steven], otherwise 'Daytime - Chris'. Next, it turns off the 'Do Not Disturb' mode on several Echo devices by switching off their corresponding switches. Finally, if the wakeup alarm is enabled [input_boolean.wakeup_alarm], it runs a morning wakeup report script [script.morning_wakeup_report]."
},
"human_like": "This morning routine disables do not disturb modes, adjusts climate and device settings, and optionally provides a wakeup report, all based on a scheduled wake-up time.",
"complexity": "medium"
}
},
{
"id": "'1616533227405'",
"result": {
"structured": "TRIGGER: When patio ambient light sensor [sensor.patio_ambient_light] illuminance falls below 20 lux. CONDITIONS: front lights on for the night input boolean [input_boolean.front_lights_on_for_the_night] is off. ACTIONS: Send notification to chris with message 'Lights are turning on', then execute script Front Lights Turn On [script.front_lights_turn_on], then turn on front lights on for the night input boolean [input_boolean.front_lights_on_for_the_night], then if columns button enabled input boolean [input_boolean.columns_button_enabled] is on, turn on front columns button led [light.front_columns_button_led].",
"natural_language": {
"trigger": "When the patio ambient light sensor [sensor.patio_ambient_light] detects that the light level has dropped below 20 lux, indicating it is getting dark.",
"conditions": "The automation only runs if the front lights on for the night input boolean [input_boolean.front_lights_on_for_the_night] is currently off.",
"action": "First, it sends a notification to Chris saying 'Lights are turning on'. Then, it runs the Front Lights Turn On [script.front_lights_turn_on] script to turn on the front lights. Next, it turns on the front lights on for the night input boolean [input_boolean.front_lights_on_for_the_night] to mark that the lights are on for the night. Finally, if the columns button enabled input boolean [input_boolean.columns_button_enabled] is on, it also turns on the front columns button led [light.front_columns_button_led]."
},
"human_like": "Turns on the front lights and sends a notification when it gets dark, provided the lights aren't already marked as on for the night.",
"complexity": "medium"
}
},
{
"id": "'1599449030138'",
"result": {
"structured": "TRIGGER: At the time specified by front lights off input datetime [input_datetime.front_lights_off]. CONDITIONS: guests over input boolean [input_boolean.guests_over] is off. ACTIONS: Activate front lights all off scene [scene.front_lights_all_off]. Turn on front lights off for the night input boolean [input_boolean.front_lights_off_for_the_night]. Turn off front columns button led [light.front_columns_button_led], front columns black lights [light.front_columns_black_lights], columns garland [light.columns_garland], village [light.village], and fiber optic decoration [light.fiber_optic_decoration]. Turn off front columns button led [light.front_columns_button_led] with a 2-second transition. Turn off path light power supply switch [switch.path_light_power_supply]. Execute script FPP Stop Now [script.fpp_stop_now].",
"natural_language": {
"trigger": "The automation runs at a specific time set by the front lights off input datetime [input_datetime.front_lights_off].",
"conditions": "It only proceeds if the guests over input boolean [input_boolean.guests_over] is turned off, indicating no guests are present.",
"action": "It first activates the front lights all off scene [scene.front_lights_all_off]. It then marks that the front lights are off for the night by turning on the front lights off for the night input boolean [input_boolean.front_lights_off_for_the_night]. Next, it turns off a series of specific lights: the front columns button led [light.front_columns_button_led], the front columns black lights [light.front_columns_black_lights], the columns garland [light.columns_garland], the village [light.village], and the fiber optic decoration [light.fiber_optic_decoration]. It also turns off the front columns button led [light.front_columns_button_led] again, this time with a smooth 2-second transition. It turns off the path light power supply switch [switch.path_light_power_supply] and finally executes the FPP Stop Now [script.fpp_stop_now] script."
},
"human_like": "Turns off all the front exterior lights and decorations at a scheduled time each night, but only when there are no guests over.",
"complexity": "low"
}
},
{
"id": "'1617760688958'",
"result": {
"structured": "TRIGGER: At 12:00:00. CONDITIONS: None. ACTIONS: Turn off front lights on for the night input boolean [input_boolean.front_lights_on_for_the_night] AND Turn off front lights off for the night input boolean [input_boolean.front_lights_off_for_the_night].",
"natural_language": {
"trigger": "Every day at noon (12:00:00).",
"conditions": "There are no conditions that must be met.",
"action": "Turn off both the 'front lights on for the night input boolean' [input_boolean.front_lights_on_for_the_night] and the 'front lights off for the night input boolean' [input_boolean.front_lights_off_for_the_night]."
},
"human_like": "Resets the front light control switches every day at noon.",
"complexity": "low"
}
},
{
"id": "'1617761350052'",
"result": {
"structured": "TRIGGER: When tasmota device c05382e95d514cffc7ea5ddc936b93b9 [device_id: c05382e95d514cffc7ea5ddc936b93b9] button_1 is double-pressed. CONDITIONS: None. ACTIONS: Toggle left flood [light.left_flood] and right flood [light.right_flood] with brightness 100%, RGB color (0, 255, 255), and a 5-second transition.",
"natural_language": {
"trigger": "When button 1 on the Tasmota device [device_id: c05382e95d514cffc7ea5ddc936b93b9] is double-pressed.",
"conditions": "There are no conditions.",
"action": "Toggles both the left flood [light.left_flood] and right flood [light.right_flood] lights on or off, setting them to 100% brightness, a cyan color, and a smooth 5-second transition."
},
"human_like": "Double-pressing a button on a Tasmota device toggles the flood lights on or off with a cyan color and a smooth fade.",
"complexity": "low"
}
},
{
"id": "'1632625438084'",
"result": {
"structured": "TRIGGER: When fpp volume input number [input_number.fpp_volume] changes state. CONDITIONS: None. ACTIONS: Execute script FPP Set Volume [script.fpp_set_volume] with the volume parameter set to the current state of fpp volume input number [input_number.fpp_volume].",
"natural_language": {
"trigger": "Whenever the value of the fpp volume input number [input_number.fpp_volume] changes.",
"conditions": "There are no conditions for this automation.",
"action": "Runs the FPP Set Volume [script.fpp_set_volume] script, passing the current numeric value from the fpp volume input number [input_number.fpp_volume] as the volume parameter."
},
"human_like": "Updates the FPP system volume whenever the volume input slider is changed.",
"complexity": "low"
}
},
{
"id": "'1633371419662'",
"result": {
"structured": "TRIGGER: When fpp status sensor [sensor.fpp_status] changes state. CONDITIONS: None. ACTIONS: Choose based on the following cases: CASE 1 (playing standby): If fpp status sensor [sensor.fpp_status] is 'playing' AND the string 'standby' is present in the lowercase state of fpp current playlist sensor [sensor.fpp_current_playlist]. Then turn off front yard motion lights input boolean [input_boolean.front_yard_motion_lights] AND turn off porch light [light.porch_light]. CASE 2 (playing normal): If fpp status sensor [sensor.fpp_status] is 'playing'. Then turn off front columns button led [light.front_columns_button_led] with a 2-second transition AND turn off front yard motion lights input boolean [input_boolean.front_yard_motion_lights] AND turn off porch light [light.porch_light]. CASE 3 (idle): If fpp status sensor [sensor.fpp_status] is 'idle'. Then turn on front yard motion lights input boolean [input_boolean.front_yard_motion_lights] AND if front lights on for the night input boolean [input_boolean.front_lights_on_for_the_night] is 'on' AND front lights off for the night input boolean [input_boolean.front_lights_off_for_the_night] is 'off', then turn on front columns button led [light.front_columns_button_led] with a 2-second transition AND run script Front Lights Turn On [script.front_lights_turn_on]. If no case matches, do nothing.",
"natural_language": {
"trigger": "Whenever the fpp status sensor [sensor.fpp_status] changes its state.",
"conditions": "There are no global conditions for this automation.",
"action": "The automation selects one of three possible action sequences based on the status. If the status is 'playing' and the current playlist contains the word 'standby', it turns off the front yard motion lights and the porch light. If the status is simply 'playing' (without 'standby' in the playlist), it turns off the front columns button LED (with a fade), the front yard motion lights, and the porch light. If the status is 'idle', it turns on the front yard motion lights and, provided the 'front lights on for the night' flag is on and the 'front lights off for the night' flag is off, it also turns on the front columns button LED (with a fade) and runs the 'Front Lights Turn On' script."
},
"human_like": "This automation synchronizes the front yard and porch lights with the status of an FPP (likely a holiday lighting controller), turning them off during shows and restoring them when idle, based on the playlist name.",
"complexity": "medium"
}
},
{
"id": "'1633124084367'",
"result": {
"structured": "TRIGGER: When button_1 on tasmota device 8e07dd38dc9354108f762038aec68c27 is short-pressed. CONDITIONS: front columns button led [light.front_columns_button_led] is on. ACTIONS: Execute script.text_notify_chris with title 'Front Lights' and message 'Someone pressed the button'. THEN, based on time: IF before 20:30:00, execute script.fpp_set_volume with volume 70; ELSE IF between 20:30:00 and 21:30:00, execute script.fpp_set_volume with volume 50; ELSE IF after 21:30:00, execute script.fpp_set_volume with volume 38. FINALLY, execute script.fpp_start_playlist_at_random_song.",
"natural_language": {
"trigger": "When button 1 on the Tasmota device located at the front columns is short-pressed.",
"conditions": "The front columns button led [light.front_columns_button_led] must be turned on.",
"action": "First, send a text notification to Chris via the script.text_notify_chris script, with the title 'Front Lights' and the message 'Someone pressed the button'. Then, depending on the time of day, set the volume using the script.fpp_set_volume script: before 8:30 PM, set volume to 70; between 8:30 PM and 9:30 PM, set volume to 50; after 9:30 PM, set volume to 38. Finally, start a playlist at a random song using the script.fpp_start_playlist_at_random_song script."
},
"human_like": "When the front columns button is pressed and its LED is on, it sends a notification, adjusts the volume based on the time, and starts a random song from a playlist.",
"complexity": "medium"
}
},
{
"id": "'1633372254150'",
"result": {
"structured": "TRIGGER: When tasmota device 8e07dd38dc9354108f762038aec68c27 [device_id: 8e07dd38dc9354108f762038aec68c27] button_1 is quadruple-pressed. CONDITIONS: fpp status sensor [sensor.fpp_status] is playing. ACTIONS: Execute script FPP Stop Now [script.fpp_stop_now].",
"natural_language": {
"trigger": "When the button on the Tasmota device in the front columns is pressed four times in quick succession.",
"conditions": "If the fpp status sensor [sensor.fpp_status] indicates that a show is currently playing.",
"action": "Immediately stops the show by running the FPP Stop Now [script.fpp_stop_now] script."
},
"human_like": "Instantly stops the front column light show when a specific button is pressed four times, but only if a show is currently running.",
"complexity": "low"
}
},
{
"id": "IrrigationTimerStart",
"result": {
"structured": "TRIGGER: When irrigation switch [switch.irrigation] turns on. CONDITIONS: None. ACTIONS: Start irrigation timer [timer.irrigation].",
"natural_language": {
"trigger": "When the irrigation switch [switch.irrigation] is turned on.",
"conditions": "There are no conditions that must be met.",
"action": "Starts the irrigation timer [timer.irrigation]."
},
"human_like": "Starts the irrigation timer whenever the irrigation system is switched on.",
"complexity": "low"
}
},
{
"id": "IrrigationTimerStop",
"result": {
"structured": "TRIGGER: When irrigation timer [timer.irrigation] finishes. ACTIONS: Send a notification to all devices with the message 'Irrigation complete' AND Turn off irrigation switch [switch.irrigation].",
"natural_language": {
"trigger": "When the irrigation timer [timer.irrigation] finishes running.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a notification to all devices stating 'Irrigation complete' and then turns off the irrigation switch [switch.irrigation]."
},
"human_like": "Notifies you and turns off the irrigation system when the watering timer finishes.",
"complexity": "low"
}
},
{
"id": "bedroom_smart_light_handler",
"result": {
"structured": "TRIGGER: When bedroom motion sensor [binary_sensor.espresense_bedroom_motion] changes from off to on. CONDITIONS: (do not disturb input boolean [input_boolean.do_not_disturb] is off) AND (motion lights master input boolean [input_boolean.motion_lights_master] is on) AND (bedroom motion lights input boolean [input_boolean.bedroom_motion_lights] is on). ACTIONS: Choose based on time of day and ambient light: IF (morning binary sensor [binary_sensor.morning] is on) AND (bedroom ambient light sensor [sensor.bedroom_ambient_light] is below 200) THEN turn on bathroom light [light.bathroom_light] at 35% brightness. ELSE IF ((noon binary sensor [binary_sensor.noon] is on) OR (afternoon binary sensor [binary_sensor.afternoon] is on)) AND (bedroom ambient light sensor [sensor.bedroom_ambient_light] is below 200) THEN run script Master Bedroom Lights With Level [script.master_bedroom_lights_w_level] with level 170, THEN wait for bedroom motion sensor [binary_sensor.espresense_bedroom_motion] to change from on to off and remain off for a duration defined by motion lights delay input number [input_number.motion_lights_delay] minutes, THEN turn off hue color lamp 1 [light.hue_color_lamp_1] and bedroom fan lights [light.bedroom_fan_lights]. ELSE IF (evening binary sensor [binary_sensor.evening] is on) THEN IF (bedroom ambient light sensor [sensor.bedroom_ambient_light] is below 200) THEN turn on hue color lamp 1 [light.hue_color_lamp_1] at 75% brightness, THEN wait for bedroom motion sensor [binary_sensor.espresense_bedroom_motion] to change from on to off and remain off for a duration defined by motion lights delay input number [input_number.motion_lights_delay] minutes, THEN turn off hue color lamp 1 [light.hue_color_lamp_1] and bedroom fan lights [light.bedroom_fan_lights]. ELSE IF (night binary sensor [binary_sensor.night] is on) AND (do not disturb input boolean [input_boolean.do_not_disturb] is off) THEN turn on hue color lamp 1 [light.hue_color_lamp_1] at 75% brightness, THEN wait for bedroom motion sensor [binary_sensor.espresense_bedroom_motion] to change from on to off and remain off for a duration defined by motion lights delay input number [input_number.motion_lights_delay] minutes, THEN turn off hue color lamp 1 [light.hue_color_lamp_1] and bedroom fan lights [light.bedroom_fan_lights].",
"natural_language": {
"trigger": "When motion is first detected in the bedroom, indicated by the bedroom motion sensor [binary_sensor.espresense_bedroom_motion] changing from no motion to motion.",
"conditions": "The automation only runs if the do not disturb input boolean [input_boolean.do_not_disturb] is off, the master motion lights switch [input_boolean.motion_lights_master] is on, and the specific bedroom motion lights switch [input_boolean.bedroom_motion_lights] is also on.",
"action": "Depending on the time of day and the ambient light level, different lighting actions are taken. In the morning when it's dark, the bathroom light [light.bathroom_light] is turned on dimly. During the day, if it's dark, the main bedroom lights are set to a specific level and then turned off after motion stops for a configurable delay. In the evening, if it's dark, a bedroom lamp is turned on and later turned off after motion stops. At night, a bedroom lamp is turned on and later turned off after motion stops, provided 'do not disturb' is off."
},
"human_like": "Automatically controls bedroom and bathroom lights based on motion, time of day, and ambient light, turning them on when you enter and off after you leave.",
"complexity": "high"
}
},
{
"id": "lab_smart_light_handler",
"result": {
"structured": "TRIGGER: When lab motion sensor [binary_sensor.espresense_lab_motion] changes from off to on. CONDITIONS: do not disturb input boolean [input_boolean.do_not_disturb] is off AND motion lights master input boolean [input_boolean.motion_lights_master] is on AND lab motion lights input boolean [input_boolean.lab_motion_lights] is on AND lab ambient light sensor [sensor.lab_ambient_light] is below 100. ACTIONS: Turn on lab fan light [light.lab_fan_light], then wait for bedroom motion sensor [binary_sensor.espresense_bedroom_motion] to change from on to off and remain off for the number of minutes defined by motion lights delay input number [input_number.motion_lights_delay], then turn off lab fan light [light.lab_fan_light]. The automation restarts if triggered again while running.",
"natural_language": {
"trigger": "When motion is first detected in the lab, indicated by the lab motion sensor [binary_sensor.espresense_lab_motion] turning on.",
"conditions": "All of the following must be true: the do not disturb input boolean [input_boolean.do_not_disturb] is off, the master switch for motion lights [input_boolean.motion_lights_master] is on, the specific switch for lab motion lights [input_boolean.lab_motion_lights] is on, and the ambient light level in the lab [sensor.lab_ambient_light] is below 100.",
"action": "The automation turns on the lab fan light [light.lab_fan_light]. It then waits for motion to stop in the bedroom, as detected by the bedroom motion sensor [binary_sensor.espresense_bedroom_motion] staying off for a configurable delay period. After this delay, it turns off the lab fan light. If motion is detected again in the lab while the automation is running, the entire sequence restarts."
},
"human_like": "Automatically turns on the lab light when motion is detected and it's dark, then turns it off after motion has been absent in the bedroom for a set time.",
"complexity": "medium"
}
},
{
"id": "living_room_smart_light_handler",
"result": {
"structured": "TRIGGER: When living room motion sensor [binary_sensor.espresense_living_room_motion] changes from off to on. CONDITIONS: do not disturb input boolean [input_boolean.do_not_disturb] is off AND motion lights master input boolean [input_boolean.motion_lights_master] is on AND living room motion lights input boolean [input_boolean.living_room_motion_lights] is on. ACTIONS: Choose an action based on time of day: IF (morning binary sensor [binary_sensor.morning] is on OR noon binary sensor [binary_sensor.noon] is on OR afternoon binary_sensor [binary_sensor.afternoon] is on) THEN turn on living room lights on scene [scene.living_room_lights_on], THEN wait until living room motion sensor [binary_sensor.espresense_living_room_motion] changes from on to off and remains off for a duration (in minutes) equal to the value of motion lights delay input number [input_number.motion_lights_delay], THEN turn on living room lights off scene [scene.living_room_lights_off]. ELSE IF evening binary sensor [binary_sensor.evening] is on THEN turn on living room ambient scene [scene.living_room_ambient], THEN wait until living room motion sensor [binary_sensor.espresense_living_room_motion] changes from on to off and remains off for a duration (in minutes) equal to the value of motion lights delay input number [input_number.motion_lights_delay], THEN turn on living room lights off scene [scene.living_room_lights_off]. ELSE IF night binary sensor [binary_sensor.night] is on AND do not disturb input boolean [input_boolean.do_not_disturb] is off THEN turn on living room ambient scene [scene.living_room_ambient], THEN wait until living room motion sensor [binary_sensor.espresense_living_room_motion] changes from on to off and remains off for a duration (in minutes) equal to the value of motion lights delay input number [input_number.motion_lights_delay], THEN turn on living room lights off scene [scene.living_room_lights_off]. OTHERWISE do nothing.",
"natural_language": {
"trigger": "When motion is first detected in the living room, indicated by the living room motion sensor [binary_sensor.espresense_living_room_motion] turning on.",
"conditions": "The automation only runs if the do not disturb input boolean [input_boolean.do_not_disturb] is off, the master motion lights switch [input_boolean.motion_lights_master] is on, and the specific living room motion lights switch [input_boolean.living_room_motion_lights] is also on.",
"action": "Depending on the time of day, a different lighting scene is activated. During the morning, noon, or afternoon, the main lights are turned on. In the evening or at night (if do not disturb is off), a more subdued ambient scene is activated. After motion is no longer detected for a configurable delay period, the lights are turned off."
},
"human_like": "Automatically turns on the living room lights when motion is detected, using different lighting scenes based on the time of day, and turns them off after a delay when the room is empty.",
"complexity": "medium"
}
},
{
"id": "dining_room_smart_light_handler",
"result": {
"structured": "TRIGGER: When dining room motion sensor [binary_sensor.espresense_dining_room_motion] changes from off to on and remains on for 1 second. CONDITIONS: do not disturb input boolean [input_boolean.do_not_disturb] is off AND motion lights master input boolean [input_boolean.motion_lights_master] is on AND dining room motion lights input boolean [input_boolean.dining_room_motion_lights] is on. ACTIONS: Turn on dining room light [light.dining_room_light], then wait until dining room motion sensor [binary_sensor.espresense_dining_room_motion] changes from on to off and remains off for a duration defined by motion lights delay input number [input_number.motion_lights_delay] minutes, then turn off dining room light [light.dining_room_light]. The automation restarts if triggered again while running.",
"natural_language": {
"trigger": "When motion is detected in the dining room, specifically when the dining room motion sensor [binary_sensor.espresense_dining_room_motion] changes from no motion to motion and stays that way for one second.",
"conditions": "The automation only runs if the do not disturb input boolean [input_boolean.do_not_disturb] is off, the master switch for motion lights [input_boolean.motion_lights_master] is on, and the specific switch for the dining room's motion lights [input_boolean.dining_room_motion_lights] is also on.",
"action": "The light in the dining room [light.dining_room_light] is turned on. The automation then waits for motion to stop, which is defined as the dining room motion sensor [binary_sensor.espresense_dining_room_motion] changing from motion to no motion and staying that way for a configurable number of minutes. After this delay, the dining room light [light.dining_room_light] is turned off. If motion is detected again while the automation is running, the entire process restarts."
},
"human_like": "Automatically turns the dining room light on when motion is detected and off after a delay once motion stops, provided motion-activated lighting is enabled for the room.",
"complexity": "medium"
}
},
{
"id": "kitchen_smart_light_handler",
"result": {
"structured": "TRIGGER: When kitchen motion sensor [binary_sensor.espresense_kitchen_motion] changes from off to on and remains on for 1 second OR when kitchen light [light.kitchen_light] is turned on. CONDITIONS: motion lights master input boolean [input_boolean.motion_lights_master] is on AND kitchen motion lights input boolean [input_boolean.kitchen_motion_lights] is on. ACTIONS: If the trigger was light_turned_on, then turn on kitchen leds [light.kitchen_leds] at 100% brightness. ELSE IF Do Not Disturb [binary_sensor.do_not_disturb] is on, then turn on kitchen leds [light.kitchen_leds] at 85% brightness, wait for kitchen motion sensor [binary_sensor.espresense_kitchen_motion] to change from on to off and remain off for a duration defined by motion lights delay input number [input_number.motion_lights_delay] minutes, then turn off kitchen light [light.kitchen_light] and kitchen leds [light.kitchen_leds]. ELSE IF evening binary sensor [binary_sensor.evening] is on OR night binary sensor [binary_sensor.night] is on, then turn on kitchen leds [light.kitchen_leds] at 100% brightness, wait for kitchen motion sensor [binary_sensor.espresense_kitchen_motion] to change from on to off and remain off for a duration defined by motion lights delay input number [input_number.motion_lights_delay] minutes, then turn on kitchen dim scene [scene.kitchen_dim]. OTHERWISE (default), turn on kitchen light [light.kitchen_light], wait for kitchen motion sensor [binary_sensor.espresense_kitchen_motion] to change from on to off and remain off for a duration defined by motion lights delay input number [input_number.motion_lights_delay] minutes, then turn off kitchen light [light.kitchen_light] and kitchen leds [light.kitchen_leds].",
"natural_language": {
"trigger": "The automation triggers either when motion is detected in the kitchen (the kitchen motion sensor [binary_sensor.espresense_kitchen_motion] changes from off to on and stays on for one second) or when the main kitchen light [light.kitchen_light] is manually turned on.",
"conditions": "For the automation to run, two master switches must be on: the global motion lights master input boolean [input_boolean.motion_lights_master] and the specific kitchen motion lights input boolean [input_boolean.kitchen_motion_lights].",
"action": "The action depends on the situation. If the trigger was the light being turned on manually, it simply sets the kitchen leds [light.kitchen_leds] to full brightness. If the 'Do Not Disturb' [binary_sensor.do_not_disturb] mode is active, it sets the kitchen leds to 85% brightness, waits for motion to stop for a configurable delay, and then turns off all kitchen lights. If it's evening or night, it sets the kitchen leds to full brightness, waits for motion to stop for the same delay, and then activates a dimmed kitchen scene [scene.kitchen_dim]. In all other cases (like daytime), it turns on the main kitchen light, waits for motion to stop, and then turns off all lights."
},
"human_like": "This automation intelligently controls the kitchen lights based on motion and time of day, providing appropriate lighting and automatically turning lights off after a period of inactivity.",
"complexity": "high"
}
},
{
"id": "front_yard_smart_light_handler",
"result": {
"structured": "TRIGGER: When front yard motion binary sensor [binary_sensor.front_yard_motion] changes from off to on AND remains on for 2 seconds. CONDITIONS: front yard motion lights input boolean [input_boolean.front_yard_motion_lights] is on AND patio ambient light sensor [sensor.patio_ambient_light] is below 60. ACTIONS: Turn on porch light [light.porch_light]. Then, wait for front yard motion binary sensor [binary_sensor.front_yard_motion] to change from on to off AND remain off for a duration defined by motion lights delay input number [input_number.motion_lights_delay] (in minutes). Finally, turn off porch light [light.porch_light]. The automation restarts if triggered again while running.",
"natural_language": {
"trigger": "When motion is detected in the front yard, specifically when the front yard motion binary sensor [binary_sensor.front_yard_motion] turns on and stays on for at least two seconds.",
"conditions": "The automation only proceeds if the front yard motion lights input boolean [input_boolean.front_yard_motion_lights] is switched on, and the ambient light level measured by the patio ambient light sensor [sensor.patio_ambient_light] is below 60.",
"action": "First, the porch light [light.porch_light] is turned on. The automation then waits for motion to stop, which is defined as the front yard motion binary sensor [binary_sensor.front_yard_motion] turning off and staying off for a configurable number of minutes (taken from the motion lights delay input number [input_number.motion_lights_delay]). After this waiting period, the porch light is turned off. If motion is detected again while the automation is running, the entire sequence restarts from the beginning."
},
"human_like": "Turns on the porch light when motion is detected in the front yard at night, and turns it off a short while after motion stops.",
"complexity": "medium"
}
},
{
"id": "patio_smart_light_handler",
"result": {
"structured": "TRIGGER: When patio ring motion binary sensor [binary_sensor.patio_ring_motion] changes from off to on. CONDITIONS: motion lights master input boolean [input_boolean.motion_lights_master] is on AND patio motion lights input boolean [input_boolean.patio_motion_lights] is on AND patio ambient light sensor [sensor.patio_ambient_light] is below 60. ACTIONS: Turn on patio string lights [light.patio_string_lights], then wait until Patio Motion [binary_sensor.patio_motion] changes from on to off and remains off for a duration equal to the value of motion lights delay input number [input_number.motion_lights_delay] minutes, then turn off patio string lights [light.patio_string_lights].",
"natural_language": {
"trigger": "When motion is first detected by the patio ring motion binary sensor [binary_sensor.patio_ring_motion].",
"conditions": "The master switch for motion lights [input_boolean.motion_lights_master] must be on, the specific switch for patio motion lights [input_boolean.patio_motion_lights] must be on, and the ambient light level measured by the patio ambient light sensor [sensor.patio_ambient_light] must be below 60.",
"action": "Turns on the patio string lights [light.patio_string_lights]. It then waits for motion to stop being detected by the Patio Motion [binary_sensor.patio_motion] sensor. After motion stops, it waits for a configurable delay period (the number of minutes set in motion lights delay input number [input_number.motion_lights_delay]) and then turns the patio string lights off."
},
"human_like": "Automatically turns on the patio lights when motion is detected in the dark, and turns them off a while after motion stops.",
"complexity": "medium"
}
},
{
"id": "garage_smart_light_handler",
"result": {
"structured": "TRIGGER: When garage motion input boolean [input_boolean.garage_motion] changes from off to on OR When garage motion input boolean [input_boolean.garage_motion] changes from on to off AND remains off for the number of minutes defined by motion lights delay input number [input_number.motion_lights_delay] OR When garage door binary sensor [binary_sensor.garage_door] changes from closed (off) to open (on) OR When garage door binary sensor [binary_sensor.garage_door] changes from open (on) to closed (off). ACTIONS: Choose one action based on conditions: 1. If triggered by motion_active AND garage door binary sensor [binary_sensor.garage_door] is open (on) AND motion lights master input boolean [input_boolean.motion_lights_master] is on AND garage motion lights input boolean [input_boolean.garage_motion_lights] is on THEN turn on garage light [light.garage_light]. 2. If triggered by motion_inactive AND garage door binary sensor [binary_sensor.garage_door] is open (on) AND motion lights master input boolean [input_boolean.motion_lights_master] is on AND garage motion lights input boolean [input_boolean.garage_motion_lights] is on THEN turn off garage light [light.garage_light]. 3. If triggered by door_open THEN turn on garage light [light.garage_light]. 4. If triggered by door_closed THEN turn off garage light [light.garage_light].",
"natural_language": {
"trigger": "The automation can start when the garage motion input boolean [input_boolean.garage_motion] becomes active (turns on) or becomes inactive (turns off and stays off for a configurable delay). It can also start when the garage door binary sensor [binary_sensor.garage_door] opens or closes.",
"conditions": "The actions depend on which trigger occurred and the state of other entities. For motion-related triggers, the garage door must be open, and both the master motion lights switch [input_boolean.motion_lights_master] and the garage-specific motion lights switch [input_boolean.garage_motion_lights] must be turned on. For door-related triggers, there are no additional conditions.",
"action": "Depending on the scenario, the automation will either turn the garage light [light.garage_light] on or off. Motion becoming active or the door opening will turn the light on. Motion becoming inactive (after the delay) or the door closing will turn the light off, provided the relevant conditions are met."
},
"human_like": "Automatically controls the garage light, turning it on when motion is detected or the door opens, and turning it off after motion stops or the door closes.",
"complexity": "medium"
}
},
{
"id": "hallway_smart_light_handler",
"result": {
"structured": "TRIGGER: When hallway motion sensor [binary_sensor.hallway_motion_sensor] detects motion (state change to on). CONDITIONS: motion lights master input boolean [input_boolean.motion_lights_master] is on AND hallway smart lights input boolean [input_boolean.hallway_smart_lights] is on. ACTIONS: IF do not disturb input boolean [input_boolean.do_not_disturb] is off THEN turn on hallway light [light.hallway_light]. THEN WAIT FOR hallway motion sensor [binary_sensor.hallway_motion_sensor] to change from on to off and remain off for 1 minute. THEN turn off hallway light [light.hallway_light]. The automation restarts if triggered again while running.",
"natural_language": {
"trigger": "When motion is detected by the hallway motion sensor [binary_sensor.hallway_motion_sensor].",
"conditions": "Both the master switch for motion lights, motion lights master input boolean [input_boolean.motion_lights_master], and the specific switch for hallway smart lights, hallway smart lights input boolean [input_boolean.hallway_smart_lights], must be turned on.",
"action": "If the do not disturb mode is off (do not disturb input boolean [input_boolean.do_not_disturb] is off), the automation turns on the hallway light [light.hallway_light]. It then waits for motion to stop (the sensor goes from on to off) and remains clear for one full minute. After this waiting period, it turns off the hallway light [light.hallway_light]. If motion is detected again while the automation is running, the entire sequence restarts from the beginning."
},
"human_like": "Automatically turns on the hallway light when motion is detected, provided the feature is enabled, and turns it off one minute after motion stops.",
"complexity": "medium"
}
},
{
"id": "front_hall_smart_light_handler",
"result": {
"structured": "TRIGGER: When motion is detected by front hall motion sensor [binary_sensor.front_hall_motion_sensor]. CONDITIONS: motion lights master input boolean [input_boolean.motion_lights_master] is on AND front hall smart lights input boolean [input_boolean.front_hall_smart_lights] is on. ACTIONS: Turn on front hall light [light.front_hall_light], then wait until front hall motion sensor [binary_sensor.front_hall_motion_sensor] changes from on to off and remains off for 1 minute, then turn off front hall light [light.front_hall_light]. The automation restarts if triggered again while running.",
"natural_language": {
"trigger": "When motion is detected by the front hall motion sensor [binary_sensor.front_hall_motion_sensor].",
"conditions": "Both the master motion lights switch [input_boolean.motion_lights_master] and the specific front hall smart lights switch [input_boolean.front_hall_smart_lights] must be turned on.",
"action": "The automation turns on the front hall light [light.front_hall_light]. It then waits for the motion sensor to stop detecting motion and remain clear for one full minute. After that minute has passed, it turns the light off. If motion is detected again while the automation is running, the entire sequence restarts."
},
"human_like": "Automatically turns the front hall light on when motion is detected, and turns it off one minute after motion stops, provided the smart lighting features are enabled.",
"complexity": "medium"
}
},
{
"id": "linen_closet_smart_light_handler",
"result": {
"structured": "TRIGGER: When linen closet binary sensor [binary_sensor.linen_closet] opens OR When linen closet binary sensor [binary_sensor.linen_closet] closes. CONDITIONS: None. ACTIONS: If the trigger was the open event, turn on linen closet [light.linen_closet] at 100% brightness. If the trigger was the closed event, turn off linen closet [light.linen_closet].",
"natural_language": {
"trigger": "When the door or contact sensor for the linen closet, linen closet binary sensor [binary_sensor.linen_closet], is opened or when it is closed.",
"conditions": "There are no additional conditions that must be met.",
"action": "If the closet was opened, the light inside, linen closet [light.linen_closet], is turned on to full brightness. If the closet was closed, the light is turned off."
},
"human_like": "Automatically turns the closet light on when the door is opened and off when it is closed.",
"complexity": "low"
}
},
{
"id": "'1606452083691'",
"result": {
"structured": "TRIGGER: When alohomora input boolean [input_boolean.alohomora] changes from off to on. CONDITIONS: iphone 5 device tracker [device_tracker.iphone_5] is home. ACTIONS: Unlock front door lock [lock.schlage_allegion_be469zp_connect_smart_deadbolt_locked_frontdoor] AND turn off alohomora input boolean [input_boolean.alohomora].",
"natural_language": {
"trigger": "When the alohomora input boolean [input_boolean.alohomora] is switched from off to on.",
"conditions": "The iphone 5 device tracker [device_tracker.iphone_5] must be at home.",
"action": "Unlocks the front door lock [lock.schlage_allegion_be469zp_connect_smart_deadbolt_locked_frontdoor] and then turns the alohomora input boolean [input_boolean.alohomora] back off."
},
"human_like": "Unlocks the front door when a specific input switch is turned on, but only if a particular phone is at home.",
"complexity": "low"
}
},
{
"id": "daily_snapshot_clean_up",
"result": {
"structured": "TRIGGER: At 03:00:00 daily. CONDITIONS: None. ACTIONS: Call service clean_up_snapshots_service.clean_up.",
"natural_language": {
"trigger": "Every day at 3:00 AM.",
"conditions": "There are no conditions.",
"action": "Calls the service clean_up_snapshots_service.clean_up."
},
"human_like": "Runs a daily cleanup of snapshots at 3 AM.",
"complexity": "low"
}
},
{
"id": "startup_automations",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Wait 30 seconds, then send a notification to chris with title 'We're back' and message 'Home Assistant has started', then execute the Status Announcement [script.status_annc] script with parameters who set to the state of room presence sensor [sensor.room_presence], call_inform_chime set to 1, and call_ha_started set to 1, then press the fire tablet load start url button [button.fire_tablet_load_start_url], then publish an empty payload to the MQTT topic 'cmnd/tasmotas/state', then update the chris location sensor [sensor.chris_location], then update the steven location sensor [sensor.steven_location], then set the frontend theme to 'ios-dark-mode-light-blue'.",
"natural_language": {
"trigger": "When Home Assistant finishes starting up.",
"conditions": "There are no conditions that must be met.",
"action": "After a 30-second delay, a notification is sent to chris with the title 'We're back' and the message 'Home Assistant has started'. Then, the Status Announcement [script.status_annc] script is run, which will announce the current state of the room presence sensor [sensor.room_presence] and perform other chime and startup notifications. Next, the fire tablet load start url button [button.fire_tablet_load_start_url] is pressed, likely to load a specific URL on a tablet. Following that, an empty message is published to the MQTT topic 'cmnd/tasmotas/state' to request the state of Tasmota devices. The chris location sensor [sensor.chris_location] and steven location sensor [sensor.steven_location] are then manually updated to refresh their data. Finally, the frontend theme is switched to 'ios-dark-mode-light-blue'."
},
"human_like": "Performs a series of startup tasks when Home Assistant boots, including sending a notification, running an announcement script, refreshing device states, and setting the interface theme.",
"complexity": "medium"
}
},
{
"id": "f8a0798d6ebb4821845ed48dbf91cf83",
"result": {
"structured": "TRIGGER: When mail updated sensor [sensor.mail_updated] changes state OR when Home Assistant starts. CONDITIONS: None. ACTIONS: Call service local_file.update_file_path for mail usps camera [camera.mail_usps] with file_path set to the current state of mail image system path sensor [sensor.mail_image_system_path].",
"natural_language": {
"trigger": "The automation runs either when the mail updated sensor [sensor.mail_updated] reports a new state, or when Home Assistant itself restarts.",
"conditions": "There are no conditions that must be met for the action to execute.",
"action": "Updates the file path for the mail usps camera [camera.mail_usps] by calling a service, using the current file path stored in the mail image system path sensor [sensor.mail_image_system_path]."
},
"human_like": "Ensures the USPS mail camera's image source is updated whenever new mail is detected or after a system restart.",
"complexity": "low"
}
},
{
"id": "'1600452870216'",
"result": {
"structured": "TRIGGER: When cyberpower status sensor [sensor.cyberpower_status] changes state from 'Online' to 'On Battery Battery Discharging'. CONDITIONS: None. ACTIONS: Send a notification to all devices with the message 'Power is out at home' and a critical sound alert.",
"natural_language": {
"trigger": "When the cyberpower status sensor [sensor.cyberpower_status] reports a change from 'Online' to 'On Battery Battery Discharging'.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a critical push notification to all devices with the message 'Power is out at home'."
},
"human_like": "Sends an urgent alert to all devices when the home loses mains power and switches to battery backup.",
"complexity": "low"
}
},
{
"id": "'1600453304153'",
"result": {
"structured": "TRIGGER: When cyberpower status sensor [sensor.cyberpower_status] changes from 'On Battery Battery Discharging' to 'Online'. CONDITIONS: None. ACTIONS: Send a notification to all devices with the message 'Power at home is restored.' and a critical sound alert.",
"natural_language": {
"trigger": "When the cyberpower status sensor [sensor.cyberpower_status] changes its state from 'On Battery Battery Discharging' to 'Online'.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a push notification to all devices with the message 'Power at home is restored.' and plays a critical sound alert."
},
"human_like": "Sends an alert to all devices when the home's power is restored after a battery discharge event.",
"complexity": "low"
}
},
{
"id": "'1617220336703'",
"result": {
"structured": "TRIGGER: When cyberpower status sensor [sensor.cyberpower_status] changes from Online to unavailable. CONDITIONS: None. ACTIONS: Restart the Home Assistant addon a0d7b954_nut.",
"natural_language": {
"trigger": "When the cyberpower status sensor [sensor.cyberpower_status] changes its state from 'Online' to 'unavailable'.",
"conditions": "There are no conditions that need to be met.",
"action": "Restarts the Home Assistant addon named 'a0d7b954_nut'."
},
"human_like": "Restarts the NUT addon when the CyberPower UPS status becomes unavailable.",
"complexity": "low"
}
},
{
"id": "'1617758977383'",
"result": {
"structured": "TRIGGER: When the state attribute 'state' of cyberpower status sensor [sensor.cyberpower_status] changes to 'Unavailable'. CONDITIONS: nut restarted input boolean [input_boolean.nut_restarted] is off. ACTIONS: Restart the Home Assistant addon 'a0d7b954_nut', then turn on nut restarted input boolean [input_boolean.nut_restarted], then wait for 5 minutes, then turn off nut restarted input boolean [input_boolean.nut_restarted].",
"natural_language": {
"trigger": "When the cyberpower status sensor [sensor.cyberpower_status] becomes unavailable.",
"conditions": "The nut restarted input boolean [input_boolean.nut_restarted] must be off, indicating the addon has not been recently restarted.",
"action": "It restarts the NUT addon, sets a flag to indicate the restart has occurred, waits for five minutes, and then clears that flag."
},
"human_like": "Automatically restarts the NUT addon if the UPS status sensor becomes unavailable, ensuring it doesn't restart repeatedly.",
"complexity": "medium"
}
},
{
"id": "'1615916791727'",
"result": {
"structured": "TRIGGER: Daily at 15:00:00. CONDITIONS: None. ACTIONS: Check certificate expiry timestamp home chrisheder com sensor [sensor.cert_expiry_timestamp_home_chrisheder_com] and send a notification to device 8a29ce795dc898ced035043888d04070 if the certificate is nearing expiration.",
"natural_language": {
"trigger": "The automation runs every day at 3:00 PM.",
"conditions": "There are no specific conditions that must be met for the action to run.",
"action": "It checks the certificate expiry timestamp home chrisheder com sensor [sensor.cert_expiry_timestamp_home_chrisheder_com] and sends a notification to a specified mobile device if the certificate is close to expiring."
},
"human_like": "Sends a daily reminder at 3 PM to check if the website certificate is about to expire.",
"complexity": "low"
}
},
{
"id": "nightly_backup",
"result": {
"structured": "TRIGGER: At 02:00:00 daily. CONDITIONS: None. ACTIONS: Create a full Home Assistant backup named 'Full Backup {{ now().strftime('%Y-%m-%d') }}'.",
"natural_language": {
"trigger": "Every day at 2:00 AM.",
"conditions": "There are no conditions.",
"action": "Creates a full Home Assistant backup, naming it with today's date."
},
"human_like": "Creates a daily backup of the Home Assistant system at 2 AM.",
"complexity": "low"
}
},
{
"id": "announce_callerid",
"result": {
"structured": "TRIGGER: When phone modem sensor [sensor.phone_modem] changes state to 'callerid'. CONDITIONS: None. ACTIONS: Execute script Alexa Voice [script.alexa_voice] with a data payload. The payload constructs a message by first setting a variable to the caller ID name from phone modem sensor [sensor.phone_modem]. It then iterates through a contact list from contacts sensor [sensor.contacts] and, if the caller ID number matches a contact's number, overrides the variable with the contact's name. Finally, it selects a random phrase from a predefined list to announce the call, incorporating the determined name.",
"natural_language": {
"trigger": "When the phone modem sensor [sensor.phone_modem] detects an incoming call and its state changes to 'callerid'.",
"conditions": "There are no conditions that must be met for this automation to run.",
"action": "The automation triggers the Alexa Voice [script.alexa_voice] script to announce the caller. It first looks up the caller's name from the modem's caller ID information. It then checks this number against a stored list of contacts from the contacts sensor [sensor.contacts]. If a match is found, it uses the contact's name instead. Finally, it selects a random greeting phrase, such as \"Sir, incoming call from [name]\", and uses the script to speak the announcement."
},
"human_like": "Announces the name of an incoming phone caller using a smart speaker, identifying known contacts from a list.",
"complexity": "medium"
}
},
{
"id": "family_has_arrived",
"result": {
"structured": "TRIGGER: When chris person [person.chris] enters the zone zone.home OR When steven person [person.steven] changes state from not_home to home OR When family group [group.family] changes state from not_home to home. CONDITIONS: None. ACTIONS: Execute script Family Is Home [script.family_is_home].",
"natural_language": {
"trigger": "The automation triggers when Chris [person.chris] enters the home zone, or when Steven [person.steven] arrives home (changes state from 'not_home' to 'home'), or when the entire family group [group.family] arrives home (changes state from 'not_home' to 'home').",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Runs the script named Family Is Home [script.family_is_home]."
},
"human_like": "Runs a 'family is home' routine when Chris, Steven, or the whole family arrives home.",
"complexity": "low"
}
},
{
"id": "family_has_left",
"result": {
"structured": "TRIGGER: When family group [group.family] changes from home to not_home. CONDITIONS: guest mode input boolean [input_boolean.guest_mode] is off. ACTIONS: Execute script Family Is Away [script.family_is_away].",
"natural_language": {
"trigger": "When the family group [group.family] changes its state from 'home' to 'not_home'.",
"conditions": "The guest mode input boolean [input_boolean.guest_mode] must be turned off.",
"action": "Runs the script named Family Is Away [script.family_is_away]."
},
"human_like": "Runs the 'Family Is Away' routine when everyone has left home and guest mode is not active.",
"complexity": "low"
}
},
{
"id": "welcome_home",
"result": {
"structured": "TRIGGER: When any of the following persons changes state from 'not_home' to 'home': chris person [person.chris], steven person [person.steven], kaitlyn person [person.kaitlyn], ronald person [person.ronald], mari person [person.mari], rheena person [person.rheena], danielle person [person.danielle], daniel person [person.daniel], brian person [person.brian], rathnam person [person.rathnam], nico person [person.nico]. CONDITIONS: None. ACTIONS: Choose between two sequences based on the state of welcome home input boolean [input_boolean.welcome_home]. IF welcome home input boolean [input_boolean.welcome_home] is 'on', THEN wait for front door binary sensor [binary_sensor.front_door] to open (change from 'off' to 'on'), then activate arrival scene [scene.arrival], wait 10 seconds, and run script welcome briefing [script.welcome_briefing]. OTHERWISE (default), add the triggering person to arriving group [group.arriving], wait for front door binary sensor [binary_sensor.front_door] to open (change from 'off' to 'on'), wait 10 seconds, run script Status Announcement [script.status_annc] with a dynamic greeting message based on the persons in the arriving group and the value of room presence sensor [sensor.room_presence], wait 2 minutes, and then clear the arriving group [group.arriving].",
"natural_language": {
"trigger": "The automation is triggered when any of the listed family members (chris, steven, kaitlyn, ronald, mari, rheena, danielle, daniel, brian, rathnam, or nico) arrives home, changing their state from 'not_home' to 'home'.",
"conditions": "There are no explicit conditions that must be met before the actions run; the automation proceeds directly based on the trigger.",
"action": "The automation performs one of two sequences. If the 'welcome home' mode is enabled (input_boolean.welcome_home is on), it waits for the front door to open, turns on a predefined 'arrival' scene, waits 10 seconds, and then plays a welcome briefing. If the 'welcome home' mode is off, it adds the arriving person to a temporary 'arriving' group, waits for the front door to open, waits 10 seconds, announces the arrival with a personalized, randomly selected greeting that mentions who is home, waits 2 minutes, and then clears the 'arriving' group."
},
"human_like": "Welcomes people home by either playing a briefing and setting a scene if a special mode is on, or announcing their arrival with a friendly, personalized message.",
"complexity": "high"
}
},
{
"id": "guests_have_arrived",
"result": {
"structured": "TRIGGER: When any of the following persons changes state from not_home to home: kaitlyn person [person.kaitlyn] OR ronald person [person.ronald] OR mari person [person.mari] OR rheena person [person.rheena] OR danielle person [person.danielle] OR daniel person [person.daniel] OR brian person [person.brian] OR rathnam person [person.rathnam] OR nico person [person.nico]. CONDITIONS: None. ACTIONS: Execute script Family Is Home [script.family_is_home] AND execute script Visitors Here [script.visitors_here].",
"natural_language": {
"trigger": "When any one of the listed people (kaitlyn, ronald, mari, rheena, danielle, daniel, brian, rathnam, or nico) arrives home, changing their state from 'not_home' to 'home'.",
"conditions": "There are no conditions that need to be met for this automation to run.",
"action": "Runs two scripts: first the 'Family Is Home' script [script.family_is_home], and then the 'Visitors Here' script [script.visitors_here]."
},
"human_like": "Welcomes guests and family members home by running a set of arrival scripts when anyone from a defined list arrives.",
"complexity": "low"
}
},
{
"id": "guests_have_left",
"result": {
"structured": "TRIGGER: When friends group [group.friends] changes from home to not_home. ACTIONS: Execute script Visitors Gone [script.visitors_gone]. THEN, IF family group [group.family] is NOT home, execute script Family Is Away [script.family_is_away].",
"natural_language": {
"trigger": "When the friends group [group.friends] changes its state from 'home' to 'not_home'.",
"conditions": "There are no explicit conditions in the trigger section. However, the action sequence includes a conditional check: after running the first script, it checks if the family group [group.family] is not at home.",
"action": "First, the automation runs the 'Visitors Gone' [script.visitors_gone] script. Then, it checks if the family group [group.family] is not at home. If the family is not home, it proceeds to run the 'Family Is Away' [script.family_is_away] script."
},
"human_like": "When all friends leave, it runs a 'visitors gone' routine and, if the family is also away, runs a separate 'family is away' routine.",
"complexity": "medium"
}
},
{
"id": "'1645589881575'",
"result": {
"structured": "TRIGGER: When 3d print check status input button [input_button.3d_print_check_status] is pressed. CONDITIONS: None. ACTIONS: Execute script Status Announcement [script.status_annc] with data: who = room presence sensor [sensor.room_presence], call_boop = 1, speech_message = A templated message stating the print progress percentage from octoprint print progress sensor [sensor.octoprint_print_progress] and the formatted time left from its attribute printTimeLeftFormatted, broken into hours, minutes, and seconds with correct pluralization.",
"natural_language": {
"trigger": "When the 3d print check status input button [input_button.3d_print_check_status] is pressed.",
"conditions": "There are no conditions for this automation.",
"action": "Calls the Status Announcement [script.status_annc] script. The script will announce, using the room presence sensor [sensor.room_presence] as the target, that the 3D print is at a certain percentage complete, read from the octoprint print progress sensor [sensor.octoprint_print_progress]. It will also announce the remaining print time, formatted into hours, minutes, and seconds, ensuring correct grammar for singular and plural units."
},
"human_like": "Announces the current progress and remaining time of the 3D print when a button is pressed.",
"complexity": "medium"
}
},
{
"id": "'1627013660483'",
"result": {
"structured": "TRIGGER: When octoprint print progress sensor [sensor.octoprint_print_progress] is above 99.99%. CONDITIONS: None. ACTIONS: If (audible notifications input boolean [input_boolean.audible_notifications] is off AND family group [group.family] is home) THEN turn on print completed overnight input boolean [input_boolean.print_completed_overnight]. If family group [group.family] is away THEN turn on print completed while away input boolean [input_boolean.print_completed_while_away].",
"natural_language": {
"trigger": "When the 3D printer's progress, reported by the octoprint print progress sensor [sensor.octoprint_print_progress], exceeds 99.99%.",
"conditions": "There are no global conditions for this automation.",
"action": "Depending on the household's status, the automation sets a flag. If audible notifications are disabled and the family is home, it turns on the print completed overnight input boolean [input_boolean.print_completed_overnight]. If the family is away, it turns on the print completed while away input boolean [input_boolean.print_completed_while_away]."
},
"human_like": "Sets different status flags when a 3D print finishes, depending on whether the family is home or away.",
"complexity": "medium"
}
},
{
"id": "3d_print_notifications",
"result": {
"structured": "TRIGGER: When octoprint printing binary sensor [binary_sensor.octoprint_printing_2] changes from off to on OR When octoprint printing binary sensor [binary_sensor.octoprint_printing_2] changes from on to off. CONDITIONS: None. ACTIONS: IF the trigger was printing_started THEN execute script Status Announcement [script.status_annc] with parameters: who set to the state of room presence sensor [sensor.room_presence], call_interuption set to 1, and speech_message set to 'The three d printer is printing.'. IF the trigger was printing_ended THEN send a notification to chris with title '3D Printer' and message 'Print completed!' AND execute script Status Announcement [script.status_annc] with parameters: who set to the state of room presence sensor [sensor.room_presence], call_inform_chime set to 1, and call_print_complete set to 1.",
"natural_language": {
"trigger": "When the octoprint printing binary sensor [binary_sensor.octoprint_printing_2] starts reporting a printing state (changes from off to on) or stops reporting a printing state (changes from on to off).",
"conditions": "There are no conditions that must be checked; the automation runs whenever a trigger occurs.",
"action": "If the print has started, the automation will announce the status using the Status Announcement [script.status_annc] script, specifying who is present based on the room presence sensor [sensor.room_presence], and delivering a spoken message that the printer is printing. If the print has ended, the automation will send a notification titled '3D Printer' with the message 'Print completed!' to Chris, and then also run the Status Announcement [script.status_annc] script with parameters to play an informative chime and signal the print completion."
},
"human_like": "Sends notifications and announcements when the 3D printer starts or finishes a print job.",
"complexity": "medium"
}
},
{
"id": "morning_standby",
"result": {
"structured": "TRIGGER: At the time specified by morning standby input datetime [input_datetime.morning_standby]. CONDITIONS: (family group [group.family] is home) OR (guest mode input boolean [input_boolean.guest_mode] is on). ACTIONS: Execute the Standby [script.standby] script.",
"natural_language": {
"trigger": "At the specific time set in the morning standby input datetime [input_datetime.morning_standby].",
"conditions": "If at least one of the following is true: the family group [group.family] is marked as being home, or the guest mode input boolean [input_boolean.guest_mode] is turned on.",
"action": "Runs the Standby [script.standby] script."
},
"human_like": "Runs the morning standby routine at a scheduled time, but only if someone is home or guest mode is active.",
"complexity": "low"
}
},
{
"id": "nightly_lockdown",
"result": {
"structured": "TRIGGER: At the time specified by nightly lockdown input datetime [input_datetime.nightly_lockdown]. CONDITIONS: family group [group.family] is home AND guest mode input boolean [input_boolean.guest_mode] is off AND (sentry network alarm control panel [alarm_control_panel.sentry_network] is disarmed OR sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_home). ACTIONS: Set sentry network alarm control panel [alarm_control_panel.sentry_network] to night mode (armed_night).",
"natural_language": {
"trigger": "When the scheduled time set in nightly lockdown input datetime [input_datetime.nightly_lockdown] is reached.",
"conditions": "If the family group [group.family] is at home, the guest mode input boolean [input_boolean.guest_mode] is turned off, and the sentry network alarm control panel [alarm_control_panel.sentry_network] is either disarmed or already armed in home mode.",
"action": "Arm the sentry network alarm control panel [alarm_control_panel.sentry_network] in night mode."
},
"human_like": "Automatically arms the house alarm in night mode at a scheduled time when the family is home and guest mode is off.",
"complexity": "medium"
}
},
{
"id": "'1642655673695'",
"result": {
"structured": "TRIGGER: When touchscreen deadbolt lock [lock.touchscreen_deadbolt_z_wave_plus_frontdoor] remains unlocked for 10 minutes. CONDITIONS: None. ACTIONS: 1. Set variable 'action_lock' to 'LOCK_' concatenated with the automation context ID. 2. Send a notification to mobile_app_chriss_iphone_12_pro asking if the user wants to lock the front door, with a 'Lock' action button linked to the variable. 3. Wait for a 'mobile_app_notification_action' event where the action matches the variable. 4. If the received action matches the variable, lock touchscreen deadbolt lock [lock.touchscreen_deadbolt_z_wave_plus_frontdoor].",
"natural_language": {
"trigger": "When the touchscreen deadbolt lock [lock.touchscreen_deadbolt_z_wave_plus_frontdoor] stays in the unlocked state for 10 minutes.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "The automation first creates a unique identifier for the notification action. It then sends a push notification to a mobile device asking if the user wants to lock the front door again, providing a 'Lock' button. It waits for the user to tap that button. If the user responds by tapping the 'Lock' button, the automation locks the touchscreen deadbolt lock [lock.touchscreen_deadbolt_z_wave_plus_frontdoor]."
},
"human_like": "Sends a reminder to lock the front door if it has been left unlocked for 10 minutes and allows the user to lock it remotely with a single tap.",
"complexity": "medium"
}
},
{
"id": "'1642916773044'",
"result": {
"structured": "TRIGGER: When kitchen window binary sensor [binary_sensor.kitchen_window] changes from closed (off) to open (on) AND remains for 2 seconds OR When bedroom windows binary sensor [binary_sensor.bedroom_windows] changes from closed (off) to open (on) AND remains for 2 seconds OR When lab windows binary sensor [binary_sensor.lab_windows] changes from closed (off) to open (on) AND remains for 2 seconds OR When kitchen window binary sensor [binary_sensor.kitchen_window] changes from open (on) to closed (off) AND remains for 2 seconds OR When bedroom windows binary sensor [binary_sensor.bedroom_windows] changes from open (on) to closed (off) AND remains for 2 seconds OR When lab windows binary sensor [binary_sensor.lab_windows] changes from open (on) to closed (off) AND remains for 2 seconds. CONDITIONS: window notifications input boolean [input_boolean.window_notifications] is on. ACTIONS: Send a notification via notify.tvs with a title equal to the friendly_name of the triggering entity and a message stating the friendly_name and its state (Open for 'on', Closed for 'off').",
"natural_language": {
"trigger": "When any of the three window sensors (kitchen window binary sensor [binary_sensor.kitchen_window], bedroom windows binary sensor [binary_sensor.bedroom_windows], or lab windows binary sensor [binary_sensor.lab_windows]) changes state from closed to open or from open to closed and remains in the new state for at least two seconds.",
"conditions": "The window notifications input boolean [input_boolean.window_notifications] must be turned on.",
"action": "Sends a notification to the TV(s) with the title being the name of the window that changed and a message stating whether it is now open or closed."
},
"human_like": "Sends a TV notification whenever a window is opened or closed, but only if window notifications are enabled.",
"complexity": "medium"
}
},
{
"id": "'1642919890732'",
"result": {
"structured": "TRIGGER: When sliding glass door binary sensor [binary_sensor.sliding_glass_door] changes from open (on) to closed (off) AND remains in the new state for 2 seconds OR when sliding glass door binary sensor [binary_sensor.sliding_glass_door] changes from closed (off) to open (on) AND remains in the new state for 2 seconds. CONDITIONS: patio door notifications input boolean [input_boolean.patio_door_notifications] is on. ACTIONS: Send a notification to notify.tvs with a title equal to the friendly_name attribute of the triggering entity and a message stating the friendly_name and the translated state (Open for 'on', Closed for 'off').",
"natural_language": {
"trigger": "When the sliding glass door binary sensor [binary_sensor.sliding_glass_door] changes state, either from open to closed or from closed to open, and stays in that new state for at least two seconds.",
"conditions": "The automation only runs if the patio door notifications input boolean [input_boolean.patio_door_notifications] is switched on.",
"action": "Sends a notification to the TV service (notify.tvs). The notification's title is the friendly name of the door sensor, and the message reports the door's friendly name and its new state, translated to 'Open' or 'Closed'."
},
"human_like": "Sends a notification to the TV when the patio door is opened or closed, but only if door notifications are enabled.",
"complexity": "low"
}
},
{
"id": "alarm_breach_trigger",
"result": {
"structured": "TRIGGER: When front door binary sensor [binary_sensor.front_door] changes to on OR sliding glass door binary sensor [binary_sensor.sliding_glass_door] changes to on OR garage door binary sensor [binary_sensor.garage_door] changes to on OR kitchen window binary sensor [binary_sensor.kitchen_window] changes to on OR bedroom windows binary sensor [binary_sensor.bedroom_windows] changes to on OR lab windows binary sensor [binary_sensor.lab_windows] changes to on. CONDITIONS: sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_away OR armed_home OR armed_night OR armed_vacation. ACTIONS: If (sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_home OR armed_night) AND the triggered entity is front door binary sensor [binary_sensor.front_door] AND exiting front door binary sensor [binary_sensor.exiting_front_door] is on, do nothing. Else if the triggered entity is front door binary sensor [binary_sensor.front_door] AND alarm bypass front door input boolean [input_boolean.alarm_bypass_front_door] is on, do nothing. Else if the triggered entity is sliding glass door binary sensor [binary_sensor.sliding_glass_door] AND alarm bypass sliding glass door input boolean [input_boolean.alarm_bypass_sliding_glass_door] is on, do nothing. Else if the triggered entity is garage door binary sensor [binary_sensor.garage_door] AND alarm bypass garage door input boolean [input_boolean.alarm_bypass_garage_door] is on, do nothing. Else if the triggered entity is kitchen window binary sensor [binary_sensor.kitchen_window] AND alarm bypass kitchen window input boolean [input_boolean.alarm_bypass_kitchen_window] is on, do nothing. Else if the triggered entity is bedroom windows binary sensor [binary_sensor.bedroom_windows] AND alarm bypass bedroom windows input boolean [input_boolean.alarm_bypass_bedroom_windows] is on, do nothing. Else if the triggered entity is lab windows binary sensor [binary_sensor.lab_windows] AND alarm bypass lab window input boolean [input_boolean.alarm_bypass_lab_window] is on, do nothing. Otherwise, trigger the sentry network alarm control panel [alarm_control_panel.sentry_network].",
"natural_language": {
"trigger": "When any of the monitored entry points are opened, specifically the front door binary sensor [binary_sensor.front_door], sliding glass door binary sensor [binary_sensor.sliding_glass_door], garage door binary sensor [binary_sensor.garage_door], kitchen window binary sensor [binary_sensor.kitchen_window], bedroom windows binary sensor [binary_sensor.bedroom_windows], or lab windows binary sensor [binary_sensor.lab_windows].",
"conditions": "The automation only runs if the sentry network alarm control panel [alarm_control_panel.sentry_network] is in an armed state, which includes armed_away, armed_home, armed_night, or armed_vacation.",
"action": "The system checks for specific bypass conditions to prevent a false alarm. If the alarm is armed_home or armed_night and the front door is opened while the exiting front door binary sensor [binary_sensor.exiting_front_door] is active, no alarm is triggered. Similarly, if a bypass switch is turned on for the specific entry point that was opened (e.g., alarm bypass front door input boolean [input_boolean.alarm_bypass_front_door]), the alarm is also suppressed. If none of these bypass conditions are met, the sentry network alarm control panel [alarm_control_panel.sentry_network] is triggered."
},
"human_like": "Triggers the house alarm when a door or window is opened while the system is armed, unless a specific bypass is active or it's a permitted exit.",
"complexity": "high"
}
},
{
"id": "alarm_disarm_on_door_unlock",
"result": {
"structured": "TRIGGER: When a keymaster_lock_state_changed event occurs for the lock named 'frontdoor'. CONDITIONS: (The event data indicates the lock state is 'unlocked' AND the event data code_slot is greater than 0) AND (alarm disarm on unlock input boolean [input_boolean.alarm_disarm_on_unlock] is on) AND (sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_away OR sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_home OR sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_night OR sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_vacation). ACTIONS: Disarm sentry network alarm control panel [alarm_control_panel.sentry_network] using the code 'secret alarm_code' AND run the Alarm Alert Engine [script.alarm_alert_engine] with parameters: ios set to true and a message stating 'Alarm disarmed by [the code_slot_name from the event data]'.",
"natural_language": {
"trigger": "When the smart lock on the front door reports a state change via the keymaster_lock_state_changed event.",
"conditions": "If the lock change event indicates the door was unlocked using a valid user code (code slot greater than 0), the feature switch 'alarm disarm on unlock input boolean' [input_boolean.alarm_disarm_on_unlock] is turned on, and the sentry network alarm control panel [alarm_control_panel.sentry_network] is currently armed in any mode (away, home, night, or vacation).",
"action": "Disarms the sentry network alarm control panel [alarm_control_panel.sentry_network] using a predefined code and then runs the Alarm Alert Engine [script.alarm_alert_engine] to send a notification, which includes the name of the user who unlocked the door, to iOS devices."
},
"human_like": "Automatically disarms the house alarm when the front door is unlocked with a valid user code, provided the disarm-on-unlock feature is enabled.",
"complexity": "medium"
}
},
{
"id": "alarm_disarmed",
"result": {
"structured": "TRIGGER: When sentry network alarm control panel [alarm_control_panel.sentry_network] changes to disarmed. CONDITIONS: None. ACTIONS: Turn off security alarm input boolean [input_boolean.security_alarm]. THEN, execute a conditional action: IF (family group [group.family] is home) OR (guest mode input boolean [input_boolean.guest_mode] is on) THEN run script Alarm Alert Engine [script.alarm_alert_engine] with vocal notifications and a random voice message, and an iOS message stating the alarm was disarmed at the current time from time date sensor [sensor.time_date]. OTHERWISE (default case) run script Alarm Alert Engine [script.alarm_alert_engine] with an iOS message stating the alarm was disarmed but presence could not be validated, including the current time from time date sensor [sensor.time_date].",
"natural_language": {
"trigger": "When the sentry network alarm control panel [alarm_control_panel.sentry_network] is disarmed.",
"conditions": "There are no conditions that must be met before the actions run.",
"action": "First, it turns off the security alarm input boolean [input_boolean.security_alarm]. Then, it checks if someone is home by seeing if the family group [group.family] is home or if guest mode input boolean [input_boolean.guest_mode] is on. If either is true, it triggers the Alarm Alert Engine [script.alarm_alert_engine] to play a random vocal announcement and send an iOS notification confirming the alarm was disarmed, including the current time from the time date sensor [sensor.time_date]. If nobody is detected as being home and guest mode is off, it still runs the Alarm Alert Engine [script.alarm_alert_engine] but only sends an iOS notification stating the alarm was disarmed, though presence could not be validated, again including the current time."
},
"human_like": "When the alarm is disarmed, it turns off a security status flag and sends a smart notification: a friendly voice and phone alert if someone is home, or a more cautious alert if the house appears empty.",
"complexity": "medium"
}
},
{
"id": "alarm_arming_issue",
"result": {
"structured": "TRIGGER: When sentry network alarm control panel [alarm_control_panel.sentry_network] changes to the arming state. CONDITIONS: alarm exit triggers group [group.alarm_exit_triggers] is on. ACTIONS: Disarm sentry network alarm control panel [alarm_control_panel.sentry_network] using a secret code, turn on lockdown issue input boolean [input_boolean.lockdown_issue], and run the Alarm Alert Engine [script.alarm_alert_engine] with a vocal alert in the kitchen and an iOS notification. The alert message includes a randomly selected phrase referencing the open entities from alarm triggers sensor [sensor.alarm_triggers] and the current time from time date sensor [sensor.time_date].",
"natural_language": {
"trigger": "When the sentry network alarm control panel [alarm_control_panel.sentry_network] begins arming.",
"conditions": "If the alarm exit triggers group [group.alarm_exit_triggers] is currently on, indicating there are open sensors or doors that should be closed.",
"action": "The automation will immediately disarm the alarm using a secret code, turn on the lockdown issue input boolean [input_boolean.lockdown_issue] to flag the problem, and trigger an alert. This alert includes a randomly chosen vocal message played in the kitchen, stating which doors or sensors are open (as listed by the alarm triggers sensor [sensor.alarm_triggers]), and sends an iOS notification with a similar message and the current time from the time date sensor [sensor.time_date]."
},
"human_like": "Prevents the alarm from arming if any exit triggers are open, disarms it, and notifies the user with a voice message and phone notification about what needs to be closed.",
"complexity": "medium"
}
},
{
"id": "alarm_arm",
"result": {
"structured": "TRIGGER: When sentry network alarm control panel [alarm_control_panel.sentry_network] changes to arming AND remains for 1 second OR changes to armed_home OR changes to armed_away OR changes to armed_away AND remains for 10 minutes (trigger id: armed_10_mins) OR changes to armed_night OR changes to armed_vacation. CONDITIONS: None. ACTIONS: IF (sentry network alarm control panel [alarm_control_panel.sentry_network] is arming AND touchscreen deadbolt lock [lock.touchscreen_deadbolt_z_wave_plus_frontdoor] is unlocked) THEN lock touchscreen deadbolt lock [lock.touchscreen_deadbolt_z_wave_plus_frontdoor]. IF (sentry network alarm control panel [alarm_control_panel.sentry_network] is arming) THEN run Reset Front Door Motion Count [script.reset_front_door_motion_count]. CHOOSE: IF (sentry network alarm control panel [alarm_control_panel.sentry_network] is arming) THEN turn off lockdown issue input boolean [input_boolean.lockdown_issue] AND run Alarm Alert Engine [script.alarm_alert_engine] with vocal announcement in kitchen and a random goodbye message. IF (sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_home OR armed_night) THEN run Alarm Alert Engine [script.alarm_alert_engine] with vocal announcement to presence and a random security message. IF (sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_vacation) THEN run Alarm Alert Engine [script.alarm_alert_engine] with a vacation mode notification. IF (trigger id is armed_10_mins) THEN IF (people group [group.people] is home) THEN run Arm Stay [script.arm_stay] AND run Alarm Alert Engine [script.alarm_alert_engine] with a vocal announcement about adjusting to stay mode. OTHERWISE (default) run Alarm Alert Engine [script.alarm_alert_engine] with a generic mode change notification.",
"natural_language": {
"trigger": "The automation triggers when the sentry network alarm control panel [alarm_control_panel.sentry_network] begins arming (after 1 second), or when it becomes armed in home, away, night, or vacation mode. A specific trigger also occurs when the alarm has been in armed_away mode for 10 minutes.",
"conditions": "There are no global conditions for this automation. Conditions are evaluated within the action steps to determine which specific actions to perform.",
"action": "When the alarm starts arming, if the front door lock is unlocked, it will be locked. The front door motion count is also reset. A random vocal goodbye message is played in the kitchen and a notification is sent. Depending on the final armed state, different announcements are made: for 'armed_home' or 'armed_night', a security message is announced to presence; for 'armed_vacation', a trip notification is sent. If the alarm has been in 'armed_away' for 10 minutes and people are still home, the system switches to 'stay' mode and announces the change. Otherwise, a generic notification is sent for the new alarm state."
},
"human_like": "This automation manages the home alarm system by locking the front door, resetting sensors, and providing personalized voice and phone notifications when the alarm is armed in different modes.",
"complexity": "high"
}
},
{
"id": "alarm_pending",
"result": {
"structured": "TRIGGER: When sentry network alarm control panel [alarm_control_panel.sentry_network] changes from armed_away to pending OR When sentry network alarm control panel [alarm_control_panel.sentry_network] changes from armed_vacation to pending. CONDITIONS: None. ACTIONS: Run script Security Response [script.security_response].",
"natural_language": {
"trigger": "When the sentry network alarm control panel [alarm_control_panel.sentry_network] transitions from being armed away to a pending state, or when it transitions from being armed for vacation to a pending state.",
"conditions": "There are no conditions to evaluate.",
"action": "Activates the Security Response [script.security_response] script."
},
"human_like": "Triggers a security response script when the alarm system enters a pending state after being armed away or for vacation.",
"complexity": "low"
}
},
{
"id": "alarm_triggered",
"result": {
"structured": "TRIGGER: When sentry network alarm control panel [alarm_control_panel.sentry_network] changes state to triggered. CONDITIONS: None. ACTIONS: Execute script Alarm Alert Engine [script.alarm_alert_engine] with parameters ios: true, critical: true, and message containing the current time from time date sensor [sensor.time_date] AND Turn on security alarm input boolean [input_boolean.security_alarm].",
"natural_language": {
"trigger": "When the sentry network alarm control panel [alarm_control_panel.sentry_network] enters the triggered state.",
"conditions": "There are no additional conditions for this automation.",
"action": "It runs the Alarm Alert Engine [script.alarm_alert_engine] script to send a critical iOS alert with a message stating the alarm activation time, and it turns on the security alarm input boolean [input_boolean.security_alarm] to indicate the alarm is active."
},
"human_like": "Sends critical alerts and activates a status indicator when the home alarm is triggered.",
"complexity": "low"
}
},
{
"id": "alarm_light_handler",
"result": {
"structured": "TRIGGER: When sentry network alarm control panel [alarm_control_panel.sentry_network] changes to disarmed OR changes to arming AND remains for 2 seconds OR changes to armed_away OR changes to armed_vacation OR changes to pending OR changes to triggered. CONDITIONS: None. ACTIONS: Choose based on the trigger state: IF trigger state is arming THEN activate Leaving Scene [scene.leaving]. IF trigger state is armed_away OR armed_vacation THEN activate All Off Scene [scene.all_off]. IF trigger state is pending THEN create a new scene named alarm_before by snapshotting the states of front hall light [light.front_hall_light], kitchen light [light.kitchen_light], kitchen leds [light.kitchen_leds], fish tank leds [light.fish_tank_leds], couch leds [light.couch_leds], couch leds playlist 2 select [select.couch_leds_playlist_2], couch leds preset 2 select [select.couch_leds_preset_2], curtain leds [light.curtain_leds], living room tv backlights [light.living_room_tv_backlights], living room tv backlights playlist select [select.living_room_tv_backlights_playlist], living room tv backlights preset select [select.living_room_tv_backlights_preset], fish tank backlights [light.fish_tank_backlights], fish tank backlights playlist 2 select [select.fish_tank_backlights_playlist_2], fish tank backlights preset 2 select [select.fish_tank_backlights_preset_2], dining room light [light.dining_room_light], francis s light [light.francis_s_light], patio light [light.patio_light], patio string lights [light.patio_string_lights], hallway light [light.hallway_light], bedroom fan lights [light.bedroom_fan_lights], hue color lamp 1 [light.hue_color_lamp_1], lab fan light [light.lab_fan_light], living room fan light [light.living_room_fan_light], western electric cabinet lights [light.western_electric_cabinet_lights], floods group [group.floods], patio ring light [light.patio_ring_light] AND activate alarm pending scene [scene.alarm_pending]. IF trigger state is triggered THEN activate alarm triggered scene [scene.alarm_triggered]. IF trigger state is disarmed AND previous state was triggered OR pending OR arming THEN activate alarm before scene [scene.alarm_before] AND activate arrival scene [scene.arrival].",
"natural_language": {
"trigger": "The automation triggers when the sentry network alarm control panel [alarm_control_panel.sentry_network] changes to any of the following states: disarmed, arming (and stays in that state for at least 2 seconds), armed_away, armed_vacation, pending, or triggered.",
"conditions": "There are no conditions that must be met for the actions to run; the automation executes based solely on the trigger event.",
"action": "Depending on the new alarm state, different scenes are activated. When the alarm starts arming, the Leaving Scene [scene.leaving] is turned on. When the alarm is fully armed (away or vacation), the All Off Scene [scene.all_off] is activated. When the alarm enters a pending state, a snapshot of many lights and select entities is saved as a new scene named 'alarm_before', and then the alarm pending scene [scene.alarm_pending] is activated. If the alarm is triggered, the alarm triggered scene [scene.alarm_triggered] is turned on. Finally, when the alarm is disarmed from a state of triggered, pending, or arming, the previously saved alarm before scene [scene.alarm_before] is restored, and the arrival scene [scene.arrival] is activated."
},
"human_like": "This automation manages the home's lighting scenes based on the alarm system's status, turning on appropriate lights for leaving, arming, pending, triggered, and arrival situations.",
"complexity": "medium"
}
},
{
"id": "alarm_sound",
"result": {
"structured": "TRIGGER: When security alarm input boolean [input_boolean.security_alarm] turns on OR when security alarm input boolean [input_boolean.security_alarm] turns off. CONDITIONS: None. ACTIONS: If the trigger was security alarm input boolean [input_boolean.security_alarm] turning on, then execute script Alexa Voice [script.alexa_voice] with parameters: who=everywhere, message='The siren has been activated'. If the trigger was security alarm input boolean [input_boolean.security_alarm] turning off, then execute script Alexa Voice [script.alexa_voice] with parameters: who=everywhere, message='The siren has been deactivated'.",
"natural_language": {
"trigger": "When the security alarm input boolean [input_boolean.security_alarm] is turned on or off.",
"conditions": "There are no conditions for this automation.",
"action": "Depending on which trigger occurred: if the alarm was turned on, it will announce 'The siren has been activated' everywhere using the Alexa Voice [script.alexa_voice] script. If the alarm was turned off, it will announce 'The siren has been deactivated' everywhere using the same script."
},
"human_like": "Announces via Alexa speakers when the security alarm is armed or disarmed.",
"complexity": "low"
}
},
{
"id": "alarm_alert_on_all_activity",
"result": {
"structured": "TRIGGER: When front door binary sensor [binary_sensor.front_door] becomes open (on) OR sliding glass door binary sensor [binary_sensor.sliding_glass_door] becomes open (on) OR garage door binary sensor [binary_sensor.garage_door] becomes open (on) OR kitchen window binary sensor [binary_sensor.kitchen_window] becomes open (on) OR bedroom windows binary sensor [binary_sensor.bedroom_windows] becomes open (on) OR lab windows binary sensor [binary_sensor.lab_windows] becomes open (on) OR bedroom motion sensor [binary_sensor.espresense_bedroom_motion] becomes motion detected (on) OR lab motion sensor [binary_sensor.espresense_lab_motion] becomes motion detected (on) OR kitchen motion sensor [binary_sensor.espresense_kitchen_motion] becomes motion detected (on) OR dining room motion sensor [binary_sensor.espresense_dining_room_motion] becomes motion detected (on) OR living room motion sensor [binary_sensor.espresense_living_room_motion] becomes motion detected (on) OR hallway motion sensor [binary_sensor.hallway_motion_sensor] becomes motion detected (on) OR front hall motion sensor [binary_sensor.front_hall_motion_sensor] becomes motion detected (on). CONDITIONS: alarm alert on all activity binary sensor [binary_sensor.alarm_alert_on_all_activity] is on. ACTIONS: Execute script Alarm Alert Engine [script.alarm_alert_engine] with data: ios true and a message that is '{{ trigger.to_state.name }} detected motion' if the triggering entity contains 'motion' in its ID, otherwise '{{ trigger.to_state.name }} was opened', followed by ' at ' and the state of time date sensor [sensor.time_date].",
"natural_language": {
"trigger": "The automation triggers when any of the following sensors become active (turn on): the front door, sliding glass door, garage door, kitchen window, bedroom windows, or lab windows open; or when motion is detected by any of the motion sensors in the bedroom, lab, kitchen, dining room, living room, hallway, or front hall.",
"conditions": "The automation only runs if the alarm alert on all activity binary sensor [binary_sensor.alarm_alert_on_all_activity] is switched on.",
"action": "It runs the Alarm Alert Engine script [script.alarm_alert_engine], which sends an iOS notification. The message includes the name of the sensor that triggered the event, specifying whether motion was detected or a door/window was opened, along with the current time from the time date sensor [sensor.time_date]."
},
"human_like": "Sends an alarm alert notification for any door, window, or motion activity when the alarm system is in 'alert on all activity' mode.",
"complexity": "medium"
}
},
{
"id": "alexa_barn_door_protocol",
"result": {
"structured": "TRIGGER: When activate barn door protocol input button [input_button.activate_barn_door_protocol] changes state OR When deactivate barn door protocol input button [input_button.deactivate_barn_door_protocol] changes state. ACTIONS: If the trigger is activate barn door protocol input button [input_button.activate_barn_door_protocol], then: IF (sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_home OR sentry network alarm control panel [alarm_control_panel.sentry_network] is armed_night) THEN run Speech Engine [script.speech_engine] with a message from ../templates/speech/already_done.yaml. OTHERWISE, run Speech Engine [script.speech_engine] with a message from ../templates/speech/interjections.yaml, wait 2 seconds, and run Arm Stay [script.arm_stay]. If the trigger is deactivate barn door protocol input button [input_button.deactivate_barn_door_protocol] AND alarm disarm by alexa input boolean [input_boolean.alarm_disarm_by_alexa] is on, then: IF sentry network alarm control panel [alarm_control_panel.sentry_network] is disarmed THEN run Speech Engine [script.speech_engine] with a message from ../templates/speech/already_done.yaml, targeting the room audio sensor [sensor.room_audio]. OTHERWISE, run Disarm Security [script.disarm_security]. If no trigger matches, do nothing.",
"natural_language": {
"trigger": "When the activate barn door protocol input button [input_button.activate_barn_door_protocol] is pressed, or when the deactivate barn door protocol input button [input_button.deactivate_barn_door_protocol] is pressed.",
"conditions": "For the deactivate action, there is an additional condition: the alarm disarm by alexa input boolean [input_boolean.alarm_disarm_by_alexa] must be on.",
"action": "If the activation button is pressed, the system checks if the sentry network alarm control panel [alarm_control_panel.sentry_network] is already armed in 'home' or 'night' mode. If it is, a speech message indicating it's already done is played. If not, an interjection speech message is played, followed by a 2-second delay, and then the Arm Stay [script.arm_stay] script is run to arm the alarm. If the deactivation button is pressed and the alexa disarm permission is on, the system checks if the alarm is already disarmed. If it is, a speech message is played through the room audio sensor [sensor.room_audio]. If the alarm is armed, the Disarm Security [script.disarm_security] script is run to disarm it."
},
"human_like": "Allows arming or disarming the home alarm system using dedicated buttons, with voice feedback to confirm the action or its status.",
"complexity": "medium"
}
},
{
"id": "iss_alert",
"result": {
"structured": "TRIGGER: When iss binary sensor [binary_sensor.iss] changes from off to on. CONDITIONS: None. ACTIONS: Execute script Status Announcement [script.status_annc] with data: who = the state of room presence sensor [sensor.room_presence], call_interuption = 1, call_iss = 1.",
"natural_language": {
"trigger": "When the ISS binary sensor [binary_sensor.iss] becomes active, changing its state from off to on.",
"conditions": "There are no additional conditions that must be met.",
"action": "Runs the Status Announcement script [script.status_annc], passing it the current state of the room presence sensor [sensor.room_presence] and flags to enable call interruption and ISS-related announcements."
},
"human_like": "Announces an ISS-related status update when the ISS sensor becomes active.",
"complexity": "low"
}
},
{
"id": "Weather Alert UI Notification - 1",
"result": {
"structured": "TRIGGER: When weatheralerts 1 alert 1 last changed sensor [sensor.weatheralerts_1_alert_1_last_changed] changes state OR when Home Assistant starts. CONDITIONS: (weatheralerts 1 alerts are active sensor [sensor.weatheralerts_1_alerts_are_active] state is 'Yes') AND (the time elapsed since the alert_sent attribute of weatheralerts 1 alert 1 sensor [sensor.weatheralerts_1_alert_1] is less than 3600 seconds) AND (the alert_id attribute of weatheralerts 1 alert 1 sensor [sensor.weatheralerts_1_alert_1] is not present in the state of weatheralerts 1 triggered ui alert ids input text [input_text.weatheralerts_1_triggered_ui_alert_ids]). ACTIONS: Execute script Weather Alerts 1 Popup On WX Alert [script.weatheralerts_1_popup_on_wx_alert] with a dynamic title and message based on the state and effective time of up to five weather alert sensors. Then, set the value of weatheralerts 1 triggered ui alert ids input text [input_text.weatheralerts_1_triggered_ui_alert_ids] to a concatenated string of the alert_id attributes from weatheralerts 1 alert 1 sensor [sensor.weatheralerts_1_alert_1], weatheralerts 1 alert 2 sensor [sensor.weatheralerts_1_alert_2], weatheralerts 1 alert 3 sensor [sensor.weatheralerts_1_alert_3], weatheralerts 1 alert 4 sensor [sensor.weatheralerts_1_alert_4], and weatheralerts 1 alert 5 sensor [sensor.weatheralerts_1_alert_5].",
"natural_language": {
"trigger": "This automation runs either when the weatheralerts 1 alert 1 last changed sensor [sensor.weatheralerts_1_alert_1_last_changed] updates, or when Home Assistant first starts up.",
"conditions": "For the automation to proceed, there must be active weather alerts, indicated by the weatheralerts 1 alerts are active sensor [sensor.weatheralerts_1_alerts_are_active] being 'Yes'. The specific alert in question, from weatheralerts 1 alert 1 sensor [sensor.weatheralerts_1_alert_1], must have been sent within the last hour. Furthermore, the unique identifier for this alert must not already be recorded in the list of previously triggered alerts, which is stored in weatheralerts 1 triggered ui alert ids input text [input_text.weatheralerts_1_triggered_ui_alert_ids].",
"action": "The automation first triggers a pop-up notification by running the Weather Alerts 1 Popup On WX Alert [script.weatheralerts_1_popup_on_wx_alert] script. The content of this notification is built dynamically, showing detailed messages for any of the first five weather alert sensors that are active and became effective within the last hour, or just the title for older alerts. After showing the notification, it updates the record of shown alerts by appending the unique IDs from all five potential alert sensors to the weatheralerts 1 triggered ui alert ids input text [input_text.weatheralerts_1_triggered_ui_alert_ids]."
},
"human_like": "Shows a pop-up notification for new, recent weather alerts when they first become active, and keeps a record to avoid duplicate alerts.",
"complexity": "high"
}
},
{
"id": "Weather Alert UI Notification Auto-dismiss - 1",
"result": {
"structured": "TRIGGER: When weatheralerts 1 alerts are active sensor [sensor.weatheralerts_1_alerts_are_active] changes to 'No' and remains for 30 minutes OR When Home Assistant starts. CONDITIONS: weatheralerts 1 alerts are active sensor [sensor.weatheralerts_1_alerts_are_active] is 'No'. ACTIONS: Dismiss the persistent notification with ID 'weatheralerts_1_alert'.",
"natural_language": {
"trigger": "This automation runs when the weatheralerts 1 alerts are active sensor [sensor.weatheralerts_1_alerts_are_active] reports 'No' for at least 30 minutes, or immediately when Home Assistant starts up.",
"conditions": "It checks that the weatheralerts 1 alerts are active sensor [sensor.weatheralerts_1_alerts_are_active] is currently in the 'No' state.",
"action": "It dismisses the persistent notification identified by 'weatheralerts_1_alert'."
},
"human_like": "Automatically clears the weather alert notification 30 minutes after the alert ends, or when Home Assistant restarts.",
"complexity": "low"
}
}
]