[ { "id": "armed_away_alarm_when_people_away", "result": { "structured": "TRIGGER: When kaoru person [person.kaoru] changes from home to not_home OR when papa person [person.papa] changes from home to not_home. CONDITIONS: (kaoru person [person.kaoru] is not_home) AND (papa person [person.papa] is not_home). ACTIONS: Arm the home alarm [alarm_control_panel.home_alarm] in away mode using the code 'secret code_alarm'.", "natural_language": { "trigger": "When either kaoru person [person.kaoru] or papa person [person.papa] leaves home, changing their state from home to not_home.", "conditions": "Both kaoru person [person.kaoru] and papa person [person.papa] must be away, with their states set to not_home.", "action": "Arms the home alarm [alarm_control_panel.home_alarm] in away mode, requiring the secret code 'secret code_alarm' to do so." }, "human_like": "Automatically arms the home alarm when everyone has left the house.", "complexity": "low" } }, { "id": "disarm_alarm_when_people_home", "result": { "structured": "TRIGGER: When kaoru person [person.kaoru] changes state from not_home to home OR when papa person [person.papa] changes state from not_home to home. CONDITIONS: None. ACTIONS: Disarm home alarm [alarm_control_panel.home_alarm] using the code 'secret code_alarm'.", "natural_language": { "trigger": "When either kaoru person [person.kaoru] or papa person [person.papa] arrives home, changing their state from 'not_home' to 'home'.", "conditions": "There are no conditions that must be met for the action to run.", "action": "Disarms the home alarm [alarm_control_panel.home_alarm] using a predefined code." }, "human_like": "Automatically disarms the home alarm when either Kaoru or Papa arrives home.", "complexity": "low" } }, { "id": "notify_when_alarm_triggered", "result": { "structured": "TRIGGER: When home alarm [alarm_control_panel.home_alarm] changes to triggered. CONDITIONS: None. ACTIONS: Send a notification to phone mobile app [notify.mobile_app_phone] with message 'ALARME L'alarm a été délenchée 🚨🚨' (high priority, channel alarm_stream, ttl 0) AND turn on alarm sound google home script [script.alarm_sound_google_home].", "natural_language": { "trigger": "When the home alarm [alarm_control_panel.home_alarm] is triggered.", "conditions": "There are no conditions.", "action": "Sends a high-priority notification to the phone mobile app [notify.mobile_app_phone] with the message 'ALARME L'alarm a été délenchée 🚨🚨' and starts the alarm sound google home script [script.alarm_sound_google_home]." }, "human_like": "Sends an alert to your phone and plays an alarm sound when the home alarm is triggered.", "complexity": "low" } }, { "id": "notify_when_alarm_armedaway", "result": { "structured": "TRIGGER: When home alarm [alarm_control_panel.home_alarm] changes state to armed_away. CONDITIONS: None. ACTIONS: Send a notification to phone mobile app [notify.mobile_app_phone] with the message 'ALARME: L'alarme est armée 🚨🔒'.", "natural_language": { "trigger": "When the home alarm [alarm_control_panel.home_alarm] is armed to the 'away' mode.", "conditions": "There are no conditions that must be met.", "action": "Sends a notification to the phone mobile app [notify.mobile_app_phone] with the message: 'ALARME: L'alarme est armée 🚨🔒'." }, "human_like": "Sends a phone notification when the home alarm is armed in away mode.", "complexity": "low" } }, { "id": "trigger_alarm_armedaway_when_door_open", "result": { "structured": "TRIGGER: When porte couloir entree sensor [binary_sensor.porte_couloir_entree] becomes open (on). CONDITIONS: home alarm [alarm_control_panel.home_alarm] is armed_away. ACTIONS: Trigger the alarm on home alarm [alarm_control_panel.home_alarm].", "natural_language": { "trigger": "When the porte couloir entree sensor [binary_sensor.porte_couloir_entree] detects the door opening.", "conditions": "The home alarm [alarm_control_panel.home_alarm] must be in the 'armed away' state.", "action": "Immediately triggers the home alarm [alarm_control_panel.home_alarm]." }, "human_like": "Triggers the home alarm if the corridor door is opened while the alarm is set to 'away' mode.", "complexity": "low" } }, { "id": "bruno_screenshot", "result": { "structured": "TRIGGER: When the time pattern matches every 5 minutes. CONDITIONS: computer papa switch [switch.computer_papa] is on. ACTIONS: Press bruno screenshot button [button.bruno_screenshot].", "natural_language": { "trigger": "Every 5 minutes.", "conditions": "The computer papa switch [switch.computer_papa] must be in the 'on' state.", "action": "Press the bruno screenshot button [button.bruno_screenshot]." }, "human_like": "Takes a screenshot on Bruno's computer every 5 minutes, but only when the computer is turned on.", "complexity": "low" } }, { "id": "rig_kaoru_screenshot", "result": { "structured": "TRIGGER: Every 5 minutes (time pattern). CONDITIONS: computer rig kaoru switch [switch.computer_rig_kaoru] is on. ACTIONS: Press rig kaoru screenshot button [button.rig_kaoru_screenshot].", "natural_language": { "trigger": "The automation triggers every 5 minutes.", "conditions": "The automation only runs if the computer rig kaoru switch [switch.computer_rig_kaoru] is turned on.", "action": "It presses the rig kaoru screenshot button [button.rig_kaoru_screenshot]." }, "human_like": "Takes a screenshot on the Kaoru computer every 5 minutes, but only when the computer is on.", "complexity": "low" } }, { "id": "update_speed_fan", "result": { "structured": "TRIGGER: When fan speed input [input_number.fan_speed] changes state. CONDITIONS: The automation update_speed_fan_slider [automation.update_speed_fan_slider] was never triggered OR more than 1 second has passed since its last trigger. ACTIONS: Set the speed percentage of xiaomi smart fan [fan.xiaomi_smart_fan_2] to the integer value of fan speed input [input_number.fan_speed].", "natural_language": { "trigger": "Whenever the fan speed input [input_number.fan_speed] changes its value.", "conditions": "This action will only proceed if the automation named 'update_speed_fan_slider' [automation.update_speed_fan_slider] has either never been triggered before, or if more than one second has elapsed since it was last triggered.", "action": "Sets the speed of the xiaomi smart fan [fan.xiaomi_smart_fan_2] to match the current numerical value of the fan speed input [input_number.fan_speed]." }, "human_like": "Updates the fan speed to match the value set on a slider, but prevents rapid, repeated updates to avoid overloading the device.", "complexity": "medium" } }, { "id": "update_speed_fan_slider", "result": { "structured": "TRIGGER: When xiaomi smart fan [fan.xiaomi_smart_fan_2] changes state. CONDITIONS: The automation update_speed_fan [automation.update_speed_fan] has never been triggered OR more than 1 second has passed since its last trigger. ACTIONS: Set fan speed input [input_number.fan_speed] to the current percentage value of xiaomi smart fan [fan.xiaomi_smart_fan_2].", "natural_language": { "trigger": "Whenever the state of the xiaomi smart fan [fan.xiaomi_smart_fan_2] changes.", "conditions": "The condition checks that this specific automation (update_speed_fan) has either never been triggered before, or that at least one second has elapsed since it was last triggered. This prevents the automation from running too frequently.", "action": "Updates the fan speed input slider [input_number.fan_speed] to match the current fan speed percentage of the xiaomi smart fan [fan.xiaomi_smart_fan_2]." }, "human_like": "Keeps a fan speed slider synchronized with the actual fan speed, while preventing rapid, repeated updates.", "complexity": "medium" } }, { "id": "update_fan_timer", "result": { "structured": "TRIGGER: When fan timer input [input_number.fan_timer] changes state. CONDITIONS: None. ACTIONS: Call service xiaomi_miio_fan.fan_set_delay_off on xiaomi smart fan [fan.xiaomi_smart_fan_2] with the delay_off_countdown set to the integer value of the current state of fan timer input [input_number.fan_timer].", "natural_language": { "trigger": "Whenever the value of the fan timer input [input_number.fan_timer] changes.", "conditions": "There are no conditions that must be met.", "action": "Sets the fan's automatic shut-off timer by calling the 'fan_set_delay_off' service on the xiaomi smart fan [fan.xiaomi_smart_fan_2]. The timer duration is set to the current number value from the fan timer input [input_number.fan_timer]." }, "human_like": "Updates the smart fan's auto-off timer whenever the timer input slider is adjusted.", "complexity": "low" } }, { "id": "get_google_home_token_at_ha_restart", "result": { "structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Execute google home get token shell command [shell_command.google_home_get_token].", "natural_language": { "trigger": "When Home Assistant starts up.", "conditions": "There are no conditions for this automation.", "action": "Runs the shell command to get a Google Home token." }, "human_like": "Fetches a Google Home token automatically whenever Home Assistant restarts.", "complexity": "low" } }, { "id": "get_google_home_token_every_hour", "result": { "structured": "TRIGGER: When the time pattern matches every hour. CONDITIONS: None. ACTIONS: Execute google home get token shell command [shell_command.google_home_get_token].", "natural_language": { "trigger": "The automation runs at the start of every hour.", "conditions": "There are no conditions that need to be met.", "action": "Runs the shell command named google home get token shell command [shell_command.google_home_get_token]." }, "human_like": "This automation refreshes the Google Home token every hour by running a shell command.", "complexity": "low" } }, { "id": "google_home_cuisine_start_timer", "result": { "structured": "TRIGGER: When next timer cuisine sensor [sensor.next_timer_cusine] changes to a null state. CONDITIONS: None. ACTIONS: Start timer cuisine [timer.timer_cuisine] with a duration calculated as the integer value of next timer cuisine sensor [sensor.next_timer_cusine] divided by 1000, minus the current timestamp, rounded to the nearest second.", "natural_language": { "trigger": "When the next timer cuisine sensor [sensor.next_timer_cusine] changes its state to null.", "conditions": "There are no conditions for this automation.", "action": "Starts the timer cuisine [timer.timer_cuisine] for a duration calculated by taking the sensor's value (converted from milliseconds to seconds) and subtracting the current time." }, "human_like": "Starts a kitchen timer when a sensor indicates a new timer duration is available.", "complexity": "medium" } }, { "id": "google_home_cuisine_stop_timer", "result": { "structured": "TRIGGER: When next timer cuisine sensor [sensor.next_timer_cusine] changes state to None. CONDITIONS: None. ACTIONS: Finish timer cuisine [timer.timer_cuisine].", "natural_language": { "trigger": "When the next timer cuisine sensor [sensor.next_timer_cusine] changes its state to None.", "conditions": "There are no conditions for this automation.", "action": "Finishes the timer cuisine [timer.timer_cuisine]." }, "human_like": "Stops the kitchen timer when the next timer sensor indicates there is no timer active.", "complexity": "low" } }, { "id": "'3331821824310'", "result": { "structured": "TRIGGER: When log size sensor [sensor.home_assistant_log_size] is above 50. CONDITIONS: None. ACTIONS: Execute purge log shell command [shell_command.purge_log].", "natural_language": { "trigger": "When the log size sensor [sensor.home_assistant_log_size] reports a value greater than 50.", "conditions": "There are no additional conditions.", "action": "Runs the shell command to purge the log files [shell_command.purge_log]." }, "human_like": "Automatically purges the Home Assistant log files when they become too large.", "complexity": "low" } }, { "id": "Run Speedtest addon every 12 hours", "result": { "structured": "TRIGGER: When the system time matches a pattern of every 12 hours (e.g., 00:00, 12:00) OR when Home Assistant starts. CONDITIONS: None. ACTIONS: Start the addon 6b87c29e_speedtest_addon.", "natural_language": { "trigger": "The automation runs either every 12 hours on a schedule or immediately when Home Assistant starts up.", "conditions": "There are no conditions that must be met for the action to run.", "action": "Starts the addon named 6b87c29e_speedtest_addon." }, "human_like": "Runs a speedtest addon every 12 hours and when Home Assistant starts.", "complexity": "low" } }, { "id": "backup_ha_monthly", "result": { "structured": "TRIGGER: At 04:00:00 every day. CONDITIONS: The current day of the month is the 1st. ACTIONS: Create a full, compressed Home Assistant backup named 'auto_monthly_backup_' followed by the Date [sensor.date] (with hyphens removed) and the Time [sensor.time] (with colons removed).", "natural_language": { "trigger": "The automation runs every day at 4:00 AM.", "conditions": "It only proceeds if it is the first day of the month.", "action": "It creates a full, compressed backup of the Home Assistant system. The backup file is automatically named using the current date and time, formatted as 'auto_monthly_backup_' followed by the date without hyphens and the time without colons." }, "human_like": "Creates a monthly backup of the Home Assistant system on the first day of each month at 4 AM.", "complexity": "low" } }, { "id": "auto_snapshot", "result": { "structured": "TRIGGER: When the time is exactly 00:00:00 (midnight). CONDITIONS: None. ACTIONS: Create a full Hass.io backup with a name generated from the current date and time, formatted as 'auto_backup_' followed by the Date [sensor.date] value with hyphens removed, an underscore, and the Time [sensor.time] value with colons removed.", "natural_language": { "trigger": "Every day at midnight (00:00:00).", "conditions": "There are no conditions for this automation.", "action": "Creates a full system backup via Hass.io. The backup file is automatically named using the current date and time, removing hyphens and colons for a clean filename." }, "human_like": "Creates an automatic daily backup of the Home Assistant system at midnight.", "complexity": "low" } }, { "id": "'7426848686945'", "result": { "structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Press lenovotab load start url button [button.lenovotab_load_start_url].", "natural_language": { "trigger": "When the Home Assistant system starts up.", "conditions": "There are no conditions for this automation.", "action": "Presses the lenovotab load start url button [button.lenovotab_load_start_url]." }, "human_like": "Presses a button to load a start URL on a Lenovo tablet whenever Home Assistant restarts.", "complexity": "low" } }, { "id": "'3972668118831'", "result": { "structured": "TRIGGER: When lenovotab battery sensor [sensor.lenovotab_batterie] falls below 30. CONDITIONS: None. ACTIONS: Send a notification to all devices notify [notify.all_devices] with title 'Chargement de la tablette...' and message containing the current battery percentage.", "natural_language": { "trigger": "When the battery level of the lenovotab battery sensor [sensor.lenovotab_batterie] drops below 30 percent.", "conditions": "There are no additional conditions for this automation.", "action": "Sends a notification to all devices notify [notify.all_devices] with the title 'Chargement de la tablette...' and a message showing the current battery percentage." }, "human_like": "Sends a notification to all devices when the tablet's battery level falls below 30%.", "complexity": "low" } }, { "id": "'345538118831'", "result": { "structured": "TRIGGER: When tablet browser path sensor [sensor.tablet_browser_path] remains in any state for 5 minutes. CONDITIONS: (NOT (tablet browser path sensor [sensor.tablet_browser_path] is /lovelace/home) AND NOT (tablet browser path sensor [sensor.tablet_browser_path] is /lovelace/default_view)). ACTIONS: Navigate browser with ID 6c1e502969ee705227e70afe410e1349 to path /lovelace/default_view?kiosk.", "natural_language": { "trigger": "When the tablet browser path sensor [sensor.tablet_browser_path] does not change its reported value for five minutes.", "conditions": "If the current browser path is not the home page (/lovelace/home) and is also not the default view page (/lovelace/default_view).", "action": "Redirects the specified browser (ID: 6c1e502969ee705227e70afe410e1349) back to the default view in kiosk mode." }, "human_like": "Redirects a tablet's browser back to the main dashboard if it has been left on a different page for five minutes.", "complexity": "medium" } }, { "id": "'1745838569322'", "result": { "structured": "TRIGGER: When pir couloir1 sensor [binary_sensor.pir_couloir1] turns on OR pir couloir2 sensor [binary_sensor.pir_couloir2] turns on. CONDITIONS: lenovotab screen switch [switch.lenovotab_screen] is off. ACTIONS: Turn on lenovotab screen switch [switch.lenovotab_screen].", "natural_language": { "trigger": "When either the pir couloir1 sensor [binary_sensor.pir_couloir1] or the pir couloir2 sensor [binary_sensor.pir_couloir2] detects motion and changes to the 'on' state.", "conditions": "The lenovotab screen switch [switch.lenovotab_screen] must currently be off.", "action": "Turn on the lenovotab screen switch [switch.lenovotab_screen]." }, "human_like": "Turns on the tablet screen when motion is detected in the corridor.", "complexity": "low" } }, { "id": "'1745838644904'", "result": { "structured": "TRIGGER: When pir couloir1 sensor [binary_sensor.pir_couloir1] changes to off OR when pir couloir2 sensor [binary_sensor.pir_couloir2] changes to off. CONDITIONS: pir couloir1 sensor [binary_sensor.pir_couloir1] is off AND pir couloir2 sensor [binary_sensor.pir_couloir2] is off. ACTIONS: Turn off lenovotab screen switch [switch.lenovotab_screen].", "natural_language": { "trigger": "When either the pir couloir1 sensor [binary_sensor.pir_couloir1] or the pir couloir2 sensor [binary_sensor.pir_couloir2] changes its state to off.", "conditions": "Both the pir couloir1 sensor [binary_sensor.pir_couloir1] and the pir couloir2 sensor [binary_sensor.pir_couloir2] must be in the off state.", "action": "Turns off the lenovotab screen switch [switch.lenovotab_screen]." }, "human_like": "Turns off the tablet screen when both corridor motion sensors detect no movement.", "complexity": "low" } }, { "id": "toggle_bureau", "result": { "structured": "TRIGGER: When zha remote device 1 [device_id: 3f7bf0b1d53cb13c4212ef835580c4ca] sends a short press event OR when zha remote device 2 [device_id: d9bf413036f7a7482d2681625d07bf0d] sends a short press event OR when zha remote device 3 [device_id: 880038593f81e164554c496e37d93153] sends a short press event. CONDITIONS: None. ACTIONS: Toggle bureau light [light.bureau].", "natural_language": { "trigger": "When any of the three ZHA remote devices in the office (zha remote device 1, zha remote device 2, or zha remote device 3) sends a short button press event.", "conditions": "There are no conditions that must be met.", "action": "Toggles the state of the bureau light [light.bureau]." }, "human_like": "Toggles the bureau light when a button is pressed on any of the three remote controls in the office.", "complexity": "low" } }, { "id": "toggle_plafond", "result": { "structured": "TRIGGER: When zha remote device 1 [device_id: 3f7bf0b1d53cb13c4212ef835580c4ca] sends a remote_button_double_press event OR when zha remote device 2 [device_id: d9bf413036f7a7482d2681625d07bf0d] sends a remote_button_double_press event OR when zha remote device 3 [device_id: 880038593f81e164554c496e37d93153] sends a remote_button_double_press event. CONDITIONS: None. ACTIONS: Toggle plafond light [light.plafond].", "natural_language": { "trigger": "When any of the three ZHA remote devices (zha remote device 1, zha remote device 2, or zha remote device 3) sends a double-press event from its button.", "conditions": "There are no conditions for this automation.", "action": "Toggles the state of the plafond light [light.plafond], turning it on if it is off, or off if it is on." }, "human_like": "Toggles the main ceiling light when any of the three remote controls in the office is double-pressed.", "complexity": "low" } }, { "id": "turn_on_chambre", "result": { "structured": "TRIGGER: When zha remote device 1 [device_id: 3f7bf0b1d53cb13c4212ef835580c4ca] sends a long press button event OR When zha remote device 2 [device_id: d9bf413036f7a7482d2681625d07bf0d] sends a long press button event OR When zha remote device 3 [device_id: 880038593f81e164554c496e37d93153] sends a long press button event. CONDITIONS: chambre light [light.chambre] is off. ACTIONS: Turn on chambre light [light.chambre].", "natural_language": { "trigger": "When any of the three ZHA remote devices (zha remote device 1, zha remote device 2, or zha remote device 3) sends a long press button event.", "conditions": "The chambre light [light.chambre] must currently be off.", "action": "Turn on the chambre light [light.chambre]." }, "human_like": "Turns on the bedroom light using a long press from any of three remote controls, but only if the light is currently off.", "complexity": "low" } }, { "id": "turn_off_chambre", "result": { "structured": "TRIGGER: When zha remote device 1 [device_id: 3f7bf0b1d53cb13c4212ef835580c4ca] sends a long press button event OR When zha remote device 2 [device_id: d9bf413036f7a7482d2681625d07bf0d] sends a long press button event OR When zha remote device 3 [device_id: 880038593f81e164554c496e37d93153] sends a long press button event. CONDITIONS: chambre light [light.chambre] is on. ACTIONS: Turn off chambre light [light.chambre].", "natural_language": { "trigger": "When any of the three ZHA remote devices (device IDs: 3f7bf0b1d53cb13c4212ef835580c4ca, d9bf413036f7a7482d2681625d07bf0d, or 880038593f81e164554c496e37d93153) sends a long press button event.", "conditions": "The chambre light [light.chambre] must currently be on.", "action": "Turn off the chambre light [light.chambre]." }, "human_like": "Turns off the bedroom light when a long press is detected on any of the configured remote controls, but only if the light is currently on.", "complexity": "low" } }, { "id": "auto_turn_off_cuisine", "result": { "structured": "TRIGGER: When switch wall cuisine light [light.switch_wall_cuisine] turns from off to on AND remains on for 20 minutes. CONDITIONS: The current time is between 22:00:00 and 07:00:00 AND switch wall cuisine light [light.switch_wall_cuisine] is currently on. ACTIONS: Turn on switch wall cuisine light [light.switch_wall_cuisine].", "natural_language": { "trigger": "When the switch wall cuisine light [light.switch_wall_cuisine] is turned on and stays on for 20 minutes.", "conditions": "The automation only runs if it is nighttime, specifically between 10:00 PM and 7:00 AM, and the switch wall cuisine light [light.switch_wall_cuisine] is still on.", "action": "Turns the switch wall cuisine light [light.switch_wall_cuisine] on again." }, "human_like": "Automatically turns the kitchen light back on if it has been left on for 20 minutes during the night, ensuring it doesn't stay off accidentally.", "complexity": "low" } }, { "id": "auto_turn_off_chambre_papa", "result": { "structured": "TRIGGER: When switch wall chambre papa light [light.switch_wall_chambre_papa] turns on from off AND remains on for 20 minutes. CONDITIONS: The current time is between 22:00:00 and 07:00:00 AND switch wall chambre papa light [light.switch_wall_chambre_papa] is on. ACTIONS: Turn on switch wall chambre papa light [light.switch_wall_chambre_papa].", "natural_language": { "trigger": "When the switch wall chambre papa light [light.switch_wall_chambre_papa] is turned on and stays on for 20 minutes.", "conditions": "The automation only runs if the current time is between 10:00 PM and 7:00 AM, and the switch wall chambre papa light [light.switch_wall_chambre_papa] is still on.", "action": "Turns on the switch wall chambre papa light [light.switch_wall_chambre_papa]." }, "human_like": "Automatically turns the bedroom light back on if it was left on for 20 minutes during the night.", "complexity": "low" } }, { "id": "toggle_cuisine", "result": { "structured": "TRIGGER: When zha remote device 4 [device_id: 631a266451fd7ad699e580f912b7fbf9] sends a left button short press event. CONDITIONS: None. ACTIONS: Toggle switch wall cuisine light [light.switch_wall_cuisine].", "natural_language": { "trigger": "When the left button on the zha remote device 4 [device_id: 631a266451fd7ad699e580f912b7fbf9] is pressed briefly.", "conditions": "There are no conditions that must be met.", "action": "Toggles the switch wall cuisine light [light.switch_wall_cuisine] on or off." }, "human_like": "Pressing the left button on the kitchen remote toggles the kitchen light.", "complexity": "low" } }, { "id": "auto_turn_on_salle_de_bain", "result": { "structured": "TRIGGER: When pir salle de bain sensor [binary_sensor.pir_salle_de_bain] turns on. CONDITIONS: switch wall salle de bain light [light.switch_wall_salle_de_bain] is off. ACTIONS: Turn on switch wall salle de bain light [light.switch_wall_salle_de_bain].", "natural_language": { "trigger": "When motion is detected by the pir salle de bain sensor [binary_sensor.pir_salle_de_bain].", "conditions": "The switch wall salle de bain light [light.switch_wall_salle_de_bain] must be off.", "action": "Turn on the switch wall salle de bain light [light.switch_wall_salle_de_bain]." }, "human_like": "Automatically turns on the bathroom light when motion is detected and the light is off.", "complexity": "low" } }, { "id": "auto_turn_off_salle_de_bain", "result": { "structured": "TRIGGER: When pir salle de bain sensor [binary_sensor.pir_salle_de_bain] changes to off. CONDITIONS: switch wall salle de bain light [light.switch_wall_salle_de_bain] is on. ACTIONS: Turn off switch wall salle de bain light [light.switch_wall_salle_de_bain].", "natural_language": { "trigger": "When the pir salle de bain sensor [binary_sensor.pir_salle_de_bain] stops detecting motion (changes to 'off').", "conditions": "The switch wall salle de bain light [light.switch_wall_salle_de_bain] must be currently turned on.", "action": "Turns off the switch wall salle de bain light [light.switch_wall_salle_de_bain]." }, "human_like": "Automatically turns off the bathroom light when no motion is detected.", "complexity": "low" } }, { "id": "auto_turn_on_toilette", "result": { "structured": "TRIGGER: When pir wc sensor [binary_sensor.pir_wc] changes to on (motion detected). CONDITIONS: switch wall toilette light [light.switch_wall_toilette] is off. ACTIONS: Turn on switch wall toilette light [light.switch_wall_toilette].", "natural_language": { "trigger": "When motion is detected by the pir wc sensor [binary_sensor.pir_wc].", "conditions": "The switch wall toilette light [light.switch_wall_toilette] must be off.", "action": "Turn on the switch wall toilette light [light.switch_wall_toilette]." }, "human_like": "Automatically turns on the toilet light when motion is detected and the light is off.", "complexity": "low" } }, { "id": "auto_turn_off_toilette", "result": { "structured": "TRIGGER: When pir wc sensor [binary_sensor.pir_wc] changes to off. CONDITIONS: switch wall toilette light [light.switch_wall_toilette] is on. ACTIONS: Turn off switch wall toilette light [light.switch_wall_toilette].", "natural_language": { "trigger": "When the motion sensor in the toilet (pir wc sensor [binary_sensor.pir_wc]) stops detecting motion.", "conditions": "The toilet light (switch wall toilette light [light.switch_wall_toilette]) must be currently turned on.", "action": "Turns off the toilet light (switch wall toilette light [light.switch_wall_toilette])." }, "human_like": "Automatically turns off the toilet light when no motion is detected.", "complexity": "low" } }, { "id": "'1309195316329'", "result": { "structured": "TRIGGER: When a lovelace_updated event occurs. CONDITIONS: None. ACTIONS: Repeat the following sequence 5 times: wait 0.5 seconds, then send a browser_mod notification with a blank message that lasts for 1 second.", "natural_language": { "trigger": "Whenever the Lovelace user interface is updated.", "conditions": "There are no conditions that must be met.", "action": "Five times in a row, the automation will wait half a second and then show a blank notification for one second via the browser_mod service." }, "human_like": "Dismisses a Lovelace update notification by briefly showing a blank pop-up five times.", "complexity": "low" } }, { "id": "'7958228563778'", "result": { "structured": "TRIGGER: When hass release notes sensor [sensor.hass_release_notes] OR hass release notes beta sensor [sensor.hass_release_notes_beta] changes state. CONDITIONS: The template updates sensor [sensor.template_updates] attribute 'home_assistant' equals 1. ACTIONS: First, update the entities hass release notes sensor [sensor.hass_release_notes] and hass release notes beta sensor [sensor.hass_release_notes_beta]. Then, wait for 15 minutes. Finally, send a notification via oneplus12 mobile app [notify.mobile_app_oneplus12] with a title based on the current version sensor [sensor.current_version] and hass release notes sensor [sensor.hass_release_notes] state, and a message prompting to hold for an update, including an action button to start the Home Assistant update and a link to the release notes.", "natural_language": { "trigger": "When either the hass release notes sensor [sensor.hass_release_notes] or the hass release notes beta sensor [sensor.hass_release_notes_beta] changes its state.", "conditions": "If the 'home_assistant' attribute of the template updates sensor [sensor.template_updates] is equal to 1, indicating an update is available.", "action": "The automation first refreshes the data for both the hass release notes sensor [sensor.hass_release_notes] and the hass release notes beta sensor [sensor.hass_release_notes_beta]. After a 15-minute delay, it sends a notification to the oneplus12 mobile app [notify.mobile_app_oneplus12]. The notification title announces the availability of a new Home Assistant release (using the current version sensor [sensor.current_version] to determine if it's a beta) and includes a party emoji. The message instructs the user to hold to update, and the notification contains a button to start the update and a link to the full release notes." }, "human_like": "Sends a mobile notification to prompt updating Home Assistant when a new release is detected, after a short delay.", "complexity": "medium" } }, { "id": "0694774018396", "result": { "structured": "TRIGGER: When a mobile app notification action event occurs with action START_HA_UPDATE. CONDITIONS: None. ACTIONS: Install the update for home assistant core update [update.home_assistant_core_update] with backup enabled.", "natural_language": { "trigger": "When a user taps the 'START_HA_UPDATE' action button on a notification sent to the Home Assistant mobile app.", "conditions": "There are no conditions that must be met.", "action": "Starts the installation of the available Home Assistant core update for home assistant core update [update.home_assistant_core_update], creating a backup before proceeding." }, "human_like": "Starts a Home Assistant core update from a mobile app notification button press, ensuring a backup is created first.", "complexity": "low" } }, { "id": "notify_away_windows_open", "result": { "structured": "TRIGGER: When kaoru person [person.kaoru] changes state from home to not_home OR when papa person [person.papa] changes state from home to not_home. CONDITIONS: (kaoru person [person.kaoru] is not_home AND papa person [papa person] is not_home) AND (at least one binary sensor with entity_id matching the pattern 'binary_sensor.fenetre_' has state on). ACTIONS: Send a notification to phone mobile app [notify.mobile_app_phone] with a title 'Attention fenêtre encore ouverte ⚠️' and a message listing the names of all open windows (derived from the matching binary sensor entity IDs).", "natural_language": { "trigger": "When either kaoru person [person.kaoru] or papa person [person.papa] leaves home, changing their state from home to not_home.", "conditions": "Both kaoru person [person.kaoru] and papa person [person.papa] must be away (state not_home), and at least one window sensor (any binary sensor whose entity ID starts with 'binary_sensor.fenetre_') must report being open (state on).", "action": "Sends a notification to the phone mobile app [notify.mobile_app_phone] with a warning title and a message that lists the specific windows that are open, using a formatted list of their names." }, "human_like": "Sends a phone notification if any windows are left open when everyone has left the house.", "complexity": "medium" } }, { "id": "notify_rainy_windows_open", "result": { "structured": "TRIGGER: When meteo france next rain sensor [sensor.meteo_france_next_rain] changes state from 'unknown' to any other state. CONDITIONS: At least one binary sensor whose entity_id matches the pattern '^binary_sensor\\.fenetre_' is currently open (state 'on'). ACTIONS: Send a notification to phone mobile app [notify.mobile_app_phone] with the title 'Il va pleuvoir 🌧️' and a message listing the names of all open windows (derived from the matching binary sensor entity_ids).", "natural_language": { "trigger": "When the meteo france next rain sensor [sensor.meteo_france_next_rain] transitions from an 'unknown' state to any other state, indicating a forecast update.", "conditions": "The automation only proceeds if at least one window sensor (any binary sensor whose entity ID starts with 'binary_sensor.fenetre_') reports being open.", "action": "Sends a notification to the user's phone [notify.mobile_app_phone] with a title warning of rain and a message that lists which specific windows are currently open." }, "human_like": "Sends a phone notification when rain is forecast and any windows are detected as open.", "complexity": "medium" } }, { "id": "notify_low_battery", "result": { "structured": "TRIGGER: At 07:00:00 daily. CONDITIONS: At least one sensor entity with an entity_id matching the pattern '^sensor\\..*_batterie' has a numeric state value less than 10. ACTIONS: Send a notification to oneplus12 mobile app [notify.mobile_app_oneplus12] with a title and message. The title is 'Batterie faible 🪫⚠️' if exactly one matching low battery sensor is found, otherwise 'Batteries faibles 🪫⚠️'. The message lists the names of all matching low battery sensors, formatted from their entity_ids (removing 'sensor.' and 'batterie', replacing underscores with spaces, and capitalizing). If only one sensor is low, the message states 'La batterie [sensor name] est inférieure à 10%.' If multiple are low, it lists them as 'Les batteries sont inférieures à 10% :' followed by a bulleted list.", "natural_language": { "trigger": "The automation runs every day at 7:00 AM.", "conditions": "The automation checks if there are any battery sensors (entities with IDs matching the pattern 'sensor.*_batterie') that currently report a battery level below 10%.", "action": "If the condition is met, a notification is sent to the oneplus12 mobile app [notify.mobile_app_oneplus12]. The notification's title and message are dynamically generated. The title indicates a single 'Batterie faible' or multiple 'Batteries faibles'. The message lists the friendly names of all devices with low batteries, formatted for readability, and states that their battery is below 10%." }, "human_like": "Sends a morning notification to your phone if any device batteries are below 10%, listing the affected devices.", "complexity": "medium" } }, { "id": "turn_off_gps_home_absence", "result": { "structured": "TRIGGER: When kaoru person [person.kaoru] changes from home to not_home OR when papa person [person.papa] changes from home to not_home. CONDITIONS: kaoru person [person.kaoru] is not_home AND papa person [person.papa] is not_home. ACTIONS: Turn off maison light [light.maison], turn off samsung tv salon media player [media_player.samsung_tv_salon], and turn off samsung tv papa media player [media_player.samsung_tv_papa].", "natural_language": { "trigger": "When either kaoru person [person.kaoru] or papa person [person.papa] leaves home, changing their state from home to not_home.", "conditions": "Both kaoru person [person.kaoru] and papa person [person.papa] must be away from home, with their state set to not_home.", "action": "Turn off the main house lights [light.maison], the living room TV [media_player.samsung_tv_salon], and another TV [media_player.samsung_tv_papa]." }, "human_like": "Turns off the house lights and TVs when both residents have left home.", "complexity": "medium" } }, { "id": "turn_off_gps_papa_absence", "result": { "structured": "TRIGGER: When papa person [person.papa] changes state from home to not_home. CONDITIONS: papa person [person.papa] is not_home AND computer papa switch [switch.computer_papa] is on. ACTIONS: Turn off computer papa switch [switch.computer_papa], turn off samsung tv papa media player [media_player.samsung_tv_papa], and turn off switch wall chambre papa light [light.switch_wall_chambre_papa].", "natural_language": { "trigger": "When papa person [person.papa] leaves home, changing their state from home to not_home.", "conditions": "Papa person [person.papa] is currently not at home, and the computer papa switch [switch.computer_papa] is turned on.", "action": "Turn off the computer papa switch [switch.computer_papa], turn off the samsung tv papa media player [media_player.samsung_tv_papa], and turn off the switch wall chambre papa light [light.switch_wall_chambre_papa]." }, "human_like": "Turns off Papa's computer, TV, and bedroom light when he leaves home, provided his computer was on.", "complexity": "low" } }, { "id": "turn_off_gps_william_absence", "result": { "structured": "TRIGGER: When kaoru person [person.kaoru] changes state from home to not_home. CONDITIONS: kaoru person [person.kaoru] is not_home. ACTIONS: Turn off xiaomi smart fan [fan.xiaomi_smart_fan_2] AND Turn off chambre light [light.chambre].", "natural_language": { "trigger": "When the person kaoru [person.kaoru] leaves home, changing their state from 'home' to 'not_home'.", "conditions": "The automation only proceeds if kaoru [person.kaoru] is confirmed to be in a 'not_home' state.", "action": "Turns off the xiaomi smart fan [fan.xiaomi_smart_fan_2] and the chambre light [light.chambre]." }, "human_like": "Turns off the bedroom fan and light when Kaoru leaves home.", "complexity": "low" } }, { "id": "set_auto_off_smart_plug_spare", "result": { "structured": "TRIGGER: When smart plug spare switch [switch.smart_plug_spare_switch] turns on OR When smart plug spare duration input [input_number.smart_plug_spare_duration] changes state. CONDITIONS: None. ACTIONS: Set smart plug spare auto off input [input_datetime.smart_plug_spare_auto_off] to the current time plus the number of minutes specified by the value of smart plug spare duration input [input_number.smart_plug_spare_duration].", "natural_language": { "trigger": "When the smart plug spare switch [switch.smart_plug_spare_switch] is turned on, or when the smart plug spare duration input [input_number.smart_plug_spare_duration] is changed.", "conditions": "There are no conditions for this automation.", "action": "Updates the smart plug spare auto off input [input_datetime.smart_plug_spare_auto_off] to a future time, calculated by adding the number of minutes from the smart plug spare duration input [input_number.smart_plug_spare_duration] to the current time." }, "human_like": "Automatically schedules a future auto-off time for the spare smart plug whenever it is turned on or its timer duration is adjusted.", "complexity": "low" } }, { "id": "turn_off_smart_plug_spare_switch", "result": { "structured": "TRIGGER: When the time reaches the value set in smart plug spare auto off input [input_datetime.smart_plug_spare_auto_off]. CONDITIONS: smart plug spare switch [switch.smart_plug_spare_switch] is on. ACTIONS: Turn off smart plug spare switch [switch.smart_plug_spare_switch].", "natural_language": { "trigger": "At the specific time set in the smart plug spare auto off input [input_datetime.smart_plug_spare_auto_off].", "conditions": "The smart plug spare switch [switch.smart_plug_spare_switch] must be currently turned on.", "action": "Turns off the smart plug spare switch [switch.smart_plug_spare_switch]." }, "human_like": "Automatically turns off a spare smart plug at a scheduled time if it is on.", "complexity": "low" } } ]