AutomationDataset/pedorich-n/automation-descriptions.json

80 lines
7.8 KiB
JSON

[
{
"id": "androidtv_adb_ok_button",
"result": {
"structured": "TRIGGER: When a webhook with ID 'androidtv-ok' is received via PUT request and is local-only. CONDITIONS: None. ACTIONS: Send ADB command 'input keyevent 23' to LDK Android TV [media_player.ldk_android_tv].",
"natural_language": {
"trigger": "When a specific local webhook request (androidtv-ok) is received.",
"conditions": "There are no conditions that must be met.",
"action": "Sends an ADB command to simulate pressing the OK button on the LDK Android TV [media_player.ldk_android_tv]."
},
"human_like": "Simulates pressing the OK button on the Android TV when a specific webhook is triggered.",
"complexity": "low"
}
},
{
"id": "androidtv_adb_show_inputs",
"result": {
"structured": "TRIGGER: When a webhook with ID androidtv-inputs is received via PUT request and is local only. CONDITIONS: None. ACTIONS: Execute Android TV ADB command 'am start -a com.android.tv.action.VIEW_INPUTS -n com.google.android.tvlauncher/.inputs.InputsPanelActivity -f 0x10000000' on LDK Android TV [media_player.ldk_android_tv].",
"natural_language": {
"trigger": "When a specific local webhook request (androidtv-inputs) is received using the PUT method.",
"conditions": "There are no conditions that must be met.",
"action": "Sends an ADB command to the LDK Android TV [media_player.ldk_android_tv] to open the TV's input selection panel."
},
"human_like": "Opens the input selection screen on the Android TV when a specific webhook is triggered.",
"complexity": "low"
}
},
{
"id": "climate",
"result": {
"structured": "TRIGGER: When an event starts on climate calendar [calendar.climate]. CONDITIONS: vacation mode [input_boolean.vacation_mode] is off. ACTIONS: Extract variables from the calendar event: duration (event length, or None if event ends at midnight), summary (split into words), entities (constructs climate and temperature sensor entity IDs from the first summary word), mode (second summary word, lowercased), and temp (a dictionary with target temperature, comparison operator, and comparison target based on mode). If the current temperature from the constructed sensor entity satisfies the comparison condition (<= 20 for heat mode or >= 26 for cool mode), then set the constructed climate entity to the specified mode and target temperature (24 for heat, 27 for cool). If a duration was extracted (not None), wait for the climate entity to turn off for up to that duration. If the wait times out, turn off the climate entity.",
"natural_language": {
"trigger": "When an event starts on the climate calendar [calendar.climate].",
"conditions": "The vacation mode [input_boolean.vacation_mode] must be turned off.",
"action": "The automation reads the calendar event's summary and timing. It interprets the first word of the summary as a room name (like 'living') and the second word as a mode ('heat' or 'cool'). It then constructs the corresponding climate control entity (e.g., climate.living_ac) and temperature sensor (e.g., sensor.living_temperature_avg). If the current room temperature meets a threshold (20°C or below for heat mode, or 26°C or above for cool mode), it turns on the climate system in that mode to a target temperature (24°C for heat, 27°C for cool). If the calendar event has a defined end time (and doesn't run until midnight), it will wait for the system to turn off by itself. If it doesn't turn off before the event's duration ends, the automation will turn it off."
},
"human_like": "Automatically controls room heating or cooling based on scheduled calendar events, but only when not in vacation mode.",
"complexity": "high"
}
},
{
"id": "hallway_wardrobe_light",
"result": {
"structured": "TRIGGER: When hallway wardrobe door sensor 1 [binary_sensor.hallway_wardrobe_door_sensor_1_contact] opens (state changes to on) OR When hallway wardrobe door sensor 1 [binary_sensor.hallway_wardrobe_door_sensor_1_contact] closes (state changes to off). CONDITIONS: None. ACTIONS: Choose based on trigger state. IF (trigger state is on) AND (hallway wardrobe LED controller 1 [light.hallway_wardrobe_led_controller_1] is off) THEN: Turn on hallway wardrobe LED controller 1 [light.hallway_wardrobe_led_controller_1] at 100% brightness, Wait for hallway wardrobe door sensor 1 [binary_sensor.hallway_wardrobe_door_sensor_1_contact] to close (off) for up to 10 minutes, IF (after wait) hallway wardrobe LED controller 1 [light.hallway_wardrobe_led_controller_1] is on AND hallway wardrobe door sensor 1 [binary_sensor.hallway_wardrobe_door_sensor_1_contact] is open (on) THEN: Set hallway wardrobe LED controller 1 [light.hallway_wardrobe_led_controller_1] brightness to 30%. ELSE IF (trigger state is off) AND (hallway wardrobe LED controller 1 [light.hallway_wardrobe_led_controller_1] is on) THEN: Turn off hallway wardrobe LED controller 1 [light.hallway_wardrobe_led_controller_1].",
"natural_language": {
"trigger": "The automation triggers when the hallway wardrobe door sensor 1 [binary_sensor.hallway_wardrobe_door_sensor_1_contact] either opens or closes.",
"conditions": "There are no global conditions for this automation.",
"action": "If the door opens and the hallway wardrobe LED controller 1 [light.hallway_wardrobe_led_controller_1] is off, the light is turned on at full brightness. The automation then waits for up to 10 minutes for the door to close. If, after the wait, the light is still on and the door is still open, the light's brightness is reduced to 30%. If the door closes while the hallway wardrobe LED controller 1 [light.hallway_wardrobe_led_controller_1] is on, the light is turned off."
},
"human_like": "Automatically turns on the wardrobe light when the door is opened and turns it off when the door is closed, with a brightness reduction if the door is left open for too long.",
"complexity": "medium"
}
},
{
"id": "humidifier_no_water",
"result": {
"structured": "TRIGGER: When LDK humidifier water level [sensor.ldk_humidifier_water_level] falls below 25. CONDITIONS: None. ACTIONS: Send a notification with the message 'No water in Humidifier'.",
"natural_language": {
"trigger": "When the water level sensor for the LDK humidifier [sensor.ldk_humidifier_water_level] reports a value below 25.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to the user with the message 'No water in Humidifier'."
},
"human_like": "Sends an alert when the humidifier's water level is low.",
"complexity": "low"
}
},
{
"id": "humidifier_morning",
"result": {
"structured": "TRIGGER: At 07:00:00. CONDITIONS: (vacation mode [input_boolean.vacation_mode] is off) AND (NOT (LDK humidifier status [light.ldk_humidifier_status] is unavailable)) AND (LDK humidity average [sensor.ldk_humidity_avg] is below 45). ACTIONS: Set LDK humidifier operating mode select [select.ldk_humidifier_operating_mode_select] to Auto.",
"natural_language": {
"trigger": "The automation runs every day at 7:00 AM.",
"conditions": "The automation only proceeds if vacation mode [input_boolean.vacation_mode] is turned off, the LDK humidifier status [light.ldk_humidifier_status] is available (not in an 'unavailable' state), and the average humidity reading from LDK humidity average [sensor.ldk_humidity_avg] is below 45%.",
"action": "Sets the operating mode of the LDK humidifier operating mode select [select.ldk_humidifier_operating_mode_select] to 'Auto'."
},
"human_like": "Turns the living room humidifier to Auto mode at 7 AM if the humidity is low and you're not on vacation.",
"complexity": "low"
}
}
]