AutomationDataset/Incipiens/automation-descriptions.json

54 lines
6.7 KiB
JSON

[
{
"id": "Email triage - classify new",
"result": {
"structured": "TRIGGER: When an IMAP email event occurs with the initial flag set to true. CONDITIONS: None. ACTIONS: Fetch the email content using IMAP, extract sender, subject, date, and body into a JSON payload, send the payload to an LLM email triage service, parse the response to determine the email category and priority, increment the appropriate counter based on the category (personal, transaction, calendar, newsletter, promo, alert, receipt, support, or unknown), and send a mobile notification with the priority, subject, and summary, including actions to archive or snooze the email.",
"natural_language": {
"trigger": "When a new email is received via IMAP and it is marked as an initial email.",
"conditions": "There are no conditions for this automation.",
"action": "The automation fetches the full email content, packages the sender, subject, date, and body into a JSON payload, and sends it to an LLM service for classification. Based on the returned category (like personal, transaction, or promo), it increments the corresponding counter (e.g., emails personal counter [counter.emails_personal]). It then sends a notification to a mobile device with the email's priority, subject, and a summary, providing options to archive or snooze the email for one hour."
},
"human_like": "Automatically classifies new emails using AI, counts them by category, and sends a smart notification to your phone.",
"complexity": "medium"
}
},
{
"id": "Fader to Light brightness",
"result": {
"structured": "TRIGGER: When the volume_level attribute of pc goxlr sample media player [media_player.pc_goxlr_sample] changes. CONDITIONS: The new volume_level value is different from the previous volume_level value. ACTIONS: Turn on office light [light.office_light] and set its brightness percentage to the volume_level value (converted from a decimal to a whole number percentage).",
"natural_language": {
"trigger": "Whenever the volume level attribute of the pc goxlr sample media player [media_player.pc_goxlr_sample] changes.",
"conditions": "The automation only runs if the new volume level is actually different from the old volume level.",
"action": "Turns on the office light [light.office_light] and sets its brightness to match the current volume level percentage (e.g., a volume of 0.5 sets the light to 50% brightness)."
},
"human_like": "Syncs the brightness of the office light to the volume level of the PC audio mixer.",
"complexity": "medium"
}
},
{
"id": "Weather Primary Condition Light",
"result": {
"structured": "TRIGGER: When the time reaches 10 seconds before the alarm time reported by next alarm sensor [sensor.cph2671_next_alarm]. CONDITIONS: person adamconway [person.adamconway] is located within home zone [zone.home]. ACTIONS: Retrieve the daily weather forecast from pirateweather weather [weather.pirateweather] and store it in a variable. Set a variable 'condition' to the lowercased forecast condition (e.g., 'sunny', 'rainy') or 'unknown' if unavailable. Set a variable 'rgb_map' mapping condition keywords to RGB color values. Set the value of weather primary condition input [input_text.weather_primary_condition] to the 'condition' variable. Set a variable 'rgb' to the RGB color from 'rgb_map' corresponding to the current state of weather primary condition input [input_text.weather_primary_condition], defaulting to white [255,255,255]. Turn on the unknown light device [device_id:7443cc0d215861e4624f05e2ea6c3fb5] to 80% brightness with the RGB color defined by the 'rgb' variable.",
"natural_language": {
"trigger": "The automation runs 10 seconds before the alarm time set on the next alarm sensor [sensor.cph2671_next_alarm].",
"conditions": "The automation only proceeds if person adamconway [person.adamconway] is at home, as determined by being within the home zone [zone.home].",
"action": "It fetches the daily weather forecast from pirateweather weather [weather.pirateweather]. It determines the primary weather condition (like 'sunny' or 'rainy') from the forecast and saves it to the weather primary condition input [input_text.weather_primary_condition]. Based on this condition, it selects a corresponding RGB color from a predefined map (e.g., yellow for sunny, blue for rainy). Finally, it turns on a specific light [device_id:7443cc0d215861e4624f05e2ea6c3fb5] to 80% brightness, setting its color to the selected RGB value."
},
"human_like": "Sets a light to a color matching the day's weather forecast just before your alarm goes off, but only when you are at home.",
"complexity": "medium"
}
},
{
"id": "LLM weather forecast notification",
"result": {
"structured": "TRIGGER: At a time 10 seconds before the alarm set by next alarm sensor [sensor.cph2671_next_alarm]. CONDITIONS: person adamconway [person.adamconway] is located within home zone [zone.home]. ACTIONS: Retrieve daily weather forecast from pirateweather weather [weather.pirateweather] and store the result in variable 'wx'. Process a conversation with gemini conversation agent [conversation.google_generative_ai_gemini_2_5_flash_2] using a template that includes today's forecast data from 'wx' and a prompt to generate a brief weather summary and clothing advice, storing the response in variable 'wresponse'. Set the value of clothes suggestion input [input_text.clothes_suggestion] to the speech text from 'wresponse'. Send a mobile notification via mobile app notification [notify.mobile_app_cph2671] with the same speech text.",
"natural_language": {
"trigger": "The automation runs 10 seconds before the alarm time reported by the next alarm sensor [sensor.cph2671_next_alarm].",
"conditions": "It only proceeds if person adamconway [person.adamconway] is currently at home, as determined by being inside the home zone [zone.home].",
"action": "First, it fetches the daily weather forecast from the pirateweather weather [weather.pirateweather] service. Then, it sends today's forecast data to the gemini conversation agent [conversation.google_generative_ai_gemini_2_5_flash_2] with instructions to act as a meteorologist and generate a brief notification containing the high and low temperatures and clothing recommendations. The resulting text is saved to the clothes suggestion input [input_text.clothes_suggestion] and also sent as a notification to the user's phone via mobile app notification [notify.mobile_app_cph2671]."
},
"human_like": "Sends a personalized weather forecast and clothing advice to your phone just before your alarm goes off, but only when you are at home.",
"complexity": "medium"
}
}
]