[ { "id": "4ccbd0aa-829a-45d3-abe7-33ae2552215b", "result": { "structured": "TRIGGER: When humidor humidity sensor [sensor.atc_3d13_humidity] remains below 65% for 30 minutes. CONDITIONS: None. ACTIONS: Send a notification to telegram_group_system with the message: 'Влажность в хьюмидоре ниже 65% (текущая {{ states(\"sensor.atc_3d13_humidity\") }}%)'.", "natural_language": { "trigger": "When the humidor humidity sensor [sensor.atc_3d13_humidity] reports a humidity level below 65% for a continuous period of 30 minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification to the Telegram group 'telegram_group_system' stating that the humidity in the humidor is below 65% and includes the current humidity reading." }, "human_like": "Sends a Telegram alert if the humidity in the humidor stays too low for 30 minutes.", "complexity": "low" } }, { "id": "f6158c69-c088-4258-a623-6c2ee3c2cf72", "result": { "structured": "TRIGGER: When humidor humidity sensor [sensor.atc_3d13_humidity] remains above 80% for 30 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification with the message: 'Влажность в хьюмидоре выше 80% (текущая [current humidity value]%)'.", "natural_language": { "trigger": "When the humidor humidity sensor [sensor.atc_3d13_humidity] reports a humidity level above 80% for a continuous period of 30 minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification to a Telegram group, alerting that the humidity in the humidor is above 80% and includes the current humidity reading." }, "human_like": "Sends a Telegram alert if the humidity in the humidor stays too high for half an hour.", "complexity": "low" } }, { "id": "0d95f393-ab18-4aef-8eb9-9bf5165d6638", "result": { "structured": "TRIGGER: When humidor temperature sensor [sensor.atc_3d13_temperature] remains below 20°C for 30 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification to group 'telegram_group_system' with a message stating the temperature in the humidor is below 20°C, including the current temperature value.", "natural_language": { "trigger": "When the humidor temperature sensor [sensor.atc_3d13_temperature] reports a temperature below 20 degrees Celsius for a continuous period of 30 minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification to a Telegram group named 'telegram_group_system'. The message will state that the temperature in the humidor is below 20°C and will include the current temperature reading." }, "human_like": "Sends a Telegram alert if the humidor temperature stays too low for half an hour.", "complexity": "low" } }, { "id": "dcfce935-f705-4ae5-be45-ffb780b3f290", "result": { "structured": "TRIGGER: When humidor temperature sensor [sensor.atc_3d13_temperature] remains above 25°C for 30 minutes. CONDITIONS: None. ACTIONS: Send a notification to telegram_group_system with the message 'Температура в хьюмидоре выше 25°C (текущая {{ states(\"sensor.atc_3d13_temperature\") }}°C)'.", "natural_language": { "trigger": "When the humidor temperature sensor [sensor.atc_3d13_temperature] reports a temperature above 25°C for a continuous period of 30 minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a Telegram notification to the group 'telegram_group_system', reporting that the temperature in the humidor is above 25°C and includes the current temperature reading." }, "human_like": "Sends a Telegram alert if the humidor temperature stays too high for half an hour.", "complexity": "low" } }, { "id": "0e2312c7-3cab-413a-aefb-20ff5802c718", "result": { "structured": "TRIGGER: When family persons group [group.family_persons] is not_home for 5 minutes. CONDITIONS: (all tv group [group.all_tv] is on) OR (all chromecasts group [group.all_chromecasts] is on) OR (yandex station lite детская [media_player.yandex_station_lite_detskaia] is playing OR yandex station mini2 гостиная [media_player.yandex_station_mini2_gostinaia] is playing OR yandex station mini2 спальня [media_player.yandex_station_mini2_spalnia] is playing OR yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya] is playing) OR (all xbox group [group.all_xbox] is on). ACTIONS: Turn off all tv group [group.all_tv]; Stop media playback for all chromecasts group [group.all_chromecasts]; Turn off all yandex stations group [group.all_yandex_stations] and all xbox group [group.all_xbox].", "natural_language": { "trigger": "When the family persons group [group.family_persons] has been in the 'not_home' state for five consecutive minutes.", "conditions": "If at least one of the following is true: the all tv group [group.all_tv] is on; the all chromecasts group [group.all_chromecasts] is on; any of the specified Yandex stations (yandex station lite детская [media_player.yandex_station_lite_detskaia], yandex station mini2 гостиная [media_player.yandex_station_mini2_gostinaia], yandex station mini2 спальня [media_player.yandex_station_mini2_spalnia], or yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya]) is playing media; or the all xbox group [group.all_xbox] is on.", "action": "Turn off all TVs in the all tv group [group.all_tv], stop media playback on all devices in the all chromecasts group [group.all_chromecasts], and turn off all devices in the all yandex stations group [group.all_yandex_stations] and the all xbox group [group.all_xbox]." }, "human_like": "Turns off all TVs, media players, and game consoles when everyone has been away from home for five minutes, saving energy.", "complexity": "medium" } }, { "id": "12b0184c-bb8b-436a-887a-733d0ddac126", "result": { "structured": "TRIGGER: When the state of any of the following persons changes: person alexander [person.alexander], person irina [person.irina], person tatiana [person.tatiana], person olga [person.olga], person egor [person.egor], person kirill [person.kirill]. CONDITIONS: The new state of the person is equal to the previous state (trigger.to_state.state = trigger.from_state.state). ACTIONS: Send a notification to telegram_group_flat_1 with a message containing the person's friendly name and a location phrase: 'дома' if the new state is 'home', 'на даче' if the new state is 'Дача', or 'скорее всего вне дома.' otherwise.", "natural_language": { "trigger": "When the location state of any tracked person (person alexander [person.alexander], person irina [person.irina], person tatiana [person.tatiana], person olga [person.olga], person egor [person.egor], or person kirill [person.kirill]) changes.", "conditions": "The condition checks if the person's new location state is the same as their previous location state. This is a template condition that evaluates to true when the state has not actually changed, which is unusual for a state trigger but is specified here.", "action": "Sends a Telegram notification to the group 'telegram_group_flat_1'. The message includes the person's friendly name and a phrase indicating their location: 'дома' (at home) if they are now 'home', 'на даче' (at the dacha) if they are now 'Дача', or 'скорее всего вне дома.' (most likely not at home) for any other state." }, "human_like": "Sends a Telegram message to notify the household when a family member's location changes, specifying whether they are home, at the dacha, or elsewhere.", "complexity": "medium" } }, { "id": "067c832a-9626-4f61-8d19-444d6156e889", "result": { "structured": "TRIGGER: When entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes from closed (off) to open (on). CONDITIONS: None. ACTIONS: Send a notification to the Telegram group 'telegram_group_flat_1' with the message 'Открыта входная дверь'.", "natural_language": { "trigger": "When the entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes state from closed to open.", "conditions": "There are no conditions that must be met.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1' with the message 'Открыта входная дверь' (Entrance door opened)." }, "human_like": "Sends a Telegram notification when the entrance door is opened.", "complexity": "low" } }, { "id": "c6df423a-a1ec-41fb-b600-3874ffef758b", "result": { "structured": "TRIGGER: When entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes from open (on) to closed (off). CONDITIONS: None. ACTIONS: Send a Telegram notification to group 'telegram_group_flat_1' with the message 'Входная дверь закрыта.'.", "natural_language": { "trigger": "When the entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes from being open to being closed.", "conditions": "There are no conditions that must be met for this automation to run.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1' with the message 'Входная дверь закрыта.' (Entrance door closed)." }, "human_like": "Sends a Telegram notification when the entrance door is closed.", "complexity": "low" } }, { "id": "fe45c917-f489-4c38-a3a1-c66e5fedb07f", "result": { "structured": "TRIGGER: When a transmission_downloaded_torrent event occurs. CONDITIONS: None. ACTIONS: Send a Telegram notification to group system with the message 'Загрузка torrent-файла завершена'.", "natural_language": { "trigger": "When the Transmission service reports that a torrent download has completed.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification to the Telegram group named 'system' with the message 'Загрузка torrent-файла завершена' (Torrent file download completed)." }, "human_like": "Sends a Telegram notification when a torrent download finishes.", "complexity": "low" } }, { "id": "d698bdcc-4ce9-4954-a118-8a1f29cf327e", "result": { "structured": "TRIGGER: When moon sensor [sensor.moon] changes state to full_moon. CONDITIONS: None. ACTIONS: Send a Telegram notification to group system with the message 'Сегодня полнолуние'.", "natural_language": { "trigger": "When the moon sensor [sensor.moon] reports that the moon phase is full.", "conditions": "There are no conditions that must be met.", "action": "Sends a notification to the 'group system' Telegram group with the message 'Сегодня полнолуние' (Today is a full moon)." }, "human_like": "Sends a Telegram notification when the moon phase becomes full.", "complexity": "low" } }, { "id": "0ca74008-65a2-4ed1-b860-e27e57b216f2", "result": { "structured": "TRIGGER: When kitchen gas sensor [binary_sensor.0x00158d000413b210_gas] changes state from off to on. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with title '*Внимание*' and message 'Сработал датчик *газа* на кухне. Откройте окна и перекройте подачу газа (за холодильником).' including an inline keyboard with option 'Отключить датчик' linked to command '/poweroff_gas_sensor'.", "natural_language": { "trigger": "When the kitchen gas sensor [binary_sensor.0x00158d000413b210_gas] detects gas, changing its state from off to on.", "conditions": "There are no additional conditions that must be met.", "action": "Sends an urgent Telegram alert to the group Secret TLG Group Flat 1 [secret tlg_group_flat_1]. The message has a title 'Внимание' and instructs users to open windows and shut off the gas supply behind the refrigerator. It also provides an inline button to disable the sensor." }, "human_like": "Sends a Telegram alert when the kitchen gas sensor detects a leak, prompting immediate safety actions.", "complexity": "low" } }, { "id": "3254a184-a04f-4b31-bbe9-1a00e403f134", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/poweroff_gas_sensor'. CONDITIONS: None. ACTIONS: Turn off gas sensor power switch [switch.blitzwolf_shp13_02_3ad702fe_on_off] AND answer the Telegram callback query with the message 'Команда отправлена' AND edit the original Telegram message to show a new title and message indicating the gas sensor was triggered and is now turned off.", "natural_language": { "trigger": "When a specific callback button is pressed in a Telegram message, sending the command '/poweroff_gas_sensor'.", "conditions": "There are no conditions that need to be met.", "action": "It turns off the gas sensor power switch [switch.blitzwolf_shp13_02_3ad702fe_on_off], sends a confirmation message back to Telegram saying 'Команда отправлена', and updates the original Telegram message to state that the gas sensor was triggered and has now been turned off." }, "human_like": "Turns off the kitchen gas sensor via a Telegram button press and updates the chat with a confirmation.", "complexity": "low" } }, { "id": "3e69fa5f-34f2-4e5e-86e2-467aad2420b6", "result": { "structured": "TRIGGER: When gas sensor power switch [switch.blitzwolf_shp13_02_3ad702fe_on_off] remains off for 30 minutes. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with title 'Внимание' and message 'Питание датчика *газа* отключено более 30 минут' and an inline keyboard button 'Включить датчик' linked to command '/poweron_gas_sensor'.", "natural_language": { "trigger": "When the gas sensor power switch [switch.blitzwolf_shp13_02_3ad702fe_on_off] has been turned off for more than 30 minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends an alert message to the Telegram group Secret TLG Group Flat 1 [secret tlg_group_flat_1]. The message has the title 'Внимание' and warns that the gas sensor's power has been off for over 30 minutes. It also provides an inline button labeled 'Включить датчик' which, when pressed, sends the command '/poweron_gas_sensor'." }, "human_like": "Sends a Telegram alert if the gas sensor loses power for more than half an hour, providing a button to turn it back on.", "complexity": "low" } }, { "id": "50892fe7-741c-4b4d-a71c-a498be52d6b7", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/poweron_gas_sensor'. CONDITIONS: None. ACTIONS: Turn on gas sensor power switch [switch.blitzwolf_shp13_02_3ad702fe_on_off], answer the Telegram callback query with the message 'Команда отправлена', and edit the original Telegram message to show a new title and message indicating the gas sensor power has been restored.", "natural_language": { "trigger": "When a specific callback is received from a Telegram message containing the command '/poweron_gas_sensor'.", "conditions": "There are no conditions that must be met for this automation to proceed.", "action": "It turns on the gas sensor power switch [switch.blitzwolf_shp13_02_3ad702fe_on_off], sends a confirmation message back to the Telegram user saying 'Команда отправлена', and updates the original alert message in Telegram to state that the gas sensor power has been turned on." }, "human_like": "Turns the gas sensor back on and sends a confirmation when a user responds to a Telegram alert.", "complexity": "low" } }, { "id": "fe98880b-2fcd-4b6f-9ded-adc174b9b958", "result": { "structured": "TRIGGER: When boiler water temperature sensor [sensor.boiler_water_temp] falls below 50°C OR When boiler water temperature sensor [sensor.boiler_water_temp] falls below 40°C OR When boiler water temperature sensor [sensor.boiler_water_temp] falls below 30°C. CONDITIONS: The new state value of the triggering sensor (converted to integer) is equal to 0. ACTIONS: Send a notification to telegram_group_flat_1 with a title 'Внимание' and a message reporting the boiler water temperature.", "natural_language": { "trigger": "The automation triggers when the boiler water temperature sensor [sensor.boiler_water_temp] drops below 50°C, 40°C, or 30°C.", "conditions": "The automation only proceeds if the new temperature value that caused the trigger, when converted to a whole number, is exactly 0.", "action": "Sends a Telegram notification to the group 'telegram_group_flat_1' with a warning title and a message stating the current boiler water temperature." }, "human_like": "Sends a Telegram alert when the boiler water temperature drops to critically low levels.", "complexity": "medium" } }, { "id": "c5eaa742-7ea5-4c0b-8d43-d3ce69232a3e", "result": { "structured": "TRIGGER: When kettle status sensor [binary_sensor.kettle_status] changes from on to off. CONDITIONS: ha shutdown input boolean [input_boolean.ha_shutdown] is off. ACTIONS: Send a Telegram notification to 'telegram_group_flat_1' with the message 'Чайник *вскипел*'.", "natural_language": { "trigger": "When the kettle status sensor [binary_sensor.kettle_status] changes from being on to being off.", "conditions": "The ha shutdown input boolean [input_boolean.ha_shutdown] must be off.", "action": "Sends a Telegram notification to the group 'telegram_group_flat_1' with the message 'Чайник *вскипел*'." }, "human_like": "Sends a Telegram notification when the kettle has finished boiling, provided the system is not in a shutdown state.", "complexity": "low" } }, { "id": "eed153ad-dca8-464d-8cc5-b30421eec1a1", "result": { "structured": "TRIGGER: When washer status sensor [binary_sensor.washer_status] changes from on to off. CONDITIONS: ha shutdown input boolean [input_boolean.ha_shutdown] is off. ACTIONS: Send a Telegram notification to 'telegram_group_flat_1' with title 'Стиральная машина:' and message 'Стирка *закончена*, не забудьте достать белье.'.", "natural_language": { "trigger": "When the washer status sensor [binary_sensor.washer_status] changes from being on to off, indicating the washing machine has finished its cycle.", "conditions": "The automation only runs if the ha shutdown input boolean [input_boolean.ha_shutdown] is turned off, meaning the Home Assistant system is not in a shutdown state.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1' with the title 'Стиральная машина:' and a message stating the wash is finished and reminding the user to take out the laundry." }, "human_like": "Sends a Telegram notification when the washing machine finishes its cycle, as long as the system is not shutting down.", "complexity": "low" } }, { "id": "e572fd6c-06d2-4c34-a218-4b709734c6e0", "result": { "structured": "TRIGGER: When dryer status sensor [binary_sensor.dryer_status] changes from on to off. CONDITIONS: ha shutdown input boolean [input_boolean.ha_shutdown] is off. ACTIONS: Send a Telegram notification to the group 'telegram_group_flat_1' with the title 'Сушильная машина:' and the message 'Сушка *закончена*, не забудьте достать белье.'.", "natural_language": { "trigger": "When the dryer status sensor [binary_sensor.dryer_status] changes from being on to being off.", "conditions": "The automation only runs if the ha shutdown input boolean [input_boolean.ha_shutdown] is turned off.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1' with the title 'Сушильная машина:' and the message 'Сушка *закончена*, не забудьте достать белье.' (Drying finished, don't forget to take out the laundry)." }, "human_like": "Sends a Telegram notification when the dryer finishes its cycle, as long as the system is not in a shutdown state.", "complexity": "low" } }, { "id": "9ef4d500-e688-4b70-b565-43ebb754bfe2", "result": { "structured": "TRIGGER: When dishwasher status sensor [binary_sensor.dishwasher_status] changes state from on to off. CONDITIONS: ha shutdown input boolean [input_boolean.ha_shutdown] is off. ACTIONS: Send a Telegram notification to 'telegram_group_flat_1' with title 'Посудомоечная машина:' and message 'Программа *закончена*, посуда вымыта.'.", "natural_language": { "trigger": "When the dishwasher status sensor [binary_sensor.dishwasher_status] turns off, indicating the dishwasher has finished its cycle.", "conditions": "The automation only runs if the ha shutdown input boolean [input_boolean.ha_shutdown] is turned off, meaning the Home Assistant system is not in a shutdown state.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1' with the title 'Посудомоечная машина:' and the message 'Программа *закончена*, посуда вымыта.' to announce that the dishwasher program has finished." }, "human_like": "Sends a Telegram notification when the dishwasher finishes its cycle, provided the system is not shutting down.", "complexity": "low" } }, { "id": "3f22e8f0-6f31-49c1-bca1-ce19184c5184", "result": { "structured": "TRIGGER: When the state of any of the following sensors changes: yandex station lite детская software version [sensor.yandex_station_lite_detskaia_sw_version] OR yandex station lite прихожая software version [sensor.yandex_station_lite_prikhozhaya_sw_version] OR yandex station mini2 гостиная software version [sensor.yandex_station_mini2_gostinaia_sw_version] OR yandex station mini2 спальня software version [sensor.yandex_station_mini2_spalnia_sw_version]. CONDITIONS: (The new state value is different from the previous state value) AND (The new state value is not in the list ['unknown', 'unavailable', 'none', None, null, '', 'null']) AND (The previous state value is not in the list ['unknown', 'unavailable', 'none', None, null, '', 'null']). ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] stating that the Yandex Station firmware version has changed, specifying the room based on the triggering sensor, and reporting the previous and new version numbers.", "natural_language": { "trigger": "When the software version sensor for any of the four Yandex Stations (in the nursery, hallway, living room, or bedroom) changes its state.", "conditions": "The change must be a real version change, meaning the new state is different from the old state. Furthermore, both the old and new state values must be valid; they cannot be 'unknown', 'unavailable', 'none', empty, or null.", "action": "Send a formatted message to a specific Telegram group. The message announces that a Yandex Station firmware update occurred, identifies the room of the updated device, and shows the old and new version numbers." }, "human_like": "Sends a Telegram notification whenever a Yandex Station receives a firmware update, specifying which room's device was updated and the version change.", "complexity": "medium" } }, { "id": "eb3ef8ea-e19a-4b1e-b7ff-482089a346b5", "result": { "structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Turn on mount mnt nas switch [switch.mount_mnt_nas].", "natural_language": { "trigger": "When the Home Assistant system starts up.", "conditions": "There are no conditions that need to be met.", "action": "Turns on the mount mnt nas switch [switch.mount_mnt_nas]." }, "human_like": "Automatically mounts the NFS share from the NAS when Home Assistant starts.", "complexity": "low" } }, { "id": "3b8230a5-49d5-437b-8bd9-d3f72f95425f", "result": { "structured": "TRIGGER: When a system log event with level ERROR occurs. CONDITIONS: None. ACTIONS: Increment the syslog errors counter [counter.syslog_errors].", "natural_language": { "trigger": "Whenever a system log event is recorded with the severity level of ERROR.", "conditions": "There are no conditions for this automation.", "action": "Increases the count of the syslog errors counter [counter.syslog_errors] by one." }, "human_like": "Counts and tracks the number of ERROR-level messages in the system log.", "complexity": "low" } }, { "id": "acdf3489-b611-445c-bd24-2efc9c431124", "result": { "structured": "TRIGGER: When a system log event of level WARNING occurs. CONDITIONS: None. ACTIONS: Increment syslog warnings counter [counter.syslog_warnings].", "natural_language": { "trigger": "Whenever a WARNING level message is logged in the system log.", "conditions": "There are no conditions that must be met.", "action": "Increases the count of the syslog warnings counter [counter.syslog_warnings] by one." }, "human_like": "Counts and tracks the number of WARNING messages in the system log.", "complexity": "low" } }, { "id": "823d8378-6723-4e71-93ce-29c59946347a", "result": { "structured": "TRIGGER: When Home Assistant starts OR every 2 hours (time pattern). CONDITIONS: None. ACTIONS: Create or update a group named battery_devices containing all sensor entities whose device_class attribute is 'battery' AND whose entity_id ends with \"_battery\" or \"_power\".", "natural_language": { "trigger": "The automation runs either when Home Assistant first starts up, or every two hours on a recurring schedule.", "conditions": "There are no conditions that must be met for the action to run.", "action": "It creates or updates a group called 'battery_devices'. This group is populated with all sensor entities that have a device class of 'battery' and whose entity ID ends with either \"_battery\" or \"_power\"." }, "human_like": "Automatically builds a group containing all battery and power sensors in the system, updating it regularly.", "complexity": "medium" } }, { "id": "4c7a9752-b7d2-4c41-acf6-7d175f6b9d39", "result": { "structured": "TRIGGER: When a call_service event occurs for the automation domain with service reload OR When an automation_reloaded event occurs. CONDITIONS: None. ACTIONS: If the trigger event type is call_service, turn off automation device needs attention notify to group system [automation.device_needs_attention_notify_to_group_system]; otherwise, turn on automation device needs attention notify to group system [automation.device_needs_attention_notify_to_group_system].", "natural_language": { "trigger": "When Home Assistant reloads automations, either via a service call to reload the automation domain or when the system signals that automations have been reloaded.", "conditions": "There are no additional conditions.", "action": "Depending on which event triggered the automation: if it was the service call to reload automations, it turns off the automation device needs attention notify to group system [automation.device_needs_attention_notify_to_group_system]; if it was the automation reloaded event, it turns the same automation back on." }, "human_like": "Toggles a specific automation off and then back on when automations are reloaded, ensuring it restarts correctly.", "complexity": "medium" } }, { "id": "e41348f5-2915-4a51-8d88-e5f00e7c0b67", "result": { "structured": "TRIGGER: When the time pattern matches every hour at minute 22. CONDITIONS: None. ACTIONS: Update the following entities: hass db events rows count sensor [sensor.hass_db_events_rows_count], hass db states rows count sensor [sensor.hass_db_states_rows_count], hass db statistics rows count sensor [sensor.hass_db_statistics_rows_count], hass db total rows count sensor [sensor.hass_db_total_rows_count], hass db size sensor [sensor.hass_db_size].", "natural_language": { "trigger": "The automation runs on a schedule, specifically every hour at 22 minutes past the hour.", "conditions": "There are no conditions that must be met for the action to run.", "action": "Updates the data for a set of database monitoring sensors: hass db events rows count sensor [sensor.hass_db_events_rows_count], hass db states rows count sensor [sensor.hass_db_states_rows_count], hass db statistics rows count sensor [sensor.hass_db_statistics_rows_count], hass db total rows count sensor [sensor.hass_db_total_rows_count], and hass db size sensor [sensor.hass_db_size]." }, "human_like": "Updates the Home Assistant database statistics sensors every hour to keep the information current.", "complexity": "low" } }, { "id": "7f460de3-11dc-4e23-886c-a14b7db8bfeb", "result": { "structured": "TRIGGER: At 33 minutes past every hour. CONDITIONS: Time is between 07:00:00 and 22:50:00. ACTIONS: Update the entity mes 55384 014 37 meter sensor [sensor.mes_55384_014_37_meter_44259893].", "natural_language": { "trigger": "The automation runs at 33 minutes past each hour.", "conditions": "The automation only runs if the current time is between 7:00 AM and 10:50 PM.", "action": "It refreshes the data for the mes 55384 014 37 meter sensor [sensor.mes_55384_014_37_meter_44259893]." }, "human_like": "Refreshes the meter sensor reading every hour during the day.", "complexity": "low" } }, { "id": "a164b9f1-bd13-465e-a76b-7831cdfc63d9", "result": { "structured": "TRIGGER: When the time pattern matches every 10 seconds. CONDITIONS: None. ACTIONS: Update the entity state of samsung tv 40c5100 binary sensor [binary_sensor.samsungtv_40c5100].", "natural_language": { "trigger": "Every 10 seconds.", "conditions": "There are no conditions.", "action": "Updates the state of the samsung tv 40c5100 binary sensor [binary_sensor.samsungtv_40c5100]." }, "human_like": "Updates the ping sensor for the Samsung TV every 10 seconds to keep its status current.", "complexity": "low" } }, { "id": "0617529b-bc60-48c0-8954-6936aa95ef50", "result": { "structured": "TRIGGER: When z2m 2 stuck binary sensor [binary_sensor.z2m_2_stuck] changes from off to on. CONDITIONS: addons mostuitto state sensor [sensor.addons_mostuitto_state] is started. ACTIONS: In parallel, restart the addon '4b41db2d_zigbee2mqtt' AND send a Telegram message to Secret TLG Group System [secret tlg_group_system] with a title 'Внимание' and message 'Z2M-2 похоже завис, перезапускаем...'.", "natural_language": { "trigger": "When the z2m 2 stuck binary sensor [binary_sensor.z2m_2_stuck] changes from off to on, indicating a potential issue.", "conditions": "The addons mostuitto state sensor [sensor.addons_mostuitto_state] must report that the add-on is in a 'started' state.", "action": "Restarts the Zigbee2MQTT add-on (4b41db2d_zigbee2mqtt) and simultaneously sends a Telegram notification to the Secret TLG Group System [secret tlg_group_system] to alert that Z2M-2 appears to be stuck and is being restarted." }, "human_like": "Automatically restarts the Zigbee2MQTT add-on and sends a notification if it's detected as stuck while the add-on is running.", "complexity": "low" } }, { "id": "142e502b-3e63-49e3-b790-9150f155dc6d", "result": { "structured": "TRIGGER: When persistent notification http login [persistent_notification.http_login] changes state. CONDITIONS: The new state of persistent notification http login [persistent_notification.http_login] is off. ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] containing a warning about a failed login attempt and details extracted from the notification's message attribute, then dismiss the persistent notification http login [persistent_notification.http_login].", "natural_language": { "trigger": "Whenever the state of the persistent notification http login [persistent_notification.http_login] changes.", "conditions": "The automation only proceeds if the notification's state has changed to 'off'.", "action": "Sends a formatted warning message to a specified Telegram group, Secret TLG Group System [secret tlg_group_system], detailing the failed login attempt and the source IP address extracted from the notification. It then clears the persistent notification http login [persistent_notification.http_login]." }, "human_like": "Sends a Telegram alert and clears the notification when a failed login attempt to Home Assistant is detected.", "complexity": "low" } }, { "id": "ba2318c5-5c2e-4575-aa13-02f53063793d", "result": { "structured": "TRIGGER: When persistent notification ip ban [persistent_notification.ip_ban] changes state. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] containing a formatted alert with the extracted IP address from the notification message, then dismiss the persistent notification ip ban [persistent_notification.ip_ban].", "natural_language": { "trigger": "Whenever the persistent notification ip ban [persistent_notification.ip_ban] entity changes its state.", "conditions": "There are no conditions for this automation.", "action": "Sends a formatted alert message to the Secret TLG Group System [secret tlg_group_system] Telegram group. The message includes a header and the IP address extracted from the notification's message text. It also provides a link to look up the IP address. After sending the message, it dismisses the persistent notification ip ban [persistent_notification.ip_ban] to clear the alert." }, "human_like": "Sends a Telegram alert to the system group and clears the notification whenever an IP address is banned for too many login attempts.", "complexity": "low" } }, { "id": "60f94d65-93d1-49e5-94d7-ca58471d02c4", "result": { "structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Update errors in system log command line sensor [sensor.errors_in_system_log_command_line], then wait up to 1 second for errors in system log command line sensor [sensor.errors_in_system_log_command_line] to update, then update warnings in system log command line sensor [sensor.warnings_in_system_log_command_line], then wait up to 1 second for warnings in system log command line sensor [sensor.warnings_in_system_log_command_line] to update, then send a notification to notify.telegram_group_system with a message containing the startup time from start time sensor [sensor.start_time] and the error and warning counts, then turn on Script HASS Errors Counter Set at Startup [script.hass_errors_counter_set_at_startup], then turn on Script HASS Warnings Counter Set at Startup [script.hass_warnings_counter_set_at_startup], then turn on Script Auto Reboot by Errors After Boot [script.auto_reboot_by_errors_after_boot].", "natural_language": { "trigger": "When Home Assistant finishes starting up.", "conditions": "There are no conditions that must be met for the actions to run.", "action": "First, it refreshes the errors in system log command line sensor [sensor.errors_in_system_log_command_line] and waits a moment for it to update. Then it does the same for the warnings in system log command line sensor [sensor.warnings_in_system_log_command_line]. After that, it sends a Telegram notification with the system startup time, error count, and warning count. Finally, it runs three startup scripts: Script HASS Errors Counter Set at Startup [script.hass_errors_counter_set_at_startup], Script HASS Warnings Counter Set at Startup [script.hass_warnings_counter_set_at_startup], and Script Auto Reboot by Errors After Boot [script.auto_reboot_by_errors_after_boot]." }, "human_like": "Sends a startup notification with system health stats and runs initialization scripts when Home Assistant boots up.", "complexity": "medium" } }, { "id": "44bdbc77-2894-4c80-9739-6c690bde13f9", "result": { "structured": "TRIGGER: When Home Assistant shutdown event occurs. CONDITIONS: None. ACTIONS: Turn on ha shutdown input boolean [input_boolean.ha_shutdown] AND send a Telegram notification with message '_INFO:_ Home Assistant *остановлен*.'.", "natural_language": { "trigger": "When the Home Assistant system begins its shutdown process.", "conditions": "There are no conditions that need to be met.", "action": "Turns on the ha shutdown input boolean [input_boolean.ha_shutdown] and sends a notification to a Telegram group with the message '_INFO:_ Home Assistant *остановлен*.' (which translates to 'Home Assistant stopped')." }, "human_like": "Notifies users via Telegram and sets a status flag when Home Assistant is shutting down.", "complexity": "low" } }, { "id": "e4140626-d5b1-4a6c-abe1-f99ae0547f0b", "result": { "structured": "TRIGGER: When a system log event with level ERROR occurs. CONDITIONS: None. ACTIONS: Send a notification via notify.telegram_group_system with a message containing the error level and the error message from the event.", "natural_language": { "trigger": "Whenever an error event is logged in the system log.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification to the Telegram group named 'group_system' containing the error level and the specific error message from the log event." }, "human_like": "Sends a Telegram notification to the system group whenever an error is logged in the Home Assistant system.", "complexity": "low" } }, { "id": "42541570-874a-46a9-86d0-0db433aaec5b", "result": { "structured": "TRIGGER: When a system log event occurs with level WARNING. CONDITIONS: None. ACTIONS: Send a Telegram notification to group system with a message containing the log level and message from the event.", "natural_language": { "trigger": "Whenever a WARNING-level entry is recorded in the Home Assistant system log.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification to the designated Telegram group named 'system', including the WARNING level and the specific log message." }, "human_like": "Sends a Telegram alert for any WARNING messages that appear in the Home Assistant system log.", "complexity": "low" } }, { "id": "3770bcbf-435a-43b2-bfde-b04711e32b61", "result": { "structured": "TRIGGER: When a service call event occurs for the persistent_notification domain with the create service. CONDITIONS: (The notification_id in the event data equals 'homeassistant.check_config') OR (The notification_id in the event data equals 'invalid_config'). ACTIONS: Send a notification to the group 'telegram_group_system' with a message. The message includes a header and conditional content based on the notification_id. If the notification_id is 'homeassistant.check_config', the message states 'Перезапуск HA отменён, подробности в логах.'. If the notification_id is 'invalid_config', the message includes the message from the event data. Then, dismiss the persistent notification with the same notification_id from the event data.", "natural_language": { "trigger": "When a new persistent notification is created in the system.", "conditions": "If the notification's identifier is either 'homeassistant.check_config' or 'invalid_config'.", "action": "Sends a formatted alert to the Telegram system group. The alert warns about configuration errors and includes specific details depending on the type of error. It then automatically dismisses the original persistent notification." }, "human_like": "Sends a Telegram alert for critical Home Assistant configuration errors and cleans up the notification.", "complexity": "medium" } }, { "id": "67d49afb-cac6-45e2-99b0-0ad5904d84b2", "result": { "structured": "TRIGGER: When a system_log_event occurs with level ERROR. CONDITIONS: The event message contains the substring 'Error while executing automation' OR the substring 'Error executing script'. ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] with HTML parsing, containing the text 'INFO: Ошибка выполнения автоматизации:' followed by the event message.", "natural_language": { "trigger": "When an error event is logged by the Home Assistant system.", "conditions": "The error message from the log event must contain either the phrase 'Error while executing automation' or the phrase 'Error executing script'.", "action": "Sends a notification via Telegram to the Secret TLG Group System [secret tlg_group_system] with a formatted message that includes the specific error text." }, "human_like": "Sends a Telegram alert to a system group whenever an error is detected in the execution of an automation or script.", "complexity": "medium" } }, { "id": "d70721b8-e0f2-415a-b917-331781a463ee", "result": { "structured": "TRIGGER: When a system log event occurs with level FATAL OR When a system log event occurs with level CRITICAL. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] with HTML parsing mode, containing the text 'Критическая ошибка системы:' followed by the message from the triggering event.", "natural_language": { "trigger": "When the Home Assistant system logs an event with a severity level of either FATAL or CRITICAL.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a formatted Telegram message to the group 'Secret TLG Group System' [secret tlg_group_system], reporting the critical error and including the specific error message from the system log." }, "human_like": "Sends a Telegram alert to the system administrators whenever a critical or fatal error occurs in Home Assistant.", "complexity": "low" } }, { "id": "d69b4310-532c-4cda-9a77-3434e6319fef", "result": { "structured": "TRIGGER: When any entity changes state (state_changed event). CONDITIONS: (The changed entity's entity_id starts with 'update.') AND (Both old_state and new_state are not none) AND ((new_state.state is 'on' AND (version(new_state.attributes.latest_version) equals version(old_state.attributes.latest_version) OR version(new_state.attributes.latest_version) is greater than version(old_state.attributes.latest_version)) AND new_state.attributes.latest_version is not in ignore list ['unknown', 'unavailable', 'none', None, null, ''] AND new_state.attributes.latest_version is not none) OR (old_state.state is 'on' AND new_state.state is 'off' AND (version(new_state.attributes.installed_version) equals version(old_state.attributes.installed_version) OR version(new_state.attributes.installed_version) is greater than version(old_state.attributes.installed_version)) AND new_state.attributes.installed_version is not in ignore list ['unknown', 'unavailable', 'none', None, null, ''] AND new_state.attributes.installed_version is not none)). ACTIONS: Set variables: latest_version, installed_version, old_installed_version, and friendlyname. IF installed_version equals old_installed_version THEN send Telegram message to Secret TLG Group System [secret tlg_group_system] stating the entity has been updated (old_installed_version -> latest_version). ELSE send Telegram message to Secret TLG Group System [secret tlg_group_system] stating an update is available (installed_version -> latest_version).", "natural_language": { "trigger": "Whenever any entity in the system changes its state.", "conditions": "The automation only runs 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 checks if either: a) the update entity's state changed to 'on', its latest version attribute is valid (not in a list of ignored values), and the latest version is equal to or greater than the previous latest version; or b) the update entity's state changed from 'on' to 'off', its installed version attribute is valid, and the installed version is equal to or greater than the previous installed version.", "action": "The automation first extracts information about the update, including the versions and a cleaned-up friendly name. Then, it sends a formatted Telegram notification to the Secret TLG Group System [secret tlg_group_system]. If the installed version remained the same during the state change, it sends a message confirming the update was applied. Otherwise, it sends a message notifying that a new update is available." }, "human_like": "Sends a Telegram notification when an update entity changes state, informing whether an update has been applied or is newly available.", "complexity": "high" } }, { "id": "89bb378c-13b5-4051-bd08-3f226dbc8834", "result": { "structured": "TRIGGER: When any entity's state changes (event: state_changed). CONDITIONS: (ha shutdown input boolean [input_boolean.ha_shutdown] is off) AND (ha uptime sensor [sensor.ha_uptime] is greater than 1) AND (the changed entity's ID does NOT match a long list of excluded entity patterns) AND (the new state equals the old state) AND (the new state is either 'unknown' OR 'unavailable'). ACTIONS: If ha shutdown input boolean [input_boolean.ha_shutdown] is off, then send a Telegram message to Secret TLG Group System [secret tlg_group_system] with an HTML-formatted notification stating the entity ID and its new state.", "natural_language": { "trigger": "The automation triggers whenever any entity in the system reports a change in its state.", "conditions": "The automation only proceeds if the ha shutdown input boolean [input_boolean.ha_shutdown] is turned off, the ha uptime sensor [sensor.ha_uptime] shows a value greater than 1, and the entity that changed is not part of a long, predefined list of excluded devices and sensors (which includes groups, battery devices, lamps, vacuums, switches, weather sensors, humidifiers, plugs, BLE sensors, doorbells, Sonoff devices, scales, media players, cameras, and various other system entities). Additionally, the condition requires that the entity's new state is the same as its old state, and that this state is either 'unknown' or 'unavailable'.", "action": "If the ha shutdown input boolean [input_boolean.ha_shutdown] is still off, the automation sends a silent HTML-formatted Telegram message to the Secret TLG Group System [secret tlg_group_system], informing the group that the specific entity has changed its status to 'unknown' or 'unavailable'." }, "human_like": "Sends a Telegram notification when a monitored device becomes unavailable or unknown, but only if the system is running and the device is not on an exclusion list.", "complexity": "high" } }, { "id": "6d87e0a2-8a6b-4b20-bd28-900af1620584", "result": { "structured": "TRIGGER: When any entity changes state. CONDITIONS: (The changed entity's entity_id does NOT match the pattern '^sensor\\.galaxy_tab_a_8_0_2019_battery') AND (The changed entity's entity_id is a member of the group battery devices group [group.battery_devices]) AND (The new state of the changed entity is NOT 'unknown' AND NOT 'unavailable') AND (The integer value of the new state is less than the integer value of the low battery alert threshold input number [input_number.low_battery_alert_threshold]). ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] with an HTML-formatted alert containing the friendly name and state of the changed entity.", "natural_language": { "trigger": "Whenever any entity in the system changes its state.", "conditions": "The automation only proceeds if the entity that changed is not the sensor.galaxy_tab_a_8_0_2019_battery. The entity must also be a member of the battery devices group [group.battery_devices]. The new state of the entity must be a valid reading, meaning it cannot be 'unknown' or 'unavailable'. Finally, the numeric value of the new state must be below the threshold value set in low battery alert threshold input number [input_number.low_battery_alert_threshold].", "action": "Sends an HTML-formatted alert message to the Secret TLG Group System [secret tlg_group_system] on Telegram, specifying the device's friendly name and its current battery percentage." }, "human_like": "Sends a Telegram alert when a battery-powered device in a monitored group falls below a defined charge level.", "complexity": "medium" } }, { "id": "7e5b4f9a-eb87-487f-8e1a-4b980de13734", "result": { "structured": "TRIGGER: When a new device is detected on the network (event device_tracker_new_device). ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] with the title 'Найдено новое устройство в сети' and the message containing the MAC address of the new device.", "natural_language": { "trigger": "Whenever a new device connects to the network, triggering the 'device_tracker_new_device' event.", "conditions": "There are no conditions for this automation.", "action": "Sends a formatted notification via Telegram to the Secret TLG Group System [secret tlg_group_system]. The message has a bold title stating 'Найдено новое устройство в сети' (New device found on the network) and includes the MAC address of the newly discovered device." }, "human_like": "Sends a Telegram alert whenever a new device joins the home network.", "complexity": "low" } }, { "id": "fef0c4de-e2ba-419b-b49e-ff39449e6481", "result": { "structured": "TRIGGER: When the event auto_backup.backup_successful occurs. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] with HTML parsing. The message states 'INFO: Создание резервной копии завершилось успешно.' and includes the backup name from the event data: {{ trigger.event.data.name }}.", "natural_language": { "trigger": "When a successful backup event named 'auto_backup.backup_successful' is fired by the system.", "conditions": "There are no conditions that must be met.", "action": "Sends a formatted HTML message to the Telegram group 'Secret TLG Group System' [secret tlg_group_system] to notify that the backup completed successfully, including the name of the backup from the event details." }, "human_like": "Sends a Telegram notification to the system group when an automatic backup finishes successfully.", "complexity": "low" } }, { "id": "24f2bb2c-3e2c-47b5-ba9a-a92f0f5bf63a", "result": { "structured": "TRIGGER: When an auto_backup.backup_failed event occurs. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] with HTML parsing, a title 'Внимание', and a message containing the backup name and error from the event data.", "natural_language": { "trigger": "When the Home Assistant system reports that an automated backup has failed.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a formatted Telegram message to the Secret TLG Group System [secret tlg_group_system] to alert users. The message includes the title 'Внимание' (Attention) and details the name of the failed backup and the specific error message." }, "human_like": "Sends a Telegram alert when an automated system backup fails.", "complexity": "low" } }, { "id": "d35faec4-c949-4358-8aff-00e11b560444", "result": { "structured": "TRIGGER: When a telegram_text event occurs. CONDITIONS: None. ACTIONS: Send a notification to telegram_group_system with a formatted message containing the sender's first name, last name, user ID, and the text from the event.", "natural_language": { "trigger": "Whenever a 'telegram_text' event is received by Home Assistant.", "conditions": "There are no conditions that must be met.", "action": "Sends a notification to the Telegram group 'telegram_group_system'. The notification is formatted to show the sender's first name, last name, and user ID, followed by the text message they sent." }, "human_like": "Forwards incoming Telegram messages to a designated system group, displaying the sender's details and the message content.", "complexity": "low" } }, { "id": "d50c7e2c-9f67-40f2-9495-41ba1140c9b5", "result": { "structured": "TRIGGER: When a Telegram command event with command '/start' is received OR when a Telegram command event with command '/start@HAutoBot' is received. CONDITIONS: None. ACTIONS: Send a Telegram message with the text 'Привет! Помощь - /help' to the user ID provided in the trigger event.", "natural_language": { "trigger": "When a user sends the '/start' command or the '/start@HAutoBot' command to the Telegram bot.", "conditions": "There are no conditions that must be met.", "action": "The bot sends a greeting message saying 'Привет! Помощь - /help' back to the user who sent the command." }, "human_like": "The bot sends a welcome message when a user starts a conversation with it on Telegram.", "complexity": "low" } }, { "id": "1e265eea-3d26-4a04-8402-f25a828f841d", "result": { "structured": "TRIGGER: When a Telegram command event occurs with command '/help' OR when a Telegram command event occurs with command '/help@HAutoBot'. CONDITIONS: None. ACTIONS: Send a Telegram message to the user ID from the trigger event, using HTML parse mode, with a predefined list of available commands.", "natural_language": { "trigger": "When a user sends the Telegram command '/help' or the command '/help@HAutoBot' to the bot.", "conditions": "There are no conditions that must be met for this automation to run.", "action": "The bot sends a private message back to the user who issued the command. The message is formatted in HTML and contains a list of available commands, including /status, /whoishome, /weather, /weather_ch, and /ping, along with their descriptions." }, "human_like": "This automation provides a help menu listing available commands when a user asks the Telegram bot for help.", "complexity": "low" } }, { "id": "936c648b-18b6-4636-a941-cc3f3361fdd0", "result": { "structured": "TRIGGER: When a Telegram command event with command '/ping' is received OR when a Telegram command event with command '/ping@HAutoBot' is received. CONDITIONS: None. ACTIONS: Send a Telegram message to the user who triggered the command with a message containing 'Pong!', the current date and time, the current version [sensor.current_version], the database size [sensor.hass_db_size] with its unit, and the system uptime [sensor.ha_uptime] in minutes.", "natural_language": { "trigger": "When a user sends the '/ping' or '/ping@HAutoBot' command to the Telegram bot.", "conditions": "There are no conditions that must be met for this automation to run.", "action": "The bot replies to the user with a 'Pong!' message, the current timestamp, the current version from sensor.current_version, the database size from sensor.hass_db_size, and the system uptime from sensor.ha_uptime." }, "human_like": "Replies to a Telegram ping command with a status message containing system information like version, database size, and uptime.", "complexity": "low" } }, { "id": "f3af5ecc-3eb8-4542-8207-97f90b6f5abf", "result": { "structured": "TRIGGER: When a Telegram command event with command '/whoishome' is received OR When a Telegram command event with command '/whoishome@HAutoBot' is received. CONDITIONS: None. ACTIONS: Send a Telegram message to the chat ID from the trigger event. The message lists the friendly names of all persons in the group family persons group [group.family_persons] whose state is 'home'. If the state of the entire group family persons group [group.family_persons] is 'not_home', the message states 'Никого нет' (Nobody is home).", "natural_language": { "trigger": "When someone sends the Telegram command '/whoishome' or '/whoishome@HAutoBot' to the bot.", "conditions": "There are no conditions that must be met for this automation to run.", "action": "The bot sends a message back to the same chat. The message lists the names of all family members who are currently at home, based on the family persons group [group.family_persons]. If the group shows that nobody is home, the message will say 'Никого нет' (Nobody is home)." }, "human_like": "Responds to a Telegram command by sending a list of who is currently at home.", "complexity": "low" } }, { "id": "b0b0a539-14fb-440c-b57c-269460961819", "result": { "structured": "TRIGGER: When a Telegram command event with command '/weather' is received OR when a Telegram command event with command '/weather@HAutoBot' is received. CONDITIONS: None. ACTIONS: Send a photo via Telegram Bot to the user who triggered the command. The photo file path is constructed using the current state of weather danilovskii [weather.danilovskii] to select an icon. The caption includes the current temperature from danilovskii temperature sensor [sensor.danilovskii_temperature], the feels-like temperature from danilovskii feels like temperature sensor [sensor.danilovskii_feels_like_temperature], the humidity from danilovskii humidity sensor [sensor.danilovskii_humidity], and the pressure from danilovskii pressure sensor [sensor.danilovskii_pressure] and openweathermap moskva danilovskii pressure mmhg sensor [sensor.openweathermap_moskva_danilovskii_pressure_mmhg].", "natural_language": { "trigger": "When a user sends the '/weather' command or the '/weather@HAutoBot' command via Telegram.", "conditions": "There are no conditions that must be met for the action to run.", "action": "The automation sends a photo message back to the user who issued the command. The photo is a weather icon selected based on the current weather condition from weather danilovskii [weather.danilovskii]. The message caption provides a detailed weather report, including the current temperature, feels-like temperature, humidity, and pressure in both hPa and mmHg units, using data from the respective sensors." }, "human_like": "Sends a detailed weather report with an icon as a photo message in Telegram when a user requests it with the /weather command.", "complexity": "low" } }, { "id": "c5ac3f4b-80b8-479f-96bf-45274aeba2ec", "result": { "structured": "TRIGGER: When a Telegram command event with command '/weather_ch' is received OR when a Telegram command event with command '/weather_ch@HAutoBot' is received. CONDITIONS: None. ACTIONS: Send a photo via Telegram Bot to the user who triggered the command. The photo file is located at '/config/www/weather_icons/[current state of weather.nivki_2].webp'. The caption includes: Temperature [current state of sensor.nivki_2_temperature]°C, Feels like [current state of sensor.nivki_2_feels_like_temperature]°C, Humidity [current state of sensor.nivki_2_humidity]%, Pressure [current state of sensor.nivki_2_pressure] hPa ([current state of sensor.openweathermap_stupino_nivki_2_pressure_mmhg] mmHg).", "natural_language": { "trigger": "When a user sends the Telegram command '/weather_ch' or '/weather_ch@HAutoBot'.", "conditions": "There are no conditions that must be met for the action to run.", "action": "The automation sends a photo via Telegram to the user who issued the command. The photo is a weather icon corresponding to the current condition of weather nivki 2 [weather.nivki_2]. The message caption displays the current temperature from nivki 2 temperature sensor [sensor.nivki_2_temperature], the 'feels like' temperature from nivki 2 feels like temperature sensor [sensor.nivki_2_feels_like_temperature], the humidity from nivki 2 humidity sensor [sensor.nivki_2_humidity], and the atmospheric pressure from nivki 2 pressure sensor [sensor.nivki_2_pressure] in hPa and from openweathermap stupino nivki 2 pressure mmhg sensor [sensor.openweathermap_stupino_nivki_2_pressure_mmhg] in mmHg." }, "human_like": "Sends a detailed weather report with an icon to a user when they request it via a specific Telegram command.", "complexity": "low" } }, { "id": "51572bf5-4960-4034-b09a-17d202c07c18", "result": { "structured": "TRIGGER: When a Telegram command event occurs with command '/status' OR when a Telegram command event occurs with command '/status@HAutoBot'. CONDITIONS: None. ACTIONS: Send a Telegram message to the user who triggered the command (target: trigger.event.data.user_id) containing a formatted status report. The report includes: Climate data (temperature and humidity) for Living Room, Nursery, Bedroom, Bathroom, Toilet, and Storeroom; Status of leak sensors, extractor fans, air conditioners, major appliances (with power consumption), lights, curtains, switches, TVs, Chromecasts, Yandex Stations, and miscellaneous devices (entrance door, gas sensor, vacuum, Transmission, Plex).", "natural_language": { "trigger": "When a user sends the command '/status' or '/status@HAutoBot' to the Telegram bot.", "conditions": "There are no conditions that need to be met.", "action": "The bot sends a detailed status report back to the user who issued the command. The report is a formatted message containing climate data for all main rooms, the status of all leak sensors, extractor fans, air conditioners, major household appliances (including their current power consumption), the state of all lights, curtains, a smart plug, all TVs and media players, and the status of other miscellaneous devices like the entrance door, gas sensor, robot vacuum, and media servers." }, "human_like": "This automation sends a comprehensive home status report via Telegram when a user requests it with the /status command.", "complexity": "low" } }, { "id": "1385db9f-772d-474e-b9bc-237c073ba44a", "result": { "structured": "TRIGGER: When a yandex_intent event occurs with text 'Люмос' AND room 'Гостиная' OR text 'Люмос максима' AND room 'Гостиная' OR text 'Нокс' AND room 'Гостиная' OR text 'Люмос' AND room 'Детская' OR text 'Люмос максима' AND room 'Детская' OR text 'Нокс' AND room 'Детская'. CONDITIONS: None. ACTIONS: Choose action based on trigger ID: IF trigger is Nursery_Lumos THEN turn on ikea e27 детская light [light.ikea_e27_detskaia]. IF trigger is Nursery_Lumos_Maxima THEN turn on all lights in area 24758c6268dd46168d35620719b05ed0. IF trigger is Nursery_Nox THEN turn off ikea e27 детская light [light.ikea_e27_detskaia]. IF trigger is Living_Room_Lumos THEN turn on sonoff 1000f30a9e light [light.sonoff_1000f30a9e]. IF trigger is Living_Room_Lumos_Maxima THEN turn on all lights in area 38de229de4ae4b9c9aebbb4973528a2f. IF trigger is Living_Room_Nox THEN turn off sonoff 1000f30a9e light [light.sonoff_1000f30a9e].", "natural_language": { "trigger": "When a voice command is issued via Yandex, with specific phrases and room names. The phrases are 'Люмос', 'Люмос максима', or 'Нокс' for either the 'Гостиная' (Living Room) or 'Детская' (Nursery) rooms.", "conditions": "There are no additional conditions that must be met for the automation to run.", "action": "Depending on the exact voice command and room, the automation will perform different actions. For the Nursery: saying 'Люмос' turns on the ikea e27 детская light [light.ikea_e27_detskaia]; saying 'Люмос максима' turns on all lights in a specific area (ID: 24758c6268dd46168d35620719b05ed0); saying 'Нокс' turns off the ikea e27 детская light [light.ikea_e27_detskaia]. For the Living Room: saying 'Люмос' turns on the sonoff 1000f30a9e light [light.sonoff_1000f30a9e]; saying 'Люмос максима' turns on all lights in a specific area (ID: 38de229de4ae4b9c9aebbb4973528a2f); saying 'Нокс' turns off the sonoff 1000f30a9e light [light.sonoff_1000f30a9e]." }, "human_like": "Controls the lights in the nursery and living room using Harry Potter-inspired voice commands like 'Lumos' to turn them on and 'Nox' to turn them off.", "complexity": "medium" } }, { "id": "1ec5424e-f770-486c-b4cf-ed29e65dcb36", "result": { "structured": "TRIGGER: When yandex station target name input select [input_select.yandex_station_target_name] changes state. CONDITIONS: None. ACTIONS: Set the value of yandex station target id input text [input_text.yandex_station_target_id] to a corresponding media player entity ID based on the new state of yandex station target name input select [input_select.yandex_station_target_name]. The mapping is: if the new state is 'Детская', set to 'media_player.yandex_station_lite_detskaia'; if 'Гостиная', set to 'media_player.yandex_station_mini2_gostinaia'; if 'Спальня', set to 'media_player.yandex_station_mini2_spalnia'; if 'Прихожая', set to 'media_player.yandex_station_lite_prikhozhaya'.", "natural_language": { "trigger": "Whenever the selection in the dropdown yandex station target name input select [input_select.yandex_station_target_name] changes.", "conditions": "There are no conditions that must be met.", "action": "Updates the text field yandex station target id input text [input_text.yandex_station_target_id] with the entity ID of a Yandex Station media player. The entity ID is chosen based on the selected room name: 'Детская' (Nursery) maps to yandex station lite детская [media_player.yandex_station_lite_detskaia], 'Гостиная' (Living Room) maps to yandex station mini2 гостиная [media_player.yandex_station_mini2_gostinaia], 'Спальня' (Bedroom) maps to yandex station mini2 спальня [media_player.yandex_station_mini2_spalnia], and 'Прихожая' (Hallway) maps to yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya]." }, "human_like": "This automation synchronizes a dropdown menu of Yandex Station names with a text field containing their corresponding device IDs, making it easier to target specific speakers in other automations.", "complexity": "low" } }, { "id": "950840e8-8ef1-4984-8996-6ddee1f56cb7", "result": { "structured": "TRIGGER: When ha uptime sensor [sensor.ha_uptime] changes to state '10'. CONDITIONS: The value of auto reboot counter [counter.auto_reboot] is greater than 0. ACTIONS: Set the value of auto reboot counter [counter.auto_reboot] to 0.", "natural_language": { "trigger": "When the ha uptime sensor [sensor.ha_uptime] reports a state of '10'.", "conditions": "If the auto reboot counter [counter.auto_reboot] has a value greater than zero.", "action": "Resets the auto reboot counter [counter.auto_reboot] to zero." }, "human_like": "Resets the automatic reboot counter when the system uptime reaches 10 units, likely to track or manage system restarts.", "complexity": "low" } }, { "id": "5524cadd-7b96-41f8-b489-90782e17af80", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/cancel_auto_reboot'. CONDITIONS: None. ACTIONS: Turn off Script Auto Reboot by Errors After Boot [script.auto_reboot_by_errors_after_boot], answer the Telegram callback query with the message 'Команда отправлена', and edit the original Telegram message to show the title '*Внимание*' and the message 'Автоматическая перезагрузка Home Assistant *отменена*'.", "natural_language": { "trigger": "When a user interacts with a Telegram bot and selects the callback option with the data '/cancel_auto_reboot'.", "conditions": "There are no conditions that must be met for this automation to run.", "action": "It stops the Script Auto Reboot by Errors After Boot [script.auto_reboot_by_errors_after_boot] from running, sends a confirmation message to the Telegram user, and updates the original Telegram message to show that the automatic reboot has been cancelled." }, "human_like": "Cancels a scheduled automatic reboot of Home Assistant when the user sends a specific command via Telegram.", "complexity": "low" } }, { "id": "abdaa9e1-cfbc-4c00-b22c-db82f01cd214", "result": { "structured": "TRIGGER: When amazfit gtr 4 presence sensor [binary_sensor.amazfit_gtr_4_presence] changes from on to off. CONDITIONS: holy iot white 1 presence sensor [binary_sensor.holy_iot_white_1_presence] is on AND holy iot black 1 presence sensor [binary_sensor.holy_iot_black_1_presence] is off. ACTIONS: Wait for up to 30 seconds for holy iot white 1 presence sensor [binary_sensor.holy_iot_white_1_presence] to become off. IF the wait times out (i.e., the sensor does NOT become off within 30 seconds), THEN in parallel: 1) Send a Telegram message to Secret TLG Stall ID [secret tlg_stall_id] with title 'Внимание' and message 'Возможно, ты забыл ключ от машины'. 2) Send a high-priority notification to mobile app 'kb2003' with title 'Ключ от машины' and message 'Возможно, ты забыл ключ от машины...'.", "natural_language": { "trigger": "When the amazfit gtr 4 presence sensor [binary_sensor.amazfit_gtr_4_presence] changes from being present (on) to not present (off).", "conditions": "The holy iot white 1 presence sensor [binary_sensor.holy_iot_white_1_presence] must be present (on), and the holy iot black 1 presence sensor [binary_sensor.holy_iot_black_1_presence] must be not present (off).", "action": "The automation waits for up to 30 seconds to see if the holy iot white 1 presence sensor [binary_sensor.holy_iot_white_1_presence] becomes not present (off). If it does not change to 'off' within that time, it sends a warning message via Telegram to a specific chat and also sends a high-priority notification to a mobile app, both suggesting the user may have forgotten their car key." }, "human_like": "Warns Alex via Telegram and mobile notification if they leave without their car key, based on the presence of their watch and key sensors.", "complexity": "medium" } }, { "id": "0a72e0b9-d7f2-41b9-90b3-5d1a601de887", "result": { "structured": "TRIGGER: When entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes from open (on) to closed (off). CONDITIONS: Time is between 07:30:00 and 08:30:00 AND workday sensor [binary_sensor.workday_sensor] is on AND calendar semia alexander borisov school vacation egor [calendar.semia_alexander_borisov_school_vacation_egor] is off AND holy iot green 1 presence sensor [binary_sensor.holy_iot_green_1_presence] is on. ACTIONS: Wait for holy iot green 1 presence sensor [binary_sensor.holy_iot_green_1_presence] to become off, with a timeout of 30 seconds. If the wait does NOT complete (i.e., the sensor is still on after 30 seconds), then execute the following actions in parallel: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with a warning about a forgotten school pass, send a high-priority mobile notification to notify.mobile_app_kb2003, and play a voice announcement on yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya].", "natural_language": { "trigger": "When the entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] is closed.", "conditions": "The automation runs only if it is a weekday morning between 7:30 AM and 8:30 AM, the workday sensor [binary_sensor.workday_sensor] confirms it's a workday, the school vacation calendar [calendar.semia_alexander_borisov_school_vacation_egor] shows Egor is not on vacation, and the holy iot green 1 presence sensor [binary_sensor.holy_iot_green_1_presence] detects someone is present.", "action": "The system waits for up to 30 seconds for the holy iot green 1 presence sensor [binary_sensor.holy_iot_green_1_presence] to report no presence. If, after this wait, the sensor still shows presence, it triggers a multi-channel alert: a message is sent to a Telegram group, a high-priority notification is sent to a mobile device, and a voice announcement is played on the hallway smart speaker, all warning that Egor may have forgotten his school pass." }, "human_like": "Sends reminders that Egor may have forgotten his school pass if he leaves home on a school morning but his presence sensor remains active, indicating he might still be inside.", "complexity": "medium" } }, { "id": "ad6c6761-94ba-4edb-b744-b844c5f0d2d6", "result": { "structured": "TRIGGER: When frigate reolinkcam 02 ffmpeg problem sensor [binary_sensor.frigate_reolinkcam_02_ffmpeg_problem] changes from off to on. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] with title 'Frigate Warning' and message 'Возможна проблема с камерой Reolink 02, будет выполнена попытка перезагрузки Frigate.' AND Execute shell command restart_frigate_srv01.", "natural_language": { "trigger": "When the frigate reolinkcam 02 ffmpeg problem sensor [binary_sensor.frigate_reolinkcam_02_ffmpeg_problem] changes from off to on, indicating a potential problem with the camera.", "conditions": "There are no conditions that must be met.", "action": "Send a warning message to a Telegram group and attempt to restart the Frigate service. Specifically, it sends a message titled 'Frigate Warning' to the Secret TLG Group System [secret tlg_group_system] and runs the shell command 'restart_frigate_srv01'." }, "human_like": "Automatically sends a Telegram alert and restarts the Frigate service when a potential camera problem is detected.", "complexity": "low" } }, { "id": "6166ef07-c478-44e3-a226-24d7737d6646", "result": { "structured": "TRIGGER: When 0x158d00044cea8e motion sensor [binary_sensor.0x158d00044cea8e_motion] changes from off to on. CONDITIONS: None. ACTIONS: Send a Telegram notification to group 'telegram_group_flat_1' with message 'В *Детской* обнаружено движение:', then send a second Telegram notification with message 'Camera Snapshot 1' and a photo from 'secret dafangcam_03_snapshot_url', then wait 1 second, then send a third Telegram notification with message 'Camera Snapshot 2' and a photo from 'secret dafangcam_03_snapshot_url', then wait 1 second, then send a fourth Telegram notification with message 'Camera Snapshot 3' and a photo from 'secret dafangcam_03_snapshot_url'.", "natural_language": { "trigger": "When the 0x158d00044cea8e motion sensor [binary_sensor.0x158d00044cea8e_motion] starts detecting motion (changes from off to on).", "conditions": "There are no conditions that need to be met.", "action": "Sends a series of notifications to the Telegram group 'telegram_group_flat_1'. First, it sends a text message stating 'В *Детской* обнаружено движение:'. Then, it sends three separate photo messages, each labeled as Camera Snapshot 1, 2, and 3, with a one-second delay between each. All photos are taken from the same camera snapshot URL." }, "human_like": "Sends a series of photo alerts to a Telegram group when motion is detected in the nursery.", "complexity": "low" } }, { "id": "f46ce78b-11b1-42e9-b217-34ed6eabb7bb", "result": { "structured": "TRIGGER: When the time is 23:30:00. CONDITIONS: None. ACTIONS: Turn on automation движение в детской [automation.dvizhenie_v_detskoi].", "natural_language": { "trigger": "Every day at 11:30 PM.", "conditions": "There are no conditions for this automation.", "action": "Enables the automation named 'движение в детской' [automation.dvizhenie_v_detskoi]." }, "human_like": "Turns on the nursery motion automation every night at 11:30 PM.", "complexity": "low" } }, { "id": "0ffb0c86-cd64-4990-9571-da1799709488", "result": { "structured": "TRIGGER: When the time is 07:00:00. CONDITIONS: None. ACTIONS: Turn off automation движение в детской [automation.dvizhenie_v_detskoi].", "natural_language": { "trigger": "At 7:00 AM every day.", "conditions": "There are no conditions for this automation.", "action": "Disables the motion control automation by turning off automation движение в детской [automation.dvizhenie_v_detskoi]." }, "human_like": "Turns off the nursery motion control automation every morning at 7 AM.", "complexity": "low" } }, { "id": "47a5b56e-5c41-4ae6-a3c2-25984c67b1b5", "result": { "structured": "TRIGGER: When entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes from closed (off) to open (on). CONDITIONS: 0x158d000309920a motion sensor [binary_sensor.0x158d000309920a_motion] is not detecting motion (off). ACTIONS: Wait 3 seconds, then send a Telegram notification with a camera snapshot (Snapshot 1). Wait 1 second, then send a second Telegram notification with a camera snapshot (Snapshot 2). Wait 2 seconds, then send a third Telegram notification with a camera snapshot (Snapshot 3). Wait 3 seconds, then send a fourth Telegram notification with a camera snapshot (Snapshot 4).", "natural_language": { "trigger": "When the entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] opens.", "conditions": "The 0x158d000309920a motion sensor [binary_sensor.0x158d000309920a_motion] must not be detecting any motion.", "action": "After a 3-second delay, a Telegram notification with a camera snapshot (Snapshot 1) is sent. After another 1-second delay, a second snapshot (Snapshot 2) is sent. After a 2-second delay, a third snapshot (Snapshot 3) is sent. Finally, after a 3-second delay, a fourth snapshot (Snapshot 4) is sent." }, "human_like": "When someone opens the entrance door and no motion is detected, it sends a series of four camera snapshots to a Telegram group at timed intervals.", "complexity": "low" } }, { "id": "ff6813b7-a4a7-4682-bacb-c28290e43f88", "result": { "structured": "TRIGGER: When sonoff 1000f2f14a light [light.sonoff_1000f2f14a] turns on. CONDITIONS: None. ACTIONS: Turn off dafangcam02 night mode switch [switch.dafangcam02_night_mode] AND Turn on dafangcam02 ir filter switch [switch.dafangcam02_ir_filter] AND Turn off dafangcam02 ir led switch [switch.dafangcam02_ir_led].", "natural_language": { "trigger": "When the sonoff 1000f2f14a light [light.sonoff_1000f14a] is turned on.", "conditions": "There are no conditions for this automation.", "action": "Turns off the dafangcam02 night mode switch [switch.dafangcam02_night_mode], turns on the dafangcam02 ir filter switch [switch.dafangcam02_ir_filter], and turns off the dafangcam02 ir led switch [switch.dafangcam02_ir_led]." }, "human_like": "When the hallway light turns on, it disables the camera's night vision features to provide a normal color image.", "complexity": "low" } }, { "id": "56d572c7-3750-4988-8294-aa241a4f4b31", "result": { "structured": "TRIGGER: When reolinkcam 01 person occupancy sensor [binary_sensor.reolinkcam_01_person_occupancy] changes from off to on. CONDITIONS: None. ACTIONS: In parallel: (1) Wait 1 second, then send a Telegram message with the current timestamp and a text notification to Secret TLG Group Staircase [secret tlg_group_staircase], then send a photo from a snapshot URL to the same group; (2) Send a 7-second video from a stream URL to the same Telegram group.", "natural_language": { "trigger": "When the reolinkcam 01 person occupancy sensor [binary_sensor.reolinkcam_01_person_occupancy] detects a person, changing its state from 'off' to 'on'.", "conditions": "There are no conditions that must be met for the actions to run.", "action": "Immediately and in parallel, the automation performs two sequences. First, it waits one second, then sends a timestamped Telegram message to the Secret TLG Group Staircase [secret tlg_group_staircase] notifying them a person was detected, followed by sending a photo snapshot. Simultaneously, it sends a 7-second video clip to the same Telegram group." }, "human_like": "Sends a Telegram alert with a photo and a short video clip when a person is detected on the staircase.", "complexity": "medium" } }, { "id": "692afba6-c94d-477f-9ac4-d064643898ce", "result": { "structured": "TRIGGER: When a folder_watcher event occurs with event_type 'deleted' AND file 'staircase_movement.mp4.tmp'. CONDITIONS: None. ACTIONS: Send video file '/config/video/staircase_movement.mp4' via Telegram bot to target Secret TLG Group Staircase [secret tlg_group_staircase] with caption secret look_at_cam_reolinkcam_01 and a timeout of 180 seconds.", "natural_language": { "trigger": "When a file named 'staircase_movement.mp4.tmp' is deleted, triggering a folder_watcher event.", "conditions": "There are no additional conditions that must be met.", "action": "Sends the recorded video file 'staircase_movement.mp4' from the '/config/video/' directory to the Telegram group Secret TLG Group Staircase [secret tlg_group_staircase]. The message includes the caption 'secret look_at_cam_reolinkcam_01' and the operation will timeout after 180 seconds if not completed." }, "human_like": "Automatically sends a recorded staircase movement video to a Telegram group when the temporary video file is deleted.", "complexity": "low" } }, { "id": "1550b036-824f-47d8-9dcf-674b475c5060", "result": { "structured": "TRIGGER: When an MQTT message is received on topic 'frigate_srv01/events' with the payload 'reolinkcam_01' for the 'camera' field. CONDITIONS: The event type in the trigger payload is 'end'. ACTIONS: 1. Send a Telegram message to Secret TLG Group Staircase [secret tlg_group_staircase] with a timestamp and a text notification about motion detection on the staircase, including the event ID. 2. Send a photo to the same Telegram group using a snapshot URL constructed from a base URL and the event ID. 3. Enter a loop that: a. Waits for up to 2 minutes for an MQTT message on topic 'frigate_srv01/events' where the event ID matches the initial trigger's ID. b. Checks if the new event's type is 'end'. c. If the condition is met, sends a video clip to the Telegram group using a URL constructed from the base URL, event ID, and camera name. d. Repeats steps a-c until an MQTT message with a matching ID and type 'end' is received.", "natural_language": { "trigger": "When the Frigate system sends an MQTT event notification indicating activity on the 'reolinkcam_01' camera.", "conditions": "The automation only runs if the specific event type received is 'end', signifying the conclusion of a motion event.", "action": "First, it sends a timestamped Telegram message to the Secret TLG Group Staircase [secret tlg_group_staircase] announcing motion detection on the staircase and includes the event ID. Then, it sends a snapshot image of the event. Finally, it enters a waiting loop to capture the end of the event: it waits for up to two minutes for a matching 'end' notification for the same event ID. When that is received, it sends the corresponding video clip to the Telegram group." }, "human_like": "Sends a Telegram alert with a photo when motion is first detected on the staircase camera, and then follows up with a video clip once the motion event has concluded.", "complexity": "medium" } }, { "id": "8431232f-319a-4184-94e9-bc070403eec4", "result": { "structured": "TRIGGER: When double take alexander b sensor [sensor.double_take_alexander_b] changes to state dafangcam_02 OR When double take irina b sensor [sensor.double_take_irina_b] changes to state dafangcam_02. CONDITIONS: The entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] last changed less than 90 seconds ago. ACTIONS: If the trigger ID is 'alex' AND person alexander [person.alexander] is home AND person alexander [person.alexander] last changed less than 600 seconds ago, then run script.homecoming_greeting with data pers_name: Александр and match_filename from the trigger state. Otherwise, if the trigger ID is 'irina' AND person irina [person.irina] is home AND person irina [person.irina] last changed less than 600 seconds ago, then run script.homecoming_greeting with data pers_name: Ирина and match_filename from the trigger state.", "natural_language": { "trigger": "The automation triggers when the double take alexander b sensor [sensor.double_take_alexander_b] or the double take irina b sensor [sensor.double_take_irina_b] detects a person and changes its state to 'dafangcam_02'.", "conditions": "The automation only proceeds if the entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] was last opened or closed less than 90 seconds ago.", "action": "Depending on who was detected, the automation performs a greeting. If Alexander was detected, and his person tracker [person.alexander] shows he is home and his status changed within the last 10 minutes, a greeting script is run for Alexander. Similarly, if Irina was detected, and her person tracker [person.irina] shows she is home and her status changed within the last 10 minutes, a greeting script is run for Irina. The script receives the person's name and the filename of the image match from the camera." }, "human_like": "Welcomes Alexander or Irina home with a personalized greeting when they are detected by the camera shortly after the entrance door has been used.", "complexity": "medium" } }, { "id": "97f7f60b-61c2-482b-894a-c12704418075", "result": { "structured": "TRIGGER: When coutry house presence sensor [binary_sensor.coutry_house_presence] changes state. CONDITIONS: None. ACTIONS: If the new state is 'on', then turn off frigate srv01 reolinkcam 02 switch [switch.frigate_srv01_reolinkcam_02]. If the new state is 'off', then turn on frigate srv01 reolinkcam 02 switch [switch.frigate_srv01_reolinkcam_02].", "natural_language": { "trigger": "Whenever the coutry house presence sensor [binary_sensor.coutry_house_presence] changes its state.", "conditions": "There are no additional conditions that must be met.", "action": "If the sensor's new state is 'on', it turns off the frigate srv01 reolinkcam 02 switch [switch.frigate_srv01_reolinkcam_02]. Conversely, if the sensor's new state is 'off', it turns on the same switch." }, "human_like": "Turns the camera off when presence is detected and turns it back on when presence is cleared, likely to save power or privacy when someone is present.", "complexity": "low" } }, { "id": "a0d9386b-ecf4-46f1-92d8-6ad1a777d1d9", "result": { "structured": "TRIGGER: When reolinkcam 02 person occupancy sensor [binary_sensor.reolinkcam_02_person_occupancy] changes from off to on. CONDITIONS: coutry house presence sensor [binary_sensor.coutry_house_presence] is off. ACTIONS: Send a Telegram message to Secret TLG Group Country House [secret tlg_group_country_house] containing the current timestamp and a text notification. Send a photo to Secret TLG Group Country House [secret tlg_group_country_house] from the URL secret reolinkcam_02_snapshot_url with caption secret look_at_cam_reolinkcam_02 and a timeout of 60 seconds.", "natural_language": { "trigger": "When the reolinkcam 02 person occupancy sensor [binary_sensor.reolinkcam_02_person_occupancy] starts detecting a person, changing its state from off to on.", "conditions": "The automation only runs if the coutry house presence sensor [binary_sensor.coutry_house_presence] indicates that the house is unoccupied (state is off).", "action": "Sends a Telegram alert to the Secret TLG Group Country House [secret tlg_group_country_house]. The alert includes a timestamped text message stating a person was detected, followed by a photo snapshot from the camera with a specific caption." }, "human_like": "Sends a Telegram alert with a photo when a person is detected by the CCTV camera while the country house is supposed to be empty.", "complexity": "low" } }, { "id": "28450e89-7fdf-459d-bcbd-9e3ea9377de7", "result": { "structured": "TRIGGER: When country house enegry cost mes t1 sensor [sensor.country_house_enegry_cost_mes_t1] changes state, provided the new state is not 'unavailable' or 'unknown' AND the previous state was not 'unavailable' or 'unknown'. CONDITIONS: The new state value of country house enegry cost mes t1 sensor [sensor.country_house_enegry_cost_mes_t1] is a number. ACTIONS: Set the value of country house enegry cost current input number [input_number.country_house_enegry_cost_current] to the numerical value of the new state.", "natural_language": { "trigger": "Whenever the country house enegry cost mes t1 sensor [sensor.country_house_enegry_cost_mes_t1] updates to a new value, but only if both the new value and the previous value are not 'unavailable' or 'unknown'.", "conditions": "The new value reported by the sensor must be a valid number.", "action": "Update the country house enegry cost current input number [input_number.country_house_enegry_cost_current] with the new numerical cost value." }, "human_like": "Updates the current electricity cost input number whenever a valid new cost is reported by the sensor.", "complexity": "low" } }, { "id": "3570493e-c074-4d88-b8ce-a196cb1a60a6", "result": { "structured": "TRIGGER: When country house enegry meter value input number [input_number.country_house_enegry_meter_value] changes state, provided the new state is NOT 'unavailable' AND NOT 'unknown' AND the previous state was NOT 'unavailable' AND NOT 'unknown'. CONDITIONS: None. ACTIONS: Set the value of country house enegry meter predicted value input number [input_number.country_house_enegry_meter_predicted_value] to the new state value of the trigger entity, converted to a float (defaulting to 0).", "natural_language": { "trigger": "Whenever the country house enegry meter value input number [input_number.country_house_enegry_meter_value] changes, but only if both the new state and the previous state are valid (neither 'unavailable' nor 'unknown').", "conditions": "There are no additional conditions for this automation.", "action": "Copies the new numeric value from the country house enegry meter value input number [input_number.country_house_enegry_meter_value] to the country house enegry meter predicted value input number [input_number.country_house_enegry_meter_predicted_value]." }, "human_like": "Copies the main energy meter reading to a predicted value input whenever it updates, ignoring invalid states.", "complexity": "low" } }, { "id": "36df2266-8486-42de-b42d-d7b956c24e40", "result": { "structured": "TRIGGER: When the time is 23:59:55. CONDITIONS: None. ACTIONS: Set the value of country house enegry meter predicted value input number [input_number.country_house_enegry_meter_predicted_value] to the sum of its current value and the value from rch ch main energy daily total sensor [sensor.rch_ch_main_energy_daily_total], rounded to two decimal places.", "natural_language": { "trigger": "The automation runs every day at 11:59:55 PM.", "conditions": "There are no conditions that must be met for the action to run.", "action": "Updates the predicted energy meter value by adding the current daily total energy consumption to the existing predicted value and saving the result." }, "human_like": "Updates the predicted energy meter reading just before midnight by adding the day's total consumption to the existing prediction.", "complexity": "low" } }, { "id": "d20af113-a06c-4eec-a1a0-0a8a4f8f6fa9", "result": { "structured": "TRIGGER: When ch energy meter value saved for transfer sensor [sensor.ch_energy_meter_value_saved_for_transfer] changes state, and the new state is not 'unavailable' or 'unknown', and the previous state was not 'unavailable' or 'unknown'. CONDITIONS: The current day of the month equals the value stored in country house enegry meter value transfer day input number [input_number.country_house_enegry_meter_value_transfer_day]. ACTIONS: Send a formatted Telegram message to Secret TLG Group Country House [secret tlg_group_country_house] containing the previous and current meter readings, the calculated energy consumption, and an estimated bill amount based on the cost from country house enegry cost current input number [input_number.country_house_enegry_cost_current]. Then, run the script Script CH Push Energy Readings to MES [script.ch_push_energy_readings_to_mes].", "natural_language": { "trigger": "When the ch energy meter value saved for transfer sensor [sensor.ch_energy_meter_value_saved_for_transfer] updates to a valid new reading, meaning it's not 'unavailable' or 'unknown', and it wasn't 'unavailable' or 'unknown' before the change.", "conditions": "The automation only runs if the current day of the month matches the day number stored in the country house enegry meter value transfer day input number [input_number.country_house_enegry_meter_value_transfer_day].", "action": "First, a detailed message is sent to the Telegram group Secret TLG Group Country House [secret tlg_group_country_house]. The message shows the old and new meter values, calculates the energy used since the last reading, and estimates the cost based on the current electricity rate from country house enegry cost current input number [input_number.country_house_enegry_cost_current]. After sending the message, it triggers the Script CH Push Energy Readings to MES [script.ch_push_energy_readings_to_mes] to forward the data to the utility company (MES)." }, "human_like": "Sends a Telegram notification with the latest electricity meter reading and cost estimate, then forwards the data to the utility company, but only on a specific day of the month.", "complexity": "medium" } }, { "id": "99ae89c3-a865-4c3b-841c-729bbbc4b447", "result": { "structured": "TRIGGER: When mes 55384 014 37 meter 44259893 readings accepted sensor [binary_sensor.mes_55384_014_37_meter_44259893_readings_accepted] changes to 'on' from any state except 'unavailable' or 'unknown'. ACTIONS: Send a Telegram message to Secret TLG Group Country House [secret tlg_group_country_house] with the title '*Электроэнергия:*' and a message containing the current value of mes 55384 014 37 meter 44259893 zone t1 period indication sensor [sensor.mes_55384_014_37_meter_44259893_zone_t1_period_indication].", "natural_language": { "trigger": "When the mes 55384 014 37 meter 44259893 readings accepted sensor [binary_sensor.mes_55384_014_37_meter_44259893_readings_accepted] turns on, but only if its previous state was not 'unavailable' or 'unknown'.", "conditions": "There are no additional conditions to check.", "action": "Sends a notification via Telegram to the group 'Secret TLG Group Country House' [secret tlg_group_country_house]. The message has the title '*Электроэнергия:*' and includes the current electricity meter reading from mes 55384 014 37 meter 44259893 zone t1 period indication sensor [sensor.mes_55384_014_37_meter_44259893_zone_t1_period_indication]." }, "human_like": "Sends a Telegram notification when electricity meter readings are successfully accepted by the utility company, confirming the submitted value.", "complexity": "low" } }, { "id": "c4ff5d52-df3b-4e02-a8ef-f4a11323dcb4", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/water_pump_on'. CONDITIONS: None. ACTIONS: Turn on rch sonoff pow r3 02 switch [switch.rch_sonoff_pow_r3_02]; Send a Telegram answer callback query with the message 'Команда отправлена'; Edit the Telegram reply markup to clear the inline keyboard; Wait for rch sonoff pow r3 02 switch [switch.rch_sonoff_pow_r3_02] to change from 'off' to 'on' for up to 10 seconds; If the switch turns on within the timeout, send a Telegram message to the chat with the message 'Насос включен.'.", "natural_language": { "trigger": "When a specific callback is received from a Telegram button or command with the data '/water_pump_on'.", "conditions": "There are no conditions that must be met for the actions to run.", "action": "The automation turns on the water pump switch (rch sonoff pow r3 02 switch [switch.rch_sonoff_pow_r3_02]), sends an immediate callback response to Telegram confirming the command was sent, clears the inline keyboard from the original Telegram message, waits up to 10 seconds for the pump switch to confirm it has turned on, and finally sends a follow-up message to the Telegram chat confirming the pump is on." }, "human_like": "Turns on the water pump via a Telegram button press and sends confirmation messages back to the user.", "complexity": "medium" } }, { "id": "86da4969-92fa-49c9-aba3-23ab804e7194", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/ch_turn_on_away_mode'. CONDITIONS: None. ACTIONS: Turn on rch ch away scene [scene.rch_ch_away] AND answer the Telegram callback query with message 'Команда отправлена' AND edit the reply markup of the triggering Telegram message to an empty inline keyboard AND send a message to Secret TLG Group Country House [secret tlg_group_country_house] with content 'Включен Away Mode'.", "natural_language": { "trigger": "When a specific button is pressed in a Telegram chat, identified by the callback data '/ch_turn_on_away_mode'.", "conditions": "There are no conditions that must be met for the actions to run.", "action": "Activates the 'rch ch away scene' [scene.rch_ch_away], sends a confirmation message back to the user in Telegram, clears the inline keyboard buttons from the original message, and sends a notification to the 'Secret TLG Group Country House' [secret tlg_group_country_house] Telegram group stating that Away Mode has been enabled." }, "human_like": "Activates the country house's 'Away Mode' scene and sends Telegram notifications when a specific button is pressed in a chat.", "complexity": "low" } }, { "id": "a50dc6a0-b2d1-45d9-bab8-7fc62e43fb05", "result": { "structured": "TRIGGER: When central heating nursery sensor [binary_sensor.central_heating_nursery] changes state AND the new state is NOT unavailable AND NOT unknown AND the previous state was NOT unavailable AND NOT unknown OR When central heating livingroom sensor [binary_sensor.central_heating_livingroom] changes state AND the new state is NOT unavailable AND NOT unknown AND the previous state was NOT unavailable AND NOT unknown OR When central heating kitchen sensor [binary_sensor.central_heating_kitchen] changes state AND the new state is NOT unavailable AND NOT unknown AND the previous state was NOT unavailable AND NOT unknown OR When central heating bedroom sensor [binary_sensor.central_heating_bedroom] changes state AND the new state is NOT unavailable AND NOT unknown AND the previous state was NOT unavailable AND NOT unknown. CONDITIONS: ha uptime sensor [sensor.ha_uptime] is '0'. ACTIONS: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with a title and a message. The message reports the heating state change for the room corresponding to the trigger (nursery, living room, kitchen, or bedroom) and includes the current temperature from the associated temperature sensor for that room.", "natural_language": { "trigger": "When the state of any of the central heating sensors for the nursery, living room, kitchen, or bedroom changes, provided the change is not to or from an 'unavailable' or 'unknown' state.", "conditions": "The automation only runs if the Home Assistant uptime sensor [sensor.ha_uptime] reports a value of '0'.", "action": "Sends a formatted notification to a Telegram group. The message states whether the heating in the specific room has been turned on or off and includes the current temperature near the heating pipe, as measured by the corresponding temperature sensor for that room." }, "human_like": "Sends a Telegram notification when the central heating state changes in any major room, including the current temperature, but only when the system has just started.", "complexity": "medium" } }, { "id": "bb3a7df3-3e20-4ebe-8b49-bc9ba69ad2b6", "result": { "structured": "TRIGGER: When temperature in nursery sensor [sensor.temperature_in_nursery] remains below 22°C for 5 minutes OR When temperature in nursery sensor [sensor.temperature_in_nursery] remains above 25°C for 5 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification to telegram_group_flat_1 with a message stating the room (Nursery), whether it is hot or cold based on the temperature, and the current temperature value.", "natural_language": { "trigger": "When the temperature in nursery sensor [sensor.temperature_in_nursery] stays below 22°C for at least five minutes, or when it stays above 25°C for at least five minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1'. The message will specify the room (Nursery), state whether it is hot or cold depending on if the temperature is above or below 23°C, and include the exact temperature reading." }, "human_like": "Sends a Telegram alert if the nursery temperature is too cold or too hot for a sustained period.", "complexity": "low" } }, { "id": "0e135e8d-3ad5-40cb-9d8f-9ab3df6b91bd", "result": { "structured": "TRIGGER: When temperature in livingroom sensor [sensor.temperature_in_livingroom] remains below 22°C for 5 minutes OR When temperature in livingroom sensor [sensor.temperature_in_livingroom] remains above 25°C for 5 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification to telegram_group_flat_1 with a message stating the room (Living Room) is hot if the temperature is above 23°C, or cold if below 23°C, and include the current temperature value.", "natural_language": { "trigger": "When the temperature in livingroom sensor [sensor.temperature_in_livingroom] stays below 22 degrees Celsius for five minutes, or when it stays above 25 degrees Celsius for five minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a message to the Telegram group 'telegram_group_flat_1'. The message states that it is hot in the Living Room if the temperature is above 23°C, or cold if it is below 23°C, and includes the exact temperature reading." }, "human_like": "Sends a Telegram alert if the living room temperature is too cold or too hot for a sustained period.", "complexity": "low" } }, { "id": "524b5b92-0f5d-4429-88d2-9903ec325389", "result": { "structured": "TRIGGER: When temperature in bedroom sensor [sensor.temperature_in_bedroom] reports a value less than 21°C for 5 minutes OR When temperature in bedroom sensor [sensor.temperature_in_bedroom] reports a value greater than 24.5°C for 5 minutes. CONDITIONS: None. ACTIONS: Send a Telegram notification to telegram_group_flat_1 with a message stating the room (Bedroom) is hot if the temperature is above 23°C, cold if below 23°C, and includes the current temperature value.", "natural_language": { "trigger": "The automation triggers when the temperature in bedroom sensor [sensor.temperature_in_bedroom] stays below 21°C for five consecutive minutes, or when it stays above 24.5°C for five consecutive minutes.", "conditions": "There are no additional conditions that must be met for the automation to proceed.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1'. The message specifies the room is the Bedroom, states whether it is hot or cold based on whether the temperature is above or below 23°C, and includes the exact temperature reading." }, "human_like": "Sends a Telegram alert when the bedroom temperature remains too cold or too hot for five minutes.", "complexity": "medium" } }, { "id": "09f64418-db04-4327-a714-57d9ea39d1ed", "result": { "structured": "TRIGGER: When nursery ac contact sensor [binary_sensor.0x158d00039cf974_contact] OR living room ac contact sensor [binary_sensor.0x158d0003d54725_contact] OR bedroom ac contact sensor [binary_sensor.0x158d0004073b67_contact] changes from off to on AND remains on for 8 hours. CONDITIONS: None. ACTIONS: Send a Telegram notification to telegram_group_flat_1 with a message stating that the specific sensor (identified by its friendly name, with 'Геркон ' and ' on_off' removed) has been on for more than 8 hours.", "natural_language": { "trigger": "When any of the three air conditioning contact sensors (nursery ac contact sensor [binary_sensor.0x158d00039cf974_contact], living room ac contact sensor [binary_sensor.0x158d0003d54725_contact], or bedroom ac contact sensor [binary_sensor.0x158d0004073b67_contact]) turns from off to on and stays on for a continuous period of 8 hours.", "conditions": "There are no additional conditions that must be met for this automation to run.", "action": "Sends a Telegram message to the group 'telegram_group_flat_1' to alert that the specific air conditioning unit (identified by the sensor's friendly name, cleaned of certain text) has been running for more than 8 hours." }, "human_like": "Sends an alert if any air conditioner in the nursery, living room, or bedroom has been turned on and running for 8 hours straight.", "complexity": "low" } }, { "id": "970eef7a-4b66-4186-88ff-a0542c13c10a", "result": { "structured": "TRIGGER: When nursery ac contact sensor [binary_sensor.0x158d00039cf974_contact] OR living room ac contact sensor [binary_sensor.0x158d0003d54725_contact] OR bedroom ac contact sensor [binary_sensor.0x158d0004073b67_contact] changes from off to on AND remains on for 16 hours. CONDITIONS: None. ACTIONS: Send a Telegram notification to the group 'telegram_group_flat_1' with a message stating the friendly name of the triggering sensor (with 'Геркон ' and ' on_off' removed) has been working for more than 16 hours.", "natural_language": { "trigger": "When any of the three air conditioning contact sensors (nursery ac contact sensor [binary_sensor.0x158d00039cf974_contact], living room ac contact sensor [binary_sensor.0x158d0003d54725_contact], or bedroom ac contact sensor [binary_sensor.0x158d0004073b67_contact]) turns on and stays on continuously for 16 hours.", "conditions": "There are no additional conditions that must be met.", "action": "Sends an alert message to the Telegram group 'telegram_group_flat_1'. The message includes the name of the specific sensor that triggered the alert (with some formatting characters removed) and warns that it has been active for more than 16 hours." }, "human_like": "Sends a Telegram alert if any air conditioner runs continuously for 16 hours.", "complexity": "low" } }, { "id": "106513d8-941c-4bfe-8f42-1fe9c95a77de", "result": { "structured": "TRIGGER: When nursery ac contact sensor [binary_sensor.0x158d00039cf974_contact] OR living room ac contact sensor [binary_sensor.0x158d0003d54725_contact] OR bedroom ac contact sensor [binary_sensor.0x158d0004073b67_contact] changes from off to on AND remains on for 24 hours. ACTIONS: Send a Telegram notification to the group 'telegram_group_flat_1' with a message stating that the specific sensor (identified by its friendly name) has been on for more than 24 hours.", "natural_language": { "trigger": "When any of the air conditioner contact sensors for the nursery, living room, or bedroom changes from an 'off' (closed) state to an 'on' (open) state and stays in that 'on' state for a continuous period of 24 hours.", "conditions": "There are no additional conditions for this automation.", "action": "Sends a warning message to a Telegram group, alerting that a specific air conditioner contact sensor has been active for more than 24 hours. The message includes the friendly name of the sensor that triggered the alert." }, "human_like": "Sends a Telegram alert if any air conditioner contact sensor has been left in the 'on' state for a full day, indicating a potential long-running appliance.", "complexity": "low" } }, { "id": "5c2a3b8f-9bc7-4c73-a0b7-62f53e2d8d4a", "result": { "structured": "TRIGGER: When co2 in nursery sensor [sensor.co2_in_nursery] reports a value greater than or equal to 1000 ppm AND remains so for 10 minutes OR When co2 in livingroom sensor [sensor.co2_in_livingroom] reports a value greater than or equal to 1000 ppm AND remains so for 10 minutes OR When co2 in bedroom sensor [sensor.co2_in_bedroom] reports a value greater than or equal to 1000 ppm AND remains so for 10 minutes. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with a title 'Внимание' and a message indicating elevated carbon dioxide levels in the room corresponding to the triggering sensor (Nursery, Living Room, or Bedroom) and the current CO2 level in ppm, advising to ventilate the room.", "natural_language": { "trigger": "When the CO2 level in the nursery, living room, or bedroom remains at or above 1000 parts per million for at least 10 minutes, as measured by their respective sensors.", "conditions": "There are no additional conditions that must be met for the action to run.", "action": "Sends an alert message via Telegram to a specified group, stating that carbon dioxide levels are high in the specific room (determined by which sensor triggered the automation) and recommending that the room be ventilated. The message includes the current CO2 reading." }, "human_like": "Sends a Telegram alert when high carbon dioxide levels are detected in key rooms for an extended period, prompting ventilation.", "complexity": "medium" } }, { "id": "cb5e25c1-dcb7-4b75-a6c4-6b12eb84f86b", "result": { "structured": "TRIGGER: When domofon button sensor [binary_sensor.domofon_button] turns on. CONDITIONS: domofon incoming call sensor [binary_sensor.domofon_incoming_call] is on. ACTIONS: Send a Telegram notification to 'telegram_group_flat_1' with the message '_Домофон_: открыт кнопкой'.", "natural_language": { "trigger": "When the domofon button sensor [binary_sensor.domofon_button] is pressed, indicated by its state changing to 'on'.", "conditions": "The automation only runs if the domofon incoming call sensor [binary_sensor.domofon_incoming_call] is currently active (state 'on'), meaning there is an incoming call.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1' with the message '_Домофон_: открыт кнопкой' (Domofon: opened by button)." }, "human_like": "Sends a Telegram notification when someone opens the intercom using its button during an incoming call.", "complexity": "low" } }, { "id": "741a9858-1687-4b2d-8afd-73373e8cc8ba", "result": { "structured": "TRIGGER: When domofon incoming call sensor [binary_sensor.domofon_incoming_call] changes to on. CONDITIONS: None. ACTIONS: Execute the following actions in parallel: 1. Send a notification to telegram_group_flat_1 with a message that includes the status of domofon automatically open switch [switch.domofon_automatically_open] and domofon automatically open once switch [switch.domofon_automatically_open_once]. 2. Execute a sequence: IF domofon automatically open once switch [switch.domofon_automatically_open_once] is off, THEN run script.domofon_alice_notify.", "natural_language": { "trigger": "When the domofon incoming call sensor [binary_sensor.domofon_incoming_call] detects an incoming call.", "conditions": "There are no conditions that must be met for the automation to proceed.", "action": "Two actions are performed simultaneously. First, a notification is sent to a Telegram group, informing them of the incoming call. The message includes a note that the door will open automatically if either the 'domofon automatically open' [switch.domofon_automatically_open] or 'domofon automatically open once' [switch.domofon_automatically_open_once] switches are on. The notification also provides an inline keyboard with options to open or reject the call, but only if neither of the automatic opening switches are active. Second, a sequence runs which checks if the 'domofon automatically open once' [switch.domofon_automatically_open_once] is off. If it is, a script named 'domofon_alice_notify' is executed." }, "human_like": "Sends a Telegram notification when the intercom receives a call, and optionally triggers a voice announcement if automatic opening is not enabled for this single instance.", "complexity": "medium" } }, { "id": "Domofon - Alice Intent control", "result": { "structured": "TRIGGER: When a Yandex Intent event occurs with the text 'Открой домофон'. CONDITIONS: None. ACTIONS: Call the service esphome.domofon_accept_call.", "natural_language": { "trigger": "When a voice command is received via Yandex with the text 'Открой домофон' (Open the intercom).", "conditions": "There are no conditions that must be met.", "action": "Activates the intercom to open the door by calling the esphome.domofon_accept_call service." }, "human_like": "Opens the door intercom when a specific voice command is given.", "complexity": "low" } }, { "id": "99d5c580-c382-48b3-bd2d-f6eb00b62c31", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/domofon_open'. CONDITIONS: None. ACTIONS: Answer the Telegram callback query with a message: 'Открываю...' if domofon incoming call sensor [binary_sensor.domofon_incoming_call] is on, otherwise 'Нет входящего звонка'. Then, execute the esphome.domofon_accept_call service. Then, edit the original Telegram message to show '_Домофон_: входящий звонок...' and include 'Домофон *открыт*' if domofon incoming call sensor [binary_sensor.domofon_incoming_call] is on.", "natural_language": { "trigger": "When a specific Telegram callback button is pressed, sending the command '/domofon_open'.", "conditions": "There are no conditions that must be met for this automation to proceed.", "action": "The automation first sends a reply to the Telegram callback, stating 'Opening...' if there is an incoming call detected on the domofon incoming call sensor [binary_sensor.domofon_incoming_call], otherwise it replies 'No incoming call'. It then triggers the action to accept the call on the intercom system. Finally, it updates the original Telegram message to show a status message, adding 'Intercom *opened*' only if there is an incoming call." }, "human_like": "Opens the building's intercom door and provides feedback via Telegram when the 'open' button is pressed, but only if there is an active incoming call.", "complexity": "low" } }, { "id": "a50fb75b-0083-4866-8496-bdd013332a88", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/domofon_reject'. CONDITIONS: None. ACTIONS: Answer the Telegram callback query with a message: 'Отклоняю...' if domofon incoming call sensor [binary_sensor.domofon_incoming_call] is on, otherwise 'Нет входящего звонка'. Then, execute the service esphome.domofon_reject_call. Then, edit the original Telegram message to show '_Домофон_: входящий звонок...' and include 'Звонок *сброшен*' if domofon incoming call sensor [binary_sensor.domofon_incoming_call] is on.", "natural_language": { "trigger": "When a user interacts with a Telegram callback button that sends the data '/domofon_reject'.", "conditions": "There are no conditions that must be met for the automation to proceed.", "action": "First, the automation sends an immediate answer to the Telegram callback, informing the user that the call is being rejected if there is an active incoming call from the intercom, or stating that there is no incoming call otherwise. Next, it triggers a service to actually reject the call on the intercom device. Finally, it updates the original Telegram message to show the status of the intercom call, adding a note that the call was dropped if there was an active call." }, "human_like": "Rejects an incoming intercom call via a Telegram button, providing feedback and updating the message.", "complexity": "low" } }, { "id": "97a74c5f-6a9f-4af6-9f8e-2a7fcd0a5070", "result": { "structured": "TRIGGER: When the time is 21:00:00 OR when the time is 08:00:00. CONDITIONS: None. ACTIONS: If the trigger hour is 21, turn on domofon mute sound switch [switch.domofon_mute_sound]. If the trigger hour is 8, turn off domofon mute sound switch [switch.domofon_mute_sound].", "natural_language": { "trigger": "The automation triggers daily at 9:00 PM (21:00) and at 8:00 AM (08:00).", "conditions": "There are no additional conditions that must be met for the action to run.", "action": "At 9:00 PM, it turns on the domofon mute sound switch [switch.domofon_mute_sound] to mute the intercom. At 8:00 AM, it turns off the same switch to unmute the intercom." }, "human_like": "Automatically mutes the intercom sound at night and unmutes it in the morning.", "complexity": "low" } }, { "id": "6cac01e7-945c-4f37-8b2d-d75e03107d76", "result": { "structured": "TRIGGER: When domofon status sensor [binary_sensor.domofon_status] changes state, but not from unavailable or unknown to unavailable or unknown. CONDITIONS: (ha shutdown input boolean [input_boolean.ha_shutdown] is off) AND (ha uptime sensor [sensor.ha_uptime] is greater than '1'). ACTIONS: Send a Telegram notification with a message stating that the Domofon has lost connection to HA if the new state is 'off', or that the Domofon has restored connection to HA if the new state is 'on'.", "natural_language": { "trigger": "When the domofon status sensor [binary_sensor.domofon_status] changes its state, provided the change is not between the 'unavailable' or 'unknown' states.", "conditions": "The automation only runs if the ha shutdown input boolean [input_boolean.ha_shutdown] is turned off, and the ha uptime sensor [sensor.ha_uptime] reports a value greater than '1'.", "action": "Sends a formatted message to a Telegram group. The message will alert that the Domofon has lost its connection to Home Assistant if the sensor's new state is 'off', or that the connection has been restored if the new state is 'on'." }, "human_like": "Sends a Telegram alert when the doorbell system (Domofon) loses or regains its connection to Home Assistant, provided the system is not shutting down.", "complexity": "medium" } }, { "id": "c916925d-cd33-4f30-882b-4049e52acf12", "result": { "structured": "TRIGGER: When the state of kb2003 last notification sensor [sensor.kb2003_last_notification] OR 2109119dg last notification sensor [sensor.2109119dg_last_notification] changes. CONDITIONS: The new state of the triggering sensor matches any of the following patterns via regex: 'Курьер .* будет у вас в течение .*' OR 'В течение .* курьер .* будет у вас' OR 'Курьер в пути. .*' OR 'Курьер забрал заказ и везёт его к вам' OR 'Везёт заказ из Маркет Express' OR 'Уже спешит к вам' OR 'Будет через *.' OR 'Скоро заказ будет у вас' OR 'И уже спешит доставить его вам'. ACTIONS: Turn on domofon automatically open once switch [switch.domofon_automatically_open_once] AND send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with the text '_Домофон_: Курьер уже в пути, домофон откроется автоматически.' and an inline keyboard option 'Отключить звук:/domofon_mute_once'.", "natural_language": { "trigger": "The automation triggers when there is a state change in either the kb2003 last notification sensor [sensor.kb2003_last_notification] or the 2109119dg last notification sensor [sensor.2109119dg_last_notification].", "conditions": "The condition checks if the new state of the sensor that triggered the automation contains a text pattern indicating a courier is on the way. This includes various Russian phrases like 'Курьер .* будет у вас в течение .*', 'В течение .* курьер .* будет у вас', 'Курьер в пути. .*', 'Курьер забрал заказ и везёт его вам', 'Везёт заказ из Маркет Express', 'Уже спешит к вам', 'Будет через *.', 'Скоро заказ будет у вас', or 'И уже спешит доставить его вам'.", "action": "The automation performs two actions: it turns on the domofon automatically open once switch [switch.domofon_automatically_open_once] to prepare the door phone for a single automatic opening, and it sends a notification message to the Secret TLG Group Flat 1 [secret tlg_group_flat_1] Telegram group, stating that the courier is on the way and the door phone will open automatically, along with an option to mute the sound." }, "human_like": "Automatically opens the door phone once and sends a Telegram alert when a courier delivery notification is received.", "complexity": "medium" } }, { "id": "97093f78-f059-4918-b451-ca50f698a49d", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/domofon_mute_once'. ACTIONS: Send a Telegram answer callback query with message 'Команда отправлена'. Turn on domofon mute sound once switch [switch.domofon_mute_sound_once]. Edit the original Telegram message to: '_Домофон_: Курьер уже в пути, домофон откроется автоматически. Звонок домофона *отключен* (однократно).'.", "natural_language": { "trigger": "When a specific Telegram callback button is pressed, sending the command '/domofon_mute_once'.", "conditions": "There are no conditions for this automation.", "action": "The automation sends a confirmation message back to Telegram, turns on the 'domofon mute sound once switch' [switch.domofon_mute_sound_once], and updates the original Telegram message to inform the user that the intercom call has been muted for one time and that a courier is on the way." }, "human_like": "Handles a Telegram button press to temporarily mute the intercom sound and notify the user that a courier is arriving.", "complexity": "low" } }, { "id": "40d4a1f6-576c-438a-b20f-ba161d9bd3ee", "result": { "structured": "TRIGGER: When person alexander [person.alexander] OR person irina [person.irina] enters zone domofon [zone.domofon]. ACTIONS: 1. Turn on domofon automatically open once switch [switch.domofon_automatically_open_once]. 2. Turn on domofon mute sound once switch [switch.domofon_mute_sound_once]. 3. Send a Telegram notification with message '_Домофон_: включен режим однократного авто-открытия.'. 4. Wait for entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] to open (state 'on') for up to 10 minutes. 5. If domofon automatically open once switch [switch.domofon_automatically_open_once] is on, then: a. Turn off domofon automatically open once switch [switch.domofon_automatically_open_once]. b. Turn off domofon mute sound once switch [switch.domofon_mute_sound_once]. c. Send a Telegram notification with message '_Домофон_: отключен режим однократного авто-открытия.'.", "natural_language": { "trigger": "When either person alexander [person.alexander] or person irina [person.irina] enters the zone domofon [zone.domofon].", "conditions": "There are no explicit conditions; the automation proceeds directly to actions upon the trigger.", "action": "The automation first turns on the domofon automatically open once switch [switch.domofon_automatically_open_once] and the domofon mute sound once switch [switch.domofon_mute_sound_once], and sends a Telegram notification stating the single auto-open mode is enabled. It then waits for the entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] to open (report 'on') for up to 10 minutes. After the door opens or the timeout expires, if the domofon automatically open once switch [switch.domofon_automatically_open_once] is still on, it turns off both that switch and the domofon mute sound once switch [switch.domofon_mute_sound_once], and sends a notification that the single auto-open mode is disabled." }, "human_like": "When someone arrives at the intercom zone, it temporarily enables a one-time automatic opening and sound muting for the door, then disables them after the door is opened or after 10 minutes.", "complexity": "medium" } }, { "id": "420fe43c-f00d-46b6-a787-032b0c58bd47", "result": { "structured": "TRIGGER: When doorbell ringing sensor [binary_sensor.doorbell_ringing] becomes on. CONDITIONS: None. ACTIONS: Choose one of two sequences based on conditions. IF (doorbell mute input boolean [input_boolean.doorbell_mute] is on) THEN: Turn on galaxy tab a 8 0 2019 screen switch [switch.galaxy_tab_a_8_0_2019_screen], Press galaxy tab a 8 0 2019 load start url button [button.galaxy_tab_a_8_0_2019_load_start_url], Send a photo to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with caption indicating the doorbell is muted, Send a message to Secret TLG Group Flat 1 [secret tlg_group_flat_1], Play a TTS announcement on yandex station mini2 гостиная [media_player.yandex_station_mini2_gostinaia] with volume set to 0.5 if time is between 21:00 and 09:00, otherwise 0.7. ELSE IF (doorbell mute input boolean [input_boolean.doorbell_mute] is off AND sonoff mini r2 01 doorbell switch [switch.sonoff_mini_r2_01_doorbell] is off) THEN: Turn on sonoff mini r2 01 doorbell switch [switch.sonoff_mini_r2_01_doorbell], Turn on galaxy tab a 8 0 2019 screen switch [switch.galaxy_tab_a_8_0_2019_screen], Press galaxy tab a 8 0 2019 load start url button [button.galaxy_tab_a_8_0_2019_load_start_url], Send a photo to Secret TLG Group Flat 1 [secret tlg_group_flat_1], Send a message to Secret TLG Group Flat 1 [secret tlg_group_flat_1].", "natural_language": { "trigger": "The automation is triggered when the doorbell ringing sensor [binary_sensor.doorbell_ringing] detects that the doorbell is ringing (changes to 'on').", "conditions": "There are no global conditions. The actions are selected based on the state of other entities at the moment of the trigger.", "action": "The automation performs one of two sets of actions depending on the current settings. If the doorbell mute input boolean [input_boolean.doorbell_mute] is on, it will turn on a tablet screen, load a URL on it, send a photo and a message to a Telegram group indicating the doorbell is muted, and play a text-to-speech announcement on a smart speaker with a volume that adjusts for nighttime. If the doorbell is not muted and the physical doorbell switch [switch.sonoff_mini_r2_01_doorbell] is off, it will first turn on that doorbell switch, then perform the same actions of turning on the tablet screen, loading a URL, and sending a photo and message to the Telegram group, but without the 'muted' caption and without the TTS announcement." }, "human_like": "This automation manages doorbell notifications, either playing a sound and sending alerts when the doorbell rings normally, or sending silent notifications and a TTS announcement when the doorbell is muted.", "complexity": "medium" } }, { "id": "325f3e23-39b1-47f5-a415-e5da5e4845e3", "result": { "structured": "TRIGGER: When the time is 21:00:00 OR When the time is 08:00:00. CONDITIONS: None. ACTIONS: If the trigger is 21:00:00, then turn on doorbell mute input boolean [input_boolean.doorbell_mute]. If the trigger is 08:00:00, then turn off doorbell mute input boolean [input_boolean.doorbell_mute].", "natural_language": { "trigger": "The automation runs at two specific times: 9:00 PM and 8:00 AM.", "conditions": "There are no additional conditions to check.", "action": "At 9:00 PM, the automation turns on the doorbell mute input boolean [input_boolean.doorbell_mute]. At 8:00 AM, it turns the same input boolean off." }, "human_like": "Automatically mutes the doorbell at night and unmutes it in the morning.", "complexity": "low" } }, { "id": "7dc9e636-2951-407e-b50f-31d6b0b22961", "result": { "structured": "TRIGGER: At 15 minutes past every hour (time pattern: hours: /1, minutes: '15'). CONDITIONS: mes 07762 153 47 account sensor [sensor.mes_07762_153_47_account] state is NOT 'unavailable'. ACTIONS: Set apartment enegry start time peak 1 input datetime [input_datetime.apartment_enegry_start_time_peak_1] time to the value extracted from the 'zone_t1_description' attribute of mes 07762 153 47 account sensor [sensor.mes_07762_153_47_account] (first time range, formatted as HH:MM:00). Set apartment enegry start time peak 2 input datetime [input_datetime.apartment_enegry_start_time_peak_2] time to the value extracted from the 'zone_t1_description' attribute of mes 07762 153 47 account sensor [sensor.mes_07762_153_47_account] (second time range, formatted as HH:MM:00). Set apartment enegry start time halfpeak 1 input datetime [input_datetime.apartment_enegry_start_time_halfpeak_1] time to the value extracted from the 'zone_t3_description' attribute of mes 07762 153 47 account sensor [sensor.mes_07762_153_47_account] (first time range, formatted as HH:MM:00). Set apartment enegry start time halfpeak 2 input datetime [input_datetime.apartment_enegry_start_time_halfpeak_2] time to the value extracted from the 'zone_t3_description' attribute of mes 07762 153 47 account sensor [sensor.mes_07762_153_47_account] (second time range, formatted as HH:MM:00). Set apartment enegry start time night input datetime [input_datetime.apartment_enegry_start_time_night] time to the value extracted from the 'zone_t2_description' attribute of mes 07762 153 47 account sensor [sensor.mes_07762_153_47_account] (first time range, formatted as HH:MM:00).", "natural_language": { "trigger": "The automation runs every hour at 15 minutes past the hour.", "conditions": "The mes 07762 153 47 account sensor [sensor.mes_07762_153_47_account] must be available; its state cannot be 'unavailable'.", "action": "It updates five different time input entities. It extracts time information from specific attributes of the mes 07762 153 47 account sensor [sensor.mes_07762_153_47_account] to set the start times for different electricity tariff periods. Specifically, it sets the start time for the first and second peak periods, the first and second half-peak periods, and the night period. The times are formatted to ensure a leading zero for hours less than 10." }, "human_like": "Updates the scheduled start times for various electricity tariff periods (peak, half-peak, and night) every hour, based on data from the energy account sensor.", "complexity": "medium" } }, { "id": "0266f51b-5a79-4c13-b925-f50952cc49ed", "result": { "structured": "TRIGGER: When the time matches apartment enegry start time peak 1 input datetime [input_datetime.apartment_enegry_start_time_peak_1] OR apartment enegry start time peak 2 input datetime [input_datetime.apartment_enegry_start_time_peak_2] OR When the time matches apartment enegry start time halfpeak 1 input datetime [input_datetime.apartment_enegry_start_time_halfpeak_1] OR apartment enegry start time halfpeak 2 input datetime [input_datetime.apartment_enegry_start_time_halfpeak_2] OR When the time matches apartment enegry start time night input datetime [input_datetime.apartment_enegry_start_time_night]. CONDITIONS: None. ACTIONS: Choose based on trigger: If trigger id is peak, set apartment enegry cost current input number [input_number.apartment_enegry_cost_current] to the value of apartment enegry cost peak sensor [sensor.apartment_enegry_cost_peak] AND set all energy utility meters group [group.all_energy_utility_meters] to 'peak'. If trigger id is halfpeak, set apartment enegry cost current input number [input_number.apartment_enegry_cost_current] to the value of apartment enegry cost halfpeak sensor [sensor.apartment_enegry_cost_halfpeak] AND set all energy utility meters group [group.all_energy_utility_meters] to 'halfpeak'. If trigger id is night, set apartment enegry cost current input number [input_number.apartment_enegry_cost_current] to the value of apartment enegry cost night sensor [sensor.apartment_enegry_cost_night] AND set all energy utility meters group [group.all_energy_utility_meters] to 'night'.", "natural_language": { "trigger": "The automation runs at specific scheduled times. It triggers when the current time matches the first or second peak start time, the first or second half-peak start time, or the night start time, as defined by their respective input_datetime entities.", "conditions": "There are no additional conditions to evaluate; the automation proceeds directly to actions based solely on which time trigger occurred.", "action": "Depending on which time triggered the automation, it updates the current electricity cost and the tariff label for all energy meters. For a peak time trigger, it sets the current cost to the peak rate and selects the 'peak' tariff. For a half-peak time trigger, it sets the current cost to the half-peak rate and selects the 'halfpeak' tariff. For a night time trigger, it sets the current cost to the night rate and selects the 'night' tariff." }, "human_like": "Automatically updates the apartment's electricity tariff and current cost based on the time of day, switching between peak, half-peak, and night rates.", "complexity": "medium" } }, { "id": "7acc6aec-3319-44e8-bf1c-dc36109f1b89", "result": { "structured": "TRIGGER: When a feedreader event occurs. CONDITIONS: (If the event link contains 'www.home-assistant.io' AND ha uptime sensor [sensor.ha_uptime] value is greater than 1) OR (If the event link contains 'alerts.home-assistant.io') OR (If the event link contains 'moscow.mchs.gov.ru'). ACTIONS: If the first condition is true, send a Telegram message to Secret TLG Group System [secret tlg_group_system] with an INFO title and a formatted message about a new Home Assistant post. If the second condition is true, send a Telegram message to Secret TLG Group System [secret tlg_group_system] with a WARNING title and a formatted message about a new Home Assistant alert. If the third condition is true, send a Telegram message to Secret TLG Group System [secret tlg_group_system] with a WARNING title and a formatted message about a new MCHS Moscow alert.", "natural_language": { "trigger": "Whenever a new RSS feed item is received, triggering a feedreader event.", "conditions": "The automation checks the link of the feed item. It proceeds if the link is from the Home Assistant website and the system has been up for more than one unit of time, or if the link is from the Home Assistant alerts website, or if the link is from the Moscow MCHS website.", "action": "Depending on which website the link is from, it sends a formatted notification to a specific Telegram group. For Home Assistant news, it sends an informational message. For Home Assistant alerts or Moscow MCHS alerts, it sends a warning message." }, "human_like": "Sends notifications to a Telegram group for new posts from the Home Assistant website, its alerts feed, and Moscow emergency services.", "complexity": "medium" } }, { "id": "816f1400-5e51-4e5c-bc3a-f07e1e4202dd", "result": { "structured": "TRIGGER: When git commint and push input button [input_button.git_commint_and_push] is pressed OR When timer.finished event occurs for git time to push timer [timer.git_time_to_push] OR When git autocommit input boolean [input_boolean.git_autocommit] changes from off to on OR When git number of modified files sensor [sensor.git_number_of_modified_files] changes state, excluding changes to/from unavailable or unknown. CONDITIONS: None (conditions are evaluated within choose actions). ACTIONS: Choose action based on trigger ID: 1) If trigger is button, run shell_command.git_commint_and_push and update git number of modified files sensor [sensor.git_number_of_modified_files]. 2) If trigger is enable AND git number of modified files sensor [sensor.git_number_of_modified_files] state > 0, start git time to push timer [timer.git_time_to_push]. 3) If trigger is timer_finished AND git autocommit input boolean [input_boolean.git_autocommit] is on, run shell_command.git_commint_and_push and update git number of modified files sensor [sensor.git_number_of_modified_files]; otherwise start git time to push timer [timer.git_time_to_push]. 4) If trigger is files, choose: If new state equals 0, cancel git time to push timer [timer.git_time_to_push]; If new state > previous state, start git time to push timer [timer.git_time_to_push].", "natural_language": { "trigger": "This automation can be triggered in four ways: when the git commint and push input button [input_button.git_commint_and_push] is pressed; when the git time to push timer [timer.git_time_to_push] finishes; when the git autocommit input boolean [input_boolean.git_autocommit] is switched on; or when the git number of modified files sensor [sensor.git_number_of_modified_files] changes, but not if it changes to or from an unavailable or unknown state.", "conditions": "There are no global conditions. Instead, the specific action taken depends entirely on which trigger fired, and some actions have their own internal checks.", "action": "Depending on what triggered the automation: 1) If the button was pressed, it runs the git commit and push command and then updates the file count sensor. 2) If autocommit was enabled and there are modified files, it starts a timer. 3) If the timer finished and autocommit is still on, it runs the commit command and updates the sensor; otherwise, it restarts the timer. 4) If the file count changed, it either cancels the timer if no files are left, or starts the timer if the number of files increased." }, "human_like": "Manages automatic Git commits for Home Assistant configuration changes, allowing manual pushes, scheduled pushes via a timer, and automatic triggering when files are modified.", "complexity": "high" } }, { "id": "b8a8f7d3-1875-4271-b576-1586f2ab425f", "result": { "structured": "TRIGGER: When a webhook with ID secret github_ha_repo_stars_webhook is received. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group System [secret tlg_group_system] with HTML formatting, web page preview disabled, title 'GitHub HA Repo:', and message 'Star {{ trigger.json.action }}\n\nhttps://github.com/avbor/HomeAssistantConfig/stargazers'.", "natural_language": { "trigger": "When a specific webhook (secret github_ha_repo_stars_webhook) is received, typically from a GitHub repository event.", "conditions": "There are no conditions; the action runs immediately upon trigger.", "action": "Sends a formatted notification to the Telegram group Secret TLG Group System [secret tlg_group_system], announcing that a star action occurred on the GitHub repository and providing a link to the stargazers page." }, "human_like": "Sends a Telegram notification when someone stars the Home Assistant configuration GitHub repository.", "complexity": "low" } }, { "id": "992f84be-ee32-497c-833f-7ddc8eb574a4", "result": { "structured": "TRIGGER: When smartmi humidifier 01 детская water level sensor [sensor.smartmi_humidifier_01_detskaia_water_level] OR smartmi humidifier 02 спальня water level sensor [sensor.smartmi_humidifier_02_spalnia_water_level] reports a numeric state below 15. CONDITIONS: The new state value of the triggering sensor is not equal to zero. ACTIONS: Send a Telegram notification. The message identifies which humidifier triggered the alert based on its entity ID and includes the current water level percentage.", "natural_language": { "trigger": "When the water level sensor for either the Smartmi humidifier in the nursery [sensor.smartmi_humidifier_01_detskaia_water_level] or the Smartmi humidifier in the bedroom [sensor.smartmi_humidifier_02_spalnia_water_level] falls below 15%.", "conditions": "The condition checks that the new water level reading is not zero, ensuring the alert is not sent for an empty or invalid reading.", "action": "Sends a formatted message to a Telegram group. The message specifies which humidifier (either \"Smartmi Humidifier 01 (Детская)\" or \"Smartmi Humidifier 02 (Спальня)\") is low on water and includes the exact remaining water percentage." }, "human_like": "Sends a Telegram alert when the water level in either the nursery or bedroom humidifier gets low, but not empty.", "complexity": "medium" } }, { "id": "41f9fd8c-50e9-43d3-8f1a-777705683f72", "result": { "structured": "TRIGGER: When smartmi humidifier 01 детская water level sensor [sensor.smartmi_humidifier_01_detskaia_water_level] OR smartmi humidifier 02 спальня water level sensor [sensor.smartmi_humidifier_02_spalnia_water_level] reports a numeric state below 10. CONDITIONS: The new state value (trigger.to_state.state) is not equal to 0. ACTIONS: Turn off the corresponding humidifier (smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] if the trigger entity contains '_01_', OR smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia] if the trigger entity contains '_02_'). Send a Telegram notification with a message indicating which humidifier was turned off and the water level percentage.", "natural_language": { "trigger": "When the water level sensor for either the nursery humidifier [sensor.smartmi_humidifier_01_detskaia_water_level] or the bedroom humidifier [sensor.smartmi_humidifier_02_spalnia_water_level] drops below 10%.", "conditions": "The reported water level value must not be exactly 0.", "action": "The corresponding humidifier is turned off, and a message is sent to a Telegram group. The message specifies which humidifier (nursery or bedroom) was turned off and includes the exact water level percentage that triggered the action." }, "human_like": "Automatically turns off a Smartmi humidifier and sends a notification when its water level gets low (but not empty).", "complexity": "medium" } }, { "id": "dd7a9cd6-0161-4af7-9dce-3359e27dfb7c", "result": { "structured": "TRIGGER: When smartmi humidifier 01 детская mode input select [input_select.smartmi_humidifier_01_detskaia_mode] changes state. CONDITIONS: None. ACTIONS: Call script 'set_smartmi_humidifier_mode' with data: humidifier_entity set to smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] and humidifier_mode set to the new state of the trigger entity.", "natural_language": { "trigger": "Whenever the selected mode on the smartmi humidifier 01 детская mode input select [input_select.smartmi_humidifier_01_detskaia_mode] changes.", "conditions": "There are no conditions that must be met.", "action": "It runs a script named 'set_smartmi_humidifier_mode', passing the smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] and the newly selected mode as parameters to set the humidifier to that mode." }, "human_like": "Updates the nursery humidifier's operating mode whenever a user changes the mode selection.", "complexity": "low" } }, { "id": "8d2b93ea-d103-42e7-90bb-8ee4ca5c0648", "result": { "structured": "TRIGGER: When smartmi humidifier 01 детская mode sensor [sensor.smartmi_humidifier_01_detskaia_mode] changes to Auto, Silent, Medium, or High, but not from unavailable or unknown. CONDITIONS: None. ACTIONS: If the state of smartmi humidifier 01 детская mode sensor [sensor.smartmi_humidifier_01_detskaia_mode] is not equal to the state of smartmi humidifier 01 детская mode input select [input_select.smartmi_humidifier_01_detskaia_mode], then set the option of smartmi humidifier 01 детсая mode input select [input_select.smartmi_humidifier_01_detskaia_mode] to the current state of smartmi humidifier 01 детская mode sensor [sensor.smartmi_humidifier_01_detskaia_mode].", "natural_language": { "trigger": "When the smartmi humidifier 01 детская mode sensor [sensor.smartmi_humidifier_01_detskaia_mode] changes to one of its valid operating modes: Auto, Silent, Medium, or High, but only if the previous state was not 'unavailable' or 'unknown'.", "conditions": "There are no additional conditions that must be met.", "action": "If the current mode reported by the sensor does not match the currently selected mode in the input select, then update the input select to match the sensor's reported mode." }, "human_like": "Keeps the input select for the nursery humidifier's mode synchronized with the actual mode reported by the device.", "complexity": "low" } }, { "id": "cb8d8af5-8a41-4ed8-a1c1-05b4a823fcdd", "result": { "structured": "TRIGGER: At 20:00:00. CONDITIONS: smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] is off AND humidity in nursery sensor [sensor.humidity_in_nursery] is below target humidity 01 детская input number [input_number.target_humidity_01_detskaia] AND smartmi humidifier 01 детская water level sensor [sensor.smartmi_humidifier_01_detskaia_water_level] is above 25. ACTIONS: Turn on smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia].", "natural_language": { "trigger": "Every day at 8:00 PM.", "conditions": "The smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] must be off, the current humidity in the nursery [sensor.humidity_in_nursery] must be lower than the target humidity set on the target humidity 01 детская input number [input_number.target_humidity_01_detskaia], and the water level of the humidifier [sensor.smartmi_humidifier_01_detskaia_water_level] must be above 25%.", "action": "Turn on the smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia]." }, "human_like": "Turns on the nursery humidifier at 8 PM if the room is too dry, the humidifier is off, and there is enough water.", "complexity": "low" } }, { "id": "e2a3cd54-5f73-4e8c-b110-483c2f6be654", "result": { "structured": "TRIGGER: At 07:00:00. CONDITIONS: smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] is on AND smartmi humidifier 01 детская autocontrol input boolean [input_boolean.smartmi_humidifier_01_detskaia_autocontrol] is off. ACTIONS: Turn off smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia].", "natural_language": { "trigger": "At exactly 7:00 AM.", "conditions": "If the smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] is currently on, and the smartmi humidifier 01 детская autocontrol input boolean [input_boolean.smartmi_humidifier_01_detskaia_autocontrol] is turned off.", "action": "Turns off the smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia]." }, "human_like": "Turns off the nursery humidifier at 7 AM if it's running and automatic control is disabled.", "complexity": "low" } }, { "id": "c948d3e9-40c8-48f8-a8d8-dba65319d61b", "result": { "structured": "TRIGGER: When humidity in nursery sensor [sensor.humidity_in_nursery] OR target humidity 01 детская input number [input_number.target_humidity_01_detskaia] OR smartmi humidifier 01 детская autocontrol input boolean [input_boolean.smartmi_humidifier_01_detskaia_autocontrol] changes state. CONDITIONS: smartmi humidifier 01 детская autocontrol input boolean [input_boolean.smartmi_humidifier_01_detskaia_autocontrol] is on AND (the rounded value of humidity in nursery sensor [sensor.humidity_in_nursery] is less than the integer value of target humidity 01 детская input number [input_number.target_humidity_01_detskaia]) AND smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] is off AND smartmi humidifier 01 детская water level sensor [sensor.smartmi_humidifier_01_detskaia_water_level] is above 15. ACTIONS: Turn on smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia].", "natural_language": { "trigger": "When the humidity reading in the nursery, the target humidity setting, or the humidifier's auto-control switch changes state.", "conditions": "The humidifier's auto-control switch must be turned on. The current humidity in the nursery, rounded to the nearest whole number, must be lower than the target humidity setting. The humidifier itself must currently be off. Finally, the humidifier's water level must be above 15%.", "action": "Turn on the smartmi humidifier in the nursery." }, "human_like": "Automatically turns on the nursery humidifier when the room's humidity drops below the target level, provided auto-control is enabled and there is enough water.", "complexity": "medium" } }, { "id": "ce34b5e0-d1d9-45b0-8a66-65eb392383ec", "result": { "structured": "TRIGGER: When humidity in nursery sensor [sensor.humidity_in_nursery] changes state OR target humidity 01 детская input number [input_number.target_humidity_01_detskaia] changes state OR smartmi humidifier 01 детская autocontrol input boolean [input_boolean.smartmi_humidifier_01_detskaia_autocontrol] changes state. CONDITIONS: smartmi humidifier 01 детская autocontrol input boolean [input_boolean.smartmi_humidifier_01_detskaia_autocontrol] is on AND (rounded humidity in nursery sensor [sensor.humidity_in_nursery] value) is greater than or equal to (target humidity 01 детская input number [input_number.target_humidity_01_detskaia] value) AND smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia] is on. ACTIONS: Turn off smartmi humidifier 01 детская humidifier [humidifier.smartmi_humidifier_01_detskaia].", "natural_language": { "trigger": "When the humidity reading in the nursery changes, or the target humidity setting changes, or the automatic control switch for the humidifier changes state.", "conditions": "The automatic control for the humidifier must be enabled, the current humidity in the nursery must be at or above the target humidity level, and the humidifier must currently be running.", "action": "Turns off the smartmi humidifier in the nursery." }, "human_like": "Automatically turns off the nursery humidifier when the room humidity reaches or exceeds the target level, provided automatic control is enabled.", "complexity": "medium" } }, { "id": "23a943a3-9594-4392-bdb4-468eccc9a50b", "result": { "structured": "TRIGGER: When smartmi humidifier 02 спальня mode input select [input_select.smartmi_humidifier_02_spalnia_mode] changes state. CONDITIONS: None. ACTIONS: Execute script 'set_smartmi_humidifier_mode' with parameters: humidifier_entity set to smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia] and humidifier_mode set to the new state of the trigger entity.", "natural_language": { "trigger": "Whenever the mode selection for the humidifier, smartmi humidifier 02 спальня mode input select [input_select.smartmi_humidifier_02_spalnia_mode], is changed.", "conditions": "There are no additional conditions that must be met.", "action": "Calls a script named 'set_smartmi_humidifier_mode' to apply the newly selected mode to the smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia]." }, "human_like": "Updates the humidifier's operating mode whenever a user changes the mode selector in the interface.", "complexity": "low" } }, { "id": "501ee548-817e-4210-af88-dcbbd2d4d2de", "result": { "structured": "TRIGGER: When smartmi humidifier 02 спальня mode sensor [sensor.smartmi_humidifier_02_spalnia_mode] changes to a new state of Auto, Silent, Medium, or High, provided the previous state was not unavailable or unknown. CONDITIONS: None. ACTIONS: If the current state of smartmi humidifier 02 спальня mode sensor [sensor.smartmi_humidifier_02_spalnia_mode] is different from the current state of smartmi humidifier 02 спальня mode input select [input_select.smartmi_humidifier_02_spalnia_mode], then set the option of smartmi humidifier 02 спальня mode input select [input_select.smartmi_humidifier_02_spalnia_mode] to match the current state of smartmi humidifier 02 спальня mode sensor [sensor.smartmi_humidifier_02_spalnia_mode].", "natural_language": { "trigger": "When the smartmi humidifier 02 спальня mode sensor [sensor.smartmi_humidifier_02_spalnia_mode] changes to a valid mode, such as Auto, Silent, Medium, or High, but not from an unavailable or unknown state.", "conditions": "There are no additional conditions that must be met.", "action": "If the mode reported by the sensor is different from the currently selected mode in the input select, then update the input select to match the sensor's current mode." }, "human_like": "Keeps the mode selection for the bedroom humidifier in sync with the actual mode reported by the device.", "complexity": "low" } }, { "id": "a9f8c4d8-7b10-4128-8411-1aa68a330760", "result": { "structured": "TRIGGER: When humidity in bedroom sensor [sensor.humidity_in_bedroom] OR target humidity 02 спальня input number [input_number.target_humidity_02_spalnia] OR smartmi humidifier 02 спальня autocontrol input boolean [input_boolean.smartmi_humidifier_02_spalnia_autocontrol] changes state. CONDITIONS: smartmi humidifier 02 спальня autocontrol input boolean [input_boolean.smartmi_humidifier_02_spalnia_autocontrol] is on AND (rounded humidity in bedroom sensor [sensor.humidity_in_bedroom] is less than target humidity 02 спальня input number [input_number.target_humidity_02_spalnia]) AND smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia] is off AND smartmi humidifier 02 спальня water level sensor [sensor.smartmi_humidifier_02_spalnia_water_level] is above 15%. ACTIONS: Turn on smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia].", "natural_language": { "trigger": "When the humidity in bedroom sensor [sensor.humidity_in_bedroom], the target humidity setting [input_number.target_humidity_02_spalnia], or the autocontrol switch [input_boolean.smartmi_humidifier_02_spalnia_autocontrol] changes.", "conditions": "The autocontrol switch [input_boolean.smartmi_humidifier_02_spalnia_autocontrol] must be on. The current humidity, rounded to the nearest whole number, must be below the target humidity setpoint. The humidifier [humidifier.smartmi_humidifier_02_spalnia] must currently be off. The humidifier's water level [sensor.smartmi_humidifier_02_spalnia_water_level] must be above 15%.", "action": "Turn on the smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia]." }, "human_like": "Automatically turns on the bedroom humidifier when the room humidity is below the target level, provided autocontrol is enabled and there is sufficient water.", "complexity": "medium" } }, { "id": "ec2f9de0-dacb-4a84-b0c9-0b5eb8e2b4f9", "result": { "structured": "TRIGGER: When humidity in bedroom sensor [sensor.humidity_in_bedroom] changes state OR target humidity 02 спальня input number [input_number.target_humidity_02_spalnia] changes state OR smartmi humidifier 02 спальня autocontrol input boolean [input_boolean.smartmi_humidifier_02_spalnia_autocontrol] changes state. CONDITIONS: smartmi humidifier 02 спальня autocontrol input boolean [input_boolean.smartmi_humidifier_02_spalnia_autocontrol] is on AND (humidity in bedroom sensor [sensor.humidity_in_bedroom] rounded to nearest integer is greater than or equal to target humidity 02 спальня input number [input_number.target_humidity_02_spalnia] as integer) AND smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia] is on. ACTIONS: Turn off smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia].", "natural_language": { "trigger": "When the humidity reading from the humidity in bedroom sensor [sensor.humidity_in_bedroom] changes, or when the target humidity value from target humidity 02 спальня input number [input_number.target_humidity_02_spalnia] is adjusted, or when the automatic control switch smartmi humidifier 02 спальня autocontrol input boolean [input_boolean.smartmi_humidifier_02_spalnia_autocontrol] is toggled.", "conditions": "The automatic control for the humidifier must be enabled, meaning smartmi humidifier 02 спальня autocontrol input boolean [input_boolean.smartmi_humidifier_02_spalnia_autocontrol] is set to on. The current humidity, rounded to the nearest whole number, must be at or above the target humidity value. Finally, the humidifier itself must currently be running.", "action": "Turns off the smartmi humidifier 02 спальня humidifier [humidifier.smartmi_humidifier_02_spalnia]." }, "human_like": "Automatically turns off the bedroom humidifier when the room humidity reaches or exceeds the target level and automatic control is enabled.", "complexity": "medium" } }, { "id": "24f83b60-8392-4278-8725-6d1a33a0a483", "result": { "structured": "TRIGGER: When outdoor illuminance sensor [sensor.outdoor_illuminance] remains below kitchen covers illuminance threshold input number [input_number.kitchen_covers_illuminance_threshold] for 10 minutes OR When outdoor illuminance sensor [sensor.outdoor_illuminance] remains above kitchen covers illuminance threshold input number [input_number.kitchen_covers_illuminance_threshold] for 10 minutes. CONDITIONS: kitchen covers auto input boolean [input_boolean.kitchen_covers_auto] is on. ACTIONS: If the trigger was 'dark', then if kitchen covers cover [cover.kitchen_covers] is open or opening, close it. If the trigger was 'lightly', then if kitchen covers cover [cover.kitchen_covers] is closed or closing, open it.", "natural_language": { "trigger": "When the outdoor illuminance sensor [sensor.outdoor_illuminance] stays below the set threshold for at least ten minutes, or when it stays above the set threshold for at least ten minutes.", "conditions": "The automation is only active if the kitchen covers auto input boolean [input_boolean.kitchen_covers_auto] is switched on.", "action": "If it gets dark (the illuminance stays below the threshold), the automation will close the kitchen covers cover [cover.kitchen_covers], but only if it is currently open or opening. If it gets light (the illuminance stays above the threshold), the automation will open the kitchen covers cover [cover.kitchen_covers], but only if it is currently closed or closing." }, "human_like": "Automatically opens or closes the kitchen window covers based on the outdoor light level, but only when the auto-mode is enabled.", "complexity": "medium" } }, { "id": "def20597-6652-43e3-836c-6a1e191967d3", "result": { "structured": "TRIGGER: When a ZHA event occurs for device with IEEE address 50:32:5f:ff:fe:70:d7:69. CONDITIONS: None. ACTIONS: If the event command is 'on' OR 'move_with_on_off', then open Kitchen covers cover [cover.kitchen_covers]. If the event command is 'off' OR 'move', then close Kitchen covers cover [cover.kitchen_covers]. If the event command is 'stop', then stop Kitchen covers cover [cover.kitchen_covers].", "natural_language": { "trigger": "When a specific IKEA switch (device IEEE 50:32:5f:ff:fe:70:d7:69) sends a ZHA event.", "conditions": "There are no additional conditions that must be met.", "action": "Depending on the command sent by the switch: if the command is 'on' or 'move_with_on_off', the kitchen covers [cover.kitchen_covers] are opened. If the command is 'off' or 'move', the covers are closed. If the command is 'stop', the covers are stopped." }, "human_like": "Controls the kitchen window covers using an IKEA remote switch, opening, closing, or stopping them based on the button pressed.", "complexity": "medium" } }, { "id": "9a24416b-82b6-4fa8-81a7-ea6c71daa727", "result": { "structured": "TRIGGER: When bathroom presence timer [timer.bathroom_presence] becomes idle OR When lumi lumi sensor magnet on off sensor [binary_sensor.lumi_lumi_sensor_magnet_on_off] changes state OR When trust iaszone sensor [binary_sensor.trust_iaszone] turns on OR When 0xa4c138792ba1d268 presence sensor [binary_sensor.0xa4c138792ba1d268_presence] turns on OR When a ZHA event with device_ieee 00:15:8d:00:03:d1:77:62 and command click occurs. CONDITIONS: (Trigger is timer_idle AND (0xa4c138792ba1d268 presence sensor [binary_sensor.0xa4c138792ba1d268_presence] is on OR trust iaszone sensor [binary_sensor.trust_iaszone] is on OR (trust iaszone sensor [binary_sensor.trust_iaszone] is off AND ((time since trust iaszone sensor [binary_sensor.trust_iaszone] last changed > 300 seconds) OR (time since trust iaszone sensor [binary_sensor.trust_iaszone] last changed <= 300 seconds AND sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] is on AND after waiting 1 minute for trust iaszone sensor [binary_sensor.trust_iaszone] to be on, the wait times out))))) OR (Trigger is magnet AND (lumi lumi sensor magnet on off sensor [binary_sensor.lumi_lumi_sensor_magnet_on_off] changed from off to on AND sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] is off) OR (lumi lumi sensor magnet on off sensor [binary_sensor.lumi_lumi_sensor_magnet_on_off] changed from on to off AND trust iaszone sensor [binary_sensor.trust_iaszone] is off AND sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] is on AND (bathroom extractor fan [fan.bathroom_extractor] is on AND bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] is off)))) OR (Trigger is presence_on) OR (Trigger is motion_on) OR (Trigger is click AND ((click_type is single AND (sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] is on AND bathroom extractor fan [fan.bathroom_extractor] is off) OR (sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] is off AND bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] is off)) OR (click_type is double))). ACTIONS: (If timer_idle trigger AND 0xa4c138792ba1d268 presence sensor [binary_sensor.0xa4c138792ba1d268_presence] is on, start bathroom presence timer [timer.bathroom_presence]) OR (If timer_idle trigger AND trust iaszone sensor [binary_sensor.trust_iaszone] is on, start bathroom presence timer [timer.bathroom_presence]) OR (If timer_idle trigger AND trust iaszone sensor [binary_sensor.trust_iaszone] is off AND time since last change > 300 seconds, turn off sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] (if on) AND turn off bathroom extractor fan [fan.bathroom_extractor] (if on AND bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] is off)) OR (If timer_idle trigger AND trust iaszone sensor [binary_sensor.trust_iaszone] is off AND time since last change <= 300 seconds, turn off sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] (if on), wait 0.3 seconds, turn on sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off], wait up to 1 minute for trust iaszone sensor [binary_sensor.trust_iaszone] to be on, and if wait times out, turn off sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] (if on) AND turn off bathroom extractor fan [fan.bathroom_extractor] (if on AND bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] is off)) OR (If magnet trigger AND changed from off to on AND sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] is off, turn on sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] AND start bathroom presence timer [timer.bathroom_presence]) OR (If magnet trigger AND changed from on to off AND trust iaszone sensor [binary_sensor.trust_iaszone] is off, turn off sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] (if on) AND turn off bathroom extractor fan [fan.bathroom_extractor] (if on AND bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] is off)) OR (If presence_on trigger, start bathroom presence timer [timer.bathroom_presence]) OR (If motion_on trigger, start bathroom presence timer [timer.bathroom_presence] AND turn on bathroom extractor fan [fan.bathroom_extractor] (if off) AND turn on sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off] (if off)) OR (If click trigger AND click_type is single, toggle sonoff zbmini 04 on off light [light.sonoff_zbmini_04_on_off], wait 2 seconds, then if light is on, turn on bathroom extractor fan [fan.bathroom_extractor], else if light is off AND bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] is off, turn off bathroom extractor fan [fan.bathroom_extractor]) OR (If click trigger AND click_type is double, toggle bathroom extractor fan [fan.bathroom_extractor]).", "natural_language": { "trigger": "The automation can be triggered in five ways: when the bathroom presence timer [timer.bathroom_presence] finishes and becomes idle; when the lumi lumi sensor magnet on off sensor [binary_sensor.lumi_lumi_sensor_magnet_on_off] changes its state (open/closed); when the trust iaszone sensor [binary_sensor.trust_iaszone] detects motion and turns on; when the 0xa4c138792ba1d268 presence sensor [binary_sensor.0xa4c138792ba1d268_presence] detects presence and turns on; or when a specific ZHA wireless button (with IEEE address 00:15:8d:00:03:d1:77:62) is clicked.", "conditions": "The actions taken depend heavily on which trigger occurred and the current state of other devices. For a timer idle trigger, the system checks if presence or motion is still detected to restart the timer, or if motion has stopped, it decides whether to turn off the lights and fan based on how long ago motion was last seen. For a magnet sensor trigger, actions differ based on whether the door was opened or closed, and consider the current motion state and light status. For presence or motion triggers, the main condition is simply that the trigger occurred. For a button click trigger, the action depends on whether it was a single or double click and the subsequent state of the light.", "action": "The automation manages the bathroom light and extractor fan based on occupancy. It starts or restarts a presence timer when activity is detected. It turns the light on when the door opens or motion is detected, and turns it off when the timer expires and no further activity is found. It controls the fan, turning it on with motion or a button press, and off when the room is vacant and humidity is normal. A wireless button allows manual toggling of the light and fan." }, "human_like": "Automatically controls the bathroom light and fan based on door sensors, motion, presence detection, and a manual button, ensuring the room is lit when occupied and the fan runs when needed.", "complexity": "high" } }, { "id": "9c4552b3-11ee-4364-bf40-2b142c5f97e6", "result": { "structured": "TRIGGER: When bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] becomes high (on) AND remains for 3 minutes OR When bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] becomes normal (off) AND remains for 10 minutes. ACTIONS: If the trigger was high_humidity AND bathroom extractor fan [fan.bathroom_extractor] is off, then turn on bathroom extractor fan [fan.bathroom_extractor]. If the trigger was normal_humidity AND bathroom extractor fan [fan.bathroom_extractor] is on, then turn off bathroom extractor fan [fan.bathroom_extractor].", "natural_language": { "trigger": "When the bathroom high humidity sensor [binary_sensor.bathroom_high_humidity] detects high humidity for at least three minutes, or when it detects normal humidity for at least ten minutes.", "conditions": "The automation uses conditional actions. To turn the fan on, it checks that the fan is currently off. To turn the fan off, it checks that the fan is currently on.", "action": "If high humidity is detected, the bathroom extractor fan [fan.bathroom_extractor] is turned on, provided it was off. If normal humidity is detected, the fan is turned off, provided it was on." }, "human_like": "Automatically controls the bathroom extractor fan based on humidity levels, turning it on during high humidity and off when humidity returns to normal.", "complexity": "medium" } }, { "id": "ffd8dce9-55d7-449c-a5ed-280604c00930", "result": { "structured": "TRIGGER: When a ZHA event occurs from device with IEEE address 84:fd:27:ff:fe:90:a6:46 OR when a ZHA event occurs from device with IEEE address 84:fd:27:ff:fe:9e:e4:06. ACTIONS: Execute a choose action based on the event command: If command is 'on', toggle sonoff 1001053235 light [light.sonoff_1001053235]. If command is 'off', choose based on the state of light спальня bra group [group.light_spalnia_bra]: If the group is on, turn it off; if the group is off, turn it on. If command is 'move_with_on_off', toggle спальня стол light [light.spalnia_stol]. If command is 'move', turn off all lamps group [group.all_lamps].", "natural_language": { "trigger": "The automation is triggered by a ZHA event from either of two specific IKEA button devices, identified by their IEEE addresses.", "conditions": "There are no explicit conditions outside the action's choose blocks. The actions themselves are conditional on the command data within the trigger event.", "action": "Depending on the command received from the button press, different actions are performed: an 'on' command toggles a specific light, an 'off' command toggles the state of a light group, a 'move_with_on_off' command toggles a different light, and a 'move' command turns off a group containing all lamps." }, "human_like": "Controls various lights and groups in the bedroom using IKEA remote buttons, with different button presses mapped to different lighting actions.", "complexity": "medium" } }, { "id": "35fa00c7-72bd-4a5f-9bef-7bcf13a3bf49", "result": { "structured": "TRIGGER: At the time set in sunrise in bedroom input datetime [input_datetime.sunrise_in_bedroom]. CONDITIONS: (workday sensor [binary_sensor.workday_sensor] is on) AND (calendar semia alexander borisov vacation [calendar.semia_alexander_borisov_vacation] is off) AND (the sun is before sunrise with an offset of 30 minutes). ACTIONS: 1. Turn on sunrise in bedroom left script [script.sunrise_in_bedroom_left]. 2. Wait for living room oneplus 8t presence sensor [binary_sensor.living_room_oneplus_8t_presence] to change from off to on and remain on for 3 minutes, with a timeout of 30 minutes. 3. In parallel: IF sunrise in bedroom left script [script.sunrise_in_bedroom_left] is on THEN turn it off. IF ikea of sweden tradfri bulb e14 ws opal 600lm light 2 [light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light_2] is on THEN turn it off.", "natural_language": { "trigger": "The automation triggers at a specific time set by the sunrise in bedroom input datetime [input_datetime.sunrise_in_bedroom].", "conditions": "All of the following must be true: it is a workday (workday sensor [binary_sensor.workday_sensor] is on), there is no vacation scheduled (calendar semia alexander borisov vacation [calendar.semia_alexander_borisov_vacation] is off), and the current time is before sunrise, specifically within 30 minutes of sunrise.", "action": "First, it starts a sunrise simulation in the bedroom by turning on the sunrise in bedroom left script [script.sunrise_in_bedroom_left]. Then, it waits for a specific phone to be present in the living room, detected by the living room oneplus 8t presence sensor [binary_sensor.living_room_oneplus_8t_presence] being on for three minutes. It will wait up to 30 minutes for this to happen. Finally, after the wait (or when the timeout is reached), it performs two actions in parallel: if the sunrise simulation script is still running, it turns it off, and if a specific light (ikea of sweden tradfri bulb e14 ws opal 600lm light 2 [light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light_2]) is on, it turns that light off." }, "human_like": "Starts a sunrise light simulation in the bedroom on workday mornings before sunrise, then waits for someone to be in the living room before turning the simulation and another light off.", "complexity": "medium" } }, { "id": "b06cbc8a-6488-412b-8842-e6c72b004ff1", "result": { "structured": "TRIGGER: When family persons group [group.family_persons] remains in state 'not_home' for 5 minutes. CONDITIONS: all lamps group [group.all_lamps] is on. ACTIONS: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with a title 'Внимание' and a message listing the names of all lamps that are currently on, and provide an inline keyboard button to turn off all lamps.", "natural_language": { "trigger": "When the group tracking all family members, family persons group [group.family_persons], shows that everyone has been away from home for a continuous period of 5 minutes.", "conditions": "At least one light within the all lamps group [group.all_lamps] is currently switched on.", "action": "Sends a notification via Telegram to the chat Secret TLG Group Flat 1 [secret tlg_group_flat_1]. The message has a title 'Внимание' and lists the names of all the individual lights that are currently on. It also includes a button that, when pressed, will turn off all the lights in the group." }, "human_like": "Sends a Telegram alert with a list of lights left on when nobody has been home for 5 minutes, and provides a button to turn them all off.", "complexity": "medium" } }, { "id": "a395b9eb-6a18-40bd-a7f4-6e3f133049ba", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/turn_off_all_lamps'. CONDITIONS: None. ACTIONS: Turn off all lamps group [group.all_lamps]; answer the Telegram callback query with the message 'Команда отправлена'; edit the original Telegram message's reply markup to an empty inline keyboard; send a message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with the text 'Свет выключен.'.", "natural_language": { "trigger": "When a specific Telegram callback button is pressed, sending the command '/turn_off_all_lamps'.", "conditions": "There are no conditions that must be met for this automation to run.", "action": "It turns off all lights in the all lamps group [group.all_lamps], sends a confirmation message to the user who pressed the button, clears the inline keyboard from the original message, and sends a notification to the Secret TLG Group Flat 1 [secret tlg_group_flat_1] chat stating that the lights have been turned off." }, "human_like": "Turns off all lamps via a Telegram button press and sends a confirmation.", "complexity": "low" } }, { "id": "69f5d88e-f0b9-4f31-9951-fe9f7bd60906", "result": { "structured": "TRIGGER: When a ZHA event occurs for device with IEEE address 00:15:8d:00:04:5a:11:53 with command 'click' OR when a ZHA event occurs for device with IEEE address 00:15:8d:00:04:5a:11:53 with command 'hold'. CONDITIONS: None. ACTIONS: IF the trigger is 'click' THEN IF the click_type is 'single' THEN toggle sonoff 1000f2a500 light [light.sonoff_1000f2a500] ELSE IF the click_type is 'double' THEN toggle sonoff 1000f2f14a light [light.sonoff_1000f2f14a]. ELSE IF the trigger is 'hold' THEN turn off light детская group [group.light_detskaia] AND light прихожая group [group.light_prikhozhaya] AND light коридор group [group.light_koridor] AND light гостиная group [group.light_gostinaia] AND light кухня group [group.light_kukhnia] AND light кладовая group [group.light_kladovaya].", "natural_language": { "trigger": "When the Xiaomi button (device IEEE 00:15:8d:00:04:5a:11:53) sends a 'click' event or a 'hold' event.", "conditions": "There are no additional conditions that must be met.", "action": "If the button was clicked, the automation checks the type of click. A single click toggles the sonoff 1000f2a500 light [light.sonoff_1000f2a500] in the corridor. A double click toggles the sonoff 1000f2f14a light [light.sonoff_1000f2f14a] in the hallway. If the button is held down, it turns off a collection of light groups: the nursery lights [group.light_detskaia], the hallway lights [group.light_prikhozhaya], the corridor lights [group.light_koridor], the living room lights [group.light_gostinaia], the kitchen lights [group.light_kukhnia], and the storeroom lights [group.light_kladovaya]." }, "human_like": "A Xiaomi button in the corridor controls specific lights with single and double clicks, and holding the button turns off all main lights in the home.", "complexity": "medium" } }, { "id": "b564ba72-9799-4438-b7c0-2a72a61a864c", "result": { "structured": "TRIGGER: When hallway light timer [timer.hallway_light] changes state OR When entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes state OR When 0x158d000309920a motion sensor [binary_sensor.0x158d000309920a_motion] changes state. CONDITIONS AND ACTIONS: IF trigger is timer.hallway_light THEN: IF timer state becomes idle THEN: IF dafangcam 02 person occupancy sensor [binary_sensor.dafangcam_02_person_occupancy] is on THEN start hallway light timer [timer.hallway_light] ELSE IF 0x158d000309920a motion sensor [binary_sensor.0x158d000309920a_motion] is on THEN start hallway light timer [timer.hallway_light] ELSE IF 0x158d000309920a motion sensor [binary_sensor.0x158d000309920a_motion] is off THEN turn off sonoff 1000f2f14a light [light.sonoff_1000f2f14a]. IF trigger is entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] THEN: IF state changes from off to on THEN turn on sonoff 1000f2f14a light [light.sonoff_1000f2f14a] AND start hallway light timer [timer.hallway_light]. IF trigger is 0x158d000309920a motion sensor [binary_sensor.0x158d000309920a_motion] THEN: IF state changes to on THEN start hallway light timer [timer.hallway_light] AND IF sonoff 1000f2f14a light [light.sonoff_1000f2f14a] is off THEN turn it on. IF state changes to off THEN finish hallway light timer [timer.hallway_light].", "natural_language": { "trigger": "The automation is triggered by any change in the state of the hallway light timer [timer.hallway_light], the entrance door contact sensor [binary_sensor.0x158d00031c790f_contact], or the 0x158d000309920a motion sensor [binary_sensor.0x158d000309920a_motion].", "conditions": "The actions taken depend on which entity triggered the automation and its specific state change. For a timer trigger, it checks if the timer became idle and then evaluates the state of other sensors. For a door contact trigger, it checks if the door was opened. For a motion trigger, it checks if motion was detected or stopped.", "action": "Depending on the trigger and conditions, the automation will either turn the hallway light on or off, and start, restart, or finish the hallway light timer to manage how long the light stays on after activity." }, "human_like": "Automatically controls the hallway light based on motion, door openings, and a timer, ensuring the light is on when needed and turns off after a period of inactivity.", "complexity": "high" } }, { "id": "c8299171-1d2a-428f-8f5f-d24d28e82b48", "result": { "structured": "TRIGGER: When a ZHA event occurs for device with IEEE address 00:15:8d:00:04:5a:11:b1 and command is 'click' OR when a ZHA event occurs for device with IEEE address 00:15:8d:00:04:5a:11:b1 and command is 'hold'. CONDITIONS: None. ACTIONS: If the trigger was 'click', then evaluate the click_type argument: If click_type is 'single', toggle sonoff 1000f2f14a light [light.sonoff_1000f2f14a]. If click_type is 'double', toggle sonoff 1000f2a500 light [light.sonoff_1000f2a500]. If the trigger was 'hold', turn off all lamps group [group.all_lamps].", "natural_language": { "trigger": "When the Xiaomi button in the hallway sends a 'click' or a 'hold' ZHA event.", "conditions": "There are no additional conditions.", "action": "If the button was clicked, the action depends on the click type: a single click toggles the hallway light [light.sonoff_1000f2f14a], and a double click toggles the corridor light [light.sonoff_1000f2a500]. If the button is held, it turns off all the lights in the house [group.all_lamps]." }, "human_like": "A Xiaomi button in the hallway controls different lights: single click toggles the hallway light, double click toggles the corridor light, and holding the button turns off all lamps.", "complexity": "medium" } }, { "id": "3dd87840-2d90-4823-a4af-844395be2a2a", "result": { "structured": "TRIGGER: When a ZHA event occurs for device with IEEE address 00:15:8d:00:03:5f:f6:31 and the command is 'click'. CONDITIONS: None. ACTIONS: If the event's click_type argument is 'single', then toggle кухня лента light [light.kukhnia_lenta]. If the event's click_type argument is 'double', then toggle ikea e27 кухня light [light.ikea_e27_kukhnia].", "natural_language": { "trigger": "When a specific Xiaomi button (device IEEE 00:15:8d:00:03:5f:f6:31) sends a 'click' event.", "conditions": "There are no additional conditions that must be met.", "action": "Depending on the type of click, the automation toggles a different light. A single click toggles the kitchen strip light [light.kukhnia_lenta], while a double click toggles the kitchen's IKEA E27 bulb [light.ikea_e27_kukhnia]." }, "human_like": "A Xiaomi button in the kitchen toggles different lights based on whether it is clicked once or twice.", "complexity": "medium" } }, { "id": "72c4f7ac-f72c-47fd-bf06-6e3671d12b1d", "result": { "structured": "TRIGGER: When 0x158d0003fac0ec motion sensor [binary_sensor.0x158d0003fac0ec_motion] detects motion (changes to 'on'). CONDITIONS: 0x158d0003fac0ec illuminance sensor [sensor.0x158d0003fac0ec_illuminance] reports a value below 10. ACTIONS: Turn on кухня лента light [light.kukhnia_lenta].", "natural_language": { "trigger": "When the 0x158d0003fac0ec motion sensor [binary_sensor.0x158d0003fac0ec_motion] detects motion.", "conditions": "The ambient light level, measured by the 0x158d0003fac0ec illuminance sensor [sensor.0x158d0003fac0ec_illuminance], is below 10 lux.", "action": "Turns on the kitchen strip light, кухня лента light [light.kukhnia_lenta]." }, "human_like": "Turns on the kitchen light strip when motion is detected and the room is dark.", "complexity": "low" } }, { "id": "47413029-b8c2-4ec1-ad98-7c72b271766d", "result": { "structured": "TRIGGER: When 0x158d0003fac0ec motion sensor [binary_sensor.0x158d0003fac0ec_motion] stops detecting motion (state changes to 'off') AND remains in that state for 3 minutes. CONDITIONS: None. ACTIONS: Turn off кухня лента light [light.kukhnia_lenta].", "natural_language": { "trigger": "When the 0x158d0003fac0ec motion sensor [binary_sensor.0x158d0003fac0ec_motion] no longer detects any motion and stays in that state for three minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Turns off the kitchen strip light, кухня лента light [light.kukhnia_lenta]." }, "human_like": "Turns off the kitchen strip light three minutes after motion is no longer detected.", "complexity": "low" } }, { "id": "20b084dc-0393-44e3-897d-3cec019647a1", "result": { "structured": "TRIGGER: When a ZHA event occurs for device 00:15:8d:00:03:5a:9b:c5 with command 'click' OR When a ZHA event occurs for device 00:15:8d:00:03:5a:9b:c5 with command 'hold'. CONDITIONS: None. ACTIONS: If the trigger is 'click', then evaluate the click_type argument: If click_type is 'single', toggle sonoff 1000ab3c28 light [light.sonoff_1000ab3c28]; If click_type is 'double', toggle sonoff 1000f3035d light [light.sonoff_1000f3035d]. If the trigger is 'hold', toggle гостиная подсветка на окне light [light.gostinaia_podsvetka_na_okne].", "natural_language": { "trigger": "When a Xiaomi button (device 00:15:8d:00:03:5a:9b:c5) sends a 'click' event or a 'hold' event.", "conditions": "There are no additional conditions.", "action": "If the button was clicked, the action depends on the type of click: a single click toggles the sonoff 1000ab3c28 light [light.sonoff_1000ab3c28], and a double click toggles the sonoff 1000f3035d light [light.sonoff_1000f3035d]. If the button is held, it toggles the window accent light [light.gostinaia_podsvetka_na_okne] in the living room." }, "human_like": "A Xiaomi button in the living room controls different lights: single and double clicks toggle two main lights, while holding the button toggles the window accent lighting.", "complexity": "medium" } }, { "id": "32c18d2f-1d01-4458-b5e2-05048b73a3d7", "result": { "structured": "TRIGGER: When outdoor illuminance sensor [sensor.outdoor_illuminance] remains below livingroom window light illuminance threshold input number [input_number.livingroom_window_light_illuminance_threshold] for 10 minutes OR When outdoor illuminance sensor [sensor.outdoor_illuminance] remains above livingroom window light illuminance threshold input number [input_number.livingroom_window_light_illuminance_threshold] for 10 minutes OR When the time is 00:30:00 OR When family persons group [group.family_persons] changes from not_home to home. CONDITIONS: livingroom window light auto input boolean [input_boolean.livingroom_window_light_auto] is on. ACTIONS: Choose one action based on trigger conditions: 1. If triggered by dark (outdoor illuminance below threshold for 10 minutes) AND гостиная подсветка на окне light [light.gostinaia_podsvetka_na_okne] is off, then turn it on. 2. If triggered by lightly (outdoor illuminance above threshold for 10 minutes) OR time (00:30:00) AND гостиная подсветка на окне light [light.gostinaia_podsvetka_na_okne] is on, then turn it off. 3. If triggered by to_home (family persons group changes to home) AND outdoor illuminance sensor [sensor.outdoor_illuminance] is below livingroom window light illuminance threshold input number [input_number.livingroom_window_light_illuminance_threshold] AND гостиная подсветка на окне light [light.gostinaia_podsvetka_na_okne] is off, then turn it on.", "natural_language": { "trigger": "The automation can be triggered in four ways: when the outdoor illuminance sensor [sensor.outdoor_illuminance] stays below the defined threshold for at least 10 minutes; when it stays above the threshold for at least 10 minutes; at 12:30 AM (00:30); or when the family persons group [group.family_persons] changes its state from 'not_home' to 'home'.", "conditions": "The automation only runs if the livingroom window light auto input boolean [input_boolean.livingroom_window_light_auto] is switched on.", "action": "Depending on which trigger occurred, one of three actions is selected. If it gets dark outside, the window light [light.gostinaia_podsvetka_na_okne] is turned on, but only if it is currently off. If it gets bright outside or it is 12:30 AM, the light is turned off, but only if it is currently on. If the family arrives home while it is dark outside, the light is turned on, but only if it is currently off." }, "human_like": "Automatically controls the living room window light based on outdoor brightness, time of day, and whether someone is home, but only when the automation is enabled.", "complexity": "medium" } }, { "id": "94f03734-3e9f-47cd-80c6-af9f37236974", "result": { "structured": "TRIGGER: When a ZHA event occurs from device with IEEE address d0:cf:5e:ff:fe:33:93:f6. CONDITIONS: None. ACTIONS: Set variable target_lamp to ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off]. Then, based on the event command: IF command is 'toggle' THEN toggle ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off]. IF command is 'step_with_on_off' THEN increase brightness of ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off] by 8 steps. IF command is 'move_with_on_off' THEN repeatedly increase brightness of ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off] by 8 steps every 200 milliseconds until a 'stop' command event is received from the same device. IF command is 'step' THEN decrease brightness of ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off] by 8 steps. IF command is 'move' THEN repeatedly decrease brightness of ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off] by 8 steps every 200 milliseconds until a 'stop' command event is received from the same device. IF command is 'press' THEN IF button argument is 257 (left) THEN decrease color temperature of ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off] by 10, but not below 172. IF button argument is 256 (right) THEN increase color temperature of ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off] by 10, but not above 454. IF command is 'hold' THEN IF button argument is 3329 (left) THEN repeatedly decrease color temperature of ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off] by 10 (not below 172) every 200 milliseconds until a 'release' command event is received from the same device. IF button argument is 3328 (right) THEN repeatedly increase color temperature of ikea e27 level light color on off light [light.ikea_e27_level_light_color_on_off] by 10 (not above 454) every 200 milliseconds until a 'release' command event is received from the same device.", "natural_language": { "trigger": "When a specific IKEA remote control (with IEEE address d0:cf:5e:ff:fe:33:93:f6) sends a Zigbee Home Automation (ZHA) event.", "conditions": "There are no conditions that must be met before the actions run.", "action": "The automation first sets a variable to target the light named 'ikea e27 level light color on off light' [light.ikea_e27_level_light_color_on_off]. It then performs different actions depending on the button command received from the remote: Toggling the light on or off, stepping the brightness up or down, holding to continuously adjust brightness, pressing buttons to adjust the color temperature in single steps, or holding buttons to continuously adjust the color temperature. Continuous adjustments repeat every 200 milliseconds until a 'stop' or 'release' command is received from the same remote." }, "human_like": "Maps button presses on a specific IKEA remote control to control the brightness and color temperature of a light in the living room.", "complexity": "high" } }, { "id": "b1b33068-e33a-4955-94a0-80bc3b8f61fd", "result": { "structured": "TRIGGER: When a ZHA event with device_ieee 00:15:8d:00:03:3e:fd:9e and command 'click' occurs OR when a ZHA event with device_ieee 00:15:8d:00:03:3e:fd:9e and command 'hold' occurs. CONDITIONS: None (conditions are embedded within the choose actions). ACTIONS: IF trigger is 'click' THEN evaluate click_type: IF click_type is 'single' THEN evaluate state of ikea e27 детская light [light.ikea_e27_detskaia] and sonoff zbmini 01 on off light [light.sonoff_zbmini_01_on_off]: IF ikea e27 детская light [light.ikea_e27_detskaia] is unavailable THEN turn off sonoff zbmini 01 on off light [light.sonoff_zbmini_01_on_off], wait 1 second, turn on sonoff zbmini 01 on off light [light.sonoff_zbmini_01_on_off], wait up to 30 seconds for ikea e27 детская light [light.ikea_e27_detskaia] to become on, then turn on ikea e27 детская light [light.ikea_e27_detskaia] with brightness 255. IF sonoff zbmini 01 on off light [light.sonoff_zbmini_01_on_off] is off THEN turn on sonoff zbmini 01 on off light [light.sonoff_zbmini_01_on_off], wait up to 30 seconds for ikea e27 детская light [light.ikea_e27_detskaia] to become on, then turn on ikea e27 детская light [light.ikea_e27_detskaia] with brightness 255. IF sonoff zbmini 01 on off light [light.sonoff_zbmini_01_on_off] is on THEN toggle ikea e27 детская light [light.ikea_e27_detskaia]. IF click_type is 'double' THEN turn on ikea e27 детская light [light.ikea_e27_detskaia] with transition 0.5 seconds and brightness set based on its current brightness: if <=3 then 51, if <=51 then 102, if <=102 then 153, if <=153 then 204, if <=204 then 255, if <=255 then 3. IF click_type is 'triple' THEN turn on ikea e27 детская light [light.ikea_e27_detskaia] with color_temp 270, wait 0.05 seconds, then turn it on with transition 0.5 seconds and brightness 255. IF trigger is 'hold' THEN toggle детская подсветка на окне light [light.detskaia_podsvetka_na_okne].", "natural_language": { "trigger": "When a specific Xiaomi button (with IEEE address 00:15:8d:00:03:3e:fd:9e) sends a 'click' event or a 'hold' event.", "conditions": "The automation does not have separate global conditions. Instead, the actions are selected based on the trigger type and, for clicks, the specific click pattern (single, double, or triple) and the current state of the lights.", "action": "For a 'click' trigger: A single click behaves differently depending on the state of the nursery lights. If the main bulb is unavailable, it cycles the power relay to attempt to restore it, then turns the bulb on at full brightness. If the power relay is off, it turns it on and then turns the bulb on at full brightness. If the relay is already on, it simply toggles the main bulb on or off. A double click sets the main bulb's brightness to the next level in a predefined cycle. A triple click sets the bulb to a warm white color and then to full brightness. For a 'hold' trigger: It toggles the nursery window accent light on or off." }, "human_like": "A Xiaomi button in the nursery controls the main light with different click patterns (on/off, brightness cycle, warm white) and toggles the window light when held.", "complexity": "high" } }, { "id": "319b4fe1-b76d-459f-ac43-3187f0c9079a", "result": { "structured": "TRIGGER: When outdoor illuminance sensor [sensor.outdoor_illuminance] remains below nursery window light illuminance threshold input number [input_number.nursery_window_light_illuminance_threshold] for 10 minutes OR When outdoor illuminance sensor [sensor.outdoor_illuminance] remains above nursery window light illuminance threshold input number [input_number.nursery_window_light_illuminance_threshold] for 10 minutes OR When family persons group [group.family_persons] changes state from not_home to home. CONDITIONS: nursery window light auto input boolean [input_boolean.nursery_window_light_auto] is on. ACTIONS: Choose action based on trigger: IF trigger is dark AND детская подсветка на окне light [light.detskaia_podsvetka_na_okne] is off THEN turn on детская подсветка на окне light [light.detskaia_podsvetka_na_okne]. IF trigger is lightly AND детская подсветка на окне light [light.detskaia_podsvetka_na_okne] is on THEN turn off детская подсветка на окне light [light.detskaia_podsvetka_na_okne]. IF trigger is to_home AND outdoor illuminance sensor [sensor.outdoor_illuminance] is below nursery window light illuminance threshold input number [input_number.nursery_window_light_illuminance_threshold] AND детская подсветка на окне light [light.detskaia_podsvetka_na_okne] is off THEN turn on детская подсветка на окне light [light.detskaia_podsvetka_na_okne].", "natural_language": { "trigger": "The automation triggers when the outdoor illuminance sensor [sensor.outdoor_illuminance] stays below the configured threshold for at least ten minutes, when it stays above the threshold for at least ten minutes, or when the family persons group [group.family_persons] changes from 'not_home' to 'home'.", "conditions": "The automation only runs if the nursery window light auto input boolean [input_boolean.nursery_window_light_auto] is switched on.", "action": "Depending on which trigger fired, the automation performs one of three actions. If it gets dark outside (the illuminance stays below the threshold), it will turn on the детская подсветка на окне light [light.detskaia_podsvetka_na_okne], but only if the light is currently off. If it gets bright outside (the illuminance stays above the threshold), it will turn off the light, but only if it is currently on. Finally, if the family comes home and it is dark outside (illuminance is below the threshold), it will turn on the light, but again only if it is currently off." }, "human_like": "Automatically controls the nursery window light based on outdoor brightness and when the family arrives home, ensuring the light is on when it's dark and off when it's bright.", "complexity": "medium" } }, { "id": "2d312381-a7c3-4d33-874b-d7771d8ff178", "result": { "structured": "TRIGGER: When the time is 00:30:00 (time_off). CONDITIONS: None. ACTIONS: At trigger time_off, if ikea e14 level light color on off light [light.ikea_e14_level_light_color_on_off] is on, then turn it off. AND if ikea e14 ws opal 600lm light [light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light] is on, then turn it off. The two turn-off actions are performed in parallel.", "natural_language": { "trigger": "The automation runs every day at 00:30:00 (12:30 AM).", "conditions": "There are no global conditions. The actions themselves have individual checks for the state of each light.", "action": "At the scheduled time, the automation checks the state of two lights in the nursery. If the 'ikea e14 level light color on off light' [light.ikea_e14_level_light_color_on_off] is on, it turns it off. Simultaneously, if the 'ikea e14 ws opal 600lm light' [light.ikea_of_sweden_tradfri_bulb_e14_ws_opal_600lm_light] is on, it also turns it off. These two actions are performed in parallel." }, "human_like": "Turns off the two table lamps in the nursery every night at 12:30 AM, but only if they are currently on.", "complexity": "low" } }, { "id": "d50bfe78-2e35-4870-a24c-71d0f6ebf969", "result": { "structured": "TRIGGER: At the time specified by sunrise in nursery input datetime [input_datetime.sunrise_in_nursery]. CONDITIONS: (workday sensor [binary_sensor.workday_sensor] is on) AND (the sun is before sunrise with an offset of 30 minutes) AND (calendar semia alexander borisov school vacation egor [calendar.semia_alexander_borisov_school_vacation_egor] is off) AND (calendar semia alexander borisov school vacation kirill [calendar.semia_alexander_borisov_school_vacation_kirill] is off). ACTIONS: Execute sunrise in nursery script [script.sunrise_in_nursery].", "natural_language": { "trigger": "The automation runs at the specific time set in the sunrise in nursery input datetime [input_datetime.sunrise_in_nursery].", "conditions": "All of the following must be true: the workday sensor [binary_sensor.workday_sensor] indicates it's a workday, the current time is within 30 minutes before sunrise, and both the school vacation calendars for Egor and Kirill [calendar.semia_alexander_borisov_school_vacation_egor, calendar.semia_alexander_borisov_school_vacation_kirill] show that there is no vacation.", "action": "It turns on the sunrise in nursery script [script.sunrise_in_nursery]." }, "human_like": "Activates a sunrise lighting effect in the nursery on workday mornings before sunrise, but only when the children are not on school vacation.", "complexity": "medium" } }, { "id": "a2e4ec8e-926f-44bf-96fb-0029bd137f32", "result": { "structured": "TRIGGER: When ikea e27 детская light [light.ikea_e27_detskaia] turns on AND remains on for 2 minutes. CONDITIONS: The current time is between 00:00 (midnight) AND before 06:30. ACTIONS: Turn off ikea e27 детская light [light.ikea_e27_detskaia] AND send a Telegram notification with a timestamped message stating the light in the nursery was automatically turned off.", "natural_language": { "trigger": "When the ikea e27 детская light [light.ikea_e27_detskaia] is switched on and stays on for two minutes.", "conditions": "The automation only runs if the current time is between midnight and 6:30 AM.", "action": "Turns the ikea e27 детская light [light.ikea_e27_detskaia] off and sends a notification to a Telegram group with a message confirming the light in the nursery was automatically switched off, including the date and time." }, "human_like": "Ensures the nursery light is turned off if left on during the night, and notifies the household.", "complexity": "low" } }, { "id": "3ac0562a-feca-479d-ba2a-4bf0cc1fe5ce", "result": { "structured": "TRIGGER: When a ZHA event is received from the device with IEEE address 00:15:8d:00:05:29:2a:d9. CONDITIONS: None. ACTIONS: Choose an action based on the event command. If the command is 'rotate_right' OR 'rotate_left', then set the brightness of ikea e14 level light color on off light [light.ikea_e14_level_light_color_on_off] to its current brightness plus the relative_degrees value from the event. If the command is 'flip' AND the flip_degrees argument equals 90, then toggle ikea e14 level light color on off light [light.ikea_e14_level_light_color_on_off] and set its brightness to 255.", "natural_language": { "trigger": "When a specific Aqara cube device (IEEE: 00:15:8d:00:05:29:2a:d9) sends a ZHA event.", "conditions": "There are no explicit conditions for this automation.", "action": "The automation reacts differently based on the cube's action. If the cube is rotated (either right or left), it adjusts the brightness of the ikea e14 level light color on off light [light.ikea_e14_level_light_color_on_off] by adding the rotation amount to the current brightness. If the cube is flipped exactly 90 degrees, it toggles the light on or off and sets its brightness to the maximum level." }, "human_like": "Controls a nursery light using an Aqara cube, adjusting brightness with rotation and toggling the light with a 90-degree flip.", "complexity": "medium" } }, { "id": "4144c0c9-bd8e-4ed4-a6f4-42cf9d5b6228", "result": { "structured": "TRIGGER: When lumi lumi sensor magnet 50659603 on off sensor [binary_sensor.lumi_lumi_sensor_magnet_50659603_on_off] changes state OR When lumi lumi sensor motion aq2 7b4e5f07 ias zone sensor [binary_sensor.lumi_lumi_sensor_motion_aq2_7b4e5f07_ias_zone] changes state OR When storeroom light timer [timer.storeroom_light] changes state. CONDITIONS: (Trigger is magnet AND ((magnet changed from off to on) OR (magnet changed from on to off))) OR (Trigger is motion AND ((motion changed to on) OR (motion changed to off))) OR (Trigger is timer AND timer changed to idle). ACTIONS: IF trigger is magnet: IF magnet changed from off to on: Turn on sonoff 1000b6831b light [light.sonoff_1000b6831b] AND Start storeroom light timer [timer.storeroom_light]. IF magnet changed from on to off: Finish storeroom light timer [timer.storeroom_light]. IF trigger is motion: IF motion changed to on: Start storeroom light timer [timer.storeroom_light] AND IF sonoff 1000b6831b light [light.sonoff_1000b6831b] is off THEN Turn on sonoff 1000b6831b light [light.sonoff_1000b6831b]. IF motion changed to off: IF lumi lumi sensor magnet 50659603 on off sensor [binary_sensor.lumi_lumi_sensor_magnet_50659603_on_off] is off THEN Turn off sonoff 1000b6831b light [light.sonoff_1000b6831b]. IF lumi lumi sensor magnet 50659603 on off sensor [binary_sensor.lumi_lumi_sensor_magnet_50659603_on_off] is on THEN Finish storeroom light timer [timer.storeroom_light]. IF trigger is timer AND timer changed to idle: IF lumi lumi sensor motion aq2 7b4e5f07 ias zone sensor [binary_sensor.lumi_lumi_sensor_motion_aq2_7b4e5f07_ias_zone] is on THEN Start storeroom light timer [timer.storeroom_light]. IF lumi lumi sensor motion aq2 7b4e5f07 ias zone sensor [binary_sensor.lumi_lumi_sensor_motion_aq2_7b4e5f07_ias_zone] is off THEN Turn off sonoff 1000b6831b light [light.sonoff_1000b6831b].", "natural_language": { "trigger": "The automation is triggered by any change in the state of the storeroom door contact sensor [binary_sensor.lumi_lumi_sensor_magnet_50659603_on_off], the storeroom motion sensor [binary_sensor.lumi_lumi_sensor_motion_aq2_7b4e5f07_ias_zone], or the storeroom light timer [timer.storeroom_light].", "conditions": "The conditions are determined by which trigger fired and its specific state change. For a door sensor trigger, it checks if the door opened (changed from off to on) or closed (changed from on to off). For a motion sensor trigger, it checks if motion started (changed to on) or stopped (changed to off). For a timer trigger, it checks if the timer finished and became idle.", "action": "The actions depend on the specific trigger and state change. Opening the door turns on the light [light.sonoff_1000b6831b] and starts the timer [timer.storeroom_light]. Closing the door stops the timer. Detecting motion starts the timer and, if the light is off, turns it on. When motion stops, if the door is closed, the light is turned off; if the door is open, the timer is stopped. When the timer finishes, if motion is still detected, the timer is restarted; if no motion is detected, the light is turned off." }, "human_like": "This automation controls the storeroom light based on door and motion sensors, using a timer to keep the light on for a period after activity.", "complexity": "high" } }, { "id": "7fa56654-f362-4f13-97ca-9d8e4ff52ccb", "result": { "structured": "TRIGGER: When timer.toilet_presence [timer.toilet_presence] becomes idle OR When lumi lumi sensor magnet 9bef9603 on off sensor [binary_sensor.lumi_lumi_sensor_magnet_9bef9603_on_off] changes state OR When adurolight vms adurolight f604cd01 ias zone sensor [binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone] becomes 'on' OR When 0xa4c138b96f4627bc presence sensor [binary_sensor.0xa4c138b96f4627bc_presence] becomes 'on' OR When a ZHA event with device_ieee 00:15:8d:00:03:d1:5d:00 and command 'click' occurs. CONDITIONS: The automation uses a choose action structure where conditions are evaluated per trigger. The specific condition for each trigger path is that the trigger ID matches. ACTIONS: The action is a choose block with five branches: 1) For timer_idle trigger: If 0xa4c138b96f4627bc presence sensor [binary_sensor.0xa4c138b96f4627bc_presence] is 'on', start bathroom presence timer [timer.bathroom_presence]. If adurolight vms adurolight f604cd01 ias zone sensor [binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone] is 'on', start toilet presence timer [timer.toilet_presence]. If adurolight vms adurolight f604cd01 ias zone sensor [binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone] is 'off', then: If motion last changed more than 2 minutes ago, turn off sonoff zbmini 03 on off light [light.sonoff_zbmini_03_on_off] (if on) AND turn off toilet extractor fan [fan.toilet_extractor] (if on). If motion last changed 2 minutes ago or less, turn off sonoff zbmini 03 on off light [light.sonoff_zbmini_03_on_off] (if on), wait 0.3 seconds, turn it on, then wait up to 30 seconds for motion to become 'on'. If motion does not become 'on' within 30 seconds, turn off sonoff zbmini 03 on off light [light.sonoff_zbmini_03_on_off] (if on) AND turn off toilet extractor fan [fan.toilet_extractor] (if on). 2) For magnet trigger: If the sensor changed from 'off' to 'on' AND sonoff zbmini 03 on off light [light.sonoff_zbmini_03_on_off] is 'off', turn on the light and start toilet presence timer [timer.toilet_presence]. If the sensor changed from 'on' to 'off' AND adurolight vms adurolight f604cd01 ias zone sensor [binary_sensor.adurolight_vms_adurolight_f604cd01_ias_zone] is 'off' AND sonoff zbmini 03 on off light [light.sonoff_zbmini_03_on_off] is 'on', turn off the light. Also, if toilet extractor fan [fan.toilet_extractor] is 'on', turn it off. 3) For presence_on trigger: Start bathroom presence timer [timer.bathroom_presence]. 4) For motion_on trigger: Start toilet presence timer [timer.toilet_presence]. If toilet extractor fan [fan.toilet_extractor] is 'off', turn it on. If sonoff zbmini 03 on off light [light.sonoff_zbmini_03_on_off] is 'off', turn it on. 5) For click trigger: If click_type is 'single', toggle sonoff zbmini 03 on off light [light.sonoff_zbmini_03_on_off] AND toggle toilet extractor fan [fan.toilet_extractor]. If click_type is 'double', toggle toilet extractor fan [fan.toilet_extractor].", "natural_language": { "trigger": "The automation can be triggered in five ways: when the toilet presence timer finishes and becomes idle; when the state of the toilet door contact sensor changes; when motion is detected by the toilet motion sensor; when the toilet presence sensor detects someone; or when a specific wireless button is clicked.", "conditions": "The automation does not have global conditions that apply to all triggers. Instead, it uses a branching structure where each trigger type leads to a different set of checks and actions. For example, the action for the timer finishing depends on the current state of the presence and motion sensors. The action for the door sensor depends on whether it opened or closed and the state of the light and motion.", "action": "The actions vary based on which trigger activated the automation. When the toilet timer finishes, it may restart other timers, or turn off the light and fan after a delay, sometimes with a brief light flash to signal vacancy. Opening the toilet door turns on the light if it's off and starts a timer. Closing the door turns off the light and fan if no motion is detected. Detecting motion starts a timer and turns on the light and fan if they are off. Detecting presence starts a separate bathroom timer. A button click can toggle the light and fan: a single click toggles both, and a double click toggles only the fan." }, "human_like": "This automation manages the toilet light and extractor fan based on door contact, motion, presence, a timer, and a button, automatically turning them on when someone enters and off when the room is vacant.", "complexity": "high" } }, { "id": "63ea7cdd-f8bc-4a4d-b3ce-72fc493e7392", "result": { "structured": "TRIGGER: When the time reaches new year illumination on input datetime [input_datetime.new_year_illumination_on] OR when the time reaches new year illumination off input datetime [input_datetime.new_year_illumination_off]. CONDITIONS: None. ACTIONS: If the trigger was 'on', then activate new year light on scene [scene.new_year_light_on]. If the trigger was 'off', then check if the current date from date sensor [sensor.date] does NOT end with '01-01'. If true, activate new year light off scene [scene.new_year_light_off].", "natural_language": { "trigger": "The automation runs at two specific scheduled times: when the time matches the 'on' time set in new year illumination on input datetime [input_datetime.new_year_illumination_on], and when it matches the 'off' time set in new year illumination off input datetime [input_datetime.new_year_illumination_off].", "conditions": "There are no separate conditions; the logic for which action to run is determined by which trigger fired and, for the 'off' trigger, a check on the current date.", "action": "If the trigger was the 'on' time, it turns on the new year light on scene [scene.new_year_light_on]. If the trigger was the 'off' time, it first checks if today is not January 1st (by verifying the date sensor [sensor.date] does not end with '01-01'). Only if it's not January 1st does it turn on the new year light off scene [scene.new_year_light_off]." }, "human_like": "Turns on festive New Year's lights at a scheduled time and turns them off at another scheduled time, but skips turning them off if it's New Year's Day itself.", "complexity": "medium" } }, { "id": "e0299715-bb22-4667-b4ad-7cf0b72bd433", "result": { "structured": "TRIGGER: When family persons group [group.family_persons] changes from not_home to home OR When family persons group [group.family_persons] changes to not_home and remains for 5 minutes. CONDITIONS: None. ACTIONS: If the trigger was home, then turn on new year light on scene [scene.new_year_light_on]. If the trigger was not_home, then turn on new year light off scene [scene.new_year_light_off].", "natural_language": { "trigger": "When the family persons group [group.family_persons] arrives home, or when the group leaves home and remains away for at least five minutes.", "conditions": "There are no additional conditions for this automation.", "action": "If the family arrives home, it activates the new year light on scene [scene.new_year_light_on]. If the family leaves and stays away for five minutes, it activates the new year light off scene [scene.new_year_light_off]." }, "human_like": "Turns on festive lights when the family arrives home and turns them off when everyone has been away for five minutes.", "complexity": "medium" } }, { "id": "113d01d2-80b9-4a5e-9745-ad34cb66ea4d", "result": { "structured": "TRIGGER: When Home Assistant starts OR When radio station input select [input_select.radio_station] changes state. CONDITIONS: None. ACTIONS: Set the value of radio url to play input text [input_text.radio_url_to_play] based on the current state of radio station input select [input_select.radio_station] using the following mapping: If state is 'Радио Jazz' then set to 'http://nashe1.hostingradio.ru/jazz-128.mp3'; else if state is 'Monte Carlo' then set to 'http://montecarlo.hostingradio.ru/montecarlo128.mp3'; else if state is 'Monte Carlo Lounge' then set to 'http://stream.zeno.fm/953wvvz4gseuv'; else if state is 'Наше Радио' then set to 'http://nashe5.hostingradio.ru/nashe-128.mp3'; else if state is 'ENERGY' then set to 'http://ic2.101.ru:8000/v1_1'; else if state is 'Русское Радио' then set to 'http://rusradio.hostingradio.ru/rusradio128.mp3'; else if state is 'Maximum' then set to 'http://maximum.hostingradio.ru/maximum128.mp3'; else if state is 'Детское Радио' then set to 'http://ic7.101.ru:8000/a199'; else if state is 'Детское Радио (Старое радио)' then set to 'http://195.91.237.50:8000/detskoe128'.", "natural_language": { "trigger": "This automation runs either when Home Assistant first starts up, or whenever the selected station in the radio station input select [input_select.radio_station] changes.", "conditions": "There are no conditions that must be met for the action to run.", "action": "It updates the radio url to play input text [input_text.radio_url_to_play] with the streaming URL that corresponds to the currently selected radio station. The mapping includes URLs for stations like 'Радио Jazz', 'Monte Carlo', 'Наше Радио', and several others." }, "human_like": "Updates the radio streaming URL whenever a new station is selected or when the system starts, ensuring the correct audio stream is ready to play.", "complexity": "medium" } }, { "id": "fda46b3d-2b94-4aeb-b58d-69d537756cd5", "result": { "structured": "TRIGGER: When Home Assistant starts OR When output device input select [input_select.output_device] changes state. CONDITIONS: None. ACTIONS: Set output device to play input text [input_text.output_device_to_play] to a value determined by a template: If output device input select [input_select.output_device] is 'Гостинная (TV)', set to media_player.gostinaia. If it is 'Детская (TV)', set to media_player.detskaia. If it is 'Ванная (Home Mini)', set to media_player.mini_v_vannoi. If it is 'Гостинная (Яндекс)', set to media_player.yandex_station_mini2_gostinaia. If it is 'Спальня (Яндекс)', set to media_player.yandex_station_mini2_spalnia. If it is 'Детская (Яндекс)', set to media_player.yandex_station_lite_detskaia.", "natural_language": { "trigger": "The automation runs either when Home Assistant first starts up, or whenever the selected value in the 'output device input select' [input_select.output_device] dropdown changes.", "conditions": "There are no additional conditions that must be met for the action to run.", "action": "It updates the 'output device to play input text' [input_text.output_device_to_play] field. The value is set based on the current selection in the dropdown: for example, selecting 'Гостинная (TV)' sets it to the living room Chromecast, while selecting 'Гостинная (Яндекс)' sets it to the living room Yandex Station." }, "human_like": "Maps a user-friendly device name from a dropdown menu to the corresponding technical media player entity ID, ensuring the correct player is targeted for audio playback.", "complexity": "medium" } }, { "id": "a5915a17-ec28-4adf-a3c3-6ac08f71d11f", "result": { "structured": "TRIGGER: When volume radio input number [input_number.volume_radio] changes state. CONDITIONS: None. ACTIONS: Set the volume level of the media player specified by the current state of output device to play input text [input_text.output_device_to_play] to the current numeric state of volume radio input number [input_number.volume_radio].", "natural_language": { "trigger": "Whenever the value of the volume radio input number [input_number.volume_radio] changes.", "conditions": "There are no conditions that must be met.", "action": "Sets the volume of the media player currently selected in the output device to play input text [input_text.output_device_to_play] to match the new value of the volume radio input number [input_number.volume_radio]." }, "human_like": "Syncs the volume of the selected media player to the value of a volume slider.", "complexity": "low" } }, { "id": "Samsung TV ue43ru7470 Turn On", "result": { "structured": "TRIGGER: When samsungtv.turn_on event occurs for ue43ru7470 media player [media_player.ue43ru7470]. CONDITIONS: None. ACTIONS: Send a Wake-on-LAN magic packet to MAC address 8c:79:f5:51:2f:d1.", "natural_language": { "trigger": "When a specific 'turn on' command is issued for the Samsung TV, represented by the ue43ru7470 media player [media_player.ue43ru7470].", "conditions": "There are no conditions that must be met for this automation to run.", "action": "Sends a network packet to wake up the TV by its hardware address (MAC: 8c:79:f5:51:2f:d1)." }, "human_like": "Turns on the Samsung TV by sending a network wake-up signal when requested.", "complexity": "low" } }, { "id": "Samsung TV ue32es5500 Turn On", "result": { "structured": "TRIGGER: When samsungtv.turn_on event occurs for ue32es5500 media player [media_player.ue32es5500]. CONDITIONS: None. ACTIONS: Execute shell command chromecast_tv_on with data: ip_addr 172.16.16.194.", "natural_language": { "trigger": "When a command is issued to turn on the ue32es5500 media player [media_player.ue32es5500].", "conditions": "There are no conditions for this automation.", "action": "Runs a shell command named chromecast_tv_on, passing the IP address 172.16.16.194 to it." }, "human_like": "Turns on a Chromecast device when the Samsung TV is powered on.", "complexity": "low" } }, { "id": "Samsung TV ue46es5507 Turn On", "result": { "structured": "TRIGGER: When samsungtv.turn_on event occurs for ue46es5507 media player [media_player.ue46es5507]. CONDITIONS: None. ACTIONS: Execute shell command chromecast_tv_on with data {ip_addr: 172.16.16.211}.", "natural_language": { "trigger": "When a specific Samsung TV turn-on event is triggered for the ue46es5507 media player [media_player.ue46es5507].", "conditions": "There are no conditions for this automation.", "action": "Runs a shell command named 'chromecast_tv_on', passing the IP address 172.16.16.211 as a parameter." }, "human_like": "Turns on a Chromecast device when the Samsung TV is powered on.", "complexity": "low" } }, { "id": "4ecf7cf0-fc2e-4769-9d95-548dc4d52ba2", "result": { "structured": "TRIGGER: When a Yandex intent event occurs with the text 'Дети ложатся спать'. CONDITIONS: The trigger id must be 'sleep'. ACTIONS: Activate children go to bed scene [scene.children_go_to_bed] with a 2-second transition. Turn off nursery alice stop watchdog 1h script [script.nursery_alice_stop_watchdog_1h]. Wait for up to 1 hour for yandex station lite детская [media_player.yandex_station_lite_detskaia] to become off OR paused. If the state change occurs within the timeout, then turn on nursery alice stop watchdog 1h script [script.nursery_alice_stop_watchdog_1h].", "natural_language": { "trigger": "When a voice command is issued to the Yandex smart home system with the specific phrase 'Дети ложатся спать' (Children go to bed).", "conditions": "The automation only proceeds if the triggering event is the specific 'sleep' intent.", "action": "First, it activates the 'children go to bed' scene [scene.children_go_to_bed], making the lights and other devices transition to a bedtime setting over 2 seconds. It then stops the 'nursery alice stop watchdog 1h' script [script.nursery_alice_stop_watchdog_1h]. Next, it waits for up to one hour for the nursery's Yandex Station [media_player.yandex_station_lite_detskaia] to be turned off or paused. Once that happens, it restarts the 'nursery alice stop watchdog 1h' script [script.nursery_alice_stop_watchdog_1h]." }, "human_like": "Sets up a bedtime scene for the children when a voice command is given, and manages a watchdog script based on the nursery speaker's activity.", "complexity": "medium" } }, { "id": "930a85ab-d531-42e7-a1a6-86bdfe0a628f", "result": { "structured": "TRIGGER: When the time pattern matches minutes = 35 OR When the event 'shopping_list_updated' occurs OR When person alexander [person.alexander] OR person irina [person.irina] changes state to 'not_home'. CONDITIONS: None. ACTIONS: Wait until yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya] is in Alice state 'IDLE'. Then, if the trigger was the shopping list event, delay for 5 minutes. Next, if the volume level of yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya] is not 0.1, repeatedly (up to 3 times) set the volume to 0.1 and wait for it to be set. Then, if yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya] is not muted, repeatedly (up to 3 times) mute the volume and wait for it to be muted. Then, delay for 1 second. Then, play the shopping list update on yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya]. Then, delay for 3 seconds. Then, wait until yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya] is in Alice state 'LISTENING'. Finally, unmute yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya].", "natural_language": { "trigger": "This automation can be triggered in three ways: at 35 minutes past the hour, when the shopping list is updated, or when either person alexander [person.alexander] or person irina [person.irina] leaves home (changes state to 'not_home').", "conditions": "There are no explicit conditions that must be met before the actions run, but the first action is to wait for a specific state.", "action": "The automation first waits for the yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya] to be idle. If the automation was triggered by a shopping list update, it then waits an additional 5 minutes. It then ensures the speaker's volume is set to 0.1 and that it is muted, using retry loops for reliability. After a brief 1-second delay, it sends a command to play the updated shopping list on the speaker. After a 3-second delay, it waits for the speaker to start listening, and finally, it unmutes the speaker." }, "human_like": "Updates the shopping list on the Yandex smart speaker when the list changes, on a schedule, or when people leave home, ensuring the speaker is ready and audible.", "complexity": "high" } }, { "id": "d8f01254-9cde-41a8-b35a-f296621d3ac9", "result": { "structured": "TRIGGER: When sonoff 1000f2f14a light [light.sonoff_1000f2f14a] changes state, provided the previous state was not 'unavailable' or 'unknown' AND the new state is not 'unavailable' or 'unknown'. CONDITIONS: (None). ACTIONS: Choose one of two sequences based on the trigger's state transition: 1. If the light changed from 'off' to 'on', then turn on galaxy tab a 8 0 2019 screen switch [switch.galaxy_tab_a_8_0_2019_screen] AND set the volume of galaxy tab a 8 0 2019 media player [media_player.galaxy_tab_a_8_0_2019] to 0.8 if time between 21 08 binary sensor [binary_sensor.time_between_21_08] is 'off', otherwise set it to 0.3. 2. If the light changed from 'on' to 'off', then turn off galaxy tab a 8 0 2019 screen switch [switch.galaxy_tab_a_8_0_2019_screen] AND set the volume of galaxy tab a 8 0 2019 media player [media_player.galaxy_tab_a_8_0_2019] to 0 AND load the URL 'about:blank' on the device Device Galaxy Tab A 8.0 2019 [41638a8b36f2ac6228aed99d142fd286].", "natural_language": { "trigger": "Whenever the sonoff 1000f2f14a light [light.sonoff_1000f2f14a] changes its state, as long as it's not transitioning to or from an 'unavailable' or 'unknown' state.", "conditions": "There are no separate conditions; the decision logic is embedded within the action choices based on the trigger's state change.", "action": "The automation performs one of two sets of actions depending on how the light changed. If the light turned on, it turns on the tablet screen [switch.galaxy_tab_a_8_0_2019_screen] and sets the tablet's media player volume [media_player.galaxy_tab_a_8_0_2019] to 80% during the day or 30% at night (based on the time between 21 08 binary sensor [binary_sensor.time_between_21_08]). If the light turned off, it turns off the tablet screen, mutes the tablet's volume, and loads a blank page on the tablet's browser." }, "human_like": "This automation controls a tablet in the hallway, turning its screen and adjusting its volume based on whether the hallway light is turned on or off.", "complexity": "medium" } }, { "id": "82fb6789-4385-44cc-b721-90b892063447", "result": { "structured": "TRIGGER: When Galaxy Tab A 8.0 2019 Battery [sensor.galaxy_tab_a_8_0_2019_battery] OR sm t295 hallway battery level sensor [sensor.sm_t295_hallway_battery_level] remains below 30% for 5 minutes OR When Galaxy Tab A 8.0 2019 Battery [sensor.galaxy_tab_a_8_0_2019_battery] OR sm t295 hallway battery level sensor [sensor.sm_t295_hallway_battery_level] remains above 80% for 5 minutes. CONDITIONS: (Trigger is 'low') AND (sonoff mini r2 02 switch [switch.sonoff_mini_r2_02_switch] is off) OR (Trigger is 'hight') AND (sonoff mini r2 02 switch [switch.sonoff_mini_r2_02_switch] is on). ACTIONS: If conditions for 'low' trigger are met, turn on sonoff mini r2 02 switch [switch.sonoff_mini_r2_02_switch]. If conditions for 'hight' trigger are met, turn off sonoff mini r2 02 switch [switch.sonoff_mini_r2_02_switch].", "natural_language": { "trigger": "When the battery level of either the Galaxy Tab A 8.0 2019 Battery [sensor.galaxy_tab_a_8_0_2019_battery] or the sm t295 hallway battery level sensor [sensor.sm_t295_hallway_battery_level] stays below 30% for five minutes, or when it stays above 80% for five minutes.", "conditions": "If the trigger was for a low battery, the automation checks that the sonoff mini r2 02 switch [switch.sonoff_mini_r2_02_switch] is currently off. If the trigger was for a high battery, it checks that the switch is currently on.", "action": "If the battery is low and the switch is off, the automation turns on the sonoff mini r2 02 switch [switch.sonoff_mini_r2_02_switch] to start charging. If the battery is high and the switch is on, it turns the switch off to stop charging." }, "human_like": "Automatically manages the charging of tablets in the hallway, turning the charger on when the battery is low and off when it's sufficiently charged.", "complexity": "medium" } }, { "id": "2f4e6840-deb7-4629-80f1-8a34347e64e0", "result": { "structured": "TRIGGER: When sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] changes state from any state except 'unavailable' or 'unknown' OR When sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] changes state from any state except 'unavailable' or 'unknown'. CONDITIONS: None. ACTIONS: If the trigger was from sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] AND its new state is 'off', create a persistent notification titled 'Sonoff ZBDongle-E Disconnected'. If the trigger was from sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] AND its new state is 'on', dismiss the 'zbe_disconnected' notification and create a persistent notification titled 'Sonoff ZBDongle-E Connected'. If the trigger was from sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] AND its new state is 'off', create a persistent notification titled 'Sonoff ZBDongle-P Disconnected'. If the trigger was from sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] AND its new state is 'on', dismiss the 'zbp_disconnected' notification and create a persistent notification titled 'Sonoff ZBDongle-P Connected'.", "natural_language": { "trigger": "When the sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] changes state, but not from an 'unavailable' or 'unknown' state, or when the sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] changes state, also not from an 'unavailable' or 'unknown' state.", "conditions": "There are no additional conditions that must be met for the automation to run.", "action": "Depending on which sensor triggered and its new state, the automation will show or dismiss persistent notifications. If the 'E' sensor turns off, it shows a notification that the Sonoff ZBDongle-E is disconnected. If the 'E' sensor turns on, it dismisses the previous disconnect notification and shows a notification that it is connected. Similarly, if the 'P' sensor turns off, it shows a notification that the Sonoff ZBDongle-P is disconnected. If the 'P' sensor turns on, it dismisses the previous disconnect notification and shows a notification that it is connected." }, "human_like": "Shows persistent notifications when the Sonoff Zigbee dongles (E or P) are connected to or disconnected from the system, to alert about the status of the Zigbee networks.", "complexity": "medium" } }, { "id": "165f7294-7880-4aaf-955c-d5f301bb1e72", "result": { "structured": "TRIGGER: When sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] changes to off OR When sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] changes to off. CONDITIONS: None. ACTIONS: If the trigger was from sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] (trigger.id == 'e'), then in parallel: send a Telegram message to Secret TLG Group System [secret tlg_group_system] and repeatedly execute shell_command.attach_sonoff_dongle_e_to_ha_vm followed by a 3-minute delay, until sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] is on. If the trigger was from sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] (trigger.id == 'p'), then in parallel: send a Telegram message to Secret TLG Group System [secret tlg_group_system] and repeatedly execute shell_command.attach_sonoff_dongle_p_to_ha_vm followed by a 3-minute delay, until sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] is on.", "natural_language": { "trigger": "When the sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] reports that the USB stick is disconnected (off), or when the sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] reports the same.", "conditions": "There are no additional conditions that must be met.", "action": "Depending on which dongle triggered the automation: For the 'E' dongle, a notification is sent to the Secret TLG Group System [secret tlg_group_system] via Telegram, and a shell command to reattach the dongle to the Home Assistant virtual machine is attempted. This command is retried every three minutes until the sensor confirms the dongle is connected again (state 'on'). The same process runs for the 'P' dongle if it was the one that disconnected, using its specific shell command." }, "human_like": "Automatically attempts to reconnect a disconnected Sonoff Zigbee dongle to the Home Assistant virtual machine and notifies the user.", "complexity": "medium" } }, { "id": "cc1601bd-a416-4fb1-9af9-4a436b7557e9", "result": { "structured": "TRIGGER: When sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] changes from off to on OR When sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] changes from off to on. CONDITIONS: None. ACTIONS: If the trigger was sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] changing to on, then send a Telegram message to Secret TLG Group System [secret tlg_group_system] with title '*Внимание*' and message 'Sonoff Dongle E подключен.' and an inline keyboard with options 'Перезапустить HA' and 'Перезагрузить VM'. If the trigger was sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] changing to on, then send a Telegram message to Secret TLG Group System [secret tlg_group_system] with title '*Внимание*' and message 'Sonoff Dongle P подключен.' and an inline keyboard with options 'Перезапустить HA' and 'Перезагрузить VM'.", "natural_language": { "trigger": "When the sonoff dongle e usb stick exist sensor [binary_sensor.sonoff_dongle_e_usb_stick_exist] changes from off to on, or when the sonoff dongle p usb stick exist sensor [binary_sensor.sonoff_dongle_p_usb_stick_exist] changes from off to on.", "conditions": "There are no conditions that must be met.", "action": "Depending on which sensor triggered the automation, a specific Telegram message is sent to the Secret TLG Group System [secret tlg_group_system]. If the 'E' dongle sensor triggered it, the message states 'Sonoff Dongle E подключен.' If the 'P' dongle sensor triggered it, the message states 'Sonoff Dongle P подключен.' Both messages have the same title '*Внимание*' and provide an inline keyboard with buttons to restart Home Assistant or reboot the virtual machine." }, "human_like": "Sends a Telegram notification when a Sonoff Zigbee or Z-Wave dongle is plugged into the Home Assistant virtual machine, allowing for a quick system restart.", "complexity": "medium" } }, { "id": "a5621d7e-91e5-4f14-a6b2-80c774d415ac", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/sd_ha_restart'. CONDITIONS: None. ACTIONS: Send an answer to the Telegram callback query with ID '{{ trigger.event.data.id }}' and message 'Команда отправлена', then edit the reply markup of the message with ID '{{ trigger.event.data.message.message_id }}' in chat '{{ trigger.event.data.chat_id }}' to an empty inline keyboard, and finally restart Home Assistant.", "natural_language": { "trigger": "When a specific Telegram callback event is received, containing the command data '/sd_ha_restart'.", "conditions": "There are no conditions that must be met.", "action": "The automation first sends a response to the Telegram callback query, confirming the command was sent. It then clears the inline keyboard from the original message. Finally, it restarts the Home Assistant system." }, "human_like": "Restarts Home Assistant when a specific Telegram callback command is received, providing user feedback in the chat.", "complexity": "low" } }, { "id": "08dfe08a-3901-46f3-b16a-e807edf80986", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/sd_vm_reboot'. CONDITIONS: None. ACTIONS: Send an answer to the Telegram callback query with message 'Команда отправлена', edit the reply markup of the triggering Telegram message to an empty inline keyboard, and reboot the Home Assistant host.", "natural_language": { "trigger": "When a specific Telegram callback event is received, triggered by a user interacting with a button that sends the data '/sd_vm_reboot'.", "conditions": "There are no conditions that must be met for the actions to run.", "action": "The automation will first send a reply to the Telegram callback confirming the command was sent, then it will clear the inline keyboard buttons from the original message, and finally it will reboot the Home Assistant host system." }, "human_like": "Reboots the Home Assistant host system when a specific 'reboot' command is received via a Telegram callback button.", "complexity": "low" } }, { "id": "61fb954b-3450-4fc6-9848-cc5304b54a16", "result": { "structured": "TRIGGER: When xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] changes state to 'cleaning'. CONDITIONS: The previous state of the triggering entity was 'unavailable'. ACTIONS: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with the text '_Mi Robot_: начал уборку.' and an inline keyboard with options 'Остановить' (command: /vacuum_stop) and 'На базу' (command: /vacuum_go_home).", "natural_language": { "trigger": "When the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] starts cleaning.", "conditions": "The vacuum cleaner must have been in an 'unavailable' state just before it started cleaning.", "action": "Sends a notification to the Telegram group Secret TLG Group Flat 1 [secret tlg_group_flat_1] stating that the robot vacuum has started cleaning, and provides inline buttons to stop the vacuum or send it back to its dock." }, "human_like": "Sends a Telegram notification when the robot vacuum starts a cleaning cycle after being unavailable.", "complexity": "low" } }, { "id": "78e4ee4f-d0d7-4d23-9e3c-4ec125f19400", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/vacuum_stop'. CONDITIONS: None. ACTIONS: Pause xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] AND answer the Telegram callback query with message 'Команда отправлена' AND edit the original Telegram message to show '_Mi Robot_: начал уборку. Уборка остановлена.' with an inline keyboard button 'На базу' linked to '/vacuum_go_home'.", "natural_language": { "trigger": "When a specific callback is received from a Telegram message, specifically when the callback data is '/vacuum_stop'.", "conditions": "There are no conditions that need to be met for this automation to run.", "action": "The automation pauses the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner], sends an answer back to the Telegram callback to confirm the command was sent, and updates the original Telegram message to show that the robot has started cleaning and that the cleaning has been stopped, while also providing a button to send the vacuum back to its base." }, "human_like": "Stops the robot vacuum and updates the Telegram interface when the 'stop' button is pressed in a chat.", "complexity": "low" } }, { "id": "0b1fd434-4044-4ce7-ab8a-262d6250407a", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/vacuum_go_home'. CONDITIONS: None. ACTIONS: Pause xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner], delay for 1 second, send xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] to its base, answer the Telegram callback query with the message 'Команда отправлена', and edit the original Telegram message to '_Mi Robot_: начал уборку. Уборка остановлена, робот отправлен на базу.'.", "natural_language": { "trigger": "When a specific button is pressed in a Telegram chat, identified by the callback data '/vacuum_go_home'.", "conditions": "There are no conditions that must be met for this automation to run.", "action": "First, it pauses the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner]. After a brief one-second delay, it commands the vacuum to return to its charging base. It then sends a confirmation message back to the Telegram user saying 'Команда отправлена' (Command sent) and updates the original message in the chat to state that the robot has started cleaning, the cleaning was stopped, and the robot was sent to the base." }, "human_like": "Sends the robot vacuum back to its charging dock when a 'Go Home' button is pressed in a Telegram chat.", "complexity": "low" } }, { "id": "68311ec4-1030-4d7d-a2ea-e9cb21f7f40c", "result": { "structured": "TRIGGER: When xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] changes state to docked. CONDITIONS: The previous state of xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] was unavailable. ACTIONS: Send a Telegram notification to group flat_1 with the message '_Mi Robot_: вернулся на базу (закончил уборку).'.", "natural_language": { "trigger": "When the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] returns to its charging dock.", "conditions": "The vacuum cleaner must have been in an 'unavailable' state just before it became docked.", "action": "Sends a message to the Telegram group 'flat_1' stating that the Mi Robot has returned to its base and finished cleaning." }, "human_like": "Sends a Telegram notification when the robot vacuum finishes cleaning and returns to its dock, but only if it was previously unreachable.", "complexity": "low" } }, { "id": "db76ec80-b5d6-4991-8a6c-9272b25c1a39", "result": { "structured": "TRIGGER: When xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] remains in the idle state for 15 minutes. CONDITIONS: None. ACTIONS: Send a notification to the group 'telegram_group_flat_1' with the message '_Mi Robot_: потерялся и бездельничает, отправляем на базу.' AND Send the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] back to its charging base.", "natural_language": { "trigger": "When the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] has been idle for 15 minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1' with a message stating the robot is lost and idle, and then commands the vacuum cleaner to return to its charging base." }, "human_like": "Sends a notification and returns the vacuum cleaner to its dock if it has been idle for 15 minutes.", "complexity": "low" } }, { "id": "fe6bb5c1-f886-4161-bad7-4bf04be83258", "result": { "structured": "TRIGGER: When xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] changes state to error. CONDITIONS: The previous state of xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] was unavailable. ACTIONS: Send a Telegram notification to the group 'telegram_group_flat_1' with a message containing the vacuum's error details.", "natural_language": { "trigger": "When the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] enters an error state.", "conditions": "This only happens if the vacuum was previously in an unavailable state before the error.", "action": "Sends a notification to the Telegram group 'telegram_group_flat_1' with a formatted message stating that the Mi Robot encountered an error, including the specific error message from the vacuum." }, "human_like": "Sends a Telegram alert to the household when the robot vacuum encounters an error after being unavailable.", "complexity": "low" } }, { "id": "67acac52-bf44-4661-9140-2e40f0006175", "result": { "structured": "TRIGGER: When family persons group [group.family_persons] state changes to not_home AND remains for 20 minutes. CONDITIONS: (Time is after 08:30:00 AND before 10:30:00 AND weekday is Monday OR Tuesday OR Wednesday OR Thursday OR Friday) AND (Today's day is NOT equal to the day when automation Ежедневная уборка по будням [утро] [automation.ezhednevnaia_uborka_po_budniam_utro] was last triggered). ACTIONS: Set fan speed of xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] to Turbo AND Start xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner].", "natural_language": { "trigger": "When the family persons group [group.family_persons] shows that everyone is away from home and this state persists for 20 minutes.", "conditions": "The automation only runs on weekdays (Monday through Friday) between 8:30 AM and 10:30 AM. It also checks that it has not already been triggered today by comparing today's date with the date it last ran.", "action": "Sets the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] to its Turbo fan speed and then starts the vacuum cleaner." }, "human_like": "Starts the robot vacuum on weekdays in the morning after everyone has left home, ensuring it only runs once per day.", "complexity": "medium" } }, { "id": "6c64060c-0a65-4caf-8064-1d5cdfea50a3", "result": { "structured": "TRIGGER: When entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes from open (on) to closed (off). CONDITIONS: (Time is between 09:30:00 and 21:30:00) AND (More than 480 seconds have passed since the last time this automation was triggered) AND (xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is docked OR xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is idle). ACTIONS: Start the Script Start Vacuum Hallway by Door Sensor [script.start_vacuum_hallway_by_door_sensor].", "natural_language": { "trigger": "When the entrance door contact sensor [binary_sensor.0x158d00031c790f_contact] changes from an open to a closed state.", "conditions": "The automation only runs if the current time is between 9:30 AM and 9:30 PM. It also requires that at least 8 minutes (480 seconds) have passed since the last time this automation was triggered. Finally, the vacuum must be available, meaning the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is either docked or idle.", "action": "Starts the automated cleaning routine by activating the Script Start Vacuum Hallway by Door Sensor [script.start_vacuum_hallway_by_door_sensor]." }, "human_like": "Automatically starts a hallway vacuum cleaning routine when the entrance door is closed, but only during daytime hours and if the vacuum hasn't been triggered too recently.", "complexity": "medium" } }, { "id": "8fef5cc1-030e-4549-91b4-ffe25207672c", "result": { "structured": "TRIGGER: When vacuum power input select [input_select.vacuum_power] changes state. CONDITIONS: None. ACTIONS: If the new state is 'Silent', run script.set_vacuum_power_silent. If the new state is 'Standard', run script.set_vacuum_power_standard. If the new state is 'Medium', run script.set_vacuum_power_medium. If the new state is 'Turbo', run script.set_vacuum_power_turbo. If the new state is 'Gentle', run script.set_vacuum_power_gentle.", "natural_language": { "trigger": "Whenever the vacuum power input select [input_select.vacuum_power] changes to a new setting.", "conditions": "There are no additional conditions that must be met.", "action": "Based on the new selected power level, the automation runs a corresponding script to set the vacuum's power. If 'Silent' is selected, it runs the script to set silent power. If 'Standard' is selected, it runs the standard power script. If 'Medium' is selected, it runs the medium power script. If 'Turbo' is selected, it runs the turbo power script. If 'Gentle' is selected, it runs the gentle power script." }, "human_like": "Changes the vacuum cleaner's power mode automatically when a user selects a different setting from a dropdown menu.", "complexity": "low" } }, { "id": "75d1f4fc-c40b-433a-b6bc-ed480b53365e", "result": { "structured": "TRIGGER: When the time reaches the value set in wakeup radio in nursery input datetime [input_datetime.wakeup_room_in_nursery]. CONDITIONS: workday sensor [binary_sensor.workday_sensor] is on AND calendar semia alexander borisov school vacation egor [calendar.semia_alexander_borisov_school_vacation_egor] is off AND calendar semia alexander borisov school vacation kirill [calendar.semia_alexander_borisov_school_vacation_kirill] is off. ACTIONS: 1. IF the volume level of yandex station lite детская [media_player.yandex_station_lite_detskaia] is not 0.1, THEN execute a loop (up to 3 attempts) to set the volume to 0.1, waiting up to 1 second for confirmation between attempts. 2. IF yandex station lite детская [media_player.yandex_station_lite_detskaia] is not muted, THEN execute a loop (up to 3 attempts) to mute the volume, waiting up to 1 second for confirmation between attempts. 3. Wait 1 second. 4. Send a Yandex Station command to yandex station lite детская [media_player.yandex_station_lite_detskaia] with the text 'Включи' followed by the state of wakeup radio in nursery query input text [input_text.wakeup_radio_in_nursery_query]. 5. Wait 10 seconds. 6. IF the volume level of yandex station lite детская [media_player.yandex_station_lite_detskaia] is not 0.1, THEN set the volume to 0.1. 7. Execute a loop 4 times: wait 3 minutes, then increase the volume of yandex station lite детская [media_player.yandex_station_lite_detskaia]. 8. Send a Yandex Station command to yandex station lite детская [media_player.yandex_station_lite_detskaia] with the text 'Повтори за мной 'Доброе утро дети, пора вставать!''.", "natural_language": { "trigger": "The automation runs at a specific time set in the wakeup radio in nursery input datetime [input_datetime.wakeup_radio_in_nursery].", "conditions": "All of the following must be true: it is a workday (workday sensor [binary_sensor.workday_sensor] is on), and neither child (Egor nor Kirill) is on school vacation (calendar semia alexander borisov school vacation egor [calendar.semia_alexander_borisov_school_vacation_egor] and calendar semia alexander borisov school vacation kirill [calendar.semia_alexander_borisov_school_vacation_kirill] are both off).", "action": "First, it ensures the nursery's Yandex Station volume is set to 10% and muted, using retry logic if needed. After a brief pause, it commands the station to play a specific radio station or playlist defined in the wakeup radio in nursery query input text [input_text.wakeup_radio_in_nursery_query]. After another short delay, it verifies the volume is still at 10%. Then, it gradually increases the volume four times, waiting three minutes between each increase. Finally, it commands the station to say 'Good morning children, time to get up!'." }, "human_like": "Plays a gentle wake-up radio in the nursery on school mornings, gradually increasing the volume and ending with a cheerful morning announcement.", "complexity": "high" } }, { "id": "2eb96392-3d8a-41b7-87f2-7c6e5c5b6232", "result": { "structured": "TRIGGER: When neptun water leakage sensor [binary_sensor.neptun_water_leakage] OR aqara storeroom moisture sensor [binary_sensor.0x158d000400e77d_moisture] OR aqara under bath moisture sensor [binary_sensor.0x158d0004030d84_moisture] OR aqara near bath moisture sensor [binary_sensor.lumi_lumi_sensor_wleak_aq1_ias_zone] changes state from off to on. CONDITIONS: None. ACTIONS: Execute Script Water Valves Close [script.water_valves_close].", "natural_language": { "trigger": "When any of the four water leak sensors detects moisture, changing its state from dry (off) to wet (on). The sensors are: neptun water leakage sensor [binary_sensor.neptun_water_leakage], aqara storeroom moisture sensor [binary_sensor.0x158d000400e77d_moisture], aqara under bath moisture sensor [binary_sensor.0x158d0004030d84_moisture], and aqara near bath moisture sensor [binary_sensor.lumi_lumi_sensor_wleak_aq1_ias_zone].", "conditions": "There are no additional conditions that must be met.", "action": "Immediately runs the script called Script Water Valves Close [script.water_valves_close]." }, "human_like": "Automatically shuts off the water valves if any leak sensor in the home detects water.", "complexity": "low" } }, { "id": "0e013823-d5f8-4362-b7aa-2be3c25da064", "result": { "structured": "TRIGGER: When lumi lumi sensor magnet opening sensor [binary_sensor.lumi_lumi_sensor_magnet_opening] changes from open (on) to closed (off) AND remains closed for 5 seconds. CONDITIONS: neptun activated input boolean [input_boolean.neptun_activated] is off. ACTIONS: Turn on neptun activated input boolean [input_boolean.neptun_activated].", "natural_language": { "trigger": "When the lumi lumi sensor magnet opening sensor [binary_sensor.lumi_lumi_sensor_magnet_opening] changes from an open state to a closed state and stays closed for at least five seconds.", "conditions": "The neptun activated input boolean [input_boolean.neptun_activated] must be in the off state.", "action": "Activates the system by turning on the neptun activated input boolean [input_boolean.neptun_activated]." }, "human_like": "Activates the Neptun system when a specific door or window sensor closes and stays closed for five seconds.", "complexity": "low" } }, { "id": "f17481ec-0be2-4774-b2cb-53fffab68781", "result": { "structured": "TRIGGER: When sonoff 1000b68886 switch [switch.sonoff_1000b68886] changes from off to on. CONDITIONS: neptun activated input boolean [input_boolean.neptun_activated] is on. ACTIONS: Turn off neptun activated input boolean [input_boolean.neptun_activated].", "natural_language": { "trigger": "When the sonoff 1000b68886 switch [switch.sonoff_1000b68886] is turned on.", "conditions": "The neptun activated input boolean [input_boolean.neptun_activated] must be in the on state.", "action": "Turns off the neptun activated input boolean [input_boolean.neptun_activated]." }, "human_like": "Deactivates the 'Neptun' state when a specific switch is turned on, provided the 'Neptun' state was already active.", "complexity": "low" } }, { "id": "896b9256-93fc-41d2-8ffc-a4c6503f62e0", "result": { "structured": "TRIGGER: At 11:00:00. CONDITIONS: (Weekday is Monday) AND (The current ISO week number modulo 2 equals 1). ACTIONS: Turn off sonoff 1000b68886 switch [switch.sonoff_1000b68886], wait 5 seconds, turn on sonoff 1000b68886 switch [switch.sonoff_1000b68886], send a Telegram notification with the message '_INFO:_ Нептун был перезапущен.'.", "natural_language": { "trigger": "The automation triggers at 11:00:00.", "conditions": "The automation only runs if it is a Monday and the current week number is odd (i.e., every other week).", "action": "It turns off the sonoff 1000b68886 switch [switch.sonoff_1000b68886], waits for 5 seconds, turns the switch back on, and sends a Telegram notification with the message '_INFO:_ Нептун был перезапущен.'." }, "human_like": "Restarts a device called 'Neptun' every other Monday at 11 AM and sends a confirmation message.", "complexity": "medium" } }, { "id": "ac6042cd-ab15-4ff2-a0ed-9f873830d221", "result": { "structured": "TRIGGER: When rele aqara водопроводные краны l1 switch [switch.rele_aqara_vodoprovodnye_krany_l1] remains on for 1 minute OR when rele aqara водопроводные краны l2 switch [switch.rele_aqara_vodoprovodnye_krany_l2] remains on for 1 minute. CONDITIONS: None. ACTIONS: Turn off the specific switch that triggered the automation [trigger.entity_id].", "natural_language": { "trigger": "When either the 'rele aqara водопроводные краны l1 switch' [switch.rele_aqara_vodoprovodnye_krany_l1] or the 'rele aqara водопроводные краны l2 switch' [switch.rele_aqara_vodoprovodnye_krany_l2] has been turned on and remains in the 'on' state for a full minute.", "conditions": "There are no additional conditions that must be met.", "action": "Turns off the exact same switch that triggered the automation after the one-minute delay." }, "human_like": "Automatically turns off a water valve switch if it has been left on for one minute, as a safety timeout.", "complexity": "low" } }, { "id": "f16be388-8c31-43d0-905b-d9c31968414c", "result": { "structured": "TRIGGER: When rele aqara водопроводные краны l1 switch [switch.rele_aqara_vodoprovodnye_krany_l1] turns on OR When rele aqara водопроводные краны l2 switch [switch.rele_aqara_vodoprovodnye_krany_l2] turns on. CONDITIONS: None. ACTIONS: (IF rele aqara водопроводные краны l1 switch [switch.rele_aqara_vodoprovodnye_krany_l1] triggered the automation AND rele aqara водопроводные краны l2 switch [switch.rele_aqara_vodoprovodnye_krany_l2] is on THEN Turn off rele aqara водопроводные краны l2 switch [switch.rele_aqara_vodoprovodnye_krany_l2]) OR (IF rele aqara водопроводные краны l2 switch [switch.rele_aqara_vodoprovodnye_krany_l2] triggered the automation AND rele aqara водопроводные краны l1 switch [switch.rele_aqara_vodoprovodnye_krany_l1] is on THEN Turn off rele aqara водопроводные краны l1 switch [switch.rele_aqara_vodoprovodnye_krany_l1]).", "natural_language": { "trigger": "When the rele aqara водопроводные краны l1 switch [switch.rele_aqara_vodoprovodnye_krany_l1] is turned on, or when the rele aqara водопроводные краны l2 switch [switch.rele_aqara_vodoprovodnye_krany_l2] is turned on.", "conditions": "There are no global conditions for this automation.", "action": "If the automation was triggered by the l1 switch turning on, it checks if the l2 switch is already on. If it is, the automation turns the l2 switch off. Conversely, if the automation was triggered by the l2 switch turning on, it checks if the l1 switch is already on. If it is, the automation turns the l1 switch off. This ensures the two switches cannot be on simultaneously." }, "human_like": "Ensures that two valve relays are never turned on at the same time by automatically turning one off when the other is switched on.", "complexity": "medium" } }, { "id": "54d437ce-2ec6-4779-93cb-3f36fe99b44c", "result": { "structured": "TRIGGER: When neptun water leakage sensor [binary_sensor.neptun_water_leakage] turns on OR when aqara storeroom moisture sensor [binary_sensor.0x158d000400e77d_moisture] changes from off to on OR when aqara under bath moisture sensor [binary_sensor.0x158d0004030d84_moisture] changes from off to on OR when aqara near bath moisture sensor [binary_sensor.lumi_lumi_sensor_wleak_aq1_ias_zone] changes from off to on. CONDITIONS: None. ACTIONS: Choose based on trigger: If triggered by neptun water leakage sensor [binary_sensor.neptun_water_leakage], send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] about a Neptune leak sensor activation, instructing to check the kitchen, bathroom, toilet, and storeroom, with an inline button to open water valves. If triggered by aqara storeroom moisture sensor [binary_sensor.0x158d000400e77d_moisture], send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] about an Aqara leak sensor activation in the storeroom, instructing to check behind the washing machine, with an inline button to open water valves. If triggered by aqara under bath moisture sensor [binary_sensor.0x158d0004030d84_moisture], send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] about an Aqara leak sensor activation in the bathroom, instructing to check under the bath on the left side, with an inline button to open water valves. If triggered by aqara near bath moisture sensor [binary_sensor.lumi_lumi_sensor_wleak_aq1_ias_zone], send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] about an Aqara leak sensor activation in the bathroom, instructing to check near the bath on the right side, with an inline button to open water valves.", "natural_language": { "trigger": "The automation is triggered when any of the four water leak sensors detects moisture. This includes the neptun water leakage sensor [binary_sensor.neptun_water_leakage] turning on, or any of the three Aqara sensors (aqara storeroom moisture sensor [binary_sensor.0x158d000400e77d_moisture], aqara under bath moisture sensor [binary_sensor.0x158d0004030d84_moisture], or aqara near bath moisture sensor [binary_sensor.lumi_lumi_sensor_wleak_aq1_ias_zone]) changing their state from off to on.", "conditions": "There are no conditions that must be met for the automation to proceed after being triggered.", "action": "Depending on which specific sensor triggered the automation, a tailored Telegram message is sent to the group chat Secret TLG Group Flat 1 [secret tlg_group_flat_1]. Each message alerts about a water leak from a specific location, states that the main water valves have been closed, provides instructions on where to check for water, and includes an inline button to reopen the water valves." }, "human_like": "Sends targeted water leak alerts to a Telegram group, specifying the sensor location and providing a quick action to reopen the water supply.", "complexity": "medium" } }, { "id": "344fff46-b0f1-41c3-b6e7-6386b5bc1256", "result": { "structured": "TRIGGER: When neptun water leakage sensor [binary_sensor.neptun_water_leakage] changes state to off. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with the text: 'Нептун деактивирован.'.", "natural_language": { "trigger": "When the neptun water leakage sensor [binary_sensor.neptun_water_leakage] changes its state to off.", "conditions": "There are no conditions that need to be met.", "action": "Sends a notification message 'Нептун деактивирован.' to the Telegram group Secret TLG Group Flat 1 [secret tlg_group_flat_1]." }, "human_like": "Sends a Telegram notification when the water leak sensor is deactivated.", "complexity": "low" } }, { "id": "1a017a47-40b1-4315-892e-36760a8e86ec", "result": { "structured": "TRIGGER: When sonoff 1000b68886 switch [switch.sonoff_1000b68886] remains off for 2 minutes. CONDITIONS: None. ACTIONS: Send a Telegram message to Secret TLG Group Flat 1 [secret tlg_group_flat_1] with title 'Внимание' and message 'Питание контроллера Нептун отключено более 2х минут' and an inline keyboard button 'Включить' that calls the /neptune_poweron service.", "natural_language": { "trigger": "When the sonoff 1000b68886 switch [switch.sonoff_1000b68886] has been turned off and remains in the off state for at least two minutes.", "conditions": "There are no additional conditions that must be met.", "action": "Sends a notification message to the Telegram group Secret TLG Group Flat 1 [secret tlg_group_flat_1]. The message has a title 'Внимание' and a body stating that the power to the Neptune controller has been off for more than two minutes. It also includes an inline button labeled 'Включить' which, when pressed, will trigger the '/neptune_poweron' command." }, "human_like": "Sends a Telegram alert if the Neptune controller's power switch has been off for more than two minutes, providing a button to turn it back on.", "complexity": "low" } }, { "id": "d42cd9f6-1a89-4116-8348-d99970407b75", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/neptune_poweron'. CONDITIONS: None. ACTIONS: Turn on sonoff 1000b68886 switch [switch.sonoff_1000b68886] AND answer the Telegram callback query with message 'Команда отправлена' AND edit the original Telegram message to 'Питание контроллера Нептун отключено более 2х минут\n\nНептун включен.\n\n'.", "natural_language": { "trigger": "When a specific Telegram callback event is received, containing the command '/neptune_poweron'.", "conditions": "There are no additional conditions that must be met.", "action": "First, it turns on the sonoff 1000b68886 switch [switch.sonoff_1000b68886]. Then, it sends a confirmation message 'Команда отправлена' to the Telegram callback query. Finally, it updates the original Telegram message to state that the Neptune controller's power was off for more than 2 minutes and that Neptune is now on." }, "human_like": "Turns on the Neptune controller via a Telegram command and updates the chat with a status message.", "complexity": "low" } }, { "id": "b5321723-bc10-4146-88a5-7080d0fe70a8", "result": { "structured": "TRIGGER: When a Telegram callback event occurs with data '/water_valves_open'. CONDITIONS: None. ACTIONS: Start the Script Water Valves Open [script.water_valves_open]. Send a Telegram answer callback query with the message 'Команда отправлена'. Edit the Telegram reply markup to clear the inline keyboard. Wait for Script Water Valves Open [script.water_valves_open] to change from 'on' to 'off' (with a 40-second timeout). Send a Telegram message to the chat with the message 'Водопроводные краны открыты.'.", "natural_language": { "trigger": "When a specific Telegram callback button is pressed, sending the command '/water_valves_open'.", "conditions": "There are no conditions that must be met for this automation to proceed.", "action": "It starts the 'Script Water Valves Open' [script.water_valves_open], immediately sends a Telegram response confirming the command was sent, clears the inline keyboard from the original message, waits for the script to finish running (or times out after 40 seconds), and finally sends a follow-up Telegram message confirming the water valves are open." }, "human_like": "Opens the water valves via a Telegram button press and sends status updates back to the user.", "complexity": "medium" } }, { "id": "c0192c64-d64b-45b6-ab2e-91170c12f591", "result": { "structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Wait until saures api sid sensor [sensor.saures_api_sid] has a value, then update saures controller 1113513 battery sensor [sensor.saures_controller_1113513_battery].", "natural_language": { "trigger": "When Home Assistant finishes starting up.", "conditions": "There are no conditions that must be met.", "action": "The automation first waits until the saures api sid sensor [sensor.saures_api_sid] reports a valid value. Once that condition is satisfied, it triggers an update for the saures controller 1113513 battery sensor [sensor.saures_controller_1113513_battery] to refresh its data." }, "human_like": "Refreshes the battery sensor for a Saures controller after Home Assistant starts, ensuring the API session is ready first.", "complexity": "low" } }, { "id": "2a16fa66-67a7-4960-95b0-9b766528f44d", "result": { "structured": "TRIGGER: When Home Assistant starts OR When the state of yandex station start stream to input select [input_select.yandex_station_start_stream_to] changes. CONDITIONS: None. ACTIONS: Set the value of yandex station device to play input text [input_text.yandex_station_device_to_play] based on the current state of yandex station start stream to input select [input_select.yandex_station_start_stream_to]. If the state is \"Ванная (Home Mini)\", set to \"Мини в Ванной\". If the state is \"Гостинная (Яндекс)\", set to \"media_player.yandex_station_mini2_gostinaia\". If the state is \"Спальня (Яндекс)\", set to \"media_player.yandex_station_mini2_spalnia\". If the state is \"Детская (Яндекс)\", set to \"media_player.yandex_station_lite_detskaia\".", "natural_language": { "trigger": "The automation runs either when Home Assistant first starts up, or whenever the selected option in the dropdown 'yandex station start stream to input select' [input_select.yandex_station_start_stream_to] changes.", "conditions": "There are no conditions that must be met for the action to run.", "action": "The automation updates the text field 'yandex station device to play input text' [input_text.yandex_station_device_to_play] with a value that depends on which device is selected. If the selection is 'Ванная (Home Mini)', it writes 'Мини в Ванной'. If the selection is 'Гостинная (Яндекс)', it writes the entity ID for the living room speaker. If the selection is 'Спальня (Яндекс)', it writes the entity ID for the bedroom speaker. If the selection is 'Детская (Яндекс)', it writes the entity ID for the nursery speaker." }, "human_like": "This automation maps a user's selection of a Yandex Station device to a corresponding identifier, updating a text field whenever the selection changes or at system startup.", "complexity": "medium" } }, { "id": "0303b471-3e9c-436a-84c0-cc5784eee706", "result": { "structured": "TRIGGER: When volume ya music input number [input_number.volume_ya_music] changes state. CONDITIONS: None. ACTIONS: If the text value of yandex station device to play input text [input_text.yandex_station_device_to_play] contains the string 'Мини в Ванной', then set the volume level of mini v ванной media player [media_player.mini_v_vannoi] to the current numeric value of volume ya music input number [input_number.volume_ya_music]. Otherwise, set the volume level of the media player whose entity_id matches the text value of yandex station device to play input text [input_text.yandex_station_device_to_play] to the current numeric value of volume ya music input number [input_number.volume_ya_music].", "natural_language": { "trigger": "Whenever the volume ya music input number [input_number.volume_ya_music] changes its value.", "conditions": "There are no conditions that must be met for the action to run.", "action": "The automation checks the current text stored in the yandex station device to play input text [input_text.yandex_station_device_to_play]. If that text contains the phrase 'Мини в Ванной', it sets the volume of the mini v ванной media player [media_player.mini_v_vannoi] to the new value from the volume ya music input number [input_number.volume_ya_music]. If the text does not contain that phrase, it sets the volume of whichever media player is named by the text in yandex station device to play input text [input_text.yandex_station_device_to_play] to that same new volume level." }, "human_like": "Automatically sets the volume on a Yandex music player based on a central volume slider, routing the command to a specific bathroom speaker or another chosen device.", "complexity": "medium" } }, { "id": "82c05e64-0259-4f54-8d17-952d241ef34e", "result": { "structured": "TRIGGER: When mini v vannoi media player [media_player.mini_v_vannoi] changes from playing to off. CONDITIONS: yandex station lite prikhozhaya [media_player.yandex_station_lite_prikhozhaya] is playing. ACTIONS: Pause media on yandex station lite prikhozhaya [media_player.yandex_station_lite_prikhozhaya]. Wait for 1 second. Select the source 'Станция' on yandex station lite prikhozhaya [media_player.yandex_station_lite_prikhozhaya].", "natural_language": { "trigger": "When the mini v vannoi media player [media_player.mini_v_vannoi] stops playing (changes from 'playing' to 'off').", "conditions": "The yandex station lite prikhozhaya [media_player.yandex_station_lite_prikhozhaya] must currently be playing media.", "action": "Pauses the media playback on the yandex station lite prikhozhaya [media_player.yandex_station_lite_prikhozhaya], waits for one second, and then sets its source to 'Станция'." }, "human_like": "When music stops in the bathroom, it pauses the music in the hallway and switches the hallway speaker to a default source.", "complexity": "low" } }, { "id": "Stop Yandex Station", "result": { "structured": "TRIGGER: When a Yandex intent event occurs with text 'Выключи колонку в детской' OR with text 'Выключи колонку в гостиной' OR with text 'Выключи колонку на кухне' OR with text 'Выключи колонку в спальне' OR with text 'Выключи колонку в прихожей'. CONDITIONS: None. ACTIONS: If the trigger ID is 'nursery', turn off yandex station lite детская [media_player.yandex_station_lite_detskaia]. If the trigger ID is 'livingroom', turn off yandex station mini2 гостиная [media_player.yandex_station_mini2_gostinaia]. If the trigger ID is 'bedroom', turn off yandex station mini2 спальня [media_player.yandex_station_mini2_spalnia]. If the trigger ID is 'hallway', turn off yandex station lite прихожая [media_player.yandex_station_lite_prikhozhaya].", "natural_language": { "trigger": "When a voice command is issued to a Yandex assistant to turn off the speaker in a specific room. The recognized phrases are: 'Выключи колонку в детской' (nursery), 'Выключи колонку в гостиной' (living room), 'Выключи колонку на кухне' (kitchen), 'Выключи колонку в спальне' (bedroom), and 'Выключи колонку в прихожей' (hallway).", "conditions": "There are no additional conditions that must be met.", "action": "Based on which phrase was recognized, the corresponding Yandex Station speaker in that room is turned off. The nursery command turns off the nursery speaker, the living room and kitchen commands turn off the living room speaker, the bedroom command turns off the bedroom speaker, and the hallway command turns off the hallway speaker." }, "human_like": "Turns off a specific Yandex Station speaker in your home when you ask the voice assistant to do so for a particular room.", "complexity": "medium" } } ]