[ { "id": "wake_up", "result": { "structured": "TRIGGER: When the value of time sensor [sensor.time] equals the value of alarm time sensor [sensor.alarm_time]. CONDITIONS: (alarm weekday input boolean [input_boolean.alarmweekday] is on AND the current time is on a weekday (Monday, Tuesday, Wednesday, Thursday, Friday)) OR (alarm weekday input boolean [input_boolean.alarmweekday] is off). ACTIONS: Turn on under bed lights [light.under_bed_lights] at 25% brightness, then wait for 30 minutes, then turn on office lights group [group.office_lights] at 100% brightness, then send a Discord notification to target 814328602270498817 containing a formatted message about mail and package delivery status.", "natural_language": { "trigger": "The automation triggers when the current time, as reported by the time sensor [sensor.time], matches the time set in the alarm time sensor [sensor.alarm_time].", "conditions": "The automation checks if the alarm weekday input boolean [input_boolean.alarmweekday] is turned on and the current day is a weekday (Monday through Friday). Alternatively, if the alarm weekday input boolean [input_boolean.alarmweekday] is turned off, the automation will run regardless of the day of the week.", "action": "First, it turns on the under bed lights [light.under_bed_lights] at a low 25% brightness. After a 30-minute delay, it turns on the office lights group [group.office_lights] at full 100% brightness. Finally, it sends a detailed Discord notification to a specific user, which includes a summary of the day's expected mail and package deliveries, using data from various mail sensors." }, "human_like": "This automation acts as a smart wake-up routine, gradually turning on bedroom and office lights at a set alarm time and sending a daily summary of expected mail and packages.", "complexity": "medium" } }, { "id": "later", "result": { "structured": "TRIGGER: When 10th street alarm control panel [alarm_control_panel.10th_street] remains in state armed_home for 20 minutes OR When 10th street alarm control panel [alarm_control_panel.10th_street] changes to state armed_away. CONDITIONS: None. ACTIONS: Turn off home lights group [group.home_lights].", "natural_language": { "trigger": "When the 10th street alarm control panel [alarm_control_panel.10th_street] is set to 'armed_home' and stays in that state for 20 minutes, or when it is set to 'armed_away'.", "conditions": "There are no conditions that must be met.", "action": "Turns off all lights in the home lights group [group.home_lights]." }, "human_like": "Turns off all home lights when the house alarm is set to 'away' or has been set to 'home' for 20 minutes.", "complexity": "low" } }, { "id": "fan", "result": { "structured": "TRIGGER: When the current time matches a pattern of every hour (hours: /1) OR when hvac fan [fan.hvac_fan] remains on for 1 hour. CONDITIONS: family group [group.family] is home. ACTIONS: Turn on hvac fan [fan.hvac_fan], wait for 15 minutes, then turn off hvac fan [fan.hvac_fan].", "natural_language": { "trigger": "The automation runs either on a scheduled basis every hour, or when the hvac fan [fan.hvac_fan] has been continuously on for one hour.", "conditions": "The automation only proceeds if the family group [group.family] is home.", "action": "It turns on the hvac fan [fan.hvac_fan], waits for 15 minutes, and then turns it off." }, "human_like": "Runs the HVAC fan for 15 minutes every hour, or after it has been on for an hour, but only when someone is home.", "complexity": "medium" } }, { "id": "workday", "result": { "structured": "TRIGGER: When the time is 08:30:00 OR when the time is 17:30:00. CONDITIONS: workday binary sensor [binary_sensor.workday] is on. ACTIONS: If the current time is before or at 12:00:00, turn off voice notifications input boolean [input_boolean.voice_notifications]; otherwise, turn it on.", "natural_language": { "trigger": "The automation triggers at 8:30 AM and again at 5:30 PM.", "conditions": "The automation only runs if the workday binary sensor [binary_sensor.workday] indicates that it is a workday (state is on).", "action": "Depending on the time of day, it will either turn off or turn on the voice notifications input boolean [input_boolean.voice_notifications]. If the trigger occurs at or before noon (12:00:00), it turns the notifications off. If the trigger occurs after noon, it turns the notifications on." }, "human_like": "Manages voice notifications based on the time of day during workdays, turning them off in the morning and on in the afternoon.", "complexity": "medium" } }, { "id": "humidfier", "result": { "structured": "TRIGGER: When the value of time sensor [sensor.time] equals the value of alarm time sensor [sensor.alarm_time] OR at 22:00:00. ACTIONS: If the current time is 12:00:00 or later, turn on bedroom humidifier [humidifier.bedroom_humidifier]; otherwise, turn off bedroom humidifier [humidifier.bedroom_humidifier].", "natural_language": { "trigger": "The automation triggers either when the time sensor [sensor.time] reports the same value as the alarm time sensor [sensor.alarm_time], or at exactly 10:00 PM.", "conditions": "There are no conditions to evaluate for this automation.", "action": "Depending on the time of day when the automation runs, it will either turn on or turn off the bedroom humidifier [humidifier.bedroom_humidifier]. If the current time is noon or later, the humidifier is turned on; if it is before noon, the humidifier is turned off." }, "human_like": "Turns the bedroom humidifier on or off based on the time of day, triggered by a matching alarm time or a fixed evening schedule.", "complexity": "medium" } }, { "id": "ledweather", "result": { "structured": "TRIGGER: When kdca daynight weather [weather.kdca_daynight] changes state. CONDITIONS: None. ACTIONS: Turn on living room led [light.living_room_led], office led [light.office_led], and bedroom led [light.bedroom_led] with a color determined by the weather state: yellow if the state contains 'clear', purple if it contains 'cloudy' or 'overcast', blue if it contains 'fog' or 'rain', cyan if it contains 'wind', 'ice', 'snow', or 'hail', red if it contains 'thunderstorm' or 'tornado', otherwise white. Then, turn off living room led [light.living_room_led], office led [light.office_led], and bedroom led [light.bedroom_led].", "natural_language": { "trigger": "Whenever the weather state reported by kdca daynight weather [weather.kdca_daynight] changes.", "conditions": "There are no conditions that must be met.", "action": "The automation will turn on the living room led [light.living_room_led], office led [light.office_led], and bedroom led [light.bedroom_led] to a specific color based on the current weather. The color is yellow for clear weather, purple for cloudy or overcast, blue for fog or rain, cyan for wind, ice, snow, or hail, and red for thunderstorms or tornadoes. If the weather state does not match any of these, the lights are set to white. Immediately after turning the lights on with the selected color, the automation turns them off again." }, "human_like": "Changes the color of several LED lights to reflect the current weather, then immediately turns them off.", "complexity": "medium" } }, { "id": "hassstart", "result": { "structured": "TRIGGER: When Home Assistant starts OR when an automation reload service call occurs. CONDITIONS: None. ACTIONS: Wait 2 seconds, then turn on neo switch [switch.neo]. Then turn on office light [light.office_light] and storage light [light.storage_light] with a color temperature of 369. Then turn on living room led [light.living_room_led], office led [light.office_led], and bedroom led [light.bedroom_led] with white RGB color (255, 255, 255). Then turn on tv backlight [light.tv_backlight] with color blueviolet. Wait 2 seconds, then turn off living room led [light.living_room_led], office led [light.office_led], bedroom led [light.bedroom_led], storage light [light.storage_light], office light [light.office_light], and tv backlight [light.tv_backlight]. Then turn on information alert automation [automation.information_alert]. If the trigger was Home Assistant start, also send a Discord notification to target 814328602270498817 with the message 'Home Assistant has Restarted'.", "natural_language": { "trigger": "The automation runs either when Home Assistant first starts up, or when any automation reload service is called.", "conditions": "There are no conditions that must be met for the actions to proceed.", "action": "After a short 2-second delay, the automation turns on the neo switch [switch.neo]. It then sets the office light [light.office_light] and storage light [light.storage_light] to a specific color temperature. Next, it turns on the living room led [light.living_room_led], office led [light.office_led], and bedroom led [light.bedroom_led] to white. It also sets the tv backlight [light.tv_backlight] to a blueviolet color. After another 2-second delay, it turns off all the lights it just turned on. Finally, it enables the information alert automation [automation.information_alert]. If the automation was triggered specifically by Home Assistant starting, it also sends a notification to a Discord channel with the message 'Home Assistant has Restarted'." }, "human_like": "Performs a light show and sends a notification when Home Assistant starts or reloads, then turns everything off and enables another automation.", "complexity": "medium" } }, { "id": "ledmotion", "result": { "structured": "TRIGGER: When living room motion binary sensor [binary_sensor.living_room_motion] OR bedroom motion binary sensor [binary_sensor.bedroom_motion] OR office motion binary sensor [binary_sensor.office_motion] detects motion (changes to 'on'). CONDITIONS: The current time is between 06:00:00 and 23:00:00. ACTIONS: Turn on living room led [light.living_room_led], office led [light.office_led], and bedroom led [light.bedroom_led]. Wait for 1 second. Turn off living room led [light.living_room_led], office led [light.office_led], and bedroom led [light.bedroom_led].", "natural_language": { "trigger": "When motion is detected by the living room motion binary sensor [binary_sensor.living_room_motion], the bedroom motion binary sensor [binary_sensor.bedroom_motion], or the office motion binary sensor [binary_sensor.office_motion].", "conditions": "The automation only runs if the current time is between 6:00 AM and 11:00 PM.", "action": "It briefly turns on all the LED lights (living room led [light.living_room_led], office led [light.office_led], and bedroom led [light.bedroom_led]) for one second, then turns them off." }, "human_like": "Briefly flashes the LED lights in the living room, bedroom, and office whenever motion is detected during daytime hours.", "complexity": "low" } }, { "id": "motionless", "result": { "structured": "TRIGGER: When living room motion binary sensor [binary_sensor.living_room_motion] remains off (no motion) for 2 hours OR When bedroom motion binary sensor [binary_sensor.bedroom_motion] remains off (no motion) for 1 hour. CONDITIONS: The current time is after 00:00:00 (midnight) AND The sun is before sunset. ACTIONS: Turn off the lights in the room corresponding to the triggered sensor: bedroom lights group [group.bedroom_lights] if bedroom motion triggered, or living room lights group [group.living_room_lights] if living room motion triggered.", "natural_language": { "trigger": "When the living room motion binary sensor [binary_sensor.living_room_motion] detects no motion for two consecutive hours, or when the bedroom motion binary sensor [binary_sensor.bedroom_motion] detects no motion for one consecutive hour.", "conditions": "The automation only runs if the current time is after midnight and before sunset.", "action": "It turns off the lights in the corresponding room: the bedroom lights group [group.bedroom_lights] if the bedroom sensor triggered, or the living room lights group [group.living_room_lights] if the living room sensor triggered." }, "human_like": "Automatically turns off the lights in a room after no motion is detected for a set period during the daytime.", "complexity": "medium" } }, { "id": "plex", "result": { "structured": "TRIGGER: Every 59 minutes (at minutes matching pattern /59). CONDITIONS: (Current time is after 18:58:00 AND before 00:00:00). ACTIONS: Turn on neo switch [switch.neo] AND log an entry to the logbook with name 'Wake Plex' and message 'has woke Neo'.", "natural_language": { "trigger": "The automation triggers every hour at 59 minutes past the hour.", "conditions": "The automation only runs if the current time is between 18:58:00 (6:58 PM) and midnight (00:00:00).", "action": "It turns on the neo switch [switch.neo] and creates a logbook entry titled 'Wake Plex' with the message 'has woke Neo'." }, "human_like": "Turns on the Neo switch and logs the action in the evening, once per hour, to keep the Plex server awake.", "complexity": "low" } }, { "id": "ifttt_remote", "result": { "structured": "TRIGGER: When an IFTTT webhook event is received with event_data containing action: call_service. CONDITIONS: The service data in the webhook event is 'remote.send_command'. ACTIONS: Send a remote command using the service specified in the webhook event. The command is determined by the 'command' data in the webhook: if the command is 'cable' then send 'cm2', if 'roku' then 'hdmi3', if 'chromecast' then 'hdmi4', if 'switch' then 'hdmi1', if 'xbox' then 'hdmi2'. The action uses the 'device' and 'entity_id' data from the webhook, converted to lowercase.", "natural_language": { "trigger": "When Home Assistant receives an IFTTT webhook event indicating a service call.", "conditions": "The webhook event data must specify the service 'remote.send_command'.", "action": "Sends a remote control command. The specific command sent (e.g., 'cm2', 'hdmi1') is chosen based on the 'command' value from the webhook, mapping common source names to specific input commands. The action uses the 'device' and 'entity_id' provided by the webhook, ensuring they are in lowercase." }, "human_like": "Translates IFTTT webhook commands for remote control, switching the TV input based on the requested source.", "complexity": "medium" } }, { "id": "ifttt_tracker", "result": { "structured": "TRIGGER: When an IFTTT webhook event is received with event_data containing action: call_service. CONDITIONS: The service data in the webhook event must be 'device_tracker.see'. ACTIONS: Call the service specified in the webhook event (device_tracker.see) with the dev_id transformed to lowercase with spaces replaced by underscores, and the location_name transformed to lowercase.", "natural_language": { "trigger": "When Home Assistant receives an IFTTT webhook event that contains the action 'call_service'.", "conditions": "The webhook event must be specifically for the 'device_tracker.see' service.", "action": "It calls the 'device_tracker.see' service, using the device ID and location name from the webhook. The device ID is formatted to be lowercase with spaces replaced by underscores, and the location name is set to lowercase." }, "human_like": "Updates a device's location from an IFTTT webhook, formatting the data to be compatible with Home Assistant.", "complexity": "medium" } }, { "id": "ifttt", "result": { "structured": "TRIGGER: When an IFTTT webhook event is received with event data containing action: call_service. CONDITIONS: The webhook's service is NOT remote.send_command AND NOT device_tracker.see. ACTIONS: Call the service specified in the webhook data on the entity specified in the webhook data.", "natural_language": { "trigger": "When an IFTTT webhook is received that contains a request to call a service.", "conditions": "The service requested in the webhook must not be 'remote.send_command' and must not be 'device_tracker.see'.", "action": "Calls the service specified in the webhook data, targeting the entity also specified in the webhook data." }, "human_like": "Forwards most IFTTT webhook commands to Home Assistant services, excluding specific commands for remotes and device trackers.", "complexity": "medium" } }, { "id": "tvsource", "result": { "structured": "TRIGGER: When living room tv source input select [input_select.living_room_tv_source] changes state. CONDITIONS: None. ACTIONS: Send a command to broadlink remote [remote.broadlink] for device 'television' with the command determined by the current state of living room tv source input select [input_select.living_room_tv_source]. The command is 'cm2' if the source is 'cable', 'hdmi3' if 'roku', 'hdmi4' if 'chromecast', 'hdmi1' if 'switch', 'hdmi2' if 'xbox'. The command is sent 5 times.", "natural_language": { "trigger": "Whenever the selected source on the living room tv source input select [input_select.living_room_tv_source] changes.", "conditions": "There are no conditions for this automation.", "action": "Sends an infrared command via the broadlink remote [remote.broadlink] to the television, instructing it to switch to the corresponding HDMI input or source. The specific command sent depends on the new selection: 'cable' sends 'cm2', 'roku' sends 'hdmi3', 'chromecast' sends 'hdmi4', 'switch' sends 'hdmi1', and 'xbox' sends 'hdmi2'. The command is repeated 5 times to ensure it is received." }, "human_like": "Automatically changes the TV input to match the selected source (like Cable, Roku, or Xbox) using a remote control.", "complexity": "low" } }, { "id": "changechannel", "result": { "structured": "TRIGGER: When cable channel input select [input_select.cable_channel] changes state. CONDITIONS: None. ACTIONS: Send a remote command to broadlink remote [remote.broadlink] for device 'cable' with the first digit of the selected channel. If the selected channel has at least two digits, wait 500 milliseconds and send the second digit. If the selected channel has at least three digits, wait 500 milliseconds and send the third digit.", "natural_language": { "trigger": "Whenever the selected value in the cable channel input select [input_select.cable_channel] changes.", "conditions": "There are no conditions that must be met for the actions to run.", "action": "The automation sends a series of infrared commands to the cable box via the broadlink remote [remote.broadlink]. It extracts the digits from the selected channel number. First, it sends the first digit. If the channel number has a second digit, it waits half a second and sends it. If the channel number has a third digit, it waits another half a second and sends it." }, "human_like": "Automatically changes the cable channel by sending the corresponding digit-by-digit remote commands when a new channel is selected.", "complexity": "medium" } }, { "id": "changeroute", "result": { "structured": "TRIGGER: When destination input select [input_select.destination] changes state OR When origin input select [input_select.origin] changes state. CONDITIONS: None. ACTIONS: Turn on update route input boolean [input_boolean.update_route] AND Update via driving sensor [sensor.via_driving] AND Update via metro sensor [sensor.via_metro] AND Update via bus sensor [sensor.via_bus].", "natural_language": { "trigger": "Whenever the selected destination [input_select.destination] or the selected origin [input_select.origin] is changed.", "conditions": "There are no conditions that need to be met.", "action": "It turns on the update route input boolean [input_boolean.update_route] and then forces an immediate update of three travel time sensors: via driving sensor [sensor.via_driving], via metro sensor [sensor.via_metro], and via bus sensor [sensor.via_bus]." }, "human_like": "Updates travel route information whenever the user changes their trip's origin or destination.", "complexity": "low" } }, { "id": "updateroute", "result": { "structured": "TRIGGER: When update route input boolean [input_boolean.update_route] turns on. CONDITIONS: None. ACTIONS: Wait for 30 seconds, then turn off update route input boolean [input_boolean.update_route].", "natural_language": { "trigger": "When the update route input boolean [input_boolean.update_route] is turned on.", "conditions": "There are no conditions for this automation.", "action": "After waiting for 30 seconds, turn off the update route input boolean [input_boolean.update_route]." }, "human_like": "Turns off the 'update route' switch automatically 30 seconds after it is turned on.", "complexity": "low" } }, { "id": "dailyroute", "result": { "structured": "TRIGGER: When the time is 08:00:00 OR when the time is 16:00:00. CONDITIONS: The current weekday is Monday OR Tuesday OR Wednesday OR Thursday OR Friday. ACTIONS: Set origin input select [input_select.origin] to 'Peter DC Office' if the current hour is greater than 12, otherwise set it to 'Home'. Set destination input select [input_select.destination] to 'Home' if the current hour is greater than 12, otherwise set it to 'Peter DC Office'. Turn on update route input boolean [input_boolean.update_route]. Wait for 45 minutes. Turn off update route input boolean [input_boolean.update_route].", "natural_language": { "trigger": "The automation runs at 8:00 AM or 4:00 PM.", "conditions": "It only runs on weekdays (Monday through Friday).", "action": "Based on the current time, it sets the origin input select [input_select.origin] and destination input select [input_select.destination] to either 'Home' or 'Peter DC Office'. If it's after noon, the origin is set to 'Peter DC Office' and the destination to 'Home'. If it's before noon, the origin is set to 'Home' and the destination to 'Peter DC Office'. It then turns on the update route input boolean [input_boolean.update_route], waits for 45 minutes, and turns it off again." }, "human_like": "Sets the daily commute route for weekdays, switching the origin and destination between home and the office in the morning and afternoon, and triggers a route update.", "complexity": "medium" } }, { "id": "updatecommute", "result": { "structured": "TRIGGER: Every 2 minutes. CONDITIONS: update route input boolean [input_boolean.update_route] is on. ACTIONS: Update via driving sensor [sensor.via_driving] AND update via metro sensor [sensor.via_metro] AND update via bus sensor [sensor.via_bus].", "natural_language": { "trigger": "The automation triggers every two minutes.", "conditions": "The automation only runs if the update route input boolean [input_boolean.update_route] is turned on.", "action": "It updates the three commute route sensors: via driving sensor [sensor.via_driving], via metro sensor [sensor.via_metro], and via bus sensor [sensor.via_bus]." }, "human_like": "Updates the driving, metro, and bus commute times every two minutes when route updates are enabled.", "complexity": "low" } }, { "id": "updateavailable", "result": { "structured": "TRIGGER: When docker hub update available binary sensor [binary_sensor.docker_hub_update_available] turns on. CONDITIONS: None. ACTIONS: Create a persistent notification with title 'New Home Assistant Release' and message containing the version from docker hub version sensor [sensor.docker_hub_version] AND send a Discord notification to target '814328602270498817' with a message containing the version from docker hub version sensor [sensor.docker_hub_version].", "natural_language": { "trigger": "When the docker hub update available binary sensor [binary_sensor.docker_hub_update_available] changes its state to on, indicating a new update is available.", "conditions": "There are no conditions that must be met for this automation to run.", "action": "It creates a persistent notification in Home Assistant with the title 'New Home Assistant Release' and a message stating the available version. It also sends a message to a specific Discord channel, notifying that the new Home Assistant version is available." }, "human_like": "Sends a notification via Home Assistant and Discord when a new Home Assistant update becomes available.", "complexity": "low" } }, { "id": "emergencyalert", "result": { "structured": "TRIGGER: When any entity changes state (event_type: state_changed). CONDITIONS: (The changed entity's entity_id contains '_leak_sensor_water' AND its new state is 'on') OR (The changed entity's entity_id contains '_alarm' AND its new state is 'on'). ACTIONS: 1. Send a Telegram message containing the friendly name and state of the changed entity. 2. Turn on home speakers media player [media_player.home_speakers]. 3. Set volume of home speakers media player [media_player.home_speakers] to 0.6. 4. Use TTS on home speakers media player [media_player.home_speakers] to announce the friendly name and state of the changed entity. 5. If any binary_sensor with 'alarm' in its name is 'on', turn on home lights group [group.home_lights]. 6. Send a Discord notification to target 814328602270498817 containing the friendly name and state of the changed entity.", "natural_language": { "trigger": "Whenever any entity in the system changes its state.", "conditions": "The automation only proceeds if the entity that changed is either a leak sensor (identified by '_leak_sensor_water' in its entity ID) and it turned on, or if it is an alarm sensor (identified by '_alarm' in its entity ID) and it turned on.", "action": "When triggered, the system sends an alert via Telegram with the name and status of the device. It then turns on the home speakers media player [media_player.home_speakers], sets its volume to 60%, and uses text-to-speech to announce the alert. If any alarm sensor is currently active, it also turns on all the home lights group [group.home_lights]. Finally, it sends the same alert message to a specific Discord target." }, "human_like": "Sends alerts and announces emergencies via multiple channels (Telegram, speakers, Discord, and lights) when a leak or alarm sensor is triggered.", "complexity": "high" } }, { "id": "infoalert", "result": { "structured": "TRIGGER: When mailbox contact binary sensor [binary_sensor.mailbox_contact] changes from off to on OR When dryer status binary sensor [binary_sensor.dryer_status] changes from on to off OR When washer status binary sensor [binary_sensor.washer_status] changes from on to off OR When trash binary sensor [binary_sensor.trash] changes to on OR When recycle binary sensor [binary_sensor.recycle] changes to on OR When street sweeping binary sensor [binary_sensor.street_sweeping] changes to on OR When amcrest dining room privacy mode switch [switch.amcrest_dining_room_privacy_mode] changes state OR When amcrest office privacy mode switch [switch.amcrest_office_privacy_mode] changes state OR When peter person [person.peter] leaves zone.peter_dc_office OR When kelley person [person.kelley] leaves zone.kelley_office OR When peter table light switch [switch.peter_table_light] OR kelley table light switch [switch.kelley_table_light] OR cat bed camera [camera.cat_bed_camera] becomes unavailable OR When bedroom humidifier out of water binary sensor [binary_sensor.bedroom_humidifier_out_of_water] changes to on. CONDITIONS: None. ACTIONS: Choose based on trigger: If triggered by dryer status binary sensor [binary_sensor.dryer_status], send Discord notification 'The dryer is done'. If triggered by washer status binary sensor [binary_sensor.washer_status], send Discord notification 'The washer is done'. If triggered by mailbox contact binary sensor [binary_sensor.mailbox_contact], send Discord notification 'The mail has arrived!'. If triggered by trash binary sensor [binary_sensor.trash] OR recycle binary sensor [binary_sensor.recycle] OR street sweeping binary sensor [binary_sensor.street_sweeping], send Discord notification 'Tomorrow is [friendly_name] day!'. If triggered by peter person [person.peter] OR kelley person [person.kelley], send Discord notification '[friendly_name] has left [zone_name]'. If triggered by bedroom humidifier out of water binary sensor [binary_sensor.bedroom_humidifier_out_of_water], send Discord notification 'Humidifier is out of water'. For any other trigger, send Discord notification '[friendly_name] is [state]'.", "natural_language": { "trigger": "This automation triggers in many different situations: when the mailbox is opened, the dryer or washer finishes a cycle, a trash or recycling collection or street sweeping is scheduled, a camera privacy mode is toggled, Peter or Kelley leaves their designated office zone, a light or camera becomes unavailable, or the bedroom humidifier runs out of water.", "conditions": "There are no conditions; the automation runs whenever any of the triggers occur.", "action": "Depending on which event triggered the automation, a specific message is sent to a Discord channel. For example, it sends 'The dryer is done' when the dryer finishes, 'The mail has arrived!' when the mailbox is opened, or a custom message for trash day or when someone leaves their office. For other triggers, it sends a generic status update." }, "human_like": "Sends smart home notifications to Discord for various events like laundry finishing, mail delivery, trash day reminders, and device status changes.", "complexity": "high" } }, { "id": "system_log", "result": { "structured": "TRIGGER: When a system log event with level ERROR occurs. CONDITIONS: None. ACTIONS: Send a notification to error_logfile with the event data as the message.", "natural_language": { "trigger": "Whenever a system log event with the severity level 'ERROR' is generated.", "conditions": "There are no conditions for this automation.", "action": "Sends the error event data as a message to the notification service named 'error_logfile'." }, "human_like": "Logs system errors to a file by sending error event details to a notification service.", "complexity": "low" } }, { "id": "'1588304855176'", "result": { "structured": "TRIGGER: When backyard camera motion detected [binary_sensor.backyard_camera_motion_detected] changes to on. CONDITIONS: (Sun is below the horizon (after sunset OR before sunrise)) AND (Wind speed attribute of kdca daynight weather [weather.kdca_daynight] is less than 5). ACTIONS: Turn on patio wall lights switch [switch.patio_wall_lights], wait for a random delay between 10 and 19 minutes, then turn off patio wall lights switch [switch.patio_wall_lights].", "natural_language": { "trigger": "When the backyard camera motion detected [binary_sensor.backyard_camera_motion_detected] sensor detects motion and turns on.", "conditions": "The automation only runs if it is nighttime (after sunset or before sunrise) and the wind speed reported by the kdca daynight weather [weather.kdca_daynight] entity is less than 5.", "action": "It turns on the patio wall lights switch [switch.patio_wall_lights], waits for a random amount of time between 10 and 19 minutes, and then turns the lights back off." }, "human_like": "Turns on the patio lights for a random duration when motion is detected in the backyard at night, but only if it's not too windy.", "complexity": "medium" } }, { "id": "'1588452474080'", "result": { "structured": "TRIGGER: When a Camect event occurs with type 'alert' AND raw_data containing cam_name 'Backyard' AND detected_obj includes 'person' OR When a Camect event occurs with type 'alert' AND raw_data containing detected_obj includes 'cat' (cam_name unspecified) OR When a Camect event occurs with raw_data containing cam_name 'Front Door' AND detected_obj includes 'person'. CONDITIONS: The automation must not have been triggered in the last 90 seconds (checks time since automation.camect_automation last_triggered) AND the event data must contain a non-empty cam_name. ACTIONS: 1. (Disabled) Take a snapshot from camera entity derived from trigger event data (camera.backyard or camera.front_door) and save to a filename based on camera name and detected object. 2. Take a snapshot from camera entity identified by trigger event device_id and save to a filename based on camera name and detected object. 3. Wait 1 second. 4. Send a Discord notification to target 812545796339400708 with a message about the detection, including the saved image and embed metadata. 5. Conditional action: IF (it is before sunrise OR after sunset) AND (the camera name is 'backyard') THEN turn on patio lights group [group.patio_lights], wait 11 minutes, then turn off patio lights group [group.patio_lights]; OTHERWISE do nothing.", "natural_language": { "trigger": "The automation triggers when the Camect system reports an alert. Specifically, it reacts to three types of alerts: a person detected in the Backyard camera, a cat detected (from any camera), or a person detected at the Front Door camera.", "conditions": "For the automation to proceed, the event must include a camera name, and the automation itself must not have been triggered in the previous 90 seconds. This cooldown period prevents repeated actions for rapid, successive alerts.", "action": "Upon a valid trigger, the automation first attempts to take a snapshot from the relevant camera and saves the image with a descriptive filename. It then sends a detailed notification to a specific Discord channel, including the image and information about what was detected and which camera saw it. After a one-second delay, if the detection occurred in the Backyard camera and it is either before sunrise or after sunset (i.e., it's dark outside), the automation will turn on the patio lights group for 11 minutes before turning them off again." }, "human_like": "This automation captures snapshots and sends Discord alerts for person or cat detections on security cameras, and automatically turns on the patio lights at night for backyard detections.", "complexity": "high" } }, { "id": "'1588452709021'", "result": { "structured": "TRIGGER: When sunrise occurs OR when sunset occurs OR when the time is 23:00:00 OR when hallway lights group [group.hallway_lights] remains on for 1 minute. CONDITIONS: None. ACTIONS: (If the trigger is sunrise, do nothing) OR (If the trigger is sunset, turn on tv backlight [light.tv_backlight], front lights group [group.front_lights], holiday lights group [group.holiday_lights], and under bed lights [light.under_bed_lights]) OR (If the time is between 21:00:00 and 08:00:00 AND family group [group.family] is home, then turn off front lights group [group.front_lights], hallway laundry light [light.hallway_laundry_light], and hallway bathroom light [light.hallway_bathroom_light], wait 30 minutes, then turn off holiday lights group [group.holiday_lights]) OR (If family group [group.family] is not home AND the time is between 00:00:00 and 23:00:00 AND the trigger is sunset, then wait a random delay between 0 and 29 minutes, then turn on kitchen lights group [group.kitchen_lights], living room lights group [group.living_room_lights], bedroom overhead light [light.bedroom_overhead_light], hallway lights group [group.hallway_lights], and holiday lights group [group.holiday_lights]) OR (If family group [group.family] is not home AND the time is between 23:00:00 and 00:00:00, then wait a random delay between 0 and 29 minutes, then turn off kitchen lights group [group.kitchen_lights], living room lights group [group.living_room_lights], bedroom overhead light [light.bedroom_overhead_light], hallway lights group [group.hallway_lights], and holiday lights group [group.holiday_lights]).", "natural_language": { "trigger": "The automation can be triggered by four events: at sunrise, at sunset, at 23:00:00, or when the hallway lights group [group.hallway_lights] have been on for one minute.", "conditions": "There are no global conditions for this automation. Conditions are evaluated within each action sequence.", "action": "The automation performs different actions based on which trigger occurred and other time and state checks. At sunrise, nothing happens. At sunset, it turns on the tv backlight [light.tv_backlight], front lights group [group.front_lights], holiday lights group [group.holiday_lights], and under bed lights [light.under_bed_lights]. If triggered between 9 PM and 8 AM while the family group [group.family] is home, it turns off the front lights group [group.front_lights], hallway laundry light [light.hallway_laundry_light], and hallway bathroom light [light.hallway_bathroom_light], waits 30 minutes, and then turns off the holiday lights group [group.holiday_lights]. If the family is not home and it's triggered at sunset between midnight and 11 PM, it waits a random amount of time up to 29 minutes, then turns on the kitchen lights group [group.kitchen_lights], living room lights group [group.living_room_lights], bedroom overhead light [light.bedroom_overhead_light], hallway lights group [group.hallway_lights], and holiday lights group [group.holiday_lights]. If the family is not home and it's triggered between 11 PM and midnight, it waits a random amount of time up to 29 minutes, then turns off those same lights." }, "human_like": "This automation manages indoor and outdoor lighting based on the time of day, sunset, and whether the family is home, creating evening ambiance and a late-night shutdown routine.", "complexity": "high" } }, { "id": "'1608091420017'", "result": { "structured": "TRIGGER: When the Nest doorbell chime associated with device 238b3c51d11f99da1bd7bedd372f050a is activated. CONDITIONS: None. ACTIONS: 1. Take a snapshot from front door camera [camera.front_door] and save it as /config/www/doorbell.jpg. 2. Wait for 1 second. 3. Send a Discord notification to target 812545796339400708 with the message 'Someone is at the door!' and attach the snapshot image /config/www/doorbell.jpg. 4. Start a recording from front door camera [camera.front_door] and save it as /config/www/doorbell.mp4. 5. Send a Discord notification to target 812545796339400708 with the message 'Doorbell Camera' and attach the recording file /config/www/doorbell.mp4.", "natural_language": { "trigger": "When the Nest doorbell chime is pressed.", "conditions": "There are no conditions; the automation runs immediately upon the trigger.", "action": "The automation first takes a snapshot from the front door camera [camera.front_door] and saves it locally. After a one-second delay, it sends a Discord notification to a specified target with the snapshot, announcing someone is at the door. It then starts recording a video from the same camera, saves the recording, and sends a second Discord notification with the video file attached." }, "human_like": "When the doorbell rings, it captures a photo and a video from the front door camera and sends both to Discord to alert you.", "complexity": "medium" } }, { "id": "'1612648017088'", "result": { "structured": "TRIGGER: When imported package sensor [sensor.imported_package] changes state. CONDITIONS: None. ACTIONS: Call service aftership.add_tracking with tracking_number set to the current state of imported package sensor [sensor.imported_package] and slug set to the slug attribute of imported package sensor [sensor.imported_package].", "natural_language": { "trigger": "Whenever the imported package sensor [sensor.imported_package] updates its state.", "conditions": "There are no conditions that must be met.", "action": "Adds a new package for tracking in the AfterShip service, using the current tracking number from the sensor's state and the courier slug from the sensor's attribute." }, "human_like": "Automatically imports a new package tracking number into AfterShip whenever the tracking sensor updates.", "complexity": "low" } }, { "id": "'1619127008629'", "result": { "structured": "TRIGGER: When an event of type amzn_tide occurs OR When an event of type amzn_bounty occurs OR When an event of type amzn_cascade occurs OR When an event of type amzn_all occurs OR When an event of type amzn_brita occurs OR When an event of type amzn_nature occurs OR When an event of type amzn_trojan occurs OR When an event of type amzn_airborne occurs OR When an event of type amzn_zyrtec occurs OR When an event of type amzn_charmin occurs. CONDITIONS: None. ACTIONS: Send a notification to mobile_app_peter_sm_g981u with the message containing the event type that triggered the automation.", "natural_language": { "trigger": "When any of the following Amazon Dash button events are detected: amzn_tide, amzn_bounty, amzn_cascade, amzn_all, amzn_brita, amzn_nature, amzn_trojan, amzn_airborne, amzn_zyrtec, or amzn_charmin.", "conditions": "There are no conditions; the automation runs whenever any of the specified events occur.", "action": "Sends a notification to the mobile device mobile_app_peter_sm_g981u with a message that identifies which specific Amazon Dash button event was triggered." }, "human_like": "Sends a phone notification whenever an Amazon Dash button is pressed, identifying which product button was used.", "complexity": "low" } }, { "id": "'1673365170897'", "result": { "structured": "TRIGGER: When family group [group.family] becomes home OR at 00:00:00 (midnight) OR at 07:00:00 (morning) OR when family group [group.family] leaves home (changes from home) OR when 10th street alarm control panel [alarm_control_panel.10th_street] becomes disarmed OR when 10th street alarm control panel [alarm_control_panel.10th_street] leaves the disarmed state. CONDITIONS: NOT (10th street alarm control panel [alarm_control_panel.10th_street] is unavailable OR 10th street alarm control panel [alarm_control_panel.10th_street] is unknown). ACTIONS: IF the trigger is goodnight OR family_away OR armed THEN turn off amcrest dining room privacy mode switch [switch.amcrest_dining_room_privacy_mode] AND turn off amcrest office privacy mode switch [switch.amcrest_office_privacy_mode] AND arm the alarm device (device_id: fa72deb95f10377f1f021123e1f54026) to away mode. IF the trigger is family_home OR disarmed OR (goodmorning AND family group [group.family] is home) THEN turn on amcrest dining room privacy mode switch [switch.amcrest_dining_room_privacy_mode] AND turn on amcrest office privacy mode switch [switch.amcrest_office_privacy_mode] AND disarm the alarm device (device_id: fa72deb95f10377f1f021123e1f54026).", "natural_language": { "trigger": "The automation can be triggered in several ways: when the family group [group.family] arrives home, at midnight (00:00:00), at 7:00 AM, when the family group [group.family] leaves home, when the 10th street alarm control panel [alarm_control_panel.10th_street] is disarmed, or when the alarm panel leaves its disarmed state.", "conditions": "The automation only runs if the 10th street alarm control panel [alarm_control_panel.10th_street] is in a known and available state; it must not be 'unavailable' or 'unknown'.", "action": "Depending on the trigger, the automation performs one of two sets of actions. If the trigger is the midnight timer, the family leaving home, or the alarm being armed, it will turn off the privacy mode for the Amcrest cameras in the dining room and office and arm the alarm system to 'away' mode. If the trigger is the family arriving home, the alarm being disarmed, or the 7:00 AM timer (but only if the family is home at that time), it will turn on the privacy mode for the same cameras and disarm the alarm system." }, "human_like": "This automation manages camera privacy and the alarm system based on the family's presence and schedule, turning privacy off and arming the alarm when everyone is away or it's bedtime, and turning privacy on and disarming when someone is home.", "complexity": "high" } }, { "id": "'1675640672790'", "result": { "structured": "TRIGGER: When tag with ID 43caf5a0-95a5-414b-8fc7-bf0bf80e5128 is scanned. CONDITIONS: None. ACTIONS: Toggle bedroom overhead light [light.bedroom_overhead_light].", "natural_language": { "trigger": "When a specific NFC or RFID tag with the ID 43caf5a0-95a5-414b-8fc7-bf0bf80e5128 is scanned.", "conditions": "There are no conditions that need to be met.", "action": "Toggles the state of the bedroom overhead light [light.bedroom_overhead_light], turning it on if it's off, or off if it's on." }, "human_like": "Toggles the bedroom overhead light when a specific tag is scanned.", "complexity": "low" } }, { "id": "'1683830929478'", "result": { "structured": "TRIGGER: When a tag with ID a75efc06-51f5-46ef-bb9e-455c8a871050 is scanned. CONDITIONS: None. ACTIONS: Toggle the light state for devices with IDs d1205c6f345891abf6cd332b16a8963d, 3b70e075d4f3a226381eb231d6c331fe, and 3b2327cbac3a69e8ebef9276606eadca.", "natural_language": { "trigger": "When the specific NFC or RFID tag with the ID a75efc06-51f5-46ef-bb9e-455c8a871050 is scanned.", "conditions": "There are no conditions that need to be met.", "action": "Toggles the power state of the lights associated with the three specified device IDs: d1205c6f345891abf6cd332b16a8963d, 3b70e075d4f3a226381eb231d6c331fe, and 3b2327cbac3a69e8ebef9276606eadca." }, "human_like": "Toggles the office light strip when a specific tag is scanned.", "complexity": "low" } }, { "id": "'1696126117145'", "result": { "structured": "TRIGGER: When tag with ID e0774fcd-d221-4232-b64f-eb017ab24884 is scanned. CONDITIONS: None. ACTIONS: Turn on amcrest office privacy mode switch [switch.amcrest_office_privacy_mode] AND turn on amcrest dining room privacy mode switch [switch.amcrest_dining_room_privacy_mode].", "natural_language": { "trigger": "When a specific NFC tag with the ID e0774fcd-d221-4232-b64f-eb017ab24884 is scanned.", "conditions": "There are no conditions that must be met.", "action": "Activates privacy mode for two cameras by turning on the amcrest office privacy mode switch [switch.amcrest_office_privacy_mode] and the amcrest dining room privacy mode switch [switch.amcrest_dining_room_privacy_mode]." }, "human_like": "Scans a specific tag to turn on privacy mode for the office and dining room cameras.", "complexity": "low" } }, { "id": "'1696442097979'", "result": { "structured": "TRIGGER: When alley motion detected binary sensor [binary_sensor.alley_motion_detected] becomes on OR When alley person detected binary sensor [binary_sensor.alley_person_detected] becomes on. CONDITIONS: None. ACTIONS: Wait 5 seconds, then download the current image from image.alley_event_image to a local file named alley_motion.jpg, then send a Discord notification to target 812545796339400708 with the message 'Alley Motion Detected' and the downloaded image attached. Then, if it is before sunrise OR after sunset, turn on patio lights group [group.patio_lights], wait 11 minutes, and turn off patio lights group [group.patio_lights]; otherwise, do nothing.", "natural_language": { "trigger": "When either the alley motion detected binary sensor [binary_sensor.alley_motion_detected] or the alley person detected binary sensor [binary_sensor.alley_person_detected] detects activity and changes its state to 'on'.", "conditions": "There are no conditions that must be met for the actions to run.", "action": "After a 5-second delay, the automation downloads the latest image from the alley camera to a local file. It then sends a Discord notification with that image and the message 'Alley Motion Detected'. Finally, if it is currently nighttime (before sunrise or after sunset), it will turn on the patio lights group [group.patio_lights] for 11 minutes before turning them off again." }, "human_like": "When motion or a person is detected in the alley, it sends a photo alert to Discord and, if it's dark out, turns on the patio lights for a short time.", "complexity": "medium" } }, { "id": "'1705613818940'", "result": { "structured": "TRIGGER: When cat bed camera motion binary sensor [binary_sensor.cat_bed_camera_motion] turns on OR when bedroom camera motion binary sensor [binary_sensor.bedroom_camera_motion] turns on OR when kitty condo motion binary sensor [binary_sensor.kitty_condo_motion] turns on. CONDITIONS: None. ACTIONS: Save a video from the camera corresponding to the triggering motion sensor (cat bed camera [camera.cat_bed_camera] for catbed trigger, bedroom camera [camera.bedroom_camera] for bedroom trigger, kitty condo camera [camera.kitty_condo] for kittycondo trigger) to a file named with the current timestamp. Then, send a Discord notification to target 812545796339400708 with a message indicating which camera detected motion and attach the saved video file.", "natural_language": { "trigger": "When motion is detected by the cat bed camera motion binary sensor [binary_sensor.cat_bed_camera_motion], the bedroom camera motion binary sensor [binary_sensor.bedroom_camera_motion], or the kitty condo motion binary sensor [binary_sensor.kitty_condo_motion].", "conditions": "There are no conditions for this automation.", "action": "First, the automation saves a video clip from the specific camera associated with the motion sensor that triggered the event. It then sends a notification via Discord to a specified target, naming which camera detected motion and including the saved video as an attachment." }, "human_like": "When motion is detected by any of the Blink cameras, it saves a video clip and sends a Discord alert with the footage.", "complexity": "medium" } }, { "id": "'1705632083918'", "result": { "structured": "TRIGGER: When front door camera [camera.front_door] detects motion OR When front door camera [camera.front_door] detects a person. CONDITIONS: None. ACTIONS: Send a Discord notification to Discord Target 812545796339400708 [812545796339400708] with the message 'test camera' and an attached thumbnail image from the event. AND Send a mobile notification to mobile_app_peter_sm_s911u with the message 'test camera' and an attached thumbnail image from the event.", "natural_language": { "trigger": "When the front door camera [camera.front_door] detects either motion or a person.", "conditions": "There are no conditions for this automation.", "action": "Sends a notification to a Discord channel [Discord Target 812545796339400708] and a notification to a mobile device [mobile_app_peter_sm_s911u]. Both notifications contain the message 'test camera' and include a thumbnail image captured from the camera event that triggered the automation." }, "human_like": "Sends a test notification with a camera snapshot to Discord and a mobile phone whenever motion or a person is detected at the front door.", "complexity": "low" } }, { "id": "'1710214521979'", "result": { "structured": "TRIGGER: When kdca daynight weather [weather.kdca_daynight] changes state. CONDITIONS: None. ACTIONS: Set variable 'color_options' mapping weather states to color names. Set variable 'color' to the color name corresponding to the current state of kdca daynight weather [weather.kdca_daynight] using the 'color_options' mapping. Create a scene named 'before' [scene.before] by taking a snapshot of the current states of living room led [light.living_room_led], office led [light.office_led], bedroom led [light.bedroom_led], under bed lights [light.under_bed_lights], govee gaming light strip g1 [light.govee_gaming_light_strip_g1], and office lamp [light.office_lamp]. Wait for 5 seconds. Turn on living room led [light.living_room_led], office led [light.office_led], bedroom led [light.bedroom_led], under bed lights [light.under_bed_lights], govee gaming light strip g1 [light.govee_gaming_light_strip_g1], and office lamp [light.office_lamp] with color set to the value of the 'color' variable, brightness at 100%, and a long flash. Wait for 3 seconds. Turn on the same lights with color set to white, brightness at 100%, and a long flash. Activate the previously saved scene 'before' [scene.before] to restore the lights to their original state.", "natural_language": { "trigger": "Whenever the kdca daynight weather [weather.kdca_daynight] entity changes its state.", "conditions": "There are no conditions that must be met.", "action": "The automation first defines a mapping of weather conditions to specific colors. It then determines the current weather condition and selects the corresponding color. Next, it saves the current state of all the listed lights into a temporary scene called 'before'. After a 5-second delay, it flashes all the lights with the selected weather-based color at full brightness. Following a 3-second pause, it flashes the lights white. Finally, it restores all the lights to their original state by activating the saved 'before' scene." }, "human_like": "When the weather changes, this automation briefly flashes all connected lights with a color matching the new weather condition, then returns them to their previous state.", "complexity": "medium" } }, { "id": "'1733609554286'", "result": { "structured": "TRIGGER: When the state of g4 doorbell pro fingerprint event [event.g4_doorbell_pro_fingerprint] changes. CONDITIONS: (trigger.event.data.old_state.attributes.restored is false) AND (trigger.event.data.old_state.state is not 'unavailable') AND (trigger.event.data.new_state is not none) AND (trigger.event.data.new_state.attributes.event_type is 'identified') AND (trigger.event.data.new_state.attributes.ulp_id is not empty) AND (trigger.event.data.new_state.attributes.ulp_id is in the list ['8c09e6d1-719e-449d-9ddf-f691118f6c47']). ACTIONS: Send a Discord notification to Discord Target 812545796339400708 with title 'Fingerprint Scan Notification' and message 'Fingerprint identified with ID: {{ trigger.event.data.new_state.attributes.ulp_id }}' AND Unlock the lock device Device ID 62271a51db7e9203f232a7d95bbb8d00 using code 03281990.", "natural_language": { "trigger": "When the state of the g4 doorbell pro fingerprint event [event.g4_doorbell_pro_fingerprint] changes.", "conditions": "The old state of the event was not restored, was not unavailable, and the new state exists. The new state's event type must be 'identified', and the new state's ULP ID attribute must not be empty and must match the specific ID '8c09e6d1-719e-449d-9ddf-f691118f6c47'.", "action": "Sends a notification to a specific Discord target with details about the fingerprint identification and unlocks a specific lock using a predefined code." }, "human_like": "When a specific fingerprint is identified at the doorbell, it sends a Discord notification and unlocks the door.", "complexity": "medium" } } ]