197 lines
16 KiB
JSON
197 lines
16 KiB
JSON
[
|
|
{
|
|
"id": "alarm_motion_trigger",
|
|
"result": {
|
|
"structured": "TRIGGER: When porch pir sensor [binary_sensor.pir_sensor_porch] turns on. CONDITIONS: alarm toggle [input_boolean.alarm_toggle] is on. ACTIONS: Fire event 'alarm_triggered' with data: name from trigger entity's friendly_name or its entity_id, and area from area_name(trigger.entity_id) or 'Unknown'. Wait 100 milliseconds. THEN, IF alarm level [input_boolean.alarm_level] is off, turn on alarm level [input_boolean.alarm_level] AND start timer alarm reset timer [timer.alarm_reset] for the duration defined by the value of alarm reset delay [input_number.alarm_reset_delay] (in seconds). OTHERWISE, IF alarm level [input_boolean.alarm_level] is on, start timer alarm reset timer [timer.alarm_reset] for the duration defined by the value of alarm reset delay [input_number.alarm_reset_delay] (in seconds).",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the porch pir sensor [binary_sensor.pir_sensor_porch].",
|
|
"conditions": "The alarm system must be armed, meaning the alarm toggle [input_boolean.alarm_toggle] is switched on.",
|
|
"action": "First, an event named 'alarm_triggered' is fired, containing the name of the sensor that triggered it and its associated area. After a very brief 100-millisecond delay, the automation checks the alarm level. If the alarm level [input_boolean.alarm_level] is currently off, it is turned on and the alarm reset timer [timer.alarm_reset] is started for a duration specified by the alarm reset delay [input_number.alarm_reset_delay] setting. If the alarm level is already on, the automation simply restarts the same alarm reset timer with the configured delay."
|
|
},
|
|
"human_like": "Triggers the alarm system when motion is detected on the porch, setting the alarm level and starting a reset timer.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_telegram_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When an alarm_triggered event occurs. CONDITIONS: None. ACTIONS: Send a Telegram message with title '*ALARM* (SALE)' and a message containing 'Motion detected in area {{ trigger.event.data.area }} ({{ trigger.event.data.name }})'.",
|
|
"natural_language": {
|
|
"trigger": "When the Home Assistant system triggers an alarm event.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends an alert message to a configured Telegram chat. The message has the title '*ALARM* (SALE)' and includes details about the alarm, specifically the area and name of the sensor that triggered it."
|
|
},
|
|
"human_like": "Sends a Telegram alert whenever the home alarm is triggered.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_auto_reset",
|
|
"result": {
|
|
"structured": "TRIGGER: When the timer alarm reset [timer.alarm_reset] finishes. CONDITIONS: alarm level [input_boolean.alarm_level] is on. ACTIONS: Turn off alarm level [input_boolean.alarm_level].",
|
|
"natural_language": {
|
|
"trigger": "When the alarm reset timer [timer.alarm_reset] finishes.",
|
|
"conditions": "If the alarm level [input_boolean.alarm_level] is currently turned on.",
|
|
"action": "Turns off the alarm level [input_boolean.alarm_level]."
|
|
},
|
|
"human_like": "Automatically resets the alarm level when a timer finishes, provided the alarm is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_toggle_off_reset",
|
|
"result": {
|
|
"structured": "TRIGGER: When alarm toggle [input_boolean.alarm_toggle] turns off. CONDITIONS: None. ACTIONS: Turn off alarm level [input_boolean.alarm_level] AND cancel alarm reset timer [timer.alarm_reset].",
|
|
"natural_language": {
|
|
"trigger": "When the alarm toggle [input_boolean.alarm_toggle] is turned off.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Turns off the alarm level [input_boolean.alarm_level] and cancels the alarm reset timer [timer.alarm_reset]."
|
|
},
|
|
"human_like": "Resets the alarm system by turning off the alarm level and cancelling the reset timer when the main alarm toggle is switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1743004587794'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the sun sets with an offset of 15 minutes. CONDITIONS: None. ACTIONS: Turn on sunset light switch [00744d74a8832ce2e0b378b7c7dfb7cb].",
|
|
"natural_language": {
|
|
"trigger": "15 minutes after the sun sets.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the sunset light switch [00744d74a8832ce2e0b378b7c7dfb7cb]."
|
|
},
|
|
"human_like": "Turns on a light 15 minutes after sunset.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1743018659299'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Send a Telegram message with title '*INFO* (SALE)' and content 'HA has been started'.",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant starts up.",
|
|
"conditions": "There are no conditions; the action runs immediately after the trigger.",
|
|
"action": "Sends a notification via Telegram with the title '*INFO* (SALE)' and the message 'HA has been started'."
|
|
},
|
|
"human_like": "Sends a Telegram notification when Home Assistant starts up.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1743020290197'",
|
|
"result": {
|
|
"structured": "TRIGGER: When printer cartridge sensor 1 [67083b118c16c903c1bda687619b32c7] value falls below 5 OR When printer cartridge sensor 2 [8bfbcf2f002b92165408de491e583a96] value falls below 5 OR When printer cartridge sensor 3 [8fb8fb024a12ae0df21171efe6a87398] value falls below 5. CONDITIONS: None. ACTIONS: Send a Telegram message with title '*ALERT* (SALE)' and content '{{ trigger.entity.friendly_name }} level is below 5%'.",
|
|
"natural_language": {
|
|
"trigger": "When the value of any of the three printer cartridge sensors (printer cartridge sensor 1 [67083b118c16c903c1bda687619b32c7], printer cartridge sensor 2 [8bfbcf2f002b92165408de491e583a96], or printer cartridge sensor 3 [8fb8fb024a12ae0df21171efe6a87398]) drops below 5%.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Sends an alert message via Telegram with the title '*ALERT* (SALE)' and a message stating the friendly name of the specific sensor that triggered the alert, followed by 'level is below 5%'."
|
|
},
|
|
"human_like": "Sends a Telegram alert when any of the printer's ink cartridges are running low.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1743257316932'",
|
|
"result": {
|
|
"structured": "TRIGGER: When person d [person.d] leaves zone sale high school [zone.sale_high_school]. CONDITIONS: None. ACTIONS: Send a notification to the device with ID 44404b635daf7ed8a1ef67dd59f1debf.",
|
|
"natural_language": {
|
|
"trigger": "When person d [person.d] exits the sale high school zone [zone.sale_high_school].",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a notification to the specified mobile device [device_id: 44404b635daf7ed8a1ef67dd59f1debf]."
|
|
},
|
|
"human_like": "Sends a notification when person d leaves the high school zone.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1743257703972'",
|
|
"result": {
|
|
"structured": "TRIGGER: When person nikodim [person.nikodim] leaves the work zone [zone.work]. CONDITIONS: None. ACTIONS: Send a Telegram message with the text 'Elvis left the building'.",
|
|
"natural_language": {
|
|
"trigger": "When person nikodim [person.nikodim] exits the work zone [zone.work].",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a Telegram message containing the text 'Elvis left the building'."
|
|
},
|
|
"human_like": "Sends a notification when Nikodim leaves the work zone.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1743257581580'",
|
|
"result": {
|
|
"structured": "TRIGGER: When person nikodim [person.nikodim] enters the home zone [zone.home]. CONDITIONS: None. ACTIONS: Send a Telegram message with the text 'Будулай вернулся'.",
|
|
"natural_language": {
|
|
"trigger": "When the person named Nikodim [person.nikodim] enters the geographical area defined as home [zone.home].",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a Telegram message with the content 'Будулай вернулся'."
|
|
},
|
|
"human_like": "Sends a Telegram notification when Nikodim arrives home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "geo_d_left_school",
|
|
"result": {
|
|
"structured": "TRIGGER: When person d [person.d] changes state from being inside zone Sale High School [zone.sale_high_school] to being not_home. CONDITIONS: None. ACTIONS: Send a Telegram message with the content 'D has left Sale High School.'.",
|
|
"natural_language": {
|
|
"trigger": "When person d [person.d] exits the Sale High School zone and their state changes to not_home.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a notification via Telegram with the message 'D has left Sale High School.'."
|
|
},
|
|
"human_like": "Sends a notification when D leaves Sale High School.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_tvphotoframe_on_tv_inactive",
|
|
"result": {
|
|
"structured": "TRIGGER: When lg tv activity status [sensor.lg_tv_activity_status] changes to idle and remains idle for a duration equal to the value of tv inactive timeout [input_number.tv_inactive_timeout] minutes. CONDITIONS: tvphotoframe enabled [input_boolean.tvphotoframe_enabled] is on AND tvphotoframe active [input_boolean.tvphotoframe_active] is off AND the numeric value of tvphotoframe total photos [input_number.tvphotoframe_total_photos] is greater than 0. ACTIONS: Turn on tvphotoframe active [input_boolean.tvphotoframe_active] AND trigger the automation TV Photo Frame Show Next Photo [automation.tvphotoframe_show_next_photo].",
|
|
"natural_language": {
|
|
"trigger": "When the TV's activity status [sensor.lg_tv_activity_status] becomes idle and stays idle for a specific number of minutes, which is determined by the value set in tv inactive timeout [input_number.tv_inactive_timeout].",
|
|
"conditions": "If the photo frame feature is enabled [input_boolean.tvphotoframe_enabled is on], the photo frame is not currently active [input_boolean.tvphotoframe_active is off], and there is at least one photo available [tvphotoframe total photos [input_number.tvphotoframe_total_photos] is greater than zero].",
|
|
"action": "Activates the photo frame by turning on tvphotoframe active [input_boolean.tvphotoframe_active] and then starts the photo slideshow by triggering the automation TV Photo Frame Show Next Photo [automation.tvphotoframe_show_next_photo]."
|
|
},
|
|
"human_like": "Starts a photo slideshow on the TV after it has been idle for a set amount of time, provided the feature is enabled and there are photos to display.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_tvphotoframe_on_tv_active",
|
|
"result": {
|
|
"structured": "TRIGGER: When lg tv activity status [sensor.lg_tv_activity_status] changes to active OR when the source attribute of lg webos tv [media_player.lg_webos_tv_ur80006lj_2] changes OR when the volume_level attribute of lg webos tv [media_player.lg_webos_tv_ur80006lj_2] changes. CONDITIONS: tvphotoframe active [input_boolean.tvphotoframe_active] is on. ACTIONS: Turn off tvphotoframe active [input_boolean.tvphotoframe_active] AND stop media playback on lg webos tv [media_player.lg_webos_tv_ur80006lj_2].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the TV's activity status [sensor.lg_tv_activity_status] becomes active, or when the source or volume level of the LG WebOS TV [media_player.lg_webos_tv_ur80006lj_2] changes.",
|
|
"conditions": "The automation only runs if the photo frame mode is currently active, as indicated by the input boolean tvphotoframe active [input_boolean.tvphotoframe_active] being on.",
|
|
"action": "It deactivates the photo frame mode by turning off tvphotoframe active [input_boolean.tvphotoframe_active] and stops any media that is playing on the LG WebOS TV [media_player.lg_webos_tv_ur80006lj_2]."
|
|
},
|
|
"human_like": "Stops the photo frame display and media playback on the TV when the TV becomes active or its settings change.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tvphotoframe_show_next_photo",
|
|
"result": {
|
|
"structured": "TRIGGER: When tvphotoframe active [input_boolean.tvphotoframe_active] turns on OR When the automation TV Photo Frame Show Next Photo [automation.tvphotoframe_show_next_photo] is triggered. CONDITIONS: tvphotoframe active [input_boolean.tvphotoframe_active] is on AND random photo path [sensor.random_photo_path] is not 'unavailable'. ACTIONS: Execute shell_command.get_next_photo, then play the image from random photo path [sensor.random_photo_path] on lg webos tv [media_player.lg_webos_tv_ur80006lj_2], then send a notification with the photo file name, then wait for the number of seconds specified by tvphotoframe interval [input_number.tvphotoframe_interval], then check if tvphotoframe active [input_boolean.tvphotoframe_active] is still on, and if so, trigger the automation TV Photo Frame Show Next Photo [automation.tvphotoframe_show_next_photo] again.",
|
|
"natural_language": {
|
|
"trigger": "The automation starts either when the tvphotoframe active [input_boolean.tvphotoframe_active] switch is turned on, or when the automation itself is triggered by an event.",
|
|
"conditions": "The automation will only proceed if the tvphotoframe active [input_boolean.tvphotoframe_active] is still on and the random photo path [sensor.random_photo_path] sensor is reporting a valid state (not 'unavailable').",
|
|
"action": "It first runs a shell command to get the next photo. Then, it displays that photo on the lg webos tv [media_player.lg_webos_tv_ur80006lj_2]. A notification is sent to confirm which photo is being shown. After a delay, whose length is determined by the tvphotoframe interval [input_number.tvphotoframe_interval] setting, it checks if the photo frame is still active. If it is, the automation triggers itself to show the next photo, creating a slideshow loop."
|
|
},
|
|
"human_like": "Creates a self-looping photo slideshow on the TV, advancing to a new image at a set interval while the feature is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tvphotoframe_run_python_scanner",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR When event tvphotoframe_scan_photos occurs OR When tvphotoframe folder [input_text.tvphotoframe_folder] changes state. ACTIONS: Wait 30 seconds, then send a persistent notification with title 'TV Photo Frame' and message '🐍 Running photo scan from folder: [current state of tvphotoframe folder]', then execute shell command scan_photos.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when Home Assistant first starts up, when a custom event named 'tvphotoframe_scan_photos' is received, or whenever the tvphotoframe folder [input_text.tvphotoframe_folder] text input is changed.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "After a 30-second delay, the system will display a notification titled 'TV Photo Frame' with a message confirming the scan is starting from the specified folder. It will then run a shell command to scan for photos."
|
|
},
|
|
"human_like": "Starts a photo scanning process for the TV photo frame after a short delay, triggered by system startup, a custom event, or a folder change.",
|
|
"complexity": "medium"
|
|
}
|
|
}
|
|
] |