1289 lines
190 KiB
JSON
1289 lines
190 KiB
JSON
[
|
|
{
|
|
"id": "a86036e6-5023-4298-b809-defcbb4d6df9",
|
|
"result": {
|
|
"structured": "TRIGGER: When Play area LIDL button [event.knop_speelhoek_action] changes state from any state except unavailable. CONDITIONS: None. ACTIONS: If the event type is 'on', then toggle Play area light group [light.groep_speelhoek]. If the event type is 'off', then toggle Bookcase light [light.boekenkast].",
|
|
"natural_language": {
|
|
"trigger": "When the Play area LIDL button [event.knop_speelhoek_action] is pressed, generating an event.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Depending on the type of button press, it will toggle a different light. A short press (event type 'on') toggles the main play area lights, Play area light group [light.groep_speelhoek]. A double press (event type 'off') toggles the Bookcase light [light.boekenkast]."
|
|
},
|
|
"human_like": "Uses a button in the play area to toggle different lights: a short press toggles the main play area lights, and a double press toggles the bookcase light.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "3b350cdb-4a8e-4ce9-b239-fc2e329f931d",
|
|
"result": {
|
|
"structured": "TRIGGER: When Guest WiFi active sensor [sensor.guest_wifi_active] changes to a non-null state OR When Guest WiFi active sensor [sensor.guest_wifi_active] changes to '0' and remains for 2 hours. CONDITIONS: (Trigger ID is 'off') OR (Trigger to_state is a number AND Trigger from_state is a number AND Trigger to_state is greater than Trigger from_state). ACTIONS: Toggle guest mode input boolean [input_boolean.gast] to the state indicated by the trigger ID ('on' or 'off'). IF trigger ID is 'on', then for each new guest name in the added list (calculated as names in to_state attributes not in from_state attributes), trigger Guest mode sensor script [script.guest_mode_sensor] with variable 'guest' set to that name.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the Guest WiFi active sensor [sensor.guest_wifi_active] changes to any non-null state, indicating a guest has connected. It also triggers when the sensor's value becomes '0' and stays that way for two hours, indicating no guests have been connected for that duration.",
|
|
"conditions": "The automation proceeds only if either the trigger was the 'off' trigger (the sensor stayed at '0' for two hours), or if the trigger was the 'on' trigger and the sensor's new numeric value is greater than its previous numeric value, meaning the count of connected guests has increased.",
|
|
"action": "The main action is to set the Guest mode input boolean [input_boolean.gast] to match the trigger's state, turning it on or off. Additionally, if the trigger was the 'on' trigger (meaning a guest connected), the automation identifies any new guest names that weren't previously connected and, for each new guest, runs the Guest mode sensor script [script.guest_mode_sensor] to send a notification, passing the guest's name as a variable."
|
|
},
|
|
"human_like": "Manages guest mode by turning it on when a new guest connects to the WiFi and off when no guests have been connected for two hours, sending notifications for new arrivals.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1718219154509'",
|
|
"result": {
|
|
"structured": "TRIGGER: When time is 21:30:00 OR When House mode sensor [sensor.house_mode] changes to Slapen OR When House mode sensor [sensor.house_mode] changes from Slapen OR When Bedroom air purifier air quality [sensor.luchtreiniger_slaapkamer_air_quality] changes to a state that is not excellent or unknown OR When Bedroom air purifier air quality [sensor.luchtreiniger_slaapkamer_air_quality] changes to excellent and remains for 5 minutes OR When the time pattern matches every hour (hours: /1). CONDITIONS AND ACTIONS (Choose Block 1): CONDITIONS: (Trigger ID is air_quality OR sleep_time OR quality_check) AND (House mode sensor [sensor.house_mode] is Slapen) AND (Bedroom air purifier air quality [sensor.luchtreiniger_slaapkamer_air_quality] is NOT excellent). ACTIONS: Turn on Bedroom air purifier fan [fan.luchtreiniger_slaapkamer] at 11% speed AND Turn off Bedroom air purifier LED switch [switch.luchtreiniger_slaapkamer_led_enable]. (Choose Block 2): CONDITIONS: (Trigger ID is time OR air_quality) AND (Current time is after 21:30) AND (Bedroom air purifier air quality [sensor.luchtreiniger_slaapkamer_air_quality] is NOT excellent) AND (Home zone [zone.home] numeric state is above 0). ACTIONS: Turn on Bedroom air purifier fan [fan.luchtreiniger_slaapkamer] in preset mode auto. (Choose Block 3): CONDITIONS: (Trigger ID is air_quality OR sleep_time OR no_more_sleep_time) AND ((Trigger ID is no_more_sleep_time) OR (House mode sensor [sensor.house_mode] is Slapen AND Bedroom air purifier air quality [sensor.luchtreiniger_slaapkamer_air_quality] is excellent and remains for 5 minutes)). ACTIONS: Turn off Bedroom air purifier fan [fan.luchtreiniger_slaapkamer] AND Turn on Bedroom air purifier LED switch [switch.luchtreiniger_slaapkamer_led_enable].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: at 21:30, when the house mode changes to or from 'Slapen', when the bedroom air quality is not excellent or unknown, when the air quality becomes excellent and stays that way for 5 minutes, or every hour on the hour.",
|
|
"conditions": "The automation selects one of three action sequences based on a set of conditions. The first sequence runs if the trigger was related to air quality, sleep time, or the hourly check, the house is in 'Slapen' mode, and the air quality is not excellent. The second sequence runs if the trigger was the 21:30 time or an air quality change, the current time is after 21:30, the air quality is not excellent, and the home zone is occupied (above 0). The third sequence runs if the trigger was related to air quality or sleep mode changes, and either the house mode just left 'Slapen' or the house is in 'Slapen' mode and the air quality has been excellent for 5 minutes.",
|
|
"action": "Depending on the conditions met, the automation will either: 1) Turn on the bedroom air purifier at a low speed (11%) and turn off its LED light, 2) Turn on the air purifier in auto mode, or 3) Turn off the air purifier and turn its LED light back on."
|
|
},
|
|
"human_like": "Manages the bedroom air purifier based on time, house mode, and air quality, turning it on at low speed for sleep, in auto mode in the evening, or off when the air is clean.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "06666ef4-abec-4f74-8282-1cf575c64c8f",
|
|
"result": {
|
|
"structured": "TRIGGER: When Attic trapdoor contact sensor [binary_sensor.vlieringluik_contact] changes state from open (on) to closed (off) OR from closed (off) to open (on). CONDITIONS: None. ACTIONS: Turn Attic LED light [light.vliering_led] to the same state (on or off) that the trapdoor sensor changed to.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Attic trapdoor contact sensor [binary_sensor.vlieringluik_contact] changes its state, whether it opens or closes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sets the Attic LED light [light.vliering_led] to match the new state of the trapdoor sensor. If the trapdoor opens, the light turns on; if it closes, the light turns off."
|
|
},
|
|
"human_like": "Automatically turns the attic light on when the trapdoor is opened and off when it is closed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "c9be7372-de6f-4763-b0d0-23665b7f1e9b",
|
|
"result": {
|
|
"structured": "TRIGGER: When Garden lights [light.tuinlampjes] changes state (from on to off OR from off to on) OR When Dining table light [light.eettafel] turns on OR When TV lamp [light.tv_lamp] changes state (from on to off OR from off to on) OR When Eettafel Shelly button event [event.shelly1_eettafel_shelly1_eettafel] changes from any state except unavailable. CONDITIONS: Christmas time input boolean [input_boolean.christmas_time] is on AND (IF the trigger is the Eettafel Shelly button event [event.shelly1_eettafel_shelly1_eettafel], THEN the event_type attribute of the triggered state must be 'long_press'). ACTIONS: Choose action based on trigger: IF trigger is Garden lights [light.tuinlampjes] state change, THEN turn Icicles switch [switch.ijspegels] to the same state (on/off) as the trigger. IF trigger is TV lamp [light.tv_lamp] state change, THEN wait until Christmas lantern switch [switch.kerstlantaarn] is not unavailable or unknown, THEN turn Christmas lantern switch [switch.kerstlantaarn] to the same state (on/off) as the trigger. IF trigger is Dining table light [light.eettafel] turning on, THEN turn on Christmas tree switch [switch.kerstboom], Christmas star switch [switch.kerstster], and Christmas ornament switch [switch.kerstbal]. IF trigger is Eettafel Shelly button event [event.shelly1_eettafel_shelly1_eettafel] with long_press, THEN turn off Christmas tree switch [switch.kerstboom], Christmas star switch [switch.kerstster], and Christmas ball switch [switch.kerstsbal].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: when the Garden lights [light.tuinlampjes] turn on or off, when the Dining table light [light.eettafel] turns on, when the TV lamp [light.tv_lamp] turns on or off, or when the Eettafel Shelly button event [event.shelly1_eettafel_shelly1_eettafel] changes state from anything other than 'unavailable'.",
|
|
"conditions": "For the automation to run, the Christmas time input boolean [input_boolean.christmas_time] must be switched on. Additionally, if the trigger was the Eettafel Shelly button event, the button press must have been a 'long_press' event type.",
|
|
"action": "Depending on which trigger activated the automation, different actions are taken. If the Garden lights changed state, the Icicles switch [switch.ijspegels] is turned on or off to match. If the TV lamp changed state, the system waits for the Christmas lantern switch [switch.kerstlantaarn] to be available and then turns it on or off to match the TV lamp. If the Dining table light is turned on, the Christmas tree [switch.kerstboom], Christmas star [switch.kerstster], and a Christmas ornament [switch.kerstbal] are all turned on. If the Shelly button on the dining table is long-pressed, the Christmas tree [switch.kerstboom], Christmas star [switch.kerstster], and a Christmas ball [switch.kerstsbal] are all turned off."
|
|
},
|
|
"human_like": "During Christmas time, this automation coordinates various Christmas lights and decorations, linking them to the state of regular house lights and a button press for convenient control.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "f540e546-ae22-4535-958f-35693ba636e5",
|
|
"result": {
|
|
"structured": "TRIGGER: When Christmas time input boolean [input_boolean.christmas_time] changes state to on OR off. CONDITIONS: None. ACTIONS: If the new state is off, disable the config entries with IDs 48b8951b1855b53bba5a91888055fa5f, 924ced5da4fa886ac83bcfdab71dddb6, 9118fe1fd50a9108740ac05c000f4f04, 29e8c93c5cfff4b86c1e87698d4efe61, and 082d600e428cc075a9f6575c05ac535a. If the new state is on, enable the same config entries.",
|
|
"natural_language": {
|
|
"trigger": "When the Christmas time input boolean [input_boolean.christmas_time] is turned on or off.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Depending on the new state of the switch: if it's turned off, it disables five specific Home Assistant configuration entries. If it's turned on, it enables those same five configuration entries."
|
|
},
|
|
"human_like": "Toggles a set of Christmas-related integrations on or off based on a master switch.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "3d938c95-1b47-4ee3-93ca-56753feb6e94",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event occurs with action 'computer_martijn_off' OR when a mobile app notification action event occurs with action 'computer_martijn_on' OR when the time is 08:00:00. ACTIONS: Choose action based on trigger: IF trigger is 'computer_off' THEN turn off Computer zolder switch [switch.computer_zolder]. IF trigger is 'computer_on' THEN turn off Computer Martijn alert [alert.computer_martijn]. IF trigger is 'alert_on' THEN turn on Computer Martijn alert [alert.computer_martijn].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when a user interacts with a mobile app notification and selects the 'computer_martijn_off' action, when a user interacts with a mobile app notification and selects the 'computer_martijn_on' action, or at 8:00 AM every day.",
|
|
"conditions": "There are no conditions; the automation executes actions based solely on which trigger occurred.",
|
|
"action": "Depending on the trigger, the automation performs one of three actions: if the 'computer_off' notification action was used, it turns off the Computer zolder switch [switch.computer_zolder]. If the 'computer_on' notification action was used, it turns off the Computer Martijn alert [alert.computer_martijn]. If the trigger is the 8:00 AM time, it turns on the Computer Martijn alert [alert.computer_martijn]."
|
|
},
|
|
"human_like": "Manages a computer alert and power based on mobile notifications and a daily schedule, turning the computer off or silencing the alert as requested.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "3152abda-e95c-4d49-8314-b6b6a803cc16",
|
|
"result": {
|
|
"structured": "TRIGGER: When Oldest statistics date sensor [sensor.oldest_statistics_date] has a value AND that value is not equal to '2021-07-07'. CONDITIONS: None. ACTIONS: Send a notification via Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with a high-priority warning message about potential database corruption.",
|
|
"natural_language": {
|
|
"trigger": "When the Oldest statistics date sensor [sensor.oldest_statistics_date] has a value and that value is different from the expected date of '2021-07-07'.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a high-priority notification to the Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with a warning title and message indicating the Home Assistant database may be corrupt and should be checked."
|
|
},
|
|
"human_like": "Sends a high-priority phone notification if the database's oldest statistics date is not as expected, warning of potential corruption.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "341786d9-1a4e-4328-be86-1e3d68d5744c",
|
|
"result": {
|
|
"structured": "TRIGGER: When Dishwasher active sensor [binary_sensor.dishwasher_active] changes from on to off. CONDITIONS: None. ACTIONS: Set Dishwasher program input select [input_select.dishwasher_program] to 'Eco', Set Dishwasher program extra input select [input_select.dishwasher_program_extra] to 'Normaal', Set Dishwasher delayed start input number [input_number.dishwasher_delayed_start] to 0, Send a notification via All phones notify [notify.all_phones] with title '💦 De vaatwasser is klaar' and message 'Doe hem snel open zodat hij kan uitwasemen'.",
|
|
"natural_language": {
|
|
"trigger": "When the Dishwasher active sensor [binary_sensor.dishwasher_active] indicates the dishwasher has finished running by changing from on to off.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "The automation resets the dishwasher program to 'Eco' via the Dishwasher program input select [input_select.dishwasher_program], resets the extra setting to 'Normaal' via the Dishwasher program extra input select [input_select.dishwasher_program_extra], clears the delayed start timer by setting the Dishwasher delayed start input number [input_number.dishwasher_delayed_start] to 0, and sends a high-priority notification to all phones [notify.all_phones] with a message to open the dishwasher quickly so it can vent."
|
|
},
|
|
"human_like": "Sends a notification and resets the dishwasher settings when it finishes its cycle, reminding you to open it for venting.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "afcf34ca-7a3e-4f49-a332-9313d2a2eca5",
|
|
"result": {
|
|
"structured": "TRIGGER: When Smart doorbell button [binary_sensor.smart_doorbell_button] is pressed (state changes to on). CONDITIONS: The automation has not been triggered within the last 30 seconds (i.e., the time since its last_triggered attribute is greater than 30 seconds). ACTIONS: 1. Send a high-priority notification titled '🔔 Ding dong!' with the message 'Er staat iemand aan de deur!' to All phones notify [notify.all_phones]. 2. If Nvidia Shield [media_player.nvidia_shield] is not off, pause it. 3. Execute a conditional block (choose) based on the state of Smart doorbell chime active [switch.smart_doorbell_chime_active] and House mode sensor [sensor.house_mode] or zone.home [zone.home]: (A) IF (Smart doorbell chime active [switch.smart_doorbell_chime_active] is off) AND (House mode sensor [sensor.house_mode] is 'Thuis') THEN: (i) In parallel: (a) Blink Front door light [light.voordeur] 8 times (toggle with 1-second delay between toggles) and then restore its original state. (b) Run Light blink alert script [script.light_blink_alert]. (B) IF (Smart doorbell chime active [switch.smart_doorbell_chime_active] is off) AND (House mode sensor [sensor.house_mode] is 'Afwezig') THEN: Turn on Front door light [light.voordeur] with the 'Slow Pulse' effect. (C) IF (Smart doorbell chime active [switch.smart_doorbell_chime_active] is on) AND (zone.home [zone.home] has a numeric state above 0, indicating someone is home) THEN: (i) Calculate variables: name_a (from anniversary sensors where state is '0'), name_c (from calendar.m_m [calendar.m_m] message), name (name_a or name_c), sound ('roltong.mp3' if birthday_today else 'dingdong.mp3'), message (a custom message if birthday_today), and sat_id (a list of assist satellites, excluding certain ones based on sleeping sensors). (ii) If assist_satellite.woonkamer [assist_satellite.woonkamer] is in sat_id: turn on Samsung soundbar [media_player.samsung_soundbar], wait for it to be ready, set source to 'aux', store its current volume, and set volume to at least 0.5. (iii) For each satellite in sat_id, run Send announcement with volume setting script [script.send_announcement_with_volume_setting] with the calculated message and sound. (iv) If assist_satellite.woonkamer [assist_satellite.woonkamer] is in sat_id, restore Samsung soundbar [media_player.samsung_soundbar] to its original volume.",
|
|
"natural_language": {
|
|
"trigger": "When the Smart doorbell button [binary_sensor.smart_doorbell_button] is pressed.",
|
|
"conditions": "The automation will only run if it has not been triggered in the last 30 seconds.",
|
|
"action": "First, it sends a high-priority notification to all phones. Then, if the Nvidia Shield [media_player.nvidia_shield] is on, it pauses it. Next, it checks the state of the doorbell chime and the house mode to decide on further actions. If the chime is off and the house mode is 'Thuis' (Home), it blinks the Front door light [light.voordeur] eight times and runs a separate light blinking script. If the chime is off and the house mode is 'Afwezig' (Away), it turns on the front door light with a slow pulse effect. If the chime is on and the home zone indicates someone is present, it prepares a personalized announcement. It checks for birthdays using anniversary sensors and a calendar, selects an appropriate sound, and creates a list of available assist satellites, excluding those in rooms where someone is sleeping. It then ensures the Samsung soundbar [media_player.samsung_soundbar] is on and set up, plays the announcement on all selected satellites, and finally restores the soundbar's original volume."
|
|
},
|
|
"human_like": "When the doorbell is pressed, it notifies phones, pauses the TV if needed, and triggers different light or sound alerts based on whether the chime is active and if anyone is home, including personalized birthday announcements.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "86f3e0f1-cbaf-4897-a603-cb0e33f76793",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR When Smart doorbell chime active [switch.smart_doorbell_chime_active] becomes available (transitions from unavailable) OR When the time is exactly 07:00:00 OR 19:00:00. CONDITIONS: None. ACTIONS: If the current time is between 19:00:00 and 07:00:00, then turn off Smart doorbell chime active [switch.smart_doorbell_chime_active]. If the current time is between 07:00:00 and 19:00:00, then turn on Smart doorbell chime active [switch.smart_doorbell_chime_active].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs when Home Assistant first starts, when the Smart doorbell chime active [switch.smart_doorbell_chime_active] switch becomes available after being unavailable, or at the scheduled times of 7:00 AM and 7:00 PM.",
|
|
"conditions": "There are no separate conditions; the decision logic is part of the action sequence.",
|
|
"action": "Depending on the time of day when the automation is triggered, it will either turn the doorbell chime on or off. If it's between 7:00 PM and 7:00 AM, the chime is turned off. If it's between 7:00 AM and 7:00 PM, the chime is turned on."
|
|
},
|
|
"human_like": "Automatically turns the doorbell chime on during the day and off at night, and ensures it's set correctly when the system starts or the device becomes available.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "3e12aad4-2ddb-46ce-af36-1dbcc14129d9",
|
|
"result": {
|
|
"structured": "TRIGGER: When Stairs closet door contact sensor [binary_sensor.deur_trapkast_contact] changes state. CONDITIONS: None. ACTIONS: If Stairs closet door contact sensor [binary_sensor.deur_trapkast_contact] is open (on), then turn on Stairs closet template light [light.trapkast_template], wait for 5 minutes, then turn off Stairs closet template light [light.trapkast_template]. If Stairs closet door contact sensor [binary_sensor.deur_trapkast_contact] is closed (off), then turn off Stairs closet template light [light.trapkast_template] immediately.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Stairs closet door contact sensor [binary_sensor.deur_trapkast_contact] changes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "If the door is open, the Stairs closet template light [light.trapkast_template] is turned on. After a five-minute delay, the light is automatically turned off. If the door is closed, the light is turned off immediately."
|
|
},
|
|
"human_like": "Automatically controls the stairs closet light based on the door: turning it on when opened and off when closed, with a five-minute timer after opening.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "dryer_finished_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When Dryer power sensor [sensor.droger_power] remains below 20W for 3 minutes. CONDITIONS: The previous state of Dryer power sensor [sensor.droger_power] is a valid number. ACTIONS: Execute rest command signal send message [rest_command.signal_send_message] with the message '🧺 De droger is klaar!'.",
|
|
"natural_language": {
|
|
"trigger": "When the Dryer power sensor [sensor.droger_power] reports a power consumption below 20 watts for a continuous period of three minutes.",
|
|
"conditions": "The automation only proceeds if the previous reading from the Dryer power sensor [sensor.droger_power] was a valid numeric value.",
|
|
"action": "Sends a notification via the rest command signal send message [rest_command.signal_send_message] with the text '🧺 De droger is klaar!'."
|
|
},
|
|
"human_like": "Sends a notification when the dryer has finished its cycle, detected by low power consumption.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "e18beec6-b22c-4ac5-88da-05b7c05b9c33",
|
|
"result": {
|
|
"structured": "TRIGGER: When Solar total lifetime energy output sensor [sensor.solar_total_lifetime_energy_output] reports a non-numeric value for 5 minutes OR When ECU current power sensor [sensor.ecu_current_power] reports a value lower than Electricity meter energy production sensor [sensor.electricity_meter_energieproductie] for 10 minutes OR When ECU current power sensor [sensor.ecu_current_power] remains in a null state for 15 minutes OR When ECU reset switch [switch.ecu_reset] remains off for 10 seconds OR When Home Assistant starts. CONDITIONS: The trigger is not the 'stable' trigger (ECU current power sensor null for 15 minutes) OR (Sun sun [sun.sun] is above the horizon AND the state the trigger changed to (trigger.to_state.state) is greater than 0). ACTIONS: If the trigger is the 'stable' trigger, turn off ECU reset switch [switch.ecu_reset]; otherwise, turn on ECU reset switch [switch.ecu_reset].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in five ways: 1) If the Solar total lifetime energy output sensor [sensor.solar_total_lifetime_energy_output] stops reporting a valid number for five minutes. 2) If the ECU current power sensor [sensor.ecu_current_power] reports a value lower than the Electricity meter energy production sensor [sensor.electricity_meter_energieproductie] for ten minutes. 3) If the ECU current power sensor [sensor.ecu_current_power] remains in a null state for fifteen minutes. 4) If the ECU reset switch [switch.ecu_reset] is turned off for ten seconds. 5) When Home Assistant starts up.",
|
|
"conditions": "The automation will only proceed if the condition is met. The condition checks if the trigger that started the automation is not the 'stable' trigger (the one for the ECU current power sensor being null). Alternatively, it will also proceed if the sun is above the horizon and the value that the triggering sensor changed to is greater than zero.",
|
|
"action": "Depending on which trigger started the automation, the action will either turn the ECU reset switch [switch.ecu_reset] on or off. If the trigger was the 'stable' trigger (ECU current power sensor null for 15 minutes), the switch is turned off. For any other trigger, the switch is turned on."
|
|
},
|
|
"human_like": "This automation resets the ECU by toggling a switch when the solar energy system shows signs of malfunction, such as sensor errors or inconsistent power readings.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "376b6b93-e8ed-43cf-89e3-1b915e5ff236",
|
|
"result": {
|
|
"structured": "TRIGGER: When Person Marleen [person.marleen] changes state from secret work_marleen to not_home OR When Person Martijn [person.martijn] changes state from secret work_martijn to not_home OR When Person Martijn [person.martijn] OR Person Marleen [person.marleen] changes state to home OR secret work_marleen OR secret work_martijn (id: reset) OR When a mobile app notification action event with action cancel_eta_martijn occurs (id: reset) OR When a mobile app notification action event with action cancel_eta_marleen occurs (id: reset). CONDITIONS: None explicitly defined outside of trigger-based branching. ACTIONS: IF the trigger is the reset trigger (id: reset) THEN remove the variable eta_{{ name }}. OTHERWISE (for the 'left work' triggers): Update the travel time sensor [sensor.{{ name }}_naar_huis]. Send a notification to the appropriate phone (Mobile app Pixel 8 Marleen [notify.mobile_app_pixel_8_marleen] for Martijn, Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] for Marleen) with a title and message containing the calculated ETA. Set the variable eta_{{ name }} to the calculated ETA. IF the vehicle is auto (determined by checking Martijn bike input boolean [input_boolean.martijn_fiets] is off AND Pixel 10 Pro Android Auto [binary_sensor.pixel_10_pro_android_auto] is on for Martijn, otherwise auto for Marleen) THEN start a loop that repeats UNTIL Person Martijn or Person Marleen [trigger.entity_id] reaches home or their work location OR the eta_{{ name }} variable is cleared. Within the loop: Update the travel time sensor. Calculate an updated ETA. Wait for one of three triggers: 1) The person reaches home or work, 2) An ETA cancellation notification action is received, 3) A delay is detected (new ETA is more than 5 minutes later than the previous stored ETA). IF the delay trigger occurs, THEN update the eta_{{ name }} variable with the new time and send a delay notification.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when either Marleen or Martijn leaves their respective work locations (changing state from 'secret work_marleen' or 'secret work_martijn' to 'not_home'). It also triggers when either person arrives home or back at work (to 'home', 'secret work_marleen', or 'secret work_martijn'), which acts as a reset. Additionally, it can be triggered by a user tapping a 'Stop updates' action in a mobile notification, which sends a cancellation event for either Martijn or Marleen.",
|
|
"conditions": "There are no separate conditions that must be true before the main actions run. The behaviour is determined by which trigger fired. For the 'left work' triggers, the vehicle type (bike or car) for Martijn is determined by checking if the 'Martijn bike input boolean' is on and if 'Pixel 10 Pro Android Auto' is off.",
|
|
"action": "If the trigger was a reset (person arrived or cancellation button pressed), the automation clears the stored ETA variable for that person. If the trigger was a person leaving work, it first updates their travel time sensor and sends a notification to the appropriate phone (Marleen's phone for Martijn's updates, and Martijn's phone for Marleen's updates) with an estimated arrival time. It stores this ETA in a variable. If the person is travelling by car (always for Marleen, or for Martijn if not on his bike), the automation enters a monitoring loop. This loop continuously updates the travel time, recalculates the ETA, and waits for one of three events: the person arriving, a cancellation request, or a significant delay (over 5 minutes). If a delay is detected, it sends a new notification with the updated, later arrival time."
|
|
},
|
|
"human_like": "Sends an estimated arrival time notification when Martijn or Marleen leaves work, and can provide delay updates if they are driving and get stuck in traffic.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "6757b053-0f63-4c30-98bd-1038ab57700e",
|
|
"result": {
|
|
"structured": "TRIGGER: When Pixel 10 Pro detected activity sensor [sensor.pixel_10_pro_detected_activity] changes to on_bicycle OR when Person Martijn [person.martijn] changes to home. CONDITIONS: None. ACTIONS: If the trigger was Pixel 10 Pro detected activity sensor [sensor.pixel_10_pro_detected_activity] changing to on_bicycle, then turn on Martijn bike input boolean [input_boolean.martijn_fiets]. If the trigger was Person Martijn [person.martijn] changing to home AND Martijn bike input boolean [input_boolean.martijn_fiets] is on, then turn off Martijn bike input boolean [input_boolean.martijn_fiets].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered either when the Pixel 10 Pro detected activity sensor [sensor.pixel_10_pro_detected_activity] reports that Martijn is 'on_bicycle', or when the Person Martijn [person.martijn] entity changes its state to 'home'.",
|
|
"conditions": "There are no global conditions for this automation. The actions are selected based on which trigger occurred and the current state of the Martijn bike input boolean [input_boolean.martijn_fiets].",
|
|
"action": "If the trigger was Martijn being detected on his bicycle, the automation turns on the Martijn bike input boolean [input_boolean.martijn_fiets]. If the trigger was Martijn arriving home and the Martijn bike input boolean [input_boolean.martijn_fiets] is already on, the automation turns it off."
|
|
},
|
|
"human_like": "Tracks when Martijn is on his bicycle and clears the status when he arrives home, likely for calculating travel time.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "2068227c-13b2-4bc3-bc1b-50afe8da2deb",
|
|
"result": {
|
|
"structured": "TRIGGER: When Thuis Marleen distance sensor [sensor.thuis_marleen_distance] is below 4000. CONDITIONS: Thuis Marleen direction of travel sensor [sensor.thuis_marleen_direction_of_travel] is towards AND Person Marleen [person.marleen] is not_home AND Person Martijn [person.martijn] is home. ACTIONS: Send a notification titled 'Hoera' with message 'Marleen is bijna thuis' to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with high priority. Then, set a variable 'target' to a list of assist satellites based on the state of Media player Martijn [media_player.martijn] and Location phone Martijn sensor [sensor.location_phone_martijn]. If Media player Martijn [media_player.martijn] is playing OR Location phone Martijn sensor [sensor.location_phone_martijn] is 'Zolder', then target is [Assist satellite Keuken [assist_satellite.keuken], Assist satellite Martijn [assist_satellite.martijn]]. Otherwise, target is [Assist satellite Keuken [assist_satellite.keuken]]. Finally, send a TTS announcement with message 'Hoera Marleen is bijna thuis' to the entities specified by the 'target' variable.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the Thuis Marleen distance sensor [sensor.thuis_marleen_distance] reports that Marleen is within 4 kilometers of home.",
|
|
"conditions": "For the automation to proceed, the Thuis Marleen direction of travel sensor [sensor.thuis_marleen_direction_of_travel] must indicate she is traveling towards home, Person Marleen [person.marleen] must be marked as not home, and Person Martijn [person.martijn] must be marked as home.",
|
|
"action": "First, it sends a high-priority notification titled 'Hoera' with the message 'Marleen is bijna thuis' to the Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro]. Then, it determines where to play a text-to-speech announcement. If Martijn's media player [media_player.martijn] is active or his phone location [sensor.location_phone_martijn] is 'Zolder', the announcement will be played on both the kitchen [assist_satellite.keuken] and Martijn's office [assist_satellite.martijn] satellite speakers. Otherwise, it will only play in the kitchen. Finally, it sends the TTS message 'Hoera Marleen is bijna thuis' to the selected speakers."
|
|
},
|
|
"human_like": "Sends a phone notification and a spoken announcement when Marleen is close to home and heading there, but only if she's not home yet and Martijn is home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "eb769e97-f6dd-471a-90ee-29d4666e0718",
|
|
"result": {
|
|
"structured": "TRIGGER: When House mode sensor [sensor.house_mode] changes to state 'Afwezig' AND remains in that state for 10 seconds. CONDITIONS: House mode sensor [sensor.house_mode] is in state 'Afwezig'. ACTIONS: First, a conditional action: IF TV meubel power sensor [sensor.tv_meubel_power] power consumption is greater than 40 watts, THEN turn on Guest mode input boolean [input_boolean.gast]. OTHERWISE (default), turn off Whole house light group [light.groep_huis] AND perform another conditional action: IF Extractor hood power sensor [sensor.afzuigkap_power] power consumption is above 1 watt, THEN turn off Extractor hood switch [switch.afzuigkap]. Second, another conditional action: IF Computer zolder binary sensor [binary_sensor.computer_zolder] is off AND Laptop werk Martijn LAN binary sensor [binary_sensor.laptop_werk_martijn_lan] is off AND Laptop werk Martijn WIFI binary sensor [binary_sensor.laptop_werk_martijn_wifi] is off, THEN turn off Desk Martijn template switch [switch.bureau_martijn_template].",
|
|
"natural_language": {
|
|
"trigger": "When the House mode sensor [sensor.house_mode] changes to 'Afwezig' (Away) and stays in that state for 10 seconds.",
|
|
"conditions": "The House mode sensor [sensor.house_mode] must currently be in the 'Afwezig' state.",
|
|
"action": "The automation first checks if the TV meubel power sensor [sensor.tv_meubel_power] shows a power consumption greater than 40 watts. If it does, it turns on the Guest mode input boolean [input_boolean.gast] to ensure lights aren't turned off for guests. If the TV power is low (40 watts or less), it proceeds to turn off all lights in the house via the Whole house light group [light.groep_huis]. It then checks if the Extractor hood power sensor [sensor.afzuigkap_power] shows activity above 1 watt, and if so, turns off the Extractor hood switch [switch.afzuigkap]. Finally, it checks if Martijn's computer and laptops are all off (Computer zolder [binary_sensor.computer_zolder], Laptop werk Martijn LAN [binary_sensor.laptop_werk_martijn_lan], and Laptop werk Martijn WIFI [binary_sensor.laptop_werk_martijn_wifi]). If they are, it turns off the Desk Martijn template switch [switch.bureau_martijn_template]."
|
|
},
|
|
"human_like": "Turns off lights and appliances when the house is set to 'Away' mode, but keeps guest mode active if the TV is on to avoid leaving guests in the dark.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "15bc9238-0a61-4448-92bc-854848521572",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR When Sun sun [sun.sun] changes to above_horizon OR below_horizon OR At time 00:00 OR 06:30. CONDITIONS: None. ACTIONS: Choose one sequence based on conditions: 1. If time is before 00:15:00, turn off Garden lights [light.tuinlampjes] AND Veranda light [light.veranda]. 2. If Sun sun [sun.sun] is above_horizon, turn off Garden outside group [light.groep_buiten]. 3. If Sun sun [sun.sun] is below_horizon, turn on Garden lights [light.tuinlampjes] AND Front door light [light.voordeur], then turn on Veranda light [light.veranda] with brightness 10, wait 10 seconds, then turn on Veranda light [light.veranda] with brightness 10 again.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs when Home Assistant starts, when the sun rises or sets, or at midnight and 6:30 AM.",
|
|
"conditions": "There are no global conditions. The action taken depends on internal checks within the automation.",
|
|
"action": "Depending on the time of day and sun position, different lights are controlled. Around midnight, the garden and veranda lights are turned off. After sunrise, all outside lights in the group are turned off. After sunset, the garden lights and front door light are turned on, and the veranda light is turned on at low brightness, with a second command sent after a short delay to ensure it activates."
|
|
},
|
|
"human_like": "Automatically manages outdoor lighting based on sunrise, sunset, and specific times, turning lights on in the evening and off at night and in the morning.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "f80d05dd-bdc4-49ec-b5c0-07c9bb3757a0",
|
|
"result": {
|
|
"structured": "TRIGGER: When Garden sonoff event [event.sonoff_tuin_sonoff_tuin] changes state and its previous state is not unavailable. CONDITIONS: None. ACTIONS: Choose based on the event_type attribute of the trigger: If event_type is 'single_press', toggle Garden light group [light.groep_tuin]. If event_type is 'double_press', turn on Veranda light [light.veranda] with brightness 255. If event_type is 'long_press', if Veranda cover [cover.veranda] is open then close it, otherwise open it.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Garden sonoff event [event.sonoff_tuin_sonoff_tuin] changes state, provided it was not previously unavailable.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Depending on the type of button press detected, the automation performs different actions: a single press toggles the Garden light group [light.groep_tuin]; a double press turns on the Veranda light [light.veranda] at full brightness; and a long press toggles the Veranda cover [cover.veranda] (closes it if open, opens it if closed)."
|
|
},
|
|
"human_like": "Controls garden and veranda lights and the veranda cover using different button presses on a garden Sonoff switch.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "36123179-ef70-4a84-be1a-ea1eb11cfc97",
|
|
"result": {
|
|
"structured": "TRIGGER: When Living room temperature trend [binary_sensor.trend_woonkamer_temp] changes to on OR Sun sun [sun.sun] changes to above_horizon OR Weather combined max temp today sensor [sensor.weather_combined_max_temp_today] is above 18 OR Weather combined [weather.combined] changes to sunny OR partycloudy OR Rain binary sensor [binary_sensor.rain] changes to off OR Living room multi temperature sensor [sensor.woonkamer_multi_temperature] is above 20 OR Time is 16:00:00 (with trigger id 'close'). CONDITIONS: (Veranda cover [cover.veranda] is open AND trigger.id is 'close') OR (Veranda cover [cover.veranda] is closed). ACTIONS: IF (Sun sun [sun.sun] is rising AND Screen veranda manual binary sensor [binary_sensor.screen_veranda_manual] is NOT on) THEN: Check Rain binary sensor [binary_sensor.rain] is off; Check Weather combined max temp today sensor [sensor.weather_combined_max_temp_today] is > 25 OR (> 18 AND current month is between April and August inclusive); Check Weather combined [weather.combined] is sunny OR partlycloudy; Check Living room temperature trend [binary_sensor.trend_woonkamer_temp] is on; Check Living room multi temperature sensor [sensor.woonkamer_multi_temperature] is > 22 OR (> 20 AND current month is between April and August inclusive); Store current state of Veranda light [light.veranda]; Open Veranda cover [cover.veranda]; Wait up to 5 minutes for Veranda light [light.veranda] state to change; Restore Veranda light [light.veranda] to its stored state. IF (trigger.id is 'close') THEN: Store current state of Veranda light [light.veranda]; Close Veranda cover [cover.veranda]; Restore Veranda light [light.veranda] to its stored state.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: when the Living room temperature trend [binary_sensor.trend_woonkamer_temp] indicates the temperature is rising, when the Sun sun [sun.sun] is above the horizon, when the Weather combined max temp today sensor [sensor.weather_combined_max_temp_today] forecasts a temperature over 18 degrees, when the Weather combined [weather.combined] reports sunny or partycloudy conditions, when the Rain binary sensor [binary_sensor.rain] indicates it is not raining, when the Living room multi temperature sensor [sensor.woonkamer_multi_temperature] reads over 20 degrees, or at exactly 16:00.",
|
|
"conditions": "For the automation to proceed, the Veranda cover [cover.veranda] must either be closed, or it must be open but only if the trigger was the 16:00 time event.",
|
|
"action": "The automation performs one of two sequences based on the trigger and conditions. If the sun is rising and the Screen veranda manual binary sensor [binary_sensor.screen_veranda_manual] is not on, it will check a series of weather and temperature conditions. If all checks pass, it will open the Veranda cover [cover.veranda], wait up to 5 minutes for the Veranda light [light.veranda] to change state (and restore it if it does), and then restore the light to its original state. If the trigger was the 16:00 time event, it will simply close the Veranda cover [cover.veranda] and also restore the Veranda light [light.veranda] to its original state after storing it."
|
|
},
|
|
"human_like": "Automatically opens the veranda sunshade during warm, sunny mornings to provide shade, and closes it in the evening at 4 PM, while preserving the state of the veranda light.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1752267977360'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Veranda light [light.veranda] turns on. CONDITIONS: Sun sun [sun.sun] is above_horizon AND (the state change of Veranda light [light.veranda] was not caused by a parent automation AND was not caused by a user). ACTIONS: Turn off Veranda light [light.veranda].",
|
|
"natural_language": {
|
|
"trigger": "When the Veranda light [light.veranda] is turned on.",
|
|
"conditions": "The sun [sun.sun] must be above the horizon, indicating it is daytime. Additionally, the light must have been turned on automatically, meaning the state change was not triggered by a user interaction or another parent automation.",
|
|
"action": "Turns off the Veranda light [light.veranda]."
|
|
},
|
|
"human_like": "Automatically turns off the veranda light if it was turned on during the daytime by an automated process, not by a person.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "6cdd3311-fb90-47ea-a796-f679091021f2",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home zone [zone.home] is not home (0) for 12 hours OR When a mobile app notification action with action 'vakantie' is received OR When House mode sensor [sensor.house_mode] changes to Vakantie OR When a mobile app notification action with action 'no_holiday' is received OR When Thuis Martijn distance sensor [sensor.thuis_martijn_distance] falls below 10000. ACTIONS: Choose based on trigger ID: IF trigger is boolean_on THEN Turn on On vacation input boolean [input_boolean.op_vakantie]. IF trigger is holiday_on THEN Turn off On vacation input boolean [input_boolean.op_vakantie] AND Turn on Vacation input boolean [input_boolean.vakantie] AND Send notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with title '☀️ Fijne vakantie! ☀️' and message 'Vakantiemodus is nu actief'. IF trigger is holiday_house THEN Delay 0 seconds (placeholder). IF trigger is no_holiday THEN Turn off On vacation input boolean [input_boolean.op_vakantie]. IF trigger is holiday_over THEN Turn off Vacation input boolean [input_boolean.vakantie] AND IF Guest mode input boolean [input_boolean.gast] is off THEN Turn on all ESPHome switches that are in state 'Detached' (dynamically selected) AND Wait 20 seconds AND Turn off corresponding lights (dynamically derived from switches).",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in five ways: when the Home zone [zone.home] shows that no one is home for 12 hours; when a specific mobile app notification action labeled 'vakantie' is received; when the House mode sensor [sensor.house_mode] changes its state to 'Vakantie'; when a mobile app notification action labeled 'no_holiday' is received; or when the Thuis Martijn distance sensor [sensor.thuis_martijn_distance] drops below 10000 units.",
|
|
"conditions": "There are no separate condition blocks; the logic is handled by a choose action that selects sequences based on which trigger fired.",
|
|
"action": "Depending on which trigger activated the automation, different actions are performed. If triggered by the home zone being away for 12 hours, it turns on the 'On vacation' input boolean. If triggered by the 'vakantie' mobile app action, it turns off the 'On vacation' boolean, turns on the 'Vacation' boolean, and sends a holiday notification. If triggered by the house mode changing to 'Vakantie', it does nothing (a placeholder delay). If triggered by the 'no_holiday' mobile app action, it turns off the 'On vacation' boolean. If triggered by the distance sensor dropping below 10000, it turns off the 'Vacation' boolean and, if guest mode is not active, it turns on a dynamically selected list of detached ESPHome switches, waits 20 seconds, and then turns off the corresponding lights."
|
|
},
|
|
"human_like": "Manages holiday mode by turning on vacation settings when away or via app commands, and turns it off when returning home, with special actions to reset lights and switches if no guests are present.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "6d6452d1-f65e-49c5-9ed6-3c6c8754911a",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 06:30. CONDITIONS: House mode sensor [sensor.house_mode] is Vakantie AND Guest mode input boolean [input_boolean.gast] is off. ACTIONS: Set variable light_list to [light.floris_template, light.pepijn_template]; set variable light_select to a random integer 0 or 1; set variable light_select2 to a random integer 0 or 1; wait for a random delay between 0 and 59 minutes; turn on Master bedroom ceiling template light [light.slaapkamer_plafond_template]; wait for a random delay between 3 and 7 minutes; turn on either Floris template light [light.floris_template] OR Pepijn template light [light.pepijn_template] based on light_select; wait for a random delay between 2 and 7 minutes; turn on the other child's light (the one not selected in the previous step); wait for a random delay between 20 and 29 minutes; run Good morning routine script [script.good_morning_routine]; wait for a random delay between 10 and 24 minutes; turn off either Floris template light [light.floris_template] OR Pepijn template light [light.pepijn_template] based on light_select2; wait for a random delay between 2 and 7 minutes; turn off the other child's light (the one not selected in the previous step); wait for a random delay between 3 and 7 minutes; turn off Master bedroom ceiling template light [light.slaapkamer_plafond_template].",
|
|
"natural_language": {
|
|
"trigger": "At 6:30 AM.",
|
|
"conditions": "The house mode sensor [sensor.house_mode] must be set to 'Vakantie' (Holiday), and the guest mode input boolean [input_boolean.gast] must be off.",
|
|
"action": "The automation first defines a list of two children's bedroom lights and picks two random numbers. After a random delay of up to 59 minutes, it turns on the master bedroom light. Following another random delay, it turns on one of the children's bedroom lights, then the other child's light after a further delay. After a longer random delay, it runs the good morning routine script. Later, after more random delays, it turns off one child's light, then the other, and finally turns off the master bedroom light."
|
|
},
|
|
"human_like": "Simulates morning activity during holidays by turning lights on and off in the master and children's bedrooms at random intervals, and runs the morning routine script.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "2a73c7ac-123a-4d5b-99dd-9a0bec93e125",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 22:00. CONDITIONS: (House mode sensor [sensor.house_mode] is Vakantie) AND (Guest mode input boolean [input_boolean.gast] is off). ACTIONS: Wait for a random delay between 0 and 30 minutes, then turn on Master bedroom ceiling template light [light.slaapkamer_plafond_template]. Wait for a random delay between 5 and 10 minutes, then turn off Downstairs light group [light.groep_beneden]. Wait for a random delay between 15 and 20 minutes, then turn off Whole house light group [light.groep_huis].",
|
|
"natural_language": {
|
|
"trigger": "At 10:00 PM.",
|
|
"conditions": "If the house is in 'Vakantie' (Holiday) mode, as indicated by the House mode sensor [sensor.house_mode], and Guest mode is turned off, as indicated by the Guest mode input boolean [input_boolean.gast].",
|
|
"action": "After a random wait of up to 30 minutes, the light in the master bedroom is turned on. Then, after another random wait of 5 to 10 minutes, the lights downstairs are turned off. Finally, after a final random wait of 15 to 20 minutes, all the lights in the house are turned off."
|
|
},
|
|
"human_like": "Simulates an occupied home during holidays by turning on a bedroom light and then gradually turning off other lights at bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "b2977df5-1481-4b19-b56a-ae79bbf9659d",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 19:00 (trigger id 'floris_template') OR when the time is 19:15 (trigger id 'pepijn_template'). CONDITIONS: House mode sensor [sensor.house_mode] is 'Vakantie' AND Guest mode input boolean [input_boolean.gast] is off. ACTIONS: Wait a random number of minutes between 0 and 30, then turn on the light entity corresponding to the trigger id (light.floris_template or light.pepijn_template), then wait a random number of minutes between 20 and 40, then turn off the same light entity.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers daily at 7:00 PM and again at 7:15 PM.",
|
|
"conditions": "The automation only runs if the house is in 'Holiday' mode, as indicated by the House mode sensor [sensor.house_mode], and if the Guest mode input boolean [input_boolean.gast] is turned off.",
|
|
"action": "After a random delay of up to 30 minutes, the automation turns on a specific light (either 'light.floris_template' or 'light.pepijn_template', depending on which time triggered it). Then, after another random delay of between 20 and 40 minutes, it turns the same light back off."
|
|
},
|
|
"human_like": "Simulates occupancy in children's bedrooms during holidays by randomly turning lights on and off in the evening.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "d4fa325e-c2b5-4ec8-8c51-e574fa105eca",
|
|
"result": {
|
|
"structured": "TRIGGER: At 06:30 (screen_open) OR At 14:00 (screen_close). CONDITIONS: House mode sensor [sensor.house_mode] is Vakantie AND Guest mode input boolean [input_boolean.gast] is off. ACTIONS: If trigger is screen_open AND Weather combined max temp today sensor [sensor.weather_combined_max_temp_today] is >= 22°C AND Weather combined daily condition sensor [sensor.weather_combined_daily_condition] is partly_cloudy OR sunny OR unavailable OR unknown, then wait a random delay (0-59 minutes) and open Veranda cover [cover.veranda]. If trigger is screen_close, then wait a random delay (0-59 minutes) and close Veranda cover [cover.veranda].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers daily at 6:30 AM and at 2:00 PM.",
|
|
"conditions": "It only runs if the house is in 'Vakantie' (Holiday) mode, as indicated by the House mode sensor [sensor.house_mode], and if the Guest mode input boolean [input_boolean.gast] is turned off.",
|
|
"action": "If the trigger is the 6:30 AM time, it checks if the forecasted maximum temperature from the Weather combined max temp today sensor [sensor.weather_combined_max_temp_today] is at least 22°C, and if the daily weather condition from the Weather combined daily condition sensor [sensor.weather_combined_daily_condition] is partly cloudy, sunny, unavailable, or unknown. If both are true, it waits for a random number of minutes between 0 and 59, then opens the Veranda cover [cover.veranda]. If the trigger is the 2:00 PM time, it simply waits for a random delay (0-59 minutes) and then closes the Veranda cover [cover.veranda]."
|
|
},
|
|
"human_like": "Automatically opens the veranda sunshade in the morning on warm, sunny days during holidays, and closes it in the afternoon, with a random delay to simulate natural behavior.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "b5652fa9-d044-40b8-b53e-62886309dca8",
|
|
"result": {
|
|
"structured": "TRIGGER: When Person Martijn [person.martijn] changes state from not_home to home. CONDITIONS: Guest mode input boolean [input_boolean.gast] is on. ACTIONS: Send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with title '🏡 Welkom thuis' and message 'Mag de gastmodus uit?', including actions 'Yep' (guest_mode_off) and 'Nope' (guest_mode_on). Wait for a response via a mobile app notification action event for either 'guest_mode_off' or 'guest_mode_on'. If the response action is 'guest_mode_off', then turn off Guest mode input boolean [input_boolean.gast].",
|
|
"natural_language": {
|
|
"trigger": "When Person Martijn [person.martijn] arrives home, changing their state from away to home.",
|
|
"conditions": "The automation only runs if the Guest mode input boolean [input_boolean.gast] is currently turned on.",
|
|
"action": "Sends a notification to the Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] asking if guest mode should be turned off. The notification provides two options: 'Yep' to turn it off, or 'Nope' to leave it on. The automation then waits for the user to select one of these options. If the user selects 'Yep', the system turns off the Guest mode input boolean [input_boolean.gast]."
|
|
},
|
|
"human_like": "When Martijn arrives home with guest mode active, it sends him a notification asking if he wants to turn guest mode off, and does so if he confirms.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "8efddd53-2d4d-461e-bc80-a630a5ca244c",
|
|
"result": {
|
|
"structured": "TRIGGER: When a light.turn_on service call is made OR When a light.toggle service call is made. CONDITIONS: The number of targeted IKEA lights (determined by entity label 'ikea' or device label 'ikea') is greater than 0 AND The number of service data attributes (excluding 'transition' and 'entity_id') is greater than 1. ACTIONS: If the trigger was a toggle service call, wait 0.5 seconds. Then, for each attribute in the service data (excluding 'transition' and 'entity_id'), and for each IKEA light entity (if the trigger was a toggle, only consider lights currently in the 'on' state; otherwise, consider all targeted IKEA lights), if the current attribute value of the light differs from the value in the service call, call light.turn_on for that light with only that specific attribute value (excluding other changed attributes), then wait 0.1 seconds.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever a light is turned on or toggled via a Home Assistant service call.",
|
|
"conditions": "The automation only proceeds if the service call targets at least one light that is labeled as an 'IKEA' light (either by entity or device label), and if the call includes more than one attribute to change (ignoring the 'transition' and 'entity_id' fields).",
|
|
"action": "If the light was toggled, the automation first waits half a second to ensure the light has had time to change its on/off state. Then, it processes each attribute (like brightness or color) that was included in the original service call. For each of those attributes, it goes through each applicable IKEA light (if the trigger was a toggle, it only processes lights that are currently on). If a light's current value for that attribute doesn't match the value from the service call, it sends a new turn_on command to that specific light, setting only that one attribute to the correct value, and then waits 0.1 seconds before moving to the next light. This ensures IKEA lights receive attribute changes one at a time to avoid issues."
|
|
},
|
|
"human_like": "This automation ensures IKEA lights correctly apply multiple settings (like brightness and color) when turned on or toggled, by sending the commands one attribute at a time to avoid compatibility issues.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "ef97c1e3-8e09-4b7c-9973-cc5379d6239d",
|
|
"result": {
|
|
"structured": "TRIGGER: When All intents provided binary sensor [binary_sensor.all_intents_provided] changes to off. CONDITIONS: None. ACTIONS: Execute the rest command signal send message [rest_command.signal_send_message] with the specified message text.",
|
|
"natural_language": {
|
|
"trigger": "When the All intents provided binary sensor [binary_sensor.all_intents_provided] changes its state to off.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Sends a message via the rest command signal send message [rest_command.signal_send_message] to notify that the Dutch language has lost its star, indicating new intents have been added and need to be checked."
|
|
},
|
|
"human_like": "Sends a notification when new Dutch intents are detected and need to be provided.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "7680c082-f8f8-402d-ba9c-dc2064de40b4",
|
|
"result": {
|
|
"structured": "TRIGGER: When Pepijn template light [light.pepijn_template] turns off OR Pepijn nightlight input boolean [input_boolean.nachtlampje_pepijn] turns on OR Floris template light [light.floris_template] turns off OR Floris nightlight input boolean [input_boolean.nachtlampje_floris] turns on OR a conversation command 'floris gaat slapen' is processed. CONDITIONS: (The input_boolean.nachtlampje_<trigger.id> is on) AND (The binary_sensor.<trigger.id>_sleeping is on) AND (The light.groep_<trigger.id> is off). ACTIONS: If trigger.id is 'pepijn', then turn on night light(s) in area 'slaapkamer_pepijn' that have the label 'night_light' and are currently on. Otherwise, turn on night light(s) in area 'slaapkamer_floris' that have the label 'night_light' and are currently on.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when Pepijn's main light (Pepijn template light [light.pepijn_template]) turns off, when Pepijn's nightlight toggle (Pepijn nightlight input boolean [input_boolean.nachtlampje_pepijn]) is turned on, when Floris's main light (Floris template light [light.floris_template]) turns off, when Floris's nightlight toggle (Floris nightlight input boolean [input_boolean.nachtlampje_floris]) is turned on, or when someone says the voice command 'floris gaat slapen'.",
|
|
"conditions": "For the automation to run, three conditions must be met. First, the specific nightlight toggle for the person who triggered the automation must be on. Second, a binary sensor indicating that person is sleeping must be on. Third, the main light group for that person must be off.",
|
|
"action": "Depending on who triggered the automation, it will turn on the night lights. If Pepijn triggered it, it turns on all lights in Pepijn's bedroom area that are labeled as 'night_light' and are currently in an 'on' state. If Floris triggered it, it does the same for lights in Floris's bedroom area."
|
|
},
|
|
"human_like": "Turns on the appropriate night light for either Pepijn or Floris when they go to bed, triggered by their main light turning off, their nightlight being enabled, or a voice command.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "d9126ef3-31ed-4058-a8d8-564f6faaf3c5",
|
|
"result": {
|
|
"structured": "TRIGGER: When Dashboard Floris sleeps binary sensor [binary_sensor.dashboard_floris_slaapt] turns on (sets target_brightness to 10) OR When House mode sensor [sensor.house_mode] changes to Slapen OR Tandenpoetsen (sets target_brightness to 3). CONDITIONS: Floris reading light [light.floris_leeslamp] is on. ACTIONS: Set Floris reading light [light.floris_leeslamp] brightness to the target_brightness percentage (10% or 3%).",
|
|
"natural_language": {
|
|
"trigger": "This automation triggers in two scenarios. First, when the Dashboard Floris sleeps binary sensor [binary_sensor.dashboard_floris_slaapt] indicates Floris is asleep, setting a target brightness of 10%. Second, when the House mode sensor [sensor.house_mode] changes to either 'Slapen' (Sleep) or 'Tandenpoetsen' (Tooth brushing), setting a target brightness of 3%.",
|
|
"conditions": "The automation only runs if Floris reading light [light.floris_leeslamp] is already turned on.",
|
|
"action": "The automation dims Floris reading light [light.floris_leeslamp] to the target brightness percentage determined by the trigger (either 10% or 3%)."
|
|
},
|
|
"human_like": "Dims Floris's reading light to a low level when he is asleep or when the house enters a bedtime routine, using it as a gentle night light.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "e03d310f-0611-4d9c-9781-0487993c4976",
|
|
"result": {
|
|
"structured": "TRIGGER: When Kitchen button event [event.knop_keuken_action] changes state and its new state is not 'unavailable'. CONDITIONS: None. ACTIONS: If the event attribute 'event_type' is 'single', then toggle Kitchen spots [light.keukenspotjes]. OR If the event attribute 'event_type' is 'double', then toggle Kitchen light [light.keuken]. OR If the event attribute 'event_type' is 'hold', do nothing. OR If the event attribute 'event_type' is 'release', do nothing.",
|
|
"natural_language": {
|
|
"trigger": "When the Kitchen button event [event.knop_keuken_action] changes state, provided the new state is not 'unavailable'.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Depending on the type of button press, the automation performs different actions. A single press toggles the Kitchen spots [light.keukenspotjes]. A double press toggles the main Kitchen light [light.keuken]. A hold or release of the button results in no action."
|
|
},
|
|
"human_like": "Uses a Xiaomi button in the kitchen to control the lights: a single press toggles the spots, and a double press toggles the main light.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "fe09f19c-86eb-4bd8-be3f-096bed6308f1",
|
|
"result": {
|
|
"structured": "TRIGGER: When Espresso switch [switch.espresso] turns on OR Home Assistant starts OR automations are reloaded OR Espresso power sensor [sensor.espresso_power] is above 25W. CONDITIONS: Espresso switch [switch.espresso] is on. ACTIONS: If the trigger was Espresso power sensor [sensor.espresso_power] above 25W, then wait until Espresso power sensor [sensor.espresso_power] remains below 25W for 31 minutes. Otherwise, wait for 31 minutes. Then, turn off Espresso switch [switch.espresso].",
|
|
"natural_language": {
|
|
"trigger": "The automation can start when the Espresso switch [switch.espresso] is turned on, when Home Assistant starts up, when automations are reloaded, or when the Espresso power sensor [sensor.espresso_power] reports a power consumption above 25 watts.",
|
|
"conditions": "The automation only proceeds if the Espresso switch [switch.espresso] is currently in the 'on' state.",
|
|
"action": "If the automation was triggered by the power sensor reading above 25 watts, it will wait for the power to drop below 25 watts and stay there for 31 minutes. If triggered by any other event, it will simply wait for 31 minutes. After the wait period, it turns off the Espresso switch [switch.espresso]."
|
|
},
|
|
"human_like": "Turns off the espresso machine's power after a 31-minute inactivity period, ensuring it's not in use.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "b776ef0d-e5f7-42d1-8bf8-744fe2b7127b",
|
|
"result": {
|
|
"structured": "TRIGGER: When Downstairs light group [light.groep_beneden] turns on. CONDITIONS: Extractor hood switch [switch.afzuigkap] is off AND the current time is between 06:00:00 and 21:00:00. ACTIONS: Turn on Extractor hood switch [switch.afzuigkap].",
|
|
"natural_language": {
|
|
"trigger": "When the Downstairs light group [light.groep_beneden] is turned on.",
|
|
"conditions": "If the Extractor hood switch [switch.afzuigkap] is currently off, and the current time is between 6:00 AM and 9:00 PM.",
|
|
"action": "Turns the Extractor hood switch [switch.afzuigkap] back on."
|
|
},
|
|
"human_like": "Turns the extractor hood back on in the morning when the downstairs lights are switched on, but only during daytime hours.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "0a454b0d-156e-4938-945e-d2bfb9b3cbd7",
|
|
"result": {
|
|
"structured": "TRIGGER: When Refrigerator power sensor [sensor.koelkast_power] remains above 80 for 10 minutes. CONDITIONS: The time elapsed since the last time this automation was triggered (automation.power_usage_kitchen) is greater than 3600 seconds (1 hour). ACTIONS: Send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with a high priority alert about high refrigerator power consumption.",
|
|
"natural_language": {
|
|
"trigger": "When the Refrigerator power sensor [sensor.koelkast_power] reports a power usage above 80 for a continuous period of 10 minutes.",
|
|
"conditions": "This notification will only be sent if more than one hour has passed since the last time this specific automation was triggered.",
|
|
"action": "Sends a high-priority notification to the Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with a warning that the refrigerator is consuming suspiciously high power."
|
|
},
|
|
"human_like": "Sends an alert if the refrigerator uses too much power for too long, but limits notifications to once per hour to avoid spam.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "d826bab6-6791-425b-90b6-cae882317c5f",
|
|
"result": {
|
|
"structured": "TRIGGER: When Water kettle switch [switch.waterkoker] turns on OR When Home Assistant starts OR When Water kettle power sensor [sensor.waterkoker_power] is above 25W. CONDITIONS: Water kettle switch [switch.waterkoker] is on. ACTIONS: If the trigger was Water kettle power sensor [sensor.waterkoker_power] above 25W, then wait until Water kettle power sensor [sensor.waterkoker_power] is below 25W for 10 minutes. Otherwise, delay for 10 minutes. Then, turn off Water kettle switch [switch.waterkoker].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the Water kettle switch [switch.waterkoker] is turned on, when Home Assistant restarts, or when the Water kettle power sensor [sensor.waterkoker_power] reports a power consumption above 25 watts.",
|
|
"conditions": "The automation only proceeds if the Water kettle switch [switch.waterkoker] is currently in the 'on' state.",
|
|
"action": "Depending on what triggered the automation, it will either wait for the kettle's power to drop below 25 watts for a full 10 minutes (if it was triggered by high power) or simply wait for a 10-minute delay. After this waiting period, it turns off the Water kettle switch [switch.waterkoker]."
|
|
},
|
|
"human_like": "Automatically turns off the kettle's power switch 10 minutes after it's done boiling or after being turned on, to save energy.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "f0fc0c8c-662d-4477-9002-5ec4b49da7ba",
|
|
"result": {
|
|
"structured": "TRIGGER: When brightness attribute changes for Dining table light [light.eettafel] OR Pepijn light [light.pepijn] OR Floris light [light.floris] OR TV lamp [light.tv_lamp] OR Speelhoek light [light.speelhoek] OR Bedside lamp [light.bedside_lamp]. CONDITIONS: (Light is on before and after the change) AND (The corresponding input_boolean.dimmed_<light_name> is NOT off) AND (Light color_mode is color_temp) AND (Light entity is NOT listed in the entity_id attribute of Group transition active [group.transition_active]). ACTIONS: Set color temperature for the triggered light using formula: min(max_ct, min_ct + ((brightness - min_br) * (max_ct - min_ct) / (max_br - min_br))).",
|
|
"natural_language": {
|
|
"trigger": "When the brightness of any of the listed lights (Dining table light [light.eettafel], Pepijn light [light.pepijn], Floris light [light.floris], TV lamp [light.tv_lamp], Speelhoek light [light.speelhoek], or Bedside lamp [light.bedside_lamp]) changes.",
|
|
"conditions": "The light must be on both before and after the brightness change. The automation must not have previously marked this specific light as 'not dimmed'. The light must be in color temperature mode. The light must not currently be part of any active transition group listed in Group transition active [group.transition_active].",
|
|
"action": "Adjusts the light's color temperature based on its current brightness, using a linear interpolation between the minimum and maximum color temperature values, while respecting any custom overrides defined for that specific light."
|
|
},
|
|
"human_like": "Automatically adjusts the warmth of lights based on their brightness level, making them cooler when brighter and warmer when dimmer, but only when certain conditions about the light's state and mode are met.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "5f532453-807b-4170-9a1c-eff2857f73e8",
|
|
"result": {
|
|
"structured": "TRIGGER: When Living room lux illuminance sensor [sensor.woonkamer_lux_illuminance_lux] reports a value above 100 lux OR when Living room lux illuminance sensor [sensor.woonkamer_lux_illuminance_lux] reports a value above 400 lux. CONDITIONS: The current time is before sunset with an offset of 3 hours. ACTIONS: If the trigger was 'light' (value above 100 lux), then turn off Living room light group [light.groep_woonkamer], Play area light group [light.groep_speelhoek], and Kitchen light [light.keuken]. Otherwise, turn off Downstairs light group [light.groep_beneden].",
|
|
"natural_language": {
|
|
"trigger": "When the Living room lux illuminance sensor [sensor.woonkamer_lux_illuminance_lux] detects a light level above 100 lux, or when it detects a very bright level above 400 lux.",
|
|
"conditions": "The automation only runs if it is daytime, specifically before sunset minus three hours.",
|
|
"action": "If the trigger was the 100 lux threshold, it turns off the Living room light group [light.groep_woonkamer], the Play area light group [light.groep_speelhoek], and the Kitchen light [light.keuken]. If the trigger was the 400 lux threshold, it turns off the Downstairs light group [light.groep_beneden]."
|
|
},
|
|
"human_like": "Automatically turns off specific lights during the daytime when the living room becomes bright enough, using different light level thresholds to decide which lights to turn off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "3fd99480-be86-44d6-a3dd-678c832d6366",
|
|
"result": {
|
|
"structured": "TRIGGER: When WC motion occupancy sensor [binary_sensor.wc_motion_occupancy] changes from off to on. ACTIONS: 1. Turn on WC light [light.wc]. 2. REPEAT the following sequence UNTIL WC light [light.wc] is off: a. Wait for a trigger for up to 6 minutes. The triggers are: WC motion occupancy sensor [binary_sensor.wc_motion_occupancy] changes to on OR WC light [light.wc] changes to off. b. IF no trigger occurred within the timeout (wait.trigger is none), THEN turn off WC light [light.wc].",
|
|
"natural_language": {
|
|
"trigger": "When motion is first detected in the restroom, indicated by the WC motion occupancy sensor [binary_sensor.wc_motion_occupancy] turning from off to on.",
|
|
"conditions": "There are no explicit conditions that must be checked before the actions run.",
|
|
"action": "The automation immediately turns on the WC light [light.wc]. Then, it enters a loop that repeats until the light is off. In each loop, it waits for up to six minutes for either new motion to be detected or for the light to be turned off manually. If neither of these events happens within the six-minute window, the automation turns the light off itself."
|
|
},
|
|
"human_like": "Turns on the restroom light when motion is detected and then automatically turns it off after six minutes of inactivity, unless motion is detected again or the light is switched off manually first.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "089a1b6a-4dfa-490e-bda3-675de31e1807",
|
|
"result": {
|
|
"structured": "TRIGGER: When LIDL button livingroom event [event.knop_tv_hoek_action] changes state from any state except unavailable. CONDITIONS: None. ACTIONS: If the event attribute equals 'on', then toggle TV lamp [light.tv_lamp]. If the event attribute equals 'off', then stop execution (no action).",
|
|
"natural_language": {
|
|
"trigger": "When the LIDL button livingroom event [event.knop_tv_hoek_action] changes state, provided it is not coming from an unavailable state.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "If the button press event type is a short press ('on'), toggle the TV lamp [light.tv_lamp]. If the button press event type is a double press ('off'), the automation stops and no action is performed."
|
|
},
|
|
"human_like": "Toggles the TV lamp with a short press of the LIDL button; a double press does nothing.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "56046ae8-2eaa-47c0-b6ad-953cd4b5c641",
|
|
"result": {
|
|
"structured": "TRIGGER: When Light inside binary sensor [binary_sensor.light_inside] changes from on to off OR When House mode sensor [sensor.house_mode] changes from Afwezig to Thuis OR When NVIDIA Shield [media_player.nvidia_shield] changes from off to any state except unavailable or unknown OR When Person Martijn [person.martijn] OR Person Marleen [person.marleen] changes from not_home to home. ACTIONS: The automation executes one of two main action sequences based on conditions. The first sequence runs if the trigger is 'home_while_sleeping' AND House mode sensor [sensor.house_mode] is Slapen, and its action is to turn on Dining table light [light.eettafel] with brightness 100. The second sequence runs if the trigger is 'home', and its actions are to turn on Extractor hood switch [switch.afzuigkap] and then, if the time is between 06:00 and 22:00, the sequence continues (no further action specified). Following these, a second choose block runs if the trigger is 'dark', 'shield', or 'home' AND Light inside binary sensor [binary_sensor.light_inside] is off AND it is after sunset minus 3 hours AND House mode sensor [sensor.house_mode] is Thuis OR Gast OR Vakantie. Its actions are to turn on TV lamp [light.tv_lamp] and Kitchen spots [light.keukenspotjes], turn on Speelhoek light [light.speelhoek] with brightness 80, and turn on Bookcase light [light.boekenkast] with brightness 15% and color temperature 2000K. Then, if the time is after 19:15 AND NVIDIA Shield [media_player.nvidia_shield] is NOT off, turn on Dining table light [light.eettafel] with brightness 100.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: when the Light inside binary sensor [binary_sensor.light_inside] indicates it has become dark inside, when the House mode sensor [sensor.house_mode] changes from 'Afwezig' (Away) to 'Thuis' (Home), when the NVIDIA Shield [media_player.nvidia_shield] is turned on from an off state, or when either Person Martijn [person.martijn] or Person Marleen [person.marleen] arrives home.",
|
|
"conditions": "The actions are split into different paths. For someone arriving home while the house is in sleep mode, the condition is that the trigger must be a person arriving and the house mode must be 'Slapen' (Sleep). For the general 'arriving home' trigger, the only condition is that the trigger was the house mode changing to 'Thuis', and a subsequent time check ensures it's between 6 AM and 10 PM. A broader set of actions to turn on various lights requires that the trigger is related to darkness, the Shield, or arriving home, that it is dark inside, that it's after sunset (with a 3-hour offset), and that the house mode is either 'Thuis', 'Gast' (Guest), or 'Vakantie' (Holiday). A final, nested action to dim the dining table light further requires it to be after 7:15 PM and that the NVIDIA Shield is not off.",
|
|
"action": "Depending on the trigger and conditions, the automation will: 1) Turn on the Dining table light [light.eettafel] dimly if someone arrives home while the house is in sleep mode. 2) Turn on the Extractor hood switch [switch.afzuigkap] when the house mode changes to 'Home', and if it's daytime, it proceeds (though no further action is defined). 3) If it's dark, after sunset, and the house is in a 'Home', 'Guest', or 'Holiday' mode, it turns on the TV lamp [light.tv_lamp], Kitchen spots [light.keukenspotjes], Speelhoek light [light.speelhoek], and Bookcase light [light.boekenkast] with specific brightness and color settings. Then, if it's after the children's bedtime and the TV is on, it dims the Dining table light [light.eettafel]."
|
|
},
|
|
"human_like": "This automation turns on specific lights when it gets dark or when someone arrives home, adjusting the lighting based on the time of day, house mode, and whether the TV is on.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "cfeadbfe-57cd-4034-b993-e09a4eb3ce7d",
|
|
"result": {
|
|
"structured": "TRIGGER: When Nvidia Shield [media_player.nvidia_shield] turns on (state changes from off). CONDITIONS: None. ACTIONS: Set variable 'playing' to a list of entities from 'Media player Woonkamer [media_player.woonkamer]' and 'media_player.keuken' that are in the 'playing' state. IF the count of items in 'playing' is greater than 0, THEN turn off each media player entity in the 'playing' list.",
|
|
"natural_language": {
|
|
"trigger": "When the Nvidia Shield [media_player.nvidia_shield] is turned on.",
|
|
"conditions": "There are no conditions that must be checked before proceeding with the actions.",
|
|
"action": "First, the automation checks which of the specified media players (Media player Woonkamer [media_player.woonkamer] and media_player.keuken) are currently playing. If any of them are playing, it turns off all those that are."
|
|
},
|
|
"human_like": "Turns off any voice assistant satellites that are playing audio when the TV (Nvidia Shield) is turned on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1752261526546'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Nvidia Shield [media_player.nvidia_shield] changes state from off to idle. CONDITIONS: None. ACTIONS: Send the HOME command to Nvidia Shield [media_player.nvidia_shield] via Android TV ADB.",
|
|
"natural_language": {
|
|
"trigger": "When the Nvidia Shield [media_player.nvidia_shield] turns on and its state changes from off to idle.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends a HOME command to the Nvidia Shield [media_player.nvidia_shield] to open its launcher interface."
|
|
},
|
|
"human_like": "Automatically opens the launcher on the Nvidia Shield when it is turned on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "95757e21-9bcd-4379-a1c8-a7e2d502d2de",
|
|
"result": {
|
|
"structured": "TRIGGER: When Pixel 10 Pro Android Auto [binary_sensor.pixel_10_pro_android_auto] disconnects from Android Auto (changes from on to off) OR When Home Assistant starts. CONDITIONS: None. ACTIONS: If the trigger is the Android Auto disconnection, then store the current location of Person Martijn [person.martijn] and the geocoded location from Pixel 10 Pro geocoded location sensor [sensor.pixel_10_pro_geocoded_location] as the car's location in the Variables sensor [sensor.variables]. Then, always update the device tracker for the car with the stored location (if triggered by Android Auto disconnection) or the previously stored location from the Variables sensor [sensor.variables] (if triggered by Home Assistant start).",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either when the Pixel 10 Pro Android Auto [binary_sensor.pixel_10_pro_android_auto] disconnects from Android Auto, or when Home Assistant restarts.",
|
|
"conditions": "There are no conditions that must be met for the actions to execute.",
|
|
"action": "If the automation was triggered by the Android Auto disconnecting, it stores the current location of Person Martijn [person.martijn] and the geocoded location from the Pixel 10 Pro geocoded location sensor [sensor.pixel_10_pro_geocoded_location] as the car's last known location in the Variables sensor [sensor.variables]. Regardless of the trigger, it then updates a device tracker named 'car' with this location information, using the newly stored data if the car was just left, or the previously saved data if Home Assistant just started."
|
|
},
|
|
"human_like": "This automation saves the car's location when you disconnect your phone from Android Auto, and ensures the location is restored when Home Assistant restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "e666e5ab-6dda-4c3b-8a1e-980104c2f102",
|
|
"result": {
|
|
"structured": "TRIGGER: When Pepijn music button event [event.knop_muziek_pepijn_action] OR Floris music button event [event.knop_muziek_floris_action] changes state, provided the change is not from or to 'unavailable'. CONDITIONS: None. ACTIONS: First, set variables: 'area' to the area ID of the triggering entity, 'event_type' to the event_type attribute from the trigger, and define a mapping 'data_mapper' linking areas to playlists, players, and excluded lights. Then, based on the event_type, execute one of the following conditional sequences: 1) If event_type is 'on', run Party party script [script.party_party] with party_on true for the area (excluding specified lights), enable shuffle on the area's mapped player, and start the mapped playlist. 2) If event_type is 'off', run Party party script [script.party_party] with party_on false for the area and turn off the area's mapped player. 3) If event_type is 'arrow_left_click', go to the previous track on the area's mapped player. 4) If event_type is 'arrow_right_click', go to the next track on the area's mapped player. 5) If event_type is 'brightness_move_up', run Party party script [script.party_party] with party_on true for the area (excluding specified lights). 6) If event_type is 'brightness_move_down', run Party party script [script.party_party] with party_on false for the area. 7) If event_type is 'arrow_left_hold', turn off the area's mapped player. 8) If event_type is 'arrow_right_hold', enable shuffle on the area's mapped player and start the mapped playlist.",
|
|
"natural_language": {
|
|
"trigger": "When a music button in either Pepijn's or Floris's bedroom is pressed, specifically when the state of the Pepijn music button event [event.knop_muziek_pepijn_action] or the Floris music button event [event.knop_muziek_floris_action] changes, as long as the change is not to or from an 'unavailable' state.",
|
|
"conditions": "There are no additional conditions that must be met for the automation to proceed.",
|
|
"action": "The automation first determines which room's button was pressed and what type of button press occurred. It then performs different actions based on the button press type. A short press of the 'on' button turns on party lights (excluding certain lights in Pepijn's room), enables shuffle mode on the media player in that room, and starts a specific playlist. A short press of the 'off' button turns off the party lights and stops the media player. Pressing the left arrow goes to the previous track, while pressing the right arrow goes to the next track. A long press of the 'brightness up' button turns on the party lights, and a long press of the 'brightness down' button turns them off. A long press of the left arrow turns off the media player, and a long press of the right arrow enables shuffle and starts the playlist."
|
|
},
|
|
"human_like": "Controls music playback and party lighting in the kids' bedrooms using a multi-function button, with different actions for short and long presses of various buttons.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "782ed19b-f497-47b9-adb2-782d538e8e33",
|
|
"result": {
|
|
"structured": "TRIGGER: When Printer binary sensor [binary_sensor.printer] changes state to on OR off. CONDITIONS: None. ACTIONS: Toggle printer status monitoring automation [automation.f2_status_messages_for_printer] to the same state as the trigger (on or off) AND (if the trigger state is off) disable config entries ca207fdeedd4443f3ffd84b518b1edae and 032578ad1a4457ef750d888d0ec9cb47 OR (if the trigger state is on) enable config entries ca207fdeedd4443f3ffd84b518b1edae and 032578ad1a4457ef750d888d0ec9cb47.",
|
|
"natural_language": {
|
|
"trigger": "When the Printer binary sensor [binary_sensor.printer] changes its state, either turning on or off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It toggles the F2 status messages for printer automation [automation.f2_status_messages_for_printer] to match the new state of the printer sensor. Additionally, if the printer sensor turns off, it disables two specific configuration entries; if the printer sensor turns on, it enables those same configuration entries."
|
|
},
|
|
"human_like": "Manages printer-related automations and integrations by enabling or disabling them based on the printer's connectivity status.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "fab3e0d1-1d3a-46ce-b1c1-5c56e788bf02",
|
|
"result": {
|
|
"structured": "TRIGGER: When DCP L2530DW black toner remaining sensor [sensor.dcp_l2530dw_black_toner_remaining] is available and its value drops below 26% OR When DCP L2530DW black toner remaining sensor [sensor.dcp_l2530dw_black_toner_remaining] is available and its value drops below 11% OR When DCP L2530DW drum remaining life sensor [sensor.dcp_l2530dw_drum_remaining_life] is available and its value drops below 26% OR When DCP L2530DW drum remaining life sensor [sensor.dcp_l2530dw_drum_remaining_life] is available and its value drops below 11%. CONDITIONS: The previous state of the triggering entity is not 'unavailable' AND is not 'unknown'. ACTIONS: Set variable 'message' to a Dutch text string describing the toner or drum level based on the trigger ID. Send a high-priority notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with a title indicating the trigger type and the message variable.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the DCP L2530DW black toner remaining sensor [sensor.dcp_l2530dw_black_toner_remaining] drops below 26% or below 11%, or when the DCP L2530DW drum remaining life sensor [sensor.dcp_l2530dw_drum_remaining_life] drops below 26% or below 11%. The sensor must be reporting a valid value for the trigger to activate.",
|
|
"conditions": "The automation only proceeds if the previous state of the sensor that caused the trigger is not 'unavailable' or 'unknown', ensuring the change is from a known, valid reading.",
|
|
"action": "The automation creates a custom Dutch message stating the current toner or drum level, depending on which sensor triggered it. It then sends a high-priority notification to the Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with this message, using a dedicated notification channel for the printer."
|
|
},
|
|
"human_like": "Sends a phone notification when the printer's toner or drum level becomes low or critically low, ensuring the user is informed about supply status.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "b54906bf-51b0-4e0f-919a-ced9436588d6",
|
|
"result": {
|
|
"structured": "TRIGGER: When Guest bed button event [event.knop_logeerbed_action] changes state, excluding changes from the 'unavailable' state. CONDITIONS: None. ACTIONS: Based on the event_type attribute ('event'), choose one sequence: IF event is 'single' THEN toggle Office Martijn ceiling light [light.werkkamer_martijn_plafond] with brightness 10 and color temperature 2000K. IF event is 'hold' THEN IF Martijn matrix display light [light.awtrix_martijn_matrix] is off THEN turn it on with brightness 10, wait 10 seconds, THEN turn it off. IF event is 'double' THEN toggle Office Martijn ceiling light [light.werkkamer_martijn_plafond] with brightness 255 and color temperature 6535K. IF event is 'release' THEN do nothing.",
|
|
"natural_language": {
|
|
"trigger": "When the Guest bed button event [event.knop_logeerbed_action] changes state, as long as it's not changing from an 'unavailable' state.",
|
|
"conditions": "There are no additional conditions to check.",
|
|
"action": "The action depends on the type of button press event. A single press toggles the Office Martijn ceiling light [light.werkkamer_martijn_plafond] to a dim, warm setting. A hold press checks if the Martijn matrix display light [light.awtrix_martijn_matrix] is off; if so, it turns it on dimly for 10 seconds before turning it off. A double press toggles the Office Martijn ceiling light [light.werkkamer_martijn_matrix] to a bright, cool setting. A release press does nothing."
|
|
},
|
|
"human_like": "This automation uses a button in the guest bedroom to control lights in the office, with different light settings for single, double, and hold presses.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "012eb968-e871-4029-8096-a63044a42029",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following entities remains in state idle or off for 30 minutes: Computer zolder binary sensor [binary_sensor.computer_zolder] OR Laptop werk Martijn LAN binary sensor [binary_sensor.laptop_werk_martijn_lan] OR Laptop werk Martijn WIFI binary sensor [binary_sensor.laptop_werk_martijn_wifi] OR Media player Martijn [media_player.martijn]. CONDITIONS: All of the following entities are in state idle or off and remain so for 30 minutes: Computer zolder binary sensor [binary_sensor.computer_zolder] AND Laptop werk Martijn LAN binary sensor [binary_sensor.laptop_werk_martijn_lan] AND Laptop werk Martijn WIFI binary sensor [binary_sensor.laptop_werk_martijn_wifi] AND Media player Martijn [media_player.martijn]. ACTIONS: Turn off Shelly1PM bureau Martijn relay [switch.shelly1pm_bureau_martijn_relay].",
|
|
"natural_language": {
|
|
"trigger": "When any of the monitored devices — the Computer zolder binary sensor [binary_sensor.computer_zolder], the Laptop werk Martijn LAN binary sensor [binary_sensor.laptop_werk_martijn_lan], the Laptop werk Martijn WIFI binary sensor [binary_sensor.laptop_werk_martijn_wifi], or the Media player Martijn [media_player.martijn] — remains in an idle or off state for 30 minutes.",
|
|
"conditions": "All of the monitored devices must be in an idle or off state and remain in that state for a continuous period of 30 minutes.",
|
|
"action": "Turns off the desk power plug by switching off the Shelly1PM bureau Martijn relay [switch.shelly1pm_bureau_martijn_relay]."
|
|
},
|
|
"human_like": "Automatically turns off Martijn's desk power plug when all his computer and media devices have been idle or off for 30 minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "43077f87-25be-4516-b241-0db9d1e4ff98",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 08:00:00 OR 09:00:00 on Tuesday OR When a mobile app notification action event with action 'not_today' occurs. CONDITIONS: Vacuum [binary_sensor.vacuum] is on AND NOT (House mode sensor [sensor.house_mode] is Vakantie) AND vacuum.valetudo_brokenachingdragonfly is NOT in state 'unavailable' OR 'unknown'. ACTIONS: If the trigger is the 'not_today' event, turn on No vacuum today input boolean [input_boolean.no_vacuum_today]. Otherwise, if the time is after 09:00:00, then if No vacuum today input boolean [input_boolean.no_vacuum_today] is off, start Vacuum cleaner [vacuum.valetudo_brokenachingdragonfly]; otherwise, turn off No vacuum today input boolean [input_boolean.no_vacuum_today]. For all other triggers (i.e., time at 08:00:00 on Tuesday), send a notification to All phones notify [notify.all_phones] with a message asking if everything is off the floor, and an action to postpone vacuuming.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at 8:00 AM or 9:00 AM on a Tuesday, or when a user interacts with a mobile notification by selecting the 'not_today' action.",
|
|
"conditions": "The automation only runs if the Vacuum [binary_sensor.vacuum] is currently on, the House mode sensor [sensor.house_mode] is not set to 'Vakantie' (Holiday), and the vacuum cleaner [vacuum.valetudo_brokenachingdragonfly] is available and not in an unknown state.",
|
|
"action": "If the trigger was the 'not_today' notification action, it turns on the No vacuum today input boolean [input_boolean.no_vacuum_today]. If the trigger is the 9:00 AM time and it's after 9:00 AM, it checks the state of the No vacuum today input boolean. If the boolean is off, it starts the Vacuum cleaner [vacuum.valetudo_brokenachingdragonfly]. If the boolean is on, it turns the boolean off. If the trigger is the 8:00 AM time, it sends a notification to all phones [notify.all_phones] asking if everything is off the floor, with an option to postpone the vacuuming for the day."
|
|
},
|
|
"human_like": "Schedules the vacuum cleaner to run on Tuesdays, with a morning notification to confirm it's okay to start, and allows postponing the cleaning for the day.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "501645e8-f419-4349-9f0b-57a2f915b345",
|
|
"result": {
|
|
"structured": "TRIGGER: When Vacuum cleaner [vacuum.valetudo_brokenachingdragonfly] changes from returning to docked OR When Vacuum cleaner [vacuum.valetudo_brokenachingdragonfly] changes to error OR When the time is 17:00:00 OR When a mobile app notification action with action 'empty_vacuum_bin' occurs. ACTIONS: If the trigger is docked, then increase Vacuum dust bin counter [counter.vacuum_dust_bin]. Then, choose one of the following sequences: 1. If the trigger is docked OR error, then send a notification to All phones notify [notify.all_phones] with a title and message based on the trigger. 2. If the trigger is time AND Vacuum dust bin counter [counter.vacuum_dust_bin] is above 2 AND Person Martijn [person.martijn] is home AND Workday sensor [binary_sensor.workday_sensor] is on, then send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with title 'Bakje vol' and an action button. 3. If the trigger is empty, then reset Vacuum dust bin counter [counter.vacuum_dust_bin].",
|
|
"natural_language": {
|
|
"trigger": "The automation can start when the Vacuum cleaner [vacuum.valetudo_brokenachingdragonfly] finishes returning and becomes docked, when it enters an error state, at 5:00 PM daily, or when a specific 'empty_vacuum_bin' action is received from a mobile app notification.",
|
|
"conditions": "The actions have internal conditional logic. The first action runs only if the vacuum docked. The main choice block then selects an action path: 1. If the vacuum docked or errored, a notification is sent to all phones. 2. If the trigger is the 5:00 PM time, and the Vacuum dust bin counter [counter.vacuum_dust_bin] is above 2, and Person Martijn [person.martijn] is at home, and it's a workday (Workday sensor [binary_sensor.workday_sensor] is on), then a specific notification is sent to Martijn's phone. 3. If the trigger was the 'empty_vacuum_bin' action, the dust bin counter is reset.",
|
|
"action": "Depending on the trigger and conditions, the automation will: increment a counter when the vacuum docks; send status notifications to all phones when it docks or errors; send a reminder to empty the bin to Martijn's phone at 5 PM on workdays if the bin is full and he's home; or reset the bin counter when the empty action is confirmed."
|
|
},
|
|
"human_like": "Manages vacuum cleaner notifications by sending status updates, reminding to empty the dust bin on workday evenings, and tracking how many times the bin has been used.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ca0dceb5-ad00-4d9f-b0fc-9453574b1891",
|
|
"result": {
|
|
"structured": "TRIGGER: When Magic cube action event [event.magic_cube_action] changes state (excluding from unavailable). CONDITIONS: None. ACTIONS: Choose action based on event variable: IF event equals 'shake' THEN turn on Shelly1PM bureau Martijn relay [switch.shelly1pm_bureau_martijn_relay] AND (IF current time is before 11:00:00 AND Workday sensor [binary_sensor.workday_sensor] is on THEN wait up to 3 minutes for Media player Martijn [media_player.martijn] to be available, then set its volume to 0.5, then start playing Studio Brussel radio on Media player Martijn [media_player.martijn]). IF event contains 'rotate' THEN set variable volume to current volume level of Media player Martijn [media_player.martijn] AND IF volume is not none THEN adjust volume: increase by 0.05 if event is 'rotate_right' or decrease by 0.05 if event is 'rotate_left', clamp result between 0 and 1, round to 2 decimals, and set Media player Martijn [media_player.martijn] volume to that value.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Magic cube action event [event.magic_cube_action] reports a new action, as long as it's not coming from an unavailable state.",
|
|
"conditions": "There are no conditions that must be met before the actions run; the automation executes immediately upon the trigger.",
|
|
"action": "The automation performs different actions depending on the cube's gesture. If the cube is shaken, it turns on the Shelly1PM bureau Martijn relay [switch.shelly1artijn_relay]. Additionally, if it's a workday morning (before 11:00 AM and the Workday sensor [binary_sensor.workday_sensor] is on), it will wait for the Media player Martijn [media_player.martijn] to become available, set its volume to 50%, and start playing the Studio Brussel radio station. If the cube is rotated, it adjusts the volume of the Media player Martijn [media_player.martijn] by 5% up or down, depending on the rotation direction, ensuring the volume stays within the 0-100% range."
|
|
},
|
|
"human_like": "Uses a Xiaomi Cube to control the office desk power and media player, turning on the desk and optionally playing morning radio on workdays when shaken, and adjusting the speaker volume when rotated.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "27c39fe7-4505-4e6a-a739-bcc20f8f4c4b",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following occurs: (closing time [template] OR closing time [template] with extra_close_time defined OR outside temp above 18 [numeric_state] for Weather combined max temp today sensor [sensor.weather_combined_max_temp_today] above 18 OR currently sunny weather [state] for Weather combined [weather.combined] is sunny OR partycloudy OR no rain for 15 minutes [state] for Rain binary sensor [binary_sensor.rain] is off for 15 minutes OR inside temp above 20 [template] for Pepijn temperature sensor [sensor.pepijn_temp] >= 22 OR ( >20 AND month is April through August) OR Wait for manual override period to end [template] for Screen Pepijn manual binary sensor [binary_sensor.screen_pepijn_manual] is off OR opening time [template] for now() > today_at(open_time)). CONDITIONS: During screen season (March through September) [template] AND ((open trigger [trigger] id:open AND cold day tomorrow or rain expected [template] for Weather Combined Max Temp Tomorrow [sensor.weather_combined_max_temp_tomorrow] <= 20 OR Rain until morning binary sensor [binary_sensor.rain_until_morning] is not off) OR (close trigger [trigger] id:close AND closing time [template] for time between close_time and open_time AND outside temp above 18 [numeric_state] for Weather combined max temp today sensor [sensor.weather_combined_max_temp_today] above 18 AND currently sunny weather [state] for Weather combined [weather.combined] is sunny OR partycloudy AND no rain for 15 minutes [state] for Rain binary sensor [binary_sensor.rain] is off AND inside temp above 20 [template] for Pepijn temperature sensor [sensor.pepijn_temp] >= 20 AND not manually opened/closed in the last period [template] for Screen Pepijn manual binary sensor [binary_sensor.screen_pepijn_manual] is undefined OR not on)). ACTIONS: If close trigger [trigger] id:close AND cover is completely open or time is after 11:00 [template] for Pepijn template cover [cover.pepijn_template] position is not 0 AND (not cleaning OR position is 100) THEN close Pepijn template cover [cover.pepijn_template]. If open trigger [trigger] id:open AND cover is not already completely open [template] for Pepijn template cover [cover.pepijn_template] position is not 100 THEN open Pepijn template cover [cover.pepijn_template].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by multiple events: when it's past the scheduled closing time (which differs on workdays and weekends, or if an extra closing time is defined), when the outside temperature today is above 18°C, when the weather is currently sunny or partly cloudy, when it hasn't rained for 15 minutes, when the inside temperature in Pepijn's room is above 20°C (or above 22°C, or above 20°C during the warmer months), when a manual override period ends, or when it's past the scheduled opening time.",
|
|
"conditions": "The automation only runs during the screen season, from March through August. To open the cover, the trigger must be the opening time and either tomorrow's maximum temperature is forecast to be 20°C or below, or rain is expected until morning. To close the cover, the trigger must be a closing event, the current time must be between the scheduled closing and opening times, the outside temperature today must be above 18°C, the weather must be sunny or partly cloudy, it must not have rained for 15 minutes, the inside temperature must be at least 20°C, and there must be no active manual override.",
|
|
"action": "If the conditions for closing are met and the cover is not already closed (and it's not a specific cleaning time on Thursdays unless the cover is fully open), the cover is closed. If the conditions for opening are met and the cover is not already fully open, the cover is opened."
|
|
},
|
|
"human_like": "Automatically opens or closes the screen in Pepijn's bedroom based on the time of day, weather conditions, and temperature, but only during the warmer months of the year.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "4711e349-f3e2-4e7d-adcb-e3b000162fd8",
|
|
"result": {
|
|
"structured": "TRIGGER: When cover Floris [cover.floris] state changes OR when sensor Floris temperature [sensor.floris_temp] state changes OR when binary sensor Screen Floris manual [binary_sensor.screen_floris_manual] state changes OR at time close_time_workday (07:30) OR at time close_time_weekend (08:30) OR at time extra_close_time (11:00) OR at time open_time (22:00). CONDITIONS: (Screen Floris manual [binary_sensor.screen_floris_manual] is off) AND (sensor Floris temperature [sensor.floris_temp] is greater than 22). ACTIONS: Close cover Floris [cover.floris].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by a change in the state of the Floris cover [cover.floris], the Floris temperature sensor [sensor.floris_temp], or the Screen Floris manual binary sensor [binary_sensor.screen_floris_manual]. It can also be triggered at specific times: 07:30 (close_time_workday), 08:30 (close_time_weekend), 11:00 (extra_close_time), and 22:00 (open_time).",
|
|
"conditions": "The automation will only run if the Screen Floris manual binary sensor [binary_sensor.screen_floris_manual] is off, indicating manual control is not active, and the temperature reported by the Floris temperature sensor [sensor.floris_temp] is above 22 degrees.",
|
|
"action": "The automation will close the Floris cover [cover.floris]."
|
|
},
|
|
"human_like": "Automatically closes the Floris cover at specific times or when conditions change, but only if manual control is off and the temperature is high enough.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "dd78d7db-7bd2-48ce-9543-64ee16d98732",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 07:30 on a workday OR when the time is 08:30 on a weekend OR when the time is 18:00 OR when Marleen office temperature sensor [sensor.werkkamer_marleen_temp] changes state. CONDITIONS: Screen Marleen office manual binary sensor [binary_sensor.screen_werkkamer_marleen_manual] is off. ACTIONS: If the trigger is a time event at 07:30 (workday) or 08:30 (weekend), then close Marleen office cover [cover.werkkamer_marleen]. If the trigger is a time event at 18:00, then open Marleen office cover [cover.werkkamer_marleen]. If the trigger is a temperature state change, then open Marleen office cover [cover.werkkamer_marleen] if the temperature is greater than 25 degrees Celsius, otherwise close Marleen office cover [cover.werkkamer_marleen].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at 07:30 on workdays, at 08:30 on weekends, at 18:00 daily, or whenever the Marleen office temperature sensor [sensor.werkkamer_marleen_temp] changes its reading.",
|
|
"conditions": "The automation only runs if the Screen Marleen office manual binary sensor [binary_sensor.screen_werkkamer_marleen_manual] is off, indicating the cover is not in manual mode.",
|
|
"action": "Depending on the trigger: at the morning times (07:30 on workdays or 08:30 on weekends), it closes the Marleen office cover [cover.werkkamer_marleen]. At 18:00, it opens the cover. If triggered by a temperature change, it opens the cover if the temperature is above 25°C, and closes it otherwise."
|
|
},
|
|
"human_like": "Automatically opens or closes the office blinds based on the time of day and temperature, but only when not in manual mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "aab636cd-dac7-4837-82a8-720affe3879f",
|
|
"result": {
|
|
"structured": "TRIGGER: At 21:30 daily OR At 07:30 daily on workdays OR At 08:30 daily on weekends. CONDITIONS: (Screen bedroom manual binary sensor [binary_sensor.screen_slaapkamer_manual] is off) AND (Awair bedroom temperature sensor [sensor.awair_slaapkamer_temperature] is less than 25). ACTIONS: If the trigger time is 21:30, open Bedroom attic template cover [cover.slaapkamer_zolder_template]. If the trigger time is 07:30 (workday) or 08:30 (weekend), close Bedroom attic template cover [cover.slaapkamer_zolder_template].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every day at 9:30 PM, and also at 7:30 AM on workdays or at 8:30 AM on weekends.",
|
|
"conditions": "Two conditions must be met: the Screen bedroom manual binary sensor [binary_sensor.screen_slaapkamer_manual] must be off (indicating no manual override), and the Awair bedroom temperature sensor [sensor.awair_slaapkamer_temperature] must read below 25 degrees.",
|
|
"action": "If it's 9:30 PM, the automation opens the Bedroom attic template cover [cover.slaapkamer_zolder_template]. If it's the morning trigger (7:30 AM on workdays or 8:30 AM on weekends), it closes the same cover."
|
|
},
|
|
"human_like": "Automatically opens the bedroom cover in the evening and closes it in the morning, but only if the room is not too hot and there's no manual override active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "04423f6c-4db1-4375-8f94-1b1b4438920d",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 21:30 OR when the time is 07:30 on a workday OR when the time is 08:30 on a weekend. CONDITIONS: Screen landing attic manual binary sensor [binary_sensor.screen_overloop_zolder_manual] is off AND (Awair bedroom temperature sensor [sensor.awair_slaapkamer_temperature] is greater than 24 OR Awair bedroom temperature sensor [sensor.awair_slaapkamer_temperature] is less than 18). ACTIONS: If the trigger time is 21:30, open Landing attic template cover [cover.overloop_zolder_template]. If the trigger time is 07:30 (workday) or 08:30 (weekend), close Landing attic template cover [cover.overloop_zolder_template].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers daily at 21:30, at 07:30 on workdays, and at 08:30 on weekends.",
|
|
"conditions": "The automation only runs if the Screen landing attic manual binary sensor [binary_sensor.screen_overloop_zolder_manual] is off, indicating the cover is not being manually controlled. Additionally, the Awair bedroom temperature sensor [sensor.awair_slaapkamer_temperature] must report a temperature either above 24 degrees or below 18 degrees.",
|
|
"action": "If the trigger is the 21:30 time, the automation opens the Landing attic template cover [cover.overloop_zolder_template]. If the trigger is the morning time (07:30 on a workday or 08:30 on a weekend), the automation closes the Landing attic template cover [cover.overloop_zolder_template]."
|
|
},
|
|
"human_like": "Automatically opens or closes the landing attic cover at scheduled times based on the bedroom temperature, but only when not in manual mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "fa2ca8c5-675c-4d6a-928b-4e0477cfed3",
|
|
"result": {
|
|
"structured": "TRIGGER: When Floris left cover [cover.floris_links] remains at position 0 for 2 minutes OR at 08:30. CONDITIONS: (Current time is between 08:30:00 and 11:00:00 AND it is Thursday) AND (Floris left cover [cover.floris_links] is at position 0). ACTIONS: Set Floris left cover [cover.floris_links] position to 50%.",
|
|
"natural_language": {
|
|
"trigger": "When the Floris left cover [cover.floris_links] has been fully closed (position 0) for at least two minutes, or when the time reaches 08:30.",
|
|
"conditions": "The automation only runs if the current time is between 08:30 and 11:00 on a Thursday, and the Floris left cover [cover.floris_links] is currently fully closed (position 0).",
|
|
"action": "Opens the Floris left cover [cover.floris_links] halfway by setting its position to 50%."
|
|
},
|
|
"human_like": "On Thursday mornings, if the left cover is closed, it automatically opens halfway for cleaning.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "48718b8b-2768-4e79-9ac6-fa4f3a10cabe",
|
|
"result": {
|
|
"structured": "TRIGGER: When Rain binary sensor [binary_sensor.rain] changes to on and remains for 10 seconds OR When Home Assistant starts up. CONDITIONS: (At least one screen cover is not fully open (position not 100) OR At least one screen cover is unavailable) AND Rain binary sensor [binary_sensor.rain] is on (for 0 seconds if triggered by startup, otherwise for 10 seconds). ACTIONS: If any screen covers are not fully open, open those specific covers. Send a high-priority notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with a title and message that vary based on which screens are unavailable and which are being opened.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either when the Rain binary sensor [binary_sensor.rain] detects rain and stays on for 10 seconds, or immediately when Home Assistant starts up.",
|
|
"conditions": "The automation checks if there is at least one screen cover that is not fully open or at least one screen cover that is unavailable. It also verifies that it is currently raining, but if the trigger was the Home Assistant startup, it only checks the current rain state without a duration; otherwise, it requires the rain state to have been on for 10 seconds.",
|
|
"action": "If there are any screen covers that are not fully open, the automation opens those specific covers. It then sends a notification to the Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro]. The notification's title and message content depend on the situation: it warns if some screens are unavailable, confirms which screens are opening, or states that no screens are opening if they are all unavailable."
|
|
},
|
|
"human_like": "Automatically opens window screens when rain is detected and sends a notification, also checking screen availability and status on system startup.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "767b2b4c-8dc6-4e42-b871-fad275273ebc",
|
|
"result": {
|
|
"structured": "TRIGGER: When the state of Media player Woonkamer [media_player.woonkamer] OR Media player Pepijn [media_player.pepijn] OR Media player Floris [media_player.floris] changes and remains stable for 1 second. CONDITIONS: (The triggering media player's state changes to 'playing' AND (The media title contains 'europapa' OR The media artist contains 'snollebollekes')). ACTIONS: For each area associated with the triggering media player: Wait for a delay equal to half the current attribute value of the automation context. Then, if the party state for the area differs from the new target state, and if turning party mode off, only proceed if the current state was set by 'song', run the Party party script [script.party_party] with variables for the area, the new party state, any lights to exclude, and the setter as 'song', then wait 0.5 seconds.",
|
|
"natural_language": {
|
|
"trigger": "When any of the media players (Media player Woonkamer [media_player.woonkamer], Media player Pepijn [media_player.pepijn], or Media player Floris [media_player.floris]) changes state and remains in that new state for at least one second.",
|
|
"conditions": "The automation only proceeds if the media player that triggered the event has started playing, and the currently playing media's title contains the word 'europapa' or the artist name contains 'snollebollekes'.",
|
|
"action": "For each room area linked to the specific media player that triggered, the automation first pauses briefly. It then checks the current party mode status for that area stored in the Variables sensor [sensor.variables]. If the desired party state (on or off) is different from the stored state, and if the goal is to turn party mode off, it only proceeds if the current state was originally set by a song. If these checks pass, it activates the Party party script [script.party_party] to update the lighting for that area, providing details like which lights to exclude. A short half-second delay follows each script execution."
|
|
},
|
|
"human_like": "Starts a 'party mode' light show in specific rooms when a particular song or artist starts playing on certain media players, and turns it off when the music stops.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "6d0dc8bd-d264-42b8-8488-10e2e44d9393",
|
|
"result": {
|
|
"structured": "TRIGGER: When Pixel 10 Pro location BT sensor [sensor.location_phone_martijn_bt] state changes OR when Pixel 10 Pro battery level sensor [sensor.pixel_10_pro_battery_level] state changes OR when Home Assistant starts. CONDITIONS: None. ACTIONS: Update the device tracker for phone_martijn_bt with host name 'Phone Martijn BT', MAC '0C:C4:13:45:75:85', battery level from Pixel 10 Pro battery level sensor [sensor.pixel_10_pro_battery_level], and location name derived from Pixel 10 Pro location BT sensor [sensor.location_phone_martijn_bt] (if state is 'Niet Thuis' set to 'not_home', if state is 'unavailable' or 'unknown' keep the same state, otherwise set to 'home').",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the Pixel 10 Pro location BT sensor [sensor.location_phone_martijn_bt] changes its reported location, or when the Pixel 10 Pro battery level sensor [sensor.pixel_10_pro_battery_level] reports a new battery level. It also triggers when Home Assistant starts up.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "It updates the device tracker entry for Martijn's phone (identified as 'phone_martijn_bt') with its current host name, MAC address, battery level taken from the Pixel 10 Pro battery level sensor [sensor.pixel_10_pro_battery_level], and a computed location. The location is set to 'not_home' if the Pixel 10 Pro location BT sensor [sensor.location_phone_martijn_bt] reports 'Niet Thuis', set to the sensor's raw state (like 'unavailable' or 'unknown') if it reports those, and otherwise set to 'home'."
|
|
},
|
|
"human_like": "Keeps Martijn's phone device tracker updated with its latest location and battery level whenever they change or when Home Assistant restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "efac28d0-19f8-42d7-928f-04e09d1191a5",
|
|
"result": {
|
|
"structured": "TRIGGER: When Pixel 10 Pro last notification sensor [sensor.pixel_10_pro_last_notification] changes state. CONDITIONS: (Pixel 10 Pro last notification sensor [sensor.pixel_10_pro_last_notification] attribute 'package' equals 'com.google.android.apps.messaging') AND (The state of Pixel 10 Pro last notification sensor [sensor.pixel_10_pro_last_notification] contains the text 'Uw DigiD sms-code om in te loggen bij'). ACTIONS: Send a notification via Mobile app Pixel 8 Marleen [notify.mobile_app_pixel_8_marleen] with title 'DigiD code' and message containing the new state of Pixel 10 Pro last notification sensor [sensor.pixel_10_pro_last_notification].",
|
|
"natural_language": {
|
|
"trigger": "Whenever a new notification is received on the phone, as detected by the Pixel 10 Pro last notification sensor [sensor.pixel_10_pro_last_notification].",
|
|
"conditions": "The notification must be from the SMS messaging app (package 'com.google.android.apps.messaging') and its content must include the specific text 'Uw DigiD sms-code om in te loggen bij' (which indicates a DigiD login SMS code).",
|
|
"action": "Sends a push notification titled 'DigiD code' to Marleen's phone (Mobile app Pixel 8 Marleen [notify.mobile_app_pixel_8_marleen]), with the message being the full text of the received SMS notification."
|
|
},
|
|
"human_like": "Forwards DigiD login SMS codes received on one phone as a notification to Marleen's phone.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "35106a4b-1055-44db-958c-99b9d9cf721b",
|
|
"result": {
|
|
"structured": "TRIGGER: When Pixel 10 Pro Bluetooth connection sensor [sensor.pixel_10_pro_bluetooth_connection] attribute 'connected_paired_devices' changes. CONDITIONS: The newly added Bluetooth device (calculated as the difference between the new and old 'connected_paired_devices' lists) is one of the predefined headphones: 60:AB:D2:3C:85:66 (LE-Big Ears) OR E0:67:81:01:F7:D3 (Haylou GT3) OR E8:07:BF:13:99:AB (Soundcore Spirit X). ACTIONS: Send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with title 'Muziekje?' and message 'Wat wil je luisteren', containing actions to open Spotify, YT Music, or TuneIn, wait for 10 minutes, then clear the notification with tag 'music_choose'.",
|
|
"natural_language": {
|
|
"trigger": "When the list of connected Bluetooth devices on the Pixel 10 Pro Bluetooth connection sensor [sensor.pixel_10_pro_bluetooth_connection] changes.",
|
|
"conditions": "If the specific Bluetooth device that was just connected is one of the user's predefined headphones: LE-Big Ears, Haylou GT3, or Soundcore Spirit X.",
|
|
"action": "Sends a notification to Martijn's phone (Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro]) asking which music app to open, provides quick-launch buttons for Spotify, YouTube Music, and TuneIn, waits for 10 minutes, and then automatically clears that notification."
|
|
},
|
|
"human_like": "Asks which music app to open on Martijn's phone when he connects his headphones via Bluetooth.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "e7e51e10-c152-4514-bfc7-393c6d16d468",
|
|
"result": {
|
|
"structured": "TRIGGER: When Thuis Martijn distance sensor [sensor.thuis_martijn_distance] is below 2000 OR When Thuis Martijn distance sensor [sensor.thuis_martijn_distance] is above 2000. CONDITIONS: None. ACTIONS: If the trigger was home (distance below 2000), then send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with command 'normal' for ringer mode AND send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with command 'turn_on' for BLE transmitter. Otherwise (if the trigger was not_home), send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with command 'vibrate' for ringer mode AND send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with command 'turn_off' for BLE transmitter.",
|
|
"natural_language": {
|
|
"trigger": "When the Thuis Martijn distance sensor [sensor.thuis_martijn_distance] reports a distance less than 2 kilometers from home, or when it reports a distance greater than 2 kilometers from home.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "If the distance is less than 2 kilometers, the automation sends a notification to the Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] to set the phone's ringer mode to normal and to turn on the Bluetooth Low Energy (BLE) transmitter. If the distance is greater than 2 kilometers, it sends a notification to set the ringer mode to vibrate and to turn off the BLE transmitter."
|
|
},
|
|
"human_like": "Automatically adjusts Martijn's phone to normal sound mode and enables a beacon when he is near home, and switches to vibrate mode and disables the beacon when he is farther away.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "aef85bb7-d7c6-4727-84b7-c15f222d7f71",
|
|
"result": {
|
|
"structured": "TRIGGER: When a webhook with ID sip_call_webhook_id is received. CONDITIONS: The webhook data indicates an incoming call event (event == 'incoming_call'). ACTIONS: Extract the caller number from the webhook. If the caller number is in the allowed_callers list (which contains '**621'), then start an interactive voice menu via the c7744bff_ha-sip addon. The menu plays a greeting message and waits up to 30 seconds for a DTMF input. Based on the input: '1' calls dad via script.make_call, '2' calls mom via script.make_call, '3' calls grandma_dog via script.make_call, '4' calls grandma_cat via script.make_call, '8' calls alarm via script.make_call, '9' hangs up, any other input replays the menu, and a timeout hangs up.",
|
|
"natural_language": {
|
|
"trigger": "When a specific webhook (sip_call_webhook_id) is received, indicating a SIP call event.",
|
|
"conditions": "The webhook data must specify that the event is an incoming call.",
|
|
"action": "The automation extracts the caller's number. If the caller is on the allowed list (currently only number '**621'), it answers the call and presents an interactive voice menu. The menu offers options to call different contacts (dad, mom, grandma_dog, grandma_cat, or emergency services) by activating the Make call script [script.make_call], to hang up, or to handle invalid inputs or timeouts."
|
|
},
|
|
"human_like": "Answers incoming SIP calls from a specific caller and provides an interactive voice menu to connect them to different family members or emergency services.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ec867a7d-71bf-4fee-89aa-1ac88a201711",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 20:00:00 daily OR When Plant problems count sensor [sensor.plant_problems_count] changes state (excluding changes to/from 'unavailable' or 'unknown') AND remains stable for 1 hour. CONDITIONS: If the trigger is the sensor, then the new state value must be greater than the previous state value. If the trigger is the time, then the current state of Plant problems count sensor [sensor.plant_problems_count] must be greater than 0. ACTIONS: Create a 'thirsty' message listing plant names and areas for plants in the 'thirsty' attribute of Plant problems count sensor [sensor.plant_problems_count]. Create a 'flooded' message listing plant names and areas for plants in the 'flooded' attribute of Plant problems count sensor [sensor.plant_problems_count]. Send a notification via Rest command signal send message [rest_command.signal_send_message] containing the title '🌱 Plant Alarm!' and the thirsty and flooded messages if they exist.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every evening at 8:00 PM, or whenever the Plant problems count sensor [sensor.plant_problems_count] changes its state and remains in that new state for one hour, provided the change is not to or from an 'unavailable' or 'unknown' status.",
|
|
"conditions": "A message is only sent if the plant problem count has increased since the last sensor change, or if triggered by the evening check, if there are any plant problems at all (count greater than zero).",
|
|
"action": "The automation compiles two lists: one for thirsty plants and one for flooded plants, using the friendly names and areas from the sensor's attributes. It then sends a formatted notification message via the Rest command signal send message [rest_command.signal_send_message] service, including the lists if they are not empty."
|
|
},
|
|
"human_like": "Sends a notification in the evening or when a problem is detected, listing which plants are thirsty or have too much water.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "1dc827cc-4287-48b1-8894-ad2e0202dd94",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template condition evaluates to true, which occurs if any entity with the label 'always_on' is currently in the 'off' state. CONDITIONS: None. ACTIONS: Turn on all entities with the label 'always_on' that are currently in the 'off' state.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the system detects that one or more entities tagged with the label 'always_on' are switched off.",
|
|
"conditions": "There are no additional conditions that must be met for this automation to run.",
|
|
"action": "Turns on every entity with the label 'always_on' that is currently off."
|
|
},
|
|
"human_like": "Ensures that any devices or entities marked as 'always on' are automatically turned back on if they get switched off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "24622ebc-3be8-4ca2-a4ae-0920b97dc11b",
|
|
"result": {
|
|
"structured": "TRIGGER: When Bedside lamp [light.bedside_lamp] becomes unavailable AND remains unavailable for 5 minutes OR When the time is 21:00:00 OR 09:00:00. CONDITIONS: Bedside lamp [light.bedside_lamp] is unavailable AND The current time is after 09:00:00 AND before 21:00:01. ACTIONS: Turn off Bedside lamp reset switch [switch.nachtlampje_martijn_reset], Wait for 10 seconds, Turn on Bedside lamp reset switch [switch.nachtlampje_martijn_reset].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if the Bedside lamp [light.bedside_lamp] is reported as unavailable and stays that way for five minutes, or if the time reaches either 9:00 AM or 9:00 PM.",
|
|
"conditions": "For the automation to run, the Bedside lamp [light.bedside_lamp] must still be in an unavailable state, and the current time must be between 9:00:01 AM and 9:00:01 PM.",
|
|
"action": "It turns off the Bedside lamp reset switch [switch.nachtlampje_martijn_reset], waits for ten seconds, and then turns the same switch back on, effectively performing a power cycle reset on the lamp."
|
|
},
|
|
"human_like": "Resets the bedside lamp by toggling its reset switch if the lamp becomes unavailable during the day or at specific scheduled times.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "1021cdb8-6a53-4e31-bc04-5d776323e1c8",
|
|
"result": {
|
|
"structured": "TRIGGER: When Stairs closet sonoff event [event.sonoff_trapkast_sonoff_trapkast] changes state, provided the previous state was not 'unavailable'. CONDITIONS: Stairs closet button type select [select.sonoff_trapkast_button_type] is in 'Detached' mode. ACTIONS: IF Stairs closet light [light.trapkast] exists, THEN check the press type: IF the event_type attribute is 'single_press', toggle Stairs closet template light [light.trapkast_template]; IF the event_type attribute is 'double_press', toggle Stairs closet template light [light.trapkast_template] to full brightness (255). OTHERWISE, toggle Stairs closet sonoff relay [switch.sonoff_trapkast_relay].",
|
|
"natural_language": {
|
|
"trigger": "When the Stairs closet sonoff event [event.sonoff_trapkast_sonoff_trapkast] reports a new state, as long as it wasn't previously unavailable.",
|
|
"conditions": "The Stairs closet button type select [select.sonoff_trapkast_button_type] must be set to 'Detached' mode.",
|
|
"action": "First, the automation checks if the Stairs closet light [light.trapkast] entity exists. If it does, it examines the button press type from the trigger event. A single press will toggle the Stairs closet template light [light.trapkast_template] on or off. A double press will toggle the same light but also set it to full brightness. If the Stairs closet light [light.trapkast] entity does not exist, the automation will instead toggle the Stairs closet sonoff relay [switch.sonoff_trapkast_relay] as a fallback action."
|
|
},
|
|
"human_like": "Controls the stairs closet light or relay based on button presses when the button is in detached mode, offering different brightness levels for single and double presses.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "2017abca-a756-420b-98fb-228824ce182a",
|
|
"result": {
|
|
"structured": "TRIGGER: When Assist satellite Woonkamer [assist_satellite.woonkamer] OR Assist satellite Keuken [assist_satellite.keuken] changes state to 'listening'. CONDITIONS: None (trigger-only automation). ACTIONS: IF Nvidia Shield [media_player.nvidia_shield] is playing AND the trigger originated from the living room area, THEN pause Nvidia Shield [media_player.nvidia_shield]. IF Nvidia Shield [media_player.nvidia_shield] is playing, THEN create a snapshot scene 'soundbar_before' for Samsung soundbar [media_player.samsung_soundbar], wait up to 10 seconds for the triggering satellite to enter 'processing' state, IF the wait succeeded, THEN set Samsung soundbar [media_player.samsung_soundbar] volume to 0.1 (if living room) OR 0.02 (if kitchen). Store the current volume level of the satellite media player that triggered the automation. Set the volume of that satellite media player to 0.7. IF the trigger originated from the living room area, THEN turn on Samsung soundbar [media_player.samsung_soundbar] AND set its source to 'aux'. Wait for the triggering satellite to be in 'idle' state for 0.5 seconds. Restore the satellite media player's volume to its previous level. IF Nvidia Shield [media_player.nvidia_shield] was playing, THEN restore the Samsung soundbar [media_player.samsung_soundbar] to its previous state via the 'soundbar_before' scene, AND IF Nvidia Shield [media_player.nvidia_shield] is not playing, THEN resume playback on Nvidia Shield [media_player.nvidia_shield]. IF Nvidia Shield [media_player.nvidia_shield] was NOT playing AND the trigger originated from the living room area, THEN identify the Music Assistant player in the living room area, wait up to 10 seconds for it to start playing, IF it started playing, wait up to 5 minutes for it to stop playing for 10 seconds, IF that wait succeeded, THEN turn off Samsung soundbar [media_player.samsung_soundbar].",
|
|
"natural_language": {
|
|
"trigger": "When either the Assist satellite Woonkamer [assist_satellite.woonkamer] in the living room or the Assist satellite Keuken [assist_satellite.keuken] in the kitchen starts listening for a voice command.",
|
|
"conditions": "There are no separate conditions; the automation runs immediately upon the trigger.",
|
|
"action": "The automation manages audio devices to facilitate voice interaction. If the Nvidia Shield [media_player.nvidia_shield] is playing content and the command came from the living room, it is paused. If the Shield is playing, a snapshot of the Samsung soundbar [media_player.samsung_soundbar] settings is saved. It then waits briefly for the voice command to be processed, and if successful, lowers the soundbar volume (more in the living room, less in the kitchen). The volume of the satellite that triggered the automation is increased to 0.7 for clear voice feedback. If the command came from the living room, the soundbar is turned on and set to the 'aux' input. After the voice interaction finishes (the satellite returns to idle), the satellite's volume is restored. If the Shield was playing, the soundbar's previous settings are restored and the Shield is resumed if it's still paused. If the Shield was not playing and the command came from the living room, the automation will wait for a Music Assistant player in that room to start and then stop playing music, after which it will turn the soundbar off."
|
|
},
|
|
"human_like": "This automation manages the TV, soundbar, and speaker volumes when a voice command is given in the living room or kitchen, ensuring media is paused and audio levels are adjusted for clear interaction before restoring the previous state.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "bd5c40c0-6c25-4560-9455-8318d1e3924a",
|
|
"result": {
|
|
"structured": "TRIGGER: When Nvidia Shield [media_player.nvidia_shield] changes to playing OR When Media player Woonkamer [media_player.woonkamer] changes to playing AND remains playing for 2 seconds. CONDITIONS: Samsung soundbar [media_player.samsung_soundbar] source attribute is NOT equal to the trigger ID (either 'optical' or 'aux'). ACTIONS: If Samsung soundbar [media_player.samsung_soundbar] is off, then turn on Samsung soundbar [media_player.samsung_soundbar] and wait until it is on. Then, select the source on Samsung soundbar [media_player.samsung_soundbar] equal to the trigger ID.",
|
|
"natural_language": {
|
|
"trigger": "When the Nvidia Shield [media_player.nvidia_shield] starts playing, or when the Media player Woonkamer [media_player.woonkamer] starts playing and remains playing for at least two seconds.",
|
|
"conditions": "The Samsung soundbar [media_player.samsung_soundbar] is not already set to the correct source corresponding to the device that triggered the automation (either 'optical' for the Shield or 'aux' for the Woonkamer).",
|
|
"action": "If the soundbar is off, it will be turned on, and the automation will wait for it to power on. Then, it will switch the soundbar's source to match the device that started playing ('optical' for the Shield or 'aux' for the Woonkamer)."
|
|
},
|
|
"human_like": "Automatically switches the soundbar to the correct input source when a media player in the living room starts playing, ensuring the audio is routed properly.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "5e74e69a-7e31-4769-ad6a-c438fce816dc",
|
|
"result": {
|
|
"structured": "TRIGGER: When Update Home Assistant core update [update.home_assistant_core_update] OR Update Home Assistant OS update [update.home_assistant_operating_system_update] becomes available (state changes to 'on'). CONDITIONS: None. ACTIONS: 1. Set variables for notification actions. 2. Send a notification to Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro] with title, message, and action buttons for 'Changelog', 'Skip', and 'Update'. 3. Wait for a user response via a mobile app notification action, either for the 'Update' or 'Skip' button. 4. Based on the user's choice, either install or skip the update on the entity that triggered the automation. 5. If the user chose 'Update', set a variable flag named 'reboot_from_notification' to true.",
|
|
"natural_language": {
|
|
"trigger": "When either the Update Home Assistant core update [update.home_assistant_core_update] or the Update Home Assistant OS update [update.home_assistant_operating_system_update] becomes available, indicating a new version is ready.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed after the trigger.",
|
|
"action": "The automation first prepares some internal variables. It then sends a high-priority notification to the Mobile app Pixel 10 Pro [notify.mobile_app_pixel_10_pro], informing the user of the new version and providing buttons to view the changelog, skip the update, or install it. The automation then pauses, waiting for the user to press either the 'Update' or 'Skip' button in the notification. Once the user responds, the automation proceeds to either install or skip the update on the specific entity that triggered the alert. If the user chose to install the update, a special flag is set in a variable to indicate a reboot may be needed."
|
|
},
|
|
"human_like": "Sends a notification to your phone when a Home Assistant update is available, allowing you to choose to install or skip it directly from the notification.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "8034c218-8019-4f21-8921-fabfd38043a8",
|
|
"result": {
|
|
"structured": "TRIGGER: When Technical area contact sensor [binary_sensor.technische_ruimte_contact] changes state from open (on) to closed (off) OR from closed (off) to open (on). CONDITIONS: None. ACTIONS: Turn Technical area light [light.technische_ruimte] on if the trigger state is 'on' OR turn Technical area light [light.technische_ruimte] off if the trigger state is 'off'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Technical area contact sensor [binary_sensor.technische_ruimte_contact] changes its state, either from open to closed or from closed to open.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "The Technical area light [light.technische_ruimte] is turned on if the sensor's new state is 'open' (on), or turned off if the sensor's new state is 'closed' (off)."
|
|
},
|
|
"human_like": "Automatically turns the technical area light on when the door is opened and off when it is closed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "690cc2c9-f014-4b38-90e8-51217659d49e",
|
|
"result": {
|
|
"structured": "TRIGGER: At 07:00:00 (Morning trash reminder) OR At 20:00:00 (Evening trash reminder). CONDITIONS: The state of sensor.afvalwijzer_today (for morning trigger) OR sensor.afvalwijzer_tomorrow (for evening trigger) is not equal to 'geen'. ACTIONS: Send a notification to All phones notify [notify.all_phones] with a title and message about which trash containers need to be taken out, using the channel 'Trash', priority 'high', and icon 'mdi:trash-can-outline'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at 7:00 AM for a 'today' reminder and at 8:00 PM for a 'tomorrow' reminder.",
|
|
"conditions": "The condition checks if the relevant waste sensor (sensor.afvalwijzer_today or sensor.afvalwijzer_tomorrow) reports that there is a collection scheduled, i.e., its state is not 'geen' (meaning 'none').",
|
|
"action": "Sends a push notification to all phones via All phones notify [notify.all_phones]. The notification's title and message are dynamically generated to list which specific trash containers (e.g., rest- en GFT-bak, papier- en PMD-bak, kerstboom) need to be put outside, using the appropriate day label ('Vandaag' for today, 'Morgen' for tomorrow). The notification is sent with high priority on the 'Trash' channel."
|
|
},
|
|
"human_like": "Sends timely reminders to your phones about which trash containers need to be put out for collection.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "98e424f3-e458-4061-8562-c9e2700e0c3a",
|
|
"result": {
|
|
"structured": "TRIGGER: When Ulanzi Martijn brightness sensor [sensor.awtrix_martijn_battery] changes state. CONDITIONS: (app variable is defined AND app variable is not none) AND (update variable is defined AND is true OR update variable is not defined). ACTIONS: Publish a JSON payload to MQTT topic awtrix_martijn/apps containing an array with a single object. The object has a 'name' property set to the value of the app variable and a 'show' property set to the boolean value of the show variable (defaulting to true if not defined).",
|
|
"natural_language": {
|
|
"trigger": "Whenever the battery level sensor for the Ulanzi device, Ulanzi Martijn brightness sensor [sensor.awtrix_martijn_battery], changes its state.",
|
|
"conditions": "Two conditions must be met. First, a variable named 'app' must be defined and have a value. Second, a variable named 'update' must either be defined and set to true, or not be defined at all (in which case it defaults to true).",
|
|
"action": "Sends a message via MQTT to the topic 'awtrix_martijn/apps'. The message is a JSON list containing an object that specifies which app to control (using the 'app' variable) and whether to show or hide it (using the 'show' variable, which is true if the battery is at 100% and defaults to true otherwise)."
|
|
},
|
|
"human_like": "Controls which app is shown on the Ulanzi display based on its battery level, sending the command via MQTT.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "52dd10e9-7bf6-4778-b4b7-a8967a4b5fb8",
|
|
"result": {
|
|
"structured": "TRIGGER: When What's App notification active binary sensor [binary_sensor.whatsapp_notification_active] changes state (any state) OR When Raindata binary sensor [binary_sensor.raindata] changes state (any state) OR When Net power consumption binary sensor [binary_sensor.net_power_consumption] changes state (any state). CONDITIONS: The template condition '{{ update | default(true) | bool(true) }}' evaluates to true. ACTIONS: If the variable 'action' (derived from the trigger's new state) evaluates to true, then turn on the Ulanzi indicator light [light.awtrix_martijn_indicator_{indicator}] with brightness from the 'brightness' variable (defaulting to the brightness of light.matrix) and color from the 'color_name' variable. Otherwise, turn off the Ulanzi indicator light [light.awtrix_martijn_indicator_{indicator}].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever the status of the What's App notification active binary sensor [binary_sensor.whatsapp_notification_active], the Raindata binary sensor [binary_sensor.raindata], or the Net power consumption binary sensor [binary_sensor.net_power_consumption] changes.",
|
|
"conditions": "The automation only proceeds if a template condition, which checks if an 'update' flag is enabled (defaulting to true), is satisfied.",
|
|
"action": "Depending on the trigger, if the derived 'action' variable is true, the corresponding Ulanzi indicator light is turned on with a specific brightness and color. For the WhatsApp trigger, the indicator light 1 turns green. For the rain data trigger, indicator light 2 turns blue. For the net power consumption trigger, indicator light 3 turns yellow if power consumption is off, or purple if it is on. If the 'action' variable is false, the corresponding indicator light is turned off."
|
|
},
|
|
"human_like": "Controls colored indicator lights on a Ulanzi device to visually show the status of WhatsApp notifications, rain data, and net power consumption.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "10d5d325-1ed3-47a8-9352-b1b1d121802e",
|
|
"result": {
|
|
"structured": "TRIGGER: When Weather combined [weather.combined] state changes OR When Weather combined [weather.combined] temperature attribute changes OR When Martijn office temperature sensor [sensor.werkkamer_martijn_temp] or Martijn office humidity sensor [sensor.werkkamer_martijn_vocht] state changes (excluding to unavailable) OR When Pixel 10 Pro last notification sensor [sensor.pixel_10_pro_last_notification] state changes OR When Smart doorbell button [binary_sensor.smart_doorbell_button] turns on (to 'on') OR When Raindata binary sensor [binary_sensor.raindata] state changes. CONDITIONS: The template condition 'update | default(true) | bool(true)' evaluates to true AND The template condition 'deactivate is defined or plot_graph is defined or text is defined' evaluates to true. ACTIONS: If the variable 'deactivate' is true, then publish an empty payload to the MQTT topic 'awtrix_martijn/custom/{{ app }}' to deactivate the custom app. Otherwise, publish a JSON payload to the MQTT topic 'awtrix_martijn/notify' or 'awtrix_martijn/custom/{{ app }}' (depending on the app variable) containing notification or custom app data (including text, icon, repeat, graph data, colors, etc.) derived from the trigger variables.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers on several events: when the overall weather state or its temperature changes; when the office temperature or humidity sensors report a new reading (as long as it's not 'unavailable'); when a new phone notification is detected; when the smart doorbell button is pressed; or when the rain data sensor changes state.",
|
|
"conditions": "Two template conditions must be met. First, a flag named 'update' must be true (or not defined, defaulting to true). Second, at least one of the following must be defined: a 'deactivate' flag, a 'plot_graph' flag (indicating graph data is available), or a 'text' variable (containing content to display).",
|
|
"action": "If the 'deactivate' flag is set, the action sends an empty MQTT message to deactivate a specific custom app on the display. Otherwise, it constructs and sends a detailed JSON payload via MQTT. This payload can either send a notification or update a custom app, containing information like text, icons, repetition settings, or graphical data (like rain graphs) based on what triggered the automation."
|
|
},
|
|
"human_like": "Sends weather, sensor readings, notifications, and doorbell alerts to a custom display, and can show graphs for rain data.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "964ca72d-0e82-488d-b6e8-0ac72a5eabc0",
|
|
"result": {
|
|
"structured": "TRIGGER: When House mode sensor [sensor.house_mode] changes state OR When Shelly1PM bureau Martijn relay [switch.shelly1pm_bureau_martijn_relay] changes state OR At 07:00 or 22:00 daily OR When Person Martijn [person.martijn] changes state. CONDITIONS: The template condition 'update' variable must evaluate to true. ACTIONS: Turn Martijn matrix display light [light.awtrix_martijn_matrix] on or off based on the 'action' variable.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house mode changes, when the office power switch changes, at 7:00 AM and 10:00 PM daily, or when Martijn's presence status changes.",
|
|
"conditions": "The automation only proceeds if an internal 'update' flag is true. This flag is calculated differently for each trigger, but generally checks if Martijn is home, the office power is on, and his computer is not in an 'off' state when the intended action is to turn the screen on.",
|
|
"action": "Turns the Ulanzi matrix display light on or off, depending on the calculated 'action' variable."
|
|
},
|
|
"human_like": "Automatically controls the office matrix display, turning it on or off based on the time of day, house mode, Martijn's presence, and the office power state.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "630ae4fd-f5fd-41f9-8d83-837e991a08c8",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following button sensors changes from off to on: Ulanzi Martijn left button [binary_sensor.awtrix_martijn_button_left], Ulanzi Martijn select button [binary_sensor.awtrix_martijn_button_select], Ulanzi Martijn right button [binary_sensor.awtrix_martijn_button_right], Ulanzi Floris left button [binary_sensor.awtrix_floris_button_left], Ulanzi Floris select button [binary_sensor.awtrix_floris_button_select], Ulanzi Floris right button [binary_sensor.awtrix_floris_button_right], Ulanzi Pepijn left button [binary_sensor.awtrix_pepijn_button_left], Ulanzi Pepijn select button [binary_sensor.awtrix_pepijn_button_select], Ulanzi Pepijn right button [binary_sensor.awtrix_pepijn_button_right]. CONDITIONS: None. ACTIONS: Wait for the triggering button to be released (state off) for up to 2 seconds. If the button is not released within 2 seconds (timeout), send an 'awtrix_button_event' with click type 'hold', area derived from the button's area, and button name derived from the entity_id. If the button is released within 2 seconds, enter a loop: wait up to 0.5 seconds for the same button to be pressed again (state on). If no press occurs within 0.5 seconds, send an 'awtrix_button_event' with click type 'single' for the first iteration or 'multiple' for subsequent iterations, area and button derived as above, and count equal to the loop iteration number. Repeat this loop until no new press is detected within the 0.5-second window.",
|
|
"natural_language": {
|
|
"trigger": "When any of the Awtrix buttons (left, select, or right buttons for Martijn, Floris, or Pepijn) is pressed, changing its state from off to on.",
|
|
"conditions": "There are no specific conditions that must be met for the automation to proceed after the trigger.",
|
|
"action": "First, the automation waits for the pressed button to be released, with a timeout of 2 seconds. If the button is held down for the full 2 seconds, it is considered a long press, and a 'hold' event is sent. If the button is released within 2 seconds, the automation enters a sequence to detect multiple rapid presses. It waits for an additional 0.5 seconds to see if the same button is pressed again. If not, a 'single' click event is sent. If another press is detected within 0.5 seconds, the loop repeats, and if no further press is detected in the next 0.5-second window, a 'multiple' click event is sent with the total count of presses. The event includes the area (room) and the specific button name."
|
|
},
|
|
"human_like": "Detects and distinguishes between short, multiple, and long presses on Awtrix buttons, sending corresponding events for further processing.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "dc9ec434-0886-4fd3-a504-006ca6e8ec40",
|
|
"result": {
|
|
"structured": "TRIGGER: When an awtrix_button_event occurs with area set to slaapkamer_pepijn. CONDITIONS: None. ACTIONS: Based on the click type (event variable): IF event is 'single' THEN toggle the light corresponding to the button: left button toggles Pepijn globe light [light.wereldbol], select button toggles Pepijn bed light [light.bed_pepijn], right button toggles Pepijn reading light [light.pepijn_leeslamp]; IF event is 'hold' THEN turn off all lights in area slaapkamer_pepijn that are labeled 'off_long_press'; IF event is 'double' THEN do nothing; IF event is 'release' THEN do nothing.",
|
|
"natural_language": {
|
|
"trigger": "When a button press event is received from an Awtrix device in the slaapkamer_pepijn area.",
|
|
"conditions": "There are no additional conditions; the automation runs immediately upon the trigger.",
|
|
"action": "Depending on the type of button press: a single click toggles a specific light (left button toggles the Pepijn globe light [light.wereldbol], the middle button toggles the Pepijn bed light [light.bed_pepijn], and the right button toggles the Pepijn reading light [light.pepijn_leeslamp]). A long press turns off all lights in the slaapkamer_pepijn area that have the label 'off_long_press'. A double click or a button release does nothing."
|
|
},
|
|
"human_like": "Controls lights in Pepijn's bedroom using an Awtrix button: single clicks toggle specific lights, and a long press turns off labeled lights.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "1bb3f63c-c210-4299-a36e-14e70a2e6950",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every minute at seconds = 0 OR When Pepijn sleeping binary sensor [binary_sensor.pepijn_sleeping] changes state from on to off or from off to on OR When Ulanzi Pepijn matrix light [light.awtrix_pepijn_matrix] becomes available (from unavailable) OR When Weather combined [weather.combined] or Pepijn clock correction input number [input_number.correction_clock_pepijn] changes state. CONDITIONS: None (conditions are embedded in action logic). ACTIONS: If Pepijn sleeping binary sensor [binary_sensor.pepijn_sleeping] is on, then: If Ulanzi Pepijn brightness mode select [select.awtrix_pepijn_brightness_mode] is not set to Manual, set it to Manual. If Ulanzi Pepijn matrix light [light.awtrix_pepijn_matrix] brightness attribute is not 2, set its brightness to 2. Publish a custom sleep clock MQTT payload to awtrix_pepijn/custom/sleep_clock, which includes an icon based on House mode sensor [sensor.house_mode], the current time adjusted by Pepijn clock correction input number [input_number.correction_clock_pepijn], and a progress bar calculated using Pepijn wake up time input datetime [input_datetime.pepijn_time_awake]. Otherwise (if Pepijn sleeping binary sensor [binary_sensor.pepijn_sleeping] is off), then: Publish a weather clock MQTT payload to awtrix_pepijn/custom/sleep_clock with the weather icon from Weather combined [weather.combined] and the corrected time. If Ulanzi Pepijn brightness mode select [select.awtrix_pepijn_brightness_mode] is not set to Auto, set it to Auto. Additionally, if Ulanzi Pepijn current app sensor [sensor.awtrix_pepijn_current_app] is not set to sleep_clock, publish an MQTT command to awtrix_pepijn/switch to switch to the sleep_clock app.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every minute on the zero second, whenever the Pepijn sleeping binary sensor [binary_sensor.pepijn_sleeping] changes between sleeping and not sleeping, when the Ulanzi Pepijn matrix light [light.awtrix_pepijn_matrix] becomes available after being unavailable, or when the Weather combined [weather.combined] or the Pepijn clock correction input number [input_number.correction_clock_pepijn] changes.",
|
|
"conditions": "There are no separate conditions; the logic is embedded in the actions. The actions check the state of the Pepijn sleeping binary sensor [binary_sensor.pepijn_sleeping] to decide which display mode to use, and also check the current brightness mode and app on the display.",
|
|
"action": "If Pepijn is sleeping, the automation ensures the display is in manual brightness mode, dims the display to a low brightness, and publishes a custom sleep clock display that shows the time (adjusted by a correction factor) and a progress bar indicating time until wake-up. If Pepijn is not sleeping, it publishes a weather clock display with the current weather icon and corrected time, and sets the display brightness back to auto mode. Regardless of sleeping state, if the display is not already showing the sleep clock app, it switches to that app."
|
|
},
|
|
"human_like": "Updates Pepijn's Ulanzi display every minute or when relevant states change, showing a sleep clock with a wake-up progress bar when he's sleeping, or a weather clock when he's awake, and manages display brightness accordingly.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "8c6c0182-b227-47b8-a53b-c88075761b1a",
|
|
"result": {
|
|
"structured": "TRIGGER: When an Awtrix button event occurs in the area slaapkamer_floris. CONDITIONS: None. ACTIONS: Based on the event click type: IF event is 'single' THEN toggle the light mapped to the pressed button (left → Floris bed lamp [light.bedlamp_floris], select → Planet light [light.planeet], right → Floris reading light [light.floris_leeslamp]). IF event is 'hold' THEN turn off all lights in the area slaapkamer_floris that are labeled 'off_long_press'. IF event is 'double' OR 'release' THEN do nothing.",
|
|
"natural_language": {
|
|
"trigger": "When a button on the Awtrix device in the area slaapkamer_floris is pressed.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Depending on the type of button press: a single press toggles a specific light (left button toggles Floris bed lamp [light.bedlamp_floris], select button toggles Planet light [light.planeet], right button toggles Floris reading light [light.floris_leeslamp]). A long press turns off all lights in the area slaapkamer_floris that have the label 'off_long_press'. A double press or a button release does nothing."
|
|
},
|
|
"human_like": "Controls lights in Floris's bedroom using an Awtrix button, with different press types toggling specific lights or turning off labeled lights.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "0b959006-4674-4343-b316-ebf1e124f826",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches seconds = 0 (every minute) OR Floris sleeping binary sensor [binary_sensor.floris_sleeping] changes state from on to off or from off to on OR Ulanzi Floris matrix light [light.awtrix_floris_matrix] changes from unavailable to any other state OR Weather combined [weather.combined] or Floris clock correction input number [input_number.correction_clock_floris] changes to any state. CONDITIONS: None. ACTIONS: If Floris sleeping binary sensor [binary_sensor.floris_sleeping] is on, then: If Ulanzi Floris brightness mode select [select.awtrix_floris_brightness_mode] is not Manual, set it to Manual. If Ulanzi Floris matrix light [light.awtrix_floris_matrix] brightness attribute is not 2, set brightness to 2. Publish a sleep clock display payload to MQTT topic awtrix_floris/custom/sleep_clock (calculating time with correction, awake time, and progress bar). Else (if Floris sleeping binary sensor [binary_sensor.floris_sleeping] is off), then: Publish a weather clock display payload to MQTT topic awtrix_floris/custom/sleep_clock (showing weather icon and corrected time). If Ulanzi Floris brightness mode select [select.awtrix_floris_brightness_mode] is not Auto, set it to Auto. Additionally, if Ulanzi Floris current app sensor [sensor.awtrix_floris_current_app] is not sleep_clock, publish an MQTT command to switch the display to the sleep_clock app.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every minute on the zero second, whenever the Floris sleeping binary sensor [binary_sensor.floris_sleeping] changes between on and off, when the Ulanzi Floris matrix light [light.awtrix_floris_matrix] becomes available again after being unavailable, or when the Weather combined [weather.combined] or the Floris clock correction input number [input_number.correction_clock_floris] changes.",
|
|
"conditions": "There are no explicit conditions; the automation runs directly based on the triggers.",
|
|
"action": "If Floris is sleeping, the automation ensures the display brightness is set to manual mode and dimmed to a low level, then publishes a custom sleep clock display showing the time, a progress bar until the wake-up time, and a specific icon. If Floris is not sleeping, it publishes a weather clock display showing the weather icon and time, and sets the brightness mode back to auto. Regardless of the sleeping state, if the display is not already showing the sleep_clock app, it sends a command to switch to that app."
|
|
},
|
|
"human_like": "Updates the Ulanzi display in Floris's room every minute or when relevant states change, showing a sleep timer when sleeping or a weather clock when awake, and managing the display brightness accordingly.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "645ac57b-f743-429e-9765-9a14149a2f4a",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command matches one of the following phrases: 'floris gaat naar bed', 'pepijn gaat naar bed', or 'de kinderen gaan naar bed'. CONDITIONS: None. ACTIONS: 1. Set variable 'who' based on the trigger sentence: if 'floris' is in the sentence, set to 'Floris'; else if 'pepijn' is in the sentence, set to 'Pepijn'; else set to a random selection of 'Pepijn en Floris' or 'Floris en Pepijn'. 2. Start the appropriate bedtime routine script(s): if 'who' contains ' en ', start both Bedtime Pepijn routine script [script.bedtime_pepijn_routine] and Bedtime Floris routine script [script.bedtime_floris_routine]; otherwise, start the script corresponding to the single name (e.g., script.bedtime_floris_routine for 'Floris'). 3. Set a conversational response: 'Slaap lekker {{ who }}!'.",
|
|
"natural_language": {
|
|
"trigger": "When a voice command is given that includes the phrases 'floris gaat naar bed', 'pepijn gaat naar bed', or 'de kinderen gaan naar bed'.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation first determines who is going to bed based on the spoken command. If the command mentions 'floris', it's Floris; if it mentions 'pepijn', it's Pepijn; otherwise, it randomly selects both children. Then, it starts the appropriate bedtime lighting routine script(s): either the script for the specific child or both scripts if both children are mentioned. Finally, it responds with a spoken message wishing the child or children a good night's sleep."
|
|
},
|
|
"human_like": "This automation starts the bedtime routine for one or both children when a voice command is given, and responds with a goodnight message.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "4082634b-2b59-4371-b5c1-82cd3710c865",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command matches one of the specified conversation patterns (e.g., 'wat staat er op de agenda voor {query}'). CONDITIONS: None. ACTIONS: 1. Use conversation agent conversation.openai_normaal to parse the date/time query into a JSON with start_date_time and end_date_time in ISO format (Netherlands timezone). If parsing fails, output 'unknown'. 2. Store the agent's text response in variable 'output'. 3. Fetch events from calendars Calendar TheFes [calendar.thefes], Calendar M M [calendar.m_m], and Calendar Kids [calendar.kids] for the parsed date range. If parsing failed ('unknown'), use the current time for both start and end. 4. Use conversation agent conversation.openai_normaal to create a short summary in Dutch of the fetched events, ignoring empty calendars and avoiding special characters. 5. Set the voice response to the summary if parsing succeeded, otherwise respond with 'Ik begrijp niet voor welke datum je de agenda wil weten'.",
|
|
"natural_language": {
|
|
"trigger": "When a user asks a voice assistant a question about calendar events, using phrases like 'wat staat er op de agenda voor {query}' or similar variations.",
|
|
"conditions": "There are no additional conditions that must be met for the automation to run.",
|
|
"action": "The automation first uses an AI to interpret the date or time period mentioned in the voice command, converting it into a specific start and end date. It then checks the calendars Calendar TheFes [calendar.thefes], Calendar M M [calendar.m_m], and Calendar Kids [calendar.kids] for any events within that period. Another AI process then creates a concise, spoken-friendly summary in Dutch of all found events across the calendars. Finally, the voice assistant speaks this summary, or if the date could not be understood, it says 'Ik begrijp niet voor welke datum je de agenda wil weten'."
|
|
},
|
|
"human_like": "This automation allows you to ask your voice assistant what's on your calendar for a specific day or period, and it will read back a summary of the events.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "fa1ca856-95ab-4317-bb6e-7681d74f136f",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command matches one of the following phrases: 'hoe lang moet de vaatwasser nog', 'hoe lang moet de vaat nog', 'wanneer is de vaatwasser klaar', 'hoe laat is de vaatwasser klaar', 'wanneer is de vaat klaar', or 'hoe laat is de vaat klaar'. CONDITIONS: None. ACTIONS: Respond with a dynamic message based on the current time, Dishwasher end time sensor [sensor.dishwasher_end_time], and Dishwasher active sensor [binary_sensor.dishwasher_active]. If the current time is before the end time and the dishwasher is active, calculate the remaining hours and minutes. If hours are zero, respond with the remaining minutes. If hours are greater than zero, respond with the end time formatted as HH:MM. If the current time is before the local end time but the dishwasher is not active, respond that the dishwasher will finish any moment. Otherwise, respond that the dishwasher is not active.",
|
|
"natural_language": {
|
|
"trigger": "When a user asks a voice assistant a question about the dishwasher's remaining time or completion time. The recognized phrases include variations of 'how long until the dishwasher is done', 'when will the dishwasher be ready', and similar.",
|
|
"conditions": "There are no explicit conditions that must be met for the action to run; the automation executes immediately upon the voice trigger.",
|
|
"action": "The system calculates a response based on the current status. It checks the Dishwasher end time sensor [sensor.dishwasher_end_time] and the Dishwasher active sensor [binary_sensor.dishwasher_active]. If the dishwasher is currently running and the end time is in the future, it computes the remaining time and replies with either the number of minutes or the specific end time. If the end time is imminent but the dishwasher is not marked as active, it says the dishwasher will finish any moment. If the dishwasher is not active at all, it informs the user accordingly."
|
|
},
|
|
"human_like": "This automation provides a voice response when asked about the dishwasher's remaining time, giving an estimated completion time or status.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "f9e73c28-8d45-4148-8a9c-2b4e5323334b",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command matches one of the following phrases: 'hoe lang moet de wasmachine nog', 'hoe lang moet de was nog', 'wanneer is de wasmachine klaar', 'wanneer is de was klaar', 'hoe laat is de wasmachine klaar', or 'hoe laat is de was klaar'. CONDITIONS: None. ACTIONS: Respond with a message based on the state of Washing machine remaining time sensor [sensor.wasmachine_remain_time]. If the sensor state is unavailable, respond: 'Kan de wasmachine nu niet bereiken'. If the sensor state is 0 seconds, respond: 'De wasmachine is niet actief'. If the remaining time is less than 1 hour, respond: 'De wasmachine is over X minuten klaar.' (where X is the number of minutes). If the remaining time is 1 hour or more, respond: 'De wasmachine is klaar rond HH:MM.' (where HH:MM is the calculated finish time).",
|
|
"natural_language": {
|
|
"trigger": "When a user asks a voice assistant a question about the washing machine's remaining time, using phrases like 'how long does the washing machine have left' or 'when is the washing machine ready'.",
|
|
"conditions": "There are no specific conditions that must be met for the action to run.",
|
|
"action": "The system calculates a response based on the current value of the Washing machine remaining time sensor [sensor.wasmachine_remain_time]. If the sensor is unavailable, it says it cannot reach the machine. If the time is zero, it states the machine is not active. If the time is under an hour, it gives the remaining minutes. If it's an hour or more, it provides the estimated finish time."
|
|
},
|
|
"human_like": "This automation provides a spoken answer when you ask how much time is left on the washing machine.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "fe7ae331-8db2-4470-8e84-14709861edf8",
|
|
"result": {
|
|
"structured": "TRIGGER: When HA Voice Floris button press event [event.ha_voice_floris_button_press] OR HA Voice Pepijn button press event [event.ha_voice_pepijn_button_press] changes state (excluding from unavailable) OR When a conversation command matches one of the listed phrases. CONDITIONS: The trigger is the conversation command (Trigger sentence) OR the button press event type is 'triple_press'. ACTIONS: Set a conversation response to 'Feestmodus aan!'. Determine the area based on the triggering device. Find Music Assistant players in that area. Play the playlist 'Leuke liedjes Pepijn en Floris' on those players, replacing the queue. Enable shuffle on those players. Run the Party party script [script.party_party] with party_on set to true, excluding Pepijn template light [light.pepijn_template], and specifying the area and set_by as voice_satellite.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered either by a state change of the HA Voice Floris button press event [event.ha_voice_floris_button_press] or the HA Voice Pepijn button press event [event.ha_voice_pepijn_button_press], provided the state is not changing from 'unavailable'. Alternatively, it can be triggered by a voice command that matches phrases like 'Tijd voor een feestje', 'Zet disco modus aan', or 'Ik wil feesten'.",
|
|
"conditions": "For the automation to proceed, the trigger must either be the specific voice command (the 'Trigger sentence') or the button press event must be of the type 'triple_press'.",
|
|
"action": "The automation first provides a verbal confirmation: 'Feestmodus aan!'. It then identifies the area (room) where the trigger originated. It finds all Music Assistant players located in that area. On those players, it starts playing the playlist named 'Leuke liedjes Pepijn en Floris', replacing any currently playing music, and turns on shuffle mode. Finally, it activates the Party party script [script.party_party] to enable party lighting in the area, but it excludes the Pepijn template light [light.pepijn_template] from the light show."
|
|
},
|
|
"human_like": "Starts a party mode for the kids by playing a specific playlist and activating party lights in the room where a voice command or a triple button press is detected.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "c1f376c8-2a14-4d27-b55a-688a8c2635e3",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command matches any of the following patterns: \"(wanneer|hoe laat) is (Marleen|Martijn|mama|papa) thuis\", \"(wanneer|hoe laat) wordt (Marleen|Martijn|mama|papa) thuis verwacht\", \"(wanneer|hoe laat) kan ik (Martijn|Marleen|mama|papa) thuis verwachten\", or \"[wat is] [de] ETA [van] (Martijn|Marleen|mama|papa)\". CONDITIONS: None. ACTIONS: 1. Set variables: 'name' to 'Martijn' if the trigger sentence contains 'martijn' or 'papa', else 'Marleen'; 'gender' to 'hij' if name is 'Martijn', else 'ze'; 'person' to person.[name_lowercase]; 'waze' to sensor.[name_lowercase]_naar_huis; 'proximity' to sensor.thuis_[name_lowercase]_direction_of_travel. 2. Update the states of the entities defined by the variables 'waze', 'proximity', and 'person'. 3. Wait for 0.5 seconds. 4. Respond with a conversational message based on the states: If the person is home, say \"[name] is al thuis\". If the waze sensor state is 'towards', say \"[name] is om [calculated_eta] thuis.\". If the proximity sensor state is 'away_from', say \"[name] gaat de verkeerde kant op, maar als [gender] nu omdraait is [gender] om [calculated_eta] thuis.\". Otherwise, say \"[name] is nog niet onderweg, maar als [gender] nu vertrekt is [gender] om [calculated_eta] thuis.\".",
|
|
"natural_language": {
|
|
"trigger": "When a voice command is spoken asking when Marleen, Martijn, mama, or papa is expected to be home, using phrases like 'wanneer is Marleen thuis', 'hoe laat wordt papa thuis verwacht', 'wanneer kan ik Martijn thuis verwachten', or 'wat is de ETA van mama'.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "The automation first determines which person was mentioned and sets up variables for their associated entities: a person tracker, a Waze travel time sensor, and a proximity direction sensor. It then forces an update of these sensors' states, waits half a second for the update to complete, and finally provides a spoken response. The response tells the user if the person is already home, gives an estimated arrival time if they are on their way, or gives a conditional arrival time if they are traveling away from home or are not yet en route."
|
|
},
|
|
"human_like": "This automation provides an estimated arrival time for Marleen or Martijn when asked via voice command, using travel data to give a smart, context-aware response.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "efce766d-893e-4e59-b09c-a05ff49f1965",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command matching the pattern '[{unwanted misheard stuff} ]Goe(d|i)e[ ]morgen[ nabu][ {unwanted misheard stuff}]' is processed. CONDITIONS: None. ACTIONS: Start the Good morning routine script [script.good_morning_routine] with a variable 'area' set to the area name derived from the triggering device. Retrieve the daily weather forecast for Weather combined [weather.combined] and store the response. Construct a detailed weather forecast message in Dutch using the current state and forecast data from the response. Set the conversation response to 'Goedemorgen. ' followed by the constructed forecast message.",
|
|
"natural_language": {
|
|
"trigger": "When a voice command is recognized that matches a pattern for saying 'Goedemorgen' (Good morning), even with some misheard words before or after.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "The automation starts the Good morning routine script [script.good_morning_routine], passing along the area where the command was spoken. It then fetches the daily weather forecast for the Weather combined [weather.combined] entity. Using this data, it builds a detailed Dutch weather report covering current conditions, today's forecast, temperature ranges, precipitation chance, wind strength, and UV index advice. Finally, it provides this detailed forecast as the spoken response to the 'Good morning' command."
|
|
},
|
|
"human_like": "Responds to a 'Good morning' voice command by starting a morning routine and providing a detailed, personalized weather forecast for the day.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "7f409c21-989e-425f-8a8e-1fc73d57b58d",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command matches one of the patterns: '(Bel|Telefoneer) [naar|met] {to_call}' OR '(Ik wil|Wij willen) [met|naar] {to_call} (bellen|praten|telefoneren|kletsen|babbelen)'. CONDITIONS: None. ACTIONS: 1. Send the extracted 'to_call' slot to the conversation agent 'conversation.chatgpt_phone_book_helper' and store the response. 2. Set variables: 'supported_devices' (a mapping of device IDs to types), 'satellite' (the first entity ID from the triggering device that matches 'assist_satellite'), 'phone_number' (the plain speech response from the agent), and 'known_number' (true if the phone_number is not 'sip:+31000000000@192.168.2.100'). 3. If 'known_number' is true AND the triggering device ID is in the 'supported_devices' list, then run the script 'Make call assist script [script.make_call_assist]' with variables 'to_call' set to the phone_number and 'satellite' set to the satellite variable. 4. Set the conversation response based on conditions: If 'known_number' is true AND the device is supported, respond with a call confirmation message. If the device is not supported, respond that calling is not possible from this device. Otherwise, respond that no phone number was found for the requested name.",
|
|
"natural_language": {
|
|
"trigger": "When a user speaks a voice command to initiate a call, using phrases like 'Bel naar [name]' or 'Ik wil met [name] bellen', where the name to call is captured as a variable.",
|
|
"conditions": "There are no explicit conditions that must be met before the actions run; the automation proceeds directly after the trigger.",
|
|
"action": "The automation first sends the requested contact name to an AI assistant (conversation.chatgpt_phone_book_helper) to look up a phone number. It then checks if the response is a valid number (not a default placeholder) and if the device that triggered the command is a supported calling device (either a 'phone' or 'satellite'). If both checks pass, it initiates a call using the 'Make call assist script [script.make_call_assist]' script, providing the retrieved number and satellite information. Finally, it gives a spoken response to the user: confirming the call is being placed (with device-specific instructions if it's a phone), stating that calling is not possible from the current device, or indicating that no number was found for the requested name."
|
|
},
|
|
"human_like": "This automation allows you to make a phone call by voice command, looking up the contact's number and initiating the call if your device supports it.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "9df1d5c9-373c-483a-98f4-bf376942dde0",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command matches one of the specified patterns: 'Welke [afval](container|bak) [moet er [{wanneer}] (buiten|aan [de] straat)]' OR 'Wanneer moet ([de] [afval](container|bak)|[het] afval) (buiten|aan [de] straat)'. CONDITIONS: None. ACTIONS: Set the voice assistant response to the value of the 'pickup' attribute from First trash sensor [sensor.first_trash], followed by 'moet', the 'friendly_name' attribute from First trash sensor [sensor.first_trash], and then a randomly chosen phrase from ['buiten', 'aan straat'].",
|
|
"natural_language": {
|
|
"trigger": "When a user asks a voice assistant a question about which trash container needs to be taken out or when the trash needs to be taken out, using specific Dutch phrases.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "The voice assistant will respond by stating the next trash pickup date from the First trash sensor [sensor.first_trash], followed by the name of the trash type, and then a randomly chosen phrase meaning 'outside' or 'to the street'."
|
|
},
|
|
"human_like": "When asked about the trash schedule, the voice assistant will tell you the next pickup date and which bin to put out.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1737388853880'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event occurs with action 'action_vscode_off'. CONDITIONS: None. ACTIONS: Stop the Home Assistant add-on 'a0d7b954_vscode'.",
|
|
"natural_language": {
|
|
"trigger": "When a notification action from the mobile app is received, specifically the action named 'action_vscode_off'.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Stops the Visual Studio Code Server add-on with the identifier 'a0d7b954_vscode'."
|
|
},
|
|
"human_like": "Stops the Visual Studio Code Server add-on when a specific notification action is pressed on the mobile app.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "d6878855-2179-46fa-a1f2-069c6311746f",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the listed event entities (e.g., Sonoff workroom Martijn ceiling event [event.sonof_werkkamer_martijn_plafond], Sonoff bedroom ceiling event [event.sonoff_slaapkamer_plafond], Shelly1 Marleen office event [event.shelly1_werkkamer_marleen_shelly1_werkkamer_marleen], Sonoff bathroom attic event [event.sonoff_badkamer_zolder], Sonoff bathroom mirror attic event [event.sonoff_badkamerspiegel_zolder], Shelly1 dining table event [event.shelly1_eettafel_shelly1_eettafel], Living room ceiling dimmer event [event.dimmer_woonkamer_plafond], Landing dimmer event [event.dimmer_overloop], Kitchen dimmer event [event.dimmer_keuken], Bathroom dimmer event [event.dimmer_badkamer_badkamer], Shelly bathroom mirror event [event.shelly_badkamerspiegel_shelly1_badkamerspiegel], Sonoff Floris event [event.sonoff_floris_sonoff_floris], Shelly1 Pepijn event [event.shelly1_pepijn_shelly1_pepijn], Attic dimmer event [event.dimmer_zolder_zolder], Sonoff washing machine corner event [event.sonoff_wasmachinehoek_sonoff_wasmachinehoek], Hall dimmer event [event.dimmer_hal_hal]) changes state from any value except 'unavailable'. CONDITIONS: (The event type is 'single_press' AND the button controls a light) OR (The event type is 'double_press' AND the button controls a light) OR (The event type is 'long_press') OR (The event type is 'single_long_press' AND the button controls a light) OR (The event type is 'release' AND the button controls a light). ACTIONS: For a single_press: If the button has a relay and the relay is off OR no assigned lights are available, toggle the relay. Else if any assigned light is on, turn off all assigned lights. Else, turn on all assigned lights with a brightness percentage based on start_brightness and color temperature if supported, and set a dim switch based on start_brightness. For a double_press: Turn on all assigned lights at 100% brightness and maximum color temperature if supported, and set the dim switch to on. For a long_press: If the scope is not 'Custom' AND any of the long_press_entities is on or playing, turn off those entities. Else, start the script Long press button actions script [script.long_press_button_actions] with variables. For a single_long_press: If the dim switch is on, press the dim down button for the assigned entities; else, press the dim up button for the assigned entities, then toggle the dim switch. For a release: Press the dim stop button for the assigned entities.",
|
|
"natural_language": {
|
|
"trigger": "When any of the configured wall button event entities (such as Sonoff workroom Martijn ceiling event [event.sonof_werkkamer_martijn_plafond], Sonoff bedroom ceiling event [event.sonoff_slaapkamer_plafond], and others) changes its state, as long as it is not coming from an 'unavailable' state.",
|
|
"conditions": "The automation checks the type of button press event and whether the button is configured to control a light. It reacts to single presses, double presses, long presses, single-long presses, and release events, but only if the button is set to control lighting (for all except the long press, which always runs).",
|
|
"action": "Depending on the press type: A single press toggles a connected relay if present and off, or toggles the assigned lights (off if any are on, otherwise on with a configured starting brightness and color temperature). A double press sets all assigned lights to 100% brightness and maximum color temperature. A long press either turns off a specific set of entities (like lights or media players) in an area, floor, or house, or runs a separate script for custom actions. A single-long press starts dimming the assigned lights up or down, and a release event stops the dimming action."
|
|
},
|
|
"human_like": "This automation handles various button press events from wall switches throughout the house to control lights and other devices, offering toggle, full brightness, dimming, and scene activation based on press type.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "806efebe-1dd4-44c5-9087-c12b6a896bd0",
|
|
"result": {
|
|
"structured": "TRIGGER: When House mode sensor [sensor.house_mode] changes state. CONDITIONS: None. ACTIONS: Based on the new house mode, set the start brightness values for various light control number entities. If the new house mode is 'Thuis', set all listed number entities to 100%. If the new house mode is 'Tandenpoetsen', set the following entities to their specified percentages: Sonoff workroom Martijn ceiling start brightness [number.sonof_werkkamer_martijn_plafond_start_brightness] to 30%, Sonoff bedroom ceiling start brightness [number.sonoff_slaapkamer_plafond_start_brightness] to 30%, Sonoff bathroom attic start brightness [number.sonoff_badkamer_zolder_start_brightness] to 30%, Dimmer living room ceiling start brightness [number.dimmer_woonkamer_plafond_start_brightness] to 30%, Dimmer landing start brightness [number.dimmer_overloop_start_brightness] to 30%, Dimmer kitchen start brightness [number.dimmer_keuken_start_brightness] to 30%, Shelly1 dining table start brightness [number.shelly1_eettafel_start_brightness] to 40%, Dimmer attic start brightness [number.dimmer_zolder_start_brightness] to 30%, Sonoff washing machine corner start brightness [number.sonoff_wasmachinehoek_start_brightness] to 30%, Dimmer hall start brightness [number.dimmer_hal_start_brightness] to 30%. If the new house mode is 'Slapen', set Dimmer bathroom start brightness [number.dimmer_badkamer_start_brightness] to 30%. If the new house mode is 'Opstaan', set Dimmer bathroom start brightness [number.dimmer_badkamer_start_brightness] to 100%.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the House mode sensor [sensor.house_mode] changes to a new state.",
|
|
"conditions": "There are no additional conditions; the automation runs every time the house mode changes.",
|
|
"action": "Depending on the new house mode, the automation adjusts the default start brightness for various lights. If the mode is 'Thuis' (Home), it sets all configured brightness number entities to 100%. If the mode is 'Tandenpoetsen' (Teeth Brushing), it sets a specific list of brightness entities to lower percentages, mostly 30%, except for the dining table light which is set to 40%. If the mode is 'Slapen' (Sleep), it sets only the bathroom light's start brightness to 30%. The configuration also includes a setting for the 'Opstaan' (Wake Up) mode, which would set the bathroom light to 100%, but this mode is not directly triggered in the automation's conditional logic; it is only defined in the settings list."
|
|
},
|
|
"human_like": "Adjusts the default brightness levels for lights in different rooms based on the current house mode, such as lowering them for a teeth-brushing routine or setting them to full brightness for general home use.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "4671f017-f0a9-41ad-ac00-360ed28398ae",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following entities changes state: Pepijn nightlight input boolean [input_boolean.nachtlampje_pepijn], Pepijn sleeping binary sensor [binary_sensor.pepijn_sleeping], Floris nightlight input boolean [input_boolean.nachtlampje_floris], Floris sleeping binary sensor [binary_sensor.floris_sleeping]. CONDITIONS: None. ACTIONS: 1. Assign variables: area = area_id(trigger.entity_id); boolean = input_boolean.nachtlampje_floris if 'floris' in area else input_boolean.nachtlampje_pepijn. 2. Perform action: homeassistant.remove_label_from_entity if trigger.to_state.state is 'on' AND boolean is 'on', otherwise homeassistant.add_label_to_entity. The action applies label 'off_long_press' to the entity list: area_entities(area) filtered to entities with label 'night_light'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of Pepijn nightlight input boolean [input_boolean.nachtlampje_pepijn], Pepijn sleeping binary sensor [binary_sensor.pepijn_sleeping], Floris nightlight input boolean [input_boolean.nachtlampje_floris], or Floris sleeping binary sensor [binary_sensor.floris_sleeping] changes.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "First, it determines the area (room) of the entity that triggered the automation and selects the corresponding nightlight input boolean (Floris or Pepijn). Then, it either removes or adds the label 'off_long_press' to all entities in that area that already have the 'night_light' label. The label is removed if the triggering entity's new state is 'on' and the selected nightlight boolean is also 'on'; otherwise, the label is added."
|
|
},
|
|
"human_like": "Manages the 'off_long_press' label on night lights in the children's bedrooms based on their sleep status and nightlight settings, ensuring the night light stays on when needed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "991bfa0a-ba49-462b-b78a-2aed72317903",
|
|
"result": {
|
|
"structured": "TRIGGER: When Washing machine remaining time sensor [sensor.wasmachine_remain_time] changes from 0:01:00 to 0:00:00. CONDITIONS: None. ACTIONS: Send a notification via All phones notify [notify.all_phones] with title '💦 Wasmachine is klaar', message 'Haal snel de was er uit voordat het allemaal kreukt.', and high priority.",
|
|
"natural_language": {
|
|
"trigger": "When the washing machine's remaining time sensor [sensor.wasmachine_remain_time] changes from one minute remaining to zero minutes remaining.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a high-priority notification to all phones [notify.all_phones] with the title '💦 Wasmachine is klaar' and the message 'Haal snel de was er uit voordat het allemaal kreukt.'."
|
|
},
|
|
"human_like": "Sends a phone notification when the washing machine finishes its cycle.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1732562382351'",
|
|
"result": {
|
|
"structured": "TRIGGER: When MQTT restart needed binary sensor [binary_sensor.mqtt_restart_needed] turns on AND remains on for 5 minutes. CONDITIONS: None. ACTIONS: Restart the Zigbee2MQTT addon via the Hassio service.",
|
|
"natural_language": {
|
|
"trigger": "When the MQTT restart needed binary sensor [binary_sensor.mqtt_restart_needed] changes to the 'on' state and stays in that state for a continuous period of 5 minutes.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Restarts the Zigbee2MQTT addon using the Hassio service."
|
|
},
|
|
"human_like": "Automatically restarts the Zigbee2MQTT addon if the system indicates a restart is needed for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
}
|
|
] |