AutomationDataset/ngocjohn/automation-descriptions.json

392 lines
43 KiB
JSON

[
{
"id": "'1668864895588'",
"result": {
"structured": "TRIGGER: When an iOS action named 'Main Door Open' is fired. CONDITIONS: None. ACTIONS: Open main door lock [lock.nuki_vchod_lock].",
"natural_language": {
"trigger": "When a specific iOS shortcut or action named 'Main Door Open' is triggered.",
"conditions": "There are no conditions that must be met.",
"action": "Unlocks the main door by opening the main door lock [lock.nuki_vchod_lock]."
},
"human_like": "Opens the main door lock when a specific iOS action is triggered.",
"complexity": "low"
}
},
{
"id": "'1677334681247'",
"result": {
"structured": "TRIGGER: When dock lock sensor [binary_sensor.nuki_neklanka_byt_locked] changes state from on to off OR from off to on. CONDITIONS: None. ACTIONS: Toggle door lock input [input_boolean.door_lock].",
"natural_language": {
"trigger": "Whenever the dock lock sensor [binary_sensor.nuki_neklanka_byt_locked] changes its state, either from locked to unlocked or from unlocked to locked.",
"conditions": "There are no conditions that must be met.",
"action": "Toggles the state of the door lock input [input_boolean.door_lock]."
},
"human_like": "Syncs a virtual lock state with the physical lock sensor by toggling a helper switch whenever the lock status changes.",
"complexity": "low"
}
},
{
"id": "'1681905795903'",
"result": {
"structured": "TRIGGER: When the time is exactly 05:00:00 (id: delete) OR When the time pattern matches every hour (hours: /1). CONDITIONS: The current time is between 05:00:00 and 00:00:00 (i.e., from 5 AM to midnight). ACTIONS: If the trigger with id 'delete' fired, then delete all .png and .jpg files in the folders /config/www/tmp/snapshots/ and /config/www/tmp/kids/. Then, in parallel: press kids room start stream button [button.kids_room_start_rtsp_stream]; turn on doorway camera [camera.doorway], terasa camera [camera.terasa], and zahrada camera [camera.zahrada]; wait for doorway camera [camera.doorway] to be in state 'streaming' for 3 seconds; wait for terasa camera [camera.terasa] to be in state 'streaming' for 3 seconds; wait for kids room camera [camera.kids_room] to be in state 'streaming' for 3 seconds; wait for zahrada camera [camera.zahrada] to be in state 'streaming' for 3 seconds. Then, delay for 2 seconds. Then, in parallel: take a timestamped snapshot from doorway camera [camera.doorway] and save to /config/www/tmp/snapshots/camera.doorway[timestamp].jpg; take a timestamped snapshot from kids room camera [camera.kids_room] and save to /config/www/tmp/snapshots/camera.kids_room[timestamp].jpg; take a timestamped snapshot from terasa camera [camera.terasa] and save to /config/www/tmp/snapshots/camera.terasa[timestamp].jpg; take a timestamped snapshot from zahrada camera [camera.zahrada] and save to /config/www/tmp/snapshots/camera.zahrada[timestamp].jpg. Then, delay for 2 seconds. Then, in parallel: take a snapshot from doorway camera [camera.doorway] and save as /config/www/tmp/camera.doorway-latest.jpg; take a timestamped snapshot from kids room camera [camera.kids_room] and save as /config/www/tmp/kids/camera.kids_room-latest[timestamp].jpg; set the value of kids camera snapshot input [input_text.kids_camera_snapshot] to 'kids_room-latest[timestamp].jpg'; take a snapshot from terasa camera [camera.terasa] and save as /config/www/tmp/camera.terasa-latest.jpg; take a snapshot from zahrada camera [camera.zahrada] and save as /config/www/tmp/camera.zahrada-latest.jpg. Then, delay for 5 seconds. Then, turn off doorway camera [camera.doorway], terasa camera [camera.terasa], and zahrada camera [camera.zahrada]. Finally, press kids room stop stream button [button.kids_room_stop_rtsp_stream].",
"natural_language": {
"trigger": "The automation runs either at exactly 5:00 AM every day, or once every hour.",
"conditions": "The automation only proceeds if the current time is between 5:00 AM and midnight (00:00).",
"action": "If the trigger was the 5 AM event, the automation first deletes all existing .png and .jpg files from the snapshot and kids snapshot folders. Then, it starts the kids room camera stream and turns on the other cameras. It waits for all cameras to be in a streaming state for 3 seconds. After a short 2-second delay, it takes timestamped snapshot images from all four cameras and saves them to a snapshot archive. Following another 2-second delay, it takes 'latest' snapshots from the cameras, saving them with a fixed filename (and a timestamped one for the kids room), and updates a text input with the kids room snapshot filename. After a final 5-second delay, it turns off the cameras and stops the kids room stream."
},
"human_like": "This automation takes periodic snapshots from multiple cameras throughout the day, archiving them and updating a 'latest' image, while managing camera streams and cleaning up old files at 5 AM.",
"complexity": "high"
}
},
{
"id": "'1683903230879'",
"result": {
"structured": "TRIGGER: When sunset occurs with a 30-minute offset. CONDITIONS: None. ACTIONS: Close all covers in the bedroom area.",
"natural_language": {
"trigger": "When the sun sets, delayed by 30 minutes.",
"conditions": "There are no conditions that must be met.",
"action": "Close all cover devices (like blinds or curtains) located in the bedroom area."
},
"human_like": "Closes the bedroom blinds or curtains half an hour after sunset.",
"complexity": "low"
}
},
{
"id": "'1684613417245'",
"result": {
"structured": "TRIGGER: None (manual execution only). CONDITIONS: None. ACTIONS: Close bedroom shutters cover [cover.bedroom_shutters] AND close living room cover [cover.living_room_cover].",
"natural_language": {
"trigger": "This automation has no automatic triggers. It must be started manually.",
"conditions": "There are no conditions that need to be met.",
"action": "Closes both the bedroom shutters cover [cover.bedroom_shutters] and the living room cover [cover.living_room_cover]."
},
"human_like": "Closes the bedroom and living room shutters when activated.",
"complexity": "low"
}
},
{
"id": "'1688809817206'",
"result": {
"structured": "TRIGGER: When person viet ngoc [person.viet_ngoc] leaves the zone home [zone.home]. CONDITIONS: guest mode input [input_boolean.guest_mode] is on. ACTIONS: Set variables action_yes and action_no. Wait 5 seconds. Send a notification to mobile_app_viet_ngoc with title 'Guest mode' and message 'Do you want to stop this?', providing YES and NO action buttons. Wait for a mobile_app_notification_action event with action matching action_yes OR action_no. If the action matches action_yes, then turn off guest mode input [input_boolean.guest_mode], wait until guest mode input [input_boolean.guest_mode] is off for 2 seconds, then turn on leaving home input [input_boolean.leaving_home]. If the action matches action_no, then attempt to turn on guest mode input [input_boolean.guest_mode] (but the action is disabled) and stop the automation.",
"natural_language": {
"trigger": "When the person viet ngoc [person.viet_ngoc] leaves the home area defined by zone home [zone.home].",
"conditions": "The automation only runs if the guest mode input [input_boolean.guest_mode] is currently switched on.",
"action": "The automation first sets up some internal variables, then waits for 5 seconds. After the delay, it sends a push notification to the mobile app for viet ngoc with the title 'Guest mode' and the question 'Do you want to stop this?', offering YES and NO buttons. It then waits for the user to tap one of those buttons in the notification. If the user taps YES, the automation turns off the guest mode input [input_boolean.guest_mode], confirms it is off for 2 seconds, and then turns on the leaving home input [input_boolean.leaving_home]. If the user taps NO, the automation attempts to turn on the guest mode input [input_boolean.guest_mode] (though this action is disabled in the code) and then stops all further processing."
},
"human_like": "Asks the user if they want to disable guest mode when they leave home, and if they confirm, it turns off guest mode and marks that they are leaving.",
"complexity": "medium"
}
},
{
"id": "'1688940697804'",
"result": {
"structured": "TRIGGER: When homepod alarm script [script.homepod_alarm] turns on AND remains on for 5 seconds. CONDITIONS: None. ACTIONS: Set variable action_stop to 'STOP_' concatenated with the context ID. Wait for 3 seconds. Send a notification to mobile_app_viet_ngoc with title 'Alarm Clock', message 'Do you want to stop this?', a critical sound 'findmy.wav' at volume 1, and an action button titled 'Stop alarm' with action value equal to the action_stop variable. Wait for a mobile_app_notification_action event where the action matches the action_stop variable. If the received action matches action_stop, then pause the media on bedroom media player [media_player.bedroom] and then turn off bedroom media player [media_player.bedroom].",
"natural_language": {
"trigger": "When the homepod alarm script [script.homepod_alarm] is turned on and stays on for five seconds.",
"conditions": "There are no conditions for this automation.",
"action": "First, a unique variable is created for stopping this specific alarm instance. After a three-second delay, a notification is sent to the user's mobile device asking if they want to stop the alarm, with a critical sound and a 'Stop alarm' button. The automation then waits for the user to press that button. If the user presses the 'Stop alarm' button, the automation pauses the bedroom media player [media_player.bedroom] and then turns it off."
},
"human_like": "When an alarm starts playing, it sends a notification to your phone asking if you want to stop it, and if you do, it will pause and turn off the bedroom speaker.",
"complexity": "medium"
}
},
{
"id": "'1693488019712'",
"result": {
"structured": "TRIGGER: When nuki vchod input button [input_button.nuki_vchod] changes state. CONDITIONS: None. ACTIONS: Open main door lock [lock.nuki_vchod_lock].",
"natural_language": {
"trigger": "When the nuki vchod input button [input_button.nuki_vchod] is pressed or changes its state.",
"conditions": "There are no conditions for this automation.",
"action": "Unlocks the main door by sending an open command to the main door lock [lock.nuki_vchod_lock]."
},
"human_like": "Opens the main door lock when the associated button is pressed.",
"complexity": "low"
}
},
{
"id": "'1694516012171'",
"result": {
"structured": "TRIGGER: When the time pattern matches every 20 minutes (at minutes divisible by 20). CONDITIONS: device tracker [device_tracker.viet_ngoc_samsung] is not_home. ACTIONS: Update the entities device tracker [device_tracker.viet_ngoc_samsung] and waze ngoc home sensor [sensor.waze_ngoc_home].",
"natural_language": {
"trigger": "Every 20 minutes, on the minute (e.g., 0, 20, 40 minutes past the hour).",
"conditions": "The device tracker [device_tracker.viet_ngoc_samsung] must report that the user is not home.",
"action": "Refresh the data for the device tracker [device_tracker.viet_ngoc_samsung] and the waze ngoc home sensor [sensor.waze_ngoc_home]."
},
"human_like": "Updates travel information every 20 minutes, but only when the user is away from home.",
"complexity": "low"
}
},
{
"id": "'1694721012171'",
"result": {
"structured": "TRIGGER: When vibrant color sensor [sensor.vibrant_color] changes state. CONDITIONS: (office led light strip [light.office_led_light_strip] is on) AND (media player [952057f8ccc2766d1d825168186a225a] is playing OR universal airplay media player [media_player.mass_universal_airplay] is playing). ACTIONS: Turn on office led light strip [light.office_led_light_strip] with a 5-second transition and set its RGB color to the current state value of vibrant color sensor [sensor.vibrant_color].",
"natural_language": {
"trigger": "Whenever the vibrant color sensor [sensor.vibrant_color] reports a new color value.",
"conditions": "The office led light strip [light.office_led_light_strip] must be turned on, and at least one of the media players must be actively playing: either the media player [952057f8ccc2766d1d825168186a225a] or the universal airplay media player [media_player.mass_universal_airplay].",
"action": "Gradually change the color of the office led light strip [light.office_led_light_strip] over 5 seconds to match the latest color value reported by the vibrant color sensor [sensor.vibrant_color]."
},
"human_like": "Syncs the office light strip color to the vibrant color sensor when music is playing and the lights are on.",
"complexity": "medium"
}
},
{
"id": "'1695149693530'",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Send a notification with message 'Home assistant started' and tag 'hastarted' to mobile_app_viet_ngoc_samsung, wait for 10 seconds, send a notification with message 'clear_notification' and tag 'hastarted' to mobile_app_viet_ngoc_samsung, then execute the action readme.generate.",
"natural_language": {
"trigger": "When Home Assistant starts up.",
"conditions": "There are no conditions.",
"action": "Sends a notification to the device 'mobile_app_viet_ngoc_samsung' with the message 'Home assistant started' tagged as 'hastarted'. After a 10-second delay, it sends another notification to the same device with the message 'clear_notification' and the same tag, and then runs the 'readme.generate' action."
},
"human_like": "Sends a temporary start-up notification to a mobile device when Home Assistant boots, then clears it and generates a readme.",
"complexity": "low"
}
},
{
"id": "'1695935011647'",
"result": {
"structured": "TRIGGER: When the event 'lovelace_updated' occurs. CONDITIONS: None. ACTIONS: First, update the code line count sensor [sensor.code_line_count]. Then, in parallel, repeat the following sequence 3 times: wait 500 milliseconds, then send a browser notification with a blank message lasting 1 second to browser device 1 [device_id: 44ebbefcd0dad5b66b4d90ff566c1030], then send a browser notification with a blank message lasting 1 second to browser device 2 [device_id: e5211b8956d56a9d80b84665dfb8e957], then send a browser notification with a blank message lasting 1 second to browser device 3 [device_id: 4f43e0dc2e03b71c2e137f9696a04a2c].",
"natural_language": {
"trigger": "When the Lovelace UI is updated.",
"conditions": "There are no conditions.",
"action": "First, it refreshes the code line count sensor [sensor.code_line_count]. Then, it simultaneously runs a sequence three times. Each sequence waits half a second, then sends a brief, blank notification to browser device 1 [device_id: 44ebbefcd0dad5b66b4d90ff566c1030], browser device 2 [device_id: e5211b8956d56a9d80b84665dfb8e957], and browser device 3 [device_id: 4f43e0dc2e03b71c2e137f9696a04a2c]."
},
"human_like": "Refreshes a sensor and sends silent notifications to browser devices whenever the Lovelace dashboard is updated.",
"complexity": "medium"
}
},
{
"id": "'1696553366478'",
"result": {
"structured": "TRIGGER: When dishwasher operation sensor [sensor.mycka_nadobi_operation_state] changes to 'run'. CONDITIONS: (dishwasher remaining time sensor [sensor.mycka_nadobi_remaining_program_time] is NOT 'unknown') OR (dishwasher remaining time sensor [sensor.mycka_nadobi_remaining_program_time] is NOT 'unavailable'). ACTIONS: Set the duration of dishwasher timer [timer.dishwasher_remaining] to the remaining program time calculated from dishwasher remaining time sensor [sensor.mycka_nadobi_remaining_program_time] (converted to HH:MM:SS format).",
"natural_language": {
"trigger": "When the dishwasher operation sensor [sensor.mycka_nadobi_operation_state] indicates the dishwasher has started running.",
"conditions": "If the dishwasher remaining time sensor [sensor.mycka_nadobi_remaining_program_time] is reporting a valid value, meaning it is not in an 'unknown' or 'unavailable' state.",
"action": "Calculates the remaining program time from the dishwasher remaining time sensor [sensor.mycka_nadobi_remaining_program_time] and sets that duration on the dishwasher timer [timer.dishwasher_remaining]."
},
"human_like": "Starts a timer for the dishwasher when it begins running, using the dishwasher's own estimated remaining time.",
"complexity": "medium"
}
},
{
"id": "34ba1897-ec7a-4cb3-a12b-fb0a1e9e495e",
"result": {
"structured": "TRIGGER: When vacuum status sensor [sensor.vacuum_status] changes from state '9' to state '4' OR when vacuum status sensor [sensor.vacuum_status] changes from state '6' to state '4'. CONDITIONS: None. ACTIONS: Execute the script Vacuum Notify [script.vacuum_notify] with data: title 'Little messy there', message 'The vacuum cleaner started cleaning!'.",
"natural_language": {
"trigger": "When the vacuum status sensor [sensor.vacuum_status] changes from a specific state '9' to state '4', or when it changes from a specific state '6' to state '4'.",
"conditions": "There are no conditions that need to be met.",
"action": "Runs the notification script Vacuum Notify [script.vacuum_notify] with a custom title and message to announce that the vacuum cleaner has started cleaning."
},
"human_like": "Sends a friendly notification when the vacuum cleaner begins its cleaning cycle.",
"complexity": "low"
}
},
{
"id": "2dedd749-b65a-49e0-8747-2dce6dd995a4",
"result": {
"structured": "TRIGGER: When vacuum fault sensor [sensor.vacuum_fault] changes from state 'No Faults'. CONDITIONS: (roidmi vacuum [vacuum.roidmi_eve] attribute 'vacuum.fault' is not equal to 0 AND not equal to None). ACTIONS: Execute script Vacuum Notify [script.vacuum_notify] with data: title 'Something is wrong with robot', message containing the current state of vacuum fault sensor [sensor.vacuum_fault].",
"natural_language": {
"trigger": "When the vacuum fault sensor [sensor.vacuum_fault] changes from a state of 'No Faults' to any other state.",
"conditions": "If the roidmi vacuum [vacuum.roidmi_eve] has a fault attribute that is not zero and is not undefined.",
"action": "Sends a notification by running the Vacuum Notify [script.vacuum_notify] script with a title 'Something is wrong with robot' and a message containing the current fault description from the sensor."
},
"human_like": "Sends an alert when the vacuum cleaner reports a fault, ensuring the notification is only sent if the fault is confirmed by the vacuum's internal status.",
"complexity": "medium"
}
},
{
"id": "'1700514428812'",
"result": {
"structured": "TRIGGER: When system memory usage sensor [sensor.ha_system_memory_usage] OR system cpu usage sensor [sensor.ha_system_cpu_usage] remains above 70% for 7 minutes. CONDITIONS: None. ACTIONS: Send a notification via notify.ngoc_devices with title 'System' and message containing current memory and CPU usage percentages.",
"natural_language": {
"trigger": "When either the system memory usage sensor [sensor.ha_system_memory_usage] or the system cpu usage sensor [sensor.ha_system_cpu_usage] stays above 70% for a continuous period of 7 minutes.",
"conditions": "There are no additional conditions that need to be met.",
"action": "Sends a notification to the specified notification service (notify.ngoc_devices) with the title 'System' and a message that includes the current memory usage percentage and the current CPU usage percentage."
},
"human_like": "Sends a notification if the Home Assistant system's memory or CPU usage stays high for more than 7 minutes, helping to alert about potential resource leaks.",
"complexity": "low"
}
},
{
"id": "'1701556784590'",
"result": {
"structured": "TRIGGER: When media_title attribute of living room tv [media_player.living_room_tv] changes and remains stable for 2 seconds OR When state of living room tv [media_player.living_room_tv] changes to 'playing' and remains stable for 2 seconds OR When app_id attribute of living room tv [media_player.living_room_tv] changes to 'com.google.ios.youtube' and remains stable for 2 seconds OR When app_id attribute of living room tv [media_player.living_room_tv] changes from 'com.google.ios.youtube' to null. CONDITIONS: None. ACTIONS: Choose between two sequences: 1. If the trigger was title_change OR state_changed AND (living room tv [media_player.living_room_tv] has a media_title attribute AND its app_id is 'com.google.ios.youtube' AND its media_title is different from the title attribute of youtube thumbnail sensor [sensor.youtube_thumbnail]), then fire event 'youtube_update'. 2. If the trigger was reset_title, then fire event 'youtube_reset'.",
"natural_language": {
"trigger": "The automation can be triggered in four ways: when the title of the media playing on the living room tv [media_player.living_room_tv] changes and stays the same for 2 seconds; when the TV's playback state changes to 'playing' and stays that way for 2 seconds; when the TV's app changes to the YouTube app (com.google.ios.youtube) and stays that way for 2 seconds; or when the TV's app changes away from the YouTube app to something else.",
"conditions": "There are no global conditions for this automation.",
"action": "The automation performs one of two actions based on which trigger fired and some checks. If the trigger was related to a title change or state change to playing, and the TV is currently using the YouTube app and the video title is different from the one stored in the youtube thumbnail sensor [sensor.youtube_thumbnail], then it sends a 'youtube_update' event. If the trigger was the TV app changing away from YouTube, it sends a 'youtube_reset' event."
},
"human_like": "Updates a YouTube tracking sensor when a new video starts on the living room TV, and resets it when YouTube is closed.",
"complexity": "high"
}
},
{
"id": "'1702444277863'",
"result": {
"structured": "TRIGGER: When unifi archive alerts input [input_button.unifi_archive_alerts] changes state. CONDITIONS: None. ACTIONS: Fire the 'archive_alerts' event.",
"natural_language": {
"trigger": "Whenever the unifi archive alerts input [input_button.unifi_archive_alerts] is pressed or changes state.",
"conditions": "There are no conditions; the action runs immediately after the trigger.",
"action": "Fires a custom Home Assistant event named 'archive_alerts'."
},
"human_like": "Triggers an archive alerts event when a specific button is pressed.",
"complexity": "low"
}
},
{
"id": "'1706827614119'",
"result": {
"structured": "TRIGGER: When kodi library scan input [input_button.kodi_lib_scan] is pressed (state changes to null). CONDITIONS: None. ACTIONS: Fire the 'kodi_library_scan' event, then fire the 'fetch_upcoming_movies' event, then fire the 'kodi_video_scan' event.",
"natural_language": {
"trigger": "When the kodi library scan input [input_button.kodi_lib_scan] button is pressed.",
"conditions": "There are no conditions for this automation.",
"action": "It triggers three separate events: 'kodi_library_scan', 'fetch_upcoming_movies', and 'kodi_video_scan'."
},
"human_like": "Initiates a series of Kodi library and video scans when the dedicated scan button is pressed.",
"complexity": "low"
}
},
{
"id": "'1715819993809'",
"result": {
"structured": "TRIGGER: When media_title attribute of kodi atv media player [media_player.kodi_atv] changes. CONDITIONS: None. ACTIONS: Call the Player.GetItem method on kodi atv media player [media_player.kodi_atv] with playerid 0 and properties title and art.",
"natural_language": {
"trigger": "Whenever the title of the currently playing media on the Kodi atv media player [media_player.kodi_atv] changes.",
"conditions": "There are no conditions for this automation.",
"action": "The automation instructs the Kodi atv media player [media_player.kodi_atv] to fetch detailed information about the currently playing item, specifically its title and artwork."
},
"human_like": "Updates the picture sensor in Kodi whenever the media title changes, likely to refresh the displayed artwork.",
"complexity": "low"
}
},
{
"id": "'1716484682108'",
"result": {
"structured": "TRIGGER: When roidmi vacuum [vacuum.roidmi_eve] state changes OR When vacuum led switch input [input_boolean.vacuum_led_switch] state changes OR When vacuum lidar collision input [input_boolean.vacuum_lidar_collision] state changes OR When vacuum auto boost input [input_boolean.vacuum_auto_boost] state changes OR When vacuum volume input [input_number.vacuum_volume] state changes OR When vacuum double clean input [input_boolean.vacuum_double_clean] state changes OR When vacuum edge sweep input [input_boolean.vacuum_edge_sweep] state changes OR When vacuum water level input [input_select.vacuum_water_level] state changes OR When vacuum station key input [input_boolean.vacuum_station_key] state changes OR When vacuum station led input [input_boolean.vacuum_station_led] state changes OR When vacuum mute input [input_boolean.vacuum_mute] state changes OR When vacuum work station frequency input [input_select.vacuum_work_station_freq] state changes OR When vacuum mode input [input_select.vacuum_mode] state changes OR When vacuum sweep type input [input_select.vacuum_sweep_type] state changes. CONDITIONS: None. ACTIONS: Choose based on trigger: If triggered by vacuum led switch input [input_boolean.vacuum_led_switch], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:8, piid:22) to 0 if off else 1. If triggered by vacuum lidar collision input [input_boolean.vacuum_lidar_collision], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:8, piid:23) to 0 if off else 1. If triggered by vacuum auto boost input [input_boolean.vacuum_auto_boost], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:8, piid:9) to 0 if off else 1. If triggered by vacuum volume input [input_number.vacuum_volume], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:9, piid:1) to rounded state value. If triggered by vacuum double clean input [input_boolean.vacuum_double_clean], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:8, piid:20) to 0 if off else 1. If triggered by vacuum edge sweep input [input_boolean.vacuum_edge_sweep], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:13, piid:8) to 0 if off else 1. If triggered by vacuum water level input [input_select.vacuum_water_level], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:8, piid:11) to 0 for 'No water', 1 for 'Small', 2 for 'Middle', 3 for 'MAX'. If triggered by vacuum station key input [input_boolean.vacuum_station_key], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:8, piid:24) to 0 if off else 1. If triggered by vacuum station led input [input_boolean.vacuum_station_led], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:8, piid:25) to 0 if off else 1. If triggered by vacuum mute input [input_boolean.vacuum_mute], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:9, piid:2) to 0 if off else 1. If triggered by vacuum work station frequency input [input_select.vacuum_work_station_freq], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:8, piid:2) to 0 for 'Not to throw away', 1 for 'Every time', 2 for 'Every second', 3 for 'Every third'. If triggered by vacuum mode input [input_select.vacuum_mode], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:2, piid:4) to 0 for 'Sweep', 1 for 'Silent', 2 for 'Basic', 3 for 'Strong', 4 for 'Full Speed'. If triggered by vacuum sweep type input [input_select.vacuum_sweep_type], set roidmi vacuum [vacuum.roidmi_eve] MIOT property (siid:2, piid:8) to 0 for 'Sweep', 1 for 'Mop', 2 for 'Mop And Sweep'.",
"natural_language": {
"trigger": "This automation runs whenever the state of the roidmi vacuum [vacuum.roidmi_eve] changes, or when any of the 13 dedicated input helper entities change state. These input helpers control various vacuum settings like LED switch, lidar collision, auto boost, volume, double clean, edge sweep, water level, station key, station LED, mute, work station frequency, vacuum mode, and sweep type.",
"conditions": "There are no conditions; the automation runs whenever a trigger occurs.",
"action": "Depending on which entity triggered the automation, a specific MIOT property on the roidmi vacuum [vacuum.roidmi_eve] is updated to match the state of the corresponding input helper. For example, if the vacuum led switch input [input_boolean.vacuum_led_switch] changes, the vacuum's LED property is set to off (0) or on (1). Similarly, numeric and select inputs are mapped to specific property values, such as setting the water level to a number based on the selected option."
},
"human_like": "Syncs all user-controlled vacuum settings from Home Assistant input helpers to the actual Roidmi vacuum cleaner whenever any setting is changed.",
"complexity": "medium"
}
},
{
"id": "'1716484803294'",
"result": {
"structured": "TRIGGER: When roidmi vacuum [vacuum.roidmi_eve] state changes. CONDITIONS: None. ACTIONS: Set vacuum led switch input [input_boolean.vacuum_led_switch] to ON if roidmi vacuum [vacuum.roidmi_eve] attribute custom.led_switch equals 1, otherwise set to OFF. Set vacuum lidar collision input [input_boolean.vacuum_lidar_collision] to ON if roidmi vacuum [vacuum.roidmi_eve] attribute custom.lidar_collision equals 1, otherwise set to OFF. Set vacuum auto boost input [input_boolean.vacuum_auto_boost] to ON if roidmi vacuum [vacuum.roidmi_eve] attribute custom.auto_boost equals 1, otherwise set to OFF. Set vacuum volume input [input_number.vacuum_volume] to the value of roidmi vacuum [vacuum.roidmi_eve] attribute speaker.volume. Set vacuum double clean input [input_boolean.vacuum_double_clean] to ON if roidmi vacuum [vacuum.roidmi_eve] attribute custom.double_clean equals 1, otherwise set to OFF. Set vacuum edge sweep input [input_boolean.vacuum_edge_sweep] to ON if roidmi vacuum [vacuum.roidmi_eve] attribute map.path_type equals 1, otherwise set to OFF. Set vacuum water level input [input_select.vacuum_water_level] to 'No water' if roidmi vacuum [vacuum.roidmi_eve] attribute custom.water_level equals 0, to 'Small' if equals 1, to 'Middle' if equals 2, to 'MAX' if equals 3. Set vacuum station key input [input_boolean.vacuum_station_key] to ON if roidmi vacuum [vacuum.roidmi_eve] attribute custom.station_key equals 1, otherwise set to OFF. Set vacuum station led input [input_boolean.vacuum_station_led] to ON if roidmi vacuum [vacuum.roidmi_eve] attribute custom.station_led equals 1, otherwise set to OFF. Set vacuum mute input [input_boolean.vacuum_mute] to ON if roidmi vacuum [vacuum.roidmi_eve] attribute speaker.mute equals 1, otherwise set to OFF. Set vacuum work station frequency input [input_select.vacuum_work_station_freq] to 'Not to throw away' if roidmi vacuum [vacuum.roidmi_eve] attribute custom.work_station_freq equals 0, to 'Every time' if equals 1, to 'Every second' if equals 2, to 'Every third' if equals 3. Set vacuum mode input [input_select.vacuum_mode] to 'Sweep' if roidmi vacuum [vacuum.roidmi_eve] attribute vacuum.mode equals 0, to 'Silent' if equals 1, to 'Basic' if equals 2, to 'Strong' if equals 3, to 'Full Speed' if equals 4. Set vacuum sweep type input [input_select.vacuum_sweep_type] to 'Sweep' if roidmi vacuum [vacuum.roidmi_eve] attribute vacuum.sweep_type equals 0, to 'Mop' if equals 1, to 'Mop And Sweep' if equals 2.",
"natural_language": {
"trigger": "Whenever the state of the roidmi vacuum [vacuum.roidmi_eve] changes.",
"conditions": "There are no conditions that must be met.",
"action": "The automation updates a series of input helpers to reflect the current settings of the vacuum. It turns on or off the vacuum led switch input [input_boolean.vacuum_led_switch] based on the vacuum's LED setting. It turns on or off the vacuum lidar collision input [input_boolean.vacuum_lidar_collision] based on the lidar collision setting. It turns on or off the vacuum auto boost input [input_boolean.vacuum_auto_boost] based on the auto boost setting. It sets the vacuum volume input [input_number.vacuum_volume] to match the vacuum's speaker volume. It turns on or off the vacuum double clean input [input_boolean.vacuum_double_clean] based on the double clean setting. It turns on or off the vacuum edge sweep input [input_boolean.vacuum_edge_sweep] based on the path type setting. It sets the vacuum water level input [input_select.vacuum_water_level] to 'No water', 'Small', 'Middle', or 'MAX' based on the water level setting. It turns on or off the vacuum station key input [input_boolean.vacuum_station_key] based on the station key setting. It turns on or off the vacuum station led input [input_boolean.vacuum_station_led] based on the station LED setting. It turns on or off the vacuum mute input [input_boolean.vacuum_mute] based on the speaker mute setting. It sets the vacuum work station frequency input [input_select.vacuum_work_station_freq] to 'Not to throw away', 'Every time', 'Every second', or 'Every third' based on the work station frequency setting. It sets the vacuum mode input [input_select.vacuum_mode] to 'Sweep', 'Silent', 'Basic', 'Strong', or 'Full Speed' based on the vacuum mode. It sets the vacuum sweep type input [input_select.vacuum_sweep_type] to 'Sweep', 'Mop', or 'Mop And Sweep' based on the sweep type."
},
"human_like": "This automation syncs the vacuum cleaner's various internal settings to corresponding input helpers in Home Assistant whenever the vacuum's state changes.",
"complexity": "medium"
}
},
{
"id": "'1719583633037'",
"result": {
"structured": "TRIGGER: When the template evaluates to true, specifically when the current time is at or after a calculated departure time. The departure time is 16:45 minus the travel time (from waze ngoc skolka sensor [sensor.waze_ngoc_skolka]) and a 10-minute lag. CONDITIONS: (device tracker [device_tracker.viet_ngoc_samsung] is NOT in zone smichov [zone.smichov]) AND (the current weekday is Wednesday OR Thursday OR Friday). ACTIONS: Send a notification to mobile_app_viet_ngoc_samsung with the title 'Vanesska Skolka' and a message containing the travel time in minutes and the route description from waze ngoc skolka sensor [sensor.waze_ngoc_skolka].",
"natural_language": {
"trigger": "The automation triggers based on a calculated time. It checks if the current time is equal to or later than a specific departure time. This departure time is set for 4:45 PM, but it subtracts the travel time (provided by the waze ngoc skolka sensor [sensor.waze_ngoc_skolka]) and an additional 10-minute buffer.",
"conditions": "Two conditions must be met. First, the device tracker [device_tracker.viet_ngoc_samsung] must not be located within the zone smichov [zone.smichov]. Second, the current day must be a Wednesday, Thursday, or Friday.",
"action": "Sends a notification to the mobile app for device tracker [device_tracker.viet_ngoc_samsung]. The notification has the title 'Vanesska Skolka' and includes the travel time in minutes and the route details from the waze ngoc skolka sensor [sensor.waze_ngoc_skolka]."
},
"human_like": "Sends a reminder notification about the travel time to Vanessa's school on weekdays when the user is not already in the Smichov zone.",
"complexity": "medium"
}
},
{
"id": "'1719583833596'",
"result": {
"structured": "TRIGGER: When the time pattern matches every 2 minutes. CONDITIONS: Current time is after 14:00:00 AND before 17:00:00 AND current weekday is Friday OR Thursday. ACTIONS: Update the entities waze ngoc skolka sensor [sensor.waze_ngoc_skolka] and waze ngoc smichov sensor [sensor.waze_ngoc_smichov_oc].",
"natural_language": {
"trigger": "The automation triggers every two minutes.",
"conditions": "The automation only runs if the current time is between 2:00 PM and 5:00 PM, and if the current day is either Thursday or Friday.",
"action": "It refreshes the data for two Waze travel time sensors: waze ngoc skolka sensor [sensor.waze_ngoc_skolka] and waze ngoc smichov sensor [sensor.waze_ngoc_smichov_oc]."
},
"human_like": "Updates the Waze travel time sensors every two minutes on Thursday and Friday afternoons.",
"complexity": "low"
}
},
{
"id": "'1727802647185'",
"result": {
"structured": "TRIGGER: When person viet ngoc [person.viet_ngoc] changes state from home to not_home OR from not_home to home. CONDITIONS: None. ACTIONS: Publish an MQTT message to the topic 'homeassistant/persistence/{{ trigger.to_state.name | lower }}' with the current timestamp as the payload and retain the message.",
"natural_language": {
"trigger": "When the person viet ngoc [person.viet_ngoc] changes their presence state, either from home to away or from away to home.",
"conditions": "There are no conditions for this automation.",
"action": "Publishes a timestamped MQTT message to a topic based on the person's new state, with the message set to be retained."
},
"human_like": "Logs the time whenever Viet Ngoc arrives at or leaves home by sending a message to the MQTT broker.",
"complexity": "low"
}
},
{
"id": "'1739425730318'",
"result": {
"structured": "TRIGGER: When the time matches the value of samsung next alarm sensor [sensor.viet_ngoc_samsung_next_alarm]. CONDITIONS: None. ACTIONS: Execute homepod alarm script [script.homepod_alarm].",
"natural_language": {
"trigger": "When the current time reaches the time specified by the samsung next alarm sensor [sensor.viet_ngoc_samsung_next_alarm].",
"conditions": "There are no conditions that must be met.",
"action": "Runs the homepod alarm script [script.homepod_alarm]."
},
"human_like": "Triggers a HomePod alarm script when a Samsung device's next alarm time arrives.",
"complexity": "low"
}
},
{
"id": "'1741648805445'",
"result": {
"structured": "TRIGGER: When sony bravia tv [media_player.sony_bravia_tv] remains off for 5 minutes and 30 seconds. CONDITIONS: atv media player [media_player.atv] has an app_name attribute that is not none. ACTIONS: Execute script.atv_quit.",
"natural_language": {
"trigger": "When the Sony Bravia TV [media_player.sony_bravia_tv] has been turned off and remains off for 5 minutes and 30 seconds.",
"conditions": "The Apple TV media player [media_player.atv] must currently have an app running, meaning its app_name attribute is set (not 'none').",
"action": "Runs the script 'atv_quit', which presumably quits the currently running app on the Apple TV."
},
"human_like": "Quits the app on the Apple TV if the Sony TV has been off for over five minutes and an app is currently open.",
"complexity": "low"
}
},
{
"id": "'1743952304385'",
"result": {
"structured": "TRIGGER: When entrance door contact sensor [binary_sensor.contact_sensor_entrance_door] changes state to open (on) OR when entrance door contact sensor [binary_sensor.contact_sensor_entrance_door] changes state to open (on) AND remains open for 5 minutes. CONDITIONS: None. ACTIONS: If the trigger was the 5-minute open state (door5min), then send a high priority notification 'Front Door Open!' via notify.ngoc_devices. Otherwise, send a standard notification 'Door' via notify.ngoc_devices stating the front door's current state.",
"natural_language": {
"trigger": "When the entrance door contact sensor [binary_sensor.contact_sensor_entrance_door] becomes open, or when it becomes open and stays open for five minutes.",
"conditions": "There are no conditions that must be met.",
"action": "If the door has been open for five minutes, it sends an urgent notification titled 'Front Door Open!' to the user's devices. If the door has just opened (but not for five minutes yet), it sends a standard notification titled 'Door' with a message stating whether the front door is open or closed."
},
"human_like": "Sends a notification when the front door opens, with an urgent alert if it remains open for five minutes.",
"complexity": "medium"
}
},
{
"id": "'1744393666745'",
"result": {
"structured": "TRIGGER: When home assistant calendar [calendar.home_assistant_devs] event starts, 12 minutes before the scheduled start time. CONDITIONS: None. ACTIONS: Create a persistent notification with title 'HA Calendar' and message content equal to the 'message' attribute of home assistant calendar [calendar.home_assistant_devs].",
"natural_language": {
"trigger": "When an event on the home assistant calendar [calendar.home_assistant_devs] is about to start, specifically 12 minutes before its scheduled start time.",
"conditions": "There are no conditions that must be met.",
"action": "Creates a notification with the title 'HA Calendar' and a message containing the description from the calendar event."
},
"human_like": "Sends a notification 12 minutes before a Home Assistant calendar event starts, showing the event's message.",
"complexity": "low"
}
},
{
"id": "'1746378396403'",
"result": {
"structured": "TRIGGER: When roidmi vacuum [vacuum.roidmi_eve] changes state. CONDITIONS: The new state of roidmi vacuum [vacuum.roidmi_eve] is different from its previous state. ACTIONS: If the new state of roidmi vacuum [vacuum.roidmi_eve] is 'unavailable', 'unknown', 'docked', 'idle', 'paused', or 'charging', then turn off roidmi camera [camera.roidmi_eve]. Otherwise, turn on roidmi camera [camera.roidmi_eve].",
"natural_language": {
"trigger": "Whenever the state of the roidmi vacuum [vacuum.roidmi_eve] changes.",
"conditions": "The change must be a genuine state transition, meaning the new state is different from the old state.",
"action": "If the vacuum's new state is one of the inactive or standby modes (unavailable, unknown, docked, idle, paused, or charging), the roidmi camera [camera.roidmi_eve] is turned off. If the vacuum's new state is anything else (like cleaning or returning), the camera is turned on."
},
"human_like": "Turns the robot vacuum's camera on when it's active and off when it's idle or docked.",
"complexity": "medium"
}
}
]