1809 lines
168 KiB
JSON
1809 lines
168 KiB
JSON
[
|
|
{
|
|
"id": "'Adaptive lighting: turn on and off switches'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sleep mode selector [input_select.sleep_mode] changes state OR When Home Assistant starts. CONDITIONS: None. ACTIONS: Evaluate the current state of sleep mode selector [input_select.sleep_mode]. If it is 'off', turn off adaptive lighting sleep mode bedroom [switch.adaptive_lighting_sleep_mode_bedroom], adaptive lighting sleep mode bedroom led [switch.adaptive_lighting_sleep_mode_bedroom_led], adaptive lighting sleep mode living room [switch.adaptive_lighting_sleep_mode_living_room], and adaptive lighting sleep mode baby room [switch.adaptive_lighting_sleep_mode_baby_room]. If it is 'half', turn off adaptive lighting sleep mode living room [switch.adaptive_lighting_sleep_mode_living_room] AND turn on adaptive lighting sleep mode bedroom [switch.adaptive_lighting_sleep_mode_bedroom], adaptive lighting sleep mode bedroom led [switch.adaptive_lighting_sleep_mode_bedroom_led], and adaptive lighting sleep mode baby room [switch.adaptive_lighting_sleep_mode_baby_room]. If it is 'total', turn on adaptive lighting sleep mode bedroom [switch.adaptive_lighting_sleep_mode_bedroom], adaptive lighting sleep mode bedroom led [switch.adaptive_lighting_sleep_mode_bedroom_led], and adaptive lighting sleep mode baby room [switch.adaptive_lighting_sleep_mode_baby_room].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either when the sleep mode selector [input_select.sleep_mode] changes its setting, or when the Home Assistant system starts up.",
|
|
"conditions": "There are no additional conditions; the automation always runs when triggered.",
|
|
"action": "Based on the current sleep mode, it controls several adaptive lighting switches. If sleep mode is 'off', it turns off all the listed adaptive lighting sleep mode switches. If sleep mode is 'half', it turns off the living room switch but turns on the bedroom, bedroom LED, and baby room switches. If sleep mode is 'total', it turns on the bedroom, bedroom LED, and baby room switches."
|
|
},
|
|
"human_like": "This automation manages adaptive lighting sleep modes across different rooms based on a central sleep mode selector, ensuring the correct lights are adjusted when the mode changes or the system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Adaptive lighting: reset manual_control after 1 hour'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an event of type adaptive_lighting.manual_control occurs. CONDITIONS: The entity_id from the event data does NOT contain the substrings 'hall' AND 'stairs'. ACTIONS: Wait for 1 hour. Then, if the entity_id from the event data is present in the state attribute 'manual_control' of the entity 'switch', call the service adaptive_lighting.set_manual_control with data: entity_id from the event's switch data, lights from the event's entity_id, and manual_control set to false. Then, send a notification to iphone_bas with title 'Adaptive Ligthing: manual_control reset' and a message containing the entity_id.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Home Assistant system receives an event named 'adaptive_lighting.manual_control'.",
|
|
"conditions": "The light entity involved in the event must not have the words 'hall' or 'stairs' in its entity_id.",
|
|
"action": "After waiting for one hour, the automation checks if the light is still listed as being under manual control in the adaptive lighting system. If it is, it resets the manual control setting for that light back to automatic and sends a notification to the user's iPhone to confirm the reset."
|
|
},
|
|
"human_like": "Automatically resets lights (excluding hall and stairs) back to automatic adaptive lighting mode one hour after they were manually adjusted.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Adaptive lighting: notify manual_control'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an event of type 'adaptive_lighting.manual_control' occurs. CONDITIONS: The entity_id from the event data does NOT contain the substrings 'hall' OR 'stairs'. ACTIONS: Write a system log entry with error level and logger 'yolo.yolo' containing the message '[entity_id] is manually controlled'. Then, send a notification to iphone_bas with title 'Adaptive Ligthing: manual_control' and message '[entity_id] is now 'manually controlled', context=[event_context]'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Home Assistant system receives an event named 'adaptive_lighting.manual_control'.",
|
|
"conditions": "The light entity involved in the event must not have 'hall' or 'stairs' in its entity ID.",
|
|
"action": "First, it logs an error message to a custom logger stating which light is now manually controlled. Then, it sends a notification to a specific device (iphone_bas) with details about the event and its context."
|
|
},
|
|
"human_like": "Sends a log and a phone notification when any light (except those for halls or stairs) is manually controlled, overriding adaptive lighting.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Alarm clock: wake up with Spotify and light'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the current time [sensor.time] matches the time stored in Ten Minutes Before Alarm [sensor.ten_minutes_before_alarm]. CONDITIONS: alarm clock [input_boolean.alarm_clock] is on. ACTIONS: Turn off alarm clock [input_boolean.alarm_clock], turn on wake up with spotify [input_boolean.wake_up_with_spotify], turn on wake up light [input_boolean.wake_up_light], and set sleep mode selector [input_select.sleep_mode] to 'off'.",
|
|
"natural_language": {
|
|
"trigger": "When the current time matches the time set in the sensor Ten Minutes Before Alarm [sensor.ten_minutes_before_alarm].",
|
|
"conditions": "The alarm clock [input_boolean.alarm_clock] must be switched on.",
|
|
"action": "The automation turns off the alarm clock [input_boolean.alarm_clock], activates the wake up with spotify [input_boolean.wake_up_with_spotify] and wake up light [input_boolean.wake_up_light] options, and changes the sleep mode selector [input_select.sleep_mode] to 'off'."
|
|
},
|
|
"human_like": "Starts the morning wake-up routine ten minutes before the alarm by turning on lights and Spotify, and disabling sleep mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: Play or Pause the TV'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS event with actionName 'Play TV' is fired. CONDITIONS: tv [media_player.tv] is on. ACTIONS: Call media_player.media_play_pause on the target entity determined by a template: if tv [media_player.tv] source attribute is 'XBOX', target is media_player.xbox; otherwise, target is media_player.tv.",
|
|
"natural_language": {
|
|
"trigger": "When an iOS action named 'Play TV' is triggered from a device like an Apple Watch.",
|
|
"conditions": "The TV [media_player.tv] must be turned on.",
|
|
"action": "It will toggle the play/pause state of the media player. The target device is chosen based on the TV's current source: if the source is set to 'XBOX', it controls the Xbox media player; otherwise, it controls the TV itself."
|
|
},
|
|
"human_like": "Allows you to play or pause the TV using an Apple Watch action, automatically switching control to the Xbox if it's the active source.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: minimal lights bedroom'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action_fired event occurs with actionName 'Minimal lights bedroom'. CONDITIONS: None. ACTIONS: Turn on philips go [light.philips_go] AND bed led [light.bed_led] with brightness set to 1 and color_name set to red.",
|
|
"natural_language": {
|
|
"trigger": "When the 'Minimal lights bedroom' action is triggered from an iOS device (like an Apple Watch).",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns on the philips go [light.philips_go] and bed led [light.bed_led] lights, setting them to a very dim red color."
|
|
},
|
|
"human_like": "Turns on the bedroom lights to a dim red setting when triggered from an Apple Watch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: fix TV sound'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action_fired event occurs with actionName 'Fix TV sound'. CONDITIONS: None. ACTIONS: Execute script.fix_sound.",
|
|
"natural_language": {
|
|
"trigger": "When an Apple Watch triggers an iOS action event named 'Fix TV sound'.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the script named 'fix_sound'."
|
|
},
|
|
"human_like": "Fixes the TV sound when triggered by an Apple Watch action.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: Go to sleep'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action_fired event occurs with actionName 'Go to sleep'. CONDITIONS: None. ACTIONS: Execute the script.going_to_sleep script.",
|
|
"natural_language": {
|
|
"trigger": "When the 'Go to sleep' action is triggered from an iOS device (like an Apple Watch).",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the script named 'going_to_sleep' [script.going_to_sleep]."
|
|
},
|
|
"human_like": "Starts the bedtime routine when you tap 'Go to sleep' on your Apple Watch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: set sleep mode'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action_fired event occurs with actionName 'Set sleep mode'. CONDITIONS: None. ACTIONS: 1. Set variable 'iphone' to the notification service entity for the source device (notify.mobile_app_{{ trigger.event.data.sourceDeviceName.replace('-', '_') }}). 2. Send a notification to the device [iphone] with the message 'Apple Watch: set sleep mode.' and three interactive actions: SLEEP_OFF, SLEEP_HALF, SLEEP_TOTAL. 3. Wait for a mobile_app_notification_action event with action SLEEP_OFF OR SLEEP_HALF OR SLEEP_TOTAL, for up to 20 seconds. If timeout occurs, stop execution. 4. Set variable 'event' to the second part (after underscore) of the received action string, converted to lowercase. 5. Set the option of sleep mode selector [input_select.sleep_mode] to the value of variable 'event'.",
|
|
"natural_language": {
|
|
"trigger": "When an Apple Watch triggers the 'Set sleep mode' action via an iOS event.",
|
|
"conditions": "There are no conditions that must be met for this automation to proceed.",
|
|
"action": "The automation first determines the notification service for the specific iPhone based on the triggering device's name. It then sends a notification to that iPhone with the message 'Apple Watch: set sleep mode.' and provides three interactive buttons: 'Off', 'Half', and 'Total'. The automation waits for the user to tap one of these buttons within 20 seconds. If a button is tapped, it extracts the chosen mode (e.g., 'off', 'half', 'total') from the action and sets the sleep mode selector [input_select.sleep_mode] to that value. If no button is tapped within the time limit, the automation stops without making a change."
|
|
},
|
|
"human_like": "Allows you to choose a sleep mode from your Apple Watch by sending a notification to your iPhone and updating a selector based on your response.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: set lights'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action named 'Set lights' is fired from an Apple Watch. CONDITIONS: None. ACTIONS: 1. Derive a notification service variable based on the source device name. 2. Send a notification to the user's iPhone with a list of room options (All, Bedroom, Living room, Bathroom, Hall, Toilet, Kitchen). 3. Wait up to 20 seconds for the user to select a room via a notification action. If no selection is made, the automation stops. 4. Map the selected room action to the corresponding light entity or group. 5. Send a second notification to the user's iPhone with light control options (Off, On, 50%, 100%, 1%, White lights, Cozy lights). 6. Wait up to 20 seconds for the user to select a light control option via a notification action. If no selection is made, the automation stops. 7. Execute the chosen light control action: IF option is 'LIGHTS_OFF', turn off the selected light(s). IF option is 'LIGHTS_ON', run the script 'script.turn_on_lights' for the selected light(s). IF option is 'LIGHTS_FIFTY', turn on the selected light(s) at 50% brightness. IF option is 'LIGHTS_HUNDRED', turn on the selected light(s) at 100% brightness. IF option is 'LIGHTS_ONE', turn on the selected light(s) at 1% brightness. IF option is 'LIGHTS_WHITE' AND the selected light is living room lights [light.living_room_lights] OR bedroom lights [light.bedroom_lights], run the script 'script.white_lights_living_room'. IF option is 'LIGHTS_COZY' AND the selected light is living room lights [light.living_room_lights], run the script 'script.cozy_lights_living_room'. IF option is 'LIGHTS_COZY' AND the selected light is bedroom lights [light.bedroom_lights], run the script 'script.cozy_lights_bedroom'.",
|
|
"natural_language": {
|
|
"trigger": "The automation starts when you trigger the 'Set lights' action from your Apple Watch.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "First, the system identifies your iPhone based on the watch that sent the command. It then sends a notification to your iPhone asking you to choose which room's lights to control: All, Bedroom, Living room, Bathroom, Hall, Toilet, or Kitchen. You have 20 seconds to make a selection by tapping the corresponding button in the notification. If you don't select anything, the automation ends. Once you choose a room, the system maps your choice to the correct light or group of lights. It then sends a second notification with options for how to control those lights: Off, On, 50% brightness, 100% brightness, 1% brightness, White lights, or Cozy lights. Again, you have 20 seconds to choose an option. If you don't, the automation ends. Finally, based on your two selections, the system performs the action: turning the lights off, turning them on (using a script), setting a specific brightness, or running a special scene script for 'White lights' or 'Cozy lights' (which are only available for the living room and bedroom lights)."
|
|
},
|
|
"human_like": "Lets you control your home lights from your Apple Watch by sending interactive notifications to your iPhone, where you can select a room and then choose a lighting action like on, off, or a specific scene.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: temperature report'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS event with actionName 'Temperature report' is fired. CONDITIONS: None. ACTIONS: Send a notification to the mobile app associated with the triggering device (device name derived from trigger.event.data.sourceDeviceName) containing a formatted message with the current temperature values from temperature bedroom [sensor.temperature_bedroom], temperature living room [sensor.temperature_living_room], temperature hall [sensor.temperature_hall], the thermostat [climate.thermostat] target temperature, and the weather huis [weather.huis] temperature and condition.",
|
|
"natural_language": {
|
|
"trigger": "When a 'Temperature report' action is triggered from an Apple Watch via an iOS event.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends a notification to the iPhone linked to the Apple Watch that triggered the action. The notification displays a report with the current temperature in the bedroom, living room, and hall, the thermostat's target temperature, and the outside temperature and weather condition."
|
|
},
|
|
"human_like": "Sends a temperature report to your iPhone when you trigger it from your Apple Watch, showing indoor, thermostat, and outdoor temperatures.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: portfolio value'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action named 'Portfolio value' is fired. CONDITIONS: None. ACTIONS: Send a notification to notify.iphone_bas with title 'Portfolio value' and message containing the current value of portfolio value [sensor.portfolio_value] in euros.",
|
|
"natural_language": {
|
|
"trigger": "When the 'Portfolio value' action is triggered from an iOS device (like an Apple Watch).",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a notification to the iPhone with the title 'Portfolio value' and a message displaying the current portfolio value in euros."
|
|
},
|
|
"human_like": "Sends the current portfolio value to your iPhone when you tap the 'Portfolio value' action on your Apple Watch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: send vacuum cleaner'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action named 'Vacuum' is fired. CONDITIONS: None. ACTIONS: 1. Set variable 'iphone' to the notification service for the device that triggered the event (notify.mobile_app_{{ trigger.event.data.sourceDeviceName.replace('-', '_') }}). 2. Send a notification to the iPhone [iphone] with the message 'Apple Watch: vacuum' and a list of action buttons (Living room, Bedroom, Office, Hall, Kitchen, All, Stop and return). 3. Wait for up to 20 seconds for a mobile app notification action response corresponding to one of the listed vacuum actions (VACUUM_LIVING_ROOM, VACUUM_BEDROOM, VACUUM_OFFICE, VACUUM_HALL, VACUUM_KITCHEN, VACUUM_ALL, VACUUM_STOP). If no response is received within the timeout, stop execution. 4. Set variable 'location' to the string after 'vacuum_' in the received action (e.g., 'living_room'). 5. Call script vacuum_command [script.vacuum_command] with the data option set to the location variable.",
|
|
"natural_language": {
|
|
"trigger": "When an Apple Watch triggers the 'Vacuum' action via iOS.",
|
|
"conditions": "There are no conditions that must be met for this automation to proceed.",
|
|
"action": "The automation first identifies the specific iPhone that sent the command and sends it a notification with the message 'Apple Watch: vacuum'. This notification includes a set of buttons for controlling the vacuum cleaner in different rooms (Living room, Bedroom, Office, Hall, Kitchen), as well as options to vacuum all rooms or stop and return the vacuum. The automation then waits for the user to tap one of these buttons on their phone. If a button is tapped within 20 seconds, the automation extracts the chosen room (or command) from the button press and sends that command to a script named vacuum_command [script.vacuum_command]. If no button is pressed within 20 seconds, the automation stops."
|
|
},
|
|
"human_like": "Allows you to start or stop your robot vacuum in specific rooms from your Apple Watch by sending a notification to your phone for confirmation.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: movie time'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action named 'Movie time' is fired. CONDITIONS: None. ACTIONS: Turn on living room lights [light.living_room_lights] with brightness 5 and color red, turn off marble light [light.marble], and turn on tv led [light.tv_led] with brightness 20.",
|
|
"natural_language": {
|
|
"trigger": "When the 'Movie time' action is triggered from an iOS device.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sets the living room lights [light.living_room_lights] to a dim red (brightness 5), turns off the marble light [light.marble], and turns on the TV LED [light.tv_led] at a low brightness (20)."
|
|
},
|
|
"human_like": "Sets up a movie-watching scene by dimming the main lights to red, turning off the marble light, and turning on the TV backlight.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: reset adaptive lighting'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS event with actionName 'Reset adaptive lighting' is fired. CONDITIONS: None. ACTIONS: Execute script reset_adaptive_lighting.",
|
|
"natural_language": {
|
|
"trigger": "When an iOS action named 'Reset adaptive lighting' is triggered from an Apple Watch.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the script named 'reset_adaptive_lighting'."
|
|
},
|
|
"human_like": "Resets adaptive lighting settings when triggered from an Apple Watch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: set temperature'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action_fired event occurs with actionName 'Set temperature'. CONDITIONS: None. ACTIONS: Set variable iphone to notify.mobile_app_{{ trigger.event.data.sourceDeviceName.replace('-', '_') }}. Send a notification to iphone with title 'Apple Watch: set temperature' and interactive buttons for temperatures 15, 16, 17, 18, 19, 20, and 21. Wait for a mobile_app_notification_action event corresponding to one of the button presses (T15, T16, T17, T18, T19, T20, T21) for up to 20 seconds, aborting if timeout occurs. If a button is pressed, set variable temperature to the integer value extracted from the action string. Call climate.set_temperature on thermostat [climate.thermostat] with the extracted temperature value.",
|
|
"natural_language": {
|
|
"trigger": "When an Apple Watch triggers the 'Set temperature' action via the iOS integration.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "The automation first determines which iPhone is associated with the Apple Watch that triggered the event. It then sends a notification to that iPhone with the message 'Apple Watch: set temperature' and provides interactive buttons for setting the temperature to 15, 16, 17, 18, 19, 20, or 21 degrees. The automation waits for the user to press one of these buttons on their phone for up to 20 seconds. If a button is pressed, it extracts the chosen temperature number and sets the thermostat [climate.thermostat] to that temperature. If no button is pressed within 20 seconds, the automation stops."
|
|
},
|
|
"human_like": "Allows you to set the thermostat temperature from your Apple Watch by sending a prompt to your iPhone with temperature options.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Apple Watch: where is other person?'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action_fired event occurs with actionName 'Where is'. CONDITIONS: None. ACTIONS: Determine the phone variable: if the event's sourceDeviceName is 'basnijholt-iphone', set phone to 'basnijholt', else set phone to 'marcella'. Determine the other_person variable: if phone is 'basnijholt', set other_person to 'Marcella', else set other_person to 'Bas'. Set device_tracker variable to device_tracker.{{ other_person }}_iphone. Send a notification to mobile_app_{{ phone }}_iphone with a message containing the other_person's name and the distance between device_tracker.basnijholt_iphone and device_tracker.marcella_iphone rounded to 2 decimal places in kilometers. Include push category MAP and action_data with latitude and longitude from the state attributes of the device_tracker variable.",
|
|
"natural_language": {
|
|
"trigger": "When an iOS Shortcuts action named 'Where is' is triggered from an iPhone.",
|
|
"conditions": "There are no additional conditions; the automation runs immediately upon the trigger.",
|
|
"action": "The automation identifies which person's iPhone triggered the action and determines the other person. It then calculates the distance between the two iPhones (basnijholt iphone [device_tracker.basnijholt_iphone] and marcella iphone [device_tracker.marcella_iphone]) and sends a notification back to the triggering iPhone. The notification shows the other person's name and the calculated distance in kilometers, and includes a map action with the other person's location coordinates."
|
|
},
|
|
"human_like": "When someone asks 'Where is' via their iPhone, this automation replies with the distance to the other person and their location on a map.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Arriving: switch music from iPhone to speakers if no one is home'",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door sensor [binary_sensor.openclose_front_door] changes from closed (off) to open (on). CONDITIONS: marcella person [person.marcella] is not_home AND guest mode [input_boolean.guest_mode] is off AND spotify [media_player.spotify] source attribute is 'basnijholt-iphone' AND spotify [media_player.spotify] state is 'playing'. ACTIONS: Send notification 'Arriving: Switched music from phone to speakers' to iphone_bas, turn on kef ls50 [media_player.kef_ls50], select source 'Spotify' on kef ls50 [media_player.kef_ls50], and select source 'KEF LS50' on spotify [media_player.spotify].",
|
|
"natural_language": {
|
|
"trigger": "When the front door sensor [binary_sensor.openclose_front_door] opens.",
|
|
"conditions": "If marcella person [person.marcella] is not home, guest mode [input_boolean.guest_mode] is turned off, the spotify [media_player.spotify] is currently playing music and its source is set to 'basnijholt-iphone'.",
|
|
"action": "Send a notification titled 'Arriving' with the message 'Switched music from phone to speakers' to iphone_bas, turn on the kef ls50 [media_player.kef_ls50] speakers, set the speakers' source to 'Spotify', and set the spotify [media_player.spotify] source to 'KEF LS50' to transfer playback."
|
|
},
|
|
"human_like": "When you arrive home and open the front door, if you're alone and music is playing from your phone, it automatically switches the music to the living room speakers and notifies you.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Bike: started charging'",
|
|
"result": {
|
|
"structured": "TRIGGER: When bike charger [switch.bike_charger] changes from off to on. CONDITIONS: None. ACTIONS: Set bike charger on time [input_datetime.bike_charger_on] to the current timestamp AND Set bike charger off time [input_datetime.bike_charger_off] to the current timestamp plus 6 hours.",
|
|
"natural_language": {
|
|
"trigger": "When the bike charger [switch.bike_charger] is turned on from an off state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Records the current time as the bike charger on time [input_datetime.bike_charger_on] and calculates a time six hours in the future to set as the bike charger off time [input_datetime.bike_charger_off]."
|
|
},
|
|
"human_like": "Records the start time and schedules an expected end time for the bike charger when it is turned on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Bike: stop charging'",
|
|
"result": {
|
|
"structured": "TRIGGER: Every minute (time pattern matching minutes: /1). CONDITIONS: The current time [sensor.time] equals the time set in bike charger off time [input_datetime.bike_charger_off] (compared as strings, matching the first 5 characters, i.e., HH:MM). ACTIONS: Turn off bike charger [switch.bike_charger].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every minute.",
|
|
"conditions": "It checks if the current time, as reported by the Time [sensor.time] sensor, matches the time set in the bike charger off time [input_datetime.bike_charger_off] input. The comparison is done on the hour and minute portion (HH:MM).",
|
|
"action": "It turns off the bike charger [switch.bike_charger]."
|
|
},
|
|
"human_like": "Automatically stops the bike charger at a preset time.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Climate: turn on the heating 30 min before waking up'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the current time [sensor.time] matches the time value stored in Half Hour Before Alarm [sensor.half_hour_before_alarm] (compared as strings in HH:MM format). CONDITIONS: alarm clock [input_boolean.alarm_clock] is on AND automatic temperature [input_boolean.automatic_temperature] is on. ACTIONS: Execute the script 'set_high_temperature'.",
|
|
"natural_language": {
|
|
"trigger": "When the current time, as reported by the Time [sensor.time] sensor, matches exactly the time value stored in the Half Hour Before Alarm [sensor.half_hour_before_alarm] sensor.",
|
|
"conditions": "Both the alarm clock [input_boolean.alarm_clock] and the automatic temperature [input_boolean.automatic_temperature] switches must be turned on.",
|
|
"action": "Runs the script named 'set_high_temperature'."
|
|
},
|
|
"human_like": "Turns on the heating 30 minutes before a scheduled alarm, provided both the alarm and automatic temperature features are enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Climate: turn on the heating when going home'",
|
|
"result": {
|
|
"structured": "TRIGGER: When home nearest distance [sensor.home_nearest_distance] is between 1 and 6 (exclusive). CONDITIONS: automatic temperature [input_boolean.automatic_temperature] is on AND the current time is between 16:00:00 and 22:00:00 AND home nearest direction of travel [sensor.home_nearest_direction_of_travel] is 'towards' AND thermostat [climate.thermostat] current temperature is NOT equal to the value of Temperature High Input [input_number.temperature_high] AND no one home [binary_sensor.no_one_home] is on. ACTIONS: Execute script.set_high_temperature AND send a notification titled 'Climate' with message 'Automatically turned on the heating 🥵℃' to notify.all_iphones.",
|
|
"natural_language": {
|
|
"trigger": "When the home nearest distance [sensor.home_nearest_distance] is between 1 and 6 units away.",
|
|
"conditions": "If the automatic temperature [input_boolean.automatic_temperature] is enabled, the current time is between 4 PM and 10 PM, the home nearest direction of travel [sensor.home_nearest_direction_of_travel] indicates movement towards home, the thermostat [climate.thermostat] is not already set to the high temperature defined by Temperature High Input [input_number.temperature_high], and the no one home [binary_sensor.no_one_home] sensor confirms the home is empty.",
|
|
"action": "Sets the thermostat to the high temperature via the script.set_high_temperature and sends a notification to all iPhones stating the heating has been turned on."
|
|
},
|
|
"human_like": "Turns on the heating when someone is heading home in the evening, but only if the house is currently empty and automatic control is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Climate: turn off the heating at 22:00'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is exactly 22:00. CONDITIONS: (automatic temperature [input_boolean.automatic_temperature] is on) AND (no one home [binary_sensor.no_one_home] is off) AND (thermostat [climate.thermostat] current temperature is NOT equal to the value of Temperature Low Input [input_number.temperature_low]). ACTIONS: Execute script.set_low_temperature, then send a notification to all iPhones with a message and an action button. Wait up to 20 seconds for the TURN_ON_HEATING notification action. If the action is received within the timeout, execute script.set_high_temperature. If the timeout expires without the action, the automation stops.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every day at 10:00 PM.",
|
|
"conditions": "The automation will only run if the automatic temperature [input_boolean.automatic_temperature] is enabled, the no one home [binary_sensor.no_one_home] sensor indicates that someone is home, and the thermostat [climate.thermostat] is not already set to the low temperature defined by Temperature Low Input [input_number.temperature_low].",
|
|
"action": "First, it runs a script to set the thermostat to a low temperature. Then, it sends a notification to all iPhones asking if the user wants to turn the heating back on, with a button to do so. It waits for 20 seconds for the user to press that button. If the button is pressed within that time, it runs a script to set the thermostat to a high temperature. If the 20 seconds pass without the button being pressed, the automation ends without turning the heating back on."
|
|
},
|
|
"human_like": "Turns off the heating at 10 PM if the house is occupied and the system is in automatic mode, but gives you a 20-second window to cancel and turn it back on via a phone notification.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Climate: set outside temperature every hour'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every hour (hours: /1). CONDITIONS: None. ACTIONS: Publish the current temperature attribute from weather huis [weather.huis] to the MQTT topic 'actions/otmonitor/outside'.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every hour, on the hour.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It sends the current outside temperature from the weather huis [weather.huis] sensor to a specific MQTT topic called 'actions/otmonitor/outside'."
|
|
},
|
|
"human_like": "Sends the outside temperature to an MQTT topic every hour.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Climate: warning when heating on and living room door open'",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedroom door sensor [binary_sensor.openclose_bedroom] remains open (on) for 5 minutes. CONDITIONS: The thermostat [climate.thermostat] temperature attribute is greater than or equal to 18 degrees. ACTIONS: WHILE (bedroom door sensor [binary_sensor.openclose_bedroom] is open (on) AND the loop iteration count is less than or equal to 6) DO: Send a notification to All entities group [all] with title 'Climate' and message 'The living room door is open and the heating is on! ⚠️ Warning #X!' (where X is the iteration number), THEN wait 5 minutes. After the loop, IF bedroom door sensor [binary_sensor.openclose_bedroom] is still open (on), THEN send a notification to All entities group [all] with title 'Climate' and message 'Turning off the heating!', AND set the thermostat [climate.thermostat] temperature to the value of Temperature Low Input [input_number.temperature_low].",
|
|
"natural_language": {
|
|
"trigger": "When the bedroom door sensor [binary_sensor.openclose_bedroom] has been open for at least five minutes.",
|
|
"conditions": "The thermostat [climate.thermostat] must be set to a temperature of at least 18 degrees.",
|
|
"action": "First, it will repeatedly send a warning notification every five minutes, up to six times, but only as long as the door remains open. Each notification is sent to the All entities group [all]. After these warnings, if the door is still open, it sends a final notification and then turns down the heating by setting the thermostat [climate.thermostat] to a low temperature defined by the Temperature Low Input [input_number.temperature_low]."
|
|
},
|
|
"human_like": "Warns you repeatedly if the bedroom door is left open while the heating is on, and eventually turns the heating down to save energy.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Climate: set temperature setpoint to 50 °C'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every 2 hours (hours: /2). CONDITIONS: None. ACTIONS: Publish MQTT message with payload '50' to topic 'actions/otmonitor/maxdhwsetpt'.",
|
|
"natural_language": {
|
|
"trigger": "Every two hours, on the hour.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends an MQTT command to set the maximum domestic hot water setpoint to 50 degrees Celsius by publishing the value '50' to the topic 'actions/otmonitor/maxdhwsetpt'."
|
|
},
|
|
"human_like": "Every two hours, this automation sends a command to set the hot water temperature to 50°C.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Climate: automatically turn off spaceheater when no-one is in the guest",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every 10 minutes OR When activity in guest room [binary_sensor.activity_in_guest_room] changes to off. CONDITIONS: activity in guest room [binary_sensor.activity_in_room] is off. ACTIONS: Turn off space heater [switch.space_heater].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either every 10 minutes, or immediately when the activity in guest room [binary_sensor.activity_in_guest_room] sensor changes to 'off'.",
|
|
"conditions": "The automation only proceeds if the activity in guest room [binary_sensor.activity_in_guest_room] sensor is currently in the 'off' state.",
|
|
"action": "Turns off the space heater [switch.space_heater]."
|
|
},
|
|
"human_like": "Automatically turns off the guest room space heater when no activity is detected in the room.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: living room Philips Hue dimmer switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'zigbee2mqtt/Dimmer Switch (Living room)'. CONDITIONS: None. ACTIONS: Based on the 'action' field in the MQTT payload: IF action is 'off_press' THEN run script 'next_colors' with input_select 'last script living room' [input_select.last_script_living_room]. IF action is 'up_press' AND living room lights [light.living_room_lights] are on THEN run script 'white_lights_living_room' AND turn on living room lights [light.living_room_lights] to full brightness. IF action is 'on_press' THEN run script 'increase_brightness' for group 'light.living_room_lights'. IF action is 'up_press' AND living room lights [light.living_room_lights] are off THEN turn on living room lights [light.living_room_lights]. IF action is 'down_press' AND living room lights [light.living_room_lights] are on THEN turn off living room lights [light.living_room_lights]. IF action is 'up_hold' AND the action_duration in the payload is greater than 2 THEN run script 'reset_adaptive_lighting'.",
|
|
"natural_language": {
|
|
"trigger": "When the living room Philips Hue dimmer switch sends a message via MQTT.",
|
|
"conditions": "There are no global conditions for this automation. The specific actions taken depend entirely on the button press type and the current state of the lights.",
|
|
"action": "Depending on which button is pressed: Pressing the 'off' button cycles to the next color script. Pressing the 'up' button while the living room lights [light.living_room_lights] are on activates a white light script and sets the lights to maximum brightness. Pressing the 'up' button while the lights are off simply turns them on. Pressing the 'on' button increases the brightness of the living room lights. Pressing the 'down' button while the lights are on turns them off. Holding the 'up' button for more than 2 seconds resets the adaptive lighting."
|
|
},
|
|
"human_like": "Controls the living room lights using a Philips Hue dimmer switch, with different button presses for turning lights on/off, adjusting brightness, cycling colors, and resetting lighting settings.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: bedroom Philips Hue dimmer switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'zigbee2mqtt/Dimmer Switch (Bedroom)'. CONDITIONS: None. ACTIONS: Based on the 'action' field in the MQTT payload: IF action is 'off_press' THEN run script.next_colors with input_select.last_script_bedroom. IF action is 'up_press' AND bedroom lights [light.bedroom_lights] is on THEN run script.white_lights_bedroom AND turn on bedroom lights [light.bedroom_lights] to full brightness. IF action is 'on_press' THEN run script.increase_brightness on group light.bedroom_lights. IF action is 'up_press' AND bedroom lights [light.bedroom_lights] is off THEN turn on bedroom lights [light.bedroom_lights]. IF action is 'down_press' AND bedroom lights [light.bedroom_lights] is on THEN turn off bedroom lights [light.bedroom_lights]. IF action is 'up_hold' AND the MQTT payload's action_duration is greater than 2 THEN run script.reset_adaptive_lighting.",
|
|
"natural_language": {
|
|
"trigger": "When the Philips Hue dimmer switch in the bedroom sends a message via MQTT.",
|
|
"conditions": "There are no global conditions for this automation. The specific actions taken depend on the button press type and the current state of the lights.",
|
|
"action": "Depending on the button pressed: Pressing 'off' runs a script to cycle colors. Pressing 'up' while the bedroom lights [light.bedroom_lights] are on runs a script to set white lights and turns the lights to full brightness. Pressing 'up' while the lights are off simply turns them on. Pressing 'on' runs a script to increase the brightness of the bedroom lights. Pressing 'down' while the lights are on turns them off. Holding the 'up' button for more than 2 seconds runs a script to reset adaptive lighting."
|
|
},
|
|
"human_like": "Controls the bedroom lights and related scenes using a Philips Hue dimmer switch, with different actions for each button press and hold.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: bedroom IKEA dimmer switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'zigbee2mqtt/IKEA Remote (Bedroom)' OR when an MQTT message is received on topic 'zigbee2mqtt/IKEA Remote (Bedroom Marcella)'. CONDITIONS: The automation uses a choose block with multiple conditional sequences. The action taken depends on the MQTT payload action and the state of various entities. The logic is: IF (action is 'brightness_move_up' AND bedroom lights [light.bedroom_lights] is on) THEN execute sequence 1. ELSE IF (action is 'on' AND bedroom lights [light.bedroom_lights] is on) THEN execute sequence 2. ELSE IF (action is 'on' AND bedroom lights [light.bedroom_lights] is off) THEN execute sequence 3. ELSE IF (action is 'off' AND bedroom lights [light.bedroom_lights] is on) THEN execute sequence 4. ELSE IF (action is 'arrow_left_click') THEN execute sequence 5. ELSE IF (action is 'arrow_right_click' AND personal_light (determined by trigger topic) is off) THEN execute sequence 6. ELSE IF (action is 'arrow_right_click' AND personal_light (determined by trigger topic) is on) THEN execute sequence 7. ELSE IF (action is 'brightness_move_down' AND guest mode [input_boolean.guest_mode] is off) THEN execute sequence 8. ELSE IF (action is 'brightness_move_down' AND guest mode [input_boolean.guest_mode] is on) THEN execute sequence 9. ACTIONS: Sequence 1: Run script 'white_lights_bedroom' and turn on bedroom lights [light.bedroom_lights] to full brightness (255) with a color temperature of 5500K. Sequence 2: Run script 'increase_brightness' for the group bedroom lights [light.bedroom_lights]. Sequence 3: Turn on bedroom lights [light.bedroom_lights]. Sequence 4: Turn off bedroom lights [light.bedroom_lights]. Sequence 5: Run script 'next_colors' for the input select last script bedroom [input_select.last_script_bedroom]. Sequence 6: Toggle the personal light (either bed led [light.bed_led] or philips go [light.philips_go] depending on the trigger topic). Sequence 7: Run script 'increase_brightness' for the personal light. Sequence 8: Set sleep mode selector [input_select.sleep_mode] to 'total' and run script 'turn_off_everything'. Sequence 9: Set sleep mode selector [input_select.sleep_mode] to 'total' and turn off bedroom lights [light.bedroom_lights] and baby room lights [light.baby_room_lights].",
|
|
"natural_language": {
|
|
"trigger": "When a message is received from either the 'IKEA Remote (Bedroom)' or the 'IKEA Remote (Bedroom Marcella)' via MQTT.",
|
|
"conditions": "The automation checks the specific action command from the remote and the current state of the lights to decide what to do. The personal light controlled (bed led [light.bed_led] or philips go [light.philips_go]) is determined by which remote sent the message.",
|
|
"action": "Depending on the button pressed and the current state, the automation will: 1) If the 'brightness move up' button is pressed while the main bedroom lights are on, it sets them to a bright white color. 2) If the 'on' button is pressed while the main lights are on, it increases their brightness. 3) If the 'on' button is pressed while the main lights are off, it turns them on. 4) If the 'off' button is pressed while the main lights are on, it turns them off. 5) If the 'arrow left' button is clicked, it cycles to the next color script. 6) If the 'arrow right' button is clicked and the assigned personal light is off, it toggles that light on. 7) If the 'arrow right' button is clicked and the assigned personal light is on, it increases its brightness. 8) If the 'brightness move down' button is pressed and guest mode is off, it activates total sleep mode and turns off all lights via a script. 9) If the 'brightness move down' button is pressed and guest mode is on, it activates total sleep mode and turns off only the bedroom and baby room lights."
|
|
},
|
|
"human_like": "Controls bedroom and personal lights using IKEA remote buttons, with different functions for turning lights on/off, adjusting brightness, cycling colors, and activating sleep modes.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: living room Aqara Wireless Mini Switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a deCONZ event occurs for the device with id 'smart_switch_living_room'. CONDITIONS: None. ACTIONS: Choose an action based on the event code: IF event is 1004 THEN run script 'next_colors' with input_select 'last script living room' [input_select.last_script_living_room]. IF event is 1002 THEN run script 'increase_brightness' on group 'living room lights' [light.living_room_lights]. IF event is 1007 AND 'living room lights' [light.living_room_lights] is on THEN turn on 'Cabinet LED' [light.cabinet_led] with a short flash, turn off 'tv' [media_player.tv], wait up to 30 seconds for 'tv' [media_player.tv] to be off, then turn off 'kef ls50' [media_player.kef_ls50], and turn off 'living room lights' [light.living_room_lights] with a 30-second transition. IF event is 1001 THEN run script 'fix_sound'.",
|
|
"natural_language": {
|
|
"trigger": "When the Aqara Wireless Mini Switch in the living room sends a deCONZ event.",
|
|
"conditions": "There are no global conditions for this automation. However, for the action triggered by event 1007, there is an additional check that the living room lights [light.living_room_lights] must be on.",
|
|
"action": "Depending on the button press event code, different actions are performed. A press resulting in event 1004 cycles to the next color script. Event 1002 increases the brightness of the living room lights. Event 1007, only if the living room lights are already on, flashes the Cabinet LED, turns off the TV, waits for the TV to turn off (up to 30 seconds), turns off the KEF LS50 speakers, and then fades out the living room lights over 30 seconds. Event 1001 runs a script to fix the sound."
|
|
},
|
|
"human_like": "This automation maps different button presses on the living room Aqara switch to control lights, media, and run scripts, including a 'goodnight' sequence that turns everything off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: bedroom Aqara Wireless Mini Switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a deCONZ event occurs for smart_switch_bedroom_bas OR when a deCONZ event occurs for smart_switch_bedroom_marcella. CONDITIONS: None (conditions are evaluated within the action's choose blocks). ACTIONS: Based on the event number: IF event is 1004, run script.next_colors with input_select.last_script_bedroom. IF event is 1002, run script.increase_brightness on bedroom lights [light.bedroom_lights]. IF event is 1001, turn off hall lights [light.hall_lights], bedroom lights [light.bedroom_lights], bathroom ceiling [light.bathroom_ceiling], and stairs lights [light.stairs_lights]. IF event is 1007, choose: IF (Ten Minutes Before Alarm [sensor.ten_minutes_before_alarm] is within 30 minutes of the alarm time OR the current time is between 06:00 and 12:00), turn off all lights [all]. ELSE IF sleep mode selector [input_select.sleep_mode] is off, turn off hall lights [light.hall_lights], bedroom lights [light.bedroom_lights], bathroom ceiling [light.bathroom_ceiling], and stairs lights [light.stairs_lights] AND set sleep mode selector [input_select.sleep_mode] to half. ELSE IF sleep mode selector [input_select.sleep_mode] is half, run script.turn_off_everything AND set sleep mode selector [input_select.sleep_mode] to total. ELSE IF sleep mode selector [input_select.sleep_mode] is total, turn off all lights [all].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered by a deCONZ event from either the smart_switch_bedroom_bas or the smart_witch_bedroom_marcella.",
|
|
"conditions": "There are no global conditions. The actions are selected based on the specific event number received and, for event 1007, additional internal checks.",
|
|
"action": "Depending on the button press event: For event 1004, it cycles to the next color script using the last script bedroom [input_select.last_script_bedroom]. For event 1002, it increases the brightness of the bedroom lights [light.bedroom_lights]. For event 1001, it turns off the hall lights [light.hall_lights], bedroom lights [light.bedroom_lights], bathroom ceiling [light.bathroom_ceiling], and stairs lights [light.stairs_lights]. For event 1007, it performs a multi-stage sleep mode routine: If it's within 30 minutes of the alarm time set in Ten Minutes Before Alarm [sensor.ten_minutes_before_alarm] or if it's morning (between 6 AM and 12 PM), it turns off all lights [all]. Otherwise, if the sleep mode selector [input_select.sleep_mode] is off, it turns off the same set of lights and sets the sleep mode to half. If the sleep mode is already half, it runs a script to turn off everything and sets the mode to total. If the sleep mode is total, it turns off all lights [all]."
|
|
},
|
|
"human_like": "Controls lights and scenes in the bedroom and surrounding areas using a wireless switch, with different button presses for changing colors, adjusting brightness, turning lights off, and activating a multi-stage sleep mode.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: bathroom Aqara Wireless Mini Switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a deCONZ event occurs for device smart_switch_bathroom. CONDITIONS: None. ACTIONS: If event data equals 1002, toggle bathroom lights [light.bathroom_lights]. If event data equals 1004, turn on living room lights [light.living_room_lights] with flash short.",
|
|
"natural_language": {
|
|
"trigger": "When the Aqara Wireless Mini Switch in the bathroom sends a deCONZ event.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "If the button press corresponds to event code 1002, toggle the bathroom lights [light.bathroom_lights] on or off. If the button press corresponds to event code 1004, turn on the living room lights [light.living_room_lights] with a short flash."
|
|
},
|
|
"human_like": "Uses the bathroom wireless switch to toggle the bathroom lights or flash the living room lights, depending on the button press.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: door Aqara Wireless Mini Switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a deCONZ event occurs for the device with id 'smart_switch_door'. CONDITIONS: None. ACTIONS: If the event code is 1002, then: turn on living room lights [light.living_room_lights] with a short flash, execute script.turn_off_everything_non_automatic, execute script.set_low_temperature, and if spotify [media_player.spotify] is playing with source 'KEF LS50', then pause spotify [media_player.spotify]. OR If the event code is 1004, then: turn on Ceiling Kitchen Light [light.ceiling_kitchen] with a short flash, execute script.turn_on on entity light.living_room_lights, execute script.arriving, and execute script.start_spotify with source 'KEF LS50', id from sensor.favorite_playlist_of_nearest_person [sensor.favorite_playlist_of_nearest_person], and volume 0.25.",
|
|
"natural_language": {
|
|
"trigger": "When the Aqara Wireless Mini Switch (identified as 'smart_switch_door') sends a deCONZ event.",
|
|
"conditions": "There are no conditions that must be met before the actions are executed.",
|
|
"action": "Depending on the specific button press event code, different actions are performed. If the event code is 1002 (e.g., a single press), the living room lights [light.living_room_lights] flash briefly, a script to turn off non-automatic devices runs, a script to set a low temperature runs, and if Spotify [media_player.spotify] is currently playing on the KEF LS50 source, it is paused. If the event code is 1004 (e.g., a double press), the Ceiling Kitchen Light [light.ceiling_kitchen] flashes briefly, a script to turn on the living room lights runs, an 'arriving' script runs, and a script starts Spotify [media_player.spotify] on the KEF LS50 source, playing the favorite playlist of the nearest person [sensor.favorite_playlist_of_nearest_person] at 25% volume."
|
|
},
|
|
"human_like": "Uses the Aqara switch to control lights, scripts, and music: one press for a 'leaving' scene and a double press for an 'arriving' scene.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: guest room IKEA Switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on the topic 'zigbee2mqtt/IKEA Switch (Guest room)'. CONDITIONS: None. ACTIONS: If the 'action' property in the message payload equals 'on', then turn on guest room lights [light.guest_room_lights]. If the 'action' property in the message payload equals 'off', then turn off guest room lights [light.guest_room_lights].",
|
|
"natural_language": {
|
|
"trigger": "When a message is received from the IKEA Switch in the guest room via MQTT.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Depending on the action command in the message, the automation will either turn on or turn off the guest room lights [light.guest_room_lights]."
|
|
},
|
|
"human_like": "Controls the guest room lights using an IKEA wireless switch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: Guest Room Light'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'zigbee2mqtt/Smart Switch (Guest Room)'. CONDITIONS: None. ACTIONS: Extract the 'action' field from the MQTT payload. If the action is 'single', toggle guest room lights [light.guest_room_lights]. If the action is 'double', toggle adaptive lighting sleep mode guest room [switch.adaptive_lighting_sleep_mode_guest_room].",
|
|
"natural_language": {
|
|
"trigger": "When a message is received from the MQTT topic associated with the Smart Switch in the Guest Room.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation checks the 'action' value from the message. If it is 'single', it toggles the guest room lights [light.guest_room_lights] on or off. If it is 'double', it toggles the adaptive lighting sleep mode guest room [switch.adaptive_lighting_sleep_mode_guest_room] on or off."
|
|
},
|
|
"human_like": "Uses the Guest Room smart switch to control the room lights with a single press and the adaptive lighting sleep mode with a double press.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: Guest Room Space heater'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on the topic 'zigbee2mqtt/Smart Switch (Desk)'. CONDITIONS: None. ACTIONS: Extract the 'action' field from the MQTT payload. If the extracted action equals the string 'single', then toggle the space heater [switch.space_heater].",
|
|
"natural_language": {
|
|
"trigger": "Whenever a message is received on the MQTT topic 'zigbee2mqtt/Smart Switch (Desk)'.",
|
|
"conditions": "There are no specific conditions that must be met for the action to proceed.",
|
|
"action": "The automation reads the 'action' field from the incoming message. If the action is 'single', it toggles the state of the space heater [switch.space_heater]."
|
|
},
|
|
"human_like": "Toggles the guest room space heater when a specific smart switch button is pressed once.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: Baby Room Light'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on the topic 'zigbee2mqtt/Smart Switch (Baby Room)'. CONDITIONS: None. ACTIONS: If the payload action is 'single', then toggle baby room lights [light.baby_room_lights]. If the payload action is 'double', then toggle adaptive lighting sleep mode baby room [switch.adaptive_lighting_sleep_mode_baby_room].",
|
|
"natural_language": {
|
|
"trigger": "When a message is received from the MQTT topic associated with the Smart Switch in the Baby Room.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "Depending on the action specified in the MQTT message: if the action is 'single', the baby room lights [light.baby_room_lights] are toggled on or off. If the action is 'double', the adaptive lighting sleep mode baby room [switch.adaptive_lighting_sleep_mode_baby_room] is toggled on or off."
|
|
},
|
|
"human_like": "Uses a smart switch in the baby room to control the lights and the adaptive lighting sleep mode, with single and double presses triggering different actions.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Control switches: Mid Room Changing Table Light'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'zigbee2mqtt/Smart Switch (Mid Room)'. CONDITIONS: None. ACTIONS: If the payload action equals 'single', toggle mid room light [light.mid_room] to 100% brightness and 2200K color temperature. If the payload action equals 'double', run script.increase_brightness on group light.mid_room. If the payload action equals 'hold', run script.next_colors with input_select last script living room [input_select.last_script_living_room].",
|
|
"natural_language": {
|
|
"trigger": "When the Zigbee smart switch in the mid room sends an MQTT message.",
|
|
"conditions": "There are no conditions that must be met; the automation runs immediately upon trigger.",
|
|
"action": "Depending on the button press action received: a single press toggles the mid room light [light.mid_room] to full brightness with a warm white color; a double press increases the brightness of the light group; a long press cycles to the next color scene using the last script living room [input_select.last_script_living_room] selector."
|
|
},
|
|
"human_like": "Controls the mid room light and scenes using a Zigbee smart switch, with different button presses for toggling, adjusting brightness, and changing colors.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Cube: perform operation'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a deCONZ event occurs with id mi_magic_cube. CONDITIONS: The event data's event property, when converted to a string and stripped of its first and last characters, equals '00'. ACTIONS: Choose one of the following sequences based on the event value: 1) If the event string starts with '100', '200', or '300' AND (the first and last characters are different OR the last character is '0'), then set cube mode [input_select.cube_mode] to 'Volume', 'Hue', or 'Brightness' based on the first three digits, and if tv [media_player.tv] is on, send a notification to tv [media_player.tv] stating the new mode. 2) If the event equals 7007 AND spotify [media_player.spotify] has the source attribute set to 'KEF LS50', then enable shuffle on spotify [media_player.spotify] and skip to the next track. 3) If the event is in (1001, 2002, 3003, 4004, 5005, 6006) AND spotify [media_player.spotify] has the source attribute set to 'KEF LS50', then toggle play/pause on spotify [media_player.spotify]. 4) If the event equals 7008, then run the script start_spotify_playlist_of_nearest_person with parameters source: KEF LS50 and entity_id: media_player.kef_ls50.",
|
|
"natural_language": {
|
|
"trigger": "When a deCONZ event is received from the device identified as mi_magic_cube.",
|
|
"conditions": "The event data must be a value that, when treated as a string and with the first and last characters removed, results in the string '00'.",
|
|
"action": "Depending on the exact event value, the automation performs different actions. If the event starts with 100, 200, or 300 and meets certain character conditions, it sets the cube mode [input_select.cube_mode] to Volume, Hue, or Brightness accordingly, and if the TV [media_player.tv] is on, it sends a notification. If the event is 7007 and Spotify [media_player.spotify] is playing from the KEF LS50 source, it turns on shuffle and skips to the next track. If the event is one of 1001, 2002, 3003, 4004, 5005, or 6006 and Spotify [media_player.spotify] is playing from the KEF LS50 source, it toggles the play/pause state. If the event is 7008, it runs a script to start a Spotify playlist for the nearest person on the KEF LS50 speaker [media_player.kef_ls50]."
|
|
},
|
|
"human_like": "This automation maps different gestures (like shakes, flips, or rotations) from a Xiaomi Magic Cube to various media and lighting control actions, such as changing volume/hue/brightness modes, controlling Spotify playback, and starting personalized playlists.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Cube: rotate the cube'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a deCONZ event occurs for device 'mi_magic_cube'. CONDITIONS: The event data 'event' is not equal to the string '00' OR the event data 'event' is less than 0. ACTIONS: Based on the state of cube mode [input_select.cube_mode]: IF cube mode [input_select.cube_mode] is 'Hue', THEN adjust the hue color of living room lights [light.living_room_lights] by a delta calculated from the event value, using the current hue and saturation from sphere light [light.sphere] as a reference. IF cube mode [input_select.cube_mode] is 'Brightness', THEN adjust the brightness of living room lights [light.living_room_lights] by a delta calculated from the event value, using the current brightness from sphere light [light.sphere] as a reference. IF cube mode [input_select.cube_mode] is 'Volume', THEN adjust the volume level of kef ls50 [media_player.kef_ls50] by a delta calculated from the event value, limited to a maximum change, AND IF tv [media_player.tv] is on, THEN send a notification to the TV with the new volume level.",
|
|
"natural_language": {
|
|
"trigger": "When the mi_magic_cube device sends a deCONZ event, such as when it is rotated.",
|
|
"conditions": "The event data must not be exactly the string '00' or must be a negative number.",
|
|
"action": "Depending on the current setting of cube mode [input_select.cube_mode], the automation performs different actions. If the mode is 'Hue', it changes the color hue of the living room lights [light.living_room_lights] based on the cube's rotation, referencing the current color from the sphere light [light.sphere]. If the mode is 'Brightness', it changes the brightness of the living room lights [light.living_room_lights] based on the cube's rotation, referencing the current brightness from the sphere light [light.sphere]. If the mode is 'Volume', it adjusts the volume of the kef ls50 [media_player.kef_ls50] speaker based on the cube's rotation, and if the tv [media_player.tv] is on, it sends a notification to the TV displaying the new volume level."
|
|
},
|
|
"human_like": "Uses a magic cube to control different aspects of the living room—like light color, brightness, or speaker volume—depending on the selected mode.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Doorbell: click the button'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a deCONZ event occurs with id smart_switch_doorbell AND event 1002. CONDITIONS: None. ACTIONS: Turn on all lights with a short flash AND send a notification titled 'Doorbell' with message 'Someone in front of the door!' to all_iphones AND if tv [media_player.tv] is on, then send a notification with message 'Someone in front of the door!' to tv.",
|
|
"natural_language": {
|
|
"trigger": "When the doorbell button is pressed, detected as a specific deCONZ event (id: smart_switch_doorbell, event: 1002).",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "Flash all lights briefly, send a push notification titled 'Doorbell' with the message 'Someone in front of the door!' to all iPhones, and if the TV [media_player.tv] is currently on, also send a notification with the same message to the TV."
|
|
},
|
|
"human_like": "When someone rings the doorbell, it briefly flashes all the lights and sends notifications to phones and the TV if it's on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Frontend: turn on dark mode'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches 20:00 OR at sunset. CONDITIONS: dark mode [input_boolean.dark_mode] is off. ACTIONS: Turn on dark mode [input_boolean.dark_mode].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either at 8:00 PM or at sunset.",
|
|
"conditions": "It only proceeds if dark mode [input_boolean.dark_mode] is currently turned off.",
|
|
"action": "It turns on dark mode [input_boolean.dark_mode]."
|
|
},
|
|
"human_like": "Automatically enables dark mode at sunset or at 8 PM, whichever comes first.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Frontend: turn on light mode'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 06:00 OR when the sun rises (sunrise). CONDITIONS: dark mode [input_boolean.dark_mode] is on. ACTIONS: Turn off dark mode [input_boolean.dark_mode].",
|
|
"natural_language": {
|
|
"trigger": "Either at 6:00 AM or at sunrise.",
|
|
"conditions": "If dark mode [input_boolean.dark_mode] is currently turned on.",
|
|
"action": "Turns off dark mode [input_boolean.dark_mode]."
|
|
},
|
|
"human_like": "Automatically switches off dark mode at sunrise or 6 AM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Frontend: change theme'",
|
|
"result": {
|
|
"structured": "TRIGGER: When theme selector [input_select.theme] changes state OR When dark mode [input_boolean.dark_mode] changes state OR When theme alternative [input_boolean.theme_alternative] changes state OR When Home Assistant starts. CONDITIONS: None. ACTIONS: Set the frontend theme to a name constructed as follows: If dark mode [input_boolean.dark_mode] is on, use 'dark', else use 'light'. Use the current state of theme selector [input_select.theme]. If theme alternative [input_boolean.theme_alternative] is on, append '-alternative', else append nothing. The final theme name is 'ios-<dark/light>-mode-<theme_state><suffix>'.",
|
|
"natural_language": {
|
|
"trigger": "This automation runs when the theme selector [input_select.theme] changes, when the dark mode [input_boolean.dark_mode] setting changes, when the theme alternative [input_boolean.theme_alternative] setting changes, or when Home Assistant starts up.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "It changes the frontend theme. The theme name is built dynamically: it uses 'ios' as a base, then 'dark' or 'light' depending on the dark mode [input_boolean.dark_mode] setting, followed by 'mode-' and the currently selected theme from theme selector [input_select.theme]. If the theme alternative [input_boolean.theme_alternative] is enabled, '-alternative' is added to the end of the theme name."
|
|
},
|
|
"human_like": "Automatically updates the user interface theme whenever the theme settings are changed or Home Assistant restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Leaving: automatically turn off everything'",
|
|
"result": {
|
|
"structured": "TRIGGER: When someone in the house in last hour [binary_sensor.someone_in_the_house_in_last_hour] changes from on to off AND remains off for 1 minute OR When the time matches the pattern every hour (hours: /1). CONDITIONS: (no one home [binary_sensor.no_one_home] is on OR anything on [binary_sensor.anything_on] is on) AND (someone in the house in last hour [binary_sensor.someone_in_the_house_in_last_hour] is off OR guest mode [input_boolean.guest_mode] is off). ACTIONS: Execute script.leaving AND Send a notification to notify.all_iphones with title 'Leaving' and message 'Everything automatically turned off!'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when the sensor indicating someone was in the house in the last hour [binary_sensor.someone_in_the_house_in_last_hour] turns off and stays off for one minute, or on a scheduled basis every hour.",
|
|
"conditions": "It requires that either the 'no one home' sensor [binary_sensor.no_one_home] is on or the 'anything on' sensor [binary_sensor.anything_on] is on. Additionally, it requires that either the 'someone in the house in last hour' sensor [binary_sensor.someone_in_the_house_in_last_hour] is off or the 'guest mode' switch [input_boolean.guest_mode] is off.",
|
|
"action": "It runs the 'leaving' script and sends a notification titled 'Leaving' with the message 'Everything automatically turned off!' to all configured iPhones."
|
|
},
|
|
"human_like": "Automatically turns everything off and sends a notification when the house is empty, no guests are present, and it's either been an hour since someone was home or a scheduled check occurs.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Leaving: ask to turn off everything'",
|
|
"result": {
|
|
"structured": "TRIGGER: When bas [person.bas] leaves home OR When marcella person [person.marcella] leaves home. CONDITIONS: (no one home [binary_sensor.no_one_home] is on AND anything on [binary_sensor.anything_on] is on) AND guest mode [input_boolean.guest_mode] is off. ACTIONS: Wait 5 minutes, then check if no one home [binary_sensor.no_one_home] is still on, and if so, send a notification to all iPhones with a message asking to turn off everything and an action button to turn off everything.",
|
|
"natural_language": {
|
|
"trigger": "When either bas [person.bas] or marcella person [person.marcella] changes their state from being at home to away.",
|
|
"conditions": "If the system indicates that no one is home [binary_sensor.no_one_home] and that something is turned on [binary_sensor.anything_on], and guest mode [input_boolean.guest_mode] is disabled.",
|
|
"action": "After a five-minute delay, the automation verifies that the 'no one home' status is still active. If confirmed, it sends a notification to all iPhones asking if everything should be turned off, providing a button to perform that action."
|
|
},
|
|
"human_like": "Sends a reminder to turn off all devices when everyone has left home and something is still on, but only if guest mode is not active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Leaving: turn off everything after notification'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a mobile app notification action event occurs with action TURN_OFF_EVERYTHING. CONDITIONS: None. ACTIONS: Execute the script leaving [script.leaving].",
|
|
"natural_language": {
|
|
"trigger": "When a user interacts with a mobile app notification and selects the 'TURN_OFF_EVERYTHING' action.",
|
|
"conditions": "There are no conditions that must be met for this automation to proceed.",
|
|
"action": "Runs the script named leaving [script.leaving]."
|
|
},
|
|
"human_like": "Turns off everything in the house by running a script when the user confirms the action from a mobile notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Leaving: downstairs Aqara Wireless Mini Switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a deCONZ event occurs with id 'smart_switch_door' and event '1002'. CONDITIONS: None. ACTIONS: Wait for front door sensor [binary_sensor.openclose_front_door] to change from open (on) to closed (off) within 1 minute. If the door closes within the timeout, then execute script.turn_off_everything and send a notification titled 'Bye 👋' with message 'See you soon!' to notify.all_iphones. If the door does not close within 1 minute, the automation stops and no further actions are performed.",
|
|
"natural_language": {
|
|
"trigger": "When the Aqara Wireless Mini Switch (identified by the deCONZ event 'smart_switch_door' with code 1002) is pressed.",
|
|
"conditions": "There are no conditions that must be checked before proceeding; the automation runs immediately after the trigger.",
|
|
"action": "After the switch is pressed, the automation waits for up to one minute for the front door sensor [binary_sensor.openclose_front_door] to change from open to closed. If the door closes within that minute, it proceeds to turn off everything via the 'script.turn_off_everything' script and sends a 'Bye 👋' notification to all iPhones. If the door does not close within the minute, the automation simply ends without performing these actions."
|
|
},
|
|
"human_like": "When you press the Aqara switch, it waits for you to close the front door, then turns everything off and sends a goodbye notification.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn on living room'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Activity in Living Room [binary_sensor.activity_in_living_room] turns on. CONDITIONS: guest mode [input_boolean.guest_mode] is off. ACTIONS: Turn on living room lights [light.living_room_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the Activity in Living Room [binary_sensor.activity_in_living_room] sensor detects activity and turns on.",
|
|
"conditions": "The automation only runs if the guest mode [input_boolean.guest_mode] is turned off.",
|
|
"action": "Turns on the living room lights [light.living_room_lights]."
|
|
},
|
|
"human_like": "Automatically turns on the living room lights when activity is detected, but only when guest mode is not active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off living room'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Activity in Living Room [binary_sensor.activity_in_living_room] changes to off OR when sleep mode selector [input_select.sleep_mode] changes from total. CONDITIONS: guest mode [input_boolean.guest_mode] is off. ACTIONS: Turn off living room lights [light.living_room_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the Activity in Living Room [binary_sensor.activity_in_living_room] sensor indicates no activity (changes to 'off'), or when the sleep mode selector [input_select.sleep_mode] is changed away from the 'total' setting.",
|
|
"conditions": "The guest mode [input_boolean.guest_mode] must be turned off.",
|
|
"action": "Turn off the living room lights [light.living_room_lights]."
|
|
},
|
|
"human_like": "Turns off the living room lights when there is no activity detected or when sleep mode is no longer set to 'total', but only if guest mode is disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn on Chrismas tree'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sleep mode selector [input_select.sleep_mode] changes to off OR half. OR When someone in the house in last hour [binary_sensor.someone_in_the_house_in_last_hour] changes to on. CONDITIONS: someone in the house in last hour [binary_sensor.someone_in_the_house_in_last_hour] is on. ACTIONS: Turn on christmas tree [switch.christmas_tree].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the sleep mode selector [input_select.sleep_mode] changes to either 'off' or 'half', or when the sensor someone in the house in last hour [binary_sensor.someone_in_the_house_in_last_hour] detects that someone has been in the house recently.",
|
|
"conditions": "The automation only proceeds if the sensor someone in the house in last hour [binary_sensor.someone_in_the_house_in_last_hour] is currently reporting that someone is in the house.",
|
|
"action": "It turns on the christmas tree [switch.christmas_tree]."
|
|
},
|
|
"human_like": "Turns on the Christmas tree when the house is not in full sleep mode and someone has been home recently.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off Chrismas tree'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sleep mode selector [input_select.sleep_mode] changes to total OR when someone in the house in last hour [binary_sensor.someone_in_the_house_in_last_hour] changes to off. CONDITIONS: None. ACTIONS: Turn off christmas tree [switch.christmas_tree].",
|
|
"natural_language": {
|
|
"trigger": "When the sleep mode selector [input_select.sleep_mode] is set to 'total', or when the sensor indicating someone in the house in last hour [binary_sensor.someone_in_the_house_in_last_hour] changes to off.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the christmas tree [switch.christmas_tree]."
|
|
},
|
|
"human_like": "Turns off the Christmas tree lights when the house is set to total sleep mode or when no one has been home for an hour.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: toggle dinner area lights'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in dinner area [binary_sensor.activity_in_dinner_area] changes state. CONDITIONS: (automatic dinner area light [input_boolean.automatic_dinner_area_light] is on) AND (sleep mode selector [input_select.sleep_mode] is off) AND (guest mode [input_boolean.guest_mode] is off). ACTIONS: Turn dinner area light [light.dinner_area] to the same state (on/off) that activity in dinner area [binary_sensor.activity_in_dinner_area] changed to.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the activity in dinner area [binary_sensor.activity_in_dinner_area] sensor changes its state, either to 'on' or 'off'.",
|
|
"conditions": "The automation will only proceed if the automatic dinner area light [input_boolean.automatic_dinner_area_light] is enabled (on), the system-wide sleep mode selector [input_select.sleep_mode] is set to 'off', and guest mode [input_boolean.guest_mode] is also turned off.",
|
|
"action": "The dinner area light [light.dinner_area] will be turned on or off to match the new state reported by the activity sensor."
|
|
},
|
|
"human_like": "Automatically turns the dinner area lights on when activity is detected and off when activity stops, provided automatic control is enabled and system modes allow it.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off automatic dinner area lights when turning off lights after",
|
|
"result": {
|
|
"structured": "TRIGGER: When dinner area light [light.dinner_area] turns off. CONDITIONS: automatic dinner area light [input_boolean.automatic_dinner_area_light] is on AND the current time is after 18:00:00. ACTIONS: Turn off automatic dinner area light [input_boolean.automatic_dinner_area_light].",
|
|
"natural_language": {
|
|
"trigger": "When the dinner area light [light.dinner_area] is turned off.",
|
|
"conditions": "The automatic dinner area light [input_boolean.automatic_dinner_area_light] is currently switched on, and the current time is after 6:00 PM.",
|
|
"action": "Turns off the automatic dinner area light [input_boolean.automatic_dinner_area_light]."
|
|
},
|
|
"human_like": "Disables the automatic lighting control for the dinner area when the main light is manually turned off after 6 PM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: reset automatic dinner area lights at 06:00'",
|
|
"result": {
|
|
"structured": "TRIGGER: At 06:00:00. CONDITIONS: None. ACTIONS: Turn on automatic dinner area light [input_boolean.automatic_dinner_area_light].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 6:00 AM.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Turns on the automatic dinner area light [input_boolean.automatic_dinner_area_light]."
|
|
},
|
|
"human_like": "Resets the automatic dinner area lighting system every morning at 6 AM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn on kitchen counter if sleep mode is off'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in kitchen [binary_sensor.activity_in_kitchen] turns on. CONDITIONS: sleep mode selector [input_select.sleep_mode] is 'off' OR 'half'. ACTIONS: Turn on kitchen counter [light.kitchen_counter].",
|
|
"natural_language": {
|
|
"trigger": "When motion or activity is detected in the kitchen, indicated by the activity in kitchen [binary_sensor.activity_in_kitchen] sensor turning on.",
|
|
"conditions": "If the system-wide sleep mode selector [input_select.sleep_mode] is set to either 'off' or 'half'.",
|
|
"action": "Turn on the kitchen counter [light.kitchen_counter] light."
|
|
},
|
|
"human_like": "Turns on the kitchen counter light when activity is detected, but only if the house is not in full sleep mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off kitchen counter'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in kitchen [binary_sensor.activity_in_kitchen] changes to off. CONDITIONS: None. ACTIONS: Turn off kitchen counter [light.kitchen_counter].",
|
|
"natural_language": {
|
|
"trigger": "When the activity in kitchen [binary_sensor.activity_in_kitchen] sensor changes to 'off', indicating no activity.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the kitchen counter [light.kitchen_counter] light."
|
|
},
|
|
"human_like": "Turns off the kitchen counter light when no activity is detected in the kitchen.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: reboot kitchen ceiling Shelly'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 05:00:00. CONDITIONS: None. ACTIONS: Execute the shell command 'reboot_kitchen_ceiling'.",
|
|
"natural_language": {
|
|
"trigger": "Every day at 5:00 AM.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Runs the shell command named 'reboot_kitchen_ceiling'."
|
|
},
|
|
"human_like": "Reboots the kitchen ceiling Shelly device every morning at 5 AM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn on bathroom'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in bathroom [binary_sensor.activity_in_bathroom] turns on. CONDITIONS: sleep mode selector [input_select.sleep_mode] is not set to 'total'. ACTIONS: Turn on bathroom lights [light.bathroom_lights] with a transition of 1 second.",
|
|
"natural_language": {
|
|
"trigger": "When motion or activity is detected in the bathroom, indicated by the activity in bathroom [binary_sensor.activity_in_bathroom] sensor turning on.",
|
|
"conditions": "The automation only runs if the system-wide sleep mode selector [input_select.sleep_mode] is not set to 'total' sleep mode.",
|
|
"action": "Turns on the bathroom lights [light.bathroom_lights], fading them on smoothly over a period of one second."
|
|
},
|
|
"human_like": "Turns on the bathroom lights when activity is detected, unless the house is in total sleep mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off bathroom'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in bathroom [binary_sensor.activity_in_bathroom] changes to off. CONDITIONS: None. ACTIONS: Turn off bathroom lights [light.bathroom_lights] with a transition of 1 second.",
|
|
"natural_language": {
|
|
"trigger": "When the activity in bathroom [binary_sensor.activity_in_bathroom] sensor indicates that activity has stopped.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the bathroom lights [light.bathroom_lights] with a one-second fade-out transition."
|
|
},
|
|
"human_like": "Automatically turns off the bathroom lights when no activity is detected in the room.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn on hall'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in hall [binary_sensor.activity_in_hall] changes from off to on OR When front door sensor [binary_sensor.openclose_front_door] changes from off to on. CONDITIONS: The list of lights to turn on, determined by the variable 'off_lights', contains at least one light. The variable 'off_lights' is defined as: If sleep mode selector [input_select.sleep_mode] is set to 'total', then include only hall 2 [light.hall_2]; otherwise, include hall 1 [light.hall_1], hall 2 [light.hall_2], and hall 3 [light.hall_3]. From this list, only lights that are currently off are selected. The final list is the combination of these hall lights and all lights in the stairs lights [light.stairs_lights] group that are currently off. ACTIONS: For each light in the 'off_lights' list, call the script 'script.turn_on_lights' with that light's entity_id.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered when motion is detected in the hall (activity in hall [binary_sensor.activity_in_hall] turns on) or when the front door is opened (front door sensor [binary_sensor.openclose_front_door] turns on).",
|
|
"conditions": "The automation only runs if there is at least one light that is currently off and should be turned on. The list of lights to consider depends on the current sleep mode. If the sleep mode selector [input_select.sleep_mode] is set to 'total', only the hall 2 [light.hall_2] is considered. Otherwise, all three hall lights (hall 1 [light.hall_1], hall 2 [light.hall_2], and hall 3 [light.hall_3]) are considered. This list is combined with all the lights that are part of the stairs lights [light.stairs_lights] group. From this combined list, only the lights that are currently turned off are selected for the action.",
|
|
"action": "For every light identified as being off and part of the target group, the automation calls a script named 'script.turn_on_lights' to turn that specific light on."
|
|
},
|
|
"human_like": "Turns on the hall and stair lights when motion is detected or the front door opens, adjusting which lights are activated based on the current sleep mode setting.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off hall'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in hall [binary_sensor.activity_in_hall] changes from on to off. CONDITIONS: None. ACTIONS: Turn off hall lights [light.hall_lights] AND turn off stairs lights [light.stairs_lights] with a transition time of 1 second.",
|
|
"natural_language": {
|
|
"trigger": "When the activity in hall [binary_sensor.activity_in_hall] sensor changes from detecting activity (on) to no activity (off).",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Turns off both the hall lights [light.hall_lights] and the stairs lights [light.stairs_lights], fading them out over a period of one second."
|
|
},
|
|
"human_like": "Turns off the hall and stairs lights when activity in the hall stops.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: automatically turn on the bedroom'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in master bedroom [binary_sensor.activity_in_master_bedroom] becomes active (on). CONDITIONS: (The number of lights in the bedroom lights [light.bedroom_lights] group that are currently off is greater than 0) AND (sleep mode selector [input_select.sleep_mode] is off) AND (automatic bedroom lights [input_boolean.automatic_bedroom_lights] is on). ACTIONS: For each light that is off in the bedroom lights [light.bedroom_lights] group, run the script 'script.turn_on_lights' with that light's entity_id. Then, turn on bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on].",
|
|
"natural_language": {
|
|
"trigger": "When the activity in master bedroom [binary_sensor.activity_in_master_bedroom] sensor detects activity.",
|
|
"conditions": "If there is at least one light within the bedroom lights [light.bedroom_lights] group that is currently turned off, the sleep mode selector [input_select.sleep_mode] is set to 'off', and the automatic bedroom lights [input_boolean.automatic_bedroom_lights] feature is enabled (set to 'on').",
|
|
"action": "It turns on every light in the bedroom lights [light.bedroom_lights] group that is currently off by calling a script for each one, and then sets the bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on] indicator to 'on'."
|
|
},
|
|
"human_like": "Automatically turns on any off bedroom lights when activity is detected in the master bedroom, provided sleep mode is off and the feature is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: automatically turn off the bedroom'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in master bedroom [binary_sensor.activity_in_master_bedroom] remains off for 8 minutes. CONDITIONS: bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on] is on AND bedroom lights [light.bedroom_lights] is on AND automatic bedroom lights [input_boolean.automatic_bedroom_lights] is on. ACTIONS: Turn off bedroom lights [light.bedroom_lights] with a transition of 10 seconds.",
|
|
"natural_language": {
|
|
"trigger": "When the activity in master bedroom [binary_sensor.activity_in_master_bedroom] sensor reports no activity for a continuous period of eight minutes.",
|
|
"conditions": "The bedroom lights [light.bedroom_lights] must currently be on. The system must also have the bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on] feature enabled, and the general automatic bedroom lights [input_boolean.automatic_bedroom_lights] feature must also be turned on.",
|
|
"action": "Turns off the bedroom lights [light.bedroom_lights] with a smooth 10-second fade-out transition."
|
|
},
|
|
"human_like": "Automatically turns off the bedroom lights after eight minutes of inactivity, but only if the lights were previously turned on automatically and the automation feature is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off bedroom lights auto switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedroom lights [light.bedroom_lights] turn off OR When a deCONZ event occurs for device id dimmer_switch_bedroom OR When a deCONZ event occurs for device id smart_switch_bedroom_bas OR When a deCONZ event occurs for device id smart_switch_bedroom_marcella. CONDITIONS: bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on] is on. ACTIONS: Turn off bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bedroom lights [light.bedroom_lights] are turned off, or when any of the three deCONZ events (for devices dimmer_switch_bedroom, smart_switch_bedroom_bas, or smart_switch_bedroom_marcella) are received.",
|
|
"conditions": "The automation only runs if the flag bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on] is currently set to on.",
|
|
"action": "It turns off the flag bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on], indicating that the lights are no longer in an automatically controlled state."
|
|
},
|
|
"human_like": "Resets the automatic light control flag for the bedroom when the lights are manually turned off or a switch is used.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn on automatic_bedroom_lights switch'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches 12:00. CONDITIONS: None. ACTIONS: Turn on automatic bedroom lights [input_boolean.automatic_bedroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "At exactly 12:00.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Turns on the automatic bedroom lights [input_boolean.automatic_bedroom_lights] switch."
|
|
},
|
|
"human_like": "Turns on the automatic bedroom lights switch at noon.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off bedroom after 2 hours of inactivity'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in master bedroom [binary_sensor.activity_in_master_bedroom] changes from on to off AND remains off for 2 hours. CONDITIONS: bedroom lights [light.bedroom_lights] is on. ACTIONS: Turn off bedroom lights [light.bedroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the activity in master bedroom [binary_sensor.activity_in_master_bedroom] stops detecting activity and remains inactive for two hours.",
|
|
"conditions": "The bedroom lights [light.bedroom_lights] must be turned on.",
|
|
"action": "Turns off the bedroom lights [light.bedroom_lights]."
|
|
},
|
|
"human_like": "Turns off the bedroom lights after two hours of no activity in the room.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: reboot bedroom ceiling Shelly'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 13:00:00. CONDITIONS: None. ACTIONS: Execute the shell command 'reboot_bedroom_ceiling'.",
|
|
"natural_language": {
|
|
"trigger": "At 1:00 PM every day.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the shell command named 'reboot_bedroom_ceiling'."
|
|
},
|
|
"human_like": "Reboots the bedroom ceiling Shelly device every day at 1 PM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: Update input_select when bedroom lights turned off'",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedroom lights [light.bedroom_lights] turn off. CONDITIONS: None. ACTIONS: Set last script bedroom [input_select.last_script_bedroom] to the option 'script.white_lights_bedroom'.",
|
|
"natural_language": {
|
|
"trigger": "When the bedroom lights [light.bedroom_lights] are turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Updates the last script bedroom [input_select.last_script_bedroom] selection to 'script.white_lights_bedroom'."
|
|
},
|
|
"human_like": "Updates a setting to remember a white light script when the bedroom lights are turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn on utility room / garage outside'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in utility room [binary_sensor.activity_in_utility_room] becomes on OR When activity outside front door [binary_sensor.activity_outside_front_door] becomes on OR When activity outside garage [binary_sensor.activity_outside_garage] becomes on. CONDITIONS: None. ACTIONS: Turn on utility room light [light.utility_room] with a 1-second transition. IF the sun's elevation is less than 6 degrees, THEN also turn on outside front door light [light.outside_front_door] and garage outside light [light.garage_outside], and turn on string lights outside [switch.string_lights_outside].",
|
|
"natural_language": {
|
|
"trigger": "When motion or activity is detected in the utility room, outside the front door, or outside the garage.",
|
|
"conditions": "There are no additional conditions that must be met for the automation to run.",
|
|
"action": "The automation turns on the utility room light [light.utility_room] with a smooth, 1-second transition. Additionally, if it is dark outside (specifically, when the sun's elevation is below 6 degrees), it will also turn on the outside front door light [light.outside_front_door], the garage outside light [light.garage_outside], and the string lights outside [switch.string_lights_outside]."
|
|
},
|
|
"human_like": "Turns on the utility room light when activity is detected there, and also turns on the outdoor lights if it's dark outside.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off utility room / garage outside'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in utility room [binary_sensor.activity_in_utility_room] becomes inactive (off) OR When activity outside front door [binary_sensor.activity_outside_front_door] becomes inactive (off) OR When activity outside garage [binary_sensor.activity_outside_garage] becomes inactive (off). CONDITIONS: None (conditions are embedded within the actions). ACTIONS: IF activity in utility room [binary_sensor.activity_in_utility_room] is off THEN turn off utility room light [light.utility_room]. IF Activity Outside House [binary_sensor.activity_outside_house] is off THEN turn off outside front door light [light.outside_front_door] AND turn off garage outside light [light.garage_outside] AND turn off string lights outside [switch.string_lights_outside].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered when any of the following sensors report no activity: the activity in utility room [binary_sensor.activity_in_utility_room], the activity outside front door [binary_sensor.activity_outside_front_door], or the activity outside garage [binary_sensor.activity_outside_garage].",
|
|
"conditions": "There are no separate conditions. Instead, the actions themselves are conditional. The automation checks the state of specific sensors at the moment the actions are to be executed.",
|
|
"action": "If the activity in utility room [binary_sensor.activity_in_utility_room] is off, it turns off the utility room light [light.utility_room]. Separately, if the Activity Outside House [binary_sensor.activity_outside_house] is off, it turns off the outside front door light [light.outside_front_door], the garage outside light [light.garage_outside], and the string lights outside [switch.string_lights_outside]."
|
|
},
|
|
"human_like": "Turns off utility and outdoor lights when motion sensors indicate no activity in those areas.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn on the outside front light'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with an offset of -1 hour OR When sunrise occurs with an offset of -2 hours. CONDITIONS: None. ACTIONS: Turn on front house light [light.front_house].",
|
|
"natural_language": {
|
|
"trigger": "When the sun sets, but one hour before it actually happens, or when the sun rises, but two hours before it actually happens.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns on the front house light [light.front_house]."
|
|
},
|
|
"human_like": "Turns on the outside front light one hour before sunset and two hours before sunrise.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off the outside front light'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches 01:00:00 OR at sunrise with an offset of +01:00:00. CONDITIONS: None. ACTIONS: Turn off front house light [light.front_house].",
|
|
"natural_language": {
|
|
"trigger": "When the clock reaches 1:00 AM, or one hour after sunrise.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Turns off the front house light [light.front_house]."
|
|
},
|
|
"human_like": "Turns off the outside front light at 1 AM or one hour after sunrise.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: toggle guest room'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in guest room [binary_sensor.activity_in_guest_room] changes state. CONDITIONS: guest mode [input_boolean.guest_mode] is off. ACTIONS: Turn guest room lights [light.guest_room_lights] to the same state (on/off) as the trigger, with a transition time of 1 second.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the activity in guest room [binary_sensor.activity_in_guest_room] sensor changes its state.",
|
|
"conditions": "The automation only runs if guest mode [input_boolean.guest_mode] is turned off.",
|
|
"action": "Sets the guest room lights [light.guest_room_lights] to match the new state of the activity sensor (on or off), with a smooth transition of one second."
|
|
},
|
|
"human_like": "Automatically turns the guest room lights on or off based on room activity, but only when guest mode is disabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: toggle baby room'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in baby room [binary_sensor.activity_in_baby_room] changes state. CONDITIONS: None. ACTIONS: Turn baby sphere [light.baby_sphere] to the same state as the trigger (on or off). Turn baby room lights [light.baby_room_lights] to the same state as the trigger (on or off) with a transition of 1 second.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the activity in baby room [binary_sensor.activity_in_baby_room] changes its state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sets the baby sphere [light.baby_sphere] to match the new state of the activity sensor. It also sets the baby room lights [light.baby_room_lights] to the same state, but with a smooth transition effect lasting one second."
|
|
},
|
|
"human_like": "Turns the baby room lights and sphere on or off automatically based on detected activity in the room.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off living room (extra check)'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches minutes divisible by 59 (i.e., at 59 minutes past every hour). CONDITIONS: Activity in Living Room [binary_sensor.activity_in_living_room] is off AND living room lights [light.living_room_lights] is on. ACTIONS: Turn off living room lights [light.living_room_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every hour at 59 minutes past the hour.",
|
|
"conditions": "The conditions require that the Activity in Living Room [binary_sensor.activity_in_living_room] sensor is off, indicating no activity, and the living room lights [light.living_room_lights] are currently on.",
|
|
"action": "Turns off the living room lights [light.living_room_lights]."
|
|
},
|
|
"human_like": "Turns off the living room lights at 59 minutes past every hour if no activity is detected, serving as a backup in case the main automation fails.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off guest room (extra check)'",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 10 minutes (time pattern). CONDITIONS: activity in guest room [binary_sensor.activity_in_guest_room] is off AND guest room lights [light.guest_room_lights] is on. ACTIONS: Turn off guest room lights [light.guest_room_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every 10 minutes.",
|
|
"conditions": "The automation checks if there is no activity in the guest room [binary_sensor.activity_in_guest_room] and if the guest room lights [light.guest_room_lights] are currently on.",
|
|
"action": "It turns off the guest room lights [light.guest_room_lights]."
|
|
},
|
|
"human_like": "Turns off the guest room lights every 10 minutes if the room is inactive, acting as a backup in case the primary automation fails.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off baby room (extra check)'",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 10 minutes (on minutes divisible by 10). CONDITIONS: (activity in baby room [binary_sensor.activity_in_baby_room] is off) AND (baby sphere [light.baby_sphere] is on OR baby room lights [light.baby_room_lights] is on). ACTIONS: Turn off baby room lights [light.baby_room_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every 10 minutes, specifically when the minute value is divisible by 10 (e.g., at :00, :10, :20, etc.).",
|
|
"conditions": "The automation checks if there is no activity detected in the baby room, as indicated by the activity in baby room [binary_sensor.activity_in_baby_room] being off. It also checks if either the baby sphere [light.baby_sphere] or the baby room lights [light.baby_room_lights] are currently turned on.",
|
|
"action": "If all conditions are met, the automation turns off the baby room lights [light.baby_room_lights]."
|
|
},
|
|
"human_like": "This is a backup automation that turns off the baby room lights every 10 minutes if no activity is detected and any light is still on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off bedroom (extra check)'",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 30 minutes (time pattern on minutes divisible by 30). CONDITIONS: activity in master bedroom [binary_sensor.activity_in_master_bedroom] is off AND automatic bedroom lights [input_boolean.automatic_bedroom_lights] is on AND bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on] is on. ACTIONS: Turn off bedroom lights [light.bedroom_lights] AND turn off bedroom lights automatically turned on [input_boolean.bedroom_lights_automatically_turned_on].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every 30 minutes, at times when the minutes are 00 or 30.",
|
|
"conditions": "All of the following must be true: there is no activity detected in the master bedroom, the automatic bedroom lights feature is enabled, and the system indicates that the bedroom lights were previously turned on automatically.",
|
|
"action": "Turn off the bedroom lights and reset the flag that indicates the lights were automatically turned on."
|
|
},
|
|
"human_like": "A safety check that turns off the bedroom lights every 30 minutes if no activity is detected and the lights were previously turned on automatically.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: turn off utility room / garage (extra check)'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every 10 minutes. CONDITIONS: (activity in utility room [binary_sensor.activity_in_utility_room] is off) AND (activity outside front door [binary_sensor.activity_outside_front_door] is off) AND (activity outside garage [binary_sensor.activity_outside_garage] is off) AND (utility room light [light.utility_room] is on OR garage outside light [light.garage_outside] is on OR outside front door light [light.outside_front_door] is on). ACTIONS: Turn off utility room light [light.utility_room], garage outside light [light.garage_outside], and outside front door light [light.outside_front_door].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every 10 minutes.",
|
|
"conditions": "If there is no activity detected in the utility room, outside the front door, and outside the garage, and at least one of the utility room light, garage outside light, or outside front door light is currently on.",
|
|
"action": "Turn off the utility room light, the garage outside light, and the outside front door light."
|
|
},
|
|
"human_like": "Turns off the utility room, garage, and front door lights every 10 minutes if no activity is detected in those areas, serving as a backup in case the primary automation fails.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: Update Zigbee2MQTT lights input_select options'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is published to the topic 'zigbee2mqtt/bridge/devices'. CONDITIONS: None. ACTIONS: Set variable 'devices' to the JSON payload of the MQTT message. Set variable 'z2m_lights' to a list of friendly names extracted from the 'devices' JSON where the device definition contains an expose of type 'light'. Set the options for z2m lights selector [input_select.z2m_lights] to the list stored in variable 'z2m_lights'.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered whenever a new message is published to the MQTT topic 'zigbee2mqtt/bridge/devices'.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "The automation extracts a list of friendly names for all Zigbee devices that are defined as lights from the incoming MQTT message. It then updates the available options in the dropdown selector named z2m lights selector [input_select.z2m_lights] to match this new list of light names."
|
|
},
|
|
"human_like": "Automatically updates a dropdown list with all available Zigbee lights whenever the Zigbee2MQTT device list changes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Light: Update Zigbee2MQTT Lights State'",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 minutes (time pattern with minutes divisible by 5). CONDITIONS: None. ACTIONS: Execute script script.sync_z2m_to_ha_lights.",
|
|
"natural_language": {
|
|
"trigger": "Every five minutes, on the minute.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs the script named script.sync_z2m_to_ha_lights."
|
|
},
|
|
"human_like": "Refreshes the state of all Zigbee2MQTT lights every five minutes to keep them in sync with Home Assistant.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Lovelace: convert lovelace.json to lovelace-ui.yaml'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Lovelace [sensor.lovelace] changes state. CONDITIONS: None. ACTIONS: Execute shell_command.convert_lovelace AND execute shell_command.chores.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Lovelace [sensor.lovelace] sensor changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Runs two shell commands: first 'convert_lovelace', then 'chores'."
|
|
},
|
|
"human_like": "Automatically runs maintenance scripts for the Lovelace dashboard whenever its sensor state updates.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Mailbox: the mailbox was opened'",
|
|
"result": {
|
|
"structured": "TRIGGER: When mailbox vibration [binary_sensor.mailbox_vibration] changes to on. CONDITIONS: mailbox full [input_boolean.mailbox_full] is off. ACTIONS: Send a notification titled 'Mailbox' with message 'Received mail in the mailbox!' to notify.all_iphones AND turn on mailbox full [input_boolean.mailbox_full].",
|
|
"natural_language": {
|
|
"trigger": "When the mailbox vibration sensor [binary_sensor.mailbox_vibration] detects vibration, indicating the mailbox was opened.",
|
|
"conditions": "Only if the mailbox full indicator [input_boolean.mailbox_full] is currently off, meaning mail hasn't already been flagged as received.",
|
|
"action": "Sends a push notification to all iPhones announcing that mail has been received and turns on the mailbox full indicator [input_boolean.mailbox_full] to show the status in the UI."
|
|
},
|
|
"human_like": "Sends a phone notification and marks the mailbox as full when the mailbox is opened, assuming it wasn't already marked.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Media player: turn on Opt when TV is on and Spotify is not playing and not",
|
|
"result": {
|
|
"structured": "TRIGGER: When tv [media_player.tv] changes state OR When spotify [media_player.spotify] changes to paused. CONDITIONS: tv [media_player.tv] is on AND (kef ls50 [media_player.kef_ls50] source is NOT Optical Input 1) AND (kef ls50 [media_player.kef_ls50] source is NOT HDMI ARC) AND (tv [media_player.tv] source is NOT GALLERY) AND NOT (kef ls50 [media_player.kef_ls50] source is Usb AND tv [media_player.tv] source is HDMI 3) AND NOT (spotify [media_player.spotify] source is KEF LS50 AND spotify [media_player.spotify] is playing). ACTIONS: Set kef ls50 [media_player.kef_ls50] source to Optical Input 1.",
|
|
"natural_language": {
|
|
"trigger": "When the state of the tv [media_player.tv] changes, or when the spotify [media_player.spotify] player changes to a paused state.",
|
|
"conditions": "The tv [media_player.tv] must be turned on. The kef ls50 [media_player.kef_ls50] speakers must not already be set to the 'Optical Input 1' or 'HDMI ARC' source. The tv [media_player.tv] must not be set to the 'GALLERY' source. It must not be the case that the speakers are set to 'Usb' while the tv is on 'HDMI 3'. Finally, it must not be the case that spotify [media_player.spotify] is currently playing and its source is set to the 'KEF LS50' speakers.",
|
|
"action": "Switch the audio source of the kef ls50 [media_player.kef_ls50] speakers to 'Optical Input 1'."
|
|
},
|
|
"human_like": "Automatically switches the KEF speakers to the optical input when the TV is on, unless specific other audio sources (like Spotify or USB) are actively in use.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Media player: turn off speakers when turning off TV'",
|
|
"result": {
|
|
"structured": "TRIGGER: When tv [media_player.tv] turns off. CONDITIONS: kef ls50 [media_player.kef_ls50] is on. ACTIONS: First, update the state of kef ls50 [media_player.kef_ls50]. Then, if kef ls50 [media_player.kef_ls50] has its source attribute set to \"HDMI ARC\" OR \"Optical Input 1\", turn off kef ls50 [media_player.kef_ls50].",
|
|
"natural_language": {
|
|
"trigger": "When the TV [media_player.tv] is turned off.",
|
|
"conditions": "The KEF LS50 speakers [media_player.kef_ls50] must be currently on.",
|
|
"action": "First, the automation refreshes the state of the KEF LS50 speakers [media_player.kef_ls50]. Then, it checks if the speakers are set to either the \"HDMI ARC\" or \"Optical Input 1\" source. If they are, it turns the speakers off."
|
|
},
|
|
"human_like": "Automatically turns off the KEF LS50 speakers when the TV is turned off, but only if the speakers are on and using a TV-related audio source.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Media player: if speakers off and TV on, turn on the speaker on TV state",
|
|
"result": {
|
|
"structured": "TRIGGER: When tv [media_player.tv] changes state. CONDITIONS: kef ls50 [media_player.kef_ls50] is off AND tv [media_player.tv] is on AND (tv [media_player.tv] state changed OR tv [media_player.tv] volume_level attribute changed OR tv [media_player.tv] source attribute changed). ACTIONS: Turn on kef ls50 [media_player.kef_ls50] AND set kef ls50 [media_player.kef_ls50] source to Optical Input 1.",
|
|
"natural_language": {
|
|
"trigger": "Any change in the state of the TV [media_player.tv].",
|
|
"conditions": "The KEF LS50 speakers [media_player.kef_ls50] must be off, the TV [media_player.tv] must be on, and the TV's state, volume level, or source input must have actually changed.",
|
|
"action": "Turn on the KEF LS50 speakers [media_player.kef_ls50] and set their audio source to 'Optical Input 1'."
|
|
},
|
|
"human_like": "Automatically turns on the KEF speakers and switches them to the correct input when the TV is turned on or its settings change.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Media player: update Spotify entity when TV is on every 5 seconds'",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 seconds. CONDITIONS: spotify [media_player.spotify] is playing AND tv [media_player.tv] is on. ACTIONS: Update the state of spotify [media_player.spotify].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every 5 seconds.",
|
|
"conditions": "Both the spotify [media_player.spotify] must be in the 'playing' state and the tv [media_player.tv] must be turned on.",
|
|
"action": "It refreshes the state of the spotify [media_player.spotify] entity."
|
|
},
|
|
"human_like": "Keeps the Spotify player information up-to-date every few seconds while music is playing and the TV is on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Media player: sync KEF LS50 and TV volume'",
|
|
"result": {
|
|
"structured": "TRIGGER: When tv [media_player.tv] volume_level changes OR When kef ls50 [media_player.kef_ls50] volume_level changes. CONDITIONS: (The triggering entity's state is not 'off') AND (kef ls50 [media_player.kef_ls50] source is either 'Optical Input 1', 'HDMI ARC', or 'Usb'). ACTIONS: Repeat the following sequence: Set the volume of the other media player (tv [media_player.tv] if the trigger was from kef ls50 [media_player.kef_ls50], otherwise kef ls50 [media_player.kef_ls50]) to match the volume level of the triggering entity, then wait 200 milliseconds. Repeat until either the volume levels of tv [media_player.tv] and kef ls50 [media_player.kef_ls50] are equal OR at least one of tv [media_player.tv] or kef ls50 [media_player.kef_ls50] is not in the 'on' state.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the volume level attribute changes on either the tv [media_player.tv] or the kef ls50 [media_player.kef_ls50].",
|
|
"conditions": "The media player that triggered the automation must not be in the 'off' state, and the kef ls50 [media_player.kef_ls50] must be set to one of the specific audio sources: 'Optical Input 1', 'HDMI ARC', or 'Usb'.",
|
|
"action": "The automation will repeatedly set the volume of the other speaker to match the volume of the one that just changed, with a short 200-millisecond delay between each attempt. It will keep trying until the volume levels of both the tv and the KEF speaker are synchronized, or until at least one of them is turned off."
|
|
},
|
|
"human_like": "Keeps the volume levels of the TV and KEF LS50 speakers in sync when the KEF is using a specific audio source, automatically adjusting one when the other is changed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Media player: automatically turn off TV and Xbox after two hours of inactivity'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Motion Sensor Living Room Klok [binary_sensor.motion_sensor_living_room_klok] remains in the 'off' state (no motion detected) for 2 hours. CONDITIONS: None. ACTIONS: Turn off living room xbox [media_player.living_room_xbox] AND turn off tv [media_player.tv].",
|
|
"natural_language": {
|
|
"trigger": "When the Motion Sensor Living Room Klok [binary_sensor.motion_sensor_living_room_klok] detects no motion for a continuous period of two hours.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turn off the living room Xbox [media_player.living_room_xbox] and the TV [media_player.tv]."
|
|
},
|
|
"human_like": "Automatically turns off the living room TV and Xbox if no motion is detected in the room for two hours.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Media player: Turn On Living Room TV with WakeOnLan'",
|
|
"result": {
|
|
"structured": "TRIGGER: When tv [media_player.tv] receives a turn_on command via webostv.turn_on. CONDITIONS: None. ACTIONS: Send a Wake-on-LAN magic packet to the MAC address defined by the secret 'tv_mac_address'.",
|
|
"natural_language": {
|
|
"trigger": "When the tv [media_player.tv] is commanded to turn on via the webostv.turn_on service.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a Wake-on-LAN magic packet to the network address of the TV to power it on."
|
|
},
|
|
"human_like": "Turns on the living room TV by sending a network wake-up signal when a turn-on command is issued.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Music: start playlist'",
|
|
"result": {
|
|
"structured": "TRIGGER: When start the music [input_boolean.start_the_music] changes from off to on. CONDITIONS: None. ACTIONS: Turn off start the music [input_boolean.start_the_music] AND start script start_spotify_playlist_of_nearest_person with data source: KEF LS50 and entity_id: kef ls50 [media_player.kef_ls50].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean 'start the music' [input_boolean.start_the_music] is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "First, it turns the 'start the music' [input_boolean.start_the_music] back off. Then, it starts a script named 'start_spotify_playlist_of_nearest_person', which will play a Spotify playlist on the KEF LS50 speaker [media_player.kef_ls50]."
|
|
},
|
|
"human_like": "Starts a personalized Spotify playlist on the living room speaker when you press the 'start the music' button.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Music: switch music from iPhone to speakers if coming home'",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door sensor [binary_sensor.openclose_front_door] changes from closed (off) to open (on). CONDITIONS: marcella person [person.marcella] is not_home AND guest mode [input_boolean.guest_mode] is off AND spotify [media_player.spotify] source is 'basnijholt-iphone' AND spotify [media_player.spotify] state is 'playing' AND (current time minus bas person [person.bas] last_changed timestamp) is less than 5 minutes AND home nearest distance [sensor.home_nearest_distance] is below 2. ACTIONS: Turn on kef ls50 [media_player.kef_ls50] AND set source of kef ls50 [media_player.kef_ls50] to 'Wifi' AND set source of spotify [media_player.spotify] to 'KEF LS50'.",
|
|
"natural_language": {
|
|
"trigger": "When the front door sensor [binary_sensor.openclose_front_door] opens.",
|
|
"conditions": "Marcella person [person.marcella] is not home, guest mode [input_boolean.guest_mode] is turned off, Spotify [media_player.spotify] is currently playing music from the source 'basnijholt-iphone', the bas person [person.bas] was last updated less than five minutes ago, and the home nearest distance [sensor.home_nearest_distance] is less than two units.",
|
|
"action": "Turn on the KEF LS50 speakers [media_player.kef_ls50], switch their source to 'Wifi', and change the Spotify [media_player.spotify] source to 'KEF LS50' to transfer the audio playback."
|
|
},
|
|
"human_like": "When Bas arrives home and the front door opens, this automation switches the music playing from his iPhone to the living room speakers, provided Marcella is away and guest mode is off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Notifications: Marcella leaving work'",
|
|
"result": {
|
|
"structured": "TRIGGER: When marcella iphone se2 [device_tracker.marcella_iphone_se2] changes state to 'Work Marcella Kirkland'. CONDITIONS: None. ACTIONS: Send a notification to iphone_bas with title 'Leaving' and message 'Marcella left work'.",
|
|
"natural_language": {
|
|
"trigger": "When the location of the device marcella iphone se2 [device_tracker.marcella_iphone_se2] changes to 'Work Marcella Kirkland'.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a notification to the target 'iphone_bas' with the title 'Leaving' and the message 'Marcella left work'."
|
|
},
|
|
"human_like": "Sends a notification when Marcella leaves her workplace.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Notifications: front door has opened'",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door sensor [binary_sensor.openclose_front_door] opens (changes to on). CONDITIONS: front door open warning [input_boolean.front_door_open_warning] is on. ACTIONS: Send a notification titled 'Security' with message 'Front door opened!' to mobile_app_basnijholt_iphone_13 AND send a notification titled 'Security' with message 'Front door opened!' to iphone_bas AND turn off front door open warning [input_boolean.front_door_open_warning].",
|
|
"natural_language": {
|
|
"trigger": "When the front door sensor [binary_sensor.openclose_front_door] detects that the door has opened.",
|
|
"conditions": "The automation only runs if the front door open warning [input_boolean.front_door_open_warning] is currently switched on.",
|
|
"action": "Sends a security notification to two mobile devices, 'mobile_app_basnijholt_iphone_13' and 'iphone_bas', stating that the front door has opened, and then turns off the front door open warning [input_boolean.front_door_open_warning]."
|
|
},
|
|
"human_like": "Sends a security alert to your phone when the front door opens, provided the warning system is active, and then disables the warning.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Notifications: Daily New Word Notification'",
|
|
"result": {
|
|
"structured": "TRIGGER: At 07:30:00 daily. CONDITIONS: None. ACTIONS: Send a notification titled 'Daily new word' to Marcella iPhone 14 Pro [notify.mobile_app_marcella_iphone_14_pro] containing a randomly selected word from a predefined list. Then wait for up to 1 hour for a notification action event with action 'AGREE_WORD'. If the action is received within the timeout, send a follow-up notification to Marcella iPhone 14 Pro [notify.mobile_app_marcella_iphone_14_pro] with the message 'We all love you! ❤️😘🥰💖💕🌷🌼🌈✨🎉🍀'. If the timeout is reached without receiving the action, stop the automation.",
|
|
"natural_language": {
|
|
"trigger": "Every day at 7:30 AM.",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Sends a notification to Marcella's iPhone with the title 'Daily new word' and a message containing a random word from a list of common words. The notification includes an interactive button labeled 'Great word!'. The automation then waits for up to one hour for Marcella to press that button. If she presses it within the hour, a second notification is sent saying 'We all love you! ❤️😘🥰💖💕🌷🌼🌈✨🎉🍀'. If the hour passes without the button being pressed, the automation stops and does not send the follow-up message."
|
|
},
|
|
"human_like": "Sends a daily word notification and a loving follow-up message if the user interacts with it.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Plant: problem with Calathea'",
|
|
"result": {
|
|
"structured": "TRIGGER: When calathea plant [plant.calathea] changes to problem state OR at 20:00. CONDITIONS: calathea plant [plant.calathea] is in problem state. ACTIONS: Send notification to notify.all_iphones with title 'Plant in trouble! ⚠️☢️☠️' and message containing the plant's problem attribute.",
|
|
"natural_language": {
|
|
"trigger": "Either when the calathea plant [plant.calathea] enters a problem state, or at 8:00 PM daily.",
|
|
"conditions": "The calathea plant [plant.calathea] must currently be in a problem state.",
|
|
"action": "Sends a notification to all iPhones with a warning title and a message detailing the specific problem reported by the plant sensor."
|
|
},
|
|
"human_like": "Sends a phone notification if the Calathea plant has a problem, or as a daily reminder at 8 PM to check on it.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Plant: problem with Monstera'",
|
|
"result": {
|
|
"structured": "TRIGGER: When monstera plant [plant.monstera] changes to problem state OR at 20:00. CONDITIONS: monstera plant [plant.monstera] is in problem state. ACTIONS: Send notification to notify.all_iphones with title 'Plant in trouble! ⚠️☢️☠️' and message 'You need to give the Monstera 🌴 attention and love: {{ state_attr(\"plant.monstera\", \"problem\") }}!'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when the monstera plant [plant.monstera] enters a problem state, or at 8:00 PM every day.",
|
|
"conditions": "The monstera plant [plant.monstera] must currently be in a problem state.",
|
|
"action": "Sends a notification to all iPhones with a title 'Plant in trouble! ⚠️☢️☠️' and a message indicating that the Monstera needs attention, including the specific problem attribute from the plant entity."
|
|
},
|
|
"human_like": "Sends a notification about the Monstera plant when it has a problem, or as a daily reminder at 8 PM if the problem persists.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Plant: problem with Peace lily'",
|
|
"result": {
|
|
"structured": "TRIGGER: When peace lily plant [plant.peace_lily] changes state to 'problem' OR at 20:00. CONDITIONS: peace lily plant [plant.peace_lily] is in state 'problem'. ACTIONS: Send a notification to notify.all_iphones with title 'Plant in trouble! ⚠️☢️☠️' and a message stating the plant's problem attribute.",
|
|
"natural_language": {
|
|
"trigger": "This automation runs either when the peace lily plant [plant.peace_lily] enters a 'problem' state, or at 8:00 PM every day.",
|
|
"conditions": "The automation only proceeds if the peace lily plant [plant.peace_lily] is currently in the 'problem' state.",
|
|
"action": "Sends a push notification to all iPhones with an alert title and a message that includes the specific problem reported by the plant sensor."
|
|
},
|
|
"human_like": "Sends a phone alert at 8 PM if the Peace Lily plant is having a problem, so you can take care of it.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Security: motion detected but we are not home'",
|
|
"result": {
|
|
"structured": "TRIGGER: When motion detected [binary_sensor.motion_detected] changes from off to on. CONDITIONS: Persons Group [group.persons] is not_home AND vacuum valetudo [vacuum.valetudo_vacuum] is docked. ACTIONS: Send a notification to all iPhones with message 'Security: motion is detected, but we are not home.' and an actionable button 'Sound alarm'. Wait for 1 hour for a mobile app notification action with action SOUND_ALARM. If the action is received within the timeout, turn on all lights [all] with a long red flash. If the timeout expires without the action, do not proceed.",
|
|
"natural_language": {
|
|
"trigger": "When the motion detected [binary_sensor.motion_detected] sensor changes from detecting no motion to detecting motion.",
|
|
"conditions": "If the Persons Group [group.persons] shows that everyone is not at home, and the vacuum valetudo [vacuum.valetudo_vacuum] is currently docked.",
|
|
"action": "Sends a security alert notification to all iPhones with a message and a button to sound an alarm. The automation then waits for up to one hour for someone to press the 'Sound alarm' button in the notification. If the button is pressed within that hour, it triggers all lights [all] to flash red for a long duration. If no one presses the button within the hour, the automation stops and does not flash the lights."
|
|
},
|
|
"human_like": "Sends a security alert and flashes red lights if motion is detected while no one is home, but only after a user confirms the alarm via their phone.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Security: front door has been open for more than 5 minutes'",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door sensor [binary_sensor.openclose_front_door] changes from closed (off) to open (on) AND remains open for 5 minutes. CONDITIONS: None. ACTIONS: Send a notification to All entities group [all] with title 'Security' and message 'The front door has been open for more than 5 minutes.'.",
|
|
"natural_language": {
|
|
"trigger": "When the front door sensor [binary_sensor.openclose_front_door] opens and stays open for more than five minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a security notification to all iPhones in the All entities group [all], alerting that the front door has been open for over five minutes."
|
|
},
|
|
"human_like": "Sends a security alert to all phones if the front door is left open for more than five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Security: utility room door has been open for more than 5 minutes'",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door sensor [binary_sensor.openclose_front_door] changes from closed (off) to open (on) AND remains open for 5 minutes. CONDITIONS: None. ACTIONS: Send a notification to all iPhones with title 'Security' and message 'The utility room door has been open for more than 5 minutes.'.",
|
|
"natural_language": {
|
|
"trigger": "When the front door sensor [binary_sensor.openclose_front_door] opens and stays open for five minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Sends a security notification to all iPhones, alerting that the utility room door has been open for more than five minutes."
|
|
},
|
|
"human_like": "Sends a security alert to phones if the utility room door is left open for more than five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Security: no one is home but high power usage'",
|
|
"result": {
|
|
"structured": "TRIGGER: When no one home [binary_sensor.no_one_home] changes to on OR every 10 minutes (time pattern). CONDITIONS: no one home [binary_sensor.no_one_home] is on AND power consumption [sensor.power_consumption] is above 0.7. ACTIONS: Send a notification to notify.all_iphones with title 'Security' and message indicating high energy usage.",
|
|
"natural_language": {
|
|
"trigger": "When the system detects that no one is home, or every 10 minutes on a repeating schedule.",
|
|
"conditions": "If the system confirms that no one is home, and the current power consumption is above 0.7 kW.",
|
|
"action": "Sends a security notification to all iPhones, alerting about high energy usage while the house is empty."
|
|
},
|
|
"human_like": "Sends a security alert to phones if high power usage is detected while the house is empty.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Security: bathroom door has opened'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Bathroom Open/Close [binary_sensor.openclose_bathroom] becomes open (on). CONDITIONS: bathroom door open warning [input_boolean.bathroom_door_open_warning] is on. ACTIONS: Send notification via notify.bas with title 'Security' and message 'Office door opened!'. Send notification via notify.iphone_bas with title 'Security' and message 'Office door opened!'. Turn on philips go [light.philips_go] and Desk LED [light.desk_led] with a short flash. Turn off bathroom door open warning [input_boolean.bathroom_door_open_warning].",
|
|
"natural_language": {
|
|
"trigger": "When the Bathroom Open/Close sensor [binary_sensor.openclose_bathroom] detects that the door has opened.",
|
|
"conditions": "The automation only runs if the bathroom door open warning [input_boolean.bathroom_door_open_warning] is currently switched on.",
|
|
"action": "Sends a security notification titled 'Security' with the message 'Office door opened!' to two notification services (notify.bas and notify.iphone_bas). It also briefly flashes the philips go [light.philips_go] and Desk LED [light.desk_led] lights, and then turns off the bathroom door open warning [input_boolean.bathroom_door_open_warning]."
|
|
},
|
|
"human_like": "Sends a security alert and flashes lights when the bathroom door opens while the door warning is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Security: activity in master bedroom'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity in master bedroom [binary_sensor.activity_in_master_bedroom] becomes active (on). CONDITIONS: bedroom activity warning [input_boolean.bedroom_activity_warning] is on. ACTIONS: Send a notification titled 'Security' with message 'Activity bedroom!' via notify.bas, send a notification titled 'Security' with message 'Activity bedroom!' via notify.iphone_bas, turn on Desk LED [light.desk_led] with a short flash, and turn off bedroom activity warning [input_boolean.bedroom_activity_warning].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor detects activity in the master bedroom [binary_sensor.activity_in_master_bedroom].",
|
|
"conditions": "Only if the bedroom activity warning [input_boolean.bedroom_activity_warning] is currently enabled (on).",
|
|
"action": "Sends a security notification to two notification services (notify.bas and notify.iphone_bas) with the message 'Activity bedroom!', flashes the Desk LED [light.desk_led] briefly, and then disables the bedroom activity warning [input_boolean.bedroom_activity_warning]."
|
|
},
|
|
"human_like": "Sends security alerts and flashes a light when activity is detected in the master bedroom, provided the warning system is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Security: Door to outside open'",
|
|
"result": {
|
|
"structured": "TRIGGER: When door to outside open [binary_sensor.door_to_outside_open] becomes open (on) AND remains open for 15 seconds. CONDITIONS: None. ACTIONS: WHILE door to outside open [binary_sensor.door_to_outside_open] remains open (on), REPEAT the following sequence: 1. Turn off utility room light [light.utility_room], outside front door light [light.outside_front_door], garage outside light [light.garage_outside], and Bedroom Outside Light [light.bedroom_outside]. 2. Wait 1 second. 3. Turn on utility room light [light.utility_room], outside front door light [light.outside_front_door], garage outside light [light.garage_outside], and Bedroom Outside Light [light.bedroom_outside] at 100% brightness. 4. Wait 1 second.",
|
|
"natural_language": {
|
|
"trigger": "When the door to outside open [binary_sensor.door_to_outside_open] is opened and stays open for 15 seconds.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "While the door to outside open [binary_sensor.door_to_outside_open] remains open, the automation repeatedly flashes a set of outside lights. It first turns off the utility room light [light.utility_room], outside front door light [light.outside_front_door], garage outside light [light.garage_outside], and Bedroom Outside Light [light.bedroom_outside]. After a one-second pause, it turns all these lights back on at full brightness. This on/off cycle repeats every two seconds as long as the door is open."
|
|
},
|
|
"human_like": "Flashes the outside lights repeatedly when the door to the outside is left open, acting as a security alert.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Night mode: automatically turn off when alarm turns off or at 7AM'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 07:00 OR When alarm clock [input_boolean.alarm_clock] changes from on to off. CONDITIONS: alarm clock [input_boolean.alarm_clock] is off. ACTIONS: Set sleep mode selector [input_select.sleep_mode] to option 'half'.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs either at 7:00 AM or when the alarm clock [input_boolean.alarm_clock] is turned off.",
|
|
"conditions": "The automation only proceeds if the alarm clock [input_boolean.alarm_clock] is currently in the off state.",
|
|
"action": "Changes the sleep mode selector [input_select.sleep_mode] to the 'half' setting."
|
|
},
|
|
"human_like": "This automation ends night mode at 7 AM or when the alarm is turned off, setting the sleep mode to 'half'.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Night mode: automatically turn off sleeping mode at 11AM'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 11:00. CONDITIONS: None. ACTIONS: Set sleep mode selector [input_select.sleep_mode] to 'off'.",
|
|
"natural_language": {
|
|
"trigger": "At 11:00 AM.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Changes the sleep mode selector [input_select.sleep_mode] to the 'off' option."
|
|
},
|
|
"human_like": "Automatically turns off the sleep mode at 11 AM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Night mode: turn off automatic bedroom lights'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sleep mode selector [input_select.sleep_mode] changes from state 'off'. CONDITIONS: None. ACTIONS: Turn off automatic bedroom lights [input_boolean.automatic_bedroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the sleep mode selector [input_select.sleep_mode] changes its state from 'off' to any other value.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the automatic bedroom lights [input_boolean.automatic_bedroom_lights]."
|
|
},
|
|
"human_like": "Disables automatic bedroom lights when sleep mode is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Night mode: set low temperature when sleep mode turns on'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sleep mode selector [input_select.sleep_mode] changes state from 'off'. CONDITIONS: None. ACTIONS: Execute the script 'set_low_temperature'.",
|
|
"natural_language": {
|
|
"trigger": "When the sleep mode selector [input_select.sleep_mode] is changed from the 'off' state.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Runs the script named 'set_low_temperature'."
|
|
},
|
|
"human_like": "Activates a low temperature setting when sleep mode is turned on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Night mode: go from half to total sleeping mode'",
|
|
"result": {
|
|
"structured": "TRIGGER: When activity outside bedroom [binary_sensor.activity_outside_bedroom] remains off for 1 hour. CONDITIONS: sleep mode selector [input_select.sleep_mode] is half. ACTIONS: Set sleep mode selector [input_select.sleep_mode] to total AND send a notification to iphone_bas with title 'Night mode' and message 'Automatically switched from 'half' to 'total' sleeping mode! 💤🛌'.",
|
|
"natural_language": {
|
|
"trigger": "When the activity outside bedroom [binary_sensor.activity_outside_bedroom] sensor reports no activity for a continuous period of one hour.",
|
|
"conditions": "The sleep mode selector [input_select.sleep_mode] must be set to 'half'.",
|
|
"action": "Changes the sleep mode to 'total' by updating the sleep mode selector [input_select.sleep_mode] and sends a notification titled 'Night mode' to iphone_bas, confirming the automatic switch."
|
|
},
|
|
"human_like": "Automatically switches the house to total sleeping mode when no activity is detected outside the bedroom for an hour and the system is already in half sleeping mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Night mode: set sleeping mode in the living room'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sleep mode selector [input_select.sleep_mode] changes to total. CONDITIONS: None. ACTIONS: Choose based on condition: IF Activity in Living Room [binary_sensor.activity_in_living_room] is on THEN wait for Activity in Living Room [binary_sensor.activity_in_living_room] to change from on to off, with a timeout of 6 hours (if timeout occurs, stop). After waiting, check if sleep mode selector [input_select.sleep_mode] is still total. If true, turn on adaptive lighting sleep mode living room [switch.adaptive_lighting_sleep_mode_living_room]. ELSE IF Activity in Living Room [binary_sensor.activity_in_living_room] is off THEN turn on adaptive lighting sleep mode living room [switch.adaptive_lighting_sleep_mode_living_room].",
|
|
"natural_language": {
|
|
"trigger": "When the sleep mode selector [input_select.sleep_mode] is set to 'total'.",
|
|
"conditions": "There are no global conditions. The automation uses a conditional action block (choose) to decide what to do based on the current state of the Activity in Living Room [binary_sensor.activity_in_living_room] sensor.",
|
|
"action": "If the living room is currently active, the automation waits for it to become inactive, but only for up to 6 hours. If the room becomes inactive and the sleep mode is still set to 'total', it turns on the adaptive lighting sleep mode for the living room. If the living room is already inactive when the automation is triggered, it immediately turns on the adaptive lighting sleep mode."
|
|
},
|
|
"human_like": "Activates sleep lighting in the living room when 'total' sleep mode is selected, waiting for the room to be empty first if it's currently occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'System: warning about high CPU usage'",
|
|
"result": {
|
|
"structured": "TRIGGER: When processor use [sensor.processor_use] remains above 70% for 4 hours. CONDITIONS: None. ACTIONS: Send a notification to iphone_bas with title 'System' and message 'CPU usage has been above 70% for 4 hours! ⚠️🖥'.",
|
|
"natural_language": {
|
|
"trigger": "When the processor use [sensor.processor_use] sensor reports a value above 70% for a continuous period of 4 hours.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a notification to the device 'iphone_bas' with the title 'System' and a warning message about the high CPU usage."
|
|
},
|
|
"human_like": "Sends a phone warning if the system's CPU usage stays high for four hours.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'System: warning about high CPU temperature'",
|
|
"result": {
|
|
"structured": "TRIGGER: When cpu temperature [sensor.cpu_temperature] remains above 70 °C for 4 hours. CONDITIONS: None. ACTIONS: Send a notification to iphone_bas with title 'System' and message 'CPU temperature has been above 70 °C for 4 hours! ⚠️'.",
|
|
"natural_language": {
|
|
"trigger": "When the cpu temperature [sensor.cpu_temperature] sensor reports a value above 70 degrees Celsius for a continuous period of four hours.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a push notification to the user's iPhone (iphone_bas) with the title 'System' and a warning message stating the CPU temperature has been high for four hours."
|
|
},
|
|
"human_like": "Sends a phone warning if the system's CPU temperature stays too high for four hours.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'System: warning about high Xbox temperature'",
|
|
"result": {
|
|
"structured": "TRIGGER: When temperature xbox [sensor.temperature_xbox] exceeds 50. CONDITIONS: None. ACTIONS: Send a notification to iphone_bas with title 'System' and message 'Temperature in the Xbox cabinet is {{ states(\"sensor.temperature_xbox\") }} °C! ⚠️'. AND IF media_player.tv [media_player.tv] is on, send a notification to tv with message 'Temperature in the Xbox cabinet is {{ states(\"sensor.temperature_xbox\") }} °C! ⚠️'.",
|
|
"natural_language": {
|
|
"trigger": "When the temperature xbox [sensor.temperature_xbox] sensor reports a value above 50 degrees Celsius.",
|
|
"conditions": "There are no conditions that must be checked before performing the actions.",
|
|
"action": "Sends a warning notification to the user's iPhone (iphone_bas) with the current temperature. Additionally, if the tv [media_player.tv] is currently turned on, it also sends a notification to the TV with the same warning message."
|
|
},
|
|
"human_like": "Sends a warning to your phone and TV if the Xbox cabinet gets too hot.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'System: update DNS'",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 15 minutes (at minutes 0, 15, 30, 45). CONDITIONS: None. ACTIONS: Execute script.update_dns.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every 15 minutes, on the hour, quarter past, half past, and quarter to.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Runs the script named 'update_dns' [script.update_dns]."
|
|
},
|
|
"human_like": "Updates the DNS records for a domain at Gandi every 15 minutes to point to the Home Assistant instance.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'System: run chores'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every 15 minutes (minutes: /15). CONDITIONS: None. ACTIONS: Execute the shell command chores [shell_command.chores].",
|
|
"natural_language": {
|
|
"trigger": "Every 15 minutes, on the minute.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Runs the shell command chores [shell_command.chores]."
|
|
},
|
|
"human_like": "Runs a set of maintenance scripts every 15 minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'System: MQTT sensors are not updating'",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 minutes (time pattern). CONDITIONS: The last update time of power consumption [sensor.power_consumption] is more than 20 minutes ago. ACTIONS: Send a notification to iphone_bas with title 'System' and message 'Not receiving MQTT updates, maybe reboot the other HA instance! ⚠️', then wait for 3 hours.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every 5 minutes.",
|
|
"conditions": "It checks if the power consumption [sensor.power_consumption] sensor has not been updated for more than 20 minutes.",
|
|
"action": "Sends a notification titled 'System' to iphone_bas warning about not receiving MQTT updates and suggesting a reboot of the other Home Assistant instance, then pauses for 3 hours before potentially running again."
|
|
},
|
|
"human_like": "Sends an alert if MQTT data from the other Home Assistant instance stops updating for over 20 minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'System: battery level low'",
|
|
"result": {
|
|
"structured": "TRIGGER: Daily at 14:30:00. CONDITIONS: For each sensor with 'battery_level' in its entity_id, the sensor's entity_id does NOT contain the strings 'iphone' OR 'ipad' AND the sensor's numeric state is greater than 0 AND less than the variable min_battery_level (50). ACTIONS: For each qualifying sensor, send a notification to notify.iphone_bas with a title 'System' and a message indicating the low battery level.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every day at 2:30 PM.",
|
|
"conditions": "For each battery level sensor found in the system, the automation checks that the sensor's name does not contain 'iphone' or 'ipad', and that its reported battery level is above 0% but below the defined minimum threshold of 50%.",
|
|
"action": "For every sensor that meets the conditions, a notification is sent to a specific device (notify.iphone_bas) with a warning message stating which device has a low battery and its current percentage."
|
|
},
|
|
"human_like": "Sends a daily alert in the afternoon for any non-Apple device batteries that are below 50%.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Test: listen to Adaptive Lighting events'",
|
|
"result": {
|
|
"structured": "TRIGGER: When any light turn_on service is called OR when any entity state changes. CONDITIONS: The event context ID starts with 'adapt_lgt'. ACTIONS: Write a debug log entry with the message: '[entity_id] is changed by AL: [event_data]'.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered whenever a light is turned on via a service call, or whenever the state of any entity changes.",
|
|
"conditions": "The automation only proceeds if the unique identifier of the triggering event begins with the string 'adapt_lgt'.",
|
|
"action": "It logs a debug message to the system log, recording which entity was involved and the data from the event, indicating it was changed by Adaptive Lighting."
|
|
},
|
|
"human_like": "Logs debug messages for any changes made by the Adaptive Lighting system.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Test: time'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Time [sensor.time] changes state. CONDITIONS: None. ACTIONS: Set variable t_start to the current timestamp, then log a debug message containing the elapsed time since t_start.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Time [sensor.time] sensor changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "First, it records the current timestamp as a variable named t_start. Then, it writes a debug log message that calculates and reports the number of seconds that have elapsed since t_start was recorded."
|
|
},
|
|
"human_like": "Logs how long it takes to process a change in the system time sensor.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Test: flash lights'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Time [sensor.time] changes state. CONDITIONS: None. ACTIONS: For each light in the predefined list (light.bed_led, light.philips_go, light.bed_reading_up, light.hall_3, light.toilet, light.ceiling_kitchen, light.bamboo, light.lampan, light.sphere_2, light.sphere_1, light.hall_2, light.bed_reading_down, light.corner_living_room, light.tv_led, light.stairs_up, light.stairs_down, light.ceiling_bedroom, light.ceiling_living_room, light.hall_1, light.bed_reading), turn it on, wait 1 second, then turn it off.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Time [sensor.time] sensor updates.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation will sequentially flash each light in a predefined list. For every light, it turns the light on, waits for one second, and then turns it off. This process repeats for all lights in the list, one after the other."
|
|
},
|
|
"human_like": "This automation tests all the lights by making them flash on and off in sequence whenever the time updates.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Test: call update_entity after light.turn_on/turn_off'",
|
|
"result": {
|
|
"structured": "TRIGGER: When any light.turn_on service is called OR when any light.turn_off service is called. CONDITIONS: None. ACTIONS: Wait for 1 second, then call the update_entity service for the entity that was the target of the service call.",
|
|
"natural_language": {
|
|
"trigger": "Whenever a service call is made to turn on any light, or whenever a service call is made to turn off any light.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "After a one-second delay, the automation will request an immediate update of the state for the specific light entity that was targeted by the service call."
|
|
},
|
|
"human_like": "This automation refreshes the state of a light one second after it is turned on or off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Test: Light Baby Room Loop'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: Test Light Baby Room Loop Automation [automation.test_light_baby_room_loop] is on. ACTIONS: Turn on Baby Room Light [light.baby_room], wait 10 seconds, turn off Baby Room Light [light.baby_room], wait 10 seconds, then trigger the Test Light Baby Room Loop Automation [automation.test_light_baby_room_loop] again.",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant first starts up.",
|
|
"conditions": "The automation itself, Test Light Baby Room Loop Automation [automation.test_light_baby_room_loop], must be in the 'on' state.",
|
|
"action": "Turns on the Baby Room Light [light.baby_room], waits for 10 seconds, turns the light off, waits for another 10 seconds, and then triggers this same automation to run again, creating a repeating loop."
|
|
},
|
|
"human_like": "Creates a repeating 20-second on/off cycle for the baby room light when Home Assistant starts, as long as the automation is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Utilities: washing machine or dishwasher started or finished'",
|
|
"result": {
|
|
"structured": "TRIGGER: When dishwasher [binary_sensor.dishwasher] changes state OR When washing machine [binary_sensor.washing_machine] changes state. CONDITIONS: (The new state (to_state) is 'on' AND the previous state (from_state) is 'off') OR (The new state (to_state) is 'off' AND the previous state (from_state) is 'on'). ACTIONS: Set the datetime for input_datetime.{{ name }}_{{ to_state }} to the current timestamp.",
|
|
"natural_language": {
|
|
"trigger": "When the state of the dishwasher [binary_sensor.dishwasher] or the washing machine [binary_sensor.washing_machine] changes.",
|
|
"conditions": "The change must be a transition from off to on, or from on to off.",
|
|
"action": "Records the time of the change by setting a corresponding datetime input (e.g., input_datetime.dishwasher_on or input_datetime.washing_machine_off) to the current timestamp."
|
|
},
|
|
"human_like": "Records the start and finish times of the dishwasher or washing machine by noting when they turn on or off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Utilities: washing machine notification'",
|
|
"result": {
|
|
"structured": "TRIGGER: When washing machine [binary_sensor.washing_machine] changes from off to on. CONDITIONS: None. ACTIONS: Run script utility_notification with data: name = washing_machine, emojis = 👚👕.",
|
|
"natural_language": {
|
|
"trigger": "When the washing machine [binary_sensor.washing_machine] turns on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends a notification by running the script 'utility_notification', specifying the name as 'washing_machine' and including laundry emojis."
|
|
},
|
|
"human_like": "Sends a notification when the washing machine starts a cycle.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Utilities: dishwasher notification'",
|
|
"result": {
|
|
"structured": "TRIGGER: When dishwasher [binary_sensor.dishwasher] changes from off to on. CONDITIONS: None. ACTIONS: Run script utility_notification with data: name=dishwasher, emojis=🍽🍳.",
|
|
"natural_language": {
|
|
"trigger": "When the dishwasher [binary_sensor.dishwasher] starts running, indicated by its state changing from off to on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a notification by running the 'utility_notification' script, specifying the appliance name as 'dishwasher' and including dish and cooking emojis."
|
|
},
|
|
"human_like": "Sends a notification when the dishwasher starts running.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Vacation mode: auto turn on'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Persons Group [group.persons] changes from home to not_home AND remains not_home for 24 hours. CONDITIONS: guest mode [input_boolean.guest_mode] is off. ACTIONS: Turn on vacation mode [input_boolean.vacation_mode] AND send a notification titled 'Vacation mode' with message 'No one at home for 24 hours, switching on vacation mode.' to notify.all_iphones.",
|
|
"natural_language": {
|
|
"trigger": "When the Persons Group [group.persons] indicates that everyone has left home and has remained away for a full 24 hours.",
|
|
"conditions": "The automation only runs if the guest mode [input_boolean.guest_mode] is currently turned off.",
|
|
"action": "It turns on the vacation mode [input_boolean.vacation_mode] and sends a notification to all iPhones with the title 'Vacation mode' and the message 'No one at home for 24 hours, switching on vacation mode.'"
|
|
},
|
|
"human_like": "Automatically enables vacation mode and sends a notification if everyone has been away from home for 24 hours and guest mode is not active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Vacation mode: auto turn off'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Persons Group [group.persons] changes from not_home to home. CONDITIONS: vacation mode [input_boolean.vacation_mode] is on AND guest mode [input_boolean.guest_mode] is off. ACTIONS: Turn off vacation mode [input_boolean.vacation_mode] AND send a notification to notify.all_iphones with title 'Vacation mode' and message 'Welcome back! Switching off the vacation mode.'.",
|
|
"natural_language": {
|
|
"trigger": "When the Persons Group [group.persons] changes its state from 'not_home' to 'home'.",
|
|
"conditions": "The vacation mode [input_boolean.vacation_mode] must be turned on, and the guest mode [input_boolean.guest_mode] must be turned off.",
|
|
"action": "Turns off the vacation mode [input_boolean.vacation_mode] and sends a notification to all iPhones with the title 'Vacation mode' and the message 'Welcome back! Switching off the vacation mode.'."
|
|
},
|
|
"human_like": "Automatically turns off vacation mode and sends a welcome back notification when someone returns home, provided guest mode is not active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Vacuum: started cleaning'",
|
|
"result": {
|
|
"structured": "TRIGGER: When vacuum valetudo [vacuum.valetudo_vacuum] changes state from docked to cleaning. CONDITIONS: None. ACTIONS: Send a notification titled 'Robot' with the message 'Robot started to clean!' to all iPhones AND set the date and time of vacuum on time [input_datetime.vacuum_on] to the current time.",
|
|
"natural_language": {
|
|
"trigger": "When the vacuum valetudo [vacuum.valetudo_vacuum] begins cleaning, transitioning from a docked state.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a push notification to all iPhones with the title 'Robot' and the message 'Robot started to clean!', and also records the start time by setting the vacuum on time [input_datetime.vacuum_on] input to the current date and time."
|
|
},
|
|
"human_like": "Sends a notification and records the start time whenever the robot vacuum begins a cleaning cycle.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Vacuum: stopped cleaning'",
|
|
"result": {
|
|
"structured": "TRIGGER: When vacuum valetudo [vacuum.valetudo_vacuum] changes state from returning to docked. CONDITIONS: None. ACTIONS: Turn on cleaned today [input_boolean.cleaned_today] AND set vacuum off time [input_datetime.vacuum_off] to the current datetime AND send a notification to notify.all_iphones with title 'Robot' and message 'Cleanup successful after X minutes' where X is the value of robot vacuum last clean duration [sensor.robot_vacuum_last_clean_duration] in seconds converted to minutes and rounded.",
|
|
"natural_language": {
|
|
"trigger": "When the vacuum valetudo [vacuum.valetudo_vacuum] finishes returning to its dock and changes its state to docked.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It marks that cleaning has been done today by turning on cleaned today [input_boolean.cleaned_today], records the current time in vacuum off time [input_datetime.vacuum_off], and sends a notification to all iPhones stating the cleanup was successful, including the duration of the last cleaning session in minutes."
|
|
},
|
|
"human_like": "Logs a successful vacuum cleaning session and notifies the user when the robot vacuum finishes docking.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Vacuum: reminder notification'",
|
|
"result": {
|
|
"structured": "TRIGGER: At 08:00. CONDITIONS: vacuum day [binary_sensor.vacuum_day] is on. ACTIONS: Send a notification to all_iphones with title 'Robot' and message 'Vacuum will go today, make sure to leave the doors open and leave nothing on the floor!'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers daily at 8:00 AM.",
|
|
"conditions": "The automation only runs if the vacuum day [binary_sensor.vacuum_day] is turned on.",
|
|
"action": "Sends a notification titled 'Robot' to all iPhones, reminding that the vacuum will run today and to leave doors open and floors clear."
|
|
},
|
|
"human_like": "Sends a morning reminder to clear the floors for the robot vacuum on scheduled cleaning days.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Vacuum: cleanup if nobody is home'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 13:00 OR When Persons Group [group.persons] changes from home to not_home. CONDITIONS: The current time is between 13:00:00 and 22:00:00 AND vacuum day [binary_sensor.vacuum_day] is on AND Persons Group [group.persons] is not_home AND cleaned today [input_boolean.cleaned_today] is off AND guest mode [input_boolean.guest_mode] is off AND vacation mode [input_boolean.vacation_mode] is off. ACTIONS: Start vacuuming with vacuum valetudo [vacuum.valetudo_vacuum].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at 1:00 PM daily, or when the Persons Group [group.persons] changes state from home to not_home.",
|
|
"conditions": "All of the following must be true: the current time is between 1:00 PM and 10:00 PM, the vacuum day [binary_sensor.vacuum_day] is on, the Persons Group [group.persons] is not_home, the cleaned today [input_boolean.cleaned_today] flag is off, and both guest mode [input_boolean.guest_mode] and vacation mode [input_boolean.vacation_mode] are off.",
|
|
"action": "Starts the vacuum cleaner, vacuum valetudo [vacuum.valetudo_vacuum]."
|
|
},
|
|
"human_like": "Automatically starts the vacuum cleaner in the afternoon or evening when nobody is home and certain system modes are inactive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Vacuum: reset cleaned today'",
|
|
"result": {
|
|
"structured": "TRIGGER: At midnight (00:00:00). CONDITIONS: None. ACTIONS: Turn off cleaned today [input_boolean.cleaned_today].",
|
|
"natural_language": {
|
|
"trigger": "Every day at midnight.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Resets the 'cleaned today' status by turning off the cleaned today [input_boolean.cleaned_today] input boolean."
|
|
},
|
|
"human_like": "Resets the daily vacuum cleaning status at midnight.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Vacuum: reset to standard mode'",
|
|
"result": {
|
|
"structured": "TRIGGER: When Living Room Vacuum [vacuum.living_room] changes to the docked state. CONDITIONS: None. ACTIONS: Set the fan speed of vacuum valetudo [vacuum.valetudo_vacuum] to Standard.",
|
|
"natural_language": {
|
|
"trigger": "When the Living Room Vacuum [vacuum.living_room] returns to its dock.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sets the fan speed of the vacuum valetudo [vacuum.valetudo_vacuum] to 'Standard'."
|
|
},
|
|
"human_like": "Resets the vacuum's fan speed to the standard setting whenever it finishes cleaning and returns to its dock.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Work: go home notification'",
|
|
"result": {
|
|
"structured": "TRIGGER: When worked enough today [binary_sensor.worked_enough_today] changes from off to on. CONDITIONS: workday sensor [binary_sensor.workday_sensor] is on AND work hour notification sent [input_boolean.work_hour_notification_sent] is off. ACTIONS: Send a notification to iphone_bas with title 'Work' and message 'You have worked 8 hours today, very good! Go home 🎉', then turn on work hour notification sent [input_boolean.work_hour_notification_sent].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor indicating you have worked enough today [binary_sensor.worked_enough_today] turns on.",
|
|
"conditions": "This automation only runs if it is currently a workday, as indicated by the workday sensor [binary_sensor.workday_sensor] being on, and if a notification for this event has not already been sent, as indicated by the work hour notification sent [input_boolean.work_hour_notification_sent] being off.",
|
|
"action": "Sends a notification to your iPhone with a congratulatory message about completing 8 hours of work, and then marks that the notification has been sent by turning on the work hour notification sent [input_boolean.work_hour_notification_sent] switch."
|
|
},
|
|
"human_like": "Sends a celebratory notification to go home when you've worked a full 8-hour day, but only on workdays and if you haven't already been notified.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Work: reset input_boolean at midnight'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is exactly midnight (00:00). CONDITIONS: work hour notification sent [input_boolean.work_hour_notification_sent] is on. ACTIONS: Turn off work hour notification sent [input_boolean.work_hour_notification_sent].",
|
|
"natural_language": {
|
|
"trigger": "At exactly midnight.",
|
|
"conditions": "If the work hour notification sent [input_boolean.work_hour_notification_sent] is currently on.",
|
|
"action": "Resets the notification flag by turning off work hour notification sent [input_boolean.work_hour_notification_sent]."
|
|
},
|
|
"human_like": "Resets the work hour notification flag at midnight.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'Work: Bas left work notification for Marcella'",
|
|
"result": {
|
|
"structured": "TRIGGER: When bas person [person.bas] changes state from Work. CONDITIONS: The current time is between 15:00:00 and 22:00:00. ACTIONS: Send a notification to all_iphones with title 'Work' and message 'Bas has left work! ♥️🎉'.",
|
|
"natural_language": {
|
|
"trigger": "When the person Bas [person.bas] changes their state from being at Work.",
|
|
"conditions": "The automation only runs if the current time is between 3:00 PM and 10:00 PM.",
|
|
"action": "Sends a notification to all iPhones with the title 'Work' and the message 'Bas has left work! ♥️🎉'."
|
|
},
|
|
"human_like": "Notifies Marcella when Bas leaves work in the afternoon or evening.",
|
|
"complexity": "low"
|
|
}
|
|
}
|
|
] |