AutomationDataset/to4ko/automation-descriptions.json

4617 lines
518 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[
{
"id": "system_set_radio_volume",
"result": {
"structured": "TRIGGER: When radio volume [input_number.volume_radio] changes state. CONDITIONS: None. ACTIONS: Set the volume of a media player based on the value of chromecast radio [input_select.chromecast_radio]. If chromecast radio [input_select.chromecast_radio] is 'Kitchen', set volume for yandex kitchen [media_player.yandex_k]. If chromecast radio [input_select.chromecast_radio] is 'Vova room', set volume for yandex vova room [media_player.yandex_v]. If chromecast radio [input_select.chromecast_radio] is 'Sasha room', set volume for yandex sasha room [media_player.yandex_s]. If chromecast radio [input_select.chromecast_radio] is 'Master Bedroom', set volume for yandex master bedroom [media_player.yandex_mb]. If chromecast radio [input_select.chromecast_radio] is 'Hall big', set volume for yandex hall big [media_player.yandex_hb]. The volume level is set to the current numeric value of radio volume [input_number.volume_radio].",
"natural_language": {
"trigger": "Whenever the radio volume [input_number.volume_radio] is adjusted.",
"conditions": "There are no conditions that must be met.",
"action": "The automation sets the volume of a specific Yandex smart speaker based on which room is currently selected in the chromecast radio [input_select.chromecast_radio] dropdown. It maps the selection to the corresponding media player entity and applies the volume level from the radio volume [input_number.volume_radio] slider."
},
"human_like": "Syncs the volume of the selected room's smart speaker to the master radio volume control.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_breather_auto_co2",
"result": {
"structured": "TRIGGER: Every 3 minutes (time pattern). CONDITIONS: system breather auto mb [switch.system_breather_auto_mb] is on AND system breather manual mb [switch.system_breather_manual_mb] is NOT on. ACTIONS: Choose the first matching sequence: 1. IF contact sensor 1 [binary_sensor.0x00158d000200ad58_contact] is off AND co2 sensor mb [sensor.esp32_node_mb_co2] is above co2 high limit [input_number.co2_high_limit] AND breather mb binary [binary_sensor.breather_mb] is off AND system security mode [switch.system_security_mode] is off AND temperature sensor 1 [sensor.0x00158d000222c746_temperature] is above 20 THEN turn on breather mb fan [fan.breather_mb] AND IF co2 sensor mb [sensor.esp32_node_mb_co2] is above co2 high limit [input_number.co2_high_limit] AND system breather auto speed mb [switch.system_breather_auto_speed_mb] is on THEN set breather mb fan [fan.breather_mb] percentage to breather set speed mb [sensor.breather_set_speed_mb] value. 2. IF contact sensor 1 [binary_sensor.0x00158d000200ad58_contact] is off AND co2 sensor mb [sensor.esp32_node_mb_co2] is above co2 high limit [input_number.co2_high_limit] AND breather mb binary [binary_sensor.breather_mb] is on AND system security mode [switch.system_security_mode] is off AND system breather auto speed mb [switch.system_breather_auto_speed_mb] is on AND breather set speed mb [sensor.breather_set_speed_mb] is above 0 THEN set breather mb fan [fan.breather_mb] percentage to breather set speed mb [sensor.breather_set_speed_mb] value. 3. IF ((contact sensor 1 [binary_sensor.0x00158d000200ad58_contact] is off AND co2 sensor mb [sensor.esp32_node_mb_co2] is below co2 low limit [input_number.co2_low_limit] AND breather mb binary [binary_sensor.breather_mb] is on) OR ((temperature sensor 1 [sensor.0x00158d000222c746_temperature] is below 20 OR contact sensor 1 [binary_sensor.0x00158d000200ad58_contact] is on) AND breather mb binary [binary_sensor.breather_mb] is on)) THEN turn off breather mb fan [fan.breather_mb].",
"natural_language": {
"trigger": "The automation runs every three minutes.",
"conditions": "The system breather auto mb [switch.system_breather_auto_mb] must be on, and the system breather manual mb [switch.system_breather_manual_mb] must not be on.",
"action": "Depending on the state of the room, the automation will perform one of three actions. First, if the window is closed, CO2 is high, the breather fan is off, the security system is disarmed, and the temperature is above 20°C, it will turn on the breather fan and then, if CO2 remains high and auto-speed is enabled, set the fan to a specific speed. Second, if the window is closed, CO2 is high, the breather fan is already on, security is disarmed, auto-speed is enabled, and the target speed is above zero, it will adjust the fan to that target speed. Third, if the window is closed and CO2 is low while the fan is on, or if the temperature is too low or the window is open while the fan is on, it will turn the breather fan off."
},
"human_like": "Automatically controls the master bedroom ventilation fan based on CO2 levels, window status, temperature, and security mode to maintain air quality.",
"complexity": "high"
}
},
{
"id": "master_bedroom_breather_auto_timer",
"result": {
"structured": "TRIGGER: When a Yandex intent event with text 'Выключи вентиляцию' occurs OR When a Yandex intent event with text 'Включи вентиляцию' occurs OR When the time is 09:00:00. CONDITIONS: The automation's own entity has an attribute 'current' equal to 0. ACTIONS: If triggered by the 'Выключи вентиляцию' intent AND the intent originated from yandex master bedroom [media_player.yandex_mb], then if breather mb binary [binary_sensor.breather_mb] is on, turn off breather mb fan [fan.breather_mb], and then turn on system breather auto mb [switch.system_breather_auto_mb]. If triggered by the 'Включи вентиляцию' intent AND the intent originated from yandex master bedroom [media_player.yandex_mb], then if breather mb binary [binary_sensor.breather_mb] is off, turn on breather mb fan [fan.breather_mb] and turn on system breather manual mb [switch.system_breather_manual_mb]. If triggered by the time trigger 'time_trigger_night' (Note: This trigger is defined in the automation but not in the provided triggers list, so it is assumed to exist), then turn on system breather manual mb [switch.system_breather_manual_mb] and set breather mb fan [fan.breather_mb] percentage to 50. If triggered by the time trigger at 09:00:00, then turn off breather mb fan [fan.breather_mb].",
"natural_language": {
"trigger": "The automation can be triggered in three ways: by a voice command to a Yandex device saying 'Выключи вентиляцию' (turn off ventilation), by a voice command saying 'Включи вентиляцию' (turn on ventilation), or at a scheduled time of 09:00:00 each day.",
"conditions": "The automation only runs if the automation's own entity has an attribute named 'current' with a value of 0.",
"action": "Depending on the trigger, different actions are taken. For the 'turn off' voice command, if the command came from the yandex master bedroom [media_player.yandex_mb] and the breather mb binary [binary_sensor.breather_mb] is on, the fan is turned off and the auto mode switch is turned on. For the 'turn on' voice command, if the command came from the yandex master bedroom [media_player.yandex_mb] and the breather mb binary [binary_sensor.breather_mb] is off, the fan is turned on and the manual mode switch is turned on. For a night time trigger (time_trigger_night), the manual mode switch is turned on and the fan speed is set to 50%. For the 09:00:00 trigger, the fan is simply turned off."
},
"human_like": "This automation controls the master bedroom ventilation fan based on voice commands or a schedule, switching between manual and automatic modes.",
"complexity": "high"
}
},
{
"id": "master_bedroom_breather_switches_interlock",
"result": {
"structured": "TRIGGER: When system breather auto mb [switch.system_breather_auto_mb] OR system breather manual mb [switch.system_breather_manual_mb] changes state. CONDITIONS: (The new state after the trigger is 'on') AND (The attribute 'current' of the triggering entity is 0). ACTIONS: Turn off the other breather switch: if the triggering entity was system breather auto mb [switch.system_breather_auto_mb], then turn off system breather manual mb [switch.system_breather_manual_mb]; otherwise, turn off system breather auto mb [switch.system_breather_auto_mb].",
"natural_language": {
"trigger": "Whenever either the system breather auto mb [switch.system_breather_auto_mb] or the system breather manual mb [switch.system_breather_manual_mb] changes its state.",
"conditions": "The switch that changed must have been turned on, and its 'current' attribute must be 0.",
"action": "Turn off the other breather switch. If the system breather auto mb [switch.system_breather_auto_mb] was the one that turned on, then turn off the system breather manual mb [switch.system_breather_manual_mb]. Conversely, if the system breather manual mb [switch.system_breather_manual_mb] was the one that turned on, then turn off the system breather auto mb [switch.system_breather_auto_mb]."
},
"human_like": "Ensures only one of the two master bedroom breather switches can be on at a time by automatically turning off the other when one is turned on.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_breather_switches_default",
"result": {
"structured": "TRIGGER: When system breather auto mb [switch.system_breather_auto_mb] is off AND system breather manual mb [switch.system_breather_manual_mb] is off. CONDITIONS: The current attribute of the trigger entity (this.entity_id) equals 0. ACTIONS: Turn on system breather auto mb [switch.system_breather_auto_mb].",
"natural_language": {
"trigger": "When both the system breather auto mb [switch.system_breather_auto_mb] and the system breather manual mb [switch.system_breather_manual_mb] are turned off.",
"conditions": "The current attribute of the entity that triggered this automation must be equal to 0.",
"action": "Turns on the system breather auto mb [switch.system_breather_auto_mb] switch."
},
"human_like": "Ensures the master bedroom's automatic breather is turned on if both the auto and manual breather switches are off and a specific condition is met.",
"complexity": "medium"
}
},
{
"id": "system_calendar_events_to_list",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR at midnight (00:00:00). ACTIONS: 1. Set calendar events list [input_select.calendar_events_list] options to 'Нет событий'. 2. Fire event 'calendar_event_list_updated'. 3. Run script.calendar_events for calendar dima [calendar.dima_tsymbal_gmail_com] with parameters make_choice: true, choice_word: день рождения, and store result in variable 'events'. 4. IF events length > 0 THEN set calendar events list [input_select.calendar_events_list] options to the unique concatenation of its current options and the new event values, THEN fire event 'calendar_event_list_updated'. 5. Run script.calendar_events for calendar prazdniki rossii [calendar.prazdniki_rossii_polnyi] and store result in variable 'events'. 6. IF events length > 0 THEN set calendar events list [input_select.calendar_events_list] options to the unique concatenation of its current options and the new event values, THEN fire event 'calendar_event_list_updated'.",
"natural_language": {
"trigger": "The automation runs when Home Assistant first starts up or at midnight every day.",
"conditions": "There are no explicit conditions for the main flow. However, conditional checks are performed on the results of script executions. After fetching events from each calendar, the automation only updates the list if events were actually found.",
"action": "The automation first resets the calendar events list [input_select.calendar_events_list] to show 'Нет событий' (No events) and signals that the list has been updated. It then fetches events from the personal calendar dima [calendar.dima_tsymbal_gmail_com], specifically looking for events containing the phrase 'день рождения' (birthday). If any such events are found, they are added to the list. Next, it fetches events from the public holidays calendar prazdniki rossii [calendar.prazdniki_rossii_polnyi]. If events are found, they are also added to the list. After each successful update, a notification event is fired. The list is built by merging all unique event names."
},
"human_like": "This automation builds a combined list of today's birthdays and Russian holidays by checking two calendars at startup and every midnight.",
"complexity": "medium"
}
},
{
"id": "system_snapshot_window",
"result": {
"structured": "TRIGGER: When window motion [binary_sensor.g5_bullet_window_motion] changes from off to on. CONDITIONS: The time since the automation system_snapshot_window [automation.system_snapshot_window] was last triggered is greater than 10 seconds. ACTIONS: Send a Telegram notification to telegram_cam with a photo from http://localhost:1984/api/frame.jpeg?src=g5_window, captioned with a camera emoji, 'Window', the current time from time [sensor.time], and the current date from date [sensor.date].",
"natural_language": {
"trigger": "When the window motion sensor [binary_sensor.g5_bullet_window_motion] detects motion, changing its state from off to on.",
"conditions": "This automation will only run if it has been at least 10 seconds since it was last triggered.",
"action": "Sends a notification via Telegram, including a photo from the window camera feed, with a caption showing the current time and date."
},
"human_like": "Sends a photo notification to Telegram when motion is detected at the window, but only if it hasn't been triggered in the last 10 seconds.",
"complexity": "low"
}
},
{
"id": "system_snapshot_yard",
"result": {
"structured": "TRIGGER: When yard motion [binary_sensor.g5_bullet_yard_motion] changes from off to on. CONDITIONS: The time elapsed since the last trigger of this automation (system_snapshot_yard) is greater than 10 seconds. ACTIONS: Send a Telegram notification with a photo from the yard camera, including the current time [sensor.time] and date [sensor.date].",
"natural_language": {
"trigger": "When motion is first detected in the yard, indicated by the yard motion [binary_sensor.g5_bullet_yard_motion] sensor turning on.",
"conditions": "This automation will only run if it has not been triggered in the last 10 seconds, preventing rapid, repeated notifications.",
"action": "Sends a photo from the yard camera via a Telegram notification, with a caption showing the current time [sensor.time] and date [sensor.date]."
},
"human_like": "Sends a snapshot from the yard camera to Telegram when motion is detected, but not more often than every 10 seconds.",
"complexity": "low"
}
},
{
"id": "system_snapshot_dixy",
"result": {
"structured": "TRIGGER: When dixy motion [binary_sensor.g5_turret_dixy_motion] changes from off to on. CONDITIONS: The time since automation.system_snapshot_dixy was last triggered is greater than 10 seconds. ACTIONS: Send a Telegram notification with a photo from a camera stream and a caption containing the current time [sensor.time] and date [sensor.date].",
"natural_language": {
"trigger": "When the dixy motion sensor [binary_sensor.g5_turret_dixy_motion] detects motion, changing its state from off to on.",
"conditions": "This automation will only run if it has been at least 10 seconds since it was last triggered.",
"action": "Sends a photo from a specified camera stream via a Telegram notification. The photo's caption includes the current time [sensor.time] and date [sensor.date]."
},
"human_like": "Sends a snapshot to Telegram when motion is detected outside, but only if it hasn't been triggered in the last 10 seconds.",
"complexity": "low"
}
},
{
"id": "system_snapshot_street",
"result": {
"structured": "TRIGGER: When street motion [binary_sensor.g5_turret_street_motion] changes from off to on. CONDITIONS: The time elapsed since the automation system_snapshot_street was last triggered is greater than 10 seconds. ACTIONS: Send a Telegram notification to telegram_cam with a photo from the URL 'http://localhost:1984/api/frame.jpeg?src=g5_street' and a caption containing the current time [sensor.time] and date [sensor.date].",
"natural_language": {
"trigger": "When motion is first detected by the street motion [binary_sensor.g5_turret_street_motion] sensor.",
"conditions": "This automation will only run if at least 10 seconds have passed since it was last triggered.",
"action": "Sends a photo of the street to a Telegram chat, along with a caption showing the current time [sensor.time] and date [sensor.date]."
},
"human_like": "Sends a snapshot of the street to Telegram when motion is detected, but only if it hasn't been triggered in the last 10 seconds.",
"complexity": "low"
}
},
{
"id": "system_snaphot_outside",
"result": {
"structured": "TRIGGER: When doorbell motion [binary_sensor.g4_doorbell_motion] changes from off to on. CONDITIONS: The time elapsed since the automation system_snaphot_outside [automation.system_snaphot_outside] was last triggered is greater than 15 seconds. ACTIONS: Send a notification to telegram_cam with a photo from the doorbell camera and a caption containing the current time [sensor.time] and date [sensor.date].",
"natural_language": {
"trigger": "When motion is detected by the doorbell motion sensor [binary_sensor.g4_doorbell_motion].",
"conditions": "This automation will only run if it has not been triggered in the last 15 seconds.",
"action": "Sends a Telegram notification with a photo from the doorbell camera, labelled with the current time [sensor.time] and date [sensor.date]."
},
"human_like": "Sends a snapshot from the doorbell camera to Telegram when motion is detected, but only if it hasn't sent one in the last 15 seconds.",
"complexity": "low"
}
},
{
"id": "hall_big_domofon_incoming_call",
"result": {
"structured": "TRIGGER: When domofon incoming call [binary_sensor.esp32_domofon_incomingcall] changes from off to on. CONDITIONS: (system silent mode [switch.system_silent_mode] is on) OR (esp32 domofon mute [switch.esp32_domofon_mute] is on). ACTIONS: Turn on kiosk screen [switch.kiosk_screen] AND send a Telegram notification with a photo from 'g5_window' and a caption including the time and date AND send a Telegram notification to 'telegram_cam' with a photo from 'g5_window' and a caption including the time and date AND if person sasha [person.sasha] is home, send a Synochat notification with the photo. Then, turn on esp32 node k led [light.esp32_node_k_led] with effect 'Green_Alarm' and brightness 255. Wait 20 seconds. Turn off esp32 node k led [light.esp32_node_k_led].",
"natural_language": {
"trigger": "When the domofon incoming call [binary_sensor.esp32_domofon_incomingcall] changes from off to on, indicating a call at the intercom.",
"conditions": "The automation checks if either the system silent mode [switch.system_silent_mode] is turned on, or the esp32 domofon mute [switch.esp32_domofon_mute] is turned on.",
"action": "The automation performs several actions in parallel: it turns on the kiosk screen [switch.kiosk_screen], sends a Telegram notification with a photo from the camera feed 'g5_window' and a caption showing the current time and date, and sends a similar notification to a second Telegram endpoint. If person sasha [person.sasha] is home, it also sends a notification via Synochat with the same photo. After these parallel actions, it turns on the esp32 node k led [light.esp32_node_k_led] with a green alarm effect at full brightness, waits for 20 seconds, and then turns the light off."
},
"human_like": "When someone rings the door intercom, it turns on a screen, sends photo notifications, and flashes a green light, unless the system is in silent or mute mode.",
"complexity": "medium"
}
},
{
"id": "hall_big_domofon_open_from_iphone",
"result": {
"structured": "TRIGGER: When a mobile app notification action event with service 'Domofon_Open' is received. CONDITIONS: None. ACTIONS: Turn on esp32 domofon open [switch.esp32_domofon_open] AND send a Telegram notification with the message '🔘 Домофон открыт с телефона'.",
"natural_language": {
"trigger": "When a specific action, 'Domofon_Open', is performed from a mobile app notification.",
"conditions": "There are no conditions that must be met for this automation to run.",
"action": "Opens the door by turning on the esp32 domofon open [switch.esp32_domofon_open] switch and sends a confirmation message to Telegram."
},
"human_like": "Opens the door from a phone notification and sends a confirmation message.",
"complexity": "low"
}
},
{
"id": "hall_big_domofon_auto_message",
"result": {
"structured": "TRIGGER: When esp32 domofon auto opening [binary_sensor.esp32_domofon_auto_opening] changes from off to on. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '📞 Домофон открыт автоматически'.",
"natural_language": {
"trigger": "When the esp32 domofon auto opening [binary_sensor.esp32_domofon_auto_opening] sensor changes state from off to on.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram notification with the message '📞 Домофон открыт автоматически' (Doorphone opened automatically)."
},
"human_like": "Sends a Telegram notification when the doorphone is opened automatically.",
"complexity": "low"
}
},
{
"id": "hall_big_domofon_auto_opening",
"result": {
"structured": "TRIGGER: When esp32 domofon auto open [switch.esp32_domofon_auto_open] OR esp32 domofon auto open once [switch.esp32_domofon_auto_open_once] changes state. CONDITIONS: (The trigger state change is valid, meaning the from_state and to_state are not 'unknown', 'unavailable', or 'none', AND the to_state equals the from_state) AND (The current attribute of the triggering entity equals 0). ACTIONS: Send a Telegram notification with a message indicating whether auto-opening is enabled or disabled, based on the state of the switches and which entity triggered the automation.",
"natural_language": {
"trigger": "When either the esp32 domofon auto open [switch.esp32_domofon_auto_open] or the esp32 domofon auto open once [switch.esp32_domofon_auto_open_once] switch changes its state.",
"conditions": "The state change must be valid, meaning the previous and new states are not 'unknown', 'unavailable', or 'none', and the new state is the same as the previous state. Additionally, the 'current' attribute of the entity that triggered the automation must be set to 0.",
"action": "Sends a Telegram notification with a lock emoji and a message stating whether the doorphone auto-opening feature is enabled (regular or one-time) or disabled, depending on which switch triggered the automation and its current state."
},
"human_like": "Sends a Telegram notification to confirm the status of the doorphone auto-opening feature whenever the relevant switches are toggled.",
"complexity": "medium"
}
},
{
"id": "hall_big_domofon_timer_on",
"result": {
"structured": "TRIGGER: When esp32 domofon auto open [switch.esp32_domofon_auto_open] is on OR esp32 domofon auto open once [switch.esp32_domofon_auto_open_once] is on. CONDITIONS: None. ACTIONS: Cancel timer domofon [timer.domofon] AND start timer domofon [timer.domofon].",
"natural_language": {
"trigger": "When either the esp32 domofon auto open [switch.esp32_domofon_auto_open] or the esp32 domofon auto open once [switch.esp32_domofon_auto_open_once] is turned on.",
"conditions": "There are no conditions for this automation.",
"action": "Cancels the timer domofon [timer.domofon] and then immediately starts it again."
},
"human_like": "Restarts the doorbell timer whenever an automatic door opening feature is activated.",
"complexity": "low"
}
},
{
"id": "hall_big_domofon_auto_open_turn_off",
"result": {
"structured": "TRIGGER: When timer domofon [timer.domofon] finishes. CONDITIONS: None. ACTIONS: Turn off esp32 domofon auto open [switch.esp32_domofon_auto_open], esp32 domofon auto open once [switch.esp32_domofon_auto_open_once], and esp32 domofon mute [switch.esp32_domofon_mute].",
"natural_language": {
"trigger": "When the timer domofon [timer.domofon] finishes.",
"conditions": "There are no conditions.",
"action": "Turns off the esp32 domofon auto open [switch.esp32_domofon_auto_open], esp32 domofon auto open once [switch.esp32_domofon_auto_open_once], and esp32 domofon mute [switch.esp32_domofon_mute] switches."
},
"human_like": "Turns off the intercom auto-open and mute features when a timer finishes.",
"complexity": "low"
}
},
{
"id": "hall_big_domofon_timer_off",
"result": {
"structured": "TRIGGER: When the template condition evaluates to true, specifically when esp32 domofon auto open [switch.esp32_domofon_auto_open] is NOT on AND esp32 domofon auto open once [switch.esp32_domofon_auto_open_once] is NOT on. CONDITIONS: None. ACTIONS: Cancel timer domofon [timer.domofon].",
"natural_language": {
"trigger": "When neither the 'esp32 domofon auto open' [switch.esp32_domofon_auto_open] nor the 'esp32 domofon auto open once' [switch.esp32_domofon_auto_open_once] switch is turned on.",
"conditions": "There are no additional conditions.",
"action": "Cancels the 'timer domofon' [timer.domofon]."
},
"human_like": "Cancels the doorbell timer when automatic door opening features are disabled.",
"complexity": "low"
}
},
{
"id": "hall_big_domofon_button",
"result": {
"structured": "TRIGGER: When esp32 domofon button [binary_sensor.esp32_domofon_button] changes from off to on. CONDITIONS: None. ACTIONS: Turn on kiosk screen [switch.kiosk_screen] AND send a photo via Telegram to secret tel_chat_id [secret tel_chat_id] with the URL http://localhost:1984/api/frame.jpeg?src=g5_entrance, caption '🔘 Домофон открыт вручную', and a timeout of 180 seconds.",
"natural_language": {
"trigger": "When the esp32 domofon button [binary_sensor.esp32_domofon_button] is pressed, changing its state from off to on.",
"conditions": "There are no conditions; the automation runs immediately when triggered.",
"action": "Turns on the kiosk screen [switch.kiosk_screen] and sends a photo notification to a Telegram chat [secret tel_chat_id] with an image from the entrance camera and a caption indicating the door intercom was opened manually."
},
"human_like": "When the door intercom button is pressed, it turns on a screen and sends a photo notification to Telegram.",
"complexity": "low"
}
},
{
"id": "hall_big_doorbell",
"result": {
"structured": "TRIGGER: When g4 doorbell doorbell [binary_sensor.g4_doorbell_doorbell] changes from off to on. CONDITIONS: The time elapsed since automation hall_big_doorbell [automation.hall_big_doorbell] was last triggered is greater than 10 seconds. ACTIONS: 1. Turn on kiosk screen [switch.kiosk_screen]. 2. In parallel: a. Send a Telegram notification with a photo from the doorbell camera and a caption including the current time and date. b. If person sasha [person.sasha] is home, send a notification to Hass Synochat with the same photo. 3. In parallel: Turn on light bar s ambilight [light.light_bar_s_ambilight] with effect 'Police' and brightness 255 AND turn on esp32 node k led [light.esp32_node_k_led] with effect 'Green_Alarm' and brightness 255. 4. Wait for 25 seconds. 5. Wait for either Contact Sensor 582d344031f7 [binary_sensor.582d344031f7_contact] OR main door contact [binary_sensor.0x00158d0001e5d6be_contact] to change from on to off, with a timeout of 30 seconds. Continue regardless of timeout. 6. Turn off esp32 node k led [light.esp32_node_k_led] AND light bar s ambilight [light.light_bar_s_ambilight].",
"natural_language": {
"trigger": "When the g4 doorbell doorbell [binary_sensor.g4_doorbell_doorbell] is pressed, changing its state from off to on.",
"conditions": "This automation will only run if it has not been triggered in the last 10 seconds, preventing rapid repeated activations.",
"action": "First, the kiosk screen [switch.kiosk_screen] is turned on. Then, two actions happen simultaneously: a photo from the doorbell camera is sent via a Telegram notification with a message and the current time and date, and if person sasha [person.sasha] is at home, a similar notification with the photo is sent to Hass Synochat. Next, two lights are turned on with specific effects: the light bar s ambilight [light.light_bar_s_ambilight] with a 'Police' effect and the esp32 node k led [light.esp32_node_k_led] with a 'Green_Alarm' effect, both at full brightness. After a 25-second delay, the automation waits for either the Contact Sensor 582d344031f7 [binary_sensor.582d344031f7_contact] or the main door contact [binary_sensor.0x00158d0001e5d6be_contact] to open (change from on to off), waiting up to 30 seconds. Whether the door opens or the wait times out, the automation proceeds to turn off both the esp32 node k led [light.esp32_node_k_led] and the light bar s ambilight [light.light_bar_s_ambilight]."
},
"human_like": "When the doorbell rings, it turns on a screen, sends photo alerts to your phone and chat, flashes lights with alarm effects, and then turns the lights off after a delay or when a door is opened.",
"complexity": "high"
}
},
{
"id": "emergency_backup",
"result": {
"structured": "TRIGGER: When hass backup ping [binary_sensor.hass_backup_ping] changes state OR When hass backup state [binary_sensor.hass_backup_state] changes state. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message. The message includes an emoji and status text determined by the states of hass backup ping [binary_sensor.hass_backup_ping] and hass backup state [binary_sensor.hass_backup_state]. The emoji is a green checkmark if both are 'on', a warning sign if exactly one is 'on', and a red cross if both are not 'on'. The text reports the uppercase state of each sensor.",
"natural_language": {
"trigger": "Whenever the state of the hass backup ping [binary_sensor.hass_backup_ping] changes, or whenever the state of the hass backup state [binary_sensor.hass_backup_state] changes.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Sends a notification via Telegram. The message contains an emoji and a status report. A green checkmark is shown if both the backup ping and backup state are 'on'. A warning sign is shown if only one of them is 'on'. A red cross is shown if neither is 'on'. The text part of the message states the current uppercase status of both the 'HA' backup state and the host backup ping."
},
"human_like": "Sends a Telegram alert with the status of the Home Assistant backup system whenever a backup sensor changes state, using emojis to indicate overall health.",
"complexity": "medium"
}
},
{
"id": "hall_big_fridge_not_closed_5m",
"result": {
"structured": "TRIGGER: When fridge contact [binary_sensor.0x00158d000253722b_contact] changes from closed (off) to open (on) AND remains open (on) for 5 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '👁 Внимание! Холодильник не закрыт!'.",
"natural_language": {
"trigger": "When the fridge contact [binary_sensor.0x00158d000253722b_contact] opens and stays open for five minutes.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram alert with the message '👁 Внимание! Холодильник не закрыт!' to notify that the fridge is not closed."
},
"human_like": "Sends a Telegram alert if the fridge door has been left open for five minutes.",
"complexity": "low"
}
},
{
"id": "hall_big_freezer_not_closed_5m",
"result": {
"structured": "TRIGGER: When freezer contact [binary_sensor.0x00158d000252acba_contact] changes from closed (off) to open (on) AND remains open for 5 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '👁 Внимание! Морозильник не закрыт!'.",
"natural_language": {
"trigger": "When the freezer contact [binary_sensor.0x00158d000252acba_contact] opens and stays open for five minutes.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram alert with the message: '👁 Внимание! Морозильник не закрыт!' (Attention! The freezer is not closed!)."
},
"human_like": "Sends a Telegram alert if the freezer door has been left open for five minutes.",
"complexity": "low"
}
},
{
"id": "hall_big_fridge_temp_alarm",
"result": {
"structured": "TRIGGER: Every 15 minutes (on minutes divisible by 15). CONDITIONS: ble fridge temperature [sensor.ble_temperature_ble_fridge] is above 15. ACTIONS: Send a Telegram notification with the message: \"🌡 Внимание! Температура в холодильнике [current temperature]°C!\".",
"natural_language": {
"trigger": "The automation runs every 15 minutes, at times like 0:00, 0:15, 0:30, and so on.",
"conditions": "The automation only proceeds if the ble fridge temperature [sensor.ble_temperature_ble_fridge] is currently above 15 degrees.",
"action": "Sends a warning message via Telegram, stating the current temperature of the fridge."
},
"human_like": "Sends a Telegram alert if the fridge temperature gets too high, checking every 15 minutes.",
"complexity": "low"
}
},
{
"id": "hall_big_freezer_temp_alarm",
"result": {
"structured": "TRIGGER: Every 15 minutes (on minutes divisible by 15). CONDITIONS: ble freezer temperature [sensor.ble_temperature_ble_freezer] is greater than 0°C. ACTIONS: Send a Telegram notification with the message: '🌡 Внимание! Температура в морозилке [current temperature]°C!'.",
"natural_language": {
"trigger": "The automation runs every 15 minutes.",
"conditions": "The ble freezer temperature [sensor.ble_temperature_ble_freezer] must be above 0°C.",
"action": "Sends a Telegram alert containing the current temperature of the freezer."
},
"human_like": "Sends a Telegram alert if the freezer temperature rises above freezing, checking every 15 minutes.",
"complexity": "low"
}
},
{
"id": "hall_big_fridge_sensors_outage",
"result": {
"structured": "TRIGGER: Every 30 minutes (on the half-hour). CONDITIONS: (Current time minus last update time of ble fridge temperature [sensor.ble_temperature_ble_fridge] is greater than 2 hours) OR (Current time minus last update time of ble freezer temperature [sensor.ble_temperature_ble_freezer] is greater than 2 hours) OR (Current time minus last update time of sensor 0x00158d000253722b_zigbee [sensor['0x00158d000253722b_zigbee']] is greater than 2 hours) OR (Current time minus last update time of sensor 0x00158d000252acba_zigbee [sensor['0x00158d000252acba_zigbee']] is greater than 2 hours). ACTIONS: Send a Telegram notification with a message indicating which specific sensor has not reported data for over 2 hours.",
"natural_language": {
"trigger": "The automation runs every 30 minutes, on the half-hour.",
"conditions": "If any of the following sensors have not sent an update for more than 2 hours: the ble fridge temperature [sensor.ble_temperature_ble_fridge], the ble freezer temperature [sensor.ble_temperature_ble_freezer], the sensor 0x00158d000253722b_zigbee [sensor['0x00158d000253722b_zigbee']], or the sensor 0x00158d000252acba_zigbee [sensor['0x00158d000252acba_zigbee']].",
"action": "Sends a Telegram alert. The message identifies which specific sensor is offline, mentioning the fridge temperature, freezer temperature, fridge door, or freezer door accordingly."
},
"human_like": "Sends a Telegram alert if any of the fridge or freezer sensors stop reporting data for over two hours.",
"complexity": "medium"
}
},
{
"id": "kitchen_briefing",
"result": {
"structured": "TRIGGER: At 07:05:00 OR When Home Assistant starts. CONDITIONS: Time is after 07:00:00 AND before 07:15:00 AND (Current time minus last triggered time of kitchen_briefing [automation.kitchen_briefing] is greater than 15 minutes) AND workday sensor [binary_sensor.workday_sensor] is on. ACTIONS: Set main volume [input_number.main_volume] to 0.4. THEN wait for either motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] OR motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] to detect motion, with a timeout of 15 minutes (stop if timeout occurs). THEN run script briefing_tts on yandex kitchen [media_player.yandex_k] with volume level equal to the current state of main volume [input_number.main_volume].",
"natural_language": {
"trigger": "The automation triggers either at 7:05 AM or when Home Assistant starts up.",
"conditions": "The current time must be between 7:00 AM and 7:15 AM. The automation must not have been triggered in the last 15 minutes. The workday sensor [binary_sensor.workday_sensor] must be on, indicating it's a workday.",
"action": "First, the automation sets the main volume [input_number.main_volume] to 40%. Then, it waits for up to 15 minutes for motion to be detected by either motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] or motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion]. If motion is detected within that time, it proceeds to play a briefing using the script briefing_tts on the yandex kitchen [media_player.yandex_k] speaker, using the volume level that was just set. If no motion is detected within 15 minutes, the automation stops."
},
"human_like": "Plays a morning briefing on the kitchen speaker on workdays, but only if someone is in the kitchen, and ensures it doesn't repeat too frequently.",
"complexity": "medium"
}
},
{
"id": "kitchen_smoke_detected",
"result": {
"structured": "TRIGGER: When smoke sensor [binary_sensor.0x00158d0002c92f31_smoke] changes to on. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: \"⛔ Внимание! Сработал датчик дыма!\".",
"natural_language": {
"trigger": "When the smoke sensor [binary_sensor.0x00158d0002c92f31_smoke] detects smoke and its state changes to 'on'.",
"conditions": "There are no additional conditions that must be met for this automation to run.",
"action": "Sends an alert message to a Telegram user or group, stating: \"⛔ Внимание! Сработал датчик дыма!\" (which translates to \"Attention! Smoke sensor triggered!\")."
},
"human_like": "Sends a Telegram alert when smoke is detected in the kitchen.",
"complexity": "low"
}
},
{
"id": "kitchen_gas_detected",
"result": {
"structured": "TRIGGER: When gas sensor [binary_sensor.0x00158d00024bcf85_gas] changes state to on. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '⛔ Внимание! Сработал датчик газа!'.",
"natural_language": {
"trigger": "When the gas sensor [binary_sensor.0x00158d00024bcf85_gas] detects gas and changes its state to 'on'.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Sends an alert via Telegram with the message: '⛔ Внимание! Сработал датчик газа!' (Attention! Gas sensor triggered!)."
},
"human_like": "Sends an immediate Telegram alert when the kitchen gas sensor detects gas.",
"complexity": "low"
}
},
{
"id": "kitchen_kettle_count",
"result": {
"structured": "TRIGGER: When kettle boil [binary_sensor.kettle_boil_k] changes from off to on. CONDITIONS: None. ACTIONS: Increment kettle counter [counter.kettle_k].",
"natural_language": {
"trigger": "When the kettle boil [binary_sensor.kettle_boil_k] sensor changes from off to on, indicating the kettle has started boiling.",
"conditions": "There are no conditions that must be met.",
"action": "Increments the kettle counter [counter.kettle_k] by one."
},
"human_like": "Counts how many times the kettle is boiled by adding to a counter each time it starts.",
"complexity": "low"
}
},
{
"id": "kitchen_oven_notify",
"result": {
"structured": "TRIGGER: Every 30 minutes (on the hour and half-hour). CONDITIONS: oven temperature [sensor.esp8266_oven_temp_k_temperature] is above 100 AND motion kitchen [binary_sensor.motion_k] is off AND remains off for 30 minutes. ACTIONS: Send a Telegram notification with the message: '🌡 Внимание! Духовка включена ({{states('sensor.esp8266_oven_temp_k_temperature')|int(0)}}°C)!'.",
"natural_language": {
"trigger": "The automation triggers every 30 minutes, on the hour and half-hour.",
"conditions": "The oven temperature [sensor.esp8266_oven_temp_k_temperature] must be above 100 degrees, and the motion kitchen [binary_sensor.motion_k] must be off and have been off for at least 30 minutes.",
"action": "Sends a Telegram notification warning that the oven is on, including the current temperature."
},
"human_like": "Sends a warning notification if the oven is hot and no motion has been detected in the kitchen for half an hour.",
"complexity": "medium"
}
},
{
"id": "kitchen_tv_plug_off",
"result": {
"structured": "TRIGGER: When presence kitchen [binary_sensor.presence_k] changes to off AND remains off for 30 minutes. CONDITIONS: The current time is between 00:00:00 AND 06:00:00 AND tv plug [switch.0x00158d0001e85086_plug] is on. ACTIONS: Turn off tv plug [switch.0x00158d0001e85086_plug].",
"natural_language": {
"trigger": "When the presence kitchen [binary_sensor.presence_k] sensor indicates no presence and stays in that state for 30 minutes.",
"conditions": "The automation only runs if it is between midnight and 6 AM, and the tv plug [switch.0x00158d0001e85086_plug] is currently switched on.",
"action": "Turns off the tv plug [switch.0x00158d0001e85086_plug]."
},
"human_like": "Turns off the kitchen TV plug during the early morning hours if no one has been detected in the kitchen for half an hour.",
"complexity": "low"
}
},
{
"id": "kitchen_tv_plug_on",
"result": {
"structured": "TRIGGER: When presence kitchen [binary_sensor.presence_k] changes from off to on. CONDITIONS: The current time is after 06:00:00 AND the current time is before 08:00:00 AND tv plug [switch.0x00158d0001e85086_plug] is off AND system security mode [switch.system_security_mode] is off. ACTIONS: Turn on tv plug [switch.0x00158d0001e85086_plug].",
"natural_language": {
"trigger": "When the presence kitchen [binary_sensor.presence_k] sensor detects that someone has entered the kitchen.",
"conditions": "The automation only runs if it is between 6:00 AM and 8:00 AM, the tv plug [switch.0x00158d0001e85086_plug] is currently off, and the system security mode [switch.system_security_mode] is also off.",
"action": "Turns on the tv plug [switch.0x00158d0001e85086_plug]."
},
"human_like": "Turns on the kitchen TV plug when someone enters the kitchen in the early morning, provided security mode is off.",
"complexity": "low"
}
},
{
"id": "kitchen_oven_notify_target_temp",
"result": {
"structured": "TRIGGER: When automation reload event occurs OR When oven state [binary_sensor.esp8266_oven_temp_k_oven_state] turns on. CONDITIONS: (oven target temperature [sensor.oven_target_temperature] is greater than 100) AND (more than 1 hour has passed since automation.kitchen_oven_notify_target_temp was last triggered) AND (oven state [binary_sensor.esp8266_oven_temp_k_oven_state] is on). ACTIONS: Wait until oven temperature [sensor.esp8266_oven_temp_k_temperature] is greater than or equal to oven target temperature [sensor.oven_target_temperature] (timeout 60 minutes). Then, send a Telegram notification with the current oven temperature. Then, IF tod day [binary_sensor.tod_day] is on AND system dark mode [switch.system_dark_mode] is off, THEN set volume on yandex kitchen [media_player.yandex_k] to main volume [input_number.main_volume] AND play media on yandex kitchen [media_player.yandex_k] with content type from alice mode [input_select.alice_mode] and a custom message about the oven temperature.",
"natural_language": {
"trigger": "The automation triggers either when the Home Assistant automations are reloaded, or when the oven state [binary_sensor.esp8266_oven_temp_k_oven_state] changes to 'on'.",
"conditions": "For the automation to proceed, the oven target temperature [sensor.oven_target_temperature] must be set above 100 degrees, at least one hour must have passed since this automation was last triggered, and the oven state [binary_sensor.esp8266_oven_temp_k_oven_state] must still be 'on'.",
"action": "First, the automation waits for the actual oven temperature [sensor.esp8266_oven_temp_k_temperature] to reach or exceed the target temperature, with a maximum wait time of 60 minutes. Once the temperature is reached, it sends a Telegram notification announcing the current oven temperature. Finally, if it is daytime (tod day [binary_sensor.tod_day] is on) and dark mode is not active (system dark mode [switch.system_dark_mode] is off), it sets the volume on the kitchen speaker (yandex kitchen [media_player.yandex_k]) to the configured main volume [input_number.main_volume] and plays a media announcement using the selected Alice mode [input_select.alice_mode] to verbally state the oven temperature."
},
"human_like": "Notifies you when the oven reaches its target temperature, and optionally announces it on the kitchen speaker during the day.",
"complexity": "medium"
}
},
{
"id": "kitchen_oven_notify_to_alice",
"result": {
"structured": "TRIGGER: When a yandex_intent event occurs with the text 'Какая температура в духовке'. CONDITIONS: None. ACTIONS: Set the volume level of yandex kitchen [media_player.yandex_k] to the current value of main volume [input_number.main_volume]. Then, play media on yandex kitchen [media_player.yandendex_k] with media_content_type set to the current state of alice mode [input_select.alice_mode] and media_content_id set to 'Температура в духовке (' followed by the integer value of oven temperature [sensor.esp8266_oven_temp_k_temperature] in degrees Celsius.",
"natural_language": {
"trigger": "When a voice assistant (Yandex) detects the intent with the phrase 'Какая температура в духовке' (What is the oven temperature).",
"conditions": "There are no conditions that must be met.",
"action": "First, it sets the volume of the yandex kitchen [media_player.yandex_k] speaker to the level stored in main volume [input_number.main_volume]. Then, it uses the speaker to announce the current oven temperature by playing a media file. The type of media (e.g., TTS mode) is determined by the alice mode [input_select.alice_mode] setting, and the spoken message will be 'Температура в духовке (X°C)', where X is the current temperature reading from oven temperature [sensor.esp8266_oven_temp_k_temperature]."
},
"human_like": "When asked about the oven temperature, the system announces the current temperature on the kitchen speaker.",
"complexity": "low"
}
},
{
"id": "kitchen_today_dishwasher",
"result": {
"structured": "TRIGGER: When a Yandex Intent event occurs with the text 'Кто моет посуду'. CONDITIONS: None. ACTIONS: Play media on the media player specified by the event's entity_id. The media content type is the current state of alice mode [input_select.alice_mode]. The media content is a dynamic message: 'Сегодня посуду моет' followed by a random name from a list. The name list is chosen based on the state of dishwasher [input_select.dishwasher]: if the state is 'Vova', a random name from ['Вова','Володя','Владимир','Вовчик','Вовка']; otherwise, a random name from ['Саша','Санёк','Александр','Сашка']. The volume level is set to the current numeric state of main volume [input_number.main_volume].",
"natural_language": {
"trigger": "When a Yandex smart home voice assistant receives the intent with the specific phrase 'Кто моет посуду' (Who is washing the dishes).",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "The automation responds by playing a media announcement on the specific media player that received the voice command. The announcement states who is responsible for washing the dishes today. The person's name is chosen randomly from a predefined list, which depends on the current setting of the dishwasher [input_select.dishwasher]. The announcement's audio mode (e.g., text-to-speech type) is determined by the alice mode [input_select.alice_mode] setting, and its volume is set to the level defined by main volume [input_number.main_volume]."
},
"human_like": "When someone asks 'Who is washing the dishes?' via the Yandex voice assistant, it announces the name of the person responsible for the dishwasher today, using a random variation of their name.",
"complexity": "medium"
}
},
{
"id": "kitchen_tv_plug_toggle_button",
"result": {
"structured": "TRIGGER: When action sensor kitchen [sensor.0x00158d0001ef61be_action] generates a 'xiaomi_aqara.click' event with click_type 'single'. CONDITIONS: None. ACTIONS: Toggle tv plug [switch.0x00158d0001e85086_plug].",
"natural_language": {
"trigger": "When the action sensor kitchen [sensor.0x00158d0001ef61be_action] is clicked once (single click).",
"conditions": "There are no conditions that must be met.",
"action": "Toggles the state of the tv plug [switch.0x00158d0001e85086_plug] (turns it on if it's off, or off if it's on)."
},
"human_like": "Turns the kitchen TV plug on or off with a single click of the action sensor.",
"complexity": "low"
}
},
{
"id": "system_fan_control_alice",
"result": {
"structured": "TRIGGER: When a Yandex intent event occurs with text 'Выключи вентиляцию' (turn off ventilation) OR When a Yandex intent event occurs with text 'Включи вентиляцию' (turn on ventilation). CONDITIONS: system security mode [switch.system_security_mode] is off AND the event's entity_id is 'media_player.yandex_k'. ACTIONS: Turn the fan on or off based on the trigger: if the trigger text is 'Включи вентиляцию', turn on esp8266 hood fan [fan.esp8266_hood_k_fan]; if the trigger text is 'Выключи вентиляцию', turn off esp8266 hood fan [fan.esp8266_hood_k_fan].",
"natural_language": {
"trigger": "When a voice command is issued to a Yandex device, specifically saying either 'Выключи вентиляцию' (turn off ventilation) or 'Включи вентиляцию' (turn on ventilation).",
"conditions": "The system security mode [switch.system_security_mode] must be off, and the voice command must have originated from the yandex kitchen [media_player.yandex_k] device.",
"action": "Based on the specific voice command, the automation will either turn on or turn off the esp8266 hood fan [fan.esp8266_hood_k_fan]."
},
"human_like": "Allows voice control of the kitchen hood fan via the kitchen Yandex device, but only when the security system is disarmed.",
"complexity": "medium"
}
},
{
"id": "system_location_notify",
"result": {
"structured": "TRIGGER: When the state of any of the following persons changes: person sandra [person.sandra], person vova [person.vova], person sasha [person.sasha]. CONDITIONS: The previous state (trigger.from_state.state) is different from the new state (trigger.to_state.state). ACTIONS: Send a Telegram notification with a message. The message is constructed using the person's friendly name and the location change: If the person arrived from 'Not Home', use an arrival phrase. If the person left to 'Not Home', use a departure phrase. Otherwise, use a movement phrase between two locations. The message includes a globe emoji.",
"natural_language": {
"trigger": "The automation triggers whenever the location state of person sandra [person.sandra], person vova [person.vova], or person sasha [person.sasha] changes.",
"conditions": "The automation only proceeds if the new location state is different from the previous location state.",
"action": "Sends a formatted Telegram notification. The message identifies the person by name and describes their movement: it announces if they have arrived at a location from 'Not Home', left a location to go 'Not Home', or moved between two specific locations. The message starts with a globe emoji."
},
"human_like": "Sends a Telegram notification whenever a tracked person arrives home, leaves home, or moves between locations.",
"complexity": "medium"
}
},
{
"id": "system_person_came_left_home",
"result": {
"structured": "TRIGGER: When the state of any of the following persons changes: person dima [person.dima], person sandra [person.sandra], person sasha [person.sasha], person vova [person.vova]. CONDITIONS: input boolean ha shutdown [input_boolean.ha_shutdown] is off AND remains stable for 15 seconds AND (trigger.from_state.state is not 'unknown', 'unavailable', or 'none') AND (trigger.to_state.state is not 'unknown', 'unavailable', or 'none') AND (trigger.to_state.state is not equal to trigger.from_state.state). ACTIONS: If (trigger.to_state.state is 'home' AND trigger.from_state.state is not 'home') THEN fire event 'person_came_home' AND log to logbook with name 'Person Came Home' and message containing the entity_id. ELSE IF (trigger.to_state.state is not 'home' AND trigger.from_state.state is 'home') THEN fire event 'person_left_home' AND log to logbook with name 'Person Left Home' and message containing the entity_id.",
"natural_language": {
"trigger": "When the location state of any tracked person (person dima [person.dima], person sandra [person.sandra], person sasha [person.sasha], or person vova [person.vova]) changes.",
"conditions": "The system must not be in a shutdown state, meaning input boolean ha shutdown [input_boolean.ha_shutdown] has been off for at least 15 seconds. Additionally, the state change must be valid; both the old and new states must be actual location values and not 'unknown', 'unavailable', or 'none', and the new state must be different from the old state.",
"action": "If the person's new state is 'home' and they were not home before, the system records a 'person came home' event and logs it. If the person's new state is not 'home' and they were home before, the system records a 'person left home' event and logs it."
},
"human_like": "Tracks when family members arrive at or leave home, logging the events and ensuring the system is not shutting down.",
"complexity": "medium"
}
},
{
"id": "system_location_home_mode",
"result": {
"structured": "TRIGGER: When people home [sensor.people_home] changes to 1 OR When people home [sensor.people_home] changes to 0 AND remains for 24 hours. CONDITIONS: None. ACTIONS: If the trigger is people home [sensor.people_home] changing to 1, then set a variable 'txt' to 'Home' if the current state of people home [sensor.people_home] is greater than 0, otherwise 'Away', and then set home mode [input_select.home_mode] to the value of 'txt'. If the trigger is people home [sensor.people_home] changing to 0 and remaining for 24 hours, then set home mode [input_select.home_mode] to 'Vacation'.",
"natural_language": {
"trigger": "When the sensor tracking the number of people home [sensor.people_home] changes to show at least one person is home, or when it changes to show zero people are home and remains at zero for 24 consecutive hours.",
"conditions": "There are no additional conditions that must be met for the automation to run.",
"action": "Depending on which trigger occurred, the automation will update the home mode selector. If the trigger was someone returning home, it calculates a text value based on the current count and sets the home mode [input_select.home_mode] to that value (either 'Home' or 'Away'). If the trigger was the home being empty for a full day, it sets the home mode [input_select.home_mode] directly to 'Vacation'."
},
"human_like": "Updates the system's home mode based on occupancy, switching to 'Home' or 'Away' when people are present, and to 'Vacation' after the home has been empty for a full day.",
"complexity": "medium"
}
},
{
"id": "hall_big_main_door_locks",
"result": {
"structured": "TRIGGER: When top lock [binary_sensor.top_lock] changes state OR When bottom lock [binary_sensor.bottom_lock] changes state. CONDITIONS: (ha uptime [sensor.ha_uptime] is above 2) AND (input boolean ha shutdown [input_boolean.ha_shutdown] is off) AND (top lock [binary_sensor.top_lock] state is on OR off AND top lock [binary_sensor.top_lock] state is on OR off) AND (trigger from_state is not equal to trigger to_state) AND (the attribute 'current' of the triggering entity is 0). ACTIONS: If the trigger is lock_top, send a Telegram notification with a message indicating whether top lock [binary_sensor.top_lock] is open or closed. If the trigger is lock_bottom, send a Telegram notification with a message indicating whether bottom lock [binary_sensor.bottom_lock] is open or closed. Then, turn on Domofon Locks Indicator Script [script.domofon_locks_indicator].",
"natural_language": {
"trigger": "The automation triggers whenever the state of the top lock [binary_sensor.top_lock] or the bottom lock [binary_sensor.bottom_lock] changes.",
"conditions": "Several conditions must be met: the Home Assistant system uptime [sensor.ha_uptime] must be more than 2 units, the system shutdown flag [input_boolean.ha_shutdown] must be off, the top lock's state must be a valid 'on' or 'off' value, the state change that triggered the automation must be a real change from one state to a different one, and the triggering entity must have an attribute named 'current' with a value of 0.",
"action": "Depending on which lock triggered the automation, a specific Telegram notification is sent announcing whether that lock is now open or closed. After that, the Domofon Locks Indicator Script [script.domofon_locks_indicator] is activated."
},
"human_like": "Sends a Telegram notification and updates an indicator whenever the main door locks are opened or closed, provided the system is running normally.",
"complexity": "medium"
}
},
{
"id": "hall_big_main_door_not_closed_3m",
"result": {
"structured": "TRIGGER: Every 3 minutes (time pattern). CONDITIONS: main door contact [binary_sensor.0x00158d0001e5d6be_contact] is open (on) AND remains in that state for 3 minutes. ACTIONS: IF tod day [binary_sensor.tod_day] is on THEN set volume of yandex hall big [media_player.yandex_hb] to 0.7 AND play media on yandex hall big [media_player.yandex_hb] with content type from alice mode [input_select.alice_mode] and content ID 'Вним+ание! Входн+ая дв+ерь н+е закр+ыта! Входн+ая дв+ерь н+е закр+ыта!'. THEN send a Telegram notification with message '👁 Внимание! Входная дверь НЕ закрыта!'. THEN run script Open Door Photo Script [script.open_door_photo]. THEN set volume of yandex hall big [media_player.yandex_hb] to the value from main volume [input_number.main_volume].",
"natural_language": {
"trigger": "The automation runs every three minutes.",
"conditions": "The main door contact [binary_sensor.0x00158d0001e5d6be_contact] must be open and remain open for at least three minutes.",
"action": "If the system indicates it is daytime (tod day [binary_sensor.tod_day] is on), the automation will first set the volume of the Yandex speaker in the hall (yandex hall big [media_player.yandex_hb]) to 70%, then play a specific Russian audio alert about the door being open, using the media type defined in alice mode [input_select.alice_mode]. Regardless of the time of day, it will then send a Telegram notification with a warning message, run a script to take a photo of the door (Open Door Photo Script [script.open_door_photo]), and finally restore the Yandex speaker's volume to the level stored in main volume [input_number.main_volume]."
},
"human_like": "Checks every three minutes if the main door has been left open, and if so, sends alerts, plays a voice warning, takes a photo, and notifies the user.",
"complexity": "medium"
}
},
{
"id": "hall_big_main_door_closed",
"result": {
"structured": "TRIGGER: When main door contact [binary_sensor.0x00158d0001e5d6be_contact] changes from open (on) to closed (off). CONDITIONS: None. ACTIONS: Send a Telegram notification with title 'Doorbell photo' and a message stating the door is closed, including a photo from the doorbell camera with a caption containing the current time and the duration the door was open, AND cancel timer main door open hb [timer.main_door_open_hb].",
"natural_language": {
"trigger": "When the main door contact [binary_sensor.0x00158d0001e5d6be_contact] changes from being open to closed.",
"conditions": "There are no conditions that need to be met.",
"action": "Sends a notification to Telegram with a title 'Doorbell photo' and a message announcing the main door is closed. The notification includes a photo from the doorbell camera, with a caption showing the current time and how long the door was open. It also cancels the timer named timer main door open hb [timer.main_door_open_hb]."
},
"human_like": "Sends a Telegram alert with a photo when the main door is closed, and stops a related timer.",
"complexity": "low"
}
},
{
"id": "mqtt_sensors_discovery",
"result": {
"structured": "TRIGGER: When mqtt broker main [binary_sensor.mqtt_broker_main] turns on (to 'on') OR When Home Assistant starts (event: start) OR When an automation is reloaded (event: automation_reloaded). CONDITIONS: mqtt broker main [binary_sensor.mqtt_broker_main] is on. ACTIONS: Publish 108 MQTT configuration messages with retain flag to the topic 'homeassistant/<entity_type>/<entity_name>/config'. The payloads define entities including binary sensors, sensors, switches, and selects for system states, server telemetry, and device monitoring.",
"natural_language": {
"trigger": "The automation triggers when the mqtt broker main [binary_sensor.mqtt_broker_main] becomes available (turns on), when Home Assistant starts up, or when any automation is reloaded.",
"conditions": "The automation only proceeds if the mqtt broker main [binary_sensor.mqtt_broker_main] is currently in the 'on' state, ensuring the broker is ready to receive messages.",
"action": "It publishes a large set of MQTT discovery messages to advertise various entities to Home Assistant. These include system state switches (like Music Allowed, Guest Mode), server connectivity sensors, and detailed telemetry for multiple servers and storage devices (e.g., CPU load, temperature, disk usage, fan speeds). All messages are sent with the retain flag set."
},
"human_like": "This automation advertises a wide range of system monitoring and control entities to Home Assistant via MQTT whenever the broker is available or the system restarts.",
"complexity": "medium"
}
},
{
"id": "bathroom_button_b_single",
"result": {
"structured": "TRIGGER: When Action Sensor 1b94abe [sensor.0x00158d0001b94abe_action] sends a 'single' click event. CONDITIONS: None. ACTIONS: Choose the first matching sequence: 1. IF Lights B Group [group.lights_b] is off THEN set mirror light b [light.mirror_light_b] to scene 4. 2. IF (esp32 node b fan b [fan.esp32_node_b_fan_b] is off) AND (Lights B Group [group.lights_b] is on) AND (esp32 node b fan b force mode [switch.esp32_node_b_fan_b_force_mode] is off) THEN turn off esp32 node b fan t [fan.esp32_node_b_fan_t] AND pause timer fan t [timer.fan_t] AND turn on esp32 node b fan b manual mode [switch.esp32_node_b_fan_b_manual_mode]. 3. IF (esp32 node b fan b [fan.esp32_node_b_fan_b] is on) AND (esp32 node b fan b force mode [switch.esp32_node_b_fan_b_force_mode] is off) THEN turn off esp32 node b fan b manual mode [switch.esp32_node_b_fan_b_manual_mode] AND turn on esp32 node b fan b auto mode [switch.esp32_node_b_fan_b_auto_mode].",
"natural_language": {
"trigger": "When the Action Sensor 1b94abe [sensor.0x00158d0001b94abe_action] detects a single click.",
"conditions": "There are no global conditions. The automation uses a choose action to select which sequence to run based on the current state of devices.",
"action": "The automation checks three scenarios in order. First, if the Lights B Group [group.lights_b] is off, it turns on the mirror light b [light.mirror_light_b] to a specific scene. Second, if the fan esp32 node b fan b [fan.esp32_node_b_fan_b] is off, the lights are on, and the force mode switch [switch.esp32_node_b_fan_b_force_mode] is off, it turns off another fan [fan.esp32_node_b_fan_t], pauses a timer [timer.fan_t], and enables manual mode for the fan [switch.esp32_node_b_fan_b_manual_mode]. Third, if the fan [fan.esp32_node_b_fan_b] is on and the force mode switch is off, it disables manual mode [switch.esp32_node_b_fan_b_manual_mode] and enables auto mode [switch.esp32_node_b_fan_b_auto_mode] for the fan."
},
"human_like": "A single press of a bathroom button toggles the mirror light or manages the fan's operation mode based on the current state of the room.",
"complexity": "medium"
}
},
{
"id": "bathroom_button_b_double",
"result": {
"structured": "TRIGGER: When Action Sensor 1b94abe [sensor.0x00158d0001b94abe_action] sends a 'double' click event. CONDITIONS: None. ACTIONS: If Lights B Group [group.lights_b] is off, then set mirror light b [light.mirror_light_b] to scene 1. If Lights B Group [group.lights_b] is on, then toggle sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan].",
"natural_language": {
"trigger": "When the Action Sensor 1b94abe [sensor.0x00158d0001b94abe_action] is double-clicked.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "If the Lights B Group [group.lights_b] is off, the mirror light b [light.mirror_light_b] is turned on to a specific scene. If the Lights B Group [group.lights_b] is on, the sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan] is toggled on or off."
},
"human_like": "A double-click on the bathroom button turns on the mirror light if the lights are off, otherwise it toggles the fan.",
"complexity": "medium"
}
},
{
"id": "bathroom_fan_with_light",
"result": {
"structured": "TRIGGER: When bathroom channel 2 light [light.0x00158d0002a36433_channel_2] turns on OR when bathroom channel 2 light [light.0x00158d0002a36433_channel_2] turns off. ACTIONS: If the trigger was the light turning on, then turn off esp32 node b fan b auto mode [switch.esp32_node_b_fan_b_auto_mode] AND turn off esp32 node b fan b [fan.esp32_node_b_fan_b] AND turn off sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan]. If the trigger was the light turning off, then turn on esp32 node b fan b auto mode [switch.esp32_node_b_fan_b_auto_mode].",
"natural_language": {
"trigger": "When the bathroom channel 2 light [light.0x00158d0002a36433_channel_2] is turned on or turned off.",
"conditions": "There are no explicit conditions for this automation.",
"action": "If the light is turned on, it disables the bathroom fan's auto mode by turning off the esp32 node b fan b auto mode [switch.esp32_node_b_fan_b_auto_mode] switch, and also turns off both the esp32 node b fan b [fan.esp32_node_b_fan_b] and the sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan]. If the light is turned off, it re-enables the fan's auto mode by turning on the esp32 node b fan b auto mode [switch.esp32_node_b_fan_b_auto_mode] switch."
},
"human_like": "Controls the bathroom fans based on the light: turning the light on disables auto mode and turns the fans off, while turning the light off re-enables auto mode.",
"complexity": "medium"
}
},
{
"id": "bathroom_fan_night_mode",
"result": {
"structured": "TRIGGER: Every 5 minutes. CONDITIONS: (system security mode [switch.system_security_mode] is off) AND (esp32 node b fan b [fan.esp32_node_b_fan_b] state is on OR off) AND (current hour is between 1 (inclusive) and 6 (exclusive)). ACTIONS: IF bathroom contact sensor [binary_sensor.0x00158d0002a14c5e_contact] remains closed (off) for 3 minutes THEN set esp32 node b humidity set [number.esp32_node_b_humidity_set] to 30. ELSE IF bathroom contact sensor [binary_sensor.0x00158d0002a14c5e_contact] remains open (on) for 3 minutes THEN set esp32 node b humidity set [number.esp32_node_b_humidity_set] to 65.",
"natural_language": {
"trigger": "The automation runs every 5 minutes.",
"conditions": "The system security mode [switch.system_security_mode] must be off. The bathroom fan, esp32 node b fan b [fan.esp32_node_b_fan_b], must be in a valid state (either on or off). The current time must be between 1 AM and 6 AM.",
"action": "Depending on the state of the bathroom contact sensor [binary_sensor.0x00158d0002a14c5e_contact], it sets a different humidity threshold. If the bathroom door has been closed for at least 3 minutes, it sets the humidity setpoint to 30. If the bathroom door has been open for at least 3 minutes, it sets the humidity setpoint to 65."
},
"human_like": "Adjusts the bathroom fan's humidity threshold during night hours based on whether the bathroom door is open or closed.",
"complexity": "medium"
}
},
{
"id": "bathroom_fan_to_normal_mode",
"result": {
"structured": "TRIGGER: At 06:20:00. CONDITIONS: system security mode [switch.system_security_mode] is off AND esp32 node b fan b [fan.esp32_node_b_fan_b] state is 'on' OR 'off' AND esp32 node b humidity set [number.esp32_node_b_humidity_set] value is less than 50. ACTIONS: Set esp32 node b humidity set [number.esp32_node_b_humidity_set] value to 65 AND Turn off esp32 node b fan b force mode [switch.esp32_node_b_fan_b_force_mode].",
"natural_language": {
"trigger": "Every day at 6:20 AM.",
"conditions": "The system security mode [switch.system_security_mode] must be off, the bathroom fan [fan.esp32_node_b_fan_b] must be either on or off (i.e., not in an error state), and the humidity setpoint [number.esp32_node_b_humidity_set] must be below 50%.",
"action": "Sets the bathroom fan's humidity setpoint [number.esp32_node_b_humidity_set] to 65% and turns off the fan's force mode switch [switch.esp32_node_b_fan_b_force_mode]."
},
"human_like": "Resets the bathroom fan to normal operation at 6:20 AM by adjusting its humidity setpoint and disabling any forced mode, provided the security system is off.",
"complexity": "medium"
}
},
{
"id": "bathroom_bottom_fan_with_fan",
"result": {
"structured": "TRIGGER: When esp32 node b fan b [fan.esp32_node_b_fan_b] changes state. CONDITIONS: system security mode [switch.system_security_mode] is off AND esp32 node b fan b [fan.esp32_node_b_fan_b] state is either 'on' or 'off'. ACTIONS: Turn sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan] on or off to match the state of esp32 node b fan b [fan.esp32_node_b_fan_b].",
"natural_language": {
"trigger": "Whenever the esp32 node b fan b [fan.esp32_node_b_fan_b] changes its state.",
"conditions": "The system security mode [switch.system_security_mode] must be off, and the esp32 node b fan b [fan.esp32_node_b_fan_b] must be in either the 'on' or 'off' state.",
"action": "Turn the sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan] on or off, mirroring the current state of the esp32 node b fan b [fan.esp32_node_b_fan_b]."
},
"human_like": "Mirrors the on/off state of one bathroom fan to another, but only when the security system is disarmed.",
"complexity": "medium"
}
},
{
"id": "bathroom_bottom_fan",
"result": {
"structured": "TRIGGER: At 07:00:03 OR at 23:00:03. CONDITIONS: system security mode [switch.system_security_mode] is off. ACTIONS: If tod day [binary_sensor.tod_day] is on, turn off sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan]; otherwise, turn on sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan].",
"natural_language": {
"trigger": "The automation triggers at 7:00:03 AM and again at 11:00:03 PM.",
"conditions": "The system security mode [switch.system_security_mode] must be off.",
"action": "It checks the state of tod day [binary_sensor.tod_day]. If it's day, the sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan] is turned off. If it's not day, the fan is turned on."
},
"human_like": "Turns the bathroom fan on or off at scheduled times, depending on whether it's day or night, but only when the security system is disarmed.",
"complexity": "medium"
}
},
{
"id": "bathroom_bottom_fan_toggle",
"result": {
"structured": "TRIGGER: When the time pattern matches every 30 minutes (at minutes 0 and 30 of every hour). CONDITIONS: (tod day [binary_sensor.tod_day] is off) AND (system security mode [switch.system_security_mode] is off) AND (esp32 node b fan b force mode [switch.esp32_node_b_fan_b_force_mode] is off) AND (Lights B Group [group.lights_b] is off OR sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan] is on). ACTIONS: Toggle sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan].",
"natural_language": {
"trigger": "The automation runs every 30 minutes, at the top of the hour and at 30 minutes past.",
"conditions": "It requires that it is currently not daytime (tod day [binary_sensor.tod_day] is off), the system security mode [switch.system_security_mode] is off, the fan's force mode [switch.esp32_node_b_fan_b_force_mode] is off, and either the bathroom lights (Lights B Group [group.lights_b]) are off or the bottom fan [fan.sonoff_pow_r2_1_bottom_fan] is already on.",
"action": "It toggles the state of the sonoff bottom fan [fan.sonoff_pow_r2_1_bottom_fan] (turns it on if it's off, or off if it's on)."
},
"human_like": "Toggles the bathroom fan every 30 minutes during non-daytime hours when security is off and the lights are off or the fan is already running.",
"complexity": "medium"
}
},
{
"id": "bathroom_fan_off_by_timer",
"result": {
"structured": "TRIGGER: When timer fan b [timer.fan_b] finishes. CONDITIONS: The current attribute of the triggering entity (timer fan b [timer.fan_b]) is 0. ACTIONS: Turn off esp32 node b fan b [fan.esp32_node_b_fan_b] AND turn off esp32 node b fan b manual mode [switch.esp32_node_b_fan_b_manual_mode] AND (if timer fan t [timer.fan_t] is paused) turn on esp32 node b fan t [fan.esp32_node_b_fan_t] AND start timer fan t [timer.fan_t].",
"natural_language": {
"trigger": "When the timer fan b [timer.fan_b] finishes.",
"conditions": "The current attribute of the timer fan b [timer.fan_b] must be 0.",
"action": "Turn off the bathroom fan esp32 node b fan b [fan.esp32_node_b_fan_b] and its manual mode switch esp32 node b fan b manual mode [switch.esp32_node_b_fan_b_manual_mode]. Then, if the other timer fan t [timer.fan_t] is currently paused, turn on the fan esp32 node b fan t [fan.esp32_node_b_fan_t] and start that timer."
},
"human_like": "Turns off the main bathroom fan when its timer ends and, if the other fan's timer is paused, starts that fan and its timer.",
"complexity": "medium"
}
},
{
"id": "bathroom_main_fan_timer_with_switch",
"result": {
"structured": "TRIGGER: When esp32 node b fan b [fan.esp32_node_b_fan_b] changes state. CONDITIONS: (The current attribute of the triggering entity is 0) AND (esp32 node b fan b [fan.esp32_node_b_fan_b] state is 'on' OR 'off') AND (esp32 node b fan b force mode [switch.esp32_node_b_fan_b_force_mode] is off). ACTIONS: IF esp32 node b fan b [fan.esp32_node_b_fan_b] is on THEN start timer fan b [timer.fan_b].",
"natural_language": {
"trigger": "Whenever the state of the bathroom fan, esp32 node b fan b [fan.esp32_node_b_fan_b], changes.",
"conditions": "The automation checks that the 'current' attribute of the triggering entity is zero, that the fan's state is either 'on' or 'off', and that the override switch, esp32 node b fan b force mode [switch.esp32_node_b_fan_b_force_mode], is turned off.",
"action": "If the fan is found to be in the 'on' state, the automation starts a timer called timer fan b [timer.fan_b]."
},
"human_like": "Starts a timer for the bathroom fan when it is turned on, but only if the fan's force mode is not active.",
"complexity": "medium"
}
},
{
"id": "bathroom_light_off_auto",
"result": {
"structured": "TRIGGER: When timer main light b [timer.main_light_b] finishes. CONDITIONS: presence bathroom [binary_sensor.presence_b] is off AND the current attribute of the timer entity is 0 AND Lights B Group [group.lights_b] is on. ACTIONS: Turn off bathroom channel 2 light [light.0x00158d0002a36433_channel_2] AND turn off mirror light b [light.mirror_light_b] with a transition of 5 seconds.",
"natural_language": {
"trigger": "When the timer main light b [timer.main_light_b] finishes.",
"conditions": "If no presence is detected in the bathroom (presence bathroom [binary_sensor.presence_b] is off), the timer's current attribute is 0, and the bathroom light group (Lights B Group [group.lights_b]) is currently on.",
"action": "Turn off the main bathroom light (bathroom channel 2 light [light.0x00158d0002a36433_channel_2]) and turn off the mirror light (mirror light b [light.mirror_light_b]) with a 5-second fade-out."
},
"human_like": "Automatically turns off the bathroom lights after a timer ends, but only if no one is present and the lights are still on.",
"complexity": "medium"
}
},
{
"id": "bathroom_light_timer_on",
"result": {
"structured": "TRIGGER: When presence bathroom [binary_sensor.presence_b] changes from on to off OR when Lights B Group [group.lights_b] turns on. CONDITIONS: The automation's own entity has an attribute 'current' equal to 0. ACTIONS: Cancel timer main light b [timer.main_light_b] AND start timer main light b [timer.main_light_b].",
"natural_language": {
"trigger": "When the presence bathroom [binary_sensor.presence_b] sensor changes from detecting presence to not detecting presence, or when the Lights B Group [group.lights_b] is turned on.",
"conditions": "The automation only runs if the automation entity itself has an attribute named 'current' with a value of 0.",
"action": "Cancels any existing countdown on the timer main light b [timer.main_light_b] and immediately starts it again."
},
"human_like": "Restarts the bathroom light timer when someone leaves the room or when the lights are turned on, ensuring the timer is reset.",
"complexity": "medium"
}
},
{
"id": "bathroom_timer_stop",
"result": {
"structured": "TRIGGER: When presence bathroom [binary_sensor.presence_b] changes from off to on OR when Lights B Group [group.lights_b] turns off. CONDITIONS: timer main light b [timer.main_light_b] is active. ACTIONS: Cancel timer main light b [timer.main_light_b] AND cancel timer door b [timer.door_b].",
"natural_language": {
"trigger": "When motion is detected in the bathroom (presence bathroom [binary_sensor.presence_b] turns on) or when all the bathroom lights (Lights B Group [group.lights_b]) are turned off.",
"conditions": "The timer for the main bathroom light (timer main light b [timer.main_light_b]) must be currently running.",
"action": "Cancels the main bathroom light timer (timer main light b [timer.main_light_b]) and also cancels the bathroom door timer (timer door b [timer.door_b])."
},
"human_like": "Stops the bathroom light timers when motion is detected or when the lights are manually turned off.",
"complexity": "low"
}
},
{
"id": "bathroom_timer_stop_motion_with_light_presence",
"result": {
"structured": "TRIGGER: When bathroom motion sensor [binary_sensor.0x00158d000236bc6d_motion] detects motion (turns on). CONDITIONS: (presence bathroom [binary_sensor.presence_b] is on) AND (Lights B Group [group.lights_b] is on) AND (timer main light b [timer.main_light_b] is active OR timer door b [timer.door_b] is active). ACTIONS: Cancel timer main light b [timer.main_light_b] and timer door b [timer.door_b].",
"natural_language": {
"trigger": "When the bathroom motion sensor [binary_sensor.0x00158d000236bc6d_motion] detects motion.",
"conditions": "If the presence bathroom [binary_sensor.presence_b] sensor indicates someone is present, the Lights B Group [group.lights_b] is turned on, and either the timer main light b [timer.main_light_b] or the timer door b [timer.door_b] is currently running.",
"action": "Cancels both the timer main light b [timer.main_light_b] and timer door b [timer.door_b]."
},
"human_like": "Stops the bathroom light or door timers when motion is detected, provided the lights are on and someone is present.",
"complexity": "medium"
}
},
{
"id": "bathroom_input_on_off",
"result": {
"structured": "TRIGGER: When wasp b [binary_sensor.wasp_b] turns on OR when wasp b [binary_sensor.wasp_b] turns off. CONDITIONS: (For the first action branch: The trigger is id_to_on AND Lights B Group [group.lights_b] is on AND system security mode [switch.system_security_mode] is off). (For the second action branch: The trigger is id_to_off). ACTIONS: If the first condition set is met, pause timer main light b [timer.main_light_b] AND turn on input boolean bathroom occupancy [input_boolean.bathroom_occupancy]. If the second condition set is met, turn off input boolean bathroom occupancy [input_boolean.bathroom_occupancy].",
"natural_language": {
"trigger": "When the sensor wasp b [binary_sensor.wasp_b] turns on or when it turns off.",
"conditions": "If the sensor turns on, the automation also checks that the Lights B Group [group.lights_b] is on and the system security mode [switch.system_security_mode] is off. If the sensor turns off, no additional conditions are required.",
"action": "When the sensor turns on and the conditions are met, the automation pauses the timer main light b [timer.main_light_b] and marks the bathroom as occupied by turning on input boolean bathroom occupancy [input_boolean.bathroom_occupancy]. When the sensor turns off, it marks the bathroom as unoccupied by turning off input boolean bathroom occupancy [input_boolean.bathroom_occupancy]."
},
"human_like": "Manages bathroom occupancy status based on a sensor, pausing a light timer when someone enters and marking the room as occupied, then marking it unoccupied when they leave.",
"complexity": "medium"
}
},
{
"id": "bathroom_auto_light_on_soft",
"result": {
"structured": "TRIGGER: When a motion event is detected by the bathroom motion sensor [binary_sensor.0x00158d000236bc6d_motion]. CONDITIONS: Lights B Group [group.lights_b] is off AND system security mode [switch.system_security_mode] is off AND the current attribute of the triggering entity is 0. ACTIONS: Set the scene of mirror light b [light.mirror_light_b] to scene 4 if tod day [binary_sensor.tod_day] is off OR system dark mode [switch.system_dark_mode] is on; otherwise set it to scene 1.",
"natural_language": {
"trigger": "When the bathroom motion sensor [binary_sensor.0x00158d000236bc6d_motion] detects motion.",
"conditions": "The main bathroom light group, Lights B Group [group.lights_b], must be off. The system security mode [switch.system_security_mode] must also be off. Additionally, the automation checks that the 'current' attribute of the motion sensor is equal to 0.",
"action": "It turns on the mirror light b [light.mirror_light_b] to a specific scene. If it is not daytime (tod day [binary_sensor.tod_day] is off) or if the system dark mode [switch.system_dark_mode] is active, it uses a soft scene (scene 4). Otherwise, it uses a different scene (scene 1)."
},
"human_like": "Automatically turns on the bathroom mirror light with a soft glow when motion is detected at night or in dark mode, provided the main lights are off and security is disabled.",
"complexity": "medium"
}
},
{
"id": "bathroom_light_toggle_repeater",
"result": {
"structured": "TRIGGER: When action sensor bathroom repeater [sensor.0x54ef4410005054cc_action] generates a 'button_1_single' click event. CONDITIONS: None. ACTIONS: Choose based on the state of Lights B Group [group.lights_b]. If Lights B Group [group.lights_b] is on, then turn off bathroom channel 2 light [light.0x00158d0002a36433_channel_2] AND mirror light b [light.mirror_light_b]. If Lights B Group [group.lights_b] is off, then turn on bathroom channel 2 light [light.0x00158d0002a36433_channel_2].",
"natural_language": {
"trigger": "When the action sensor bathroom repeater [sensor.0x54ef4410005054cc_action] is clicked with a single press of button 1.",
"conditions": "There are no additional conditions that must be met.",
"action": "The automation checks the current state of the Lights B Group [group.lights_b]. If the group is on, it turns off both the bathroom channel 2 light [light.0x00158d0002a36433_channel_2] and the mirror light b [light.mirror_light_b]. If the group is off, it turns on only the bathroom channel 2 light [light.0x00158d0002a36433_channel_2]."
},
"human_like": "Toggles the bathroom lights using a button click, turning a specific light on when the group is off, or turning multiple lights off when the group is on.",
"complexity": "medium"
}
},
{
"id": "bathroom_mirror_light_manual",
"result": {
"structured": "TRIGGER: When an event of type xiaomi_aqara.click occurs for action sensor bathroom mirror [sensor.0x00158d0001ef6089_action]. CONDITIONS: mirror light b [light.mirror_light_b] is either on OR off AND the attribute 'current' of the triggering entity (sensor.0x00158d0001ef6089_action) is 0. ACTIONS: Choose the first matching sequence: IF mirror light b [light.mirror_light_b] is on AND the click_type is 'single' THEN turn off mirror light b [light.mirror_light_b]. ELSE IF mirror light b [light.mirror_light_b] is off AND bathroom channel 2 light [light.0x00158d0002a36433_channel_2] is off AND the click_type is 'single' THEN set mirror light b [light.mirror_light_b] to scene 4. ELSE IF mirror light b [light.mirror_light_b] is off AND bathroom channel 2 light [light.0x00158d0002a36433_channel_2] is on AND the click_type is 'single' THEN set mirror light b [light.mirror_light_b] to scene 1. ELSE IF the click_type is 'double' THEN set mirror light b [light.mirror_light_b] to scene 1. ELSE IF the click_type is 'hold' THEN set mirror light b [light.mirror_light_b] to scene 4.",
"natural_language": {
"trigger": "When the action sensor bathroom mirror [sensor.0x00158d0001ef6089_action] detects a click event (like a button press).",
"conditions": "The mirror light b [light.mirror_light_b] must be either on or off, and the 'current' attribute of the triggering sensor must be 0.",
"action": "Depending on the state of the lights and the type of click, different actions are taken. If the mirror light is on and a single click is detected, it turns the light off. If the mirror light is off and the bathroom channel 2 light [light.0x00158d0002a36433_channel_2] is also off, a single click sets the mirror light to scene 4. If the mirror light is off but the bathroom channel 2 light is on, a single click sets the mirror light to scene 1. A double click always sets the mirror light to scene 1, and a long press (hold) always sets it to scene 4."
},
"human_like": "Controls the bathroom mirror light with a wireless button, allowing you to turn it on to different scenes or off with single, double, or hold clicks.",
"complexity": "medium"
}
},
{
"id": "bathroom_mirror_light_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: mirror light b [light.mirror_light_b] is unavailable AND remains so for 2 minutes AND the current attribute of this entity is 0 AND system mirror light b restart key [switch.system_mirror_light_b_restart_key] is on AND the state of esp32 node b relay 5 [switch.esp32_node_b_relay_5] is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE (mirror light b [light.mirror_light_b] is unavailable AND the loop index is less than or equal to 5) DO: Turn off esp32 node b relay 5 [switch.esp32_node_b_relay_5], wait 15 seconds, turn on esp32 node b relay 5 [switch.esp32_node_b_relay_5], send a Telegram notification '🚨 Mirror LED B restart done({{repeat.index}})!', wait 30 seconds. AFTER the loop, IF mirror light b [light.mirror_light_b] is still unavailable THEN send a Telegram notification '🚨 Mirror LED B restart unsuccessful!' AND turn off system mirror light b restart key [switch.system_mirror_light_b_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "The mirror light b [light.mirror_light_b] must be in an unavailable state for at least two minutes, its 'current' attribute must be 0, the system mirror light b restart key [switch.system_mirror_light_b_restart_key] must be turned on, and the esp32 node b relay 5 [switch.esp32_node_b_relay_5] must have a state that is not 'unknown', 'unavailable', or 'none'.",
"action": "If all conditions are met, the automation attempts to restart the mirror light by repeatedly turning the esp32 node b relay 5 [switch.esp32_node_b_relay_5] off and on, with delays, up to five times. After each attempt, it sends a Telegram notification. If, after all attempts, the mirror light b [light.mirror_light_b] is still unavailable, it sends a failure notification and turns off the system mirror light b restart key [switch.system_mirror_light_b_restart_key]."
},
"human_like": "Automatically attempts to restart the bathroom mirror light if it becomes unavailable, notifying the user of the results.",
"complexity": "high"
}
},
{
"id": "bathroom_mirror_led_restart_key_toggle",
"result": {
"structured": "TRIGGER: When mirror light b [light.mirror_light_b] changes state from unavailable. CONDITIONS: None. ACTIONS: Turn on system mirror light b restart key [switch.system_mirror_light_b_restart_key].",
"natural_language": {
"trigger": "When the mirror light b [light.mirror_light_b] becomes available again after being in an unavailable state.",
"conditions": "There are no additional conditions for this automation.",
"action": "Turns on the system mirror light b restart key [switch.system_mirror_light_b_restart_key]."
},
"human_like": "Automatically restarts the mirror light system when it becomes available again.",
"complexity": "low"
}
},
{
"id": "bathroom_indicator",
"result": {
"structured": "TRIGGER: When input boolean bathroom occupancy [input_boolean.bathroom_occupancy] changes state. CONDITIONS: The state of input boolean bathroom occupancy [input_boolean.bathroom_occupancy] is either 'on' or 'off'. ACTIONS: If input boolean bathroom occupancy [input_boolean.bathroom_occupancy] is 'off', turn off esp32 node hs bathroom [light.esp32_node_hs_bathroom]. If input boolean bathroom occupancy [input_boolean.bathroom_occupancy] is 'on', turn on esp32 node hs bathroom [light.esp32_node_hs_bathroom] with effect 'Color Wipe' and brightness 100.",
"natural_language": {
"trigger": "Whenever the state of the input boolean bathroom occupancy [input_boolean.bathroom_occupancy] changes.",
"conditions": "The automation only runs if the occupancy indicator is in a valid state, meaning it is either 'on' or 'off'.",
"action": "If the bathroom is marked as unoccupied (state 'off'), the light esp32 node hs bathroom [light.esp32_node_hs_bathroom] is turned off. If the bathroom is marked as occupied (state 'on'), the light is turned on with a 'Color Wipe' effect at full brightness."
},
"human_like": "Controls a bathroom light to indicate occupancy, turning it on with a color effect when occupied and off when unoccupied.",
"complexity": "low"
}
},
{
"id": "bathroom_mirror_light_sync",
"result": {
"structured": "TRIGGER: When bathroom channel 2 light [light.0x00158d0002a36433_channel_2] turns off (from on to off) OR When bathroom channel 2 light [light.0x00158d0002a36433_channel_2] turns on (from off to on). CONDITIONS: (Trigger is to_off AND mirror light b [light.mirror_light_b] is on) OR (Trigger is to_on AND mirror light b [light.mirror_light_b] is on). ACTIONS: If bathroom channel 2 light [light.0x00158d0002a36433_channel_2] turns off and mirror light b [light.mirror_light_b] is on, then turn off mirror light b [light.mirror_light_b] with a 5-second transition. If bathroom channel 2 light [light.0x00158d0002a36433_channel_2] turns on and mirror light b [light.mirror_light_b] is on, then set mirror light b [light.mirror_light_b] to scene 1.",
"natural_language": {
"trigger": "When the bathroom channel 2 light [light.0x00158d0002a36433_channel_2] changes state, either turning on or turning off.",
"conditions": "The automation only runs if the mirror light b [light.mirror_light_b] is currently on. If the bathroom channel 2 light turns off, the mirror light will be turned off. If the bathroom channel 2 light turns on, the mirror light will be set to a specific scene.",
"action": "If the bathroom channel 2 light [light.0x00158d0002a36433_channel_2] turns off, the mirror light b [light.mirror_light_b] is turned off with a 5-second fade. If the bathroom channel 2 light [light.0x00158d0002a36433_channel_2] turns on, the mirror light b [light.mirror_light_b] is set to scene 1."
},
"human_like": "Syncs the mirror light with the main bathroom light, turning it off or setting a specific scene when the main light changes, but only if the mirror light is already on.",
"complexity": "medium"
}
},
{
"id": "hall_big_auto_night_light_on",
"result": {
"structured": "TRIGGER: When a motion event is detected by entrance motion sensor [binary_sensor.0x00158d0001e05856_motion]. CONDITIONS: (tod day [binary_sensor.tod_day] is off OR system dark mode [switch.system_dark_mode] is on) AND system security mode [switch.system_security_mode] is off AND Lights HB Group [group.lights_hb] is off. ACTIONS: Turn on esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] with brightness 10 and RGB color (250, 95, 85).",
"natural_language": {
"trigger": "When motion is detected by the entrance motion sensor [binary_sensor.0x00158d0001e05856_motion].",
"conditions": "It must be either nighttime (the tod day [binary_sensor.tod_day] is off) or dark mode is active (system dark mode [switch.system_dark_mode] is on). Additionally, the system security mode [switch.system_security_mode] must be off, and all lights in the Hall Big group (Lights HB Group [group.lights_hb]) must be off.",
"action": "Turns on the entrance hall light strip (esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb]) to a low brightness of 10 with a warm reddish color (RGB 250, 95, 85)."
},
"human_like": "Automatically turns on a dim, warm light in the entrance hall when motion is detected at night or in dark mode, provided security is off and no other lights are on.",
"complexity": "medium"
}
},
{
"id": "hall_big_auto_light_on",
"result": {
"structured": "TRIGGER: When a motion event is detected by entrance motion sensor [binary_sensor.0x00158d0001e05856_motion] OR when a motion event is detected by fridge motion sensor [binary_sensor.0x00158d0002b482e9_motion]. CONDITIONS: system security mode [switch.system_security_mode] is off AND tod day [binary_sensor.tod_day] is on AND system dark mode [switch.system_dark_mode] is off AND Lights Main HB Group [group.lights_main_hb] is off. ACTIONS: Execute script hall_big_led_strip_on with data parameter strips set to the ID of the trigger that initiated the automation.",
"natural_language": {
"trigger": "When motion is detected by either the entrance motion sensor [binary_sensor.0x00158d0001e05856_motion] or the fridge motion sensor [binary_sensor.0x00158d0002b482e9_motion].",
"conditions": "The system security mode [switch.system_security_mode] must be off, it must be daytime as indicated by tod day [binary_sensor.tod_day] being on, the system dark mode [switch.system_dark_mode] must be off, and the main lights in the hall, represented by the group Lights Main HB Group [group.lights_main_hb], must be off.",
"action": "Turns on the hall's LED strip by running the script 'hall_big_led_strip_on', passing the ID of the motion sensor that triggered the event to the script."
},
"human_like": "Automatically turns on the hall's LED strip lights when motion is detected, but only during the day when security and dark modes are off and the main lights are not already on.",
"complexity": "medium"
}
},
{
"id": "hall_big_night_mode_preparation",
"result": {
"structured": "TRIGGER: When tod day [binary_sensor.tod_day] changes from on to off. CONDITIONS: None. ACTIONS: Turn off esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] and esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] with a 5-second transition AND turn off system dark mode [switch.system_dark_mode].",
"natural_language": {
"trigger": "When the system's day indicator, tod day [binary_sensor.tod_day], changes from on to off, signaling the end of the day.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "Turns off the wardrobe and entrance LED strips (esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] and esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb]) with a 5-second fade-out, and also turns off the system dark mode [switch.system_dark_mode] switch."
},
"human_like": "Prepares the big hall for night by turning off the lights and disabling dark mode when the day ends.",
"complexity": "low"
}
},
{
"id": "hall_big_main_door_open",
"result": {
"structured": "TRIGGER: When main door contact [binary_sensor.0x00158d0001e5d6be_contact] changes from closed (off) to open (on). CONDITIONS: None. ACTIONS: Execute script hall_big_led_strip_on with data strips: both; Set main door open [input_number.main_door_open] to the current Unix timestamp; Increment counter main door hb [counter.main_door_hb]; Send a Telegram notification with message '🚪 Внимание! Входная дверь открыта! (current time, current date, current counter value)'; Send a Telegram notification to telegram_cam with the same message; Wait for 9 seconds; Turn on Open Door Photo Script [script.open_door_photo].",
"natural_language": {
"trigger": "When the main door contact [binary_sensor.0x00158d0001e5d6be_contact] opens, changing from a closed to an open state.",
"conditions": "There are no conditions for this automation.",
"action": "The automation turns on the hall big LED strips on both sides, records the current timestamp in the main door open [input_number.main_door_open] input number, increments the main door hb [counter.main_door_hb] counter, sends a Telegram alert with the current time, date, and door open count, sends the same alert to a secondary Telegram channel, waits for 9 seconds, and then triggers a script to take a photo of the door area."
},
"human_like": "When the main door opens, it lights up the hall, logs the event, sends alerts, and takes a photo.",
"complexity": "medium"
}
},
{
"id": "hall_big_timer_on",
"result": {
"structured": "TRIGGER: When channel 1 light [light.0x00158d000223921b_channel_1] turns on from off OR when channel 2 light fridge [light.0x00158d000253f04a_channel_2] turns on from off. CONDITIONS: None. ACTIONS: Cancel timer main light hb [timer.main_light_hb] AND start timer main light hb [timer.main_light_hb].",
"natural_language": {
"trigger": "When either the channel 1 light [light.0x00158d000223921b_channel_1] or the channel 2 light fridge [light.0x00158d000253f04a_channel_2] is switched on from an off state.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "Cancels any existing countdown on the timer main light hb [timer.main_light_hb] and immediately restarts it."
},
"human_like": "Restarts a timer for the main hall light whenever either of two specific lights is turned on.",
"complexity": "low"
}
},
{
"id": "hall_big_timer_off",
"result": {
"structured": "TRIGGER: When channel 1 light [light.0x00158d000223921b_channel_1] is off AND channel 2 light fridge [light.0x00158d000253f04a_channel_2] is off. CONDITIONS: None. ACTIONS: Cancel timer main light hb [timer.main_light_hb].",
"natural_language": {
"trigger": "When both the channel 1 light [light.0x00158d000223921b_channel_1] and the channel 2 light fridge [light.0x00158d000253f04a_channel_2] are turned off.",
"conditions": "There are no additional conditions.",
"action": "Cancels the timer main light hb [timer.main_light_hb]."
},
"human_like": "Cancels the main hall light timer when both hall lights are off.",
"complexity": "low"
}
},
{
"id": "hall_big_led_strip_with_main_off",
"result": {
"structured": "TRIGGER: When Lights Main HB Group [group.lights_main_hb] turns off from on OR when Lights Main HB Group [group.lights_main_hb] turns on from off. CONDITIONS: None. ACTIONS: Choose based on conditions: If Lights Main HB Group [group.lights_main_hb] is off AND system security mode [switch.system_security_mode] is off, then run script.hall_big_led_strip_on with data strips: both. Otherwise, if Lights Main HB Group [group.lights_main_hb] is on, then turn off esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] and esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] with a transition of 5 seconds.",
"natural_language": {
"trigger": "The automation triggers whenever the main light group for the hall, Lights Main HB Group [group.lights_main_hb], changes its state, either turning off from being on, or turning on from being off.",
"conditions": "There are no global conditions; the decision logic is handled within the action sequence.",
"action": "The automation performs one of two sequences based on the current state. If the main lights are off and the system security mode [switch.system_security_mode] is also off, it runs a script called 'hall_big_led_strip_on' to turn on both LED strips. If the main lights are on, it turns off the two specific LED strips, esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] and esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb], with a smooth 5-second fade."
},
"human_like": "Controls the hall's decorative LED strips based on the main lights: turning them on when the main lights are off (and security is disarmed), and turning them off when the main lights are on.",
"complexity": "medium"
}
},
{
"id": "hall_big_auto_off_10m",
"result": {
"structured": "TRIGGER: When timer main light hb [timer.main_light_hb] finishes. CONDITIONS: None. ACTIONS: Turn off channel 1 light [light.0x00158d000223921b_channel_1] AND channel 2 light fridge [light.0x00158d000253f04a_channel_2].",
"natural_language": {
"trigger": "When the timer main light hb [timer.main_light_hb] finishes.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off both the channel 1 light [light.0x00158d000223921b_channel_1] and the channel 2 light fridge [light.0x00158d000253f04a_channel_2]."
},
"human_like": "Automatically turns off the main hall lights when a timer expires.",
"complexity": "low"
}
},
{
"id": "hall_big_timer_restart",
"result": {
"structured": "TRIGGER: When entrance motion sensor [binary_sensor.0x00158d0001e05856_motion] reports a motion event OR When fridge motion sensor [binary_sensor.0x00158d0002b482e9_motion] reports a motion event OR When wardrobe motion sensor [binary_sensor.582d34609600_motion] reports a motion event. CONDITIONS: Lights Main HB Group [group.lights_main_hb] is on AND the current attribute of the triggering entity is 0 (as evaluated by the template). ACTIONS: Cancel timer main light hb [timer.main_light_hb] AND start timer main light hb [timer.main_light_hb].",
"natural_language": {
"trigger": "When motion is detected by any of the three sensors in the hall: the entrance motion sensor [binary_sensor.0x00158d0001e05856_motion], the fridge motion sensor [binary_sensor.0x00158d0002b482e9_motion], or the wardrobe motion sensor [binary_sensor.582d34609600_motion].",
"conditions": "The main light group for the hall, Lights Main HB Group [group.lights_main_hb], must be turned on. Additionally, the specific motion sensor that triggered the automation must have a 'current' attribute value of 0.",
"action": "It cancels the existing timer for the main hall light, timer main light hb [timer.main_light_hb], and immediately restarts it."
},
"human_like": "Restarts the hall light timer whenever motion is detected and the main lights are already on, ensuring the lights stay on while the area is in use.",
"complexity": "medium"
}
},
{
"id": "hall_big_entrance_light_on_from_fridge",
"result": {
"structured": "TRIGGER: When action sensor fridge light [sensor.0x00158d000253f04a_action] sends a button_1_single click event OR When action sensor double button [sensor.0x00158d0001e0784e_action] sends a button_1_single click event. CONDITIONS: ha uptime [sensor.ha_uptime] is above 0 AND the entity referenced in the trigger (this.entity_id) has an attribute 'current' equal to 0. ACTIONS: Toggle channel 1 light [light.0x00158d000223921b_channel_1].",
"natural_language": {
"trigger": "When either the action sensor fridge light [sensor.0x00158d000253f04a_action] or the action sensor double button [sensor.0x00158d0001e0784e_action] is clicked with a single press of button 1.",
"conditions": "The Home Assistant system must be running, indicated by the ha uptime [sensor.ha_uptime] being greater than zero, and the sensor that triggered the event must have its 'current' attribute set to 0.",
"action": "Toggles the state of the channel 1 light [light.0x00158d000223921b_channel_1] in the hall, turning it on if it's off, or off if it's on."
},
"human_like": "Turns the hall light on or off with a single button press from either of two wireless switches, but only if the system is running and the switch is in a specific state.",
"complexity": "medium"
}
},
{
"id": "hall_big_fridge_light_on_from_entrance",
"result": {
"structured": "TRIGGER: When action sensor entrance light [sensor.0x00158d000223921b_action] sends a 'button_2_single' click event OR When action sensor double button [sensor.0x00158d0001e0784e_action] sends a 'button_2_single' click event. CONDITIONS: ha uptime [sensor.ha_uptime] is above 0. ACTIONS: Toggle channel 2 light fridge [light.0x00158d000253f04a_channel_2].",
"natural_language": {
"trigger": "When either the action sensor entrance light [sensor.0x00158d000223921b_action] or the action sensor double button [sensor.0x00158d0001e0784e_action] detects a single press of button 2.",
"conditions": "The Home Assistant system must be running, which is checked by verifying the ha uptime [sensor.ha_uptime] is greater than zero.",
"action": "Toggle the state of the channel 2 light fridge [light.0x00158d000253f04a_channel_2], turning it on if it's off, or off if it's on."
},
"human_like": "Toggles the fridge light in the hall from either of two specific button presses, provided the system is running.",
"complexity": "low"
}
},
{
"id": "hall_big_led_strip_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern minutes: /1). CONDITIONS: esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] is unavailable AND remains so for 2 minutes AND the current attribute of this entity is 0 AND system led strip hb restart key [switch.system_led_strip_hb_restart_key] is on AND zigbee outlet led strip [switch.0x00158d00023e5812_outlet] state is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE (esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] is unavailable AND repeat iteration count is less than or equal to 5) DO: Turn off zigbee outlet led strip [switch.0x00158d00023e5812_outlet], wait 15 seconds, turn on zigbee outlet led strip [switch.0x00158d00023e5812_outlet], send Telegram notification '🚨 LED Strip HB restart done({{repeat.index}})!', wait 15 seconds. AFTER LOOP: IF esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] is still unavailable THEN send Telegram notification '🚨 LED Strip HB restart unsuccessful!' AND turn off system led strip hb restart key [switch.system_led_strip_hb_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "The light esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] must be in an unavailable state for at least two minutes, its 'current' attribute must be 0, the switch system led strip hb restart key [switch.system_led_strip_hb_restart_key] must be turned on, and the zigbee outlet led strip [switch.0x00158d00023e5812_outlet] must have a state that is not 'unknown', 'unavailable', or 'none'.",
"action": "If all conditions are met, the automation attempts to restart the LED strip by turning the zigbee outlet led strip [switch.0x00158d00023e5812_outlet] off and on, up to five times, with 15-second delays between actions. After each attempt, a Telegram notification is sent. If after all attempts the light remains unavailable, a failure notification is sent and the system led strip hb restart key [switch.system_led_strip_hb_restart_key] is turned off."
},
"human_like": "Automatically attempts to restart the hall's big LED strip if it becomes unresponsive, notifying the user of the outcome.",
"complexity": "high"
}
},
{
"id": "hall_big_led_strip_restart_key_toggle",
"result": {
"structured": "TRIGGER: When esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] changes state from unavailable. CONDITIONS: None. ACTIONS: Turn on system led strip hb restart key [switch.system_led_strip_hb_restart_key].",
"natural_language": {
"trigger": "When the light esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] becomes available again after being unavailable.",
"conditions": "There are no additional conditions that need to be met.",
"action": "Turns on the switch system led strip hb restart key [switch.system_led_strip_hb_restart_key]."
},
"human_like": "Automatically restarts the hall big LED strip's control key when the light becomes available again.",
"complexity": "low"
}
},
{
"id": "hall_big_led_strip_entrance_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern minutes: /1). CONDITIONS: esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] is unavailable AND remains so for 2 minutes AND the current attribute of esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] equals 0 AND system led strip entrance hb restart key [switch.system_led_strip_entrance_hb_restart_key] is on AND digma strip hb relay1 [switch.digma_strip_hb_relay1] state is not 'unknown', 'unavailable', or 'none'. ACTIONS: While esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] is unavailable AND the loop iteration count is less than or equal to 5, execute the following sequence: turn off digma strip hb relay1 [switch.digma_strip_hb_relay1], wait 15 seconds, turn on digma strip hb relay1 [switch.digma_strip_hb_relay1], send a Telegram notification '🚨 LED Strip Entrance HB restart done({{repeat.index}})!', wait 15 seconds. After the loop, if esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] is still unavailable, send a Telegram notification '🚨 LED Strip Entrance HB restart unsuccessful!' and turn off system led strip entrance hb restart key [switch.system_led_strip_entrance_hb_restart_key].",
"natural_language": {
"trigger": "The automation triggers every minute.",
"conditions": "The automation runs only if the esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] has been unavailable for at least two minutes, its 'current' attribute is 0, the system led strip entrance hb restart key [switch.system_led_strip_entrance_hb_restart_key] is turned on, and the digma strip hb relay1 [switch.digma_strip_hb_relay1] has a state that is not 'unknown', 'unavailable', or 'none'.",
"action": "If all conditions are met, the automation attempts to restart the LED strip by turning the digma strip hb relay1 [switch.digma_strip_hb_relay1] off and on, with delays, up to five times. After each attempt, it sends a Telegram notification. If after all attempts the light remains unavailable, it sends a failure notification and turns off the restart key."
},
"human_like": "Automatically attempts to restart the entrance hall LED strip if it becomes unavailable, using a power cycle via a relay, and notifies the user of the result.",
"complexity": "high"
}
},
{
"id": "hall_big_led_strip_entrance_restart_key_toggle",
"result": {
"structured": "TRIGGER: When esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] changes from state unavailable. CONDITIONS: None. ACTIONS: Turn on system led strip entrance hb restart key [switch.system_led_strip_entrance_hb_restart_key].",
"natural_language": {
"trigger": "When the light entity esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] becomes available again after being in an unavailable state.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns on the switch system led strip entrance hb restart key [switch.system_led_strip_entrance_hb_restart_key]."
},
"human_like": "Automatically restarts the hall entrance LED strip by toggling its restart key whenever the light becomes available again.",
"complexity": "low"
}
},
{
"id": "hall_big_led_entance_manual",
"result": {
"structured": "TRIGGER: When an xiaomi_aqara.click event occurs on action sensor entrance led [sensor.0x00158d0003991051_action]. CONDITIONS: esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] is either on OR off. ACTIONS: If the click_type is single, toggle esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb]. If the click_type is double, turn on esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] with brightness 255 and color temperature 5000K. If the click_type is hold, turn on esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] with brightness 40 and color temperature 3000K.",
"natural_language": {
"trigger": "When a click event is detected from the action sensor entrance led [sensor.0x00158d0003991051_action].",
"conditions": "The light esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] must be in a simple state of either on or off.",
"action": "Depending on the type of click: a single click toggles the light on or off; a double click turns the light on at full brightness and a cool white color; a long press turns the light on at a low brightness and a warm white color."
},
"human_like": "Controls the entrance hall light with different click actions: toggle, turn on bright, or turn on dim.",
"complexity": "medium"
}
},
{
"id": "hall_big_led_strips_timer_on",
"result": {
"structured": "TRIGGER: When esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] OR esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] turns on from off. CONDITIONS: The triggering entity's 'current' attribute is equal to 0. ACTIONS: Cancel timer led strip day hb [timer.led_strip_day_hb] AND timer led strip night hb [timer.led_strip_night_hb]. Then, start a timer: timer led strip day hb [timer.led_strip_day_hb] if tod day [binary_sensor.tod_day] is on, otherwise start timer led strip night hb [timer.led_strip_night_hb].",
"natural_language": {
"trigger": "When either the esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] or the esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] light turns on from an off state.",
"conditions": "The specific light that triggered the automation must have its 'current' attribute set to 0.",
"action": "First, it cancels any running timers for both the timer led strip day hb [timer.led_strip_day_hb] and timer led strip night hb [timer.led_strip_night_hb]. Then, it starts a new timer: if the system's tod day [binary_sensor.tod_day] sensor indicates it is daytime, it starts the day timer; otherwise, it starts the night timer."
},
"human_like": "Starts a day or night timer for the hall's LED strips when they are turned on, but only if they are set to a specific brightness level.",
"complexity": "medium"
}
},
{
"id": "hall_big_led_strips_auto_led_off",
"result": {
"structured": "TRIGGER: When timer led strip day hb [timer.led_strip_day_hb] finishes OR when timer led strip night hb [timer.led_strip_night_hb] finishes. CONDITIONS: None. ACTIONS: Turn off esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb] and esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb] with a transition of 5 seconds.",
"natural_language": {
"trigger": "When either the 'timer led strip day hb' [timer.led_strip_day_hb] or the 'timer led strip night hb' [timer.led_strip_night_hb] finishes.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns off both the 'esp32 strip 1s entrance hb rgb' [light.esp32_strip_1s_entrance_hb_rgb] and the 'esp32 strip 1s wadrobe hb rgb' [light.esp32_strip_1s_wadrobe_hb_rgb] lights, fading them out over a 5-second period."
},
"human_like": "Automatically turns off the hall's LED strips with a smooth fade when their scheduled timers finish.",
"complexity": "low"
}
},
{
"id": "hall_big_led_strips_timer_restart",
"result": {
"structured": "TRIGGER: When a motion event is received from entrance motion sensor [binary_sensor.0x00158d0001e05856_motion] OR from fridge motion sensor [binary_sensor.0x00158d0002b482e9_motion] OR from Motion Sensor 1d5995e [binary_sensor.0x00158d0001d5995e_motion] OR from wardrobe motion sensor [binary_sensor.582d34609600_motion] OR when g5 flex entrance motion [binary_sensor.g5_flex_entrance_motion] changes from off to on. CONDITIONS: Lights Strips HB Group [group.lights_strips_hb] is on AND the time elapsed since the automation hall_big_led_strips_timer_restart [automation.hall_big_led_strips_timer_restart] was last triggered is greater than 5 seconds. ACTIONS: If tod day [binary_sensor.tod_day] is on, then cancel timer led strip day hb [timer.led_strip_day_hb] and start timer led strip day hb [timer.led_strip_day_hb]. Otherwise, if tod day [binary_sensor.tod_day] is off, then cancel timer led strip night hb [timer.led_strip_night_hb] and start timer led strip night hb [timer.led_strip_night_hb].",
"natural_language": {
"trigger": "The automation is triggered by motion detected by any of the five sensors in the hall: the entrance motion sensor [binary_sensor.0x00158d0001e05856_motion], the fridge motion sensor [binary_sensor.0x00158d0002b482e9_motion], the Motion Sensor 1d5995e [binary_sensor.0x00158d0001d5995e_motion], the wardrobe motion sensor [binary_sensor.582d34609600_motion], or when the g5 flex entrance motion [binary_sensor.g5_flex_entrance_motion] turns on.",
"conditions": "For the automation to proceed, the group of LED strip lights in the hall, Lights Strips HB Group [group.lights_strips_hb], must be turned on. Additionally, the automation must not have been triggered in the last 5 seconds to prevent excessive restarts.",
"action": "Depending on the time of day, the automation restarts a timer. If the 'tod day' sensor [binary_sensor.tod_day] indicates it is daytime, it cancels and immediately restarts the 'timer led strip day hb' [timer.led_strip_day_hb]. If it is not daytime, it cancels and restarts the 'timer led strip night hb' [timer.led_strip_night_hb]."
},
"human_like": "Restarts the appropriate LED strip timer in the hall when motion is detected, but only if the lights are already on and the automation hasn't run too recently.",
"complexity": "medium"
}
},
{
"id": "hall_big_main_light_off_with_occupancy",
"result": {
"structured": "TRIGGER: When occupancy hb [binary_sensor.occupancy_hb] remains off for 1 hour. CONDITIONS: Lights Main HB Group [group.lights_main_hb] is on. ACTIONS: Turn off channel 1 light [light.0x00158d000223921b_channel_1] AND channel 2 light fridge [light.0x00158d000253f04a_channel_2].",
"natural_language": {
"trigger": "When the occupancy hb [binary_sensor.occupancy_hb] sensor reports no occupancy for a continuous period of one hour.",
"conditions": "The automation only runs if the Lights Main HB Group [group.lights_main_hb], which contains the main lights for the hall, is currently turned on.",
"action": "Turns off both the channel 1 light [light.0x00158d000223921b_channel_1] and the channel 2 light fridge [light.0x00158d000253f04a_channel_2]."
},
"human_like": "Automatically turns off the main hall lights one hour after the room becomes unoccupied, but only if the lights are still on.",
"complexity": "low"
}
},
{
"id": "hall_big_bedside_lamp_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: bedside light [light.bedside] is unavailable AND remains so for 2 minutes AND system bedside restart key [switch.system_bedside_restart_key] is on AND the current attribute of the automation entity is 0 AND the state of bedside plug [switch.0x00158d00039bd56d_plug] is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE bedside light [light.bedside] is unavailable AND the loop iteration is less than or equal to 5, execute a sequence: turn off bedside plug [switch.0x00158d00039bd56d_plug], wait 15 seconds, turn on bedside plug [switch.0x00158d00039bd56d_plug], send a Telegram notification '🚨 Bedside restart done({{repeat.index}})!', wait 30 seconds. After the loop, IF bedside light [light.bedside] is still unavailable, send a Telegram notification '🚨 Bedside restart unsuccessful!' AND turn off system bedside restart key [switch.system_bedside_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "The bedside light [light.bedside] must be in an unavailable state for at least two minutes, the system bedside restart key [switch.system_bedside_restart_key] must be turned on, the automation's own current attribute must be zero, and the bedside plug [switch.0x00158d00039bd56d_plug] must not be in a state of 'unknown', 'unavailable', or 'none'.",
"action": "If all conditions are met, the automation attempts to restart the bedside light by toggling its power plug. It will repeat the following steps up to five times, but only as long as the light remains unavailable: turn off the bedside plug [switch.0x00158d00039bd56d_plug], wait 15 seconds, turn the plug back on, send a Telegram notification indicating the restart attempt number, and wait 30 seconds. After the loop, if the light is still unavailable, it sends a failure notification and turns off the system bedside restart key [switch.system_bedside_restart_key]."
},
"human_like": "Automatically attempts to restart the bedside light by power-cycling its plug if it becomes unavailable, sending status updates via Telegram.",
"complexity": "high"
}
},
{
"id": "hall_big_bedside_restart_key_toggle",
"result": {
"structured": "TRIGGER: When bedside light [light.bedside] changes state from unavailable to any other state. CONDITIONS: None. ACTIONS: Turn on system bedside restart key [switch.system_bedside_restart_key].",
"natural_language": {
"trigger": "When the bedside light [light.bedside] becomes available again after being in an unavailable state.",
"conditions": "There are no additional conditions that need to be met.",
"action": "Turns on the system bedside restart key [switch.system_bedside_restart_key]."
},
"human_like": "Automatically restarts the bedside system when the bedside light becomes available again.",
"complexity": "low"
}
},
{
"id": "hall_small_auto_night_light",
"result": {
"structured": "TRIGGER: When hall small motion sensor 1 [binary_sensor.0x00158d0001ae9f61_motion] reports a motion event OR When hall small motion sensor 2 [binary_sensor.0x00158d0002b43ad4_motion] reports a motion event OR When wardrobe contact [binary_sensor.0x00158d00025315e9_contact] OR bathroom contact sensor [binary_sensor.0x00158d0002a14c5e_contact] OR sasha door contact [binary_sensor.0x00158d0001ef2ffc_contact] changes from closed (off) to open (on). CONDITIONS: round led k [light.round_led_k] is off AND Lights Main HS Group [group.lights_main_hs] is off AND light outside mi [binary_sensor.light_outside_mi] is off AND system security mode [switch.system_security_mode] is off AND the current attribute of the triggering entity is 0. ACTIONS: Turn on mono strip 1 light [light.mono_strip_1_light] with brightness set to 100.",
"natural_language": {
"trigger": "The automation is triggered by motion detected by either hall small motion sensor 1 [binary_sensor.0x00158d0001ae9f61_motion] or hall small motion sensor 2 [binary_sensor.0x00158d0002b43ad4_motion]. It can also be triggered when any of the three contact sensors—wardrobe contact [binary_sensor.0x00158d00025315e9_contact], bathroom contact sensor [binary_sensor.0x00158d0002a14c5e_contact], or sasha door contact [binary_sensor.0x00158d0001ef2ffc_contact]—change from a closed state to an open state.",
"conditions": "Several conditions must be met for the action to run. The round led k [light.round_led_k] must be off, the main light group for the hall small area (Lights Main HS Group [group.lights_main_hs]) must be off, and the outside light sensor (light outside mi [binary_sensor.light_outside_mi]) must indicate it is dark outside (state is off). Additionally, the system security mode [switch.system_security_mode] must be disabled (off). Finally, a template condition checks that the 'current' attribute of the entity that triggered the automation is equal to 0.",
"action": "Turns on the mono strip 1 light [light.mono_strip_1_light] in the hall small area, setting its brightness to 100."
},
"human_like": "Turns on a night light in the small hall when motion is detected or a door is opened, but only if other lights are off, it's dark outside, and the security system is disarmed.",
"complexity": "medium"
}
},
{
"id": "hall_small_main_lamp_on_single",
"result": {
"structured": "TRIGGER: When Action Sensor 2a36433 [sensor.0x00158d0002a36433_action] sends a 'button_1_single' click event. CONDITIONS: round led hs [light.round_led_hs] state is either 'on' OR 'off' AND the automation's 'current' attribute is 0. ACTIONS: IF round led hs nightlight [binary_sensor.round_led_hs_nightlight] is on AND round led hs [light.round_led_hs] is off, THEN set round led hs [light.round_led_hs] mode to normal. THEN, CHOOSE: IF round led hs [light.round_led_hs] is on, THEN turn off round led hs [light.round_led_hs]. IF round led hs [light.round_led_hs] is off, THEN turn on round led hs [light.round_led_hs] with brightness 65 and color temperature 5000K.",
"natural_language": {
"trigger": "When the Action Sensor 2a36433 [sensor.0x00158d0002a36433_action] detects a single click of its first button.",
"conditions": "The automation only runs if the round led hs [light.round_led_hs] is either on or off, and if the automation's internal 'current' attribute is set to 0.",
"action": "First, if the round led hs nightlight [binary_sensor.round_led_hs_nightlight] is on and the main light is off, the automation switches the light to normal mode. Then, it toggles the main light: if the light is on, it turns it off; if the light is off, it turns it on to a brightness of 65 and a color temperature of 5000 Kelvin."
},
"human_like": "Toggles the hall's main light on or off with a specific brightness and color when a button is clicked, ensuring it's in the correct mode first.",
"complexity": "medium"
}
},
{
"id": "hall_small_main_lamp_on_double",
"result": {
"structured": "TRIGGER: When Action Sensor 2a36433 [sensor.0x00158d0002a36433_action] generates a 'button_1_double' click event. CONDITIONS: round led k [light.round_led_k] is either on OR off. ACTIONS: IF round led hs nightlight [binary_sensor.round_led_hs_nightlight] is on AND round led hs [light.round_led_hs] is off THEN set round led hs [light.round_led_hs] mode to normal. THEN turn on round led hs [light.round_led_hs] with brightness 230 and color temperature 5000K.",
"natural_language": {
"trigger": "When the Action Sensor 2a36433 [sensor.0x00158d0002a36433_action] detects a double-click on button 1.",
"conditions": "The automation only runs if the round led k [light.round_led_k] is either turned on or off.",
"action": "First, if the round led hs nightlight [binary_sensor.round_led_hs_nightlight] is active and the round led hs [light.round_led_hs] is off, it changes the light's mode to normal. Then, it turns on the round led hs [light.round_led_hs] light, setting its brightness to 230 and its color temperature to 5000 Kelvin."
},
"human_like": "Turns on the hall small main light with specific brightness and color when a button is double-clicked, ensuring the light is in the correct mode first if nightlight is active.",
"complexity": "medium"
}
},
{
"id": "hall_small_main_lamp_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: round led hs [light.round_led_hs] is unavailable AND remains so for 2 minutes AND round led hs [light.round_led_hs] has attribute 'current' equal to 0 AND system round led hs restart key [switch.system_round_led_hs_restart_key] is on AND round led hs channel 1 [switch.0x00158d0002a36433_channel_1] state is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE round led hs [light.round_led_hs] is unavailable AND loop iteration count is less than or equal to 5, DO: Turn off round led hs channel 1 [switch.0x00158d0002a36433_channel_1], wait 15 seconds, turn on round led hs channel 1 [switch.0x00158d0002a36433_channel_1], send Telegram notification '🚨 Round LED HS restart done({{repeat.index}})!', wait 30 seconds. AFTER loop, IF round led hs [light.round_led_hs] is still unavailable, THEN send Telegram notification '🚨 Round LED HS restart unsuccessful!' AND turn off system round led hs restart key [switch.system_round_led_hs_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "The round led hs [light.round_led_hs] must be in an unavailable state for at least two minutes, and its 'current' attribute must be 0. Additionally, the system round led hs restart key [switch.system_round_led_hs_restart_key] must be turned on, and the round led hs channel 1 [switch.0x00158d0002a36433_channel_1] must have a state that is not 'unknown', 'unavailable', or 'none'.",
"action": "If all conditions are met, the automation attempts to restart the light. It repeatedly turns the round led hs channel 1 [switch.0x00158d0002a36433_channel_1] off, waits 15 seconds, turns it back on, sends a Telegram notification with the attempt number, and waits 30 seconds. This loop continues up to 5 times, but only as long as the round led hs [light.round_led_hs] remains unavailable. If, after the loop, the light is still unavailable, it sends a final Telegram notification indicating the restart was unsuccessful and turns off the system round led hs restart key [switch.system_round_led_hs_restart_key]."
},
"human_like": "Automatically attempts to restart the hall's main lamp if it becomes unresponsive, notifying the user of the results.",
"complexity": "high"
}
},
{
"id": "hall_small_main_lamp_restart_key_toggle",
"result": {
"structured": "TRIGGER: When round led hs [light.round_led_hs] changes from state 'unavailable'. CONDITIONS: None. ACTIONS: Turn on system round led hs restart key [switch.system_round_led_hs_restart_key].",
"natural_language": {
"trigger": "When the round led hs [light.round_led_hs] becomes available again after being in an 'unavailable' state.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns on the system round led hs restart key [switch.system_round_led_hs_restart_key]."
},
"human_like": "Automatically restarts the hall small main lamp's system key when the lamp becomes available again.",
"complexity": "low"
}
},
{
"id": "hall_small_led_strip_timer_on",
"result": {
"structured": "TRIGGER: When mono strip 1 light [light.mono_strip_1_light] turns on from off. CONDITIONS: None. ACTIONS: Cancel timer led strip night hs [timer.led_strip_night_hs] AND start timer led strip night hs [timer.led_strip_night_hs].",
"natural_language": {
"trigger": "When the mono strip 1 light [light.mono_strip_1_light] is turned on from an off state.",
"conditions": "There are no conditions for this automation.",
"action": "Cancels the timer led strip night hs [timer.led_strip_night_hs] and then immediately starts the same timer."
},
"human_like": "Restarts a timer whenever a specific light strip is turned on.",
"complexity": "low"
}
},
{
"id": "hall_small_led_strip_auto_led_off",
"result": {
"structured": "TRIGGER: When timer led strip night hs [timer.led_strip_night_hs] finishes. CONDITIONS: None. ACTIONS: Turn off mono strip 1 light [light.mono_strip_1_light] with a transition of 5 seconds.",
"natural_language": {
"trigger": "When the timer named timer led strip night hs [timer.led_strip_night_hs] completes its countdown.",
"conditions": "There are no additional conditions that must be met.",
"action": "Gradually turns off the light named mono strip 1 light [light.mono_strip_1_light] over a period of 5 seconds."
},
"human_like": "Automatically turns off the hall small LED strip light with a gentle fade when a specific timer finishes.",
"complexity": "low"
}
},
{
"id": "hall_small_led_strip_timer_restart",
"result": {
"structured": "TRIGGER: When hall small motion sensor 1 [binary_sensor.0x00158d0001ae9f61_motion] detects motion (via xiaomi_aqara.motion event) OR When hall small motion sensor 2 [binary_sensor.0x00158d0002b43ad4_motion] detects motion (via xiaomi_aqara.motion event). CONDITIONS: (The time elapsed since the automation hall_small_led_strip_timer_restart [automation.hall_small_led_strip_timer_restart] was last triggered is greater than 5 seconds) AND (mono strip 1 light [light.mono_strip_1_light] is on). ACTIONS: Cancel timer led strip night hs [timer.led_strip_night_hs] AND Start timer led strip night hs [timer.led_strip_night_hs].",
"natural_language": {
"trigger": "When either the hall small motion sensor 1 [binary_sensor.0x00158d0001ae9f61_motion] or the hall small motion sensor 2 [binary_sensor.0x00158d0002b43ad4_motion] detects motion.",
"conditions": "If more than five seconds have passed since this automation last ran, and the mono strip 1 light [light.mono_strip_1_light] is currently turned on.",
"action": "Restarts the timer led strip night hs [timer.led_strip_night_hs] by first canceling it and then immediately starting it again."
},
"human_like": "Restarts a night light timer in the small hall whenever motion is detected, but only if the light is already on and the automation hasn't run too recently.",
"complexity": "medium"
}
},
{
"id": "hall_small_timer_restart",
"result": {
"structured": "TRIGGER: When hall small motion sensor 2 [binary_sensor.0x00158d0002b43ad4_motion] detects motion OR When hall small motion sensor 1 [binary_sensor.0x00158d0001ae9f61_motion] detects motion. CONDITIONS: round led hs [light.round_led_hs] is NOT off AND The automation hall_small_timer_restart [automation.hall_small_timer_restart] was last triggered more than 5 seconds ago AND system security mode [switch.system_security_mode] is off. ACTIONS: Cancel timer main light hs [timer.main_light_hs] AND Start timer main light hs [timer.main_light_hs].",
"natural_language": {
"trigger": "When either the hall small motion sensor 2 [binary_sensor.0x00158d0002b43ad4_motion] or the hall small motion sensor 1 [binary_sensor.0x00158d0001ae9f61_motion] detects motion.",
"conditions": "If the round led hs [light.round_led_hs] is currently on (not off), if the automation itself was not triggered within the last 5 seconds, and if the system security mode [switch.system_security_mode] is turned off.",
"action": "Cancels the timer main light hs [timer.main_light_hs] and then immediately restarts it."
},
"human_like": "Restarts the hall small light timer when motion is detected, but only if the light is already on and the system is not in security mode.",
"complexity": "medium"
}
},
{
"id": "hall_small_timer_off",
"result": {
"structured": "TRIGGER: When round led hs [light.round_led_hs] turns off. CONDITIONS: None. ACTIONS: Cancel timer main light hs [timer.main_light_hs].",
"natural_language": {
"trigger": "When the round led hs [light.round_led_hs] light is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Cancels the timer main light hs [timer.main_light_hs]."
},
"human_like": "Cancels the hall small timer when the main light is turned off.",
"complexity": "low"
}
},
{
"id": "hall_small_timer_on",
"result": {
"structured": "TRIGGER: When round led hs [light.round_led_hs] turns on. CONDITIONS: None. ACTIONS: Cancel timer main light hs [timer.main_light_hs] AND start timer main light hs [timer.main_light_hs].",
"natural_language": {
"trigger": "When the round led hs [light.round_led_hs] light is turned on.",
"conditions": "There are no conditions that must be met.",
"action": "Cancel any existing countdown on the timer main light hs [timer.main_light_hs] and then immediately start it again."
},
"human_like": "Resets the hall small timer whenever the main light is turned on.",
"complexity": "low"
}
},
{
"id": "hall_small_auto_light_off",
"result": {
"structured": "TRIGGER: When timer main light hs [timer.main_light_hs] finishes. CONDITIONS: tod day [binary_sensor.tod_day] is on. ACTIONS: Turn off round led hs [light.round_led_hs] with a transition of 15 seconds.",
"natural_language": {
"trigger": "When the timer named timer main light hs [timer.main_light_hs] finishes.",
"conditions": "The automation only runs if the tod day [binary_sensor.tod_day] sensor indicates it is daytime (state is on).",
"action": "Turns off the light named round led hs [light.round_led_hs], fading it out over 15 seconds."
},
"human_like": "Automatically turns off the hall small light with a gentle fade when its timer ends, but only during the day.",
"complexity": "low"
}
},
{
"id": "hall_small_main_light_off_with_occupancy",
"result": {
"structured": "TRIGGER: When occupancy hs [binary_sensor.occupancy_hs] remains unoccupied (off) for 1 hour. CONDITIONS: Lights Main HS Group [group.lights_main_hs] is on. ACTIONS: Turn off round led hs [light.round_led_hs] AND mono strip 1 light [light.mono_strip_1_light] with a 15-second transition.",
"natural_language": {
"trigger": "When the occupancy sensor for the hall small [binary_sensor.occupancy_hs] reports the area as unoccupied for a continuous period of one hour.",
"conditions": "The main light group for the hall small [group.lights_main_hs] must be turned on.",
"action": "Turns off the round LED light [light.round_led_hs] and the mono strip light [light.mono_strip_1_light], fading them out over 15 seconds."
},
"human_like": "Automatically turns off the main hall lights one hour after the area becomes unoccupied, with a gentle fade-out.",
"complexity": "low"
}
},
{
"id": "kitchen_timer_restart",
"result": {
"structured": "TRIGGER: When motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] reports a motion event OR when motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] reports a motion event OR when kitchen table action [sensor.0x00158d0002a2412d_action] changes to vibration or tilt. CONDITIONS: Lights Main K Group [group.lights_main_k] is on AND the time elapsed since the last trigger of this automation is greater than 5 seconds AND system security mode [switch.system_security_mode] is off AND the automation's 'current' attribute is 0. ACTIONS: Cancel timer main light k [timer.main_light_k] AND start timer main light k [timer.main_light_k].",
"natural_language": {
"trigger": "When motion is detected by either motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] or motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion], or when the kitchen table action [sensor.0x00158d0002a2412d_action] reports a vibration or tilt event.",
"conditions": "The main kitchen lights, represented by Lights Main K Group [group.lights_main_k], must be on. This automation must not have been triggered in the last 5 seconds. The system security mode [switch.system_security_mode] must be turned off. The automation's internal 'current' attribute must be set to 0.",
"action": "Restarts the kitchen light timer by first canceling and then immediately starting timer main light k [timer.main_light_k]."
},
"human_like": "Restarts the kitchen light timer when motion or activity is detected, ensuring the lights stay on while the kitchen is in use.",
"complexity": "medium"
}
},
{
"id": "kitchen_timer_off",
"result": {
"structured": "TRIGGER: When round led k [light.round_led_k] turns off. CONDITIONS: None. ACTIONS: Cancel timer main light k [timer.main_light_k] AND timer main light delay k [timer.main_light_delay_k], then start timer main light delay k [timer.main_light_delay_k].",
"natural_language": {
"trigger": "When the round led k [light.round_led_k] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Cancels both the timer main light k [timer.main_light_k] and timer main light delay k [timer.main_light_delay_k] timers, and then starts the timer main light delay k [timer.main_light_delay_k] timer."
},
"human_like": "When the kitchen light is turned off, it cancels existing light timers and starts a new delay timer.",
"complexity": "low"
}
},
{
"id": "kitchen_timer_on",
"result": {
"structured": "TRIGGER: When round led k [light.round_led_k] turns on. CONDITIONS: None. ACTIONS: Cancel timer main light k [timer.main_light_k] AND start timer main light k [timer.main_light_k] AND turn off esp32 node k light [light.esp32_node_k_light] and mono strip 1 light [light.mono_strip_1_light] with a 5-second transition.",
"natural_language": {
"trigger": "When the round led k [light.round_led_k] light turns on.",
"conditions": "There are no conditions that need to be met.",
"action": "Cancel the timer main light k [timer.main_light_k], restart the same timer, and turn off the esp32 node k light [light.esp32_node_k_light] and mono strip 1 light [light.mono_strip_1_light] lights with a 5-second fade-out."
},
"human_like": "When the main kitchen light is turned on, it resets a timer and turns off other specified lights.",
"complexity": "low"
}
},
{
"id": "kitchen_auto_light_off",
"result": {
"structured": "TRIGGER: When timer main light k [timer.main_light_k] finishes. CONDITIONS: tod day [binary_sensor.tod_day] is on AND presence kitchen [binary_sensor.presence_k] is off. ACTIONS: Turn off round led k [light.round_led_k] with a 15-second transition AND turn off d1mini light l led [light.d1mini_light_l_led], sonoff mini 4 led [light.sonoff_mini_4_led], and esp8266 hood main light [light.esp8266_hood_k_main].",
"natural_language": {
"trigger": "When the timer named timer main light k [timer.main_light_k] finishes its countdown.",
"conditions": "It must be daytime, indicated by tod day [binary_sensor.tod_day] being on, and there must be no presence detected in the kitchen, indicated by presence kitchen [binary_sensor.presence_k] being off.",
"action": "Turn off the round led k [light.round_led_k] light with a 15-second fade-out transition, and also turn off the d1mini light l led [light.d1mini_light_l_led], sonoff mini 4 led [light.sonoff_mini_4_led], and esp8266 hood main light [light.esp8266_hood_k_main] lights."
},
"human_like": "Automatically turns off the kitchen lights during the day when a timer ends and no one is present.",
"complexity": "low"
}
},
{
"id": "kitchen_auto_light_on",
"result": {
"structured": "TRIGGER: When motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] reports a motion event OR When motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] reports a motion event. CONDITIONS: tod day [binary_sensor.tod_day] is on AND system security mode [switch.system_security_mode] is off AND Lights Main K Group [group.lights_main_k] is off AND light outside mi [binary_sensor.light_outside_mi] is off AND timer main light delay k [timer.main_light_delay_k] is idle AND the current attribute of the triggering entity is 0. ACTIONS: Turn on esp32 node k light [light.esp32_node_k_light].",
"natural_language": {
"trigger": "When either the motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] or the motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] detects motion.",
"conditions": "It must be daytime, as indicated by tod day [binary_sensor.tod_day] being on. The system security mode [switch.system_security_mode] must be off. The main kitchen lights, represented by the group Lights Main K Group [group.lights_main_k], must be off. The outside light sensor, light outside mi [binary_sensor.light_outside_mi], must be off, indicating it's not already bright outside. The timer main light delay k [timer.main_light_delay_k] must not be running (idle). Additionally, the 'current' attribute of the motion sensor that triggered the automation must be 0.",
"action": "Turns on the kitchen light, esp32 node k light [light.esp32_node_k_light]."
},
"human_like": "Automatically turns on the kitchen light when motion is detected during the day, provided the lights are off, security is disabled, and certain other conditions are met.",
"complexity": "medium"
}
},
{
"id": "kitchen_auto_night_light",
"result": {
"structured": "TRIGGER: When motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] detects motion OR when motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] detects motion. CONDITIONS: tod day [binary_sensor.tod_day] is off AND esp32 node k light [light.esp32_node_k_light] is not on AND Lights Main K Group [group.lights_main_k] is off AND system security mode [switch.system_security_mode] is off AND the automation hall_small_auto_night_light [automation.hall_small_auto_night_light] was last triggered less than 600 seconds ago AND the current attribute of this automation entity is 0. ACTIONS: Turn on esp32 node k light [light.esp32_node_k_light] with brightness set to 255.",
"natural_language": {
"trigger": "When either the motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] or the motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] detects motion.",
"conditions": "It must be night time, indicated by the tod day [binary_sensor.tod_day] being off. The target light, esp32 node k light [light.esp32_node_k_light], must be off. All main kitchen lights, represented by the Lights Main K Group [group.lights_main_k], must also be off. The system security mode [switch.system_security_mode] must be disabled. Additionally, another automation named hall_small_auto_night_light must have been triggered within the last 10 minutes, and this specific automation must be in a state where its 'current' attribute is 0.",
"action": "Turns on the esp32 node k light [light.esp32_node_k_light] at full brightness."
},
"human_like": "Turns on a specific kitchen night light when motion is detected at night, but only if other lights are off and the security system is disarmed.",
"complexity": "medium"
}
},
{
"id": "kitchen_main_lamp_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: round led k [light.round_led_k] is unavailable AND remains so for 2 minutes AND the current attribute of round led k [light.round_led_k] is 0 AND system round led k restart key [switch.system_round_led_k_restart_key] is on AND the state of round led k channel 2 [switch.0x00158d0002a36f7f_channel_2] is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE round led k [light.round_led_k] is unavailable AND the loop iteration count is less than or equal to 5, execute a sequence: turn off round led k channel 2 [switch.0x00158d0002a36f7f_channel_2], wait 15 seconds, turn on round led k channel 2 [switch.0x00158d0002a36f7f_channel_2], send a Telegram notification '🚨 Round LED K restart done({{repeat.index}})!', wait 30 seconds. AFTER the loop, IF round led k [light.round_led_k] is still unavailable, THEN send a Telegram notification '🚨 Round LED K restart unsuccessful!' AND turn off system round led k restart key [switch.system_round_led_k_restart_key]. OTHERWISE, set round led k [light.round_led_k] to its previous state (using the state of round led k prev [binary_sensor.round_led_k_prev]) AND turn on system round led k restart key [switch.system_round_led_k_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "The round led k [light.round_led_k] must be in an unavailable state for at least two minutes, its 'current' attribute must be 0, the system round led k restart key [switch.system_round_led_k_restart_key] must be switched on, and the round led k channel 2 [switch.0x00158d0002a36f7f_channel_2] must have a valid state (not 'unknown', 'unavailable', or 'none').",
"action": "If all conditions are met, the automation attempts to restart the light by repeatedly turning the power off and on via the channel 2 switch, up to five times, notifying the user after each attempt. After these attempts, if the light is still unavailable, it sends a failure notification and disables the restart key. If the restart is successful, it restores the light to its previous on/off state and re-enables the restart key."
},
"human_like": "Automatically attempts to restart the kitchen's main lamp if it becomes unresponsive, using a power cycle method and notifying the user of the outcome.",
"complexity": "high"
}
},
{
"id": "kitchen_main_lamp_restart_key_toggle",
"result": {
"structured": "TRIGGER: When round led k [light.round_led_k] changes from state 'unavailable'. CONDITIONS: None. ACTIONS: Turn on system round led k restart key [switch.system_round_led_k_restart_key].",
"natural_language": {
"trigger": "When the round led k [light.round_led_k] becomes available again after being in an 'unavailable' state.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns on the system round led k restart key [switch.system_round_led_k_restart_key]."
},
"human_like": "Automatically restarts the kitchen main lamp's control key when the lamp becomes available again.",
"complexity": "low"
}
},
{
"id": "kitchen_main_lamp_switch_on_if_off",
"result": {
"structured": "TRIGGER: When action sensor round led k [sensor.0x00158d0002a36f7f_action] generates a 'button_2_single' click event. CONDITIONS: round led k channel 2 [switch.0x00158d0002a36f7f_channel_2] is off. ACTIONS: Turn on round led k channel 2 [switch.0x00158d0002a36f7f_channel_2].",
"natural_language": {
"trigger": "When the action sensor round led k [sensor.0x00158d0002a36f7f_action] detects a single click on button 2.",
"conditions": "The round led k channel 2 [switch.0x00158d0002a36f7f_channel_2] must be in the off state.",
"action": "Turn on the round led k channel 2 [switch.0x00158d0002a36f7f_channel_2]."
},
"human_like": "Turns on the kitchen lamp when its specific button is clicked, but only if the lamp is currently off.",
"complexity": "low"
}
},
{
"id": "kitchen_main_lamp_on",
"result": {
"structured": "TRIGGER: When action sensor round led k [sensor.0x00158d0002a36f7f_action] receives a 'button_2_single' click event. CONDITIONS: round led k [light.round_led_k] is either on OR off AND round led k channel 2 [switch.0x00158d0002a36f7f_channel_2] is on AND the automation entity's 'current' attribute is 0. ACTIONS: Choose one sequence based on conditions: 1) IF round led k nightlight [binary_sensor.round_led_k_nightlight] is on AND round led k [light.round_led_k] is off THEN set round led k [light.round_led_k] to normal mode AND turn it on with brightness 230 and color temperature 5000K. 2) IF round led k nightlight [binary_sensor.round_led_k_nightlight] is off AND round led k [light.round_led_k] is on THEN turn off round led k [light.round_led_k] AND wait 1 second AND if round led k [light.round_led_k] is still on THEN turn it off again. 3) IF round led k [light.round_led_k] is off AND round led k nightlight [binary_sensor.round_led_k_nightlight] is off THEN turn on round led k [light.round_led_k] with brightness 230 and color temperature 5000K.",
"natural_language": {
"trigger": "When the action sensor round led k [sensor.0x00158d0002a36f7f_action] detects a single click on button 2.",
"conditions": "The round led k [light.round_led_k] must be in a valid state, either on or off. The round led k channel 2 [switch.0x00158d0002a36f7f_channel_2] must be turned on. Additionally, the automation's own 'current' attribute must be set to 0.",
"action": "Depending on the state of the light and its nightlight mode, one of three actions will occur. If the nightlight is on and the main light is off, the light is switched to normal mode and turned on to a bright, cool white. If the nightlight is off and the main light is on, the light is turned off, and after a one-second delay, if it's still on, it is turned off again. If both the nightlight and the main light are off, the main light is turned on to a bright, cool white."
},
"human_like": "This automation controls the kitchen's main lamp with a button click, toggling the light on or off with specific brightness and color settings, and handling a special nightlight mode.",
"complexity": "medium"
}
},
{
"id": "kitchen_main_lamp_on_full",
"result": {
"structured": "TRIGGER: When action sensor round led k [sensor.0x00158d0002a36f7f_action] receives a 'button_2_double' click event. CONDITIONS: round led k [light.round_led_k] is either on OR off AND round led k channel 2 [switch.0x00158d0002a36f7f_channel_2] is on AND the automation entity's 'current' attribute is 0. ACTIONS: If round led k nightlight [binary_sensor.round_led_k_nightlight] is on AND round led k [light.round_led_k] is off, then set round led k [light.round_led_k] mode to normal. Then, turn on round led k [light.round_led_k] with brightness 230 and color temperature 5000K.",
"natural_language": {
"trigger": "When the action sensor round led k [sensor.0x00158d0002a36f7f_action] detects a double-click on button 2.",
"conditions": "The round led k [light.round_led_k] must be either on or off, the round led k channel 2 [switch.0x00158d0002a36f7f_channel_2] must be switched on, and the automation entity itself must have its 'current' attribute set to 0.",
"action": "First, if the round led k nightlight [binary_sensor.round_led_k_nightlight] is on and the main light is off, it changes the light's mode to normal. Then, it turns on the round led k [light.round_led_k] light to a bright, cool white setting (brightness 230, color temperature 5000K)."
},
"human_like": "Turns on the main kitchen light to a bright, cool white setting when a specific button is double-clicked, ensuring the light is in the correct mode first.",
"complexity": "medium"
}
},
{
"id": "kitchen_led_strips_timer",
"result": {
"structured": "TRIGGER: When esp32 node k light [light.esp32_node_k_light] turns on. CONDITIONS: None. ACTIONS: Cancel timer led strip night k [timer.led_strip_night_k] AND start timer led strip night k [timer.led_strip_night_k].",
"natural_language": {
"trigger": "When the esp32 node k light [light.esp32_node_k_light] is turned on.",
"conditions": "There are no conditions that must be met.",
"action": "Cancels the timer led strip night k [timer.led_strip_night_k] and then immediately starts it again."
},
"human_like": "Resets a night timer for the kitchen LED strips whenever the main kitchen light is turned on.",
"complexity": "low"
}
},
{
"id": "kitchen_led_strip_auto_led_off",
"result": {
"structured": "TRIGGER: When timer led strip night k [timer.led_strip_night_k] finishes. CONDITIONS: None. ACTIONS: Turn off esp32 node k light [light.esp32_node_k_light] with a transition of 5 seconds.",
"natural_language": {
"trigger": "When the timer named timer led strip night k [timer.led_strip_night_k] finishes running.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns off the kitchen light strip, esp32 node k light [light.esp32_node_k_light], fading it out over 5 seconds."
},
"human_like": "Automatically turns off the kitchen LED strip with a gentle fade when its night timer finishes.",
"complexity": "low"
}
},
{
"id": "kitchen_led_strip_timer_restart",
"result": {
"structured": "TRIGGER: When motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] detects motion (xiaomi_aqara.motion event) OR When motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] detects motion (xiaomi_aqara.motion event) OR When esp32 node k light [light.esp32_node_k_light] turns on. CONDITIONS: esp32 node k light [light.esp32_node_k_light] is on AND tod day [binary_sensor.tod_day] is off AND more than 5 seconds have passed since the automation kitchen_led_strip_timer_restart [automation.kitchen_led_strip_timer_restart] was last triggered AND system security mode [switch.system_security_mode] is off. ACTIONS: Cancel timer led strip night k [timer.led_strip_night_k] AND start timer led strip night k [timer.led_strip_night_k].",
"natural_language": {
"trigger": "The automation triggers when either motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion] or motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] reports a motion event, or when the esp32 node k light [light.esp32_node_k_light] is turned on.",
"conditions": "For the action to run, the esp32 node k light [light.esp32_node_k_light] must be on, the tod day [binary_sensor.tod_day] sensor must indicate it is not daytime, the automation itself must not have been triggered within the last 5 seconds, and the system security mode [switch.system_security_mode] must be switched off.",
"action": "It restarts the timer for the kitchen's night lighting by first cancelling and then immediately starting the timer led strip night k [timer.led_strip_night_k]."
},
"human_like": "Restarts the kitchen night light timer when motion is detected or the light is turned on, but only at night and when the security system is disarmed.",
"complexity": "medium"
}
},
{
"id": "kitchen_night_aux_light",
"result": {
"structured": "TRIGGER: When round led k [light.round_led_k] changes from on to off. CONDITIONS: (system security mode [switch.system_security_mode] is off) AND (d1mini light l led [light.d1mini_light_l_led] is off AND sonoff mini 4 led [light.sonoff_mini_4_led] is off AND esp8266 hood main light [light.esp8266_hood_k_main] is off AND esp32 node k light [light.esp32_node_k_light] is off AND mono strip 1 light [light.mono_strip_1_light] is off AND round led hs [light.round_led_hs] is off) AND (light outside mi [binary_sensor.light_outside_mi] is off). ACTIONS: Turn on esp32 node k light [light.esp32_node_k_light] with brightness 255 AND turn on mono strip 1 light [light.mono_strip_1_light] with brightness 128.",
"natural_language": {
"trigger": "When the main kitchen light, round led k [light.round_led_k], is turned off.",
"conditions": "The system security mode [switch.system_security_mode] must be off. All other kitchen and hall lights (d1mini light l led [light.d1mini_light_l_led], sonoff mini 4 led [light.sonoff_mini_4_led], esp8266 hood main light [light.esp8266_hood_k_main], esp32 node k light [light.esp32_node_k_light], mono strip 1 light [light.mono_strip_1_light], and round led hs [light.round_led_hs]) must be off. Additionally, the outside light sensor, light outside mi [binary_sensor.light_outside_mi], must report that it is dark outside (state 'off').",
"action": "Turn on the auxiliary kitchen light, esp32 node k light [light.esp32_node_k_light], at full brightness, and turn on the hall strip light, mono strip 1 light [light.mono_strip_1_light], at half brightness."
},
"human_like": "Turns on a low-level night light in the kitchen and hallway when the main kitchen light is turned off, but only if it's dark outside and no other lights are on.",
"complexity": "medium"
}
},
{
"id": "kitchen_main_light_off_with_occupancy",
"result": {
"structured": "TRIGGER: When presence kitchen [binary_sensor.presence_k] becomes 'off' and remains off for 15 minutes. CONDITIONS: Lights Main K Group [group.lights_main_k] is 'on'. ACTIONS: Turn off d1mini light l led [light.d1mini_light_l_led], sonoff mini 4 led [light.sonoff_mini_4_led], and esp8266 hood main light [light.esp8266_hood_k_main]. Then, turn off round led k [light.round_led_k] with a transition time of 15 seconds.",
"natural_language": {
"trigger": "When the presence kitchen [binary_sensor.presence_k] sensor detects no presence for a continuous period of 15 minutes.",
"conditions": "The automation only runs if the Lights Main K Group [group.lights_main_k] is currently on.",
"action": "Turns off the main kitchen lights, including d1mini light l led [light.d1mini_light_l_led], sonoff mini 4 led [light.sonoff_mini_4_led], and esp8266 hood main light [light.esp8266_hood_k_main]. It also turns off the round led k [light.round_led_k] with a smooth 15-second fade-out."
},
"human_like": "Turns off all the main kitchen lights 15 minutes after the room becomes unoccupied, but only if they are currently on.",
"complexity": "low"
}
},
{
"id": "master_bedroom_table_lamp",
"result": {
"structured": "TRIGGER: When action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] sends a click event (xiaomi_aqara.click). CONDITIONS: (table lamp master bedroom [light.0x54ef441000c88fa8_light] is either on OR off) AND (the 'current' attribute of the trigger entity is 0). ACTIONS: If the click_type is 'single' OR 'button_1_single', toggle table lamp master bedroom [light.0x54ef441000c88fa8_light]. If the click_type is 'double' OR 'button_1_double', turn on table lamp master bedroom [light.0x54ef441000c88fa8_light] with brightness 255 and color temperature 5000K. If the click_type is 'hold' OR 'button_1_hold', turn on table lamp master bedroom [light.0x54ef441000c88fa8_light] with brightness 14 and color temperature 3000K.",
"natural_language": {
"trigger": "When the action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] detects a button click.",
"conditions": "The table lamp master bedroom [light.0x54ef441000c88fa8_light] must be in a valid state, either on or off, and the 'current' attribute of the triggering sensor must be 0.",
"action": "Depending on the type of click detected, the automation performs different actions. A single click toggles the lamp on or off. A double click turns the lamp on to full brightness with a cool white color. A long press (hold) turns the lamp on to a very low brightness with a warm white color."
},
"human_like": "Controls the master bedroom table lamp with different click patterns on its sensor: single click toggles, double click for bright light, and hold for a dim, warm light.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_main_lamp_right_button",
"result": {
"structured": "TRIGGER: When action sensor main lamp mb [sensor.0x00158d00013e6aa5_action] sends a 'button_2_single' click event OR When action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] sends a 'button_3_single' click event. CONDITIONS: round led mb [light.round_led_mb] state is either 'on' or 'off' AND the automation entity's 'current' attribute is 0. ACTIONS: If round led mb nightlight [binary_sensor.round_led_mb_nightlight] is on AND round led mb [light.round_led_mb] is off, then set round led mb [light.round_led_mb] to normal mode and turn it on with brightness 230 and color temperature 5000K. Otherwise, if round led mb [light.round_led_mb] is off AND round led mb nightlight [binary_sensor.round_led_mb_nightlight] is off, then turn on round led mb [light.round_led_mb] with brightness 230 and color temperature 5000K. Otherwise, if round led mb [light.round_led_mb] is on, then turn it off.",
"natural_language": {
"trigger": "When either the action sensor main lamp mb [sensor.0x00158d00013e6aa5_action] reports a single press of its second button, or the action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] reports a single press of its third button.",
"conditions": "The round led mb [light.round_led_mb] must be in a simple state of either on or off, and the automation's own 'current' attribute must be set to 0.",
"action": "If the nightlight feature of the lamp is active and the main light is off, the automation switches the lamp to normal mode and turns it on to a bright, cool white light. If the nightlight is off and the main light is off, it simply turns the main light on to the same bright, cool white setting. If the main light is already on, the automation turns it off."
},
"human_like": "Toggles the master bedroom's main lamp between a bright white light and off using specific button presses from two different remote sensors, with special handling for the nightlight mode.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_main_lamp_right_button_full",
"result": {
"structured": "TRIGGER: When action sensor main lamp mb [sensor.0x00158d00013e6aa5_action] sends a 'button_2_double' click event. CONDITIONS: round led mb [light.round_led_mb] is either on or off. ACTIONS: Turn on round led mb [light.round_led_mb] with brightness set to 230 and color temperature set to 5000 Kelvin.",
"natural_language": {
"trigger": "When the action sensor main lamp mb [sensor.0x00158d00013e6aa5_action] detects a double-click on button 2.",
"conditions": "The round led mb [light.round_led_mb] must be in a state of either on or off.",
"action": "Turns on the round led mb [light.round_led_mb] light, setting its brightness to 230 and its color temperature to 5000 Kelvin."
},
"human_like": "Turns on the master bedroom's main lamp to a bright, cool white setting when a specific button on its sensor is double-clicked.",
"complexity": "low"
}
},
{
"id": "master_bedroom_main_lamp_left_button",
"result": {
"structured": "TRIGGER: When action sensor main lamp mb [sensor.0x00158d00013e6aa5_action] sends a 'button_1_single' click event OR When action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] sends a 'button_3_double' click event. CONDITIONS: round led mb [light.round_led_mb] state is either 'on' OR 'off' AND the automation entity's 'current' attribute is 0. ACTIONS: If round led mb nightlight [binary_sensor.round_led_mb_nightlight] is on AND round led mb [light.round_led_mb] is off, then set round led mb [light.round_led_mb] to normal mode and turn it on with brightness 77 and color temperature 3000K. Otherwise, if round led mb [light.round_led_mb] is off AND round led mb nightlight [binary_sensor.round_led_mb_nightlight] is off, then turn on round led mb [light.round_led_mb] with brightness 77 and color temperature 3000K. Otherwise, if round led mb [light.round_led_mb] is on, then turn it off.",
"natural_language": {
"trigger": "When either the action sensor main lamp mb [sensor.0x00158d00013e6aa5_action] is clicked once, or the action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] is double-clicked on its third button.",
"conditions": "The round led mb [light.round_led_mb] must be either on or off, and the automation's internal 'current' attribute must be set to 0.",
"action": "If the nightlight mode is active and the main light is off, the automation switches the light to normal mode and turns it on with a warm white setting. If the nightlight is off and the main light is also off, it simply turns the light on with the same warm white setting. If the main light is already on, it turns it off."
},
"human_like": "Controls the master bedroom's main lamp using two different remote buttons, toggling it on with a warm white light or off, and handling a special case when nightlight mode is active.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_round_led_restart",
"result": {
"structured": "TRIGGER: Every 1 minute (time pattern). CONDITIONS: (round led mb [light.round_led_mb] is unavailable AND remains so for 2 minutes) AND (round led mb [light.round_led_mb] has attribute 'current' equal to 0) AND (system round led mb restart key [switch.system_round_led_mb_restart_key] is on) AND (shelly 1 led mb [switch.shelly_1_led_mb] state is not 'unknown', 'unavailable', or 'none'). ACTIONS: WHILE (round led mb [light.round_led_mb] is unavailable AND repeat iteration is 5 or less) DO: Turn off shelly 1 led mb [switch.shelly_1_led_mb], wait 15 seconds, turn on shelly 1 led mb [switch.shelly_1_led_mb], send Telegram notification '🚨 Round LED MB restart done({{repeat.index}})!', wait 30 seconds. AFTER loop, IF round led mb [light.round_led_mb] is unavailable THEN send Telegram notification '🚨 Round LED MB restart unsuccessful!' AND turn off system round led mb restart key [switch.system_round_led_mb_restart_key].",
"natural_language": {
"trigger": "The automation triggers every minute.",
"conditions": "The round led mb [light.round_led_mb] must be in an unavailable state for at least two minutes, have its 'current' attribute set to 0, the system round led mb restart key [switch.system_round_led_mb_restart_key] must be turned on, and the shelly 1 led mb [switch.shelly_1_led_mb] must be in a state other than 'unknown', 'unavailable', or 'none'.",
"action": "If all conditions are met, the automation attempts to restart the light by repeatedly turning the shelly 1 led mb [switch.shelly_1_led_mb] off and on, up to five times, sending a Telegram notification after each attempt. If after all attempts the round led mb [light.round_led_mb] is still unavailable, it sends a failure notification and turns off the system round led mb restart key [switch.system_round_led_mb_restart_key]."
},
"human_like": "Automatically attempts to restart the master bedroom round LED light if it becomes unresponsive, notifying the user of the results.",
"complexity": "high"
}
},
{
"id": "master_bedroom_lamp_restart_key_toggle",
"result": {
"structured": "TRIGGER: When round led mb [light.round_led_mb] changes from unavailable to any other state. CONDITIONS: None. ACTIONS: Turn on system round led mb restart key [switch.system_round_led_mb_restart_key].",
"natural_language": {
"trigger": "When the round led mb [light.round_led_mb] becomes available again after being unavailable.",
"conditions": "There are no conditions that must be met.",
"action": "Turns on the system round led mb restart key [switch.system_round_led_mb_restart_key]."
},
"human_like": "Automatically restarts the master bedroom lamp's control key when the lamp becomes available again.",
"complexity": "low"
}
},
{
"id": "master_bedroom_main_lamp_switch_on_if_off",
"result": {
"structured": "TRIGGER: When action sensor main lamp mb [sensor.0x00158d00013e6aa5_action] reports a 'button_2_single' click OR When action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] reports a 'button_3_single' click. CONDITIONS: shelly 1 led mb [switch.shelly_1_led_mb] is off. ACTIONS: Turn on shelly 1 led mb [switch.shelly_1_led_mb].",
"natural_language": {
"trigger": "When the action sensor main lamp mb [sensor.0x00158d00013e6aa5_action] detects a single click on button 2, or when the action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] detects a single click on button 3.",
"conditions": "The shelly 1 led mb [switch.shelly_1_led_mb] must currently be off.",
"action": "Turns on the shelly 1 led mb [switch.shelly_1_led_mb] switch."
},
"human_like": "Turns on the main bedroom lamp from either of two wireless switches, but only if the lamp is currently off.",
"complexity": "low"
}
},
{
"id": "master_bedroom_timer_restart",
"result": {
"structured": "TRIGGER: When motion sensor master bedroom [binary_sensor.0x00158d0001e53cda_motion] detects motion (xiaomi_aqara.motion event). CONDITIONS: round led mb [light.round_led_mb] is on. ACTIONS: Cancel timer main light mb [timer.main_light_mb] AND start timer main light mb [timer.main_light_mb].",
"natural_language": {
"trigger": "When the motion sensor master bedroom [binary_sensor.0x00158d0001e53cda_motion] reports a motion event.",
"conditions": "The round led mb [light.round_led_mb] must be turned on.",
"action": "Cancels the timer main light mb [timer.main_light_mb] and then immediately starts it again."
},
"human_like": "Restarts the main light timer in the master bedroom when motion is detected while the light is on.",
"complexity": "low"
}
},
{
"id": "master_bedroom_timer_off",
"result": {
"structured": "TRIGGER: When round led mb [light.round_led_mb] changes from on to off. CONDITIONS: None. ACTIONS: Cancel timer main light mb [timer.main_light_mb].",
"natural_language": {
"trigger": "When the round led mb [light.round_led_mb] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Cancels the timer main light mb [timer.main_light_mb]."
},
"human_like": "Cancels the main bedroom light timer when the round LED light is turned off.",
"complexity": "low"
}
},
{
"id": "master_bedroom_timer_on",
"result": {
"structured": "TRIGGER: When round led mb [light.round_led_mb] turns on from off. CONDITIONS: None. ACTIONS: Cancel timer main light mb [timer.main_light_mb] AND start timer main light mb [timer.main_light_mb].",
"natural_language": {
"trigger": "When the round led mb [light.round_led_mb] light is turned on from an off state.",
"conditions": "There are no conditions for this automation.",
"action": "Cancels any existing countdown on the timer main light mb [timer.main_light_mb] and then immediately starts it again."
},
"human_like": "Restarts the master bedroom light timer whenever the main light is turned on.",
"complexity": "low"
}
},
{
"id": "master_bedroom_led_strip_bookshelf_control",
"result": {
"structured": "TRIGGER: When an event of type xiaomi_aqara.click occurs for action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action]. CONDITIONS: (esp32 strip 1s bookshelf mb rgb [light.esp32_strip_1s_bookshelf_mb_rgb] state is either 'on' or 'off') AND (the 'current' attribute of the trigger entity is 0) AND (ha uptime [sensor.ha_uptime] is greater than 0). ACTIONS: If the click_type is 'single' OR 'button_4_single', toggle esp32 strip 1s bookshelf mb rgb [light.esp32_strip_1s_bookshelf_mb_rgb]. If the click_type is 'double' OR 'button_4_double', turn on esp32 strip 1s bookshelf mb rgb [light.esp32_strip_1s_bookshelf_mb_rgb] with brightness 255 and RGB color (255, 159, 70). If the click_type is 'hold' OR 'button_4_hold', turn on esp32 strip 1s bookshelf mb rgb [light.esp32_strip_1s_bookshelf_mb_rgb] with brightness 15 and RGB color (250, 95, 85).",
"natural_language": {
"trigger": "When the action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] is clicked.",
"conditions": "The esp32 strip 1s bookshelf mb rgb [light.esp32_strip_1s_bookshelf_mb_rgb] must be either on or off, the 'current' attribute of the triggering sensor must be 0, and the ha uptime [sensor.ha_uptime] must be greater than 0.",
"action": "Depending on the click type: a single click toggles the light on or off; a double click turns the light on to full brightness with a warm orange color; a long press turns the light on to a low brightness with a reddish color."
},
"human_like": "Controls the bookshelf LED strip in the master bedroom using different click patterns on a sensor, allowing toggling, setting a bright warm light, or a dim red light.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_led_strip_wadrobe_control",
"result": {
"structured": "TRIGGER: When a click event occurs on action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action]. CONDITIONS: esp32 strip 1s wadrobe mb rgb [light.esp32_strip_1s_wadrobe_mb_rgb] state is either 'on' OR 'off' AND the attribute 'current' of action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] is 0 AND ha uptime [sensor.ha_uptime] is greater than 0. ACTIONS: If click_type is 'single' OR 'button_2_single', toggle esp32 strip 1s wadrobe mb rgb [light.esp32_strip_1s_wadrobe_mb_rgb]. If click_type is 'double' OR 'button_2_double', turn on esp32 strip 1s wadrobe mb rgb [light.esp32_strip_1s_wadrobe_mb_rgb] with brightness 255 and RGB color (255, 159, 70). If click_type is 'hold' OR 'button_2_hold', turn on esp32 strip 1s wadrobe mb rgb [light.esp32_strip_1s_wadrobe_mb_rgb] with brightness 15 and RGB color (250, 95, 85).",
"natural_language": {
"trigger": "When the action sensor table lamp [sensor.0x04cf8cdf3c77cc5f_action] detects a click event.",
"conditions": "The wardrobe LED strip [light.esp32_strip_1s_wadrobe_mb_rgb] must be either on or off, the action sensor's 'current' attribute must be 0, and the Home Assistant system [sensor.ha_uptime] must be running (uptime greater than 0).",
"action": "Depending on the click type: a single click toggles the LED strip on or off; a double click turns it on at full brightness with a warm white color; a long press turns it on at a low brightness with a reddish color."
},
"human_like": "Controls the master bedroom wardrobe LED strip using different click patterns on a wireless switch, offering toggle, bright, and dimmed lighting modes.",
"complexity": "medium"
}
},
{
"id": "master_bedroom_main_light_off_with_occupancy",
"result": {
"structured": "TRIGGER: When presence master bedroom [binary_sensor.presence_mb] remains off for 15 minutes. CONDITIONS: Lights MB Group [group.lights_mb] is on. ACTIONS: Turn off round led mb ambilight [light.round_led_mb_ambilight], table lamp master bedroom [light.0x54ef441000c88fa8_light], esp32 strip 1s wadrobe mb rgb [light.esp32_strip_1s_wadrobe_mb_rgb], and esp32 strip 1s bookshelf mb rgb [light.esp32_strip_1s_bookshelf_mb_rgb] with a 15-second transition. Then, turn off round led mb [light.round_led_mb] with a 15-second transition.",
"natural_language": {
"trigger": "When the presence master bedroom [binary_sensor.presence_mb] sensor detects no presence for a continuous period of 15 minutes.",
"conditions": "The automation only runs if the Lights MB Group [group.lights_mb] is currently on.",
"action": "It turns off the main lights in the master bedroom. First, it turns off the round led mb ambilight [light.round_led_mb_ambilight], the table lamp master bedroom [light.0x54ef441000c88fa8_light], the wardrobe light strip [light.esp32_strip_1s_wadrobe_mb_rgb], and the bookshelf light strip [light.esp32_strip_1s_bookshelf_mb_rgb] with a 15-second fade. Then, it turns off the main round led mb [light.round_led_mb] with the same 15-second fade."
},
"human_like": "Turns off all the master bedroom lights with a gentle fade-out if no one has been detected in the room for 15 minutes.",
"complexity": "low"
}
},
{
"id": "master_bedroom_main_power_turned_off",
"result": {
"structured": "TRIGGER: When master bedroom outlet [switch.0x00158d0002467773_outlet] changes state from on to off. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🔌 Внимание! Вторая розетка отключена! Запущен UPS (1050)'.",
"natural_language": {
"trigger": "When the master bedroom outlet [switch.0x00158d0002467773_outlet] is turned off.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a notification via Telegram with a warning message in Russian stating that the second outlet has been disconnected and the UPS (1050) has started."
},
"human_like": "Sends a Telegram alert when the main power outlet in the master bedroom is turned off.",
"complexity": "low"
}
},
{
"id": "master_bedroom_main_plug_pulled_out",
"result": {
"structured": "TRIGGER: When master bedroom power [sensor.0x00158d0002467773_power] is below 10. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🔌 Внимание! Нагрузка во второй розетке упала! Проверь кабель!'.",
"natural_language": {
"trigger": "When the power reading from the master bedroom power [sensor.0x00158d0002467773_power] drops below 10.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram alert with the message: '🔌 Внимание! Нагрузка во второй розетке упала! Проверь кабель!'."
},
"human_like": "Sends a Telegram alert when the power draw from the master bedroom plug drops too low, indicating the cable may have been pulled out.",
"complexity": "low"
}
},
{
"id": "master_bedroom_main_power_overpower",
"result": {
"structured": "TRIGGER: When master bedroom power [sensor.0x00158d0002467773_power] exceeds 1700. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🔌 Внимание! Перегрузка второй розетки! Отключите лишние потребители!'.",
"natural_language": {
"trigger": "When the power consumption reported by the master bedroom power [sensor.0x00158d0002467773_power] sensor goes above 1700.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a notification via Telegram with a warning message in Russian, alerting about an overload on the second socket and advising to disconnect excess loads."
},
"human_like": "Sends a Telegram alert when the power consumption in the master bedroom becomes too high, warning of a potential overload.",
"complexity": "low"
}
},
{
"id": "master_bedroom_ups_ob",
"result": {
"structured": "TRIGGER: When ippon 1050 status [sensor.ippon_1050_status_data] changes to state 'OB'. CONDITIONS: None. ACTIONS: Send a Telegram notification with message '🔋 Внимание! Запущен UPS (1050)!' AND Send a mobile notification to iPhone 16 Pro Dima with title 'Внимание!' and message 'Запущен UPS (1050)'.",
"natural_language": {
"trigger": "When the ippon 1050 status [sensor.ippon_1050_status_data] sensor reports a status change to 'OB'.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends two notifications in parallel: a Telegram message stating '🔋 Внимание! Запущен UPS (1050)!' and a mobile app notification to iPhone 16 Pro Dima with the title 'Внимание!' and the message 'Запущен UPS (1050)'."
},
"human_like": "Sends alerts to Telegram and a mobile phone when the UPS (1050) in the master bedroom reports it is running on battery power.",
"complexity": "low"
}
},
{
"id": "master_bedroom_ups_lb",
"result": {
"structured": "TRIGGER: When ippon 1050 status [sensor.ippon_1050_status_data] changes to state LB. CONDITIONS: None. ACTIONS: In parallel, send a Telegram notification with message '🚨 Внимание! Заряд батареи (1050) критический! Завершение работы NUC!' AND send a mobile notification to iPhone 16 Pro Dima with title 'Внимание!' and message 'UPS полностью разряжен! Завершаем работу NUC!' with critical sound.",
"natural_language": {
"trigger": "When the ippon 1050 status [sensor.ippon_1050_status_data] sensor reports a status of 'LB'.",
"conditions": "There are no additional conditions for this automation.",
"action": "Sends two notifications simultaneously: a Telegram message warning of a critical battery charge and the need to shut down the NUC, and a critical push notification to a mobile device with the same warning."
},
"human_like": "Sends urgent notifications when the UPS battery reaches a critical level, warning to shut down the connected computer.",
"complexity": "low"
}
},
{
"id": "master_bedroom_ups_ol",
"result": {
"structured": "TRIGGER: When ippon 1050 status [sensor.ippon_1050_status_data] changes to state OL. CONDITIONS: The previous state of ippon 1050 status [sensor.ippon_1050_status_data] is not unknown, unavailable, or none. ACTIONS: Send a Telegram notification with the message: 🔋 Питание восстановлено! Начинаем заряд батареи(1050)!",
"natural_language": {
"trigger": "When the ippon 1050 status [sensor.ippon_1050_status_data] changes to the state 'OL'.",
"conditions": "If the previous state of the ippon 1050 status [sensor.ippon_1050_status_data] was not 'unknown', 'unavailable', or 'none'.",
"action": "Sends a Telegram notification with the message: 🔋 Питание восстановлено! Начинаем заряд батареи(1050)!"
},
"human_like": "Sends a Telegram notification when the UPS (ippon 1050) reports that power has been restored and battery charging has started.",
"complexity": "low"
}
},
{
"id": "master_bedroom_ups_unknown",
"result": {
"structured": "TRIGGER: When ippon 1050 status [sensor.ippon_1050_status_data] changes to state 'unknown' AND remains in that state for 5 minutes. CONDITIONS: The previous state of ippon 1050 status [sensor.ippon_1050_status_data] before the trigger was NOT 'unknown', 'unavailable', or 'none'. ACTIONS: Send a Telegram notification with the message: '🚨 Внимание! Связь с UPS(1050) потеряна!'.",
"natural_language": {
"trigger": "When the ippon 1050 status [sensor.ippon_1050_status_data] sensor reports a state of 'unknown' and stays in that state for five minutes.",
"conditions": "The automation only runs if the sensor's state before this change was not already 'unknown', 'unavailable', or 'none'.",
"action": "Sends an alert via Telegram saying: '🚨 Внимание! Связь с UPS(1050) потеряна!' (Attention! Connection to UPS(1050) lost!)."
},
"human_like": "Sends a Telegram alert if the UPS status sensor becomes unreachable for five minutes.",
"complexity": "low"
}
},
{
"id": "master_bedroom_main_power_turned_on",
"result": {
"structured": "TRIGGER: When master bedroom outlet [switch.0x00158d0002467773_outlet] changes state from off to on. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🔌 Электроснабжение восстановлено! Начинаем зарядку UPS(1050)!'.",
"natural_language": {
"trigger": "When the master bedroom outlet [switch.0x00158d0002467773_outlet] is turned on from an off state.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification via Telegram stating: '🔌 Электроснабжение восстановлено! Начинаем зарядку UPS(1050)!'."
},
"human_like": "Sends a Telegram alert when the main power outlet in the master bedroom is turned back on, indicating that the UPS is starting to recharge.",
"complexity": "low"
}
},
{
"id": "sasha_breather_auto_co2",
"result": {
"structured": "TRIGGER: Every 3 minutes (time_pattern). CONDITIONS: system breather auto s [switch.system_breather_auto_s] is on AND system breather manual s [switch.system_breather_manual_s] is NOT on. ACTIONS: Choose one of three sequences based on conditions: 1. IF contact sensor sasha [binary_sensor.0x00158d00025370d1_contact] is closed (off) AND co2 sensor sasha [sensor.esp32_node_s_co2] is above co2 high limit [input_number.co2_high_limit] AND breather s binary [binary_sensor.breather_s] is off AND system security mode [switch.system_security_mode] is off AND temperature sensor sasha [sensor.0x00158d0001e6d85a_temperature] is above 20 THEN turn on breather s fan [fan.breather_s] AND IF co2 sensor sasha [sensor.esp32_node_s_co2] is above co2 high limit [input_number.co2_high_limit] AND System Breather Auto Speed S [switch.system_breather_auto_speed_s] is on THEN set breather s fan [fan.breather_s] percentage to breather set speed s [sensor.breather_set_speed_s] value. 2. IF contact sensor sasha [binary_sensor.0x00158d00025370d1_contact] is closed (off) AND co2 sensor sasha [sensor.esp32_node_s_co2] is above co2 high limit [input_number.co2_high_limit] AND breather s binary [binary_sensor.breather_s] is on AND system security mode [switch.system_security_mode] is off AND System Breather Auto Speed S [switch.system_breather_auto_speed_s] is on AND breather set speed s [sensor.breather_set_speed_s] is above 0 THEN set breather s fan [fan.breather_s] percentage to breather set speed s [sensor.breather_set_speed_s] value. 3. IF ((contact sensor sasha [binary_sensor.0x00158d00025370d1_contact] is closed (off) AND co2 sensor sasha [sensor.esp32_node_s_co2] is below co2 low limit [input_number.co2_low_limit] AND breather s binary [binary_sensor.breather_s] is on) OR ((temperature sensor sasha [sensor.0x00158d0001e6d85a_temperature] is below 20 OR contact sensor sasha [binary_sensor.0x00158d00025370d1_contact] is open (on)) AND breather s binary [binary_sensor.breather_s] is on)) THEN turn off breather s fan [fan.breather_s].",
"natural_language": {
"trigger": "The automation runs every three minutes.",
"conditions": "The automation only runs if the system breather auto s [switch.system_breather_auto_s] is turned on, and the system breather manual s [switch.system_breather_manual_s] is not turned on.",
"action": "Depending on the current sensor readings, the automation performs one of three actions. First, if the window is closed, the CO2 level is too high, the fan is off, security mode is off, and the room is warm enough, it turns the fan on and, if the CO2 is still high and auto-speed is enabled, sets the fan to a specific speed. Second, if the window is closed, the CO2 level is too high, the fan is already on, security mode is off, auto-speed is enabled, and the target speed is above zero, it adjusts the fan to the target speed. Third, it turns the fan off if the CO2 level is low and the window is closed, or if the room is too cold or the window is open."
},
"human_like": "Automatically controls the ventilation fan in Sasha's room based on CO2 levels, window status, and temperature, ensuring air quality while considering security and manual overrides.",
"complexity": "high"
}
},
{
"id": "sasha_breather_auto_timer",
"result": {
"structured": "TRIGGER: When a Yandex intent event with text 'Выключи вентиляцию' occurs OR When a Yandex intent event with text 'Включи вентиляцию' occurs OR When the time is 21:00:00 OR When the time is 09:00:00. CONDITIONS: The automation's own entity has an attribute 'current' equal to 0. ACTIONS: If triggered by 'Выключи вентиляцию' AND the event's entity_id is media_player.yandex_s, then if breather s binary [binary_sensor.breather_s] is on, turn off breather s fan [fan.breather_s], and then turn on system breather auto s [switch.system_breather_auto_s]. If triggered by 'Включи вентиляцию' AND the event's entity_id is media_player.yandex_s, then if breather s binary [binary_sensor.breather_s] is off, turn on system breather manual s [switch.system_breather_manual_s] and turn on breather s fan [fan.breather_s]. If triggered by time at 21:00:00, turn on system breather manual s [switch.system_breather_manual_s] and set breather s fan [fan.breather_s] percentage to 25. If triggered by time at 09:00:00, turn off breather s fan [fan.breather_s].",
"natural_language": {
"trigger": "The automation can be triggered in four ways: by a voice command to Yandex saying 'Выключи вентиляцию' (turn off ventilation), by a voice command saying 'Включи вентиляцию' (turn on ventilation), by the clock reaching 9:00 PM, or by the clock reaching 9:00 AM.",
"conditions": "The automation only runs if its own entity has an attribute named 'current' with a value of 0.",
"action": "Depending on which trigger activated it, the automation performs different actions. For the 'turn off' voice command, it first checks if the command came from the yandex sasha room [media_player.yandex_s]. If so, it turns off the breather s fan [fan.breather_s] if it is currently on, and then turns on the system breather auto s [switch.system_breather_auto_s]. For the 'turn on' voice command, it again checks the source is yandex sasha room [media_player.yandex_s]. If so and the breather s binary [binary_sensor.breather_s] is off, it turns on the system breather manual s [switch.system_breather_manual_s] and then turns on the fan. For the 9:00 PM trigger, it turns on the manual switch and sets the fan speed to 25%. For the 9:00 AM trigger, it simply turns the fan off."
},
"human_like": "This automation controls a ventilation fan in Sasha's room based on voice commands and a daily schedule, turning it on at night and off in the morning.",
"complexity": "medium"
}
},
{
"id": "sasha_breather_switches_interlock",
"result": {
"structured": "TRIGGER: When system breather auto s [switch.system_breather_auto_s] OR system breather manual s [switch.system_breather_manual_s] changes state. CONDITIONS: The new state of the triggering entity is on AND the triggering entity's attribute 'current' equals 0. ACTIONS: Turn off the other breather switch: if the triggering entity was system breather auto s [switch.system_breather_auto_s], turn off system breather manual s [switch.system_breather_manual_s]; otherwise, turn off system breather auto s [switch.system_breather_auto_s].",
"natural_language": {
"trigger": "When either the system breather auto s [switch.system_breather_auto_s] or the system breather manual s [switch.system_breather_manual_s] changes its state.",
"conditions": "The switch that changed must have been turned on, and its 'current' attribute must be set to 0.",
"action": "Turn off the other breather switch. If the system breather auto s [switch.system_breather_auto_s] was the one that turned on, then turn off the system breather manual s [switch.system_breather_manual_s]. Conversely, if the system breather manual s [switch.system_breather_manual_s] was the one that turned on, then turn off the system breather auto s [switch.system_breather_auto_s]."
},
"human_like": "Ensures only one of the two breather switches is on at a time by automatically turning off the other when one is switched on under specific conditions.",
"complexity": "medium"
}
},
{
"id": "sasha_breather_switches_default",
"result": {
"structured": "TRIGGER: When the template condition evaluates to true, which requires that system breather auto s [switch.system_breather_auto_s] is off AND system breather manual s [switch.system_breather_manual_s] is off. CONDITIONS: The template condition evaluates to true, which requires that the current attribute of the triggering entity is 0. ACTIONS: Turn on system breather auto s [switch.system_breather_auto_s].",
"natural_language": {
"trigger": "When both the system breather auto s [switch.system_breather_auto_s] and the system breather manual s [switch.system_breather_manual_s] are turned off.",
"conditions": "The automation only proceeds if the triggering entity has its 'current' attribute set to 0.",
"action": "Turns on the system breather auto s [switch.system_breather_auto_s] switch."
},
"human_like": "Automatically turns on the Sasha room's auto breather switch when both the auto and manual breather switches are off and a specific condition about the triggering entity is met.",
"complexity": "medium"
}
},
{
"id": "sasha_led_white_control",
"result": {
"structured": "TRIGGER: When an xiaomi_aqara.click event occurs on action sensor led white s [sensor.0x04cf8cdf3c77d831_action]. CONDITIONS: (led white s [light.0x54ef441000d54c6c_light] state is 'on' OR 'off') AND (action sensor led white s [sensor.0x04cf8cdf3c77d831_action] attribute 'current' equals 0). ACTIONS: Choose based on trigger event data click_type: IF click_type is 'single' OR 'button_1_single' THEN toggle led white s [light.0x54ef441000d54c6c_light]. ELSE IF click_type is 'double' OR 'button_1_double' THEN turn on led white s [light.0x54ef441000d54c6c_light] with brightness 255 and color temperature 5000K. ELSE IF click_type is 'hold' OR 'button_1_hold' THEN turn on led white s [light.0x54ef441000d54c6c_light] with brightness 14 and color temperature 3000K.",
"natural_language": {
"trigger": "When a click event is detected from the action sensor led white s [sensor.0x04cf8cdf3c77d831_action].",
"conditions": "The automation only runs if the led white s [light.0x54ef441000d54c6c_light] is either on or off, and if the sensor's 'current' attribute is set to 0.",
"action": "Depending on the type of click: a single click toggles the light on or off; a double click turns the light on to full brightness with a cool white color; a long press (hold) turns the light on to a very dim, warm white setting."
},
"human_like": "Controls the white LED light in Sasha's room using different click patterns on a sensor: single to toggle, double for bright light, and hold for a night light.",
"complexity": "medium"
}
},
{
"id": "sasha_main_lamp_left_button",
"result": {
"structured": "TRIGGER: When action sensor main lamp s [sensor.0x00158d00026eb820_action] sends a 'button_1_single' click event. CONDITIONS: (square led s [light.square_led_s] is on OR off) AND (the 'current' attribute of action sensor main lamp s [sensor.0x00158d00026eb820_action] is 0). ACTIONS: IF (square led s nightlight [binary_sensor.square_led_s_nightlight] is on AND square led s [light.square_led_s] is off) THEN set square led s [light.square_led_s] mode to normal. THEN, CHOOSE: IF square led s [light.square_led_s] is on THEN turn off square led s [light.square_led_s]. IF square led s [light.square_led_s] is off THEN turn on square led s [light.square_led_s] with brightness 230 and color temperature 5000K.",
"natural_language": {
"trigger": "When the action sensor main lamp s [sensor.0x00158d00026eb820_action] detects a single press of its first button.",
"conditions": "If the square led s [light.square_led_s] is either on or off, and if the 'current' attribute of the action sensor main lamp s [sensor.0x00158d00026eb820_action] is set to 0.",
"action": "First, if the square led s nightlight [binary_sensor.square_led_s_nightlight] is active and the main light is off, the light is switched from nightlight to normal mode. Then, the main light is toggled: if it is on, it is turned off; if it is off, it is turned on to a bright, cool white setting (brightness 230, color temperature 5000 Kelvin)."
},
"human_like": "Toggles the main bedroom light on or off with a specific brightness and color when a button is pressed, first ensuring the light is in normal mode if the nightlight is on.",
"complexity": "medium"
}
},
{
"id": "sasha_main_lamp_right_button",
"result": {
"structured": "TRIGGER: When action sensor main lamp s [sensor.0x00158d00026eb820_action] sends a 'button_2_single' click event. CONDITIONS: square led s [light.square_led_s] state is 'on' OR 'off' AND the current attribute of this automation entity is 0. ACTIONS: IF (square led s nightlight [binary_sensor.square_led_s_nightlight] is on AND square led s [light.square_led_s] is off) THEN set square led s [light.square_led_s] mode to normal. THEN, IF square led s [light.square_led_s] is on THEN turn off square led s [light.square_led_s]. IF square led s [light.square_led_s] is off THEN turn on square led s [light.square_led_s] with brightness 14 and color temperature 3000K.",
"natural_language": {
"trigger": "When the action sensor main lamp s [sensor.0x00158d00026eb820_action] detects a single press of its second button.",
"conditions": "The square led s [light.square_led_s] must be either on or off, and the automation's internal 'current' attribute must be set to 0.",
"action": "First, if the square led s nightlight [binary_sensor.square_led_s_nightlight] is active and the main light is off, the light is switched from nightlight mode to normal mode. Then, the automation toggles the main light: if it's on, it turns it off; if it's off, it turns it on to a warm white setting with low brightness."
},
"human_like": "Toggles the main bedroom lamp on or off with a warm, dim light when a specific button is pressed, ensuring it exits nightlight mode first if needed.",
"complexity": "medium"
}
},
{
"id": "sasha_table_lamp_off_night_mode_main_on",
"result": {
"structured": "TRIGGER: When led white s [light.0x54ef441000d54c6c_light] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: (led white s [light.0x54ef441000d54c6c_light] brightness is less than 10) AND (square led s [light.square_led_s] is on) AND (led white s [light.0x54ef441000d54c6c_light] is on) AND (tod day [binary_sensor.tod_day] is on). ACTIONS: Turn off led white s [light.0x54ef441000d54c6c_light].",
"natural_language": {
"trigger": "This automation runs when the state of the led white s [light.0x54ef441000d54c6c_light] changes, when Home Assistant starts up, or when any automation is reloaded.",
"conditions": "All of the following must be true: the brightness of the led white s [light.0x54ef441000d54c6c_light] is below 10, the square led s [light.square_led_s] is turned on, the led white s [light.0x54ef441000d54c6c_light] itself is on, and the system's time-of-day sensor tod day [binary_sensor.tod_day] indicates it is daytime.",
"action": "Turns off the led white s [light.0x54ef441000d54c6c_light]."
},
"human_like": "Turns off a dim table lamp during the day when the main room light is on, to save energy or avoid unnecessary lighting.",
"complexity": "medium"
}
},
{
"id": "sasha_night_auto_off_30m",
"result": {
"structured": "TRIGGER: When motion sasha [binary_sensor.motion_s] changes from on to off AND remains off for 30 minutes. CONDITIONS: tod day [binary_sensor.tod_day] is off. ACTIONS: Turn off led white s [light.0x54ef441000d54c6c_light] with a transition of 5 seconds.",
"natural_language": {
"trigger": "When motion is no longer detected in Sasha's room, indicated by the motion sasha [binary_sensor.motion_s] sensor changing from on to off and staying off for 30 minutes.",
"conditions": "It must be nighttime, meaning the tod day [binary_sensor.tod_day] sensor is off.",
"action": "Gradually turns off the led white s [light.0x54ef441000d54c6c_light] over a 5-second fade."
},
"human_like": "Automatically turns off Sasha's light 30 minutes after motion stops, but only during nighttime.",
"complexity": "low"
}
},
{
"id": "sasha_square_led_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: square led s [light.square_led_s] is unavailable AND remains so for 2 minutes AND the current attribute of the triggering entity is 0 AND system square led s restart key [switch.system_square_led_s_restart_key] is on AND shelly 1 led s [switch.shelly_1_led_s] state is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE square led s [light.square_led_s] is unavailable AND the loop iteration is 5 or less, execute a sequence: turn off shelly 1 led s [switch.shelly_1_led_s], wait 15 seconds, turn on shelly 1 led s [switch.shelly_1_led_s], send a Telegram notification '🚨 Square LED S restart done({{repeat.index}})!', wait 30 seconds. AFTER the loop, IF square led s [light.square_led_s] is still unavailable, send a Telegram notification '🚨 Square LED S restart unsuccessful!' AND turn off system square led s restart key [switch.system_square_led_s_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "The light square led s [light.square_led_s] must be in an unavailable state for at least two minutes, its 'current' attribute must be 0, the switch system square led s restart key [switch.system_square_led_s_restart_key] must be turned on, and the switch shelly 1 led s [switch.shelly_1_led_s] must have a state that is not 'unknown', 'unavailable', or 'none'.",
"action": "If all conditions are met, the automation attempts to restart the light by repeatedly turning the shelly 1 led s [switch.shelly_1_led_s] off and on, up to five times, with delays and notifications sent after each attempt. If the light remains unavailable after these attempts, it sends a final failure notification and turns off the restart key."
},
"human_like": "Automatically attempts to restart the Square LED S light if it becomes unavailable, using a power cycle on its controlling switch, and notifies the user of the results.",
"complexity": "high"
}
},
{
"id": "sasha_square_led_restart_key_toggle",
"result": {
"structured": "TRIGGER: When square led s [light.square_led_s] changes state from unavailable. CONDITIONS: None. ACTIONS: Turn on system square led s restart key [switch.system_square_led_s_restart_key].",
"natural_language": {
"trigger": "When the square led s [light.square_led_s] becomes available again after being in an unavailable state.",
"conditions": "There are no conditions that need to be met.",
"action": "Turns on the system square led s restart key [switch.system_square_led_s_restart_key]."
},
"human_like": "Automatically restarts the Square LED S light when it becomes available again.",
"complexity": "low"
}
},
{
"id": "sasha_main_lamp_switch_on_if_off",
"result": {
"structured": "TRIGGER: When action sensor main lamp s [sensor.0x00158d00026eb820_action] sends a 'xiaomi_aqara.click' event. CONDITIONS: shelly 1 led s [switch.shelly_1_led_s] is off. ACTIONS: Turn on shelly 1 led s [switch.shelly_1_led_s].",
"natural_language": {
"trigger": "When the action sensor main lamp s [sensor.0x00158d00026eb820_action] detects a click event.",
"conditions": "If the shelly 1 led s [switch.shelly_1_led_s] is currently turned off.",
"action": "Turns on the shelly 1 led s [switch.shelly_1_led_s]."
},
"human_like": "Turns on the main lamp in Sasha's room when the associated sensor is clicked, but only if the lamp is currently off.",
"complexity": "low"
}
},
{
"id": "sasha_timer_restart",
"result": {
"structured": "TRIGGER: When motion sensor sasha 1 [binary_sensor.0x00158d000224f89f_motion] reports a motion event OR when motion sensor sasha 2 [binary_sensor.0x00158d0003140824_motion] reports a motion event. CONDITIONS: square led s [light.square_led_s] is on AND (the time elapsed since automation.sasha_timer_restart was last triggered is greater than 15 seconds) AND system security mode [switch.system_security_mode] is off AND the automation's 'current' attribute is equal to 0. ACTIONS: Cancel timer main light s [timer.main_light_s] AND start timer main light s [timer.main_light_s].",
"natural_language": {
"trigger": "When either the motion sensor sasha 1 [binary_sensor.0x00158d000224f89f_motion] or the motion sensor sasha 2 [binary_sensor.0x00158d0003140824_motion] detects motion.",
"conditions": "The light named square led s [light.square_led_s] must be turned on. The automation must not have been triggered in the last 15 seconds. The system security mode [switch.system_security_mode] must be off. Additionally, a specific internal attribute of the automation itself, called 'current', must be set to 0.",
"action": "It restarts the timer named timer main light s [timer.main_light_s] by first canceling it and then immediately starting it again."
},
"human_like": "Restarts a light timer in Sasha's room when motion is detected, provided the light is on and the system is not in security mode.",
"complexity": "medium"
}
},
{
"id": "sasha_timer_off",
"result": {
"structured": "TRIGGER: When square led s [light.square_led_s] changes from on to off. CONDITIONS: None. ACTIONS: Cancel timer main light s [timer.main_light_s].",
"natural_language": {
"trigger": "When the square led s [light.square_led_s] is turned off.",
"conditions": "There are no additional conditions that must be met.",
"action": "Cancels the timer main light s [timer.main_light_s]."
},
"human_like": "Cancels the main light timer when the square LED light is turned off.",
"complexity": "low"
}
},
{
"id": "sasha_timer_on",
"result": {
"structured": "TRIGGER: When square led s [light.square_led_s] turns on from off. CONDITIONS: system security mode [switch.system_security_mode] is off. ACTIONS: Cancel timer main light s [timer.main_light_s] AND start timer main light s [timer.main_light_s].",
"natural_language": {
"trigger": "When the light square led s [light.square_led_s] is turned on from an off state.",
"conditions": "The system security mode [switch.system_security_mode] must be off.",
"action": "Cancel any existing countdown on timer main light s [timer.main_light_s] and then immediately start a new countdown on the same timer."
},
"human_like": "When Sasha's light is turned on, it resets and starts a timer for the main light, provided the security system is disarmed.",
"complexity": "low"
}
},
{
"id": "sasha_auto_light_off",
"result": {
"structured": "TRIGGER: When timer main light s [timer.main_light_s] finishes. CONDITIONS: tod day [binary_sensor.tod_day] is on. ACTIONS: Turn off square led s [light.square_led_s] with a transition of 5 seconds.",
"natural_language": {
"trigger": "When the timer named timer main light s [timer.main_light_s] completes.",
"conditions": "The condition is that the tod day [binary_sensor.tod_day] sensor indicates it is daytime.",
"action": "Turns off the light named square led s [light.square_led_s] with a 5-second fade-out transition."
},
"human_like": "Automatically turns off Sasha's room light with a gentle fade when a timer ends, but only during the day.",
"complexity": "low"
}
},
{
"id": "sasha_led_strip_control",
"result": {
"structured": "TRIGGER: When an event of type xiaomi_aqara.click occurs for action sensor led white s [sensor.0x04cf8cdf3c77d831_action]. CONDITIONS: esp32 node s led [light.esp32_node_s_led] is either on OR off AND the current attribute of this entity is 0. ACTIONS: IF the click_type is single OR button_2_single THEN turn on esp32 node s led [light.esp32_node_s_led] with a random effect (Random, Rainbow, Color Wipe, Scan, Twinkle, or Random Twinkle). ELSE IF the click_type is double OR button_2_double THEN turn on esp32 node s led [light.esp32_node_s_led] with effect Color Wipe. ELSE IF the click_type is hold OR button_2_hold THEN turn off esp32 node s led [light.esp32_node_s_led] with a transition of 5 seconds.",
"natural_language": {
"trigger": "When the action sensor led white s [sensor.0x04cf8cdf3c77d831_action] detects a click event from the Xiaomi Aqara device.",
"conditions": "The esp32 node s led [light.esp32_node_s_led] must be either turned on or off, and its 'current' attribute must be set to 0.",
"action": "Depending on the type of click detected: a single click or button 2 single click will turn on the LED strip with a randomly selected light effect. A double click or button 2 double click will turn on the LED strip with the 'Color Wipe' effect. A hold click or button 2 hold click will turn off the LED strip with a 5-second fade-out transition."
},
"human_like": "Controls Sasha's LED strip with different light effects or turns it off based on the type of button press detected on the Xiaomi Aqara sensor.",
"complexity": "medium"
}
},
{
"id": "sasha_light_off_with_occupancy",
"result": {
"structured": "TRIGGER: When Presence S [binary_sensor.presence_s] changes to 'off' AND remains 'off' for 15 minutes. CONDITIONS: Lights S Group [group.lights_s] is 'on'. ACTIONS: Turn off square led s [light.square_led_s], esp32 node s led [light.esp32_node_s_led], led white s [light.0x54ef441000d54c6c_light], light.0x54ef4410000ea59b_light [light.0x54ef4410000ea59b_light], Light Bar S [light.light_bar_s], light bar s ambilight [light.light_bar_s_ambilight] with a transition time of 15 seconds.",
"natural_language": {
"trigger": "When the presence sensor in Sasha's room, Presence S [binary_sensor.presence_s], detects no presence and remains in that state for 15 minutes.",
"conditions": "If the group of lights in Sasha's room, Lights S Group [group.lights_s], is currently turned on.",
"action": "Turns off all the specified lights in Sasha's room, including the square LED, the ESP32 node LED, two other LED lights, the light bar, and its ambilight, fading them out over a 15-second period."
},
"human_like": "Automatically turns off the lights in Sasha's room 15 minutes after no one is detected there, but only if the lights are on.",
"complexity": "low"
}
},
{
"id": "sasha_main_light_control_with_alice",
"result": {
"structured": "TRIGGER: When a Yandex intent event with text 'Выключи свет в Сашиной комнате' occurs OR When a Yandex intent event with text 'Включи свет в Сашиной комнате' occurs. CONDITIONS: (square led s [light.square_led_s] state is 'on' OR 'off') AND (the automation entity's attribute 'current' is 0). ACTIONS: If trigger is 'to_off_alice', turn off square led s [light.square_led_s]. If trigger is 'to_on_alice', turn on square led s [light.square_led_s] with brightness 230 and color temperature 5000K.",
"natural_language": {
"trigger": "When a voice command is issued to Alice (Yandex) to either 'turn off the light in Sasha's room' or 'turn on the light in Sasha's room'.",
"conditions": "The light in Sasha's room, square led s [light.square_led_s], must be in a simple on or off state (not unavailable or unknown). Additionally, the automation itself must have an attribute named 'current' set to 0.",
"action": "If the command was to turn the light off, the light is turned off. If the command was to turn the light on, the light is turned on to a specific brightness and cool white color temperature."
},
"human_like": "Allows voice control of the main light in Sasha's room via Yandex Alice, turning it on or off with specific settings.",
"complexity": "medium"
}
},
{
"id": "sasha_light_bar_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: Light Bar S [light.light_bar_s] is unavailable AND remains unavailable for 2 minutes AND System Light Bar S Restart Key [switch.system_light_bar_s_restart_key] is on AND Light Bar S [light.light_bar_s] has a current attribute equal to 0 AND SP111 Socket 1 Relay [switch.sp111_socket_1_relay] state is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE (Light Bar S [light.light_bar_s] is unavailable AND repeat index is less than or equal to 5) DO: Turn off SP111 Socket 1 Relay [switch.sp111_socket_1_relay], wait 15 seconds, turn on SP111 Socket 1 Relay [switch.sp111_socket_1_relay], send Telegram notification '🚨 Light Bar S restart done({{repeat.index}})!', wait 30 seconds. AFTER LOOP: IF Light Bar S [light.light_bar_s] is still unavailable THEN send Telegram notification '🚨 Light Bar S restart unsuccessful!' AND turn off System Light Bar S Restart Key [switch.system_light_bar_s_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "The Light Bar S [light.light_bar_s] must be in an unavailable state for at least two minutes. The System Light Bar S Restart Key [switch.system_light_bar_s_restart_key] must be switched on. The Light Bar S [light.light_bar_s] must have a 'current' attribute value of 0. The SP111 Socket 1 Relay [switch.sp111_socket_1_relay] must be in a state that is not 'unknown', 'unavailable', or 'none'.",
"action": "If all conditions are met, the automation attempts to restart the light by toggling its power via the SP111 Socket 1 Relay [switch.sp111_socket_1_relay]. It will repeat this cycle up to five times while the light remains unavailable. Each cycle involves turning the relay off, waiting 15 seconds, turning it back on, sending a Telegram notification that the restart was attempted, and waiting 30 seconds. If, after all attempts, the Light Bar S [light.light_bar_s] is still unavailable, it sends a final Telegram notification that the restart was unsuccessful and turns off the System Light Bar S Restart Key [switch.system_light_bar_s_restart_key]."
},
"human_like": "Automatically attempts to restart the Sasha Room light bar if it becomes unresponsive, using a power cycle and sending status updates.",
"complexity": "high"
}
},
{
"id": "sasha_light_bar_s_restart_key_toggle",
"result": {
"structured": "TRIGGER: When Light Bar S [light.light_bar_s] changes state from unavailable. CONDITIONS: None. ACTIONS: Turn on System Light Bar S Restart Key [switch.system_light_bar_s_restart_key].",
"natural_language": {
"trigger": "When the Light Bar S [light.light_bar_s] becomes available again after being in an unavailable state.",
"conditions": "There are no additional conditions that must be met.",
"action": "Turns on the System Light Bar S Restart Key [switch.system_light_bar_s_restart_key]."
},
"human_like": "Automatically restarts the Light Bar S by toggling its restart switch whenever it recovers from being unavailable.",
"complexity": "low"
}
},
{
"id": "storage_auto_light_on",
"result": {
"structured": "TRIGGER: When Motion Sensor 1aea602 [binary_sensor.0x00158d0001aea602_motion] reports a motion event OR When Motion Sensor 3f27ce2 [binary_sensor.0x00158d0003f27ce2_motion] reports a motion event OR When Motion Sensor 582d34609552 [binary_sensor.582d34609552_motion] reports a motion event. CONDITIONS: Main Light Delay St Timer [timer.main_light_delay_st] is idle AND system security mode [switch.system_security_mode] is off AND Lights St Group [group.lights_st] is off AND the current attribute of the triggering entity is 0. ACTIONS: Turn on Light Channel 2 680083 [light.0x54ef441000680083_channel_2] and Round LED St [light.round_led_st] if tod day [binary_sensor.tod_day] is on AND system dark mode [switch.system_dark_mode] is off; otherwise, turn on only Round LED St [light.round_led_st].",
"natural_language": {
"trigger": "When any of the three motion sensors (Motion Sensor 1aea602 [binary_sensor.0x00158d0001aea602_motion], Motion Sensor 3f27ce2 [binary_sensor.0x00158d0003f27ce2_motion], or Motion Sensor 582d34609552 [binary_sensor.582d34609552_motion]) detects motion.",
"conditions": "The Main Light Delay St Timer [timer.main_light_delay_st] must not be running, the system security mode [switch.system_security_mode] must be off, the Lights St Group [group.lights_st] must be off, and the triggering motion sensor must have its 'current' attribute set to 0.",
"action": "If it is daytime (tod day [binary_sensor.tod_day] is on) and dark mode is not active (system dark mode [switch.system_dark_mode] is off), turn on both the Light Channel 2 680083 [light.0x54ef441000680083_channel_2] and the Round LED St [light.round_led_st]. Otherwise, if it is nighttime or dark mode is on, turn on only the Round LED St [light.round_led_st]."
},
"human_like": "Automatically turns on storage area lights when motion is detected, choosing different lights based on the time of day and system dark mode setting.",
"complexity": "medium"
}
},
{
"id": "storage_light_on",
"result": {
"structured": "TRIGGER: When Contact Sensor 2a1b0c8 [binary_sensor.0x00158d0002a1b0c8_contact] changes from closed (off) to open (on) AND remains open for 1 second OR When a xiaomi_aqara.click event occurs for Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] with click_type button_2_single. CONDITIONS: system security mode [switch.system_security_mode] is off AND Lights St Group [group.lights_st] is off AND the current attribute of the automation entity itself is 0. ACTIONS: Turn on lights. If tod day [binary_sensor.tod_day] is on AND system dark mode [switch.system_dark_mode] is off, turn on Light Channel 2 680083 [light.0x54ef441000680083_channel_2] and Round LED St [light.round_led_st]. Otherwise (if tod day is off OR system dark mode is on), turn on only Round LED St [light.round_led_st].",
"natural_language": {
"trigger": "The automation triggers in two ways: first, when the Contact Sensor 2a1b0c8 [binary_sensor.0x00158d0002a1b0c8_contact] opens and stays open for at least one second. Second, when a specific button press (a single click on button 2) is detected from the Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action].",
"conditions": "For the automation to run, the system security mode [switch.system_security_mode] must be off, the Lights St Group [group.lights_st] must be off, and the automation's own 'current' attribute must be set to 0.",
"action": "The automation turns on the storage light. The specific light(s) turned on depend on the time of day and dark mode setting. During the day and when dark mode is off, it turns on both the Light Channel 2 680083 [light.0x54ef441000680083_channel_2] and the Round LED St [light.round_led_st]. At night or when dark mode is active, it turns on only the Round LED St [light.round_led_st]."
},
"human_like": "Turns on the storage light when the door opens or a specific button is pressed, but only when security mode is off and the lights are currently off. It chooses which lights to turn on based on the time of day and dark mode setting.",
"complexity": "medium"
}
},
{
"id": "storage_main_light_full_on",
"result": {
"structured": "TRIGGER: When Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] generates a 'button_2_double' click event. CONDITIONS: The automation entity's 'current' attribute is equal to 0. ACTIONS: Turn on Light Channel 2 680083 [light.0x54ef441000680083_channel_2] and Round LED St [light.round_led_st].",
"natural_language": {
"trigger": "When the Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] is double-clicked on button 2.",
"conditions": "Only if the automation entity's 'current' attribute is set to 0.",
"action": "Turn on both the Light Channel 2 680083 [light.0x54ef441000680083_channel_2] and the Round LED St [light.round_led_st]."
},
"human_like": "Turns on two specific lights when a sensor button is double-clicked, provided a certain attribute is set to 0.",
"complexity": "medium"
}
},
{
"id": "storage_light_off",
"result": {
"structured": "TRIGGER: When timer.main_light_st finishes OR When Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] reports a button_2_single click event OR When Contact Sensor 2a1b0c8 [binary_sensor.0x00158d0002a1b0c8_contact] changes from open (on) to closed (off) AND remains closed for 1 second OR When Occupancy dced838ea54e [binary_sensor.dced838ea54e_occupancy] changes from occupied (on) to unoccupied (off). CONDITIONS: Lights St Group [group.lights_st] is on AND The current attribute of this automation entity is 0. ACTIONS: Turn off Light Channel 2 680083 [light.0x54ef441000680083_channel_2] AND Round LED St [light.round_led_st] AND Cancel Main Light St Timer [timer.main_light_st].",
"natural_language": {
"trigger": "The automation can be triggered in four ways: when the Main Light St Timer [timer.main_light_st] finishes, when the Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] detects a single click on its second button, when the Contact Sensor 2a1b0c8 [binary_sensor.0x00158d0002a1b0c8_contact] closes and stays closed for one second, or when the Occupancy dced838ea54e [binary_sensor.dced838ea54e_occupancy] sensor changes from detecting occupancy to not detecting it.",
"conditions": "For the automation to run, the Lights St Group [group.lights_st] must be turned on, and the 'current' attribute of this automation entity itself must be equal to 0.",
"action": "It turns off two lights: Light Channel 2 680083 [light.0x54ef441000680083_channel_2] and Round LED St [light.round_led_st]. It also cancels the Main Light St Timer [timer.main_light_st] to prevent it from running again."
},
"human_like": "Turns off the storage area lights and cancels a timer when a timer finishes, a button is pressed, a door closes, or motion stops, but only if the lights are currently on.",
"complexity": "medium"
}
},
{
"id": "storage_timer_start",
"result": {
"structured": "TRIGGER: When Light Channel 2 680083 [light.0x54ef441000680083_channel_2] is on OR Round LED St [light.round_led_st] is on. CONDITIONS: The automation's own entity (storage_timer_start) has an attribute 'current' equal to 0. ACTIONS: Cancel Main Light St Timer [timer.main_light_st] AND start Main Light St Timer [timer.main_light_st].",
"natural_language": {
"trigger": "When either the Light Channel 2 680083 [light.0x54ef441000680083_channel_2] or the Round LED St [light.round_led_st] is turned on.",
"conditions": "The automation checks that its own internal attribute 'current' is set to 0.",
"action": "It cancels any existing countdown on the Main Light St Timer [timer.main_light_st] and then immediately starts it again."
},
"human_like": "Restarts a timer whenever a specific light is turned on, provided the automation is in its initial state.",
"complexity": "medium"
}
},
{
"id": "storage_timer_restart",
"result": {
"structured": "TRIGGER: When a motion event is reported by Motion Sensor 1aea602 [binary_sensor.0x00158d0001aea602_motion] OR Motion Sensor 3f27ce2 [binary_sensor.0x00158d0003f27ce2_motion] OR Motion Sensor 54ef44c65722 [binary_sensor.54ef44c65722_motion] OR Motion Sensor 582d34609552 [binary_sensor.582d34609552_motion]. CONDITIONS: Lights St Group [group.lights_st] is on AND the current attribute of the triggering entity is equal to 0. ACTIONS: Cancel Main Light St Timer [timer.main_light_st] AND start Main Light St Timer [timer.main_light_st].",
"natural_language": {
"trigger": "When any of the four specified motion sensors (Motion Sensor 1aea602 [binary_sensor.0x00158d0001aea602_motion], Motion Sensor 3f27ce2 [binary_sensor.0x00158d0003f27ce2_motion], Motion Sensor 54ef44c65722 [binary_sensor.54ef44c65722_motion], or Motion Sensor 582d34609552 [binary_sensor.582d34609552_motion]) detect motion.",
"conditions": "The group of lights named Lights St Group [group.lights_st] must be turned on, and the specific motion sensor that triggered the automation must have its 'current' attribute set to 0.",
"action": "Cancels any existing countdown on the Main Light St Timer [timer.main_light_st] and immediately restarts it from the beginning."
},
"human_like": "Restarts a timer for the main storage lights whenever motion is detected, but only if the lights are already on and the motion sensor is in a specific state.",
"complexity": "medium"
}
},
{
"id": "storage_timer_off",
"result": {
"structured": "TRIGGER: When Light Channel 2 680083 [light.0x54ef441000680083_channel_2] OR Round LED St [light.round_led_st] changes from on to off. CONDITIONS: The current attribute of the triggering entity is equal to 0. ACTIONS: Cancel Main Light St Timer [timer.main_light_st] AND Cancel Main Light Delay St Timer [timer.main_light_delay_st] AND Start Main Light Delay St Timer [timer.main_light_delay_st] AND Turn off Round LED St [light.round_led_st].",
"natural_language": {
"trigger": "When either the Light Channel 2 680083 [light.0x54ef441000680083_channel_2] or the Round LED St [light.round_led_st] is turned off.",
"conditions": "The automation only proceeds if the 'current' attribute of the specific light that triggered the event is set to 0.",
"action": "Cancels the Main Light St Timer [timer.main_light_st] and the Main Light Delay St Timer [timer.main_light_delay_st], then starts the Main Light Delay St Timer [timer.main_light_delay_st] and finally turns off the Round LED St [light.round_led_st]."
},
"human_like": "This automation manages the lighting timers and turns off a specific light when other lights are switched off, ensuring coordinated control.",
"complexity": "medium"
}
},
{
"id": "storage_night_off",
"result": {
"structured": "TRIGGER: When Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] sends a 'button_1_single' click event. CONDITIONS: The automation's own entity (referenced by 'this.entity_id') has an attribute 'current' equal to 0. ACTIONS: Turn off the following lights: esp32 node k light [light.esp32_node_k_light], mono strip 1 light [light.mono_strip_1_light], Light Channel 2 680083 [light.0x54ef441000680083_channel_2], Round LED St [light.round_led_st], esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb], esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb], mirror light b [light.mirror_light_b].",
"natural_language": {
"trigger": "When the Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] is clicked with a single press of button 1.",
"conditions": "If the automation's own entity has an attribute named 'current' that is set to 0.",
"action": "Turn off a set of seven lights located in various rooms, including the kitchen, halls, and bathroom."
},
"human_like": "Turns off multiple lights in the home when a specific button is pressed, provided the automation itself is in a 'current' state of 0.",
"complexity": "medium"
}
},
{
"id": "storage_light_dark_mode_on",
"result": {
"structured": "TRIGGER: When Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] sends a 'button_1_double' click event OR when Lullaby [binary_sensor.lullaby] turns on. CONDITIONS: (system dark mode [switch.system_dark_mode] is off) AND (tod day [binary_sensor.tod_day] is on) AND (the template condition '{{ is_state_attr(this.entity_id, 'current',0) }}' evaluates to true). ACTIONS: Turn on system dark mode [switch.system_dark_mode].",
"natural_language": {
"trigger": "The automation can be triggered in two ways: either by a double-click on button 1 of the Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action], or when the Lullaby [binary_sensor.lullaby] sensor turns on.",
"conditions": "For the automation to run, several conditions must be met. The system dark mode [switch.system_dark_mode] must be off, the tod day [binary_sensor.tod_day] sensor must be on, and a specific template condition checking the 'current' attribute of the triggering entity must be true.",
"action": "The automation turns on the system dark mode [switch.system_dark_mode] switch."
},
"human_like": "Turns on dark mode when triggered by a specific button double-click or the Lullaby sensor, but only if it's currently daytime and dark mode is off.",
"complexity": "medium"
}
},
{
"id": "storage_light_dark_mode_off",
"result": {
"structured": "TRIGGER: When Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] reports a 'button_1_double' click event OR When channel 1 light [light.0x00158d000223921b_channel_1] OR channel 2 light fridge [light.0x00158d000253f04a_channel_2] turns on (from off) AND remains on for 10 seconds. CONDITIONS: system dark mode [switch.system_dark_mode] is on. ACTIONS: Turn off system dark mode [switch.system_dark_mode].",
"natural_language": {
"trigger": "When the Action Sensor 04cf8cdf3c79546c [sensor.0x04cf8cdf3c79546c_action] sends a double-click event for button 1, or when either the channel 1 light [light.0x00158d000223921b_channel_1] or the channel 2 light fridge [light.0x00158d000253f04a_channel_2] is turned on and stays on for at least 10 seconds.",
"conditions": "The system dark mode [switch.system_dark_mode] must be currently switched on.",
"action": "Turns off the system dark mode [switch.system_dark_mode]."
},
"human_like": "Turns off dark mode when a specific button is double-clicked or when certain lights are turned on for a short time.",
"complexity": "medium"
}
},
{
"id": "storage_light_off_with_occupancy",
"result": {
"structured": "TRIGGER: When Presence St [binary_sensor.presence_st] remains off for 15 minutes. CONDITIONS: Lights St Group [group.lights_st] is on. ACTIONS: Turn off Light Channel 2 680083 [light.0x54ef441000680083_channel_2] AND Round LED St [light.round_led_st].",
"natural_language": {
"trigger": "When the Presence St [binary_sensor.presence_st] sensor indicates no presence for a continuous period of 15 minutes.",
"conditions": "The automation only runs if the Lights St Group [group.lights_st] is currently on.",
"action": "Turns off the specific lights: Light Channel 2 680083 [light.0x54ef441000680083_channel_2] and Round LED St [light.round_led_st]."
},
"human_like": "Automatically turns off the storage lights 15 minutes after the room is no longer occupied, but only if they are currently on.",
"complexity": "low"
}
},
{
"id": "storage_night_light_toggle",
"result": {
"structured": "TRIGGER: When Action Sensor 680083 [sensor.0x54ef441000680083_action] generates a 'button_1_single' click event. CONDITIONS: The entity that triggered the automation has an attribute 'current' with a value of 0. ACTIONS: Toggle Round LED St [light.round_led_st].",
"natural_language": {
"trigger": "When the Action Sensor 680083 [sensor.0x54ef441000680083_action] is clicked with a single press of its first button.",
"conditions": "The sensor that was clicked must have its 'current' attribute set to 0.",
"action": "Toggle the state of the Round LED St [light.round_led_st], turning it on if it's off, or off if it's on."
},
"human_like": "Toggles a light on or off with a single button press from a sensor, but only when the sensor is in a specific mode.",
"complexity": "medium"
}
},
{
"id": "storage_round_led_restart",
"result": {
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: Round LED St [light.round_led_st] is unavailable AND remains so for 2 minutes AND Round LED St [light.round_led_st] has attribute 'current' equal to 0 AND System Round LED St Restart Key [switch.system_round_led_st_restart_key] is on AND Sonoff Basic 2 Relay [switch.sonoff_basic_2_relay] state is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE Round LED St [light.round_led_st] is unavailable AND the loop iteration count is less than or equal to 5, DO: Turn off Sonoff Basic 2 Relay [switch.sonoff_basic_2_relay], wait 15 seconds, turn on Sonoff Basic 2 Relay [switch.sonoff_basic_2_relay], send a Telegram notification '🚨 Round LED St restart done({{repeat.index}})!', wait 30 seconds. AFTER the loop, IF Round LED St [light.round_led_st] is still unavailable, THEN send a Telegram notification '🚨 Round LED St restart unsuccessful!' AND turn off System Round LED St Restart Key [switch.system_round_led_st_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "The Round LED St [light.round_led_st] must be in an 'unavailable' state for at least two minutes, its 'current' attribute must be 0, the System Round LED St Restart Key [switch.system_round_led_st_restart_key] must be turned on, and the Sonoff Basic 2 Relay [switch.sonoff_basic_2_relay] must be in a valid state (not 'unknown', 'unavailable', or 'none').",
"action": "If all conditions are met, the automation attempts to restart the light by toggling the power via the Sonoff Basic 2 Relay [switch.sonoff_basic_2_relay]. It will repeat this restart sequence up to five times, but only as long as the light remains unavailable. Each attempt involves turning the relay off, waiting 15 seconds, turning it back on, and sending a Telegram notification confirming the restart attempt. After each attempt, it waits 30 seconds before checking if another attempt is needed. If, after all attempts, the light is still unavailable, it sends a final Telegram notification indicating the restart was unsuccessful and turns off the System Round LED St Restart Key [switch.system_round_led_st_restart_key]."
},
"human_like": "Automatically attempts to restart the Round LED St light by power-cycling its relay if it becomes unavailable, notifying the user of the results.",
"complexity": "high"
}
},
{
"id": "storage_round_led_restart_key_toggle",
"result": {
"structured": "TRIGGER: When Round LED St [light.round_led_st] changes from unavailable to any other state. ACTIONS: Turn on System Round LED St Restart Key [switch.system_round_led_st_restart_key].",
"natural_language": {
"trigger": "When the Round LED St [light.round_led_st] becomes available again after being unavailable.",
"conditions": "There are no conditions for this automation.",
"action": "Turns on the System Round LED St Restart Key [switch.system_round_led_st_restart_key]."
},
"human_like": "Automatically restarts the Round LED St light's system when it becomes available after being unavailable.",
"complexity": "low"
}
},
{
"id": "system_breather_control_user",
"result": {
"structured": "TRIGGER: When breather mb fan [fan.breather_mb] turns off OR when breather s fan [fan.breather_s] turns off. CONDITIONS: system security mode [switch.system_security_mode] is off. ACTIONS: If the trigger was breather mb fan [fan.breather_mb] turning off, then turn off system breather manual mb [switch.system_breather_manual_mb]. If the trigger was breather s fan [fan.breather_s] turning off, then turn off system breather manual s [switch.system_breather_manual_s].",
"natural_language": {
"trigger": "When the breather mb fan [fan.breather_mb] in the master bedroom turns off, or when the breather s fan [fan.breather_s] in Sasha's room turns off.",
"conditions": "The system security mode [switch.system_security_mode] must be off.",
"action": "Depending on which fan turned off, the corresponding manual control switch is turned off. If the master bedroom fan turned off, the system breather manual mb [switch.system_breather_manual_mb] is turned off. If Sasha's room fan turned off, the system breather manual s [switch.system_breather_manual_s] is turned off."
},
"human_like": "Automatically turns off the manual control switch for a room's breather fan when that fan is turned off, but only when the system is not in security mode.",
"complexity": "medium"
}
},
{
"id": "system_light_control",
"result": {
"structured": "TRIGGER: When a yandex_intent event occurs with text 'Включи свет'. CONDITIONS: system security mode [switch.system_security_mode] is off. ACTIONS: Choose based on trigger event data: IF (trigger.event.data.entity_id equals 'media_player.yandex_mb') AND (trigger id is to_on_alice) THEN turn on round led mb [light.round_led_mb] with brightness 230 and color temperature 5000K. IF (trigger.event.data.entity_id equals 'media_player.yandex_s') THEN turn on square led s [light.square_led_s] with brightness 230 and color temperature 5000K. IF (trigger.event.data.entity_id equals 'media_player.yandex_v') THEN turn on Square LED V [light.square_led_v] with brightness 230 and color temperature 5000K. IF (trigger.event.data.entity_id equals 'media_player.yandex_k') AND (trigger id is to_on_alice) THEN turn on round led k [light.round_led_k] with brightness 230 and color temperature 5000K. IF (trigger.event.data.entity_id equals 'media_player.yandex_hb') THEN turn on channel 1 light [light.0x00158d000223921b_channel_1]. IF (trigger.event.data.entity_id equals 'media_player.yandex_b') THEN turn on bathroom channel 2 light [light.0x00158d0002a36433_channel_2]. IF (trigger.event.data.entity_id equals 'media_player.yandex_k') AND (trigger id is to_off_alice) THEN turn off Lights K Group [group.lights_k].",
"natural_language": {
"trigger": "When a voice command 'Включи свет' (Turn on the light) is received via a yandex_intent event.",
"conditions": "The system security mode [switch.system_security_mode] must be off.",
"action": "Depending on which Yandex device sent the command, a specific light is turned on or off. If the command came from the master bedroom speaker, the round led mb light is turned on with specific brightness and color. If from Sasha's room, the square led s light is turned on. If from Vova's room, the Square LED V light is turned on. If from the kitchen speaker with the 'to_on_alice' trigger, the round led k light is turned on. If from the hall big speaker, the channel 1 light is turned on. If from a 'yandex_b' speaker, the bathroom channel 2 light is turned on. If the command came from the kitchen speaker but with a 'to_off_alice' trigger, the entire kitchen light group is turned off."
},
"human_like": "Turns on specific lights in different rooms when a 'turn on the light' voice command is given via a Yandex device, provided the security system is disarmed. For the kitchen, it can also turn off all lights if a specific off command is detected.",
"complexity": "medium"
}
},
{
"id": "system_presence_dima",
"result": {
"structured": "TRIGGER: When person dima [person.dima] changes to home AND remains for 5 seconds OR When Dima Status Dropdown [input_select.dima_status_dropdown] changes to Just Arrived AND remains for 3 minutes OR When person dima [person.dima] changes from home AND remains for 5 seconds OR When Dima Status Dropdown [input_select.dima_status_dropdown] changes to Just Left AND remains for 3 minutes OR When Dima Status Dropdown [input_select.dima_status_dropdown] changes to Away AND remains for 6 hours. CONDITIONS: None. ACTIONS: Set Dima Status Dropdown [input_select.dima_status_dropdown] to the option derived from the trigger ID by removing the 'to_' prefix, replacing underscores with spaces, and capitalizing each word.",
"natural_language": {
"trigger": "The automation triggers when person dima [person.dima] arrives home and stays for 5 seconds, or when the Dima Status Dropdown [input_select.dima_status_dropdown] is set to 'Just Arrived' and remains for 3 minutes, or when person dima [person.dima] leaves home and stays away for 5 seconds, or when the Dima Status Dropdown [input_select.dima_status_dropdown] is set to 'Just Left' and remains for 3 minutes, or when the Dima Status Dropdown [input_select.dima_status_dropdown] is set to 'Away' and remains for 6 hours.",
"conditions": "There are no additional conditions.",
"action": "Updates the Dima Status Dropdown [input_select.dima_status_dropdown] to a status derived from the specific trigger that activated the automation. For example, if triggered by 'to_just_arrived', it sets the dropdown to 'Just Arrived'."
},
"human_like": "Updates Dima's status dropdown based on his arrival, departure, or manual status changes, with timing delays to ensure the state is stable.",
"complexity": "medium"
}
},
{
"id": "system_presence_sandra",
"result": {
"structured": "TRIGGER: When person sandra [person.sandra] changes state to home AND remains for 5 seconds OR When Sandra Status Dropdown [input_select.sandra_status_dropdown] changes state to Just Arrived AND remains for 3 minutes OR When person sandra [person.sandra] changes state from home AND remains for 5 seconds OR When Sandra Status Dropdown [input_select.sandra_status_dropdown] changes state to Just Left AND remains for 3 minutes OR When Sandra Status Dropdown [input_select.sandra_status_dropdown] changes state to Away AND remains for 6 hours. CONDITIONS: None. ACTIONS: Set Sandra Status Dropdown [input_select.sandra_status_dropdown] to the option derived from the trigger ID by removing the 'to_' prefix, replacing underscores with spaces, and capitalising the first letter of each word.",
"natural_language": {
"trigger": "The automation can be triggered in five different ways: when person sandra [person.sandra] arrives home and stays for 5 seconds; when the Sandra Status Dropdown [input_select.sandra_status_dropdown] is set to 'Just Arrived' for 3 minutes; when person sandra [person.sandra] leaves home and stays away for 5 seconds; when the Sandra Status Dropdown [input_select.sandra_status_dropdown] is set to 'Just Left' for 3 minutes; or when the Sandra Status Dropdown [input_select.sandra_status_dropdown] is set to 'Away' for 6 hours.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "The automation updates the Sandra Status Dropdown [input_select.sandra_status_dropdown] to a new status. The new status is calculated by taking the ID of the trigger that fired, removing the 'to_' from the start, replacing any underscores with spaces, and capitalising the first letter of each word."
},
"human_like": "This automation updates Sandra's status dropdown based on her physical presence or a manual status selection, using different timers for each state.",
"complexity": "medium"
}
},
{
"id": "system_presence_vova",
"result": {
"structured": "TRIGGER: When person vova [person.vova] changes state to home AND remains for 5 seconds OR When Vova Status Dropdown [input_select.vova_status_dropdown] changes to Just Arrived AND remains for 3 minutes OR When person vova [person.vova] changes state from home AND remains for 5 seconds OR When Vova Status Dropdown [input_select.vova_status_dropdown] changes to Just Left AND remains for 3 minutes OR When Vova Status Dropdown [input_select.vova_status_dropdown] changes to Away AND remains for 6 hours. CONDITIONS: None. ACTIONS: Set Vova Status Dropdown [input_select.vova_status_dropdown] to the option derived from the trigger ID by removing the prefix 'to_' and replacing underscores with spaces, then capitalising the first letter of each word.",
"natural_language": {
"trigger": "The automation triggers when person vova [person.vova] arrives home and stays for 5 seconds, when the Vova Status Dropdown [input_select.vova_status_dropdown] is set to 'Just Arrived' for 3 minutes, when person vova [person.vova] leaves home and stays away for 5 seconds, when the Vova Status Dropdown [input_select.vova_status_dropdown] is set to 'Just Left' for 3 minutes, or when the Vova Status Dropdown [input_select.vova_status_dropdown] is set to 'Away' for 6 hours.",
"conditions": "There are no conditions for this automation.",
"action": "Updates the Vova Status Dropdown [input_select.vova_status_dropdown] to a status derived from the trigger that activated the automation. For example, if the trigger ID is 'to_just_arrived', the dropdown is set to 'Just Arrived'."
},
"human_like": "Updates Vova's status dropdown based on his physical presence or the current status timer, automatically setting it to 'Just Arrived', 'Just Left', or 'Away' after specific delays.",
"complexity": "medium"
}
},
{
"id": "system_presence_sasha",
"result": {
"structured": "TRIGGER: When person sasha [person.sasha] changes state to home and remains for 5 seconds OR When Sasha Status Dropdown [input_select.sasha_status_dropdown] changes to Just Arrived and remains for 3 minutes OR When person sasha [person.sasha] changes state from home and remains for 5 seconds OR When Sasha Status Dropdown [input_select.sasha_status_dropdown] changes to Just Left and remains for 3 minutes OR When Sasha Status Dropdown [input_select.sasha_status_dropdown] changes to Away and remains for 6 hours. CONDITIONS: None. ACTIONS: Set Sasha Status Dropdown [input_select.sasha_status_dropdown] to the option derived from the trigger ID by removing 'to_' prefix, replacing underscores with spaces, and capitalising the first letter of each word.",
"natural_language": {
"trigger": "The automation can be triggered in five ways: when person sasha [person.sasha] arrives home and stays for at least 5 seconds; when the Sasha Status Dropdown [input_select.sasha_status_dropdown] is set to 'Just Arrived' and remains that way for 3 minutes; when person sasha [person.sasha] leaves home and stays away for at least 5 seconds; when the dropdown is set to 'Just Left' and remains for 3 minutes; or when the dropdown is set to 'Away' and remains for 6 hours.",
"conditions": "There are no conditions that must be checked for this automation.",
"action": "Updates the Sasha Status Dropdown [input_select.sasha_status_dropdown] to a new status. The new status is automatically determined by the trigger that fired: for example, if the trigger with ID 'to_just_arrived' fires, the dropdown is set to 'Just Arrived'."
},
"human_like": "Manages Sasha's presence status by updating a dropdown based on her location or the current status timer.",
"complexity": "medium"
}
},
{
"id": "system_presence_vova_at_home",
"result": {
"structured": "TRIGGER: When person vova [person.vova] changes to home AND remains home for 3 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '👱 Вова дома'.",
"natural_language": {
"trigger": "When person vova [person.vova] arrives home and remains at home for at least three minutes.",
"conditions": "There are no additional conditions that need to be met.",
"action": "Sends a Telegram notification containing the message '👱 Вова дома'."
},
"human_like": "Sends a Telegram notification to announce that Vova is home after he has been there for three minutes.",
"complexity": "low"
}
},
{
"id": "system_presence_sandra_at_home",
"result": {
"structured": "TRIGGER: When person sandra [person.sandra] changes to home and remains for 3 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '👧 Саша дома'.",
"natural_language": {
"trigger": "When person sandra [person.sandra] arrives home and stays there for at least three minutes.",
"conditions": "There are no additional conditions.",
"action": "Sends a Telegram notification with the message '👧 Саша дома'."
},
"human_like": "Sends a Telegram notification when Sandra has been home for three minutes.",
"complexity": "low"
}
},
{
"id": "system_sasha_tracker",
"result": {
"structured": "TRIGGER: When Sasha Tracker [input_boolean.sasha_tracker] changes state. CONDITIONS: None. ACTIONS: Update the location of device tracker 'sasha' to 'home' if Sasha Tracker [input_boolean.sasha_tracker] is on, otherwise update it to 'not_home'.",
"natural_language": {
"trigger": "Whenever the state of the Sasha Tracker [input_boolean.sasha_tracker] changes.",
"conditions": "There are no additional conditions that must be met.",
"action": "It updates the location of the device tracker named 'sasha'. If the Sasha Tracker [input_boolean.sasha_tracker] is turned on, the location is set to 'home'. If it is turned off, the location is set to 'not_home'."
},
"human_like": "This automation syncs the location of 'sasha' with a manual tracker switch, marking them as home or away.",
"complexity": "low"
}
},
{
"id": "system_guest_tracker",
"result": {
"structured": "TRIGGER: When System Guest Mode [switch.system_guest_mode] changes state. CONDITIONS: The previous state and new state of System Guest Mode [switch.system_guest_mode] are the same, and neither state is 'unknown', 'unavailable', or 'none'. ACTIONS: Update the device tracker for 'guest' to location 'home' if System Guest Mode [switch.system_guest_mode] is on, otherwise update to location 'not_home'.",
"natural_language": {
"trigger": "Whenever the state of the System Guest Mode [switch.system_guest_mode] switch changes.",
"conditions": "The automation only runs if the state change is considered valid. This means the state before and after the change must be identical, and neither state can be 'unknown', 'unavailable', or 'none'.",
"action": "Updates the location of a tracked device named 'guest'. If the System Guest Mode [switch.system_guest_mode] is turned on, the guest is marked as being at 'home'. If it is turned off, the guest is marked as 'not_home'."
},
"human_like": "Tracks a guest's presence by linking it to the guest mode switch, marking them home when the mode is on and away when it's off.",
"complexity": "medium"
}
},
{
"id": "system_sasha_audio_tts",
"result": {
"structured": "TRIGGER: When Sasha Tracker [input_boolean.sasha_tracker] changes state. CONDITIONS: tod day [binary_sensor.tod_day] is on AND system dark mode [switch.system_dark_mode] is off. ACTIONS: Set volume for yandex hall big [media_player.yandex_hb] to the value from main volume [input_number.main_volume]. Play a media file on yandex hall big [media_player.yandex_hb] with a content type from alice mode [input_select.alice_mode] and a content ID that is a randomly generated greeting message (using a random name and a conditional greeting based on the state of Sasha Tracker [input_boolean.sasha_tracker]). Send a Telegram notification with a photo from 'secret entrance_snap' and a caption indicating whether Sasha is home or leaving based on the state of Sasha Tracker [input_boolean.sasha_tracker].",
"natural_language": {
"trigger": "Whenever the state of the Sasha Tracker [input_boolean.sasha_tracker] changes, indicating Sasha's presence status has updated.",
"conditions": "The automation only runs if it is daytime (tod day [binary_sensor.tod_day] is on) and system dark mode [switch.system_dark_mode] is turned off.",
"action": "First, it sets the volume of the yandex hall big [media_player.yandex_hb] speaker to the level stored in main volume [input_number.main_volume]. Then, it plays a custom audio greeting on that speaker. The greeting uses a randomly chosen name and a greeting or farewell phrase, depending on whether Sasha Tracker [input_boolean.sasha_tracker] is on (home) or off (away). The type of audio (like TTS) is determined by the alice mode [input_select.alice_mode] setting. Finally, it sends a photo notification via Telegram with a caption that says whether Sasha is home or leaving."
},
"human_like": "Announces Sasha's arrival or departure with a personalized voice greeting and sends a photo notification, but only during the day when dark mode is off.",
"complexity": "medium"
}
},
{
"id": "system_presence_sergey_at_home",
"result": {
"structured": "TRIGGER: When Sergey [person.sergey] changes state from not_home to home. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '👴 Сережа пришел'.",
"natural_language": {
"trigger": "When Sergey [person.sergey] arrives home, changing his state from away to home.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram notification with the message '👴 Сережа пришел'."
},
"human_like": "Sends a Telegram notification when Sergey arrives home.",
"complexity": "low"
}
},
{
"id": "system_presence_lena_at_home",
"result": {
"structured": "TRIGGER: When Elena [person.elena] changes state from not_home to home. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '👱 Лена пришла'.",
"natural_language": {
"trigger": "When Elena [person.elena] arrives home, changing her state from away to home.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a Telegram notification with the message '👱 Лена пришла'."
},
"human_like": "Sends a Telegram message to announce when Lena arrives home.",
"complexity": "low"
}
},
{
"id": "system_presence_mama_at_home",
"result": {
"structured": "TRIGGER: When Natasha [person.natasha] changes state from not_home to home. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '👱 Мама пришла'.",
"natural_language": {
"trigger": "When Natasha [person.natasha] arrives home.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram notification containing the message '👱 Мама пришла'."
},
"human_like": "Sends a Telegram message to announce when Natasha arrives home.",
"complexity": "low"
}
},
{
"id": "system_presence_papa_at_home",
"result": {
"structured": "TRIGGER: When Vasya [person.vasya] changes state from not_home to home. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '👱 Папа пришел'.",
"natural_language": {
"trigger": "When Vasya [person.vasya] arrives home.",
"conditions": "There are no additional conditions.",
"action": "Sends a Telegram notification with the message '👱 Папа пришел'."
},
"human_like": "Sends a Telegram message to announce when Papa arrives home.",
"complexity": "low"
}
},
{
"id": "toilet_fan_on",
"result": {
"structured": "TRIGGER: When Action Sensor 1b97111 [sensor.0x00158d0001b97111_action] reports a 'single' click event. CONDITIONS: Lights T Group [group.lights_t] is on AND esp32 node b fan t [fan.esp32_node_b_fan_t] is off AND esp32 node b fan b manual mode [switch.esp32_node_b_fan_b_manual_mode] is off. ACTIONS: Turn off esp32 node b fan b [fan.esp32_node_b_fan_b] AND turn on esp32 node b fan t [fan.esp32_node_b_fan_t].",
"natural_language": {
"trigger": "When the Action Sensor 1b97111 [sensor.0x00158d0001b97111_action] is clicked once.",
"conditions": "The Lights T Group [group.lights_t] must be on, the esp32 node b fan t [fan.esp32_node_b_fan_t] must be off, and the esp32 node b fan b manual mode [switch.esp32_node_b_fan_b_manual_mode] must be off.",
"action": "Turns off the esp32 node b fan b [fan.esp32_node_b_fan_b] and turns on the esp32 node b fan t [fan.esp32_node_b_fan_t]."
},
"human_like": "When a specific sensor is clicked, it switches the bathroom fan from the bottom to the top unit, provided the lights are on and the system is not in manual mode.",
"complexity": "low"
}
},
{
"id": "toilet_fan_off",
"result": {
"structured": "TRIGGER: When Action Sensor 1b97111 [sensor.0x00158d0001b97111_action] sends a 'single' click event OR When timer fan t [timer.fan_t] finishes OR When Short Fan T Timer [timer.short_fan_t] finishes. CONDITIONS: esp32 node b fan t [fan.esp32_node_b_fan_t] is on. ACTIONS: Turn off esp32 node b fan t [fan.esp32_node_b_fan_t] AND Cancel timer fan t [timer.fan_t].",
"natural_language": {
"trigger": "When a single click is detected on the Action Sensor 1b97111 [sensor.0x00158d0001b97111_action], or when either the timer fan t [timer.fan_t] or the Short Fan T Timer [timer.short_fan_t] finishes.",
"conditions": "The fan, esp32 node b fan t [fan.esp32_node_b_fan_t], must currently be on.",
"action": "Turn off the fan, esp32 node b fan t [fan.esp32_node_b_fan_t], and cancel the timer fan t [timer.fan_t]."
},
"human_like": "Turns off the bathroom fan when a button is clicked or a timer ends, but only if the fan is currently running.",
"complexity": "medium"
}
},
{
"id": "toilet_fan_timer_on",
"result": {
"structured": "TRIGGER: When esp32 node b fan t [fan.esp32_node_b_fan_t] turns on. CONDITIONS: None. ACTIONS: Cancel timer fan t [timer.fan_t] AND start timer fan t [timer.fan_t].",
"natural_language": {
"trigger": "When the esp32 node b fan t [fan.esp32_node_b_fan_t] is turned on.",
"conditions": "There are no conditions for this automation.",
"action": "Cancels the timer fan t [timer.fan_t] and then starts it again."
},
"human_like": "Restarts the bathroom fan timer whenever the fan is turned on.",
"complexity": "low"
}
},
{
"id": "toilet_fan_timer_restart",
"result": {
"structured": "TRIGGER: When a Xiaomi Aqara motion event occurs for Motion Sensor 1e54280 [binary_sensor.0x00158d0001e54280_motion]. CONDITIONS: Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] is open (on) AND esp32 node b fan t [fan.esp32_node_b_fan_t] is on AND more than 10 seconds have passed since the last time this automation was triggered. ACTIONS: Cancel timer fan t [timer.fan_t] AND start timer fan t [timer.fan_t].",
"natural_language": {
"trigger": "When motion is detected by the Motion Sensor 1e54280 [binary_sensor.0x00158d0001e54280_motion].",
"conditions": "The Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] must be open, the esp32 node b fan t [fan.esp32_node_b_fan_t] must be running, and at least 10 seconds must have passed since this automation last ran.",
"action": "Restarts the fan timer by first cancelling and then immediately starting the timer fan t [timer.fan_t]."
},
"human_like": "Restarts the bathroom fan timer when motion is detected, provided the door is open and the fan is already on, but only if the automation hasn't run recently.",
"complexity": "medium"
}
},
{
"id": "toilet_fan_auto",
"result": {
"structured": "TRIGGER: When the time pattern matches every 30 minutes (at minutes 0 and 30). CONDITIONS: Auto Fan T [input_boolean.auto_fan_t] is on AND esp32 node b fan b manual mode [switch.esp32_node_b_fan_b_manual_mode] is off AND esp32 node b fan t [fan.esp32_node_b_fan_t] is off AND timer fan b [timer.fan_b] is idle AND (the current time minus the last time esp32 node b fan t [fan.esp32_node_b_fan_t] changed state is greater than 20 minutes) AND (it is NOT the case that (the current hour is between 0 and 6 inclusive OR system security mode [switch.system_security_mode] is on OR (sasha door contact [binary_sensor.0x00158d0001ef2ffc_contact] is open (on) AND the current time minus the last time sasha door contact [binary_sensor.0x00158d0001ef2ffc_contact] changed state is greater than 10 minutes))). ACTIONS: Turn off esp32 node b fan b [fan.esp32_node_b_fan_b] AND turn on esp32 node b fan t [fan.esp32_node_b_fan_t].",
"natural_language": {
"trigger": "The automation runs every 30 minutes, at minutes 0 and 30 of each hour.",
"conditions": "Several conditions must all be true: the Auto Fan T [input_boolean.auto_fan_t] switch must be on, the manual mode for the fan B [switch.esp32_node_b_fan_b_manual_mode] must be off, the toilet fan [fan.esp32_node_b_fan_t] itself must be off, the timer for fan B [timer.fan_b] must be idle, and the toilet fan must have been off for more than 20 minutes. Additionally, it must not be between midnight and 6 AM, the system security mode [switch.system_security_mode] must not be on, and it must not be the case that the Sasha door contact [binary_sensor.0x00158d0001ef2ffc_contact] has been open for more than 10 minutes.",
"action": "It turns off the bathroom fan B [fan.esp32_node_b_fan_b] and turns on the toilet fan [fan.esp32_node_b_fan_t]."
},
"human_like": "Automatically runs the toilet fan every 30 minutes during the day, but only if it's safe and hasn't run recently, while also turning off the other bathroom fan.",
"complexity": "high"
}
},
{
"id": "toilet_light_off_auto",
"result": {
"structured": "TRIGGER: When timer Main Light T Timer [timer.main_light_t] finishes. CONDITIONS: Presence T [binary_sensor.presence_t] is off AND the current attribute of this entity is 0 AND Lights T Group [group.lights_t] is on. ACTIONS: Turn off Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1] AND turn off ESP32 Node B Light [light.esp32_node_b_light] with a transition of 5 seconds.",
"natural_language": {
"trigger": "When the Main Light T Timer [timer.main_light_t] finishes.",
"conditions": "If the Presence T [binary_sensor.presence_t] indicates no presence, the current attribute of the timer is 0, and the Lights T Group [group.lights_t] is currently on.",
"action": "Turns off the Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1] and the ESP32 Node B Light [light.esp32_node_b_light], with the latter fading off over 5 seconds."
},
"human_like": "Automatically turns off the toilet lights when a timer ends, provided no one is present.",
"complexity": "medium"
}
},
{
"id": "toilet_timer_on",
"result": {
"structured": "TRIGGER: When Presence T [binary_sensor.presence_t] changes from on to off OR when Lights T Group [group.lights_t] turns on. CONDITIONS: The automation's own entity (this.entity_id) has an attribute 'current' equal to 0. ACTIONS: Cancel Main Light T Timer [timer.main_light_t] AND start Main Light T Timer [timer.main_light_t].",
"natural_language": {
"trigger": "When the Presence T [binary_sensor.presence_t] sensor changes from detecting presence to not detecting presence, or when the Lights T Group [group.lights_t] is turned on.",
"conditions": "The automation checks if its own entity has an attribute named 'current' with a value of 0.",
"action": "Cancels the Main Light T Timer [timer.main_light_t] and then immediately starts it again."
},
"human_like": "Restarts a timer for the main light when someone leaves the area or when the lights are turned on, provided a specific condition is met.",
"complexity": "medium"
}
},
{
"id": "toilet_timer_stop",
"result": {
"structured": "TRIGGER: When Presence T [binary_sensor.presence_t] changes from off to on OR when Lights T Group [group.lights_t] changes to off. CONDITIONS: None. ACTIONS: Cancel Door T Timer [timer.door_t] AND cancel Main Light T Timer [timer.main_light_t].",
"natural_language": {
"trigger": "When the Presence T [binary_sensor.presence_t] sensor detects presence (changes from off to on), or when the Lights T Group [group.lights_t] turns off.",
"conditions": "There are no additional conditions that must be met.",
"action": "Cancels both the Door T Timer [timer.door_t] and the Main Light T Timer [timer.main_light_t]."
},
"human_like": "Stops the toilet-related timers when someone enters the room or when the lights are turned off.",
"complexity": "low"
}
},
{
"id": "toilet_timer_stop_motion_with_light_presence",
"result": {
"structured": "TRIGGER: When Motion Sensor 1e54280 [binary_sensor.0x00158d0001e54280_motion] changes to on (motion detected). CONDITIONS: (Presence T [binary_sensor.presence_t] is on) AND (Lights T Group [group.lights_t] is on) AND (Door T Timer [timer.door_t] is active OR Main Light T Timer [timer.main_light_t] is active). ACTIONS: Cancel Door T Timer [timer.door_t] and Main Light T Timer [timer.main_light_t].",
"natural_language": {
"trigger": "When the Motion Sensor 1e54280 [binary_sensor.0x00158d0001e54280_motion] detects motion.",
"conditions": "If the Presence T [binary_sensor.presence_t] sensor indicates presence, the Lights T Group [group.lights_t] is on, and either the Door T Timer [timer.door_t] or the Main Light T Timer [timer.main_light_t] is currently running.",
"action": "Cancels both the Door T Timer [timer.door_t] and the Main Light T Timer [timer.main_light_t]."
},
"human_like": "Stops the toilet timers when motion is detected, provided the lights are on and presence is confirmed.",
"complexity": "medium"
}
},
{
"id": "toilet_auto_light_on",
"result": {
"structured": "TRIGGER: When Motion Sensor 1e54280 [binary_sensor.0x00158d0001e54280_motion] detects a motion event OR when Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] changes from off to on OR when Action Sensor 1b97111 [sensor.0x00158d0001b97111_action] receives a single click event. CONDITIONS: Lights T Group [group.lights_t] is off AND system security mode [switch.system_security_mode] is off AND the current attribute of this automation entity is 0. ACTIONS: If tod day [binary_sensor.tod_day] is on, turn on Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1]. If tod day [binary_sensor.tod_day] is off, turn on ESP32 Node B Light [light.esp32_node_b_light].",
"natural_language": {
"trigger": "The automation is triggered by motion detected by the Motion Sensor 1e54280 [binary_sensor.0x00158d0001e54280_motion], by the Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] being opened, or by a single click event on the Action Sensor 1b97111 [sensor.0x00158d0001b97111_action].",
"conditions": "For the automation to run, the Lights T Group [group.lights_t] must be off, the system security mode [switch.system_security_mode] must be off, and the automation's own 'current' attribute must be set to 0.",
"action": "Depending on the time of day, a different light is turned on. If the tod day [binary_sensor.tod_day] sensor indicates it is daytime, the Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1] is turned on. If it is not daytime, the ESP32 Node B Light [light.esp32_node_b_light] is turned on."
},
"human_like": "Automatically turns on a specific light in the toilet area when motion is detected, a door is opened, or a button is clicked, but only if the main lights are off and the security system is disarmed.",
"complexity": "medium"
}
},
{
"id": "toilet_light_toggle",
"result": {
"structured": "TRIGGER: When action sensor bathroom repeater [sensor.0x54ef4410005054cc_action] receives a 'button_2_single' click event. CONDITIONS: None. ACTIONS: If Lights T Group [group.lights_t] is on, then turn off Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1] AND ESP32 Node B Light [light.esp32_node_b_light]. Otherwise, if Lights T Group [group.lights_t] is off, then turn on Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1].",
"natural_language": {
"trigger": "When the action sensor bathroom repeater [sensor.0x54ef4410005054cc_action] detects a single click on its second button.",
"conditions": "There are no conditions that must be met before the action is performed.",
"action": "The automation checks the state of the Lights T Group [group.lights_t]. If the group is on, it turns off both the Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1] and the ESP32 Node B Light [light.esp32_node_b_light]. If the group is off, it turns on only the Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1]."
},
"human_like": "Toggles the bathroom lights on or off with a single button press, turning on one light or turning off both lights depending on the current state.",
"complexity": "low"
}
},
{
"id": "toilet_indicator",
"result": {
"structured": "TRIGGER: When Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] changes state. CONDITIONS: (The previous and new states of Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] are not 'unknown', 'unavailable', or 'none' AND the new state is different from the previous state) AND (The attribute 'current' of Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] is 0). ACTIONS: IF Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] is 'on', THEN turn on ESP32 Node HS Toilet [light.esp32_node_hs_toilet] with effect 'Color Wipe' and brightness 100. OTHERWISE, turn off ESP32 Node HS Toilet [light.esp32_node_hs_toilet].",
"natural_language": {
"trigger": "Whenever the state of the Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] changes.",
"conditions": "The change must be a valid one: the previous and new states must not be 'unknown', 'unavailable', or 'none', and the new state must be different from the old one. Additionally, the sensor's 'current' attribute must be set to 0.",
"action": "If the contact sensor reports 'on', the ESP32 Node HS Toilet [light.esp32_node_hs_toilet] light is turned on with the 'Color Wipe' effect and full brightness. If the sensor reports any other valid state (like 'off'), the light is turned off."
},
"human_like": "Controls a toilet indicator light based on a contact sensor, turning it on with a color effect when the sensor is triggered and off otherwise, but only when the sensor's 'current' attribute is zero.",
"complexity": "medium"
}
},
{
"id": "vova_breather_auto_co2",
"result": {
"structured": "TRIGGER: Every 3 minutes (time pattern). CONDITIONS: system breather auto v [switch.system_breather_auto_v] is on AND system breather manual v [switch.system_breather_manual_v] is NOT on. ACTIONS: Choose the first matching sequence: 1) IF Contact Sensor 3fa6cf5 [binary_sensor.0x00158d0003fa6cf5_contact] is off AND ESP32 Node V CO2 [sensor.esp32_node_v_co2] is above co2 high limit [input_number.co2_high_limit] AND Breather V [binary_sensor.breather_v] is off AND system security mode [switch.system_security_mode] is off THEN turn on Breather V Fan [fan.breather_v] AND IF ESP32 Node V CO2 [sensor.esp32_node_v_co2] is above co2 high limit [input_number.co2_high_limit] AND system breather auto speed v [switch.system_breather_auto_speed_v] is on THEN set Breather V Fan [fan.breather_v] percentage to the integer value of Breather Set Speed V [sensor.breather_set_speed_v] (default 0). 2) IF Contact Sensor 3fa6cf5 [binary_sensor.0x00158d0003fa6cf5_contact] is off AND ESP32 Node V CO2 [sensor.esp32_node_v_co2] is above co2 high limit [input_number.co2_high_limit] AND Breather V [binary_sensor.breather_v] is on AND system security mode [switch.system_security_mode] is off AND system breather auto speed v [switch.system_breather_auto_speed_v] is on AND Breather Set Speed V [sensor.breather_set_speed_v] is above 0 THEN set Breather V Fan [fan.breather_v] percentage to the integer value of Breather Set Speed V [sensor.breather_set_speed_v] (default 0). 3) IF Contact Sensor 3fa6cf5 [binary_sensor.0x00158d0003fa6cf5_contact] is off AND ESP32 Node V CO2 [sensor.esp32_node_v_co2] is below co2 low limit [input_number.co2_low_limit] AND Breather V [binary_sensor.breather_v] is on THEN turn off Breather V Fan [fan.breather_v]. 4) IF Contact Sensor 3fa6cf5 [binary_sensor.0x00158d0003fa6cf5_contact] is on AND Breather V [binary_sensor.breather_v] is on THEN turn off Breather V Fan [fan.breather_v].",
"natural_language": {
"trigger": "The automation runs every 3 minutes.",
"conditions": "The automation is only active if the system breather auto v [switch.system_breather_auto_v] is turned on, and the system breather manual v [switch.system_breather_manual_v] is not turned on.",
"action": "The automation checks several scenarios in order and performs the first one that matches. First, if the Contact Sensor 3fa6cf5 [binary_sensor.0x00158d0003fa6cf5_contact] is closed (off), the CO2 level in Vova's room [sensor.esp32_node_v_co2] is above the high limit [input_number.co2_high_limit], the Breather V [binary_sensor.breather_v] is off, and the system security mode [switch.system_security_mode] is off, it will turn on the Breather V Fan [fan.breather_v]. If, after turning it on, the CO2 level is still high and the system breather auto speed v [switch.system_breather_auto_speed_v] is on, it will set the fan speed to the value from the Breather Set Speed V [sensor.breather_set_speed_v] sensor. Second, if the contact sensor is closed, CO2 is high, the fan is already on, security mode is off, the auto speed switch is on, and the set speed sensor reads above 0, it will adjust the fan speed to the set speed value. Third, if the contact sensor is closed, the CO2 level drops below the low limit [input_number.co2_low_limit], and the fan is on, it will turn the fan off. Finally, if the contact sensor is open (on) and the fan is on, it will turn the fan off."
},
"human_like": "Automatically controls the ventilation fan in Vova's room based on CO2 levels, but only when auto mode is enabled, manual mode is off, and the window is closed.",
"complexity": "high"
}
},
{
"id": "vova_breather_auto_timer",
"result": {
"structured": "TRIGGER: When Digma IR V Breather Remote Used [binary_sensor.digma_ir_v_breather_remote_used] turns on OR When a yandex_intent event with text 'Выключи вентиляцию' occurs OR When a yandex_intent event with text 'Включи вентиляцию' occurs OR When the time is 21:00:00 OR When the time is 09:00:00. CONDITIONS: The automation's own entity has an attribute 'current' equal to 0. ACTIONS: Choose based on trigger ID: If trigger is 'to_off_alice' AND the event's entity_id is 'media_player.yandex_v', then if Breather V [binary_sensor.breather_v] is on, turn off Breather V Fan [fan.breather_v], then turn on System Breather Auto V [switch.system_breather_auto_v]. If trigger is 'to_on_alice' AND the event's entity_id is 'media_player.yandex_v', then if Breather V [binary_sensor.breather_v] is off, turn on System Breather Manual V [switch.system_breather_manual_v] and turn on Breather V Fan [fan.breather_v]. If trigger is 'time_trigger_night', then turn on System Breather Manual V [switch.system_breather_manual_v], set Breather V Fan [fan.breather_v] percentage to 50, and set Purifier2s Fan [fan.purifier2s] preset mode to Silent. If trigger is 'time_trigger_day', then turn off Breather V Fan [fan.breather_v], cancel Breather V Timer [timer.breather_v], turn on System Breather Auto V [switch.system_breather_auto_v], and set Purifier2s Fan [fan.purifier2s] preset mode to Silent.",
"natural_language": {
"trigger": "The automation can be triggered in five ways: when the remote control for the breather is used, when a voice command to turn off the ventilation is given to the Yandex device, when a voice command to turn on the ventilation is given to the Yandex device, at 9:00 PM, or at 9:00 AM.",
"conditions": "The automation only runs if its own internal state attribute 'current' is set to 0. For the voice command triggers, an additional check ensures the command originated from the specific Yandex device in Vova's room [media_player.yandex_v].",
"action": "The action depends on which trigger fired. For the 'turn off' voice command, it turns off the breather fan if it's on and switches the system to auto mode. For the 'turn on' voice command, it switches the system to manual mode and turns on the fan if it's off. At 9:00 PM, it switches to manual mode, sets the fan to 50% speed, and sets the air purifier to silent mode. At 9:00 AM, it turns off the fan, cancels any running timer, switches the system back to auto mode, and sets the air purifier to silent mode."
},
"human_like": "This automation manages the ventilation and air purifier in Vova's room based on remote use, voice commands, and a daily schedule, switching between automatic and manual control modes.",
"complexity": "high"
}
},
{
"id": "vova_breather_plug_toggle",
"result": {
"structured": "TRIGGER: When Switch Plug 344998e [switch.0x00158d000344998e_plug] remains off for 30 seconds. CONDITIONS: system security mode [switch.system_security_mode] is off. ACTIONS: Turn on Switch Plug 344998e [switch.0x00158d000344998e_plug].",
"natural_language": {
"trigger": "When the Switch Plug 344998e [switch.0x00158d000344998e_plug] is turned off and stays off for 30 seconds.",
"conditions": "The system security mode [switch.system_security_mode] must be off.",
"action": "Turn the Switch Plug 344998e [switch.0x00158d000344998e_plug] back on."
},
"human_like": "Automatically turns a specific plug back on 30 seconds after it's turned off, but only when the security system is disarmed.",
"complexity": "low"
}
},
{
"id": "vova_breather_switches_interlock",
"result": {
"structured": "TRIGGER: When System Hourly Mode Breather V [switch.system_hourly_mode_breather_v] OR System Breather Auto V [switch.system_breather_auto_v] OR System Breather Manual V [switch.system_breather_manual_v] changes state. CONDITIONS: (The new state of the triggering entity is on) AND (The attribute 'current' of the triggering entity is 0). ACTIONS: Turn off the two switches that were not the trigger. If System Hourly Mode Breather V [switch.system_hourly_mode_breather_v] triggered, turn off System Breather Auto V [switch.system_breather_auto_v] and System Breather Manual V [switch.system_breather_manual_v]. If System Breather Auto V [switch.system_breather_auto_v] triggered, turn off System Hourly Mode Breather V [switch.system_hourly_mode_breather_v] and System Breather Manual V [switch.system_breather_manual_v]. If System Breather Manual V [switch.system_breather_manual_v] triggered, turn off System Hourly Mode Breather V [switch.system_hourly_mode_breather_v] and System Breather Auto V [switch.system_breather_auto_v].",
"natural_language": {
"trigger": "When the state of any of the three switches—System Hourly Mode Breather V [switch.system_hourly_mode_breather_v], System Breather Auto V [switch.system_breather_auto_v], or System Breather Manual V [switch.system_breather_manual_v]—changes.",
"conditions": "The switch that changed must have been turned on, and its 'current' attribute must be set to 0.",
"action": "Turns off the two switches that were not the one that triggered the automation. Specifically, if the hourly mode switch triggered, it turns off the auto and manual switches. If the auto switch triggered, it turns off the hourly and manual switches. If the manual switch triggered, it turns off the hourly and auto switches."
},
"human_like": "Ensures only one of the three breather control switches is on at a time by automatically turning off the other two when one is activated.",
"complexity": "medium"
}
},
{
"id": "vova_breather_switches_default",
"result": {
"structured": "TRIGGER: When System Hourly Mode Breather V [switch.system_hourly_mode_breather_v] is off AND System Breather Auto V [switch.system_breather_auto_v] is off AND System Breather Manual V [switch.system_breather_manual_v] is off. CONDITIONS: The current attribute of the triggering entity is 0. ACTIONS: Turn on System Breather Auto V [switch.system_breather_auto_v].",
"natural_language": {
"trigger": "When all three switches—System Hourly Mode Breather V [switch.system_hourly_mode_breather_v], System Breather Auto V [switch.system_breather_auto_v], and System Breather Manual V [switch.system_breather_manual_v]—are turned off.",
"conditions": "The automation checks that the 'current' attribute of the entity that triggered the automation equals 0.",
"action": "Turns on the System Breather Auto V [switch.system_breather_auto_v] switch."
},
"human_like": "Automatically turns on the Breather Auto mode when all other Breather-related modes are off and a specific attribute condition is met.",
"complexity": "medium"
}
},
{
"id": "vova_main_lamp_left_button",
"result": {
"structured": "TRIGGER: When Action Sensor 1712d55 [sensor.0x00158d0001712d55_action] sends a 'button_1_single' click event. CONDITIONS: (Square LED V [light.square_led_v] is on OR off AND Square LED V Nightlight [light.square_led_v_nightlight] is on OR off) AND (the automation entity's 'current' attribute is 0). ACTIONS: If Square LED V Nightlight [binary_sensor.square_led_v_nightlight] is on AND Lights Main V Group [group.lights_main_v] is off THEN set Square LED V [light.square_led_v] to normal mode AND turn it on with brightness 230 and color temperature 5000K. ELSE IF Square LED V Nightlight [binary_sensor.square_led_v_nightlight] is off AND Lights Main V Group [group.lights_main_v] is off THEN turn on Square LED V [light.square_led_v] with brightness 230 and color temperature 5000K. ELSE IF Lights Main V Group [group.lights_main_v] is on THEN turn off Square LED V [light.square_led_v] AND Square LED V Nightlight [light.square_led_v_nightlight].",
"natural_language": {
"trigger": "When the Action Sensor 1712d55 [sensor.0x00158d0001712d55_action] detects a single click on button 1.",
"conditions": "The Square LED V [light.square_led_v] and Square LED V Nightlight [light.square_led_v_nightlight] must both be in a simple on or off state (not in an intermediate or unsupported mode). Additionally, the automation's own 'current' attribute must be set to 0.",
"action": "Depending on the state of the room's lights, the automation will perform one of three actions. If the nightlight sensor indicates the nightlight is on and the main light group is off, it sets the main Square LED V [light.square_led_v] to normal mode and turns it on to a bright, cool white. If the nightlight is off and the main light group is off, it simply turns on the main light to the same bright, cool white setting. If the main light group is already on, it turns off both the main Square LED V [light.square_led_v] and the Square LED V Nightlight [light.square_led_v_nightlight]."
},
"human_like": "Controls the main room light with a button click, toggling it on with a specific brightness and color when off, or turning all lights off when they are on.",
"complexity": "medium"
}
},
{
"id": "vova_main_lamp_right_button",
"result": {
"structured": "TRIGGER: When Action Sensor 1712d55 [sensor.0x00158d0001712d55_action] sends a 'button_2_single' click event. CONDITIONS: Square LED V [light.square_led_v] is either on OR off AND Square LED V Nightlight [light.square_led_v_nightlight] is either on OR off AND the automation's 'current' attribute is 0. ACTIONS: Choose the first matching sequence: IF Square LED V Nightlight [binary_sensor.square_led_v_nightlight] is on AND Lights Main V Group [group.lights_main_v] is off THEN set Square LED V [light.square_led_v] to normal mode AND turn it on with brightness 14 and color temperature 3000K. ELSE IF Square LED V Nightlight [binary_sensor.square_led_v_nightlight] is off AND Lights Main V Group [group.lights_main_v] is off THEN turn on Square LED V [light.square_led_v] with brightness 14 and color temperature 3000K. ELSE IF Lights Main V Group [group.lights_main_v] is on THEN turn off Square LED V [light.square_led_v] AND Square LED V Nightlight [light.square_led_v_nightlight].",
"natural_language": {
"trigger": "When the Action Sensor 1712d55 [sensor.0x00158d0001712d55_action] detects a single press of its second button.",
"conditions": "The Square LED V [light.square_led_v] and the Square LED V Nightlight [light.square_led_v_nightlight] must both be in a simple on or off state (not in an intermediate or unsupported mode). Additionally, the automation itself must have an internal attribute called 'current' set to 0.",
"action": "Depending on the current state of the room's lights, the automation will perform one of three actions. If the nightlight sensor is on and the main light group is off, it will first set the main Square LED V light to normal mode and then turn it on to a warm white, low brightness. If the nightlight sensor is off and the main light group is off, it will simply turn on the main Square LED V light to the same warm, low brightness. If the main light group is already on, it will turn off both the main Square LED V light and the Square LED V Nightlight light."
},
"human_like": "Controls the main room light with a button, toggling it on with a warm, dim glow or turning all lights off, depending on whether the nightlight or other lights are active.",
"complexity": "medium"
}
},
{
"id": "vova_square_led_restart",
"result": {
"structured": "TRIGGER: Every 1 minute. CONDITIONS: Square LED V [light.square_led_v] is unavailable AND remains so for 2 minutes AND the 'current' attribute of Square LED V [light.square_led_v] is 0 AND System Square LED V Restart Key [switch.system_square_led_v_restart_key] is on AND Shelly 1PM LED V [switch.shelly_1pm_led_v] state is not 'unknown', 'unavailable', or 'none'. ACTIONS: WHILE (Square LED V [light.square_led_v] is unavailable AND the loop iteration count is less than or equal to 5) DO: Turn off Shelly 1PM LED V [switch.shelly_1pm_led_v], wait 15 seconds, turn on Shelly 1PM LED V [switch.shelly_1pm_led_v], send Telegram notification '🚨 Square LED V restart done({{repeat.index}})!', wait 30 seconds. END WHILE. IF Square LED V [light.square_led_v] is unavailable THEN send Telegram notification '🚨 Square LED V restart unsuccessful!' AND turn off System Square LED V Restart Key [switch.system_square_led_v_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "All of the following must be true: the Square LED V [light.square_led_v] light has been in an 'unavailable' state for at least two minutes, its 'current' attribute is 0, the System Square LED V Restart Key [switch.system_square_led_v_restart_key] is switched on, and the Shelly 1PM LED V [switch.shelly_1pm_led_v] switch is in a valid state (not 'unknown', 'unavailable', or 'none').",
"action": "If all conditions are met, the automation will attempt to restart the light by toggling its power switch. It will repeatedly turn the Shelly 1PM LED V [switch.shelly_1pm_led_v] off, wait 15 seconds, turn it back on, and send a Telegram notification about the restart attempt. This loop will run up to 5 times, but only as long as the Square LED V [light.square_led_v] remains unavailable. After the loop finishes, if the light is still unavailable, it sends a final notification that the restart was unsuccessful and turns off the System Square LED V Restart Key [switch.system_square_led_v_restart_key]."
},
"human_like": "Automatically attempts to restart the Square LED V light if it becomes unresponsive, using a power cycle on its switch and notifying the user of the result.",
"complexity": "high"
}
},
{
"id": "vova_square_led_restart_key_toggle",
"result": {
"structured": "TRIGGER: When Square LED V [light.square_led_v] changes state from unavailable. CONDITIONS: None. ACTIONS: Turn on System Square LED V Restart Key [switch.system_square_led_v_restart_key].",
"natural_language": {
"trigger": "When the Square LED V [light.square_led_v] becomes available again after being in an unavailable state.",
"conditions": "There are no additional conditions that must be met.",
"action": "Turns on the System Square LED V Restart Key [switch.system_square_led_v_restart_key]."
},
"human_like": "Automatically restarts the Square LED V light when it becomes available again.",
"complexity": "low"
}
},
{
"id": "vova_main_lamp_switch_on_if_off",
"result": {
"structured": "TRIGGER: When Action Sensor 1712d55 [sensor.0x00158d0001712d55_action] reports a button_1_single click OR when Action Sensor 1712d55 [sensor.0x00158d0001712d55_action] reports a button_2_single click. CONDITIONS: Shelly 1PM LED V [switch.shelly_1pm_led_v] is off. ACTIONS: Turn on Shelly 1PM LED V [switch.shelly_1pm_led_v].",
"natural_language": {
"trigger": "When the Action Sensor 1712d55 [sensor.0x00158d0001712d55_action] detects a single click on either button 1 or button 2.",
"conditions": "If the Shelly 1PM LED V [switch.shelly_1pm_led_v] is currently switched off.",
"action": "Turn on the Shelly 1PM LED V [switch.shelly_1pm_led_v]."
},
"human_like": "Turns on the main lamp in Vova's room if it is off when a specific wireless button is clicked.",
"complexity": "low"
}
},
{
"id": "vova_main_lamp_off_bed_strips_on",
"result": {
"structured": "TRIGGER: When Lights Main V Group [group.lights_main_v] turns off. CONDITIONS: light outside mi [binary_sensor.light_outside_mi] is off AND system security mode [switch.system_security_mode] is off AND the entity referenced by 'this.entity_id' has an attribute 'current' equal to 0. ACTIONS: Turn on D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] and D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] with brightness set to 26.",
"natural_language": {
"trigger": "When the main light group in Vova's room, Lights Main V Group [group.lights_main_v], is turned off.",
"conditions": "If the outside light sensor, light outside mi [binary_sensor.light_outside_mi], is off, the system security mode [switch.system_security_mode] is disabled, and the entity referenced in the template has its 'current' attribute set to 0.",
"action": "Turn on the two bed LED strips, D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] and D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra], at a low brightness level of 26."
},
"human_like": "Turns on the bed LED strips at a low brightness when the main room lights are turned off, provided it's dark outside and security mode is not active.",
"complexity": "medium"
}
},
{
"id": "vova_led_strip_bed_control_on",
"result": {
"structured": "TRIGGER: When Motion Sensor 53faae1 [binary_sensor.0x00158d00053faae1_motion] reports a motion event OR when Motion Sensor 44c7971 [binary_sensor.0x00158d00044c7971_motion] reports a motion event. CONDITIONS: Bed LED Enable [binary_sensor.bed_led_enable] is on. ACTIONS: Choose based on trigger and light state: IF trigger is on_sandra AND D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] is off THEN turn on D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] with brightness 50 if tod day [binary_sensor.tod_day] is off, else 100, with white color and 2-second transition. IF trigger is on_dima AND D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] is off THEN turn on D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] with brightness 100 if tod day [binary_sensor.tod_day] is off, else 153, with white color and 2-second transition. IF trigger is on_sandra AND D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] is on THEN cancel LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v] AND start LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v]. IF trigger is on_dima AND D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] is on THEN cancel LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v] AND start LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v].",
"natural_language": {
"trigger": "When motion is detected by either the Motion Sensor 53faae1 [binary_sensor.0x00158d00053faae1_motion] or the Motion Sensor 44c7971 [binary_sensor.0x00158d00044c7971_motion].",
"conditions": "The Bed LED Enable [binary_sensor.bed_led_enable] must be switched on for the automation to proceed.",
"action": "Depending on which sensor triggered and the current state of the corresponding LED strip, the automation will either turn on the light or reset a timer. If motion is detected by Sandra's sensor and her LED strip is off, it turns on her strip with a brightness that depends on whether it's day or night, using a white color and a smooth transition. If motion is detected by Dima's sensor and his LED strip is off, it turns on his strip with a different brightness based on the time of day, also white with a smooth transition. If either strip is already on when motion is detected, the corresponding timer for that strip is cancelled and then restarted."
},
"human_like": "Automatically turns on or resets timers for individual bed LED strips when motion is detected near them, but only if the overall bed LED feature is enabled.",
"complexity": "medium"
}
},
{
"id": "vova_led_strip_bed_timer_control",
"result": {
"structured": "TRIGGER: When D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] changes state OR When D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] changes state. CONDITIONS: None. ACTIONS: If the trigger was D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] changing state, then start LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v] if the light is on, otherwise cancel it. If the trigger was D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] changing state, then start LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v] if the light is on, otherwise cancel it.",
"natural_language": {
"trigger": "Whenever the state of the D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] changes, or whenever the state of the D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] changes.",
"conditions": "There are no additional conditions that must be met.",
"action": "Depending on which light changed: If it was Sandra's light, the automation will either start the LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v] if the light is now on, or cancel the timer if the light is off. If it was Dima's light, it will either start the LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v] if the light is on, or cancel that timer if the light is off."
},
"human_like": "Manages timers for Vova's bed LED strips, starting a timer when a strip is turned on and cancelling it when turned off.",
"complexity": "medium"
}
},
{
"id": "vova_led_strip_bed_control_off",
"result": {
"structured": "TRIGGER: When LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v] finishes OR when LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v] finishes. CONDITIONS: None. ACTIONS: If triggered by LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v] finishing, wait until D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] state is 'on' or 'off', then repeatedly turn off D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] with a 10-second transition, wait 1 second, until D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] is not 'on'. If triggered by LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v] finishing, wait until D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] state is 'on' or 'off', then repeatedly turn off D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] with a 10-second transition, wait 1 second, until D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] is not 'on'.",
"natural_language": {
"trigger": "When the timer for Sandra's LED strip [timer.led_strip_bed_sandra_v] finishes, or when the timer for Dima's LED strip [timer.led_strip_bed_dima_v] finishes.",
"conditions": "There are no conditions that must be met before the action runs.",
"action": "If Sandra's timer finished, the automation waits until her LED strip [light.d1mini_bed_leds_strip_sandra] is either on or off, then repeatedly turns it off with a 10-second fade, pausing for a second between attempts, until the light is confirmed to be off. If Dima's timer finished, it performs the same process for his LED strip [light.d1mini_bed_leds_strip_dima]."
},
"human_like": "Turns off the appropriate LED bed strip with a smooth fade when its corresponding timer finishes.",
"complexity": "medium"
}
},
{
"id": "vova_led_strip_bed_control_unavailable",
"result": {
"structured": "TRIGGER: When D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] changes from unavailable to on OR When D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] changes from unavailable to on. CONDITIONS: None. ACTIONS: If the trigger was D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] changing from unavailable to on, then check if LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v] is NOT active, cancel LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v], and start LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v]. If the trigger was D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] changing from unavailable to on, then check if LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v] is NOT active, cancel LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v], and start LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v].",
"natural_language": {
"trigger": "When the D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] or the D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] becomes available and turns on after being unavailable.",
"conditions": "There are no additional conditions that must be met.",
"action": "Depending on which light triggered the automation, a specific timer is managed. If Sandra's light triggered it, the LED Strip Bed Sandra V Timer [timer.led_strip_bed_sandra_v] is cancelled and started, but only if it wasn't already running. If Dima's light triggered it, the LED Strip Bed Dima V Timer [timer.led_strip_bed_dima_v] is cancelled and started, but only if Sandra's timer is not active."
},
"human_like": "Restarts a specific timer for a bed LED strip when it comes back online, ensuring timers are coordinated between two separate lights.",
"complexity": "medium"
}
},
{
"id": "vova_led_strip_bed_restart",
"result": {
"structured": "TRIGGER: Every minute (time_pattern minutes: /1). CONDITIONS: (D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] OR D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] is unavailable AND remains so for 1 minute) AND (the triggering entity's 'current' attribute equals 0) AND (System LED Strip Bed V Restart Key [switch.system_led_strip_bed_v_restart_key] is on). ACTIONS: WHILE (D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] is unavailable AND the loop iteration count is less than or equal to 5) DO: Turn off Switch Channel 1 1a248e3 [switch.0x00158d0001a248e3_channel_1], wait 15 seconds, turn on Switch Channel 1 1a248e3 [switch.0x00158d0001a248e3_channel_1], send a Telegram notification '🚨 LED Strip Bed V restart done({{repeat.index}})!', wait 30 seconds. AFTER LOOP: IF D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] is still unavailable THEN send a Telegram notification '🚨 Led Strip Bed V restart unsuccessful!' AND turn off System LED Strip Bed V Restart Key [switch.system_led_strip_bed_v_restart_key].",
"natural_language": {
"trigger": "The automation runs every minute.",
"conditions": "If either the D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] or D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra] has been in an 'unavailable' state for at least one minute, and the triggering entity's 'current' attribute is zero, and the System LED Strip Bed V Restart Key [switch.system_led_strip_bed_v_restart_key] is turned on.",
"action": "It will attempt to restart the LED strips by repeatedly turning off and on a power switch. Specifically, as long as the D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] remains unavailable and the number of attempts is five or fewer, it will turn off the Switch Channel 1 1a248e3 [switch.0x00158d0001a248e3_channel_1], wait 15 seconds, turn it back on, send a Telegram notification reporting the restart attempt number, and wait 30 seconds. After these attempts, if the D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] is still unavailable, it will send a final Telegram notification stating the restart was unsuccessful and turn off the System LED Strip Bed V Restart Key [switch.system_led_strip_bed_v_restart_key]."
},
"human_like": "Automatically attempts to restart unresponsive LED light strips by cycling their power and notifies the user of the result.",
"complexity": "high"
}
},
{
"id": "vova_led_strip_bed_restart_key_toggle",
"result": {
"structured": "TRIGGER: When D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] changes from unavailable to any other state. CONDITIONS: None. ACTIONS: Turn on System LED Strip Bed V Restart Key [switch.system_led_strip_bed_v_restart_key].",
"natural_language": {
"trigger": "When the D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima] becomes available again after being unavailable.",
"conditions": "There are no conditions that must be met.",
"action": "Turns on the System LED Strip Bed V Restart Key [switch.system_led_strip_bed_v_restart_key]."
},
"human_like": "Automatically restarts the LED strip control key when the bed light becomes available again.",
"complexity": "low"
}
},
{
"id": "vova_main_light_off_with_occupancy",
"result": {
"structured": "TRIGGER: When Occupancy V [binary_sensor.occupancy_v] becomes unoccupied (off) AND remains unoccupied for 2 hours. CONDITIONS: Lights V Group [group.lights_v] is on. ACTIONS: Turn off Square LED V [light.square_led_v], Square LED V Nightlight [light.square_led_v_nightlight], D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima], D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra], and Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light] with a 15-second transition.",
"natural_language": {
"trigger": "When the Occupancy V [binary_sensor.occupancy_v] sensor reports the room as unoccupied and stays in that state for two hours.",
"conditions": "The automation only runs if the Lights V Group [group.lights_v] is currently on.",
"action": "Turns off all the specified lights in the room, including Square LED V [light.square_led_v], Square LED V Nightlight [light.square_led_v_nightlight], D1Mini Bed LEDs Strip Dima [light.d1mini_bed_leds_strip_dima], D1Mini Bed LEDs Strip Sandra [light.d1mini_bed_leds_strip_sandra], and Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light], fading them off over 15 seconds."
},
"human_like": "Automatically turns off all the lights in Vova's room with a gentle fade-out if the room has been unoccupied for two hours.",
"complexity": "low"
}
},
{
"id": "vova_led_color_control",
"result": {
"structured": "TRIGGER: When a click event is detected on Action Sensor 16bdb4a [sensor.0x00158d00016bdb4a_action]. CONDITIONS: Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light] state is 'on' OR 'off' AND Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light] attribute 'current' equals 0. ACTIONS: If the click type is 'single', toggle Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light]. If the click type is 'double', turn on Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light] with brightness 230 and color temperature 5000K. If the click type is 'hold', turn on Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light] with brightness 14 and color temperature 3000K.",
"natural_language": {
"trigger": "When the Action Sensor 16bdb4a [sensor.0x00158d00016bdb4a_action] reports a click event.",
"conditions": "The Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light] must be either on or off, and its 'current' attribute must be set to 0.",
"action": "Depending on the type of click detected: a single click toggles the light on or off; a double click turns the light on with a bright, cool white setting; a long press (hold) turns the light on with a dim, warm white setting."
},
"human_like": "Controls a light using a wireless button, with different click types for toggling, bright white, and dim warm light.",
"complexity": "medium"
}
},
{
"id": "vova_main_light_control_with_alice",
"result": {
"structured": "TRIGGER: When a Yandex intent event with text 'Выключи свет в Вовиной комнате' occurs OR when a Yandex intent event with text 'Включи свет в Вовиной комнате' occurs. CONDITIONS: (Square LED V [light.square_led_v] state is 'on' OR 'off') AND (Square LED V Nightlight [light.square_led_v_nightlight] state is 'on' OR 'off') AND (the automation entity's 'current' attribute is 0). ACTIONS: If the trigger was 'Выключи свет в Вовиной комнате', turn off Square LED V [light.square_led_v]. If the trigger was 'Включи свет в Вовиной комнате', turn on Square LED V [light.square_led_v] with brightness 230 and color temperature 5000K.",
"natural_language": {
"trigger": "When a voice command is received via Yandex, either saying 'Выключи свет в Вовиной комнате' (turn off the light in Vova's room) or 'Включи свет в Вовиной комнате' (turn on the light in Vova's room).",
"conditions": "The automation checks that both the main light, Square LED V [light.square_led_v], and the nightlight, Square LED V Nightlight [light.square_led_v_nightlight], are in a simple state of either 'on' or 'off'. It also verifies that the automation's own 'current' attribute is set to 0.",
"action": "Depending on which voice command was received, the automation either turns off the main light or turns it on with a specific brightness and color temperature."
},
"human_like": "Controls the main light in Vova's room using voice commands via Yandex, turning it on or off with preset brightness and color.",
"complexity": "medium"
}
},
{
"id": "system_printer_toner_level",
"result": {
"structured": "TRIGGER: When any of the following sensors reports a numeric value below 30: HP 178nw Black [sensor.hp_178nw_black], HP 178nw Cyan [sensor.hp_178nw_cyan], HP 178nw Magenta [sensor.hp_178nw_magenta], HP 178nw Yellow [sensor.hp_178nw_yellow]. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message containing the current toner levels for all four cartridges.",
"natural_language": {
"trigger": "When the level of any of the printer's toner cartridges (Black, Cyan, Magenta, or Yellow) falls below 30 percent.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram alert stating that cartridges need to be ordered, and includes the current percentage levels for Black, Cyan, Magenta, and Yellow."
},
"human_like": "Sends a Telegram alert when any of the printer's toner levels are low, so you can order replacements.",
"complexity": "low"
}
},
{
"id": "system_printer_offline",
"result": {
"structured": "TRIGGER: When HP Color Laser MFP 178nw [sensor.hp_color_laser_mfp_178nw] becomes unavailable AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '⚠ Принтер не в сети! Проверьте питание!'.",
"natural_language": {
"trigger": "When the HP Color Laser MFP 178nw [sensor.hp_color_laser_mfp_178nw] becomes unavailable and stays that way for five minutes.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram notification with a warning message in Russian stating: '⚠ Принтер не в сети! Проверьте питание!' (Printer is offline! Check the power!)."
},
"human_like": "Sends a Telegram alert if the printer has been offline for five minutes.",
"complexity": "low"
}
},
{
"id": "bathroom_miscale_weight_person",
"result": {
"structured": "TRIGGER: When Weight Changed [binary_sensor.weight_changed] changes from off to on. CONDITIONS: None. ACTIONS: Set variable 'who_could_weigh' to a list of person names (lowercase) where the person is home, has an associated input_number.weight_<person_name> entity, and the current weight from Weight Sensor 8cd0b2a04f02 [sensor.8cd0b2a04f02_weight] is within ±3% of the stored weight value for that person. If the list contains exactly one person, then set the value of the corresponding input_number.weight_<person_name> entity to the current weight from Weight Sensor 8cd0b2a04f02 [sensor.8cd0b2a04f02_weight] (rounded to 1 decimal place).",
"natural_language": {
"trigger": "When the Weight Changed [binary_sensor.weight_changed] sensor indicates a new weight measurement has been detected.",
"conditions": "There are no explicit conditions; the logic is handled within the action sequence.",
"action": "First, the automation calculates which person is likely to have been weighed. It checks all persons who are home and have a corresponding weight profile (input_number.weight_<person_name>). For each such person, it compares the newly measured weight from Weight Sensor 8cd0b2a04f02 [sensor.8cd0b2a04f02_weight] against their stored weight, allowing a 3% tolerance. If exactly one person's stored weight falls within this tolerance range of the new measurement, the automation updates that person's stored weight profile with the new measured value."
},
"human_like": "Automatically updates a person's stored weight when a new scale measurement is taken and it can be confidently matched to a single household member.",
"complexity": "high"
}
},
{
"id": "security_everybody_out_1min",
"result": {
"structured": "TRIGGER: When Family Home [binary_sensor.family_home] changes to off AND remains off for 1 minute. CONDITIONS: None. ACTIONS: Send a notification to mobile_app_iphone_16_pro_dima with title 'Никого нет дома!' and message 'Включение режима охраны через 1 минуту!', including an action button labeled 'Гостевой режим'.",
"natural_language": {
"trigger": "When the Family Home [binary_sensor.family_home] sensor indicates that nobody is home and remains in that state for one minute.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a notification to the user's iPhone with a warning that security mode will be activated in one minute, and provides a button to enable guest mode."
},
"human_like": "Sends a phone notification when the house has been empty for one minute, warning that security mode will activate soon and offering a guest mode option.",
"complexity": "low"
}
},
{
"id": "security_everybody_out_reply_from_app",
"result": {
"structured": "TRIGGER: When a mobile app notification action event occurs with event_data service equal to 'guestmode'. CONDITIONS: None. ACTIONS: Turn on System Guest Mode [switch.system_guest_mode].",
"natural_language": {
"trigger": "When a notification action from the mobile app is received, specifically one with the service data set to 'guestmode'.",
"conditions": "There are no conditions that must be met.",
"action": "Activates the System Guest Mode by turning on the switch [switch.system_guest_mode]."
},
"human_like": "Turns on guest mode when a specific action is taken in the mobile app notification.",
"complexity": "low"
}
},
{
"id": "security_wrapper",
"result": {
"structured": "TRIGGER: When Family Home [binary_sensor.family_home] remains off for 2 minutes OR When Family Home [binary_sensor.family_home] remains on for 15 seconds. CONDITIONS: System Guest Mode [switch.system_guest_mode] is off. ACTIONS: If the trigger was Family Home [binary_sensor.family_home] off for 2 minutes, then turn on system security mode [switch.system_security_mode]. If the trigger was Family Home [binary_sensor.family_home] on for 15 seconds, then turn off system security mode [switch.system_security_mode] AND turn off System Guest Mode [switch.system_guest_mode]. Then, wait for 3 seconds. Finally, send a Telegram notification with a message stating whether the security mode is on or off.",
"natural_language": {
"trigger": "When the Family Home [binary_sensor.family_home] sensor reports the home is unoccupied (off) for two minutes, or when it reports the home is occupied (on) for fifteen seconds.",
"conditions": "This automation only runs if the System Guest Mode [switch.system_guest_mode] is currently turned off.",
"action": "Depending on which trigger occurred: if the home was unoccupied for two minutes, the system security mode [switch.system_security_mode] is turned on. If the home was occupied for fifteen seconds, both the system security mode [switch.system_security_mode] and the System Guest Mode [switch.system_guest_mode] are turned off. After a three-second delay, a Telegram notification is sent announcing whether the security mode is now on or off."
},
"human_like": "Automatically arms the security system when everyone leaves home and disarms it when someone returns, while also sending a status notification.",
"complexity": "medium"
}
},
{
"id": "security_state_change",
"result": {
"structured": "TRIGGER: When system security mode [switch.system_security_mode] changes to a new state and remains in that new state for 15 seconds. CONDITIONS: None. ACTIONS: If system security mode [switch.system_security_mode] is 'on', then send a Telegram notification with message '🏢 Никого нет дома, выключаем освещение!', then run Away Mode On Script [script.away_mode_on], then send a Telegram notification with message '🔔 Освещение выключено!'. Otherwise, if system security mode [switch.system_security_mode] is 'off', then turn off system security mode [switch.system_security_mode] and then run Away Mode Off Script [script.away_mode_off].",
"natural_language": {
"trigger": "When the system security mode [switch.system_security_mode] changes to a new state and stays in that state for 15 seconds.",
"conditions": "There are no conditions that must be met before the actions are performed.",
"action": "Depending on the new state of the security mode, different actions are taken. If the mode is turned on, a Telegram message is sent stating '🏢 Никого нет дома, выключаем освещение!', the Away Mode On Script [script.away_mode_on] is activated, and then another Telegram confirmation message '🔔 Освещение выключено!' is sent. If the mode is turned off, the system security mode [switch.system_security_mode] is turned off again, and the Away Mode Off Script [script.away_mode_off] is activated."
},
"human_like": "Manages home security by turning on or off away mode and sending notifications when the security state changes.",
"complexity": "medium"
}
},
{
"id": "security_sensors_state_change",
"result": {
"structured": "TRIGGER: When any of the listed contact sensors (binary_sensor.0x00158d00027129ae_contact, binary_sensor.0x00158d0001ef2ffc_contact, binary_sensor.0x00158d0002a14c5e_contact, binary_sensor.0x00158d0002529b9c_contact, binary_sensor.0x00158d00025315e9_contact, binary_sensor.0x00158d0001e5d6be_contact, binary_sensor.582d344031f7_contact, binary_sensor.0x00158d0002531749_contact, binary_sensor.0x00158d00025371f6_contact, binary_sensor.0x00158d000200ad58_contact, binary_sensor.0x00158d0003fa6cf5_contact, binary_sensor.0x00158d00025370d1_contact) changes state OR when any of the listed motion sensors (binary_sensor.0x00158d0001ae9f61_motion, binary_sensor.0x00158d0001aea602_motion, binary_sensor.0x00158d0003f27ce2_motion, binary_sensor.0x00158d0001e05856_motion, binary_sensor.0x00158d0001e53cda_motion, binary_sensor.0x00158d0001e54280_motion, binary_sensor.0x00158d000224f89f_motion, binary_sensor.0x00158d000236bb94_motion, binary_sensor.0x00158d000236bc6d_motion, binary_sensor.0x00158d0002b4729d_motion, binary_sensor.0x00158d0002b482e9_motion, binary_sensor.0x00158d0002b48381_motion, binary_sensor.0x00158d0003140824_motion, binary_sensor.0x00158d0001d5995e_motion, binary_sensor.0x00158d00044c7971_motion, binary_sensor.0x00158d00053faae1_motion, binary_sensor.g5_flex_entrance_motion) turns on. CONDITIONS: system security mode [switch.system_security_mode] is on AND Security Delay Timer [timer.security_delay] is idle AND ha uptime [sensor.ha_uptime] is above 0. ACTIONS: Send a Telegram notification with the message '👮 Сработал датчик [friendly_name of the triggering sensor]!'.",
"natural_language": {
"trigger": "The automation is triggered when any of the 12 specified contact sensors changes its state, or when any of the 17 specified motion sensors detects motion and turns on.",
"conditions": "For the automation to run, the system security mode [switch.system_security_mode] must be switched on, the Security Delay Timer [timer.security_delay] must not be running (be idle), and the Home Assistant system must be up and running, indicated by the ha uptime [sensor.ha_uptime] being greater than zero.",
"action": "Sends a push notification via Telegram with a police emoji and a message stating that a specific sensor has been triggered, using the friendly name of the sensor that caused the trigger."
},
"human_like": "Sends a security alert via Telegram when any contact or motion sensor is activated while the security system is armed.",
"complexity": "medium"
}
},
{
"id": "security_alarm_delay",
"result": {
"structured": "TRIGGER: When Contact Sensor 582d344031f7 [binary_sensor.582d344031f7_contact] changes from closed (off) to open (on). CONDITIONS: system security mode [switch.system_security_mode] is on. ACTIONS: Cancel Security Delay Timer [timer.security_delay] AND start Security Delay Timer [timer.security_delay].",
"natural_language": {
"trigger": "When the Contact Sensor 582d344031f7 [binary_sensor.582d344031f7_contact] opens (changes from closed to open).",
"conditions": "The system security mode [switch.system_security_mode] must be switched on.",
"action": "Cancels any currently running Security Delay Timer [timer.security_delay] and immediately starts it again from the beginning."
},
"human_like": "Restarts the security delay timer when a contact sensor opens while the security system is armed.",
"complexity": "low"
}
},
{
"id": "security_main_door_vibration",
"result": {
"structured": "TRIGGER: When Action Sensor 2b5fbc1 [sensor.0x00158d0002b5fbc1_action] changes state to 'vibration'. CONDITIONS: system security mode [switch.system_security_mode] is on. ACTIONS: Send a Telegram notification with the message: '🚪 Внимание! Главная дверь - Вибрация!'.",
"natural_language": {
"trigger": "When the Action Sensor 2b5fbc1 [sensor.0x00158d0002b5fbc1_action] detects a vibration event.",
"conditions": "The system security mode [switch.system_security_mode] must be switched on.",
"action": "Sends a Telegram alert with the message: '🚪 Внимание! Главная дверь - Вибрация!' to notify of the vibration at the main door."
},
"human_like": "Sends a security alert via Telegram when vibration is detected on the main door while the security system is active.",
"complexity": "low"
}
},
{
"id": "security_sensors_state_change_night",
"result": {
"structured": "TRIGGER: When any of the following contact sensors changes from closed (off) to open (on): contact sensor 1 [binary_sensor.0x00158d000200ad58_contact], Contact Sensor 25371f6 [binary_sensor.0x00158d00025371f6_contact], Contact Sensor 3fa6cf5 [binary_sensor.0x00158d0003fa6cf5_contact], contact sensor sasha [binary_sensor.0x00158d00025370d1_contact], Contact Sensor 582d344031f7 [binary_sensor.582d344031f7_contact], main door contact [binary_sensor.0x00158d0001e5d6be_contact], Contact Sensor 2531749 [binary_sensor.0x00158d0002531749_contact]. CONDITIONS: tod day [binary_sensor.tod_day] is off AND system security mode [switch.system_security_mode] is off. ACTIONS: Send a Telegram notification with a message that includes a police officer emoji and a description based on the triggering sensor's device class and state: if it's a window opening, 'Открыто окно [friendly_name]'; if a window closing, 'Окно закрыто [friendly_name]'; if a door opening, 'Дверь открыта [friendly_name]'; if a door closing, 'Дверь закрыта [friendly_name]'; otherwise 'NA'.",
"natural_language": {
"trigger": "When any of the listed contact sensors, such as contact sensor 1 [binary_sensor.0x00158d000200ad58_contact], main door contact [binary_sensor.0x00158d0001e5d6be_contact], or others, transitions from a closed state to an open state.",
"conditions": "The automation only runs if it is not daytime, meaning the tod day [binary_sensor.tod_day] sensor is off, and the overall system security mode [switch.system_security_mode] is switched off.",
"action": "Sends a notification via Telegram. The message includes a police officer emoji and a custom text. The text describes whether a window or door was opened or closed, using the friendly name of the specific sensor that triggered the event. If the sensor type isn't a window or door, it sends 'NA'."
},
"human_like": "Sends a Telegram alert when a door or window opens at night while the security system is disarmed.",
"complexity": "medium"
}
},
{
"id": "system_error_counter",
"result": {
"structured": "TRIGGER: When a system_log_event with level ERROR occurs. CONDITIONS: (The event message does NOT contain the substring 'system_error_counter') AND (The event message does NOT contain the substring 'a0d7b954_ide'). ACTIONS: Increment Error Counter [counter.error_counter].",
"natural_language": {
"trigger": "Whenever the Home Assistant system logs an error event.",
"conditions": "The error message must not contain the text 'system_error_counter' and must also not contain the text 'a0d7b954_ide'.",
"action": "Increases the count of the Error Counter [counter.error_counter] by one."
},
"human_like": "Counts system error events, but ignores specific messages related to the counter itself and the IDE add-on.",
"complexity": "medium"
}
},
{
"id": "system_warning_counter",
"result": {
"structured": "TRIGGER: When a system_log_event with level WARNING occurs. CONDITIONS: (The event message does NOT contain the substring 'system_warning_counter') AND (The event message does NOT contain the substring 'a0d7b954_ide'). ACTIONS: Increment Warning Counter [counter.warning_counter].",
"natural_language": {
"trigger": "Whenever the system logs a WARNING level event.",
"conditions": "The warning message must not contain the text 'system_warning_counter', and it must also not contain the text 'a0d7b954_ide'.",
"action": "Increases the count of the Warning Counter [counter.warning_counter] by one."
},
"human_like": "Counts system warnings, but filters out specific messages to avoid counting its own activity or IDE-related warnings.",
"complexity": "medium"
}
},
{
"id": "system_triggered_automations_counter",
"result": {
"structured": "TRIGGER: When an automation_triggered event occurs. CONDITIONS: (The triggered automation name does NOT contain the string 'system_triggered_automations_counter') AND (The triggered automation name does NOT contain the string 'system_esphome_ble_advert'). ACTIONS: Increment the Triggered Automations [counter.triggered_automations] counter.",
"natural_language": {
"trigger": "Whenever any Home Assistant automation is triggered, generating an 'automation_triggered' event.",
"conditions": "The name of the automation that was triggered must not be 'system_triggered_automations_counter' and must not contain the text 'system_esphome_ble_advert'. This prevents the counter from incrementing for its own triggers or for a specific ESPHome BLE advertisement automation.",
"action": "Increases the count on the Triggered Automations [counter.triggered_automations] counter by one."
},
"human_like": "Counts how many other automations are triggered, excluding itself and a specific ESPHome automation, to monitor system activity.",
"complexity": "medium"
}
},
{
"id": "system_executed_scripts",
"result": {
"structured": "TRIGGER: When any script starts (event_type: script_started). CONDITIONS: None. ACTIONS: Increment Executed Scripts [counter.executed_scripts].",
"natural_language": {
"trigger": "Whenever any script in the system begins execution.",
"conditions": "There are no conditions for this automation.",
"action": "Increases the value of the Executed Scripts [counter.executed_scripts] counter by one."
},
"human_like": "Keeps a running count of how many times scripts have been started in the system.",
"complexity": "low"
}
},
{
"id": "system_start_message",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Send a Telegram notification containing the installed Home Assistant core version, the boot duration in seconds from Start Time [sensor.start_time], the number of errors from Errors During Boot [sensor.errors_during_boot] (with proper Russian word form), and the number of warnings from Warnings During Boot [sensor.warnings_during_boot] (with proper Russian word form). Then, run the System Start Script [script.system_start]. Then, increment the Restart Counter [counter.restart_counter]. Then, wait for 10 seconds. Then, reload the configuration entry with ID '88ea33f726cb0d5ca6d8d320267c468c'.",
"natural_language": {
"trigger": "When the Home Assistant server finishes starting up.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a message to Telegram reporting that the server is running, including the installed version, the boot time in seconds, and the count of errors and warnings that occurred during boot (with the correct Russian grammatical forms for 'error' and 'warning'). It then executes the System Start Script [script.system_start], increases the Restart Counter [counter.restart_counter] by one, waits for ten seconds, and finally reloads a specific configuration entry."
},
"human_like": "Sends a startup notification and runs initialization tasks when Home Assistant boots up.",
"complexity": "medium"
}
},
{
"id": "system_stop_message",
"result": {
"structured": "TRIGGER: When Home Assistant shutdown event occurs. CONDITIONS: None. ACTIONS: Turn off System Main Lead [switch.system_main_lead] AND send a Telegram notification with a message containing the installed Home Assistant version and the formatted uptime from HA Uptime Text [sensor.ha_uptime_text].",
"natural_language": {
"trigger": "When the Home Assistant system begins its shutdown process.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the System Main Lead [switch.system_main_lead] and sends a Telegram notification. The message includes the current Home Assistant version and the system's uptime, with the uptime text formatted to replace 'd' with 'д', 'h' with 'ч', and 'm' with 'м'."
},
"human_like": "Safely powers down the main system switch and sends a shutdown notification with uptime details when Home Assistant is stopped.",
"complexity": "low"
}
},
{
"id": "system_start_stop_flag_set",
"result": {
"structured": "TRIGGER: When Home Assistant starts OR When Home Assistant shuts down. CONDITIONS: None. ACTIONS: If the trigger is Home Assistant start, turn off input boolean ha shutdown [input_boolean.ha_shutdown] AND turn on System GW3 State Automation [automation.system_gw3_state], System ZB Devices Status Automation [automation.system_zb_devices_status], System ESP Devices Status Automation [automation.system_esp_devices_status], and System Xiaomi GW3 Error Automation [automation.system_xiaomi_gw3_error]. If the trigger is Home Assistant shutdown, turn on input boolean ha shutdown [input_boolean.ha_shutdown] AND turn off System GW3 State Automation [automation.system_gw3_state], System ZB Devices Status Automation [automation.system_zb_devices_status], System ESP Devices Status Automation [automation.system_esp_devices_status], and System Xiaomi GW3 Error Automation [automation.system_xiaomi_gw3_error].",
"natural_language": {
"trigger": "The automation is triggered either when Home Assistant starts up or when Home Assistant shuts down.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "Depending on which event triggered the automation, it performs different actions. If Home Assistant has just started, it turns off the input boolean ha shutdown [input_boolean.ha_shutdown] and turns on four other automations: System GW3 State Automation [automation.system_gw3_state], System ZB Devices Status Automation [automation.system_zb_devices_status], System ESP Devices Status Automation [automation.system_esp_devices_status], and System Xiaomi GW3 Error Automation [automation.system_xiaomi_gw3_error]. If Home Assistant is shutting down, it turns on the input boolean ha shutdown [input_boolean.ha_shutdown] and turns off those same four automations."
},
"human_like": "Manages system flags and related automations when Home Assistant starts or stops, ensuring certain processes are only active while the system is running.",
"complexity": "medium"
}
},
{
"id": "system_github_star",
"result": {
"structured": "TRIGGER: When To4ko Myconfig Stars [sensor.to4ko_myconfig_stars] changes state to any value. CONDITIONS: (trigger.from_state.state is NOT in ['unknown', 'unavailable', 'none', '0']) AND (trigger.to_state.state is NOT in ['unknown', 'unavailable', 'none', '0']) AND (trigger.to_state.state equals trigger.from_state.state). ACTIONS: Send a Telegram notification with the message '⭐ GitHub Star -> [trigger.to_state.state]'.",
"natural_language": {
"trigger": "Whenever the To4ko Myconfig Stars [sensor.to4ko_myconfig_stars] sensor updates to a new state.",
"conditions": "The automation only runs if both the previous state and the new state of the sensor are valid values, meaning they are not 'unknown', 'unavailable', 'none', or '0'. Furthermore, the new state must be identical to the previous state.",
"action": "Sends a notification via Telegram stating the current number of GitHub stars."
},
"human_like": "Sends a Telegram notification when the GitHub star count for a repository updates to a valid, non-zero number.",
"complexity": "medium"
}
},
{
"id": "system_new_device_tracker_found",
"result": {
"structured": "TRIGGER: When a new device tracker event occurs (event_type: device_tracker_new_device). CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '✴ Новое устройство: [host_name if defined, else NA] - ([entity_id if defined, else NA])'.",
"natural_language": {
"trigger": "When the Home Assistant system detects a new device on the network, generating a 'device_tracker_new_device' event.",
"conditions": "There are no conditions that must be met for this automation to run.",
"action": "Sends a notification via Telegram. The message announces the new device, including its host name and entity ID if they are available in the event data; otherwise, it shows 'NA' for those fields."
},
"human_like": "Sends a Telegram alert whenever a new device is discovered on the network.",
"complexity": "low"
}
},
{
"id": "system_entity_change",
"result": {
"structured": "TRIGGER: When any entity registry update event occurs. CONDITIONS: (The updated entity ID does NOT contain 'mi_11') AND (The updated entity ID does NOT contain 'pova_5') AND (The event action does NOT contain 'lower') AND (The event action does NOT contain 'update'). ACTIONS: Send a Telegram message to the recipient defined by the secret Tel Chat ID Secret [secret tel_chat_id]. The message reports the type of entity change (capitalized action) and the entity IDs involved (old and new, if defined).",
"natural_language": {
"trigger": "Whenever the Home Assistant entity registry is updated, triggering an event.",
"conditions": "The automation only proceeds if the entity ID being updated does not contain the strings 'mi_11' or 'pova_5'. It also requires that the type of update action does not contain the strings 'lower' or 'update'.",
"action": "Sends a notification via Telegram to a specific chat, reporting the type of change (like 'create' or 'remove') and the entity IDs involved in the change."
},
"human_like": "Sends a Telegram notification for most entity registry changes, filtering out updates from specific devices and certain action types.",
"complexity": "medium"
}
},
{
"id": "system_device_entity_deletion",
"result": {
"structured": "TRIGGER: When a device registry update event occurs. CONDITIONS: None. ACTIONS: Execute a Python script that, if the updated device's custom name is 'delete', removes that device from the device registry.",
"natural_language": {
"trigger": "Whenever the Home Assistant device registry is updated.",
"conditions": "There are no conditions that must be met.",
"action": "Runs a custom Python script. The script checks if the device that triggered the update has its custom name set to 'delete'. If it does, the script removes that device from the device registry entirely."
},
"human_like": "Automatically deletes any device from Home Assistant that has been renamed to 'delete'.",
"complexity": "medium"
}
},
{
"id": "system_new_day_telegram",
"result": {
"structured": "TRIGGER: When the time is 00:00:01. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message containing daily system statistics (restarts, errors, warnings, bad logins, triggered automations, automation errors, executed scripts, main door openings, and kettle uses). Reset the following counters: Warning Counter [counter.warning_counter], Error Counter [counter.error_counter], Restart Counter [counter.restart_counter], Badlogin Counter [counter.badlogin_counter], counter main door hb [counter.main_door_hb], Automation Error Counter [counter.automation_error_counter], kettle counter [counter.kettle_k], Triggered Automations [counter.triggered_automations], Executed Scripts [counter.executed_scripts], and Toilet Tank [counter.toilet_tank]. Turn off system dark mode [switch.system_dark_mode]. Clear the TTS cache. Select the next option for dishwasher [input_select.dishwasher]. Turn on Vova TV Control Automation [automation.vova_tv_control].",
"natural_language": {
"trigger": "At exactly one second past midnight (00:00:01).",
"conditions": "There are no conditions; the automation runs unconditionally at the specified time.",
"action": "Sends a Telegram message summarizing the previous day's system activity, including counts for restarts, errors, warnings, failed logins, triggered automations, automation errors, executed scripts, main door openings, and kettle uses. It then resets all the mentioned counters, turns off the system dark mode switch, clears the text-to-speech cache, cycles to the next option in the dishwasher selection, and enables the Vova TV Control automation."
},
"human_like": "Sends a daily system summary to Telegram at midnight, resets various activity counters, and performs routine system maintenance tasks.",
"complexity": "medium"
}
},
{
"id": "system_weather_to_telegram",
"result": {
"structured": "TRIGGER: When the time is 07:00:00 OR when the time is 21:00:00. CONDITIONS: None. ACTIONS: Turn on Briefing Telegram Script [script.briefing_telegram].",
"natural_language": {
"trigger": "The automation runs at 7:00 AM or at 9:00 PM.",
"conditions": "There are no conditions that must be met.",
"action": "It activates the Briefing Telegram Script [script.briefing_telegram]."
},
"human_like": "Sends a daily weather briefing via Telegram in the morning and evening.",
"complexity": "low"
}
},
{
"id": "system_login_failure",
"result": {
"structured": "TRIGGER: When a persistent notification with ID 'http-login' is added OR updated OR when a persistent notification with ID 'ip-ban' is added OR updated. CONDITIONS: The current attribute of the triggering entity (this.entity_id) is equal to 0. ACTIONS: Increment Badlogin Counter [counter.badlogin_counter] AND in parallel: Send a Telegram message to the chat identified by Tel Chat ID Secret [secret tel_chat_id] with a title and message based on the trigger ID (using emojis and extracted IP address information) AND dismiss the persistent notification with the ID from the trigger.",
"natural_language": {
"trigger": "The automation is triggered when a new or updated persistent notification appears, specifically for either an 'http-login' failure or an 'ip-ban' event.",
"conditions": "The automation only proceeds if the 'current' attribute of the notification entity that triggered the automation is set to 0.",
"action": "It increments the Badlogin Counter [counter.badlogin_counter] and simultaneously sends a formatted Telegram alert to a specific chat. The alert includes an emoji and a message describing either a failed login attempt or an IP ban, extracting the relevant IP address from the notification. Finally, it dismisses the notification that triggered the event."
},
"human_like": "Sends a Telegram alert and logs a counter whenever the system detects a failed login attempt or an IP ban.",
"complexity": "medium"
}
},
{
"id": "system_blocked_ip",
"result": {
"structured": "TRIGGER: When IP Ban Notification [persistent_notification.ip_ban] changes to a state of null. CONDITIONS: The current attribute of the triggering entity (IP Ban Notification [persistent_notification.ip_ban]) is equal to 0. ACTIONS: Send a Telegram notification containing the blocked IP address extracted from the notification message, then dismiss the IP Ban Notification [persistent_notification.ip_ban].",
"natural_language": {
"trigger": "When the IP Ban Notification [persistent_notification.ip_ban] is cleared or changes to a null state.",
"conditions": "The notification must have a 'current' attribute value of 0, indicating a specific state of the ban.",
"action": "Sends a formatted Telegram alert with the blocked IP address extracted from the notification's message, and then dismisses the original IP Ban Notification [persistent_notification.ip_ban]."
},
"human_like": "Sends a Telegram alert and clears the notification whenever a new IP address is blocked by the system.",
"complexity": "medium"
}
},
{
"id": "system_groups_rebuild",
"result": {
"structured": "TRIGGER: When the system time matches a pattern of every hour (hours: /1) OR when Home Assistant starts. CONDITIONS: The automation entity's attribute 'current' equals 0. ACTIONS: Set group updates_monitor to contain all update entities with device_class 'firmware'. Set group gw3_zigbee_entities to contain all sensor entities ending with '_zigbee'. Set group gw3_ble_entities to contain all sensor entities ending with '_ble'. Set group gw3_mesh_entities to contain all sensor entities ending with '_mesh'. Set group gw3_zigbee_battery_low to contain all binary_sensor entities ending with '_battery_low'. Set group esp_devices_uptime to contain all sensor entities ending with '_uptime_s'. Set group batteries to contain all sensor entities ending with '_battery' and not containing 'esp32' in their entity_id. Set group lights_all to contain all entities from groups whose entity_id contains 'lights_'.",
"natural_language": {
"trigger": "The automation runs either every hour on the hour, or immediately when Home Assistant starts up.",
"conditions": "It only proceeds if the automation's own 'current' attribute is set to 0.",
"action": "The automation rebuilds several dynamic groups. It creates a group for firmware updates, groups for different types of gateway sensors (Zigbee, BLE, Mesh), a group for low battery alerts, a group for ESP device uptime sensors, a group for battery sensors (excluding ESP32 devices), and a comprehensive group for all lights by expanding existing light groups."
},
"human_like": "This automation periodically rebuilds dynamic groups of devices, such as sensors, batteries, and lights, to keep device organization up-to-date.",
"complexity": "medium"
}
},
{
"id": "system_battery_level_check",
"result": {
"structured": "TRIGGER: When the time is 20:30:00. CONDITIONS: None. ACTIONS: Send a Telegram notification. The notification message is generated by a template that: 1. Retrieves the low battery threshold for Zigbee devices from Battery Low Level ZB [input_number.battery_low_level_zb] and for Bluetooth devices from Battery Low Level BT [input_number.battery_low_level_bt]. 2. Iterates through all sensor entities that are part of the 'xiaomi_gateway3' integration. 3. For each sensor entity with '_battery' in its entity_id, checks if its battery level is at or below the relevant threshold (Zigbee threshold if the entity_id contains '0x', else Bluetooth threshold). 4. If any low-battery devices are found, the message lists their names (with ' Battery' removed) and battery percentages. 5. If no low-battery devices are found, a confirmation message is sent.",
"natural_language": {
"trigger": "The automation runs daily at 8:30 PM.",
"conditions": "There are no conditions; the action runs every time the trigger occurs.",
"action": "Sends a message to Telegram. The message content is generated by checking all battery sensors managed by the Xiaomi Gateway 3 integration. It compares each sensor's battery level against two configurable thresholds: one for Zigbee devices (identified by '0x' in their ID) and one for Bluetooth devices. If any batteries are at or below their respective threshold, the message lists the device names and their battery percentages. If no low batteries are found, it sends a confirmation that all batteries are okay."
},
"human_like": "Sends a daily evening report to Telegram listing any devices with low battery levels, using separate thresholds for Zigbee and Bluetooth sensors.",
"complexity": "medium"
}
},
{
"id": "system_database_purge",
"result": {
"structured": "TRIGGER: When the time is 02:00:00. CONDITIONS: None. ACTIONS: Purge the recorder database, keeping data for 15 days and repacking it, then send a Telegram notification with the message '💫 Очистка базы'.",
"natural_language": {
"trigger": "The automation runs daily at 2:00 AM.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "It purges the system's historical database, keeping only the last 15 days of data and repacking the database for efficiency. It then sends a notification via Telegram with the message '💫 Очистка базы' (Database Purge)."
},
"human_like": "Automatically cleans up old system data every night and sends a confirmation message.",
"complexity": "low"
}
},
{
"id": "system_transmission_completed_torrent",
"result": {
"structured": "TRIGGER: When a transmission_downloaded_torrent event occurs. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '💯 Загрузка завершена {{trigger.event.data.name}}'.",
"natural_language": {
"trigger": "When a torrent download is completed, as signaled by the transmission_downloaded_torrent event.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram notification with a message that includes the name of the completed torrent."
},
"human_like": "Sends a Telegram notification when a torrent download finishes.",
"complexity": "low"
}
},
{
"id": "system_config_error_notification",
"result": {
"structured": "TRIGGER: When Home Assistant Check Config Notification [persistent_notification.homeassistant_check_config] OR Invalid Config Notification [persistent_notification.invalid_config] changes to the 'notifying' state. CONDITIONS: The 'current' attribute of the triggering entity is equal to 0. ACTIONS: Send a Telegram notification with the message '❌ Перезапуск отменён. Конфигурация содержит ошибки' followed by the message attribute from the triggering state, then dismiss the persistent notification. The notification_id for dismissal is 'invalid_config' if the message contains the phrase 'could not be set up' (case-insensitive), otherwise it is 'homeassistant_check_config'.",
"natural_language": {
"trigger": "When either the Home Assistant Check Config Notification [persistent_notification.homeassistant_check_config] or the Invalid Config Notification [persistent_notification.invalid_config] enters a 'notifying' state.",
"conditions": "The notification's 'current' attribute must be zero, indicating there are no other active notifications of this type.",
"action": "Sends a Telegram alert stating that the restart has been cancelled because the configuration contains errors, including the specific error message from the notification. It then automatically dismisses the persistent notification. The notification is dismissed based on its content: if the error message mentions 'could not be set up', the 'invalid_config' notification is cleared; otherwise, the 'homeassistant_check_config' notification is cleared."
},
"human_like": "Sends a Telegram alert and clears the system notification when a configuration error is detected, preventing an automatic restart.",
"complexity": "medium"
}
},
{
"id": "system_automation_error",
"result": {
"structured": "TRIGGER: When a system log event of level ERROR occurs. CONDITIONS: The event message contains 'Error while executing automation' OR 'Error executing script' AND the event name does NOT contain the current automation's entity_id (case-insensitive). ACTIONS: Send a Telegram notification with a cross mark emoji and the error message, then increment the Automation Error Counter [counter.automation_error_counter].",
"natural_language": {
"trigger": "When the Home Assistant system logs an error event.",
"conditions": "The error message must contain either the phrase 'Error while executing automation' or 'Error executing script'. Additionally, the name of the entity that caused the error must not be the same as this automation's own entity identifier, ignoring case differences.",
"action": "Sends a notification to Telegram with a cross emoji and the error message, and then increases the count on the Automation Error Counter [counter.automation_error_counter]."
},
"human_like": "Sends a Telegram alert and logs a count when an error occurs in other automations or scripts, but not for its own errors.",
"complexity": "medium"
}
},
{
"id": "system_error_per_hour",
"result": {
"structured": "TRIGGER: When Error Counter Hourly [sensor.error_counter_hourly] is above 100. CONDITIONS: (The automation system_error_per_hour [automation.system_error_per_hour] was last triggered more than 15 seconds ago) AND (The integer value of Error Counter Hourly [sensor.error_counter_hourly] modulo 50 equals 0). ACTIONS: Send a Telegram notification with the message: '⚠ Внимание Количество ошибок в час выросло до [current value of sensor.error_counter_hourly]'.",
"natural_language": {
"trigger": "When the Error Counter Hourly [sensor.error_counter_hourly] sensor reports a value greater than 100.",
"conditions": "If this automation has not been triggered in the last 15 seconds, and if the current error count is exactly divisible by 50 (i.e., a multiple of 50).",
"action": "Sends a warning message via Telegram, stating that the hourly error count has increased to the current value of Error Counter Hourly [sensor.error_counter_hourly]."
},
"human_like": "Sends a periodic Telegram alert when the system's hourly error count is high and reaches a multiple of 50, preventing notification spam.",
"complexity": "medium"
}
},
{
"id": "system_warning_per_hour",
"result": {
"structured": "TRIGGER: When Warning Counter Hourly [sensor.warning_counter_hourly] is above 100. CONDITIONS: (The time elapsed since the last trigger of this automation [automation.system_warning_per_hour] is greater than 15 seconds) AND (The current value of Warning Counter Hourly [sensor.warning_counter_hourly] is divisible by 50). ACTIONS: Send a Telegram notification with the message: '⚠ Внимание Количество предупреждений в час выросло до [current value of sensor.warning_counter_hourly]'.",
"natural_language": {
"trigger": "When the Warning Counter Hourly [sensor.warning_counter_hourly] exceeds 100.",
"conditions": "If at least 15 seconds have passed since this automation last ran, and if the current warning count is exactly divisible by 50 (e.g., 150, 200, 250).",
"action": "Sends a warning message via Telegram, stating that the number of warnings per hour has increased to the current count."
},
"human_like": "Sends a Telegram alert when the hourly warning count is high and meets specific timing and numerical conditions.",
"complexity": "medium"
}
},
{
"id": "system_critical_error_notify",
"result": {
"structured": "TRIGGER: When a system log event with level FATAL occurs OR When a system log event with level CRITICAL occurs. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '🔴 Критическая ошибка системы: {{ trigger.event.data.message | e}}'.",
"natural_language": {
"trigger": "When the system logs a FATAL or CRITICAL level event.",
"conditions": "There are no conditions that need to be met.",
"action": "Sends a notification via Telegram with a message stating a critical system error, including the specific error message from the log event."
},
"human_like": "Sends an immediate Telegram alert whenever the system logs a critical or fatal error.",
"complexity": "low"
}
},
{
"id": "system_silent_mode_toggle",
"result": {
"structured": "TRIGGER: When system silent mode [switch.system_silent_mode] changes from on to off OR when system silent mode [switch.system_silent_mode] changes from off to on. CONDITIONS: None. ACTIONS: Set esp32 domofon mute [switch.esp32_domofon_mute] and sonoff mini 1 mute [switch.sonoff_mini_1_mute] to the same state as system silent mode [switch.system_silent_mode]. Set main volume [input_number.main_volume] to 0 if system silent mode [switch.system_silent_mode] is on, else set it to 0.4. Set Up Chime Volume [number.up_chime_volume] to 0 if system silent mode [switch.system_silent_mode] is on, else set it to 80. Send a Telegram notification with a bell icon and message stating 'Режим тишины включен' (Silent mode enabled) if system silent mode [switch.system_silent_mode] is on, else send a notification with a bell icon and message stating 'Режим тишины выключен' (Silent mode disabled).",
"natural_language": {
"trigger": "Whenever the system silent mode [switch.system_silent_mode] is turned on or off.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "The automation synchronizes several devices and settings to match the silent mode state. It turns the esp32 domofon mute [switch.esp32_domofon_mute] and the sonoff mini 1 mute [switch.sonoff_mini_1_mute] on or off accordingly. It also adjusts the main volume [input_number.main_volume] to 0 when silent mode is on, or to 0.4 when it is off. Similarly, it sets the Up Chime Volume [number.up_chime_volume] to 0 when silent mode is on, or to 80 when it is off. Finally, it sends a Telegram notification with a bell icon and a message in Russian indicating whether the silent mode has been enabled or disabled."
},
"human_like": "This automation manages the home's silent mode, automatically muting specific devices, adjusting volume levels, and sending a notification whenever the mode is toggled.",
"complexity": "medium"
}
},
{
"id": "system_gw3_state",
"result": {
"structured": "TRIGGER: When any of the following gateway binary sensors changes state to 'off': Gateway 54ef444329cd [binary_sensor.54ef444329cd_gateway], Gateway 54ef44437eb6 [binary_sensor.54ef44437eb6_gateway], Gateway 54ef44433076 [binary_sensor.54ef44433076_gateway], Gateway 54ef44439a55 [binary_sensor.54ef44439a55_gateway], Gateway 54ef443f1fac [binary_sensor.54ef443f1fac_gateway], Gateway 54ef44439a55 [binary_sensor.54ef44439a55_gateway], Gateway 54ef4443a353 [binary_sensor.54ef4443a353_gateway] OR when any of the same gateway binary sensors changes state from 'off'. CONDITIONS: The new state is equal to the previous state (trigger.to_state.state = trigger.from_state.state) AND ha uptime [sensor.ha_uptime] is above 0. ACTIONS: Send a Telegram notification with a message indicating the gateway's friendly name and its state transition, where states 'on', 'off', 'unknown', 'unavailable' are shown as-is, and any other state is shown as 'online'.",
"natural_language": {
"trigger": "The automation triggers when any of the listed gateway sensors (Gateway 54ef444329cd, Gateway 54ef44437eb6, Gateway 54ef44433076, Gateway 54ef44439a55, Gateway 54ef443f1fac, Gateway 54ef44439a55, Gateway 54ef4443a353) changes its state to 'off' or changes its state from 'off'.",
"conditions": "The automation only proceeds if the state change is such that the new state is the same as the old state (which seems to be a check for state changes that result in the same value, possibly a guard against certain transitions), and the Home Assistant system has been up for more than 0 seconds.",
"action": "Sends a notification via Telegram. The message includes the friendly name of the gateway that triggered the event and shows the state transition. If the state is 'on', 'off', 'unknown', or 'unavailable', it displays that state; for any other state, it displays 'online'."
},
"human_like": "Sends a Telegram alert when a gateway device changes its online/offline status, ensuring the system is running.",
"complexity": "medium"
}
},
{
"id": "system_watchdog",
"result": {
"structured": "TRIGGER: When Contact Sensor 323c87c [binary_sensor.0x00158d000323c87c_contact] changes to a null state AND remains in that state for 2 seconds. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message that is '🟢 Watchdog: API Connected' if Contact Sensor 323c87c [binary_sensor.0x00158d000323c87c_contact] is off, otherwise '🔴 Watchdog: API Disconnected'.",
"natural_language": {
"trigger": "When the Contact Sensor 323c87c [binary_sensor.0x00158d000323c87c_contact] changes to a null state and stays that way for two seconds.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a message to Telegram. The message is a green circle and 'Watchdog: API Connected' if the sensor is off, or a red circle and 'Watchdog: API Disconnected' if it is not off."
},
"human_like": "Sends a Telegram alert when a specific contact sensor becomes unavailable, indicating whether the system API is connected or disconnected.",
"complexity": "low"
}
},
{
"id": "system_dark_mode",
"result": {
"structured": "TRIGGER: When system dark mode [switch.system_dark_mode] changes state. CONDITIONS: None. ACTIONS: Send a Telegram notification with a moon emoji and 'Режим темноты включен' if system dark mode [switch.system_dark_mode] is on, or a sun emoji and 'Режим темноты выключен' if it is off. THEN, if system dark mode [switch.system_dark_mode] is off, turn off system silent mode [switch.system_silent_mode].",
"natural_language": {
"trigger": "Whenever the system dark mode [switch.system_dark_mode] switch changes its state.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "First, a message is sent via Telegram. If the dark mode is turned on, the message contains a moon emoji and the text 'Режим темноты включен'. If the dark mode is turned off, the message contains a sun emoji and the text 'Режим темноты выключен'. After sending the notification, if the dark mode is off, the automation also turns off the system silent mode [switch.system_silent_mode]."
},
"human_like": "Sends a Telegram notification when dark mode is toggled and also turns off silent mode when dark mode is disabled.",
"complexity": "medium"
}
},
{
"id": "system_hot_water_pipe",
"result": {
"structured": "TRIGGER: When ESP32 Node B Hot Pipe [sensor.esp32_node_b_hot_pipe] remains below 40 for 5 minutes OR When ESP32 Node B Hot Pipe [sensor.esp32_node_b_hot_pipe] remains above 40 for 5 minutes. CONDITIONS: Hot Water [input_boolean.hot_water] is on AND ESP32 Node B Hot Pipe [sensor.esp32_node_b_hot_pipe] is NOT unavailable. ACTIONS: Send a Telegram notification with a message stating '🌡 Внимание Горячая вода' followed by 'включена' if the current temperature is above 40, otherwise 'выключена'.",
"natural_language": {
"trigger": "When the temperature sensor for the hot water pipe, ESP32 Node B Hot Pipe [sensor.esp32_node_b_hot_pipe], stays either below 40 degrees or above 40 degrees for a continuous period of 5 minutes.",
"conditions": "The Hot Water [input_boolean.hot_water] system must be turned on, and the temperature sensor must be available (not reporting as unavailable).",
"action": "Sends a notification via Telegram. The message alerts the user to the hot water status, stating it is 'включена' (on) if the current pipe temperature is above 40 degrees, or 'выключена' (off) if it is 40 degrees or below."
},
"human_like": "Sends a Telegram alert when the hot water pipe temperature stabilizes above or below 40 degrees for five minutes, but only if the hot water system is enabled.",
"complexity": "medium"
}
},
{
"id": "system_cold_water_pipe",
"result": {
"structured": "TRIGGER: When ESP32 Node B Cold Pipe [sensor.esp32_node_b_cold_pipe] remains above the value of sensor.0x00158d0001e58754_temperature for 5 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🌡 Внимание Температура трубы холодной воды выше [current value of ESP32 Node B Cold Pipe]°C'.",
"natural_language": {
"trigger": "When the temperature of the ESP32 Node B Cold Pipe [sensor.esp32_node_b_cold_pipe] stays higher than the temperature reported by the sensor 'sensor.0x00158d0001e58754_temperature' for a continuous period of 5 minutes.",
"conditions": "There are no additional conditions that need to be met.",
"action": "Sends a Telegram alert message stating: '🌡 Внимание Температура трубы холодной воды выше [current temperature of the cold pipe]°C'."
},
"human_like": "Sends a Telegram alert if the cold water pipe temperature remains unusually high for 5 minutes.",
"complexity": "low"
}
},
{
"id": "system_central_heating",
"result": {
"structured": "TRIGGER: When Central Heating [binary_sensor.central_heating] remains off for 30 minutes OR when Central Heating [binary_sensor.central_heating] remains on for 30 minutes. ACTIONS: Set Central Heating [input_boolean.central_heating] to the same state as Central Heating [binary_sensor.central_heating] (on or off) AND send a Telegram notification with the message '🌡 Внимание Отопление включено' if the heating is on, or '🌡 Внимание Отопление выключено' if the heating is off.",
"natural_language": {
"trigger": "When the Central Heating [binary_sensor.central_heating] sensor reports that the heating has been either off or on for a continuous period of 30 minutes.",
"conditions": "There are no conditions for this automation.",
"action": "First, it updates the state of the Central Heating [input_boolean.central_heating] input boolean to match the state of the sensor. Then, it sends a Telegram notification in Russian, stating that the heating has been turned on or off, depending on the sensor's state."
},
"human_like": "Monitors the central heating system and sends a notification when it has been consistently on or off for half an hour, while also updating a status tracker.",
"complexity": "medium"
}
},
{
"id": "system_heating_pipes_warning",
"result": {
"structured": "TRIGGER: When ESP32 Node V Heating Pipe [sensor.esp32_node_v_heating_pipe] OR ESP32 Node MB Heating Pipe [sensor.esp32_node_mb_heating_pipe] remains below 30°C for 5 minutes. CONDITIONS: Central Heating [input_boolean.central_heating] is on. ACTIONS: Send a Telegram notification with the message: '🌡 Внимание Температура трубы {friendly_name of the triggering sensor} ниже 30°C'.",
"natural_language": {
"trigger": "When the temperature reported by either the ESP32 Node V Heating Pipe [sensor.esp32_node_v_heating_pipe] or the ESP32 Node MB Heating Pipe [sensor.esp32_node_mb_heating_pipe] stays below 30°C for a continuous period of 5 minutes.",
"conditions": "The Central Heating system [input_boolean.central_heating] must be turned on.",
"action": "Sends a warning message via Telegram, stating that the temperature of the specific heating pipe that triggered the alert has dropped below 30°C."
},
"human_like": "Sends a Telegram alert if any monitored heating pipe temperature drops too low while the central heating is running.",
"complexity": "low"
}
},
{
"id": "system_zb_devices_status",
"result": {
"structured": "TRIGGER: When any state change event occurs. CONDITIONS: input boolean ha shutdown [input_boolean.ha_shutdown] is off AND ha uptime [sensor.ha_uptime] is above 0 AND the entity whose state changed is a member of the group group.zigbee_devices AND the new state equals the old state AND either the new state is 'unavailable' OR the old state is 'unavailable'. ACTIONS: If input boolean ha shutdown [input_boolean.ha_shutdown] is off, then send a Telegram notification. The message includes an emoji and the device name (preferring the user-defined name, falling back to the default name) along with the old and new state values.",
"natural_language": {
"trigger": "Whenever any entity in the system changes its state.",
"conditions": "The automation only runs if the system shutdown flag (input boolean ha shutdown [input_boolean.ha_shutdown]) is off, the system uptime (ha uptime [sensor.ha_uptime]) is greater than zero, the entity that changed is part of the Zigbee device group (group.zigbee_devices), the new state is reported as being the same as the old state, and either the new state or the old state is 'unavailable'.",
"action": "If the shutdown flag is still off, a message is sent via Telegram. The message uses an emoji to indicate a problem (if the new state is 'unavailable'), a recovery (if the old state was 'unavailable'), or an informational note. It includes the name of the device (using a user-friendly name if available) and shows the state transition."
},
"human_like": "Sends a Telegram alert when a Zigbee device becomes unavailable or recovers, but only if the system is running normally.",
"complexity": "medium"
}
},
{
"id": "system_zb_devices_status_normal",
"result": {
"structured": "TRIGGER: When Zigbee Devices Unavailable [sensor.zigbee_devices_unavailable] is below 1 for 5 seconds. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '✅ ZB: Все устройства онлайн'.",
"natural_language": {
"trigger": "When the Zigbee Devices Unavailable [sensor.zigbee_devices_unavailable] sensor reports a value below 1 for at least 5 seconds.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram notification with the message '✅ ZB: Все устройства онлайн'."
},
"human_like": "Sends a Telegram notification when all Zigbee devices are back online.",
"complexity": "low"
}
},
{
"id": "system_esp_devices_status",
"result": {
"structured": "TRIGGER: When any of the listed ESP device status binary sensors changes from 'on' to 'off' AND remains in the 'off' state for 2 minutes. The monitored entities are: ESP32 Strip 1s Bookshelf MB Status [binary_sensor.esp32_strip_1s_bookshelf_mb_status], Digma IR K Status [binary_sensor.digma_ir_k_status], Digma IR MB Status [binary_sensor.digma_ir_mb_status], D1Mini Light L Status [binary_sensor.d1mini_light_l_status], Digma Strip HB Status [binary_sensor.digma_strip_hb_status], Digma IR S Status [binary_sensor.digma_ir_s_status], Digma IR V Status [binary_sensor.digma_ir_v_status], ESP32 Node V Status [binary_sensor.esp32_node_v_status], ESP32 Node K Status [binary_sensor.esp32_node_k_status], ESP32 Node HS Status [binary_sensor.esp32_node_hs_status], ESP32 Node MB Status [binary_sensor.esp32_node_mb_status], ESP8266 Oven Temp K Status [binary_sensor.esp8266_oven_temp_k_status], ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status], ESP8266 Hood K Status [binary_sensor.esp8266_hood_k_status], ESP32 Strip 1s Wadrobe MB Status [binary_sensor.esp32_strip_1s_wadrobe_mb_status], Sonoff Mini 1 Status [binary_sensor.sonoff_mini_1_status], Sonoff Mini R4 Kiosk Charger Status [binary_sensor.sonoff_mini_r4_kiosk_charger_status], Mono Strip 1 Status [binary_sensor.mono_strip_1_status], Sonoff Mini 4 Status [binary_sensor.sonoff_mini_4_status], Sonoff Pow R2 1 Status [binary_sensor.sonoff_pow_r2_1_status], ESP32 Node B Status [binary_sensor.esp32_node_b_status], ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status], Sonoff Pow R2 2 Status [binary_sensor.sonoff_pow_r2_2_status], ESP32 Node S Status [binary_sensor.esp32_node_s_status], ESP32 Node S HA Connect Status [binary_sensor.esp32_node_s_ha_connect_status], ESP32 Domofon Status [binary_sensor.esp32_domofon_status], ESP32 Poe BLE S Status [binary_sensor.esp32_poe_ble_s_status], D1Mini Distance Sensor Status [binary_sensor.d1mini_distance_sensor_status], ESP32 Poe BLE HS Status [binary_sensor.esp32_poe_ble_hs_status], ESP32 Poe BLE MB Status [binary_sensor.esp32_poe_ble_mb_status], Sonoff Pow R2 3 Status [binary_sensor.sonoff_pow_r2_3_status], D1Mini Bed LEDs Status [binary_sensor.d1mini_bed_leds_status], D1Mini Air Freshener Status [binary_sensor.d1mini_air_freshener_status], SP111 Socket 1 Status [binary_sensor.sp111_socket_1_status], Sonoff Basic 4 Status [binary_sensor.sonoff_basic_4_status], ESP32 Strip 1s Entrance HB Status [binary_sensor.esp32_strip_1s_entrance_hb_status], ESP32 Strip 1s Wadrobe HB Status [binary_sensor.esp32_strip_1s_wadrobe_hb_status]. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message indicating the device that triggered the automation. The message uses a template to display the device's user-defined name if available, otherwise its default name, followed by its previous and new state.",
"natural_language": {
"trigger": "The automation is triggered when any one of the many listed ESP device status sensors changes from 'on' to 'off' and stays in the 'off' state for a continuous period of two minutes. This includes a wide range of devices like lights, sensors, and controllers located throughout the home.",
"conditions": "There are no additional conditions that must be met for the action to run.",
"action": "Sends a Telegram notification alerting that a specific ESP device has gone offline. The message identifies the device by its name and shows the state change from 'on' to 'off'."
},
"human_like": "Sends an alert via Telegram whenever any monitored ESP-based device (like smart lights or sensors) goes offline for more than two minutes.",
"complexity": "medium"
}
},
{
"id": "system_esp_devices_status_to_on",
"result": {
"structured": "TRIGGER: When any of the listed ESP device status binary sensors changes from 'off' to 'on' AND remains in the 'on' state for 5 seconds. The sensors are: ESP32 Strip 1s Bookshelf MB Status [binary_sensor.esp32_strip_1s_bookshelf_mb_status], Digma IR K Status [binary_sensor.digma_ir_k_status], Digma IR MB Status [binary_sensor.digma_ir_mb_status], D1Mini Light L Status [binary_sensor.d1mini_light_l_status], Digma Strip HB Status [binary_sensor.digma_strip_hb_status], Digma IR S Status [binary_sensor.digma_ir_s_status], Digma IR V Status [binary_sensor.digma_ir_v_status], ESP32 Node V Status [binary_sensor.esp32_node_v_status], ESP32 Node K Status [binary_sensor.esp32_node_k_status], ESP32 Node HS Status [binary_sensor.esp32_node_hs_status], ESP32 Node MB Status [binary_sensor.esp32_node_mb_status], ESP8266 Oven Temp K Status [binary_sensor.esp8266_oven_temp_k_status], ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status], ESP8266 Hood K Status [binary_sensor.esp8266_hood_k_status], ESP32 Strip 1s Wadrobe MB Status [binary_sensor.esp32_strip_1s_wadrobe_mb_status], Sonoff Mini 1 Status [binary_sensor.sonoff_mini_1_status], Sonoff Mini R4 Kiosk Charger Status [binary_sensor.sonoff_mini_r4_kiosk_charger_status], Mono Strip 1 Status [binary_sensor.mono_strip_1_status], Sonoff Mini 4 Status [binary_sensor.sonoff_mini_4_status], Sonoff Pow R2 1 Status [binary_sensor.sonoff_pow_r2_1_status], ESP32 Node B Status [binary_sensor.esp32_node_b_status], ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status], Sonoff Pow R2 2 Status [binary_sensor.sonoff_pow_r2_2_status], ESP32 Node S Status [binary_sensor.esp32_node_s_status], ESP32 Node S HA Connect Status [binary_sensor.esp32_node_s_ha_connect_status], ESP32 Domofon Status [binary_sensor.esp32_domofon_status], ESP32 Poe BLE S Status [binary_sensor.esp32_poe_ble_s_status], D1Mini Distance Sensor Status [binary_sensor.d1mini_distance_sensor_status], ESP32 Poe BLE HS Status [binary_sensor.esp32_poe_ble_hs_status], ESP32 Poe BLE MB Status [binary_sensor.esp32_poe_ble_mb_status], Sonoff Pow R2 3 Status [binary_sensor.sonoff_pow_r2_3_status], D1Mini Bed LEDs Status [binary_sensor.d1mini_bed_leds_status], D1Mini Air Freshener Status [binary_sensor.d1mini_air_freshener_status], SP111 Socket 1 Status [binary_sensor.sp111_socket_1_status], Sonoff Basic 4 Status [binary_sensor.sonoff_basic_4_status], ESP32 Strip 1s Entrance HB Status [binary_sensor.esp32_strip_1s_entrance_hb_status], ESP32 Strip 1s Wadrobe HB Status [binary_sensor.esp32_strip_1s_wadrobe_hb_status]. CONDITIONS: ha uptime [sensor.ha_uptime] is greater than 0. ACTIONS: Send a Telegram notification with a message indicating the ESP device has come online. The message includes a green circle emoji, the device name (preferring the user-defined name, falling back to the default name), and the state transition (from 'off' to 'on').",
"natural_language": {
"trigger": "When any one of the many listed ESP device status sensors (such as ESP32 Strip 1s Bookshelf MB Status, Digma IR K Status, etc.) transitions from an 'off' state to an 'on' state and stays 'on' for a continuous period of 5 seconds.",
"conditions": "The automation only runs if the Home Assistant system uptime sensor [sensor.ha_uptime] reports a value greater than zero, ensuring the system is running.",
"action": "Sends a Telegram notification with a green circle emoji, announcing which specific ESP device came online. The message includes the device's name (using the user-assigned name if available, otherwise the default name) and shows the state change from 'off' to 'on'."
},
"human_like": "Sends a Telegram alert when any monitored ESP-based smart device in the home successfully reconnects and stays online for 5 seconds.",
"complexity": "medium"
}
},
{
"id": "system_xiaomi_gw3_error",
"result": {
"structured": "TRIGGER: When a system log event with level ERROR occurs. CONDITIONS: (The event message contains the substring 'xiaomi_gateway3') AND (The attribute 'current' of this automation entity [automation.system_xiaomi_gw3_error] is 0). ACTIONS: Send a Telegram notification with the message '⛔ GW3 Ошибка обнаружена в логе'.",
"natural_language": {
"trigger": "When an error-level event is logged in the system.",
"conditions": "If the error message contains the text 'xiaomi_gateway3', and if the automation's own 'current' attribute is set to 0.",
"action": "Sends a notification via Telegram with the message '⛔ GW3 Ошибка обнаружена в логе'."
},
"human_like": "Sends a Telegram alert when a Xiaomi Gateway 3 error is detected in the system logs.",
"complexity": "medium"
}
},
{
"id": "system_fully_kiosk_connection",
"result": {
"structured": "TRIGGER: When kiosk screen [switch.kiosk_screen] becomes unavailable AND remains unavailable for 5 minutes OR When kiosk screen [switch.kiosk_screen] becomes available (from unavailable) AND remains available for 1 minute. CONDITIONS: The automation's own state attribute 'current' equals 0 AND The time elapsed since the last trigger of automation 'automation.system_fully_browser_restart' is greater than 5 minutes. ACTIONS: If the trigger was 'to_unavail', send a Telegram notification with message '⛔ Fully: связь потеряна'. If the trigger was 'from_unavail', send a Telegram notification with message '✅ Fully: связь восстановлена'.",
"natural_language": {
"trigger": "The automation is triggered when the kiosk screen [switch.kiosk_screen] becomes unavailable and stays that way for five minutes, or when it becomes available again and stays available for one minute.",
"conditions": "The automation will only proceed if its own 'current' attribute is set to 0, and if at least five minutes have passed since the last time the 'system_fully_browser_restart' automation was triggered.",
"action": "Depending on which trigger fired, the automation sends a different Telegram notification. If the screen became unavailable, it sends a message indicating the connection is lost. If the screen became available again, it sends a message indicating the connection is restored."
},
"human_like": "Sends Telegram alerts when the kiosk screen loses or regains its connection, but only if it hasn't been restarted recently.",
"complexity": "medium"
}
},
{
"id": "system_already_running_log",
"result": {
"structured": "TRIGGER: When a system log event with level WARNING occurs. CONDITIONS: The event message contains the substring 'Already running'. ACTIONS: Send a Telegram notification with the message '⛔ Warning ' followed by the event message.",
"natural_language": {
"trigger": "When Home Assistant logs a system event with a WARNING severity level.",
"conditions": "The text of the logged warning message contains the phrase 'Already running'.",
"action": "Sends a notification via Telegram with a warning emoji and the full text of the logged message."
},
"human_like": "Sends a Telegram alert when a specific 'Already running' warning appears in the system logs.",
"complexity": "low"
}
},
{
"id": "system_automation_reload",
"result": {
"structured": "TRIGGER: When an automation_reloaded event occurs. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message '💬 Автоматизации перезагружены'.",
"natural_language": {
"trigger": "When the Home Assistant system reloads its automations.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a Telegram notification with the message '💬 Автоматизации перезагружены'."
},
"human_like": "Sends a Telegram notification whenever the Home Assistant automations are reloaded.",
"complexity": "low"
}
},
{
"id": "system_scripts_reload",
"result": {
"structured": "TRIGGER: When any script reload service call occurs (event call_service with domain: script, service: reload). CONDITIONS: None. ACTIONS: Send a Telegram notification with message: 💬 Скрипты перезагружены.",
"natural_language": {
"trigger": "Whenever any script is reloaded via a service call.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a Telegram notification with the message '💬 Скрипты перезагружены' (Scripts reloaded)."
},
"human_like": "Sends a Telegram notification whenever the Home Assistant scripts are reloaded.",
"complexity": "low"
}
},
{
"id": "system_devices_stats",
"result": {
"structured": "TRIGGER: When the time is 23:59:55. CONDITIONS: None. ACTIONS: Set Breather V Run Time [input_number.breather_v_run_time] to the sum of its current value and Breather V Run Time Today [sensor.breather_v_run_time_today], rounded to 2 decimal places. Set Breather S Run Time [input_number.breather_s_run_time] to the sum of its current value and Breather S Run Time Today [sensor.breather_s_run_time_today], rounded to 2 decimal places. Set Breather MB Run Time [input_number.breather_mb_run_time] to the sum of its current value and Breather MB Run Time Today [sensor.breather_mb_run_time_today], rounded to 2 decimal places.",
"natural_language": {
"trigger": "At 23:59:55 every day.",
"conditions": "There are no conditions.",
"action": "Adds the daily run time for each breather device to its cumulative total. Specifically, it takes the current value of Breather V Run Time [input_number.breather_v_run_time] and adds the value from Breather V Run Time Today [sensor.breather_v_run_time_today], rounding the result to two decimal places. It performs the same operation for Breather S Run Time [input_number.breather_s_run_time] using Breather S Run Time Today [sensor.breather_s_run_time_today], and for Breather MB Run Time [input_number.breather_mb_run_time] using Breather MB Run Time Today [sensor.breather_mb_run_time_today]."
},
"human_like": "At the end of each day, it updates the total run time for three breather devices by adding today's usage to their lifetime totals.",
"complexity": "low"
}
},
{
"id": "system_ac_power_status",
"result": {
"structured": "TRIGGER: When Contact Sensor 3262acc [binary_sensor.0x00158d0003262acc_contact] changes from off to on AND remains on for 3 seconds OR When Contact Sensor 3262acc [binary_sensor.0x00158d0003262acc_contact] changes from on to off AND remains off for 3 seconds. CONDITIONS: None. ACTIONS: Send a Telegram notification. If Contact Sensor 3262acc [binary_sensor.0x00158d0003262acc_contact] is on, the message is '✅ Электроснабжение восстановлено'. If Contact Sensor 3262acc [binary_sensor.0x00158d0003262acc_contact] is off, the message is '❌ Внимание Электроснабжение прекращено'.",
"natural_language": {
"trigger": "When the Contact Sensor 3262acc [binary_sensor.0x00158d0003262acc_contact] changes from off to on and stays that way for 3 seconds, or when it changes from on to off and stays that way for 3 seconds.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a message to Telegram. The message depends on the sensor's state: if the sensor is on, it sends '✅ Электроснабжение восстановлено' (Power supply restored). If the sensor is off, it sends '❌ Внимание Электроснабжение прекращено' (Warning: Power supply interrupted)."
},
"human_like": "Sends a Telegram alert when the AC power supply is restored or interrupted, based on a contact sensor's state.",
"complexity": "low"
}
},
{
"id": "system_esp_reboot",
"result": {
"structured": "TRIGGER: When any of the listed uptime sensors (sensor.esp32_strip_1s_bookshelf_mb_uptime_s, sensor.digma_ir_k_uptime_s, sensor.digma_ir_mb_uptime_s, sensor.d1mini_light_l_uptime_s, sensor.digma_strip_hb_uptime_s, sensor.digma_ir_s_uptime_s, sensor.digma_ir_v_uptime_s, sensor.esp32_node_v_uptime_s, sensor.esp32_node_k_uptime_s, sensor.esp32_node_hs_uptime_s, sensor.esp32_node_mb_uptime_s, sensor.esp8266_oven_temp_k_uptime_s, sensor.esp32_pzem_hb_uptime_s, sensor.esp8266_hood_k_uptime_s, sensor.esp32_strip_1s_wadrobe_mb_uptime_s, sensor.sonoff_mini_1_uptime_s, sensor.sonoff_mini_r4_kiosk_charger_uptime_s, sensor.mono_strip_1_uptime_s, sensor.sonoff_mini_4_uptime_s, sensor.sonoff_pow_r2_1_uptime_s, sensor.esp32_node_b_uptime_s, sensor.sonoff_pow_r2_2_uptime_s, sensor.esp32_node_s_uptime_s, sensor.esp32_domofon_uptime_s, sensor.esp32_poe_ble_s_uptime_s, sensor.d1mini_distance_sensor_uptime_s, sensor.esp32_poe_ble_hs_uptime_s, sensor.esp32_poe_ble_mb_uptime_s, sensor.sonoff_pow_r2_3_uptime_s, sensor.d1mini_bed_leds_uptime_s, sensor.d1mini_air_freshener_uptime_s, sensor.sp111_socket_1_uptime_s, sensor.sonoff_basic_4_uptime_s) changes from state 'unavailable' and remains in a new state for 10 seconds. CONDITIONS: The numeric value of the triggering sensor's state is greater than or equal to 0 AND less than 30 seconds. ACTIONS: Send a Telegram notification with a message indicating the device has rebooted, using the device's user-defined name or default name, and reporting its uptime in seconds.",
"natural_language": {
"trigger": "The automation triggers when any one of the 32 listed ESP device uptime sensors transitions from being 'unavailable' to any other state and remains stable in that new state for at least 10 seconds.",
"conditions": "After the trigger, the automation checks that the current uptime value reported by the sensor that triggered is a number between 0 and 29 seconds (inclusive).",
"action": "It sends a formatted message to Telegram, announcing that the specific ESP device has rebooted. The message includes the device's name (preferring the user-defined name if available) and its current uptime in seconds."
},
"human_like": "Sends a Telegram alert when an ESP-based smart device reboots, detected by its uptime sensor becoming available and reporting a very short uptime.",
"complexity": "medium"
}
},
{
"id": "system_briefing_entities_force_update",
"result": {
"structured": "TRIGGER: When the time is 06:50:00 OR when the time is 20:50:00. CONDITIONS: None. ACTIONS: Restart the AppDaemon addon. Then, if the oldest updated sensor in the group.weather_fcst_entities group was last updated more than 30 minutes ago, update the following weather entities: PirateWeather Summary 0d [sensor.pirateweather_summary_0d], PirateWeather Daytime High Temperature 0d [sensor.pirateweather_daytime_high_temperature_0d], PirateWeather Precip Probability 0d [sensor.pirateweather_precip_probability_0d], PirateWeather Precip 0d [sensor.pirateweather_precip_0d], PirateWeather Summary 1d [sensor.pirateweather_summary_1d], PirateWeather Daytime High Temperature 1d [sensor.pirateweather_daytime_high_temperature_1d], PirateWeather Precip Probability 1d [sensor.pirateweather_precip_probability_1d], PirateWeather Precip 1d [sensor.pirateweather_precip_1d]. Wait 5 seconds. Store the current volume level of Yandex St [media_player.yandex_st] into Temp Volume [input_number.temp_volume]. Set TTS Volume [input_number.tts_volume] to 0. Set the volume of Yandex St [media_player.yandex_st] to the value of TTS Volume [input_number.tts_volume] three times. Then, repeat the following sequence up to 10 times while the time since the last update of sensor.yandex_response is greater than 10 seconds: If the trigger was the morning time, ask Yandex St [media_player.yandex_st] 'какая сегодня погода' (what is the weather today). If the trigger was the evening time, ask Yandex St [media_player.yandex_st] 'какая завтра погода' (what is the weather tomorrow). Wait 3 seconds between each repeat. Wait 2 seconds after the repeat loop. If more than 30 seconds have passed since the last update of sensor.yandex_response, send a Telegram notification about a weather retrieval error and turn on Ya Weather Error [input_boolean.ya_weather_error]. Otherwise, turn off Ya Weather Error [input_boolean.ya_weather_error]. Then, wait up to 5 minutes for the sensor.yandex_st_alice_state to become 'idle'. Finally, restore the original volume by setting TTS Volume [input_number.tts_volume] to the stored value from Temp Volume [input_number.temp_volume] and applying it to Yandex St [media_player.yandex_st].",
"natural_language": {
"trigger": "The automation runs at two specific times: 6:50 AM and 8:50 PM.",
"conditions": "There are no explicit conditions that must be met before the actions start; the automation runs unconditionally upon the time trigger.",
"action": "First, it restarts the AppDaemon addon. It then checks if any weather forecast sensor in the 'weather_fcst_entities' group hasn't been updated in over 30 minutes. If so, it forces an update for a list of specific PirateWeather sensors. After a 5-second delay, it saves the current volume level of the Yandex St [media_player.yandex_st] speaker to a temporary storage, sets a text-to-speech volume to zero, and mutes the speaker by setting its volume to zero three times. Next, it enters a loop that can run up to 10 times. In each loop, it asks the Yandex speaker a weather question: 'what is the weather today' in the morning or 'what is the weather tomorrow' in the evening. It waits 3 seconds between each attempt. The loop continues only if a response from the Yandex service hasn't been received for over 10 seconds. After the loop, it waits 2 seconds and then checks if a response was received within the last 30 seconds. If not, it sends a Telegram error message and turns on an error flag [input_boolean.ya_weather_error]. If a response was received, it turns the error flag off. The automation then waits for up to 5 minutes for the Yandex speaker to return to an idle state. Finally, it restores the speaker's volume to its original level."
},
"human_like": "This automation provides a daily weather briefing via a Yandex smart speaker in the morning and evening, ensuring weather data is fresh and handling errors gracefully.",
"complexity": "high"
}
},
{
"id": "system_hot_water_boolean_change",
"result": {
"structured": "TRIGGER: When Hot Water [binary_sensor.hot_water] changes state to any value OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: The automation's own entity attribute 'current' is equal to 0 AND The state of Hot Water [binary_sensor.hot_water] is either 'on' or 'off'. ACTIONS: Call service input_boolean.turn_on or input_boolean.turn_off on Hot Water [input_boolean.hot_water] to match the current state of Hot Water [binary_sensor.hot_water].",
"natural_language": {
"trigger": "The automation runs when the Hot Water [binary_sensor.hot_water] sensor changes its state, when Home Assistant first starts up, or when automations are reloaded.",
"conditions": "It only proceeds if the automation itself has an attribute named 'current' set to 0, and if the Hot Water [binary_sensor.hot_water] sensor is reporting a valid state of either 'on' or 'off'.",
"action": "It synchronizes the state of the Hot Water [input_boolean.hot_water] input boolean to match the current state of the Hot Water [binary_sensor.hot_water] sensor, turning it on or off accordingly."
},
"human_like": "Keeps a manual toggle for the hot water system in sync with the actual sensor's state, ensuring consistency after restarts or changes.",
"complexity": "medium"
}
},
{
"id": "system_cold_water_boolean_change",
"result": {
"structured": "TRIGGER: When Cold Water [binary_sensor.cold_water] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: The automation's own state attribute 'current' equals 0 AND Cold Water [binary_sensor.cold_water] state is either 'on' or 'off'. ACTIONS: Call service input_boolean.turn_{{states('binary_sensor.cold_water')}} on Cold Water [input_boolean.cold_water] (i.e., turn_on or turn_off based on the sensor's state).",
"natural_language": {
"trigger": "The automation triggers when the Cold Water sensor [binary_sensor.cold_water] changes its state, when Home Assistant first starts up, or when any automation is reloaded.",
"conditions": "It only proceeds if the automation itself has a state attribute named 'current' set to 0, and if the Cold Water sensor [binary_sensor.cold_water] is reporting a valid state of either 'on' or 'off'.",
"action": "It synchronizes the state of the Cold Water input boolean [input_boolean.cold_water] to match the sensor by calling the appropriate turn_on or turn_off service."
},
"human_like": "Keeps the Cold Water input boolean in sync with the Cold Water sensor state, also running at system startup or after automations are reloaded.",
"complexity": "medium"
}
},
{
"id": "system_central_heating_boolean_change",
"result": {
"structured": "TRIGGER: When Central Heating [binary_sensor.central_heating] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: Central Heating [binary_sensor.central_heating] is on OR Central Heating [binary_sensor.central_heating] is off. ACTIONS: Turn Central Heating [input_boolean.central_heating] to the same state as Central Heating [binary_sensor.central_heating].",
"natural_language": {
"trigger": "This automation runs when the state of the Central Heating [binary_sensor.central_heating] changes, when Home Assistant starts up, or when any automation is reloaded.",
"conditions": "The automation only proceeds if the Central Heating [binary_sensor.central_heating] is either on or off.",
"action": "It synchronizes the state of the Central Heating [input_boolean.central_heating] to match the current state of the Central Heating [binary_sensor.central_heating]."
},
"human_like": "Keeps a user-friendly toggle for the central heating in sync with the actual system state, ensuring it's updated on system events.",
"complexity": "low"
}
},
{
"id": "system_light_dark_mode_on_action",
"result": {
"structured": "TRIGGER: When system dark mode [switch.system_dark_mode] changes from off to on. CONDITIONS: None. ACTIONS: Turn off esp32 node k light [light.esp32_node_k_light], mono strip 1 light [light.mono_strip_1_light], Light Channel 2 680083 [light.0x54ef441000680083_channel_2], Round LED St [light.round_led_st], esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb], and esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb].",
"natural_language": {
"trigger": "When the system dark mode [switch.system_dark_mode] is switched on from an off state.",
"conditions": "There are no conditions that must be met.",
"action": "Turns off a specific set of lights: esp32 node k light [light.esp32_node_k_light], mono strip 1 light [light.mono_strip_1_light], Light Channel 2 680083 [light.0x54ef441000680083_channel_2], Round LED St [light.round_led_st], esp32 strip 1s entrance hb rgb [light.esp32_strip_1s_entrance_hb_rgb], and esp32 strip 1s wadrobe hb rgb [light.esp32_strip_1s_wadrobe_hb_rgb]."
},
"human_like": "Turns off several specific lights when the system-wide dark mode is activated.",
"complexity": "low"
}
},
{
"id": "system_config_entry_discovery",
"result": {
"structured": "TRIGGER: When Config Entry Discovery Notification [persistent_notification.config_entry_discovery] changes to the 'notifying' state. CONDITIONS: The attribute 'current' of the triggering entity is equal to 0. ACTIONS: Send a Telegram notification with the message '📟 Найдено новое устройство'.",
"natural_language": {
"trigger": "When the Config Entry Discovery Notification [persistent_notification.config_entry_discovery] enters a 'notifying' state.",
"conditions": "The notification must have an attribute named 'current' with a value of 0.",
"action": "Sends a Telegram message stating '📟 Найдено новое устройство' (New device found)."
},
"human_like": "Sends a Telegram alert when Home Assistant discovers a new device.",
"complexity": "low"
}
},
{
"id": "system_gw3_devices_msg_missed",
"result": {
"structured": "TRIGGER: When any entity changes state (state_changed event). CONDITIONS: ha uptime [sensor.ha_uptime] is above 1 AND input boolean ha shutdown [input_boolean.ha_shutdown] is off AND the entity that changed state is a member of the group group.gw3_zigbee_entities AND the attribute last_missed of the entity that changed state is greater than 9. ACTIONS: Send a Telegram notification with a message indicating the device name and the number of missed packets.",
"natural_language": {
"trigger": "Whenever any entity in the system reports a change in its state.",
"conditions": "The system must have been running for more than 1 unit of time (as reported by ha uptime [sensor.ha_uptime]), the system shutdown flag (input boolean ha shutdown [input_boolean.ha_shutdown]) must be off, the entity that changed state must be a member of the Zigbee device group 'group.gw3_zigbee_entities', and that entity must have a 'last_missed' attribute value greater than 9.",
"action": "Sends a Telegram alert with a formatted message stating the device's name and how many packets it has missed."
},
"human_like": "Sends a Telegram alert when a Zigbee device misses more than 9 packets, but only if the system is running normally.",
"complexity": "medium"
}
},
{
"id": "system_esphome_ble_advert",
"result": {
"structured": "TRIGGER: When an event of type 'esphome.on_ble_advertise' occurs. CONDITIONS: None. ACTIONS: Call the service ble_monitor.parse_data with data: packet = trigger.event.data.packet and gateway_id = trigger.event.data.gateway_id.",
"natural_language": {
"trigger": "Whenever the system receives an 'esphome.on_ble_advertise' event.",
"conditions": "There are no conditions that need to be met.",
"action": "The automation calls the 'ble_monitor.parse_data' service, passing along the 'packet' and 'gateway_id' data from the event that triggered it."
},
"human_like": "Automatically processes Bluetooth Low Energy (BLE) advertisement data received by ESPHome devices.",
"complexity": "low"
}
},
{
"id": "system_music_restrictions",
"result": {
"structured": "TRIGGER: When yandex sasha room [media_player.yandex_s] starts playing OR When the time is 23:00:00. CONDITIONS: System Music Allowed [switch.system_music_allowed] is off AND (time [sensor.time] hour is greater than or equal to 23 OR time [sensor.time] hour is less than 7). ACTIONS: If triggered by time, turn off yandex sasha room [media_player.yandex_s] and yandex vova room [media_player.yandex_v], wait 3 seconds, then turn off both players again. If triggered by state, turn off yandex sasha room [media_player.yandex_s] and play a specific audio message on yandex sasha room [media_player.yandex_s] with volume 0.2.",
"natural_language": {
"trigger": "When the media player in Sasha's room starts playing, or when the clock reaches 11:00 PM.",
"conditions": "The system-wide music permission switch is turned off, and the current time is between 11:00 PM and 7:00 AM (i.e., during the night).",
"action": "If the trigger was the scheduled time, it will turn off both the media player in Sasha's room and the one in Vova's room, wait for three seconds, and then turn them off again as a safeguard. If the trigger was the media player starting to play, it will immediately turn off that same player and then play a gentle, pre-recorded nighttime reminder message on it at a low volume."
},
"human_like": "Enforces quiet hours by stopping music and playing a bedtime reminder if someone tries to play audio during the night.",
"complexity": "medium"
}
},
{
"id": "system_supervisor_unhealthyn",
"result": {
"structured": "TRIGGER: When Supervisor Is Healthy [binary_sensor.supervisor_is_healthy] changes state to null. CONDITIONS: None. ACTIONS: If Supervisor Is Healthy [binary_sensor.supervisor_is_healthy] is on, then send a Telegram notification with message '✅ Supevisor перешел в состояние Healthy'. Otherwise, send a Telegram notification with message '❌ Supevisor перешел в состояние Unhealthy'.",
"natural_language": {
"trigger": "When the Supervisor Is Healthy [binary_sensor.supervisor_is_healthy] sensor changes its state to 'null'.",
"conditions": "There are no additional conditions.",
"action": "Depending on the current state of the Supervisor Is Healthy [binary_sensor.supervisor_is_healthy] sensor, a different Telegram notification is sent. If the sensor is 'on', a success message is sent. If it is not 'on', an error message is sent."
},
"human_like": "Sends a Telegram alert when the Home Assistant Supervisor health status changes, notifying whether it's healthy or unhealthy.",
"complexity": "medium"
}
},
{
"id": "system_ya_station_mode",
"result": {
"structured": "TRIGGER: When any of Yandex K [binary_sensor.yandex_k], Yandex S [binary_sensor.yandex_s], Yandex HB [binary_sensor.yandex_hb], Yandex V [binary_sensor.yandex_v], or Yandex MB [binary_sensor.yandex_mb] changes from off to on (identified as 'non_local') OR when any of the same entities changes from on to off. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message stating: 'Станция [triggering entity name]' followed by 'отключила локальный режим управления' if the trigger ID is 'non_local' (off to on), or 'перешла в локальный режим управления' otherwise (on to off).",
"natural_language": {
"trigger": "When any of the Yandex station sensors (Yandex K [binary_sensor.yandex_k], Yandex S [binary_sensor.yandex_s], Yandex HB [binary_sensor.yandex_hb], Yandex V [binary_sensor.yandex_v], or Yandex MB [binary_sensor.yandex_mb]) changes its state, either from off to on or from on to off.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a message to Telegram. The message announces the name of the station that changed state and indicates whether it 'disabled local control mode' (if it turned on) or 'switched to local control mode' (if it turned off)."
},
"human_like": "Sends a Telegram notification whenever a Yandex smart speaker changes its local control mode status.",
"complexity": "medium"
}
},
{
"id": "system_fully_integration_reload",
"result": {
"structured": "TRIGGER: Every 10 minutes (at minutes divisible by 10). CONDITIONS: Kiosk Battery [sensor.kiosk_battery] is in state 'unknown' OR 'unavailable' AND remains in that state for 5 minutes. ACTIONS: Reload the Home Assistant configuration entry with ID '2eb872806bf50b75953836ae0584662b'.",
"natural_language": {
"trigger": "The automation runs every 10 minutes, on the minute.",
"conditions": "The Kiosk Battery [sensor.kiosk_battery] sensor must be reporting a state of either 'unknown' or 'unavailable' for a continuous period of at least 5 minutes.",
"action": "It triggers a reload of a specific Home Assistant configuration entry (ID: 2eb872806bf50b75953836ae0584662b)."
},
"human_like": "Automatically reloads a specific integration if the kiosk battery sensor becomes unavailable for 5 minutes, checking every 10 minutes.",
"complexity": "medium"
}
},
{
"id": "system_fully_tablet_charge_on",
"result": {
"structured": "TRIGGER: When the time pattern matches every 15 minutes (at minutes 0, 15, 30, 45). CONDITIONS: Kiosk Battery [sensor.kiosk_battery] is below 20. ACTIONS: Send a Telegram notification with the message '🔌 Fully: Принудительное включение зарядки' AND turn on Sonoff Mini R4 Kiosk Charger Relay [switch.sonoff_mini_r4_kiosk_charger_relay].",
"natural_language": {
"trigger": "The automation runs every 15 minutes, at the start of each quarter-hour.",
"conditions": "The Kiosk Battery [sensor.kiosk_battery] level must be below 20 percent.",
"action": "Sends a Telegram notification with the message '🔌 Fully: Принудительное включение зарядки' and turns on the Sonoff Mini R4 Kiosk Charger Relay [switch.sonoff_mini_r4_kiosk_charger_relay] to start charging."
},
"human_like": "Automatically turns on the tablet charger and sends a notification when the battery is low, checking every 15 minutes.",
"complexity": "low"
}
},
{
"id": "system_fully_browser_restart",
"result": {
"structured": "TRIGGER: When the time pattern matches every 2 hours (hours: /2) OR When an event of type xiaomi_aqara.click occurs with event_data entity_id equal to Action Sensor 28d1273bc2f4 [sensor.28d1273bc2f4_action] and click_type equal to single. ACTIONS: Press Kiosk Restart Browser [button.kiosk_restart_browser] AND Start Kiosk Restart Manual Timer [timer.kiosk_restart_manual].",
"natural_language": {
"trigger": "The automation triggers either automatically every two hours, or manually when a single click event is detected on the Action Sensor 28d1273bc2f4 [sensor.28d1273bc2f4_action].",
"conditions": "There are no conditions for this automation.",
"action": "It restarts the browser by pressing the Kiosk Restart Browser [button.kiosk_restart_browser] button and starts the Kiosk Restart Manual Timer [timer.kiosk_restart_manual]."
},
"human_like": "Automatically restarts the browser every two hours, or manually when a specific sensor is clicked, and starts a timer.",
"complexity": "medium"
}
},
{
"id": "system_repair_event_notify",
"result": {
"structured": "TRIGGER: When a repairs issue registry update event occurs with service 'create'. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message containing the domain and issue ID from the event.",
"natural_language": {
"trigger": "When the Home Assistant system creates a new repair issue in its registry.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a formatted message to a Telegram chat, reporting that a new problem has been detected in a specific system domain, along with the issue's identifier."
},
"human_like": "Sends a Telegram alert whenever Home Assistant detects and logs a new system problem that needs repair.",
"complexity": "low"
}
},
{
"id": "system_repair_sensor_update",
"result": {
"structured": "TRIGGER: When a repair issue is created (event 'repairs_issue_registry_updated' with service 'create') OR When Home Assistant starts. CONDITIONS: None. ACTIONS: Update the Repairs State [sensor.repairs_state] entity.",
"natural_language": {
"trigger": "The automation triggers either when a new repair issue is created in the system, or when Home Assistant itself starts up.",
"conditions": "There are no conditions for this automation.",
"action": "It refreshes the data for the Repairs State [sensor.repairs_state] sensor."
},
"human_like": "Updates the repairs status sensor whenever a new issue is logged or the system restarts.",
"complexity": "low"
}
},
{
"id": "system_day_night_switch",
"result": {
"structured": "TRIGGER: When tod day [binary_sensor.tod_day] turns on. CONDITIONS: system security mode [switch.system_security_mode] is off. ACTIONS: Turn off system silent mode [switch.system_silent_mode].",
"natural_language": {
"trigger": "When the tod day [binary_sensor.tod_day] sensor indicates it is daytime by turning on.",
"conditions": "The system security mode [switch.system_security_mode] must be off.",
"action": "Turn off the system silent mode [switch.system_silent_mode]."
},
"human_like": "Turns off silent mode when it becomes daytime, but only if the security system is not active.",
"complexity": "low"
}
},
{
"id": "system_doorbell_volume",
"result": {
"structured": "TRIGGER: When the system starts OR every hour. CONDITIONS: None. ACTIONS: Set Up Chime Volume [number.up_chime_volume] to 0 if system silent mode [switch.system_silent_mode] is on, otherwise set it to 80.",
"natural_language": {
"trigger": "When Home Assistant starts, or at the beginning of every hour.",
"conditions": "There are no conditions that must be met.",
"action": "Sets the Up Chime Volume [number.up_chime_volume] to 0 if the system silent mode [switch.system_silent_mode] is turned on, otherwise it sets the volume to 80."
},
"human_like": "Adjusts the doorbell chime volume hourly or on startup, muting it when silent mode is active.",
"complexity": "low"
}
},
{
"id": "system_ds621_set_fan_speed",
"result": {
"structured": "TRIGGER: When DS1621 Fan Speed Select [input_select.ds1621_fan_speed_select] changes state. CONDITIONS: None. ACTIONS: Publish the current state of DS1621 Fan Speed Select [input_select.ds1621_fan_speed_select] (converted to lowercase) to the MQTT topic '1621/fan_speed_set' with the retain flag set to true.",
"natural_language": {
"trigger": "Whenever the DS1621 Fan Speed Select [input_select.ds1621_fan_speed_select] changes its selected value.",
"conditions": "There are no conditions that must be met.",
"action": "Sends the newly selected fan speed value (converted to lowercase) to the MQTT broker on the topic '1621/fan_speed_set', instructing it to retain the message."
},
"human_like": "Updates the fan speed of the DS1621 system by sending the selected speed to the device via MQTT.",
"complexity": "low"
}
},
{
"id": "system_nodes_net_speed_change",
"result": {
"structured": "TRIGGER: When the state of any of the following network speed sensors changes: MS01A enp3s0f0np0 Speed [sensor.ms01a_enp3s0f0np0_speed], MS01A enp3s0f1np1 Speed [sensor.ms01a_enp3s0f1np1_speed], MS01A enp88s0 Speed [sensor.ms01a_enp88s0_speed], MS01A enp90s0 Speed [sensor.ms01a_enp90s0_speed], MS01A enp1s0f0 Speed [sensor.ms01a_enp1s0f0_speed], MS01A enp1s0f1 Speed [sensor.ms01a_enp1s0f1_speed], MS01A enp1s0f2 Speed [sensor.ms01a_enp1s0f2_speed], MS01A enp1s0f3 Speed [sensor.ms01a_enp1s0f3_speed], MS01B enp3s0f0np0 Speed [sensor.ms01b_enp3s0f0np0_speed], MS01B enp3s0f1np1 Speed [sensor.ms01b_enp3s0f1np1_speed], MS01B enp88s0 Speed [sensor.ms01b_enp88s0_speed], MS01B enp90s0 Speed [sensor.ms01b_enp90s0_speed], MS01B enp1s0f0 Speed [sensor.ms01b_enp1s0f0_speed], MS01B enp1s0f1 Speed [sensor.ms01b_enp1s0f1_speed], MS01B enp1s0f2 Speed [sensor.ms01b_enp1s0f2_speed], MS01B enp1s0f3 Speed [sensor.ms01b_enp1s0f3_speed]. CONDITIONS: None. ACTIONS: Set a variable 'old_value' to the previous speed state, formatted as 'X Mb/s' if less than 1000 or 'X Gb/s' if 1000 or greater. Set a variable 'new_value' to the new speed state, formatted as 'X Mb/s' if less than 1000 or 'X Gb/s' if 1000 or greater. Then, send a Telegram notification with a message containing a traffic light emoji, the name of the triggered sensor, and the formatted old and new speed values.",
"natural_language": {
"trigger": "Whenever the reported speed changes on any of the 16 monitored network interfaces on systems MS01A and MS01B.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "The automation calculates a human-readable format for the previous and new speed values, converting the raw number to megabits per second (Mb/s) if under 1000, or gigabits per second (Gb/s) if 1000 or above. It then sends a Telegram notification with a traffic light emoji, the name of the network interface that changed, and the formatted old and new speeds."
},
"human_like": "Sends a formatted Telegram alert whenever the network speed changes on any monitored server interface.",
"complexity": "medium"
}
},
{
"id": "system_primary_ip_change",
"result": {
"structured": "TRIGGER: When UDM Last Active IP [sensor.udm_last_active_ip] changes to a null state. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message containing the entity name and the state change details.",
"natural_language": {
"trigger": "When the UDM Last Active IP [sensor.udm_last_active_ip] sensor's state changes to null.",
"conditions": "There are no conditions for this automation.",
"action": "Sends a notification via Telegram with a message that includes the name of the sensor and the state change, showing the previous and new values."
},
"human_like": "Sends a Telegram alert when the primary system IP address becomes unavailable.",
"complexity": "low"
}
},
{
"id": "system_plex_status_change",
"result": {
"structured": "TRIGGER: When Plex 12 [sensor.plex_12] changes state to 'unavalable' OR When Plex 12 [sensor.plex_12] changes state from 'unavalable'. CONDITIONS: None. ACTIONS: If the trigger was the change to 'unavalable', then send a Telegram notification with message '🔴 Plex went offline'. If the trigger was the change from 'unavalable', then send a Telegram notification with message '🟢 Plex back online'.",
"natural_language": {
"trigger": "When the Plex 12 [sensor.plex_12] sensor changes its state to 'unavalable' or when it changes its state from 'unavalable' to something else.",
"conditions": "There are no additional conditions that must be met for the automation to run.",
"action": "Depending on which change occurred, the automation sends a different Telegram notification. If Plex went offline (changed to 'unavalable'), it sends a red circle message saying 'Plex went offline'. If Plex came back online (changed from 'unavalable'), it sends a green circle message saying 'Plex back online'."
},
"human_like": "Sends a Telegram alert when the Plex server goes offline or comes back online.",
"complexity": "low"
}
},
{
"id": "system_retart_gateway",
"result": {
"structured": "TRIGGER: When Gateway3A HB Free Memory [sensor.gateway3a_hb_free_memory] remains below 10000 for 1 hour. CONDITIONS: None. ACTIONS: Set Command 54ef443f1fac [select.54ef443f1fac_command] to option 'reboot' AND send a Telegram notification with message '🔴 Gateway HB restart'.",
"natural_language": {
"trigger": "When the Gateway3A HB Free Memory [sensor.gateway3a_hb_free_memory] sensor reports a value below 10,000 for a continuous period of one hour.",
"conditions": "There are no additional conditions that must be met.",
"action": "The automation will first send a 'reboot' command to the device Command 54ef443f1fac [select.54ef443f1fac_command] and then send a Telegram notification with the message '🔴 Gateway HB restart'."
},
"human_like": "Automatically reboots the gateway and sends an alert when its free memory remains critically low for an hour.",
"complexity": "low"
}
},
{
"id": "system_googlevideo_unavalable",
"result": {
"structured": "TRIGGER: When GoogleVideo Com [binary_sensor.googlevideo_com] remains unavailable (off) for 1 minute OR When GoogleVideo Com [binary_sensor.googlevideo_com] becomes available (on) for 1 minute. ACTIONS: Choose based on trigger: IF trigger is to_off THEN turn on GoogleVideo Error [input_boolean.googlevideo_error] AND send Telegram notification '🔴 Googlevideo connection lost'. IF trigger is to_on AND GoogleVideo Error [input_boolean.googlevideo_error] is on THEN turn off GoogleVideo Error [input_boolean.googlevideo_error] AND send Telegram notification '🟢 Googlevideo connection restored'.",
"natural_language": {
"trigger": "When the GoogleVideo Com [binary_sensor.googlevideo_com] sensor remains in an 'off' (unavailable) state for one minute, or when it remains in an 'on' (available) state for one minute.",
"conditions": "There are no separate conditions block. Conditions for the actions are evaluated within the 'choose' action block.",
"action": "If the sensor becomes unavailable for a minute, it turns on the GoogleVideo Error [input_boolean.googlevideo_error] flag and sends a Telegram alert about the lost connection. If the sensor becomes available for a minute and the error flag is already on, it turns off the error flag and sends a Telegram notification that the connection has been restored."
},
"human_like": "Monitors the GoogleVideo service connection and sends Telegram alerts when it goes down or comes back up.",
"complexity": "medium"
}
},
{
"id": "system_1621_go2rtc_streamcount",
"result": {
"structured": "TRIGGER: When 1621 Go2RTC Active Streams [sensor.1621_go2rtc_active_streams] becomes unavailable (null) AND remains unavailable for 30 seconds. CONDITIONS: 1621 Go2RTC Active Streams [sensor.1621_go2rtc_active_streams] is 0. ACTIONS: Press Kiosk Load Start URL [button.kiosk_load_start_url].",
"natural_language": {
"trigger": "When the sensor 1621 Go2RTC Active Streams [sensor.1621_go2rtc_active_streams] becomes unavailable and stays that way for 30 seconds.",
"conditions": "The sensor 1621 Go2RTC Active Streams [sensor.1621_go2rtc_active_streams] must be reporting a value of 0.",
"action": "Press the Kiosk Load Start URL [button.kiosk_load_start_url] button."
},
"human_like": "Restarts the kiosk by pressing a button if the video stream count sensor is unavailable and shows zero active streams.",
"complexity": "low"
}
},
{
"id": "system_health_cpu_temp",
"result": {
"structured": "TRIGGER: When sensor.ms01a_cpu_temp OR sensor.ms01b_cpu_temp OR sensor.pbs100_cpu_temp remains above 95° for 5 minutes OR When sensor.ms01a_cpu_temp OR sensor.ms01b_cpu_temp OR sensor.pbs100_cpu_temp remains above 80° for 5 minutes. CONDITIONS: None. ACTIONS: If the trigger was temp_95, then in parallel send a critical notification to mobile_app_iphone_16_pro_dima with title 'Внимание!' and message containing the friendly name of the triggering sensor and '>90°', and send a Telegram notification with message containing '🔥 Внимание!', the friendly name of the triggering sensor, and '>90°'. If the trigger was temp_80, then send a Telegram notification with message containing '🔥 Внимание!', the friendly name of the triggering sensor, and '>80°'.",
"natural_language": {
"trigger": "When the CPU temperature of any monitored system (sensor.ms01a_cpu_temp, sensor.ms01b_cpu_temp, or sensor.pbs100_cpu_temp) stays above 95 degrees for five minutes, or stays above 80 degrees for five minutes.",
"conditions": "There are no additional conditions.",
"action": "If the high temperature threshold of 95 degrees was triggered, it sends a critical push notification to a mobile device and a message to Telegram, both alerting that the specific sensor's temperature is above 90 degrees. If the lower threshold of 80 degrees was triggered, it sends a Telegram message alerting that the specific sensor's temperature is above 80 degrees."
},
"human_like": "Sends alerts when the CPU temperature of key systems remains too high for an extended period, using different notification methods based on severity.",
"complexity": "medium"
}
},
{
"id": "system_health_ssd_temp_70",
"result": {
"structured": "TRIGGER: When any of the following temperature sensors remains above 70 degrees for 3 minutes: MS01A NVME0 Temp [sensor.ms01a_nvme0_temp] OR MS01A NVME1 Temp [sensor.ms01a_nvme1_temp] OR MS01B NVME0 Temp [sensor.ms01b_nvme0_temp] OR MS01B NVME1 Temp [sensor.ms01b_nvme1_temp] OR PBS100 NVME0 Temp [sensor.pbs100_nvme0_temp] OR PBS100 SDA Temp [sensor.pbs100_sda_temp]. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🌡 Внимание! {{ trigger.to_state.attributes.friendly_name }} >70°!'.",
"natural_language": {
"trigger": "When the temperature of any of the listed storage drives (MS01A NVME0 Temp [sensor.ms01a_nvme0_temp], MS01A NVME1 Temp [sensor.ms01a_nvme1_temp], MS01B NVME0 Temp [sensor.ms01b_nvme0_temp], MS01B NVME1 Temp [sensor.ms01b_nvme1_temp], PBS100 NVME0 Temp [sensor.pbs100_nvme0_temp], or PBS100 SDA Temp [sensor.pbs100_sda_temp]) stays above 70 degrees Celsius for at least three minutes.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram alert containing a warning message that includes the friendly name of the specific sensor that triggered the alert, indicating its temperature is above 70°C."
},
"human_like": "Sends a high-temperature alert via Telegram if any monitored storage drive stays above 70°C for three minutes.",
"complexity": "low"
}
},
{
"id": "system_health_synology_disks_status",
"result": {
"structured": "TRIGGER: When any of the listed drive status sensors (DS1621plus Drive 1 Status [sensor.ds1621plus_drive_1_status], DS1621plus Drive 2 Status [sensor.ds1621plus_drive_2_status], DS1621plus Drive 3 Status [sensor.ds1621plus_drive_3_status], DS1621plus Drive 5 Status [sensor.ds1621plus_drive_5_status], DS1621plus Drive 6 Status [sensor.ds1621plus_drive_6_status], DS1621plus M 2 Drive 1 Status [sensor.ds1621plus_m_2_drive_1_status], DS1621plus M 2 Drive 2 Status [sensor.ds1621plus_m_2_drive_2_status], DS1621plus Drive 1 Status Smart [sensor.ds1621plus_drive_1_status_smart], DS1621plus Drive 2 Status Smart [sensor.ds1621plus_drive_2_status_smart], DS1621plus Drive 3 Status Smart [sensor.ds1621plus_drive_3_status_smart], DS1621plus Drive 5 Status Smart [sensor.ds1621plus_drive_5_status_smart], DS1621plus Drive 6 Status Smart [sensor.ds1621plus_drive_6_status_smart], DS1621plus M 2 Drive 1 Status Smart [sensor.ds1621plus_m_2_drive_1_status_smart], DS1621plus M 2 Drive 2 Status Smart [sensor.ds1621plus_m_2_drive_2_status_smart], DS920plus Drive 1 Status [sensor.ds920plus_drive_1_status], DS920plus Drive 2 Status [sensor.ds920plus_drive_2_status], DS920plus Drive 3 Status [sensor.ds920plus_drive_3_status], DS920plus Drive 4 Status [sensor.ds920plus_drive_4_status], DS920plus Cache Device 1 Status [sensor.ds920plus_cache_device_1_status], DS920plus Cache Device 2 Status [sensor.ds920plus_cache_device_2_status], DS920plus Drive 1 Status Smart [sensor.ds920plus_drive_1_status_smart], DS920plus Drive 2 Status Smart [sensor.ds920plus_drive_2_status_smart], DS920plus Drive 3 Status Smart [sensor.ds920plus_drive_3_status_smart], DS920plus Drive 4 Status Smart [sensor.ds920plus_drive_4_status_smart], DS920plus Cache Device 1 Status Smart [sensor.ds920plus_cache_device_1_status_smart], DS920plus Cache Device 2 Status Smart [sensor.ds920plus_cache_device_2_status_smart]) changes to a state that is not null AND remains in that new state for 1 minute. CONDITIONS: The new state is different from the previous state AND the new state is not 'unavailable' AND the previous state is not 'unavailable'. ACTIONS: Send a Telegram notification with a message containing the name of the sensor that triggered the automation and the state change.",
"natural_language": {
"trigger": "When any of the many drive status sensors for the DS1621plus and DS920plus NAS devices changes to a state that is not null and remains stable in that new state for one minute.",
"conditions": "The condition checks that the state change is a real change (the new state is different from the old state) and that neither the old state nor the new state is 'unavailable'.",
"action": "Sends a Telegram alert with a wrench emoji, stating which drive's status changed and showing the old and new states."
},
"human_like": "Sends a Telegram alert when the status of any hard drive or cache device in the Synology NAS systems changes, but only for confirmed, stable changes.",
"complexity": "medium"
}
},
{
"id": "toilet_tank_counter",
"result": {
"structured": "TRIGGER: When Contact Sensor 3262a35 [binary_sensor.0x00158d0003262a35_contact] changes from off to on. CONDITIONS: The previous state and the new state are both valid (not 'unknown', 'unavailable', or 'none') AND the new state is different from the previous state. ACTIONS: Increment the Toilet Tank [counter.toilet_tank] counter.",
"natural_language": {
"trigger": "When the Contact Sensor 3262a35 [binary_sensor.0x00158d0003262a35_contact] changes from a closed (off) state to an open (on) state.",
"conditions": "The sensor's previous state and its new state must both be valid readings (not 'unknown', 'unavailable', or 'none'), and the state must have actually changed from one value to another.",
"action": "Increases the count of the Toilet Tank [counter.toilet_tank] by one."
},
"human_like": "Counts how many times the toilet tank lid is opened by incrementing a counter.",
"complexity": "low"
}
},
{
"id": "toilet_air_freshener_counter",
"result": {
"structured": "TRIGGER: When D1Mini Air Freshener Counter [number.d1mini_air_freshener_counter] changes state. CONDITIONS: (The new state value of D1Mini Air Freshener Counter [number.d1mini_air_freshener_counter] is greater than its previous state value) AND (The previous state and the new state are not 'unknown', 'unavailable', or 'none', and they are different from each other) AND (D1Mini Air Freshener Canister Left [sensor.d1mini_air_freshener_canister_left] is less than 10% AND the new state value of D1Mini Air Freshener Counter [number.d1mini_air_freshener_counter] is divisible by 25). ACTIONS: Send a Telegram notification with a message indicating the air freshener canister needs replacement, showing the remaining percentage from D1Mini Air Freshener Canister Left [sensor.d1mini_air_freshener_canister_left].",
"natural_language": {
"trigger": "Whenever the D1Mini Air Freshener Counter [number.d1mini_air_freshener_counter] changes its value.",
"conditions": "The new counter value must be higher than the old one. Both the old and new counter values must be valid (not 'unknown', 'unavailable', or 'none') and different from each other. Additionally, the D1Mini Air Freshener Canister Left [sensor.d1mini_air_freshener_canister_left] must be below 10%, and the new counter value must be a multiple of 25.",
"action": "Sends a Telegram alert stating that the air freshener canister needs to be replaced, including the current remaining percentage."
},
"human_like": "Sends a Telegram alert to replace the air freshener canister when the usage counter increases to a multiple of 25 and the canister is nearly empty.",
"complexity": "medium"
}
},
{
"id": "toilet_air_freshener_spray",
"result": {
"structured": "TRIGGER: When Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] changes from closed (off) to open (on) AND remains open for 2 minutes. CONDITIONS: (The automation entity's 'current' attribute is 0) AND (Lights T Group [group.lights_t] is on) AND (esp32 node b fan t [fan.esp32_node_b_fan_t] is off). ACTIONS: IF esp32 node b fan b manual mode [switch.esp32_node_b_fan_b_manual_mode] is off, THEN turn on esp32 node b fan t [fan.esp32_node_b_fan_t]. WAIT for Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] to become closed (off) and remain closed for 10 seconds, with a timeout of 30 minutes (stop automation if timeout occurs). THEN cancel timer fan t [timer.fan_t]. THEN start Short Fan T Timer [timer.short_fan_t]. THEN, IF more than 60 seconds have passed since D1Mini Air Freshener Spray [button.d1mini_air_freshener_spray] was last pressed, press D1Mini Air Freshener Spray [button.d1mini_air_freshener_spray].",
"natural_language": {
"trigger": "When the Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] opens and stays open for two minutes.",
"conditions": "The automation itself must be in a state where its 'current' attribute is 0, the Lights T Group [group.lights_t] must be on, and the esp32 node b fan t [fan.esp32_node_b_fan_t] must be off.",
"action": "If the manual mode switch for the fan is off, the automation turns on the bathroom fan. It then waits for the contact sensor to close and stay closed for 10 seconds, up to a maximum of 30 minutes. After the sensor closes, it cancels a long-running fan timer, starts a short fan timer, and finally, if at least a minute has passed since the last spray, it triggers the air freshener spray button."
},
"human_like": "Automatically activates the bathroom fan and air freshener after the door has been open for a while, helping to manage odours, but only when the lights are on and the fan isn't already running.",
"complexity": "medium"
}
},
{
"id": "toilet_air_freshener_spray_manual",
"result": {
"structured": "TRIGGER: When Action Sensor 1b97111 [sensor.0x00158d0001b97111_action] sends a 'xiaomi_aqara.click' event with a 'double' click_type. CONDITIONS: None. ACTIONS: Press the D1Mini Air Freshener Spray [button.d1mini_air_freshener_spray] button.",
"natural_language": {
"trigger": "When the Action Sensor 1b97111 [sensor.0x00158d0001b97111_action] is double-clicked.",
"conditions": "There are no conditions for this automation.",
"action": "Press the D1Mini Air Freshener Spray [button.d1mini_air_freshener_spray] button."
},
"human_like": "Sprays air freshener when a specific sensor is double-clicked.",
"complexity": "low"
}
},
{
"id": "toilet_heater_control",
"result": {
"structured": "TRIGGER: When Heater Trigger T [binary_sensor.heater_trigger_t] changes state. CONDITIONS: None. ACTIONS: If Heater Trigger T [binary_sensor.heater_trigger_t] is on, then turn on Sonoff Pow R2 2 Wall Heater [climate.sonoff_pow_r2_2_wall_heater]. Otherwise, turn off Sonoff Pow R2 2 Wall Heater [climate.sonoff_pow_r2_2_wall_heater].",
"natural_language": {
"trigger": "Whenever the state of the Heater Trigger T [binary_sensor.heater_trigger_t] changes.",
"conditions": "There are no additional conditions.",
"action": "If the Heater Trigger T [binary_sensor.heater_trigger_t] is on, the Sonoff Pow R2 2 Wall Heater [climate.sonoff_pow_r2_2_wall_heater] is turned on. If the Heater Trigger T [binary_sensor.heater_trigger_t] is off, the heater is turned off."
},
"human_like": "Turns the toilet heater on or off based on the state of a trigger sensor.",
"complexity": "low"
}
},
{
"id": "toilet_close_seat_notify",
"result": {
"structured": "TRIGGER: When Seat Not Closed [binary_sensor.seat_not_closed] changes from off to on. CONDITIONS: tod day [binary_sensor.tod_day] is on AND system dark mode [switch.system_dark_mode] is off AND more than 15 seconds have passed since the last time this automation was triggered AND the automation's 'current' attribute is 0. ACTIONS: Wait for up to 20 minutes for any of the following to occur: Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1] remains off for 3 seconds OR ESP32 Node B Light [light.esp32_node_b_light] remains off for 3 seconds OR sasha door contact [binary_sensor.0x00158d0001ef2ffc_contact] remains open (on) for 3 seconds OR sasha door contact [binary_sensor.0x00158d0001ef2ffc_contact] closes (changes to off). If the wait times out, stop the automation. After the wait, check if Seat Not Closed [binary_sensor.seat_not_closed] is still on. If true, play a media message on yandex kitchen [media_player.yandex_k] with the content 'Пож+алуйста закр+ойте кр+ышку унит+аза!', using the mode from alice mode [input_select.alice_mode] and a volume level 0.1 higher than main volume [input_number.main_volume]. Then, wait for up to 5 minutes for Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] to close (change to off). If the wait times out, stop the automation. After this wait, play a thank you message on yandex kitchen [media_player.yandex_k] with the content 'Больш+ое спас+ибо!', using the mode from alice mode [input_select.alice_mode] and a volume level 0.1 higher than main volume [input_number.main_volume].",
"natural_language": {
"trigger": "The automation triggers when the Seat Not Closed [binary_sensor.seat_not_closed] sensor indicates the toilet seat has been left open (changes from off to on).",
"conditions": "The automation only runs if it is daytime (tod day [binary_sensor.tod_day] is on), the system dark mode [switch.system_dark_mode] is off, at least 15 seconds have passed since the last time this automation was triggered, and the automation's internal 'current' attribute is set to 0.",
"action": "First, the automation waits for up to 20 minutes for a specific event: either the Light Channel 1 2a36f7f [light.0x00158d0002a36f7f_channel_1] or the ESP32 Node B Light [light.esp32_node_b_light] to be off for 3 seconds, or the sasha door contact [binary_sensor.0x00158d0001ef2ffc_contact] to be open for 3 seconds or to close. If this wait times out, the automation stops. If an event occurs, it checks if the Seat Not Closed [binary_sensor.seat_not_closed] is still reporting the seat is open. If it is, it uses the yandex kitchen [media_player.yandex_k] speaker to play a polite request to close the toilet lid, using the current alice mode [input_select.alice_mode] and a volume slightly louder than the main volume [input_number.main_volume]. Then, it waits for up to 5 minutes for the Contact Sensor 232ddd6 [binary_sensor.0x00158d000232ddd6_contact] to close. If this wait times out, the automation stops. If the sensor closes, it plays a thank you message on the same speaker with the same volume and mode settings."
},
"human_like": "Politely reminds someone to close the toilet seat during the day, waits for them to leave the bathroom, and then thanks them when they close a specific door.",
"complexity": "high"
}
},
{
"id": "toilet_donedeal",
"result": {
"structured": "TRIGGER: When a yandex_intent event occurs with the text 'Я покакала'. CONDITIONS: None. ACTIONS: Play a media file on the media player specified by the event's entity_id, using the media content type from alice mode [input_select.alice_mode], with a random congratulatory message from a predefined list, and set the volume to the value of main volume [input_number.main_volume]. Then, press the button D1Mini Air Freshener Spray [button.d1mini_air_freshener_spray]. Then, turn on the fan esp32 node b fan t [fan.esp32_node_b_fan_t]. Then, wait for 5 seconds. Then, press the button D1Mini Air Freshener Spray [button.d1mini_air_freshener_spray] again.",
"natural_language": {
"trigger": "When a voice assistant (Yandex) detects the specific intent phrase 'Я покакала' (I pooped).",
"conditions": "There are no conditions that must be met for the automation to run.",
"action": "The automation plays a congratulatory sound on the media player that triggered the event. The type of sound (media content type) is determined by the current setting of alice mode [input_select.alice_mode], and the specific message is chosen randomly from a list of encouraging phrases. The volume is set to the level stored in main volume [input_number.main_volume]. It then triggers the D1Mini Air Freshener Spray [button.d1mini_air_freshener_spray] to spray once, turns on the bathroom fan esp32 node b fan t [fan.esp32_node_b_fan_t], waits five seconds, and triggers the air freshener to spray a second time."
},
"human_like": "Celebrates a bathroom success with a congratulatory message, turns on the fan, and sprays air freshener twice with a short delay.",
"complexity": "medium"
}
},
{
"id": "system_update_available_and_installed_notification",
"result": {
"structured": "TRIGGER: When any entity's state changes (event: state_changed). CONDITIONS: (The changed entity's entity_id starts with 'update.') AND (Both the old_state and new_state of the changed entity are not null) AND ((The new state is 'on' AND ( (The entity has device_class 'firmware' AND the latest_version attribute changed) OR the latest_version attribute increased ) AND the new latest_version is not null AND the new latest_version is not in the 'not_has_state' list) OR (The old state was 'on' AND the new state is 'off' AND ( (The entity has device_class 'firmware' AND the installed_version attribute changed) OR the installed_version attribute increased ) AND the new installed_version is not null AND the new installed_version is not in the 'not_has_state' list)). ACTIONS: Set variables: latest_version, installed_version, old_installed_version, and friendlyname. Then, IF the installed_version changed between the old and new states, send a Telegram notification: \"🎊 [friendlyname] обновлен с [old_installed_version] на [latest_version]\". OTHERWISE, send a Telegram notification: \"🛠 [friendlyname] доступна новая версия [latest_version]. Текущая [installed_version]\".",
"natural_language": {
"trigger": "Whenever any entity in the system changes its state.",
"conditions": "The automation only proceeds if the entity that changed is an update entity (its ID starts with 'update.'), and both its previous and new states are known. Furthermore, it must be true that either a new update became available (the entity state turned 'on' and its latest firmware version changed or increased, and this new version is valid) or an update was installed (the entity state turned from 'on' to 'off' and its installed firmware version changed or increased, and this new version is valid).",
"action": "The automation first gathers information about the versions involved and a friendly name for the entity. Then, it checks if the installed version has actually changed. If it has, it sends a Telegram message announcing the successful update. If the installed version hasn't changed, it sends a Telegram message notifying that a new update is available."
},
"human_like": "Sends a Telegram notification when a system update becomes available or is successfully installed, clearly stating the old and new version numbers.",
"complexity": "high"
}
},
{
"id": "hall_big_main_power_turned_off",
"result": {
"structured": "TRIGGER: When Switch Outlet 230fc52 [switch.0x00158d000230fc52_outlet] changes state from on to off. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🔌 Внимание! Главная розетка отключена! Запущен UPS (1200)'.",
"natural_language": {
"trigger": "When the Switch Outlet 230fc52 [switch.0x00158d000230fc52_outlet] is turned off.",
"conditions": "There are no additional conditions for this automation.",
"action": "Sends a Telegram notification to alert the user that the main power outlet has been disconnected and that the UPS (1200) has been started."
},
"human_like": "Sends a Telegram alert when the main power outlet is turned off, indicating the UPS has started.",
"complexity": "low"
}
},
{
"id": "hall_big_main_plug_pulled_out",
"result": {
"structured": "TRIGGER: When Power Sensor 230fc52 [sensor.0x00158d000230fc52_power] reports a value below 10. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🔌 Внимание! Нагрузка в главной розетке упала! Проверь кабель!'.",
"natural_language": {
"trigger": "When the power reading from Power Sensor 230fc52 [sensor.0x00158d000230fc52_power] falls below 10.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram alert with the message: '🔌 Внимание! Нагрузка в главной розетке упала! Проверь кабель!'."
},
"human_like": "Sends a Telegram alert when the power consumption of the main plug drops, indicating the cable may have been pulled out.",
"complexity": "low"
}
},
{
"id": "hall_big_main_power_overpower",
"result": {
"structured": "TRIGGER: When Power Sensor 230fc52 [sensor.0x00158d000230fc52_power] reports a value above 1700. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: '🔌 Внимание! Перегрузка главной розетки! Отключите лишние потребители!'.",
"natural_language": {
"trigger": "When the Power Sensor 230fc52 [sensor.0x00158d000230fc52_power] detects a power consumption value greater than 1700.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a Telegram alert with a warning message about an overload in the main power socket, advising to disconnect unnecessary loads."
},
"human_like": "Sends a Telegram alert when the main power socket is overloaded.",
"complexity": "low"
}
},
{
"id": "hall_big_main_power_turned_on",
"result": {
"structured": "TRIGGER: When Switch Outlet 230fc52 [switch.0x00158d000230fc52_outlet] changes state from off to on. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: \"🔌 Электроснабжение восстановлено! Начинаем зарядку UPS(1200)!\".",
"natural_language": {
"trigger": "When the Switch Outlet 230fc52 [switch.0x00158d000230fc52_outlet] is turned on from an off state.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a notification via Telegram with a message stating that power has been restored and charging of the UPS (1200) is starting."
},
"human_like": "Sends a Telegram alert when the main power outlet is turned back on, indicating power restoration and the start of UPS charging.",
"complexity": "low"
}
},
{
"id": "hall_big_ups_states",
"result": {
"structured": "TRIGGER: When Ippon 1500 Status Data [sensor.ippon_1500_status_data] changes state. CONDITIONS: The new state is different from the previous state. ACTIONS: Based on the new state value: 1. If the new state is 'OB DISCHRG' OR 'OB', then send a notification to Telegram and to the mobile app iPhone 16 Pro Dima that the UPS (1200) has started. 2. If the new state is 'LB' OR 'FSD OB DISCHRG LB', then send critical notifications to Telegram and to the mobile app iPhone 16 Pro Dima that the battery (1200) is critical and shutdown is imminent, wait 10 seconds, then shut down the host system. 3. If the new state is 'OL CHRG' OR 'OL' AND the previous state was not 'unknown', 'unavailable', or 'none', then send a notification to Telegram that power is restored and battery (1200) charging has started. 4. If the new state is 'unknown' OR 'unavailable' AND the previous state was not 'unknown', 'unavailable', or 'none', then send a notification to Telegram that communication with the UPS(1200) is lost. 5. If the previous state was 'unknown' OR 'unavailable' AND the new state is not 'unknown', 'unavailable', or 'none', then send a notification to Telegram that communication with the UPS(1200) is restored.",
"natural_language": {
"trigger": "Whenever the Ippon 1500 Status Data [sensor.ippon_1500_status_data] sensor reports a new state.",
"conditions": "The automation only runs if the new state value is different from the previous state value.",
"action": "Depending on the new status, it performs different actions. If the UPS goes on battery ('OB DISCHRG' or 'OB'), it sends alerts. If the battery becomes critically low ('LB' or 'FSD OB DISCHRG LB'), it sends urgent alerts, waits 10 seconds, and then shuts down the system. If power is restored ('OL CHRG' or 'OL') from a known state, it sends a notification. If the sensor becomes unreachable ('unknown' or 'unavailable') from a known state, it alerts about lost communication. Finally, if communication is restored from an unreachable state, it sends an alert."
},
"human_like": "Monitors the UPS status and sends appropriate notifications for power loss, low battery, and communication issues, and can automatically shut down the system when the battery is critically low.",
"complexity": "medium"
}
},
{
"id": "system_water_cold_water_increase_counter",
"result": {
"structured": "TRIGGER: When Contact Sensor 6d31d78 [binary_sensor.0x00158d0006d31d78_contact] changes from open (on) to closed (off) AND remains closed for 5 seconds. CONDITIONS: None. ACTIONS: Set Cold Water Meter [input_number.cold_water_meter] to its current value plus 0.01, rounded to 2 decimal places. Set Cold Water Meter Month [input_number.cold_water_meter_month] to its current value plus 0.01, rounded to 2 decimal places. Publish the updated value of Cold Water Meter [input_number.cold_water_meter] to the MQTT topic 'utility/main/cold_water_meter' with retain flag. Publish the updated value of Cold Water Meter Month [input_number.cold_water_meter_month] to the MQTT topic 'utility/main/cold_water_meter_month' with retain flag.",
"natural_language": {
"trigger": "When the Contact Sensor 6d31d78 [binary_sensor.0x00158d0006d31d78_contact] changes from being open to closed and stays closed for at least 5 seconds.",
"conditions": "There are no conditions that need to be met.",
"action": "Increases the Cold Water Meter [input_number.cold_water_meter] and the Cold Water Meter Month [input_number.cold_water_meter_month] by 0.01 units each, rounding the results to two decimal places. It then publishes the updated total meter value to the MQTT topic 'utility/main/cold_water_meter' and the updated monthly meter value to the MQTT topic 'utility/main/cold_water_meter_month', ensuring both messages are retained by the broker."
},
"human_like": "Counts cold water usage by incrementing meters whenever a specific contact sensor closes, and publishes the updated totals.",
"complexity": "low"
}
},
{
"id": "system_water_hot_water_increase_counter",
"result": {
"structured": "TRIGGER: When Contact Sensor 236fcd5 [binary_sensor.0x00158d000236fcd5_contact] changes from open (on) to closed (off) AND remains closed for 5 seconds. CONDITIONS: None. ACTIONS: Set Hot Water Meter [input_number.hot_water_meter] to its current value plus 0.01, rounded to two decimal places. Set Hot Water Meter Month [input_number.hot_water_meter_month] to its current value plus 0.01, rounded to two decimal places. Publish the updated Hot Water Meter [input_number.hot_water_meter] value to the MQTT topic 'utility/main/hot_water_meter' with retain flag. Publish the updated Hot Water Meter Month [input_number.hot_water_meter_month] value to the MQTT topic 'utility/main/hot_water_meter_month' with retain flag.",
"natural_language": {
"trigger": "When the Contact Sensor 236fcd5 [binary_sensor.0x00158d000236fcd5_contact] changes from being open to closed and stays closed for at least 5 seconds.",
"conditions": "There are no conditions for this automation.",
"action": "Increments the Hot Water Meter [input_number.hot_water_meter] and Hot Water Meter Month [input_number.hot_water_meter_month] counters by 0.01 units each, rounding the result to two decimal places. It then publishes the updated total values to their respective MQTT topics to update external systems."
},
"human_like": "Counts hot water usage by tracking when a specific contact sensor closes, updating both a total and a monthly meter, and reporting the values via MQTT.",
"complexity": "medium"
}
},
{
"id": "system_power_meter_daily",
"result": {
"structured": "TRIGGER: When the time is 23:59:30. CONDITIONS: None. ACTIONS: Choose based on ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status] state. IF ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status] is on THEN: 1) Set Power Meter T1 [input_number.power_meter_t1] to its current value plus ESP32 PZEM HB Energy Daily Day [sensor.esp32_pzem_hb_energy_daily_day] value, rounded to 2 decimals. 2) Set Power Meter T2 [input_number.power_meter_t2] to its current value plus ESP32 PZEM HB Energy Daily Night [sensor.esp32_pzem_hb_energy_daily_night] value, rounded to 2 decimals. 3) Publish the updated Power Meter T1 [input_number.power_meter_t1] value to MQTT topic 'utility/main/energy/day' with retain flag. 4) Publish the updated Power Meter T2 [input_number.power_meter_t2] value to MQTT topic 'utility/main/energy/night' with retain flag. 5) Send a Telegram notification with the day and night energy values. IF ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status] is off THEN: 1) Send a Telegram notification that PZEM is unavailable. 2) Wait for ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status] to become 'on' for up to 28 seconds, aborting the sequence if it times out. 3) Send a Telegram notification that PZEM is available. 4) Set Power Meter T1 [input_number.power_meter_t1] to its current value plus ESP32 PZEM HB Energy Daily Day [sensor.esp32_pzem_hb_energy_daily_day] value, rounded to 2 decimals. 5) Set Power Meter T2 [input_number.power_meter_t2] to its current value plus ESP32 PZEM HB Energy Daily Night [sensor.esp32_pzem_hb_energy_daily_night] value, rounded to 2 decimals. 6) Publish the updated Power Meter T1 [input_number.power_meter_t1] value to MQTT topic 'utility/main/energy/day' with retain flag. 7) Publish the updated Power Meter T2 [input_number.power_meter_t2] value to MQTT topic 'utility/main/energy/night' with retain flag. 8) Send a Telegram notification that electricity meter data has been updated.",
"natural_language": {
"trigger": "The automation runs every day at 23:59:30.",
"conditions": "There are no global conditions. The actions are chosen based on the current state of the ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status].",
"action": "If the ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status] is 'on', the automation adds the day's energy consumption from ESP32 PZEM HB Energy Daily Day [sensor.esp32_pzem_hb_energy_daily_day] to the Power Meter T1 [input_number.power_meter_t1] total and the night's energy from ESP32 PZEM HB Energy Daily Night [sensor.esp32_pzem_hb_energy_daily_night] to the Power Meter T2 [input_number.power_meter_t2] total. It then publishes these updated totals to MQTT topics and sends a Telegram notification with the day's consumption figures. If the ESP32 PZEM HB Status [binary_sensor.esp32_pzem_hb_status] is 'off', it first sends a Telegram alert about the unavailability, waits up to 28 seconds for the status to become 'on', sends another notification when it's back online, and then performs the same data update and publishing actions as in the 'on' branch."
},
"human_like": "Updates daily electricity meter totals just before midnight, handling cases where the power meter device is temporarily offline.",
"complexity": "medium"
}
},
{
"id": "system_new_month_notification",
"result": {
"structured": "TRIGGER: At 00:00:10 (midnight and 10 seconds). CONDITIONS: The day of the month is the 21st (now().timestamp() | timestamp_custom('%d') | int(0) == 21). ACTIONS: Publish the current value of Hot Water Meter [input_number.hot_water_meter] to MQTT topic 'utility/main/<current_year>/<current_month>/hot_water_meter'. Publish the current value of Cold Water Meter [input_number.cold_water_meter] to MQTT topic 'utility/main/<current_year>/<current_month>/cold_water_meter'. Publish the current value of Power Meter T1 [input_number.power_meter_t1] to MQTT topic 'utility/main/<current_year>/<current_month>/power_meter_t1'. Publish the current value of Power Meter T2 [input_number.power_meter_t2] to MQTT topic 'utility/main/<current_year>/<current_month>/power_meter_t2'. Publish the current timestamp to MQTT topic 'utility/main/<current_year>/<current_month>/timestamp'. Send a Telegram notification with water meter readings: current values for Cold Water Meter [input_number.cold_water_meter] and Hot Water Meter [input_number.hot_water_meter], monthly consumption from Cold Water Meter Month [input_number.cold_water_meter_month] and Hot Water Meter Month [input_number.hot_water_meter_month], and total cost from Water Cost [sensor.water_cost]. Send a Telegram notification with power meter readings: current values for Power Meter T1 [input_number.power_meter_t1] and Power Meter T2 [input_number.power_meter_t2], monthly consumption from ESP32 PZEM HB Energy Monthly Day [sensor.esp32_pzem_hb_energy_monthly_day] and ESP32 PZEM HB Energy Monthly Night [sensor.esp32_pzem_hb_energy_monthly_night], and total cost from Power Cost [sensor.power_cost]. Set the value of Power Meter Last Month T1 [input_number.power_meter_last_month_t1] to the current value of Power Meter T1 [input_number.power_meter_t1]. Set the value of Power Meter Last Month T2 [input_number.power_meter_last_month_t2] to the current value of Power Meter T2 [input_number.power_meter_t2]. Turn on ESP32 PZEM HB Energy Reset All [switch.esp32_pzem_hb_energy_reset_all]. Wait for 10 seconds. Turn on ESP32 PZEM HB Energy Reset UART [switch.esp32_pzem_hb_energy_reset_uart]. Set the value of Hot Water Meter Last Month [input_number.hot_water_meter_last_month] to the current value of Hot Water Meter [input_number.hot_water_meter]. Set the value of Cold Water Meter Last Month [input_number.cold_water_meter_last_month] to the current value of Cold Water Meter [input_number.cold_water_meter]. Set the value of both Hot Water Meter Month [input_number.hot_water_meter_month] and Cold Water Meter Month [input_number.cold_water_meter_month] to 0.",
"natural_language": {
"trigger": "The automation triggers every day at 10 seconds past midnight (00:00:10).",
"conditions": "The automation only proceeds if the current day of the month is the 21st.",
"action": "The automation performs a comprehensive end-of-month utility data handling routine. It publishes the current readings for hot water, cold water, and electricity (T1 and T2 tariffs) to specific MQTT topics, archiving them by year and month. It also sends a timestamp. Two detailed Telegram notifications are sent: one summarizing water consumption and costs, and another for electricity consumption and costs. It then archives the current electricity meter readings for next month's calculation, triggers a reset sequence for the power monitoring device (with a 10-second delay between steps), archives the current water meter readings, and finally resets the monthly water consumption counters to zero."
},
"human_like": "On the 21st of each month, this automation archives utility meter readings, sends a summary via Telegram, and resets counters for the next billing cycle.",
"complexity": "medium"
}
},
{
"id": "system_power_15A_current",
"result": {
"structured": "TRIGGER: When ESP32 PZEM HB Current [sensor.esp32_pzem_hb_current] is above 15 AND below 20. CONDITIONS: The time elapsed since the automation system_power_15A_current [automation.system_power_15A_current] was last triggered is greater than 10 minutes. ACTIONS: Send a Telegram notification with the message: '🚨 Внимание! Общий ток более 15А!'.",
"natural_language": {
"trigger": "When the ESP32 PZEM HB Current [sensor.esp32_pzem_hb_current] reading is between 15 and 20 amps.",
"conditions": "At least 10 minutes must have passed since this automation last ran.",
"action": "Sends a Telegram alert with the message: '🚨 Внимание! Общий ток более 15А!' (Attention! Total current is over 15A!)."
},
"human_like": "Sends a Telegram alert if the total electrical current exceeds 15 amps, but only if it hasn't alerted in the last 10 minutes.",
"complexity": "medium"
}
},
{
"id": "system_power_20A_current",
"result": {
"structured": "TRIGGER: When ESP32 PZEM HB Current [sensor.esp32_pzem_hb_current] is above 20 AND below 30. CONDITIONS: The time elapsed since the last trigger of this automation (system_power_20A_current) is greater than 10 minutes. ACTIONS: Send a Telegram notification with the message: '🚨 Внимание! Общий ток более 20А!'.",
"natural_language": {
"trigger": "When the ESP32 PZEM HB Current [sensor.esp32_pzem_hb_current] reading is between 20 and 30 amperes.",
"conditions": "This automation will only run if it has not been triggered in the last 10 minutes.",
"action": "Sends a Telegram alert with the message: '🚨 Внимание! Общий ток более 20А!' (Attention! Total current is over 20A!)."
},
"human_like": "Sends a Telegram alert when the total electrical current exceeds 20A, but prevents repeated notifications within a 10-minute window.",
"complexity": "medium"
}
},
{
"id": "system_power_30A_current",
"result": {
"structured": "TRIGGER: When ESP32 PZEM HB Current [sensor.esp32_pzem_hb_current] is between 30 and 40. CONDITIONS: The automation system_power_30A_current [automation.system_power_30A_current] has not been triggered in the last 10 minutes. ACTIONS: Send a Telegram notification with the message '🚨 Внимание! Общий ток более 30А!' and a critical sound, AND send a mobile notification to iPhone 16 Pro Dima with title 'Внимание!' and message 'Внимание! Общий ток более 30А'.",
"natural_language": {
"trigger": "When the current measured by the ESP32 PZEM HB Current [sensor.esp32_pzem_hb_current] rises above 30 amps but stays below 40 amps.",
"conditions": "This automation will only run if it has not been triggered at all, or if it has not been triggered again in the last 10 minutes.",
"action": "Sends two simultaneous notifications: a critical alert via Telegram and a push notification to a specific mobile phone, both warning that the total current exceeds 30 amps."
},
"human_like": "Sends urgent alerts when the household electrical current is high (between 30-40 amps) to prevent circuit overload, but only if it hasn't already warned you in the last 10 minutes.",
"complexity": "medium"
}
},
{
"id": "system_high_power_while_not_home",
"result": {
"structured": "TRIGGER: Every 10 minutes (time pattern). CONDITIONS: system security mode [switch.system_security_mode] is on AND ESP32 PZEM HB Power [sensor.esp32_pzem_hb_power] is above 1200. ACTIONS: Send a Telegram notification with the message '🚨 Внимание! Охрана Вкл! Высокое потребление электричества [current power]Вт!' AND Send a critical push notification to mobile_app_iphone_16_pro_dima with title 'Внимание!' and message 'Охрана Вкл! Высокое потребление электричества [current power]Вт!'.",
"natural_language": {
"trigger": "The automation runs every 10 minutes.",
"conditions": "The system security mode [switch.system_security_mode] must be switched on, and the current power reading from ESP32 PZEM HB Power [sensor.esp32_pzem_hb_power] must be greater than 1200 watts.",
"action": "Sends two parallel alerts: a Telegram notification and a critical push notification to a mobile device, both warning that the security system is active while high power consumption is detected, including the current power value."
},
"human_like": "Sends alerts if high electricity usage is detected while the security system is armed, checking every 10 minutes.",
"complexity": "low"
}
},
{
"id": "system_water_consumption_not_home",
"result": {
"structured": "TRIGGER: When Contact Sensor 6d31d78 [binary_sensor.0x00158d0006d31d78_contact] changes from open (on) to closed (off) AND remains closed for 5 seconds OR when Contact Sensor 236fcd5 [binary_sensor.0x00158d000236fcd5_contact] changes from open (on) to closed (off) AND remains closed for 5 seconds. CONDITIONS: system security mode [switch.system_security_mode] is on. ACTIONS: Send a Telegram notification with a water consumption alert message AND send a critical push notification to the mobile app 'iPhone 16 Pro Dima' with the same alert. The message specifies whether hot or cold water is being consumed based on the triggered sensor's friendly name.",
"natural_language": {
"trigger": "When either the Contact Sensor 6d31d78 [binary_sensor.0x00158d0006d31d78_contact] or the Contact Sensor 236fcd5 [binary_sensor.0x00158d000236fcd5_contact] changes from an open to a closed state and stays closed for at least 5 seconds.",
"conditions": "The system security mode [switch.system_security_mode] must be switched on.",
"action": "Sends two notifications: one to Telegram and one as a critical push notification to the mobile app 'iPhone 16 Pro Dima'. Both messages alert that the security system is on and water is being consumed, specifying whether it's hot or cold water based on which sensor triggered the event."
},
"human_like": "Sends a security alert when water flow is detected while the home security system is armed, notifying the user via Telegram and their phone.",
"complexity": "medium"
}
},
{
"id": "system_water_sensor_outage",
"result": {
"structured": "TRIGGER: Every 30 minutes (on minutes divisible by 30). CONDITIONS: (The last update time of sensor 0x00158d0006d31d78_zigbee [sensor.0x00158d0006d31d78_zigbee] is more than 2 hours ago) OR (The last update time of sensor 0x00158d000236fcd5_zigbee [sensor.0x00158d000236fcd5_zigbee] is more than 2 hours ago). ACTIONS: Send a Telegram notification with a message stating an alert that there is no data from the water meter, specifying cold water if sensor 0x00158d0006d31d78_zigbee [sensor.0x00158d0006d31d78_zigbee] has not been updated for over 2 hours, otherwise specifying hot water.",
"natural_language": {
"trigger": "The automation runs every 30 minutes, on the hour and half-hour.",
"conditions": "It checks if either the sensor 0x00158d0006d31d78_zigbee [sensor.0x00158d0006d31d78_zigbee] or the sensor 0x00158d000236fcd5_zigbee [sensor.0x00158d000236fcd5_zigbee] has not sent an update for more than two hours.",
"action": "Sends a Telegram alert message. The message warns that there is no data from a water meter. It specifies the cold water meter if the sensor 0x00158d0006d31d78_zigbee [sensor.0x00158d0006d31d78_zigbee] is the one that is outdated; otherwise, it specifies the hot water meter."
},
"human_like": "Sends a Telegram alert if either the cold or hot water meter sensor stops reporting data for more than two hours.",
"complexity": "medium"
}
},
{
"id": "bathroom_water_valves_test",
"result": {
"structured": "TRIGGER: When the time is 00:01:00 (1 minute past midnight). CONDITIONS: The current day of the month is the 15th. ACTIONS: Send a Telegram notification with message '🚰 Проверка кранов - закрываем!'. Press the ESP32 Node B Close Valve [button.esp32_node_b_close_valve]. Wait for 25 seconds. Turn off ESP32 Node B Relay 1 [switch.esp32_node_b_relay_1]. Wait for 5 seconds. Send a Telegram notification with message '🚰 Проверка кранов - открываем!'. Press the ESP32 Node B Open Valve [button.esp32_node_b_open_valve]. Wait for 25 seconds. Turn off ESP32 Node B Relay 2 [switch.esp32_node_b_relay_2]. Send a Telegram notification with message '✅ Проверка кранов завершена!'.",
"natural_language": {
"trigger": "The automation runs at 1 minute past midnight.",
"conditions": "It only runs if the current day of the month is the 15th.",
"action": "It sends a Telegram message to announce the start of a valve test. It then presses the button to close the bathroom water valve, waits 25 seconds, and turns off the associated relay. After a brief 5-second pause, it sends another Telegram message, presses the button to open the valve, waits 25 seconds, and turns off the second relay. Finally, it sends a final Telegram message confirming the test is complete."
},
"human_like": "Automatically tests the bathroom water valves on the 15th of each month by closing and opening them, sending status updates via Telegram.",
"complexity": "medium"
}
},
{
"id": "vova_tv_control",
"result": {
"structured": "TRIGGER: When TV Delay Off Timer [timer.tv_delay_off] finishes OR When TV Delay On Timer [timer.tv_delay_on] finishes OR When the time is 22:00:00 OR When Action Sensor 23d3206 [sensor.0x00158d00023d3206_action] receives a single click event. ACTIONS: (IF triggered by TV Delay Off Timer [timer.tv_delay_off] THEN turn off TV V [media_player.tv_v] AND turn off Switch Plug 290a093 [switch.0x00158d000290a093_plug] AND start TV Delay On Timer [timer.tv_delay_on]) OR (IF triggered by TV Delay On Timer [timer.tv_delay_on] AND the current time is NOT after 21:00:00 THEN turn on Switch Plug 290a093 [switch.0x00158d000290a093_plug]) OR (IF triggered by time 22:00:00 THEN turn off Switch Plug 290a093 [switch.0x00158d000290a093_plug]) OR (IF triggered by Action Sensor 23d3206 [sensor.0x00158d00023d3206_action] single click THEN toggle Switch Plug 290a093 [switch.0x00158d000290a093_plug]).",
"natural_language": {
"trigger": "The automation can be triggered in four ways: when the TV Delay Off Timer finishes, when the TV Delay On Timer finishes, at 10:00 PM, or when the Action Sensor 23d3206 receives a single click event.",
"conditions": "The automation uses a choose action block, meaning the conditions are evaluated per trigger path. The only explicit condition is for the TV Delay On Timer trigger, which requires the current time to be before 9:00 PM. All other trigger paths execute their actions without additional conditions.",
"action": "Depending on which trigger activated the automation: 1) If the TV Delay Off Timer finished, the TV V is turned off, the Switch Plug 290a093 is turned off, and the TV Delay On Timer is started. 2) If the TV Delay On Timer finished and it is before 9:00 PM, the Switch Plug 290a093 is turned on. 3) If the trigger is the scheduled time of 10:00 PM, the Switch Plug 290a093 is turned off. 4) If the Action Sensor 23d3206 is clicked once, the Switch Plug 290a093 is toggled."
},
"human_like": "This automation controls the TV and its power plug based on timers, a schedule, and a button click, allowing for delayed actions and manual override.",
"complexity": "medium"
}
},
{
"id": "vova_purifier_breather_toggle",
"result": {
"structured": "TRIGGER: When person sandra [person.sandra] changes state to home OR When person sandra [person.sandra] changes state from home. CONDITIONS: (The automation entity's 'current' attribute is 0) AND (The trigger's from_state and to_state are not 'unknown', 'unavailable', 'none', or '0' AND the trigger's to_state is different from the trigger's from_state). ACTIONS: If person sandra [person.sandra] is home, then turn on Purifier2s Fan [fan.purifier2s] AND turn off System Breather Auto V [switch.system_breather_auto_v]. Otherwise, turn off Purifier2s Fan [fan.purifier2s] AND turn off System Hourly Mode Breather V [switch.system_hourly_mode_breather_v] AND turn on System Breather Auto V [switch.system_breather_auto_v].",
"natural_language": {
"trigger": "When person sandra [person.sandra] arrives home or leaves home.",
"conditions": "The automation entity's 'current' attribute must be 0, and the state change must be valid, meaning the previous and new states are not 'unknown', 'unavailable', 'none', or '0', and the state must actually change.",
"action": "If Sandra is home, the Purifier2s Fan [fan.purifier2s] is turned on and the System Breather Auto V [switch.system_breather_auto_v] is turned off. If Sandra is not home, the Purifier2s Fan [fan.purifier2s] is turned off, the System Hourly Mode Breather V [switch.system_hourly_mode_breather_v] is turned off, and the System Breather Auto V [switch.system_breather_auto_v] is turned on."
},
"human_like": "Turns on the air purifier and disables auto breather mode when Sandra is home; when she leaves, it turns off the purifier and switches the breather back to auto mode.",
"complexity": "medium"
}
},
{
"id": "vova_purifier_favorite_mode",
"result": {
"structured": "TRIGGER: When Purifier2s Fan [fan.purifier2s] remains in any state for 1 minute. CONDITIONS: (Purifier2s Fan [fan.purifier2s] is on) AND (Purifier2s Fan [fan.purifier2s] attribute 'current' equals 0) AND (tod day [binary_sensor.tod_day] is off) AND (NOT (Purifier2s Fan [fan.purifier2s] attribute 'preset_mode' is Favorite)). ACTIONS: Set Purifier2s Fan [fan.purifier2s] preset mode to Favorite.",
"natural_language": {
"trigger": "When the Purifier2s Fan [fan.purifier2s] has been in any state for at least one minute.",
"conditions": "The fan must be turned on, its 'current' attribute must be 0, the 'tod day' [binary_sensor.tod_day] sensor must be off, and the fan must not already be set to the 'Favorite' preset mode.",
"action": "Changes the Purifier2s Fan [fan.purifier2s] to operate in its 'Favorite' preset mode."
},
"human_like": "Automatically switches the air purifier to its Favorite mode when it's running at a low current level and it's not daytime.",
"complexity": "medium"
}
},
{
"id": "vova_sleep_time",
"result": {
"structured": "TRIGGER: When a yandex_intent event occurs with the text 'Пора спать'. CONDITIONS: The event's entity_id attribute equals 'media_player.yandex_v'. ACTIONS: Turn off Switch Plug 290a093 [switch.0x00158d000290a093_plug]. Turn off Apple TV V [media_player.apple_tv_v]. In parallel: Turn off Square LED V [light.square_led_v] with a 15-second transition. Turn off Square LED V Nightlight [light.square_led_v_nightlight] with a 15-second transition. Turn off Light 54ef441000d4e7fd [light.0x54ef441000d4e7fd_light] with a 15-second transition. If yandex vova room [media_player.yandex_v] is NOT playing, then play the command 'Включи спят усталые игрушки на повтор' on yandex vova room [media_player.yandex_v].",
"natural_language": {
"trigger": "When a voice command event with the text 'Пора спать' (Time to sleep) is received.",
"conditions": "The voice command must have originated from the specific device yandex vova room [media_player.yandex_v].",
"action": "Turns off a plug switch, turns off the Apple TV, and simultaneously fades out three lights over 15 seconds. If the Yandex device is not already playing audio, it will start playing a lullaby command."
},
"human_like": "Activates a bedtime routine when the 'Time to sleep' command is spoken to the Yandex speaker, turning off electronics, dimming the lights, and playing a lullaby.",
"complexity": "medium"
}
},
{
"id": "bathroom_washing_machine_washing",
"result": {
"structured": "TRIGGER: When Washer B [binary_sensor.washer_b] changes from off to on. CONDITIONS: (ha uptime [sensor.ha_uptime] is above 0) AND (Washer State [input_select.washer_state] is Idle OR Drying). ACTIONS: Set Washer Start [input_number.washer_start] to the current timestamp, cancel Washer Working Timer [timer.washer_working], start Washer Working Timer [timer.washer_working], set Washer State [input_select.washer_state] to Washing, and send a Telegram notification with the message '⏳ Стирка начата!'.",
"natural_language": {
"trigger": "When the Washer B [binary_sensor.washer_b] sensor turns on, indicating the washing machine has started a cycle.",
"conditions": "If the Home Assistant system has been running for more than zero seconds, and the current Washer State [input_select.washer_state] is either 'Idle' or 'Drying'.",
"action": "Records the start time by setting the Washer Start [input_number.washer_start] to the current timestamp, resets and starts the Washer Working Timer [timer.washer_working], changes the Washer State [input_select.washer_state] to 'Washing', and sends a Telegram notification saying '⏳ Стирка начата!' (Washing started!)."
},
"human_like": "Starts tracking a washing machine cycle when it begins, updates its status, and sends a notification.",
"complexity": "medium"
}
},
{
"id": "bathroom_washing_machine_sensors_issue",
"result": {
"structured": "TRIGGER: When Washer B [binary_sensor.washer_b] changes from off to on AND remains on for 5 seconds. CONDITIONS: Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] is on. ACTIONS: Turn on Washer Door Issue [input_boolean.washer_door_issue] AND send a Telegram notification with the message: '❌ Внимание! Обнаружена ошибка сенсора двери стиральной машины!'.",
"natural_language": {
"trigger": "When the sensor Washer B [binary_sensor.washer_b] turns on and stays on for 5 seconds.",
"conditions": "The Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] must be reporting as open (on).",
"action": "It turns on the Washer Door Issue [input_boolean.washer_door_issue] flag and sends a Telegram alert stating: '❌ Внимание! Обнаружена ошибка сенсора двери стиральной машины!'."
},
"human_like": "Alerts you via Telegram if the washing machine sensor indicates a possible door sensor error.",
"complexity": "low"
}
},
{
"id": "bathroom_washing_machine_hatch_open",
"result": {
"structured": "TRIGGER: When Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] becomes open (on). CONDITIONS: Washer State [input_select.washer_state] is Washing AND Washing Machine Stopwatch [sensor.washing_machine_stopwatch] is below 21. ACTIONS: Set Washer State [input_select.washer_state] to Pause, turn off Washer Drying [input_boolean.washer_drying], cancel Washer Working Timer [timer.washer_working], and send a Telegram notification with the message: '⏳ Стирка приостановлена'.",
"natural_language": {
"trigger": "When the Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] detects that the hatch or door is opened.",
"conditions": "The washing machine must currently be in the 'Washing' state, and the washing machine stopwatch must show a value less than 21 minutes remaining.",
"action": "Pause the washing cycle by setting the washer state to 'Pause', turn off the drying mode, cancel the washer working timer, and send a Telegram notification stating that the washing has been paused."
},
"human_like": "Pauses the washing machine cycle and sends a notification if the machine door is opened while it is washing and has less than 21 minutes left.",
"complexity": "low"
}
},
{
"id": "bathroom_washing_machine_hatch_close",
"result": {
"structured": "TRIGGER: When Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] changes to closed (off). CONDITIONS: Washer State [input_select.washer_state] is Pause. ACTIONS: Set Washer State [input_select.washer_state] to Washing AND cancel Washer Working Timer [timer.washer_working] AND start Washer Working Timer [timer.washer_working] AND send Telegram notification with message '⏳ Стирка продолжена'.",
"natural_language": {
"trigger": "When the Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] detects that the contact is closed.",
"conditions": "The Washer State [input_select.washer_state] must be set to 'Pause'.",
"action": "Changes the washer state to 'Washing', restarts the Washer Working Timer [timer.washer_working] by first cancelling and then starting it, and sends a Telegram notification saying '⏳ Стирка продолжена' (Washing resumed)."
},
"human_like": "Resumes the washing machine cycle and restarts its timer when the washing machine door is closed while it's in a paused state.",
"complexity": "low"
}
},
{
"id": "bathroom_washing_machine_drying",
"result": {
"structured": "TRIGGER: When Washer B [binary_sensor.washer_b] changes from on to off. ACTIONS: Choose between two sequences based on conditions. IF (Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] is off) AND (Washer State [input_select.washer_state] is Washing OR Pause) AND (Washer Door Issue [input_boolean.washer_door_issue] is off) THEN: Cancel timers Washing Machine Door Timer [timer.washing_machine_door] and Washer Working Timer [timer.washer_working]; Start timer Washing Machine Door Timer [timer.washing_machine_door]; Set Washer State [input_select.washer_state] to Drying; Increment Washing Machine Runs [counter.washing_machine_runs]; Update Washer B Run Time [input_number.washer_b_run_time] based on elapsed time since Washer Start [input_number.washer_start]; Update Washing Gel Usage [input_number.washing_gel_usage] based on elapsed time; Send a Telegram notification with the wash duration; IF (tod day [binary_sensor.tod_day] is on) AND (system dark mode [switch.system_dark_mode] is off) THEN: Set volume of yandex kitchen [media_player.yandex_k] to main volume [input_number.main_volume] value; Play a media announcement on yandex kitchen [media_player.yandex_k] using the alice mode [input_select.alice_mode] type. ELSE IF (Washer Door Issue [input_boolean.washer_door_issue] is on) THEN: Set Washer State [input_select.washer_state] to Drying; Cancel timer Washing Machine Door Timer [timer.washing_machine_door]; Start timer Washing Machine Door Timer [timer.washing_machine_door].",
"natural_language": {
"trigger": "When the washing machine's power sensor, Washer B [binary_sensor.washer_b], turns off after having been on.",
"conditions": "The automation does not have a global condition block. Instead, it uses a choose action with two conditional sequences. The first sequence runs if the washing machine door contact sensor [binary_sensor.a4c138833042_contact] is closed (off), the current washer state [input_select.washer_state] is either 'Washing' or 'Pause', and there is no known door issue [input_boolean.washer_door_issue is off]. The second sequence runs only if a door issue is currently active [input_boolean.washer_door_issue is on]. Furthermore, within the first sequence, there is a nested check to see if it is daytime [binary_sensor.tod_day is on] and dark mode is not active [switch.system_dark_mode is off] before playing an audio announcement.",
"action": "If the door is closed and no issue is present, the automation resets timers, updates the washer state to 'Drying', logs the run time and detergent usage, sends a Telegram notification, and, if it's daytime, plays a voice announcement on the kitchen speaker. If a door issue is flagged, it simply sets the state to 'Drying' and starts a door timer."
},
"human_like": "Handles the completion of a washing machine cycle by updating its status, logging statistics, notifying the user, and optionally announcing completion with a voice message, while also managing a known door issue scenario.",
"complexity": "high"
}
},
{
"id": "bathroom_washing_machine_open_door_after_washing",
"result": {
"structured": "TRIGGER: When timer Washing Machine Door Timer [timer.washing_machine_door] finishes. CONDITIONS: ha uptime [sensor.ha_uptime] is above 0 AND Washer State [input_select.washer_state] is Drying AND Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] is closed (off). ACTIONS: Send a Telegram notification with the message '💨 Откройте дверцу стиральной машины!', cancel timer Washing Machine Door Timer [timer.washing_machine_door], and start timer Washing Machine Door Timer [timer.washing_machine_door].",
"natural_language": {
"trigger": "When the Washing Machine Door Timer [timer.washing_machine_door] finishes.",
"conditions": "The Home Assistant system must have been running (ha uptime [sensor.ha_uptime] is greater than zero), the Washer State [input_select.washer_state] must be set to 'Drying', and the Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] must report that the door is closed.",
"action": "Send a Telegram notification reminding someone to open the washing machine door, cancel the existing Washing Machine Door Timer [timer.washing_machine_door], and immediately restart the same timer."
},
"human_like": "Sends a reminder to open the washing machine door after the drying cycle is complete, and resets the reminder timer.",
"complexity": "medium"
}
},
{
"id": "bathroom_washing_machine_ready_notification",
"result": {
"structured": "TRIGGER: When motion is detected by hall small motion sensor 2 [binary_sensor.0x00158d0002b43ad4_motion] OR hall small motion sensor 1 [binary_sensor.0x00158d0001ae9f61_motion] OR motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion] OR motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion]. CONDITIONS: (ha uptime [sensor.ha_uptime] is above 5) AND (tod day [binary_sensor.tod_day] is on) AND (system dark mode [switch.system_dark_mode] is off) AND (Washer State [input_select.washer_state] is Drying) AND (Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] is off) AND (more than 30 minutes have passed since the last trigger of this automation) AND (more than 30 minutes have passed since the last trigger of automation.bathroom_washing_machine_drying) AND (the automation is currently in state 0). ACTIONS: Set the volume of yandex kitchen [media_player.yandex_k] to the value of main volume [input_number.main_volume] AND play a media message on yandex kitchen [media_player.yandex_k] with content type from alice mode [input_select.alice_mode] and content ID 'Ст+ирка завершен+а! В+ытащите бель+ё пож+алуста!'.",
"natural_language": {
"trigger": "When motion is detected by any of the following sensors: hall small motion sensor 2 [binary_sensor.0x00158d0002b43ad4_motion], hall small motion sensor 1 [binary_sensor.0x00158d0001ae9f61_motion], motion sensor kitchen 2 [binary_sensor.0x00158d0002b48381_motion], or motion sensor kitchen 1 [binary_sensor.0x00158d0002b4729d_motion].",
"conditions": "If the Home Assistant system has been running for more than 5 minutes, it is daytime, dark mode is off, the washer is in the 'Drying' state, the contact sensor is closed (off), more than 30 minutes have passed since this automation last triggered, more than 30 minutes have passed since the 'bathroom_washing_machine_drying' automation last triggered, and this automation is currently not in an active run (state 0).",
"action": "Sets the volume of the kitchen speaker to the configured main volume level and then plays a voice announcement stating the washing is complete and to please remove the laundry."
},
"human_like": "Announces when the washing machine has finished drying, but only during the day when someone is nearby and if enough time has passed since the last notification.",
"complexity": "high"
}
},
{
"id": "bathroom_washing_machine_open_door_after_washing_stop",
"result": {
"structured": "TRIGGER: When Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] changes from closed (off) to open (on). CONDITIONS: ha uptime [sensor.ha_uptime] is greater than 0 AND Washer State [input_select.washer_state] is Drying. ACTIONS: Send a Telegram notification with message '✅ Дверца стиральной машинки открыта!', Cancel timer Washing Machine Door Timer [timer.washing_machine_door], Turn off Washer Door Issue [input_boolean.washer_door_issue], Set Washer State [input_select.washer_state] to Idle.",
"natural_language": {
"trigger": "When the Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] detects that the door has been opened, changing from a closed to an open state.",
"conditions": "The Home Assistant system must be running, indicated by the ha uptime [sensor.ha_uptime] being greater than zero, and the washing machine must be in the 'Drying' phase, as shown by the Washer State [input_select.washer_state].",
"action": "Sends a Telegram notification confirming the washing machine door is open, cancels the Washing Machine Door Timer [timer.washing_machine_door], turns off the Washer Door Issue [input_boolean.washer_door_issue] flag, and sets the Washer State [input_select.washer_state] back to 'Idle'."
},
"human_like": "Sends a notification and resets the washing machine's status when its door is opened after the drying cycle is complete.",
"complexity": "medium"
}
},
{
"id": "bathroom_washing_machine_open_door_issue_flag_reset",
"result": {
"structured": "TRIGGER: When Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] changes state to on OR off. CONDITIONS: Washer Door Issue [input_boolean.washer_door_issue] is on. ACTIONS: Turn off Washer Door Issue [input_boolean.washer_door_issue].",
"natural_language": {
"trigger": "Whenever the Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] changes its state, either to open (on) or closed (off).",
"conditions": "The automation only runs if the Washer Door Issue [input_boolean.washer_door_issue] flag is currently set to on.",
"action": "Clears the issue flag by turning off the Washer Door Issue [input_boolean.washer_door_issue]."
},
"human_like": "Resets the washer door issue flag whenever the washer's contact sensor changes state.",
"complexity": "low"
}
},
{
"id": "bathroom_washing_machine_idle_door_open_10m",
"result": {
"structured": "TRIGGER: When Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] changes from closed (off) to open (on) AND remains open for 30 minutes. CONDITIONS: None. ACTIONS: Set Washer State [input_select.washer_state] to 'Idle'.",
"natural_language": {
"trigger": "When the Contact Sensor a4c138833042 [binary_sensor.a4c138833042_contact] opens and stays open for 30 minutes.",
"conditions": "There are no additional conditions.",
"action": "Changes the Washer State [input_select.washer_state] to 'Idle'."
},
"human_like": "Sets the washing machine state to 'Idle' when its door has been open for half an hour.",
"complexity": "low"
}
},
{
"id": "system_water_leak_detected",
"result": {
"structured": "TRIGGER: When any of the following moisture sensors remains in the 'on' (leak detected) state for 5 seconds: Moisture Sensor 23297e7 [binary_sensor.0x00158d00023297e7_moisture] OR Moisture Sensor 23684c2 [binary_sensor.0x00158d00023684c2_moisture] OR Moisture Sensor 2373a67 [binary_sensor.0x00158d0002373a67_moisture] OR Moisture Sensor 2349f5b [binary_sensor.0x00158d0002349f5b_moisture] OR Water Leak Sensor 54ef44c335f4 [binary_sensor.54ef44c335f4_water_leak]. CONDITIONS: None. ACTIONS: 1. Turn on a specific LED light with a red alarm effect based on the triggering sensor. 2. Set the volume level for the main audio output and yandex kitchen [media_player.yandex_k] to the value from main volume [input_number.main_volume]. 3. In parallel: a. Play a custom audio alert on the main audio output and yandex kitchen [media_player.yandex_k] announcing the leak location. b. Send a Telegram notification with the leak location. c. Send a critical push notification to mobile_app_iphone_16_pro_dima with the leak location. 4. Press the ESP32 Node B Close Valve [button.esp32_node_b_close_valve]. 5. Wait for 25 seconds. 6. Turn off ESP32 Node B Relay 1 [switch.esp32_node_b_relay_1]. 7. Play a second audio alert confirming the water is shut off. 8. Send a second Telegram notification confirming the water is shut off.",
"natural_language": {
"trigger": "The automation triggers when any one of the five water leak sensors detects moisture and remains in the 'on' (leak detected) state for at least five seconds.",
"conditions": "There are no conditions that must be met for the actions to run; the automation executes immediately after the trigger.",
"action": "Upon detecting a leak, the system performs a comprehensive emergency response. First, it activates a red alarm light in a location specific to the sensor that triggered. It then sets the audio system volume and plays a voice alert announcing the exact location of the leak (e.g., in the kitchen, under the kitchen furniture, in the toilet, or in the bathroom, possibly behind the washing machine). Simultaneously, it sends notifications via Telegram and a critical alert to a mobile phone. The system then initiates the water shut-off sequence by pressing a virtual valve button, waiting 25 seconds, and turning off a relay. Finally, it plays a second voice alert and sends another Telegram message confirming the water has been shut off and instructing the user to fix the leak."
},
"human_like": "This automation detects a water leak using multiple sensors and triggers a full emergency response, including audible alarms, phone notifications, and an automatic water shut-off procedure.",
"complexity": "high"
}
},
{
"id": "system_water_leak_resolved",
"result": {
"structured": "TRIGGER: When any of the following moisture sensors changes from 'on' (wet) to 'off' (dry) AND remains 'off' for 3 seconds: Moisture Sensor 23297e7 [binary_sensor.0x00158d00023297e7_moisture] OR Moisture Sensor 23684c2 [binary_sensor.0x00158d00023684c2_moisture] OR Moisture Sensor 2373a67 [binary_sensor.0x00158d0002373a67_moisture] OR Moisture Sensor 2349f5b [binary_sensor.0x00158d0002349f5b_moisture] OR Water Leak Sensor 54ef44c335f4 [binary_sensor.54ef44c335f4_water_leak]. CONDITIONS: None. ACTIONS: 1. Turn off a specific light based on which sensor triggered: if triggered by Moisture Sensor 23297e7 [binary_sensor.0x00158d00023297e7_moisture], turn off esp32 node k led [light.esp32_node_k_led]; if triggered by Moisture Sensor 23684c2 [binary_sensor.0x00158d00023684c2_moisture], turn off ESP32 Node HS Toilet [light.esp32_node_hs_toilet]; otherwise, turn off esp32 node hs bathroom [light.esp32_node_hs_bathroom]. 2. Set the volume level on media_player.{{states('input_select.main_audio_out')|lower}} and yandex kitchen [media_player.yandex_k] to the value from main volume [input_number.main_volume]. 3. Play a media announcement on the same media players, with the content type from alice mode [input_select.alice_mode] and a message stating the water leak at the specific location is resolved. 4. Send a Telegram notification with a checkmark and a message stating the water leak at the specific location is resolved.",
"natural_language": {
"trigger": "The automation triggers when any one of the five water leak or moisture sensors changes from detecting moisture ('on') to being dry ('off') and stays dry for three seconds.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "When triggered, the automation performs four actions. First, it turns off a specific indicator light depending on which sensor triggered the event. Second, it sets the volume on the main audio output and the kitchen Yandex device to the level stored in the main volume setting. Third, it plays a voice announcement on those same audio devices, using the mode selected in the Alice mode setting, to announce that the water leak at the specific location has been resolved. Finally, it sends a Telegram notification with a checkmark and a message confirming the leak at that location is fixed."
},
"human_like": "This automation announces and logs the resolution of a water leak, turning off a warning light, playing a voice message, and sending a notification when a leak sensor becomes dry.",
"complexity": "medium"
}
},
{
"id": "system_water_leak_turn_water_off",
"result": {
"structured": "TRIGGER: When a single click event occurs on the Xiaomi Aqara device Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action]. CONDITIONS: The current attribute of the triggering entity (Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action]) is equal to 0. ACTIONS: If ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status] is off, then set the volume on the main audio output device (media_player.{{states('input_select.main_audio_out')|lower}}) and yandex kitchen [media_player.yandex_k] to the value from main volume [input_number.main_volume] AND play the audio message 'Действие не трубуется - краны уже закрыты!' using the media content type from alice mode [input_select.alice_mode]. Otherwise, if ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status] is NOT off, then: 1. Set the volume on the main audio output device and yandex kitchen [media_player.yandex_k] to the value from main volume [input_number.main_volume]. 2. Play the audio message 'Вним+ание! Зап+ущена процедура выключ+ения вод+ы!' using the media content type from alice mode [input_select.alice_mode]. 3. Send a Telegram notification with the message 'Внимание! Запущена процедура принудительного закрытия воды!'. 4. Press the button ESP32 Node B Close Valve [button.esp32_node_b_close_valve]. 5. Wait for 25 seconds. 6. Turn off ESP32 Node B Relay 1 [switch.esp32_node_b_relay_1]. 7. Set the volume on the main audio output device and yandex kitchen [media_player.yandex_k] to the value from main volume [input_number.main_volume] again. 8. Play the audio message 'Внимание! Вода выключена!' using the media content type from alice mode [input_select.alice_mode]. 9. Send a Telegram notification with the message 'Внимание! Вода принидительно закрыта!'.",
"natural_language": {
"trigger": "When the Xiaomi Aqara device Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action] is clicked once.",
"conditions": "The automation checks that the 'current' attribute of the triggering sensor is set to 0.",
"action": "The system first checks the status of the ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status]. If the valve is already reported as off, it sets the volume on the main audio output and the yandex kitchen [media_player.yandex_k] speaker to the level specified by main volume [input_number.main_volume] and plays a voice message stating that no action is needed because the taps are already closed. If the valve is not off, it initiates an emergency water shut-off procedure. This involves setting the audio volume, playing a warning message that the water shut-off procedure has started, sending a Telegram alert, pressing the button to close the valve [button.esp32_node_b_close_valve], waiting 25 seconds, turning off a related relay [switch.esp32_node_b_relay_1], setting the volume again, playing a final confirmation message that the water is off, and sending a final Telegram notification."
},
"human_like": "This automation triggers an emergency water shut-off procedure when a specific sensor is clicked, providing voice and Telegram alerts and closing the water valve if it's not already closed.",
"complexity": "medium"
}
},
{
"id": "system_water_leak_turn_water_on",
"result": {
"structured": "TRIGGER: When Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action] generates a 'double' click event. CONDITIONS: The automation entity's 'current' attribute is 0 AND Leak Detected Group [group.leak_detected] is off. ACTIONS: If ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status] is on, then set volume on media_player.yandex_k and the media player selected by Main Audio Out [input_select.main_audio_out] to the level from main volume [input_number.main_volume] AND play the media message 'Действие не трубуется - краны уже открыты!' using the media content type from alice mode [input_select.alice_mode]. Otherwise, if ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status] is NOT on, then: 1. Set volume on media_player.yandex_k and the media player selected by Main Audio Out [input_select.main_audio_out] to the level from main volume [input_number.main_volume]. 2. Play the media message 'Вним+ание! Запущена процедура включ+ения вод+ы!' using the media content type from alice mode [input_select.alice_mode]. 3. Send a Telegram notification with the message 'Внимание! Запущена процедура принудительного включения воды!'. 4. Press the button ESP32 Node B Open Valve [button.esp32_node_b_open_valve]. 5. Wait for 25 seconds. 6. Turn off ESP32 Node B Relay 2 [switch.esp32_node_b_relay_2]. 7. Set volume on media_player.yandex_k and the media player selected by Main Audio Out [input_select.main_audio_out] to the level from main volume [input_number.main_volume]. 8. Play the media message 'Вним+ание! Вода включена!' using the media content type from alice mode [input_select.alice_mode]. 9. Send a Telegram notification with the message 'Внимание! Вода принидительно открыта!'.",
"natural_language": {
"trigger": "When the Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action] is double-clicked.",
"conditions": "The automation's own 'current' attribute must be set to 0, and there must be no active leak detection, meaning the Leak Detected Group [group.leak_detected] is off.",
"action": "The system first checks if the water valve is already open by looking at ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status]. If it is already on, it sets the volume on the main audio devices to the level specified by main volume [input_number.main_volume] and plays an audio message saying the action is not required because the taps are already open. If the valve is not on, it initiates a procedure to turn the water on. This involves: setting the volume and playing an audio warning that the forced water activation procedure has started, sending a Telegram notification with the same warning, pressing the button to open the valve, waiting 25 seconds, turning off a specific relay (ESP32 Node B Relay 2 [switch.esp32_node_b_relay_2]), setting the volume again, playing an audio message confirming the water is on, and sending a final Telegram notification that the water has been forcibly opened."
},
"human_like": "This automation allows for manual, forced activation of the main water supply via a double-click on a specific sensor, provided no leaks are detected. It provides audio and Telegram notifications to confirm the valve's status and the procedure's progress.",
"complexity": "medium"
}
},
{
"id": "system_water_leak_turn_water_on_leak_detected",
"result": {
"structured": "TRIGGER: When Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action] sends a 'double' click event. CONDITIONS: The current attribute of the trigger entity (this.entity_id) equals 0 AND Leak Detected Group [group.leak_detected] is on. ACTIONS: Set volume on media_player.{{states('input_select.main_audio_out')|lower}} and yandex kitchen [media_player.yandex_k] to the value from main volume [input_number.main_volume]. Play a TTS audio alert on media_player.{{states('input_select.main_audio_out')|lower}} and yandex kitchen [media_player.yandex_k] with content type from alice mode [input_select.alice_mode] and a specific warning message. Send a Telegram notification with a warning message.",
"natural_language": {
"trigger": "When the Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action] is double-clicked.",
"conditions": "If the sensor's 'current' attribute is set to 0, and if the Leak Detected Group [group.leak_detected] is currently active (on), indicating a leak is present.",
"action": "Sets the volume on the main audio output and the kitchen Yandex device to the system's main volume level. Then, plays a specific Russian voice alert stating that turning on the water is impossible because the leak is not fixed, and that the button must be held for a forced override. Finally, sends a warning message via Telegram."
},
"human_like": "Warns the user with voice and Telegram alerts when they try to turn the water on while a leak is detected.",
"complexity": "medium"
}
},
{
"id": "system_water_leak_turn_water_on_force",
"result": {
"structured": "TRIGGER: When Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action] generates a 'hold' click event. CONDITIONS: The current attribute of the triggering entity (Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action]) is equal to 0. ACTIONS: 1. Set the volume level of the media player(s) defined by Main Audio Out [input_select.main_audio_out] (converted to lowercase) and yandex kitchen [media_player.yandex_k] to the value from main volume [input_number.main_volume]. 2. Play a media announcement on the same media player(s) with content type from alice mode [input_select.alice_mode] and a message stating: 'Attention! [If Leak Detected Group [group.leak_detected] is on, add: 'Water leak not resolved! ']Procedure for forced water activation started!'. 3. Send a Telegram notification with the same message. 4. Press ESP32 Node B Open Valve [button.esp32_node_b_open_valve]. 5. Wait for 25 seconds. 6. Turn off ESP32 Node B Relay 2 [switch.esp32_node_b_relay_2]. 7. Set the volume level of the same media player(s) again to the value from main volume [input_number.main_volume]. 8. Play a second media announcement on the same media player(s) with content type from alice mode [input_select.alice_mode] and a message stating: 'Attention! Water is activated! [If Leak Detected Group [group.leak_detected] is on, add: 'Leak not resolved! ']'. 9. Send a second Telegram notification with the same message.",
"natural_language": {
"trigger": "When the Action Sensor 1ef609b [sensor.0x00158d0001ef609b_action] is held down, generating a 'hold' click event.",
"conditions": "The automation only runs if the 'current' attribute of the triggering sensor is set to 0.",
"action": "First, it sets the volume on the main audio output device (determined by Main Audio Out [input_select.main_audio_out]) and the yandex kitchen [media_player.yandex_k] speaker to the level specified by main volume [input_number.main_volume]. It then plays an audio announcement and sends a Telegram message warning that the forced water activation procedure has started, including a note about an unresolved water leak if the Leak Detected Group [group.leak_detected] is active. Next, it presses the ESP32 Node B Open Valve [button.esp32_node_b_open_valve] button, waits 25 seconds, and turns off the ESP32 Node B Relay 2 [switch.esp32_node_b_relay_2]. Finally, it sets the volume again and plays a second announcement (and sends another Telegram message) confirming the water is now on, again noting if a leak is still detected."
},
"human_like": "Forces the water supply back on with a manual override, providing audio and Telegram alerts before and after the process, including warnings if a leak is still detected.",
"complexity": "medium"
}
},
{
"id": "system_water_valves_action",
"result": {
"structured": "TRIGGER: When ESP32 Node B Valve Active [binary_sensor.esp32_node_b_valve_active] changes state. CONDITIONS: The previous state and the new state of ESP32 Node B Valve Active [binary_sensor.esp32_node_b_valve_active] are not 'unknown', 'unavailable', 'none', or '0', AND the new state is different from the previous state. ACTIONS: Send a Telegram notification with a message determined by the current states of ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status] and ESP32 Node B Valve Active [binary_sensor.esp32_node_b_valve_active]. The message is: a '⛔' icon and 'Внимание! Закрытие кранов!' if both are 'on'; a '✅' icon and 'Краны закрыты!' if both are 'off'; a '⛔' icon and 'Внимание! Открытие кранов!' if status is 'off' and active is 'on'; a '✅' icon and 'Краны открыты!' if status is 'on' and active is 'off'.",
"natural_language": {
"trigger": "Whenever the ESP32 Node B Valve Active [binary_sensor.esp32_node_b_valve_active] sensor changes its state.",
"conditions": "The change is only considered if the sensor's previous state and its new state are valid values (not 'unknown', 'unavailable', 'none', or '0'), and the new state is actually different from the old state.",
"action": "Sends a message to Telegram. The message content depends on the current status of the ESP32 Node B Valve Status [binary_sensor.esp32_node_b_valve_status] and the ESP32 Node B Valve Active [binary_sensor.esp32_node_b_valve_active]. It will announce either a warning about valves closing or opening, or a confirmation that valves are closed or open, using corresponding emojis and Russian text."
},
"human_like": "Sends a Telegram alert whenever the water valve's active state changes, clearly indicating whether valves are opening, closing, open, or closed.",
"complexity": "medium"
}
},
{
"id": "system_critical_wifi_devices_unavailable",
"result": {
"structured": "TRIGGER: When any of the following entities remains in the 'unavailable' state for 1 minute: Square LED V [light.square_led_v], square led s [light.square_led_s], round led mb [light.round_led_mb], round led k [light.round_led_k], round led hs [light.round_led_hs], shelly 1 led mb [switch.shelly_1_led_mb], Shelly 1PM LED V [switch.shelly_1pm_led_v], Purifier2s Fan [fan.purifier2s], MS01A Plug HB [switch.ms01a_plug_hb], MS01B Plug HB [switch.ms01b_plug_hb], PBS100 Plug St [switch.pbs100_plug_st], shelly 1 led s [switch.shelly_1_led_s], Light Bar S [light.light_bar_s]. CONDITIONS: None. ACTIONS: Send a Telegram notification with a message containing the name of the entity that triggered the automation and its state change.",
"natural_language": {
"trigger": "When any one of the listed critical WiFi devices becomes unavailable and stays in that state for at least one minute. The devices include lights, switches, and a fan from various rooms.",
"conditions": "There are no additional conditions that must be met.",
"action": "Sends a Telegram notification. The message includes a warning emoji, the name of the device that became unavailable, and the state transition (e.g., from 'on' to 'unavailable')."
},
"human_like": "Sends an alert when a critical WiFi-connected device, like a light or plug, goes offline for more than a minute.",
"complexity": "low"
}
},
{
"id": "system_critical_wifi_devices_available",
"result": {
"structured": "TRIGGER: When any of the following entities changes state from unavailable: Square LED V [light.square_led_v], square led s [light.square_led_s], round led mb [light.round_led_mb], round led k [light.round_led_k], round led hs [light.round_led_hs], shelly 1 led mb [switch.shelly_1_led_mb], Shelly 1PM LED V [switch.shelly_1pm_led_v], Purifier2s Fan [fan.purifier2s], MS01A Plug HB [switch.ms01a_plug_hb], MS01B Plug HB [switch.ms01b_plug_hb], PBS100 Plug St [switch.pbs100_plug_st], shelly 1 led s [switch.shelly_1_led_s], Light Bar S [light.light_bar_s]. CONDITIONS: The time difference between the last change to the previous state and the last change to the new state for the triggering entity is greater than 60 seconds. ACTIONS: Send a Telegram notification with a message stating the name of the triggering entity (in title case) and its state transition.",
"natural_language": {
"trigger": "When any of the listed critical WiFi devices, such as lights, switches, and a fan, changes its state from being unavailable.",
"conditions": "The device must have been in its previous state for more than 60 seconds before the change occurred.",
"action": "Sends a Telegram notification confirming the device is back online, showing the device's name and the state change (e.g., from unavailable to its new state)."
},
"human_like": "Sends a Telegram alert when a critical WiFi device comes back online after being unavailable for more than a minute.",
"complexity": "medium"
}
},
{
"id": "system_critical_switches_toggle",
"result": {
"structured": "TRIGGER: When any of the listed switches (zigbee outlet led strip [switch.0x00158d00023e5812_outlet], esp32 node b relay 5 [switch.esp32_node_b_relay_5], shelly 1 led s [switch.shelly_1_led_s], digma strip hb relay1 [switch.digma_strip_hb_relay1], Digma Strip HB Relay2 [switch.digma_strip_hb_relay2], Digma Strip HB Relay3 [switch.digma_strip_hb_relay3], Digma Strip HB Relay4 [switch.digma_strip_hb_relay4], bedside plug [switch.0x00158d00039bd56d_plug], round led hs channel 1 [switch.0x00158d0002a36433_channel_1], round led k channel 2 [switch.0x00158d0002a36f7f_channel_2], shelly 1 led mb [switch.shelly_1_led_mb], Shelly 1PM LED V [switch.shelly_1pm_led_v], Switch Channel 2 1a248e3 [switch.0x00158d0001a248e3_channel_2], Switch Outlet 1f26071 [switch.0x00158d0001f26071_outlet]) remains turned off for 30 seconds. CONDITIONS: None. ACTIONS: Turn on the specific switch that triggered the automation AND send a Telegram notification with the message '✅ Включение - [Name of the triggered switch]'.",
"natural_language": {
"trigger": "When any one of the 14 listed critical switches remains in the 'off' state for a continuous period of 30 seconds.",
"conditions": "There are no additional conditions that must be met.",
"action": "The automation will turn the specific switch that triggered the event back on, and it will send a notification via Telegram confirming the action, using the name of the switch that was turned on."
},
"human_like": "Automatically turns critical lights or appliances back on if they are accidentally turned off, and sends a notification about it.",
"complexity": "medium"
}
},
{
"id": "system_ya_speakers_volume_set",
"result": {
"structured": "TRIGGER: When tod day [binary_sensor.tod_day] remains on for 30 seconds OR When system dark mode [switch.system_dark_mode] remains off for 30 seconds. CONDITIONS: None. ACTIONS: For each speaker (yandex kitchen [media_player.yandex_k], yandex hall big [media_player.yandex_hb], yandex vova room [media_player.yandex_v], yandex sasha room [media_player.yandex_s], yandex master bedroom [media_player.yandex_mb]), set its volume level to the current value of main volume [input_number.main_volume]. Then, set the volume of yandex hall big [media_player.yandex_hb] to the value of main volume [input_number.main_volume] plus 0.2.",
"natural_language": {
"trigger": "When the system detects it is daytime for at least 30 seconds, or when the system dark mode is turned off for at least 30 seconds.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "The automation sets the volume for a list of Yandex speakers (yandex kitchen, yandex hall big, yandex vova room, yandex sasha room, and yandex master bedroom) to the level specified by the main volume input. Afterwards, it specifically increases the volume for the yandex hall big speaker by an additional 0.2."
},
"human_like": "Sets the volume for all Yandex speakers to the main daytime level, with a slight boost for the hall speaker, when it's daytime or dark mode is off.",
"complexity": "medium"
}
},
{
"id": "system_when_daddy_get_back_home",
"result": {
"structured": "TRIGGER: When a yandex_intent event occurs with text 'Когда папа вернется'. CONDITIONS: None. ACTIONS: If Dima Business Trip [input_boolean.dima_business_trip] is off, then play media on the entity specified in the trigger event data (entity_id) with media_content_type set to the current state of alice mode [input_select.alice_mode], media_content_id 'Папа дома и пока не уезжает в командировку', and volume_level set to the current state of main volume [input_number.main_volume] as a float. Otherwise, if Dima Business Trip [input_boolean.dima_business_trip] is on, then play media on the entity specified in the trigger event data (entity_id) with media_content_type set to the current state of alice mode [input_select.alice_mode], media_content_id a randomly selected phrase from ['Папа вернется через','Папа приедет через','Через','Папа вернется из командировки через'] followed by the number of days until Dima Return Date [input_datetime.dima_return_date] (formatted with day declension), and volume_level set to the current state of main volume [input_number.main_volume] as a float.",
"natural_language": {
"trigger": "When a Yandex smart home intent with the specific phrase 'Когда папа вернется' (When will dad return) is detected.",
"conditions": "There are no additional conditions that must be met before the action runs.",
"action": "The automation checks if Dima Business Trip [input_boolean.dima_business_trip] is off. If it is, it plays a pre-recorded message on the media player that received the voice command, saying 'Папа дома и пока не уезжает в командировку' (Dad is home and not leaving on a business trip yet). The message is played using the current Alice mode [input_select.alice_mode] as the media type and at the volume level set by main volume [input_number.main_volume]. If the business trip flag is on, it plays a different message. This message starts with a randomly chosen phrase like 'Папа вернется через' (Dad will return in) and is followed by the number of days remaining until the date set in Dima Return Date [input_datetime.dima_return_date], with the word for 'day' correctly declined. This message is also played on the same media player with the same Alice mode and volume settings."
},
"human_like": "When someone asks 'When will dad return?', the smart home responds by saying whether dad is home or announcing how many days are left until his return from a business trip.",
"complexity": "medium"
}
},
{
"id": "system_ya_speaker_k_volume_set",
"result": {
"structured": "TRIGGER: At 06:25:00 daily. CONDITIONS: None. ACTIONS: Set volume of yandex kitchen [media_player.yandex_k] to 0.2 AND Set volume of yandex kitchen [media_player.yandex_k] to 0.2.",
"natural_language": {
"trigger": "Every day at 6:25 AM.",
"conditions": "There are no conditions.",
"action": "Sets the volume of the yandex kitchen [media_player.yandex_k] speaker to 20% (0.2). The action is performed twice in sequence."
},
"human_like": "Sets the kitchen speaker volume to 20% every morning at 6:25 AM.",
"complexity": "low"
}
}
]