1289 lines
152 KiB
JSON
1289 lines
152 KiB
JSON
[
|
|
{
|
|
"id": "airco_kinderen_start_on_timer_start",
|
|
"result": {
|
|
"structured": "TRIGGER: When airco mini sleeptimer [timer.airco_mini_sleeptimer] starts OR When airco puber sleeptimer [timer.airco_puber_sleeptimer] starts. CONDITIONS: None. ACTIONS: Set the HVAC mode of the target air conditioner (determined by the trigger) to heat if the temperature from the associated sensor (determined by the trigger) is below 21°C, otherwise set it to cool.",
|
|
"natural_language": {
|
|
"trigger": "When the airco mini sleeptimer [timer.airco_mini_sleeptimer] starts, or when the airco puber sleeptimer [timer.airco_puber_sleeptimer] starts.",
|
|
"conditions": "There are no specific conditions that must be met for the action to run.",
|
|
"action": "Turns on the air conditioner associated with the timer that started. It sets the airco slaapkamer t [climate.airco_slaapkamer_t] to heat mode if the temperature from xiaomi temperature humidity sensor 3 temperature [sensor.xiaomi_temperature_humidity_sensor_3_temperature] is below 21°C, otherwise it sets it to cool mode. Similarly, if the other timer starts, it sets the airco slaapkamer m [climate.airco_slaapkamer_m] to heat or cool based on the temperature from xiaomi temperature humidity sensor 4 temperature [sensor.xiaomi_temperature_humidity_sensor_4_temperature]."
|
|
},
|
|
"human_like": "Starts the children's air conditioners in heating or cooling mode when their respective sleep timers begin, depending on the current room temperature.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "airco_sleeptimer_kinderen",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer airco mini sleeptimer [timer.airco_mini_sleeptimer] finishes OR When timer airco puber sleeptimer [timer.airco_puber_sleeptimer] finishes. CONDITIONS: None. ACTIONS: Set the HVAC mode of the climate entity associated with the finished timer to off. (If the trigger was timer.airco_mini_sleeptimer, the target is airco slaapkamer t [climate.airco_slaapkamer_t]. If the trigger was timer.airco_puber_sleeptimer, the target is airco slaapkamer m [climate.airco_slaapkamer_m]).",
|
|
"natural_language": {
|
|
"trigger": "When the airco mini sleeptimer [timer.airco_mini_sleeptimer] finishes its countdown, or when the airco puber sleeptimer [timer.airco_puber_sleeptimer] finishes its countdown.",
|
|
"conditions": "There are no conditions that need to be met for this automation to run.",
|
|
"action": "Turns off the specific air conditioner associated with the timer that just finished. If the mini timer finished, it turns off airco slaapkamer t [climate.airco_slaapkamer_t]. If the puber timer finished, it turns off airco slaapkamer m [climate.airco_slaapkamer_m]."
|
|
},
|
|
"human_like": "Turns off the children's air conditioners when their respective sleep timers expire.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "airco_automatisch_uit",
|
|
"result": {
|
|
"structured": "TRIGGER: When time is 23:00:00 (with variable target set to 'airco_children') OR When time matches the value of input datetime time turn off airco [input_datetime.time_turn_off_airco] (with variable target set to climate.airco_woonkamer). CONDITIONS: None. ACTIONS: If target equals 'airco_children', then if airco mini sleeptimer [timer.airco_mini_sleeptimer] is not active, turn off airco slaapkamer t [climate.airco_slaapkamer_t]; AND if airco puber sleeptimer [timer.airco_puber_sleeptimer] is not active, turn off airco slaapkamer m [climate.airco_slaapkamer_m]. If target equals climate.airco_woonkamer, then turn off airco woonkamer [climate.airco_woonkamer].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at 23:00:00, which is set to target the children's air conditioners, or at a custom time defined by the input datetime time turn off airco [input_datetime.time_turn_off_airco], which is set to target the living room air conditioner.",
|
|
"conditions": "There are no explicit conditions for this automation.",
|
|
"action": "Depending on which trigger fired, the automation performs different actions. If the target is the children's air conditioners, it checks the status of two sleep timers. If the airco mini sleeptimer [timer.airco_mini_sleeptimer] is not active, it turns off the airco slaapkamer t [climate.airco_slaapkamer_t]. Similarly, if the airco puber sleeptimer [timer.airco_puber_sleeptimer] is not active, it turns off the airco slaapkamer m [climate.airco_slaapkamer_m]. If the target is the living room air conditioner, it simply turns off the airco woonkamer [climate.airco_woonkamer]."
|
|
},
|
|
"human_like": "Automatically turns off the air conditioners in the evening, either at a fixed bedtime for the children's rooms or at a custom time for the living room, while respecting active sleep timers.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_when_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When zone home [zone.home] is unoccupied (state 0) AND remains unoccupied for 30 minutes. CONDITIONS: None. ACTIONS: 1. Set all Tado climate entities currently in 'heat' mode to 'auto' mode. 2. Turn off (set HVAC mode to 'off') the following air conditioners: airco master bedroom [climate.airco_master_bedroom], airco slaapkamer m [climate.airco_slaapkamer_m], airco slaapkamer t [climate.airco_slaapkamer_t], and airco woonkamer [climate.airco_woonkamer].",
|
|
"natural_language": {
|
|
"trigger": "When the home zone [zone.home] indicates that no one is home (state becomes 0) and remains in that state for 30 consecutive minutes.",
|
|
"conditions": "There are no conditions that must be met after the trigger.",
|
|
"action": "The automation performs two actions. First, it changes the heating mode of any Tado climate device that is currently set to 'heat' to 'auto'. Second, it turns off the specific air conditioners in the master bedroom, two bedrooms, and the living room by setting their HVAC mode to 'off'."
|
|
},
|
|
"human_like": "Turns off the heating and air conditioning when the house has been empty for half an hour to save energy.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "airco_kinderen_limit_setpoint",
|
|
"result": {
|
|
"structured": "TRIGGER: When the temperature attribute of airco slaapkamer m [climate.airco_slaapkamer_m] OR airco slaapkamer t [climate.airco_slaapkamer_t] changes. CONDITIONS: None. ACTIONS: If the current mode of the triggering climate entity is 'cool' OR 'dry' AND its set temperature is less than 20, then set the temperature of the triggering entity to 22. Otherwise, if the current mode is 'heat' AND its set temperature is greater than 21, then set the temperature of the triggering entity to 19.5.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the temperature setting changes on either the airco slaapkamer m [climate.airco_slaapkamer_m] or the airco slaapkamer t [climate.airco_slaapkamer_t].",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "If the air conditioner is in cooling or drying mode and the set temperature is below 20 degrees, it will be adjusted to 22 degrees. If the air conditioner is in heating mode and the set temperature is above 21 degrees, it will be adjusted to 19.5 degrees."
|
|
},
|
|
"human_like": "Automatically adjusts the children's air conditioner to a more energy-efficient temperature if it's set too high for heating or too low for cooling.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "weerhuisje_update_air_quality_sensors",
|
|
"result": {
|
|
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: NOT (weerhuisje particulate matter 2 5 m concentration [sensor.weerhuisje_particulate_matter_2_5_m_concentration] is 'unknown' OR 'unavailable') AND NOT (weerhuisje particulate matter 10 0 m concentration [sensor.weerhuisje_particulate_matter_10_0_m_concentration] is 'unknown' OR 'unavailable') AND NOT (weerhuisje temperature [sensor.weerhuisje_temperature] is 'unknown' OR 'unavailable') AND NOT (weerhuisje humidity [sensor.weerhuisje_humidity] is 'unknown' OR 'unavailable') AND NOT (weerhuisje pressure [sensor.weerhuisje_pressure] is 'unknown' OR 'unavailable'). ACTIONS: Send TPH to Luftdaten / Sensor.Community API via rest_command.send_luftdaten_tph, Send data to OpenSenseMap via rest_command.post_opensensebox, Send updates to Madavi.de for statistics via rest_command.send_madavi, Send PM to Luftdaten / Sensor.Community API via rest_command.send_luftdaten_pm.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every minute.",
|
|
"conditions": "All of the following sensors must have valid readings: the weerhuisje particulate matter 2 5 m concentration [sensor.weerhuisje_particulate_matter_2_5_m_concentration], the weerhuisje particulate matter 10 0 m concentration [sensor.weerhuisje_particulate_matter_10_0_m_concentration], the weerhuisje temperature [sensor.weerhuisje_temperature], the weerhuisje humidity [sensor.weerhuisje_humidity], and the weerhuisje pressure [sensor.weerhuisje_pressure] must not be in an 'unknown' or 'unavailable' state.",
|
|
"action": "It sends the air quality data to multiple external services: it sends temperature, pressure, and humidity data to the Luftdaten/Sensor.Community API, sends data to OpenSenseMap, sends updates to Madavi.de for statistics, and sends particulate matter data to the Luftdaten/Sensor.Community API."
|
|
},
|
|
"human_like": "This automation periodically sends air quality sensor data from the weather station to several online monitoring services, but only when all sensor readings are available.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "awtrix_turn_on_or_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is exactly 20:30:00 OR When the time is exactly 08:00:00. CONDITIONS: None. ACTIONS: Call service homeassistant.turn_off on awtrix 6caff8 matrix [light.awtrix_6caff8_matrix] if trigger id is 'turn_off', OR call service homeassistant.turn_on on awtrix 6caff8 matrix [light.awtrix_6caff8_matrix] if trigger id is 'turn_on'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at two specific times: at 8:00:00 in the morning and at 20:30:00 in the evening.",
|
|
"conditions": "There are no conditions that need to be met for this automation to run.",
|
|
"action": "Depending on which time triggered the automation, it will either turn on or turn off the awtrix 6caff8 matrix [light.awtrix_6caff8_matrix] screen."
|
|
},
|
|
"human_like": "Turns the Awtrix screen off in the evening and back on in the morning on a fixed schedule.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "awtrix_switch_between_clock_and_apps",
|
|
"result": {
|
|
"structured": "TRIGGER: When awtrix 6caff8 button select [binary_sensor.awtrix_6caff8_button_select] is pressed (turns on) OR When bureau kantoor power [sensor.bureau_kantoor_power] rises above 25 OR When bureau kantoor power [sensor.bureau_kantoor_power] falls below 25 AND remains for 5 minutes. CONDITIONS: None. ACTIONS: Choose based on trigger: If trigger is turn_on, publish MQTT settings to enable day mode (WD true, TMODE 1, TIME_COL white, ABRI true, ATRANS true). If trigger is turn_off, publish MQTT command to switch to Time app, then publish MQTT settings for night mode (WD false, TMODE 0, TIME_COL red, BRI 1, ABRI false, ATRANS false). If trigger is toggle, check state of awtrix 6caff8 transition [switch.awtrix_6caff8_transition]: If on, execute turn_off sequence (switch to Time app and night mode); If off, execute turn_on sequence (enable day mode).",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the middle button on the Awtrix device (awtrix 6caff8 button select [binary_sensor.awtrix_6caff8_button_select]) is pressed, when the power consumption of the office desk (bureau kantoor power [sensor.bureau_kantoor_power]) exceeds 25 watts, or when the power consumption drops below 25 watts and stays there for at least five minutes.",
|
|
"conditions": "There are no additional conditions that must be met for the automation to run.",
|
|
"action": "Depending on which trigger activated the automation, it will send different MQTT commands to the Awtrix device. If triggered by high power (monitor on), it sets the Awtrix to a bright, white clock display with transitions enabled (day mode). If triggered by low power for five minutes (monitor off), it switches the Awtrix to the 'Time' app and configures it for a dim, red, static clock (night mode). If triggered by the button press, it toggles between these two modes: if the device is currently in day mode (transition on), it switches to night mode; if it's in night mode, it switches to day mode."
|
|
},
|
|
"human_like": "Automatically switches the Awtrix display between a bright day mode and a dim night mode based on monitor activity or a manual button press.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "awtrix_start_custom_apps_on_reboot",
|
|
"result": {
|
|
"structured": "TRIGGER: When awtrix 6caff8 transition [switch.awtrix_6caff8_transition] turns on from off. CONDITIONS: None. ACTIONS: Trigger automation awtrix send outside temperature to awtrix [automation.awtrix_send_outside_temperature_to_awtrix], wait 5 seconds, trigger automation awtrix solar energy monitor [automation.awtrix_solar_energy_monitor], wait 5 seconds, trigger automation awtrix send today s energy production to awtrix [automation.awtrix_send_today_s_energy_production_to_awtrix], wait 5 seconds, trigger automation awtrix send ev battery level [automation.awtrix_send_ev_battery_level].",
|
|
"natural_language": {
|
|
"trigger": "When the awtrix 6caff8 transition [switch.awtrix_6caff8_transition] switch turns on.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "It triggers a sequence of other automations: first the awtrix send outside temperature to awtrix [automation.awtrix_send_outside_temperature_to_awtrix], then after a 5-second delay, the awtrix solar energy monitor [automation.awtrix_solar_energy_monitor], then after another 5-second delay, the awtrix send today s energy production to awtrix [automation.awtrix_send_today_s_energy_production_to_awtrix], and finally after a final 5-second delay, the awtrix send ev battery level [automation.awtrix_send_ev_battery_level]."
|
|
},
|
|
"human_like": "Starts a sequence of custom apps on the Awtrix display after it reboots, showing temperature, solar energy, and EV battery information.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "awtrix_temperature",
|
|
"result": {
|
|
"structured": "TRIGGER: When knmi temperatuur [sensor.knmi_temperatuur] changes state. CONDITIONS: None. ACTIONS: Publish an MQTT message to topic 'awtrix_6caff8/custom/outside_temp' with a payload containing the current temperature value from knmi temperatuur [sensor.knmi_temperatuur], an icon, a color, and a display duration of 7 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the outside temperature sensor, knmi temperatuur [sensor.knmi_temperatuur], reports a new value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a formatted message to the Awtrix display via MQTT. The message includes the current temperature, a specific icon, a red color, and instructs the display to show it for 7 seconds."
|
|
},
|
|
"human_like": "Sends the current outside temperature to an Awtrix smart display for a brief notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "awtrix_production",
|
|
"result": {
|
|
"structured": "TRIGGER: When today s pv generation [sensor.today_s_pv_generation] changes state. CONDITIONS: None. ACTIONS: Publish an MQTT message to topic 'awtrix_6caff8/custom/production_today' with a payload containing the current state of todays total production preserved [sensor.todays_total_production_preserved] formatted as text, an icon ID, a color, and a display duration.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor for today's PV generation [sensor.today_s_pv_generation] updates its value.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Sends a custom message to the Awtrix device via MQTT. The message includes today's total energy production value from todays total production preserved [sensor.todays_total_production_preserved], displays it with a specific icon and green color, and shows it for 7 seconds."
|
|
},
|
|
"human_like": "Sends today's solar panel production total to an Awtrix display whenever the generation data is updated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "awtrix_current_production",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 minutes. CONDITIONS: None. ACTIONS: If (skip_during_night_hours is true AND (current time is before sunrise [night_end] OR after sunset [night_start])) OR (skip_if_zero_watts is true AND pv power [sensor.pv_power] level is 0), then publish an empty JSON payload to MQTT topic awtrix_6caff8/custom/current_production. Otherwise, publish a JSON payload containing an icon, text, and color determined by pv power [sensor.pv_power] level: icon 54156 if power > 2500, icon 50557 if power > 1500 and <= 2500, icon 50546 if power <= 1500; color #04FE04 if power > 2500, color #FCFEFC if power > 1500 and <= 2500, color #FF4E1A if power <= 1500; text formatted as kW if power > 1000, else as W.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every five minutes.",
|
|
"conditions": "There are no explicit conditions; the logic is handled within the action sequence.",
|
|
"action": "Based on the current solar power level from pv power [sensor.pv_power] and the time of day, the automation sends a message to an Awtrix display. If it's configured to skip during night hours and the current time is before sunrise or after sunset, or if it's configured to skip zero watts and the current power is zero, it sends an empty message. Otherwise, it calculates an icon, a color, and a formatted text representation of the power level (e.g., '1.5 kW' or '500 W') and sends that data to the display. The icon and color change based on thresholds: high power (green), medium power (white), or low power (orange-red)."
|
|
},
|
|
"human_like": "Sends the current solar panel production to an Awtrix display every 5 minutes, showing different icons and colors based on the power level, and skips updates at night or when there's no production.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "awtrix_ev_battery",
|
|
"result": {
|
|
"structured": "TRIGGER: When tucson ev battery level [sensor.tucson_ev_battery_level] changes state. CONDITIONS: None. ACTIONS: Publish an MQTT message to the topic 'awtrix_6caff8/custom/ev_battery' with a payload containing the battery level percentage, an icon ID, and a color. The color is determined by the battery level: green (#04FE04) if above 60%, white (#FCFEFC) if above 30% and up to 60%, and red (#FF4E1A) if 30% or below. The message is displayed for 7 seconds.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the tucson ev battery level [sensor.tucson_ev_battery_level] sensor updates its value.",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Sends a custom notification to the Awtrix device via MQTT. The notification shows the current battery percentage, uses a specific icon, and colors the text based on the battery level: green for high (above 60%), white for medium (between 30% and 60%), and red for low (30% or below). The notification is displayed for 7 seconds."
|
|
},
|
|
"human_like": "Sends the car's battery level to an Awtrix display, changing the text color to indicate if the charge is high, medium, or low.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "battery_low_check",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 12:00:00 on Saturday. CONDITIONS: None. ACTIONS: Execute the service battery_notes.check_battery_low.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every Saturday at noon (12:00:00).",
|
|
"conditions": "There are no conditions that need to be met for the action to run.",
|
|
"action": "Calls the service 'battery_notes.check_battery_low' to check for low batteries."
|
|
},
|
|
"human_like": "Runs a weekly check for low batteries every Saturday at noon.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "battery_low_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When event battery_notes_battery_threshold occurs with battery_low: true OR When event battery_notes_battery_threshold occurs with battery_low: false. CONDITIONS: None. ACTIONS: If the trigger is low, then send a mobile notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with a title and message about low battery, and create a persistent notification with a link. If the trigger is high, then clear the mobile notification for the device and dismiss the persistent notification.",
|
|
"natural_language": {
|
|
"trigger": "When a device's battery status changes, either falling below a threshold (low) or rising above it (high), as reported by the battery_notes_battery_threshold event.",
|
|
"conditions": "There are no additional conditions; the automation runs based solely on the trigger event.",
|
|
"action": "If the battery is low, it sends a detailed notification to the mobile app sm a556b [notify.mobile_app_sm_a556b] and creates a persistent notification with a link to the device page. If the battery is high, it clears the mobile notification and dismisses the persistent notification for that device."
|
|
},
|
|
"human_like": "Sends a notification when a device's battery is low and clears it when the battery is high again.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "battery_replaced",
|
|
"result": {
|
|
"structured": "TRIGGER: When an event of type battery_notes_battery_increased occurs. CONDITIONS: None. ACTIONS: Call service battery_notes.set_battery_replaced with data: device_id = {{ trigger.event.data.device_id }}, source_entity_id = {{ trigger.event.data.source_entity_id }} AND Create a persistent notification with title = {{ trigger.event.data.device_name }} Battery Increased and message = The device has increased its battery level, I've marked it as replaced.",
|
|
"natural_language": {
|
|
"trigger": "When a custom event named 'battery_notes_battery_increased' is received.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "It marks the battery as replaced by calling the 'battery_notes.set_battery_replaced' service, using the device and entity information from the event. It also creates a persistent notification to inform the user that the device's battery level has increased and has been marked as replaced."
|
|
},
|
|
"human_like": "When a device reports an increased battery level, it is marked as having its battery replaced and a notification is sent.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "clear_bikeshed_door_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When alert bikeshed door [alert.bikeshed_door] changes from on to either idle OR off. CONDITIONS: None. ACTIONS: Send a notification to mobile devices adults [notify.mobile_devices_adults] with message 'clear_notification' and data tag 'bikeshed_door_alert'.",
|
|
"natural_language": {
|
|
"trigger": "When the alert bikeshed door [alert.bikeshed_door] is deactivated, transitioning from an 'on' state to either 'idle' or 'off'.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "Sends a notification to the mobile devices adults [notify.mobile_devices_adults] service to clear any existing notification tagged as 'bikeshed_door_alert'."
|
|
},
|
|
"human_like": "Clears the bikeshed door alert notification on adult mobile devices when the alert is resolved.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "mute_door_alerts",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event occurs with action 'mute_alert_bikeshed'. CONDITIONS: None. ACTIONS: Turn off alert bikeshed door [alert.bikeshed_door].",
|
|
"natural_language": {
|
|
"trigger": "When you press the 'mute_alert_bikeshed' action button on a notification sent to the mobile app.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "Silences the alert bikeshed door [alert.bikeshed_door] by turning it off."
|
|
},
|
|
"human_like": "Silences the bike shed door alert when you tap the mute button on your phone notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "schuur_fietslader",
|
|
"result": {
|
|
"structured": "TRIGGER: When fietslader links power [sensor.fietslader_links_power] remains below 5 for 5 minutes OR when fietslader rechts power [sensor.fietslader_rechts_power] remains below 5 for 5 minutes. CONDITIONS: The previous state of the triggering entity is a number. ACTIONS: Turn off the switch associated with the trigger (switch.fietslader_links OR switch.fietslader_rechts) AND send a push notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Fietslader uitgeschakeld' and a message indicating which charger was turned off.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of either the left bike charger [sensor.fietslader_links_power] or the right bike charger [sensor.fietslader_rechts_power] stays below 5 watts for a continuous period of 5 minutes.",
|
|
"conditions": "The automation only runs if the previous state of the sensor that triggered the automation was a numeric value, which helps prevent the automation from running on system restarts.",
|
|
"action": "It turns off the specific bike charger (left or right) that triggered the event, and sends a push notification to a mobile device [notify.mobile_app_sm_a556b] to inform the user that the charger has been automatically switched off, including the time and the charger's friendly name."
|
|
},
|
|
"human_like": "Automatically turns off a bike charger and sends a notification when its power consumption drops low, indicating the battery is likely fully charged.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "deurbel_met_ai_beschrijving",
|
|
"result": {
|
|
"structured": "TRIGGER: When voordeur bezoeker [binary_sensor.voordeur_bezoeker] changes from off to on. CONDITIONS: input boolean enable deurbel [input_boolean.enable_deurbel] is on. ACTIONS: 1. Analyze the image from voordeur vloeiend [camera.voordeur_vloeiend] using the LLM Vision service to generate a description of the visitor (e.g., courier or visitor, company identification). 2. For each person in the home zone and the mobile app sm a556b [notify.mobile_app_sm_a556b], send a notification with the analysis result and the image.",
|
|
"natural_language": {
|
|
"trigger": "When the voordeur bezoeker [binary_sensor.voordeur_bezoeker] sensor detects a visitor, changing its state from off to on.",
|
|
"conditions": "The automation is only allowed to run if the input boolean enable deurbel [input_boolean.enable_deurbel] is switched on.",
|
|
"action": "First, an AI analyzes a snapshot from the voordeur vloeiend [camera.voordeur_vloeiend] to determine if the person is a visitor or a courier, and if a courier, attempts to identify the delivery company. Then, a notification containing this description and the image is sent to the mobile devices of all persons currently at home, as well as to the mobile app sm a556b [notify.mobile_app_sm_a556b]."
|
|
},
|
|
"human_like": "When someone rings the doorbell, this automation uses AI to analyze the camera feed and sends a smart notification identifying if it's a visitor or a specific delivery person to the household's phones.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "deurbel_stream_to_kiosk",
|
|
"result": {
|
|
"structured": "TRIGGER: When voordeur bezoeker [binary_sensor.voordeur_bezoeker] changes from off to on. CONDITIONS: input boolean enable deurbel [input_boolean.enable_deurbel] is on. ACTIONS: Show a non-dismissible, fullscreen popup on browser devices kiosk1 and kiosk2 containing the camera feed from voordeur vloeiend [camera.voordeur_vloeiend] (with a 60-second timeout). AND Set the value of kiosk1 schermhelderheid [number.kiosk1_schermhelderheid] and kiosk2 schermhelderheid [number.kiosk2_schermhelderheid] to 255.",
|
|
"natural_language": {
|
|
"trigger": "When the voordeur bezoeker [binary_sensor.voordeur_bezoeker] sensor detects a visitor, changing its state from off to on.",
|
|
"conditions": "The automation is only active if the input boolean enable deurbel [input_boolean.enable_deurbel] is switched on.",
|
|
"action": "A fullscreen popup showing the live feed from the voordeur vloeiend [camera.voordeur_vloeiend] camera is displayed on the kiosk1 and kiosk2 devices for up to 60 seconds. Simultaneously, the screen brightness for both kiosks (kiosk1 schermhelderheid [number.kiosk1_schermhelderheid] and kiosk2 schermhelderheid [number.kiosk2_schermhelderheid]) is set to its maximum value of 255."
|
|
},
|
|
"human_like": "Shows the doorbell camera feed on the kiosk screens and sets them to full brightness when someone is at the door.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "deurbel_turn_off_chime",
|
|
"result": {
|
|
"structured": "TRIGGER: When time is 21:00:00 OR when time is 09:00:00. CONDITIONS: None. ACTIONS: Set select reolink chime boven beltoon bij bezoeker [select.reolink_chime_boven_beltoon_bij_bezoeker] to the option corresponding to the trigger ID ('off' for 21:00:00 or 'hophop' for 09:00:00).",
|
|
"natural_language": {
|
|
"trigger": "At 9:00 PM or at 9:00 AM.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Sets the chime tone for the doorbell upstairs to a specific option. At 9:00 PM, it sets it to 'off'. At 9:00 AM, it sets it to 'hophop'."
|
|
},
|
|
"human_like": "Changes the doorbell chime tone upstairs to a quiet setting at night and back to a standard tone in the morning.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ev_handle_automatic_cheapest_charge",
|
|
"result": {
|
|
"structured": "TRIGGER: When ev smart charging charging [sensor.ev_smart_charging_charging] changes to 'on' OR when ev smart charging charging [sensor.ev_smart_charging_charging] changes to 'off'. CONDITIONS: None. ACTIONS: If the trigger is ev_cheapest_charge_start AND select smartevse 6360 mode [select.smartevse_6360_mode] is NOT 'Smart', then set select smartevse 6360 mode [select.smartevse_6360_mode] to 'Smart' and send a push notification via mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Automatic cheapest EV charging started' and a time-stamped message. If the trigger is ev_cheapest_charge_stop AND select smartevse 6360 mode [select.smartevse_6360_mode] is NOT 'Off', then set select smartevse 6360 mode [select.smartevse_6360_mode] to 'Off' and send a push notification via mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Automatic cheapest EV charging stopped' and a time-stamped message.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered when the sensor ev smart charging charging [sensor.ev_smart_charging_charging] indicates that charging should start (changes to 'on') or stop (changes to 'off').",
|
|
"conditions": "There are no separate conditions for this automation. The logic for which action to take is determined by the specific trigger and the current state of the charger mode.",
|
|
"action": "If the trigger indicates charging should start and the charger mode select smartevse 6360 mode [select.smartevse_6360_mode] is not already set to 'Smart', the automation will switch the charger to 'Smart' mode and send a push notification to mobile app sm a556b [notify.mobile_app_sm_a556b] announcing the start. If the trigger indicates charging should stop and the charger mode is not already 'Off', the automation will turn the charger off and send a push notification announcing the stop."
|
|
},
|
|
"human_like": "Automatically starts or stops the electric vehicle charger based on a smart charging schedule, sending notifications to keep you informed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ev_set_smart_charging_connected_sensor",
|
|
"result": {
|
|
"structured": "TRIGGER: When smartevse 6360 evplugstate [sensor.smartevse_6360_evplugstate] changes state. CONDITIONS: None. ACTIONS: If smartevse 6360 evplugstate [sensor.smartevse_6360_evplugstate] is Connected, then turn on switch ev smart charging ev connected [switch.ev_smart_charging_ev_connected]. Otherwise, if smartevse 6360 evplugstate [sensor.smartevse_6360_evplugstate] is Disconnected, then turn off switch ev smart charging ev connected [switch.ev_smart_charging_ev_connected].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the EV plug sensor, smartevse 6360 evplugstate [sensor.smartevse_6360_evplugstate], changes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "If the sensor reports the EV is 'Connected', it turns on the switch ev smart charging ev connected [switch.ev_smart_charging_ev_connected]. If the sensor reports the EV is 'Disconnected', it turns off that same switch."
|
|
},
|
|
"human_like": "Keeps a switch in sync with the physical connection state of the electric vehicle charger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ev_create_monthly_total_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 23:59:45. CONDITIONS: The next day is the first day of the month. ACTIONS: Create a persistent notification with ID 'ev_monthly_total' containing the title and message variables, AND send an email with the same title and message variables. The message includes the value from smartevse monthly total [sensor.smartevse_monthly_total] and smartevse 6360 evtotalenergycharged [sensor.smartevse_6360_evtotalenergycharged].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every day at 11:59:45 PM.",
|
|
"conditions": "It only proceeds if the following day is the first day of the month.",
|
|
"action": "It creates a persistent notification and sends an email. Both contain a title and a message. The message states the total energy charged for the month using the smartevse monthly total [sensor.smartevse_monthly_total] sensor, and the total cumulative meter reading from the smartevse 6360 evtotalenergycharged [sensor.smartevse_6360_evtotalenergycharged] sensor, along with the current date and time."
|
|
},
|
|
"human_like": "Sends a monthly summary of electric vehicle charging energy and total meter reading via notification and email at the end of each month.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ev_force_update_while_charging",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 15 minutes (at minutes matching the pattern /15). CONDITIONS: smartevse 6360 state [sensor.smartevse_6360_state] is Charging. ACTIONS: Force update for device with ID 5a94e1b7fbce614053e4f5b8dfd6209b.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every 15 minutes.",
|
|
"conditions": "It only runs if the smartevse 6360 state [sensor.smartevse_6360_state] is currently 'Charging'.",
|
|
"action": "It forces an update of the Hyundai vehicle information for the device with ID 5a94e1b7fbce614053e4f5b8dfd6209b."
|
|
},
|
|
"human_like": "Forces an update of the Hyundai vehicle data every 15 minutes, but only while the car is actively charging.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor.garden_lights [sensor.garden_lights] changes state OR When Home Assistant starts OR When an automation_reloaded event occurs. CONDITIONS: (garden lights [sensor.garden_lights] state is not unknown AND not unavailable AND not none) AND (input boolean garden lights override [input_boolean.garden_lights_override] is off). ACTIONS: Call service homeassistant.turn_{{ states('sensor.garden_lights') }} on verlichting tuin [light.verlichting_tuin] (e.g., homeassistant.turn_on or homeassistant.turn_off).",
|
|
"natural_language": {
|
|
"trigger": "The automation runs when the state of the garden lights [sensor.garden_lights] changes, when Home Assistant starts up, or when automations are reloaded.",
|
|
"conditions": "The automation only proceeds if the garden lights [sensor.garden_lights] sensor reports a valid state (i.e., not 'unknown', 'unavailable', or 'none'), and if the manual override switch, input boolean garden lights override [input_boolean.garden_lights_override], is turned off.",
|
|
"action": "It turns the garden lights on or off by calling a dynamic service (homeassistant.turn_on or homeassistant.turn_off) on the verlichting tuin [light.verlichting_tuin] light, based on the current state of the garden lights sensor."
|
|
},
|
|
"human_like": "Automatically turns the garden lights on or off based on a sensor's state, unless a manual override is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_turn_on_tree_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When tree lights [sensor.tree_lights] changes state OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: (tree lights [sensor.tree_lights] state is not 'unknown', 'unavailable', or 'none') AND (input boolean garden lights override [input_boolean.garden_lights_override] is off). ACTIONS: Turn the tuin spot boom [light.tuin_spot_boom] on or off, matching the current state of tree lights [sensor.tree_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs when the state of the tree lights [sensor.tree_lights] changes, when Home Assistant starts up, or when an automation is reloaded.",
|
|
"conditions": "It only proceeds if the tree lights [sensor.tree_lights] sensor reports a valid state (not 'unknown', 'unavailable', or 'none'), and if the manual override switch, input boolean garden lights override [input_boolean.garden_lights_override], is turned off.",
|
|
"action": "It sets the tuin spot boom [light.tuin_spot_boom] light to the same state (on or off) as reported by the tree lights [sensor.tree_lights] sensor."
|
|
},
|
|
"human_like": "Automatically syncs the tree spot light with a sensor state, unless a manual override is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_turn_on_coming_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When poort contact [binary_sensor.poort_contact] changes from closed (off) to open (on). CONDITIONS: verlichting tuin [light.verlichting_tuin] is off AND Sun [sun.sun] is below_horizon. ACTIONS: Turn on input boolean garden lights override [input_boolean.garden_lights_override] AND Turn on verlichting tuin [light.verlichting_tuin] AND Wait for 3 minutes AND Turn off input boolean garden lights override [input_boolean.garden_lights_override] AND Trigger lights garden turn on [automation.lights_garden_turn_on].",
|
|
"natural_language": {
|
|
"trigger": "When the poort contact [binary_sensor.poort_contact] sensor detects the gate opening.",
|
|
"conditions": "The garden lights (verlichting tuin [light.verlichting_tuin]) must be off, and the sun [sun.sun] must be below the horizon, indicating it is dark outside.",
|
|
"action": "The automation will first turn on the garden lights override [input_boolean.garden_lights_override], then turn on the garden lights [light.verlichting_tuin]. After a three-minute delay, it turns off the override and then triggers another automation called lights garden turn on [automation.lights_garden_turn_on]."
|
|
},
|
|
"human_like": "Turns on the garden lights when you arrive home after dark, and then triggers a separate lighting routine after a short delay.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "backgate_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When poort contact [binary_sensor.poort_contact] changes from off to on OR when fietsenhok contact [binary_sensor.fietsenhok_contact] changes from off to on. CONDITIONS: None. ACTIONS: Turn on alarmspeaker alarm [switch.alarmspeaker_alarm] AND then wait for 1 minute.",
|
|
"natural_language": {
|
|
"trigger": "When the poort contact [binary_sensor.poort_contact] opens (changes from closed to open) or when the fietsenhok contact [binary_sensor.fietsenhok_contact] opens (changes from closed to open).",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Immediately turns on the alarmspeaker alarm [switch.alarmspeaker_alarm] to sound an alert, then waits for one minute to prevent repeated triggers from the same event."
|
|
},
|
|
"human_like": "Sounds an alarm when the back gate or bike shed door is opened.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "achtertuin_stream_to_kiosk",
|
|
"result": {
|
|
"structured": "TRIGGER: When achtertuin persoon [binary_sensor.achtertuin_persoon] changes from off to on. CONDITIONS: None. ACTIONS: 1. Show a fullscreen popup on browser devices kiosk1 and kiosk2 displaying the camera feed from achtertuin vloeiend [camera.achtertuin_vloeiend]. The popup is dismissable, will auto-close, and has a timeout of 90 seconds. 2. Set the value of kiosk1 schermhelderheid [number.kiosk1_schermhelderheid] and kiosk2 schermhelderheid [number.kiosk2_schermhelderheid] to 255. 3. Wait for 1 minute and 32 seconds.",
|
|
"natural_language": {
|
|
"trigger": "When the achtertuin persoon [binary_sensor.achtertuin_persoon] sensor detects a person, changing its state from off to on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation performs three actions in sequence. First, it opens a fullscreen popup on the kiosk1 and kiosk2 devices, showing a live stream from the achtertuin vloeiend [camera.achtertuin_vloeiend] camera. This popup can be closed manually, will close automatically, and disappears after 90 seconds. Second, it sets the screen brightness for both kiosks to the maximum value of 255 via the kiosk1 schermhelderheid [number.kiosk1_schermhelderheid] and kiosk2 schermhelderheid [number.kiosk2_schermhelderheid] entities. Finally, it waits for 1 minute and 32 seconds before the automation can be triggered again, which helps prevent rapid re-triggering."
|
|
},
|
|
"human_like": "When a person is detected in the backyard, it streams the backyard camera feed to the kiosk screens at full brightness and then waits to prevent repeated triggers.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "notification_benzine_price_changed",
|
|
"result": {
|
|
"structured": "TRIGGER: When benzine [sensor.benzine] OR input number benzineprijs esso [input_number.benzineprijs_esso] changes state, provided the old state is not unknown, unavailable, or none AND the new state is not unknown, unavailable, or none. CONDITIONS: (The new state value is different from the old state value) AND (input boolean vacation mode away [input_boolean.vacation_mode_away] is off). ACTIONS: Send a notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with a title indicating if the price became cheaper or more expensive, and a message stating which station price changed, the direction of the change, and the new and old prices.",
|
|
"natural_language": {
|
|
"trigger": "When the benzine [sensor.benzine] sensor or the input number benzineprijs esso [input_number.benzineprijs_esso] changes its value, as long as the change is from and to a valid state (not 'unknown', 'unavailable', or 'none').",
|
|
"conditions": "The new price state must be different from the old price state, and the vacation mode away [input_boolean.vacation_mode_away] must be turned off.",
|
|
"action": "Sends a notification to the mobile app sm a556b [notify.mobile_app_sm_a556b]. The notification title indicates whether the gasoline price became cheaper or more expensive. The message specifies if it's the Tinq or Esso station price, states whether the price dropped or rose, and provides both the new and the old price."
|
|
},
|
|
"human_like": "Sends a mobile notification when the gasoline price from a monitored station changes, but only when not in vacation mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "update_benzineprijs",
|
|
"result": {
|
|
"structured": "TRIGGER: At 06:45:00 OR at 18:45:00. CONDITIONS: None. ACTIONS: Wait for a random delay between 0 and 30 minutes, then download an image from a secret URL to /config/downloads/esso.png, then analyze the image using an LLM vision service to extract the Euro95 fuel price, and update the value in input number benzineprijs esso [input_number.benzineprijs_esso].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs twice a day, at 6:45 AM and 6:45 PM.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "First, it waits for a random amount of time up to 30 minutes. Then, it downloads an image from a specific URL and saves it as 'esso.png'. Next, it sends this image to an AI vision service, asking it to find and report the price of Euro95 fuel from the image, using only a decimal point and no other text. Finally, it updates the sensor input number benzineprijs esso [input_number.benzineprijs_esso] with the extracted price."
|
|
},
|
|
"human_like": "Updates the Esso petrol price twice daily by scraping an image from a website and using AI to read the price.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "set_google_home_volume",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 07:00:00 OR 09:00:00 OR 19:30:00 OR 20:30:00 OR when Home Assistant starts. CONDITIONS: (If triggered by Home Assistant start, wait 1 minute). ACTIONS: Based on the current time, set the volume for specific media players: If time is between 06:59:59 and 09:00:00, set media player kiosk1 fkb [media_player.kiosk1_fkb] and media player nest hub woonkamer [media_player.nest_hub_woonkamer] to volume 0.7. If time is between 08:59:59 and 19:00:00, set media player slaapkamer t [media_player.slaapkamer_t] and media player zolder [media_player.zolder] to volume 0.6 AND set media player kantoor [media_player.kantoor] to volume 0.2. If time is between 18:59:59 and 20:30:00, set media player kiosk1 fkb [media_player.kiosk1_fkb] and media player nest hub woonkamer [media_player.nest_hub_woonkamer] to volume 0.6 AND set media player slaapkamer t [media_player.slaapkamer_t] and media player zolder [media_player.zolder] to volume 0.2. If time is between 20:29:59 and 07:00:00, set media player kiosk1 fkb [media_player.kiosk1_fkb] and media player nest hub woonkamer [media_player.nest_hub_woonkamer] to volume 0.4 AND set media player kantoor [media_player.kantoor] to volume 0.1.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either at specific times of day (7:00 AM, 9:00 AM, 7:30 PM, and 8:30 PM) or when Home Assistant itself starts up.",
|
|
"conditions": "If the automation was triggered by a Home Assistant restart, it waits for one minute before proceeding to check the time. There are no other conditions; the action is determined solely by the current time of day.",
|
|
"action": "Depending on the time of day, the automation sets different volume levels on various Google Home devices. In the early morning (between 7 AM and 9 AM), it sets the volume to 70% for the media player kiosk1 fkb and the media player nest hub woonkamer. During the day (between 9 AM and 7 PM), it sets the volume to 60% for the media player slaapkamer t and the media player zolder, and sets the volume to 20% for the media player kantoor. In the early evening (between 7 PM and 8:30 PM), it sets the volume to 60% for the media player kiosk1 fkb and the media player nest hub woonkamer, and sets the volume to 20% for the media player slaapkamer t and the media player zolder. Finally, during the night (between 8:30 PM and 7 AM), it sets the volume to 40% for the media player kiosk1 fkb and the media player nest hub woonkamer, and sets the volume to 10% for the media player kantoor."
|
|
},
|
|
"human_like": "This automation adjusts the volume of Google Home speakers throughout the day on a schedule, with different volume levels for different rooms and times, and also runs after a system restart.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "notification_kid_left_location",
|
|
"result": {
|
|
"structured": "TRIGGER: When device tracker sm a236b [device_tracker.sm_a236b] leaves zone school [zone.school] OR When device tracker sm a236b [device_tracker.sm_a236b] leaves zone mc [zone.mc] OR When device tracker sm a236b [device_tracker.sm_a236b] leaves zone scouting [zone.scouting] OR When device tracker schaduwspeler [device_tracker.schaduwspeler] leaves zone school [zone.school] OR When device tracker schaduwspeler [device_tracker.schaduwspeler] leaves zone scouting [zone.scouting]. CONDITIONS: (location variable equals 'school' AND NOT (time is between 12:00:00 and 17:30:00 on Monday, Tuesday, Wednesday, Thursday, or Friday)) OR (location variable equals 'scouting' AND NOT ((time is between 12:00:00 and 14:00:00 on Saturday) OR (time is between 21:00:00 and 22:00:00 on Monday))). ACTIONS: If conditions are met, stop the sequence. Otherwise, send a notification to mobile devices adults [notify.mobile_devices_adults] with a title and message indicating the child (name from input_text.naam_mini or input_text.naam_puber) has left the location.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when a child's device leaves a specific zone. For the child tracked by device tracker sm a236b [device_tracker.sm_a236b], it triggers upon leaving the school [zone.school], the MC [zone.mc], or the scouting [zone.scouting] zones. For the child tracked by device tracker schaduwspeler [device_tracker.schaduwspeler], it triggers upon leaving the school [zone.school] or the scouting [zone.scouting] zones.",
|
|
"conditions": "The automation checks if the departure is likely a false positive based on the location and time. If the location is 'school', the notification is suppressed if the current time is on a weekday (Monday to Friday) between 12:00 and 17:30. If the location is 'scouting', the notification is suppressed if the current time is on a Saturday between 12:00 and 14:00, or on a Monday between 21:00 and 22:00. If these conditions are met, the automation sequence is stopped.",
|
|
"action": "If the departure is not considered a false positive, a high-priority notification is sent to the adults' mobile devices [notify.mobile_devices_adults]. The notification announces that the child (using the name from input_text.naam_mini or input_text.naam_puber) has left the specified location and includes a link to the map."
|
|
},
|
|
"human_like": "Sends a notification to adults when a child leaves school, scouting, or another location, but avoids sending alerts during expected departure times to reduce false alarms.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "notification_kids_battery_low_parents",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor sm a236b battery level [sensor.sm_a236b_battery_level] falls below 15% OR when schaduwspeler batterijniveau [sensor.schaduwspeler_batterijniveau] falls below 15%. CONDITIONS: ((trigger is from schaduwspeler batterijniveau [sensor.schaduwspeler_batterijniveau] AND device tracker schaduwspeler [device_tracker.schaduwspeler] is not home) OR (trigger is from sensor sm a236b battery level [sensor.sm_a236b_battery_level] AND device tracker sm a236b [device_tracker.sm_a236b] is not home)). ACTIONS: Send a high-priority notification titled '🔋 Batterijwaarschuwing' to mobile devices adults [notify.mobile_devices_adults] with a message containing the name from input text naam mini [input_text.naam_mini] or input text naam puber [input_text.naam_puber] depending on the trigger. Send a command to turn off high accuracy mode to the child's specific notification service (mobile app schaduwspeler [notify.mobile_app_schaduwspeler] or mobile app sm a236b [notify.mobile_app_sm_a236b]) depending on the trigger. Send a high-priority notification titled '🔋 Batterijwaarschuwing' directly to the child's phone via the same specific notification service.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the battery level of a child's phone drops below 15%. Specifically, it monitors the sensor sm a236b battery level [sensor.sm_a236b_battery_level] and the schaduwspeler batterijniveau [sensor.schaduwspeler_batterijniveau].",
|
|
"conditions": "For the automation to proceed, the child whose phone battery is low must not be at home. This is checked by verifying that the corresponding device tracker (device tracker sm a236b [device_tracker.sm_a236b] or device tracker schaduwspeler [device_tracker.schaduwspeler]) does not report a 'home' status.",
|
|
"action": "Three actions are performed: First, a high-priority battery warning notification is sent to the parents' devices via mobile devices adults [notify.mobile_devices_adults], mentioning the child's name (fetched from input text naam mini [input_text.naam_mini] or input text naam puber [input_text.naam_puber]). Second, a command is sent to the child's specific phone to turn off its high-accuracy location mode to conserve battery. Third, a direct high-priority battery warning notification is sent to the child's own phone, advising them to charge it."
|
|
},
|
|
"human_like": "Sends battery low warnings to both parents and the child when a child's phone battery drops below 15% while they are away from home, and disables battery-intensive location tracking on the child's phone.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kids_turn_gps_on_or_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When device tracker schaduwspeler [device_tracker.schaduwspeler] OR device tracker sm a236b [device_tracker.sm_a236b] changes to not_home (leave trigger) OR When device tracker schaduwspeler [device_tracker.schaduwspeler] OR device tracker sm a236b [device_tracker.sm_a236b] changes to any state except not_home OR unavailable (enter trigger). CONDITIONS: None. ACTIONS: Send a notification to mobile app schaduwspeler [notify.mobile_app_schaduwspeler] if the triggering entity is device tracker schaduwspeler [device_tracker.schaduwspeler], otherwise send to mobile app sm a236b [notify.mobile_app_sm_a236b] with a message containing command_high_accuracy_mode and a command set to turn_on if the trigger was leave, otherwise turn_off.",
|
|
"natural_language": {
|
|
"trigger": "This automation triggers in two scenarios. First, when either the device tracker schaduwspeler [device_tracker.schaduwspeler] or the device tracker sm a236b [device_tracker.sm_a236b] changes its state to 'not_home'. Second, when either of those same trackers changes to any state other than 'not_home' or 'unavailable'.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "The automation sends a notification to the specific mobile app corresponding to the device that triggered it. If the device tracker schaduwspeler triggered the automation, the notification is sent to mobile app schaduwspeler [notify.mobile_app_schaduwspeler]. If the device tracker sm a236b triggered it, the notification is sent to mobile app sm a236b [notify.mobile_app_sm_a236b]. The notification contains the command 'command_high_accuracy_mode' with an instruction to turn on high accuracy mode if the device left home, or to turn it off if the device entered home."
|
|
},
|
|
"human_like": "Toggles high-accuracy GPS mode on a family member's phone when they leave or arrive home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kiosk_screensaver",
|
|
"result": {
|
|
"structured": "TRIGGER: When switch kiosk1 screensaver [switch.kiosk1_screensaver] changes state OR When switch kiosk2 screensaver [switch.kiosk2_screensaver] changes state. CONDITIONS: None. ACTIONS: If the new state is 'on', then navigate browser kiosk1 or kiosk2 (depending on trigger) to /tsv-dashboards/screensaver AND set kiosk1 schermhelderheid [number.kiosk1_schermhelderheid] or kiosk2 schermhelderheid [number.kiosk2_schermhelderheid] (depending on trigger) to 10. If the new state is 'off', then navigate browser kiosk1 or kiosk2 (depending on trigger) to its specific dashboard path (/tsv-dashboards/tsv1 or /tsv-dashboards/tsv2) AND set kiosk1 schermhelderheid [number.kiosk1_schermhelderheid] or kiosk2 schermhelderheid [number.kiosk2_schermhelderheid] (depending on trigger) to 255 if Sun [sun.sun] is above_horizon, otherwise to 125.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered whenever the state of either the switch kiosk1 screensaver [switch.kiosk1_screensaver] or the switch kiosk2 screensaver [switch.kiosk2_screensaver] changes.",
|
|
"conditions": "There are no conditions that must be met for the actions to run; the automation executes immediately upon trigger.",
|
|
"action": "Depending on the new state of the triggered switch, different actions are performed. If the switch is turned on, the corresponding kiosk's browser is navigated to a screensaver page and its screen brightness is set to a low value of 10. If the switch is turned off, the kiosk's browser is navigated back to its specific dashboard page, and its screen brightness is adjusted based on the sun's position: set to 255 if the sun is above the horizon, or 125 if it is not."
|
|
},
|
|
"human_like": "Controls the screensaver and screen brightness for two kiosks, turning on a dim screensaver or restoring the dashboard with appropriate brightness based on daylight.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kiosk1_screen",
|
|
"result": {
|
|
"structured": "TRIGGER: When light verlichting woonkamer [light.verlichting_woonkamer] turns off OR When the time is 23:00:00 OR When the time is 06:30:00. ACTIONS: Choose based on trigger and time: If trigger.id is 'turn_off' AND time is after 21:00:00, then after a 10-second delay, turn off switch kiosk1 bewegingsdetectie [switch.kiosk1_bewegingsdetectie] AND switch kiosk1 scherm [switch.kiosk1_scherm]. If trigger.id is 'turn_on', then turn on switch kiosk1 bewegingsdetectie [switch.kiosk1_bewegingsdetectie] AND switch kiosk1 scherm [switch.kiosk1_scherm], then turn off switch kiosk1 screensaver [switch.kiosk1_screensaver].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the living room light [light.verlichting_woonkamer] is turned off, or at the scheduled times of 23:00:00 and 06:30:00.",
|
|
"conditions": "The automation uses a conditional action block. For the 'turn off' path, it checks if the trigger was one of the 'turn_off' triggers and if the current time is after 21:00:00. For the 'turn on' path, it only checks if the trigger was the 'turn_on' trigger.",
|
|
"action": "If the conditions for turning off are met (after 21:00), it waits 10 seconds and then turns off both the kiosk motion detection [switch.kiosk1_bewegingsdetectie] and the kiosk screen [switch.kiosk1_scherm]. If the trigger is the morning 'turn_on' time, it turns on the motion detection and screen, and then turns off the kiosk screensaver [switch.kiosk1_screensaver]."
|
|
},
|
|
"human_like": "Automatically turns the kiosk screen and motion detection on in the morning and off in the evening or when the living room lights are turned off late at night.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kiosk2_screen",
|
|
"result": {
|
|
"structured": "TRIGGER: When bureau kantoor power [sensor.bureau_kantoor_power] is above 25 OR When bureau kantoor power [sensor.bureau_kantoor_power] is below 25 for 5 minutes. ACTIONS: If the trigger was bureau kantoor power [sensor.bureau_kantoor_power] above 25, then turn on switch kiosk2 bewegingsdetectie [switch.kiosk2_bewegingsdetectie] AND switch kiosk2 scherm [switch.kiosk2_scherm]. If the trigger was bureau kantoor power [sensor.bureau_kantoor_power] below 25 for 5 minutes, then turn off switch kiosk2 bewegingsdetectie [switch.kiosk2_bewegingsdetectie] AND switch kiosk2 scherm [switch.kiosk2_scherm] AND turn off switch kiosk2 screensaver [switch.kiosk2_screensaver].",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the bureau kantoor power [sensor.bureau_kantoor_power] rises above 25 watts, or when it falls below 25 watts and stays there for at least five minutes.",
|
|
"conditions": "There are no explicit conditions; the action is selected based solely on which trigger occurred.",
|
|
"action": "If the power consumption goes above 25 watts, the automation turns on both the kiosk2 motion detection [switch.kiosk2_bewegingsdetectie] and the kiosk2 screen [switch.kiosk2_scherm]. If the power consumption stays below 25 watts for five minutes, it turns off the motion detection, the screen, and also the kiosk2 screensaver [switch.kiosk2_screensaver]."
|
|
},
|
|
"human_like": "Turns the kiosk2 screen and related features on or off based on the office desk power consumption, indicating desk usage.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kiosk_restart_at_9",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 08:59:30 OR when Home Assistant starts. CONDITIONS: None. ACTIONS: Wait 30 seconds, then execute the script Kiosk restart browser [script.kiosk_restart_browser].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either at 8:59:30 in the morning, or immediately when Home Assistant itself starts up.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "After a 30-second delay, it runs the script named Kiosk restart browser [script.kiosk_restart_browser]."
|
|
},
|
|
"human_like": "Restarts the kiosk browser at 8:59:30 each morning or whenever Home Assistant restarts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_t_remote_control",
|
|
"result": {
|
|
"structured": "TRIGGER: When event drukknop t action [event.drukknop_t_action] changes state, excluding changes from unavailable or unknown states. CONDITIONS: None. ACTIONS: If the event attribute equals 'on', then activate scene plafondlamp t kleurige verlichting [scene.plafondlamp_t_kleurige_verlichting], wait 2 seconds, turn on ledstrip bureau mini [light.ledstrip_bureau_mini] with RGB color (89, 255, 0), and turn on plafondlamp t 1 [light.plafondlamp_t_1], plafondlamp t 2 [light.plafondlamp_t_2], and plafondlamp t 3 [light.plafondlamp_t_3] with the colorloop effect. If the event attribute equals 'off', then turn off plafondlamp t [light.plafondlamp_t] and ledstrip bureau mini [light.ledstrip_bureau_mini].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the event drukknop t action [event.drukknop_t_action] changes its state, but not when it changes from an unavailable or unknown state.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Depending on the event type received: If the event is 'on', it first activates the scene plafondlamp t kleurige verlichting [scene.plafondlamp_t_kleurige_verlichting]. After a 2-second delay, it turns on the ledstrip bureau mini [light.ledstrip_bureau_mini] to a specific green color, and also turns on the three ceiling lights (plafondlamp t 1 [light.plafondlamp_t_1], plafondlamp t 2 [light.plafondlamp_t_2], and plafondlamp t 3 [light.plafondlamp_t_3]) with a color-changing effect. If the event is 'off', it simply turns off the main ceiling light plafondlamp t [light.plafondlamp_t] and the ledstrip bureau mini [light.ledstrip_bureau_mini]."
|
|
},
|
|
"human_like": "Controls the colorful lighting in room 't' and the desk LED strip based on remote button presses, turning on a vibrant scene or turning all lights off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_t_lightswitch",
|
|
"result": {
|
|
"structured": "TRIGGER: When event lichtschakelaar t action [event.lichtschakelaar_t_action] changes state from any state except unavailable or unknown. CONDITIONS: None. ACTIONS: Based on the event_type attribute (captured as variable 'event'): IF event equals single_left THEN IF ledstrip bed mini [light.ledstrip_bed_mini] is on THEN turn it off ELSE IF ledstrip bed mini [light.ledstrip_bed_mini] is off THEN turn it on with color temperature 2500K. IF event equals single_right THEN IF plafondlamp t [light.plafondlamp_t] is on THEN turn it off ELSE IF plafondlamp t [light.plafondlamp_t] is off THEN activate scene plafondlamp t wit [scene.plafondlamp_t_wit]. IF event equals single_both THEN no action. IF event equals double_left THEN turn on ledstrip bed mini [light.ledstrip_bed_mini] with RGB color (0, 255, 30) and 100% brightness. IF event equals double_right THEN activate scene plafondlamp t kleurige verlichting [scene.plafondlamp_t_kleurige_verlichting], wait 2 seconds, then turn on plafondlamp t 1 [light.plafondlamp_t_1], plafondlamp t 2 [light.plafondlamp_t_2], and plafondlamp t 3 [light.plafondlamp_t_3] with the colorloop effect. IF event equals double_both THEN no action.",
|
|
"natural_language": {
|
|
"trigger": "When the event lichtschakelaar t action [event.lichtschakelaar_t_action] changes state, but not from an unavailable or unknown state.",
|
|
"conditions": "There are no additional conditions to check.",
|
|
"action": "Depending on the button press event detected: A single left press toggles the ledstrip bed mini [light.ledstrip_bed_mini] on or off, setting it to a warm white when turning on. A single right press toggles the plafondlamp t [light.plafondlamp_t] on or off, activating a white scene when turning on. A single press of both buttons does nothing. A double left press sets the ledstrip bed mini [light.ledstrip_bed_mini] to a specific green color at full brightness. A double right press first activates a colorful lighting scene for the ceiling lights, then after a short delay, turns on three specific ceiling lights with a colorloop effect. A double press of both buttons does nothing."
|
|
},
|
|
"human_like": "Controls the lights in the room using a smart switch, allowing toggling and setting different scenes for the ceiling light and LED strip with single and double button presses.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_gang",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor pir gang [binary_sensor.pir_gang] changes from off to on. CONDITIONS: input boolean enable pir gang automations [input_boolean.enable_pir_gang_automations] is on AND Sun [sun.sun] elevation attribute is below 5. ACTIONS: Turn on switch gang [switch.gang], then wait until binary sensor pir gang [binary_sensor.pir_gang] changes from on to off, then turn off switch gang [switch.gang].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the hallway, indicated by the binary sensor pir gang [binary_sensor.pir_gang] turning on.",
|
|
"conditions": "The automation must be enabled, meaning the input boolean enable pir gang automations [input_boolean.enable_pir_gang_automations] is on, and it must be dark enough, meaning the sun's elevation [sun.sun] is below 5 degrees.",
|
|
"action": "First, the hallway light (switch gang [switch.gang]) is turned on. The automation then waits until motion is no longer detected, meaning the binary sensor pir gang [binary_sensor.pir_gang] turns off. Finally, the hallway light is turned off."
|
|
},
|
|
"human_like": "Turns on the hallway light when motion is detected in the dark, and turns it off again after motion stops.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "set_lights_before_sunset",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunset with an offset of -45 minutes (i.e., 45 minutes before sunset). CONDITIONS: (input boolean enable woonkamer sunset automations [input_boolean.enable_woonkamer_sunset_automations] is on) AND (group all adults [group.all_adults] is home). ACTIONS: Turn on spots vaas [light.spots_vaas] with brightness set to 20%.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers 45 minutes before the sun sets.",
|
|
"conditions": "The automation will only run if the input boolean enable woonkamer sunset automations [input_boolean.enable_woonkamer_sunset_automations] is switched on, and if at least one adult is home, as indicated by the group all adults [group.all_adults].",
|
|
"action": "It turns on the light spots vaas [light.spots_vaas] at 20% brightness."
|
|
},
|
|
"human_like": "Turns on the spots vaas light at a low brightness 45 minutes before sunset, but only if the automation is enabled and someone is home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "salon_remote_control",
|
|
"result": {
|
|
"structured": "TRIGGER: When event schakelaar salon action [event.schakelaar_salon_action] changes state, excluding changes from unavailable or unknown. ACTIONS: Based on the event_type attribute (event): IF event == 'single_left' THEN toggle sfeerverlichting salon [light.sfeerverlichting_salon]. IF event == 'single_right' THEN toggle tv kastje [light.tv_kastje]. IF event == 'double_left' THEN turn on light salon [light.salon] with brightness_pct 100. IF event == 'double_right' THEN turn on light salon [light.salon] with brightness_pct 25. For all other event types (single_both, double_both, triple_left, triple_right, triple_both, hold_left, hold_right, hold_both), perform no action.",
|
|
"natural_language": {
|
|
"trigger": "When the event schakelaar salon action [event.schakelaar_salon_action] receives a new event, provided the previous state was not unavailable or unknown.",
|
|
"conditions": "There are no explicit conditions; the action taken depends entirely on the specific event type received from the remote.",
|
|
"action": "Depending on the button press event from the remote: a single press on the left button toggles the sfeerverlichting salon [light.sfeerverlichting_salon]. A single press on the right button toggles the tv kastje [light.tv_kastje]. A double press on the left button turns on the main salon light [light.salon] to full brightness (100%). A double press on the right button turns on the main salon light [light.salon] to a low brightness (25%). All other button press combinations (like single press both, triple presses, or holds) are ignored and perform no action."
|
|
},
|
|
"human_like": "Controls the living room lights using a wireless remote, with different button presses toggling accent lights or setting the main light to different brightness levels.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_frontdoor",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with a 10-minute offset before sunset OR when sunrise occurs. CONDITIONS: None. ACTIONS: Turn on switch voordeur [switch.voordeur] if triggered by sunset offset, or turn off switch voordeur [switch.voordeur] if triggered by sunrise.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers 10 minutes before sunset, or at sunrise.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "If the trigger was the sunset offset, the switch voordeur [switch.voordeur] is turned on. If the trigger was sunrise, the switch voordeur [switch.voordeur] is turned off."
|
|
},
|
|
"human_like": "Automatically turns the front door light on before sunset and off at sunrise.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_mbr_inloopkast",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor pir inloopkast occupancy [binary_sensor.pir_inloopkast_occupancy] changes from off to on (with variable action set to turn_on) OR when binary sensor pir inloopkast occupancy [binary_sensor.pir_inloopkast_occupancy] changes from on to off (with variable action set to turn_off). CONDITIONS: input boolean enable pir inloopkast automations [input_boolean.enable_pir_inloopkast_automations] is on. ACTIONS: Turn switch inloopkast [switch.inloopkast] on or off based on the trigger variable action.",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the inloopkast (the binary sensor pir inloopkast occupancy [binary_sensor.pir_inloopkast_occupancy] changes from off to on) or when motion is no longer detected (the sensor changes from on to off).",
|
|
"conditions": "The automation is only allowed to run if the master control switch, input boolean enable pir inloopkast automations [input_boolean.enable_pir_inloopkast_automations], is turned on.",
|
|
"action": "Controls the light in the inloopkast by turning the switch inloopkast [switch.inloopkast] on when motion is detected and off when motion stops."
|
|
},
|
|
"human_like": "Automatically turns the inloopkast light on when motion is detected and off when the room is empty, provided the automation is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "warn_power_usage_after_bedtime_minicave",
|
|
"result": {
|
|
"structured": "TRIGGER: When mini cave power [sensor.mini_cave_power] is above 80 OR when binary sensor minicave tv [binary_sensor.minicave_tv] turns on. CONDITIONS: input boolean notify power use minicave [input_boolean.notify_power_use_minicave] is on AND the current time is after input datetime time poweruse minicave [input_datetime.time_poweruse_minicave]. ACTIONS: Send a notification to mobile devices adults [notify.mobile_devices_adults] with a title 'Minicave [trigger.id]' and a message that depends on the trigger: if the trigger is 'PC', the message is 'De computer van de mini staat nog aan... (current time).'; if the trigger is 'TV', the message is 'De TV van de mini staat nog aan... (current time).'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the power usage of the mini cave [sensor.mini_cave_power] exceeds 80 watts, or when the TV in the minicave [binary_sensor.minicave_tv] is turned on.",
|
|
"conditions": "The automation will only proceed if the notification switch for minicave power use [input_boolean.notify_power_use_minicave] is enabled, and if the current time is after the configured bedtime threshold [input_datetime.time_poweruse_minicave].",
|
|
"action": "Sends a high-priority notification to the adults' mobile devices [notify.mobile_devices_adults]. The notification title indicates the source ('Minicave PC' or 'Minicave TV'), and the message specifies whether the computer or the TV is still on, along with the current time."
|
|
},
|
|
"human_like": "Sends a warning to adults if the computer or TV in the minicave is still using power after the configured bedtime, provided notifications are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "warn_pc_time_over_minicave",
|
|
"result": {
|
|
"structured": "TRIGGER: When minicave pc on today [sensor.minicave_pc_on_today] exceeds input number mini pc time weekday [input_number.mini_pc_time_weekday] OR When minicave pc on today [sensor.minicave_pc_on_today] exceeds input number mini pc time weekend [input_number.mini_pc_time_weekend] OR When the time reaches input datetime time maxi gametime over [input_datetime.time_maxi_gametime_over]. CONDITIONS: ((Trigger is weekday AND current day is Monday, Tuesday, Wednesday, Thursday, or Friday) OR (Trigger is weekend AND current day is Saturday or Sunday) OR (Trigger is all_days AND binary sensor minicave pc [binary_sensor.minicave_pc] is on)). ACTIONS: 1. Turn on ledstrip bureau mini [light.ledstrip_bureau_mini] and plafondlamp t [light.plafondlamp_t] to red, wait 2 seconds, then toggle both lights 10 times with a 1.5 second delay between each toggle. 2. Send a TTS message to media player slaapkamer t [media_player.slaapkamer_t] saying 'Je tijd is op. Sluit je af?'. 3. Send a high priority notification to mobile app sm a236b [notify.mobile_app_sm_a236b] with title 'Tijd is om' and message 'Je tijd is op. Sluit je af?'. 4. Send a high priority notification to mobile devices adults [notify.mobile_devices_adults] with title 'Mini's gametijd' and message 'De Mini heeft nu lang genoeg achter de PC gezeten (current time).'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in three ways: when the tracked PC usage time for today (minicave pc on today [sensor.minicave_pc_on_today]) goes above the weekday limit (input number mini pc time weekday [input_number.mini_pc_time_weekday]), when it goes above the weekend limit (input number mini pc time weekend [input_number.mini_pc_time_weekend]), or when a specific time of day (input datetime time maxi gametime over [input_datetime.time_maxi_gametime_over]) is reached.",
|
|
"conditions": "For the automation to proceed, the trigger must match the correct day of the week. If the trigger is the weekday limit, the day must be a weekday (Monday to Friday). If the trigger is the weekend limit, the day must be a weekend (Saturday or Sunday). If the trigger is the specific time of day, the PC (binary sensor minicave pc [binary_sensor.minicave_pc]) must be on.",
|
|
"action": "When triggered, the automation performs several actions simultaneously: it flashes the ledstrip bureau mini [light.ledstrip_bureau_mini] and plafondlamp t [light.plafondlamp_t] red, plays a voice message on the bedroom speaker (media player slaapkamer t [media_player.slaapkamer_t]) saying 'Your time is up. Will you log off?', sends a notification to a specific mobile device (mobile app sm a236b [notify.mobile_app_sm_a236b]), and sends a notification to the adults' mobile devices (mobile devices adults [notify.mobile_devices_adults]) informing them that the child has been on the PC long enough."
|
|
},
|
|
"human_like": "This automation warns a child (Mini) when their daily PC time limit is exceeded, using flashing lights, a spoken message, and mobile notifications.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "morning_briefing",
|
|
"result": {
|
|
"structured": "TRIGGER: At the time set in input_datetime.time_morning_briefing. CONDITIONS: input boolean vacation mode away [input_boolean.vacation_mode_away] is off. ACTIONS: Send a notification to mobile_devices_papa_and_mini with a title 'Good morning sunshine!' and a message containing the sunrise time from Sun [sun.sun], today's maximum temperature from KNMI max temperatuur vandaag [sensor.knmi_max_temperatuur_vandaag], the current temperature from knmi temperatuur [sensor.knmi_temperatuur], the current weather description from KNMI omschrijving [sensor.knmi_omschrijving], and the weather forecast from KNMI weersverwachting [sensor.knmi_weersverwachting].",
|
|
"natural_language": {
|
|
"trigger": "At the scheduled time set in the input_datetime.time_morning_briefing.",
|
|
"conditions": "Only if the vacation mode away [input_boolean.vacation_mode_away] is turned off.",
|
|
"action": "Sends a morning briefing notification to the mobile devices 'papa_and_mini'. The message includes the sunrise time, today's forecasted maximum temperature, the current temperature and weather description, and a weather forecast summary."
|
|
},
|
|
"human_like": "Sends a daily morning weather briefing notification, but only when vacation mode is not active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vaatwasser_melding",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in input_datetime.time_dishwasher_notification. CONDITIONS: Notify dishwasher [input_boolean.notify_dishwasher] is on AND input boolean vacation mode away [input_boolean.vacation_mode_away] is off. ACTIONS: Send a push notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Vaatwasser' and message 'Het beste start je de vaatwasser om [current state of Vaatwasser goedkoopste tijd [sensor.vaatwasser_goedkoopste_tijd]]'.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs at a specific time of day, which is set by the input_datetime.time_dishwasher_notification.",
|
|
"conditions": "The automation only proceeds if the notification setting for the dishwasher is enabled (Notify dishwasher [input_boolean.notify_dishwasher] is on) and the vacation mode is not active (input boolean vacation mode away [input_boolean.vacation_mode_away] is off).",
|
|
"action": "Sends a push notification to a mobile device via mobile app sm a556b [notify.mobile_app_sm_a556b]. The notification has the title 'Vaatwasser' and suggests the best time to start the dishwasher based on the current value of the sensor Vaatwasser goedkoopste tijd [sensor.vaatwasser_goedkoopste_tijd]."
|
|
},
|
|
"human_like": "Sends a daily notification with the cheapest time to run the dishwasher, but only if notifications are enabled and you're not on vacation.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "picnic_order_window_closing",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor.picnic_maximale_besteltijd_voor_het_geselecteerde_tijdslot [sensor.picnic_maximale_besteltijd_voor_het_geselecteerde_tijdslot] is not unknown, unavailable, or none AND the time difference between its value and now is greater than 0 seconds and less than 14400 seconds (4 hours) OR When sensor.picnic_max_order_time_of_last_order [sensor.picnic_max_order_time_of_last_order] is not unknown, unavailable, or none AND the time difference between its value and now is greater than 0 seconds and less than 14400 seconds (4 hours). CONDITIONS: None. ACTIONS: Turn off switch.kiosk1_bewegingsdetectie [switch.kiosk1_bewegingsdetectie], switch.kiosk2_bewegingsdetectie [switch.kiosk2_bewegingsdetectie], switch.kiosk1_screensaver [switch.kiosk1_screensaver], and switch.kiosk2_screensaver [switch.kiosk2_screensaver]. Set the value of number.kiosk1_screensaver_timer [number.kiosk1_screensaver_timer] and number.kiosk2_screensaver_timer [number.kiosk2_screensaver_timer] to 0. Set the value of number.kiosk1_schermhelderheid [number.kiosk1_schermhelderheid] and number.kiosk2_schermhelderheid [number.kiosk2_schermhelderheid] to 255 if Sun [sun.sun] is above_horizon, otherwise 125. Navigate browser_id kiosk1 and kiosk2 to path /tsv-dashboards/picnic-order-closing. Start timer.picnic [timer.picnic] with a duration of 30 minutes.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when either the sensor for the maximum order time for the selected Picnic time slot [sensor.picnic_maximale_besteltijd_voor_het_geselecteerde_tijdslot] or the sensor for the maximum order time of the last Picnic order [sensor.picnic_max_order_time_of_last_order] has a valid value, and that time is between now and four hours from now.",
|
|
"conditions": "There are no explicit conditions for this automation.",
|
|
"action": "The automation performs several actions to prepare the kiosk displays. It turns off motion detection and any active screensavers on both kiosks. It disables the screensaver timers. It sets the screen brightness on both kiosks to a readable level, using a higher value during the day and a lower value at night. It then displays a specific dashboard page on both kiosks related to the Picnic order closing. Finally, it starts a 30-minute timer."
|
|
},
|
|
"human_like": "When a Picnic grocery order deadline is approaching within four hours, this automation prepares the household kiosk screens by adjusting settings and showing a reminder dashboard.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "picnic_delivery_known",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template condition evaluates to true, which occurs when sensor.picnic_verwacht_begin_van_de_volgende_bestelling is not 'unknown', 'unavailable', or 'none' AND the difference between its timestamp and the current time is between 840 and 901 seconds (i.e., 14 to 15 minutes before the expected start). CONDITIONS: None (no explicit condition block, but the action includes a conditional check). ACTIONS: IF Notify picnic push [input_boolean.notify_picnic_push] is on, THEN send a notification to mobile devices adults [notify.mobile_devices_adults] with a title and message containing the delivery window from sensor.picnic_next_delivery_eta_start_time and sensor.picnic_next_delivery_eta_end_time. THEN turn off switch kiosk1 bewegingsdetectie [switch.kiosk1_bewegingsdetectie], switch kiosk2 bewegingsdetectie [switch.kiosk2_bewegingsdetectie], switch kiosk1 screensaver [switch.kiosk1_screensaver], and switch kiosk2 screensaver [switch.kiosk2_screensaver]. THEN set the value of Kiosk1 screensaver timer [number.kiosk1_screensaver_timer] and Kiosk2 screensaver timer [number.kiosk2_screensaver_timer] to 0. THEN set the value of kiosk1 schermhelderheid [number.kiosk1_schermhelderheid] and kiosk2 schermhelderheid [number.kiosk2_schermhelderheid] to 255 if Sun [sun.sun] is above_horizon, otherwise to 125. THEN navigate the browsers with device IDs kiosk1 and kiosk2 to the path /tsv-dashboards/picnic-eta. THEN start Picnic timer [timer.picnic] with a duration of 30 minutes.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the sensor 'Picnic verwacht begin van de volgende bestelling' [sensor.picnic_verwacht_begin_van_de_volgende_bestelling] has a valid value (not 'unknown', 'unavailable', or 'none') and the time until the expected delivery start is between 14 and 15 minutes away.",
|
|
"conditions": "There are no separate conditions defined in the automation. However, the first action includes a conditional check to see if the 'Notify picnic push' [input_boolean.notify_picnic_push] is turned on.",
|
|
"action": "If push notifications are enabled, it sends an alert to adult mobile devices with the delivery time window. It then disables motion detection and screensavers on two kiosks, sets their screensaver timers to zero, adjusts their screen brightness based on whether the sun is up, displays a specific dashboard on the kiosks, and starts a 30-minute timer."
|
|
},
|
|
"human_like": "Prepares the home for an upcoming Picnic grocery delivery by notifying residents, adjusting kiosk displays, and starting a timer when the delivery is 14-15 minutes away.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "picnic_delivery_complete",
|
|
"result": {
|
|
"structured": "TRIGGER: When Picnic status van de laatste bestelling [sensor.picnic_status_van_de_laatste_bestelling] changes from any state to COMPLETED. CONDITIONS: None. ACTIONS: Finish Picnic timer [timer.picnic].",
|
|
"natural_language": {
|
|
"trigger": "When the Picnic status van de laatste bestelling [sensor.picnic_status_van_de_laatste_bestelling] changes to 'COMPLETED'.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Stops the Picnic timer [timer.picnic]."
|
|
},
|
|
"human_like": "Stops the Picnic timer when the latest grocery delivery is marked as completed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "picnic_reset_view",
|
|
"result": {
|
|
"structured": "TRIGGER: When Picnic timer [timer.picnic] finishes. CONDITIONS: None. ACTIONS: Navigate browser(s) kiosk1 and kiosk2 to path /tsv-dashboards/tsv1 AND Turn on switch kiosk1 bewegingsdetectie [switch.kiosk1_bewegingsdetectie] AND switch kiosk2 bewegingsdetectie [switch.kiosk2_bewegingsdetectie] AND Set Kiosk1 screensaver timer [number.kiosk1_screensaver_timer] AND Kiosk2 screensaver timer [number.kiosk2_screensaver_timer] to value 120.",
|
|
"natural_language": {
|
|
"trigger": "When the Picnic timer [timer.picnic] finishes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation performs three actions: it navigates the kiosk1 and kiosk2 browser displays back to the main dashboard at /tsv-dashboards/tsv1, it turns on motion detection for both kiosks by enabling switch kiosk1 bewegingsdetectie [switch.kiosk1_bewegingsdetectie] and switch kiosk2 bewegingsdetectie [switch.kiosk2_bewegingsdetectie], and it sets the screensaver timeout for both kiosks to 120 seconds by updating number.kiosk1_screensaver_timer [number.kiosk1_screensaver_timer] and number.kiosk2_screensaver_timer [number.kiosk2_screensaver_timer]."
|
|
},
|
|
"human_like": "Returns the kiosk displays to the home screen and re-enables their normal screensaver and motion detection after a Picnic timer ends.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "picnic_update_eta",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 2 minutes (time pattern). CONDITIONS: The time difference between now and the expected end time of the next Picnic delivery (Picnic verwacht einde van de volgende bestelling [sensor.picnic_verwacht_einde_van_de_volgende_bestelling]) is greater than 0 seconds AND less than 2100 seconds (35 minutes). ACTIONS: Update the entities Picnic verwacht begin van de volgende bestelling [sensor.picnic_verwacht_begin_van_de_volgende_bestelling] and Picnic status van de laatste bestelling [sensor.picnic_status_van_de_laatste_bestelling].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every two minutes.",
|
|
"conditions": "The condition checks if the expected end time of the next Picnic delivery (Picnic verwacht einde van de volgende bestelling [sensor.picnic_verwacht_einde_van_de_volgende_bestelling]) is in the future, but within the next 35 minutes.",
|
|
"action": "It triggers an update for the sensors showing the expected start time of the next Picnic delivery (Picnic verwacht begin van de volgende bestelling [sensor.picnic_verwacht_begin_van_de_volgende_bestelling]) and the status of the last Picnic order (Picnic status van de laatste bestelling [sensor.picnic_status_van_de_laatste_bestelling])."
|
|
},
|
|
"human_like": "Refreshes the Picnic delivery status more frequently when a delivery is expected to arrive within the next 35 minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "warn_pc_time_duration_pubercave",
|
|
"result": {
|
|
"structured": "TRIGGER: When pubercave pc on today [sensor.pubercave_pc_on_today] exceeds input number maxi pc time weekday [input_number.maxi_pc_time_weekday] OR When pubercave pc on today [sensor.pubercave_pc_on_today] exceeds input number maxi pc time weekend [input_number.maxi_pc_time_weekend]. CONDITIONS: ((Trigger is weekday AND current time is Monday, Tuesday, Wednesday, Thursday, or Friday) OR (Trigger is weekend AND current time is Saturday or Sunday)). ACTIONS: Use TTS to announce 'Je tijd is op. Sluit je af?' on media player zolder [media_player.zolder], send a notification titled 'Puber PC' with message 'De puber heeft vandaag lang genoeg achter de PC gezeten (current time).' to mobile devices adults [notify.mobile_devices_adults], send a notification titled 'Gametijd' with message 'Je zit vandaag al lang genoeg achter de PC (current time).' to mobile app schaduwspeler [notify.mobile_app_schaduwspeler], and trigger automation Knipper de lampen als de puber PC tijd over is [automation.knipper_de_lampen_als_de_puber_pc_tijd_over_is].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor tracking today's PC usage time in the pubercave [sensor.pubercave_pc_on_today] exceeds the maximum allowed time for a weekday [input_number.maxi_pc_time_weekday] or the maximum allowed time for a weekend [input_number.maxi_pc_time_weekend].",
|
|
"conditions": "The automation checks that the correct trigger matches the current day. If the trigger for exceeding the weekday limit fired, the current day must be a weekday (Monday through Friday). If the trigger for exceeding the weekend limit fired, the current day must be a weekend day (Saturday or Sunday).",
|
|
"action": "Announces via text-to-speech on the media player in the attic [media_player.zolder] that the time is up and asks to log off. It also sends a notification to the adults' mobile devices [notify.mobile_devices_adults] and a separate notification to the 'schaduwspeler' mobile app [notify.mobile_app_schaduwspeler], both indicating that the PC time limit has been reached for the day. Finally, it triggers another automation [automation.knipper_de_lampen_als_de_puber_pc_tijd_over_is] which likely makes the lights flash."
|
|
},
|
|
"human_like": "Warns the user and notifies adults when the daily PC time limit is exceeded, with different limits for weekdays and weekends.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "flash_lights_pc_time_over_pubercave",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches input datetime time maxi gametime over [input_datetime.time_maxi_gametime_over]. CONDITIONS: binary sensor pubercave pc [binary_sensor.pubercave_pc] is on. ACTIONS: First, create a snapshot scene named Snapshot pubercave [scene.snapshot_pubercave] capturing the states of sonoff l1 [light.sonoff_l1] and battletron ball light m [light.battletron_ball_light_m]. Then, wait 5 seconds. Next, turn on sonoff l1 [light.sonoff_l1] with color red, effect DIY Pulse, and 100% brightness. Simultaneously, turn on battletron ball light m [light.battletron_ball_light_m] with color red. Wait 1.2 seconds. Then, repeat the following sequence 5 times: toggle battletron ball light m [light.battletron_ball_light_m] on/off, wait 1.2 seconds, toggle battletron ball light m [light.battletron_ball_light_m] on/off again, wait 1.2 seconds. Wait 5 seconds. Finally, restore the original light states by activating the saved Snapshot pubercave [scene.snapshot_pubercave].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs at a specific time defined by the input datetime time maxi gametime over [input_datetime.time_maxi_gametime_over].",
|
|
"conditions": "It only proceeds if the binary sensor pubercave pc [binary_sensor.pubercave_pc] indicates the PC is on.",
|
|
"action": "First, it saves the current state of the lights in the room as a snapshot. After a 5-second delay, it turns the sonoff l1 [light.sonoff_l1] red with a pulsing effect and the battletron ball light m [light.battletron_ball_light_m] solid red. It then flashes the battletron ball light on and off five times, with short pauses between each toggle. After another 5-second delay, it restores the lights to their original saved state."
|
|
},
|
|
"human_like": "Flashes the lights in the pubercave red and makes a light ball blink when the scheduled gaming time is over and the PC is still on, then returns the lights to normal.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "warn_power_usage_after_bedtime_attic",
|
|
"result": {
|
|
"structured": "TRIGGER: When leeslampje zolder power [sensor.leeslampje_zolder_power] is above 3 for 2 minutes OR when pubercave tv power [sensor.pubercave_tv_power] is above 25 OR when binary sensor schoollaptop m [binary_sensor.schoollaptop_m] is on for 2 minutes. CONDITIONS: input boolean notify power use attic [input_boolean.notify_power_use_attic] is on AND current time is after input datetime time leeslampje attic [input_datetime.time_leeslampje_attic]. ACTIONS: Send a notification to mobile devices adults [notify.mobile_devices_adults] with a title 'Pubercave [trigger.id]' and a message based on the trigger: if trigger is 'Leeslampje', message is 'Het lampje op zolder staat nog aan... (current_time).'; if trigger is 'Schoollaptop', message is 'De schoollaptop op zolder staat nog aan... (current_time).'; otherwise, message is 'De TV op zolder staat nog aan... (current_time).'. The notification includes tag 'pubercave', icon 'mdi:home-lightning-bolt', ttl 0, and priority high.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the power consumption of the leeslampje zolder power [sensor.leeslampje_zolder_power] exceeds 3 watts for at least two minutes, or when the pubercave tv power [sensor.pubercave_tv_power] exceeds 25 watts, or when the binary sensor schoollaptop m [binary_sensor.schoollaptop_m] is on for at least two minutes.",
|
|
"conditions": "The automation only runs if the input boolean notify power use attic [input_boolean.notify_power_use_attic] is turned on, and the current time is after the time set in input datetime time leeslampje attic [input_datetime.time_leeslampje_attic].",
|
|
"action": "Sends a high-priority notification to the mobile devices adults [notify.mobile_devices_adults] group. The notification title includes the trigger source, and the message is customized: for the reading light, it warns that the light is still on; for the school laptop, it warns that the laptop is still on; for the TV, it warns that the TV is still on. The current time is included in the message."
|
|
},
|
|
"human_like": "Sends a warning to adults if the attic's reading light, TV, or school laptop is using power after a set bedtime, but only when notifications are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "power_logging_attic",
|
|
"result": {
|
|
"structured": "TRIGGER: When pubercave tv power [sensor.pubercave_tv_power] is above 25 OR When pubercave tv power [sensor.pubercave_tv_power] is below 25 OR When leeslampje zolder power [sensor.leeslampje_zolder_power] is above 3 OR When leeslampje zolder power [sensor.leeslampje_zolder_power] is below 3. CONDITIONS: None. ACTIONS: If the trigger ID is 'pubercave', then log to the logbook for Pubercave zolder with entity pubercave tv power [sensor.pubercave_tv_power] and a message stating 'is aan' if its power is above 25, otherwise 'is uit'. If the trigger ID is 'leeslampje', then log to the logbook for Leeslampje zolder with entity leeslampje zolder power [sensor.leeslampje_zolder_power] and a message stating 'is aan' if its power is above 3, otherwise 'is uit'.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered whenever the power reading from the pubercave tv power [sensor.pubercave_tv_power] sensor crosses the 25-watt threshold in either direction, or when the power reading from the leeslampje zolder power [sensor.leeslampje_zolder_power] sensor crosses the 3-watt threshold in either direction.",
|
|
"conditions": "There are no additional conditions that must be met for the automation to proceed.",
|
|
"action": "Depending on which sensor triggered the automation, a corresponding entry is made in the logbook. If the pubercave tv power sensor triggered it, a log entry is created for 'Pubercave zolder' stating whether the TV is on (power > 25W) or off (power <= 25W). If the leeslampje zolder power sensor triggered it, a log entry is created for 'Leeslampje zolder' stating whether the reading lamp is on (power > 3W) or off (power <= 3W)."
|
|
},
|
|
"human_like": "Logs when the TV in the attic (pubercave) or the reading lamp in the attic is turned on or off, based on their power consumption.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_schuur",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor pir schuur occupancy [binary_sensor.pir_schuur_occupancy] changes from off to on (variable 'action' set to 'turn_on') OR When binary sensor pir schuur occupancy [binary_sensor.pir_schuur_occupancy] changes from on to off (variable 'action' set to 'turn_off'). CONDITIONS: None. ACTIONS: Call service switch.{{ action }} on switch schuur [switch.schuur].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the shed, as indicated by the binary sensor pir schuur occupancy [binary_sensor.pir_schuur_occupancy] changing from off to on, or when motion stops, as indicated by the sensor changing from on to off.",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Depending on the trigger, it will either turn on or turn off the switch schuur [switch.schuur]."
|
|
},
|
|
"human_like": "Automatically turns the shed lights on when motion is detected and off when motion stops.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wakeup_light_mini",
|
|
"result": {
|
|
"structured": "TRIGGER: At the time specified by sensor home mini slaapkamer t alarms [sensor.home_mini_slaapkamer_t_alarms]. CONDITIONS: None. ACTIONS: Wait 1 second, then turn on ledstrip bed mini [light.ledstrip_bed_mini] at 5% brightness. Wait 2 seconds, then repeatedly increase the brightness of ledstrip bed mini [light.ledstrip_bed_mini] by 15 units every 2 seconds until its brightness is greater than or equal to 191 OR ledstrip bed mini [light.ledstrip_bed_mini] is turned off. Wait 10 minutes, then turn off ledstrip bed mini [light.ledstrip_bed_mini].",
|
|
"natural_language": {
|
|
"trigger": "The automation starts at the specific time reported by the sensor home mini slaapkamer t alarms [sensor.home_mini_slaapkamer_t_alarms].",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "After a one-second delay, the ledstrip bed mini [light.ledstrip_bed_mini] is turned on at a very low brightness of 5%. Following a two-second pause, the light's brightness is gradually increased by 15 units every two seconds. This gradual increase continues until the light's brightness reaches at least 191 units, or until the light is manually turned off. Finally, after a ten-minute delay, the light is turned off."
|
|
},
|
|
"human_like": "Gradually brightens the bedroom light at a scheduled alarm time to simulate a sunrise, then turns it off after ten minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_lights_t_when_starting_google_home_sleeping_sounds",
|
|
"result": {
|
|
"structured": "TRIGGER: When media player slaapkamer t [media_player.slaapkamer_t] has the attribute app_id equal to 9731D581 for 2 seconds. CONDITIONS: None. ACTIONS: Set volume of media player slaapkamer t [media_player.slaapkamer_t] to 0.4. IF ledstrip bed mini [light.ledstrip_bed_mini] is on THEN turn off ledstrip bed mini [light.ledstrip_bed_mini] with a 5-second transition. Wait 40 minutes. Set volume of media player slaapkamer t [media_player.slaapkamer_t] to 0.3. Wait 5 minutes. Set volume of media player slaapkamer t [media_player.slaapkamer_t] to 0.1. Turn off media player slaapkamer t [media_player.slaapkamer_t].",
|
|
"natural_language": {
|
|
"trigger": "When the media player slaapkamer t [media_player.slaapkamer_t] has been running the app with ID 9731D581 for at least two seconds.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "First, set the volume of the media player slaapkamer t [media_player.slaapkamer_t] to 40%. Then, if the ledstrip bed mini [light.ledstrip_bed_mini] is on, it will be turned off with a gentle 5-second fade. After a 40-minute delay, the media player's volume is lowered to 30%. Following another 5-minute delay, the volume is reduced further to 10%, and finally, the media player is turned off."
|
|
},
|
|
"human_like": "Gradually lowers the volume and turns off the bedroom speaker and lights when a specific sleep sound app starts, creating a gentle wind-down routine.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_upload_to_pvoutput",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 minutes when the minute value matches the pattern '/5' and seconds are 0. CONDITIONS: Work mode [sensor.work_mode] is in state 'Normal'. ACTIONS: Execute the REST command 'update_pvoutput'.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every 5 minutes, precisely when the clock's seconds are at 0.",
|
|
"conditions": "The automation only proceeds if the Work mode [sensor.work_mode] sensor is currently set to 'Normal'.",
|
|
"action": "It sends solar data to the PVOutput service by calling the 'update_pvoutput' REST command."
|
|
},
|
|
"human_like": "Uploads solar generation data to the PVOutput website every 5 minutes when the system is in normal operation mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_handle_pv_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When Negatieve stroomprijs [binary_sensor.negatieve_stroomprijs] attribute 'position' changes from 'above' to 'below' (automatic_start) OR when Negatieve stroomprijs [binary_sensor.negatieve_stroomprijs] attribute 'position' changes from 'below' to 'above' (automatic_stop) OR at the time specified by Solar PV off start [input_datetime.solar_pv_off_start] (scheduled_start) OR at the time specified by Solar PV off end [input_datetime.solar_pv_off_end] (scheduled_stop). CONDITIONS: Work mode [sensor.work_mode] is in state 'Normal'. ACTIONS: For trigger automatic_start: IF Solar PV off automatic [input_boolean.solar_pv_off_automatic] is 'on' THEN set Grid export limit [number.grid_export_limit] to 0 ELSE stop. For trigger automatic_stop: IF Solar PV off automatic [input_boolean.solar_pv_off_automatic] is 'on' THEN set Grid export limit [number.grid_export_limit] to 100 ELSE stop. For trigger scheduled_start: IF Solar PV off schedule [input_boolean.solar_pv_off_schedule] is 'on' THEN set Grid export limit [number.grid_export_limit] to 0 ELSE stop. For trigger scheduled_stop: IF Solar PV off schedule [input_boolean.solar_pv_off_schedule] is 'on' THEN set Grid export limit [number.grid_export_limit] to 100 AND turn off Solar PV off schedule [input_boolean.solar_pv_off_schedule] ELSE stop. Finally, send a push notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with a title and a message defined by the trigger variables.",
|
|
"natural_language": {
|
|
"trigger": "The automation can start in four ways: when the electricity price indicator changes from positive to negative, when it changes from negative to positive, at a scheduled start time, or at a scheduled end time.",
|
|
"conditions": "The automation only runs if the solar inverter's work mode is reported as 'Normal', indicating it is operational.",
|
|
"action": "Depending on which trigger started the automation, different actions are taken. If the price turned negative and automatic control is enabled, the grid export limit is set to 0% to stop solar production. If the price turned positive and automatic control is enabled, the limit is set to 100% to resume production. If a scheduled start time is reached and schedule control is enabled, the limit is set to 0%. If a scheduled end time is reached and schedule control is enabled, the limit is set to 100% and the schedule toggle is turned off. After any successful action, a push notification is sent to the user's mobile device with a relevant message."
|
|
},
|
|
"human_like": "Automatically turns off solar panel production when electricity prices are negative or at a scheduled time, and turns it back on when prices are positive or the schedule ends, sending a notification each time.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "set_theme",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR When the state of Sun [sun.sun] changes. CONDITIONS: None. ACTIONS: If Sun [sun.sun] is above the horizon, set the frontend theme to Hmmbob light theme with dark mode. Otherwise, set the frontend theme to Hmmbob dark theme with dark mode.",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant first starts up, or whenever the state of the Sun [sun.sun] changes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "If the Sun [sun.sun] is above the horizon, the frontend theme is set to 'Hmmbob light theme' in dark mode. If the Sun [sun.sun] is not above the horizon, the frontend theme is set to 'Hmmbob dark theme' in dark mode."
|
|
},
|
|
"human_like": "Automatically switches between light and dark themes based on whether the sun is up, and also applies the correct theme when Home Assistant starts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ui_set_end_date",
|
|
"result": {
|
|
"structured": "TRIGGER: When Solar PV off start [input_datetime.solar_pv_off_start] changes state. CONDITIONS: None. ACTIONS: Set the date of the entity referenced by the trigger variable 'end_entity_id' (input_datetime.solar_pv_off_end) to the date part (first 10 characters) of the state of Solar PV off start [input_datetime.solar_pv_off_start].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Solar PV off start [input_datetime.solar_pv_off_start] input datetime changes its value.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Sets the date component of the Solar PV off end [input_datetime.solar_pv_off_end] field to match the date component of the Solar PV off start [input_datetime.solar_pv_off_start] field."
|
|
},
|
|
"human_like": "Keeps the end date of a solar power-off period synchronized with the start date, ensuring both dates are on the same day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "system_update_available_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When Latest version [sensor.latest_version] changes to any state except unknown, unavailable, or none. CONDITIONS: The value of Latest version [sensor.latest_version] is not equal to the value of Current version [sensor.current_version]. ACTIONS: Send a notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Upgrade time!' and a message indicating a new Home Assistant container version is available, including a link to the changelog.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Latest version [sensor.latest_version] sensor updates to a valid state, meaning it is not 'unknown', 'unavailable', or 'none'.",
|
|
"conditions": "The reported latest version must be different from the currently installed version, as indicated by the Current version [sensor.current_version] sensor.",
|
|
"action": "Sends a push notification titled 'Upgrade time!' to the mobile device via mobile app sm a556b [notify.mobile_app_sm_a556b], informing the user that a new Home Assistant container version is available and providing a direct link to its changelog."
|
|
},
|
|
"human_like": "Sends a mobile notification when a new Home Assistant update becomes available, prompting the user to upgrade.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "afval_meldingen",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches input_datetime.time_trash_warning_today OR When the time reaches input_datetime.time_trash_warning_tomorrow. CONDITIONS: (Notify trash [input_boolean.notify_trash] is on) AND (The state of sensor.afvalinfo_home_{{ trigger.id }} is not unknown, unavailable, none, or geen) AND (input boolean vacation mode away [input_boolean.vacation_mode_away] is off). ACTIONS: IF the trigger is 'morgen', THEN turn off Trash outside [input_boolean.trash_outside]. IF the trigger is 'vandaag', THEN check if Trash outside [input_boolean.trash_outside] is on; IF it is on, stop the automation; ELSE send a push notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with a title and message about which trash is collected, set the volume of media player kiosk1 fkb [media_player.kiosk1_fkb] to 0.9, IF Notify trash voice [input_boolean.notify_trash_voice] is on, THEN play a TTS message on media player kiosk1 fkb [media_player.kiosk1_fkb], and show a fullscreen popup on browser devices kiosk1 and kiosk2 with an image from a dynamic URL.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs at two specific times: one set in input_datetime.time_trash_warning_today and another set in input_datetime.time_trash_warning_tomorrow.",
|
|
"conditions": "Notifications must be enabled via Notify trash [input_boolean.notify_trash], the trash sensor (which changes based on the trigger) must have a valid state (not unknown, unavailable, none, or geen), and vacation mode must be off via input boolean vacation mode away [input_boolean.vacation_mode_away].",
|
|
"action": "If the trigger is for tomorrow, it resets the Trash outside [input_boolean.trash_outside] helper. If the trigger is for today, it first checks if the trash is already marked as outside. If it is, the automation stops. Otherwise, it sends a push notification to a mobile device, optionally plays a text-to-speech announcement on a media player if voice notifications are enabled, and displays a fullscreen image on specified kiosk browsers."
|
|
},
|
|
"human_like": "Sends reminders about which type of trash will be collected today or tomorrow, including optional voice announcements and visual displays, but only if notifications are enabled and you're not on vacation.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "afval_process_reminder_status",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event occurs with action 'trash_outside'. CONDITIONS: None. ACTIONS: Turn on Trash outside [input_boolean.trash_outside].",
|
|
"natural_language": {
|
|
"trigger": "When you tap the 'trash_outside' action button on a notification sent to the mobile app.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sets the status flag by turning on the Trash outside [input_boolean.trash_outside] input boolean."
|
|
},
|
|
"human_like": "Updates the system to remember that the trash has been taken outside when you confirm it via a mobile notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "update_waze_to_home",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 minutes (when minutes match pattern /5 and seconds are 0). CONDITIONS: None. ACTIONS: Update the entity Reistijd Bob naar huis [sensor.reistijd_bob_naar_huis].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every five minutes, on the minute (e.g., 12:00, 12:05, 12:10).",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Refreshes the data for the sensor Reistijd Bob naar huis [sensor.reistijd_bob_naar_huis]."
|
|
},
|
|
"human_like": "Updates the travel time from Bob to home every five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "location_ask_to_send_notification_hmmbob_left",
|
|
"result": {
|
|
"structured": "TRIGGER: When SM A556b android auto [binary_sensor.sm_a556b_android_auto] changes from off to on. CONDITIONS: (Device tracker SM A556b [device_tracker.sm_a556b] is NOT in zone home [zone.home] AND Device tracker SM A556b [device_tracker.sm_a556b] is NOT in zone breda [zone.breda] AND Device tracker SM A556b [device_tracker.sm_a556b] is NOT in zone vkl [zone.vkl] AND Device tracker SM A556b [device_tracker.sm_a556b] is NOT in zone adr [zone.adr] AND Device tracker SM A556b [device_tracker.sm_a556b] is NOT in zone amc [zone.amc]) AND Location Bob travelling home [input_boolean.location_bob_travelling_home] is on. ACTIONS: Send a push notification via mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Reistijd', message 'Wil je een melding versturen?', and car UI actions.",
|
|
"natural_language": {
|
|
"trigger": "When the SM A556b android auto [binary_sensor.sm_a556b_android_auto] becomes active, indicating a connection to Android Auto.",
|
|
"conditions": "The automation runs only if the device tracker for SM A556b [device_tracker.sm_a556b] is not located within any of the specified zones: home, breda, vkl, adr, or amc. Additionally, the automation checks that the Location Bob travelling home [input_boolean.location_bob_travelling_home] is currently set to on, meaning a travel notification hasn't already been sent.",
|
|
"action": "Sends a push notification to the mobile app sm a556b [notify.mobile_app_sm_a556b] asking the user if they want to send a travel time notification, with options presented in a car-themed interface."
|
|
},
|
|
"human_like": "Asks Bob if he wants to send a travel time notification when he connects to Android Auto while outside of predefined safe zones.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "location_notification_hmmbob_left_work",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event with action 'send_traveltime' occurs OR When Device tracker SM A556b [device_tracker.sm_a556b] leaves zone.breda OR When Device tracker SM A556b [device_tracker.sm_a556b] leaves zone.vkl OR When Device tracker SM A556b [device_tracker.sm_a556b] leaves zone.adr OR When Device tracker SM A556b [device_tracker.sm_a556b] leaves zone.amc. CONDITIONS: The current time is between 14:00:00 and 19:00:00 AND the current day is Monday, Tuesday, Wednesday, Thursday, or Friday. ACTIONS: Turn on Location Bob travelling home [input_boolean.location_bob_travelling_home] AND Update the entity sensor.reistijd_bob_naar_huis AND Wait for 10 seconds AND Send a notification to mobile devices adults [notify.mobile_devices_adults] with a title and message containing the estimated arrival time AND Send a clear_notification message to mobile app sm a556b [notify.mobile_app_sm_a556b] AND Turn on Update waze travel time to home [automation.update_waze_travel_time_to_home].",
|
|
"natural_language": {
|
|
"trigger": "This automation can start in several ways: when Bob interacts with a mobile app notification and selects the 'send_traveltime' action, or when Bob's phone (Device tracker SM A556b [device_tracker.sm_a556b]) leaves any of the specified work-related zones (zone.breda, zone.vkl, zone.adr, or zone.amc).",
|
|
"conditions": "The automation only proceeds if it is a weekday (Monday through Friday) and the time is between 2:00 PM and 7:00 PM.",
|
|
"action": "First, it marks that Bob is travelling home by turning on the Location Bob travelling home [input_boolean.location_bob_travelling_home] input boolean. Then, it forces an update of the Waze travel time sensor (Reistijd Bob naar huis [sensor.reistijd_bob_naar_huis]), waits 10 seconds for the update to complete, and sends a notification to the adults' mobile devices announcing Bob is on his way home with an estimated arrival time. It also clears a specific notification from Bob's own phone and turns on another automation responsible for updating the travel time."
|
|
},
|
|
"human_like": "Notifies the household when Bob leaves work and is on his way home on weekday afternoons, providing an estimated arrival time.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "location_update_traveltime_notification_hmmbob",
|
|
"result": {
|
|
"structured": "TRIGGER: When Reistijd Bob naar huis [sensor.reistijd_bob_naar_huis] changes state. CONDITIONS: Location Bob travelling home [input_boolean.location_bob_travelling_home] is on. ACTIONS: Send a notification to mobile devices adults [notify.mobile_devices_adults] with title '♥ Bob is op weg naar huis!', a message containing the estimated arrival time (current time plus 3 minutes plus the integer value of sensor.reistijd_bob_naar_huis), and various notification parameters (alert_once, car_ui, clickAction, notification_icon, persistent, priority, sticky, tag, ttl).",
|
|
"natural_language": {
|
|
"trigger": "Whenever the travel time sensor Reistijd Bob naar huis [sensor.reistijd_bob_naar_huis] updates with a new value.",
|
|
"conditions": "The automation only runs if the status Location Bob travelling home [input_boolean.location_bob_travelling_home] is currently set to 'on', indicating that Bob is believed to be travelling home.",
|
|
"action": "Sends a high-priority, persistent notification to the mobile devices of adults [notify.mobile_devices_adults]. The notification announces that Bob is on his way home and provides an estimated arrival time, calculated as the current time plus 3 minutes plus the travel time reported by the sensor. The notification includes specific settings to make it prominent and actionable."
|
|
},
|
|
"human_like": "Sends a notification with an updated estimated arrival time when Bob's travel home time changes and he is marked as travelling.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "location_clear_traveltime_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device tracker SM A556b [device_tracker.sm_a556b] enters zone home [zone.home]. CONDITIONS: Location Bob travelling home [input_boolean.location_bob_travelling_home] is on. ACTIONS: Turn off Location Bob travelling home [input_boolean.location_bob_travelling_home], send a notification to mobile devices adults [notify.mobile_devices_adults] with a message to clear the Waze notification, and turn off Update waze travel time to home [automation.update_waze_travel_time_to_home].",
|
|
"natural_language": {
|
|
"trigger": "When the device tracker for SM A556b [device_tracker.sm_a556b] enters the home zone [zone.home].",
|
|
"conditions": "The automation only runs if the input boolean Location Bob travelling home [input_boolean.location_bob_travelling_home] is currently switched on.",
|
|
"action": "It turns off the Location Bob travelling home [input_boolean.location_bob_travelling_home] flag, sends a notification to the mobile devices for adults [notify.mobile_devices_adults] to clear the Waze travel time notification, and also turns off the automation named Update waze travel time to home [automation.update_waze_travel_time_to_home]."
|
|
},
|
|
"human_like": "Clears travel time notifications and stops the travel time updates when Bob arrives home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "location_send_ev_charger_status",
|
|
"result": {
|
|
"structured": "TRIGGER: When Device tracker SM A556b [device_tracker.sm_a556b] enters zone.laadpaal_waarschuwing. CONDITIONS: None. ACTIONS: Set variable 'laadpalen_werk' to list [sensor.laadpaal_werk_1, sensor.laadpaal_werk_2]. Set variable 'laadpalen_extra' to list [sensor.laadpaal_werk_3, sensor.laadpaal_werk_4]. Set variable 'message' to: 'Er is een laadpaal vrij bij het station!' if any sensor in 'laadpalen_werk' has state 'Available', else 'Er is een laadpaal vrij in de wijk!' if any sensor in 'laadpalen_extra' has state 'Available', else 'Helaas, geen laadpaal vrij.'. Then, send a push notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Laadpaal', the computed message, and data including car_ui: true, notification_icon: mdi:ev-station, tag: charger_available, ttl: 0, priority: high.",
|
|
"natural_language": {
|
|
"trigger": "When the device tracker for the phone (Device tracker SM A556b [device_tracker.sm_a556b]) enters a specific warning zone (zone.laadpaal_waarschuwing).",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation first checks the status of two groups of EV charger sensors. It looks at the 'werk' group (sensor.laadpaal_werk_1 and sensor.laadpaal_werk_2) and the 'extra' group (sensor.laadpaal_werk_3 and sensor.laadpaal_werk_4). Based on which group has an available charger, it creates a message: if a charger in the 'werk' group is free, it says there's a charger free at the station; otherwise, if a charger in the 'extra' group is free, it says there's a charger free in the neighborhood; if none are free, it says no chargers are available. Finally, it sends this message as a high-priority push notification to the phone with a specific icon and tag."
|
|
},
|
|
"human_like": "Sends a notification to your phone when you enter a specific area, letting you know if there is a free EV charger nearby.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ups_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When UPS battery charge [sensor.ups_battery_charge] OR UPS status data [sensor.ups_status_data] changes state. CONDITIONS: The previous state of the triggering entity is NOT 'unavailable' AND NOT 'unknown'. ACTIONS: Choose based on UPS status data [sensor.ups_status_data] state: IF state is 'OB DISCHRG' THEN send a high-priority persistent notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with title '🪫 UPS ingeschakeld!' and a message including the calculated battery runtime. IF state is 'OL CHRG' THEN send a high-priority persistent notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with title '🔋 UPS weer online & aan het opladen!' and a message including the current battery charge percentage. IF state is 'OL' THEN send a clear notification command to mobile app sm a556b [notify.mobile_app_sm_a556b] to remove any existing notifications with the tag 'UPS'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever the UPS battery charge [sensor.ups_battery_charge] or the UPS status data [sensor.ups_status_data] changes its state.",
|
|
"conditions": "The automation only proceeds if the previous state of the sensor that triggered the automation was not 'unavailable' or 'unknown'. This ensures the system is working with valid data.",
|
|
"action": "Depending on the current status of the UPS, the automation performs different actions. If the UPS is on battery and discharging, it sends a persistent, high-priority notification to a mobile device warning that the servers are running on battery and showing the remaining runtime. If the UPS is back online and charging, it sends a similar notification to announce the return of power and the current battery charge level. If the UPS is fully back online and not charging, it sends a command to clear any previous UPS-related notifications from the mobile device."
|
|
},
|
|
"human_like": "Sends mobile notifications when the UPS switches to battery power or when power is restored, and clears the alert when the situation is fully resolved.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "warn_for_power_fail",
|
|
"result": {
|
|
"structured": "TRIGGER: When Slimmelezer power failure L1 [binary_sensor.slimmelezer_power_failure_l1] changes from off to on OR When Slimmelezer power failure L2 [binary_sensor.slimmelezer_power_failure_l2] changes from off to on OR When Slimmelezer power failure L3 [binary_sensor.slimmelezer_power_failure_l3] changes from off to on. CONDITIONS: None. ACTIONS: Send a high-priority notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Power failure', message containing the friendly name of the triggering entity, a tag 'power_failure', no TTL, notification icon 'mdi:transmission-tower-off', and car UI enabled.",
|
|
"natural_language": {
|
|
"trigger": "When any of the three power failure sensors (Slimmelezer power failure L1, L2, or L3) changes from a normal state (off) to a failure state (on).",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Sends a high-priority notification to the mobile app sm a556b. The notification has the title 'Power failure' and includes the friendly name of the specific sensor that triggered the alert. It is configured to appear in the car's user interface and uses a specific icon."
|
|
},
|
|
"human_like": "Sends an urgent phone notification when a power failure is detected on any electrical phase.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_bijkeuken",
|
|
"result": {
|
|
"structured": "TRIGGER: When PIR bijkeuken occupancy [binary_sensor.pir_bijkeuken_occupancy] changes from off to on OR When PIR bijkeuken occupancy [binary_sensor.pir_bijkeuken_occupancy] changes from on to off. CONDITIONS: Enable PIR bijkeuken automations [input_boolean.enable_pir_bijkeuken_automations] is on. ACTIONS: Turn on Bijkeuken [switch.bijkeuken] if the trigger variable 'action' is 'turn_on', or turn off Bijkeuken [switch.bijkeuken] if the trigger variable 'action' is 'turn_off'.",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected (PIR bijkeuken occupancy [binary_sensor.pir_bijkeuken_occupancy] changes from off to on) or when motion is no longer detected (changes from on to off).",
|
|
"conditions": "The automation is only allowed to run if the switch Enable PIR bijkeuken automations [input_boolean.enable_pir_bijkeuken_automations] is turned on.",
|
|
"action": "Based on the trigger event, the automation will either turn on or turn off the light switch Bijkeuken [switch.bijkeuken]. It turns the light on when motion is detected and turns it off when motion stops."
|
|
},
|
|
"human_like": "Automatically turns the light in the utility room on when motion is detected and off when motion stops, provided the automation is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacation_turn_on_time",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in input_datetime.time_vacation_lights_start. CONDITIONS: input boolean vacation mode away [input_boolean.vacation_mode_away] is on. ACTIONS: Wait for a random delay between 0 and 30 minutes, then turn on Spots woonkamer [light.spots_woonkamer] AND Spots eetkamer [light.spots_eetkamer], log an entry in the logbook for the light domain with the current time, and send a high-priority notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with the current time.",
|
|
"natural_language": {
|
|
"trigger": "At the specific time set by the input_datetime.time_vacation_lights_start.",
|
|
"conditions": "The vacation mode, represented by input boolean vacation mode away [input_boolean.vacation_mode_away], must be active (on).",
|
|
"action": "After a random delay of up to 30 minutes, the automation turns on the Spots woonkamer [light.spots_woonkamer] and Spots eetkamer [light.spots_eetkamer] lights, creates a logbook entry noting the time the lights were turned on, and sends a high-priority notification to the mobile app sm a556b [notify.mobile_app_sm_a556b] informing the user of the action and the time."
|
|
},
|
|
"human_like": "Turns on living room and dining room lights at a scheduled time during vacation, with a random delay to simulate occupancy, and notifies the user.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacation_turn_off_time",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in input_datetime.time_vacation_lights_end. CONDITIONS: input boolean vacation mode away [input_boolean.vacation_mode_away] is on. ACTIONS: Wait for a random delay between 0 and 15 minutes, then turn off Spots woonkamer [light.spots_woonkamer] AND turn off Spots eetkamer [light.spots_eetkamer], log an entry in the logbook for the light domain with the current time, and send a high-priority notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with the current time.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs at a specific time of day, which is set by the entity input_datetime.time_vacation_lights_end.",
|
|
"conditions": "The automation only proceeds if the vacation mode is active, meaning the input boolean vacation mode away [input_boolean.vacation_mode_away] is set to 'on'.",
|
|
"action": "After waiting for a random amount of time up to 15 minutes, the automation turns off the Spots woonkamer [light.spots_woonkamer] and Spots eetkamer [light.spots_eetkamer] lights. It then creates a logbook entry noting the lights were turned off and sends a push notification to the user's mobile device confirming the action with the current time."
|
|
},
|
|
"human_like": "Turns off the living room and dining room lights at a scheduled time during vacation mode, with a random delay to simulate natural behavior, and notifies the user.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacation_movement_inside",
|
|
"result": {
|
|
"structured": "TRIGGER: When fietsenhok contact [binary_sensor.fietsenhok_contact] changes from off to on OR when PIR bijkeuken occupancy [binary_sensor.pir_bijkeuken_occupancy] changes from off to on OR when PIR gang kapstok motion detection [binary_sensor.pir_gang_kapstok_motion_detection] changes from off to on OR when PIR gang meterkast motion detection [binary_sensor.pir_gang_meterkast_motion_detection] changes from off to on OR when pir inloopkast occupancy [binary_sensor.pir_inloopkast_occupancy] changes from off to on OR when poort contact [binary_sensor.poort_contact] changes from off to on. CONDITIONS: input boolean vacation mode away [input_boolean.vacation_mode_away] is on. ACTIONS: Send a high-priority notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with a message indicating movement detected by the triggering sensor and the current time, and log an entry to the logbook under the 'Vacation' domain with a message about the movement.",
|
|
"natural_language": {
|
|
"trigger": "When any of the following sensors detect activity by changing from an 'off' (inactive) state to an 'on' (active) state: the fietsenhok contact [binary_sensor.fietsenhok_contact], the PIR bijkeuken occupancy [binary_sensor.pir_bijkeuken_occupancy], the PIR gang kapstok motion detection [binary_sensor.pir_gang_kapstok_motion_detection], the PIR gang meterkast motion detection [binary_sensor.pir_gang_meterkast_motion_detection], the pir inloopkast occupancy [binary_sensor.pir_inloopkast_occupancy], or the poort contact [binary_sensor.poort_contact].",
|
|
"conditions": "The vacation mode must be active, meaning the input boolean vacation mode away [input_boolean.vacation_mode_away] is set to 'on'.",
|
|
"action": "Send a high-priority push notification to the user's mobile device via mobile app sm a556b [notify.mobile_app_sm_a556b], stating which sensor detected movement and the time it happened. Also, record a logbook entry in the 'Vacation' domain noting the movement detection."
|
|
},
|
|
"human_like": "Sends an alert to your phone and logs an event when any monitored door or motion sensor is triggered while the house is in vacation mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_ask_to_run",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time matches input_datetime.vacuum_ask_for_cleaning_time. CONDITIONS: (Vacuum enable ask for cleaning [input_boolean.vacuum_enable_ask_for_cleaning] is on) AND (The time elapsed since Rocky last clean start [sensor.rocky_last_clean_start] is greater than 86100 seconds) AND (input boolean vacation mode away [input_boolean.vacation_mode_away] is off). ACTIONS: First, send a notification asking 'Zal ik gaan stofzuigen? 🧹🧹' to the appropriate notification service determined by the home status of Device tracker SM A566b [device_tracker.sm_a566b] and Device tracker SM A556b [device_tracker.sm_a556b]. Then, wait up to 1 hour for a mobile app notification action 'vacuum_start_yes'. If the action is received within the timeout, start the vacuum Rocky [vacuum.rocky]. If the timeout expires without the action, the automation stops.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at a specific time defined by input_datetime.vacuum_ask_for_cleaning_time.",
|
|
"conditions": "The automation only runs if the 'Vacuum enable ask for cleaning' [input_boolean.vacuum_enable_ask_for_cleaning] is turned on, more than 86100 seconds (approximately 24 hours) have passed since the last time Rocky started cleaning [sensor.rocky_last_clean_start], and the 'vacation mode away' [input_boolean.vacation_mode_away] is off.",
|
|
"action": "First, a notification is sent to the appropriate mobile device(s) based on who is home. If both Device tracker SM A566b and Device tracker SM A556b are home, it notifies the group 'mobile devices adults'. If only one is home, it notifies that specific device. The notification asks if Rocky should vacuum and provides 'Yes' and 'No' buttons. The automation then waits for up to one hour for a 'Yes' response. If the 'Yes' response is received, it starts the vacuum Rocky [vacuum.rocky]. If no response is received within the hour, the automation ends without starting the vacuum."
|
|
},
|
|
"human_like": "Asks if the vacuum robot Rocky should clean at a scheduled time, but only if cleaning is enabled, it hasn't cleaned recently, and the house is not in vacation mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_drive_to_trash",
|
|
"result": {
|
|
"structured": "TRIGGER: When Rocky [vacuum.rocky] changes state from cleaning to returning. CONDITIONS: None. ACTIONS: Stop Rocky [vacuum.rocky]. Wait for 2 seconds. Send Rocky [vacuum.rocky] to the trash can using the app_goto_target command with coordinates (30301, 29421). Wait for Rocky [vacuum.rocky] to become idle, with a timeout of 5 minutes. If the wait succeeds, send a high-priority notification to mobile devices adults [notify.mobile_devices_adults] with a message requesting emptying and a button to return to dock.",
|
|
"natural_language": {
|
|
"trigger": "When the vacuum cleaner Rocky [vacuum.rocky] finishes cleaning and starts returning to its dock.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "First, the automation stops Rocky [vacuum.rocky]. After a brief two-second delay, it sends a command to Rocky [vacuum.rocky] to navigate to a specific location (the trash can). It then waits for up to five minutes for Rocky [vacuum.rocky] to become idle, indicating it has arrived. Once it arrives, a notification is sent to the adults' mobile devices [notify.mobile_devices_adults] with a message asking for the vacuum to be emptied and providing a button to send it back to its dock."
|
|
},
|
|
"human_like": "Sends the vacuum cleaner Rocky to the trash can after it finishes cleaning, then notifies you to empty it.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_return_to_dock",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event occurs with action 'vacuum_return_to_dock'. CONDITIONS: None. ACTIONS: Send Rocky [vacuum.rocky] to its dock.",
|
|
"natural_language": {
|
|
"trigger": "When a specific action ('vacuum_return_to_dock') is tapped on a notification sent to a mobile app.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Commands the Rocky [vacuum.rocky] robot vacuum to return to its charging dock."
|
|
},
|
|
"human_like": "Sends the Rocky robot vacuum back to its dock when a specific notification button is pressed on a phone.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_notification_cleaning_started",
|
|
"result": {
|
|
"structured": "TRIGGER: When Rocky [vacuum.rocky] changes state from docked to cleaning. CONDITIONS: None. ACTIONS: Send a notification to mobile app sm a556b [notify.mobile_app_sm_a556b] with title 'Rocky' and message 'Rocky doet zijn rondje! 🧹🧹'.",
|
|
"natural_language": {
|
|
"trigger": "When the vacuum cleaner Rocky [vacuum.rocky] starts cleaning, transitioning from its docked state.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a notification to the mobile device mobile app sm a556b [notify.mobile_app_sm_a556b] with the title 'Rocky' and the message 'Rocky doet zijn rondje! 🧹🧹'."
|
|
},
|
|
"human_like": "Sends a phone notification when the Rocky vacuum cleaner starts its cleaning cycle.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_clear_messages",
|
|
"result": {
|
|
"structured": "TRIGGER: When Rocky vacuum error [sensor.rocky_vacuum_error] changes to state 'none' OR When Rocky [vacuum.rocky] changes from state 'returning' to state 'docked'. CONDITIONS: None. ACTIONS: Send a notification to mobile devices adults [notify.mobile_devices_adults] with a message to clear notifications tagged 'vacuum'.",
|
|
"natural_language": {
|
|
"trigger": "This automation runs when the Rocky vacuum error [sensor.rocky_vacuum_error] changes to a state of 'none', or when the vacuum Rocky [vacuum.rocky] transitions from 'returning' to 'docked'.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "It sends a notification command to the mobile devices adults [notify.mobile_devices_adults] service to clear any existing notifications that have the tag 'vacuum'."
|
|
},
|
|
"human_like": "Clears vacuum-related notifications from adult devices when the vacuum finishes returning to its dock or when a vacuum error is cleared.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_notification_error",
|
|
"result": {
|
|
"structured": "TRIGGER: When Rocky vacuum error [sensor.rocky_vacuum_error] changes state. CONDITIONS: Rocky vacuum error [sensor.rocky_vacuum_error] is NOT (none OR unavailable). ACTIONS: Send a notification using a dynamically selected notification service. The service is determined by: IF (Device tracker SM A566b [device_tracker.sm_a566b] is home AND Device tracker SM A556b [device_tracker.sm_a556b] is home) THEN use mobile devices adults [notify.mobile_devices_adults] ELSE IF (Device tracker SM A566b [device_tracker.sm_a566b] is home) THEN use mobile app sm a556b [notify.mobile_app_sm_a556b] ELSE IF (Device tracker SM A556b [device_tracker.sm_a556b] is home) THEN use mobile app sm a556b [notify.mobile_app_sm_a556b] ELSE use a placeholder service. The notification has a high priority, title 'Rocky heeft een probleem', and a message containing the translated error state.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Rocky vacuum error [sensor.rocky_vacuum_error] sensor changes.",
|
|
"conditions": "The error sensor must not be in a state of 'none' or 'unavailable'; it must have a meaningful error value.",
|
|
"action": "Sends a high-priority mobile notification titled 'Rocky heeft een probleem' with the translated error message. The notification is sent to a specific person or group based on who is home: if both Device tracker SM A566b [device_tracker.sm_a566b] and Device tracker SM A556b [device_tracker.sm_a556b] are home, it notifies the mobile devices adults [notify.mobile_devices_adults] group. If only one of them is home, it notifies that person's device. If neither is home, it attempts to send to a placeholder service."
|
|
},
|
|
"human_like": "Sends a mobile alert when the vacuum cleaner 'Rocky' reports an error, notifying the appropriate person based on who is at home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_consumable_warning",
|
|
"result": {
|
|
"structured": "TRIGGER: When Rocky filter time left [sensor.rocky_filter_time_left] OR Rocky main brush time left [sensor.rocky_main_brush_time_left] OR Rocky sensor time left [sensor.rocky_sensor_time_left] OR Rocky side brush time left [sensor.rocky_side_brush_time_left] falls below 0. CONDITIONS: None. ACTIONS: Determine which consumable triggered the alert. Send a high-priority notification to mobile app sm a556b [notify.mobile_app_sm_a556b] stating the specific consumable needs replacement or cleaning and offering a 'Reset counter' button. Wait for 1 hour for a 'reset_consumable' action response. If the response is received within the timeout, press the corresponding reset button [button.rocky_reset_air_filter_consumable, button.rocky_reset_main_brush_consumable, button.rocky_reset_sensor_consumable, or button.rocky_reset_side_brush_consumable]. If no response is received within the timeout, create a persistent notification as a reminder that the counter was not reset.",
|
|
"natural_language": {
|
|
"trigger": "When any of the consumable time sensors for the vacuum (Rocky filter time left [sensor.rocky_filter_time_left], Rocky main brush time left [sensor.rocky_main_brush_time_left], Rocky sensor time left [sensor.rocky_sensor_time_left], or Rocky side brush time left [sensor.rocky_side_brush_time_left]) drops below zero, indicating the part's maintenance time has expired.",
|
|
"conditions": "There are no additional conditions that must be met for the automation to proceed.",
|
|
"action": "The automation identifies which specific part triggered the alert. It then sends a notification to the user's mobile device via mobile app sm a556b [notify.mobile_app_sm_a556b], asking if they want to reset the maintenance counter for that part. The automation waits for one hour for the user to tap the 'Reset counter' button in the notification. If the user responds within the hour, the corresponding reset button for the part is pressed. If the user does not respond within the hour, a persistent notification is created as a reminder that the maintenance counter still needs to be reset."
|
|
},
|
|
"human_like": "Alerts you when Rocky the vacuum cleaner needs maintenance on any of its parts and lets you reset the maintenance timer directly from your phone.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilation_handle_button",
|
|
"result": {
|
|
"structured": "TRIGGER: When Drukknop badkamer action [event.drukknop_badkamer_action] OR Drukknop badkamer zolder action [event.drukknop_badkamer_zolder_action] OR Drukknop bijkeuken action [event.drukknop_bijkeuken_action] changes state. CONDITIONS: The extracted event type is not 'unknown' AND not 'unavailable'. ACTIONS: Start timer fan runtime [timer.fan_runtime] for 1 hour if the event type is 'brightness_move_up' OR '1_long_press', otherwise start it for 30 minutes.",
|
|
"natural_language": {
|
|
"trigger": "When any of the button action events from Drukknop badkamer action [event.drukknop_badkamer_action], Drukknop badkamer zolder action [event.drukknop_badkamer_zolder_action], or Drukknop bijkeuken action [event.drukknop_bijkeuken_action] occur.",
|
|
"conditions": "The specific type of button press event that occurred must be known and available (i.e., it cannot be 'unknown' or 'unavailable').",
|
|
"action": "Starts the ventilation timer, timer fan runtime [timer.fan_runtime], for one hour if the button press was a 'brightness_move_up' or '1_long_press' action, or for thirty minutes for any other valid button press."
|
|
},
|
|
"human_like": "Starts the ventilation fan timer for either 30 minutes or 1 hour based on which button is pressed and how it's pressed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilation_boost_speed",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer fan runtime [timer.fan_runtime] starts. CONDITIONS: None. ACTIONS: Set Open air mini [fan.open_air_mini] fan speed to 80%.",
|
|
"natural_language": {
|
|
"trigger": "When the timer fan runtime [timer.fan_runtime] begins running.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sets the fan speed of the Open air mini [fan.open_air_mini] to 80%."
|
|
},
|
|
"human_like": "Boosts the ventilation fan to a higher speed whenever a specific timer starts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilation_set_speed",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 07:00:00 OR 09:00:00 OR 21:15:00 OR When Home Assistant starts OR When an automation is reloaded OR When timer fan runtime [timer.fan_runtime] finishes. CONDITIONS: None. ACTIONS: If triggered by Home Assistant start, wait 1 minute. Then, cancel timer fan runtime [timer.fan_runtime]. Then, based on the current time: (IF (time is after 06:59:59 AND before 09:00:00) AND Werkdag [binary_sensor.werkdag] is on THEN set Open air mini [fan.open_air_mini] speed to 70%) OR (IF (time is after 08:59:59 AND before 21:00:00) THEN set Open air mini [fan.open_air_mini] speed to 50%) OR (IF (time is after 20:59:59 AND before 07:00:00) THEN set Open air mini [fan.open_air_mini] speed to 20%).",
|
|
"natural_language": {
|
|
"trigger": "The automation runs at specific times (7:00 AM, 9:00 AM, and 9:15 PM), when Home Assistant starts up, when an automation is reloaded, or when the timer fan runtime [timer.fan_runtime] finishes.",
|
|
"conditions": "There are no global conditions. The actions include conditional logic based on the time of day and the status of the Werkdag [binary_sensor.werkdag] sensor.",
|
|
"action": "If the trigger was a Home Assistant start, it waits for one minute. It then cancels any existing timer fan runtime [timer.fan_runtime]. Finally, it sets the speed of the Open air mini [fan.open_air_mini] fan based on the time of day: to 70% during morning hours on workdays, 50% during the daytime, and 20% during the night."
|
|
},
|
|
"human_like": "This automation adjusts the ventilation fan speed throughout the day based on a schedule, with special handling for workday mornings and system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "wakeup_light_maxi",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time matches the value of zolder alarms [sensor.zolder_alarms]. CONDITIONS: None. ACTIONS: Turn on sonoff l1 [light.sonoff_l1] with brightness 100% and color temperature 3500K AND turn on battletron ball light m [light.battletron_ball_light_m] AND wait for 5 minutes AND turn off battletron ball light m [light.battletron_ball_light_m] AND turn off sonoff l1 [light.sonoff_l1].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs at the specific time reported by the sensor zolder alarms [sensor.zolder_alarms].",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "It turns on the sonoff l1 [light.sonoff_l1] light to full brightness with a warm white color, and also turns on the battletron ball light m [light.battletron_ball_light_m]. After a five-minute delay, it turns both lights off."
|
|
},
|
|
"human_like": "Turns on two lights at a scheduled wake-up time, keeps them on for five minutes, and then turns them off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_wc_beneden",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor pir wc beneden occupancy [binary_sensor.pir_wc_beneden_occupancy] changes from off to on OR When binary sensor pir wc beneden occupancy [binary_sensor.pir_wc_beneden_occupancy] changes from on to off AND remains off for 1 minute. CONDITIONS: None. ACTIONS: Call service switch.turn_on on switch wc beneden [switch.wc_beneden] (if trigger variable 'action' is 'turn_on') OR Call service switch.turn_off on switch wc beneden [switch.wc_beneden] (if trigger variable 'action' is 'turn_off').",
|
|
"natural_language": {
|
|
"trigger": "When motion is first detected by the binary sensor pir wc beneden occupancy [binary_sensor.pir_wc_beneden_occupancy], or when motion stops being detected and remains absent for one full minute.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns on the switch wc beneden [switch.wc_beneden] when motion is initially detected, and turns it off when motion has been absent for one minute."
|
|
},
|
|
"human_like": "Automatically turns the downstairs bathroom light on when someone enters and off one minute after they leave.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilation_wc_beneden",
|
|
"result": {
|
|
"structured": "TRIGGER: When switch wc beneden [switch.wc_beneden] remains on for 3 minutes. CONDITIONS: timer fan runtime [timer.fan_runtime] is idle. ACTIONS: Start timer fan runtime [timer.fan_runtime] for 10 minutes.",
|
|
"natural_language": {
|
|
"trigger": "When the switch wc beneden [switch.wc_beneden] has been turned on and remains in that state for at least three minutes.",
|
|
"conditions": "The automation only proceeds if the timer fan runtime [timer.fan_runtime] is currently idle, meaning it is not already running.",
|
|
"action": "Starts the timer fan runtime [timer.fan_runtime] for a duration of ten minutes."
|
|
},
|
|
"human_like": "Turns on the ventilation for 10 minutes when someone has been in the downstairs bathroom for at least 3 minutes, but only if the ventilation timer isn't already running.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_wc_boven",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor pir wc boven occupancy [binary_sensor.pir_wc_boven_occupancy] changes from off to on OR When binary sensor pir wc boven occupancy [binary_sensor.pir_wc_boven_occupancy] changes from on to off. CONDITIONS: None. ACTIONS: If the trigger was turn_on, then if the current time is between 22:30:00 and 06:45:00, turn on light wc boven [light.wc_boven] with brightness 80, otherwise turn it on with brightness 255. If the trigger was turn_off, then turn off light wc boven [light.wc_boven].",
|
|
"natural_language": {
|
|
"trigger": "When motion is first detected (binary sensor pir wc boven occupancy [binary_sensor.pir_wc_boven_occupancy] changes from off to on) or when motion is no longer detected (it changes from on to off).",
|
|
"conditions": "There are no additional conditions that must be met for the automation to run.",
|
|
"action": "If motion was just detected, the light wc boven [light.wc_boven] is turned on. During the night (between 10:30 PM and 6:45 AM), it turns on at a dimmed brightness of 80. At all other times, it turns on at full brightness (255). If motion is no longer detected, the light wc boven [light.wc_boven] is simply turned off."
|
|
},
|
|
"human_like": "Automatically turns the upstairs bathroom light on when motion is detected and off when motion stops, using a dimmer setting during nighttime hours.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ventilation_wc_boven",
|
|
"result": {
|
|
"structured": "TRIGGER: When light wc boven [light.wc_boven] turns on and remains on for 3 minutes. CONDITIONS: timer fan runtime [timer.fan_runtime] is idle. ACTIONS: Start timer fan runtime [timer.fan_runtime] for a duration of 10 minutes.",
|
|
"natural_language": {
|
|
"trigger": "When the light in the upstairs bathroom [light.wc_boven] is turned on and stays on for at least three minutes.",
|
|
"conditions": "The ventilation timer [timer.fan_runtime] must not already be running; it must be in the idle state.",
|
|
"action": "Starts the ventilation timer [timer.fan_runtime] to run for ten minutes."
|
|
},
|
|
"human_like": "Turns on the ventilation for 10 minutes if the upstairs bathroom light has been on for 3 minutes, but only if the ventilation isn't already running.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "rotate_turns",
|
|
"result": {
|
|
"structured": "TRIGGER: At 00:01:00 on Monday. CONDITIONS: None. ACTIONS: Select the next option for input select tafeldekken beurt [input_select.tafeldekken_beurt].",
|
|
"natural_language": {
|
|
"trigger": "Every Monday at one minute past midnight (00:01:00).",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Advances the selection of the input select tafeldekken beurt [input_select.tafeldekken_beurt] to the next option in its list."
|
|
},
|
|
"human_like": "Rotates the turn for setting the table to the next person every Monday morning.",
|
|
"complexity": "low"
|
|
}
|
|
}
|
|
] |