AutomationDataset/galway-it-meetup/automation-descriptions.json

54 lines
8.0 KiB
JSON

[
{
"id": "Agenda with Shopping List",
"result": {
"structured": "TRIGGER: At 08:00:00 OR At 14:00:00. CONDITIONS: None. ACTIONS: Set variables (weather_entity, calendar_entity, zone_entity, calendar_duration, sensor_local, sensor_national, prompt). Fetch daily weather forecast for home weather [weather.home] and store result. Set variables (forecast_entity, forecast). Fetch calendar events for house calendar [calendar.house] for the next 18 hours and store result. Fetch shopping list items with status 'needs_action' from shopping list [todo.shopping_list] and store result. Fetch calendar events for house calendar [calendar.house] for the next 18 hours and store result. Process a conversation with google generative ai conversation agent [conversation.google_generative_ai] using a text prompt containing the current time, weather forecast, local bulletin sensor [sensor.local_bulletin] and irish bulletin sensor [sensor.irish_bulletin] headlines, calendar events, and the instruction prompt, then store the agent's response. Execute a sequence: Send a notification via telegram bot notification [notify.telegram_bot] with a title containing the current day and a message from the conversation agent's response. Wait for 1 second. Send a notification via telegram bot notification [notify.telegram_bot] with a title 'Headlines:' and a message containing the local and national bulletin sensor states (this action is disabled). Send a notification via telegram bot notification [notify.telegram_bot] with a title 'Current Shopping List:' and a message containing the list of item summaries from the shopping list.",
"natural_language": {
"trigger": "The automation runs at 8:00 AM and 2:00 PM every day.",
"conditions": "There are no conditions; the automation runs whenever the trigger time is reached.",
"action": "The automation first sets up several variables, including references to the weather, calendar, and zone entities, as well as fetching the current state of the local and national news bulletin sensors. It then fetches the daily weather forecast, retrieves calendar events for the next 18 hours, and gets the active items from the shopping list. It processes all this information through a conversation agent, which generates a friendly, helpful text summary. Finally, it sends a series of Telegram notifications: the main agenda message from the agent, a one-second delay, a disabled notification for news headlines, and a notification listing the current shopping list items."
},
"human_like": "Sends a daily morning and afternoon agenda summary via Telegram, including the weather, news, calendar events, and shopping list, using an AI to craft a helpful message.",
"complexity": "medium"
}
},
{
"id": "Who's at the door?",
"result": {
"structured": "TRIGGER: When camera motion detection 1 [binary_sensor.camera_cell_motion_detection_3] OR camera motion detection 2 [binary_sensor.camera_cell_motion_detection] OR camera motion detection 3 [binary_sensor.camera_cell_motion_detection_2] changes to 'on'. CONDITIONS: None. ACTIONS: 1. Call llmvision.stream_analyzer [llmvision.stream_analyzer] with camera fluent [camera.camera_fluent] as image source to analyze motion events over 5 seconds, storing the response. 2. If the response text is not equal to 'All clear', 'All clear.', 'all clear.', or 'all clear', then: (Set vision llm input text [input_text.vision_llm] to a timestamp and the response text) AND (Send a notification titled 'Spotted' with the response text to phone mobile app notification [notify.mobile_app_phone]). 3. Wait for 2 minutes.",
"natural_language": {
"trigger": "When any of the three door camera motion sensors (camera motion detection 1 [binary_sensor.camera_cell_motion_detection_3], camera motion detection 2 [binary_sensor.camera_cell_motion_detection], or camera motion detection 3 [binary_sensor.camera_cell_motion_detection_2]) detects motion and turns on.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "First, the automation uses an AI vision service (llmvision.stream_analyzer [llmvision.stream_analyzer]) to analyze a short video stream from the camera fluent [camera.camera_fluent]. It asks the AI to summarize any moving subjects like people or vehicles, ignoring static scenery. If the AI's response is anything other than a simple 'all clear' message, the automation logs the response with a timestamp in a text field (vision llm input text [input_text.vision_llm]) and sends a push notification titled 'Spotted' to the user's phone (phone mobile app notification [notify.mobile_app_phone]). Finally, it waits for two minutes before it can run again."
},
"human_like": "When motion is detected at the door, an AI analyzes the camera feed and sends a smart summary to your phone, but only if it sees something moving.",
"complexity": "medium"
}
},
{
"id": "Baked beans tag is scanned",
"result": {
"structured": "TRIGGER: When baked beans tag [tag_id: a22c63a0-43e0-42e7-ad5b-f3274500cda4] is scanned. CONDITIONS: None. ACTIONS: Add item 'Baked Beans' to shopping list AND send notification with title 'Addition to shopping list' and message 'Baked Beans added' to erdnuss mobile app notification [notify.mobile_app_erdnuss] AND send notification with title 'Addition to shopping list' and message 'Baked Beans added' to xiaomi mobile app notification [notify.mobile_app_xiaomi].",
"natural_language": {
"trigger": "When the baked beans tag is scanned.",
"conditions": "There are no conditions.",
"action": "Adds 'Baked Beans' to the shopping list, then sends a notification titled 'Addition to shopping list' with the message 'Baked Beans added' to both the erdnuss mobile app notification [notify.mobile_app_erdnuss] and the xiaomi mobile app notification [notify.mobile_app_xiaomi]."
},
"human_like": "Adds baked beans to the shopping list and sends a notification to your phone when the baked beans tag is scanned.",
"complexity": "low"
}
},
{
"id": "Tomorrow Weather Check",
"result": {
"structured": "TRIGGER: When tomorrow web scrape color sensor [sensor.tomorrow_web_scrape_color] changes state. CONDITIONS: (trigger.to_state.state is not equal to 'Currently no warnings in operation.') AND (trigger.to_state.state is not equal to 'unavailable') AND (trigger.to_state.state is not equal to null) AND (trigger.to_state.state is not equal to Gray) AND (trigger.to_state.state is not equal to 'Gray'). ACTIONS: Set variable 'msg' to 'A {{ trigger.to_state.state }} Weather Alert for Tomorrow Has Been Issued!'. Then, send a notification titled 'Weather Alert Tomorrow!' with the message from variable 'msg' and tag 'weather_alert' to phone mobile app notification [notify.mobile_app_phone]. Then, send a notification titled 'Weather Alert Tomorrow!' with the message from variable 'msg' and tag 'weather_alert' to phone 2 mobile app notification [notify.mobile_app_phone_2].",
"natural_language": {
"trigger": "Whenever the state of the sensor 'tomorrow web scrape color sensor' [sensor.tomorrow_web_scrape_color] changes.",
"conditions": "The new state of the sensor must not be the text 'Currently no warnings in operation.', it must not be 'unavailable', it must not be a null value, and it must not be the value Gray (either as a string or a non-string).",
"action": "First, a message is created stating that a weather alert of the detected color has been issued for tomorrow. Then, this message is sent as a notification titled 'Weather Alert Tomorrow!' to two mobile devices: phone mobile app notification [notify.mobile_app_phone] and phone 2 mobile app notification [notify.mobile_app_phone_2]. Both notifications include a tag 'weather_alert' for grouping."
},
"human_like": "Sends a weather alert notification to household phones when a web-scraped sensor indicates a warning for tomorrow, filtering out non-alert states.",
"complexity": "medium"
}
}
]