AutomationDataset/miggi92/automation-descriptions.json

1783 lines
167 KiB
JSON

[
{
"id": "f9432fc2-3051-4325-b8d6-1ba50259050b",
"result": {
"structured": "TRIGGER: When the daysTo attribute of restmüll sensor [sensor.restmull] OR papier sensor [sensor.papier] OR schadstoffe sensor [sensor.schadstoffe] changes to 0 (id: heute) OR when the daysTo attribute of restmüll sensor [sensor.restmull] OR papier sensor [sensor.papier] OR schadstoffe sensor [sensor.schadstoffe] changes to 1 (id: morgen). CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: Execute script Notify Engine [script.notify_engine] with a title '🗑️ Abfall 🗑️', a message containing the friendly_name of the triggering entity and the trigger id (heute/morgen), targeting the 'home' group with tag 'information' and group 'Abfall'.",
"natural_language": {
"trigger": "The automation triggers when any of the waste sensors (restmüll sensor [sensor.restmull], papier sensor [sensor.papier], or schadstoffe sensor [sensor.schadstoffe]) indicates that the collection is either today (daysTo becomes 0) or tomorrow (daysTo becomes 1).",
"conditions": "The automation only runs if the holiday mode input boolean [input_boolean.holiday_mode] is turned off.",
"action": "It sends a notification via the Notify Engine [script.notify_engine] with a title about waste, a message stating which type of waste will be collected and when (today or tomorrow), and directs it to the 'home' group with the tag 'information' and group 'Abfall'."
},
"human_like": "Sends a notification when waste collection is scheduled for today or tomorrow, but only when holiday mode is not active.",
"complexity": "medium"
}
},
{
"id": "90cf54e2-7646-4a0d-b810-75d8e2360b4e",
"result": {
"structured": "TRIGGER: When abstellkammer door sensor contact [binary_sensor.abstellkammertursensor_contact] changes state. CONDITIONS: None. ACTIONS: If abstellkammer door sensor contact [binary_sensor.abstellkammertursensor_contact] is on, then turn on abstellkammer light [light.abstellkammerlicht]. Otherwise, turn off abstellkammer light [light.abstellkammerlicht].",
"natural_language": {
"trigger": "Whenever the state of the abstellkammer door sensor contact [binary_sensor.abstellkammertursensor_contact] changes.",
"conditions": "There are no additional conditions that must be met.",
"action": "If the door sensor indicates the door is open (state is 'on'), the automation turns on the abstellkammer light [light.abstellkammerlicht]. If the door sensor indicates the door is closed (state is not 'on'), the automation turns off the abstellkammer light [light.abstellkammerlicht]."
},
"human_like": "Automatically turns the storage room light on when the door is opened and off when it is closed.",
"complexity": "low"
}
},
{
"id": "7e2fd668-0ff5-4a40-859e-23a804c5c855",
"result": {
"structured": "TRIGGER: At 23:55:00 daily. CONDITIONS: None. ACTIONS: Execute the shell command after_ha_upgrade.",
"natural_language": {
"trigger": "Every day at 11:55 PM.",
"conditions": "There are no conditions that must be met.",
"action": "Runs the shell command named 'after_ha_upgrade'."
},
"human_like": "Runs a system command after a Home Assistant upgrade, scheduled for just before midnight.",
"complexity": "low"
}
},
{
"id": "8b97520c-c437-4b1d-afd5-192fc2413e7f",
"result": {
"structured": "TRIGGER: When residents group [group.residents] changes to state 'not_home'. CONDITIONS: None. ACTIONS: Arm alarmo alarm control panel [alarm_control_panel.alarmo] in 'away' mode using the secret alarm code.",
"natural_language": {
"trigger": "When the residents group [group.residents] changes its state to indicate that no one is home.",
"conditions": "There are no additional conditions that must be met.",
"action": "Arms the alarm system (alarmo alarm control panel [alarm_control_panel.alarmo]) in 'away' mode, using the configured secret alarm code."
},
"human_like": "Automatically arms the house alarm when all residents are away.",
"complexity": "low"
}
},
{
"id": "'1690789658458'",
"result": {
"structured": "TRIGGER: When pixel 9 pro android auto binary sensor [binary_sensor.pixel_9_pro_android_auto] turns on. CONDITIONS: None. ACTIONS: Send a notification to the mobile app for pixel 9 pro [notify.mobile_app_pixel_9_pro] with the title 'Connected 2 car' and the message 'This device is connected to android auto.', setting the notification channel to 'Auto' with high importance and a car icon.",
"natural_language": {
"trigger": "When the pixel 9 pro android auto binary sensor [binary_sensor.pixel_9_pro_android_auto] detects that the device is connected to Android Auto (state changes to on).",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to the Pixel 9 Pro mobile device [notify.mobile_app_pixel_9_pro] with the title 'Connected 2 car' and the message 'This device is connected to android auto.', displaying it in the car interface with high priority and a car icon."
},
"human_like": "Sends a notification to your phone when it connects to Android Auto in your car.",
"complexity": "low"
}
},
{
"id": "'1691433091247'",
"result": {
"structured": "TRIGGER: When roomba bin full binary sensor [binary_sensor.roomba_bin_full] changes state to on. CONDITIONS: None. ACTIONS: Send a Telegram notification to the home group with the title 'Roomba' and the message 'Behälter ist voll. Bitte leeren l.'.",
"natural_language": {
"trigger": "When the roomba bin full binary sensor [binary_sensor.roomba_bin_full] reports that the bin is full.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a notification to the Telegram home group, alerting users with the title 'Roomba' and the message 'Behälter ist voll. Bitte leeren l.'."
},
"human_like": "Sends a Telegram alert when the Roomba's dustbin is full, reminding someone to empty it.",
"complexity": "low"
}
},
{
"id": "'1708473160035'",
"result": {
"structured": "TRIGGER: When a battery replacement event is detected via the Battery Notes blueprint. CONDITIONS: None (blueprint internal conditions apply). ACTIONS: Perform battery replacement actions as defined by the Battery Notes blueprint.",
"natural_language": {
"trigger": "The automation is triggered by the Battery Notes blueprint, which monitors for battery replacement events.",
"conditions": "The specific conditions are handled internally by the Battery Notes blueprint and are not detailed in the provided automation.",
"action": "The automation executes the battery replacement procedure defined by the Battery Notes blueprint."
},
"human_like": "Manages battery replacement notifications and actions using the Battery Notes blueprint.",
"complexity": "medium"
}
},
{
"id": "'1728850959105'",
"result": {
"structured": "TRIGGER: When fritz repeater restart sensor [sensor.fritz_repeater_1200_ax_letzter_neustart] becomes unavailable. CONDITIONS: None. ACTIONS: Turn off tabletsteckdose switch [switch.tabletsteckdose], wait for 15 seconds, then turn on tabletsteckdose switch [switch.tabletsteckdose].",
"natural_language": {
"trigger": "When the sensor tracking the last restart of the Fritz repeater [sensor.fritz_repeater_1200_ax_letzter_neustart] becomes unavailable.",
"conditions": "There are no conditions that must be met.",
"action": "The automation will turn off the tabletsteckdose switch [switch.tabletsteckdose], wait for 15 seconds, and then turn the same switch back on."
},
"human_like": "Resets the internet connection by power-cycling a connected outlet when the repeater's restart sensor becomes unavailable.",
"complexity": "low"
}
},
{
"id": "'1736551020218'",
"result": {
"structured": "TRIGGER: When schlafzimmer temperature sensor [sensor.schlafzimmertemperatur] rises above 18. CONDITIONS: The sun is below the horizon (after sunset AND before sunrise minus 1 hour). ACTIONS: Open all covers in the area 'schlafzimmer'.",
"natural_language": {
"trigger": "When the temperature in the bedroom, measured by schlafzimmer temperature sensor [sensor.schlafzimmertemperatur], exceeds 18 degrees.",
"conditions": "This only runs at night, specifically after sunset and before one hour before sunrise.",
"action": "Opens all window covers (like blinds or shutters) in the bedroom area to help cool the room."
},
"human_like": "Opens the bedroom window covers at night if the room gets too warm, to let cool air in.",
"complexity": "low"
}
},
{
"id": "'1736807752549'",
"result": {
"structured": "TRIGGER: When schlafzimmer temperature sensor [sensor.schlafzimmertemperatur] is below 15. CONDITIONS: The sun is before sunrise (with a 1-hour offset) AND after sunset. ACTIONS: Set schlafzimmer roller shutter [cover.rollladen_schlafzimmer] position to 50%.",
"natural_language": {
"trigger": "When the temperature in the bedroom, measured by the schlafzimmer temperature sensor [sensor.schlafzimmertemperatur], falls below 15 degrees.",
"conditions": "This automation only runs at night, specifically during the period that is after sunset and before sunrise, with an additional hour offset before sunrise.",
"action": "Partially closes the bedroom's roller shutter to a 50% position by controlling the schlafzimmer roller shutter [cover.rollladen_schlafzimmer]."
},
"human_like": "Closes the bedroom roller shutter halfway when the room gets too cold at night.",
"complexity": "low"
}
},
{
"id": "146acdcd-843c-41d5-b727-b171a446a4d0",
"result": {
"structured": "TRIGGER: When vacuum schedule [schedule.staubsaug_zeiten] turns on. CONDITIONS: automatic cleaning input boolean [input_boolean.automatic_cleaning] is on. ACTIONS: Execute script Cleaning [script.cleaning].",
"natural_language": {
"trigger": "When the vacuum schedule [schedule.staubsaug_zeiten] activates, indicating a scheduled cleaning time.",
"conditions": "The automatic cleaning input boolean [input_boolean.automatic_cleaning] must be switched on, meaning automatic cleaning is enabled.",
"action": "Starts the cleaning process by running the Cleaning script [script.cleaning]."
},
"human_like": "Automatically starts the vacuum cleaner at its scheduled time, but only if automatic cleaning is enabled.",
"complexity": "low"
}
},
{
"id": "9693cbfe-1590-403b-b110-10b6d5fa174b",
"result": {
"structured": "TRIGGER: When silke person [person.silke] OR miguel person [person.miguel] changes state. CONDITIONS: The entity that triggered the automation must match the person entity selected by milo person sync input select [input_select.milo_person_sync]. ACTIONS: If the selected person's state is 'home', then turn on milo home input boolean [input_boolean.milo_home]; otherwise, turn it off. Then, update the location of the device tracker 'milo_dummy_tracker' to match the location name, GPS coordinates, and GPS accuracy of the selected person.",
"natural_language": {
"trigger": "The automation runs when the state of either silke person [person.silke] or miguel person [person.miguel] changes.",
"conditions": "The automation only proceeds if the specific person entity that triggered the change is the one currently selected in the milo person sync input select [input_select.milo_person_sync].",
"action": "First, it sets the milo home input boolean [input_boolean.milo_home] to 'on' if the selected person is at home, or 'off' if they are not. Then, it updates a dummy device tracker named 'milo_dummy_tracker' with the selected person's current location name, GPS coordinates, and GPS accuracy."
},
"human_like": "Syncs the state and location of a selected person to a dummy tracker and a home status indicator.",
"complexity": "medium"
}
},
{
"id": "5678264c-c308-4c30-865f-a9e6e64d4965",
"result": {
"structured": "TRIGGER: When a telegram_command event occurs with command data equal to '/wetter'. CONDITIONS: None. ACTIONS: Call script Notify Engine [script.notify_engine] with data: value1='Wetter Bild', photo='{{ states(''input_text.serverurl'') }}{{ state_attr(''image.ai_generated_weather_image'', ''entity_picture'') }}', who='home', tag_id='information', group='Outdoor'.",
"natural_language": {
"trigger": "When a Telegram command event is received with the specific command '/wetter'.",
"conditions": "There are no conditions that must be met.",
"action": "It triggers the Notify Engine [script.notify_engine] script. The script is called with specific data: it sends a notification titled 'Wetter Bild' containing a photo. The photo URL is constructed by combining the current state of the Server URL [input_text.serverurl] with the entity picture attribute from the 'image.ai_generated_weather_image' entity. The notification is addressed to 'home', tagged as 'information', and grouped under 'Outdoor'."
},
"human_like": "Sends a weather image notification via Telegram when the /wetter command is received.",
"complexity": "low"
}
},
{
"id": "46d1add5-ee1d-4dbe-888a-a3054a247eaa",
"result": {
"structured": "TRIGGER: When wohnzimmer climate [climate.room_climate_wohnzimmer] changes state from 'off' to any other state. CONDITIONS: daikin climate outside temperature sensor [sensor.daikinap90134_outside_temperature] is above 18. ACTIONS: Turn off wohnzimmer climate [climate.room_climate_wohnzimmer].",
"natural_language": {
"trigger": "When the wohnzimmer climate [climate.room_climate_wohnzimmer] is turned on from an 'off' state.",
"conditions": "The outside temperature, as measured by the daikin climate outside temperature sensor [sensor.daikinap90134_outside_temperature], must be above 18 degrees.",
"action": "Turns off the wohnzimmer climate [climate.room_climate_wohnzimmer]."
},
"human_like": "Automatically turns off the living room heater if it is accidentally turned on when the outside temperature is already warm.",
"complexity": "low"
}
},
{
"id": "03a20f50-86fa-4a6f-915d-325ae9f3b36f",
"result": {
"structured": "TRIGGER: When parents group [group.parents] remains not_home for 1 minute. CONDITIONS: None. ACTIONS: Turn on kamera steckdose wz switch [switch.kamera_steckdose_wz].",
"natural_language": {
"trigger": "When the parents group [group.parents] has been in the 'not_home' state for at least one minute.",
"conditions": "There are no conditions.",
"action": "Turns on the kamera steckdose wz switch [switch.kamera_steckdose_wz]."
},
"human_like": "Turns on a living room camera plug when the parents have been away from home for one minute.",
"complexity": "low"
}
},
{
"id": "0a55979a-ca8c-4eef-8cb0-aade40ac6c1f",
"result": {
"structured": "TRIGGER: When withings in bed miguel binary sensor [binary_sensor.withings_in_bed_miguel] changes state OR when withings in bed silke binary sensor [binary_sensor.withings_in_bed_silke] changes state. CONDITIONS: None. ACTIONS: IF (withings in bed miguel binary sensor [binary_sensor.withings_in_bed_miguel] is on OR withings in bed silke binary sensor [binary_sensor.withings_in_bed_silke] is on) THEN run Awtrix3 Custom App [script.awtrix3customapp] with app_id 'bed', text 'Zz Zz Zz Zz Zz Zz', and icon '19723'. ELSE run Awtrix3 Del App [script.awtrix3delapp] with app_id 'bed'.",
"natural_language": {
"trigger": "Whenever the state of the withings in bed miguel binary sensor [binary_sensor.withings_in_bed_miguel] changes, or whenever the state of the withings in bed silke binary sensor [binary_sensor.withings_in_bed_silke] changes.",
"conditions": "There are no conditions for this automation.",
"action": "If either Miguel or Silke is detected as in bed (meaning the corresponding sensor is 'on'), then a custom app called 'bed' is shown on the clock with the text 'Zz Zz Zz Zz Zz Zz' and a specific icon. Otherwise, if neither is in bed, the 'bed' app is removed from the clock."
},
"human_like": "Displays a sleeping animation on the clock when either Miguel or Silke is in bed, and removes it when both are out of bed.",
"complexity": "medium"
}
},
{
"id": "6bb1782f-56aa-4ebc-b5ab-64e9f185f93f",
"result": {
"structured": "TRIGGER: When bed tracker binary sensor [binary_sensor.bett_tracker] remains in any state for 5 minutes. CONDITIONS: bed tracker binary sensor [binary_sensor.bett_tracker] is on OR bed tracker binary sensor [binary_sensor.bett_tracker] is off. ACTIONS: If sleep time binary sensor [binary_sensor.schlafenszeit] is on, then if bed tracker binary sensor [binary_sensor.bett_tracker] is on, turn on night mode input boolean [input_boolean.night_mode]; otherwise, turn off night mode input boolean [input_boolean.night_mode]. If sleep time binary sensor [binary_sensor.schlafenszeit] is not on, no action is taken.",
"natural_language": {
"trigger": "When the bed tracker binary sensor [binary_sensor.bett_tracker] remains in its current state, either on or off, for a continuous period of five minutes.",
"conditions": "The automation only runs if the bed tracker binary sensor [binary_sensor.bett_tracker] is either in the 'on' state or the 'off' state. This condition is always true for the sensor's valid states.",
"action": "First, it checks if the sleep time binary sensor [binary_sensor.schlafenszeit] is on. If it is, the automation then checks the state of the bed tracker binary sensor [binary_sensor.bett_tracker]. If the bed tracker is on, it turns on the night mode input boolean [input_boolean.night_mode]. If the bed tracker is off, it turns off the night mode input boolean [input_boolean.night_mode]. If the sleep time sensor is not on, no action is performed."
},
"human_like": "Turns night mode on or off based on whether someone is in bed, but only during the designated sleep time.",
"complexity": "medium"
}
},
{
"id": "1f17b5a2-16bd-4b6c-aab0-fce9174702d8",
"result": {
"structured": "TRIGGER: When a telegram_command event occurs with command data equal to '/benzin'. CONDITIONS: None. ACTIONS: Execute script Notify Engine [script.notify_engine] with data: title '⛽ Benzinpreise ⛽', value1 as a template that iterates over all entities listed in the attribute 'entity_id' of sensor.alle_benzinpreises, formatting each as 'friendly_name: state unit_of_measurement', and parameters who='home', tag_id='information', group='Outdoor'.",
"natural_language": {
"trigger": "When a Telegram command event is received with the specific command '/benzin'.",
"conditions": "There are no conditions; the automation runs whenever the trigger fires.",
"action": "Runs the Notify Engine [script.notify_engine] script to send a notification. The notification has the title '⛽ Benzinpreise ⛽' and a message body that lists all fuel stations and their current prices from the sensor.alle_benzinpreises entity. The notification is sent to the 'home' group with the tag 'information' and is grouped under 'Outdoor'."
},
"human_like": "Sends a notification with current fuel prices when the '/benzin' command is received via Telegram.",
"complexity": "low"
}
},
{
"id": "18139b1d-4666-4261-b024-e737cf1e9159",
"result": {
"structured": "TRIGGER: At 00:01:00 (12:01 AM). CONDITIONS: None. ACTIONS: Set variable 'triggered_entity' to the first entity_id from the list of entities matching the pattern 'sensor.anniversary_birthday_' whose state is '0'. IF triggered_entity is not empty, THEN run script Awtrix3 Custom App [script.awtrix3customapp] with parameters app_id: birthday, text: the friendly_name attribute of triggered_entity, icon: '102'. ELSE run script Awtrix3 Del App [script.awtrix3delapp] with parameter app_id: birthday.",
"natural_language": {
"trigger": "Every day at one minute past midnight (00:01:00).",
"conditions": "There are no conditions that must be met.",
"action": "The automation first finds the first birthday sensor (matching 'sensor.anniversary_birthday_') that has a state of '0', which likely indicates a birthday is today. If such a sensor is found, it displays the person's name (from the sensor's friendly name) on the Awtrix clock using a custom app with a birthday icon. If no such sensor is found, it removes the birthday app from the clock display."
},
"human_like": "Checks for birthdays at the start of each day and shows a birthday message on the Awtrix clock if it's someone's birthday, otherwise it clears the display.",
"complexity": "medium"
}
},
{
"id": "a7e72c63-bbb1-4960-ac00-982d820e0853",
"result": {
"structured": "TRIGGER: When coffee machine power sensor [sensor.kaffemaschine_power] remains above 600 for 10 seconds. CONDITIONS: coffee machine is washing input boolean [input_boolean.coffee_machine_is_washing] is off AND coffee machine auto off timer [timer.kaffeemaschine_auto_aus] is active. ACTIONS: Increment hot drinks counter input number [input_number.heissgetranke_zahler] by 1, cancel coffee machine auto off timer [timer.kaffeemaschine_auto_aus], and start coffee machine auto off timer [timer.kaffeemaschine_auto_aus].",
"natural_language": {
"trigger": "When the coffee machine power sensor [sensor.kaffemaschine_power] reports a power consumption above 600 watts for at least 10 seconds.",
"conditions": "The coffee machine is not in a washing cycle, indicated by the coffee machine is washing input boolean [input_boolean.coffee_machine_is_washing] being off, and the coffee machine auto off timer [timer.kaffeemaschine_auto_aus] is currently running.",
"action": "Increments the hot drinks counter input number [input_number.heissgetranke_zahler] by one, then cancels and immediately restarts the coffee machine auto off timer [timer.kaffeemaschine_auto_aus]."
},
"human_like": "Counts a hot beverage when the coffee machine is actively brewing and not washing, while also resetting its auto-off timer.",
"complexity": "medium"
}
},
{
"id": "70e62f73-2464-477a-9525-d12e171c3cdd",
"result": {
"structured": "TRIGGER: When picnic status sensor [sensor.picnic_status_der_letzten_bestellung] changes to COMPLETED. CONDITIONS: None. ACTIONS: Set picnic monthly costs counter [counter.picnic_monats_kosten] to the sum of its current value and picnic total price sensor [sensor.picnic_gesamtpreis_der_letzten_bestellung] value, rounded to the nearest whole number. Set picnic yearly costs counter [counter.picnic_jahres_kosten] to the sum of its current value and picnic total price sensor [sensor.picnic_gesamtpreis_der_letzten_bestellung] value, rounded to the nearest whole number.",
"natural_language": {
"trigger": "When the picnic status sensor [sensor.picnic_status_der_letzten_bestellung] reports that the last order status has changed to COMPLETED.",
"conditions": "There are no conditions for this automation.",
"action": "It updates two counters. First, it adds the total price from the last order, obtained from the picnic total price sensor [sensor.picnic_gesamtpreis_der_letzten_bestellung], to the current value of the picnic monthly costs counter [counter.picnic_monats_kosten], rounding the result to the nearest whole number. Second, it performs the same addition and rounding for the picnic yearly costs counter [counter.picnic_jahres_kosten]."
},
"human_like": "Updates the running monthly and yearly totals for Picnic grocery deliveries whenever an order is completed.",
"complexity": "low"
}
},
{
"id": "ccbc1585-d243-44f4-bdf0-ede4445fefb5",
"result": {
"structured": "TRIGGER: When an event on family calendar [calendar.familie] starts in 30 minutes. CONDITIONS: The event's location is not empty. ACTIONS: Set variable start_time to the event's start time formatted as HH:MM. Then call Notify Engine [script.notify_engine] with a notification title '🗓️ Terminerinnerung - [event summary] 🗓️' and message containing the start time and location.",
"natural_language": {
"trigger": "When an event on the family calendar [calendar.familie] is about to start in 30 minutes.",
"conditions": "The calendar event must have a location specified.",
"action": "It formats the event's start time and sends a notification via the Notify Engine [script.notify_engine], reminding you of the event's time and location."
},
"human_like": "Sends a reminder notification 30 minutes before a calendar event that has a location, including the event time and place.",
"complexity": "low"
}
},
{
"id": "9369a9dc-88fb-4ee8-a724-94559678db81",
"result": {
"structured": "TRIGGER: When fritz box call monitor sensor [sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch] changes state. CONDITIONS: None. ACTIONS: Set variable 'from_state' to the caller name (from_name) or number (from) from the previous state. Set variable 'to_state' to the caller name (from_name) or number (from) from the new state. IF (trigger.to_state.state is 'ringing') THEN run script Awtrix3 Custom App [script.awtrix3notif] with text set to 'to_state' variable, icon '1232', and repeat 2 times. IF ((trigger.to_state.state is 'idle' AND trigger.from_state.state is 'ringing') OR (trigger.to_state.state is 'talking' AND trigger.to_state.attributes.device is '40')) THEN run script Awtrix3 Custom App [script.awtrix3customapp] with app_id 'phone', text set to 'from_state' variable, icon '21482', and duration 15 seconds. ELSE run script Awtrix3 Del App [script.awtrix3delapp] with app_id 'phone'.",
"natural_language": {
"trigger": "Whenever the state of the fritz box call monitor sensor [sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch] changes.",
"conditions": "There are no conditions; the automation runs on every state change of the sensor.",
"action": "First, it extracts the caller information from the previous and new states, preferring a name if available, otherwise the phone number. If the new state indicates the phone is ringing, it sends a notification to an Awtrix display with the caller information. If the call was missed (state changes from ringing to idle) or if the call is answered and forwarded to a specific device (device '40'), it shows the caller information on the Awtrix display in a custom phone app. Otherwise, it removes the phone app from the display."
},
"human_like": "Displays incoming and missed call information from the landline on an Awtrix smart display, with different visuals for ringing, missed, and forwarded calls.",
"complexity": "medium"
}
},
{
"id": "12afe90b-fefc-44f6-b46c-391fdde58f43",
"result": {
"structured": "TRIGGER: When fritz box call monitor sensor [sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch] changes to state 'ringing'. CONDITIONS: None. ACTIONS: Update variables var.callmon_name, var.callmon_number, var.callmon_time, and var.callmon_date. Then, set the value of Callmon Lastcaller [input_text.callmon_lastcaller] to the concatenated string of the 'from' attribute (the phone number) and the 'from_name' attribute (the caller name) from sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch.",
"natural_language": {
"trigger": "When the fritz box call monitor sensor [sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch] detects an incoming call and its state changes to 'ringing'.",
"conditions": "There are no conditions for this automation.",
"action": "The automation updates the variables Callmon Name [var.callmon_name], Callmon Number [var.callmon_number], Callmon Time [var.callmon_time], and Callmon Date [var.callmon_date]. It also sets the text value of Callmon Lastcaller [input_text.callmon_lastcaller] to display the caller's phone number and name, formatted as 'number (name)', using the attributes from the call monitor sensor."
},
"human_like": "When a call comes in, it updates the call monitor variables and displays the last caller's information.",
"complexity": "low"
}
},
{
"id": "2779b29f-8710-4a7b-adc8-03ec212b4ffb",
"result": {
"structured": "TRIGGER: When fritz box call monitor sensor [sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch] changes from the state 'ringing'. CONDITIONS: None. ACTIONS: If the new state of the trigger is 'idle', then run Notify Engine [script.notify_engine] with a notification title '📞 Verpasster Anruf 📞' and a message containing the caller name from Callmon Name [var.callmon_name], number from Callmon Number [var.callmon_number], date from Callmon Date [var.callmon_date], and time from Callmon Time [var.callmon_time]. If the new state of the trigger is 'talking' AND the attribute 'device' of the new state equals '40', then run Notify Engine [script.notify_engine] with a notification title '📞 Verpasster Anruf - Weiterleitung AB 📞' and a message containing the caller name, number, date, and time, indicating the call is being forwarded to an answering machine.",
"natural_language": {
"trigger": "When the fritz box call monitor sensor [sensor.fritz_box_7590_ax_anrufmonitor_telefonbuch] stops being in the 'ringing' state.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "Depending on the outcome of the call, a notification is sent. If the call was not answered and the sensor state becomes 'idle', a missed call notification is sent via the Notify Engine [script.notify_engine]. If the call was answered on a specific device (device '40') and the state becomes 'talking', a different notification is sent, indicating the call is being forwarded to an answering machine. Both notifications include details like the caller's name, number, date, and time from the corresponding variables."
},
"human_like": "Sends a notification for missed calls or calls forwarded to the answering machine, providing details about the caller.",
"complexity": "medium"
}
},
{
"id": "74cbcca6-c48d-4def-b2fe-7b5664a94701",
"result": {
"structured": "TRIGGER: When webcam active binary sensor [binary_sensor.bcwmc5cg4100cy0_kameraaktiv] changes state. CONDITIONS: workday sensor [binary_sensor.workday_sensor] is on AND office days schedule [schedule.buro_tage] is off. ACTIONS: IF webcam active binary sensor [binary_sensor.bcwmc5cg4100cy0_kameraaktiv] is on THEN turn on desk light [light.schreibtischlicht] with red color (RGB 255,0,0) at 100% brightness. ELSE turn on desk light [light.schreibtischlicht] with green color (RGB 30,255,0) with a long flash AND then turn off desk light [light.schreibtischlicht].",
"natural_language": {
"trigger": "Whenever the webcam active binary sensor [binary_sensor.bcwmc5cg4100cy0_kameraaktiv] changes its state.",
"conditions": "The workday sensor [binary_sensor.workday_sensor] must be on, indicating it's a workday, and the office days schedule [schedule.buro_tage] must be off, meaning it's not a scheduled office day.",
"action": "If the webcam is active (the sensor is on), the desk light [light.schreibtischlicht] turns on to a solid red color at full brightness. If the webcam is not active (the sensor is off), the desk light [light.schreibtischlicht] briefly flashes green and then turns off."
},
"human_like": "Changes the desk light color based on webcam status: solid red when the webcam is active, or a green flash and off when inactive, but only on workdays that are not scheduled office days.",
"complexity": "medium"
}
},
{
"id": "797ec8b1-3e74-4128-b62f-68070ec64749",
"result": {
"structured": "TRIGGER: When a Telegram command event with command '/cam' occurs. CONDITIONS: None. ACTIONS: Execute the script Send Cam Snaps [script.send_cam_snaps].",
"natural_language": {
"trigger": "When a Telegram command event with the command '/cam' is received.",
"conditions": "There are no conditions.",
"action": "Runs the script named Send Cam Snaps [script.send_cam_snaps]."
},
"human_like": "Sends camera snapshots when the /cam command is received via Telegram.",
"complexity": "low"
}
},
{
"id": "814a77e9-f008-44df-ac4d-60a4068f2ce8",
"result": {
"structured": "TRIGGER: When the time pattern matches every 2 hours. CONDITIONS: None. ACTIONS: Execute script.check_cal4flights with data lookahead_hours set to 3.",
"natural_language": {
"trigger": "The automation runs on a schedule, triggered every two hours.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Runs the script named 'check_cal4flights' and passes it a parameter to look ahead for flights in the next 3 hours."
},
"human_like": "Checks for upcoming flights every two hours by running a script that looks at the calendar.",
"complexity": "low"
}
},
{
"id": "abc1c369-36b2-4084-9fc4-ce72e133ce5e",
"result": {
"structured": "TRIGGER: When silke person [person.silke] OR miguel person [person.miguel] changes state. CONDITIONS: maja home input boolean [input_boolean.maja_home] is on. ACTIONS: IF (parents group [group.parents] is home) AND (NOT (maja check timer [timer.maja_check] is idle)) THEN cancel maja check timer [timer.maja_check]. IF (NOT (parents group [group.parents] is home)) AND (NOT (guests group [group.guests] is home)) AND (maja check timer [timer.maja_check] is idle) THEN start maja check timer [timer.maja_check].",
"natural_language": {
"trigger": "Whenever the state of either silke person [person.silke] or miguel person [person.miguel] changes.",
"conditions": "The automation only runs if the maja home input boolean [input_boolean.maja_home] is currently switched on.",
"action": "If the parents group [group.parents] is at home and the maja check timer [timer.maja_check] is not idle, the timer is cancelled. If, however, the parents group [group.parents] is not at home, the guests group [group.guests] is not at home, and the maja check timer [timer.maja_check] is idle, then the timer is started."
},
"human_like": "Manages a safety check timer for Maja when she is home alone, starting it only if no parents or guests are present and stopping it if a parent returns.",
"complexity": "medium"
}
},
{
"id": "0c239eff-b9be-4e90-a936-2e0144783bc9",
"result": {
"structured": "TRIGGER: When coffee machine power sensor [sensor.kaffemaschine_power] remains above 600 watts for 10 seconds. CONDITIONS: coffee machine auto off timer [timer.kaffeemaschine_auto_aus] is idle. ACTIONS: Turn on coffee machine is washing input boolean [input_boolean.coffee_machine_is_washing], start coffee machine auto off timer [timer.kaffeemaschine_auto_aus], wait for 10 seconds, then turn off coffee machine is washing input boolean [input_boolean.coffee_machine_is_washing].",
"natural_language": {
"trigger": "When the coffee machine power sensor [sensor.kaffemaschine_power] reports a power consumption above 600 watts for a continuous period of 10 seconds.",
"conditions": "The coffee machine auto off timer [timer.kaffeemaschine_auto_aus] must not be running; it must be in an idle state.",
"action": "First, it marks the coffee machine as washing by turning on the coffee machine is washing input boolean [input_boolean.coffee_machine_is_washing]. Then, it starts the coffee machine auto off timer [timer.kaffeemaschine_auto_aus]. After a 10-second delay, it marks the washing as complete by turning off the coffee machine is washing input boolean [input_boolean.coffee_machine_is_washing]."
},
"human_like": "Detects when the coffee machine is actively washing by monitoring its power usage, marks it as washing, and then marks it as finished after a short delay.",
"complexity": "low"
}
},
{
"id": "770ba890-cb06-4463-9447-161abd6e6195",
"result": {
"structured": "TRIGGER: When the time matches input_datetime.chores_notif_time. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off AND Grocy Overdue Chores [binary_sensor.grocy_overdue_chores] is on. ACTIONS: Execute Notify Engine [script.notify_engine] with a custom notification title and a template-generated message body listing overdue chores, their descriptions, assigned users, and next estimated execution times.",
"natural_language": {
"trigger": "At a specific time defined by the input_datetime.chores_notif_time.",
"conditions": "The holiday mode input boolean [input_boolean.holiday_mode] must be off, and the Grocy Overdue Chores [binary_sensor.grocy_overdue_chores] sensor must indicate that there are overdue chores.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] with a title about household chores and a detailed list of all overdue chores, including their names, descriptions, assigned users, and next estimated execution times."
},
"human_like": "Sends a reminder notification about overdue household chores at a scheduled time, but only when not in holiday mode.",
"complexity": "medium"
}
},
{
"id": "a0db69d9-ec22-4abb-ab82-01ff9a12f95b",
"result": {
"structured": "TRIGGER: When timer climate auto off [timer.climate_auto_off] finishes OR When timer climate auto off [timer.climate_auto_off] is cancelled. CONDITIONS: None. ACTIONS: Turn off daikin climate [climate.daikinap90134].",
"natural_language": {
"trigger": "When the climate auto off timer [timer.climate_auto_off] finishes its countdown or when it is cancelled.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the daikin climate [climate.daikinap90134]."
},
"human_like": "Automatically turns off the climate system when its auto-off timer finishes or is cancelled.",
"complexity": "low"
}
},
{
"id": "dac8ab87-b5ab-4795-9be4-b93df9aee932",
"result": {
"structured": "TRIGGER: When timer climate auto off [timer.climate_auto_off] is started. CONDITIONS: None. ACTIONS: Turn on daikin climate [climate.daikinap90134].",
"natural_language": {
"trigger": "When the climate auto off timer [timer.climate_auto_off] is started.",
"conditions": "There are no conditions for this automation.",
"action": "Turns on the daikin climate [climate.daikinap90134]."
},
"human_like": "Turns on the climate system when its auto-off timer is started.",
"complexity": "low"
}
},
{
"id": "fa040eca-2d48-4243-a8c6-28b78d5b3f7c",
"result": {
"structured": "TRIGGER: When Medis Miguel Heuschnupfen Graeser [input_boolean.medis_miguel_heuschnupfen_graeser] turns on OR When Medis Miguel Vitamin D [input_boolean.medis_miguel_vitamind] turns on OR When Medis Silke Vitamin D [input_boolean.medis_silke_vitamind] turns on. CONDITIONS: None. ACTIONS: Set variable product_id to empty string. Then, based on trigger: If trigger id is 'heuschnupfen', set product_id to '66'. If trigger id is 'vitamin_d', set product_id to '68'. Finally, if product_id is not empty, consume product from stock in Grocy with product_id set to the determined value, amount 1, transaction type CONSUME, allow_subproduct_substitution true, and spoiled false.",
"natural_language": {
"trigger": "When the Medis Miguel Heuschnupfen Graeser [input_boolean.medis_miguel_heuschnupfen_graeser] is turned on, or when either the Medis Miguel Vitamin D [input_boolean.medis_miguel_vitamind] or Medis Silke Vitamin D [input_boolean.medis_silke_vitamind] is turned on.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "The automation first initializes a variable to track the product ID. It then determines which product was triggered: if the trigger was the hay fever medication, it sets the product ID to 66; if the trigger was a vitamin D medication, it sets the product ID to 68. Finally, if a product ID was successfully determined, it logs the consumption of one unit of that product in the Grocy inventory system."
},
"human_like": "Logs the consumption of specific medications in the Grocy inventory system when their corresponding switches are turned on.",
"complexity": "medium"
}
},
{
"id": "041e11a9-6487-4743-b846-3c340834a87f",
"result": {
"structured": "TRIGGER: At 00:00:00 (midnight) every day. CONDITIONS: None. ACTIONS: Set the value of hot drinks counter input number [input_number.heissgetranke_zahler] to 0.",
"natural_language": {
"trigger": "Every day at midnight.",
"conditions": "There are no conditions for this automation.",
"action": "Resets the hot drinks counter input number [input_number.heissgetranke_zahler] to zero."
},
"human_like": "Resets the daily hot drinks counter to zero every night at midnight.",
"complexity": "low"
}
},
{
"id": "0fc692c0-c6e5-4bef-8370-fabb12dcdf5d",
"result": {
"structured": "TRIGGER: When sleep time binary sensor [binary_sensor.schlafenszeit] changes to off. CONDITIONS: None. ACTIONS: Turn off night mode input boolean [input_boolean.night_mode].",
"natural_language": {
"trigger": "When the sleep time binary sensor [binary_sensor.schlafenszeit] changes its state to off, indicating that it is no longer sleep time.",
"conditions": "There are no additional conditions that must be met.",
"action": "Deactivates the night mode by turning off the night mode input boolean [input_boolean.night_mode]."
},
"human_like": "Automatically turns off night mode when it is no longer sleep time.",
"complexity": "low"
}
},
{
"id": "58eb700c-0b2b-4a8b-9cfe-80a1a224f32a",
"result": {
"structured": "TRIGGER: When dishwasher active input boolean [input_boolean.spulmaschine_aktiv] turns off. CONDITIONS: None. ACTIONS: Execute Notify Engine [script.notify_engine] with title '🍴🫧 Spülmaschine 🍴🫧' and message 'Spülmaschine ist fertig und kann ausgeräumt werden.', then turn off dishwasher ready input boolean [input_boolean.dishwasher_ready], then execute Grocy chore with ID 7 by user 1.",
"natural_language": {
"trigger": "When the dishwasher active input boolean [input_boolean.spulmaschine_aktiv] changes its state to off.",
"conditions": "There are no conditions that need to be met.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] with a title and message indicating the dishwasher is finished and can be unloaded. It then turns off the dishwasher ready input boolean [input_boolean.dishwasher_ready] and logs the completion of the dishwasher chore in Grocy."
},
"human_like": "Sends a notification and logs a chore when the dishwasher finishes its cycle.",
"complexity": "low"
}
},
{
"id": "abde5a7b-b2a6-49e5-9a90-9ed21c9978b1",
"result": {
"structured": "TRIGGER: When doors open count number [number.count_doors_open] changes state. CONDITIONS: None. ACTIONS: If doors open count number [number.count_doors_open] is below 1, then run Awtrix3 Del App [script.awtrix3delapp] with app_id 'doors'. Otherwise, run Awtrix3 Custom App [script.awtrix3customapp] with app_id 'doors', text set to the integer value of doors open count number [number.count_doors_open], and icon '9766'.",
"natural_language": {
"trigger": "Whenever the value of the doors open count number [number.count_doors_open] changes.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "If the count of open doors is less than one, it runs the script Awtrix3 Del App [script.awtrix3delapp] for the 'doors' application. If the count is one or more, it runs the script Awtrix3 Custom App [script.awtrix3customapp] for the 'doors' application, displaying the current count as text and using a specific icon."
},
"human_like": "Updates a display to show how many doors are open, clearing the display if none are open.",
"complexity": "low"
}
},
{
"id": "ee292445-9310-491a-bfde-075737bd1b8e",
"result": {
"structured": "TRIGGER: When dryer socket power sensor [sensor.trockner_steckdose_power] remains above 15 for 1 minute. CONDITIONS: dryer active input boolean [input_boolean.dryer_active] is off. ACTIONS: Turn on dryer active input boolean [input_boolean.dryer_active] AND set dryer cycle consumption input number [input_number.dryer_cycle_consumption] to the current value of dryer socket energy sensor [sensor.trockner_steckdose_energy].",
"natural_language": {
"trigger": "When the dryer socket power sensor [sensor.trockner_steckdose_power] detects power consumption above 15 watts for at least one minute.",
"conditions": "The automation only runs if the dryer active input boolean [input_boolean.dryer_active] is currently off.",
"action": "It marks the dryer as active by turning on the dryer active input boolean [input_boolean.dryer_active] and records the starting energy consumption by setting the dryer cycle consumption input number [input_number.dryer_cycle_consumption] to the current value from the dryer socket energy sensor [sensor.trockner_steckdose_energy]."
},
"human_like": "Starts tracking a dryer cycle when the dryer has been drawing significant power for a minute, marking it as active and recording the starting energy.",
"complexity": "low"
}
},
{
"id": "45b44c95-9e9f-42d9-bc0e-369ab3a74bb9",
"result": {
"structured": "TRIGGER: When dryer socket power sensor [sensor.trockner_steckdose_power] remains below 1.0 for 1 minute. CONDITIONS: dryer active input boolean [input_boolean.dryer_active] is on. ACTIONS: Execute script Notify Engine [script.notify_engine] with a custom notification title and a message containing calculated energy consumption and cost, then turn off dryer active input boolean [input_boolean.dryer_active].",
"natural_language": {
"trigger": "When the dryer's power consumption, measured by the dryer socket power sensor [sensor.trockner_steckdose_power], stays below 1.0 watts for one full minute.",
"conditions": "The automation only runs if the dryer active input boolean [input_boolean.dryer_active] is switched on, indicating a dryer cycle is expected to be in progress.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] with a title and a detailed message. The message calculates the energy used in the current cycle by comparing the current total energy from dryer socket energy sensor [sensor.trockner_steckdose_energy] with a stored baseline from dryer cycle consumption input number [input_number.dryer_cycle_consumption], then multiplies it by the electricity price input number [input_number.strompreis] to estimate the cost. Finally, it turns off the dryer active input boolean [input_boolean.dryer_active] to mark the cycle as complete."
},
"human_like": "Sends a notification with energy usage and cost when the dryer finishes its cycle and power consumption drops.",
"complexity": "medium"
}
},
{
"id": "ed8f19ea-d76e-4212-b760-0893e929d23a",
"result": {
"structured": "TRIGGER: When the state of maja home input boolean [input_boolean.maja_home] changes OR when the state of milo home input boolean [input_boolean.milo_home] changes. CONDITIONS: None. ACTIONS: Execute the script Dummy Tracker States [script.dummy_tracker_states].",
"natural_language": {
"trigger": "Whenever the state of either the maja home input boolean [input_boolean.maja_home] or the milo home input boolean [input_boolean.milo_home] changes.",
"conditions": "There are no conditions that need to be met.",
"action": "Runs the script named Dummy Tracker States [script.dummy_tracker_states]."
},
"human_like": "Runs a script to update dummy tracker states whenever the home status of Maja or Milo changes.",
"complexity": "low"
}
},
{
"id": "36b28e7a-7fdf-4e04-b275-09f577a36913",
"result": {
"structured": "TRIGGER: At the time reported by sensor.sun_next_dusk. CONDITIONS: None. ACTIONS: IF (Season [sensor.season] is autumn) OR (Season [sensor.season] is winter) THEN turn on light chain switch [switch.lichterkette].",
"natural_language": {
"trigger": "The automation triggers at the exact time of the next dusk event, as reported by the sensor.sun_next_dusk.",
"conditions": "There are no global conditions for this automation.",
"action": "If the current season, as reported by Season [sensor.season], is either autumn or winter, then the light chain switch [switch.lichterkette] will be turned on."
},
"human_like": "Turns on the fairy lights at dusk, but only during the autumn and winter seasons.",
"complexity": "low"
}
},
{
"id": "6ce30133-5f41-456c-a80f-111fbe92bd0c",
"result": {
"structured": "TRIGGER: When home current warning level sensor [sensor.home_aktuelle_warnstufe] changes state. CONDITIONS: None. ACTIONS: Set variable warn_count to the integer value of the 'warning_count' attribute from home current warning level sensor [sensor.home_aktuelle_warnstufe]. Then, for each number from 1 to warn_count (inclusive), call Awtrix3 Custom App [script.awtrix3customapp] with app_id 'dwd_X' and text set to the 'warning_X_name' attribute from home current warning level sensor [sensor.home_aktuelle_warnstufe], where X is the current repeat item. Then, set variable max_possible to 3. Then, for each number from warn_count + 1 to max_possible (inclusive), call Awtrix3 Del App [script.awtrix3delapp] with app_id 'dwd_X', where X is the current repeat item.",
"natural_language": {
"trigger": "Whenever the home current warning level sensor [sensor.home_aktuelle_warnstufe] updates its state.",
"conditions": "There are no conditions for this automation.",
"action": "First, it reads the number of active warnings from the sensor's 'warning_count' attribute. It then creates a custom app on the clock for each active warning, displaying the warning's name. After that, it ensures any unused warning slots (up to a maximum of 3) are cleared by deleting their corresponding apps from the clock."
},
"human_like": "Updates a smart clock display to show current weather warnings, adding new ones and removing old ones as needed.",
"complexity": "medium"
}
},
{
"id": "00c0aae8-8fa7-44bc-9611-676dbe4869b7",
"result": {
"structured": "TRIGGER: When the warning_count attribute of home current warning level sensor [sensor.home_aktuelle_warnstufe] OR home advance warning sensor [sensor.home_vorwarnstufe] changes state. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off AND the previous state of the triggering entity was not 'unavailable' AND the new warning_count attribute value differs from the previous warning_count attribute value. ACTIONS: Set variables (current, advance, current_count, advance_count, region_name, title, weekdays, format_warning, message) based on the state of the warning sensors and the trigger. Then, call the script Notify Engine [script.notify_engine] with a title, a detailed message, a tag_id of 'information', a group of 'Wetter', and a photo URL.",
"natural_language": {
"trigger": "The automation triggers when the number of active weather warnings (the 'warning_count' attribute) changes for either the home current warning level sensor [sensor.home_aktuelle_warnstufe] or the home advance warning sensor [sensor.home_vorwarnstufe].",
"conditions": "The automation only runs if the holiday mode input boolean [input_boolean.holiday_mode] is turned off. It also checks that the sensor's previous state was not 'unavailable' and that the new warning count is actually different from the old one.",
"action": "The automation prepares a detailed notification. It gathers data from the warning sensors, formats a title and a message. The message includes details for each active warning, such as the headline, time period, description, and instructions. If there are no active warnings, it sends an 'all-clear' message. Finally, it sends this formatted information via the Notify Engine [script.notify_engine] script with a specific tag and group for weather alerts, including a weather warning icon."
},
"human_like": "Sends a detailed notification whenever the number of active severe weather warnings for the home area changes, but only when the house is not in holiday mode.",
"complexity": "medium"
}
},
{
"id": "ba321099-add9-41a4-bc53-0699f29977e6",
"result": {
"structured": "TRIGGER: When the count attribute of Grocy Expired Products [binary_sensor.grocy_expired_products] changes. CONDITIONS: Grocy Expired Products [binary_sensor.grocy_expired_products] is on. ACTIONS: Execute Notify Engine [script.notify_engine] with a custom title and a message body listing the names and best-before dates of the expired products.",
"natural_language": {
"trigger": "Whenever the count of expired products tracked by the Grocy Expired Products [binary_sensor.grocy_expired_products] sensor changes.",
"conditions": "The Grocy Expired Products [binary_sensor.grocy_expired_products] sensor must be in the 'on' state, indicating there are expired products.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] with a title and a detailed list of the expired products, including their names and best-before dates."
},
"human_like": "Sends a notification when there are expired products in the Grocy inventory.",
"complexity": "medium"
}
},
{
"id": "eb62c777-22eb-4bd7-bffe-8f705cd7f4c8",
"result": {
"structured": "TRIGGER: When Grocy Expiring Products [binary_sensor.grocy_expiring_products] attribute 'count' changes. CONDITIONS: Grocy Expiring Products [binary_sensor.grocy_expiring_products] is on. ACTIONS: Execute Notify Engine [script.notify_engine] with a custom notification title and a message body listing the expiring products, their names, and best-before dates.",
"natural_language": {
"trigger": "Whenever the count of expiring products tracked by the Grocy Expiring Products [binary_sensor.grocy_expiring_products] sensor changes.",
"conditions": "The Grocy Expiring Products [binary_sensor.grocy_expiring_products] sensor must be in the 'on' state, indicating there are products expiring.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] with a title about expiring products and a detailed list showing the name and best-before date of each product that is about to expire."
},
"human_like": "Sends a notification when products in the Grocy inventory are about to expire, listing the items and their dates.",
"complexity": "medium"
}
},
{
"id": "0d54b339-fb39-44f2-8675-cd24ccf2f17c",
"result": {
"structured": "TRIGGER: When a flightradar24_entry event occurs. CONDITIONS: parents group [group.parents] is home. ACTIONS: Execute script awtrix3notif with text set to '{{ trigger.event.data.airport_origin_city }} -> {{ trigger.event.data.airport_destination_city }}' and icon set to '8879', repeating 2 times.",
"natural_language": {
"trigger": "When a new flight entry is detected by Flightradar24.",
"conditions": "If the parents group [group.parents] is currently at home.",
"action": "Sends a notification to the AWTRIX display showing the flight's origin and destination cities, using icon 8879, and repeats this notification twice."
},
"human_like": "Sends a flight notification to a display when someone is at home.",
"complexity": "low"
}
},
{
"id": "8767ef86-9e59-4813-bd4d-9a293a9738a3",
"result": {
"structured": "TRIGGER: When Maja Gassi Zeiten [schedule.maja_gassi_zeiten] changes state. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: If Maja Gassi Zeiten [schedule.maja_gassi_zeiten] is on, then if miguel person [person.miguel] is home, set maja person sync input select [input_select.maja_person_sync] to miguel, otherwise set it to silke. If Maja Gassi Zeiten [schedule.maja_gassi_zeiten] is not on, set maja person sync input select [input_select.maja_person_sync] to alleine.",
"natural_language": {
"trigger": "Whenever the state of the Maja Gassi Zeiten [schedule.maja_gassi_zeiten] changes.",
"conditions": "The holiday mode input boolean [input_boolean.holiday_mode] must be turned off.",
"action": "If the Maja Gassi Zeiten [schedule.maja_gassi_zeiten] is active (on), it checks if miguel person [person.miguel] is at home. If Miguel is home, the automation sets the maja person sync input select [input_select.maja_person_sync] to 'miguel'. If Miguel is not home, it sets the select to 'silke'. If the Maja Gassi Zeiten [schedule.maja_gassi_zeiten] is not active (off), the automation sets the maja person sync input select [input_select.maja_person_sync] to 'alleine'."
},
"human_like": "Sets who should take the dog Maja for a walk based on a schedule and whether Miguel is home, but only when holiday mode is off.",
"complexity": "medium"
}
},
{
"id": "91949311-550e-466b-abf0-996d26e324f9",
"result": {
"structured": "TRIGGER: At 20:00:00. CONDITIONS: workday sensor [binary_sensor.workday_sensor] is on. ACTIONS: Execute shell command browserless_scraper with parameters function: work_restaurant.js and output: work_restaurant.html, then wait 45 seconds, then trigger multiscrape.trigger_work_meals.",
"natural_language": {
"trigger": "Every day at 8:00 PM.",
"conditions": "Only if the workday sensor [binary_sensor.workday_sensor] indicates a workday (is on).",
"action": "Runs a web scraping script (work_restaurant.js) to save a restaurant page as work_restaurant.html, waits 45 seconds, and then triggers a separate scraping process (multiscrape.trigger_work_meals)."
},
"human_like": "Scrapes the work restaurant menu page automatically every workday evening.",
"complexity": "low"
}
},
{
"id": "this_is_halloween",
"result": {
"structured": "TRIGGER: When the time reaches the value set in input_datetime.halloween_show. CONDITIONS: None. ACTIONS: Turn on This Is Halloween [input_boolean.this_is_halloween], wait for 1 hour, then turn off This Is Halloween [input_boolean.this_is_halloween].",
"natural_language": {
"trigger": "At the specific time set by the input_datetime.halloween_show entity.",
"conditions": "There are no conditions that must be met.",
"action": "Turns on the This Is Halloween [input_boolean.this_is_halloween] switch, waits for one hour, and then turns it off."
},
"human_like": "Turns on a Halloween-themed switch for one hour at a scheduled time.",
"complexity": "low"
}
},
{
"id": "operation haunted house",
"result": {
"structured": "TRIGGER: When This Is Halloween [input_boolean.this_is_halloween] turns on (from off) OR when This Is Halloween [input_boolean.this_is_halloween] turns off (from on). CONDITIONS: None. ACTIONS: If the trigger was the start (turning on), then start the Haunted House [script.haunted_house] script. If the trigger was the stop (turning off), then stop the Haunted House [script.haunted_house] script and activate the Before Haunting [scene.before_haunting] scene.",
"natural_language": {
"trigger": "The automation is triggered when the This Is Halloween [input_boolean.this_is_halloween] switch is turned on from an off state, or when it is turned off from an on state.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "Depending on which trigger occurred: if the switch was turned on, the Haunted House [script.haunted_house] script is started. If the switch was turned off, the Haunted House [script.haunted_house] script is stopped and the Before Haunting [scene.before_haunting] scene is activated to restore the previous state."
},
"human_like": "Starts a Halloween-themed 'haunted house' effect when a switch is turned on, and stops it while restoring the original scene when the switch is turned off.",
"complexity": "medium"
}
},
{
"id": "9f575814-8f98-411a-93a9-1b51bcd4cded",
"result": {
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Execute Dummy Tracker States [script.dummy_tracker_states] and then execute Notify Engine [script.notify_engine] with parameters: title 'Home Assistant', value1 'Server wurde neugestartet', who 'miguel', tag_id 'information', group 'System'.",
"natural_language": {
"trigger": "When the Home Assistant system starts up.",
"conditions": "There are no conditions that must be met.",
"action": "First, it runs the Dummy Tracker States [script.dummy_tracker_states] script. Then, it sends a notification via the Notify Engine [script.notify_engine] script, with the title 'Home Assistant', the message 'Server wurde neugestartet', targeting the user 'miguel', using the tag 'information', and the group 'System'."
},
"human_like": "This automation runs a system script and sends a notification when Home Assistant restarts.",
"complexity": "low"
}
},
{
"id": "82d9f15e-5dae-4708-997f-6bae2bc337ee",
"result": {
"structured": "TRIGGER: At 00:01:00 (daily). CONDITIONS: None. ACTIONS: Set variable 'triggered_entity' to the first entity_id from the list of entities where the entity_id matches the pattern 'sensor.anniversary_urlaub_', the state is a defined number, and the state is greater than 0. Set variable 'entity_name' to the friendly_name attribute of the entity stored in 'triggered_entity'. IF (triggered_entity is not an empty string) THEN execute script Awtrix3 Custom App [script.awtrix3customapp] with data: app_id = 'holiday_{{ entity_name }}', text = '{{ states(triggered_entity) }} {{ state_attr(triggered_entity, ''unit_of_measurement'')}} - {{ entity_name }}', icon = '15644'. ELSE execute script Awtrix3 Del App [script.awtrix3delapp] with data: app_id = 'holiday_{{ entity_name }}'.",
"natural_language": {
"trigger": "The automation runs every day at one minute past midnight.",
"conditions": "There are no conditions for this automation.",
"action": "First, it searches for a sensor whose entity ID starts with 'sensor.anniversary_urlaub_', has a numeric state, and has a state value greater than zero. It picks the first matching sensor. It then retrieves the friendly name of that sensor. If a matching sensor was found, it runs the 'Awtrix3 Custom App' script [script.awtrix3customapp] to display a custom notification on the clock. The notification shows the sensor's state, its unit of measurement, and the sensor's friendly name, using a specific icon. If no matching sensor is found, it runs the 'Awtrix3 Del App' script [script.awtrix3delapp] to remove any existing notification for the holiday."
},
"human_like": "Displays a countdown to the next holiday on a connected clock display every morning, or clears the display if there is no upcoming holiday.",
"complexity": "medium"
}
},
{
"id": "7c88607a-9f86-45aa-852c-601e2c76385e",
"result": {
"structured": "TRIGGER: When holiday mode input boolean [input_boolean.holiday_mode] changes state. CONDITIONS: None. ACTIONS: If holiday mode input boolean [input_boolean.holiday_mode] is on, then run script Notify Engine [script.notify_engine] with parameters for 'Urlaubsmodus eingeschaltet' and turn off camera lights [light.kameralichter]. Otherwise, if holiday mode input boolean [input_boolean.holiday_mode] is off, then run script Notify Engine [script.notify_engine] with parameters for 'Urlaubsmodus ausgeschaltet' and turn on camera lights [light.kameralichter].",
"natural_language": {
"trigger": "Whenever the state of the holiday mode input boolean [input_boolean.holiday_mode] changes.",
"conditions": "There are no conditions that must be met.",
"action": "If the holiday mode is turned on, the system sends a notification titled 'Urlaubsmodus eingeschaltet' via the Notify Engine [script.notify_engine] and turns off the camera lights [light.kameralichter]. If the holiday mode is turned off, the system sends a notification titled 'Urlaubsmodus ausgeschaltet' and turns the camera lights back on."
},
"human_like": "Toggles holiday mode, sending a notification and controlling camera lights accordingly.",
"complexity": "low"
}
},
{
"id": "5899d18e-e2f3-4575-be82-4d81effc7293",
"result": {
"structured": "TRIGGER: When holiday mode input boolean [input_boolean.holiday_mode] changes state. CONDITIONS: None. ACTIONS: IF holiday mode input boolean [input_boolean.holiday_mode] is on THEN run script Notify Engine [script.notify_engine] with parameters for holiday mode on, turn off camera lights [light.kameralichter], and run script Awtrix3 Del App [script.awtrix3delapp] for apps 'mini', 'miguel', 'silke', and 'milo'. ELSE (holiday mode input boolean [input_boolean.holiday_mode] is off) run script Notify Engine [script.notify_engine] with parameters for holiday mode off and turn on camera lights [light.kameralichter].",
"natural_language": {
"trigger": "Whenever the holiday mode input boolean [input_boolean.holiday_mode] changes its state.",
"conditions": "There are no conditions for this automation.",
"action": "If holiday mode is turned on, it sends a notification, turns off the camera lights [light.kameralichter], and runs the Awtrix3 Del App [script.awtrix3delapp] script for several specific apps. If holiday mode is turned off, it sends a different notification and turns the camera lights [light.kameralichter] back on."
},
"human_like": "Activates or deactivates holiday mode, controlling lights and notifications accordingly.",
"complexity": "medium"
}
},
{
"id": "9fad1c85-4e6d-4864-91ee-54b0fc12c725",
"result": {
"structured": "TRIGGER: When parents group [group.parents] remains in state home for 1 minute. CONDITIONS: None. ACTIONS: Disarm alarmo alarm control panel [alarm_control_panel.alarmo] with code secret alarm_code AND Turn off kamera steckdose wz switch [switch.kamera_steckdose_wz].",
"natural_language": {
"trigger": "When the parents group [group.parents] has been at home for at least one minute.",
"conditions": "There are no conditions that must be met.",
"action": "Disarm the alarm system (alarmo alarm control panel [alarm_control_panel.alarmo]) using the secret code and turn off the living room camera power outlet (kamera steckdose wz switch [switch.kamera_steckdose_wz])."
},
"human_like": "When parents arrive home, this automation disarms the alarm and turns off the living room camera after a short delay.",
"complexity": "low"
}
},
{
"id": "daecbf74-77b8-4a46-b70c-0b4e38ee73c6",
"result": {
"structured": "TRIGGER: When SLK Klinik [zone.slk_klinik] changes state from '0' AND remains in the new state for 5 minutes OR when GRK Klinik Sinsheim [zone.grk_klinik_sinsheim] changes state from '0' AND remains in the new state for 5 minutes. CONDITIONS: None. ACTIONS: Execute Notify Engine [script.notify_engine] with a custom notification message. The message includes a title and a dynamic body listing the persons in the triggered zone and the zone's friendly name.",
"natural_language": {
"trigger": "When a person enters either the SLK Klinik [zone.slk_klinik] or the GRK Klinik Sinsheim [zone.grk_klinik_sinsheim] zone and remains there for at least five minutes.",
"conditions": "There are no conditions that must be met.",
"action": "Sends an emergency notification via the Notify Engine [script.notify_engine]. The notification includes a title with hospital emojis and a message listing the names of the person or people who have been in the hospital zone for five minutes, along with the name of the specific hospital."
},
"human_like": "Sends an alert if someone has been at a hospital for five minutes.",
"complexity": "medium"
}
},
{
"id": "c8718743-1084-41e6-a047-3483fe692c8b",
"result": {
"structured": "TRIGGER: When hot drinks counter input number [input_number.heissgetranke_zahler] changes state. CONDITIONS: None. ACTIONS: If hot drinks counter input number [input_number.heissgetranke_zahler] equals 0, then run Awtrix3 Del App [script.awtrix3delapp] with app_id 'coffee'. Otherwise, run Awtrix3 Custom App [script.awtrix3customapp] with app_id 'coffee', text set to the integer value of hot drinks counter input number [input_number.heissgetranke_zahler], and icon '14060'.",
"natural_language": {
"trigger": "Whenever the value of the hot drinks counter input number [input_number.heissgetranke_zahler] changes.",
"conditions": "There are no conditions that must be met.",
"action": "If the counter's value is exactly zero, it runs the Awtrix3 Del App [script.awtrix3delapp] for the 'coffee' application. If the counter's value is any number other than zero, it runs the Awtrix3 Custom App [script.awtrix3customapp] for the 'coffee' application, displaying the numeric value and a specific icon."
},
"human_like": "Displays the daily hot beverage count on an Awtrix display, showing a default screen for zero drinks or the actual count with an icon.",
"complexity": "low"
}
},
{
"id": "e90f58ed-9d21-499f-aa84-81a9e2523643",
"result": {
"structured": "TRIGGER: When Wohnungsfeuchtigkeit [sensor.wohnungsfeuchtigkeit] changes state. CONDITIONS: None. ACTIONS: Execute script Awtrix3 Custom App [script.awtrix3customapp] with parameters: app_id 'humidity', text containing the state value and unit of measurement of Wohnungsfeuchtigkeit [sensor.wohnungsfeuchtigkeit], and icon '2423'.",
"natural_language": {
"trigger": "Whenever the sensor Wohnungsfeuchtigkeit [sensor.wohnungsfeuchtigkeit] reports a new value.",
"conditions": "There are no conditions; the action runs every time the trigger fires.",
"action": "Updates a custom app on a connected display (Awtrix3) by running the script Awtrix3 Custom App [script.awtrix3customapp]. It shows the current humidity value and its unit of measurement, using a specific icon."
},
"human_like": "Displays the current indoor humidity reading on a smart clock.",
"complexity": "low"
}
},
{
"id": "aa5b46dc-164e-4d52-9d53-4f078c7dd107",
"result": {
"structured": "TRIGGER: When children light on timer [timer.children_light_on] starts. CONDITIONS: automatic lights input boolean [input_boolean.automatic_lights] is on. ACTIONS: Turn on children room light [light.kinderzimmerlicht].",
"natural_language": {
"trigger": "When the children light on timer [timer.children_light_on] begins its countdown.",
"conditions": "The automatic lights input boolean [input_boolean.automatic_lights] must be switched on.",
"action": "Turns on the children room light [light.kinderzimmerlicht]."
},
"human_like": "Automatically turns on the children's room light when a specific timer starts, but only if the automatic lights feature is enabled.",
"complexity": "low"
}
},
{
"id": "ab25af73-cf63-4538-9b78-a7f01e100066",
"result": {
"structured": "TRIGGER: When children light on timer [timer.children_light_on] finishes. CONDITIONS: None. ACTIONS: Turn off children room light [light.kinderzimmerlicht].",
"natural_language": {
"trigger": "When the children light on timer [timer.children_light_on] finishes.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the children room light [light.kinderzimmerlicht]."
},
"human_like": "Turns off the children's room light when a timer expires.",
"complexity": "low"
}
},
{
"id": "b3ad247c-d77b-437c-8cba-8c3fdb7b99d9",
"result": {
"structured": "TRIGGER: When children room motion sensor occupancy [binary_sensor.kinderzimmerbewegungssensor_occupancy] detects motion (on). CONDITIONS: The current time is between 17:00:00 and 09:00:00 AND (children room roller shutter [cover.rolladen_kinderzimmer] is closed OR Sun [sun.sun] is below_horizon). ACTIONS: If children light on timer [timer.children_light_on] is idle, then start the timer. Otherwise, add 5 minutes to the duration of children light on timer [timer.children_light_on].",
"natural_language": {
"trigger": "When motion is detected by the children room motion sensor occupancy [binary_sensor.kinderzimmerbewegungssensor_occupancy].",
"conditions": "The automation runs only between 5:00 PM and 9:00 AM. Additionally, it requires that either the children room roller shutter [cover.rolladen_kinderzimmer] is closed or the Sun [sun.sun] is below the horizon.",
"action": "If the children light on timer [timer.children_light_on] is not currently running, it will be started. If the timer is already running, 5 minutes will be added to its remaining duration."
},
"human_like": "Turns on or extends a light timer for the children's room when motion is detected in the evening or night, provided the room is dark.",
"complexity": "medium"
}
},
{
"id": "8cf24a78-fe6c-452c-8845-eb16ddad0b10",
"result": {
"structured": "TRIGGER: When Miguel leaves the Work Miguel [zone.work_miguel] zone (state changes to '0') AND remains outside for 3 minutes. CONDITIONS: workday sensor [binary_sensor.workday_sensor] is on. ACTIONS: Execute script Notify Engine [script.notify_engine] with a custom notification title and message containing the estimated time of arrival from miguel eta home sensor [sensor.miguel_eta_home].",
"natural_language": {
"trigger": "When Miguel has left the Work Miguel [zone.work_miguel] zone and has remained outside of it for three minutes.",
"conditions": "This automation only runs if the workday sensor [binary_sensor.workday_sensor] indicates that it is currently a workday.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] to inform the home that Miguel has left work and is on his way home, including his estimated arrival time."
},
"human_like": "Sends a notification home when Miguel leaves work on a workday, including his estimated time of arrival.",
"complexity": "low"
}
},
{
"id": "5f7b6ea8-5d4b-4bf8-80d0-cd976f9ea7d5",
"result": {
"structured": "TRIGGER: Every 5 minutes (time pattern on minutes divisible by 5). CONDITIONS: None. ACTIONS: If light chain timer [timer.lichterkette] is idle, then run Awtrix3 Del App [script.awtrix3delapp] with app_id set to 'lightstrip'. Otherwise, run Awtrix3 Custom App [script.awtrix3customapp] with app_id set to 'lightstrip', text set to 'Lichterkette', icon set to '66625', and progress set to a calculated value based on the remaining time of the timer.",
"natural_language": {
"trigger": "The automation runs every five minutes, on the minute.",
"conditions": "There are no conditions that must be met for the automation to proceed.",
"action": "It checks the state of the light chain timer [timer.lichterkette]. If the timer is idle, it runs the script Awtrix3 Del App [script.awtrix3delapp] to display the standard 'lightstrip' app. If the timer is active, it runs the script Awtrix3 Custom App [script.awtrix3customapp] to display a custom app. This custom app shows the text 'Lichterkette', an icon, and a progress bar. The progress bar's value is calculated based on how much time is left on the timer, showing the percentage of time elapsed out of a 7-hour (25,200-second) total duration."
},
"human_like": "Every five minutes, it updates a display to show either a standard clock or a timer countdown for the light chain, depending on whether the timer is running.",
"complexity": "medium"
}
},
{
"id": "c63598d6-82f5-4be9-b300-1ddfa28ef650",
"result": {
"structured": "TRIGGER: When light chain switch [switch.lichterkette] changes state. CONDITIONS: None. ACTIONS: If light chain switch [switch.lichterkette] is on, then start light chain timer [timer.lichterkette]. Otherwise, finish light chain timer [timer.lichterkette].",
"natural_language": {
"trigger": "Whenever the state of the light chain switch [switch.lichterkette] changes.",
"conditions": "There are no conditions that must be met.",
"action": "If the light chain switch [switch.lichterkette] is turned on, the automation starts the light chain timer [timer.lichterkette]. If the light chain switch [switch.lichterkette] is turned off, the automation finishes the light chain timer [timer.lichterkette]."
},
"human_like": "Starts a timer when the light chain is turned on and stops it when the light chain is turned off.",
"complexity": "low"
}
},
{
"id": "20b69e8d-fc7f-4cbc-a49c-c750b72e8983",
"result": {
"structured": "TRIGGER: When timer light chain timer [timer.lichterkette] finishes. CONDITIONS: None. ACTIONS: Turn off light chain switch [switch.lichterkette].",
"natural_language": {
"trigger": "When the light chain timer [timer.lichterkette] finishes.",
"conditions": "There are no conditions for this automation.",
"action": "Turns off the light chain switch [switch.lichterkette]."
},
"human_like": "Turns off the light chain when its timer finishes.",
"complexity": "low"
}
},
{
"id": "e26e4603-0144-4492-abac-7a15f9355c40",
"result": {
"structured": "TRIGGER: When lightning counter sensor [sensor.kohgeb_family_home_lightning_counter] changes state. CONDITIONS: NOT (lightning counter sensor [sensor.kohgeb_family_home_lightning_counter] is '0'). ACTIONS: Send a notification to tvoverlaynotifyfixed with a fixed ID, an icon, a 15-minute expiration, a rounded shape, and a message containing the rounded value and unit of measurement from the sensor.",
"natural_language": {
"trigger": "Whenever the lightning counter sensor [sensor.kohgeb_family_home_lightning_counter] reports a new value.",
"conditions": "The automation only runs if the lightning counter sensor [sensor.kohgeb_family_home_lightning_counter] is not showing a value of zero.",
"action": "It sends a notification to a fixed TV overlay, displaying the current lightning count (rounded) and its unit of measurement. The notification has a lightning icon, a rounded shape, and will disappear after 15 minutes."
},
"human_like": "Shows a lightning strike count notification on the TV when new lightning is detected nearby.",
"complexity": "low"
}
},
{
"id": "6640ee8e-ea3d-4b86-be28-ab8702d5f96c",
"result": {
"structured": "TRIGGER: When lightning counter sensor [sensor.kohgeb_family_home_lightning_counter] changes state. CONDITIONS: None. ACTIONS: Set variable 'lightning_counter' to the integer value of lightning counter sensor [sensor.kohgeb_family_home_lightning_counter] (default 0). Set variable 'lightning_distance' to the integer value of lightning distance sensor [sensor.kohgeb_family_home_lightning_distance] (default 0). IF lightning counter sensor [sensor.kohgeb_family_home_lightning_counter] is '0' THEN run script Awtrix3 Del App [script.awtrix3delapp] with app_id 'lightning'. ELSE run script Awtrix3 Custom App [script.awtrix3customapp] with app_id 'lightning', text '{{ lightning_counter }} - {{ lightning_distance }} km', and icon '33475'.",
"natural_language": {
"trigger": "Whenever the lightning counter sensor [sensor.kohgeb_family_home_lightning_counter] updates its state.",
"conditions": "There are no conditions for this automation.",
"action": "First, it stores the current values of the lightning counter and lightning distance sensors as numbers. Then, it checks the lightning counter. If the counter is zero, it removes the lightning app from the clock display by running the 'Awtrix3 Del App' script. If the counter is not zero, it shows the lightning information on the clock by running the 'Awtrix3 Custom App' script, displaying the count and the distance in kilometers with a specific lightning icon."
},
"human_like": "Displays lightning strike information on a smart clock when lightning is detected, or clears the display when there are no strikes.",
"complexity": "medium"
}
},
{
"id": "05cac6cf-e6a1-45b4-88f0-28374ae45913",
"result": {
"structured": "TRIGGER: When lights on count number [number.count_lights_on] changes state. CONDITIONS: None. ACTIONS: If lights on count number [number.count_lights_on] is below 1, then run Awtrix3 Del App [script.awtrix3delapp] with app_id 'lights'. Otherwise, run Awtrix3 Custom App [script.awtrix3customapp] with app_id 'lights', text set to the integer value of lights on count number [number.count_lights_on], and icon '1762'.",
"natural_language": {
"trigger": "Whenever the value of the lights on count number [number.count_lights_on] changes.",
"conditions": "There are no conditions that must be met.",
"action": "If the count of lights on is less than one, the automation runs the Awtrix3 Del App [script.awtrix3delapp] for the 'lights' application. If the count is one or more, it runs the Awtrix3 Custom App [script.awtrix3customapp] for the 'lights' application, displaying the current count as text and using a specific icon."
},
"human_like": "Updates a display to show how many lights are on, clearing the display if none are on.",
"complexity": "medium"
}
},
{
"id": "7301525b-8f3b-411e-a473-da8c5a4afc57",
"result": {
"structured": "TRIGGER: Every 5 minutes (time pattern). CONDITIONS: None. ACTIONS: Execute script.stream_analyzer with camera.rathaus as the camera argument.",
"natural_language": {
"trigger": "The automation runs every 5 minutes.",
"conditions": "There are no conditions that must be met.",
"action": "It runs a script called stream_analyzer, analyzing the feed from the rathaus camera [camera.rathaus]."
},
"human_like": "Every five minutes, it analyzes the video stream from the rathaus camera.",
"complexity": "low"
}
},
{
"id": "decf9977-3103-406d-8a04-65334807751c",
"result": {
"structured": "TRIGGER: When shower binary sensor [binary_sensor.dusche] remains on for 13 minutes. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: Send a TTS notification via alexa_media_echo_gross with message 'Genug geduscht! Es sind jetzt immerhin schon 13 Minuten!!!' AND run script Notify Engine [script.notify_engine] with parameters title='Dusche', value1='Genug geduscht! Es sind jetzt immerhin schon 13 Minuten!!!', who='home', tag_id='information', group='Cleaning'.",
"natural_language": {
"trigger": "When the shower binary sensor [binary_sensor.dusche] detects that the shower has been running continuously for 13 minutes.",
"conditions": "The automation only runs if the holiday mode input boolean [input_boolean.holiday_mode] is turned off.",
"action": "Sends a voice notification via the Alexa device 'alexa_media_echo_gross' saying 'Genug geduscht! Es sind jetzt immerhin schon 13 Minuten!!!' and also sends a structured notification via the Notify Engine [script.notify_engine] with the same message, categorised under 'Cleaning'."
},
"human_like": "Sends a reminder to stop showering after 13 minutes, but only when the house is not in holiday mode.",
"complexity": "low"
}
},
{
"id": "bf7beb70-eb04-4272-80b7-1e032acbea61",
"result": {
"structured": "TRIGGER: When the timer maja check timer [timer.maja_check] finishes. CONDITIONS: None. ACTIONS: Execute the script Send Cam Snaps [script.send_cam_snaps].",
"natural_language": {
"trigger": "When the maja check timer [timer.maja_check] finishes.",
"conditions": "There are no conditions.",
"action": "Runs the Send Cam Snaps [script.send_cam_snaps] script."
},
"human_like": "Takes camera snapshots when a specific timer finishes.",
"complexity": "low"
}
},
{
"id": "9af053f5-0dfb-4adf-8b36-a2747f2caaae",
"result": {
"structured": "TRIGGER: When a Telegram callback event with data '/maja_home' is received OR when a Telegram callback event with data '/maja_gone' is received. CONDITIONS: None. ACTIONS: If the trigger was the 'home' event, then turn on maja home input boolean [input_boolean.maja_home]; otherwise, turn off maja home input boolean [input_boolean.maja_home]. Then, send a Telegram answer callback query with the ID from the event and the message 'Alles klar danke!'. Finally, edit the reply markup of the Telegram message to clear the inline keyboard.",
"natural_language": {
"trigger": "The automation is triggered when a specific callback is received from Telegram. It reacts to two different callback data strings: '/maja_home' and '/maja_gone'.",
"conditions": "There are no conditions that must be met for the actions to run.",
"action": "Depending on which trigger occurred, the automation updates the status of 'maja home input boolean' [input_boolean.maja_home]. If the '/maja_home' callback was received, it turns the boolean on. If the '/maja_gone' callback was received, it turns the boolean off. It then sends a reply to the Telegram callback query saying 'Alles klar danke!' and removes the inline keyboard buttons from the original message."
},
"human_like": "Updates Maja's home status via Telegram buttons and sends a confirmation reply.",
"complexity": "medium"
}
},
{
"id": "a601d3fe-17d3-4cff-9eb1-ea4bbca2c549",
"result": {
"structured": "TRIGGER: At 11:00:00 daily. CONDITIONS: (workday sensor [binary_sensor.workday_sensor] is on) AND (office days schedule [schedule.buro_tage] is on) AND (miguel person [person.miguel] is NOT home). ACTIONS: Execute script Notify Engine [script.notify_engine] with a notification title about today's work meals, a description, a tag, a group, and photos with captions from sensor states: Work Meal One [sensor.work_meal_one], Work Meal One Two [sensor.work_meal_one_two], Work Meal Three [sensor.work_meal_three], Work Meal Four [sensor.work_meal_four], and Work Meal Five [sensor.work_meal_five].",
"natural_language": {
"trigger": "Every day at 11:00 AM.",
"conditions": "If the workday sensor [binary_sensor.workday_sensor] indicates it is a workday, the office days schedule [schedule.buro_tage] is active, and miguel person [person.miguel] is not at home.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] with the title 'Heutiges Essen im Geschäft', a description, and photos of the day's work meals. The photo captions are populated with the current states of the meal sensors: Work Meal One [sensor.work_meal_one], Work Meal One Two [sensor.work_meal_one_two], Work Meal Three [sensor.work_meal_three], Work Meal Four [sensor.work_meal_four], and Work Meal Five [sensor.work_meal_five]."
},
"human_like": "Sends a daily notification about the work meal options at 11 AM, but only on workdays when the user is not at home.",
"complexity": "medium"
}
},
{
"id": "ffe67e29-366b-4661-a0b0-bfea95d4468e",
"result": {
"structured": "TRIGGER: When Work Meal One [sensor.work_meal_one] changes state OR When Work Meal One Two [sensor.work_meal_one_two] changes state OR When Work Meal Three [sensor.work_meal_three] changes state OR When Work Meal Four [sensor.work_meal_four] changes state OR When Work Meal Five [sensor.work_meal_five] changes state OR When Milo Kita Essen Mittwoch [input_text.milo_kita_essen_mittwoch] changes state OR When Milo Kita Essen Donnerstag [input_text.milo_kita_essen_donnerstag] changes state OR When Milo Kita Essen Freitag [input_text.milo_kita_essen_freitag] changes state. CONDITIONS: The state of the triggering entity is not 'unavailable'. ACTIONS: First, set a variable 'directory' to 'work_meals' if the trigger id is one, one_two, three, four, or five; set it to 'kita_meals' if the trigger id is mittwoch, donnerstag, or freitag; otherwise set it to 'meals'. Then, use the OpenAI Conversation integration to generate a realistic image of the meal described by the state of the triggering entity. Finally, download the generated image to a file named after the trigger id in the determined subdirectory.",
"natural_language": {
"trigger": "The automation triggers whenever the state of any of the following entities changes: Work Meal One [sensor.work_meal_one], Work Meal One Two [sensor.work_meal_one_two], Work Meal Three [sensor.work_meal_three], Work Meal Four [sensor.work_meal_four], Work Meal Five [sensor.work_meal_five], Milo Kita Essen Mittwoch [input_text.milo_kita_essen_mittwoch], Milo Kita Essen Donnerstag [input_text.milo_kita_essen_donnerstag], or Milo Kita Essen Freitag [input_text.milo_kita_essen_freitag].",
"conditions": "The only condition is that the current state of the entity that triggered the automation must not be 'unavailable'.",
"action": "First, the automation determines a folder name based on which entity triggered it. For work meal sensors, it uses 'work_meals'. For the Kita (daycare) meal text inputs, it uses 'kita_meals'. For any other trigger, it uses 'meals'. Then, it sends a request to an AI image generation service to create a realistic picture of the meal described in the triggering entity's state. Finally, it downloads the generated image, saving it with a filename based on the trigger ID into the previously determined subfolder."
},
"human_like": "This automation generates and saves an AI image of a meal whenever the description in a work or daycare meal entity is updated.",
"complexity": "medium"
}
},
{
"id": "40db0999-dd04-4b40-b5d3-58684fc9895f",
"result": {
"structured": "TRIGGER: When Meteoalarm [binary_sensor.meteoalarm] turns on. CONDITIONS: Jemand in Spanien [binary_sensor.jemand_in_spanien] is on. ACTIONS: Run script Notify Engine [script.notify_engine] with a custom notification title and message containing the alarm headline, effective and expiry times, description, recommended action, and sender name from the Meteoalarm attributes, sent to the family.",
"natural_language": {
"trigger": "When the Meteoalarm [binary_sensor.meteoalarm] becomes active (turns on).",
"conditions": "Only if the binary sensor Jemand in Spanien [binary_sensor.jemand_in_spanien] indicates someone is in Spain (is on).",
"action": "Sends a detailed notification to the family using the Notify Engine [script.notify_engine]. The notification includes the alarm headline, its effective and expiry times, a description, recommended actions, and the sender's name, all extracted from the Meteoalarm's attributes."
},
"human_like": "Sends a detailed weather alarm notification to the family when an alert is active and someone is in Spain.",
"complexity": "low"
}
},
{
"id": "b2aeeef6-6e1f-441d-a1b4-1b678cd97467",
"result": {
"structured": "TRIGGER: When the state of milo kita times schedule [schedule.milo_kita_zeiten] changes. CONDITIONS: milo kita binary sensor [binary_sensor.milo_kita] is on. ACTIONS: IF milo kita times schedule [schedule.milo_kita_zeiten] is on THEN set milo person sync input select [input_select.milo_person_sync] to 'alleine' AND update the location of device 'milo_dummy_tracker' to a predefined coordinate. ELSE set milo person sync input select [input_select.milo_person_sync] to 'silke'.",
"natural_language": {
"trigger": "Whenever the schedule for Milo's daycare times, milo kita times schedule [schedule.milo_kita_zeiten], changes its state.",
"conditions": "The automation only runs if the binary sensor indicating Milo is at daycare, milo kita binary sensor [binary_sensor.milo_kita], is turned on.",
"action": "If the schedule indicates it is currently daycare time, the automation sets the person sync status to 'alleine' (alone) and updates a dummy device tracker to a location representing the daycare. Otherwise, it sets the person sync status to 'silke'."
},
"human_like": "Updates Milo's status and location when he is at daycare, based on his schedule.",
"complexity": "medium"
}
},
{
"id": "5ce560a2-c147-40f0-b02f-46ba328c5b84",
"result": {
"structured": "TRIGGER: At 00:01:00 (one minute past midnight) every day. CONDITIONS: parents group [group.parents] is home. ACTIONS: Set variable 'triggered_entity' to sensor.anniversary_special_b_mini. Set variable 'entity_name' to the friendly_name attribute of sensor.anniversary_special_b_mini. IF triggered_entity is not an empty string, THEN run script Awtrix3 Custom App [script.awtrix3customapp] with app_id 'mini', text containing the state and unit_of_measurement of sensor.anniversary_special_b_mini, and icon '365'. OTHERWISE, run script Awtrix3 Del App [script.awtrix3delapp] with app_id 'mini'.",
"natural_language": {
"trigger": "The automation triggers every day at one minute past midnight.",
"conditions": "It only runs if the parents group [group.parents] is in a 'home' state.",
"action": "It first stores the sensor entity 'sensor.anniversary_special_b_mini' and its friendly name. If this sensor entity exists (is not empty), it will display a mini countdown on a clock by running the Awtrix3 Custom App [script.awtrix3customapp]. The app will show the sensor's current value and unit of measurement with a specific icon. If the sensor entity does not exist, it will instead run the Awtrix3 Del App [script.awtrix3delapp] to remove the 'mini' app from the display."
},
"human_like": "Shows a small anniversary countdown on a smart clock display at night, but only when the parents are home.",
"complexity": "medium"
}
},
{
"id": "18dc0537-cfe1-49c3-badc-0526216e7909",
"result": {
"structured": "TRIGGER: When the count attribute of Grocy Missing Products [binary_sensor.grocy_missing_products] changes. CONDITIONS: Grocy Missing Products [binary_sensor.grocy_missing_products] is on. ACTIONS: Execute script Notify Engine [script.notify_engine] with a title and a templated message listing the missing products.",
"natural_language": {
"trigger": "When the number of missing products, tracked by the count attribute of the Grocy Missing Products [binary_sensor.grocy_missing_products] sensor, changes.",
"conditions": "The Grocy Missing Products [binary_sensor.grocy_missing_products] sensor must be in the 'on' state, indicating that there are products missing.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] script. The notification has a title about missing products and a detailed message that lists the names of all the missing products."
},
"human_like": "Sends a notification when the grocery inventory system reports that products are missing and need to be purchased.",
"complexity": "medium"
}
},
{
"id": "ca2ea9b9-5ef6-4867-af35-4ce299c817ae",
"result": {
"structured": "TRIGGER: At 08:00:00. CONDITIONS: AI Morning Briefing [input_boolean.ai_morning_briefing] is on. ACTIONS: Generate a morning briefing using OpenAI AI Task [ai_task.openai_ai_task] with a specific prompt containing dynamic data (current date, outdoor temperature, weather condition, indoor temperature, indoor humidity, work day status) and store the generated response in variable 'response'. Then set the value of AI Morning Briefing Text [input_text.ai_morning_briefing] to the content of 'response'.",
"natural_language": {
"trigger": "The automation triggers every day at 8:00 AM.",
"conditions": "It only runs if the AI Morning Briefing [input_boolean.ai_morning_briefing] is switched on.",
"action": "It uses an AI service (OpenAI AI Task [ai_task.openai_ai_task]) to create a short, funny morning briefing in German. The AI is given information like the current date, indoor and outdoor temperatures, humidity, weather, and whether it's a workday. The resulting text is then saved into the AI Morning Briefing Text [input_text.ai_morning_briefing] field."
},
"human_like": "Generates a personalized and humorous morning weather and news briefing at 8 AM, but only when enabled.",
"complexity": "medium"
}
},
{
"id": "9baffe35-daa2-43fa-bdd6-985240281706",
"result": {
"structured": "TRIGGER: When night mode input boolean [input_boolean.night_mode] changes state. CONDITIONS: (night mode input boolean [input_boolean.night_mode] is on) OR (night mode input boolean [input_boolean.night_mode] is off). ACTIONS: If night mode input boolean [input_boolean.night_mode] is on, then execute Night Mode On [script.night_mode_on]. Otherwise, execute Night Mode Off [script.night_mode_off].",
"natural_language": {
"trigger": "Whenever the state of the night mode input boolean [input_boolean.night_mode] changes.",
"conditions": "The automation runs only if the night mode input boolean [input_boolean.night_mode] is either turned on or turned off.",
"action": "If the night mode input boolean [input_boolean.night_mode] is on, it runs the Night Mode On [script.night_mode_on] script. If it is off, it runs the Night Mode Off [script.night_mode_off] script."
},
"human_like": "Toggles the night mode on or off by running the appropriate script whenever the night mode switch is changed.",
"complexity": "low"
}
},
{
"id": "a708dd34-6dd1-4745-a971-debf244734a5",
"result": {
"structured": "TRIGGER: When Warning Home 1 [binary_sensor.warning_home_1] turns on OR When Warning Home 2 [binary_sensor.warning_home_2] turns on OR When Warning Home 3 [binary_sensor.warning_home_3] turns on OR When Warning Home 4 [binary_sensor.warning_home_4] turns on OR When Warning Home 5 [binary_sensor.warning_home_5] turns on. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: Run script Notify Engine [script.notify_engine] with a custom title and message template that includes details from the triggering sensor's attributes (headline, description, start/expiry times, recommended actions, sender, and affected areas).",
"natural_language": {
"trigger": "When any of the five warning sensors (Warning Home 1, Warning Home 2, Warning Home 3, Warning Home 4, or Warning Home 5) becomes active (turns on).",
"conditions": "The automation only runs if the holiday mode input boolean is turned off, indicating the home is not in holiday mode.",
"action": "Sends a detailed notification using the Notify Engine script. The notification includes a title with the warning headline, and a formatted message containing the description, time period, recommended actions, sender, and affected areas extracted from the triggering sensor's attributes."
},
"human_like": "Sends detailed NINA weather warnings to the home when any of the warning sensors are triggered, but only when holiday mode is off.",
"complexity": "medium"
}
},
{
"id": "98553e4d-5625-488b-8a7d-01c315807b24",
"result": {
"structured": "TRIGGER: When the time reaches Medis Reminder Time Morning [input_datetime.medis_reminder_time_morning] OR When the time reaches Medis Reminder Time Evening [input_datetime.medis_reminder_time_evening] OR When the time reaches Medis Reminder Time Night [input_datetime.medis_reminder_time_night]. CONDITIONS: None. ACTIONS: For each person in a predefined list (Miguel, Silke, Milo, Maja), if that person has any medications (entities with labels 'MedisHourly', 'MedisDaily', or 'MedisWeekly') that are currently in the 'off' state, then send a notification via Notify Engine [script.notify_engine] to the person's device(s) with the medication names and an action to open the medication dashboard.",
"natural_language": {
"trigger": "The automation triggers at three specific times of day: the morning reminder time, the evening reminder time, and the night reminder time, as defined by the input_datetime entities.",
"conditions": "There are no explicit conditions that must be met for the actions to run.",
"action": "The automation first builds lists of medication entities (with labels 'MedisHourly', 'MedisDaily', and 'MedisWeekly') that are currently in the 'off' state. It then groups these medications by person (Miguel, Silke, Milo, Maja). For each person, if they have any pending medications, it sends a notification to their specified device(s) using the Notify Engine [script.notify_engine]. The notification includes the person's name and a list of their pending medications, and provides a button to open the medication dashboard."
},
"human_like": "Sends medication reminders to family members at scheduled times, listing only the medications they have not yet taken.",
"complexity": "medium"
}
},
{
"id": "1bd70167-a552-4a7e-93de-2cfd0a823bc6",
"result": {
"structured": "TRIGGER: When Device cb2c427b [cb2c427bea07f6795aa22d8414ed7dd4] (a cover) starts opening. CONDITIONS: (night mode input boolean [input_boolean.night_mode] is on) AND (current time is between 06:00:00 and 12:00:00). ACTIONS: Turn off night mode input boolean [input_boolean.night_mode].",
"natural_language": {
"trigger": "When the cover Device cb2c427b [cb2c427bea07f6795aa22d8414ed7dd4] begins to open.",
"conditions": "If the night mode input boolean [input_boolean.night_mode] is currently turned on, and the current time is between 6:00 AM and 12:00 PM.",
"action": "Turns off the night mode input boolean [input_boolean.night_mode]."
},
"human_like": "Automatically turns off night mode when a specific blind is opened in the morning.",
"complexity": "low"
}
},
{
"id": "5f93e5ba-c185-48f1-8653-dd8e2271a145",
"result": {
"structured": "TRIGGER: When the time difference between the expected start of the next Picnic delivery [sensor.picnic_voraussichtlicher_beginn_der_nachsten_lieferung] and the current time is less than or equal to 600 seconds (10 minutes). CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: Execute the Notify Engine [script.notify_engine] script with a title and message indicating the Picnic delivery is coming within the next 5 minutes, assigned to the 'Shopping' group with the tag 'information'.",
"natural_language": {
"trigger": "When the estimated start time of the next Picnic grocery delivery [sensor.picnic_voraussichtlicher_beginn_der_nachsten_lieferung] is 10 minutes or less away from the current time.",
"conditions": "The holiday mode input boolean [input_boolean.holiday_mode] must be turned off.",
"action": "Sends a notification via the Notify Engine [script.notify_engine] with a shopping cart icon and a message stating 'Picnic kommt in den nächsten 5min.', categorizing it under the 'Shopping' group with an 'information' tag."
},
"human_like": "Sends a notification when the Picnic grocery delivery is about to arrive, but only if holiday mode is not active.",
"complexity": "low"
}
},
{
"id": "5d292a16-db4a-4897-88ce-1cf106efa12b",
"result": {
"structured": "TRIGGER: When a Telegram command event with command '/bild' is received. CONDITIONS: None. ACTIONS: Generate an image using OpenAI Conversation with size 1024x1024, quality standard, style natural, and prompt set to the arguments from the Telegram command event, storing the result in variable 'generated'. Then, execute the Notify Engine [script.notify_engine] script with parameters: value1 set to the revised prompt from the generated image, photo set to the image URL, who set to 'home', tag_id set to 'information', and group set to 'Family'.",
"natural_language": {
"trigger": "When a Telegram command '/bild' is received.",
"conditions": "There are no conditions for this automation.",
"action": "The automation first generates an image using OpenAI's image generation service. The image is created with a size of 1024x1024 pixels, standard quality, and a natural style. The prompt for the image is taken from the arguments provided with the Telegram command. After the image is generated, the automation sends a notification using the Notify Engine [script.notify_engine]. The notification includes the revised prompt from the image generation service and the URL of the generated image. The notification is tagged as 'information', addressed to the 'Family' group, and sent from 'home'."
},
"human_like": "Generates an image based on a Telegram command and sends a notification with the result to the family.",
"complexity": "medium"
}
},
{
"id": "937b8048-a3a4-4557-9bf1-17e8d1c206bf",
"result": {
"structured": "TRIGGER: When pi hole switch [switch.pi_hole] changes state. CONDITIONS: None. ACTIONS: IF pi hole switch [switch.pi_hole] is off THEN start pihole disabled timer [timer.pihole_disabled]. ELSE cancel pihole disabled timer [timer.pihole_disabled].",
"natural_language": {
"trigger": "Whenever the state of the pi hole switch [switch.pi_hole] changes.",
"conditions": "There are no conditions that must be met.",
"action": "If the pi hole switch [switch.pi_hole] is turned off, it starts the pihole disabled timer [timer.pihole_disabled]. If the switch is turned on, it cancels the pihole disabled timer [timer.pihole_disabled]."
},
"human_like": "Starts a timer when Pi-hole is disabled and cancels it when it's re-enabled.",
"complexity": "low"
}
},
{
"id": "484d8c6d-7be3-4069-ba2f-1a6a24f7c8fb",
"result": {
"structured": "TRIGGER: When timer pihole disabled [timer.pihole_disabled] finishes. CONDITIONS: None. ACTIONS: Turn on pi hole switch [switch.pi_hole].",
"natural_language": {
"trigger": "When the pihole disabled timer [timer.pihole_disabled] finishes.",
"conditions": "There are no conditions for this automation.",
"action": "Turns on the pi hole switch [switch.pi_hole]."
},
"human_like": "Automatically turns the Pi-hole back on when its temporary disable timer finishes.",
"complexity": "low"
}
},
{
"id": "72ec3377-7e22-4ba2-b9a3-f3ef82261ade",
"result": {
"structured": "TRIGGER: When Pollenflug Graeser 112 [sensor.pollenflug_graeser_112] changes state. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off AND Pollenflug Graeser 112 [sensor.pollenflug_graeser_112] is above 0. ACTIONS: Execute Notify Engine [script.notify_engine] with a custom title and a message containing today's and tomorrow's pollen descriptions and levels.",
"natural_language": {
"trigger": "Whenever the pollen level sensor for grasses, Pollenflug Graeser 112 [sensor.pollenflug_graeser_112], reports a new state.",
"conditions": "The automation only runs if the holiday mode is turned off and the current pollen level reading is greater than zero.",
"action": "Sends a notification to everyone at home via the Notify Engine [script.notify_engine], warning about current and forecasted grass pollen levels."
},
"human_like": "Sends a pollen alert to the household when grass pollen levels are detected and holiday mode is off.",
"complexity": "low"
}
},
{
"id": "00f0df21-aa56-4fc4-8f8e-56b983c49e6f",
"result": {
"structured": "TRIGGER: When Weather Home [weather.home] changes state. CONDITIONS: None. ACTIONS: If Weather Home [weather.home] state is rainy THEN turn on raining input boolean [input_boolean.raining] ELSE turn off raining input boolean [input_boolean.raining].",
"natural_language": {
"trigger": "Whenever the weather entity Weather Home [weather.home] reports a change in its state.",
"conditions": "There are no conditions that must be met for the action to run.",
"action": "Checks if the current weather state is 'rainy'. If it is, it turns on the input boolean 'raining input boolean' [input_boolean.raining]. If the weather state is anything else, it turns off the same input boolean."
},
"human_like": "Turns on a 'raining' indicator when the weather is rainy, and turns it off otherwise.",
"complexity": "low"
}
},
{
"id": "7e4dceda-e410-4827-8ae0-776c16ae1511",
"result": {
"structured": "TRIGGER: When the time is 00:15:00 (daily). CONDITIONS: None. ACTIONS: Execute the shell command removesnapshots.",
"natural_language": {
"trigger": "The automation runs every day at 15 minutes past midnight.",
"conditions": "There are no conditions that must be met.",
"action": "Runs the shell command named 'removesnapshots'."
},
"human_like": "Automatically deletes old snapshots every night at 12:15 AM.",
"complexity": "low"
}
},
{
"id": "b67001f4-cf8f-414d-a1bb-84fe46b2b37b",
"result": {
"structured": "TRIGGER: At 00:01:00 daily OR 1 hour before the time set in Medis Reminder Time Morning [input_datetime.medis_reminder_time_morning] OR 1 hour before the time set in Medis Reminder Time Evening [input_datetime.medis_reminder_time_evening] OR 1 hour before the time set in Medis Reminder Time Night [input_datetime.medis_reminder_time_night]. CONDITIONS: None (conditions are embedded within the action's if/then/else logic). ACTIONS: If the trigger is the daily one, then: turn off all input_booleans with label 'medisdaily'; for each input_boolean with label 'MedisDaily' whose entity_id contains 'heuschnupfen' and whose state is 'on' or 'off', if its state is not 'on' AND the corresponding pollen sensor (sensor.pollenflug_<type>_112) reading is 0, turn that input_boolean on; if today is Sunday, turn off all input_booleans with label 'medisweekly'. Otherwise (for the other triggers), turn off all input_booleans with labels 'medishourly' and the label matching the trigger id (morgens, mittags, or abends).",
"natural_language": {
"trigger": "The automation runs at four specific times: once daily at 00:01:00, one hour before the morning medication reminder time set in Medis Reminder Time Morning [input_datetime.medis_reminder_time_morning], one hour before the evening reminder time set in Medis Reminder Time Evening [input_datetime.medis_reminder_time_evening], and one hour before the night reminder time set in Medis Reminder Time Night [input_datetime.medis_reminder_time_night].",
"conditions": "The actions taken depend on which trigger fired. There are no separate global conditions; instead, logic is applied within the action sequence.",
"action": "If the trigger is the daily one at 00:01:00, it first turns off all input_booleans tagged with the label 'medisdaily'. Then, for any input_boolean tagged with 'MedisDaily' that has 'heuschnupfen' in its entity ID, if it is currently not 'on' and the corresponding pollen sensor (sensor.pollenflug_<type>_112) reports a value of 0, it turns that specific boolean on. If it is a Sunday, it also turns off all input_booleans with the label 'medisweekly'. For the other triggers (one hour before the morning, evening, or night reminder times), the automation turns off all input_booleans with the labels 'medishourly' and a label matching the trigger's ID (morgens, mittags, or abends)."
},
"human_like": "This automation manages medication reminder states by resetting daily, weekly, and hourly flags at scheduled times, and automatically enables allergy medication reminders when pollen levels are zero.",
"complexity": "high"
}
},
{
"id": "0adfa03b-b03a-487c-961c-657907bc05d5",
"result": {
"structured": "TRIGGER: At midnight (0 hours, 0 minutes) every day. CONDITIONS: The current day of the month is the 1st. ACTIONS: If the current month is January, then reset picnic yearly costs counter [counter.picnic_jahres_kosten]. Then, reset picnic monthly costs counter [counter.picnic_monats_kosten].",
"natural_language": {
"trigger": "Every day at midnight.",
"conditions": "The automation only runs if it is the first day of the month.",
"action": "If the current month is January, it resets the picnic yearly costs counter [counter.picnic_jahres_kosten]. Then, regardless of the month, it resets the picnic monthly costs counter [counter.picnic_monats_kosten]."
},
"human_like": "Resets the monthly picnic cost counter on the first day of every month, and also resets the yearly counter if it's January.",
"complexity": "medium"
}
},
{
"id": "907a7f7e-836e-4a75-b98c-a793f0da9534",
"result": {
"structured": "TRIGGER: When the temperature reported by Weather Home [weather.home] is lower than the current temperature of daikin climate [climate.daikinap90134]. CONDITIONS: (night binary sensor [binary_sensor.nacht] is off) AND (schlafzimmer roller shutter [cover.rollladen_schlafzimmer] current_position is below 40) AND (ventilation active input boolean [input_boolean.lueften_aktiv] is on) AND ((daikin climate outside temperature sensor [sensor.daikinap90134_outside_temperature] is below 23) OR (Weather Home [weather.home] temperature is below 23)) AND (Weather Home [weather.home] is NOT sunny). ACTIONS: Open schlafzimmer roller shutter [cover.rollladen_schlafzimmer].",
"natural_language": {
"trigger": "When the outside temperature from the weather entity is lower than the current indoor temperature measured by the climate device.",
"conditions": "The automation runs only if it is not night, the bedroom roller shutter is less than 40% open, the ventilation mode is active, the outside temperature is below 23 degrees (from either the dedicated sensor or the weather entity), and the weather is not reported as sunny.",
"action": "Opens the bedroom roller shutter to allow for ventilation."
},
"human_like": "Opens the bedroom roller shutter for ventilation when it's cooler outside than inside, but only if it's not night, the shutter is mostly closed, ventilation is enabled, and the weather is not sunny.",
"complexity": "medium"
}
},
{
"id": "24fa0d54-ffb8-43d3-9e55-ebdd262deaf0",
"result": {
"structured": "TRIGGER: At sunrise, offset by -1 hour. CONDITIONS: (schlafzimmer roller shutter [cover.rollladen_schlafzimmer] current_position is above 40) AND (sleep sun protection active input boolean [input_boolean.sonnen_wegblenden_schlafen_aktiv] is on). ACTIONS: Set schlafzimmer roller shutter [cover.rollladen_schlafzimmer] position to 6.",
"natural_language": {
"trigger": "One hour before sunrise.",
"conditions": "The schlafzimmer roller shutter [cover.rollladen_schlafzimmer] is currently open more than 40%, and the sleep sun protection active input boolean [input_boolean.sonnen_wegblenden_schlafen_aktiv] is turned on.",
"action": "Partially closes the schlafzimmer roller shutter [cover.rollladen_schlafzimmer] by setting its position to 6%."
},
"human_like": "Closes the bedroom roller shutter to 6% one hour before sunrise if sun protection is active and the shutter is open more than 40%.",
"complexity": "low"
}
},
{
"id": "35a45982-41c2-4a64-b724-aa559b81e9fd",
"result": {
"structured": "TRIGGER: When daikin climate outside temperature sensor [sensor.daikinap90134_outside_temperature] is above 23°C OR when the temperature attribute of Weather Home [weather.home] is above 23°C. CONDITIONS: Time is between 09:00:00 and 19:00:00 AND sun protection active input boolean [input_boolean.sonnen_schutz_aktiv] is on. ACTIONS: If schlafzimmer roller shutter [cover.rollladen_schlafzimmer] current_position is above 40%, then set its position to 23%. If living room roller shutter [cover.wohnzimmerrolladen] current_position is above 40%, then set its position to 23%. If children room roller shutter [cover.rolladen_kinderzimmer] current_position is above 40%, then set its position to 23%.",
"natural_language": {
"trigger": "When the outside temperature measured by the daikin climate outside temperature sensor [sensor.daikinap90134_outside_temperature] rises above 23°C, or when the temperature reported by the weather entity Weather Home [weather.home] rises above 23°C.",
"conditions": "The automation only runs if the current time is between 9 AM and 7 PM, and if the sun protection active input boolean [input_boolean.sonnen_schutz_aktiv] is switched on.",
"action": "For each of the three roller shutters, if its current position is more than 40% open, it will be partially closed to a position of 23%. This applies to the schlafzimmer roller shutter [cover.rollladen_schlafzimmer], the living room roller shutter [cover.wohnzimmerrolladen], and the children room roller shutter [cover.rolladen_kinderzimmer]."
},
"human_like": "Closes the roller shutters to a sun protection position if it gets too warm outside, but only during daytime hours and when the sun protection feature is enabled.",
"complexity": "medium"
}
},
{
"id": "9c0cb04f-09bc-49f6-a9d8-e5ec3ff73f2b",
"result": {
"structured": "TRIGGER: When the user enters zone REWE [zone.rewe] OR zone Kaufland [zone.kaufland] AND remains there for 3 minutes OR When the user enters zone Getraenke Markt [zone.getranke_markt] AND remains there for 3 minutes OR When the user enters zone DM [zone.dm] AND remains there for 3 minutes. CONDITIONS: None. ACTIONS: Set variable list_id to todo.{{ trigger.id }}. Check if the number of items in the todo list (list_id) is greater than 0. If true, retrieve the incomplete items from the todo list (list_id) and store them in variable incompleteItems. Then, send a notification via Notify Engine [script.notify_engine] with a title indicating the number of items and a list of the incomplete items, targeting the home group with tag 'information' and group 'Einkauf'.",
"natural_language": {
"trigger": "The automation triggers when someone arrives at one of the specified shopping zones (REWE [zone.rewe], Kaufland [zone.kaufland], Getraenke Markt [zone.getranke_markt], or DM [zone.dm]) and stays there for at least three minutes.",
"conditions": "There are no conditions that need to be met for the automation to proceed.",
"action": "The automation first determines which shopping list to use based on the zone that triggered it. It then checks if that specific shopping list has any items. If it does, it fetches the list of items that are still needed. Finally, it sends a notification to the home, showing the number of items and listing them, to remind the user of their shopping list for that store."
},
"human_like": "Sends a shopping list reminder notification when you arrive at a store and stay for a few minutes.",
"complexity": "medium"
}
},
{
"id": "2e10ac5d-5d52-4006-9b95-b46e4d241b99",
"result": {
"structured": "TRIGGER: When shower binary sensor [binary_sensor.dusche] turns on. CONDITIONS: None. ACTIONS: Execute Spotify Audio [script.spotify_audio] with parameters: volume 0.6, type playlist, media_id https://open.spotify.com/playlist/5r4YRJTzgAObYU4pXbWW9a?si=80e65565a3b24adb&pt=5c44bf58d4ec568bfccbf89cb14e8b3c, source Echo_Gross.",
"natural_language": {
"trigger": "When the shower binary sensor [binary_sensor.dusche] detects the shower is turned on.",
"conditions": "There are no conditions that must be met.",
"action": "Starts playing a specific Spotify playlist on the Echo_Gross speaker at 60% volume by running the Spotify Audio [script.spotify_audio] script."
},
"human_like": "Starts playing a Spotify playlist in the bathroom when the shower is turned on.",
"complexity": "low"
}
},
{
"id": "4b8a1925-f831-4168-bdc2-697f63d79f3c",
"result": {
"structured": "TRIGGER: When silke work schedule [schedule.silke_arbeit] changes state. CONDITIONS: None. ACTIONS: If silke work schedule [schedule.silke_arbeit] is on, then set milo person sync input select [input_select.milo_person_sync] to 'miguel'. Otherwise, set milo person sync input select [input_select.milo_person_sync] to 'silke'.",
"natural_language": {
"trigger": "Whenever the state of the silke work schedule [schedule.silke_arbeit] changes.",
"conditions": "There are no conditions for this automation.",
"action": "If the silke work schedule [schedule.silke_arbeit] is turned on, it sets the milo person sync input select [input_select.milo_person_sync] to the option 'miguel'. If the schedule is not on (i.e., it is off), it sets the select to the option 'silke'."
},
"human_like": "Updates a person selection based on Silke's work schedule, switching to 'Miguel' when she is working and back to 'Silke' when she is not.",
"complexity": "low"
}
},
{
"id": "87a6c36c-7123-4083-bd32-0927d6fa36c4",
"result": {
"structured": "TRIGGER: When front door binary sensor [binary_sensor.hausture] changes to on. CONDITIONS: hallway cam switch [switch.flur_cam_stecker] is on. ACTIONS: 1. Show a popup with a live view from hallway camera [camera.flurcam] titled 'Haustüre wurde geöffnet', which auto-closes after 30000 milliseconds. 2. Set variable 'timestamp' to the camera's friendly name combined with the current date and time. 3. Set variables 'file_path' and 'pic_path' for media storage. 4. Take a snapshot from hallway camera [camera.flurcam] and save it to /config/www/cams/{{ pic_path }}. 5. Run script Notify Engine [script.notify_engine] with a notification title 'Haustüre', message 'Haustüre wurde geöffnet!', and a photo URL constructed using Server IP [input_text.server_ip] and the saved picture path. 6. Set variable 'end' to the current time. 7. Fire an event 'cam_event' with data including the event description, start and end times, summary, key frame path, and camera entity. 8. Start a 5-second recording from hallway camera [camera.flurcam] and save it to the defined file path.",
"natural_language": {
"trigger": "When the front door binary sensor [binary_sensor.hausture] detects that the door has been opened (changes to 'on').",
"conditions": "The hallway cam switch [switch.flur_cam_stecker] must be turned on, indicating the camera system is active.",
"action": "A popup showing a live feed from the hallway camera [camera.flurcam] appears with the title 'Haustüre wurde geöffnet' and closes automatically after 30 seconds. A timestamp is generated using the camera's name and the current time. A snapshot is taken from the camera and saved. A notification is sent via the Notify Engine [script.notify_engine] with the title 'Haustüre', the message 'Haustüre wurde geöffnet!', and a link to the saved snapshot. An internal 'cam_event' is logged with details of the event. Finally, a 5-second video recording is started from the hallway camera and saved to a file."
},
"human_like": "When the front door opens, this automation shows a live camera popup, takes a snapshot, sends a notification with the picture, and records a short video if the camera system is enabled.",
"complexity": "medium"
}
},
{
"id": "65f0caac-6ebc-4025-af11-4ef6bf3b75e1",
"result": {
"structured": "TRIGGER: When spotify miguel media player [media_player.spotify_miguel] changes state. CONDITIONS: parents group [group.parents] is home. ACTIONS: If spotify miguel media player [media_player.spotify_miguel] is playing, then run Awtrix3 Custom App [script.awtrix3customapp] with the media title as text, icon '12676', and repeat once. Otherwise, run Awtrix3 Del App [script.awtrix3delapp] to remove the spotify app.",
"natural_language": {
"trigger": "Whenever the state of the spotify miguel media player [media_player.spotify_miguel] changes.",
"conditions": "The parents group [group.parents] must be at home.",
"action": "If the spotify miguel media player [media_player.spotify_miguel] is currently playing, it will display the current track on the clock by running the Awtrix3 Custom App [script.awtrix3customapp] with the song title. If it is not playing, it will remove the spotify display from the clock by running the Awtrix3 Del App [script.awtrix3delapp]."
},
"human_like": "Shows the currently playing Spotify track on a smart clock when someone is home, and clears it when playback stops.",
"complexity": "low"
}
},
{
"id": "a444c0eb-c032-4e9c-b923-6244fe1a24b8",
"result": {
"structured": "TRIGGER: When power sensor [63bfc36a2f736572074819f62b69d6ca] remains above 30 W for 1 minute OR When power sensor [63bfc36a2f736572074819f62b69d6ca] remains below 1 W for 1 minute. CONDITIONS: None. ACTIONS: If the trigger was 'on' (power above 30 W for 1 minute), then turn on dishwasher active input boolean [input_boolean.spulmaschine_aktiv]; otherwise (if the trigger was 'off' (power below 1 W for 1 minute)), turn off dishwasher active input boolean [input_boolean.spulmaschine_aktiv].",
"natural_language": {
"trigger": "When the power sensor [63bfc36a2f736572074819f62b69d6ca] reports a power consumption above 30 watts for at least one minute, or when it reports a power consumption below 1 watt for at least one minute.",
"conditions": "There are no additional conditions that must be met.",
"action": "If the automation was triggered by the power sensor staying above 30 watts for a minute, it turns on the dishwasher active input boolean [input_boolean.spulmaschine_aktiv]. If it was triggered by the power sensor staying below 1 watt for a minute, it turns off the dishwasher active input boolean [input_boolean.spulmaschine_aktiv]."
},
"human_like": "Tracks when the dishwasher is running or finished by monitoring its power consumption and updating a status indicator.",
"complexity": "medium"
}
},
{
"id": "f6d85177-1780-4f92-a00b-db0a583a1bad",
"result": {
"structured": "TRIGGER: When miguel person [person.miguel] changes state. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: If miguel person [person.miguel] is home, then run Awtrix3 Del App [script.awtrix3delapp] with app_id: miguel. Otherwise, run Awtrix3 Custom App [script.awtrix3customapp] with app_id: miguel, text set to the current state of miguel person [person.miguel], and icon 28759.",
"natural_language": {
"trigger": "Whenever the state of the person miguel person [person.miguel] changes.",
"conditions": "The automation only runs if the holiday mode input boolean [input_boolean.holiday_mode] is turned off.",
"action": "If miguel person [person.miguel] is at home, it runs the Awtrix3 Del App [script.awtrix3delapp] for the 'miguel' app. If miguel person [person.miguel] is not at home, it runs the Awtrix3 Custom App [script.awtrix3customapp] for the 'miguel' app, displaying the current state (like 'not_home') as text and using a specific icon."
},
"human_like": "Shows Miguel's location status on a clock display when holiday mode is off, using different app screens for 'home' and other states.",
"complexity": "medium"
}
},
{
"id": "de7d8756-e929-4001-ade4-1c02b9a2c5c6",
"result": {
"structured": "TRIGGER: When milo carlos person [person.milo_carlos] changes state. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: If milo carlos person [person.milo_carlos] is home, then run Awtrix3 Del App [script.awtrix3delapp] with app_id: milo. Otherwise, run Awtrix3 Custom App [script.awtrix3customapp] with app_id: milo, text set to the current state of milo carlos person [person.milo_carlos], and icon: '48342'.",
"natural_language": {
"trigger": "Whenever the state of the person milo carlos [person.milo_carlos] changes.",
"conditions": "The automation only runs if the holiday mode input boolean [input_boolean.holiday_mode] is turned off.",
"action": "If milo carlos [person.milo_carlos] is at home, it runs the Awtrix3 Del App [script.awtrix3delapp] for the 'milo' app. If milo carlos [person.milo_carlos] is not at home, it runs the Awtrix3 Custom App [script.awtrix3customapp] for the 'milo' app, displaying the current location state as text and a specific icon."
},
"human_like": "Displays Milo's current location status on a clock display when holiday mode is off.",
"complexity": "medium"
}
},
{
"id": "9503b5e7-7f22-4687-afd2-c9aed8be4696",
"result": {
"structured": "TRIGGER: When silke person [person.silke] changes state. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: If silke person [person.silke] is home, then run Awtrix3 Del App [script.awtrix3delapp] with app_id: silke. Otherwise, run Awtrix3 Custom App [script.awtrix3customapp] with app_id: silke, text set to the current state of silke person [person.silke], and icon '19702'.",
"natural_language": {
"trigger": "Whenever the state of the person silke [person.silke] changes.",
"conditions": "The automation only runs if the holiday mode input boolean [input_boolean.holiday_mode] is turned off.",
"action": "If silke [person.silke] is at home, the Awtrix3 Del App [script.awtrix3delapp] is executed for the 'silke' app. If silke [person.silke] is not at home, the Awtrix3 Custom App [script.awtrix3customapp] is executed for the 'silke' app, displaying the current state of silke (e.g., 'not_home') as text with a specific icon."
},
"human_like": "Shows Silke's location status on a clock display when holiday mode is off.",
"complexity": "low"
}
},
{
"id": "af0110f3-a36b-4434-8fde-b867c9d68de1",
"result": {
"structured": "TRIGGER: When silke person [person.silke] OR miguel person [person.miguel] changes state. CONDITIONS: holiday mode input boolean [input_boolean.holiday_mode] is off AND the triggering entity matches the person entity selected in maja person sync input select [input_select.maja_person_sync]. ACTIONS: If the selected person (from maja person sync input select [input_select.maja_person_sync]) is home, turn on maja home input boolean [input_boolean.maja_home]; otherwise, turn it off. Then, update the location of device tracker 'maja_dummy_tracker' to match the location and GPS coordinates of the selected person.",
"natural_language": {
"trigger": "Whenever the state of either silke person [person.silke] or miguel person [person.miguel] changes.",
"conditions": "Holiday mode must be disabled, meaning holiday mode input boolean [input_boolean.holiday_mode] is off. Additionally, the person whose state changed must be the one currently selected in the maja person sync input select [input_select.maja_person_sync].",
"action": "First, check if the person selected for sync is currently at home. If they are, the automation turns on the maja home input boolean [input_boolean.maja_home]; if not, it turns it off. Then, it updates a dummy device tracker named 'maja_dummy_tracker' to mirror the selected person's location, including their GPS coordinates and accuracy."
},
"human_like": "Syncs the home status and location of a selected person to a dummy tracker and a home status indicator, but only when holiday mode is off.",
"complexity": "medium"
}
},
{
"id": "4ee75af6-8365-4e9f-85a8-4e71b2c9c67a",
"result": {
"structured": "TRIGGER: When the sun rises, 30 minutes before the actual sunrise event. CONDITIONS: None. ACTIONS: Execute Sunrise Script [script.sunrise_script].",
"natural_language": {
"trigger": "The automation is triggered 30 minutes before the sun rises.",
"conditions": "There are no conditions that must be met.",
"action": "It runs the Sunrise Script [script.sunrise_script]."
},
"human_like": "Runs a sunrise routine 30 minutes before dawn.",
"complexity": "low"
}
},
{
"id": "a383092c-b90f-4357-8ca7-931e2b0e58a9",
"result": {
"structured": "TRIGGER: When the sun sets, 45 minutes before the actual sunset event. CONDITIONS: None. ACTIONS: Execute Sunset Script [script.sunset_script].",
"natural_language": {
"trigger": "The automation is triggered 45 minutes before the sun sets.",
"conditions": "There are no conditions that need to be met.",
"action": "Runs the Sunset Script [script.sunset_script]."
},
"human_like": "Runs a script 45 minutes before sunset.",
"complexity": "low"
}
},
{
"id": "6f228bce-1c81-4807-9c66-59ce30b2a5f9",
"result": {
"structured": "TRIGGER: When pixel 9 pro next alarm sensor [sensor.pixel_9_pro_next_alarm] changes state OR When silke phone next alarm sensor [sensor.silke_handy_next_alarm] changes state. CONDITIONS: None. ACTIONS: Set the datetime for family alarm input datetime [input_datetime.wecker_family] to the later of the two alarm times: the timestamp from pixel 9 pro next alarm sensor [sensor.pixel_9_pro_next_alarm] or the timestamp from silke phone next alarm sensor [sensor.silke_handy_next_alarm].",
"natural_language": {
"trigger": "Whenever the next alarm time changes on either the pixel 9 pro next alarm sensor [sensor.pixel_9_pro_next_alarm] or the silke phone next alarm sensor [sensor.silke_handy_next_alarm].",
"conditions": "There are no additional conditions that must be met.",
"action": "Updates the family alarm input datetime [input_datetime.wecker_family] to show the later of the two alarm times from the two phone sensors."
},
"human_like": "Synchronizes the family alarm to the latest scheduled alarm from either phone.",
"complexity": "medium"
}
},
{
"id": "d51b6739-a9df-405d-9a8a-903c8082c0eb",
"result": {
"structured": "TRIGGER: When pixel 9 pro next alarm sensor [sensor.pixel_9_pro_next_alarm] changes state OR When silke phone next alarm sensor [sensor.silke_handy_next_alarm] changes state. CONDITIONS: None. ACTIONS: If the trigger was pixel 9 pro next alarm sensor [sensor.pixel_9_pro_next_alarm], then set miguel alarm input datetime [input_datetime.miguel_wecker] to the timestamp derived from the 'Time in Milliseconds' attribute of pixel 9 pro next alarm sensor [sensor.pixel_9_pro_next_alarm]. Otherwise, set silke alarm input datetime [input_datetime.silke_wecker] to the timestamp derived from the 'Time in Milliseconds' attribute of silke phone next alarm sensor [sensor.silke_handy_next_alarm].",
"natural_language": {
"trigger": "When the next alarm time on either Miguel's phone (pixel 9 pro next alarm sensor [sensor.pixel_9_pro_next_alarm]) or Silke's phone (silke phone next alarm sensor [sensor.silke_handy_next_alarm]) changes.",
"conditions": "There are no conditions that must be met.",
"action": "If the change came from Miguel's phone, the automation updates Miguel's alarm input datetime [input_datetime.miguel_wecker] using the timestamp from his phone's alarm sensor. If the change came from Silke's phone, it updates Silke's alarm input datetime [input_datetime.silke_wecker] using the timestamp from her phone's alarm sensor."
},
"human_like": "Syncs the next alarm time from either Miguel's or Silke's phone to their respective alarm input entities in Home Assistant.",
"complexity": "medium"
}
},
{
"id": "5b023ec5-2f0a-489d-8f00-efbba8af1a2b",
"result": {
"structured": "TRIGGER: When electricity price sensor [sensor.epex_spot_data_net_price] changes state. CONDITIONS: None. ACTIONS: Set electricity price input number [input_number.strompreis] to the value of electricity price sensor [sensor.epex_spot_data_net_price] converted from a float, multiplied by 100, rounded up to the nearest integer, and divided by 100.",
"natural_language": {
"trigger": "Whenever the electricity price sensor [sensor.epex_spot_data_net_price] updates with a new value.",
"conditions": "There are no conditions; the action runs every time the trigger fires.",
"action": "Updates the electricity price input number [input_number.strompreis] with the current price from the sensor. The price is calculated by taking the sensor value, multiplying it by 100, rounding the result up to the nearest whole number, and then dividing by 100 to get a price with two decimal places."
},
"human_like": "Keeps the displayed electricity price in sync with the live market price, rounding the value up to two decimal places.",
"complexity": "low"
}
},
{
"id": "afa5aa6b-7cf4-43bb-bb47-d37601433dea",
"result": {
"structured": "TRIGGER: When the time reaches the value set in input_datetime.chores_notif_time. CONDITIONS: Grocy Tasks [sensor.grocy_tasks] state is NOT '0'. ACTIONS: Set variable 'filtered_tasks' to a list of tasks from Grocy Tasks [sensor.grocy_tasks] with a defined due date that falls within the next 10 days, sorted by category name. Then, call the Notify Engine [script.notify_engine] service with a title and a message. The message lists the filtered tasks grouped by category, including their name, description, assigned user, and due date, or states that no tasks are due in the next 10 days.",
"natural_language": {
"trigger": "The automation runs at a specific time of day, which is configured in the entity input_datetime.chores_notif_time.",
"conditions": "The automation only proceeds if the Grocy Tasks [sensor.grocy_tasks] sensor shows a number of tasks that is not zero.",
"action": "First, it filters the list of tasks from the Grocy Tasks [sensor.grocy_tasks] sensor to only include those with a due date within the next 10 days, sorting them by their category. Then, it sends a notification via the Notify Engine [script.notify_engine]. The notification has a title about upcoming tasks and a detailed message. This message either lists the filtered tasks, showing their category, name, description, assigned person, and due date, or it states that there are no tasks due in the next 10 days."
},
"human_like": "Sends a daily notification about any household tasks that are due in the next 10 days, but only if there are tasks to report.",
"complexity": "medium"
}
},
{
"id": "4439da33-a3b6-4566-981d-fcfa49f6786b",
"result": {
"structured": "TRIGGER: When Wohnungstemperatur [sensor.wohnungstemperatur] changes state. CONDITIONS: None. ACTIONS: Execute script Awtrix3 Custom App [script.awtrix3customapp] with parameters: app_id 'temperature', text containing the state and unit of measurement of Wohnungstemperatur [sensor.wohnungstemperatur], and icon '4481'.",
"natural_language": {
"trigger": "Whenever the Wohnungstemperatur [sensor.wohnungstemperatur] sensor updates its value.",
"conditions": "There are no conditions that must be met.",
"action": "Runs the Awtrix3 Custom App [script.awtrix3customapp] script to display the current temperature value and its unit of measurement on a clock display, using a specific icon."
},
"human_like": "Displays the current apartment temperature on a connected clock whenever the temperature reading changes.",
"complexity": "low"
}
},
{
"id": "a4d5f9d0-3232-443c-95e8-18ff404959c6",
"result": {
"structured": "TRIGGER: When the event flightradar24_tracked_took_off occurs. CONDITIONS: None. ACTIONS: Execute script Notify Engine [script.notify_engine] with parameters: title='Flight', value1='Flight takes off {{ trigger.event.data.callsign }} to {{ trigger.event.data.airport_destination_city }} [Open FlightRadar](https://www.flightradar24.com/{{ trigger.event.data.callsign }})', who='home', tag_id='information', group='Flights'. Then, execute script Notify Engine [script.notify_engine] with parameters: title='Flight', value1='Flight takes off {{ trigger.event.data.callsign }} to {{ trigger.event.data.airport_destination_city }} [Open FlightRadar](https://www.flightradar24.com/{{ trigger.event.data.callsign }})', who='family', tag_id='information', group='Flights'.",
"natural_language": {
"trigger": "When a tracked flight takes off, as indicated by the 'flightradar24_tracked_took_off' event.",
"conditions": "There are no conditions that must be met.",
"action": "Sends two notifications via the Notify Engine [script.notify_engine]. The first notification is sent to the 'home' recipient, and the second is sent to the 'family' recipient. Both notifications contain a message stating that a specific flight (identified by its callsign) has taken off for its destination city, and includes a link to view the flight on FlightRadar24."
},
"human_like": "Sends notifications to the home and family when a tracked flight takes off, providing flight details and a link to track it.",
"complexity": "low"
}
},
{
"id": "9b87a72c-877b-44c2-8181-73437d50869d",
"result": {
"structured": "TRIGGER: When a flightradar24_tracked_landed event occurs. CONDITIONS: None. ACTIONS: Set variable 'title' to 'Flight'. Set variable 'message' to 'Flight landed {callsign} to {airport_destination_city} [Open FlightRadar](https://www.flightradar24.com/{callsign})' using event data. Call Notify Engine [script.notify_engine] with data: title from variable, value1 from variable, who: home, family, tag_id: information, group: Flights. Set the value of Flightradar24 Remove From Track [text.flightradar24_remove_from_track] to the aircraft_registration from the event data.",
"natural_language": {
"trigger": "When a flight tracked by Flightradar24 lands, triggering a 'flightradar24_tracked_landed' event.",
"conditions": "There are no conditions that must be met for this automation to run.",
"action": "It creates a notification message containing the flight's callsign and destination city, along with a link to view it on Flightradar24. It then sends this message via the Notify Engine [script.notify_engine] to the home and family groups. Finally, it updates the Flightradar24 Remove From Track [text.flightradar24_remove_from_track] field with the aircraft's registration number from the event."
},
"human_like": "Sends a notification and updates a tracking field when a monitored flight lands.",
"complexity": "low"
}
},
{
"id": "dc32d4be-a49c-4a0e-81e1-2a85f6ed6758",
"result": {
"structured": "TRIGGER: When contact sensors group [group.contact_sensors] changes state to 'on'. CONDITIONS: alarmo alarm control panel [alarm_control_panel.alarmo] is in state armed_away OR armed_home OR armed_vacation. ACTIONS: Trigger the alarm on alarmo alarm control panel [alarm_control_panel.alarmo] AND execute the notification script Notify Engine [script.notify_engine] with a custom message indicating which sensor was opened.",
"natural_language": {
"trigger": "When any of the contact sensors in the group changes its state to 'on', indicating a door or window has been opened.",
"conditions": "The alarm system, alarmo alarm control panel [alarm_control_panel.alarmo], must be armed in one of the following modes: away, home, or vacation.",
"action": "Immediately triggers the alarm on the alarm system and sends a notification via the Notify Engine [script.notify_engine] script, stating which specific contact sensor was opened."
},
"human_like": "Triggers the alarm and sends a notification if a door or window is opened while the alarm system is armed.",
"complexity": "low"
}
},
{
"id": "1838588e-2696-4082-8f5b-ef025daf94c4",
"result": {
"structured": "TRIGGER: When front door lock [lock.hausture] changes from locked to unlocked. CONDITIONS: alarmo alarm control panel [alarm_control_panel.alarmo] is armed_away OR armed_home OR armed_vacation. ACTIONS: Trigger the alarm on alarmo alarm control panel [alarm_control_panel.alarmo] AND send a notification via Notify Engine [script.notify_engine] with a title '🚪 Türe 🚪' and a message containing the friendly name of the triggering entity.",
"natural_language": {
"trigger": "When the front door lock [lock.hausture] is unlocked.",
"conditions": "If the alarm system, alarmo alarm control panel [alarm_control_panel.alarmo], is armed in any mode: away, home, or vacation.",
"action": "Immediately triggers the alarm on the alarmo alarm control panel [alarm_control_panel.alarmo] and sends a notification to the home group via the Notify Engine [script.notify_engine] with a message stating which door was opened."
},
"human_like": "Triggers the alarm and sends a notification when the front door is unlocked while the alarm system is armed.",
"complexity": "low"
}
},
{
"id": "b06e36c7-31a2-429d-88e5-70fdcf2d72c7",
"result": {
"structured": "TRIGGER: When residents group [group.residents] changes state to home. CONDITIONS: alarmo alarm control panel [alarm_control_panel.alarmo] is armed_away. ACTIONS: Disarm alarmo alarm control panel [alarm_control_panel.alarmo] using the secret alarm code.",
"natural_language": {
"trigger": "When the residents group [group.residents] changes its state to 'home'.",
"conditions": "The alarm system, alarmo alarm control panel [alarm_control_panel.alarmo], must be in the 'armed_away' state.",
"action": "Disarms the alarm system, alarmo alarm control panel [alarm_control_panel.alarmo], using a predefined secret code."
},
"human_like": "Automatically disarms the house alarm when residents arrive home.",
"complexity": "low"
}
},
{
"id": "6b1b4b5e-8da3-48a1-904f-a20728b3c67c",
"result": {
"structured": "TRIGGER: When the time is 23:55:00. CONDITIONS: None. ACTIONS: Execute Update Docs Script [script.update_docs_script] AND execute shell_command.update_docs.",
"natural_language": {
"trigger": "Every day at 11:55 PM.",
"conditions": "There are no conditions that must be met.",
"action": "Runs the Update Docs Script [script.update_docs_script] and then executes the shell command 'update_docs'."
},
"human_like": "Automatically updates the documentation every night just before midnight.",
"complexity": "low"
}
},
{
"id": "11defef9-9e5c-41ff-8657-d5a79f384861",
"result": {
"structured": "TRIGGER: When update available binary sensor [binary_sensor.home_assistant_versions_update_available] changes from off to on. CONDITIONS: None. ACTIONS: Execute Notify Engine [script.notify_engine] with data: title 'Update available', value1 containing the friendly name of the update sensor, recipient 'miguel', tag 'information', and group 'System'.",
"natural_language": {
"trigger": "When the update available binary sensor [binary_sensor.home_assistant_versions_update_available] changes from off to on, indicating an update has become available.",
"conditions": "There are no conditions that must be met for this automation to run.",
"action": "Sends a notification using the Notify Engine [script.notify_engine] with the title 'Update available', a message containing the sensor's friendly name, addressed to 'miguel', tagged as 'information', and grouped under 'System'."
},
"human_like": "Sends a notification to Miguel when a Home Assistant update becomes available.",
"complexity": "low"
}
},
{
"id": "d671c363-5a0c-4f56-b8ff-857234b23b61",
"result": {
"structured": "TRIGGER: When alarmo alarm control panel [alarm_control_panel.alarmo] changes state. CONDITIONS: None. ACTIONS: If alarmo alarm control panel [alarm_control_panel.alarmo] is armed_vacation, then turn on holiday mode input boolean [input_boolean.holiday_mode]. If alarmo alarm control panel [alarm_control_panel.alarmo] is disarmed AND holiday mode input boolean [input_boolean.holiday_mode] is on, then turn off holiday mode input boolean [input_boolean.holiday_mode].",
"natural_language": {
"trigger": "Whenever the state of the alarmo alarm control panel [alarm_control_panel.alarmo] changes.",
"conditions": "There are no conditions that must be met for the automation to run.",
"action": "The automation checks the new state of the alarm. If the alarm is set to armed_vacation, it turns on the holiday mode input boolean [input_boolean.holiday_mode]. If the alarm is disarmed and the holiday mode input boolean [input_boolean.holiday_mode] is currently on, it turns the holiday mode off."
},
"human_like": "Automatically turns holiday mode on or off based on the state of the home alarm system.",
"complexity": "medium"
}
},
{
"id": "4904b3cf-2099-4f13-8565-43719f3e74b6",
"result": {
"structured": "TRIGGER: When maja home input boolean [input_boolean.maja_home] changes state. CONDITIONS: automatic cleaning input boolean [input_boolean.automatic_cleaning] is on. ACTIONS: Execute script Cleaning Without Dog [script.cleaning_without_dog].",
"natural_language": {
"trigger": "Whenever the state of the maja home input boolean [input_boolean.maja_home] changes.",
"conditions": "The automatic cleaning input boolean [input_boolean.automatic_cleaning] must be switched on.",
"action": "Runs the 'Cleaning Without Dog' script [script.cleaning_without_dog]."
},
"human_like": "Starts the vacuum cleaner automatically when the dog is not home and automatic cleaning is enabled.",
"complexity": "low"
}
},
{
"id": "b2bad212-5d9a-40d5-b64b-94aacdaabb6d",
"result": {
"structured": "TRIGGER: When vacuum roomba [vacuum.roomba] changes state from cleaning to docked. CONDITIONS: None. ACTIONS: Execute Grocy chore with ID '2' by user '1'.",
"natural_language": {
"trigger": "When the vacuum roomba [vacuum.roomba] finishes its cleaning cycle and returns to its dock.",
"conditions": "There are no conditions that must be met.",
"action": "Logs the completed cleaning task in the Grocy system by executing a predefined chore (ID '2') for a specific user (ID '1')."
},
"human_like": "Logs a completed cleaning task in the household management system when the robot vacuum finishes and docks.",
"complexity": "low"
}
},
{
"id": "85d51d88-d162-4a4b-b1ee-d09e818afb98",
"result": {
"structured": "TRIGGER: When washing machine socket power sensor [sensor.waschmaschinen_steckdose_power] remains below 1.0 for 1 minute OR When washing machine operation state sensor [sensor.waschmaschine_operation_state] changes to Finished. CONDITIONS: wash active input boolean [input_boolean.wash_active] is on. ACTIONS: Execute script Notify Engine [script.notify_engine] with a custom notification message containing the calculated energy consumption and cost, then turn off wash active input boolean [input_boolean.wash_active], and execute Grocy chore with ID 1.",
"natural_language": {
"trigger": "The automation triggers when the washing machine's power consumption, measured by the washing machine socket power sensor [sensor.waschmaschinen_steckdose_power], stays below 1.0 watts for one minute, or when the washing machine operation state sensor [sensor.waschmaschine_operation_state] reports the state 'Finished'.",
"conditions": "The automation only runs if the wash active input boolean [input_boolean.wash_active] is switched on, indicating a wash cycle is currently active.",
"action": "It sends a notification via the Notify Engine [script.notify_engine] with a title and a message detailing the washing machine's completion, the energy consumption for the cycle, and the estimated cost. It then turns off the wash active input boolean [input_boolean.wash_active] and marks the laundry chore as completed in the Grocy system."
},
"human_like": "Sends a notification with energy cost details when the washing machine finishes its cycle, and marks the laundry chore as done.",
"complexity": "medium"
}
},
{
"id": "129efe4c-3890-4012-867f-6317c8e5021d",
"result": {
"structured": "TRIGGER: When washing machine operation state sensor [sensor.waschmaschine_operation_state] changes to 'Run' OR when washing machine socket power sensor [sensor.waschmaschinen_steckdose_power] is above 15 watts for 1 minute. CONDITIONS: wash active input boolean [input_boolean.wash_active] is off. ACTIONS: Turn on wash active input boolean [input_boolean.wash_active] AND set wash cycle consumption input number [input_number.wash_cycle_consumption] to the current value of washing machine socket energy sensor [sensor.waschmaschinen_steckdose_energy].",
"natural_language": {
"trigger": "The automation triggers either when the washing machine operation state sensor [sensor.waschmaschine_operation_state] reports the state 'Run', or when the washing machine socket power sensor [sensor.waschmaschinen_steckdose_power] stays above 15 watts for at least one minute.",
"conditions": "The automation only runs if the helper switch, wash active input boolean [input_boolean.wash_active], is currently off.",
"action": "It turns on the wash active input boolean [input_boolean.wash_active] to indicate a wash is active, and it records the starting energy consumption by setting the wash cycle consumption input number [input_number.wash_cycle_consumption] to the current value from the washing machine socket energy sensor [sensor.waschmaschinen_steckdose_energy]."
},
"human_like": "This automation marks the washing machine as active and records the starting energy consumption when the machine starts running or draws significant power.",
"complexity": "medium"
}
},
{
"id": "33ea773e-67d2-4f5c-97ba-778d098b0ade",
"result": {
"structured": "TRIGGER: When next collection dates sensor [sensor.nachste_abfuhrtermine] changes state. CONDITIONS: None. ACTIONS: If the daysTo attribute of the triggering state is less than or equal to 1, then run Awtrix3 Custom App [script.awtrix3customapp] with the app_id 'waste', the icon '57283', and the text set to the new state value. Otherwise, run Awtrix3 Del App [script.awtrix3delapp] with the app_id 'waste'.",
"natural_language": {
"trigger": "Whenever the next collection dates sensor [sensor.nachste_abfuhrtermine] updates its state.",
"conditions": "There are no conditions that must be met.",
"action": "If the number of days until the next collection (the 'daysTo' attribute) is 1 or less, it will display the collection information on a clock by running the Awtrix3 Custom App [script.awtrix3customapp] with a specific icon and text. If the collection is more than one day away, it will remove that information from the clock by running the Awtrix3 Del App [script.awtrix3delapp]."
},
"human_like": "Shows upcoming waste collection information on a smart clock only when the collection is due within the next day.",
"complexity": "medium"
}
},
{
"id": "794c14fa-fac7-4d5c-85a0-b6551ad75507",
"result": {
"structured": "TRIGGER: When the time reaches the value set in input_datetime.watering_time. CONDITIONS: Weekday [sensor.weekday] is Sunday AND holiday mode input boolean [input_boolean.holiday_mode] is off. ACTIONS: Execute script Notify Engine [script.notify_engine] with a title and message about watering indoor plants.",
"natural_language": {
"trigger": "The automation runs at a specific time of day, which is set by the input_datetime.watering_time entity.",
"conditions": "It only runs if the current day is Sunday, and if the holiday mode input boolean [input_boolean.holiday_mode] is turned off.",
"action": "It sends a notification using the Notify Engine [script.notify_engine] script, with a title and message reminding that the indoor plants need to be watered today."
},
"human_like": "Sends a reminder to water the indoor plants every Sunday at a set time, unless holiday mode is active.",
"complexity": "low"
}
},
{
"id": "b900d37b-f0b2-4155-8251-bc7acbb7f1d4",
"result": {
"structured": "TRIGGER: When bath warm water sensor [sensor.wasser_warm_bad] changes state. CONDITIONS: None. ACTIONS: Execute Grocy chore with ID '8' by user ID '2'.",
"natural_language": {
"trigger": "Whenever the bath warm water sensor [sensor.wasser_warm_bad] reports a new state.",
"conditions": "There are no conditions that need to be met.",
"action": "Marks a specific chore as completed in the Grocy system by executing chore with ID '8' and attributing it to user ID '2'."
},
"human_like": "Tracks the use of warm water in the bath by automatically logging a chore completion in Grocy.",
"complexity": "low"
}
},
{
"id": "1a599a28-f737-4dcc-996a-38a7a6c647f4",
"result": {
"structured": "TRIGGER: When toilet warm water sensor [sensor.wasser_klo_warm] changes state. CONDITIONS: None. ACTIONS: Execute Grocy chore with ID '9' assigned to user ID '2'.",
"natural_language": {
"trigger": "Whenever the toilet warm water sensor [sensor.wasser_klo_warm] reports a new state.",
"conditions": "There are no conditions that must be met.",
"action": "It executes a specific chore (ID 9) in the Grocy system, marking it as done by user ID 2."
},
"human_like": "Logs a chore completion in Grocy whenever the toilet's warm water sensor detects activity.",
"complexity": "low"
}
},
{
"id": "1458fb06-3f77-4669-8e72-0a7ec224be45",
"result": {
"structured": "TRIGGER: At the time specified by input_datetime.watering_time. CONDITIONS: (NOT (Weather Home [weather.home] is rainy OR (within the first day of the weather forecast, any forecast condition is 'rainy'))) AND (rained last day sensor [sensor.rained_last_day] is below 1) AND (holiday mode input boolean [input_boolean.holiday_mode] is off) AND (Season [sensor.season] is spring OR Season [sensor.season] is summer). ACTIONS: Run script Notify Engine [script.notify_engine] with a title and message about watering plants.",
"natural_language": {
"trigger": "The automation runs at a specific time of day, which is set by the input_datetime.watering_time entity.",
"conditions": "Several conditions must be met: First, it must not be currently raining, and rain must not be forecast for the next day. Second, the sensor tracking rain from the last day must report less than 1 unit. Third, the holiday mode must be turned off. Finally, the current season must be either spring or summer.",
"action": "If all conditions are satisfied, a notification script is triggered. This script sends a message to the home group with a title and text indicating that the outdoor plants need to be watered today."
},
"human_like": "Sends a reminder to water the outdoor plants at a scheduled time, but only if it's not raining, hasn't rained recently, it's not holiday mode, and it's spring or summer.",
"complexity": "medium"
}
},
{
"id": "088d95b7-fe66-4f6f-b451-36f57089a574",
"result": {
"structured": "TRIGGER: When shower sensor water leak binary sensor [binary_sensor.duschsensor_water_leak] changes state. CONDITIONS: shower sensor water leak binary sensor [binary_sensor.duschsensor_water_leak] is on OR shower sensor water leak binary sensor [binary_sensor.duschsensor_water_leak] is off. ACTIONS: If shower sensor water leak binary sensor [binary_sensor.duschsensor_water_leak] is on, then turn on shower active input boolean [input_boolean.shower_active]; otherwise, turn off shower active input boolean [input_boolean.shower_active].",
"natural_language": {
"trigger": "Whenever the shower sensor water leak binary sensor [binary_sensor.duschsensor_water_leak] changes its state.",
"conditions": "The automation runs only if the shower sensor water leak binary sensor [binary_sensor.duschsensor_water_leak] is either on or off.",
"action": "If the shower sensor water leak binary sensor [binary_sensor.duschsensor_water_leak] is detected as on, the automation turns on the shower active input boolean [input_boolean.shower_active]. If the sensor is off, it turns off the shower active input boolean [input_boolean.shower_active]."
},
"human_like": "Tracks shower activity by turning a status indicator on when water is detected and off when it stops.",
"complexity": "low"
}
},
{
"id": "54e10e2c-91a5-43cd-a7d2-d0087effef06",
"result": {
"structured": "TRIGGER: When Weather Home [weather.home] changes state. CONDITIONS: None. ACTIONS: Send a notification to tvoverlaynotifyfixed with data: id fixed_weather, icon determined by the current state of Weather Home [weather.home] (e.g., sunny → mdi:weather-sunny, clear-night → mdi:weather-night, etc.), expiration 12h, shape circle, and message containing the rounded temperature attribute from Weather Home [weather.home].",
"natural_language": {
"trigger": "Whenever the weather conditions reported by Weather Home [weather.home] change.",
"conditions": "There are no conditions that must be met.",
"action": "Sends a fixed overlay notification to the TV. The notification displays the current temperature (rounded to the nearest degree) and an icon that matches the current weather condition (like a sun for sunny, a cloud for cloudy, etc.). This notification will stay visible for up to 12 hours and is displayed in a circle shape."
},
"human_like": "Shows the current temperature and weather icon on the TV whenever the weather changes.",
"complexity": "low"
}
},
{
"id": "665e5eb0-932c-4a69-8dc6-99875649df6c",
"result": {
"structured": "TRIGGER: When Weather Home [weather.home] changes state. CONDITIONS: None. ACTIONS: Generate an image via OpenAI Conversation using a prompt describing the weather condition from Weather Home [weather.home], the time from Date Time ISO [sensor.date_time_iso], the moon phase from Moon [sensor.moon], the sun state from Sun [sun.sun], and the season from Season [sensor.season]. Then, send a manual event 'new_weather_image' with the generated image URL.",
"natural_language": {
"trigger": "Whenever the weather entity Weather Home [weather.home] updates its state.",
"conditions": "There are no conditions for this automation.",
"action": "First, it uses OpenAI to generate an image based on a detailed prompt. The prompt describes the current weather condition, the current date and time, the moon phase, the sun's state, and the season. After the image is generated, it sends out an event named 'new_weather_image' containing the URL of the newly created image."
},
"human_like": "Creates an AI-generated image depicting the current weather, time, moon, sun, and season whenever the weather updates.",
"complexity": "medium"
}
},
{
"id": "c2e4550d-1016-4ff5-bff6-9d73d092a773",
"result": {
"structured": "TRIGGER: When the state of Weather Home [weather.home] changes. CONDITIONS: None. ACTIONS: Generate an image via OpenAI Conversation using a prompt that includes the friendly name of Weather Home [weather.home], the current weather state, the state of Sun [sun.sun] (with underscores replaced by spaces), the temperature and temperature unit from Weather Home [weather.home], and a description of a dog presenter. Then, download the generated image from the URL stored in the 'picture' response variable to a local file named 'weather_home.png' in the 'weather' subdirectory, overwriting any existing file.",
"natural_language": {
"trigger": "Whenever the state of the weather entity Weather Home [weather.home] changes.",
"conditions": "There are no conditions; the automation runs every time the trigger occurs.",
"action": "First, it uses an AI service to generate a realistic image. The prompt describes a scene in the town associated with the weather entity, featuring a dog dressed for the weather who is a TV presenter giving a live report. The prompt dynamically includes the current weather condition, the state of the sun, and the temperature. The generated image is then automatically downloaded and saved as 'weather_home.png' in a 'weather' folder on the system."
},
"human_like": "Creates and saves a custom AI-generated image of a weather report whenever the home weather data updates.",
"complexity": "medium"
}
},
{
"id": "434eeb1e-ac51-4b60-a424-736b54d44c9b",
"result": {
"structured": "TRIGGER: When Anniversary Special Hochzeitstag [sensor.anniversary_special_hochzeitstag] changes state. CONDITIONS: (Anniversary Special Hochzeitstag [sensor.anniversary_special_hochzeitstag] equals 0) OR (Anniversary Special Hochzeitstag [sensor.anniversary_special_hochzeitstag] is greater than or equal to 363). ACTIONS: If Anniversary Special Hochzeitstag [sensor.anniversary_special_hochzeitstag] equals 0, then turn on heart switch [switch.herz]; otherwise, turn off heart switch [switch.herz].",
"natural_language": {
"trigger": "Whenever the Anniversary Special Hochzeitstag [sensor.anniversary_special_hochzeitstag] sensor updates its value.",
"conditions": "The automation checks if the sensor value is exactly 0, or if it is 363 or more.",
"action": "If the sensor value is 0, the heart switch [switch.herz] is turned on. In all other cases where the condition is met (i.e., the value is 363 or more), the heart switch [switch.herz] is turned off."
},
"human_like": "Turns on a decorative heart light on the wedding day (day 0) and turns it off on all other days, especially after a year has passed.",
"complexity": "medium"
}
},
{
"id": "db7c5885-b42d-4db0-a1ff-3fce6572cac7",
"result": {
"structured": "TRIGGER: When work laptop device tracker [device_tracker.bcwmc5cg4100cy0] changes state to not_home. CONDITIONS: None. ACTIONS: Turn off all lights in the area 'buro'.",
"natural_language": {
"trigger": "When the work laptop device tracker [device_tracker.bcwmc5cg4100cy0] reports that the laptop is no longer at home.",
"conditions": "There are no conditions that must be met.",
"action": "Turns off all the lights in the 'buro' area."
},
"human_like": "Turns off the office lights when the work laptop leaves home.",
"complexity": "low"
}
},
{
"id": "bece8ed6-e1d0-44d9-a167-85413735c362",
"result": {
"structured": "TRIGGER: When work laptop device tracker [device_tracker.bcwmc5cg4100cy0] changes state to home. CONDITIONS: status light input boolean [input_boolean.status_light] is on. ACTIONS: Create a scene named Pre Work [scene.pre_work] from the current state of desk light [light.schreibtischlicht]. Turn on desk light [light.schreibtischlicht] with color darkgreen. Turn on desk light [light.schreibtischlicht] with effect blink. Activate the Pre Work [scene.pre_work] scene.",
"natural_language": {
"trigger": "When the work laptop device tracker [device_tracker.bcwmc5cg4100cy0] reports that the device has arrived home.",
"conditions": "The status light input boolean [input_boolean.status_light] must be switched on.",
"action": "First, a snapshot of the current state of the desk light [light.schreibtischlicht] is saved into a new scene called Pre Work [scene.pre_work]. Then, the desk light is turned on with a dark green color and set to a blinking effect. Finally, the newly created Pre Work scene is activated."
},
"human_like": "When the work laptop connects to the home network, it sets the desk light to a blinking green light to signal the start of the workday, but only if the status light feature is enabled.",
"complexity": "low"
}
}
]