7672 lines
879 KiB
JSON
7672 lines
879 KiB
JSON
[
|
|
{
|
|
"id": "air_quality_alert_good",
|
|
"result": {
|
|
"structured": "TRIGGER: When air quality state [input_select.air_quality_state] changes to Good. CONDITIONS: None. ACTIONS: Execute script air_quality_alert_set_air_purifier_auto.",
|
|
"natural_language": {
|
|
"trigger": "When the air quality state [input_select.air_quality_state] changes to 'Good'.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "Runs the script named 'air_quality_alert_set_air_purifier_auto'."
|
|
},
|
|
"human_like": "When the air quality is reported as good, it automatically runs a script to set the air purifier to auto mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "air_quality_alert_unhealthy",
|
|
"result": {
|
|
"structured": "TRIGGER: When air quality state [input_select.air_quality_state] changes from Good, Moderate, or Slightly Unhealthy to Unhealthy AND remains in Unhealthy for 5 minutes. CONDITIONS: The time elapsed since the automation air_quality_alert_unhealthy [automation.air_quality_alert_unhealthy] was last triggered is greater than 7200 seconds (2 hours). ACTIONS: Execute voice announcement script [script.voice_announcement] with parameters: target media players (auto), sound (one-chime), priority (high), expires_in (60), and speech message ('Hey Fam, the air quality is looking unhealthy, please keep windows closed and make sure to take precautions'). AND Execute script air_quality_alert_turn_on_air_purifiers [script.air_quality_alert_turn_on_air_purifiers] with parameter speed (25).",
|
|
"natural_language": {
|
|
"trigger": "When the air quality state [input_select.air_quality_state] transitions from being Good, Moderate, or Slightly Unhealthy to Unhealthy, and stays in the Unhealthy state for a continuous period of five minutes.",
|
|
"conditions": "This automation will only run if it has been more than two hours since it was last triggered, preventing frequent repeat alerts.",
|
|
"action": "First, it will make a voice announcement using the voice announcement script [script.voice_announcement], playing a one-chime sound on all configured media players with a high-priority message that says, 'Hey Fam, the air quality is looking unhealthy, please keep windows closed and make sure to take precautions.' The announcement will expire after 60 seconds. Second, it will run the script air_quality_alert_turn_on_air_purifiers [script.air_quality_alert_turn_on_air_purifiers] to turn on air purifiers, setting their speed to 25."
|
|
},
|
|
"human_like": "Sends a voice alert and turns on air purifiers when the air quality becomes unhealthy for a sustained period, but only if a similar alert hasn't been sent in the last two hours.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "air_quality_alert_very_unhealthy",
|
|
"result": {
|
|
"structured": "TRIGGER: When air quality state [input_select.air_quality_state] changes from Good, Moderate, Slightly Unhealthy, or Unhealthy to Very Unhealthy AND remains in Very Unhealthy for 5 minutes. CONDITIONS: The time elapsed since the last trigger of this automation (air_quality_alert_very_unhealthy) is greater than 7200 seconds (2 hours). ACTIONS: Execute voice announcement script [script.voice_announcement] with parameters: media_players=auto, sound=one-chime, priority=high, expires_in=60, speech_message='Hey Fam, the air quality is looking very unhealthy, please keep windows closed and make sure to take precautions.' AND Execute script air_quality_alert_turn_on_air_purifiers with parameter speed=50.",
|
|
"natural_language": {
|
|
"trigger": "When the air quality state [input_select.air_quality_state] transitions from being Good, Moderate, Slightly Unhealthy, or Unhealthy to the Very Unhealthy level and stays at that level for at least five minutes.",
|
|
"conditions": "This automation will only run if it has not been triggered in the last two hours, ensuring alerts are not repeated too frequently.",
|
|
"action": "It will first make a voice announcement using the voice announcement script [script.voice_announcement], playing a chime sound and delivering a message about the poor air quality. Then, it will run another script to turn on air purifiers at a 50% speed setting."
|
|
},
|
|
"human_like": "Announces very unhealthy air quality and turns on air purifiers, but only if the alert hasn't been sent in the last two hours.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "air_quality_alert_hazardous",
|
|
"result": {
|
|
"structured": "TRIGGER: When air quality state [input_select.air_quality_state] changes to 'Hazardous' AND remains in that state for 2 minutes. CONDITIONS: The time elapsed since the last time this automation was triggered (automation.air_quality_alert_hazardous) is greater than 7200 seconds (2 hours). ACTIONS: Execute the voice announcement script [script.voice_announcement] with a critical priority, a 'nuclear' sound, and a message to stay indoors, AND execute the script air_quality_alert_turn_on_air_purifiers with a speed of 100.",
|
|
"natural_language": {
|
|
"trigger": "When the air quality state [input_select.air_quality_state] is set to 'Hazardous' and stays that way for two minutes.",
|
|
"conditions": "This automation will only run if it has been at least two hours since it was last triggered.",
|
|
"action": "It will play a critical voice announcement with a 'nuclear' alert sound, warning everyone to stay indoors, and it will turn on all air purifiers at maximum speed."
|
|
},
|
|
"human_like": "Issues a critical voice alert and turns air purifiers to maximum when air quality becomes hazardous, but only if the alert hasn't been sent in the last two hours.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "update_air_quality_state",
|
|
"result": {
|
|
"structured": "TRIGGER: When air quality index [sensor.desplns_illinois_usa_air_quality_index] state changes OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: None. ACTIONS: Set air quality state [input_select.air_quality_state] to an option based on the integer value of air quality index [sensor.desplns_illinois_usa_air_quality_index]: 'Good' if ≤ 50, 'Moderate' if ≤ 100, 'Slightly Unhealthy' if ≤ 150, 'Unhealthy' if ≤ 200, 'Very Unhealthy' if ≤ 300, otherwise 'Hazardous'.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs whenever the air quality index [sensor.desplns_illinois_usa_air_quality_index] sensor updates, when Home Assistant reloads automations, or when Home Assistant itself starts up.",
|
|
"conditions": "There are no conditions to check; the action runs immediately after any trigger.",
|
|
"action": "Updates the air quality state [input_select.air_quality_state] selection based on the current AQI reading. It maps the numeric value to a descriptive category: Good (0-50), Moderate (51-100), Slightly Unhealthy (101-150), Unhealthy (151-200), Very Unhealthy (201-300), or Hazardous (301+)."
|
|
},
|
|
"human_like": "Updates a descriptive air quality status (like 'Good' or 'Unhealthy') whenever the air quality index changes or the system restarts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_arm_at_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on. CONDITIONS: alarm control panel [alarm_control_panel.panel] is disarmed AND the current time is between 20:00:00 and 05:00:00. ACTIONS: Execute script.alarm_arm_home.",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime [input_boolean.bedtime] switch is turned on.",
|
|
"conditions": "If the alarm control panel [alarm_control_panel.panel] is currently disarmed and the current time is between 8:00 PM and 5:00 AM.",
|
|
"action": "Runs the script 'alarm_arm_home' to arm the alarm system in home mode."
|
|
},
|
|
"human_like": "Automatically arms the home alarm system at bedtime if it's night and the alarm is currently disarmed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_arm_away_when_vacation_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Vacation. CONDITIONS: house occupied [input_boolean.house_occupied] is off. ACTIONS: Arm alarm control panel [alarm_control_panel.panel] in Away mode AND execute general notification script [script.general_notification] with a message stating the home is armed Away due to Vacation mode.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] is changed to 'Vacation'.",
|
|
"conditions": "The house occupied [input_boolean.house_occupied] status must be off, indicating the house is not occupied.",
|
|
"action": "The alarm control panel [alarm_control_panel.panel] is armed in Away mode, and a notification is sent via the general notification script [script.general_notification] to inform that the home security system has been armed because the house is in Vacation mode."
|
|
},
|
|
"human_like": "Automatically arms the security system to Away mode and sends a notification when the house is set to Vacation mode and is unoccupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_arm_if_john_away",
|
|
"result": {
|
|
"structured": "TRIGGER: At 21:30:00 daily. CONDITIONS: alarm control panel [alarm_control_panel.panel] is disarmed AND john home [input_boolean.john_home] is off. ACTIONS: Execute script alarm_arm_home, then execute general notification script [script.general_notification] with a custom message, and finally execute voice announcement script [script.voice_announcement] with a custom speech message.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every day at 9:30 PM.",
|
|
"conditions": "The alarm control panel [alarm_control_panel.panel] must be in a disarmed state, and the input boolean representing John's presence, john home [input_boolean.john_home], must be off, indicating he is not at home.",
|
|
"action": "It first runs the script to arm the alarm in 'home' mode. Then, it sends a push notification via the general notification script [script.general_notification] with a specific message. Finally, it makes a voice announcement through the voice announcement script [script.voice_announcement] to alert that the system is being armed."
|
|
},
|
|
"human_like": "Automatically arms the home security system at 9:30 PM if John is away and the alarm is currently disarmed, sending a notification and a voice announcement.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "active_alarm_automation_if_john_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When john home [input_boolean.john_home] remains off for 2 hours OR When john status [input_select.john_status] changes to Extended Away. CONDITIONS: None. ACTIONS: Turn on Alarm Arm if John Away [automation.alarm_arm_if_john_away].",
|
|
"natural_language": {
|
|
"trigger": "When the john home [input_boolean.john_home] status is off for at least two hours, or when the john status [input_select.john_status] changes to 'Extended Away'.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Activates the 'Alarm Arm if John Away' automation by turning it on."
|
|
},
|
|
"human_like": "Activates the alarm automation when John is away for two hours or his status is set to 'Extended Away'.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "deactive_alarm_automation_if_john_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When john home [input_boolean.john_home] changes to on. CONDITIONS: Alarm Arm if John Away [automation.alarm_arm_if_john_away] is on. ACTIONS: Turn off Alarm Arm if John Away [automation.alarm_arm_if_john_away].",
|
|
"natural_language": {
|
|
"trigger": "When the john home [input_boolean.john_home] input boolean is turned on.",
|
|
"conditions": "If the Alarm Arm if John Away [automation.alarm_arm_if_john_away] automation is currently enabled.",
|
|
"action": "Disables the Alarm Arm if John Away [automation.alarm_arm_if_john_away] automation."
|
|
},
|
|
"human_like": "Automatically disables the alarm arming automation when John is marked as being home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_arm_when_house_empty",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Away AND remains for 5 minutes OR When person john koht [person.john_koht] OR person cristina falbo [person.cristina_falbo] leaves zone neighborhood OR When home nearest distance [sensor.home_nearest_distance] is above 5. CONDITIONS: alarm control panel [alarm_control_panel.panel] is disarmed AND house occupied [input_boolean.house_occupied] is off. ACTIONS: Run script alarm_arm_home.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if the house status [input_select.house] is set to 'Away' and stays that way for at least five minutes, or if either person john koht [person.john_koht] or person cristina falbo [person.cristina_falbo] leaves the neighborhood zone, or if the home nearest distance [sensor.home_nearest_distance] becomes greater than 5.",
|
|
"conditions": "The alarm control panel [alarm_control_panel.panel] must be in a disarmed state, and the house occupied [input_boolean.house_occupied] flag must be off, indicating the house is not occupied.",
|
|
"action": "Executes the script 'alarm_arm_home' to arm the alarm system."
|
|
},
|
|
"human_like": "Automatically arms the home alarm when the house is set to 'Away' mode and no one is home, using location and distance checks as additional triggers.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_disarm_in_morning",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns off AND remains off for 3 minutes OR When house status [input_select.house] changes from 'Bedtime' to 'Auto' AND remains 'Auto' for 3 minutes. CONDITIONS: alarm control panel [alarm_control_panel.panel] is armed_home AND house occupied [input_boolean.house_occupied] is on. ACTIONS: Disarm alarm control panel [alarm_control_panel.panel] AND send a notification via general notification script [script.general_notification] with title 'Security System', message 'Home is now disarmed!', targeting all devices with active priority and tag 'home-security'.",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime [input_boolean.bedtime] mode is turned off and stays off for three minutes, or when the house status [input_select.house] changes from 'Bedtime' to 'Auto' and stays in 'Auto' for three minutes.",
|
|
"conditions": "The alarm control panel [alarm_control_panel.panel] must be in the 'armed_home' state, and the house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on.",
|
|
"action": "Disarms the alarm control panel [alarm_control_panel.panel] and sends a notification to all devices using the general notification script [script.general_notification], announcing that the home is now disarmed."
|
|
},
|
|
"human_like": "Automatically disarms the home alarm system in the morning when bedtime mode ends and the house is occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_disarm_when_house_becomes_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to on. CONDITIONS: alarm control panel [alarm_control_panel.panel] is armed_home OR armed_away AND house occupied [input_boolean.house_occupied] is on. ACTIONS: Disarm alarm control panel [alarm_control_panel.panel] AND run script general notification script [script.general_notification] with a message 'Home is now disarmed upon the arrival of somebody.'.",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to 'on', indicating someone has arrived.",
|
|
"conditions": "The alarm control panel [alarm_control_panel.panel] must be in either 'armed_home' or 'armed_away' mode, and the house occupied [input_boolean.house_occupied] status must be confirmed as 'on'.",
|
|
"action": "Disarms the alarm control panel [alarm_control_panel.panel] and sends a notification via the general notification script [script.general_notification] stating that the home has been disarmed due to someone's arrival."
|
|
},
|
|
"human_like": "Automatically disarms the home alarm system and sends a notification when the house becomes occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_disarm_when_somebody_arrives_and_house_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When john person [sensor.john_person] OR cristina person [sensor.cristina_person] OR nonna person [sensor.nonna_person] OR tayta person [sensor.tayta_person] OR jido person [sensor.jido_person] OR katia person [sensor.katia_person] OR joe person [sensor.joe_person] OR alex person [sensor.alex_person] changes state to home. CONDITIONS: alarm control panel [alarm_control_panel.panel] is armed_home AND house occupied [input_boolean.house_occupied] is on AND the triggering person entity has an attribute 'unlock_privilege' equal to 'on'. ACTIONS: Execute script script.alarm_arm_home.",
|
|
"natural_language": {
|
|
"trigger": "When any of the tracked people (john person [sensor.john_person], cristina person [sensor.cristina_person], nonna person [sensor.nonna_person], tayta person [sensor.tayta_person], jido person [sensor.jido_person], katia person [sensor.katia_person], joe person [sensor.joe_person], or alex person [sensor.alex_person]) arrives home.",
|
|
"conditions": "The alarm control panel [alarm_control_panel.panel] must be in 'armed_home' mode, the house occupied [input_boolean.house_occupied] flag must be on, and the specific person who triggered the automation must have their 'unlock_privilege' attribute set to on.",
|
|
"action": "Runs the script 'script.alarm_arm_home'."
|
|
},
|
|
"human_like": "Automatically disarms the alarm to 'home' mode when an authorized person arrives home and the house is marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "security_alarm_trigger",
|
|
"result": {
|
|
"structured": "TRIGGER: When alarm control panel [alarm_control_panel.panel] changes state to triggered. CONDITIONS: None. ACTIONS: Execute script security_alarm_alert.",
|
|
"natural_language": {
|
|
"trigger": "When the alarm control panel [alarm_control_panel.panel] enters the triggered state.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Runs the script named security_alarm_alert."
|
|
},
|
|
"human_like": "Activates the security alert script when the alarm is triggered.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1672413097885'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an Alexa actionable notification event occurs with event_id 'hello_world'. CONDITIONS: None. ACTIONS: Set the value of input text l [input_text.l] to the event_response_type from the trigger event. Set the value of hello world response [input_text.hello_world_response] to the event_response from the trigger event.",
|
|
"natural_language": {
|
|
"trigger": "When an Alexa actionable notification event is received, specifically one identified by the event ID 'hello_world'.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation stores the type of response from the notification into the text input 'input text l' [input_text.l] and stores the actual response text into the text input 'hello world response' [input_text.hello_world_response]."
|
|
},
|
|
"human_like": "This automation captures responses from a specific Alexa notification and saves them into two text fields for logging or further processing.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alexa_volume_control",
|
|
"result": {
|
|
"structured": "TRIGGER: When quiet mode [input_boolean.quiet_mode] turns on OR When bedtime [input_boolean.bedtime] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Set the volume level to 30% for john's echo dot [media_player.john_s_echo_dot], john's 2nd echo dot [media_player.john_s_2nd_echo_dot], kohbo dot main bedroom [media_player.kohbo_dot_main_bedroom], and john's echo show [media_player.john_s_echo_show].",
|
|
"natural_language": {
|
|
"trigger": "When either the quiet mode [input_boolean.quiet_mode] or the bedtime [input_boolean.bedtime] input boolean is turned on.",
|
|
"conditions": "The house must be occupied, meaning the house occupied [input_boolean.house_occupied] input boolean is currently on.",
|
|
"action": "Sets the volume to 30% on all specified Alexa devices: john's echo dot [media_player.john_s_echo_dot], john's 2nd echo dot [media_player.john_s_2nd_echo_dot], kohbo dot main bedroom [media_player.kohbo_dot_main_bedroom], and john's echo show [media_player.john_s_echo_show]."
|
|
},
|
|
"human_like": "Lowers the volume on all Alexa devices when quiet mode or bedtime is activated, but only if the house is occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alexa_volume_control_turn_up",
|
|
"result": {
|
|
"structured": "TRIGGER: When quiet mode [input_boolean.quiet_mode] turns off OR When bedtime [input_boolean.bedtime] turns off. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Set volume to 60% for john's echo dot [media_player.john_s_echo_dot], john's 2nd echo dot [media_player.john_s_2nd_echo_dot], kohbo dot main bedroom [media_player.kohbo_dot_main_bedroom], and john's echo show [media_player.john_s_echo_show].",
|
|
"natural_language": {
|
|
"trigger": "When either the quiet mode [input_boolean.quiet_mode] is turned off or the bedtime [input_boolean.bedtime] mode is turned off.",
|
|
"conditions": "The house must be marked as occupied, meaning the house occupied [input_boolean.house_occupied] input boolean is on.",
|
|
"action": "Sets the volume level to 60% on four Alexa devices: john's echo dot [media_player.john_s_echo_dot], john's 2nd echo dot [media_player.john_s_2nd_echo_dot], kohbo dot main bedroom [media_player.kohbo_dot_main_bedroom], and john's echo show [media_player.john_s_echo_show]."
|
|
},
|
|
"human_like": "Turns up the volume on all Alexa devices when the house is occupied and quiet or bedtime mode is turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alex_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When person alex [person.alex] changes state from not_home to home. CONDITIONS: person alex [person.alex] is home AND house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data person: alex and announcement_type: arrival. Then, if guest mode announced [input_boolean.guest_mode_announced] is off, turn on guest mode announced [input_boolean.guest_mode_announced].",
|
|
"natural_language": {
|
|
"trigger": "When person alex [person.alex] arrives home, changing their state from not_home to home.",
|
|
"conditions": "The automation checks that person alex [person.alex] is currently at home, and that the house occupied [input_boolean.house_occupied] status has been on for at least five minutes.",
|
|
"action": "First, it runs the person announcement script [script.person_announcement] to announce Alex's arrival. Then, it checks if the guest mode announced [input_boolean.guest_mode_announced] is off, and if so, turns it on."
|
|
},
|
|
"human_like": "Announces Alex's arrival home and updates a guest mode status flag, but only if the house has been occupied for a while.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alex_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When person alex [person.alex] changes state from home to any other state. CONDITIONS: person alex [person.alex] is not_home AND house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data: person=alex, announcement_type=departure.",
|
|
"natural_language": {
|
|
"trigger": "When person alex [person.alex] leaves home, indicated by a state change from 'home'.",
|
|
"conditions": "If person alex [person.alex] is confirmed to be not at home, and the house occupied [input_boolean.house_occupied] status has been 'on' for at least five minutes.",
|
|
"action": "Runs the script person announcement [script.person_announcement] to announce Alex's departure."
|
|
},
|
|
"human_like": "Announces when Alex leaves home, but only if the house has been occupied for at least five minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alex_is_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When person alex [person.alex] changes to not_home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: (NOT (alex status [input_select.alex_status] is Just Left)) AND (person alex [person.alex] is not_home OR alex iphone detect [device_tracker.alex_iphone_detect] is not_home). ACTIONS: Turn off alex home [input_boolean.alex_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the person alex [person.alex] changes their state to 'not_home', when Home Assistant reloads its automations, or when Home Assistant first starts up.",
|
|
"conditions": "The automation only runs if the alex status [input_select.alex_status] is not currently set to 'Just Left'. Additionally, it requires that either the person alex [person.alex] is 'not_home' or the alex iphone detect [device_tracker.alex_iphone_detect] device tracker reports 'not_home'.",
|
|
"action": "It turns off the alex home [input_boolean.alex_home] input boolean, indicating that Alex is not home."
|
|
},
|
|
"human_like": "Marks Alex as away when they leave home, ensuring the status isn't set to 'Just Left' to prevent immediate updates.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alex_is_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When person alex [person.alex] arrives home OR when alex iphone detect [device_tracker.alex_iphone_detect] arrives home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: person alex [person.alex] is home. ACTIONS: Turn on alex home [input_boolean.alex_home].",
|
|
"natural_language": {
|
|
"trigger": "When person alex [person.alex] arrives home, or when the device tracker alex iphone detect [device_tracker.alex_iphone_detect] arrives home, or when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if person alex [person.alex] is currently at home.",
|
|
"action": "Sets the alex home [input_boolean.alex_home] status to on."
|
|
},
|
|
"human_like": "This automation ensures the 'Alex home' status is turned on whenever Alex or their phone is detected at home, or when the system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alex_presence_just_arrived",
|
|
"result": {
|
|
"structured": "TRIGGER: When alex home [input_boolean.alex_home] changes to on. CONDITIONS: None. ACTIONS: Set alex status [input_select.alex_status] to 'Home' if its current state is not empty, otherwise set it to 'Just Arrived'.",
|
|
"natural_language": {
|
|
"trigger": "When the alex home [input_boolean.alex_home] input boolean is turned on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the alex status [input_select.alex_status] selector. If the status already has a value, it sets it to 'Home'. If the status is empty, it sets it to 'Just Arrived'."
|
|
},
|
|
"human_like": "Updates Alex's status to 'Home' or 'Just Arrived' when they are marked as being home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alex_presence_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When alex status [input_select.alex_status] remains in the state 'Just Arrived' for 5 minutes OR When alex status [input_select.alex_status] changes from 'Just Left' to 'Just Arrived'. CONDITIONS: None. ACTIONS: Set alex status [input_select.alex_status] to 'Home'.",
|
|
"natural_language": {
|
|
"trigger": "When the alex status [input_select.alex_status] stays on 'Just Arrived' for five minutes, or when it changes directly from 'Just Left' to 'Just Arrived'.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Updates the alex status [input_select.alex_status] to 'Home'."
|
|
},
|
|
"human_like": "Updates Alex's status to 'Home' after they have arrived and either stayed for five minutes or returned after being away.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alex_presence_just_left",
|
|
"result": {
|
|
"structured": "TRIGGER: When alex home [input_boolean.alex_home] changes to off. CONDITIONS: None. ACTIONS: Set alex status [input_select.alex_status] to 'Just Left'.",
|
|
"natural_language": {
|
|
"trigger": "When the alex home [input_boolean.alex_home] input boolean changes its state to off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sets the alex status [input_select.alex_status] input select to the option 'Just Left'."
|
|
},
|
|
"human_like": "Updates Alex's status to 'Just Left' when they are marked as no longer being home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alex_presence_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When alex status [input_select.alex_status] remains in state 'Just Left' for 5 minutes. CONDITIONS: None. ACTIONS: Set alex status [input_select.alex_status] to 'Away'.",
|
|
"natural_language": {
|
|
"trigger": "When the alex status [input_select.alex_status] is set to 'Just Left' and stays in that state for five minutes.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "Changes the alex status [input_select.alex_status] from 'Just Left' to 'Away'."
|
|
},
|
|
"human_like": "Changes Alex's status to 'Away' if it has been 'Just Left' for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "all_away_media_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: (sonos office [media_player.sonos_office] is playing) OR (sonos family room [media_player.sonos_family_room] is playing) OR (sonos kitchen [media_player.sonos_kitchen] is playing) OR (sony bravia tv [media_player.sony_bravia_tv] is playing) OR (kohbo echo [media_player.kohbo_echo] is playing) OR (john's echo show [media_player.john_s_echo_show] is playing) OR (kohbo dot main bedroom [media_player.kohbo_dot_main_bedroom] is playing). ACTIONS: Pause media on all media players.",
|
|
"natural_language": {
|
|
"trigger": "When the house is marked as unoccupied, indicated by the house occupied [input_boolean.house_occupied] switch turning off.",
|
|
"conditions": "If at least one of the listed media players is currently playing. This includes the sonos office [media_player.sonos_office], sonos family room [media_player.sonos_family_room], sonos kitchen [media_player.sonos_kitchen], sony bravia tv [media_player.sony_bravia_tv], kohbo echo [media_player.kohbo_echo], john's echo show [media_player.john_s_echo_show], or kohbo dot main bedroom [media_player.kohbo_dot_main_bedroom].",
|
|
"action": "Pauses all media playback across the system."
|
|
},
|
|
"human_like": "Pauses all media players when the house is set to away mode, ensuring no media is left playing in an empty home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "announcement_queue_append",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'home/announcement_queue/append'. CONDITIONS: None. ACTIONS: Extract the payload as JSON. If the payload defines an 'expires_in' field, calculate an 'expires_at' timestamp by adding that many minutes to the current time and include it in the new item. Retrieve the current queue from announcement queue [sensor.announcement_queue] attribute 'queue'. If the new item has priority 'critical', replace the queue with a list containing only the new item followed by any existing critical items. For non-critical priorities ('high', 'normal', 'low'), insert the new item into the appropriate priority list, then reconstruct the queue in order: critical items, then high, then normal, then low. Log the updated queue as a warning. Publish the updated queue as a JSON payload to the MQTT topic 'home/announcement_queue/data' with retain flag. Publish the string 'queue' to the MQTT topic 'home/announcement_queue/state' with retain flag.",
|
|
"natural_language": {
|
|
"trigger": "When a new message is published to the MQTT topic 'home/announcement_queue/append'.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation processes the incoming message. It first checks if the message includes an expiration time in minutes; if so, it calculates the exact expiration timestamp and adds it to the message data. It then reads the current list of announcements from the announcement queue [sensor.announcement_queue]. If the new message is marked as 'critical' priority, it clears all non-critical messages from the queue and places the new critical message at the front, keeping any existing critical messages after it. For messages with 'high', 'normal', or 'low' priority, it adds the new message to the appropriate priority group within the queue. The final queue is always sorted so critical messages come first, followed by high, normal, and low priority messages. The automation then logs the updated queue as a warning and publishes the entire queue to the 'home/announcement_queue/data' MQTT topic, and sends a state update to the 'home/announcement_queue/state' topic."
|
|
},
|
|
"human_like": "Adds new announcements to a priority-sorted queue, ensuring critical messages are always at the front and optionally setting expiration times.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "audi_is_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When audi presence [sensor.audi_presence] changes to not_home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: audi presence [sensor.audi_presence] is not_home. ACTIONS: Turn off audi home [input_boolean.audi_home].",
|
|
"natural_language": {
|
|
"trigger": "When the audi presence [sensor.audi_presence] changes to 'not_home', when any automation is reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The audi presence [sensor.audi_presence] must currently be 'not_home'.",
|
|
"action": "Turns off the audi home [input_boolean.audi_home] status."
|
|
},
|
|
"human_like": "Marks the Audi as away by turning off its 'home' status when it's detected as not home, or when the system restarts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "audi_is_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When audi presence [sensor.audi_presence] changes from not_home OR When audi presence [sensor.audi_presence] changes to garage OR When the event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: (audi presence [sensor.audi_presence] is garage) OR (audi presence [sensor.audi_presence] is not not_home). ACTIONS: Turn on audi home [input_boolean.audi_home].",
|
|
"natural_language": {
|
|
"trigger": "This automation is triggered when the audi presence [sensor.audi_presence] changes from 'not_home', or when it changes to 'garage'. It also triggers when Home Assistant restarts or when automations are reloaded.",
|
|
"conditions": "The automation will only proceed if the audi presence [sensor.audi_presence] is currently in the 'garage' state, or if its state is anything other than 'not_home'.",
|
|
"action": "It sets the 'audi home' status to on by turning on the input_boolean [input_boolean.audi_home]."
|
|
},
|
|
"human_like": "Marks the Audi as being home when its presence sensor indicates it is in the garage or not away, and also runs on system startup.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1623896972382'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a webhook with ID 71c672f8399aad2ccec8769e9ce75f46b7260ddb308de102224b9fe03ebb21f0 is received. CONDITIONS: None. ACTIONS: Turn on hue play 1 [light.hue_play_1] AND activate the Hue scene 'John DnD' in group 'Office Signal' AND repeat 3 times: decrease brightness by 50% for all lights in the office area, wait 750 milliseconds, then increase brightness by 50% for all lights in the office area.",
|
|
"natural_language": {
|
|
"trigger": "When a specific webhook request is received.",
|
|
"conditions": "There are no conditions; the automation runs immediately when the webhook is triggered.",
|
|
"action": "Turns on the hue play 1 [light.hue_play_1] light, activates the 'John DnD' Hue scene in the 'Office Signal' group, and then repeats a sequence three times: dims all lights in the office area by 50%, waits for 750 milliseconds, and then brightens them back up by 50%."
|
|
},
|
|
"human_like": "Activates a 'Do Not Disturb' light signal in the office when a specific webhook is triggered, flashing the lights three times.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1623985104359'",
|
|
"result": {
|
|
"structured": "TRIGGER: At 18:15:00. CONDITIONS: Day is Thursday. ACTIONS: Execute script Speech Engine [script.speech_engine] with the message: 'It's garbage day. Don't forget to collect garbage from the bathrooms and diaper bin!'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every day at 6:15 PM.",
|
|
"conditions": "The automation only runs if the current day is Thursday.",
|
|
"action": "It uses the Speech Engine [script.speech_engine] to announce a reminder: 'It's garbage day. Don't forget to collect garbage from the bathrooms and diaper bin!'."
|
|
},
|
|
"human_like": "Announces a reminder on Thursday evenings to take out the garbage.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1624048450884'",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door camera motion [binary_sensor.front_door_camera_motion] detects motion. CONDITIONS: None. ACTIONS: Execute script Set Doorbell Message [script.set_doorbell_message] with a message parameter set to 'quiet_mode' if quiet mode [input_boolean.quiet_mode] is on, otherwise set to 'welcome'. Then execute script Display Doorbell Snapshot on TVs [script.display_doorbell_snapshot_on_tvs].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the front door camera motion [binary_sensor.front_door_camera_motion].",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "First, it runs the Set Doorbell Message [script.set_doorbell_message] script. The message it sets depends on the state of the quiet mode [input_boolean.quiet_mode] switch: if quiet mode is on, the message is 'quiet_mode'; otherwise, it's 'welcome'. Then, it runs the Display Doorbell Snapshot on TVs [script.display_doorbell_snapshot_on_tvs] script to show the camera snapshot on televisions."
|
|
},
|
|
"human_like": "When motion is detected at the front door, it shows a snapshot on the TVs and sets a doorbell message, which is 'welcome' normally or 'quiet_mode' if quiet hours are active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1644810800643'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with an offset of 1 minute. CONDITIONS: vacation mode [input_boolean.vacation_mode] is on. ACTIONS: Turn on family room main lights [light.family_room_main_lights] AND Turn on kitchen main light switch [light.kitchen_main_light_switch].",
|
|
"natural_language": {
|
|
"trigger": "One minute after sunset.",
|
|
"conditions": "The vacation mode [input_boolean.vacation_mode] input boolean must be switched on.",
|
|
"action": "Turns on the family room main lights [light.family_room_main_lights] and the kitchen main light switch [light.kitchen_main_light_switch]."
|
|
},
|
|
"human_like": "Turns on some main house lights at sunset to simulate occupancy when vacation mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1644810923409'",
|
|
"result": {
|
|
"structured": "TRIGGER: At 22:01:00. CONDITIONS: vacation mode [input_boolean.vacation_mode] is on. ACTIONS: Turn off kitchen main light switch [light.kitchen_main_light_switch] AND turn off family room main lights [light.family_room_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 10:01 PM.",
|
|
"conditions": "The vacation mode [input_boolean.vacation_mode] must be turned on.",
|
|
"action": "Turns off the kitchen main light switch [light.kitchen_main_light_switch] and the family room main lights [light.family_room_main_lights]."
|
|
},
|
|
"human_like": "Turns off specific main lights at night when vacation mode is active, to simulate the house being unoccupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1645246661438'",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom trisensor motion detection [binary_sensor.mudroom_trisensor_home_security_motion_detection] detects motion (state changes to 'on'). CONDITIONS: None. ACTIONS: Turn on mudroom light device [device_id:37ab5381dccd0ec08d2043d4cf433d72] AND turn off mudroom light device [device_id:37ab5381dccd0ec08d2043d4cf433d72] after 240 seconds of no motion.",
|
|
"natural_language": {
|
|
"trigger": "When the mudroom trisensor motion detection [binary_sensor.mudroom_trisensor_home_security_motion_detection] senses motion.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Turns on the mudroom light device [device_id:37ab5381dccd0ec08d2043d4cf433d72] and will turn it off again after 240 seconds (4 minutes) if no further motion is detected."
|
|
},
|
|
"human_like": "Automatically turns on the mudroom lights when motion is detected and turns them off a few minutes later when the room is still.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1646251632973'",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door camera doorbell [binary_sensor.front_door_camera_doorbell] becomes occupied. CONDITIONS: None. ACTIONS: Take a snapshot from the camera associated with device ID 92b464fee4dab94c831b8ff8686f330a and save it to /config/www/images/doorbell_camera_alert.jpg, then execute script Display Doorbell Snapshot on TVs [script.display_doorbell_snapshot_on_tvs], then execute script Play Doorbell [script.play_doorbell], then send a notification to ios_family with title 'Kohbo Front Door' and message 'Somebody is at the front door!' including the snapshot image.",
|
|
"natural_language": {
|
|
"trigger": "When the front door camera doorbell [binary_sensor.front_door_camera_doorbell] detects that the doorbell is pressed (occupied state).",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "The automation takes a snapshot from the front door camera and saves it as a specific image file. It then runs a script to display that snapshot on the TVs, plays a doorbell sound, and sends a push notification to iOS devices with the snapshot image, alerting that somebody is at the front door."
|
|
},
|
|
"human_like": "When the doorbell rings, it takes a picture, shows it on the TVs, plays a sound, and sends a phone notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1646272122915'",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with an offset of 15 minutes before. CONDITIONS: None. ACTIONS: Turn on exterior lights group [group.exterior_lights] AND run script Speech Engine [script.speech_engine] with the message 'The sun has set, turning on the exterior lights.'.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered 15 minutes before the sun sets.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "It turns on all lights in the exterior lights group [group.exterior_lights] and then runs the Speech Engine [script.speech_engine] to announce 'The sun has set, turning on the exterior lights.'."
|
|
},
|
|
"human_like": "Turns on the outdoor lights and announces it 15 minutes before sunset.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1646272166786'",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunrise with a 30-minute offset (i.e., 30 minutes before sunrise). CONDITIONS: None. ACTIONS: Turn off exterior lights group [group.exterior_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the sun is about to rise, specifically 30 minutes before the actual sunrise event.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Turns off all lights that are part of the exterior lights group [group.exterior_lights]."
|
|
},
|
|
"human_like": "Turns off all the outdoor lights 30 minutes before sunrise.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1646280009884'",
|
|
"result": {
|
|
"structured": "TRIGGER: When openweathermap weather code [sensor.openweathermap_weather_code] is above 199 AND below 233 OR above 500 AND below 532 OR above 761 AND below 782 OR above 311 AND below 322. CONDITIONS: (Sun is before sunset AND after sunset) AND (Time is before 22:00:00 AND after 07:00:00 AND on Monday OR Tuesday OR Wednesday OR Thursday OR Friday OR Saturday OR Sunday) AND (family group [group.family] is home). ACTIONS: Turn on kitchen lights group [group.kitchen_lights] AND family room main lights [light.family_room_main_lights]; Send notification to mobile_app_jk with title 'Weather Automation' and message 'The weather isn't looking to great so turning some interior lights on.'; Execute script Speech Engine [script.speech_engine] with speech message 'The weather isn't looking great so turning on the some interior lights.'.",
|
|
"natural_language": {
|
|
"trigger": "When the openweathermap weather code [sensor.openweathermap_weather_code] indicates certain bad weather conditions, specifically when the code falls within ranges that represent thunderstorms, rain, fog, or drizzle.",
|
|
"conditions": "The automation only runs if it is during the period just before and after sunset, between 7:00 AM and 10:00 PM on any day of the week, and if the family group [group.family] is marked as being at home.",
|
|
"action": "Turns on the kitchen lights group [group.kitchen_lights] and the family room main lights [light.family_room_main_lights], sends a notification to a mobile device with a message about the weather, and uses a speech engine to announce that interior lights are being turned on due to the weather."
|
|
},
|
|
"human_like": "Turns on interior lights and sends alerts when bad weather is detected during evening hours while the family is home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1646884521741'",
|
|
"result": {
|
|
"structured": "TRIGGER: At 12:30:00. CONDITIONS: The current time is before midnight (00:00:00) AND the current day is Tuesday OR Wednesday OR Thursday. ACTIONS: Execute Notify Engine [script.notify_engine] with data title 'Kohbo Reminder' and message 'Time to pick up Nino from school!' for recipient 'family', AND execute Speech Engine [script.speech_engine] with speech message 'Time to pick up Nino from school!'.",
|
|
"natural_language": {
|
|
"trigger": "Every day at 12:30 PM.",
|
|
"conditions": "The automation only runs if the current time is before midnight and the day is either Tuesday, Wednesday, or Thursday.",
|
|
"action": "It sends a notification titled 'Kohbo Reminder' with the message 'Time to pick up Nino from school!' to the family, and also announces the same message via a speech engine."
|
|
},
|
|
"human_like": "Sends a reminder to pick up Nino from school on Tuesdays, Wednesdays, and Thursdays at 12:30 PM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1647462190395'",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas door sensor [binary_sensor.gianlucas_door_sensor_ias_zone] is not opened. CONDITIONS: quiet mode [input_boolean.quiet_mode] is off. ACTIONS: Turn on quiet mode [input_boolean.quiet_mode].",
|
|
"natural_language": {
|
|
"trigger": "When the gianlucas door sensor [binary_sensor.gianlucas_door_sensor_ias_zone] reports that it is not opened.",
|
|
"conditions": "The automation only runs if the quiet mode [input_boolean.quiet_mode] is currently off.",
|
|
"action": "It turns on the quiet mode [input_boolean.quiet_mode]."
|
|
},
|
|
"human_like": "Enables quiet mode when the door sensor indicates the door is not opened, provided quiet mode is not already on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1647462317728'",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas door sensor [binary_sensor.gianlucas_door_sensor_ias_zone] remains open for 5 minutes. CONDITIONS: quiet mode [input_boolean.quiet_mode] is on. ACTIONS: Turn off quiet mode [input_boolean.quiet_mode].",
|
|
"natural_language": {
|
|
"trigger": "When the gianlucas door sensor [binary_sensor.gianlucas_door_sensor_ias_zone] is opened and remains in that state for five minutes.",
|
|
"conditions": "The automation only runs if the quiet mode [input_boolean.quiet_mode] is currently enabled (on).",
|
|
"action": "Disables quiet mode by turning off the quiet mode [input_boolean.quiet_mode] input boolean."
|
|
},
|
|
"human_like": "Automatically disables quiet mode when Gianluca's door has been open for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1703382935999'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a conversation command 'Play mode' is detected. CONDITIONS: None. ACTIONS: Play the Spotify playlist 'Nino Songs' on sonos playroom [media_player.sonos_playroom] AND Turn on playroom lights [light.playroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the voice assistant hears the command 'Play mode'.",
|
|
"conditions": "There are no conditions; the automation runs immediately after the trigger.",
|
|
"action": "Starts playing a specific Spotify playlist called 'Nino Songs' on the Sonos speaker in the playroom [media_player.sonos_playroom] and turns on the playroom lights [light.playroom_lights]."
|
|
},
|
|
"human_like": "Activates a fun 'play mode' in the playroom by starting a music playlist and turning on the lights when you ask for it.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1705228787929'",
|
|
"result": {
|
|
"structured": "TRIGGER: At 05:05:00 daily. CONDITIONS: None. ACTIONS: Turn off hue smart plug 1 [light.hue_smart_plug_1].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 5:05 AM.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Turns off the light named hue smart plug 1 [light.hue_smart_plug_1]."
|
|
},
|
|
"human_like": "Turns off a smart plug light every morning at 5:05 AM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1708729229186'",
|
|
"result": {
|
|
"structured": "TRIGGER: When jumpy house remote [device_id:8f2fc00a55d6328dc30ed2d53372a1f4] sends a remote_button_short_press event. CONDITIONS: None. ACTIONS: Toggle jumpy house toggle device [switch.e96ec63d4a34cf5ed92370e69442c31c].",
|
|
"natural_language": {
|
|
"trigger": "When the jumpy house remote [device_id:8f2fc00a55d6328dc30ed2d53372a1f4] button is pressed.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Toggles the state of the jumpy house toggle device [switch.e96ec63d4a34cf5ed92370e69442c31c]."
|
|
},
|
|
"human_like": "Toggles a switch when a remote button is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1710176506867'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Z-Wave JS value notification event occurs for device with ID cd626e869b9ddd77c680a7c1b1bd9bfc. CONDITIONS: None. ACTIONS: None.",
|
|
"natural_language": {
|
|
"trigger": "When the Z-Wave device with ID cd626e869b9ddd77c680a7c1b1bd9bfc sends a value notification event.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "No actions are performed."
|
|
},
|
|
"human_like": "This automation is a test that triggers on events from a specific Z-Wave device but does not perform any actions.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1726030107950'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an iOS action with actionID 6EE7ECA3-E8C5-4603-B741-F2B23A89C131 is fired. CONDITIONS: None. ACTIONS: Toggle the cover device with device_id fbe1f9961737e541fa5e35c420d63bfd (garage door 2 device).",
|
|
"natural_language": {
|
|
"trigger": "When a specific iOS shortcut or action with the identifier '6EE7ECA3-E8C5-4603-B741-F2B23A89C131' is triggered.",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Toggles the state of the garage door 2 device [device_id: fbe1f9961737e541fa5e35c420d63bfd], opening it if it's closed or closing it if it's open."
|
|
},
|
|
"human_like": "Toggles the garage door when a specific iOS shortcut is run.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1728564743404'",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] changes from on to off AND remains off for 2 minutes. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND garage entry door lock [lock.garage_entry_door] is locked. ACTIONS: Unlock garage entry door lock [lock.garage_entry_door].",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime [input_boolean.bedtime] switch turns off and stays off for two minutes.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on, and the garage entry door lock [lock.garage_entry_door] must currently be locked.",
|
|
"action": "Unlocks the garage entry door lock [lock.garage_entry_door]."
|
|
},
|
|
"human_like": "Automatically unlocks the garage door two minutes after bedtime ends, but only if the house is occupied and the door is currently locked.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1745156745937'",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar kohbocal [calendar.kohbocal] event starts, 1 hour before the scheduled start time. CONDITIONS: None. ACTIONS: No actions defined.",
|
|
"natural_language": {
|
|
"trigger": "One hour before an event on the calendar kohbocal [calendar.kohbocal] begins.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "No action is specified in the automation."
|
|
},
|
|
"human_like": "Triggers one hour before a calendar event starts, but does not perform any action.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1754455487847'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command 'tell me the weather' is received via the conversation integration. CONDITIONS: None. ACTIONS: Respond via the conversation integration with the message: 'It's currently [temperature attribute from weather pirateweather [weather.pirateweather]] degrees with [humidity attribute from weather pirateweather [weather.pirateweather]] percent humidity'.",
|
|
"natural_language": {
|
|
"trigger": "When someone uses a voice command and says 'tell me the weather'.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "The system will respond with a spoken message stating the current temperature and humidity, using the data from the weather pirateweather [weather.pirateweather] entity."
|
|
},
|
|
"human_like": "Provides a voice response with the current temperature and humidity when asked about the weather.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "'1754970331821'",
|
|
"result": {
|
|
"structured": "TRIGGER: When a voice command is issued that matches the configured Music Assistant blueprint patterns. CONDITIONS: None. ACTIONS: Play music on office 3 media player [media_player.office_3].",
|
|
"natural_language": {
|
|
"trigger": "When a voice command is given that is recognized by the Music Assistant blueprint.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Plays music on the office 3 media player [media_player.office_3]."
|
|
},
|
|
"human_like": "Plays music in the office when you ask for it using a voice command.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "backyard_porch_camera_detections_animal",
|
|
"result": {
|
|
"structured": "TRIGGER: When backyard porch camera animal detected [binary_sensor.backyard_porch_camera_animal_detected] turns on. CONDITIONS: (More than 60 seconds have passed since automation.backyard_porch_camera_detections_animal was last triggered) AND (camera notifications [input_boolean.camera_notifications] is on) AND ((More than 600 seconds have passed since kitchen door [binary_sensor.kitchen_door] last changed) AND (house occupied [input_boolean.house_occupied] is on)). ACTIONS: Execute the camera detection alert script [script.camera_detection_alert] with data: detection_type=animal, camera_name=Backyard Porch Camera, image_path=/api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, proxy_camera=camera.camera_proxy_camera_backyard_porch_camera_high_resolution_channel.",
|
|
"natural_language": {
|
|
"trigger": "When the backyard porch camera animal detected [binary_sensor.backyard_porch_camera_animal_detected] sensor detects an animal.",
|
|
"conditions": "If at least 60 seconds have passed since this automation was last triggered, the camera notifications [input_boolean.camera_notifications] are enabled, the kitchen door [binary_sensor.kitchen_door] has not been opened or closed for at least 10 minutes, and the house is marked as occupied via house occupied [input_boolean.house_occupied].",
|
|
"action": "Sends an animal detection alert by running the camera detection alert script [script.camera_detection_alert], providing details about the camera, a thumbnail image path, and a proxy camera entity."
|
|
},
|
|
"human_like": "Sends a notification when an animal is detected by the backyard porch camera, but only if the house is occupied, notifications are on, and the kitchen door hasn't been used recently to avoid false alerts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "backyard_porch_camera_detections_person",
|
|
"result": {
|
|
"structured": "TRIGGER: When backyard porch camera person detected [binary_sensor.backyard_porch_camera_person_detected] changes to on. CONDITIONS: (The automation backyard porch camera detections - person [automation.backyard_porch_camera_detections_person] was last triggered more than 180 seconds ago) AND (camera notifications [input_boolean.camera_notifications] is on) AND ((kitchen door [binary_sensor.kitchen_door] last changed more than 600 seconds ago) AND (house occupied [input_boolean.house_occupied] is on)). ACTIONS: Execute the script camera detection alert script [script.camera_detection_alert] with data: detection_type=person, camera_name=Backyard Porch Camera, image_path=/api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, proxy_camera=camera.camera_proxy_camera_backyard_porch_camera_high_resolution_channel.",
|
|
"natural_language": {
|
|
"trigger": "When the backyard porch camera person detected [binary_sensor.backyard_porch_camera_person_detected] sensor indicates a person has been detected.",
|
|
"conditions": "If this specific automation has not been triggered in the last 3 minutes, if camera notifications [input_boolean.camera_notifications] are enabled, and if the kitchen door [binary_sensor.kitchen_door] has not been opened in the last 10 minutes while the house is marked as occupied [input_boolean.house_occupied].",
|
|
"action": "Sends a person detection alert by running the camera detection alert script [script.camera_detection_alert], providing details about the camera, a thumbnail image path, and the proxy camera entity."
|
|
},
|
|
"human_like": "Sends a notification when a person is detected by the backyard porch camera, but only if the house is occupied, the kitchen door hasn't been opened recently, and notifications are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "backyard_south_camera_detections_animal",
|
|
"result": {
|
|
"structured": "TRIGGER: When backyard south camera animal detected [binary_sensor.backyard_south_camera_animal_detected] changes to on. CONDITIONS: (The automation backyard south camera detections animal [automation.backyard_south_camera_detections_animal] was last triggered more than 60 seconds ago) AND (camera notifications [input_boolean.camera_notifications] is on). ACTIONS: Run script camera detection alert script [script.camera_detection_alert] with data: detection_type=animal, camera_name=Backyard South Camera, image_path=/api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, proxy_camera=camera.camera_proxy_camera_backyard_south_camera_high.",
|
|
"natural_language": {
|
|
"trigger": "When the backyard south camera animal detected [binary_sensor.backyard_south_camera_animal_detected] sensor indicates an animal has been detected.",
|
|
"conditions": "If this automation has not been triggered in the last 60 seconds, and the camera notifications [input_boolean.camera_notifications] are currently enabled.",
|
|
"action": "Sends an animal detection alert by running the camera detection alert script [script.camera_detection_alert], providing details about the camera, a path to the event image, and the proxy camera entity."
|
|
},
|
|
"human_like": "Sends a notification when an animal is detected by the backyard south camera, but only if notifications are enabled and it hasn't alerted too recently.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "backyard_south_camera_detections_person",
|
|
"result": {
|
|
"structured": "TRIGGER: When backyard south person detected [binary_sensor.backyard_south_person_detected] changes to on. CONDITIONS: (More than 60 seconds have passed since automation backyard south camera detections person [automation.backyard_south_camera_detections_person] was last triggered) AND (camera notifications [input_boolean.camera_notifications] is on). ACTIONS: Run script camera detection alert script [script.camera_detection_alert] with data for detection_type: person, camera_name: Backyard South Camera, image_path: /api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, proxy_camera: camera.camera_proxy_camera_backyard_south_camera_high.",
|
|
"natural_language": {
|
|
"trigger": "When the backyard south person detected [binary_sensor.backyard_south_person_detected] sensor detects a person, changing its state to 'on'.",
|
|
"conditions": "If at least 60 seconds have passed since this automation was last triggered, and the camera notifications [input_boolean.camera_notifications] toggle is switched on.",
|
|
"action": "Executes the camera detection alert script [script.camera_detection_alert] to send a notification for a person detection, including details about the Backyard South Camera and a link to the event's thumbnail image."
|
|
},
|
|
"human_like": "Sends a notification when a person is detected by the backyard south camera, but only if notifications are enabled and it hasn't alerted recently.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "bad_weather_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when pirateweather summary [sensor.pirateweather_summary] changes to sunny OR when pirateweather cloud coverage [sensor.pirateweather_cloud_coverage] becomes greater than 41% OR when tempest illuminance [sensor.tempest_illuminance] becomes greater than 150 lux. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND bad weather [input_boolean.bad_weather] is on AND sun sun [sun.sun] is above_horizon AND (pirateweather summary [sensor.pirateweather_summary] is sunny OR pirateweather summary [sensor.pirateweather_summary] is clear OR pirateweather summary [sensor.pirateweather_summary] is party cloudy OR pirateweather cloud coverage 1h [sensor.pirateweather_cloud_coverage_1h] is below 40% OR pirateweather cloud coverage [sensor.pirateweather_cloud_coverage] is above 41%). ACTIONS: Turn off bad weather [input_boolean.bad_weather].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] status changes to off, when the weather summary [sensor.pirateweather_summary] becomes sunny, when the cloud coverage [sensor.pirateweather_cloud_coverage] exceeds 41%, or when the outdoor light level [sensor.tempest_illuminance] rises above 150 lux.",
|
|
"conditions": "For the action to run, the house must be marked as occupied [input_boolean.house_occupied is on], the bad weather mode must currently be active [input_boolean.bad_weather is on], the sun must be above the horizon [sun.sun is above_horizon], and at least one of the following weather conditions must be true: the weather summary is sunny, clear, or party cloudy, the 1-hour forecast for cloud coverage is below 40%, or the current cloud coverage is above 41%.",
|
|
"action": "Turns off the bad weather mode by setting the bad weather [input_boolean.bad_weather] switch to off."
|
|
},
|
|
"human_like": "Turns off the 'bad weather' mode when the house is occupied, the sun is up, and the weather conditions improve according to multiple sensors.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "bad_weather_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on OR when pirateweather summary [sensor.pirateweather_summary] changes to exceptional, lightning, rainy, snowy, or snowy rainy OR when pirateweather alerts [sensor.pirateweather_alerts] changes state OR when pirateweather cloud coverage [sensor.pirateweather_cloud_coverage] is above 75% OR when tempest illuminance [sensor.tempest_illuminance] is below 50 lux. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND bad weather [input_boolean.bad_weather] is off AND sun sun [sun.sun] is above_horizon AND (pirateweather summary [sensor.pirateweather_summary] is exceptional, lightning, rainy, snowy, or snowy rainy OR pirateweather alerts [sensor.pirateweather_alerts] is above 1 OR ( (tempest precipitation [sensor.tempest_precipitation] is above 0.01 OR tempest precipitation intensity [sensor.tempest_precipitation_intensity] is above 0.25) AND tempest illuminance [sensor.tempest_illuminance] is below 150 lux ) ). ACTIONS: Turn on bad weather [input_boolean.bad_weather].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: when the house is marked as occupied, when the weather summary indicates bad conditions (exceptional, lightning, rainy, snowy, or snowy rainy), when weather alerts change, when cloud coverage exceeds 75%, or when the outdoor light level drops below 50 lux.",
|
|
"conditions": "For the automation to run, the house must be occupied, the bad weather mode must currently be off, and the sun must be above the horizon. Additionally, at least one of the following weather-related conditions must be true: the weather summary indicates bad conditions, there is more than one active weather alert, or there is measurable precipitation combined with low light levels.",
|
|
"action": "Activates the bad weather mode by turning on the bad weather [input_boolean.bad_weather] switch."
|
|
},
|
|
"human_like": "Turns on the bad weather mode when the house is occupied, it's daytime, and weather conditions deteriorate, such as during storms, heavy cloud cover, or low light with precipitation.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "basement_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) AND (basement mode [input_select.basement] is NOT Auto) AND (bedtime [input_boolean.bedtime] is off) AND (house status [input_select.house] is Auto). ACTIONS: Set basement mode [input_select.basement] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] is set to Auto, or when the house occupied [input_boolean.house_occupied] indicator turns on.",
|
|
"conditions": "The house must be occupied, indicated by house occupied [input_boolean.house_occupied] being on. The basement mode [input_select.basement] must not already be set to Auto. The bedtime [input_boolean.bedtime] mode must be off. Finally, the house status [input_select.house] must be set to Auto.",
|
|
"action": "Sets the basement mode [input_select.basement] to Auto."
|
|
},
|
|
"human_like": "Automatically sets the basement mode to 'Auto' when the house is in Auto mode, occupied, and it's not bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "basement_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR house status [input_select.house] changes to Away OR bedtime [input_boolean.bedtime] turns on OR Home Assistant starts OR an automation is reloaded. CONDITIONS: (basement mode [input_select.basement] is NOT set to Off) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set basement mode [input_select.basement] to Off.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the house occupied [input_boolean.house_occupied] status changes to off, when the overall house status [input_select.house] is set to Away, when the bedtime [input_boolean.bedtime] mode is turned on, when Home Assistant itself starts up, or when an automation is reloaded.",
|
|
"conditions": "For the action to run, the basement mode [input_select.basement] must not already be set to Off. Additionally, at least one of the following must be true: the house is not occupied, the house status is set to Away, or bedtime mode is active.",
|
|
"action": "The automation will set the basement mode [input_select.basement] to Off."
|
|
},
|
|
"human_like": "Turns off the basement mode when the house is unoccupied, set to away, or at bedtime, ensuring the basement is not left in an active state.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "basement_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template evaluates to true (no devices in group.room_presence_devices report state 'basement') for 5 minutes OR When basement motion sensor [binary_sensor.basement_motion_sensor] remains off for 5 minutes OR When basement occupancy sensor [binary_sensor.basement_occupancy_sensor] becomes off OR When basement occupancy sensor [binary_sensor.basement_occupancy_sensor] remains off for 5 minutes. CONDITIONS: basement occupied [input_boolean.basement_occupied] is on AND ((guest mode [input_boolean.guest_mode] is on AND basement occupancy sensor [binary_sensor.basement_occupancy_sensor] is off for 5 minutes) OR (guest mode [input_boolean.guest_mode] is off AND basement occupancy sensor [binary_sensor.basement_occupancy_sensor] is off for 2 minutes)) AND the template evaluates to true (no devices in group.room_presence_devices report state 'basement'). ACTIONS: Turn off basement occupied [input_boolean.basement_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if any of the following occur: there are no presence devices reporting they are in the basement for at least five minutes; the basement motion sensor [binary_sensor.basement_motion_sensor] detects no motion for five minutes; the basement occupancy sensor [binary_sensor.basement_occupancy_sensor] becomes unoccupied; or the basement occupancy sensor [binary_sensor.basement_occupancy_sensor] remains unoccupied for five minutes.",
|
|
"conditions": "The automation only proceeds if the basement is currently marked as occupied via basement occupied [input_boolean.basement_occupied]. Furthermore, depending on the guest mode setting, the basement occupancy sensor must be unoccupied for a specific duration: if guest mode [input_boolean.guest_mode] is on, it must be off for five minutes; if guest mode is off, it must be off for two minutes. Finally, there must be no presence devices reporting they are in the basement at the time of evaluation.",
|
|
"action": "Marks the basement as unoccupied by turning off the basement occupied [input_boolean.basement_occupied] input boolean."
|
|
},
|
|
"human_like": "Marks the basement as unoccupied when no motion or occupancy is detected for a set time, and no presence devices are located there, with different timing based on guest mode.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "basement_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When basement motion sensor [binary_sensor.basement_motion_sensor] turns on OR When basement occupancy sensor [binary_sensor.basement_occupancy_sensor] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND basement occupied [input_boolean.basement_occupied] is off AND (At least one device in the group room presence devices group [group.room_presence_devices] reports its state as 'basement' OR basement occupancy sensor [binary_sensor.basement_occupancy_sensor] is on). ACTIONS: Turn on basement occupied [input_boolean.basement_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the basement motion sensor [binary_sensor.basement_motion_sensor] or when the basement occupancy sensor [binary_sensor.basement_occupancy_sensor] reports occupancy.",
|
|
"conditions": "The house must be marked as occupied via house occupied [input_boolean.house_occupied], and the basement must not already be marked as occupied via basement occupied [input_boolean.basement_occupied]. Additionally, either at least one device within the room presence devices group [group.room_presence_devices] must be reporting its location as the basement, or the basement occupancy sensor [binary_sensor.basement_occupancy_sensor] must be active.",
|
|
"action": "Marks the basement as occupied by turning on basement occupied [input_boolean.basement_occupied]."
|
|
},
|
|
"human_like": "Marks the basement as occupied when motion or an occupancy sensor is triggered, provided the house is occupied and the basement isn't already marked as such.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "bedtime_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When everybody in bed [binary_sensor.everybody_in_bed] turns off OR When cristina is awake [input_boolean.cristina_is_awake] turns on OR When john is awake [input_boolean.john_is_awake] turns on OR At 06:30:00 OR At sunrise. CONDITIONS: Time is after 05:00:00 AND ((john home [input_boolean.john_home] is off OR (john home [input_boolean.john_home] is on AND john is awake [input_boolean.john_is_awake] is on)) OR (cristina home [input_boolean.cristina_home] is off OR (cristina home [input_boolean.cristina_home] is on AND cristina is awake [input_boolean.cristina_is_awake] is on))). ACTIONS: Turn off bedtime [input_boolean.bedtime].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the 'everybody in bed' sensor indicates not everyone is in bed, when either Cristina or John's 'is awake' status turns on, at 6:30 AM, or at sunrise.",
|
|
"conditions": "The current time must be after 5:00 AM. Additionally, for at least one person (John or Cristina), either they are not home, or they are home and their 'is awake' status is on.",
|
|
"action": "Turns off the 'bedtime' mode."
|
|
},
|
|
"human_like": "Turns off bedtime mode in the morning or when someone is awake, ensuring it only happens after 5 AM.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "bedtime_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When everybody in bed [binary_sensor.everybody_in_bed] changes to on. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Turn on bedtime [input_boolean.bedtime].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor indicating everybody in bed [binary_sensor.everybody_in_bed] turns on.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on.",
|
|
"action": "Activates bedtime mode by turning on bedtime [input_boolean.bedtime]."
|
|
},
|
|
"human_like": "Turns on bedtime mode when everyone is in bed and the house is occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "bedtime_mode_vacation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: At 22:00:00 daily. CONDITIONS: house occupied [input_boolean.house_occupied] is off. ACTIONS: Turn on bedtime [input_boolean.bedtime].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 10:00 PM.",
|
|
"conditions": "If the house is not occupied, as indicated by the house occupied [input_boolean.house_occupied] being off.",
|
|
"action": "Activates bedtime mode by turning on the bedtime [input_boolean.bedtime] switch."
|
|
},
|
|
"human_like": "Automatically turns on bedtime mode at 10 PM when the house is set to vacation mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "bedtime_mode_vacation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: At 07:00:00. CONDITIONS: house occupied [input_boolean.house_occupied] is off. ACTIONS: Turn off bedtime [input_boolean.bedtime].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 7:00 AM.",
|
|
"conditions": "If the house is not occupied, meaning the house occupied [input_boolean.house_occupied] is set to off.",
|
|
"action": "Turns off the bedtime mode by setting bedtime [input_boolean.bedtime] to off."
|
|
},
|
|
"human_like": "Turns off bedtime mode at 7 AM if the house is set to unoccupied, such as during a vacation.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "bedtime_notifications",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom mode [input_select.main_bedroom] changes to Bedtime. CONDITIONS: main bedroom mode [input_select.main_bedroom] is Bedtime AND binary sensor bedtime [binary_sensor.bedtime] is on. ACTIONS: First, clear bedtime notification message [input_text.bedtime_notification_message]. Then, if front door lock [lock.front_door] is unlocked, set bedtime notification message [input_text.bedtime_notification_message] to 'The front door is unlocked.'. Then, if jr suite door status [binary_sensor.jr_suite_door_status] is closed (off), set bedtime notification message [input_text.bedtime_notification_message] to a message indicating the junior suite door is closed, appending it with 'and' if a previous message exists. Then, if windows group [binary_sensor.windows] is on, set bedtime notification message [input_text.bedtime_notification_message] to a list of all open windows, appending it with 'and' if a previous message exists. Then, if bedtime notification message [input_text.bedtime_notification_message] is not empty, prepend 'Hey there, just wanted to let you know ' to the message. Then, send a general notification via script.general_notification with the message, title 'Bedtime Notifications', to devices 'jk', with priority 'time-sensitive' and tag 'bedtime-notifications'. Then, set volume of main bedroom media player [media_player.main_bedroom] to 25%. Then, send a TTS notification via notify.alexa_media to kohbo dot main bedroom [media_player.kohbo_dot_main_bedroom] with the message.",
|
|
"natural_language": {
|
|
"trigger": "When the main bedroom mode [input_select.main_bedroom] is set to 'Bedtime'.",
|
|
"conditions": "The main bedroom mode [input_select.main_bedroom] must be in the 'Bedtime' state, and the binary sensor bedtime [binary_sensor.bedtime] must be turned on.",
|
|
"action": "The automation first clears any existing bedtime notification message [input_text.bedtime_notification_message]. It then checks several conditions to build a notification: if the front door lock [lock.front_door] is unlocked, it adds a message about the door being unlocked. If the jr suite door status [binary_sensor.jr_suite_door_status] is closed, it adds a warning that the vacuum will get stuck, combining it with any previous message using 'and'. If the windows group [binary_sensor.windows] indicates any windows are open, it lists all open windows, again combining with previous messages. If a message has been built, it is prefixed with 'Hey there, just wanted to let you know '. This final message is then sent as a priority notification to specific devices via the general notification script [script.general_notification], the volume of the main bedroom media player [media_player.main_bedroom] is lowered to 25%, and the message is spoken aloud via the Alexa device in the main bedroom [media_player.kohbo_dot_main_bedroom]."
|
|
},
|
|
"human_like": "Sends a bedtime notification summarizing security and readiness issues like unlocked doors or open windows, then announces them via Alexa and lowers the bedroom speaker volume.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "birthday_today_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: At 07:35:00 OR At 17:15:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND calendar birthdays 2 [calendar.birthdays_2] is on. ACTIONS: Wait until kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is on OR family room motion sensor [binary_sensor.family_room_motion_sensor] is on, with a timeout of 5 minutes. Then wait 2 seconds. Then execute voice announcement script [script.voice_announcement] with a random speech message announcing the birthday from calendar birthdays 2 [calendar.birthdays_2]. Then execute general notification script [script.general_notification] with a notification containing the birthday message.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at 7:35 AM or 5:15 PM.",
|
|
"conditions": "The automation only runs if the house is marked as occupied via house occupied [input_boolean.house_occupied] and if there is a birthday event today, indicated by calendar birthdays 2 [calendar.birthdays_2] being on.",
|
|
"action": "First, the automation waits for up to five minutes for motion to be detected in either the kitchen (kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status]) or the family room (family room motion sensor [binary_sensor.family_room_motion_sensor]). After motion is detected or the wait times out, it pauses for two seconds. It then makes a voice announcement using the voice announcement script [script.voice_announcement], playing a 'success-trumpets' sound and speaking a randomly selected reminder about whose birthday it is, using the event details from calendar birthdays 2 [calendar.birthdays_2]. Finally, it sends a push notification via the general notification script [script.general_notification] to a specific device, repeating the birthday reminder."
|
|
},
|
|
"human_like": "Announces and notifies about birthdays at set times in the morning and evening, but only when someone is home and motion is detected.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "birthday_tomorrow_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: At 18:30:00 OR At 20:05:00. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) AND (birthday tomorrow [binary_sensor.birthday_tomorrow] is on) AND (time is after 17:00:00). ACTIONS: Wait until kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is on OR family room motion sensor [binary_sensor.family_room_motion_sensor] is on, with a timeout of 5 minutes. Then, delay for 2 seconds. Then, execute voice announcement script [script.voice_announcement] with a randomly selected speech message based on calendar birthdays 2 [calendar.birthdays_2] attributes. Then, execute general notification script [script.general_notification] with a message about the birthday.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers daily at 6:30 PM or 8:05 PM.",
|
|
"conditions": "It only runs if the house is marked as occupied via house occupied [input_boolean.house_occupied], if the birthday tomorrow [binary_sensor.birthday_tomorrow] sensor indicates a birthday is due, and if the current time is after 5:00 PM.",
|
|
"action": "First, it waits for up to five minutes for motion to be detected in either the kitchen (kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status]) or the family room (family room motion sensor [binary_sensor.family_room_motion_sensor]). After a short two-second delay, it makes a voice announcement using a script, playing a sound and delivering a randomly selected reminder message based on the event details from the calendar birthdays 2 [calendar.birthdays_2]. Finally, it sends a push notification to a specific device with the birthday reminder."
|
|
},
|
|
"human_like": "Announces upcoming birthdays via voice and notification in the evening, but only when someone is home and motion is detected.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "bmw_is_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When bmw presence [sensor.bmw_presence] changes to not_home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: bmw presence [sensor.bmw_presence] is not_home. ACTIONS: Turn off bmw home [input_boolean.bmw_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bmw presence [sensor.bmw_presence] changes to 'not_home', when any automation is reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only proceeds if the bmw presence [sensor.bmw_presence] is currently in the 'not_home' state.",
|
|
"action": "Turns off the bmw home [input_boolean.bmw_home] input boolean."
|
|
},
|
|
"human_like": "Marks the BMW as away by turning off the 'home' status when the car's presence sensor indicates it's not home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "bmw_is_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When bmw presence [sensor.bmw_presence] changes from not_home OR When bmw presence [sensor.bmw_presence] changes to garage OR When the event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: (bmw presence [sensor.bmw_presence] is garage) OR (bmw presence [sensor.bmw_presence] is not not_home). ACTIONS: Turn on bmw home [input_boolean.bmw_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bmw presence [sensor.bmw_presence] sensor changes its state from 'not_home', or when it changes to 'garage'. It also triggers when Home Assistant starts up or when automations are reloaded.",
|
|
"conditions": "The automation will only proceed if the bmw presence [sensor.bmw_presence] is either in the 'garage' state, or if its state is anything other than 'not_home'.",
|
|
"action": "Sets the bmw home [input_boolean.bmw_home] status to on, indicating the car is home."
|
|
},
|
|
"human_like": "Marks the BMW as being at home when its presence sensor indicates it is in the garage or no longer away, and ensures this status is set correctly after system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "camera_notifications_activate",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Away OR at 22:00:00 OR at sunset with an offset of +15 minutes OR when exterior doors group [binary_sensor.exterior_doors] remains closed (off) for 45 minutes OR when bedtime [input_boolean.bedtime] turns on. CONDITIONS: camera notifications [input_boolean.camera_notifications] is off. ACTIONS: Turn on camera notifications [input_boolean.camera_notifications] AND execute general notification script [script.general_notification] with title 'Security Cameras', message 'Camera detections have been enabled.', targeting all devices with time-sensitive priority and tag 'camera-notifications'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in any of these situations: when the house status [input_select.house] is set to 'Away', at 10:00 PM, 15 minutes after sunset, when all exterior doors [binary_sensor.exterior_doors] have been closed for 45 minutes, or when the bedtime [input_boolean.bedtime] mode is turned on.",
|
|
"conditions": "The automation only runs if camera notifications [input_boolean.camera_notifications] are currently disabled.",
|
|
"action": "It enables camera notifications by turning on the camera notifications [input_boolean.camera_notifications] switch and sends a notification to all devices via the general notification script [script.general_notification], announcing that camera detections have been activated."
|
|
},
|
|
"human_like": "Enables security camera notifications when the house is set to away, at night, after sunset, when doors are closed for a while, or at bedtime, but only if they are currently off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "camera_notifications_deactivate",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on and remains on for 15 minutes OR When house status [input_select.house] changes to 'Auto' and remains 'Auto' for 30 minutes OR 15 minutes after sunrise OR When exterior doors group [binary_sensor.exterior_doors] turns on OR When any of the following turn on: cristina home [input_boolean.cristina_home], john home [input_boolean.john_home], joe home [input_boolean.joe_home], nonna home [input_boolean.nonna_home], katia home [input_boolean.katia_home] OR When cover garage doors [cover.garage_doors] opens. CONDITIONS: camera notifications [input_boolean.camera_notifications] is on AND family group [group.family] is home AND house occupied [input_boolean.house_occupied] is on AND bedtime [input_boolean.bedtime] is off AND sun sun [sun.sun] is above_horizon. ACTIONS: Turn off camera notifications [input_boolean.camera_notifications] AND run script general notification script [script.general_notification] with a title 'Security Cameras' and message 'Camera detections have been disabled to cut down on notification overload.'.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the house is marked as occupied for 15 minutes, when the house mode is set to 'Auto' for 30 minutes, 15 minutes after sunrise, when any exterior door opens, when any family member (Cristina, John, Joe, Nonna, or Katia) is marked as home, or when the garage doors open.",
|
|
"conditions": "For the automation to proceed, the following must all be true: camera notifications must be currently enabled, the family group must be at home, the house must be marked as occupied, the bedtime mode must be off, and the sun must be above the horizon.",
|
|
"action": "The automation will turn off camera notifications and send a notification to all devices stating that camera detections have been disabled to reduce notification overload."
|
|
},
|
|
"human_like": "Automatically disables security camera notifications during the day when the house is occupied and the family is home, to avoid excessive alerts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "christmas_activated",
|
|
"result": {
|
|
"structured": "TRIGGER: When dark outside [input_boolean.dark_outside] turns on OR at 16:00:00 OR when house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND christmas active [input_boolean.christmas_active] is off AND (dark outside [input_boolean.dark_outside] is on OR time is after 16:00:00) AND time is after 12:00:00 AND before 22:00:00. ACTIONS: Turn on christmas active [input_boolean.christmas_active].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when the dark outside [input_boolean.dark_outside] switch turns on, at 4:00 PM daily, when the house status [input_select.house] is set to 'Auto', when the house occupied [input_boolean.house_occupied] switch is turned on, when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), the Christmas mode must be currently off (christmas active [input_boolean.christmas_active] is off), it must be either dark outside or after 4:00 PM, and the current time must be between 12:00 PM and 10:00 PM.",
|
|
"action": "Activates Christmas mode by turning on the christmas active [input_boolean.christmas_active] switch."
|
|
},
|
|
"human_like": "Turns on Christmas decorations automatically when the house is occupied, it's between noon and 10 PM, and it's either dark outside or after 4 PM.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "christmas_disabled",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR at 02:00:00 daily. CONDITIONS: christmas season active [input_boolean.christmas_season_active] is on AND (current month is January and day is greater than 7 OR current month is between March and November inclusive). ACTIONS: Run script Christmas Disable Automations [script.christmas_disable_automations].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when Home Assistant first starts up, or every day at 2:00 AM.",
|
|
"conditions": "The automation checks if the 'christmas season active' [input_boolean.christmas_season_active] toggle is turned on. It also checks the current date: it must be after January 7th, or it must be any day from March through November.",
|
|
"action": "If all conditions are met, the automation runs a script called 'Christmas Disable Automations' [script.christmas_disable_automations]."
|
|
},
|
|
"human_like": "Automatically disables Christmas-related automations after the holiday season ends, based on the date and a master toggle.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "christmas_enabled",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR at 02:00:00 daily. CONDITIONS: (The current date is in December OR (the current date is in January AND the day of the month is between 1 and 7 inclusive)) AND (christmas season active [input_boolean.christmas_season_active] is off). ACTIONS: Run the script Christmas Enable Automations [script.christmas_enable_automations].",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant first starts up, or every day at 2:00 AM.",
|
|
"conditions": "If the current date is in December, or if it's in early January (between the 1st and 7th), and the 'christmas season active' [input_boolean.christmas_season_active] status is currently off.",
|
|
"action": "Activates the Christmas season by running the 'Christmas Enable Automations' [script.christmas_enable_automations] script."
|
|
},
|
|
"human_like": "Automatically enables Christmas-related automations at the start of the holiday season, or at 2 AM if the season hasn't been activated yet.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_on_christmas_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When christmas active [input_boolean.christmas_active] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Turn on christmas lights switch [switch.christmas_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the christmas active [input_boolean.christmas_active] input boolean is turned on.",
|
|
"conditions": "The house occupied [input_boolean.house_occupied] input boolean must be on.",
|
|
"action": "Turns on the christmas lights switch [switch.christmas_lights]."
|
|
},
|
|
"human_like": "Turns on the Christmas lights when the Christmas mode is activated, but only if the house is marked as occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_christmas_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When christmas active [input_boolean.christmas_active] changes to off OR When christmas active [input_boolean.christmas_active] remains off for 3 minutes. CONDITIONS: None. ACTIONS: Turn off christmas lights switch [switch.christmas_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the christmas active [input_boolean.christmas_active] is turned off, or when it has been off for three consecutive minutes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns off the christmas lights switch [switch.christmas_lights]."
|
|
},
|
|
"human_like": "Turns off the Christmas lights when the 'Christmas active' mode is disabled, either immediately or after a three-minute delay.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "handle_ikea_unresponsive",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following switches changes state from 'unresponsive': tradfri smart plug 1 switch [switch.tradfri_smart_plug_1_switch], tradfri smart plug 2 switch [switch.tradfri_smart_plug_2_switch], tradfri smart plug 3 switch [switch.tradfri_smart_plug_3_switch], tradfri smart plug 4 switch [switch.tradfri_smart_plug_4_switch]. CONDITIONS: None. ACTIONS: If christmas active [input_boolean.christmas_active] is on, turn on all four IKEA smart plug switches. If christmas active [input_boolean.christmas_active] is off, turn off all four IKEA smart plug switches.",
|
|
"natural_language": {
|
|
"trigger": "When any of the four IKEA smart plug switches (tradfri smart plug 1 switch [switch.tradfri_smart_plug_1_switch], tradfri smart plug 2 switch [switch.tradfri_smart_plug_2_switch], tradfri smart plug 3 switch [switch.tradfri_smart_plug_3_switch], tradfri smart plug 4 switch [switch.tradfri_smart_plug_4_switch]) recovers from an 'unresponsive' state.",
|
|
"conditions": "There are no conditions that must be checked before performing the action.",
|
|
"action": "Depending on the state of the 'christmas active' [input_boolean.christmas_active] flag, the automation will either turn on all four IKEA smart plug switches if the flag is on, or turn them all off if the flag is off."
|
|
},
|
|
"human_like": "When an IKEA smart plug becomes responsive again, this automation turns all four plugs on or off based on whether the 'Christmas active' mode is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "christmas_not_activated",
|
|
"result": {
|
|
"structured": "TRIGGER: When dark outside [input_boolean.dark_outside] turns off OR when house status [input_select.house] changes to Away OR when house status [input_select.house] changes to Bedtime OR when house occupied [input_boolean.house_occupied] turns off OR when an automation is reloaded (automation_reloaded event) OR when Home Assistant starts. CONDITIONS: christmas active [input_boolean.christmas_active] is on AND (house status [input_select.house] is Away OR house status [input_select.house] is Bedtime OR house occupied [input_boolean.house_occupied] is off). ACTIONS: Turn off christmas active [input_boolean.christmas_active] AND send a notification to mobile app jk 2 [notify.mobile_app_jk_2] with title 'Holidays' and message 'Christmas is NO longer activate'.",
|
|
"natural_language": {
|
|
"trigger": "This automation can start when it becomes light outside (dark outside [input_boolean.dark_outside] turns off), when the house status [input_select.house] is set to 'Away' or 'Bedtime', when the house is marked as unoccupied (house occupied [input_boolean.house_occupied] turns off), when automations are reloaded, or when Home Assistant itself starts up.",
|
|
"conditions": "For the actions to run, the Christmas decorations must currently be active (christmas active [input_boolean.christmas_active] is on). Additionally, at least one of the following must be true: the house is set to 'Away' or 'Bedtime' mode, or the house is marked as unoccupied.",
|
|
"action": "The automation deactivates the Christmas mode by turning off christmas active [input_boolean.christmas_active] and sends a notification to a mobile device (mobile app jk 2 [notify.mobile_app_jk_2]) with the message 'Christmas is NO longer activate'."
|
|
},
|
|
"human_like": "Turns off the Christmas decorations and sends a notification when the house is unoccupied, in a night-time mode, or when it's no longer dark outside.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "christmas_shortcut_button",
|
|
"result": {
|
|
"structured": "TRIGGER: When christmas shortcut button [device_id: d98b081e7991a6e9ce1672128dad93ae] sends a 'turn_on' short press command. ACTIONS: Toggle christmas active [input_boolean.christmas_active] AND Wait for 1 second.",
|
|
"natural_language": {
|
|
"trigger": "When the christmas shortcut button [device_id: d98b081e7991a6e9ce1672128dad93ae] is pressed for a short duration, specifically the 'turn_on' button press.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Toggles the state of the christmas active [input_boolean.christmas_active] switch and then waits for one second."
|
|
},
|
|
"human_like": "Pressing the Christmas shortcut button toggles the Christmas mode on or off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_clean_dining_and_foyer_at_night",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is exactly 21:00:00 OR When guest mode [input_boolean.guest_mode] is turned off and remains off for 15 minutes. CONDITIONS: (Trigger is nightly_check OR (Trigger is guest_mode_off AND current time is between 21:00:00 and 23:00:00)) AND guest mode [input_boolean.guest_mode] is off AND entertainment mode [input_boolean.entertainment_mode] is off AND (If vacation mode [input_boolean.vacation_mode] is on, then it has been on for less than 24 hours, otherwise true) AND jr suite door status [binary_sensor.jr_suite_door_status] is on AND (If the automation has run before, then run if entertainment mode [input_boolean.entertainment_mode] was turned on yesterday OR if it has been at least 2 days since the last run; otherwise true) AND (sylvia home [input_boolean.sylvia_home] is off AND has been off for more than 24 hours). ACTIONS: Send the 'app_segment_clean' command to roborock s7 vacuum [vacuum.roborock_s7] for segments 20 and 23.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in two ways: either at exactly 9:00 PM every night, or when the guest mode [input_boolean.guest_mode] is turned off and stays off for 15 minutes.",
|
|
"conditions": "Several conditions must be met for the cleaning to proceed. First, the trigger must be valid: it's either the scheduled 9:00 PM time, or the guest mode turned off between 9:00 PM and 11:00 PM. Guest mode [input_boolean.guest_mode] and entertainment mode [input_boolean.entertainment_mode] must both be off. If the vacation mode [input_boolean.vacation_mode] is active, it must have been turned on less than a day ago. The jr suite door status [binary_sensor.jr_suite_door_status] must be open (on). The automation also checks its own history: it will run if entertainment mode was turned on yesterday, or if it has been at least two days since the last cleaning run. Finally, sylvia home [input_boolean.sylvia_home] must be off and have been off for more than 24 hours.",
|
|
"action": "Commands the roborock s7 vacuum [vacuum.roborock_s7] to clean specific segments, numbered 20 and 23."
|
|
},
|
|
"human_like": "Automatically vacuums the dining and foyer areas at night, but only when no guests or entertainment are planned, the house is empty, and certain time-based rules are satisfied.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "clean_kitchen_and_family_room_at_night",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] remains on for 30 minutes OR at 01:01:00. CONDITIONS: The current time is between 22:00:00 and 07:00:00 AND jr suite door status [binary_sensor.jr_suite_door_status] is on AND (vacation mode [input_boolean.vacation_mode] is off OR (vacation mode [input_boolean.vacation_mode] is on AND it was turned on less than 86400 seconds (24 hours) ago)). ACTIONS: Send the 'app_segment_clean' command to roborock s7 vacuum [vacuum.roborock_s7] with segment parameters 24, 25, and 26.",
|
|
"natural_language": {
|
|
"trigger": "The automation starts either when the bedtime [input_boolean.bedtime] switch has been on for 30 minutes, or at exactly 1:01 AM.",
|
|
"conditions": "For the automation to proceed, the current time must be between 10:00 PM and 7:00 AM, the jr suite door status [binary_sensor.jr_suite_door_status] must be on (indicating the door is closed), and either vacation mode [input_boolean.vacation_mode] is off, or if it is on, it must have been turned on within the last 24 hours.",
|
|
"action": "Commands the roborock s7 vacuum [vacuum.roborock_s7] to clean specific segments numbered 24, 25, and 26."
|
|
},
|
|
"human_like": "Schedules the robot vacuum to clean the kitchen and family room at night, either after bedtime or at 1 AM, but only if the JR suite door is closed and vacation mode isn't active for too long.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "clean_kitchen_when_unoccupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off and remains off for 5 minutes. CONDITIONS: (roborock s7 vacuum [vacuum.roborock_s7] is docked) AND ((time is between 08:00:00 and 09:30:00 AND day is Monday, Tuesday, Wednesday, Thursday, or Friday) OR (time is between 08:30:00 and 10:30:00 AND day is Saturday or Sunday)) AND (guest mode [input_boolean.guest_mode] is off) AND (jr suite door status [binary_sensor.jr_suite_door_status] is on) AND (vacation mode [input_boolean.vacation_mode] is off). ACTIONS: Send the 'app_segment_clean' command with parameter '24' to roborock s7 vacuum [vacuum.roborock_s7].",
|
|
"natural_language": {
|
|
"trigger": "When the house is marked as unoccupied for at least five minutes.",
|
|
"conditions": "The roborock s7 vacuum [vacuum.roborock_s7] must be docked. The current time must be within a scheduled window: on weekdays (Monday to Friday) between 8:00 AM and 9:30 AM, or on weekends (Saturday and Sunday) between 8:30 AM and 10:30 AM. Guest mode [input_boolean.guest_mode] and vacation mode [input_boolean.vacation_mode] must both be off. Additionally, the jr suite door status [binary_sensor.jr_suite_door_status] must be on (likely indicating the door is closed).",
|
|
"action": "Instructs the roborock s7 vacuum [vacuum.roborock_s7] to clean a specific segment, identified by the number 24."
|
|
},
|
|
"human_like": "Automatically starts a targeted vacuum cleaning in the kitchen when the house is empty, but only during scheduled morning hours and when other modes are inactive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "return_vacuum_when_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to on. CONDITIONS: roborock s7 vacuum [vacuum.roborock_s7] is in the cleaning state AND ((time is between 08:00:00 and 09:30:00 AND weekday is Monday, Tuesday, Wednesday, Thursday, or Friday) OR (time is between 08:30:00 and 10:30:00 AND weekday is Saturday or Sunday)). ACTIONS: Send roborock s7 vacuum [vacuum.roborock_s7] to its dock.",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] indicator turns on.",
|
|
"conditions": "The roborock s7 vacuum [vacuum.roborock_s7] must be actively cleaning. Additionally, the current time must fall within specific windows depending on the day of the week: on weekdays (Monday to Friday), it must be between 8:00 AM and 9:30 AM; on weekends (Saturday and Sunday), it must be between 8:30 AM and 10:30 AM.",
|
|
"action": "Commands the roborock s7 vacuum [vacuum.roborock_s7] to return to its charging dock."
|
|
},
|
|
"human_like": "Sends the vacuum back to its dock when the house becomes occupied, but only during specific morning time slots to avoid interrupting cleaning at other times.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina status dropdown [input_select.cristina_status_dropdown] changes from Away to Just Arrived OR from Extended Away to Just Arrived. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute voice announcement script [script.voice_announcement] with media_players set to auto, sound set to fanfare, and a speech message randomly selected from a list of welcome phrases for Mamma.",
|
|
"natural_language": {
|
|
"trigger": "When the status for Cristina changes from 'Away' to 'Just Arrived' or from 'Extended Away' to 'Just Arrived' via the cristina status dropdown [input_select.cristina_status_dropdown].",
|
|
"conditions": "The house must be marked as occupied, meaning the house occupied [input_boolean.house_occupied] input boolean has been on and stable for at least five minutes.",
|
|
"action": "Plays a fanfare sound and announces a randomly chosen welcome message for Mamma on all configured media players using the voice announcement script [script.voice_announcement]."
|
|
},
|
|
"human_like": "Announces Cristina's arrival home with a cheerful fanfare and a random welcome message when she changes her status to 'Just Arrived' and the house is occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina home [input_boolean.cristina_home] changes to off. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute voice announcement script [script.voice_announcement] with media players set to auto, a 2-second expiration, and a random speech message from a predefined list announcing Mamma's departure.",
|
|
"natural_language": {
|
|
"trigger": "When the status of cristina home [input_boolean.cristina_home] changes to off, indicating that Cristina has left.",
|
|
"conditions": "The house must be marked as occupied via house occupied [input_boolean.house_occupied] and must remain in that state for at least five minutes.",
|
|
"action": "Plays a random voice announcement on available media players, stating that Mamma has left the house. The announcement expires after two seconds."
|
|
},
|
|
"human_like": "Announces when Cristina leaves the house, but only if the house has been occupied for at least five minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_arrived_work",
|
|
"result": {
|
|
"structured": "TRIGGER: When person cristina falbo [person.cristina_falbo] enters zone Cristina's Work [zone.cristina_s_work]. CONDITIONS: cristina home [input_boolean.cristina_home] is off AND workday sensor [binary_sensor.workday_sensor] is on AND current time is before 10:00:00 AND person cristina falbo [person.cristina_falbo] state is Cristina's Work. ACTIONS: Execute script cristina arrived work [script.cristina_arrived_work] with data who: cfalb AND execute script general notification [script.general_notification] with data title: Cristina is at work, message: Cristina has arrived at work!, devices: jk, priority: passive, tag: cristina-arrived-work.",
|
|
"natural_language": {
|
|
"trigger": "When Cristina [person.cristina_falbo] enters her work zone [zone.cristina_s_work].",
|
|
"conditions": "Cristina must not be marked as home [input_boolean.cristina_home is off], it must be a workday [workday sensor is on], the time must be before 10:00 AM, and Cristina's location state must be confirmed as 'Cristina's Work'.",
|
|
"action": "Run the 'Cristina arrived work' script [script.cristina_arrived_work] with Cristina's identifier, and send a passive notification titled 'Cristina is at work' to a specific device [jk]."
|
|
},
|
|
"human_like": "Sends a notification and runs a script when Cristina arrives at work on a workday morning, confirming she is not at home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When person cristina falbo [person.cristina_falbo] OR device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] leaves zone.home OR When person cristina falbo [person.cristina_falbo] OR device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] changes state to not_home OR When cristina presence [binary_sensor.cristina_presence] changes to off OR When cristina presence [binary_sensor.cristina_presence] remains off for 3 minutes OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: (cristina status dropdown [input_select.cristina_status_dropdown] is NOT 'Just Arrived') AND (cristina home [input_boolean.cristina_home] is on) AND (person cristina falbo [person.cristina_falbo] is not_home) AND (cristina presence [binary_sensor.cristina_presence] is off OR device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] is not_home). ACTIONS: Execute script Cristina Away [script.cristina_away].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in several situations: when Cristina or her phone leaves the home zone; when Cristina's person entity or her phone tracker changes to a 'not_home' state; when the Cristina presence sensor turns off; when the Cristina presence sensor has been off for three minutes; when automations are reloaded; or when Home Assistant starts up.",
|
|
"conditions": "All of the following must be true: Cristina's status dropdown is not set to 'Just Arrived'; the 'cristina home' input boolean is turned on; Cristina's person entity shows she is not home; and either the Cristina presence sensor is off or her phone tracker shows it is not home.",
|
|
"action": "Runs the 'Cristina Away' script."
|
|
},
|
|
"human_like": "This automation runs a script to handle Cristina's departure when she leaves home, based on multiple presence indicators and a specific status check.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_bed_awake",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina sleep state [input_select.cristina_sleep_state] changes to 'Just Got Up' AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set cristina sleep state [input_select.cristina_sleep_state] to 'Awake'.",
|
|
"natural_language": {
|
|
"trigger": "When the cristina sleep state [input_select.cristina_sleep_state] is set to 'Just Got Up' and stays in that state for five minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Changes the cristina sleep state [input_select.cristina_sleep_state] from 'Just Got Up' to 'Awake'."
|
|
},
|
|
"human_like": "Automatically updates Cristina's sleep state to 'Awake' after she has been 'Just Got Up' for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_bed_just_got_up",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina bed occupied [binary_sensor.cristina_bed_occupied] changes to off. CONDITIONS: None. ACTIONS: Set cristina sleep state [input_select.cristina_sleep_state] to 'Just Got Up'.",
|
|
"natural_language": {
|
|
"trigger": "When the cristina bed occupied [binary_sensor.cristina_bed_occupied] sensor indicates the bed is no longer occupied.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Changes the cristina sleep state [input_select.cristina_sleep_state] to 'Just Got Up'."
|
|
},
|
|
"human_like": "Updates Cristina's sleep status to 'Just Got Up' when she gets out of bed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_bed_just_laid_down",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina bed occupied [binary_sensor.cristina_bed_occupied] becomes occupied (on). CONDITIONS: cristina sleep state [input_select.cristina_sleep_state] is NOT set to 'Sleep'. ACTIONS: Set cristina sleep state [input_select.cristina_sleep_state] to 'Just Laid Down'.",
|
|
"natural_language": {
|
|
"trigger": "When the bed occupancy sensor for Cristina [binary_sensor.cristina_bed_occupied] detects that the bed is occupied.",
|
|
"conditions": "The automation only runs if Cristina's current sleep state [input_select.cristina_sleep_state] is not already set to 'Sleep'.",
|
|
"action": "Updates Cristina's sleep state [input_select.cristina_sleep_state] to 'Just Laid Down'."
|
|
},
|
|
"human_like": "Updates Cristina's sleep status to 'Just Laid Down' when she gets into bed, as long as she wasn't already asleep.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_bed_sleep",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina sleep state [input_select.cristina_sleep_state] changes to 'Just Laid Down' AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set cristina sleep state [input_select.cristina_sleep_state] to 'Sleep'.",
|
|
"natural_language": {
|
|
"trigger": "When the cristina sleep state [input_select.cristina_sleep_state] is set to 'Just Laid Down' and stays that way for five minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Changes the cristina sleep state [input_select.cristina_sleep_state] to 'Sleep'."
|
|
},
|
|
"human_like": "Updates Cristina's sleep status to 'Sleep' after she has been 'Just Laid Down' for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_commute_arrived_glenview_station",
|
|
"result": {
|
|
"structured": "TRIGGER: When person cristina falbo [person.cristina_falbo] enters zone glenview train station [zone.glenview_train_station]. CONDITIONS: cristina home [input_boolean.cristina_home] is off AND time is after 12:00:00 AND cristina commuting [input_boolean.cristina_commuting] is on. ACTIONS: Turn off Cristina Commute Departed Union Station [automation.cristina_commute_departed_union_station] AND Cristina Commute Passing Morton Grove Station [automation.cristina_commute_passing_morton_grove_station] AND Cristina Commute Arrived at Glenview Station [automation.cristina_commute_arrived_at_glenview_station].",
|
|
"natural_language": {
|
|
"trigger": "When Cristina [person.cristina_falbo] enters the Glenview Train Station zone [zone.glenview_train_station].",
|
|
"conditions": "Cristina is not marked as home (cristina home [input_boolean.cristina_home] is off), the current time is after 12:00 PM, and Cristina is marked as currently commuting (cristina commuting [input_boolean.cristina_commuting] is on).",
|
|
"action": "Turns off a set of related commute automations: Cristina Commute Departed Union Station [automation.cristina_commute_departed_union_station], Cristina Commute Passing Morton Grove Station [automation.cristina_commute_passing_morton_grove_station], and itself, Cristina Commute Arrived at Glenview Station [automation.cristina_commute_arrived_at_glenview_station]."
|
|
},
|
|
"human_like": "When Cristina arrives at Glenview Station in the afternoon while commuting, this automation stops the other commute tracking automations.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_commute_arrived_union_station",
|
|
"result": {
|
|
"structured": "TRIGGER: When person cristina falbo [person.cristina_falbo] enters zone union station [zone.union_station]. CONDITIONS: (cristina home [input_boolean.cristina_home] is off) AND (person cristina falbo [person.cristina_falbo] state is Union Station) AND (current time is before 12:00:00). ACTIONS: Turn on Cristina Commute Departed Union Station [automation.cristina_commute_departed_union_station], Cristina Commute Passing Morton Grove Station [automation.cristina_commute_passing_morton_grove_station], and Cristina Commute Arrived at Glenview Station [automation.cristina_commute_arrived_at_glenview_station]. Then, execute script voice announcement [script.voice_announcement] with a random speech message announcing the arrival.",
|
|
"natural_language": {
|
|
"trigger": "When Cristina Falbo [person.cristina_falbo] enters the Union Station zone [zone.union_station].",
|
|
"conditions": "Cristina must not be marked as home (cristina home [input_boolean.cristina_home] is off), her current state must be reported as 'Union Station', and the time must be before noon (12:00:00).",
|
|
"action": "The automation turns on three related commute automations and then uses the voice announcement script [script.voice_announcement] to play a randomly selected message announcing that 'Mamma' has arrived at Union Station."
|
|
},
|
|
"human_like": "Announces when Cristina arrives at Union Station in the morning and prepares the system for her commute home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_commute_departed_union_station",
|
|
"result": {
|
|
"structured": "TRIGGER: When person cristina falbo [person.cristina_falbo] leaves zone union station [zone.union_station]. CONDITIONS: (cristina home [input_boolean.cristina_home] is off) AND (time is after 12:00:00) AND (cristina commuting [input_boolean.cristina_commuting] is on). ACTIONS: Execute voice announcement script [script.voice_announcement] with a random speech message from a predefined list.",
|
|
"natural_language": {
|
|
"trigger": "When Cristina [person.cristina_falbo] leaves the Union Station area [zone.union_station].",
|
|
"conditions": "If Cristina is not marked as being at home [input_boolean.cristina_home is off], the current time is after 12:00 PM, and Cristina is currently marked as commuting [input_boolean.cristina_commuting is on].",
|
|
"action": "Plays a voice announcement on configured media players, selecting a random message from a list of phrases to notify that Cristina's train has departed."
|
|
},
|
|
"human_like": "Announces when Cristina has left Union Station on her commute home, provided she is not at home and it's after noon.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_commute_passing_morton_grove_station",
|
|
"result": {
|
|
"structured": "TRIGGER: When person cristina falbo [person.cristina_falbo] enters zone morton grove train station [zone.morton_grove_train_station]. CONDITIONS: cristina home [input_boolean.cristina_home] is off AND time is after 12:00:00 AND cristina commuting [input_boolean.cristina_commuting] is on. ACTIONS: Execute script voice announcement [script.voice_announcement] with parameters: media_players set to auto, priority normal, expires_in 3, and a speech message randomly selected from three predefined phrases announcing that Mamma's train will arrive within five minutes.",
|
|
"natural_language": {
|
|
"trigger": "When Cristina's location tracker indicates she has entered the Morton Grove train station zone.",
|
|
"conditions": "Cristina is not marked as being at home, the current time is after noon, and she is marked as currently commuting.",
|
|
"action": "Plays a random voice announcement on configured media players, stating that Mamma's train will arrive within five minutes."
|
|
},
|
|
"human_like": "Announces that Cristina's train is arriving soon when she enters the Morton Grove station zone during her commute home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_daily_medication_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: At 07:30:00 daily OR When timer cristina daily medication timer [timer.cristina_daily_medication_timer] finishes OR When cristina home [input_boolean.cristina_home] turns on and remains on for 15 minutes. CONDITIONS: cristina daily medication taken [input_boolean.cristina_daily_medication_taken] is off AND cristina daily medication timer [timer.cristina_daily_medication_timer] is idle AND cristina is awake [input_boolean.cristina_is_awake] is on AND (cristina home [input_boolean.cristina_home] is on OR cristina status dropdown [input_select.cristina_status_dropdown] is Extended Away). ACTIONS: Send a critical notification to mobile_app_cfalb2 with actions 'Medication Taken' and 'Snooze 30 Minutes'. Wait up to 30 minutes for a notification action response. If no response within timeout, start timer cristina daily medication timer [timer.cristina_daily_medication_timer]. If response is 'Medication Taken', turn on cristina daily medication taken [input_boolean.cristina_daily_medication_taken], cancel timer cristina daily medication timer [timer.cristina_daily_medication_timer], and turn off automation cristina daily medication reminder [automation.cristina_daily_medication_reminder]. If response is 'Snooze 30 Minutes', start timer cristina daily medication timer [timer.cristina_daily_medication_timer].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers daily at 7:30 AM, when the cristina daily medication timer [timer.cristina_daily_medication_timer] finishes, or when cristina home [input_boolean.cristina_home] has been on for 15 minutes.",
|
|
"conditions": "All of the following must be true: the medication has not been marked as taken (cristina daily medication taken [input_boolean.cristina_daily_medication_taken] is off), the medication timer is not currently running (cristina daily medication timer [timer.cristina_daily_medication_timer] is idle), Cristina is awake (cristina is awake [input_boolean.cristina_is_awake] is on), and either Cristina is home (cristina home [input_boolean.cristina_home] is on) or her status is set to 'Extended Away' (cristina status dropdown [input_select.cristina_status_dropdown] is Extended Away).",
|
|
"action": "Sends a critical push notification to Cristina's phone with the reminder and two action buttons: 'Medication Taken' and 'Snooze 30 Minutes'. The system then waits for her response for up to 30 minutes. If she doesn't respond, it starts a timer to retry later. If she taps 'Medication Taken', it marks the medication as taken, cancels any pending timer, and disables this reminder for the day. If she taps 'Snooze', it starts a 30-minute timer to trigger the reminder again."
|
|
},
|
|
"human_like": "Sends Cristina a morning medication reminder at 7:30 AM or when she arrives home, but only if she's awake and hasn't already taken it, allowing her to confirm or snooze the notification.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_medication_reminder_reset",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 03:00:01. CONDITIONS: None. ACTIONS: Turn off cristina daily medication taken [input_boolean.cristina_daily_medication_taken] AND cancel cristina daily medication timer [timer.cristina_daily_medication_timer] AND turn on Cristina Daily Medication Reminder [automation.cristina_daily_medication_reminder].",
|
|
"natural_language": {
|
|
"trigger": "At exactly 3:00:01 AM each day.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Resets the daily medication reminder system by turning off the flag for medication taken, cancelling any active timer, and re-enabling the reminder automation."
|
|
},
|
|
"human_like": "Resets Cristina's daily medication reminder system every morning at 3 AM to prepare for a new day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_departed_work",
|
|
"result": {
|
|
"structured": "TRIGGER: When person cristina falbo [person.cristina_falbo] leaves the zone zone.cristina_s_work OR When paramount cristina distance [sensor.paramount_cristina_distance] becomes greater than 1. CONDITIONS: cristina home [input_boolean.cristina_home] is off AND workday sensor [binary_sensor.workday_sensor] is on AND current time is after 16:00:00 AND paramount cristina direction of travel [sensor.paramount_cristina_direction_of_travel] is away_from. ACTIONS: Execute script Cristina Left Work [script.cristina_left_work] with data {who: cfalb}.",
|
|
"natural_language": {
|
|
"trigger": "When Cristina leaves her work zone or when the distance tracker for Cristina shows she is more than 1 unit away.",
|
|
"conditions": "Cristina must not be marked as home, it must be a workday, the time must be after 4:00 PM, and Cristina's direction of travel must be away from the location.",
|
|
"action": "Runs the script 'Cristina Left Work' to handle her departure from the office."
|
|
},
|
|
"human_like": "Detects when Cristina leaves work on a workday after 4 PM and runs a script to handle her departure.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_extended_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina status dropdown [input_select.cristina_status_dropdown] remains set to 'Away' for 24 hours OR When home cristina distance [sensor.home_cristina_distance] becomes greater than 200. CONDITIONS: None. ACTIONS: Set cristina status dropdown [input_select.cristina_status_dropdown] to 'Extended Away'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if the status dropdown for Cristina [input_select.cristina_status_dropdown] has been set to 'Away' for a continuous period of 24 hours, or if the distance sensor for Cristina [sensor.home_cristina_distance] reports a value greater than 200.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Changes Cristina's status to 'Extended Away' by updating the dropdown [input_select.cristina_status_dropdown] to that option."
|
|
},
|
|
"human_like": "Updates Cristina's status to 'Extended Away' if she has been marked as 'Away' for a full day or if her distance from home exceeds 200 units.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_friday_medication_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 21:30:00 OR When timer.cristina_friday_medication_timer finishes. CONDITIONS: Today is Friday (ISO weekday 5) AND cristina friday medication taken [input_boolean.cristina_friday_medication_taken] is off. ACTIONS: 1. Define variables action_taken and action_snooze. 2. Send a critical notification to mobile_app_cfalb2 with title 'Friday Medication Reminder' and message 'Cristina, it's time to take your Friday evening medication.', including two actions: 'Medication Taken' and 'Snooze 30 Minutes'. 3. Wait for either the 'Medication Taken' action OR the 'Snooze 30 Minutes' action to be pressed, with a timeout of 30 minutes. 4. After waiting, choose: IF the wait timed out (no action pressed within 30 minutes), start cristina friday medication timer [timer.cristina_friday_medication_timer]. IF the 'Medication Taken' action was pressed, turn on cristina friday medication taken [input_boolean.cristina_friday_medication_taken] AND cancel cristina friday medication timer [timer.cristina_friday_medication_timer]. IF the 'Snooze 30 Minutes' action was pressed, start cristina friday medication timer [timer.cristina_friday_medication_timer].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at 9:30 PM sharp, or when the cristina friday medication timer [timer.cristina_friday_medication_timer] finishes.",
|
|
"conditions": "It only runs if today is a Friday, and if the status cristina friday medication taken [input_boolean.cristina_friday_medication_taken] is off, indicating the medication hasn't been logged as taken yet.",
|
|
"action": "First, it sends a critical push notification to Cristina's phone with a reminder to take her Friday evening medication. The notification includes two buttons: 'Medication Taken' and 'Snooze 30 Minutes'. The automation then waits for Cristina to press one of these buttons, but will only wait for up to 30 minutes. If she presses 'Medication Taken', it marks the medication as taken by turning on cristina friday medication taken [input_boolean.cristina_friday_medication_taken] and cancels any active timer. If she presses 'Snooze 30 Minutes', it starts the cristina friday medication timer [timer.cristina_friday_medication_timer] to trigger the reminder again in 30 minutes. If she doesn't press any button within 30 minutes, it also starts the timer to re-trigger the reminder."
|
|
},
|
|
"human_like": "Sends Cristina a reminder to take her Friday evening medication at 9:30 PM, and allows her to confirm she's taken it or snooze the reminder for 30 minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_friday_medication_reminder_reset",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 03:00:01. CONDITIONS: None. ACTIONS: Turn off cristina friday medication taken [input_boolean.cristina_friday_medication_taken] AND cancel cristina friday medication timer [timer.cristina_friday_medication_timer].",
|
|
"natural_language": {
|
|
"trigger": "At exactly 3:00:01 AM.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Resets the medication tracking by turning off the 'cristina friday medication taken' [input_boolean.cristina_friday_medication_taken] status and cancelling the 'cristina friday medication timer' [timer.cristina_friday_medication_timer]."
|
|
},
|
|
"human_like": "Resets the Friday medication reminder system every morning at 3 AM to prepare for the new day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina presence [binary_sensor.cristina_presence] changes to on OR When person cristina falbo [person.cristina_falbo] or device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] enters zone.home OR When person cristina falbo [person.cristina_falbo] or device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] changes state to home OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: cristina home [input_boolean.cristina_home] is off AND (cristina presence [binary_sensor.cristina_presence] is on OR person cristina falbo [person.cristina_falbo] is home OR device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] is home OR person cristina falbo [person.cristina_falbo] or device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] is in zone.home). ACTIONS: Run script Cristina Home [script.cristina_home].",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the cristina presence [binary_sensor.cristina_presence] sensor turns on, when either person cristina falbo [person.cristina_falbo] or the device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] enters the home zone, when either of those entities changes its state to 'home', when automations are reloaded, or when Home Assistant itself starts up.",
|
|
"conditions": "For the automation to proceed, the cristina home [input_boolean.cristina_home] must be in the 'off' state. Additionally, at least one of the following must be true: the cristina presence [binary_sensor.cristina_presence] is on, person cristina falbo [person.cristina_falbo] is home, the device tracker cfalb iphone 14 [device_tracker.cfalb_iphone_14] is home, or either the person or device tracker is located within the home zone.",
|
|
"action": "The automation executes the Cristina Home [script.cristina_home] script."
|
|
},
|
|
"human_like": "This automation runs a 'welcome home' script for Cristina when she arrives home, ensuring it only runs if she is not already marked as home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_in_bed",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina sleeping [binary_sensor.cristina_sleeping] remains on for 1 minute OR When cristina sleep state [input_select.cristina_sleep_state] changes to Sleep OR When cristina sleep state [input_select.cristina_sleep_state] changes to Just Laid Down. CONDITIONS: (cristina sleep state [input_select.cristina_sleep_state] is Sleep OR cristina sleep state [input_select.cristina_sleep_state] is Just Laid Down) AND cristina home [input_boolean.cristina_home] is on AND binary sensor bedtime [binary_sensor.bedtime] is on. ACTIONS: Turn on cristina in bed [input_boolean.cristina_in_bed] AND turn off cristina is awake [input_boolean.cristina_is_awake].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor cristina sleeping [binary_sensor.cristina_sleeping] detects sleeping for at least one minute, or when the sleep state selector cristina sleep state [input_select.cristina_sleep_state] is set to either 'Sleep' or 'Just Laid Down'.",
|
|
"conditions": "If the sleep state is currently either 'Sleep' or 'Just Laid Down', the person cristina home [input_boolean.cristina_home] is marked as being at home, and the bedtime sensor binary sensor bedtime [binary_sensor.bedtime] indicates it is bedtime.",
|
|
"action": "Marks Cristina as being in bed by turning on cristina in bed [input_boolean.cristina_in_bed] and simultaneously marks her as not awake by turning off cristina is awake [input_boolean.cristina_is_awake]."
|
|
},
|
|
"human_like": "Marks Cristina as being in bed and not awake when she is sleeping, her sleep state is set accordingly, she is home, and it is bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_is_commuting",
|
|
"result": {
|
|
"structured": "TRIGGER: When person cristina falbo [person.cristina_falbo] remains at Morton Grove Train Station OR Union Station for 2 minutes. CONDITIONS: cristina home [input_boolean.cristina_home] is off AND cristina commuting [input_boolean.cristina_commuting] is off. ACTIONS: Turn on cristina commuting [input_boolean.cristina_commuting] AND turn on Cristina is Not Commuting [automation.cristina_is_not_commuting].",
|
|
"natural_language": {
|
|
"trigger": "When Cristina's location [person.cristina_falbo] stays at either Morton Grove Train Station or Union Station for at least two minutes.",
|
|
"conditions": "Cristina is currently marked as not at home (cristina home [input_boolean.cristina_home] is off) and she is not already marked as commuting (cristina commuting [input_boolean.cristina_commuting] is off).",
|
|
"action": "Mark Cristina as commuting by turning on the cristina commuting [input_boolean.cristina_commuting] flag and also enable the companion automation 'Cristina is Not Commuting' [automation.cristina_is_not_commuting]."
|
|
},
|
|
"human_like": "Marks Cristina as commuting when she stays at a train station for two minutes, provided she is not already home or commuting.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_is_not_commuting",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina home [input_boolean.cristina_home] turns on. CONDITIONS: cristina commuting [input_boolean.cristina_commuting] is on. ACTIONS: Turn off cristina commuting [input_boolean.cristina_commuting] AND turn off Cristina is Not Commuting [automation.cristina_is_not_commuting].",
|
|
"natural_language": {
|
|
"trigger": "When the cristina home [input_boolean.cristina_home] status changes to on.",
|
|
"conditions": "The cristina commuting [input_boolean.cristina_commuting] status must currently be on.",
|
|
"action": "Turns off the cristina commuting [input_boolean.cristina_commuting] status and also disables this automation itself, Cristina is Not Commuting [automation.cristina_is_not_commuting]."
|
|
},
|
|
"human_like": "When Cristina arrives home, this automation marks her as no longer commuting and then turns itself off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_wake_up",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina sleeping [binary_sensor.cristina_sleeping] remains off for 2 minutes OR When cristina sleep state [input_select.cristina_sleep_state] changes to Awake OR When cristina sleep state [input_select.cristina_sleep_state] remains Just Got Up for 2 minutes. CONDITIONS: cristina sleeping [binary_sensor.cristina_sleeping] is off AND cristina home [input_boolean.cristina_home] is on AND cristina in bed [input_boolean.cristina_in_bed] is on. ACTIONS: Turn off cristina in bed [input_boolean.cristina_in_bed] AND Turn on cristina is awake [input_boolean.cristina_is_awake].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the cristina sleeping [binary_sensor.cristina_sleeping] sensor indicates no sleep activity for at least two minutes, or when the cristina sleep state [input_select.cristina_sleep_state] changes to 'Awake', or when the sleep state remains set to 'Just Got Up' for at least two minutes.",
|
|
"conditions": "All of the following must be true: the cristina sleeping [binary_sensor.cristina_sleeping] sensor must be off, the cristina home [input_boolean.cristina_home] flag must be on, and the cristina in bed [input_boolean.cristina_in_bed] flag must be on.",
|
|
"action": "The automation marks Cristina as out of bed by turning off the cristina in bed [input_boolean.cristina_in_bed] flag and marks her as awake by turning on the cristina is awake [input_boolean.cristina_is_awake] flag."
|
|
},
|
|
"human_like": "Marks Cristina as awake and out of bed when she stops sleeping and is at home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_on_dark_outside",
|
|
"result": {
|
|
"structured": "TRIGGER: When sun sun [sun.sun] sunset occurs OR When sun sun [sun.sun] sunset occurs with an offset of 10 minutes OR When sun sun [sun.sun] elevation is below 4.0 OR When tempest illuminance [sensor.tempest_illuminance] is below 30 OR When automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: dark outside [input_boolean.dark_outside] is off AND sun sun [sun.sun] elevation is below 4.0 AND tempest illuminance [sensor.tempest_illuminance] is below 30. ACTIONS: Turn on dark outside [input_boolean.dark_outside].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by any of the following: the sunset event, the sunset event with a 10-minute delay, the sun's elevation dropping below 4.0 degrees, the outdoor illuminance falling below 30 lux, an automation reload event, or when Home Assistant starts up.",
|
|
"conditions": "All of the following must be true: the dark outside [input_boolean.dark_outside] flag must be off, the sun's elevation must be below 4.0 degrees, and the outdoor illuminance must be below 30 lux.",
|
|
"action": "Sets the dark outside [input_boolean.dark_outside] flag to on."
|
|
},
|
|
"human_like": "Turns on the 'dark outside' indicator when it's dark enough outside, based on sunset, sun elevation, and measured illuminance.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_dark_outside",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs OR When sunrise occurs with a 10-minute offset before sunrise OR When sun sun [sun.sun] elevation is above -4.0 OR When tempest illuminance [sensor.tempest_illuminance] is above 51 for 2 minutes OR When automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: dark outside [input_boolean.dark_outside] is on AND sun sun [sun.sun] elevation is above -4.0 AND tempest illuminance [sensor.tempest_illuminance] is above 31. ACTIONS: Turn off dark outside [input_boolean.dark_outside].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at sunrise, 10 minutes before sunrise, when the sun's elevation rises above -4.0 degrees, when the outdoor illuminance measured by tempest illuminance [sensor.tempest_illuminance] stays above 51 lux for at least two minutes, when an automation is reloaded, or when Home Assistant itself starts.",
|
|
"conditions": "All conditions must be true: the dark outside [input_boolean.dark_outside] flag must be on, the sun's elevation must be above -4.0 degrees, and the outdoor illuminance from tempest illuminance [sensor.tempest_illuminance] must be above 31 lux.",
|
|
"action": "Turns off the dark outside [input_boolean.dark_outside] flag."
|
|
},
|
|
"human_like": "Turns off the 'dark outside' indicator when it's light enough outside, based on sunrise, sun elevation, and measured illuminance.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "dining_room_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When dining room mode [input_select.dining_room] changes to Off OR when lighting automations [input_boolean.lighting_automations] changes to on. CONDITIONS: Dining Room Lights [light.dining_room_lights] is on AND dining room mode [input_select.dining_room] is Off. ACTIONS: Turn off Dining Room Lights [light.dining_room_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the dining room mode [input_select.dining_room] is set to 'Off', or when the lighting automations [input_boolean.lighting_automations] are switched on.",
|
|
"conditions": "The Dining Room Lights [light.dining_room_lights] must be currently on, and the dining room mode [input_select.dining_room] must be set to 'Off'.",
|
|
"action": "Turns off the Dining Room Lights [light.dining_room_lights]."
|
|
},
|
|
"human_like": "Turns off the dining room lights when the room mode is set to 'Off' and the lights are currently on, or when lighting automations are enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "dining_room_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When dining room occupied [input_boolean.dining_room_occupied] turns on OR when house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND dining room mode [input_select.dining_room] is NOT Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set dining room mode [input_select.dining_room] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the dining room is marked as occupied, when the overall house mode is set to Auto, or when the house is marked as occupied.",
|
|
"conditions": "All of the following must be true: the house must be marked as occupied, the dining room's current mode must not already be Auto, the bedtime mode must be off, and the overall house mode must be set to Auto.",
|
|
"action": "Changes the dining room mode to Auto."
|
|
},
|
|
"human_like": "Automatically sets the dining room to 'Auto' mode when the house is occupied, not in bedtime mode, and the dining room itself is occupied or the house mode changes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "dining_room_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when house status [input_select.house] changes to Away OR when bedtime [input_boolean.bedtime] turns on OR when Home Assistant starts OR when an automation is reloaded. CONDITIONS: (dining room mode [input_select.dining_room] is NOT set to Off) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set dining room mode [input_select.dining_room] to Off.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] status turns off, when the overall house status [input_select.house] is set to Away, when the bedtime [input_boolean.bedtime] mode is turned on, when Home Assistant starts up, or when automations are reloaded.",
|
|
"conditions": "The automation only runs if the dining room mode [input_select.dining_room] is not already set to Off. Additionally, at least one of the following must be true: the house is not occupied, the house is in Away mode, or bedtime mode is active.",
|
|
"action": "Sets the dining room mode [input_select.dining_room] to Off."
|
|
},
|
|
"human_like": "Turns off the dining room mode when the house is unoccupied, set to away, at bedtime, or when the system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "dining_room_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When the room presence devices group [group.room_presence_devices] reports no devices in the 'living_room' state for 2 minutes OR When dining room north motion sensor motion [binary_sensor.dining_room_north_motion_sensor_motion] remains off for 5 minutes OR When dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] changes to off OR When dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] remains off for 5 minutes. CONDITIONS: (dining room occupied [input_boolean.dining_room_occupied] is on) AND ((guest mode [input_boolean.guest_mode] is on AND dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] is off for 5 minutes) OR (guest mode [input_boolean.guest_mode] is off AND dining room north motion sensor motion [binary_sensor.dining_room_north_motion_sensor_motion] is off for 5 minutes)) AND (the room presence devices group [group.room_presence_devices] reports no devices in the 'living_room' state). ACTIONS: Turn off dining room occupied [input_boolean.dining_room_occupied], wait 2 seconds, then turn on dining room lighting automations [input_boolean.dining_room_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: if no devices in the room presence devices group [group.room_presence_devices] are reported as being in the living room for at least two minutes; if the dining room north motion sensor motion [binary_sensor.dining_room_north_motion_sensor_motion] has not detected motion for five minutes; if the dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] changes to 'off'; or if the dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] has been 'off' for five minutes.",
|
|
"conditions": "For the automation to run, the dining room must currently be marked as occupied (dining room occupied [input_boolean.dining_room_occupied] is 'on'), and no devices in the room presence devices group [group.room_presence_devices] can be in the living room. Additionally, depending on the guest mode setting, a specific motion sensor must be inactive: if guest mode [input_boolean.guest_mode] is on, the dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] must be 'off' for five minutes. If guest mode is off, the dining room north motion sensor motion [binary_sensor.dining_room_north_motion_sensor_motion] must be 'off' for five minutes.",
|
|
"action": "The automation will mark the dining room as unoccupied by turning off dining room occupied [input_boolean.dining_room_occupied]. After a two-second delay, it will then turn on dining room lighting automations [input_boolean.dining_room_lighting_automations]."
|
|
},
|
|
"human_like": "Marks the dining room as unoccupied and re-enables lighting automations when no motion is detected and no presence devices are in the living room, with different timing rules depending on whether guest mode is active.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "dining_room_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When dining room north motion sensor motion [binary_sensor.dining_room_north_motion_sensor_motion] turns on OR When dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] turns on OR When Dining Room Lights [light.dining_room_lights] turn on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND dining room occupied [input_boolean.dining_room_occupied] is off AND (At least one device in the room presence devices group [group.room_presence_devices] reports its state as 'living_room' OR dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] is on). ACTIONS: Turn on dining room occupied [input_boolean.dining_room_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the dining room north motion sensor motion [binary_sensor.dining_room_north_motion_sensor_motion], when the dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] indicates occupancy, or when the Dining Room Lights [light.dining_room_lights] are turned on.",
|
|
"conditions": "The house must be marked as occupied via house occupied [input_boolean.house_occupied], the dining room must currently be marked as unoccupied via dining room occupied [input_boolean.dining_room_occupied], and either at least one device in the room presence devices group [group.room_presence_devices] is reporting its location as the living room, or the dining room north motion sensor occupancy [binary_sensor.dining_room_north_motion_sensor_occupancy] is actively detecting occupancy.",
|
|
"action": "Marks the dining room as occupied by turning on dining room occupied [input_boolean.dining_room_occupied]."
|
|
},
|
|
"human_like": "Marks the dining room as occupied when motion, occupancy, or lights turn on, provided the house is occupied and the room isn't already marked as such.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "district_school_year_activate",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the date set in district 34 first day of school [input_datetime.district_34_first_day_of_school] OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: The current date and time is after the date set in district 34 first day of school [input_datetime.district_34_first_day_of_school] AND before the date set in district 34 last day of school [input_datetime.district_34_last_day_of_school]. ACTIONS: Turn on district school year active [input_boolean.district_school_year_active] AND Turn on primary school day on automation [automation.primary_school_day_on], primary school day off automation [automation.primary_school_day_off], nino school day on automation [automation.nino_school_day_on], nino school day off automation [automation.nino_school_day_off], school departure reminder automation [automation.school_departure_reminder], and school day reminder automation [automation.school_day_reminder].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at the specific date and time set for the district 34 first day of school [input_datetime.district_34_first_day_of_school]. It also triggers whenever automations are reloaded or when the Home Assistant system starts up.",
|
|
"conditions": "The automation only proceeds if the current date and time falls within the school year, meaning it is after the first day of school and before the last day of school, as defined by district 34 first day of school [input_datetime.district_34_first_day_of_school] and district 34 last day of school [input_datetime.district_34_last_day_of_school].",
|
|
"action": "It activates the school year by turning on the district school year active [input_boolean.district_school_year_active] flag and enables a set of related automations for managing the school day schedule and reminders."
|
|
},
|
|
"human_like": "Activates the school year schedule and related automations when the current date is within the defined school year period.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "district_school_year_deactivate",
|
|
"result": {
|
|
"structured": "TRIGGER: At the time specified by district 34 last day of school [input_datetime.district_34_last_day_of_school]. CONDITIONS: district school year active [input_boolean.district_school_year_active] is on. ACTIONS: Turn off district school year active [input_boolean.district_school_year_active] AND turn off primary school day on automation [automation.primary_school_day_on], primary school day off automation [automation.primary_school_day_off], school departure reminder automation [automation.school_departure_reminder], and school day reminder automation [automation.school_day_reminder].",
|
|
"natural_language": {
|
|
"trigger": "When the scheduled time for the district 34 last day of school [input_datetime.district_34_last_day_of_school] is reached.",
|
|
"conditions": "The district school year active [input_boolean.district_school_year_active] status must be currently set to on.",
|
|
"action": "Deactivates the school year by turning off the district school year active [input_boolean.district_school_year_active] status and also disables the related school day automations: primary school day on automation [automation.primary_school_day_on], primary school day off automation [automation.primary_school_day_off], school departure reminder automation [automation.school_departure_reminder], and school day reminder automation [automation.school_day_reminder]."
|
|
},
|
|
"human_like": "Deactivates the school year status and turns off related school automations on the last day of school.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "doorbell_ring",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door camera doorbell [binary_sensor.front_door_camera_doorbell] changes to on. CONDITIONS: None. ACTIONS: Execute activate doorbell chime script [script.activate_doorbell_chime], execute display doorbell snapshot on tv script [script.display_doorbell_snapshot_on_tv], and execute general notification script [script.general_notification] with data: title 'Front Door', message 'Somebody is at the front door!', devices 'all', priority 'time-sensitive', tag 'doorbell-ring'.",
|
|
"natural_language": {
|
|
"trigger": "When the front door camera doorbell [binary_sensor.front_door_camera_doorbell] detects that the doorbell has been pressed, indicated by its state changing to 'on'.",
|
|
"conditions": "There are no conditions that must be met for this automation to proceed.",
|
|
"action": "It plays a chime sound via the activate doorbell chime script [script.activate_doorbell_chime], shows a snapshot from the doorbell camera on the TV using the display doorbell snapshot on tv script [script.display_doorbell_snapshot_on_tv], and sends a high-priority notification to all devices with the message 'Somebody is at the front door!' via the general notification script [script.general_notification]."
|
|
},
|
|
"human_like": "When someone rings the doorbell, it plays a chime, shows the visitor on the TV, and sends a notification to your devices.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "door_left_open",
|
|
"result": {
|
|
"structured": "TRIGGER: When Interior Garage Door [binary_sensor.interior_garage_door] OR Front Door Status [binary_sensor.front_door_status] remains open (on) for 5 minutes OR for 10 minutes OR for 15 minutes OR when timer.finished event occurs for snooze door left open automation timer [timer.snooze_door_left_open_automation]. CONDITIONS: snooze door left open automation timer [timer.snooze_door_left_open_automation] is idle AND (Interior Garage Door [binary_sensor.interior_garage_door] is on OR Front Door Status [binary_sensor.front_door_status] is on). ACTIONS: Set variable action_snooze to 'SNOOZE_' concatenated with context.id. Execute voice announcement script [script.voice_announcement] with a high-priority police-whistle sound and a message stating the door has been open too long. Execute general notification script [script.general_notification] with a time-sensitive notification containing a 'Snooze 30 Minutes' action button. Wait for a mobile_app_notification_action event with action matching the action_snooze variable for up to 3 minutes. If the wait condition is met, start snooze door left open automation timer [timer.snooze_door_left_open_automation].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if either the Interior Garage Door [binary_sensor.interior_garage_door] or the Front Door Status [binary_sensor.front_door_status] remains open for 5, 10, or 15 minutes. It also triggers when the snooze timer [timer.snooze_door_left_open_automation] finishes.",
|
|
"conditions": "The automation only runs if the snooze timer [timer.snooze_door_left_open_automation] is not currently running (idle) and if at least one of the doors, either the Interior Garage Door [binary_sensor.interior_garage_door] or the Front Door Status [binary_sensor.front_door_status], is still open.",
|
|
"action": "The automation creates a unique action ID for snoozing. It then makes a voice announcement and sends a mobile notification, both alerting that a specific door has been open too long. The notification includes a button to snooze the alert for 30 minutes. The system waits for up to 3 minutes for someone to press the snooze button. If the snooze button is pressed within that time, it starts a 30-minute timer to temporarily disable these alerts."
|
|
},
|
|
"human_like": "Alerts you with voice and mobile notifications if the garage or front door is left open for too long, and allows you to snooze the alert for 30 minutes.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "driveway_front_camera_detections_animal",
|
|
"result": {
|
|
"structured": "TRIGGER: When driveway front camera animal detected [binary_sensor.driveway_front_camera_animal_detected] changes to on. CONDITIONS: (The time elapsed since the last trigger of this automation [automation.driveway_front_camera_detections_animal] is greater than 60 seconds) AND (camera notifications [input_boolean.camera_notifications] is on). ACTIONS: Execute the camera detection alert script [script.camera_detection_alert] with detection_type 'animal', camera_name 'Driveway Front Camera', image_path from the trigger event, and proxy_camera driveway front camera proxy [camera.camera_proxy_camera_driveway_front_camera_high].",
|
|
"natural_language": {
|
|
"trigger": "When the driveway front camera animal detected [binary_sensor.driveway_front_camera_animal_detected] sensor indicates an animal has been detected.",
|
|
"conditions": "If at least 60 seconds have passed since this automation was last triggered, and the camera notifications [input_boolean.camera_notifications] switch is turned on.",
|
|
"action": "Runs the camera detection alert script [script.camera_detection_alert] to send a notification about an animal detection, including the camera name, a thumbnail image from the event, and a reference to the camera proxy."
|
|
},
|
|
"human_like": "Sends an animal detection alert from the driveway front camera, but only if notifications are enabled and it hasn't triggered recently.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "driveway_front_camera_detections_person",
|
|
"result": {
|
|
"structured": "TRIGGER: When driveway front camera person detected [binary_sensor.driveway_front_camera_person_detected] changes to on. CONDITIONS: (More than 60 seconds have passed since automation.driveway_front_camera_detections_person [automation.driveway_front_camera_detections_person] was last triggered) AND (camera notifications [input_boolean.camera_notifications] is on) AND (garage occupied [input_boolean.garage_occupied] is off OR cover garage doors [cover.garage_doors] is closed OR garage ble occupancy [binary_sensor.garage_ble_occupancy] is off AND remains off for 2 minutes). ACTIONS: Execute camera detection alert script [script.camera_detection_alert] with data: detection_type=person, camera_name=Driveway Front Camera, image_path=/api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, proxy_camera=camera.camera_proxy_camera_driveway_front_camera_high.",
|
|
"natural_language": {
|
|
"trigger": "When the driveway front camera person detected [binary_sensor.driveway_front_camera_person_detected] sensor detects a person and changes its state to on.",
|
|
"conditions": "If at least 60 seconds have passed since this automation was last triggered, the camera notifications [input_boolean.camera_notifications] are enabled, and either the garage is marked as not occupied, the garage doors are closed, or the garage Bluetooth occupancy sensor has not detected anyone for at least two minutes.",
|
|
"action": "Sends a person detection alert by running the camera detection alert script [script.camera_detection_alert], providing details about the camera, a thumbnail image path, and a proxy camera entity."
|
|
},
|
|
"human_like": "Sends a person detection alert from the front driveway camera when someone is detected, but only if notifications are on and the garage area is likely unoccupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "driveway_front_camera_detections_vehicle",
|
|
"result": {
|
|
"structured": "TRIGGER: When driveway front camera vehicle detected [binary_sensor.driveway_front_camera_vehicle_detected] changes to on. CONDITIONS: (The time elapsed since the last trigger of this automation [automation.driveway_front_camera_detections_vehicle] is greater than 60 seconds) AND (camera notifications [input_boolean.camera_notifications] is on). ACTIONS: Execute the camera detection alert script [script.camera_detection_alert] with data: detection_type = vehicle, camera_name = Driveway Front Camera, image_path = /api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, proxy_camera = camera.camera_proxy_camera_driveway_front_camera_high.",
|
|
"natural_language": {
|
|
"trigger": "When the driveway front camera vehicle detected [binary_sensor.driveway_front_camera_vehicle_detected] sensor indicates a vehicle has been detected.",
|
|
"conditions": "If at least 60 seconds have passed since this automation was last triggered, and the camera notifications [input_boolean.camera_notifications] switch is turned on.",
|
|
"action": "Runs the camera detection alert script [script.camera_detection_alert] to send a notification about the vehicle detection, including the camera name, a thumbnail image path, and a reference to the proxy camera."
|
|
},
|
|
"human_like": "Sends a notification when a vehicle is detected by the front driveway camera, but only if notifications are enabled and at least a minute has passed since the last alert.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "energy_prices_are_negative",
|
|
"result": {
|
|
"structured": "TRIGGER: When energy prices are negative [binary_sensor.energy_prices_are_negative] turns on. CONDITIONS: None. ACTIONS: Execute the general notification script [script.general_notification] with a message stating 'Energy prices are negative at [current value from sensor.energy_price]. Turn on everything!!!', a title of 'Energy Prices Are Negative', targeting device 'jk' with time-sensitive priority and a tag of 'energy_prices_are_negative'.",
|
|
"natural_language": {
|
|
"trigger": "When the binary sensor energy prices are negative [binary_sensor.energy_prices_are_negative] changes its state to on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a high-priority notification via the general notification script [script.general_notification]. The notification will have the title 'Energy Prices Are Negative' and a message that includes the current energy price from sensor energy price [sensor.energy_price], encouraging the user to turn on appliances. It is sent to a specific device 'jk' and is tagged for identification."
|
|
},
|
|
"human_like": "Sends an urgent notification when electricity prices drop below zero, prompting you to use more power.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "entertainment_mode_activated",
|
|
"result": {
|
|
"structured": "TRIGGER: When entertainment mode [input_boolean.entertainment_mode] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Turn off Adaptive Lighting Foyer [switch.adaptive_lighting_foyer], Adaptive Lighting Kitchen [switch.adaptive_lighting_kitchen], Adaptive Lighting Office [switch.adaptive_lighting_office], Adaptive Lighting Family Room [switch.adaptive_lighting_family_room], and Adaptive Lighting Main Bedroom [switch.adaptive_lighting_main_bedroom]. Turn off speech notifications [input_boolean.speech_notifications]. Turn on entertainment mode deactivated automation [automation.entertainment_mode_deactivated].",
|
|
"natural_language": {
|
|
"trigger": "When the entertainment mode [input_boolean.entertainment_mode] is switched on.",
|
|
"conditions": "The house must be marked as occupied, meaning the house occupied [input_boolean.house_occupied] input boolean is on.",
|
|
"action": "Turns off adaptive lighting in several rooms: the Foyer, Kitchen, Office, Family Room, and Main Bedroom. It also disables speech notifications and enables the companion automation responsible for deactivating entertainment mode."
|
|
},
|
|
"human_like": "Activates entertainment mode by turning off adaptive lights and speech notifications when the house is occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "entertainment_mode_deactivated",
|
|
"result": {
|
|
"structured": "TRIGGER: When entertainment mode [input_boolean.entertainment_mode] changes to off OR when house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: None. ACTIONS: Turn on Adaptive Lighting Foyer [switch.adaptive_lighting_foyer], Adaptive Lighting Kitchen [switch.adaptive_lighting_kitchen], Adaptive Lighting Office [switch.adaptive_lighting_office], Adaptive Lighting Family Room [switch.adaptive_lighting_family_room], and Adaptive Lighting Main Bedroom [switch.adaptive_lighting_main_bedroom]. Turn on speech notifications [input_boolean.speech_notifications]. Turn off entertainment mode deactivated automation [automation.entertainment_mode_deactivated].",
|
|
"natural_language": {
|
|
"trigger": "When the entertainment mode [input_boolean.entertainment_mode] is turned off, or when the house occupied [input_boolean.house_occupied] status is turned off.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "It turns on the adaptive lighting switches for the Foyer, Kitchen, Office, Family Room, and Main Bedroom. It also re-enables speech notifications [input_boolean.speech_notifications] and then turns off this automation itself [automation.entertainment_mode_deactivated] to prevent it from running again."
|
|
},
|
|
"human_like": "Restores normal adaptive lighting and speech notifications when entertainment mode ends or the house becomes unoccupied, and then disables itself.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "entertainment_mode_turn_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR When house occupied [input_boolean.house_occupied] turns off OR At 23:00:00 OR At 23:59:59 OR When indoor bluetooth device count [sensor.indoor_bluetooth_device_count] is below 6 for 10 minutes. CONDITIONS: entertainment mode [input_boolean.entertainment_mode] is on AND indoor bluetooth device count [sensor.indoor_bluetooth_device_count] is below 6. ACTIONS: Turn off entertainment mode [input_boolean.entertainment_mode] AND Turn off entertainment mode turn off automation [automation.entertainment_mode_turn_off].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when bedtime [input_boolean.bedtime] is turned on, when the house occupied [input_boolean.house_occupied] status is turned off, at 11:00 PM, at 11:59:59 PM, or when the indoor bluetooth device count [sensor.indoor_bluetooth_device_count] stays below 6 for at least 10 minutes.",
|
|
"conditions": "For the automation to run, the entertainment mode [input_boolean.entertainment_mode] must be currently on, and the indoor bluetooth device count [sensor.indoor_bluetooth_device_count] must be below 6.",
|
|
"action": "The automation will turn off the entertainment mode [input_boolean.entertainment_mode] and then disable itself by turning off the entertainment mode turn off automation [automation.entertainment_mode_turn_off]."
|
|
},
|
|
"human_like": "Turns off entertainment mode at bedtime, when the house is unoccupied, at night, or when few Bluetooth devices are detected, and then disables itself.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "entertainment_mode_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When indoor bluetooth device count [sensor.indoor_bluetooth_device_count] remains above 30 for 1 minute OR When indoor bluetooth device count [sensor.indoor_bluetooth_device_count] remains above 25 for 5 minutes OR When indoor bluetooth device count [sensor.indoor_bluetooth_device_count] remains above 20 for 10 minutes OR When indoor bluetooth device count [sensor.indoor_bluetooth_device_count] remains above 15 for 10 minutes. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Turn on entertainment mode [input_boolean.entertainment_mode] AND Turn on entertainment mode turn off automation [automation.entertainment_mode_turn_off] AND Execute general notification script [script.general_notification] with a title 'Entertainment Mode' and a message containing the current device count.",
|
|
"natural_language": {
|
|
"trigger": "When the indoor bluetooth device count [sensor.indoor_bluetooth_device_count] exceeds a certain threshold for a specific duration. This can happen in one of four ways: if it stays above 30 devices for 1 minute, above 25 devices for 5 minutes, above 20 devices for 10 minutes, or above 15 devices for 10 minutes.",
|
|
"conditions": "The house must be marked as occupied, meaning the input_boolean house occupied [input_boolean.house_occupied] is set to 'on'.",
|
|
"action": "The automation turns on the entertainment mode [input_boolean.entertainment_mode], enables a companion automation called entertainment mode turn off [automation.entertainment_mode_turn_off], and sends a passive notification via the general notification script [script.general_notification] stating that entertainment mode was triggered by the current number of devices."
|
|
},
|
|
"human_like": "Activates entertainment mode when a significant number of Bluetooth devices are detected indoors for a sustained period, indicating a gathering.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When john status [input_select.john_status] changes to 'Just Arrived' OR When cristina status dropdown [input_select.cristina_status_dropdown] changes to 'Just Arrived'. CONDITIONS: family room occupied [input_boolean.family_room_occupied] is off. ACTIONS: Set family room mode [input_select.family_room] to 'Dim'.",
|
|
"natural_language": {
|
|
"trigger": "When either John's status [input_select.john_status] or Cristina's status [input_select.cristina_status_dropdown] changes to 'Just Arrived'.",
|
|
"conditions": "The family room must be marked as unoccupied, meaning the input boolean family room occupied [input_boolean.family_room_occupied] is off.",
|
|
"action": "Sets the family room mode [input_select.family_room] to 'Dim'."
|
|
},
|
|
"human_like": "When John or Cristina arrives home, this automation dims the family room lights if the room is not already occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_speech_notifications_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room occupied [input_boolean.family_room_occupied] changes to off. CONDITIONS: None. ACTIONS: Turn off family room speech notifications [input_boolean.family_room_speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "When the family room occupied [input_boolean.family_room_occupied] status changes to off.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the family room speech notifications [input_boolean.family_room_speech_notifications]."
|
|
},
|
|
"human_like": "Turns off speech notifications for the family room when the room is no longer occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_lights_to_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room mode [input_select.family_room] changes to Away OR when house status [input_select.house] changes to Away. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (family room mode [input_select.family_room] is Away OR (family room mode [input_select.family_room] is Auto AND house status [input_select.house] is Away)) AND family room main lights [light.family_room_main_lights] is on. ACTIONS: Turn off family room main lights [light.family_room_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the family room mode [input_select.family_room] is set to Away, or when the overall house status [input_select.house] is set to Away.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled. The family room must be in Away mode, or if it is in Auto mode, the house must also be in Away mode. Finally, the family room main lights [light.family_room_main_lights] must currently be on.",
|
|
"action": "Turns off the family room main lights [light.family_room_main_lights]."
|
|
},
|
|
"human_like": "Turns off the family room lights when the room or house is set to Away mode, provided the lights are on and automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_lights_to_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room mode [input_select.family_room] changes to Off OR when house status [input_select.house] changes to Off OR when family room occupied [input_boolean.family_room_occupied] changes to off. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (family room mode [input_select.family_room] is Off OR family room occupied [input_boolean.family_room_occupied] is off OR (family room mode [input_select.family_room] is Auto AND house status [input_select.house] is Off)) AND family room main lights [light.family_room_main_lights] is on. ACTIONS: Turn off family room main lights [light.family_room_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the family room mode [input_select.family_room] is set to 'Off', when the overall house status [input_select.house] is set to 'Off', or when the room occupancy status [input_boolean.family_room_occupied] changes to 'off'.",
|
|
"conditions": "For the action to run, the lighting automations [input_boolean.lighting_automations] must be enabled. Additionally, at least one of the following must be true: the family room mode [input_select.family_room] is set to 'Off', the room is marked as unoccupied [input_boolean.family_room_occupied is off], or the room is in 'Auto' mode while the house status [input_select.house] is 'Off'. Finally, the family room main lights [light.family_room_main_lights] must currently be on.",
|
|
"action": "Turns off the family room main lights [light.family_room_main_lights]."
|
|
},
|
|
"human_like": "Automatically turns off the family room lights when the room is set to off, the house is off, or the room is unoccupied, provided lighting automations are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_lights_to_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room mode [input_select.family_room] changes to On OR when house status [input_select.house] changes to On. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (family room mode [input_select.family_room] is On OR (family room mode [input_select.family_room] is Auto AND house status [input_select.house] is On)) AND family room main lights [light.family_room_main_lights] is off. ACTIONS: Turn on family room main lights [light.family_room_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the family room mode [input_select.family_room] is set to 'On', or when the overall house status [input_select.house] is set to 'On'.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled. The family room mode [input_select.family_room] must be set to 'On', or it must be set to 'Auto' while the house status [input_select.house] is set to 'On'. Finally, the family room main lights [light.family_room_main_lights] must currently be off.",
|
|
"action": "Turns on the family room main lights [light.family_room_main_lights]."
|
|
},
|
|
"human_like": "Turns on the main lights in the family room when the room or house mode is set to 'On' and the lights are currently off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_mode_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room occupied [input_boolean.family_room_occupied] turns off OR When family room occupied [input_boolean.family_room_occupied] remains off for 10 minutes OR When house occupied [input_boolean.house_occupied] turns off. CONDITIONS: house occupied [input_boolean.house_occupied] is off. ACTIONS: Set family room mode [input_select.family_room] to Away.",
|
|
"natural_language": {
|
|
"trigger": "When the family room occupied [input_boolean.family_room_occupied] status changes to off, or when it remains off for at least 10 minutes, or when the house occupied [input_boolean.house_occupied] status changes to off.",
|
|
"conditions": "The house occupied [input_boolean.house_occupied] status must be off.",
|
|
"action": "Changes the family room mode [input_select.family_room] to 'Away'."
|
|
},
|
|
"human_like": "Sets the family room to 'Away' mode when the room or the entire house is unoccupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room occupied [input_boolean.family_room_occupied] turns on OR when house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND family room mode [input_select.family_room] is NOT Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set family room mode [input_select.family_room] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the family room is marked as occupied, when the overall house mode is set to Auto, or when the house is marked as occupied.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied, the family room's current mode must not already be set to Auto, the bedtime mode must be off, and the overall house mode must be set to Auto.",
|
|
"action": "Sets the family room mode to Auto."
|
|
},
|
|
"human_like": "Automatically sets the family room to 'Auto' mode when the house is occupied and in Auto mode, provided it's not bedtime and the room isn't already in Auto.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room presence [binary_sensor.family_room_presence] remains off for 3 minutes OR When family room ble occupancy [binary_sensor.family_room_ble_occupancy] remains off for 2 minutes OR When family room motion sensor [binary_sensor.family_room_motion_sensor] remains off for 5 minutes OR When family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] changes to off OR When family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] remains off for 5 minutes OR When kitchen occupied [input_boolean.kitchen_occupied] remains off for 5 minutes. CONDITIONS: (family room occupied [input_boolean.family_room_occupied] is on) AND ((family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] is off AND kitchen occupied [input_boolean.kitchen_occupied] is off AND sony bravia tv [media_player.sony_bravia_tv] is off) OR (family room ble occupancy [binary_sensor.family_room_ble_occupancy] is off)). ACTIONS: Turn off family room occupied [input_boolean.family_room_occupied] AND Run script general notification script [script.general_notification] with title 'Family Room Logger' and message 'The family room is NO LONGER occupied'.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: if the family room presence [binary_sensor.family_room_presence] shows no presence for three minutes, if the family room ble occupancy [binary_sensor.family_room_ble_occupancy] shows no Bluetooth occupancy for two minutes, if the family room motion sensor [binary_sensor.family_room_motion_sensor] detects no motion for five minutes, if the family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] changes to 'off', if the family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] remains 'off' for five minutes, or if the kitchen occupied [input_boolean.kitchen_occupied] status remains 'off' for five minutes.",
|
|
"conditions": "For the automation to proceed, the family room must currently be marked as occupied, meaning family room occupied [input_boolean.family_room_occupied] must be 'on'. Additionally, one of two sets of conditions must be met. The first set requires that the family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] is 'off', the kitchen is not occupied (kitchen occupied [input_boolean.kitchen_occupied] is 'off'), and the sony bravia tv [media_player.sony_bravia_tv] is turned off. The second, alternative condition is simply that the family room ble occupancy [binary_sensor.family_room_ble_occupancy] is 'off'.",
|
|
"action": "The automation will mark the family room as unoccupied by turning off the family room occupied [input_boolean.family_room_occupied] input boolean. It will also send a passive notification via the general notification script [script.general_notification] with the title 'Family Room Logger' and the message 'The family room is NO LONGER occupied'."
|
|
},
|
|
"human_like": "Marks the family room as unoccupied and sends a notification when multiple sensors indicate the room is empty and the TV is off, ensuring the kitchen is also unoccupied in some scenarios.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] turns on OR When family room motion sensor [binary_sensor.family_room_motion_sensor] turns on OR When family room tv device tracker [device_tracker.family_room_tv] becomes home OR When sony bravia tv [media_player.sony_bravia_tv] starts playing OR When sonos family room [media_player.sonos_family_room] starts playing. CONDITIONS: (family room occupied [input_boolean.family_room_occupied] is off) AND (family room ble occupancy [binary_sensor.family_room_ble_occupancy] is on OR family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] is on). ACTIONS: Turn on family room occupied [input_boolean.family_room_occupied] AND Run the general notification script [script.general_notification] with data: title 'Family Room Logger', message 'The family room is occupied', devices 'jk', priority 'passive', tag 'family-room-occupied'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when any of the following events occur: motion is detected by the family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy], motion is detected by the family room motion sensor [binary_sensor.family_room_motion_sensor], the family room tv device tracker [device_tracker.family_room_tv] reports being at home, the sony bravia tv [media_player.sony_bravia_tv] starts playing media, or the sonos family room [media_player.sonos_family_room] speaker starts playing media.",
|
|
"conditions": "For the automation to proceed, the family room must not already be marked as occupied, meaning the family room occupied [input_boolean.family_room_occupied] must be off. Additionally, there must be a confirmed occupancy signal, which is satisfied if either the family room ble occupancy [binary_sensor.family_room_ble_occupancy] reports occupancy or the family room motion sensor occupancy [binary_sensor.family_room_motion_sensor_occupancy] reports occupancy.",
|
|
"action": "The automation marks the family room as occupied by turning on the family room occupied [input_boolean.family_room_occupied] input boolean. It also sends a passive notification via the general notification script [script.general_notification] with the title 'Family Room Logger', the message 'The family room is occupied', targeting devices 'jk', and tagged as 'family-room-occupied'."
|
|
},
|
|
"human_like": "This automation marks the family room as occupied and sends a notification when motion, device presence, or media playback is detected, provided the room isn't already marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR house status [input_select.house] changes to Away OR bedtime [input_boolean.bedtime] turns on OR Home Assistant starts OR an automation is reloaded. CONDITIONS: family room mode [input_select.family_room] is NOT set to Off AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set family room mode [input_select.family_room] to Off.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the house occupied [input_boolean.house_occupied] switch is turned off, when the house status [input_select.house] is set to 'Away', when the bedtime [input_boolean.bedtime] switch is turned on, when Home Assistant itself starts up, or when any automation is reloaded.",
|
|
"conditions": "For the automation to run, the family room mode [input_select.family_room] must not already be set to 'Off'. Additionally, at least one of the following must be true: the house is marked as unoccupied, the house status is set to 'Away', or bedtime mode is active.",
|
|
"action": "The automation sets the family room mode [input_select.family_room] to 'Off'."
|
|
},
|
|
"human_like": "Turns off the family room mode when the house is unoccupied, set to 'Away', or when it's bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room occupied [input_boolean.family_room_occupied] turns on OR when family room main lights [light.family_room_main_lights] turns on. CONDITIONS: family room occupied [input_boolean.family_room_occupied] is on AND family room mode [input_select.family_room] is NOT 'On'. ACTIONS: Set family room mode [input_select.family_room] to 'On'.",
|
|
"natural_language": {
|
|
"trigger": "When the family room occupied [input_boolean.family_room_occupied] status changes to on, or when the family room main lights [light.family_room_main_lights] are turned on.",
|
|
"conditions": "The family room occupied [input_boolean.family_room_occupied] must be on, and the family room mode [input_select.family_room] must not already be set to 'On'.",
|
|
"action": "Sets the family room mode [input_select.family_room] to 'On'."
|
|
},
|
|
"human_like": "Activates the 'On' mode for the family room when the room is marked as occupied or the main lights are turned on, ensuring the mode isn't already set.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_lights_sleep_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs with a 15-minute offset OR When the time is 07:00:00. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (sun is after sunrise OR time is after 07:00:00). ACTIONS: Turn off adaptive lighting sleep mode family room [switch.adaptive_lighting_sleep_mode_family_room] AND Turn off Family Room Lights Sleep Mode Off [automation.family_room_lights_sleep_mode_off].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either 15 minutes after sunrise or at 7:00 AM.",
|
|
"conditions": "The automation requires that the lighting automations [input_boolean.lighting_automations] are enabled. Additionally, it checks that either the sun is after sunrise or the time is after 7:00 AM.",
|
|
"action": "It turns off the adaptive lighting sleep mode for the family room [switch.adaptive_lighting_sleep_mode_family_room] and then disables itself by turning off the automation [automation.family_room_lights_sleep_mode_off]."
|
|
},
|
|
"human_like": "Disables the family room's lighting sleep mode in the morning, either after sunrise or at 7 AM, and then turns itself off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_lights_sleep_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR at 23:00:00 OR at 03:00:00. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND it is after sunset AND dark outside [input_boolean.dark_outside] is on AND time is after 20:00:00. ACTIONS: Turn on adaptive lighting sleep mode family room [switch.adaptive_lighting_sleep_mode_family_room] AND turn on Family Room Lights Sleep Mode Off [automation.family_room_lights_sleep_mode_off].",
|
|
"natural_language": {
|
|
"trigger": "The automation activates when the bedtime [input_boolean.bedtime] switch is turned on, or at 11:00 PM, or at 3:00 AM.",
|
|
"conditions": "For the automation to proceed, the lighting automations [input_boolean.lighting_automations] must be enabled, it must be after sunset, the dark outside [input_boolean.dark_outside] indicator must be on, and the current time must be after 8:00 PM.",
|
|
"action": "It turns on the adaptive lighting sleep mode for the family room [switch.adaptive_lighting_sleep_mode_family_room] and also enables the companion automation, Family Room Lights Sleep Mode Off [automation.family_room_lights_sleep_mode_off]."
|
|
},
|
|
"human_like": "Activates a calming sleep lighting mode in the family room during the evening or night when conditions are dark and bedtime routines are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_speech_notifications_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room occupied [input_boolean.family_room_occupied] changes to on OR when family room mode [input_select.family_room] changes to Auto. CONDITIONS: family room occupied [input_boolean.family_room_occupied] is on AND family room mode [input_select.family_room] is Auto. ACTIONS: Turn on family room speech notifications [input_boolean.family_room_speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "When the family room occupied [input_boolean.family_room_occupied] status changes to 'on', or when the family room mode [input_select.family_room] is set to 'Auto'.",
|
|
"conditions": "The family room must be marked as occupied (family room occupied [input_boolean.family_room_occupied] is on) and the room mode must be set to 'Auto' (family room mode [input_select.family_room] is Auto).",
|
|
"action": "Enables speech notifications for the family room by turning on the family room speech notifications [input_boolean.family_room_speech_notifications]."
|
|
},
|
|
"human_like": "Turns on speech notifications for the family room when the room is both occupied and set to Auto mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_turn_music_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room mode [input_select.family_room] changes to Away OR When family room mode [input_select.family_room] changes to Off OR When house status [input_select.house] changes to Away OR When bedtime [input_boolean.bedtime] turns on. CONDITIONS: (family room mode [input_select.family_room] is Away OR family room mode [input_select.family_room] is Off OR (family room mode [input_select.family_room] is Auto AND house status [input_select.house] is Away)) AND sonos family room [media_player.sonos_family_room] is playing. ACTIONS: Turn off sonos family room [media_player.sonos_family_room].",
|
|
"natural_language": {
|
|
"trigger": "When the family room mode [input_select.family_room] is set to 'Away' or 'Off', when the overall house status [input_select.house] is set to 'Away', or when the bedtime [input_boolean.bedtime] mode is activated.",
|
|
"conditions": "If the family room mode [input_select.family_room] is set to 'Away' or 'Off', or if it is set to 'Auto' while the house status [input_select.house] is 'Away'. Additionally, the sonos family room [media_player.sonos_family_room] must currently be playing music.",
|
|
"action": "Turns off the sonos family room [media_player.sonos_family_room] music player."
|
|
},
|
|
"human_like": "Turns off the family room music when the room is set to away or off, the house is away, or bedtime mode is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_turn_tv_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room mode [input_select.family_room] changes to Off OR when family room occupied [input_boolean.family_room_occupied] changes to off. CONDITIONS: family room mode [input_select.family_room] is Off AND sony bravia tv [media_player.sony_bravia_tv] is on. ACTIONS: Turn off sony bravia tv [media_player.sony_bravia_tv].",
|
|
"natural_language": {
|
|
"trigger": "When the family room mode [input_select.family_room] is set to 'Off', or when the family room occupied [input_boolean.family_room_occupied] status changes to 'off'.",
|
|
"conditions": "The family room mode [input_select.family_room] must be set to 'Off', and the sony bravia tv [media_player.sony_bravia_tv] must be currently on.",
|
|
"action": "Turns off the sony bravia tv [media_player.sony_bravia_tv]."
|
|
},
|
|
"human_like": "Turns off the TV when the family room is set to 'Off' mode or becomes unoccupied, but only if the TV is currently on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "family_room_turn_tv_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When family room mode [input_select.family_room] changes to Away OR family room mode [input_select.family_room] changes to Off OR house status [input_select.house] changes to Away OR bedtime [input_boolean.bedtime] changes to on. CONDITIONS: (family room mode [input_select.family_room] is Away OR family room mode [input_select.family_room] is Off OR (family room mode [input_select.family_room] is Auto AND house status [input_select.house] is Away)) AND sonos family room [media_player.sonos_family_room] is playing. ACTIONS: Turn off sony bravia tv [media_player.sony_bravia_tv].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the family room mode [input_select.family_room] is set to 'Away' or 'Off', when the overall house status [input_select.house] is set to 'Away', or when the bedtime [input_boolean.bedtime] input boolean is turned on.",
|
|
"conditions": "It requires that either the family room mode [input_select.family_room] is set to 'Away' or 'Off', or that the family room mode is set to 'Auto' while the house status [input_select.house] is set to 'Away'. Additionally, the sonos family room [media_player.sonos_family_room] must currently be playing media.",
|
|
"action": "The automation turns off the sony bravia tv [media_player.sony_bravia_tv]."
|
|
},
|
|
"human_like": "Turns off the family room TV when the room is set to away or off, the house is away, or bedtime mode is activated, but only if the Sonos speaker is currently playing.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "fire_alarm_trigger",
|
|
"result": {
|
|
"structured": "TRIGGER: When smoke detector [binary_sensor.smoke_detector] changes from off to on. CONDITIONS: None. ACTIONS: Execute fire alarm alert script [script.fire_alarm_alert].",
|
|
"natural_language": {
|
|
"trigger": "When the smoke detector [binary_sensor.smoke_detector] changes state from off to on.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Runs the fire alarm alert script [script.fire_alarm_alert]."
|
|
},
|
|
"human_like": "Triggers the fire alarm alert when smoke is detected.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_lights_days_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When bad weather [input_boolean.bad_weather] turns off and remains off for 5 minutes OR When tempest illuminance [sensor.tempest_illuminance] is above 250 lux and remains so for 3 minutes OR When tempest illuminance [sensor.tempest_illuminance] is above 500 lux and remains so for 3 minutes. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND house occupied [input_boolean.house_occupied] is on AND Foyer Input Select [input_select.foyer] is Auto AND sun sun [sun.sun] is above_horizon AND time is before 18:00:00 AND (light.foyer_chandelier [light.foyer_chandelier] is on). ACTIONS: Turn off foyer chandelier [light.foyer_chandelier].",
|
|
"natural_language": {
|
|
"trigger": "When the bad weather [input_boolean.bad_weather] indicator turns off and stays off for five minutes, or when the outdoor light level from tempest illuminance [sensor.tempest_illuminance] rises above 250 lux for three minutes, or when it rises above 500 lux for three minutes.",
|
|
"conditions": "If the master lighting automations [input_boolean.lighting_automations] are enabled, the house is marked as occupied [input_boolean.house_occupied], the Foyer Input Select [input_select.foyer] is set to 'Auto', the sun is above the horizon [sun.sun], the current time is before 6:00 PM, and the foyer chandelier [light.foyer_chandelier] is currently on.",
|
|
"action": "Turns off the foyer chandelier [light.foyer_chandelier]."
|
|
},
|
|
"human_like": "Automatically turns off the foyer chandelier during the daytime when there is sufficient natural light, provided the house is occupied and lighting automations are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_lights_days_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When bad weather [input_boolean.bad_weather] turns on and remains on for 1 minute OR When tempest illuminance [sensor.tempest_illuminance] remains below 40 for 5 minutes OR When foyer motion illuminance [sensor.foyer_motion_illuminance] remains below 5 for 5 minutes OR At sunrise. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND house occupied [input_boolean.house_occupied] is on AND Foyer Input Select [input_select.foyer] is Auto AND foyer motion illuminance [sensor.foyer_motion_illuminance] is below 5 AND (foyer chandelier [light.foyer_chandelier] is off). ACTIONS: Turn on foyer chandelier [light.foyer_chandelier].",
|
|
"natural_language": {
|
|
"trigger": "The automation can start when bad weather [input_boolean.bad_weather] is turned on and stays on for one minute, when the overall outdoor light level from tempest illuminance [sensor.tempest_illuminance] stays below 40 for five minutes, when the local light level in the foyer from foyer motion illuminance [sensor.foyer_motion_illuminance] stays below 5 for five minutes, or at the moment of sunrise.",
|
|
"conditions": "For the action to proceed, the master lighting automations [input_boolean.lighting_automations] and house occupied [input_boolean.house_occupied] switches must both be on. The Foyer Input Select [input_select.foyer] must be set to 'Auto'. The current light level in the foyer from foyer motion illuminance [sensor.foyer_motion_illuminance] must be below 5. Finally, the foyer chandelier [light.foyer_chandelier] must currently be off.",
|
|
"action": "Turns on the foyer chandelier [light.foyer_chandelier]."
|
|
},
|
|
"human_like": "Turns on the foyer chandelier during the day when it's dark enough, but only if the house is occupied and lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_lights_nightlight",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with a 30-minute offset before OR When dark outside [input_boolean.dark_outside] turns on OR When tempest illuminance [sensor.tempest_illuminance] falls below 250 lux OR When the time is 18:00:00 OR When house occupied [input_boolean.house_occupied] turns on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND house occupied [input_boolean.house_occupied] is on AND tempest illuminance [sensor.tempest_illuminance] is below 250 AND (sunset is before sunset with a 30-minute offset OR dark outside [input_boolean.dark_outside] is on OR time is after 18:00:00) AND foyer chandelier [light.foyer_chandelier] is off. ACTIONS: Turn on foyer chandelier [light.foyer_chandelier] AND Turn on Foyer Lights Nightlight Off [automation.foyer_lights_nightlight_off].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by any of the following events: sunset occurring 30 minutes before the actual sunset, the dark outside [input_boolean.dark_outside] switch being turned on, the ambient light level measured by tempest illuminance [sensor.tempest_illuminance] dropping below 250 lux, the clock reaching 6:00 PM, or the house occupied [input_boolean.house_occupied] switch being turned on.",
|
|
"conditions": "For the automation to run, all of the following must be true: the lighting automations [input_boolean.lighting_automations] master switch is on, the house is marked as occupied via the house occupied [input_boolean.house_occupied] switch, the ambient light level from tempest illuminance [sensor.tempest_illuminance] is below 250 lux, it is either before sunset (by 30 minutes), the dark outside [input_boolean.dark_outside] switch is on, or it is after 6:00 PM, and finally, the foyer chandelier [light.foyer_chandelier] is currently off.",
|
|
"action": "The automation turns on the foyer chandelier [light.foyer_chandelier] and also enables the companion automation Foyer Lights Nightlight Off [automation.foyer_lights_nightlight_off]."
|
|
},
|
|
"human_like": "Turns on the foyer chandelier as a nightlight when it's dark outside, the house is occupied, and the main lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_lights_nightlight_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs OR When dark outside [input_boolean.dark_outside] turns off. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND house occupied [input_boolean.house_occupied] is on AND (sun is after sunrise OR dark outside [input_boolean.dark_outside] is off) AND foyer chandelier [light.foyer_chandelier] is on. ACTIONS: Turn off foyer chandelier [light.foyer_chandelier] AND Turn off Foyer Lights Nightlight Off [automation.foyer_lights_nightlight_off].",
|
|
"natural_language": {
|
|
"trigger": "When the sun rises, or when the dark outside [input_boolean.dark_outside] indicator is turned off.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled, the house must be marked as occupied via house occupied [input_boolean.house_occupied], it must be after sunrise or the dark outside indicator must be off, and the foyer chandelier [light.foyer_chandelier] must currently be on.",
|
|
"action": "Turns off the foyer chandelier [light.foyer_chandelier] and then deactivates this automation itself, Foyer Lights Nightlight Off [automation.foyer_lights_nightlight_off]."
|
|
},
|
|
"human_like": "Turns off the foyer chandelier at sunrise or when it's no longer dark outside, provided the house is occupied and lighting automations are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_lights_sleep_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs OR when the time is 08:00:00. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND the current time is after sunrise. ACTIONS: Turn off adaptive lighting sleep mode foyer [switch.adaptive_lighting_sleep_mode_foyer].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at sunrise or at 8:00 AM.",
|
|
"conditions": "The automation only runs if the lighting automations [input_boolean.lighting_automations] are enabled and the current time is after sunrise.",
|
|
"action": "It turns off the adaptive lighting sleep mode for the foyer [switch.adaptive_lighting_sleep_mode_foyer]."
|
|
},
|
|
"human_like": "Turns off the foyer's adaptive lighting sleep mode after sunrise or at 8 AM, but only if lighting automations are enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_lights_sleep_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR at 23:00:00. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND it is after sunset AND dark outside [input_boolean.dark_outside] is on AND the current time is after 20:00:00. ACTIONS: Turn on adaptive lighting sleep mode foyer [switch.adaptive_lighting_sleep_mode_foyer].",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime [input_boolean.bedtime] switch is turned on, or when the clock reaches 11:00 PM.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled, it must be after sunset, the dark outside [input_boolean.dark_outside] condition must be on, and the current time must be after 8:00 PM.",
|
|
"action": "Activates the sleep mode for the foyer lights by turning on adaptive lighting sleep mode foyer [switch.adaptive_lighting_sleep_mode_foyer]."
|
|
},
|
|
"human_like": "Turns on the foyer's lighting sleep mode at bedtime or 11 PM, but only when it's dark outside and lighting automations are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_lights_to_dim",
|
|
"result": {
|
|
"structured": "TRIGGER: When Foyer Input Select [input_select.foyer] changes to Dim. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND house occupied [input_boolean.house_occupied] is on AND Foyer Input Select [input_select.foyer] is Dim AND (foyer chandelier [light.foyer_chandelier] is off). ACTIONS: Turn on foyer chandelier [light.foyer_chandelier] AND turn on adaptive lighting foyer [switch.adaptive_lighting_foyer] AND turn on adaptive lighting sleep mode foyer [switch.adaptive_lighting_sleep_mode_foyer].",
|
|
"natural_language": {
|
|
"trigger": "When the Foyer Input Select [input_select.foyer] is set to the 'Dim' mode.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled, the house occupied [input_boolean.house_occupied] status must be on, the Foyer Input Select [input_select.foyer] must still be set to 'Dim', and the foyer chandelier [light.foyer_chandelier] must be off.",
|
|
"action": "Turns on the foyer chandelier [light.foyer_chandelier] and activates both the Adaptive Lighting Foyer [switch.adaptive_lighting_foyer] and its sleep mode [switch.adaptive_lighting_sleep_mode_foyer]."
|
|
},
|
|
"human_like": "When the foyer is set to dim mode, this automation turns on the chandelier with adaptive lighting features, provided the house is occupied and lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_lights_to_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When Foyer Input Select [input_select.foyer] changes to Off OR When Foyer Input Select [input_select.foyer] changes to Away. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (Foyer Input Select [input_select.foyer] is Off OR Foyer Input Select [input_select.foyer] is Away OR (Foyer Input Select [input_select.foyer] is Auto AND house status [input_select.house] is Off)) AND foyer lights [light.foyer_lights] is on. ACTIONS: Turn off foyer lights [light.foyer_lights] with a 1-second transition.",
|
|
"natural_language": {
|
|
"trigger": "When the Foyer Input Select [input_select.foyer] is set to 'Off' or 'Away'.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled. The Foyer Input Select [input_select.foyer] must be set to 'Off', 'Away', or if it's set to 'Auto', then the overall house status [input_select.house] must be 'Off'. Additionally, the foyer lights [light.foyer_lights] must currently be on.",
|
|
"action": "Turns off the foyer lights [light.foyer_lights] with a smooth one-second fade-out."
|
|
},
|
|
"human_like": "Turns off the foyer lights when the foyer mode is set to 'Off' or 'Away', or when in 'Auto' mode and the house is off, provided lighting automations are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND Foyer Input Select [input_select.foyer] is NOT Auto AND bedtime [input_boolean.bedtime] is off. ACTIONS: Set Foyer Input Select [input_select.foyer] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] is changed to the 'Auto' mode.",
|
|
"conditions": "The house must be marked as occupied, the bedtime mode must be off, and the Foyer Input Select [input_select.foyer] must not already be set to 'Auto'.",
|
|
"action": "Sets the Foyer Input Select [input_select.foyer] to 'Auto' mode."
|
|
},
|
|
"human_like": "Automatically sets the foyer to 'Auto' mode when the house is in 'Auto' mode, the house is occupied, and it's not bedtime.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_mode_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: Foyer Input Select [input_select.foyer] is NOT set to 'Away'. ACTIONS: Set Foyer Input Select [input_select.foyer] to 'Away'.",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to off, indicating the house is unoccupied.",
|
|
"conditions": "If the Foyer Input Select [input_select.foyer] is not already set to the 'Away' mode.",
|
|
"action": "Changes the Foyer Input Select [input_select.foyer] to the 'Away' option."
|
|
},
|
|
"human_like": "Sets the foyer to 'Away' mode when the house is marked as unoccupied, but only if it isn't already in that mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_mode_dim",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on OR at sunset OR at 21:00:00 OR when dark outside [input_boolean.dark_outside] turns on OR when bedtime [input_boolean.bedtime] turns off OR when house status [input_select.house] changes from 'Bedtime' to 'Auto'. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND house occupied [input_boolean.house_occupied] is on AND house status [input_select.house] is in ('Auto', 'Bedtime', 'Quiet') AND (dark outside [input_boolean.dark_outside] is on OR after sunset) AND (Foyer Input Select [input_select.foyer] is not 'Dim'). ACTIONS: Set Foyer Input Select [input_select.foyer] to 'Dim' AND turn on Adaptive Lighting Foyer [switch.adaptive_lighting_foyer] AND turn on adaptive lighting sleep mode foyer [switch.adaptive_lighting_sleep_mode_foyer].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when the house occupied [input_boolean.house_occupied] status becomes on, at sunset, at 9:00 PM, when the dark outside [input_boolean.dark_outside] status turns on, when the bedtime [input_boolean.bedtime] status turns off, or when the overall house status [input_select.house] changes from 'Bedtime' to 'Auto'.",
|
|
"conditions": "For the automation to run, the lighting automations [input_boolean.lighting_automations] must be enabled, the house must be occupied [input_boolean.house_occupied], the overall house mode [input_select.house] must be set to either 'Auto', 'Bedtime', or 'Quiet', it must be dark (either because dark outside [input_boolean.dark_outside] is on or it is after sunset), and the current foyer mode [input_select.foyer] must not already be set to 'Dim'.",
|
|
"action": "The automation sets the foyer lighting mode to 'Dim' by updating Foyer Input Select [input_select.foyer], and it turns on both the main adaptive lighting [switch.adaptive_lighting_foyer] and its sleep mode [switch.adaptive_lighting_sleep_mode_foyer] for the foyer."
|
|
},
|
|
"human_like": "Sets the foyer lights to a dimmed mode in the evening or when the house is occupied and dark, ensuring a cozy atmosphere.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "foyer_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to bedtime OR when bedtime [input_boolean.bedtime] turns on. CONDITIONS: Foyer Input Select [input_select.foyer] is NOT set to Off. ACTIONS: Set Foyer Input Select [input_select.foyer] to Off.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] is changed to 'bedtime', or when the bedtime [input_boolean.bedtime] input boolean is turned on.",
|
|
"conditions": "The Foyer Input Select [input_select.foyer] is not already set to 'Off'.",
|
|
"action": "Set the Foyer Input Select [input_select.foyer] to the 'Off' option."
|
|
},
|
|
"human_like": "Turns off the foyer mode when the house enters bedtime mode or when bedtime is manually activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "front_door_auto_lock",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR when house occupied [input_boolean.house_occupied] turns off. CONDITIONS: front door lock [lock.front_door] is unlocked. ACTIONS: Lock front door lock [lock.front_door].",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime mode is activated by turning on bedtime [input_boolean.bedtime], or when the house is marked as unoccupied by turning off house occupied [input_boolean.house_occupied].",
|
|
"conditions": "The front door lock [lock.front_door] must currently be unlocked.",
|
|
"action": "Locks the front door lock [lock.front_door]."
|
|
},
|
|
"human_like": "Automatically locks the front door when bedtime begins or when the house becomes unoccupied, provided the door is unlocked.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "front_door_camera_detections_animal",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door camera animal detected [binary_sensor.front_door_camera_animal_detected] changes to on. CONDITIONS: (The automation front door camera detections animal [automation.front_door_camera_detections_animal] was last triggered more than 60 seconds ago) AND (camera notifications [input_boolean.camera_notifications] is on). ACTIONS: Execute script camera detection alert script [script.camera_detection_alert] with detection_type set to animal, camera_name set to Front Doorbell Camera, image_path set to /api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, and proxy_camera set to front door camera proxy high resolution [camera.camera_proxy_camera_front_door_camera_high_resolution_channel].",
|
|
"natural_language": {
|
|
"trigger": "When the front door camera animal detected [binary_sensor.front_door_camera_animal_detected] sensor turns on, indicating an animal has been detected.",
|
|
"conditions": "If the automation itself has not been triggered in the last 60 seconds, and if the camera notifications [input_boolean.camera_notifications] toggle is switched on.",
|
|
"action": "Runs the camera detection alert script [script.camera_detection_alert] to send an alert for an animal detection, providing details like the camera name, a path to the event image, and the proxy camera entity."
|
|
},
|
|
"human_like": "Sends a notification when an animal is detected at the front door, but only if notifications are enabled and it hasn't alerted too recently.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "front_door_camera_detections_person",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door camera person detected [binary_sensor.front_door_camera_person_detected] changes to on. CONDITIONS: The time since the automation front door camera detections person [automation.front_door_camera_detections_person] was last triggered is greater than 60 seconds. ACTIONS: Execute script camera detection alert script [script.camera_detection_alert] with detection_type set to 'person', camera_name set to 'Front Doorbell Camera', image_path set to the constructed thumbnail path, and proxy_camera set to front door camera proxy high resolution [camera.camera_proxy_camera_front_door_camera_high_resolution_channel].",
|
|
"natural_language": {
|
|
"trigger": "When the front door camera person detected [binary_sensor.front_door_camera_person_detected] sensor indicates a person has been detected.",
|
|
"conditions": "This automation will only run if at least 60 seconds have passed since it was last triggered, preventing rapid repeated alerts.",
|
|
"action": "It runs the camera detection alert script [script.camera_detection_alert], providing it with details about the person detection, the camera name, an image path for a snapshot, and the proxy camera entity."
|
|
},
|
|
"human_like": "Sends an alert when a person is detected at the front door, but only if an alert hasn't been sent in the last minute.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "front_door_camera_detections_vehicle",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door camera vehicle detected [binary_sensor.front_door_camera_vehicle_detected] changes to on. CONDITIONS: (The automation front door camera detections vehicle [automation.front_door_camera_detections_vehicle] was last triggered more than 60 seconds ago) AND (camera notifications [input_boolean.camera_notifications] is on). ACTIONS: Execute the camera detection alert script [script.camera_detection_alert] with data: detection_type=vehicle, camera_name=Front Doorbell Camera, image_path=/api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, proxy_camera=camera.camera_proxy_camera_front_door_camera_high_resolution_channel.",
|
|
"natural_language": {
|
|
"trigger": "When the front door camera vehicle detected [binary_sensor.front_door_camera_vehicle_detected] sensor indicates a vehicle has been detected.",
|
|
"conditions": "If the automation has not been triggered in the last 60 seconds, and the camera notifications [input_boolean.camera_notifications] toggle is turned on.",
|
|
"action": "Runs the camera detection alert script [script.camera_detection_alert] to send a notification about a vehicle detection, including the camera name, a thumbnail image path, and a proxy camera entity for the front door camera."
|
|
},
|
|
"human_like": "Sends a notification when a vehicle is detected by the front door camera, but only if notifications are enabled and it hasn't alerted too recently.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "front_door_lock_if_open_too_long",
|
|
"result": {
|
|
"structured": "TRIGGER: When front door lock [lock.front_door] remains unlocked for 15 minutes OR When entertainment mode [input_boolean.entertainment_mode] changes from on to off. CONDITIONS: (front door lock [lock.front_door] is unlocked) AND (entertainment mode [input_boolean.entertainment_mode] is off OR time is after 22:00:00). ACTIONS: Lock front door lock [lock.front_door].",
|
|
"natural_language": {
|
|
"trigger": "When the front door lock [lock.front_door] has been unlocked for 15 minutes, or when the entertainment mode [input_boolean.entertainment_mode] is turned off.",
|
|
"conditions": "The front door lock [lock.front_door] must currently be unlocked, and either the entertainment mode [input_boolean.entertainment_mode] is off or it is after 10:00 PM.",
|
|
"action": "Locks the front door lock [lock.front_door]."
|
|
},
|
|
"human_like": "Automatically locks the front door if it's left unlocked for too long or when entertainment mode is turned off, especially in the evening.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_doors_close_when_empty_house",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage mode [input_select.garage] changes to Away OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: cover garage doors [cover.garage_doors] is open AND garage mode [input_select.garage] is Away. ACTIONS: Close cover garage doors [cover.garage_doors] AND Run general notification script [script.general_notification] with a title 'Garage Doors Open!' and message 'The house is empty or off so I'm closing the garage doors'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the garage mode [input_select.garage] is set to 'Away', when Home Assistant reloads its automations, or when Home Assistant itself starts up.",
|
|
"conditions": "For the automation to proceed, the cover garage doors [cover.garage_doors] must be open and the garage mode [input_select.garage] must currently be set to 'Away'.",
|
|
"action": "The automation will close the cover garage doors [cover.garage_doors] and then send a notification via the general notification script [script.general_notification] with a title of 'Garage Doors Open!' and a message explaining that the doors are being closed because the house is empty or off."
|
|
},
|
|
"human_like": "Automatically closes the garage doors and sends a notification when the house is set to 'Away' mode and the doors are found to be open.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_doors_close_when_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When cover garage doors [cover.garage_doors] remains open for 30 minutes OR garage mode [input_select.garage] changes to 'Off' OR bedtime [input_boolean.bedtime] turns on OR garage occupied [input_boolean.garage_occupied] remains off for 20 minutes OR an automation_reloaded event occurs OR Home Assistant starts. CONDITIONS: (bedtime [input_boolean.bedtime] is on OR (garage occupied [input_boolean.garage_occupied] is off for 20 minutes AND garage override [input_boolean.garage_override] is off)) AND (garage door 1 [cover.garage_door_1] is open for 30 minutes OR garage door 2 [cover.garage_door_2] is open for 30 minutes OR garage door 3 [cover.garage_door_3] is open for 30 minutes) AND garage ble occupancy [binary_sensor.garage_ble_occupancy] is off. ACTIONS: Execute voice announcement script [script.voice_announcement] with a message listing open garage doors, execute general notification script [script.general_notification] with a message listing open garage doors, close cover garage doors [cover.garage_doors], and turn off Garage Lights [light.garage_lights].",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: if the garage doors remain open for 30 minutes, if the garage mode is set to 'Off', if the bedtime mode is activated, if the garage is marked as unoccupied for 20 minutes, when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "For the automation to proceed, the following must all be true: either bedtime mode is active, or the garage has been unoccupied for 20 minutes and there is no override in place. Additionally, at least one of the individual garage doors (door 1, door 2, or door 3) must have been open for 30 minutes. Finally, the Bluetooth Low Energy occupancy sensor must report that the garage is unoccupied.",
|
|
"action": "The automation will first make a voice announcement and send a notification listing the specific garage doors that are open. It will then automatically close all garage doors and turn off the garage lights."
|
|
},
|
|
"human_like": "Automatically closes the garage doors and turns off the lights when they've been left open for too long and no one is detected in the garage, especially at bedtime or when the garage is unoccupied.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_doors_lock_remotes",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on and remains on for 5 minutes OR when Home Assistant starts OR when an automation is reloaded (automation_reloaded event). CONDITIONS: bedtime [input_boolean.bedtime] is on. ACTIONS: Lock garage door 1 lock remotes [lock.garage_door_1_lock_remotes], garage door 2 lock remotes [lock.garage_door_2_lock_remotes], and garage door 3 lock remotes [lock.garage_door_3_lock_remotes].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bedtime [input_boolean.bedtime] switch is turned on and stays on for five minutes, when Home Assistant first starts up, or when an automation is reloaded.",
|
|
"conditions": "The automation only proceeds if the bedtime [input_boolean.bedtime] switch is currently in the 'on' state.",
|
|
"action": "It locks the remote controls for all three garage doors: garage door 1 lock remotes [lock.garage_door_1_lock_remotes], garage door 2 lock remotes [lock.garage_door_2_lock_remotes], and garage door 3 lock remotes [lock.garage_door_3_lock_remotes]."
|
|
},
|
|
"human_like": "Locks the garage door remotes when bedtime mode is activated, ensuring they cannot be used overnight or after a system restart.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_doors_unlock_remotes",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] remains off for 5 minutes OR When any of the following persons arrives home: person john koht [person.john_koht], person cristina falbo [person.cristina_falbo], person mary falbo [person.mary_falbo], person antoun koht [person.antoun_koht], person sonia koht [person.sonia_koht], person katia [person.katia], person joe falbo [person.joe_falbo] OR When Home Assistant starts OR When an automation is reloaded (automation_reloaded event). CONDITIONS: At least one of the following locks is locked: garage door 1 lock remotes [lock.garage_door_1_lock_remotes], garage door 2 lock remotes [lock.garage_door_2_lock_remotes], garage door 3 lock remotes [lock.garage_door_3_lock_remotes]. ACTIONS: Unlock all locks: garage door 1 lock remotes [lock.garage_door_1_lock_remotes], garage door 2 lock remotes [lock.garage_door_2_lock_remotes], garage door 3 lock remotes [lock.garage_door_3_lock_remotes].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bedtime mode [input_boolean.bedtime] has been turned off for five minutes, or when any of the listed family members (person john koht [person.john_koht], person cristina falbo [person.cristina_falbo], person mary falbo [person.mary_falbo], person antoun koht [person.antoun_koht], person sonia koht [person.sonia_koht], person katia [person.katia], person joe falbo [person.joe_falbo]) arrives home. It also triggers when Home Assistant starts up or when automations are reloaded.",
|
|
"conditions": "The automation only runs if at least one of the garage door remote locks (garage door 1 lock remotes [lock.garage_door_1_lock_remotes], garage door 2 lock remotes [lock.garage_door_2_lock_remotes], garage door 3 lock remotes [lock.garage_door_3_lock_remotes]) is currently in a locked state.",
|
|
"action": "Unlocks all three garage door remote locks: garage door 1 lock remotes [lock.garage_door_1_lock_remotes], garage door 2 lock remotes [lock.garage_door_2_lock_remotes], and garage door 3 lock remotes [lock.garage_door_3_lock_remotes]."
|
|
},
|
|
"human_like": "This automation unlocks the garage door remotes when someone arrives home, bedtime mode ends, or the system restarts, ensuring the remotes are accessible.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_door_2_open_upon_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When john status [input_select.john_status] changes to Just Arrived OR When cristina status dropdown [input_select.cristina_status_dropdown] changes to Just Arrived OR When audi home [input_boolean.audi_home] changes to on. CONDITIONS: (john status [input_select.john_status] is Just Arrived OR cristina status dropdown [input_select.cristina_status_dropdown] is Just Arrived) AND (audi home [input_boolean.audi_home] is on AND the time elapsed since audi home [input_boolean.audi_home] was last updated is less than 120 seconds) AND garage door 2 [cover.garage_door_2] is closed. ACTIONS: Send a notification to mobile app jk 2 [notify.mobile_app_jk_2] with title 'Garage Door 2' and message 'Garage door three is opening upon somebody's arrival'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when either John's status [input_select.john_status] or Cristina's status [input_select.cristina_status_dropdown] changes to 'Just Arrived', or when the 'audi home' [input_boolean.audi_home] indicator turns on.",
|
|
"conditions": "For the automation to proceed, at least one person (John or Cristina) must be in the 'Just Arrived' status. Additionally, the 'audi home' [input_boolean.audi_home] must be on and have been updated within the last two minutes. Finally, the garage door 2 [cover.garage_door_2] must be closed.",
|
|
"action": "Sends a notification to the mobile app jk 2 [notify.mobile_app_jk_2] with the title 'Garage Door 2' and a message stating that garage door three is opening upon somebody's arrival."
|
|
},
|
|
"human_like": "Automatically sends a notification when someone arrives home and the Audi is recently detected, provided the garage door is closed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_door_3_open_upon_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When john status [input_select.john_status] changes to Just Arrived OR When bmw home [input_boolean.bmw_home] changes to on. CONDITIONS: (cristina status dropdown [input_select.cristina_status_dropdown] is Just Arrived OR john status [input_select.john_status] is Just Arrived) AND (bmw home [input_boolean.bmw_home] is on AND the time elapsed since bmw home [input_boolean.bmw_home] was last updated is less than 120 seconds) AND garage door 3 [cover.garage_door_3] is closed. ACTIONS: Open garage door 3 [cover.garage_door_3] AND Execute general notification script [script.general_notification] with title 'Garage Door 3', message 'Garage door three is opening upon somebody's arrival', devices 'jk', priority 'active', and tag 'garage-door-3-automation'.",
|
|
"natural_language": {
|
|
"trigger": "When John's status [input_select.john_status] changes to 'Just Arrived', or when the BMW home status [input_boolean.bmw_home] turns on.",
|
|
"conditions": "If either Cristina's status [input_select.cristina_status_dropdown] or John's status [input_select.john_status] is set to 'Just Arrived'. Also, the BMW home status [input_boolean.bmw_home] must be on and have been updated within the last two minutes. Finally, garage door 3 [cover.garage_door_3] must be closed.",
|
|
"action": "Opens garage door 3 [cover.garage_door_3] and sends a notification via the general notification script [script.general_notification] to device 'jk' with the title 'Garage Door 3' and the message 'Garage door three is opening upon somebody's arrival'."
|
|
},
|
|
"human_like": "Automatically opens garage door 3 and sends a notification when someone arrives home and the car is recently detected, provided the door is closed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_driveway_camera_detections_animal",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage driveway camera animal detected [binary_sensor.garage_driveway_camera_animal_detected] changes to on. CONDITIONS: (The automation garage driveway camera detections animal [automation.garage_driveway_camera_detections_animal] has not been triggered in the last 60 seconds) AND (camera notifications [input_boolean.camera_notifications] is on). ACTIONS: Execute script camera detection alert script [script.camera_detection_alert] with detection_type animal, camera_name Garage Driveway Camera, image_path /api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, and proxy_camera garage driveway camera proxy [camera.camera_proxy_camera_garage_driveway_camera_high].",
|
|
"natural_language": {
|
|
"trigger": "When the garage driveway camera animal detected [binary_sensor.garage_driveway_camera_animal_detected] sensor indicates an animal has been detected.",
|
|
"conditions": "If the automation itself has not been triggered in the last 60 seconds, and the camera notifications [input_boolean.camera_notifications] switch is turned on.",
|
|
"action": "Runs the camera detection alert script [script.camera_detection_alert] to send a notification for an animal detection, including the camera name, a thumbnail image path, and the proxy camera entity."
|
|
},
|
|
"human_like": "Sends an alert when an animal is detected by the garage driveway camera, but only if notifications are enabled and it hasn't alerted too recently.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_driveway_camera_detections_person",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage driveway camera person detected [binary_sensor.garage_driveway_person_detected] changes to on. CONDITIONS: (More than 60 seconds have passed since automation.garage_driveway_camera_detections_person [automation.garage_driveway_camera_detections_person] was last triggered) AND (camera notifications [input_boolean.camera_notifications] is on) AND (garage occupied [input_boolean.garage_occupied] is off OR cover garage doors [cover.garage_doors] is closed OR garage ble occupancy [binary_sensor.garage_ble_occupancy] is off AND remains off for 2 minutes). ACTIONS: Execute camera detection alert script [script.camera_detection_alert] with detection_type: person, camera_name: Garage Driveway Camera, image_path: /api/unifiprotect/thumbnail/{{ nvr_id }}/{{ event_id }}, proxy_camera: camera.camera_proxy_camera_garage_driveway_camera_high.",
|
|
"natural_language": {
|
|
"trigger": "When the garage driveway camera person detected [binary_sensor.garage_driveway_person_detected] detects a person.",
|
|
"conditions": "If it has been more than 60 seconds since this automation last ran, the camera notifications [input_boolean.camera_notifications] are enabled, and either the garage is marked as not occupied, the garage doors are closed, or the garage Bluetooth occupancy sensor has not detected anyone for at least two minutes.",
|
|
"action": "Sends a person detection alert using the camera detection alert script [script.camera_detection_alert], including the camera name, a thumbnail image path, and a reference to the camera proxy."
|
|
},
|
|
"human_like": "Sends a notification when a person is detected by the driveway camera, but only if notifications are on and the garage is likely unoccupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_driveway_camera_detections_vehicle",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage driveway camera vehicle detected [binary_sensor.garage_driveway_vehicle_detected] changes to on. CONDITIONS: (The time since automation.garage_driveway_camera_detections_vehicle [automation.garage_driveway_camera_detections_vehicle] was last triggered is greater than 60 seconds) AND (camera notifications [input_boolean.camera_notifications] is on). ACTIONS: Execute camera detection alert script [script.camera_detection_alert] with detection_type set to vehicle, camera_name set to Garage Driveway Camera, image_path set to the generated thumbnail path, and proxy_camera set to garage driveway camera proxy [camera.camera_proxy_camera_garage_driveway_camera_high].",
|
|
"natural_language": {
|
|
"trigger": "When the binary sensor for vehicle detection on the garage driveway camera [binary_sensor.garage_driveway_vehicle_detected] changes to 'on', indicating a vehicle has been detected.",
|
|
"conditions": "If at least 60 seconds have passed since this automation was last triggered, and the camera notifications toggle [input_boolean.camera_notifications] is currently enabled.",
|
|
"action": "Runs the camera detection alert script [script.camera_detection_alert] to send a notification. The script is provided with details about the detection, including the type ('vehicle'), the camera name ('Garage Driveway Camera'), a path to a thumbnail image, and a reference to the proxy camera entity [camera.camera_proxy_camera_garage_driveway_camera_high]."
|
|
},
|
|
"human_like": "Sends a notification when a vehicle is detected by the garage driveway camera, but only if notifications are enabled and it hasn't triggered too recently.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_entry_door_lock_at_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR when house occupied [input_boolean.house_occupied] turns off. CONDITIONS: garage entry door lock [lock.garage_entry_door] is unlocked. ACTIONS: Lock garage entry door lock [lock.garage_entry_door].",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime [input_boolean.bedtime] routine is activated, or when the house occupied [input_boolean.house_occupied] status changes to indicate the house is empty.",
|
|
"conditions": "The garage entry door lock [lock.garage_entry_door] must currently be unlocked.",
|
|
"action": "Locks the garage entry door lock [lock.garage_entry_door]."
|
|
},
|
|
"human_like": "Automatically locks the garage entry door at bedtime or when the house becomes unoccupied, provided the door is unlocked.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_entry_door_unlock_upon_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following persons changes state to home: person john koht [person.john_koht], person cristina falbo [person.cristina_falbo], person mary falbo [person.mary_falbo], person antoun koht [person.antoun_koht], person sonia koht [person.sonia_koht], person katia [person.katia], person joe falbo [person.joe_falbo] OR when house occupied [input_boolean.house_occupied] changes to on. CONDITIONS: garage entry door lock [lock.garage_entry_door] is locked AND house occupied [input_boolean.house_occupied] is on. ACTIONS: Unlock garage entry door lock [lock.garage_entry_door].",
|
|
"natural_language": {
|
|
"trigger": "When any of the listed family members (person john koht, person cristina falbo, person mary falbo, person antoun koht, person sonia koht, person katia, or person joe falbo) arrives home, or when the house occupied indicator is manually or automatically turned on.",
|
|
"conditions": "The garage entry door lock must currently be locked, and the house occupied indicator must be on.",
|
|
"action": "Unlock the garage entry door lock."
|
|
},
|
|
"human_like": "Automatically unlocks the garage entry door when a resident arrives home and the house is marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_lights_motion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage motion sensor motion [binary_sensor.garage_motion_sensor_motion] remains off for 2 minutes OR When garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] becomes off OR When garage occupied [input_boolean.garage_occupied] becomes off. CONDITIONS: garage occupied [input_boolean.garage_occupied] is off AND garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] is off AND Garage Lights [light.garage_lights] is on. ACTIONS: Turn off Garage Lights [light.garage_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the garage motion sensor motion [binary_sensor.garage_motion_sensor_motion] reports no motion for two minutes, or when the garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] reports the garage is unoccupied, or when the garage occupied [input_boolean.garage_occupied] input boolean is turned off.",
|
|
"conditions": "If the garage occupied [input_boolean.garage_occupied] is set to off, the garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] reports the garage is unoccupied, and the Garage Lights [light.garage_lights] are currently on.",
|
|
"action": "Turns off the Garage Lights [light.garage_lights]."
|
|
},
|
|
"human_like": "Turns off the garage lights when the garage is confirmed to be unoccupied and no motion has been detected for a while.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage motion sensor motion [binary_sensor.garage_motion_sensor_motion] turns on OR when Interior Garage Door [binary_sensor.interior_garage_door] turns on OR when cover garage doors [cover.garage_doors] opens. CONDITIONS: (garage mode [input_select.garage] is Auto) AND (lighting automations [input_boolean.lighting_automations] is on) AND (garage lighting automations [input_boolean.garage_lighting_automations] is on) AND (garage motion sensor illuminance [sensor.garage_motion_sensor_illuminance] is below 100) AND (Garage Lights [light.garage_lights] is off). ACTIONS: Turn on Garage Lights [light.garage_lights] AND turn on garage lights auto [input_boolean.garage_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the garage motion sensor motion [binary_sensor.garage_motion_sensor_motion], when the Interior Garage Door [binary_sensor.interior_garage_door] is opened, or when the main garage doors [cover.garage_doors] are opened.",
|
|
"conditions": "If the garage mode [input_select.garage] is set to 'Auto', the global lighting automations [input_boolean.lighting_automations] are enabled, the specific garage lighting automations [input_boolean.garage_lighting_automations] are enabled, the light level measured by the garage motion sensor illuminance [sensor.garage_motion_sensor_illuminance] is below 100 lux, and the Garage Lights [light.garage_lights] are currently off.",
|
|
"action": "Turn on the Garage Lights [light.garage_lights] and set the garage lights auto [input_boolean.garage_lights_auto] flag to on to indicate the lights were activated automatically."
|
|
},
|
|
"human_like": "Automatically turns on the garage lights when motion is detected or a door is opened, but only if it's dark enough and all automation settings allow it.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage mode [input_select.garage] changes to Off OR When garage mode [input_select.garage] changes to Away OR When garage occupied [input_boolean.garage_occupied] changes to off OR When lighting automations [input_boolean.lighting_automations] changes to on. CONDITIONS: (garage occupied [input_boolean.garage_occupied] is off) AND ((garage mode [input_select.garage] is Off) OR (garage mode [input_select.garage] is Away) OR (garage occupied [input_boolean.garage_occupied] is off)). ACTIONS: Turn off Garage Lights [light.garage_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the garage mode [input_select.garage] is set to 'Off' or 'Away', when the garage occupied [input_boolean.garage_occupied] is turned off, or when the lighting automations [input_boolean.lighting_automations] are turned on.",
|
|
"conditions": "The garage must be unoccupied, meaning garage occupied [input_boolean.garage_occupied] is off. Additionally, either the garage mode [input_select.garage] is set to 'Off' or 'Away', or the garage occupied [input_boolean.garage_occupied] is off.",
|
|
"action": "Turns off the Garage Lights [light.garage_lights]."
|
|
},
|
|
"human_like": "Turns off the garage lights when the garage is unoccupied and set to an 'Off' or 'Away' mode, or when lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_lights_to_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Off OR house occupied [input_boolean.house_occupied] changes to off OR bedtime [input_boolean.bedtime] changes to on OR Garage Lights [light.garage_lights] remain on for 30 minutes. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND Garage Lights [light.garage_lights] is on. ACTIONS: Turn off Garage Lights [light.garage_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house status [input_select.house] is set to 'Off', when the house occupied [input_boolean.house_occupied] indicator is turned off, when the bedtime [input_boolean.bedtime] mode is activated, or when the Garage Lights [light.garage_lights] have been left on for 30 minutes.",
|
|
"conditions": "For the automation to run, the lighting automations [input_boolean.lighting_automations] must be enabled, and the Garage Lights [light.garage_lights] must currently be on.",
|
|
"action": "The automation turns off the Garage Lights [light.garage_lights]."
|
|
},
|
|
"human_like": "Turns off the garage lights when the house is set to off, unoccupied, bedtime mode is on, or the lights have been on for 30 minutes, provided lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_lights_turned_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When Garage Lights [light.garage_lights] turns off. CONDITIONS: garage lights auto [input_boolean.garage_lights_auto] is on. ACTIONS: Turn off garage lights auto [input_boolean.garage_lights_auto] AND turn off garage lighting automations [input_boolean.garage_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "When the Garage Lights [light.garage_lights] are manually turned off.",
|
|
"conditions": "If the automatic control for the garage lights, represented by the switch 'garage lights auto' [input_boolean.garage_lights_auto], is currently enabled.",
|
|
"action": "Disables the automatic control for the garage lights by turning off the 'garage lights auto' [input_boolean.garage_lights_auto] switch and also turns off the broader 'garage lighting automations' [input_boolean.garage_lighting_automations] switch."
|
|
},
|
|
"human_like": "Disables the automatic garage lighting system when the lights are manually turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage occupied [input_boolean.garage_occupied] turns on OR When house status [input_select.house] changes to Auto OR When garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND garage mode [input_select.garage] is NOT Auto AND bedtime [input_boolean.bedtime] is off. ACTIONS: Set garage mode [input_select.garage] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the garage occupied [input_boolean.garage_occupied] is turned on, or when the house status [input_select.house] is set to Auto, or when motion is detected in the garage by the garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy].",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), the garage mode [input_select.garage] must not already be set to Auto, and the bedtime [input_boolean.bedtime] mode must be off.",
|
|
"action": "Sets the garage mode [input_select.garage] to Auto."
|
|
},
|
|
"human_like": "Automatically sets the garage to 'Auto' mode when the garage is occupied, the house is in 'Auto' mode, or motion is detected, provided the house is occupied and it's not bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_mode_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off OR When house status [input_select.house] changes to Away. CONDITIONS: (garage mode [input_select.garage] is NOT set to Away) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away). ACTIONS: Set garage mode [input_select.garage] to Away.",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to off, or when the house status [input_select.house] changes to Away.",
|
|
"conditions": "If the garage mode [input_select.garage] is not already set to Away, and either the house occupied [input_boolean.house_occupied] is off or the house status [input_select.house] is Away.",
|
|
"action": "Sets the garage mode [input_select.garage] to Away."
|
|
},
|
|
"human_like": "Sets the garage to Away mode when the house is unoccupied or set to Away, ensuring the garage mode is updated accordingly.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Bedtime. CONDITIONS: garage occupied [input_boolean.garage_occupied] is off AND house status [input_select.house] is Bedtime. ACTIONS: Set garage mode [input_select.garage] to 'Off' AND Turn on Garage Doors Close When Home [automation.garage_doors_close_when_home].",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] changes to the 'Bedtime' mode.",
|
|
"conditions": "The garage must be unoccupied, meaning garage occupied [input_boolean.garage_occupied] is off, and the house status [input_select.house] must currently be set to 'Bedtime'.",
|
|
"action": "Sets the garage mode [input_select.garage] to 'Off' and re-enables the automation named Garage Doors Close When Home [automation.garage_doors_close_when_home]."
|
|
},
|
|
"human_like": "Turns off the garage mode and re-enables a door-closing automation when the house is set to bedtime and the garage is unoccupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage ble occupancy [binary_sensor.garage_ble_occupancy] becomes off and remains for 5 minutes OR When garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] becomes off OR When cover garage doors [cover.garage_doors] becomes closed OR When cover garage doors [cover.garage_doors] becomes open and remains for 15 minutes. CONDITIONS: (garage occupied [input_boolean.garage_occupied] is on) AND (garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] is off) AND (garage ble occupancy [binary_sensor.garage_ble_occupancy] is off). ACTIONS: Turn off garage occupied [input_boolean.garage_occupied], then wait 30 seconds, then turn on garage lighting automations [input_boolean.garage_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: if the garage ble occupancy [binary_sensor.garage_ble_occupancy] reports no occupancy for at least five minutes; if the garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] stops detecting motion; if the garage doors [cover.garage_doors] are closed; or if the garage doors [cover.garage_doors] have been open for at least fifteen minutes.",
|
|
"conditions": "For the automation to run, the garage must be currently marked as occupied (garage occupied [input_boolean.garage_occupied] is on), and both the motion sensor [binary_sensor.garage_motion_sensor_occupancy] and the BLE occupancy sensor [binary_sensor.garage_ble_occupancy] must report no activity (state off).",
|
|
"action": "The automation will first mark the garage as unoccupied by turning off garage occupied [input_boolean.garage_occupied]. After a 30-second delay, it will re-enable lighting automations by turning on garage lighting automations [input_boolean.garage_lighting_automations]."
|
|
},
|
|
"human_like": "Marks the garage as unoccupied and re-enables lighting automations when no motion or BLE occupancy is detected, or when the garage door is closed or has been open for a while.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When garage motion sensor motion [binary_sensor.garage_motion_sensor_motion] turns on OR Garage Lights [light.garage_lights] turns on OR cover garage doors [cover.garage_doors] opens OR an automation_reloaded event occurs OR Home Assistant starts. CONDITIONS: garage occupied [input_boolean.garage_occupied] is off AND (garage ble occupancy [binary_sensor.garage_ble_occupancy] is off for 2 minutes OR garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] is on OR Garage Lights [light.garage_lights] is on OR cover garage doors [cover.garage_doors] is open). ACTIONS: Turn on garage occupied [input_boolean.garage_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when motion is detected by the garage motion sensor motion [binary_sensor.garage_motion_sensor_motion], when the Garage Lights [light.garage_lights] are turned on, when the cover garage doors [cover.garage_doors] are opened, when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only proceeds if the garage occupied [input_boolean.garage_occupied] flag is currently off. Additionally, at least one of the following must be true: the garage ble occupancy [binary_sensor.garage_ble_occupancy] has been off for at least two minutes, the garage motion sensor occupancy [binary_sensor.garage_motion_sensor_occupancy] is detecting occupancy, the Garage Lights [light.garage_lights] are on, or the cover garage doors [cover.garage_doors] are open.",
|
|
"action": "Sets the garage as occupied by turning on the garage occupied [input_boolean.garage_occupied] input boolean."
|
|
},
|
|
"human_like": "Marks the garage as occupied when motion, lights, or door activity is detected, ensuring the status is also set correctly when Home Assistant restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garbage_day_is_today_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 06:30:00 OR when kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] becomes occupied (on) AND remains so for 15 minutes. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND Garbage Day [input_boolean.garbage_day] is on AND the current time is between 06:00:00 and 09:00:00. ACTIONS: Wait until kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] has been occupied for at least 15 minutes (or timeout after 15 minutes). Then wait until kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is on (or timeout after 15 minutes). Then delay for 2 seconds. Then execute script.voice_announcement [script.voice_announcement] with a random speech message about garbage day.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered either at 6:30 AM, or when the kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] detects motion and remains in the 'on' state for 15 minutes.",
|
|
"conditions": "All of the following must be true: the house occupied [input_boolean.house_occupied] flag is set to 'on', the Garbage Day [input_boolean.garbage_day] flag is set to 'on', and the current time is between 6:00 AM and 9:00 AM.",
|
|
"action": "First, the automation waits for the kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] to have been active for a full 15 minutes, timing out after 15 minutes. Then, it waits for the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] to be 'on', also timing out after 15 minutes. After a brief 2-second delay, it triggers a voice announcement script [script.voice_announcement] that randomly selects a message to remind someone to take out the trash."
|
|
},
|
|
"human_like": "Provides a voice reminder on garbage day in the morning, but only if the house is occupied and there has been recent motion in the kitchen.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garbage_day_is_tomorrow_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: At 17:30:00 OR At 20:00:00 OR When house occupied [input_boolean.house_occupied] turns on AND remains on for 15 minutes. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND tomorrow is garbage day [binary_sensor.tomorrow_is_garbage_day] is on AND current time is after 17:00:00. ACTIONS: Wait until kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is on OR family room motion sensor [binary_sensor.family_room_motion_sensor] is on (timeout after 5 minutes). Then delay for 2 seconds. Then execute voice announcement script [script.voice_announcement] with a random speech message about garbage day. Then execute general notification script [script.general_notification] with a garbage day reminder.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at 5:30 PM, at 8:00 PM, or when the house occupied [input_boolean.house_occupied] indicator turns on and stays on for 15 minutes.",
|
|
"conditions": "All conditions must be met: the house occupied [input_boolean.house_occupied] must be on, the tomorrow is garbage day [binary_sensor.tomorrow_is_garbage_day] must be on, and the current time must be after 5:00 PM.",
|
|
"action": "The system first waits for up to 5 minutes for motion to be detected in either the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] or the family room motion sensor [binary_sensor.family_room_motion_sensor]. After motion is detected or the wait times out, it pauses for 2 seconds. It then uses the voice announcement script [script.voice_announcement] to play a randomly chosen voice message reminding everyone that tomorrow is garbage day. Finally, it sends a time-sensitive notification titled 'Garbage Day' to a specific device via the general notification script [script.general_notification]."
|
|
},
|
|
"human_like": "Reminds the household about garbage day in the evening with voice and phone notifications, but only if someone is home and motion is detected.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garbage_day_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When the garbage day calendar [calendar.garbage_day] event ends. CONDITIONS: Garbage Day [input_boolean.garbage_day] is on. ACTIONS: Turn off Garbage Day [input_boolean.garbage_day] AND turn off Garbage Day is Today Reminder [automation.garbage_day_is_today_reminder].",
|
|
"natural_language": {
|
|
"trigger": "When the scheduled event on the garbage day calendar [calendar.garbage_day] ends.",
|
|
"conditions": "The automation only runs if the Garbage Day [input_boolean.garbage_day] is currently switched on.",
|
|
"action": "Turns off the Garbage Day [input_boolean.garbage_day] indicator and also disables the Garbage Day is Today Reminder [automation.garbage_day_is_today_reminder] automation."
|
|
},
|
|
"human_like": "Resets the garbage day status and stops related reminders after the scheduled garbage day event has passed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garbage_day_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When garbage day calendar [calendar.garbage_day] event starts. CONDITIONS: Garbage Day [input_boolean.garbage_day] is off. ACTIONS: Turn on Garbage Day [input_boolean.garbage_day] AND turn on Garbage Day is Today Reminder [automation.garbage_day_is_today_reminder].",
|
|
"natural_language": {
|
|
"trigger": "When the garbage day calendar [calendar.garbage_day] indicates the start of the garbage day event.",
|
|
"conditions": "The Garbage Day [input_boolean.garbage_day] status is currently off.",
|
|
"action": "Turns on the Garbage Day [input_boolean.garbage_day] status and enables the Garbage Day is Today Reminder [automation.garbage_day_is_today_reminder] automation."
|
|
},
|
|
"human_like": "Activates the garbage day status and reminder when the garbage day calendar event begins.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "notifications_activate_important_only",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR When entertainment mode [input_boolean.entertainment_mode] turns on OR When house occupied [input_boolean.house_occupied] turns off. CONDITIONS: notification level [input_select.notification_level] is set to All. ACTIONS: Set notification level [input_select.notification_level] to Important.",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime mode is activated, when the entertainment mode is activated, or when the house is marked as unoccupied.",
|
|
"conditions": "The notification level must currently be set to 'All'.",
|
|
"action": "Changes the notification level to 'Important'."
|
|
},
|
|
"human_like": "Automatically switches notifications to 'Important only' when going to bed, starting entertainment, or when the house is empty.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianlucas_bedroom_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas room occupied [input_boolean.gianlucas_room_occupied] turns on OR When house status [input_select.house] changes to Auto OR When house occupied [input_boolean.house_occupied] turns on OR When gianluca in bed [input_boolean.gianluca_in_bed] remains off for 10 minutes OR When bedtime [input_boolean.bedtime] turns off. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) AND (gianlucas bedroom mode [input_select.gianlucas_bedroom] is NOT Auto) AND (bedtime [input_boolean.bedtime] is off) AND (house status [input_select.house] is Auto OR Quiet) AND (gianlucas room occupied [input_boolean.gianlucas_room_occupied] is off) AND (gianluca in bed [input_boolean.gianluca_in_bed] is off). ACTIONS: Set gianlucas bedroom mode [input_select.gianlucas_bedroom] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the gianlucas room occupied [input_boolean.gianlucas_room_occupied] becomes on; when the house status [input_select.house] is set to Auto; when the house occupied [input_boolean.house_occupied] becomes on; when gianluca in bed [input_boolean.gianluca_in_bed] has been off for 10 minutes; or when the bedtime [input_boolean.bedtime] is turned off.",
|
|
"conditions": "For the automation to run, all of the following must be true: the house must be occupied, meaning house occupied [input_boolean.house_occupied] is on; the gianlucas bedroom mode [input_select.gianlucas_bedroom] must not already be set to Auto; bedtime [input_boolean.bedtime] must be off; the overall house status [input_select.house] must be either Auto or Quiet; the gianlucas room occupied [input_boolean.gianlucas_room_occupied] must be off; and gianluca in bed [input_boolean.gianluca_in_bed] must also be off.",
|
|
"action": "It sets the gianlucas bedroom mode [input_select.gianlucas_bedroom] to Auto."
|
|
},
|
|
"human_like": "Automatically switches Gianluca's bedroom to 'Auto' mode when the house is occupied, it's not bedtime, and the room is unoccupied and Gianluca is not in bed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianlucas_bedroom_mode_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianluca in bed [input_boolean.gianluca_in_bed] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND gianlucas bedroom mode [input_select.gianlucas_bedroom] is NOT set to 'Bedtime'. ACTIONS: Set gianlucas bedroom mode [input_select.gianlucas_bedroom] to 'Bedtime'.",
|
|
"natural_language": {
|
|
"trigger": "When the gianluca in bed [input_boolean.gianluca_in_bed] switch is turned on.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on, and the current mode for gianlucas bedroom [input_select.gianlucas_bedroom] is not already set to 'Bedtime'.",
|
|
"action": "Changes the gianlucas bedroom mode [input_select.gianlucas_bedroom] to the 'Bedtime' option."
|
|
},
|
|
"human_like": "Sets Gianluca's bedroom to bedtime mode when he gets into bed, provided the house is occupied and the mode isn't already set.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianlucas_bedroom_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR When house status [input_select.house] changes to Away OR When Home Assistant starts OR When an automation_reloaded event occurs. CONDITIONS: (gianlucas bedroom mode [input_select.gianlucas_bedroom] is NOT set to Off) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away). ACTIONS: Set gianlucas bedroom mode [input_select.gianlucas_bedroom] to Off.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] status changes to off, when the overall house status [input_select.house] is set to Away, when Home Assistant itself starts up, or when automations are reloaded.",
|
|
"conditions": "The automation only proceeds if the gianlucas bedroom mode [input_select.gianlucas_bedroom] is not already set to Off. Additionally, it requires that either the house is marked as unoccupied (house occupied [input_boolean.house_occupied] is off) or the house status is set to Away.",
|
|
"action": "Sets the gianlucas bedroom mode [input_select.gianlucas_bedroom] to Off."
|
|
},
|
|
"human_like": "Turns off Gianluca's bedroom mode when the house is unoccupied or set to Away, ensuring the mode is not already off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianlucas_room_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] becomes open (on) AND remains so for 5 minutes OR When gianluca bedroom lights [light.gianluca_bedroom_lights] becomes off AND remains so for 3 minutes OR When gianluca bed occupied [binary_sensor.gianluca_bed_occupied] becomes unoccupied (off) AND remains so for 5 minutes. CONDITIONS: (gianlucas room occupied [input_boolean.gianlucas_room_occupied] is on) AND (gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] is on AND gianluca bedroom lights [light.gianluca_bedroom_lights] is off AND gianluca bed occupied [binary_sensor.gianluca_bed_occupied] is off). ACTIONS: Turn off gianlucas room occupied [input_boolean.gianlucas_room_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation can start when one of three things happens: the gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] has been open for five minutes, the gianluca bedroom lights [light.gianluca_bedroom_lights] have been off for three minutes, or the gianluca bed occupied [binary_sensor.gianluca_bed_occupied] sensor has reported the bed as unoccupied for five minutes.",
|
|
"conditions": "For the automation to proceed, the gianlucas room occupied [input_boolean.gianlucas_room_occupied] must be set to on. Furthermore, at the moment of checking, the door must be open, the lights must be off, and the bed must be unoccupied.",
|
|
"action": "It marks the room as unoccupied by turning off the gianlucas room occupied [input_boolean.gianlucas_room_occupied] input boolean."
|
|
},
|
|
"human_like": "This automation marks Gianluca's room as unoccupied when the door is open, the lights are off, and the bed is empty for a set period, provided the room was previously marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianlucas_room_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] changes to off OR When gianluca bedroom lights [light.gianluca_bedroom_lights] changes to on OR When gianluca bed occupied [binary_sensor.gianluca_bed_occupied] changes to on. CONDITIONS: (gianlucas room occupied [input_boolean.gianlucas_room_occupied] is off) AND (gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] is off OR gianluca bedroom lights [light.gianluca_bedroom_lights] is on OR gianluca bed occupied [binary_sensor.gianluca_bed_occupied] is on). ACTIONS: Turn on gianlucas room occupied [input_boolean.gianlucas_room_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] indicates the door is closed (off), when the gianluca bedroom lights [light.gianluca_bedroom_lights] are turned on, or when the gianluca bed occupied [binary_sensor.gianluca_bed_occupied] sensor detects someone in the bed (on).",
|
|
"conditions": "The automation only runs if the gianlucas room occupied [input_boolean.gianlucas_room_occupied] is currently set to off, and at least one of the following is true: the door sensor is off, the bedroom lights are on, or the bed occupancy sensor is on.",
|
|
"action": "Marks the room as occupied by turning on the gianlucas room occupied [input_boolean.gianlucas_room_occupied] input boolean."
|
|
},
|
|
"human_like": "Marks Gianluca's room as occupied when the door is closed, the lights are on, or the bed is occupied, provided the room is not already marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_bedroom_turn_off_purifier",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when gianlucas room occupied [input_boolean.gianlucas_room_occupied] turns off and remains off for 30 minutes. CONDITIONS: None. ACTIONS: Turn off gianlucas bedroom air purifier [fan.gianlucas_bedroom_air_purifier].",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to off, or when the gianlucas room occupied [input_boolean.gianlucas_room_occupied] status changes to off and stays off for 30 minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the gianlucas bedroom air purifier [fan.gianlucas_bedroom_air_purifier]."
|
|
},
|
|
"human_like": "Turns off the air purifier in Gianluca's bedroom when the house is unoccupied or when his room has been empty for half an hour.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_bed_awake",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianluca sleep state [input_select.gianluca_sleep_state] changes to 'Just Got Up' AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set gianluca sleep state [input_select.gianluca_sleep_state] to 'Awake' AND Turn off gianluca in bed [input_boolean.gianluca_in_bed].",
|
|
"natural_language": {
|
|
"trigger": "When the gianluca sleep state [input_select.gianluca_sleep_state] changes to 'Just Got Up' and stays that way for five minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Changes the gianluca sleep state [input_select.gianluca_sleep_state] to 'Awake' and turns off the gianluca in bed [input_boolean.gianluca_in_bed] indicator."
|
|
},
|
|
"human_like": "Updates Gianluca's status to 'Awake' and marks him as out of bed after he has been in the 'Just Got Up' state for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_bed_just_got_up",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianluca bed occupied [binary_sensor.gianluca_bed_occupied] changes to off. CONDITIONS: None. ACTIONS: Set gianluca sleep state [input_select.gianluca_sleep_state] to 'Just Got Up'.",
|
|
"natural_language": {
|
|
"trigger": "When the bed occupancy sensor indicates that Gianluca's bed is no longer occupied.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Updates Gianluca's sleep status to 'Just Got Up'."
|
|
},
|
|
"human_like": "Updates Gianluca's sleep status to 'Just Got Up' when he gets out of bed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_bed_just_laid_down",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianluca bed occupied [binary_sensor.gianluca_bed_occupied] changes to on. CONDITIONS: gianluca sleep state [input_select.gianluca_sleep_state] is NOT set to 'Sleep'. ACTIONS: Set gianluca sleep state [input_select.gianluca_sleep_state] to 'Just Laid Down'.",
|
|
"natural_language": {
|
|
"trigger": "When the bed occupancy sensor indicates that the bed is occupied.",
|
|
"conditions": "If the current sleep state is not already set to 'Sleep'.",
|
|
"action": "Changes the sleep state to 'Just Laid Down'."
|
|
},
|
|
"human_like": "Updates Gianluca's sleep state to 'Just Laid Down' when he gets into bed, but only if he isn't already asleep.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_bed_sleep",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianluca sleep state [input_select.gianluca_sleep_state] changes to 'Just Laid Down' AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set gianluca sleep state [input_select.gianluca_sleep_state] to 'Sleep' AND Turn on gianluca in bed [input_boolean.gianluca_in_bed].",
|
|
"natural_language": {
|
|
"trigger": "When the gianluca sleep state [input_select.gianluca_sleep_state] is set to 'Just Laid Down' and stays that way for five minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Changes the gianluca sleep state [input_select.gianluca_sleep_state] to 'Sleep' and turns on the gianluca in bed [input_boolean.gianluca_in_bed] indicator."
|
|
},
|
|
"human_like": "After Gianluca has been 'Just Laid Down' for five minutes, it confirms he is asleep by updating his sleep state and marking him as in bed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_birthday_countdown_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 07:05:00 OR 07:35:00 OR 08:05:00 OR 08:35:00 OR 18:05:00. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) AND (gianluca countdown announced [input_boolean.gianluca_countdown_announced] is off) AND (the current time is after 07:00:00). ACTIONS: Wait for up to 5 minutes until kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is on OR family room motion sensor [binary_sensor.family_room_motion_sensor] is on. Then wait 2 seconds. Then turn on gianluca countdown announced [input_boolean.gianluca_countdown_announced]. Then, if gianluca days to birthday [sensor.gianluca_days_to_birthday] is 0, run voice announcement script [script.voice_announcement] with a birthday message. Else, if gianluca days to birthday [sensor.gianluca_days_to_birthday] is 1, run voice announcement script [script.voice_announcement] with a birthday eve message. Otherwise, run voice announcement script [script.voice_announcement] with a random countdown message.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at specific times: 7:05 AM, 7:35 AM, 8:05 AM, 8:35 AM, and 6:05 PM.",
|
|
"conditions": "The automation only runs if the house is marked as occupied, the birthday countdown has not been announced yet today, and the current time is after 7:00 AM.",
|
|
"action": "First, the system waits for up to five minutes for motion to be detected in either the kitchen or the family room. After a two-second pause, it marks the countdown as announced. Then, depending on the number of days until Gianluca's birthday, it plays a custom voice announcement. If it's his birthday today, it plays a happy birthday message. If it's the day before, it plays an excited message about the upcoming birthday. For any other number of days, it plays a randomly selected countdown message."
|
|
},
|
|
"human_like": "Announces the countdown to Gianluca's birthday at specific morning and evening times when the house is occupied, waiting for someone to be present in the kitchen or family room before playing a cheerful voice message.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_birthday_daily_reset",
|
|
"result": {
|
|
"structured": "TRIGGER: At 00:00:05 (midnight and 5 seconds). CONDITIONS: gianluca countdown to birthday [input_boolean.gianluca_countdown_to_birthday] is on. ACTIONS: Turn off gianluca countdown announced [input_boolean.gianluca_countdown_announced].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 5 seconds past midnight.",
|
|
"conditions": "If the gianluca countdown to birthday [input_boolean.gianluca_countdown_to_birthday] is currently switched on.",
|
|
"action": "Resets the announcement flag by turning off gianluca countdown announced [input_boolean.gianluca_countdown_announced]."
|
|
},
|
|
"human_like": "Resets the birthday countdown announcement flag at midnight, provided the countdown is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_countdown_to_birthday_turn_off",
|
|
"result": {
|
|
"structured": "TRIGGER: At 00:00:01 daily OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: gianluca days to birthday [sensor.gianluca_days_to_birthday] is above 15 AND below 0 (impossible condition). ACTIONS: Turn off gianluca countdown to birthday [input_boolean.gianluca_countdown_to_birthday] AND Turn off Gianluca Countdown to Birthday Turn Off [automation.gianluca_countdown_to_birthday_turn_off], Gianluca Birthday Countdown Reminder [automation.gianluca_birthday_countdown_reminder], and Gianluca Birthday Daily Reset [automation.gianluca_birthday_daily_reset] AND Turn on Gianluca Countdown to Birthday Turn On [automation.gianluca_countdown_to_birthday_turn_on].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at one second past midnight every day, whenever automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the number of days until Gianluca's birthday [sensor.gianluca_days_to_birthday] is both greater than 15 and less than 0, which is a contradictory condition that can never be true.",
|
|
"action": "If the condition were met, it would turn off the birthday countdown flag [input_boolean.gianluca_countdown_to_birthday], disable a set of related birthday countdown automations, and enable the automation responsible for turning the countdown back on."
|
|
},
|
|
"human_like": "This automation is designed to disable the birthday countdown system if the days-to-birthday value is outside a specific range, but its condition is currently impossible to satisfy.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_countdown_to_birthday_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: At 00:00:01 daily OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: gianluca days to birthday [sensor.gianluca_days_to_birthday] is below 16. ACTIONS: Turn on gianluca countdown to birthday [input_boolean.gianluca_countdown_to_birthday] AND Turn on Gianluca Countdown to Birthday Turn Off [automation.gianluca_countdown_to_birthday_turn_off], Gianluca Birthday Countdown Reminder [automation.gianluca_birthday_countdown_reminder], and Gianluca Birthday Daily Reset [automation.gianluca_birthday_daily_reset] AND Turn off Gianluca Countdown to Birthday Turn On [automation.gianluca_countdown_to_birthday_turn_on].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at one second past midnight every day, whenever automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the number of days until Gianluca's birthday, shown by gianluca days to birthday [sensor.gianluca_days_to_birthday], is less than 16.",
|
|
"action": "It activates the birthday countdown by turning on the gianluca countdown to birthday [input_boolean.gianluca_countdown_to_birthday] flag. It then enables three other related automations: Gianluca Countdown to Birthday Turn Off [automation.gianluca_countdown_to_birthday_turn_off], Gianluca Birthday Countdown Reminder [automation.gianluca_birthday_countdown_reminder], and Gianluca Birthday Daily Reset [automation.gianluca_birthday_daily_reset]. Finally, it turns itself off to prevent further runs."
|
|
},
|
|
"human_like": "Starts the birthday countdown process for Gianluca when his birthday is within 15 days, enabling reminders and daily updates.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_heater_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] becomes open (on) AND remains for 1 minute OR When gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] exceeds 71.5°F OR When gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] exceeds 72.7°F OR When house occupied [input_boolean.house_occupied] becomes off OR When gianlucas room occupied [input_boolean.gianlucas_room_occupied] becomes off. CONDITIONS: (gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] is at least 71.0°F OR gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] is at least 72.1°F OR house occupied [input_boolean.house_occupied] is off OR gianlucas room occupied [input_boolean.gianlucas_room_occupied] is off) AND hue smart plug 1 [light.hue_smart_plug_1] is on. ACTIONS: Turn off hue smart plug 1 [light.hue_smart_plug_1].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the door in Gianluca's room has been open for at least one minute, when the temperature measured by the Awair sensor in Gianluca's bedroom exceeds 71.5°F, when the temperature from the door sensor in Gianluca's room exceeds 72.7°F, when the house is marked as unoccupied, or when Gianluca's room is marked as unoccupied.",
|
|
"conditions": "At least one of the following must be true: the Awair temperature is at least 71.0°F, the door sensor temperature is at least 72.1°F, the house is marked as unoccupied, or Gianluca's room is marked as unoccupied. Additionally, the hue smart plug 1 must currently be turned on.",
|
|
"action": "Turns off the hue smart plug 1, which is likely controlling a heater."
|
|
},
|
|
"human_like": "Turns off the heater in Gianluca's room if it gets too warm, the door is left open, or nobody is home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_heater_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas room occupied [input_boolean.gianlucas_room_occupied] turns on OR When gianlucas room lights group [group.gianlucas_room_lights] turns off OR When gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] falls below 69 OR When gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] is below 69.5. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND gianlucas room occupied [input_boolean.gianlucas_room_occupied] is on AND (gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] is less than or equal to 70 OR gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] is less than or equal to 71.0). ACTIONS: Turn on hue smart plug 1 [light.hue_smart_plug_1].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the gianlucas room occupied [input_boolean.gianlucas_room_occupied] status changes to on, when the gianlucas room lights group [group.gianlucas_room_lights] turns off, when the gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] drops below 69 degrees, or when the gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] falls below 69.5 degrees.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on. The room must also be marked as occupied, meaning gianlucas room occupied [input_boolean.gianlucas_room_occupied] is on. Finally, at least one of the following temperature conditions must be true: the gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] is 70 degrees or lower, or the gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] is 71.0 degrees or lower.",
|
|
"action": "Turns on the heater by switching on the hue smart plug 1 [light.hue_smart_plug_1]."
|
|
},
|
|
"human_like": "Turns on the heater in Gianluca's room when the room is occupied, the house is occupied, and the temperature is too low.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_heater_turn_on_upon_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on OR When family group [group.family] changes from not_home to home OR When person cristina falbo [person.cristina_falbo] OR person john koht [person.john_koht] changes to Just Arrived. CONDITIONS: ((house occupied [input_boolean.house_occupied] was updated within the last 300 seconds) OR (family group [group.family] is home AND family group [group.family] was updated within the last 300 seconds AND (person cristina falbo [person.cristina_falbo] OR person john koht [person.john_koht] is Just Arrived))) AND (gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] is below 69.5°F) AND (current time is after 18:30:00). ACTIONS: Turn on hue smart plug 1 [light.hue_smart_plug_1].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house is marked as occupied, when the family group arrives home, or when either Cristina or John's person status changes to 'Just Arrived'.",
|
|
"conditions": "The automation checks that either the house occupied status was updated within the last five minutes, or that the family group is home, was updated within the last five minutes, and either Cristina or John is 'Just Arrived'. Additionally, the temperature in Gianluca's bedroom must be below 69.5°F, and the current time must be after 6:30 PM.",
|
|
"action": "Turns on the heater by activating the hue smart plug 1 [light.hue_smart_plug_1]."
|
|
},
|
|
"human_like": "Turns on a heater in Gianluca's bedroom when someone arrives home in the evening and the room is too cold.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_bedroom_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas bedroom mode [input_select.gianlucas_bedroom] changes to 'Off' OR When gianlucas room occupied [input_boolean.gianlucas_room_occupied] changes to 'off' OR When lighting automations [input_boolean.lighting_automations] changes to 'on'. CONDITIONS: (gianlucas room occupied [input_boolean.gianlucas_room_occupied] is 'off') AND (gianlucas bedroom mode [input_select.gianlucas_bedroom] is 'Off' OR gianlucas room occupied [input_boolean.gianlucas_room_occupied] is 'off'). ACTIONS: Turn off gianluca bedroom lights [light.gianluca_bedroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the room mode for gianlucas bedroom mode [input_select.gianlucas_bedroom] is set to 'Off', or when the occupancy status gianlucas room occupied [input_boolean.gianlucas_room_occupied] changes to 'off', or when the master switch lighting automations [input_boolean.lighting_automations] is turned on.",
|
|
"conditions": "The room must be unoccupied, meaning gianlucas room occupied [input_boolean.gianlucas_room_occupied] is 'off'. Additionally, either the room mode is set to 'Off' or the room is unoccupied.",
|
|
"action": "Turn off the lights in the room using gianluca bedroom lights [light.gianluca_bedroom_lights]."
|
|
},
|
|
"human_like": "Turns off the bedroom lights when the room is unoccupied or set to 'Off' mode, ensuring lights aren't left on unnecessarily.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_nap_time",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas room occupied [input_boolean.gianlucas_room_occupied] turns on and remains on for 3 minutes OR When gianlucas room lights group [group.gianlucas_room_lights] turns off OR When gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] turns off. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND gianlucas room occupied [input_boolean.gianlucas_room_occupied] is on AND gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] is off AND quiet mode [input_boolean.quiet_mode] is off. ACTIONS: Turn on quiet mode [input_boolean.quiet_mode] AND Run voice announcement script [script.voice_announcement] with a random message indicating Gianluca is going to sleep.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when Gianluca's room is marked as occupied for at least three minutes, when all the lights in Gianluca's room are turned off, or when Gianluca's door sensor indicates the door is closed.",
|
|
"conditions": "All of the following must be true: the house is marked as occupied, Gianluca's room is marked as occupied, Gianluca's door sensor indicates the door is closed, and quiet mode is currently not active.",
|
|
"action": "It activates quiet mode and plays a random voice announcement on available media players, asking for quiet because Gianluca is going to sleep."
|
|
},
|
|
"human_like": "Activates quiet mode and announces a nap time for Gianluca when his room is occupied, the lights are off, and the door is closed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_nap_time_ended",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas room occupied [input_boolean.gianlucas_room_occupied] turns off OR when gianlucas room lights group [group.gianlucas_room_lights] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND gianlucas door sensor status [binary_sensor.gianlucas_door_sensor_status] is on AND gianlucas room occupied [input_boolean.gianlucas_room_occupied] is off AND quiet mode [input_boolean.quiet_mode] is on AND ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off. ACTIONS: Turn off quiet mode [input_boolean.quiet_mode].",
|
|
"natural_language": {
|
|
"trigger": "When the occupancy status for Gianluca's room [input_boolean.gianlucas_room_occupied] changes to unoccupied, or when the lights in Gianluca's room [group.gianlucas_room_lights] are turned on.",
|
|
"conditions": "The house must be marked as occupied [input_boolean.house_occupied], Gianluca's door sensor [binary_sensor.gianlucas_door_sensor_status] must be reporting an open state, Gianluca's room must be confirmed as unoccupied [input_boolean.gianlucas_room_occupied], quiet mode must be currently active [input_boolean.quiet_mode], and Nino's bedroom must also be unoccupied [input_boolean.ninos_bedroom_occupied].",
|
|
"action": "Deactivates quiet mode by turning off the quiet mode switch [input_boolean.quiet_mode]."
|
|
},
|
|
"human_like": "Ends quiet mode when Gianluca's nap is over, indicated by him leaving his room or the lights turning on, provided the house is occupied and his sibling's room is also empty.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_bedroom_air_quality_detections",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianluca bedroom air quality [sensor.gianluca_bedroom_air_quality] changes state OR when gianlucas bedroom mode [input_select.gianlucas_bedroom] changes to Bedtime OR when gianlucas room occupied [input_boolean.gianlucas_room_occupied] changes state. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) OR (almost home [input_boolean.almost_home] is on). ACTIONS: Execute script air quality set air purifier mode [script.air_quality_set_air_purifier_mode] with data: purifier = gianlucas bedroom air purifier [fan.gianlucas_bedroom_air_purifier], aqi_state = current state of gianluca bedroom air quality [sensor.gianluca_bedroom_air_quality], room_state = current state of gianlucas bedroom mode [input_select.gianlucas_bedroom].",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in three ways: when the air quality reading in Gianluca's bedroom changes, when the room mode is set to 'Bedtime', or when the room occupancy status changes.",
|
|
"conditions": "For the automation to run, at least one of the following must be true: either the whole house is marked as occupied, or the 'almost home' mode is active.",
|
|
"action": "It runs a script that adjusts the air purifier's mode based on the current air quality reading and the selected room mode."
|
|
},
|
|
"human_like": "Adjusts the air purifier in Gianluca's bedroom based on air quality, room mode, or occupancy, but only when someone is home or about to arrive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_room_temperature_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas room occupied [input_boolean.gianlucas_room_occupied] turns on and remains on for 5 minutes OR When gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] OR gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] rises above 78 degrees and remains above for 1 minute OR When gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] OR gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] falls below 67 degrees and remains below for 1 minute. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND gianlucas room occupied [input_boolean.gianlucas_room_occupied] is on AND (gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] OR gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] is below 67 OR gianluca bedroom awair temperature [sensor.gianluca_bedroom_awair_temperature] OR gianlucas door sensor temperature [sensor.gianlucas_door_sensor_temperature] is above 78). ACTIONS: Execute voice announcement script [script.voice_announcement] with a message stating the room is too cold (using the lower of the two temperature readings) or too hot (using the higher of the two temperature readings).",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in three scenarios: first, when the room is marked as occupied for at least five minutes; second, when either the main room temperature sensor or the door sensor reports a temperature above 78 degrees for at least one minute; or third, when either sensor reports a temperature below 67 degrees for at least one minute.",
|
|
"conditions": "The automation only proceeds if the house is marked as occupied, the specific room is marked as occupied, and at least one of the temperature sensors is currently reporting a value outside the comfortable range (either below 67 or above 78 degrees).",
|
|
"action": "The system makes a voice announcement, specifying whether Gianluca's room is too cold or too hot. It selects the more extreme temperature reading (the lower for cold, the higher for hot) to include in the message."
|
|
},
|
|
"human_like": "Announces when Gianluca's room becomes occupied and the temperature is too hot or too cold, ensuring the house is also occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_school_day_off",
|
|
"result": {
|
|
"structured": "TRIGGER: At 23:59:00 daily. CONDITIONS: gianluca school day [input_boolean.gianluca_school_day] is on. ACTIONS: Turn off gianluca school day [input_boolean.gianluca_school_day] AND turn off gianluca school day reminder automation [automation.gianluca_school_day_reminder], gianluca school departure reminder automation [automation.gianluca_school_departure_reminder], and gianluca school pickup reminder automation [automation.gianluca_school_pickup_reminder].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 11:59 PM.",
|
|
"conditions": "The input boolean gianluca school day [input_boolean.gianluca_school_day] must be in the 'on' state.",
|
|
"action": "Turns off the gianluca school day [input_boolean.gianluca_school_day] flag and also disables three related reminder automations: gianluca school day reminder automation [automation.gianluca_school_day_reminder], gianluca school departure reminder automation [automation.gianluca_school_departure_reminder], and gianluca school pickup reminder automation [automation.gianluca_school_pickup_reminder]."
|
|
},
|
|
"human_like": "Resets the school day status and turns off all related school reminder automations at the end of each day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_school_day_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 00:00:01 OR When gianluca is today school day sensor [binary_sensor.gianluca_is_today_school_day] changes to on OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: gianluca is today school day sensor [binary_sensor.gianluca_is_today_school_day] is on. ACTIONS: Turn on gianluca school day [input_boolean.gianluca_school_day] AND Turn on gianluca school day reminder automation [automation.gianluca_school_day_reminder] AND Turn on gianluca school departure reminder automation [automation.gianluca_school_departure_reminder] AND Turn on gianluca school pickup reminder automation [automation.gianluca_school_pickup_reminder].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at one second past midnight, when the sensor that indicates if today is a school day for Gianluca [binary_sensor.gianluca_is_today_school_day] turns on, when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only proceeds if the sensor that indicates if today is a school day for Gianluca [binary_sensor.gianluca_is_today_school_day] is currently on.",
|
|
"action": "It turns on the main school day indicator [input_boolean.gianluca_school_day] and also activates three related reminder automations: the school day reminder [automation.gianluca_school_day_reminder], the school departure reminder [automation.gianluca_school_departure_reminder], and the school pickup reminder [automation.gianluca_school_pickup_reminder]."
|
|
},
|
|
"human_like": "Activates Gianluca's school day mode and all associated reminders at the start of a school day or when the system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_school_pickup_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar event in calendar gianluca school [calendar.gianluca_school] ends, 20 minutes before the scheduled end time. CONDITIONS: gianluca school day [input_boolean.gianluca_school_day] is on AND the trigger event summary does not contain the word 'reminder' (case-insensitive). ACTIONS: Execute script voice announcement [script.voice_announcement] with parameters: media_players set to auto, sound set to school-bell-chime, priority set to high, and a dynamically generated speech message based on the event summary. Send a notification to notify.ios_family with title 'Gianluca's school is ending soon' and message 'School will be over soon, it's time to pick up Gianluca from school.'.",
|
|
"natural_language": {
|
|
"trigger": "When a calendar event in Gianluca's school calendar [calendar.gianluca_school] is about to end, specifically 20 minutes before its scheduled end time.",
|
|
"conditions": "If the input boolean gianluca school day [input_boolean.gianluca_school_day] is turned on, and the calendar event's summary does not already contain the word 'reminder' (ignoring case).",
|
|
"action": "Plays a voice announcement on all available media players using the script voice announcement [script.voice_announcement], with a school bell chime sound and a high priority. The spoken message is randomly selected from a set of phrases that mention the event (or 'school' if the event is a 'school day') and remind to pick up Gianluca. Additionally, a push notification is sent to the family's iOS devices with a reminder that school is ending soon."
|
|
},
|
|
"human_like": "Sends a voice and phone reminder 20 minutes before Gianluca's school or activity ends, but only on days marked as a school day and if the calendar event isn't already a reminder.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "gianluca_school_reminder_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar gianluca school [calendar.gianluca_school] event starts. CONDITIONS: (gianluca school day [input_boolean.gianluca_school_day] is on) AND (the event summary contains the word 'reminder'). ACTIONS: Execute voice announcement script [script.voice_announcement] with media players set to auto, sound school-bell-chime, and speech message equal to the message attribute of calendar gianluca school [calendar.gianluca_school].",
|
|
"natural_language": {
|
|
"trigger": "When an event on the calendar gianluca school [calendar.gianluca_school] begins.",
|
|
"conditions": "The gianluca school day [input_boolean.gianluca_school_day] must be turned on, and the event's summary must include the word 'reminder'.",
|
|
"action": "Plays a school bell chime sound and announces the event's message on all configured media players using the voice announcement script [script.voice_announcement]."
|
|
},
|
|
"human_like": "Announces school reminders with a bell sound when a school day event starts on Gianluca's calendar.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "grocery_store_announcement",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] OR person cristina falbo [person.cristina_falbo] remains at Marianos OR Heinen's Grocery Store OR Costco OR Costco Glenview OR Costco Niles for 5 minutes. CONDITIONS: None. ACTIONS: Execute voice announcement script [script.voice_announcement] with parameters: media_players set to auto, sound set to musical-flute, and a dynamic speech message that identifies the person (Baba for John, Mama for Cristina) and the store location.",
|
|
"natural_language": {
|
|
"trigger": "When either person john koht [person.john_koht] or person cristina falbo [person.cristina_falbo] has been at one of the specified grocery stores (Marianos, Heinen's Grocery Store, Costco, Costco Glenview, or Costco Niles) for at least five minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Plays a voice announcement on the configured media players using the 'musical-flute' sound. The announcement is a friendly reminder stating which person is at which store, using the nickname 'Baba' for John and 'Mama' for Cristina."
|
|
},
|
|
"human_like": "Announces when a family member has been at a grocery store for five minutes, reminding others they might be able to pick something up.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "guest_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When group guests [group.guests] changes state to home. CONDITIONS: group guests [group.guests] is home AND house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Wait 2 minutes, then send a notification via mobile app jk 2 notification [notify.mobile_app_jk_2] with title 'Guest Arrived!' and a message listing the friendly names of all entities within the group that are currently home.",
|
|
"natural_language": {
|
|
"trigger": "When the group guests [group.guests] changes its state to 'home'.",
|
|
"conditions": "The group guests [group.guests] must be in the 'home' state, and the house occupied [input_boolean.house_occupied] switch must be 'on' and remain in that state for at least 5 minutes.",
|
|
"action": "After a 2-minute delay, a notification is sent to the mobile app jk 2 notification [notify.mobile_app_jk_2] with the title 'Guest Arrived!' and a message that lists the names of all guests in the group who are currently home."
|
|
},
|
|
"human_like": "Sends a delayed notification when guests arrive home, but only if the house is already marked as occupied for a while.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "guest_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When group guests [group.guests] changes to state not_home. CONDITIONS: (group guests [group.guests] is not_home) AND (house occupied [input_boolean.house_occupied] is on AND remains so for 5 minutes) AND (time elapsed since voice announcement script [script.voice_announcement] was last triggered is greater than 90 seconds). ACTIONS: Add the entity that triggered the state change to group arriving [group.arriving]. Execute voice announcement script [script.voice_announcement] with media_players set to auto, sound set to chime, and a speech message that announces the name(s) of the person(s) in the arriving group. Send a notification to mobile app jk 2 [notify.mobile_app_jk_2] with title 'Guest Arrived!' and a message listing the names of any guests who have left.",
|
|
"natural_language": {
|
|
"trigger": "When the group of guests [group.guests] changes its state to 'not_home'.",
|
|
"conditions": "The group of guests [group.guests] must be in the 'not_home' state. The house must be marked as occupied [input_boolean.house_occupied] and remain so for at least five minutes. Additionally, at least 90 seconds must have passed since the voice announcement script [script.voice_announcement] was last triggered.",
|
|
"action": "The automation adds the guest(s) who triggered the change to the 'arriving' group [group.arriving]. It then triggers a voice announcement [script.voice_announcement] on selected media players with a chime sound and a spoken message announcing the name(s) of the person(s) who have arrived. Finally, it sends a push notification to a mobile device [notify.mobile_app_jk_2] with the title 'Guest Arrived!' and a message detailing which guest(s) have left."
|
|
},
|
|
"human_like": "Announces the departure of guests with a voice message and a mobile notification, but only if the house is occupied and a cooldown period has passed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "guest_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When group guests [group.guests] changes from home to not_home AND remains not_home for 91 seconds OR when Home Assistant starts. CONDITIONS: guest mode [input_boolean.guest_mode] is on AND group guests [group.guests] is not_home. ACTIONS: Turn off guest mode [input_boolean.guest_mode]. IF (the time since voice announcement script [script.voice_announcement] was last triggered is greater than 90 seconds) THEN run voice announcement script [script.voice_announcement] with a random chime and speech message. IF guest mode announced [input_boolean.guest_mode_announced] is on THEN turn off guest mode announced [input_boolean.guest_mode_announced].",
|
|
"natural_language": {
|
|
"trigger": "When the group guests [group.guests] changes from being home to not being home and stays not home for at least 91 seconds, or when Home Assistant starts up.",
|
|
"conditions": "The guest mode [input_boolean.guest_mode] must be turned on, and the group guests [group.guests] must be in the not_home state.",
|
|
"action": "First, turn off the guest mode [input_boolean.guest_mode]. Then, if the voice announcement script [script.voice_announcement] hasn't been triggered in the last 90 seconds, run that script to play a chime and announce a random message about guest mode being disabled. Finally, if the guest mode announced [input_boolean.guest_mode_announced] is on, turn it off."
|
|
},
|
|
"human_like": "Disables guest mode and announces it when all guests have left for over 90 seconds, or when Home Assistant restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "guest_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When group guests [group.guests] changes from not_home to home OR When indoor bluetooth device count [sensor.indoor_bluetooth_device_count] is above 13 for 5 minutes OR When Home Assistant starts. CONDITIONS: guest mode [input_boolean.guest_mode] is off AND (group guests [group.guests] is home OR indoor bluetooth device count [sensor.indoor_bluetooth_device_count] is above 13). ACTIONS: Turn on guest mode [input_boolean.guest_mode], wait 2 minutes, then if guest mode announced [input_boolean.guest_mode_announced] is off, run voice announcement script [script.voice_announcement] with a random speech message announcing guest mode.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the group guests [group.guests] arrives home (changes from not_home to home), or when the indoor bluetooth device count [sensor.indoor_bluetooth_device_count] stays above 13 for at least five minutes, or when Home Assistant starts up.",
|
|
"conditions": "Guest mode [input_boolean.guest_mode] must currently be off, and either the group guests [group.guests] is home or the indoor bluetooth device count [sensor.indoor_bluetooth_device_count] is above 13.",
|
|
"action": "First, turn on guest mode [input_boolean.guest_mode]. Then, after a two-minute delay, check if guest mode announced [input_boolean.guest_mode_announced] is off. If it is, run the voice announcement script [script.voice_announcement] to play a chime and speak a randomly selected message announcing that guest mode has been enabled."
|
|
},
|
|
"human_like": "Automatically enables guest mode when guests arrive or many Bluetooth devices are detected, and announces it after a short delay.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "halloween_lights_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR at 08:00:00. CONDITIONS: input boolean halloween season active [input_boolean.halloween_season_active] is on AND (switch front door smart plug 1 [switch.front_door_smart_plug_1] is off AND switch front door smart plug 2 [switch.front_door_smart_plug_2] is off AND switch front left smart plug 2 [switch.front_left_smart_plug_2] is off). ACTIONS: Turn on switch front door smart plug 1 [switch.front_door_smart_plug_1], switch front door smart plug 2 [switch.front_door_smart_plug_2], and switch front left smart plug 2 [switch.front_left_smart_plug_2].",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant first starts up, or at 8:00 AM every day.",
|
|
"conditions": "The automation only runs if the Halloween season is active, as indicated by the input boolean halloween season active [input_boolean.halloween_season_active] being on. It also checks that all three smart plugs—switch front door smart plug 1 [switch.front_door_smart_plug_1], switch front door smart plug 2 [switch.front_door_smart_plug_2], and switch front left smart plug 2 [switch.front_left_smart_plug_2]—are currently off.",
|
|
"action": "Turns on all three smart plugs: switch front door smart plug 1 [switch.front_door_smart_plug_1], switch front door smart plug 2 [switch.front_door_smart_plug_2], and switch front left smart plug 2 [switch.front_left_smart_plug_2]."
|
|
},
|
|
"human_like": "Turns on the Halloween lights at 8 AM or when the system starts, but only if the Halloween season is active and the lights are currently off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "halloween_lights_turn_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR at 22:00:00 daily OR when bedtime [input_boolean.bedtime] turns on. CONDITIONS: (switch front door smart plug 1 [switch.front_door_smart_plug_1] is on) OR (switch front door smart plug 2 [switch.front_door_smart_plug_2] is on) OR (switch front left smart plug 2 [switch.front_left_smart_plug_2] is on). ACTIONS: Turn off switch front door smart plug 1 [switch.front_door_smart_plug_1], switch front door smart plug 2 [switch.front_door_smart_plug_2], and switch front left smart plug 2 [switch.front_left_smart_plug_2].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when Home Assistant first starts up, at 10:00 PM every day, or when the bedtime [input_boolean.bedtime] input boolean is turned on.",
|
|
"conditions": "At least one of the three Halloween light switches must be on. This includes switch front door smart plug 1 [switch.front_door_smart_plug_1], switch front door smart plug 2 [switch.front_door_smart_plug_2], or switch front left smart plug 2 [switch.front_left_smart_plug_2].",
|
|
"action": "Turn off all three Halloween light switches: switch front door smart plug 1 [switch.front_door_smart_plug_1], switch front door smart plug 2 [switch.front_door_smart_plug_2], and switch front left smart plug 2 [switch.front_left_smart_plug_2]."
|
|
},
|
|
"human_like": "Turns off the Halloween lights at bedtime, at 10 PM, or when Home Assistant restarts, but only if any of the lights are currently on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "hourly_dong",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is exactly 07:00:00 OR 08:00:00 OR 09:00:00 OR 10:00:00 OR 11:00:00 OR 12:00:00 OR 15:00:00 OR 16:00:00 OR 17:00:00 OR 18:00:00 OR 19:00:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND house status [input_select.house] is Auto AND speech notifications [input_boolean.speech_notifications] is on AND announceable rooms occupied [binary_sensor.announceable_rooms_occupied] is on. ACTIONS: Set variables: media_players is a list of media player entities for rooms that are occupied and have speech notifications enabled (where applicable). For office [input_boolean.office_occupied] and office speech notifications [input_boolean.office_speech_notifications] both on, add sonos office [media_player.sonos_office]. For family room occupied [input_boolean.family_room_occupied] and family room speech notifications [input_boolean.family_room_speech_notifications] both on, add sonos family room [media_player.sonos_family_room]. For kitchen occupied [input_boolean.kitchen_occupied] and kitchen speech notifications [input_boolean.kitchen_speech_notifications] both on, add sonos kitchen [media_player.sonos_kitchen]. For playroom occupied [input_boolean.playroom_occupied] on, add sonos playroom [media_player.sonos_playroom]. For dining room occupied [input_boolean.dining_room_occupied] on, add sonos living room [media_player.sonos_living_room]. primary_player is the first item in media_players. sound_file is /local/sounds/dong.mp3. sound_file_length is 4. sound_file_volume is 25 if quiet mode [input_boolean.quiet_mode] is on, else 50 if the current hour is between 9 and 19 (exclusive), else 35. Then, call script announcement engine [script.announcement_engine] with the sound_file, sound_length, sound_volume, and media_players variables.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at specific times of day: 7 AM, 8 AM, 9 AM, 10 AM, 11 AM, 12 PM, 3 PM, 4 PM, 5 PM, 6 PM, and 7 PM.",
|
|
"conditions": "All of the following must be true: the house is marked as occupied, the house status is set to 'Auto', global speech notifications are enabled, and the binary sensor indicating there are announceable rooms occupied is on.",
|
|
"action": "First, it determines which rooms are eligible for announcements. It checks the occupancy and speech notification settings for the office, family room, and kitchen, adding their respective Sonos players to a list only if both conditions are met for that room. For the playroom and dining room, it only checks if the room is occupied. It then calculates the volume for the sound: 25% if quiet mode is on, 50% if the current hour is between 9 and 19 (9 AM to 7 PM), otherwise 35%. Finally, it plays a 4-second 'dong' sound file on the announcement engine script, targeting the list of eligible media players at the calculated volume."
|
|
},
|
|
"human_like": "Plays a gentle hourly chime on Sonos speakers in occupied rooms during the day, but only when the house is in 'Auto' mode and notifications are enabled.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "house_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on OR bedtime [input_boolean.bedtime] turns off OR quiet mode [input_boolean.quiet_mode] turns off. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND bedtime [input_boolean.bedtime] is off. ACTIONS: First, choose an action based on vacation mode [input_boolean.vacation_mode]. If vacation mode [input_boolean.vacation_mode] is on, set house status [input_select.house] to 'Vacation'. Otherwise, set house status [input_select.house] to 'Auto' AND set select front door camera doorbell text [select.front_door_camera_doorbell_text] to 'WELCOME!'. Second, if speech notifications [input_boolean.speech_notifications] is off, turn on speech notifications [input_boolean.speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house is marked as occupied, when bedtime mode is turned off, or when quiet mode is turned off.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied and bedtime mode must be off.",
|
|
"action": "The automation first checks the vacation mode status. If vacation mode is active, it sets the overall house status to 'Vacation'. Otherwise, it sets the house status to 'Auto' and changes the text on the front door camera doorbell to 'WELCOME!'. Finally, if speech notifications are currently disabled, the automation will turn them back on."
|
|
},
|
|
"human_like": "Automatically sets the house to 'Auto' or 'Vacation' mode and displays a welcome message when the house becomes occupied, ensuring speech notifications are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "house_mode_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: None. ACTIONS: Set house status [input_select.house] to Away AND Set select front door camera doorbell text [select.front_door_camera_doorbell_text] to DO NOT DISTURB AND Run general notification script [script.general_notification] with title 'Away Mode' and message 'Nobody is home so away mode has been activated!'.",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] input boolean is turned off.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "Sets the house status [input_select.house] to 'Away', changes the front door camera doorbell text [select.front_door_camera_doorbell_text] to 'DO NOT DISTURB', and sends a passive notification titled 'Away Mode' with the message 'Nobody is home so away mode has been activated!' to the specified device(s)."
|
|
},
|
|
"human_like": "Activates 'Away' mode and sets a 'Do Not Disturb' message on the doorbell when the house is marked as unoccupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "house_mode_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on. CONDITIONS: None. ACTIONS: Set house status [input_select.house] to 'Bedtime' AND set select front door camera doorbell text [select.front_door_camera_doorbell_text] to 'DO NOT DISTURB'.",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime [input_boolean.bedtime] input boolean is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Changes the house status [input_select.house] to 'Bedtime' and updates the front door camera doorbell text [select.front_door_camera_doorbell_text] to display 'DO NOT DISTURB'."
|
|
},
|
|
"human_like": "Sets the house to 'Bedtime' mode and displays a 'Do Not Disturb' message on the doorbell when bedtime is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "house_mode_quiet",
|
|
"result": {
|
|
"structured": "TRIGGER: When quiet mode [input_boolean.quiet_mode] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Set house status [input_select.house] to 'Quiet' AND Set select front door camera doorbell text [select.front_door_camera_doorbell_text] to 'SHHH…KIDS SLEEPING' AND (IF the current time is between 12:00:00 and 15:00:00 THEN turn off speech notifications [input_boolean.speech_notifications]).",
|
|
"natural_language": {
|
|
"trigger": "When the quiet mode [input_boolean.quiet_mode] is turned on.",
|
|
"conditions": "The house must be occupied, meaning the house occupied [input_boolean.house_occupied] input boolean is set to on.",
|
|
"action": "The automation sets the house status [input_select.house] to 'Quiet' and updates the front door camera doorbell text [select.front_door_camera_doorbell_text] to display 'SHHH…KIDS SLEEPING'. Additionally, if the time is between 12:00 PM and 3:00 PM, it will also turn off speech notifications [input_boolean.speech_notifications]."
|
|
},
|
|
"human_like": "Activates quiet mode for the house when someone is home, changing the house status and doorbell message, and optionally silencing speech notifications during afternoon nap time.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "house_mode_quiet_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When quiet mode [input_boolean.quiet_mode] turns off. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Set house status [input_select.house] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the quiet mode [input_boolean.quiet_mode] is turned off.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on.",
|
|
"action": "Changes the house status [input_select.house] to 'Auto'."
|
|
},
|
|
"human_like": "Switches the house mode back to 'Auto' when quiet mode is turned off, provided the house is occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "house_mode_vacation",
|
|
"result": {
|
|
"structured": "TRIGGER: When vacation mode [input_boolean.vacation_mode] turns on OR when house occupied [input_boolean.house_occupied] turns off. CONDITIONS: (house occupied [input_boolean.house_occupied] is off) AND (vacation mode [input_boolean.vacation_mode] is on). ACTIONS: Set house status [input_select.house] to 'Vacation' AND set select front door camera doorbell text [select.front_door_camera_doorbell_text] to 'Please do not disturb!'.",
|
|
"natural_language": {
|
|
"trigger": "When the vacation mode [input_boolean.vacation_mode] is switched on, or when the house occupied [input_boolean.house_occupied] status is switched off.",
|
|
"conditions": "Both the house occupied [input_boolean.house_occupied] status must be off and the vacation mode [input_boolean.vacation_mode] must be on.",
|
|
"action": "Changes the overall house status [input_select.house] to 'Vacation' and updates the front door camera doorbell message [select.front_door_camera_doorbell_text] to 'Please do not disturb!'."
|
|
},
|
|
"human_like": "Activates the house's vacation mode when the house is unoccupied and vacation mode is enabled, setting the house status and a 'do not disturb' message for the doorbell.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "house_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When all people group [group.all_people] changes to not_home OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND all people group [group.all_people] is not_home. ACTIONS: Turn off house occupied [input_boolean.house_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the all people group [group.all_people] changes its state to 'not_home', when any automation is reloaded, or when Home Assistant itself starts up.",
|
|
"conditions": "For the automation to run, the house must currently be marked as occupied, meaning the house occupied [input_boolean.house_occupied] input boolean is on. Additionally, the all people group [group.all_people] must be in the 'not_home' state.",
|
|
"action": "The automation will turn off the house occupied [input_boolean.house_occupied] input boolean, marking the house as unoccupied."
|
|
},
|
|
"human_like": "Marks the house as unoccupied when everyone has left, ensuring the status is also reset when automations are reloaded or Home Assistant restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "jido_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When person antoun koht [person.antoun_koht] changes state from not_home to home. CONDITIONS: person antoun koht [person.antoun_koht] is home AND house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data: person=jido, announcement_type=arrival. THEN, IF guest mode announced [input_boolean.guest_mode_announced] is off, turn on guest mode announced [input_boolean.guest_mode_announced].",
|
|
"natural_language": {
|
|
"trigger": "When person antoun koht [person.antoun_koht] arrives home, changing their state from not_home to home.",
|
|
"conditions": "The person antoun koht [person.antoun_koht] must be at home, and the house occupied [input_boolean.house_occupied] status must be on and have remained on for at least five minutes.",
|
|
"action": "First, the script person announcement [script.person_announcement] is run to announce the arrival of 'jido'. Then, if the guest mode announced [input_boolean.guest_mode_announced] is currently off, it is turned on."
|
|
},
|
|
"human_like": "Announces Jido's arrival home when the house is occupied, and then marks that guest mode has been announced.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "jido_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When person antoun koht [person.antoun_koht] changes state from home. CONDITIONS: (person antoun koht [person.antoun_koht] is not_home) AND (house occupied [input_boolean.house_occupied] is on AND remains for 5 minutes). ACTIONS: Execute script person announcement [script.person_announcement] with data: person=jido, announcement_type=departure.",
|
|
"natural_language": {
|
|
"trigger": "When the person antoun koht [person.antoun_koht] leaves home, as indicated by a state change from 'home'.",
|
|
"conditions": "If person antoun koht [person.antoun_koht] is currently in the 'not_home' state, and the house occupied [input_boolean.house_occupied] indicator has been in the 'on' state for at least five minutes.",
|
|
"action": "Runs the script person announcement [script.person_announcement] to announce the departure of 'jido'."
|
|
},
|
|
"human_like": "Announces when Jido has left home, but only if the house was considered occupied for a few minutes beforehand.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "jido_is_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When person antoun koht [person.antoun_koht] changes to not_home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: (input select jido status [input_select.jido_status] is NOT Just Left) AND (person antoun koht [person.antoun_koht] is not_home OR device tracker antoun iphone detect [device_tracker.antoun_iphone_detect] is not_home). ACTIONS: Turn off input boolean jido home [input_boolean.jido_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when person antoun koht [person.antoun_koht] becomes not home, when Home Assistant reloads its automations, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the input select jido status [input_select.jido_status] is not currently set to 'Just Left'. Additionally, it requires that either person antoun koht [person.antoun_koht] is not home or the device tracker antoun iphone detect [device_tracker.antoun_iphone_detect] is not home.",
|
|
"action": "Turns off the input boolean jido home [input_boolean.jido_home]."
|
|
},
|
|
"human_like": "Marks Jido as away when they leave home, ensuring the status isn't already 'Just Left' and using either their person or phone tracker to confirm they are not home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "jido_is_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When person antoun koht [person.antoun_koht] changes to home OR when device tracker antoun iphone detect [device_tracker.antoun_iphone_detect] changes to home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: person antoun koht [person.antoun_koht] is home. ACTIONS: Turn on input boolean jido home [input_boolean.jido_home].",
|
|
"natural_language": {
|
|
"trigger": "When the person antoun koht [person.antoun_koht] arrives home, or when the device tracker antoun iphone detect [device_tracker.antoun_iphone_detect] arrives home, or when Home Assistant reloads automations, or when Home Assistant starts up.",
|
|
"conditions": "The person antoun koht [person.antoun_koht] must currently be at home.",
|
|
"action": "Turns on the input boolean jido home [input_boolean.jido_home]."
|
|
},
|
|
"human_like": "Sets a flag to indicate that Jido is home when either his person entity or phone tracker reports he is home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "jido_presence_just_arrived",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean jido home [input_boolean.jido_home] turns on. CONDITIONS: None. ACTIONS: Set input select jido status [input_select.jido_status] to 'Home' if its current state is not empty, otherwise set it to 'Just Arrived'.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean jido home [input_boolean.jido_home] changes to the 'on' state.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Updates the input select jido status [input_select.jido_status] to 'Home' if it currently has a value, or to 'Just Arrived' if it is empty."
|
|
},
|
|
"human_like": "Updates Jido's status to 'Home' or 'Just Arrived' when they are marked as being at home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "jido_presence_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select jido status [input_select.jido_status] changes to 'Just Arrived' AND remains in that state for 5 minutes OR When input select jido status [input_select.jido_status] changes from 'Just Left' to 'Just Arrived'. CONDITIONS: None. ACTIONS: Set input select jido status [input_select.jido_status] to 'Home'.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered in two ways: first, when the status selector [input_select.jido_status] is set to 'Just Arrived' and stays that way for five minutes; second, when the status changes directly from 'Just Left' to 'Just Arrived'.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation sets the status selector [input_select.jido_status] to 'Home'."
|
|
},
|
|
"human_like": "Updates the Jido status to 'Home' after a confirmed arrival, either after a five-minute wait or an immediate change from 'Just Left'.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "jido_presence_just_left",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean jido home [input_boolean.jido_home] changes to off. CONDITIONS: None. ACTIONS: Set input select jido status [input_select.jido_status] to 'Just Left'.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean jido home [input_boolean.jido_home] turns off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sets the input select jido status [input_select.jido_status] to the option 'Just Left'."
|
|
},
|
|
"human_like": "Updates Jido's status to 'Just Left' when they are no longer marked as home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "jido_presence_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select jido status [input_select.jido_status] changes to the 'Just Left' state AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set input select jido status [input_select.jido_status] to the 'Away' option.",
|
|
"natural_language": {
|
|
"trigger": "When the input select jido status [input_select.jido_status] is set to 'Just Left' and stays that way for five minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Changes the input select jido status [input_select.jido_status] to 'Away'."
|
|
},
|
|
"human_like": "Changes the status to 'Away' after it has been 'Just Left' for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "joe_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When person joe falbo [person.joe_falbo] changes state from not_home to home. CONDITIONS: person joe falbo [person.joe_falbo] is home AND house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data: person = joe, announcement_type = arrival.",
|
|
"natural_language": {
|
|
"trigger": "When Joe Falbo [person.joe_falbo] arrives home, transitioning from a state of not being home to being home.",
|
|
"conditions": "Joe Falbo [person.joe_falbo] must be at home, and the house occupied [input_boolean.house_occupied] status must be on and remain on for at least five minutes.",
|
|
"action": "Runs the person announcement script [script.person_announcement] to announce Joe's arrival."
|
|
},
|
|
"human_like": "Announces Joe's arrival home when the house is already occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "joe_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When joe home [input_boolean.joe_home] changes to off. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data: person=joe, announcement_type=departure.",
|
|
"natural_language": {
|
|
"trigger": "When the status of joe home [input_boolean.joe_home] changes to off, indicating Joe has left.",
|
|
"conditions": "The house must be marked as occupied via house occupied [input_boolean.house_occupied] and remain in that state for a continuous period of 5 minutes.",
|
|
"action": "Runs the person announcement script [script.person_announcement] to announce Joe's departure."
|
|
},
|
|
"human_like": "Announces when Joe leaves the house, but only if the house has been occupied for at least five minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "joe_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor joe presence [binary_sensor.joe_presence] changes to off OR when person joe falbo [person.joe_falbo] changes to not_home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: (input select joe status dropdown [input_select.joe_status_dropdown] is NOT Just Left) AND (binary sensor joe presence [binary_sensor.joe_presence] is off OR person joe falbo [person.joe_falbo] is not_home). ACTIONS: Run script joe away [script.joe_away].",
|
|
"natural_language": {
|
|
"trigger": "When the binary sensor joe presence [binary_sensor.joe_presence] reports Joe is absent, or when the person joe falbo [person.joe_falbo] entity shows Joe is not home, or when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the input select joe status dropdown [input_select.joe_status_dropdown] is not currently set to 'Just Left'. Additionally, it requires that either the binary sensor joe presence [binary_sensor.joe_presence] is off or the person joe falbo [person.joe_falbo] is not home.",
|
|
"action": "Executes the script joe away [script.joe_away]."
|
|
},
|
|
"human_like": "Sets Joe's status to 'away' when he leaves, but only if his status isn't already 'Just Left', and also runs when the system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "joe_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor joe presence [binary_sensor.joe_presence] changes to on OR when person joe falbo [person.joe_falbo] changes to home OR when the event 'automation_reloaded' occurs OR when Home Assistant starts. CONDITIONS: joe home [input_boolean.joe_home] is off AND (binary sensor joe presence [binary_sensor.joe_presence] is on OR person joe falbo [person.joe_falbo] is home). ACTIONS: Run script joe home [script.joe_home].",
|
|
"natural_language": {
|
|
"trigger": "When the binary sensor joe presence [binary_sensor.joe_presence] detects presence (turns on), when the person joe falbo [person.joe_falbo] arrives home, when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the joe home [input_boolean.joe_home] is currently off, and at least one of the following is true: the binary sensor joe presence [binary_sensor.joe_presence] is on, or the person joe falbo [person.joe_falbo] is home.",
|
|
"action": "Executes the script joe home [script.joe_home]."
|
|
},
|
|
"human_like": "Runs a 'Joe home' script when Joe arrives home or is detected as present, but only if the system hasn't already marked him as home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When john status [input_select.john_status] changes from Away to Just Arrived OR when john status [input_select.john_status] changes from Extended Away to Just Arrived. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data: person=john, announcement_type=arrival.",
|
|
"natural_language": {
|
|
"trigger": "When John's status [input_select.john_status] changes from either 'Away' or 'Extended Away' to 'Just Arrived'.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on and has been on for at least five minutes.",
|
|
"action": "Runs the person announcement script [script.person_announcement] to announce John's arrival."
|
|
},
|
|
"human_like": "Announces John's arrival when he returns home, but only if the house has been occupied for a few minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When john home [input_boolean.john_home] changes to off. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data: person=john, announcement_type=departure.",
|
|
"natural_language": {
|
|
"trigger": "When the john home [input_boolean.john_home] status changes to off, indicating John has left.",
|
|
"conditions": "The house occupied [input_boolean.house_occupied] status must be on and remain on for a continuous period of 5 minutes.",
|
|
"action": "Runs the script person announcement [script.person_announcement] to announce John's departure."
|
|
},
|
|
"human_like": "Announces John's departure when he leaves, but only if the house remains occupied for at least five minutes afterward.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_arrived_glenview_station",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] enters zone glenview train station [zone.glenview_train_station]. CONDITIONS: john home [input_boolean.john_home] is off AND time is after 12:00:00 AND input boolean john commuting [input_boolean.john_commuting] is on. ACTIONS: Turn off John Departed Union Station [automation.john_departed_union_station] AND turn off John Passing Morton Grove Station [automation.john_passing_morton_grove_station] AND turn off John Arrived at Glenview Station [automation.john_arrived_at_glenview_station].",
|
|
"natural_language": {
|
|
"trigger": "When person john koht [person.john_koht] enters the zone glenview train station [zone.glenview_train_station].",
|
|
"conditions": "The automation only runs if john home [input_boolean.john_home] is set to off, the current time is after 12:00:00, and input boolean john commuting [input_boolean.john_commuting] is set to on.",
|
|
"action": "Turns off three other automations: John Departed Union Station [automation.john_departed_union_station], John Passing Morton Grove Station [automation.john_passing_morton_grove_station], and itself, John Arrived at Glenview Station [automation.john_arrived_at_glenview_station]."
|
|
},
|
|
"human_like": "When John arrives at Glenview train station during his commute, it turns off related travel automations.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_arrived_union_station",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] enters zone union station [zone.union_station]. CONDITIONS: john home [input_boolean.john_home] is off AND person john koht [person.john_koht] state is Union Station AND current time is before 12:00:00. ACTIONS: Turn on John Departed Union Station [automation.john_departed_union_station] AND Turn on John Passing Morton Grove Station [automation.john_passing_morton_grove_station] AND Turn on John Arrived at Glenview Station [automation.john_arrived_at_glenview_station] AND Execute voice announcement script [script.voice_announcement] with a random speech message announcing the arrival.",
|
|
"natural_language": {
|
|
"trigger": "When John's location tracker, person john koht [person.john_koht], enters the zone for Union Station [zone.union_station].",
|
|
"conditions": "The automation only runs if the 'john home' [input_boolean.john_home] status is off, John's current state is confirmed as 'Union Station', and the current time is before noon (12:00:00).",
|
|
"action": "It turns on three related travel automations for subsequent station events and plays a voice announcement on all available media players, randomly selecting one of two messages to announce that 'Baba' (John) has arrived at Union Station."
|
|
},
|
|
"human_like": "Announces John's morning arrival at Union Station and prepares related travel automations for his commute home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_arrived_work",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] enters zone john's work [zone.john_s_work] OR When sensor lpl john distance [sensor.lpl_john_distance] falls below 0.25. CONDITIONS: john home [input_boolean.john_home] is off AND workday sensor [binary_sensor.workday_sensor] is on AND current time is before 10:30:00 AND person john koht [person.john_koht] state is John's Work. ACTIONS: Execute voice announcement script [script.voice_announcement] with media_players set to auto, sound set to one-chime, and speech_message set to a randomly selected phrase from: \"Attention! Baba arrived at the office.\", \"Pardon the interruption, but Baba just go to work.\", \"Just a friendly note that Baba has arrived at the office.\".",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when person john koht [person.john_koht] enters the zone john's work [zone.john_s_work], or when the sensor lpl john distance [sensor.lpl_john_distance] reports a distance of less than 0.25.",
|
|
"conditions": "All of the following must be true: the john home [input_boolean.john_home] is off, the workday sensor [binary_sensor.workday_sensor] is on, the current time is before 10:30 AM, and person john koht [person.john_koht] is reported to be at John's Work.",
|
|
"action": "Plays a voice announcement on automatically selected media players, with a chime sound, and speaks a randomly chosen message announcing that 'Baba' has arrived at the office."
|
|
},
|
|
"human_like": "Announces when John arrives at work on a workday morning, using either zone entry or a distance sensor to detect his arrival.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] OR device tracker jk iphone 14 [device_tracker.jk_iphone_14] leaves zone.home OR When binary sensor john presence [binary_sensor.john_presence] changes to off OR When person john koht [person.john_koht] OR device tracker jk iphone 14 [device_tracker.jk_iphone_14] changes to not_home OR When the automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: (john status [input_select.john_status] is NOT 'Just Arrived') AND (john home [input_boolean.john_home] is on) AND (binary sensor john presence [binary_sensor.john_presence] is off OR person john koht [person.john_koht] is not_home OR device tracker jk iphone 14 [device_tracker.jk_iphone_14] is not_home). ACTIONS: Run the script John Away [script.john_away].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when John or his iPhone leaves the home zone, when the binary sensor for John's presence reports he is absent, when John's person or device tracker status changes to 'not_home', when the automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "For the automation to run, John's status must not be set to 'Just Arrived', the input boolean for John being home must be on, and at least one of the following must be true: the binary sensor for John's presence is off, John's person entity shows 'not_home', or his iPhone's device tracker shows 'not_home'.",
|
|
"action": "Executes the 'John Away' script."
|
|
},
|
|
"human_like": "Runs the 'John Away' routine when John leaves home, ensuring his status isn't set to 'Just Arrived' and he is currently marked as home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_bed_awake",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select john sleep state [input_select.john_sleep_state] changes to 'Just Got Up' AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set input select john sleep state [input_select.john_sleep_state] to 'Awake'.",
|
|
"natural_language": {
|
|
"trigger": "When the sleep state selector for John [input_select.john_sleep_state] is set to 'Just Got Up' and stays that way for five minutes.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Changes John's sleep state [input_select.john_sleep_state] from 'Just Got Up' to 'Awake'."
|
|
},
|
|
"human_like": "Automatically updates John's status to 'Awake' five minutes after he gets up.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_bed_just_got_up",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john bed occupied [binary_sensor.john_bed_occupied] changes to off. CONDITIONS: None. ACTIONS: Set input select john sleep state [input_select.john_sleep_state] to 'Just Got Up'.",
|
|
"natural_language": {
|
|
"trigger": "When the binary sensor john bed occupied [binary_sensor.john_bed_occupied] changes its state to off, indicating the bed is no longer occupied.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Updates the John sleep state tracker by setting input select john sleep state [input_select.john_sleep_state] to the option 'Just Got Up'."
|
|
},
|
|
"human_like": "Updates John's sleep status to 'Just Got Up' when he gets out of bed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_bed_just_laid_down",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john bed occupied [binary_sensor.john_bed_occupied] changes to on. CONDITIONS: input select john sleep state [input_select.john_sleep_state] is NOT in the 'Sleep' state. ACTIONS: Set input select john sleep state [input_select.john_sleep_state] to 'Just Laid Down'.",
|
|
"natural_language": {
|
|
"trigger": "When the bed occupancy sensor [binary_sensor.john_bed_occupied] detects that John is in bed.",
|
|
"conditions": "If John's current sleep state [input_select.john_sleep_state] is not already set to 'Sleep'.",
|
|
"action": "Updates John's sleep state [input_select.john_sleep_state] to 'Just Laid Down'."
|
|
},
|
|
"human_like": "Updates John's sleep state to 'Just Laid Down' when he gets into bed, but only if he isn't already marked as asleep.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_bed_sleep",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select john sleep state [input_select.john_sleep_state] remains in state 'Just Laid Down' for 5 minutes. CONDITIONS: None. ACTIONS: Set input select john sleep state [input_select.john_sleep_state] to 'Sleep'.",
|
|
"natural_language": {
|
|
"trigger": "When the input select john sleep state [input_select.john_sleep_state] stays set to 'Just Laid Down' for a continuous period of five minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Changes the input select john sleep state [input_select.john_sleep_state] to 'Sleep'."
|
|
},
|
|
"human_like": "After John has been 'Just Laid Down' for five minutes, the system updates his sleep state to 'Sleep'.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_daily_report",
|
|
"result": {
|
|
"structured": "TRIGGER: At 08:05:00 daily. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND person john koht [person.john_koht] is home. ACTIONS: Wait for binary sensor johns macbook pro active [binary_sensor.johns_macbook_pro_active] to become on, with a timeout of 2 hours and 30 minutes (if timeout occurs, stop). After wait, delay for 2 minutes. Then, IF (input boolean john dnd [input_boolean.john_dnd] is off AND binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] is off) THEN execute script john daily update announcement [script.john_daily_update_announcement].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every day at 8:05 AM.",
|
|
"conditions": "It requires that the house is marked as occupied via house occupied [input_boolean.house_occupied] and that person john koht [person.john_koht] is at home.",
|
|
"action": "First, the automation waits for up to 2 hours and 30 minutes for the binary sensor johns macbook pro active [binary_sensor.johns_macbook_pro_active] to indicate the laptop is active. If this wait times out, the automation stops. If the laptop becomes active within that time, it then waits an additional 2 minutes. After that, it checks if both input boolean john dnd [input_boolean.john_dnd] is off (meaning 'do not disturb' is not active) and binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] is off (meaning the laptop audio is not active). If both conditions are met, it runs the script john daily update announcement [script.john_daily_update_announcement]."
|
|
},
|
|
"human_like": "Delivers a daily update announcement to John at 8:05 AM, but only when he is home, his laptop is active, and he is not in a 'do not disturb' or audio-active state.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_departed_union_station",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] leaves zone union station [zone.union_station]. CONDITIONS: (john home [input_boolean.john_home] is off) AND (time is after 12:00:00) AND (input boolean john commuting [input_boolean.john_commuting] is on). ACTIONS: Execute voice announcement script [script.voice_announcement] with parameters: media_players set to auto, sound set to arcade, priority set to normal, and a random speech message from a predefined list announcing the departure.",
|
|
"natural_language": {
|
|
"trigger": "When John [person.john_koht] leaves the Union Station area [zone.union_station].",
|
|
"conditions": "John must not be at home (john home [input_boolean.john_home] is off), the current time must be after 12:00 PM, and John's commuting status must be active (input boolean john commuting [input_boolean.john_commuting] is on).",
|
|
"action": "Plays a voice announcement on all available media players using the arcade sound effect with normal priority. The announcement is chosen randomly from a list of messages stating that John has left Union Station and is on the train home."
|
|
},
|
|
"human_like": "Announces when John has left Union Station on his commute home, but only if he's not already home, it's after noon, and his commuting status is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_departed_work",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] leaves zone john's work [zone.john_s_work]. CONDITIONS: john home [input_boolean.john_home] is off AND workday sensor [binary_sensor.workday_sensor] is on AND current time is after 15:00:00 AND sensor lpl john direction of travel [sensor.lpl_john_direction_of_travel] is away_from. ACTIONS: Execute voice announcement script [script.voice_announcement] with media_players set to auto, a chime sound, and a random speech message from a predefined list.",
|
|
"natural_language": {
|
|
"trigger": "When John leaves his work zone.",
|
|
"conditions": "John is not marked as being at home, the workday sensor indicates it is a workday, the current time is after 3:00 PM, and John's direction of travel is away from home.",
|
|
"action": "Plays a chime and announces a randomly selected message, such as 'Attention! Baba left the office.', on all available media players."
|
|
},
|
|
"human_like": "Announces when John leaves the office on a workday afternoon, provided he is heading away from home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_dnd_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] becomes inactive (off) and remains so for 30 seconds OR when binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] becomes inactive (off) and remains so for 30 seconds. CONDITIONS: binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] is off AND binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] is off AND input boolean john dnd [input_boolean.john_dnd] is on. ACTIONS: Turn off input boolean john dnd [input_boolean.john_dnd].",
|
|
"natural_language": {
|
|
"trigger": "When the binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] has been inactive for 30 seconds, or when the binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] has been inactive for 30 seconds.",
|
|
"conditions": "The binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] must be off, the binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] must be off, and the input boolean john dnd [input_boolean.john_dnd] must be on.",
|
|
"action": "Turns off the input boolean john dnd [input_boolean.john_dnd]."
|
|
},
|
|
"human_like": "Automatically turns off John's Do Not Disturb status when both his laptop camera and audio have been inactive for 30 seconds.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_dnd_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] turns on and remains for 3 seconds OR When binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] turns on and remains for 5 seconds. CONDITIONS: (binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] is on OR binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] is on) AND input boolean john dnd [input_boolean.john_dnd] is off. ACTIONS: Turn on input boolean john dnd [input_boolean.john_dnd] AND Run script general notification script [script.general_notification] with message 'John's DnD mode has been turned on', title 'John DnD On!', target devices 'jk', priority 'passive', and tag 'john-dnd'.",
|
|
"natural_language": {
|
|
"trigger": "When the binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] becomes active and stays active for 3 seconds, or when the binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] becomes active and stays active for 5 seconds.",
|
|
"conditions": "If either the binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] is currently on or the binary sensor john laptop audio active [binary_sensor.john_laptop_audio_active] is currently on, and the input boolean john dnd [input_boolean.john_dnd] is currently off.",
|
|
"action": "Turn on the input boolean john dnd [input_boolean.john_dnd] and send a passive notification to the device 'jk' with the title 'John DnD On!' and the message 'John's DnD mode has been turned on' using the general notification script [script.general_notification]."
|
|
},
|
|
"human_like": "Automatically turns on John's Do Not Disturb mode and sends a notification when his laptop camera or audio becomes active for a few seconds.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_extended_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When john status [input_select.john_status] changes to 'Away' AND remains in that state for 24 hours OR When sensor home john distance [sensor.home_john_distance] becomes greater than 200. CONDITIONS: None. ACTIONS: Set john status [input_select.john_status] to 'Extended Away'.",
|
|
"natural_language": {
|
|
"trigger": "When the john status [input_select.john_status] is set to 'Away' and stays that way for 24 hours, or when the sensor home john distance [sensor.home_john_distance] reports a value greater than 200.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Changes the john status [input_select.john_status] to 'Extended Away'."
|
|
},
|
|
"human_like": "Updates John's status to 'Extended Away' if he has been away for a full day or if his distance from home exceeds 200 units.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john presence [binary_sensor.john_presence] changes to on OR When person john koht [person.john_koht] or device tracker jk iphone 14 [device_tracker.jk_iphone_14] enters zone.home OR When person john koht [person.john_koht] or device tracker jk iphone 14 [device_tracker.jk_iphone_14] changes state to home OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: (binary sensor john presence [binary_sensor.john_presence] is on OR person john koht [person.john_koht] is home OR device tracker jk iphone 14 [device_tracker.jk_iphone_14] is home OR person john koht [person.john_koht] or device tracker jk iphone 14 [device_tracker.jk_iphone_14] is in zone.home) AND john home [input_boolean.john_home] is off. ACTIONS: Execute the script John Home [script.john_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the binary sensor john presence [binary_sensor.john_presence] turns on, or when either person john koht [person.john_koht] or device tracker jk iphone 14 [device_tracker.jk_iphone_14] enters the home zone, or when either of those entities changes its state to home, or when automations are reloaded, or when Home Assistant starts.",
|
|
"conditions": "At least one of the following must be true: the binary sensor john presence [binary_sensor.john_presence] is on, person john koht [person.john_koht] is home, device tracker jk iphone 14 [device_tracker.jk_iphone_14] is home, or either person john koht [person.john_koht] or device tracker jk iphone 14 [device_tracker.jk_iphone_14] is detected within the home zone. Additionally, the john home [input_boolean.john_home] must be off.",
|
|
"action": "Runs the script John Home [script.john_home]."
|
|
},
|
|
"human_like": "This automation runs a welcome-home script for John when he arrives home, as detected by his presence sensor, phone, or person tracker, but only if he's not already marked as home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_in_bed",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john in bed [binary_sensor.john_in_bed] is on for 1 minute OR When input select john sleep state [input_select.john_sleep_state] changes to Sleep OR When input select john sleep state [input_select.john_sleep_state] changes to Just Laid Down. CONDITIONS: binary sensor john in bed [binary_sensor.john_in_bed] is on AND (input select john sleep state [input_select.john_sleep_state] is Sleep OR input select john sleep state [input_select.john_sleep_state] is Just Laid Down) AND john home [input_boolean.john_home] is on AND binary sensor bedtime [binary_sensor.bedtime] is on. ACTIONS: Turn on input boolean john is in bed [input_boolean.john_is_in_bed] AND Turn off john is awake [input_boolean.john_is_awake].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the binary sensor john in bed [binary_sensor.john_in_bed] has been on for one minute, or when the input select john sleep state [input_select.john_sleep_state] changes to either 'Sleep' or 'Just Laid Down'.",
|
|
"conditions": "All of the following must be true: the binary sensor john in bed [binary_sensor.john_in_bed] is currently on, the input select john sleep state [input_select.john_sleep_state] is set to either 'Sleep' or 'Just Laid Down', the john home [input_boolean.john_home] status is on, and the binary sensor bedtime [binary_sensor.bedtime] is on.",
|
|
"action": "The automation marks John as being in bed by turning on input boolean john is in bed [input_boolean.john_is_in_bed] and simultaneously marks him as not awake by turning off john is awake [input_boolean.john_is_awake]."
|
|
},
|
|
"human_like": "This automation marks John as being in bed and not awake when he is home, it's bedtime, and he is either in bed or his sleep state indicates he is settling down.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_in_bed",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john in bed [binary_sensor.john_in_bed] turns on AND remains for 1 minute OR When binary sensor bedtime [binary_sensor.bedtime] turns on OR When binary sensor main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] turns off. CONDITIONS: binary sensor john in bed [binary_sensor.john_in_bed] is on AND remains for 1 minute AND john home [input_boolean.john_home] is on AND binary sensor bedtime [binary_sensor.bedtime] is on. ACTIONS: Turn on input boolean john is in bed [input_boolean.john_is_in_bed] AND Turn off john is awake [input_boolean.john_is_awake].",
|
|
"natural_language": {
|
|
"trigger": "When the bed sensor indicates John is in bed for at least one minute, when the bedtime sensor activates, or when the main bedroom door sensor reports the door is closed.",
|
|
"conditions": "The automation checks that the bed sensor has reported John is in bed for at least one minute, that John is marked as being home, and that the bedtime sensor is active.",
|
|
"action": "Marks John as being in bed by turning on the corresponding input boolean and marks him as not awake by turning off the awake indicator."
|
|
},
|
|
"human_like": "Marks John as being in bed and not awake when he's home, it's bedtime, and his bed sensor confirms his presence for a minute.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_is_commuting",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] remains at Morton Grove Train Station OR Union Station for 2 minutes. CONDITIONS: john home [input_boolean.john_home] is off AND input boolean john commuting [input_boolean.john_commuting] is off. ACTIONS: Turn on input boolean john commuting [input_boolean.john_commuting] AND turn on John is Not Commuting [automation.john_is_not_commuting].",
|
|
"natural_language": {
|
|
"trigger": "When the person john koht [person.john_koht] stays at either Morton Grove Train Station or Union Station for at least two minutes.",
|
|
"conditions": "If the john home [input_boolean.john_home] is set to off, and the input boolean john commuting [input_boolean.john_commuting] is also set to off.",
|
|
"action": "Sets the commuting status to on by turning on input boolean john commuting [input_boolean.john_commuting], and also enables the related automation John is Not Commuting [automation.john_is_not_commuting]."
|
|
},
|
|
"human_like": "Sets John's status to commuting when he is at a train station for a couple of minutes and is not already marked as home or commuting.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_is_not_commuting",
|
|
"result": {
|
|
"structured": "TRIGGER: When john home [input_boolean.john_home] changes to on. CONDITIONS: input boolean john commuting [input_boolean.john_commuting] is on. ACTIONS: Turn off input boolean john commuting [input_boolean.john_commuting] AND turn off John is Not Commuting [automation.john_is_not_commuting].",
|
|
"natural_language": {
|
|
"trigger": "When the john home [input_boolean.john_home] input boolean is turned on.",
|
|
"conditions": "The input boolean john commuting [input_boolean.john_commuting] must currently be on.",
|
|
"action": "Turns off the input boolean john commuting [input_boolean.john_commuting] and then disables this automation itself, John is Not Commuting [automation.john_is_not_commuting]."
|
|
},
|
|
"human_like": "When John arrives home, this automation cancels his commuting status and then turns itself off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_passing_morton_grove_station",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] enters the zone morton grove train station [zone.morton_grove_train_station]. CONDITIONS: john home [input_boolean.john_home] is off AND the current time is after 12:00:00 AND input boolean john commuting [input_boolean.john_commuting] is on. ACTIONS: Execute the voice announcement script [script.voice_announcement] with a randomly selected speech message announcing that Baba's train will arrive within five minutes, using the 'arcade' sound, normal priority, and expiring in 3 seconds.",
|
|
"natural_language": {
|
|
"trigger": "When John [person.john_koht] enters the area of the Morton Grove train station [zone.morton_grove_train_station].",
|
|
"conditions": "John must not be at home (john home [input_boolean.john_home] is off), the current time must be after noon (12:00:00), and John's commuting status must be active (input boolean john commuting [input_boolean.john_commuting] is on).",
|
|
"action": "A voice announcement is made to all available media players. The message is randomly chosen from a list of phrases announcing that Baba's train will arrive within five minutes, played with an arcade sound effect, at normal priority, and the announcement expires after 3 seconds."
|
|
},
|
|
"human_like": "Announces that John's train is arriving soon when he enters the Morton Grove station, but only if he is commuting and not at home, and it's after noon.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_personal_time_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar john block [calendar.john_block] event ends OR calendar john gsd [calendar.john_gsd] event ends OR calendar john ooo [calendar.john_ooo] event ends OR at 00:00:00 daily. CONDITIONS: input boolean john personal time [input_boolean.john_personal_time] is on. ACTIONS: Turn off input boolean john personal time [input_boolean.john_personal_time] AND execute script general notification script [script.general_notification] with data: message 'John personal time turned OFF', title 'John Personal Time', devices 'jk', priority 'passive', tag 'john-personal-time'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when any of the following events occur: an event ends on the calendar john block [calendar.john_block], an event ends on the calendar john gsd [calendar.john_gsd], an event ends on the calendar john ooo [calendar.john_ooo], or at midnight (00:00:00) every day.",
|
|
"conditions": "The automation only runs if the input boolean john personal time [input_boolean.john_personal_time] is currently turned on.",
|
|
"action": "It turns off the input boolean john personal time [input_boolean.john_personal_time] and sends a notification via the script general notification script [script.general_notification] with the message 'John personal time turned OFF', the title 'John Personal Time', targeting devices 'jk' with passive priority and the tag 'john-personal-time'."
|
|
},
|
|
"human_like": "Turns off John's personal time status and sends a notification when any of his calendar events end or at midnight, but only if the status is currently active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_person_time_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar john block [calendar.john_block] event starts (with 5-second offset) OR When calendar john gsd [calendar.john_gsd] event starts (with 5-second offset) OR When calendar john ooo [calendar.john_ooo] event starts (with 5-second offset). CONDITIONS: input boolean john personal time [input_boolean.john_personal_time] is off. ACTIONS: Turn on input boolean john personal time [input_boolean.john_personal_time] AND Execute general notification script [script.general_notification] with message 'John personal time turned ON', title 'John Personal Time', target devices 'jk', priority 'passive', and tag 'john-personal-time'.",
|
|
"natural_language": {
|
|
"trigger": "When an event starts on any of John's calendars: calendar john block [calendar.john_block], calendar john gsd [calendar.john_gsd], or calendar john ooo [calendar.john_ooo], with a 5-second delay after the scheduled start time.",
|
|
"conditions": "The automation only runs if the input boolean john personal time [input_boolean.john_personal_time] is currently off.",
|
|
"action": "It turns on the input boolean john personal time [input_boolean.john_personal_time] and sends a passive notification to devices labeled 'jk' with the message 'John personal time turned ON' and the title 'John Personal Time'."
|
|
},
|
|
"human_like": "Automatically turns on John's personal time and notifies him when a 'block', 'gsd', or 'out of office' calendar event begins.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_wake_up",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john in bed [binary_sensor.john_in_bed] changes to off OR When binary sensor john in bed [binary_sensor.john_in_bed] remains off for 3 minutes OR When binary sensor main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] changes to on OR When input select john sleep state [input_select.john_sleep_state] changes to Just Got Up and remains for 2 minutes OR When input select john sleep state [input_select.john_sleep_state] changes to Awake. CONDITIONS: (binary sensor john in bed [binary_sensor.john_in_bed] is off) AND (input select john sleep state [input_select.john_sleep_state] is Awake OR input select john sleep state [input_select.john_sleep_state] is Just Got Up) AND (john home [input_boolean.john_home] is on) AND (input boolean john is in bed [input_boolean.john_is_in_bed] is on). ACTIONS: Turn off input boolean john is in bed [input_boolean.john_is_in_bed] AND Turn on john is awake [input_boolean.john_is_awake].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when the binary sensor john in bed [binary_sensor.john_in_bed] reports John is no longer in bed, when it remains in that state for three minutes, when the main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] indicates the door is open, when John's sleep state [input_select.john_sleep_state] is set to 'Just Got Up' for two minutes, or when his sleep state is set to 'Awake'.",
|
|
"conditions": "For the automation to run, John must be out of bed, as indicated by the binary sensor john in bed [binary_sensor.john_in_bed] being off. His sleep state [input_select.john_sleep_state] must be either 'Awake' or 'Just Got Up'. Furthermore, John must be home, as indicated by john home [input_boolean.john_home] being on, and the system must currently think he is in bed, as indicated by input boolean john is in bed [input_boolean.john_is_in_bed] being on.",
|
|
"action": "The automation updates John's status by turning off the input boolean john is in bed [input_boolean.john_is_in_bed] and turning on the john is awake [input_boolean.john_is_awake] flag."
|
|
},
|
|
"human_like": "Updates John's status to 'awake' and 'not in bed' when he gets up, based on bed occupancy, door sensors, and his sleep state.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_work_call_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar john launchpadlab com [calendar.john_launchpadlab_com] event ends (with a 10-second offset) OR When Work Hours [binary_sensor.work_hours] turns off. CONDITIONS: input boolean john work call [input_boolean.john_work_call] is on. ACTIONS: Turn off input boolean john work call [input_boolean.john_work_call] AND Run general notification script [script.general_notification] with a message 'John's work call has been turned OFF'.",
|
|
"natural_language": {
|
|
"trigger": "When a calendar event on calendar john launchpadlab com [calendar.john_launchpadlab_com] ends (after a 10-second delay), or when the Work Hours [binary_sensor.work_hours] sensor indicates work hours are over by turning off.",
|
|
"conditions": "The automation only proceeds if the input boolean john work call [input_boolean.john_work_call] is currently turned on.",
|
|
"action": "Turns off the input boolean john work call [input_boolean.john_work_call] and sends a passive notification to the user 'jk' with the message 'John's work call has been turned OFF' via the general notification script [script.general_notification]."
|
|
},
|
|
"human_like": "Automatically turns off John's work call status and sends a notification when his work calendar event ends or when work hours are over.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_work_call_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When a calendar event starts on calendar john launchpadlab com [calendar.john_launchpadlab_com]. CONDITIONS: The event summary does NOT contain the substrings 'gsd', 'ooo', or 'block' (case-insensitive). ACTIONS: Turn on input boolean john work call [input_boolean.john_work_call], then run the general notification script [script.general_notification] with a message 'John's work call has been turned ON', then turn off the automation John Work Call Off [automation.john_work_call_off], then wait 1 minute, then turn on the automation John Work Call Off [automation.john_work_call_off].",
|
|
"natural_language": {
|
|
"trigger": "When a new calendar event begins in the calendar john launchpadlab com [calendar.john_launchpadlab_com].",
|
|
"conditions": "The title of the calendar event does not contain the words 'gsd', 'ooo', or 'block' (ignoring capitalization).",
|
|
"action": "Activates the 'work call' mode by turning on the input boolean john work call [input_boolean.john_work_call]. It then sends a passive notification to the specified devices confirming the action. Next, it temporarily disables the companion automation John Work Call Off [automation.john_work_call_off], waits for one minute, and then re-enables it."
|
|
},
|
|
"human_like": "Automatically activates John's work call mode when a relevant work calendar event starts, while filtering out certain types of events like out-of-office or blocked time.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "jr_suite_air_quality_detections",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor jr suite air quality [sensor.jr_suite_air_quality] changes state. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) OR (almost home [input_boolean.almost_home] is on). ACTIONS: Execute script air quality set air purifier mode [script.air_quality_set_air_purifier_mode] with data: purifier = fan jr suite air purifier [fan.jr_suite_air_purifier], aqi_state = current state of sensor jr suite air quality [sensor.jr_suite_air_quality], room_state = current state of input select jr suite [input_select.jr_suite].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the air quality sensor in the Jr. Suite, sensor jr suite air quality [sensor.jr_suite_air_quality], reports a new reading.",
|
|
"conditions": "The automation only runs if either the house is marked as occupied via house occupied [input_boolean.house_occupied] or the 'almost home' mode is active via almost home [input_boolean.almost_home].",
|
|
"action": "It calls a script named air quality set air purifier mode [script.air_quality_set_air_purifier_mode], passing it the current air purifier entity, the latest air quality reading, and the current room mode from input select jr suite [input_select.jr_suite]."
|
|
},
|
|
"human_like": "Adjusts the Jr. Suite air purifier based on air quality readings, but only when someone is home or about to arrive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "jr_suite_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select jr suite [input_select.jr_suite] changes to 'Off' OR when lighting automations [input_boolean.lighting_automations] turns on. CONDITIONS: light jr suite bedroom main lights [light.jr_suite_bedroom_main_lights] is on AND input select jr suite [input_select.jr_suite] is 'Off'. ACTIONS: Turn off light jr suite bedroom main lights [light.jr_suite_bedroom_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the input select jr suite [input_select.jr_suite] is set to 'Off', or when the lighting automations [input_boolean.lighting_automations] are enabled.",
|
|
"conditions": "If the light jr suite bedroom main lights [light.jr_suite_bedroom_main_lights] are currently on and the input select jr suite [input_select.jr_suite] is set to 'Off'.",
|
|
"action": "Turns off the light jr suite bedroom main lights [light.jr_suite_bedroom_main_lights]."
|
|
},
|
|
"human_like": "Turns off the main bedroom lights in the Jr. Suite when the room mode is set to 'Off' and the lights are on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "jr_suite_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND input select jr suite [input_select.jr_suite] is NOT set to Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] is set to 'Auto' or when the house occupied [input_boolean.house_occupied] indicator turns on.",
|
|
"conditions": "The house must be occupied, meaning house occupied [input_boolean.house_occupied] is on. The Jr. Suite mode must not already be set to 'Auto'. It must not be bedtime, so bedtime [input_boolean.bedtime] must be off. Finally, the overall house status must be 'Auto'.",
|
|
"action": "Sets the Jr. Suite mode to 'Auto' by selecting that option for input select jr suite [input_select.jr_suite]."
|
|
},
|
|
"human_like": "Automatically sets the Jr. Suite mode to 'Auto' when the house is occupied, not in bedtime mode, and the overall house status is set to Auto.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "jr_suite_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR house status [input_select.house] changes to Away OR bedtime [input_boolean.bedtime] turns on OR Home Assistant starts OR an automation is reloaded. CONDITIONS: (input select jr suite [input_select.jr_suite] is not set to Off) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set input select jr suite [input_select.jr_suite] to Off.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the house occupied [input_boolean.house_occupied] status changes to off, when the house status [input_select.house] is set to Away, when the bedtime [input_boolean.bedtime] mode is turned on, when Home Assistant itself starts up, or when any automation is reloaded.",
|
|
"conditions": "For the automation to run, the input select jr suite [input_select.jr_suite] must not already be in the 'Off' mode. Additionally, at least one of the following must be true: the house is marked as unoccupied, the house status is set to Away, or bedtime mode is active.",
|
|
"action": "The automation sets the input select jr suite [input_select.jr_suite] to the 'Off' option."
|
|
},
|
|
"human_like": "Turns off the Jr. Suite mode when the house is unoccupied, set to Away, bedtime is active, or the system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "jr_suite_turn_off_purifier",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when input select jr suite [input_select.jr_suite] changes to 'Off'. CONDITIONS: None. ACTIONS: Turn off fan jr suite air purifier [fan.jr_suite_air_purifier].",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] switch is turned off, or when the input select jr suite [input_select.jr_suite] is set to the 'Off' state.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns off the fan jr suite air purifier [fan.jr_suite_air_purifier]."
|
|
},
|
|
"human_like": "Turns off the Junior Suite air purifier when the house is unoccupied or when the suite's mode is set to 'Off'.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "katie_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When person katia [person.katia] changes state from not_home to home. CONDITIONS: person katia [person.katia] is home AND house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute voice announcement script [script.voice_announcement] with a random speech message announcing Katia's arrival, then check if guest mode announced [input_boolean.guest_mode_announced] is off, and if so, turn it on.",
|
|
"natural_language": {
|
|
"trigger": "When Katia [person.katia] arrives home, transitioning from being away to being at home.",
|
|
"conditions": "Katia [person.katia] must be at home, and the house must be marked as occupied [input_boolean.house_occupied] for at least five continuous minutes.",
|
|
"action": "A voice announcement is made to all available media players, using a randomly selected message to announce Katia's arrival. Then, if the guest mode announced [input_boolean.guest_mode_announced] flag is off, it is turned on."
|
|
},
|
|
"human_like": "Announces Katia's arrival home with a fun, random voice message when the house is occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "katia_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When person katia [person.katia] changes state from home to not_home. CONDITIONS: (person katia [person.katia] is not_home) AND (house occupied [input_boolean.house_occupied] is on AND remains for 5 minutes). ACTIONS: Execute script voice announcement [script.voice_announcement] with a random speech message from a predefined list.",
|
|
"natural_language": {
|
|
"trigger": "When Katia's presence changes from being at home to being away.",
|
|
"conditions": "Katia must still be away, and the house must have been marked as occupied for at least the last five minutes.",
|
|
"action": "Plays a random voice announcement, such as 'Katia has left the house!', on all configured media players."
|
|
},
|
|
"human_like": "Announces when Katia leaves the house, but only if the house was occupied for a while beforehand.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "katie_bluetooth_detected_not_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor katia room presence [sensor.katia_room_presence] state is 'not_home' AND remains so for 10 minutes. CONDITIONS: sensor katia room presence [sensor.katia_room_presence] state is 'not_home' AND person katia [person.katia] state is 'home'. ACTIONS: Update device tracker for 'katias_iphone' to location 'not_home'.",
|
|
"natural_language": {
|
|
"trigger": "When the sensor katia room presence [sensor.katia_room_presence] reports Katia as 'not_home' and this state persists for 10 minutes.",
|
|
"conditions": "The automation checks that the sensor katia room presence [sensor.katia_room_presence] is still reporting 'not_home' at the moment of evaluation, and that the person katia [person.katia] entity is currently marked as 'home'.",
|
|
"action": "Sends a command to the device tracker to set the location of 'katias_iphone' to 'not_home'."
|
|
},
|
|
"human_like": "Updates Katia's phone location to 'not_home' if her room presence sensor shows she's been away for 10 minutes while her person status is still at home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "katia_is_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When person katia [person.katia] becomes not_home OR When binary sensor katia presence [binary_sensor.katia_presence] becomes off OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: (NOT (input select katia status [input_select.katia_status] is Just Left)) AND (person katia [person.katia] is not_home OR binary sensor katia presence [binary_sensor.katia_presence] is off). ACTIONS: Turn off katia home [input_boolean.katia_home].",
|
|
"natural_language": {
|
|
"trigger": "When person katia [person.katia] leaves home (state changes to not_home), or when the binary sensor katia presence [binary_sensor.katia_presence] indicates presence is off, or when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the input select katia status [input_select.katia_status] is not set to 'Just Left'. Additionally, it requires that either person katia [person.katia] is not home or the binary sensor katia presence [binary_sensor.katia_presence] is off.",
|
|
"action": "Turns off the input boolean katia home [input_boolean.katia_home] to indicate Katia is away."
|
|
},
|
|
"human_like": "Marks Katia as away when she leaves home or her presence sensor indicates she's gone, ensuring the status isn't already set to 'Just Left'.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "katia_is_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When person katia [person.katia] changes to home OR When binary sensor katia presence [binary_sensor.katia_presence] changes to on OR When the event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: katia home [input_boolean.katia_home] is off AND (person katia [person.katia] is home OR binary sensor katia presence [binary_sensor.katia_presence] is on). ACTIONS: Turn on katia home [input_boolean.katia_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when person katia [person.katia] arrives home, when the binary sensor katia presence [binary_sensor.katia_presence] detects presence, when Home Assistant reloads its automations, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the katia home [input_boolean.katia_home] is currently off, and either person katia [person.katia] is at home or the binary sensor katia presence [binary_sensor.katia_presence] is reporting presence.",
|
|
"action": "Sets the katia home [input_boolean.katia_home] to on, indicating that Katia is home."
|
|
},
|
|
"human_like": "Sets Katia's home status to 'on' when she arrives home or when her presence is detected, ensuring the status is correct after system restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "katia_open_garage_upon_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When katia home [input_boolean.katia_home] turns on AND remains on for 3 seconds. CONDITIONS: person katia [person.katia] is home AND input select katia status [input_select.katia_status] is 'Just Arrived' AND (the time difference between now and the last update of binary sensor garage driveway camera motion [binary_sensor.garage_driveway_camera_motion] is less than 60 seconds) AND cover garage doors [cover.garage_doors] is closed. ACTIONS: Open cover garage door 2 [cover.garage_door_2].",
|
|
"natural_language": {
|
|
"trigger": "When the katia home [input_boolean.katia_home] switch is turned on and stays on for at least three seconds.",
|
|
"conditions": "If person katia [person.katia] is marked as being at home, her status [input_select.katia_status] is set to 'Just Arrived', motion was detected near the garage driveway [binary_sensor.garage_driveway_camera_motion] within the last minute, and the main garage doors [cover.garage_doors] are currently closed.",
|
|
"action": "Opens the second garage door [cover.garage_door_2]."
|
|
},
|
|
"human_like": "Automatically opens the second garage door for Katia when she arrives home, provided there has been recent driveway activity and the main doors are closed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "katie_bluetooth_detected_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor katia room presence [sensor.katia_room_presence] state changes to any value other than 'not_home'. CONDITIONS: (sensor katia room presence [sensor.katia_room_presence] state is not 'not_home') AND (person katia [person.katia] state is 'not_home'). ACTIONS: Update device tracker for 'katias_iphone' to location 'home'.",
|
|
"natural_language": {
|
|
"trigger": "When the sensor katia room presence [sensor.katia_room_presence] reports a state that is not 'not_home'.",
|
|
"conditions": "The sensor katia room presence [sensor.katia_room_presence] must currently be reporting a state other than 'not_home', and the person katia [person.katia] entity must be in the 'not_home' state.",
|
|
"action": "Sends a device tracker update to set the location of 'katias_iphone' to 'home'."
|
|
},
|
|
"human_like": "Updates Katia's phone location to 'home' when her room presence sensor detects she is home, but her person entity still shows her as away.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kids_activity_tomorrow_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: At 17:30:00 OR At 20:00:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND binary sensor kids activity tomorrow [binary_sensor.kids_activity_tomorrow] is on AND current time is after 17:00:00. ACTIONS: Wait for up to 5 minutes until kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is on OR family room motion sensor [binary_sensor.family_room_motion_sensor] is on. Then, wait for 2 seconds. Then, execute voice announcement script [script.voice_announcement] with a random speech message containing the event details from calendar kohbocal [calendar.kohbocal]. Then, execute general notification script [script.general_notification] with a notification containing the event details from calendar kohbocal [calendar.kohbocal].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers daily at 5:30 PM and again at 8:00 PM.",
|
|
"conditions": "The automation only runs if the house is marked as occupied via house occupied [input_boolean.house_occupied], if there is a kids' activity scheduled for tomorrow via binary sensor kids activity tomorrow [binary_sensor.kids_activity_tomorrow], and if the current time is after 5:00 PM.",
|
|
"action": "The automation first waits for up to five minutes for motion to be detected in either the kitchen via kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] or the family room via family room motion sensor [binary_sensor.family_room_motion_sensor]. After a short two-second delay, it makes a voice announcement using a random, pre-defined phrase that includes the details of the event from calendar kohbocal [calendar.kohbocal]. Finally, it sends a push notification with the same event details."
|
|
},
|
|
"human_like": "Provides a voice and phone reminder about the kids' activities scheduled for the next day, ensuring someone is home and awake to hear it.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kids_activity_upcoming_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar kohbocal [calendar.kohbocal] event starts in 1 hour. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Execute voice announcement script [script.voice_announcement] with a random speech message announcing the event from calendar kohbocal [calendar.kohbocal] is in one hour, using the 'flute-cell-phone-alert' sound.",
|
|
"natural_language": {
|
|
"trigger": "One hour before an event starts on the calendar kohbocal [calendar.kohbocal].",
|
|
"conditions": "The house occupied [input_boolean.house_occupied] switch must be on, indicating someone is home.",
|
|
"action": "Plays a voice announcement on all available media players using the 'flute-cell-phone-alert' sound. The announcement is a randomly selected message stating that the event from the calendar is in one hour."
|
|
},
|
|
"human_like": "Announces a reminder one hour before a scheduled event on the family calendar when someone is home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_air_quality_detections",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor kitchen air quality [sensor.kitchen_air_quality] changes state OR when kitchen occupied [input_boolean.kitchen_occupied] changes state. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) OR (almost home [input_boolean.almost_home] is on). ACTIONS: Execute script air quality set air purifier mode [script.air_quality_set_air_purifier_mode] with data: purifier set to fan kitchen air purifier [fan.kitchen_air_purifier], aqi_state set to the current state of sensor kitchen air quality [sensor.kitchen_air_quality], and room_state set to the current state of input select kitchen [input_select.kitchen].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered whenever the sensor kitchen air quality [sensor.kitchen_air_quality] reports a new value, or when the kitchen occupied [input_boolean.kitchen_occupied] status changes.",
|
|
"conditions": "The automation will only proceed if either the house occupied [input_boolean.house_occupied] is set to on, or the almost home [input_boolean.almost_home] is set to on.",
|
|
"action": "It runs the air quality set air purifier mode script [script.air_quality_set_air_purifier_mode], passing it the kitchen air purifier [fan.kitchen_air_purifier], the current air quality reading, and the current kitchen mode from input select kitchen [input_select.kitchen]."
|
|
},
|
|
"human_like": "Adjusts the kitchen air purifier based on air quality and occupancy, but only when someone is home or about to arrive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_fridge_door_left_open",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor kitchen fridge door status [binary_sensor.kitchen_fridge_door_status] remains open (on) for 2 minutes. CONDITIONS: binary sensor kitchen fridge door status [binary_sensor.kitchen_fridge_door_status] is open (on). ACTIONS: Repeat the following sequence until binary sensor kitchen fridge door status [binary_sensor.kitchen_fridge_door_status] is closed (off): Execute script voice announcement [script.voice_announcement] with parameters media_players=auto, sound=police-whistle, speech_message='Fridge is open', then wait for 1 minute.",
|
|
"natural_language": {
|
|
"trigger": "When the kitchen fridge door status [binary_sensor.kitchen_fridge_door_status] has been open for at least two minutes.",
|
|
"conditions": "The fridge door must still be open at the moment the automation runs.",
|
|
"action": "Repeatedly announces 'Fridge is open' with a police whistle sound on all available media players, pausing for one minute between announcements, until the fridge door is closed."
|
|
},
|
|
"human_like": "Announces a reminder that the fridge door is open, repeating every minute until it is closed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_day_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor kitchen illuminance [sensor.kitchen_illuminance] is above 450 lux for 10 minutes OR When sensor kitchen illuminance [sensor.kitchen_illuminance] is above 500 lux for 5 minutes OR When sensor kitchen illuminance [sensor.kitchen_illuminance] is above 600 lux for 3 minutes OR When bad weather [input_boolean.bad_weather] turns off. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] is on AND input select kitchen [input_select.kitchen] is Auto AND bad weather [input_boolean.bad_weather] is off AND input boolean kitchen lights auto [input_boolean.kitchen_lights_auto] is on AND sun sun [sun.sun] is above_horizon AND (sensor kitchen motion sensor table illuminance [sensor.kitchen_motion_sensor_table_illuminance] is above 450 lux AND sensor kitchen motion sensor main illuminance [sensor.kitchen_motion_sensor_main_illuminance] is above 450 lux) AND light kitchen lights [light.kitchen_lights] is on. ACTIONS: Turn off light kitchen lights [light.kitchen_lights] AND Turn off input boolean kitchen lights auto [input_boolean.kitchen_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if the kitchen illuminance sensor [sensor.kitchen_illuminance] remains above 450 lux for 10 minutes, above 500 lux for 5 minutes, or above 600 lux for 3 minutes. It also triggers if the bad weather toggle [input_boolean.bad_weather] is turned off.",
|
|
"conditions": "All of the following must be true: the master lighting automations switch [input_boolean.lighting_automations] is on; the kitchen-specific lighting automations switch [input_boolean.kitchen_lighting_automations] is on; the kitchen mode selector [input_select.kitchen] is set to 'Auto'; the bad weather toggle [input_boolean.bad_weather] is off; the kitchen lights auto mode [input_boolean.kitchen_lights_auto] is on; the sun [sun.sun] is above the horizon; both the kitchen table illuminance sensor [sensor.kitchen_motion_sensor_table_illuminance] and the kitchen main illuminance sensor [sensor.kitchen_motion_sensor_main_illuminance] report a light level above 450 lux; and the kitchen lights [light.kitchen_lights] are currently on.",
|
|
"action": "The automation turns off the kitchen lights [light.kitchen_lights] and also disables the kitchen lights auto mode by turning off the corresponding switch [input_boolean.kitchen_lights_auto]."
|
|
},
|
|
"human_like": "Automatically turns off the kitchen lights during the day when there is sufficient natural light and all relevant automation settings are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_day_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor kitchen illuminance [sensor.kitchen_illuminance] remains below 150 lux for 2 minutes OR When sensor kitchen illuminance [sensor.kitchen_illuminance] remains below 125 lux for 5 minutes OR When sensor kitchen illuminance [sensor.kitchen_illuminance] remains below 100 lux for 10 minutes OR When bad weather [input_boolean.bad_weather] turns on OR When lighting automations [input_boolean.lighting_automations] turns on OR When input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] turns on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] is on AND input select kitchen [input_select.kitchen] is Auto AND kitchen occupied [input_boolean.kitchen_occupied] is on AND sun sun [sun.sun] is above_horizon AND sensor kitchen motion sensor main illuminance [sensor.kitchen_motion_sensor_main_illuminance] is below 150 lux AND light kitchen lights [light.kitchen_lights] is off. ACTIONS: Turn on light kitchen lights [light.kitchen_lights] with a 5-second transition AND Turn on input boolean kitchen lights auto [input_boolean.kitchen_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: if the kitchen illuminance sensor [sensor.kitchen_illuminance] reports a light level below 150 lux for two minutes, below 125 lux for five minutes, or below 100 lux for ten minutes. It can also be triggered if the bad weather toggle [input_boolean.bad_weather] is turned on, if the master lighting automations toggle [input_boolean.lighting_automations] is turned on, or if the specific kitchen lighting automations toggle [input_boolean.kitchen_lighting_automations] is turned on.",
|
|
"conditions": "For the action to run, several conditions must all be true. The master lighting automations [input_boolean.lighting_automations] and the kitchen-specific lighting automations [input_boolean.kitchen_lighting_automations] must both be enabled. The kitchen mode selector [input_select.kitchen] must be set to 'Auto'. The kitchen must be marked as occupied [input_boolean.kitchen_occupied]. It must be daytime, meaning the sun [sun.sun] is above the horizon. The main motion sensor's light reading [sensor.kitchen_motion_sensor_main_illuminance] must be below 150 lux. Finally, the kitchen lights [light.kitchen_lights] must currently be off.",
|
|
"action": "The automation turns on the kitchen lights [light.kitchen_lights] with a smooth 5-second transition and also turns on a helper switch [input_boolean.kitchen_lights_auto] to indicate the lights were activated automatically."
|
|
},
|
|
"human_like": "Automatically turns on the kitchen lights during the day when the room is occupied but too dark, or when bad weather or automation toggles are activated.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_dim_motion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] remains off for 3 minutes OR when kitchen occupied [input_boolean.kitchen_occupied] turns off. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input select kitchen [input_select.kitchen] is Dim AND (input boolean kitchen lights auto [input_boolean.kitchen_lights_auto] is on OR kitchen occupied [input_boolean.kitchen_occupied] is off) AND kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is off. ACTIONS: Dim kitchen lights [light.kitchen_lights] to 5% brightness with a 1-second transition AND turn off automation Kitchen Lights Dim Motion Off [automation.kitchen_lights_dim_motion_off].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] reports no motion for at least three minutes, or when the kitchen occupied [input_boolean.kitchen_occupied] input boolean is turned off.",
|
|
"conditions": "The automation will only run if the global lighting automations [input_boolean.lighting_automations] are enabled, the kitchen lighting mode [input_select.kitchen] is set to 'Dim', and the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is currently off. Additionally, either the kitchen lights auto [input_boolean.kitchen_lights_auto] mode must be on, or the kitchen must be marked as unoccupied via the kitchen occupied [input_boolean.kitchen_occupied] input boolean.",
|
|
"action": "The lights in the kitchen [light.kitchen_lights] are dimmed to 5% brightness with a one-second fade, and the automation itself [automation.kitchen_lights_dim_motion_off] is turned off to prevent repeated execution."
|
|
},
|
|
"human_like": "Dims the kitchen lights to a low level when no motion is detected for a while and the room is set to 'Dim' mode, then disables itself.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_dim_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] changes to on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] is on AND input select kitchen [input_select.kitchen] is Dim AND house occupied [input_boolean.house_occupied] is on AND (kitchen main light switch [light.kitchen_main_light_switch] is off OR kitchen table light switch [light.kitchen_table_light_switch] is off). ACTIONS: Turn on light kitchen lights [light.kitchen_lights] with brightness 40% and a 0.5 second transition, turn on Kitchen Lights Dim Motion Off [automation.kitchen_lights_dim_motion_off], and turn on input boolean kitchen lights auto [input_boolean.kitchen_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the kitchen, indicated by the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] turning on.",
|
|
"conditions": "All of the following must be true: the global lighting automations [input_boolean.lighting_automations] are enabled, the kitchen-specific lighting automations [input_boolean.kitchen_lighting_automations] are enabled, the kitchen lighting mode [input_select.kitchen] is set to 'Dim', the house is marked as occupied [input_boolean.house_occupied], and at least one of the main kitchen lights (kitchen main light switch [light.kitchen_main_light_switch] or kitchen table light switch [light.kitchen_table_light_switch]) is currently off.",
|
|
"action": "Turns on the kitchen lights [light.kitchen_lights] at 40% brightness with a smooth half-second transition, activates the companion automation 'Kitchen Lights Dim Motion Off' [automation.kitchen_lights_dim_motion_off] to handle turning the lights off later, and marks the kitchen lights as being in automatic mode by turning on input boolean kitchen lights auto [input_boolean.kitchen_lights_auto]."
|
|
},
|
|
"human_like": "When motion is detected in the kitchen, this automation turns the lights on to a dim level if the house is occupied and all lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_manually_turned_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When light kitchen lights [light.kitchen_lights] turns on. CONDITIONS: The state change of light kitchen lights [light.kitchen_lights] has no parent context (trigger.to_state.context.parent_id is none). ACTIONS: Turn off input boolean kitchen lights auto [input_boolean.kitchen_lights_auto] AND turn off input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] AND run the general notification script [script.general_notification] with a message containing the parent id and user id from the trigger context.",
|
|
"natural_language": {
|
|
"trigger": "When the kitchen lights [light.kitchen_lights] are turned on.",
|
|
"conditions": "The condition checks that the state change was not initiated by another automation or script, which is indicated by the absence of a parent context ID.",
|
|
"action": "The automation disables the automatic lighting controls by turning off the input boolean kitchen lights auto [input_boolean.kitchen_lights_auto] and the input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations]. It also sends a passive notification to a specific device, reporting that the lights were manually turned on and includes details about the context of the change."
|
|
},
|
|
"human_like": "This automation detects when the kitchen lights are manually turned on, disables the automatic lighting features, and sends a notification about the event.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] changes to on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] is on AND (input select kitchen [input_select.kitchen] is Auto OR input select kitchen [input_select.kitchen] is Dim) AND (kitchen main light switch [light.kitchen_main_light_switch] is off OR kitchen table light switch [light.kitchen_table_light_switch] is off) AND (sensor kitchen motion sensor main illuminance [sensor.kitchen_motion_sensor_main_illuminance] is below 150 OR sensor kitchen motion sensor table illuminance [sensor.kitchen_motion_sensor_table_illuminance] is below 150). ACTIONS: If input select kitchen [input_select.kitchen] is Auto, turn on light kitchen lights [light.kitchen_lights] with a 5-second transition. If input select kitchen [input_select.kitchen] is Dim, turn on light kitchen lights [light.kitchen_lights] with 35% brightness and a 1-second transition. Then, turn on input boolean kitchen lights auto [input_boolean.kitchen_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the kitchen, indicated by the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] turning on.",
|
|
"conditions": "Several conditions must be met: the master lighting automations [input_boolean.lighting_automations] and the kitchen-specific lighting automations [input_boolean.kitchen_lighting_automations] must both be enabled. The kitchen mode [input_select.kitchen] must be set to either 'Auto' or 'Dim'. At least one of the main kitchen lights [light.kitchen_main_light_switch] or the table light [light.kitchen_table_light_switch] must be off. Finally, the ambient light level in the kitchen must be low, meaning either the main illuminance sensor [sensor.kitchen_motion_sensor_main_illuminance] or the table illuminance sensor [sensor.kitchen_motion_sensor_table_illuminance] reports a value below 150.",
|
|
"action": "Depending on the kitchen mode, the lights are turned on differently. If the mode is 'Auto', all kitchen lights [light.kitchen_lights] are turned on with a smooth 5-second fade. If the mode is 'Dim', the same lights are turned on but only to 35% brightness with a quick 1-second fade. After adjusting the lights, the system marks that the lights were activated automatically by turning on the input boolean kitchen lights auto [input_boolean.kitchen_lights_auto]."
|
|
},
|
|
"human_like": "Automatically turns on the kitchen lights with a brightness level based on the selected mode when motion is detected and the room is sufficiently dark.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_sleep_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs with a 15-minute offset OR at 07:00:00. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (sun is after sunrise OR time is after 07:00:00). ACTIONS: Turn off switch adaptive lighting sleep mode kitchen [switch.adaptive_lighting_sleep_mode_kitchen] AND turn off Kitchen Lights Sleep Mode Off [automation.kitchen_lights_sleep_mode_off].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either 15 minutes after sunrise or at 7:00 AM.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled. Additionally, it must be either after sunrise or after 7:00 AM.",
|
|
"action": "It turns off the adaptive lighting sleep mode for the kitchen [switch.adaptive_lighting_sleep_mode_kitchen] and then disables itself by turning off the Kitchen Lights Sleep Mode Off [automation.kitchen_lights_sleep_mode_off] automation."
|
|
},
|
|
"human_like": "Disables the kitchen's adaptive lighting sleep mode in the morning, either shortly after sunrise or at 7 AM, and then turns itself off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_sleep_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR at 23:00:00 OR at 03:00:00. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND the sun is below the horizon (after sunset) AND dark outside [input_boolean.dark_outside] is on AND the current time is after 20:00:00. ACTIONS: Turn on switch adaptive lighting sleep mode kitchen [switch.adaptive_lighting_sleep_mode_kitchen] AND turn on Kitchen Lights Sleep Mode Off [automation.kitchen_lights_sleep_mode_off].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bedtime [input_boolean.bedtime] switch is turned on, or at 11:00 PM, or at 3:00 AM.",
|
|
"conditions": "All of the following must be true: the lighting automations [input_boolean.lighting_automations] are enabled, it is after sunset, the dark outside [input_boolean.dark_outside] indicator is on, and the current time is after 8:00 PM.",
|
|
"action": "It activates the adaptive lighting sleep mode for the kitchen by turning on the switch adaptive lighting sleep mode kitchen [switch.adaptive_lighting_sleep_mode_kitchen] and also enables the companion automation Kitchen Lights Sleep Mode Off [automation.kitchen_lights_sleep_mode_off]."
|
|
},
|
|
"human_like": "Activates the kitchen's sleep lighting mode in the evening or at night when it's dark and bedtime routines are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_to_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select kitchen [input_select.kitchen] changes to Away OR When house status [input_select.house] changes to Away. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (input select kitchen [input_select.kitchen] is Away OR (input select kitchen [input_select.kitchen] is Auto AND house status [input_select.house] is Away)) AND light kitchen lights [light.kitchen_lights] is on. ACTIONS: Turn off light kitchen lights [light.kitchen_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the kitchen mode [input_select.kitchen] is set to 'Away', or when the overall house mode [input_select.house] is set to 'Away'.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled. The kitchen must be in 'Away' mode, or it must be in 'Auto' mode while the house is also in 'Away' mode. Additionally, the kitchen lights [light.kitchen_lights] must currently be on.",
|
|
"action": "Turns off the kitchen lights [light.kitchen_lights]."
|
|
},
|
|
"human_like": "Turns off the kitchen lights when the house or kitchen is set to 'Away' mode, provided the lights are currently on and automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_to_dim",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Dim OR When input select kitchen [input_select.kitchen] changes to Dim. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input select kitchen [input_select.kitchen] is Dim AND house occupied [input_boolean.house_occupied] is on. ACTIONS: Turn on light kitchen lights [light.kitchen_lights] with brightness 5% and a transition time of 0.5 seconds.",
|
|
"natural_language": {
|
|
"trigger": "When either the overall house status [input_select.house] or the specific kitchen mode [input_select.kitchen] is set to 'Dim'.",
|
|
"conditions": "If the lighting automations [input_boolean.lighting_automations] are enabled, the kitchen mode [input_select.kitchen] is currently set to 'Dim', and the house is marked as occupied [input_boolean.house_occupied].",
|
|
"action": "Turns on the kitchen lights [light.kitchen_lights] at a very low brightness (5%) with a smooth half-second fade-in."
|
|
},
|
|
"human_like": "Sets the kitchen lights to a dimmed nightlight level when the house or kitchen is in 'Dim' mode and the house is occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_to_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select kitchen [input_select.kitchen] changes to Off OR When kitchen occupied [input_boolean.kitchen_occupied] changes to off OR When kitchen occupied [input_boolean.kitchen_occupied] changes to off AND remains for 2 minutes OR When lighting automations [input_boolean.lighting_automations] changes to on. CONDITIONS: (lighting automations [input_boolean.lighting_automations] is on) AND ((input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] is on) OR ((input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] is off) AND (the triggering entity is kitchen occupied [input_boolean.kitchen_occupied]))) AND ((input select kitchen [input_select.kitchen] is Off) OR (kitchen occupied [input_boolean.kitchen_occupied] is off)) AND (light kitchen lights [light.kitchen_lights] is on). ACTIONS: Turn off light kitchen lights [light.kitchen_lights] AND Turn off input boolean kitchen lights auto [input_boolean.kitchen_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the kitchen scene selector [input_select.kitchen] is set to 'Off', when the kitchen occupied status [input_boolean.kitchen_occupied] changes to off, when the kitchen occupied status [input_boolean.kitchen_occupied] remains off for two minutes, or when the master lighting automations switch [input_boolean.lighting_automations] is turned on.",
|
|
"conditions": "All conditions must be met: the master lighting automations switch [input_boolean.lighting_automations] must be on. Additionally, either the kitchen-specific lighting automations switch [input_boolean.kitchen_lighting_automations] is on, or if that switch is off, the trigger must have been caused by a change in the kitchen occupied status [input_boolean.kitchen_occupied]. Furthermore, either the kitchen scene selector [input_select.kitchen] is set to 'Off' or the kitchen occupied status [input_boolean.kitchen_occupied] is off. Finally, the kitchen lights [light.kitchen_lights] must currently be on.",
|
|
"action": "Turns off the kitchen lights [light.kitchen_lights] and also turns off the kitchen lights auto status indicator [input_boolean.kitchen_lights_auto]."
|
|
},
|
|
"human_like": "Turns off the kitchen lights when the room is set to 'Off', becomes unoccupied, or when lighting automations are enabled, ensuring the lights are only on when needed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_lights_manually_turned_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When light kitchen lights [light.kitchen_lights] turns off. CONDITIONS: input boolean kitchen lights auto [input_boolean.kitchen_lights_auto] is on AND the state change context has no parent_id (trigger.to_state.context.parent_id is none). ACTIONS: Turn off input boolean kitchen lights auto [input_boolean.kitchen_lights_auto] AND turn off input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] AND run general notification script [script.general_notification] with a message about the lights being turned off and details of the context.",
|
|
"natural_language": {
|
|
"trigger": "When the kitchen lights [light.kitchen_lights] are turned off.",
|
|
"conditions": "The automation mode for the kitchen lights, input boolean kitchen lights auto [input_boolean.kitchen_lights_auto], must be active (on). Additionally, the state change that turned the lights off must not have been caused by another automation or script, which is checked by verifying the context's parent_id is empty.",
|
|
"action": "Disables the automatic lighting control by turning off both input boolean kitchen lights auto [input_boolean.kitchen_lights_auto] and input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations]. It also sends a passive notification to a specific device with details about the lights being turned off and the context of the change."
|
|
},
|
|
"human_like": "Detects when the kitchen lights are manually turned off and disables the automatic lighting mode, sending a notification about the change.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When kitchen occupied [input_boolean.kitchen_occupied] turns on OR When house status [input_select.house] changes to Auto OR When house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND input select kitchen [input_select.kitchen] is NOT set to Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set input select kitchen [input_select.kitchen] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the kitchen occupied [input_boolean.kitchen_occupied] status becomes on, when the overall house status [input_select.house] changes to 'Auto', or when the house occupied [input_boolean.house_occupied] status becomes on.",
|
|
"conditions": "All of the following must be true: the house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), the kitchen's current mode (input select kitchen [input_select.kitchen]) must not already be set to 'Auto', the bedtime [input_boolean.bedtime] mode must be off, and the overall house status [input_select.house] must be set to 'Auto'.",
|
|
"action": "Sets the kitchen's mode to 'Auto' by changing the input select kitchen [input_select.kitchen] to the 'Auto' option."
|
|
},
|
|
"human_like": "Automatically sets the kitchen to 'Auto' mode when the house is occupied, in 'Auto' mode, and it's not bedtime, provided the kitchen isn't already in that mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_mode_dim",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor evening chill [binary_sensor.evening_chill] turns on OR When sony bravia tv [media_player.sony_bravia_tv] starts playing OR When family room main lights [light.family_room_main_lights] turn off OR When kitchen occupied [input_boolean.kitchen_occupied] turns off. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean kitchen lighting automations [input_boolean.kitchen_lighting_automations] is on AND guest mode [input_boolean.guest_mode] is off AND sun sun [sun.sun] is below_horizon AND binary sensor evening chill [binary_sensor.evening_chill] is on AND input select kitchen [input_select.kitchen] is NOT set to 'Dim' AND kitchen occupied [input_boolean.kitchen_occupied] is off AND sony bravia tv [media_player.sony_bravia_tv] is playing AND family room main lights [light.family_room_main_lights] are off. ACTIONS: Set input select kitchen [input_select.kitchen] to 'Dim'.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by any of the following events: the binary sensor evening chill [binary_sensor.evening_chill] turning on, the sony bravia tv [media_player.sony_bravia_tv] starting to play, the family room main lights [light.family_room_main_lights] turning off, or the kitchen occupied [input_boolean.kitchen_occupied] status turning to off.",
|
|
"conditions": "For the automation to run, several conditions must all be true. The master lighting automations [input_boolean.lighting_automations] and the specific kitchen lighting automations [input_boolean.kitchen_lighting_automations] must both be enabled. Guest mode [input_boolean.guest_mode] must be off. The sun [sun.sun] must be below the horizon, indicating it is nighttime. The binary sensor evening chill [binary_sensor.evening_chill] must be on. The kitchen lighting mode [input_select.kitchen] must not already be set to 'Dim'. The kitchen must be unoccupied, as indicated by kitchen occupied [input_boolean.kitchen_occupied] being off. The sony bravia tv [media_player.sony_bravia_tv] must be playing, and the family room main lights [light.family_room_main_lights] must be off.",
|
|
"action": "Sets the kitchen lighting mode to 'Dim' by changing the option on input select kitchen [input_select.kitchen]."
|
|
},
|
|
"human_like": "Automatically dims the kitchen lights in the evening when the TV is on, the family room is dark, and the kitchen is unoccupied, provided all relevant automation switches are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR When house status [input_select.house] changes to Away OR When bedtime [input_boolean.bedtime] turns on OR When Home Assistant starts OR When an automation_reloaded event occurs. CONDITIONS: (input select kitchen [input_select.kitchen] is NOT in the Off state) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set input select kitchen [input_select.kitchen] to Off.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] status changes to off, when the overall house status [input_select.house] changes to Away, when bedtime [input_boolean.bedtime] is turned on, when Home Assistant starts up, or when automations are reloaded.",
|
|
"conditions": "The automation only runs if the kitchen mode [input_select.kitchen] is not already set to Off. Additionally, at least one of the following must be true: the house is not occupied, the house is set to Away, or bedtime mode is active.",
|
|
"action": "Sets the kitchen mode [input_select.kitchen] to Off."
|
|
},
|
|
"human_like": "Turns off the kitchen mode when the house is unoccupied, set to Away, or when it's bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When kitchen ble occupancy [binary_sensor.kitchen_ble_occupancy] remains off for 2 minutes OR When kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] remains off for 5 minutes OR When kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] changes to off OR When kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] remains off for 5 minutes OR When kitchen presence sensor [binary_sensor.kitchen_presence_sensor] changes to off. CONDITIONS: kitchen occupied [input_boolean.kitchen_occupied] is on AND kitchen presence sensor [binary_sensor.kitchen_presence_sensor] is off AND kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] is off AND remains off for 5 minutes AND kitchen ble occupancy [binary_sensor.kitchen_ble_occupancy] is off. ACTIONS: Turn off kitchen occupied [input_boolean.kitchen_occupied], wait 2 seconds, then turn on kitchen lighting automations [input_boolean.kitchen_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: if the kitchen ble occupancy [binary_sensor.kitchen_ble_occupancy] reports no occupancy for two minutes; if the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] reports off for five minutes; if the kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] simply changes to off; if the kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] remains off for five minutes; or if the kitchen presence sensor [binary_sensor.kitchen_presence_sensor] changes to off.",
|
|
"conditions": "For the automation to run, the kitchen must be marked as occupied, meaning kitchen occupied [input_boolean.kitchen_occupied] must be on. Furthermore, the kitchen presence sensor [binary_sensor.kitchen_presence_sensor] must be off, the kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] must be off and remain off for five minutes, and the kitchen ble occupancy [binary_sensor.kitchen_ble_occupancy] must be off.",
|
|
"action": "First, the automation marks the kitchen as unoccupied by turning off kitchen occupied [input_boolean.kitchen_occupied]. It then waits for two seconds before turning on kitchen lighting automations [input_boolean.kitchen_lighting_automations]."
|
|
},
|
|
"human_like": "Marks the kitchen as unoccupied and re-enables lighting automations when multiple sensors confirm the room is empty for a set duration.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] turns on OR When kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] turns on OR When light kitchen lights [light.kitchen_lights] turns on OR When kitchen presence sensor [binary_sensor.kitchen_presence_sensor] turns on. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) AND (kitchen occupied [input_boolean.kitchen_occupied] is off) AND (kitchen ble occupancy [binary_sensor.kitchen_ble_occupancy] is on OR kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] is on OR kitchen presence sensor [binary_sensor.kitchen_presence_sensor] is on). ACTIONS: Turn on kitchen occupied [input_boolean.kitchen_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] detects motion, or the kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] indicates occupancy, or the kitchen lights [light.kitchen_lights] are turned on, or the kitchen presence sensor [binary_sensor.kitchen_presence_sensor] detects presence.",
|
|
"conditions": "If the house is marked as occupied via house occupied [input_boolean.house_occupied], the kitchen is currently marked as unoccupied via kitchen occupied [input_boolean.kitchen_occupied], and at least one of the following occupancy sensors is active: kitchen ble occupancy [binary_sensor.kitchen_ble_occupancy], kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy], or kitchen presence sensor [binary_sensor.kitchen_presence_sensor].",
|
|
"action": "Marks the kitchen as occupied by turning on kitchen occupied [input_boolean.kitchen_occupied]."
|
|
},
|
|
"human_like": "Marks the kitchen as occupied when activity is detected via motion, lights, or presence sensors, provided the house is already occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_speech_notifications_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When kitchen occupied [input_boolean.kitchen_occupied] changes to off. CONDITIONS: None. ACTIONS: Turn off input boolean kitchen speech notifications [input_boolean.kitchen_speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "When the kitchen occupied [input_boolean.kitchen_occupied] state changes to off.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns off the input boolean kitchen speech notifications [input_boolean.kitchen_speech_notifications]."
|
|
},
|
|
"human_like": "Turns off kitchen speech notifications when the kitchen is marked as unoccupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_speech_notifications_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When kitchen occupied [input_boolean.kitchen_occupied] turns on OR when input select kitchen [input_select.kitchen] changes to Auto. CONDITIONS: kitchen occupied [input_boolean.kitchen_occupied] is on AND (input select kitchen [input_select.kitchen] is Auto OR input select kitchen [input_select.kitchen] is Dim). ACTIONS: Turn on input boolean kitchen speech notifications [input_boolean.kitchen_speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "When the kitchen is marked as occupied, or when the kitchen mode is set to Auto.",
|
|
"conditions": "The kitchen must be marked as occupied, and the kitchen mode must be set to either Auto or Dim.",
|
|
"action": "Enables speech notifications for the kitchen by turning on the corresponding input boolean."
|
|
},
|
|
"human_like": "Enables kitchen speech notifications when the kitchen is occupied and set to Auto or Dim mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "kitchen_turn_off_purifier",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when input select kitchen [input_select.kitchen] changes to 'Off'. CONDITIONS: None. ACTIONS: Turn off fan kitchen air purifier [fan.kitchen_air_purifier].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] status changes to off, or when the kitchen mode selector [input_select.kitchen] is set to 'Off'.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Turns off the kitchen air purifier [fan.kitchen_air_purifier]."
|
|
},
|
|
"human_like": "Turns off the kitchen air purifier when the house is unoccupied or when the kitchen mode is set to 'Off'.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "late_night_reminders",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is exactly 21:00:00 OR When sony bravia tv [media_player.sony_bravia_tv] turns off. CONDITIONS: The current time is after 21:00:00 AND (binary sensor kitchen motion sensor main motion detection [binary_sensor.kitchen_motion_sensor_main_motion_detection] is on OR (sony bravia tv [media_player.sony_bravia_tv] is off AND the time since sony bravia tv [media_player.sony_bravia_tv] was last updated is less than 360 seconds)). ACTIONS: Wait until binary sensor kitchen motion sensor main motion detection [binary_sensor.kitchen_motion_sensor_main_motion_detection] is on, with a timeout of 5 minutes, then wait for 5 seconds, then set the volume of john's echo show [media_player.john_s_echo_show] to 0.25, then send a TTS notification via notify alexa media [notify.alexa_media] to john's echo show [media_player.john_s_echo_show] with the message: 'Hey there! Just wanted to remind you to run the dishwasher. Goodnight!'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at exactly 9:00 PM, or when the sony bravia tv [media_player.sony_bravia_tv] is turned off.",
|
|
"conditions": "The automation only runs if the current time is after 9:00 PM. Additionally, it requires that either motion is detected in the kitchen [binary_sensor.kitchen_motion_sensor_main_motion_detection], or the TV is off and was turned off very recently (within the last 6 minutes).",
|
|
"action": "When triggered, the automation first waits for motion to be detected in the kitchen, pausing for up to 5 minutes. Once motion is detected, it waits an additional 5 seconds. It then sets the volume on john's echo show [media_player.john_s_echo_show] to 25% and uses the Alexa notification service [notify.alexa_media] to deliver a spoken reminder to run the dishwasher and say goodnight."
|
|
},
|
|
"human_like": "Delivers a gentle spoken reminder to run the dishwasher in the evening, triggered by time or the TV turning off, and waits for someone to be in the kitchen before playing.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "laundry_room_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] changes to on. CONDITIONS: input select laundry room [input_select.laundry_room] is Auto AND lighting automations [input_boolean.lighting_automations] is on AND sensor laundry room motion sensor illuminance [sensor.laundry_room_motion_sensor_illuminance] is below 40 AND light laundry room main lights [light.laundry_room_main_lights] is off. ACTIONS: Turn on light laundry room main lights [light.laundry_room_main_lights] AND turn on input boolean laundry room lights auto [input_boolean.laundry_room_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion].",
|
|
"conditions": "If the laundry room mode is set to 'Auto', the global lighting automations are enabled, the measured illuminance in the room is below 40 lux, and the main lights are currently off.",
|
|
"action": "Turns on the main lights in the laundry room and sets a flag indicating the lights were turned on automatically."
|
|
},
|
|
"human_like": "Automatically turns on the laundry room lights when motion is detected, but only if the room is dark, the lights are off, and automation settings allow it.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "laundry_room_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select laundry room [input_select.laundry_room] changes to 'Off' OR When input boolean laundry room occupied [input_boolean.laundry_room_occupied] changes to 'off' OR When lighting automations [input_boolean.lighting_automations] changes to 'on'. CONDITIONS: light laundry room main lights [light.laundry_room_main_lights] is on AND (input select laundry room [input_select.laundry_room] is 'Off' OR input boolean laundry room occupied [input_boolean.laundry_room_occupied] is 'off'). ACTIONS: Turn off light laundry room main lights [light.laundry_room_main_lights] AND Turn off input boolean laundry room lights auto [input_boolean.laundry_room_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the input select laundry room [input_select.laundry_room] is set to 'Off', when the input boolean laundry room occupied [input_boolean.laundry_room_occupied] is turned off, or when the lighting automations [input_boolean.lighting_automations] are turned on.",
|
|
"conditions": "The main lights in the laundry room [light.laundry_room_main_lights] must be currently on. Additionally, either the input select laundry room [input_select.laundry_room] is set to 'Off' or the laundry room is marked as unoccupied via input boolean laundry room occupied [input_boolean.laundry_room_occupied] being off.",
|
|
"action": "Turns off the main lights in the laundry room [light.laundry_room_main_lights] and also turns off the input boolean laundry room lights auto [input_boolean.laundry_room_lights_auto] to indicate the automatic lighting action has been performed."
|
|
},
|
|
"human_like": "Turns off the laundry room lights when the room is set to 'Off' mode, marked as unoccupied, or when lighting automations are enabled, ensuring the lights are not left on unnecessarily.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "laundry_room_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean laundry room occupied [input_boolean.laundry_room_occupied] turns on OR when house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND input select laundry room [input_select.laundry_room] is NOT set to Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set input select laundry room [input_select.laundry_room] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs when the laundry room is marked as occupied, when the overall house mode is set to Auto, or when the house is marked as occupied.",
|
|
"conditions": "The automation only proceeds if the house is currently occupied, the laundry room mode is not already set to Auto, the bedtime mode is off, and the overall house mode is set to Auto.",
|
|
"action": "Sets the laundry room mode to Auto."
|
|
},
|
|
"human_like": "Automatically switches the laundry room to 'Auto' mode when the house is occupied and in Auto mode, provided it's not bedtime and the laundry room isn't already in Auto.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "laundry_room_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR house status [input_select.house] changes to Away OR bedtime [input_boolean.bedtime] turns on OR Home Assistant starts OR an automation is reloaded. CONDITIONS: input select laundry room [input_select.laundry_room] is NOT set to Off AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set input select laundry room [input_select.laundry_room] to Off.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] status changes to off, when the house status [input_select.house] is set to Away, when the bedtime [input_boolean.bedtime] mode is turned on, when Home Assistant starts up, or when an automation is reloaded.",
|
|
"conditions": "The automation only runs if the input select laundry room [input_select.laundry_room] is not already set to Off. Additionally, at least one of the following must be true: the house is marked as unoccupied, the house status is set to Away, or bedtime mode is active.",
|
|
"action": "Sets the input select laundry room [input_select.laundry_room] mode to Off."
|
|
},
|
|
"human_like": "Turns off the laundry room mode when the house is unoccupied, set to Away, or bedtime mode is active, ensuring it's not already off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "laundry_room_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] remains off for 3 minutes OR When binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] remains off for 5 minutes OR When binary sensor laundry room motion sensor occupancy [binary_sensor.laundry_room_motion_sensor_occupancy] changes to off. CONDITIONS: input boolean laundry room occupied [input_boolean.laundry_room_occupied] is on AND binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] is off AND (No entity in the group room presence devices group [group.room_presence_devices] has a state equal to 'mudroom'). ACTIONS: Turn off input boolean laundry room occupied [input_boolean.laundry_room_occupied], wait 2 seconds, then turn on input boolean laundry room lighting automations [input_boolean.laundry_room_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "When the binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] reports no motion for either 3 minutes or 5 minutes, or when the binary sensor laundry room motion sensor occupancy [binary_sensor.laundry_room_motion_sensor_occupancy] changes to an unoccupied state.",
|
|
"conditions": "The input boolean laundry room occupied [input_boolean.laundry_room_occupied] must be on, the binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] must be off, and none of the devices in the room presence devices group [group.room_presence_devices] can be reporting a location state of 'mudroom'.",
|
|
"action": "Marks the laundry room as unoccupied by turning off input boolean laundry room occupied [input_boolean.laundry_room_occupied], waits for 2 seconds, and then re-enables lighting automations by turning on input boolean laundry room lighting automations [input_boolean.laundry_room_lighting_automations]."
|
|
},
|
|
"human_like": "Marks the laundry room as unoccupied and re-enables its lighting automations after a period of no motion, provided no presence devices are detected in the mudroom.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "laundry_room_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] turns on OR switch laundry room main lights [switch.laundry_room_main_lights] turns on OR an automation_reloaded event occurs OR Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND input boolean laundry room occupied [input_boolean.laundry_room_occupied] is off AND (binary sensor laundry room motion sensor occupancy [binary_sensor.laundry_room_motion_sensor_occupancy] is on OR binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] is on). ACTIONS: Turn on input boolean laundry room occupied [input_boolean.laundry_room_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion], when the switch laundry room main lights [switch.laundry_room_main_lights] are turned on, when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on. The laundry room must currently be marked as unoccupied, meaning input boolean laundry room occupied [input_boolean.laundry_room_occupied] is off. Furthermore, either the binary sensor laundry room motion sensor occupancy [binary_sensor.laundry_room_motion_sensor_occupancy] must be reporting occupancy, or the binary sensor laundry room motion sensor motion [binary_sensor.laundry_room_motion_sensor_motion] must be detecting motion.",
|
|
"action": "Marks the laundry room as occupied by turning on input boolean laundry room occupied [input_boolean.laundry_room_occupied]."
|
|
},
|
|
"human_like": "This automation marks the laundry room as occupied when motion is detected or the lights are turned on, but only if the house is occupied and the room is currently unoccupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_bedtime_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor main bathroom motion sensor status [binary_sensor.main_bathroom_motion_sensor_status] changes to on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean main bathroom lighting automations [input_boolean.main_bathroom_lighting_automations] is on AND input select main bathroom [input_select.main_bathroom] is in state Bedtime AND house occupied [input_boolean.house_occupied] is on AND sensor main bathroom motion sensor illuminance [sensor.main_bathroom_motion_sensor_illuminance] is below 15. ACTIONS: Turn on light main bathroom vanity lights [light.main_bathroom_vanity_lights] with brightness 5% and a 0.5 second transition AND turn on input boolean main bathroom lights auto [input_boolean.main_bathroom_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the main bathroom, indicated by the binary sensor main bathroom motion sensor status [binary_sensor.main_bathroom_motion_sensor_status] turning on.",
|
|
"conditions": "All of the following must be true: the global lighting automations [input_boolean.lighting_automations] are enabled, the main bathroom's specific lighting automations [input_boolean.main_bathroom_lighting_automations] are enabled, the main bathroom mode [input_select.main_bathroom] is set to 'Bedtime', the house is marked as occupied [input_boolean.house_occupied], and the ambient light level in the bathroom [sensor.main_bathroom_motion_sensor_illuminance] is below 15 lux.",
|
|
"action": "Turns on the main bathroom vanity lights [light.main_bathroom_vanity_lights] to a low 5% brightness with a half-second fade-in, and sets the flag input boolean main bathroom lights auto [input_boolean.main_bathroom_lights_auto] to on to indicate the lights were activated automatically."
|
|
},
|
|
"human_like": "Turns on the main bathroom vanity lights to a dim setting when motion is detected at bedtime, but only if the room is dark and the house is occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor main bathroom motion sensor status [binary_sensor.main_bathroom_motion_sensor_status] changes to on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean main bathroom lighting automations [input_boolean.main_bathroom_lighting_automations] is on AND input select main bathroom [input_select.main_bathroom] is Auto AND sensor main bathroom motion sensor illuminance [sensor.main_bathroom_motion_sensor_illuminance] is below 80 AND main bathroom main lights [light.main_bathroom_main_lights] is off. ACTIONS: Turn on main bathroom main lights [light.main_bathroom_main_lights] AND turn on input boolean main bathroom lights auto [input_boolean.main_bathroom_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the main bathroom, indicated by the binary sensor main bathroom motion sensor status [binary_sensor.main_bathroom_motion_sensor_status] turning on.",
|
|
"conditions": "All of the following must be true: the global lighting automations [input_boolean.lighting_automations] are enabled, the specific main bathroom lighting automations [input_boolean.main_bathroom_lighting_automations] are enabled, the main bathroom mode [input_select.main_bathroom] is set to 'Auto', the ambient light level from the sensor main bathroom motion sensor illuminance [sensor.main_bathroom_motion_sensor_illuminance] is below 80 lux, and the main bathroom main lights [light.main_bathroom_main_lights] are currently off.",
|
|
"action": "Turn on the main bathroom main lights [light.main_bathroom_main_lights] and set the flag input boolean main bathroom lights auto [input_boolean.main_bathroom_lights_auto] to on to indicate the lights were activated automatically."
|
|
},
|
|
"human_like": "Automatically turns on the main bathroom lights when motion is detected, but only if the room is dark, the lights are off, and all automation settings are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select main bathroom [input_select.main_bathroom] changes to 'Off' OR when main bathroom occupied [input_boolean.main_bathroom_occupied] changes to 'off'. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean main bathroom lighting automations [input_boolean.main_bathroom_lighting_automations] is on AND main bathroom occupied [input_boolean.main_bathroom_occupied] is off AND main bathroom lights [light.main_bathroom_lights] is on. ACTIONS: Turn off main bathroom lights [light.main_bathroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the input select main bathroom [input_select.main_bathroom] is set to 'Off', or when the main bathroom occupied [input_boolean.main_bathroom_occupied] status changes to 'off'.",
|
|
"conditions": "The global lighting automations [input_boolean.lighting_automations] must be enabled, the specific main bathroom lighting automations [input_boolean.main_bathroom_lighting_automations] must also be enabled, the main bathroom must be unoccupied (main bathroom occupied [input_boolean.main_bathroom_occupied] is off), and the main bathroom lights [light.main_bathroom_lights] must currently be on.",
|
|
"action": "Turns off the main bathroom lights [light.main_bathroom_lights]."
|
|
},
|
|
"human_like": "Automatically turns off the main bathroom lights when the bathroom is set to 'Off' or becomes unoccupied, provided all relevant automation switches are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_lights_turned_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bathroom main lights [light.main_bathroom_main_lights] turn off. CONDITIONS: input boolean main bathroom lights auto [input_boolean.main_bathroom_lights_auto] is on. ACTIONS: Turn off input boolean main bathroom lights auto [input_boolean.main_bathroom_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When the main bathroom main lights [light.main_bathroom_main_lights] are manually switched off.",
|
|
"conditions": "The automation only runs if the input boolean main bathroom lights auto [input_boolean.main_bathroom_lights_auto] is currently enabled (on).",
|
|
"action": "Disables the automatic lighting control by turning off the input boolean main bathroom lights auto [input_boolean.main_bathroom_lights_auto]."
|
|
},
|
|
"human_like": "Disables the automatic lighting mode for the main bathroom when the lights are manually turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto OR When main bathroom occupied [input_boolean.main_bathroom_occupied] changes to off OR When input select main bathroom [input_select.main_bathroom] changes to Wake AND remains for 5 minutes OR When main bedroom mode [input_select.main_bedroom] changes to Wake OR When main bedroom mode [input_select.main_bedroom] changes to Auto OR When time is 00:07:00 OR When binary sensor bedtime [binary_sensor.bedtime] changes to off. CONDITIONS: (input select main bathroom [input_select.main_bathroom] is NOT Auto) AND (bedtime [input_boolean.bedtime] is off) AND (main bedroom mode [input_select.main_bedroom] is NOT Bedtime). ACTIONS: Set input select main bathroom [input_select.main_bathroom] to Auto AND Turn off Main Bathroom Bedtime Motion On [automation.main_bathroom_bedtime_motion_on] AND Turn on Main Bathroom Lights Motion On [automation.main_bathroom_lights_motion_on] AND Turn off switch adaptive lighting sleep mode main bathroom [switch.adaptive_lighting_sleep_mode_main_bathroom] AND Turn off switch adaptive lighting sleep mode main bathroom toilet [switch.adaptive_lighting_sleep_mode_main_bathroom_toilet].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by any of the following events: the house status [input_select.house] is set to Auto; the main bathroom occupied [input_boolean.main_bathroom_occupied] becomes unoccupied (off); the main bathroom mode [input_select.main_bathroom] is set to Wake and stays that way for 5 minutes; the main bedroom mode [input_select.main_bedroom] is set to Wake; the main bedroom mode [input_select.main_bedroom] is set to Auto; the time reaches 7:00 AM; or the binary sensor bedtime [binary_sensor.bedtime] indicates bedtime is over (off).",
|
|
"conditions": "For the automation to run, the main bathroom mode [input_select.main_bathroom] must not already be set to Auto, the bedtime [input_boolean.bedtime] must be off, and the main bedroom mode [input_select.main_bedroom] must not be set to Bedtime.",
|
|
"action": "The automation sets the main bathroom mode [input_select.main_bathroom] to Auto, disables the bedtime motion automation (Main Bathroom Bedtime Motion On [automation.main_bathroom_bedtime_motion_on]), enables the standard motion lighting automation (Main Bathroom Lights Motion On [automation.main_bathroom_lights_motion_on]), and turns off the adaptive lighting sleep mode switches for both the main bathroom and toilet areas (switch adaptive lighting sleep mode main bathroom [switch.adaptive_lighting_sleep_mode_main_bathroom] and switch adaptive lighting sleep mode main bathroom toilet [switch.adaptive_lighting_sleep_mode_main_bathroom_toilet])."
|
|
},
|
|
"human_like": "This automation switches the main bathroom to 'Auto' mode and adjusts related automations and lighting when the house is in an active state, the bathroom is unoccupied, or at a scheduled morning time, ensuring the bathroom lighting behaves appropriately for daytime use.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_mode_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR when binary sensor bedtime [binary_sensor.bedtime] turns on OR when main bedroom mode [input_select.main_bedroom] changes to Bedtime. CONDITIONS: (input select main bathroom [input_select.main_bathroom] is NOT in Bedtime mode) AND (bedtime [input_boolean.bedtime] is on OR main bedroom mode [input_select.main_bedroom] is Bedtime). ACTIONS: Set input select main bathroom [input_select.main_bathroom] to Bedtime. THEN, IF main bathroom occupied [input_boolean.main_bathroom_occupied] is on, wait for it to turn off (timeout 10 minutes) and then run Main Bathroom Activate Bedtime Lighting Mode [script.main_bathroom_activate_bedtime_lighting_mode]; OTHERWISE, run Main Bathroom Activate Bedtime Lighting Mode [script.main_bathroom_activate_bedtime_lighting_mode] immediately.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bedtime input boolean [input_boolean.bedtime] is turned on, when the binary sensor bedtime [binary_sensor.bedtime] reports on, or when the main bedroom mode [input_select.main_bedroom] is set to 'Bedtime'.",
|
|
"conditions": "The automation only proceeds if the main bathroom mode [input_select.main_bathroom] is not already set to 'Bedtime'. Additionally, it requires that either the bedtime input boolean [input_boolean.bedtime] is on or the main bedroom mode [input_select.main_bedroom] is set to 'Bedtime'.",
|
|
"action": "First, it sets the main bathroom mode [input_select.main_bathroom] to 'Bedtime'. Then, it checks if the main bathroom is occupied [input_boolean.main_bathroom_occupied]. If the bathroom is occupied, it waits up to 10 minutes for it to become unoccupied before activating the bedtime lighting mode script [script.main_bathroom_activate_bedtime_lighting_mode]. If the bathroom is not occupied, it activates the bedtime lighting mode script immediately."
|
|
},
|
|
"human_like": "Sets the main bathroom to bedtime lighting mode when the house enters bedtime, waiting for the bathroom to be unoccupied if necessary.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR When house status [input_select.house] changes to Away OR When Home Assistant starts OR When an automation is reloaded (automation_reloaded event). CONDITIONS: (input select main bathroom [input_select.main_bathroom] is NOT set to 'Off') AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away). ACTIONS: Set input select main bathroom [input_select.main_bathroom] to 'Off'.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: when the house occupied [input_boolean.house_occupied] switch is turned off, when the house status [input_select.house] is changed to 'Away', when Home Assistant starts up, or when automations are reloaded.",
|
|
"conditions": "Two conditions must be met. First, the main bathroom mode [input_select.main_bathroom] must not already be set to 'Off'. Second, either the house occupied [input_boolean.house_occupied] switch must be off, or the house status [input_select.house] must be set to 'Away'.",
|
|
"action": "Sets the main bathroom mode to 'Off' by changing the input select main bathroom [input_select.main_bathroom] to the 'Off' option."
|
|
},
|
|
"human_like": "Turns off the main bathroom mode when the house is unoccupied or set to 'Away', ensuring it's also off after a restart.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bathroom motion sensor occupancy [binary_sensor.main_bathroom_motion_sensor_occupancy] changes to off OR When the template condition (no room presence devices are in the main bathroom) remains true for 2 minutes OR When Main Bedroom Occupied [input_boolean.main_bedroom_occupied] changes to off OR When main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied] changes to off. CONDITIONS: main bathroom occupied [input_boolean.main_bathroom_occupied] is on AND main bathroom motion sensor occupancy [binary_sensor.main_bathroom_motion_sensor_occupancy] is off AND the template condition (no room presence devices are in the main bathroom) is true AND main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied] is off. ACTIONS: Turn off main bathroom occupied [input_boolean.main_bathroom_occupied], wait 2 seconds, then turn on input boolean main bathroom lighting automations [input_boolean.main_bathroom_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: when the main bathroom motion sensor occupancy [binary_sensor.main_bathroom_motion_sensor_occupancy] stops detecting motion, when no presence devices have been detected in the main bathroom for two minutes, when the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] status is turned off, or when the main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied] status is turned off.",
|
|
"conditions": "For the automation to run, several conditions must be met. The main bathroom must currently be marked as occupied [input_boolean.main_bathroom_occupied]. The motion sensor must not be detecting any motion, and there must be no presence devices reporting they are in the main bathroom. Additionally, the shower must not be marked as occupied.",
|
|
"action": "The automation first marks the main bathroom as unoccupied by turning off main bathroom occupied [input_boolean.main_bathroom_occupied]. After a brief two-second delay, it then turns on the input boolean main bathroom lighting automations [input_boolean.main_bathroom_lighting_automations]."
|
|
},
|
|
"human_like": "This automation marks the main bathroom as unoccupied and re-enables lighting automations when motion stops, no presence is detected, the main bedroom is unoccupied, and the shower is free.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor main bathroom motion sensor status [binary_sensor.main_bathroom_motion_sensor_status] changes to on OR when main bathroom motion sensor occupancy [binary_sensor.main_bathroom_motion_sensor_occupancy] changes to on OR when main bathroom door sensor status [binary_sensor.main_bathroom_door_sensor_status] changes to any state OR when the automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND main bathroom occupied [input_boolean.main_bathroom_occupied] is off AND (there is at least one device in the group room presence devices group [group.room_presence_devices] with a state equal to 'main_bathroom' OR main bathroom motion sensor occupancy [binary_sensor.main_bathroom_motion_sensor_occupancy] is on). ACTIONS: Turn on main bathroom occupied [input_boolean.main_bathroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the main bathroom motion sensor status [binary_sensor.main_bathroom_motion_sensor_status] detects motion, when the main bathroom motion sensor occupancy [binary_sensor.main_bathroom_motion_sensor_occupancy] indicates occupancy, when the main bathroom door sensor status [binary_sensor.main_bathroom_door_sensor_status] changes state, when Home Assistant reloads automations, or when Home Assistant starts up.",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), and the main bathroom must currently be marked as unoccupied (main bathroom occupied [input_boolean.main_bathroom_occupied] is off). Additionally, either there must be at least one device in the room presence group [group.room_presence_devices] that is currently located in the main bathroom, or the main bathroom motion sensor occupancy [binary_sensor.main_bathroom_motion_sensor_occupancy] must be actively detecting occupancy.",
|
|
"action": "Marks the main bathroom as occupied by turning on main bathroom occupied [input_boolean.main_bathroom_occupied]."
|
|
},
|
|
"human_like": "This automation marks the main bathroom as occupied when motion or door activity is detected, but only if the house is occupied and the bathroom is not already marked as such.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_shower_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bathroom humidity [sensor.main_bathroom_humidity] is above 60 OR when the difference between main bathroom humidity [sensor.main_bathroom_humidity] and main bathroom initial humidity [input_number.main_bathroom_initial_humidity] is greater than 25 OR when the difference between main bathroom humidity [sensor.main_bathroom_humidity] and main bathroom initial humidity [input_number.main_bathroom_initial_humidity] is greater than 40. CONDITIONS: main bathroom occupied [input_boolean.main_bathroom_occupied] is on AND the difference between main bathroom humidity [sensor.main_bathroom_humidity] and main bathroom initial humidity [input_number.main_bathroom_initial_humidity] is greater than 25. ACTIONS: Turn on main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When the main bathroom humidity [sensor.main_bathroom_humidity] rises above 60 percent, or when the humidity increases by more than 25 percent compared to the initial humidity [input_number.main_bathroom_initial_humidity], or when the humidity increases by more than 40 percent compared to the initial humidity.",
|
|
"conditions": "The main bathroom must already be marked as occupied, meaning the main bathroom occupied [input_boolean.main_bathroom_occupied] is on. Additionally, the humidity must have increased by more than 25 percent from the initial humidity level.",
|
|
"action": "Marks the main bathroom as having the shower in use by turning on the main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied]."
|
|
},
|
|
"human_like": "Detects when the shower is likely in use by monitoring a significant rise in bathroom humidity, and marks the shower as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_shower_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bathroom humidity [sensor.main_bathroom_humidity] falls below 85 OR falls below 75 OR falls below 65 OR when the difference between main bathroom humidity [sensor.main_bathroom_humidity] and main bathroom initial humidity [input_number.main_bathroom_initial_humidity] is less than 23 for 4 minutes. CONDITIONS: The difference between main bathroom humidity [sensor.main_bathroom_humidity] and main bathroom initial humidity [input_number.main_bathroom_initial_humidity] is less than 25 AND main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied] is on. ACTIONS: Turn off main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the main bathroom humidity [sensor.main_bathroom_humidity] drops below any of the thresholds of 85%, 75%, or 65%. It can also trigger if the difference between the current humidity and the initial humidity [input_number.main_bathroom_initial_humidity] remains less than 23 percentage points for at least four minutes.",
|
|
"conditions": "The automation checks if the difference between the current humidity and the initial humidity [input_number.main_bathroom_initial_humidity] is less than 25 percentage points, and that the main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied] is currently set to on.",
|
|
"action": "It marks the shower as not occupied by turning off the main bathroom shower occupied [input_boolean.main_bathroom_shower_occupied]."
|
|
},
|
|
"human_like": "Turns off the shower occupancy flag when the bathroom humidity drops, indicating the shower is no longer in use.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_set_initial_humidity",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bathroom occupied [input_boolean.main_bathroom_occupied] changes to on. CONDITIONS: None. ACTIONS: Set main bathroom initial humidity [input_number.main_bathroom_initial_humidity] to the current state value of main bathroom humidity [sensor.main_bathroom_humidity].",
|
|
"natural_language": {
|
|
"trigger": "When the main bathroom occupied [input_boolean.main_bathroom_occupied] is turned on.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Records the current humidity level by setting the main bathroom initial humidity [input_number.main_bathroom_initial_humidity] to the value reported by the main bathroom humidity [sensor.main_bathroom_humidity] sensor."
|
|
},
|
|
"human_like": "Records the humidity level in the main bathroom when someone enters, to be used as a baseline for later comparisons.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_turn_off_outlets",
|
|
"result": {
|
|
"structured": "TRIGGER: When input select main bathroom [input_select.main_bathroom] changes to 'Off' OR when main bathroom occupied [input_boolean.main_bathroom_occupied] changes to 'off'. CONDITIONS: main bathroom occupied [input_boolean.main_bathroom_occupied] is 'off' AND (switch smart plug 12 [switch.smart_plug_12_switch] is 'on' OR switch smart plug 13 [switch.smart_plug_13_switch] is 'on'). ACTIONS: Turn off switch smart plug 12 [switch.smart_plug_12_switch] and switch smart plug 13 [switch.smart_plug_13_switch].",
|
|
"natural_language": {
|
|
"trigger": "When the input select main bathroom [input_select.main_bathroom] is set to 'Off', or when the main bathroom occupied [input_boolean.main_bathroom_occupied] changes to 'off'.",
|
|
"conditions": "The main bathroom occupied [input_boolean.main_bathroom_occupied] must be in the 'off' state, and at least one of the bathroom outlets must be on, meaning either switch smart plug 12 [switch.smart_plug_12_switch] or switch smart plug 13 [switch.smart_plug_13_switch] is currently on.",
|
|
"action": "Turn off both the switch smart plug 12 [switch.smart_plug_12_switch] and switch smart plug 13 [switch.smart_plug_13_switch]."
|
|
},
|
|
"human_like": "Turns off the bathroom outlets when the bathroom is set to 'Off' or marked as unoccupied, ensuring no power is wasted.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bathroom_turn_on_outlets",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bathroom occupied [input_boolean.main_bathroom_occupied] turns on. CONDITIONS: None. ACTIONS: Turn on switch smart plug 12 [switch.smart_plug_12_switch] AND turn on switch smart plug 13 [switch.smart_plug_13_switch].",
|
|
"natural_language": {
|
|
"trigger": "When the main bathroom occupied [input_boolean.main_bathroom_occupied] input boolean is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns on the switch smart plug 12 [switch.smart_plug_12_switch] and the switch smart plug 13 [switch.smart_plug_13_switch]."
|
|
},
|
|
"human_like": "Turns on the bathroom outlets when the bathroom is marked as occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_air_quality_detections",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom air quality [sensor.main_bedroom_air_quality] changes state OR when main bedroom mode [input_select.main_bedroom] changes to Bedtime OR when Main Bedroom Occupied [input_boolean.main_bedroom_occupied] changes state. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) OR (almost home [input_boolean.almost_home] is on). ACTIONS: Run script air quality set air purifier mode [script.air_quality_set_air_purifier_mode] with data: purifier set to fan.main_bedroom_air_purifier, aqi_state set to the current state of sensor.main_bedroom_air_quality, and room_state set to the current state of input_select.main_bedroom.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs when the air quality reading in the main bedroom [sensor.main_bedroom_air_quality] changes, when the main bedroom mode [input_select.main_bedroom] is set to 'Bedtime', or when the occupancy status of the main bedroom [input_boolean.main_bedroom_occupied] changes.",
|
|
"conditions": "The automation only proceeds if either the house is marked as occupied [input_boolean.house_occupied] or the 'almost home' mode is active [input_boolean.almost_home].",
|
|
"action": "It calls a script named 'air quality set air purifier mode' [script.air_quality_set_air_purifier_mode], passing it the main bedroom air purifier [fan.main_bedroom_air_purifier], the current air quality value, and the current room mode to determine the appropriate purifier settings."
|
|
},
|
|
"human_like": "Adjusts the main bedroom air purifier based on air quality, room mode, or occupancy, but only when someone is home or about to arrive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_john_night_light",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom motion sensor entry motion [binary_sensor.main_bedroom_motion_sensor_entry_motion] detects motion (on) OR When main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] changes to closed (off) OR When main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] changes to open (on). CONDITIONS: john home [input_boolean.john_home] is on AND hue ambiance lamp 1 [light.hue_ambiance_lamp_1] is off AND (main bedroom mode [input_select.main_bedroom] is Auto OR main bedroom mode [input_select.main_bedroom] is Bedtime) AND Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is on AND main bedroom motion sensor entry illuminance [sensor.main_bedroom_motion_sensor_entry_illuminance] is below 40 AND main bedroom main lights [light.main_bedroom_main_lights] is off AND cristina in bed [input_boolean.cristina_in_bed] is on AND input boolean john is in bed [input_boolean.john_is_in_bed] is off AND input select john sleep state [input_select.john_sleep_state] is Awake AND remains so for 10 minutes AND binary sensor bedtime [binary_sensor.bedtime] is on AND current time is between 20:00:00 and 05:00:00. ACTIONS: Turn on hue ambiance lamp 1 [light.hue_ambiance_lamp_1] to 30% brightness with a 0.5 second transition.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when motion is detected by the main bedroom motion sensor entry motion [binary_sensor.main_bedroom_motion_sensor_entry_motion], or when the main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] changes to either closed or open.",
|
|
"conditions": "All of the following must be true: John is marked as home [input_boolean.john_home]; the hue ambiance lamp 1 [light.hue_ambiance_lamp_1] is off; the main bedroom mode [input_select.main_bedroom] is set to either 'Auto' or 'Bedtime'; the main bedroom is marked as occupied [input_boolean.main_bedroom_occupied]; the light level in the room [sensor.main_bedroom_motion_sensor_entry_illuminance] is below 40 lux; the main bedroom main lights [light.main_bedroom_main_lights] are off; Cristina is in bed [input_boolean.cristina_in_bed]; John is not in bed [input_boolean.john_is_in_bed]; John's sleep state [input_select.john_sleep_state] has been 'Awake' for at least 10 minutes; the bedtime mode [binary_sensor.bedtime] is active; and the current time is between 8:00 PM and 5:00 AM.",
|
|
"action": "Turns on the hue ambiance lamp 1 [light.hue_ambiance_lamp_1] to 30% brightness with a gentle half-second fade-in."
|
|
},
|
|
"human_like": "Turns on a dim night light for John in the main bedroom when he enters at night, but only if the room is dark, others are asleep, and he is awake.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_john_night_light_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean john is in bed [input_boolean.john_is_in_bed] turns on and remains for 10 minutes OR When bedtime [input_boolean.bedtime] turns on and remains for 5 minutes OR When hue ambiance lamp 1 [light.hue_ambiance_lamp_1] turns on and remains for 10 minutes. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (main bedroom mode [input_select.main_bedroom] is Auto OR main bedroom mode [input_select.main_bedroom] is Bedtime) AND Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is on AND input boolean john is in bed [input_boolean.john_is_in_bed] is on AND remains for 10 minutes. ACTIONS: Turn off hue ambiance lamp 1 [light.hue_ambiance_lamp_1] and hue ambiance lamp 1 2 [light.hue_ambiance_lamp_1_2].",
|
|
"natural_language": {
|
|
"trigger": "The automation can start when John is marked as in bed for at least 10 minutes, when the bedtime mode is activated for at least 5 minutes, or when the main bedroom's hue ambiance lamp 1 has been on for at least 10 minutes.",
|
|
"conditions": "All of the following must be true: the overall lighting automations are enabled; the main bedroom mode is set to either 'Auto' or 'Bedtime'; the main bedroom is marked as occupied; and John has been in bed for at least 10 minutes.",
|
|
"action": "Turns off both the hue ambiance lamp 1 and hue ambiance lamp 1 2 in the main bedroom."
|
|
},
|
|
"human_like": "Turns off the main bedroom night lights for John after he has been in bed for a while and other bedtime conditions are met.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_lights_day_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom motion sensor entry illuminance [sensor.main_bedroom_motion_sensor_entry_illuminance] OR main bedroom motion sensor back illuminance [sensor.main_bedroom_motion_sensor_back_illuminance] remains below 150 lux for 2 minutes OR remains below 100 lux for 5 minutes OR remains below 100 lux for 10 minutes OR when bad weather [input_boolean.bad_weather] turns on OR when lighting automations [input_boolean.lighting_automations] turns on OR when main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] turns on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] is on AND main bedroom mode [input_select.main_bedroom] is Auto AND Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is on AND main bedroom motion sensor entry illuminance [sensor.main_bedroom_motion_sensor_entry_illuminance] is below 150 lux AND main bedroom main lights [light.main_bedroom_main_lights] is off. ACTIONS: Turn on main bedroom main lights [light.main_bedroom_main_lights] with a 5-second transition AND turn on main bedroom lights auto [input_boolean.main_bedroom_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: if the light level from either the main bedroom motion sensor entry illuminance [sensor.main_bedroom_motion_sensor_entry_illuminance] or the main bedroom motion sensor back illuminance [sensor.main_bedroom_motion_sensor_back_illuminance] stays below 150 lux for 2 minutes, or below 100 lux for 5 minutes, or below 100 lux for 10 minutes. It can also be triggered if the bad weather [input_boolean.bad_weather] switch is turned on, or if the global lighting automations [input_boolean.lighting_automations] switch is turned on, or if the specific main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] switch is turned on.",
|
|
"conditions": "For the automation to run, several conditions must be met. The global lighting automations [input_boolean.lighting_automations] and the main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] must both be switched on. The main bedroom mode [input_select.main_bedroom] must be set to 'Auto'. The room must be marked as occupied, meaning Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is on. The current light level from the main bedroom motion sensor entry illuminance [sensor.main_bedroom_motion_sensor_entry_illuminance] must be below 150 lux. Finally, the main bedroom main lights [light.main_bedroom_main_lights] must be off.",
|
|
"action": "The automation will turn on the main bedroom main lights [light.main_bedroom_main_lights] with a gentle 5-second transition, and it will also turn on the main bedroom lights auto [input_boolean.main_bedroom_lights_auto] switch to indicate the lights were activated automatically."
|
|
},
|
|
"human_like": "Automatically turns on the main bedroom lights during the day when the room is occupied, the light level is low, and all relevant automation switches are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom motion sensor [binary_sensor.main_bedroom_motion_sensor] changes to on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] is on AND main bedroom mode [input_select.main_bedroom] is Auto AND main bedroom motion sensor entry illuminance [sensor.main_bedroom_motion_sensor_entry_illuminance] is below 80 AND main bedroom main lights [light.main_bedroom_main_lights] is off. ACTIONS: Turn on main bedroom main lights [light.main_bedroom_main_lights] with a transition of 5 seconds AND turn on main bedroom lights auto [input_boolean.main_bedroom_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the main bedroom motion sensor [binary_sensor.main_bedroom_motion_sensor].",
|
|
"conditions": "If the global lighting automations [input_boolean.lighting_automations] are enabled, the main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] are enabled, the main bedroom mode [input_select.main_bedroom] is set to Auto, the illuminance measured by the main bedroom motion sensor entry illuminance [sensor.main_bedroom_motion_sensor_entry_illuminance] is below 80 lux, and the main bedroom main lights [light.main_bedroom_main_lights] are currently off.",
|
|
"action": "Turn on the main bedroom main lights [light.main_bedroom_main_lights] with a smooth 5-second transition and set the main bedroom lights auto [input_boolean.main_bedroom_lights_auto] to on to indicate the lights were activated automatically."
|
|
},
|
|
"human_like": "Automatically turns on the main bedroom lights when motion is detected, but only if the room is dark, the lights are off, and all automation settings are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom mode [input_select.main_bedroom] changes to 'Off' OR when house status [input_select.house] changes to 'Off' OR when Main Bedroom Occupied [input_boolean.main_bedroom_occupied] changes to 'off' OR when main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] changes from 'off' to 'on'. CONDITIONS: lighting automations [input_boolean.lighting_automations] is 'on' AND (main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] is 'on' OR main bedroom mode [input_select.main_bedroom] is 'Off') AND (Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is 'off' OR input boolean john is in bed [input_boolean.john_is_in_bed] is 'on' OR cristina in bed [input_boolean.cristina_in_bed] is 'on' OR bedtime [input_boolean.bedtime] is 'on') AND main bedroom lights [light.main_bedroom_lights] is 'on'. ACTIONS: Turn off main bedroom lights [light.main_bedroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the main bedroom mode [input_select.main_bedroom] is set to 'Off', the overall house status [input_select.house] is set to 'Off', the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] status changes to off, or the main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] are switched on from an off state.",
|
|
"conditions": "For the automation to run, the global lighting automations [input_boolean.lighting_automations] must be enabled. Additionally, either the main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] are on, or the main bedroom mode [input_select.main_bedroom] is set to 'Off'. Furthermore, at least one of the following must be true: the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] status is off, John is in bed [input_boolean.john_is_in_bed], Cristina is in bed [input_boolean.cristina_in_bed], or the bedtime [input_boolean.bedtime] mode is active. Finally, the main bedroom lights [light.main_bedroom_lights] must currently be on.",
|
|
"action": "Turns off the main bedroom lights [light.main_bedroom_lights]."
|
|
},
|
|
"human_like": "Turns off the main bedroom lights when the room is set to off, the house is off, the room is unoccupied, or lighting automations are enabled, provided certain conditions about occupancy and bedtime are met.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_lights_turned_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom main lights [light.main_bedroom_main_lights] turn off. CONDITIONS: main bedroom lights auto [input_boolean.main_bedroom_lights_auto] is on. ACTIONS: Turn off main bedroom lights auto [input_boolean.main_bedroom_lights_auto] AND turn off main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "When the main bedroom main lights [light.main_bedroom_main_lights] are manually turned off.",
|
|
"conditions": "If the automatic lighting control for the main bedroom, represented by main bedroom lights auto [input_boolean.main_bedroom_lights_auto], is currently enabled.",
|
|
"action": "Disables the automatic lighting control by turning off both the main bedroom lights auto [input_boolean.main_bedroom_lights_auto] and the main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations] switches."
|
|
},
|
|
"human_like": "Disables automatic lighting controls for the main bedroom when the main lights are manually turned off, preventing automations from turning them back on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_music_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When Main Bedroom Occupied [input_boolean.main_bedroom_occupied] changes to off OR when main bedroom mode [input_select.main_bedroom] changes to Off. CONDITIONS: Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is off AND main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] is off AND sonos main bedroom [media_player.sonos_main_bedroom] is playing. ACTIONS: Unjoin sonos main bedroom [media_player.sonos_main_bedroom] AND pause media playback on sonos main bedroom [media_player.sonos_main_bedroom].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] status changes to 'off', or when the main bedroom mode [input_select.main_bedroom] is set to 'Off'.",
|
|
"conditions": "All of the following must be true: the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is set to 'off', the main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] sensor reports no occupancy ('off'), and the sonos main bedroom [media_player.sonos_main_bedroom] is currently playing audio.",
|
|
"action": "It will first unjoin the sonos main bedroom [media_player.sonos_main_bedroom] speaker from any multi-room audio group, and then pause the media playback on that speaker."
|
|
},
|
|
"human_like": "Stops music in the main bedroom when the room is set to unoccupied mode and no one is detected by the occupancy sensor.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_media_player_unjoin",
|
|
"result": {
|
|
"structured": "TRIGGER: When Main Bedroom Occupied [input_boolean.main_bedroom_occupied] turns off OR when main bedroom mode [input_select.main_bedroom] changes to 'Off' OR when sonos main bedroom [media_player.sonos_main_bedroom] remains paused for 10 minutes OR when sonos main bedroom [media_player.sonos_main_bedroom] remains paused for 30 minutes. CONDITIONS: Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is off AND main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] is off AND sonos main bedroom [media_player.sonos_main_bedroom] is paused AND sonos main bedroom [media_player.sonos_main_bedroom] has more than one group member. ACTIONS: Unjoin the sonos main bedroom [media_player.sonos_main_bedroom] from its speaker group.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is turned off, if the main bedroom mode [input_select.main_bedroom] is set to 'Off', or if the sonos main bedroom [media_player.sonos_main_bedroom] remains in a paused state for either 10 minutes or 30 minutes.",
|
|
"conditions": "For the action to run, the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] must be off, the main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] must report no occupancy, the sonos main bedroom [media_player.sonos_main_bedroom] must be paused, and the Sonos speaker must be part of a group with more than one member.",
|
|
"action": "The automation unjoins the sonos main bedroom [media_player.sonos_main_bedroom] from its current speaker group."
|
|
},
|
|
"human_like": "This automation unjoins the main bedroom Sonos speaker from its group when the room is unoccupied and the music is paused for an extended period.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto OR when Main Bedroom Occupied [input_boolean.main_bedroom_occupied] changes to off OR when main bedroom mode [input_select.main_bedroom] changes to Wake AND remains in that state for 10 minutes. CONDITIONS: (cristina bed occupied [binary_sensor.cristina_bed_occupied] is off AND binary sensor john bed occupied [binary_sensor.john_bed_occupied] is off). ACTIONS: If the trigger was main_bedroom_unoccupied, then check if house occupied [input_boolean.house_occupied] is on; if true, run script.main_bedroom_mode_turn_on_auto. For any other trigger, run script.main_bedroom_mode_turn_on_auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house status [input_select.house] is set to Auto, when the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is turned off, or when the main bedroom mode [input_select.main_bedroom] is set to Wake and stays in that state for 10 minutes.",
|
|
"conditions": "Both the cristina bed occupied [binary_sensor.cristina_bed_occupied] and the binary sensor john bed occupied [binary_sensor.john_bed_occupied] must be off, indicating that neither bed is occupied.",
|
|
"action": "If the trigger was the main bedroom becoming unoccupied, the automation checks if the house occupied [input_boolean.house_occupied] is on. If it is, it runs the script 'main_bedroom_mode_turn_on_auto'. For any other trigger, it runs the same script directly."
|
|
},
|
|
"human_like": "Automatically sets the main bedroom to an 'auto' mode when the house is in auto mode, the bedroom is unoccupied, or after a wake-up period, provided both beds are empty.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_mode_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR When binary sensor bedtime [binary_sensor.bedtime] turns on OR When john is in bed [input_boolean.john_is_in_bed] turns on OR When cristina in bed [input_boolean.cristina_in_bed] turns on OR When john sleep state [input_select.john_sleep_state] changes to Just Laid Down OR When cristina sleep state [input_select.cristina_sleep_state] changes to Just Laid Down OR When main bedroom main lights [light.main_bedroom_main_lights] turns off. CONDITIONS: (main bedroom occupied [input_boolean.main_bedroom_occupied] is on) AND (main bedroom mode [input_select.main_bedroom] is NOT Bedtime) AND (main bedroom main lights [light.main_bedroom_main_lights] is off) AND (bedtime [input_boolean.bedtime] is on OR john is in bed [input_boolean.john_is_in_bed] is on OR cristina in bed [input_boolean.cristina_in_bed] is on OR john sleep state [input_select.john_sleep_state] is Just Laid Down OR cristina sleep state [input_select.cristina_sleep_state] is Just Laid Down). ACTIONS: Set main bedroom mode [input_select.main_bedroom] to Bedtime AND Turn on Main Bedroom John Night Light Off [automation.main_bedroom_john_night_light_off] AND Turn on Main Bedroom Night Light for John [automation.main_bedroom_night_light_for_john] AND Turn on switch adaptive lighting sleep mode main bedroom [switch.adaptive_lighting_sleep_mode_main_bedroom] AND Turn on switch adaptive lighting sleep mode main bedroom lamps [switch.adaptive_lighting_sleep_mode_main_bedroom_lamps].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by any of the following events: the bedtime [input_boolean.bedtime] switch being turned on, the bedtime sensor [binary_sensor.bedtime] reporting on, either John or Cristina being marked as in bed (via input_boolean.john_is_in_bed or input_boolean.cristina_in_bed), either John's or Cristina's sleep state being set to 'Just Laid Down' (via input_select.john_sleep_state or input_select.cristina_sleep_state), or the main bedroom main lights [light.main_bedroom_main_lights] turning off.",
|
|
"conditions": "For the automation to run, the main bedroom must be marked as occupied [input_boolean.main_bedroom_occupied], the room's current mode [input_select.main_bedroom] must not already be 'Bedtime', the main bedroom main lights [light.main_bedroom_main_lights] must be off, and at least one of the following must be true: the bedtime [input_boolean.bedtime] is on, John is in bed [input_boolean.john_is_in_bed], Cristina is in bed [input_boolean.cristina_in_bed], John's sleep state [input_select.john_sleep_state] is 'Just Laid Down', or Cristina's sleep state [input_select.cristina_sleep_state] is 'Just Laid Down'.",
|
|
"action": "The automation sets the main bedroom mode [input_select.main_bedroom] to 'Bedtime', activates two related automations (Main Bedroom John Night Light Off [automation.main_bedroom_john_night_light_off] and Main Bedroom Night Light for John [automation.main_bedroom_night_light_for_john]), and turns on the adaptive lighting sleep mode switches for the main bedroom and its lamps (switch.adaptive_lighting_sleep_mode_main_bedroom and switch.adaptive_lighting_sleep_mode_main_bedroom_lamps)."
|
|
},
|
|
"human_like": "Activates the 'Bedtime' mode for the main bedroom when someone is in bed or bedtime is signaled, ensuring the lights are off and enabling night-time lighting settings.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when house status [input_select.house] changes to Away OR when Home Assistant starts OR when an automation_reloaded event occurs. CONDITIONS: (main bedroom mode [input_select.main_bedroom] is NOT set to Off) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away). ACTIONS: Set main bedroom mode [input_select.main_bedroom] to Off.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered when the house occupied [input_boolean.house_occupied] status changes to off, when the overall house status [input_select.house] is set to Away, when Home Assistant starts up, or when automations are reloaded.",
|
|
"conditions": "For the automation to run, the main bedroom mode [input_select.main_bedroom] must not already be set to Off. Additionally, either the house occupied [input_boolean.house_occupied] status must be off, or the house status [input_select.house] must be set to Away.",
|
|
"action": "It sets the main bedroom mode [input_select.main_bedroom] to Off."
|
|
},
|
|
"human_like": "Turns off the main bedroom mode when the house is unoccupied or set to Away, ensuring the bedroom setting matches the overall house state.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_mode_awake",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina is awake [input_boolean.cristina_is_awake] turns on OR john is awake [input_boolean.john_is_awake] turns on OR main bedroom main lights [light.main_bedroom_main_lights] turns on. CONDITIONS: main bedroom mode [input_select.main_bedroom] is Bedtime AND time is between 05:00:00 and 09:00:00 AND (input select john sleep state [input_select.john_sleep_state] is not Sleep AND not Just Laid Down) AND (cristina sleep state [input_select.cristina_sleep_state] is not Sleep AND not Just Laid Down) AND binary sensor main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] is on AND (binary sensor main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] is on OR main bedroom main lights [light.main_bedroom_main_lights] is on). ACTIONS: Set main bedroom mode [input_select.main_bedroom] to Wake AND turn off Main Bedroom John Night Light Off [automation.main_bedroom_john_night_light_off] AND turn off Main Bedroom Night Light for John [automation.main_bedroom_night_light_for_john] AND turn off switch adaptive lighting sleep mode main bedroom [switch.adaptive_lighting_sleep_mode_main_bedroom] AND turn off switch adaptive lighting sleep mode main bedroom lamps [switch.adaptive_lighting_sleep_mode_main_bedroom_lamps].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when either Cristina or John is marked as awake, or when the main bedroom main lights are turned on.",
|
|
"conditions": "For the automation to run, the main bedroom mode must be set to 'Bedtime', the current time must be between 5:00 AM and 9:00 AM, both John and Cristina must not be in a 'Sleep' or 'Just Laid Down' state, motion must be detected in the main bedroom, and either the main bedroom door is open or the main bedroom main lights are on.",
|
|
"action": "The automation changes the main bedroom mode to 'Wake', turns off two related night light automations, and disables the adaptive lighting sleep mode for both the main bedroom lights and lamps."
|
|
},
|
|
"human_like": "Changes the main bedroom to 'Wake' mode in the morning when someone is awake, motion is detected, and the door is open or lights are on, while also disabling night lights and sleep lighting.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] becomes off AND remains off for 2 minutes OR when bedtime [input_boolean.bedtime] becomes off OR when main bedroom motion sensor [binary_sensor.main_bedroom_motion_sensor] becomes off AND remains off for 5 minutes OR when main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] becomes off OR when main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] becomes off AND remains off for 5 minutes OR when main bathroom occupied [input_boolean.main_bathroom_occupied] becomes off. CONDITIONS: Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is on AND main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] is off AND main bathroom occupied [input_boolean.main_bathroom_occupied] is off AND bedtime [input_boolean.bedtime] is off AND main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] is off AND (input boolean john is in bed [input_boolean.john_is_in_bed] is off AND cristina in bed [input_boolean.cristina_in_bed] is off) AND ((main bedroom mode [input_select.main_bedroom] is NOT 'Bedtime' AND time is between 05:00:00 and 23:59:59) OR (main bedroom mode [input_select.main_bedroom] is 'Bedtime' AND time is between 06:00:00 and 21:00:00)). ACTIONS: Turn off Main Bedroom Occupied [input_boolean.main_bedroom_occupied], wait for 2 seconds, then turn on main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: if the main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] sensor reports no occupancy for at least two minutes; if the bedtime [input_boolean.bedtime] mode is turned off; if the main bedroom motion sensor [binary_sensor.main_bedroom_motion_sensor] detects no motion for at least five minutes; if the main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] reports no occupancy; if the main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] reports no occupancy for at least five minutes; or if the main bathroom occupied [input_boolean.main_bathroom_occupied] status is turned off.",
|
|
"conditions": "For the automation to proceed, several conditions must all be true: the main bedroom must currently be marked as occupied [input_boolean.main_bedroom_occupied]; the main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] must be off; the main bathroom must not be occupied [input_boolean.main_bathroom_occupied]; the bedtime [input_boolean.bedtime] mode must be off; the main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] must be off; neither John nor Cristina are marked as being in bed [input_boolean.john_is_in_bed, input_boolean.cristina_in_bed]. Finally, the time and room mode must match one of two schedules: either the main bedroom mode [input_select.main_bedroom] is not set to 'Bedtime' and the time is between 5 AM and just before midnight, or the mode is 'Bedtime' and the time is between 6 AM and 9 PM.",
|
|
"action": "The automation will mark the main bedroom as unoccupied by turning off Main Bedroom Occupied [input_boolean.main_bedroom_occupied], wait for two seconds, and then re-enable lighting automations for the room by turning on main bedroom lighting automations [input_boolean.main_bedroom_lighting_automations]."
|
|
},
|
|
"human_like": "This automation marks the main bedroom as unoccupied and re-enables its lighting automations when no occupancy is detected from various sensors, provided it's not bedtime and no one is in bed, according to a specific daily schedule.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When main bedroom motion sensor [binary_sensor.main_bedroom_motion_sensor] turns on OR When main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] turns on OR When binary sensor main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] turns off OR When main bedroom main lights [light.main_bedroom_main_lights] turns on OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) AND (Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is off) AND (main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] is on OR main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] is on). ACTIONS: Turn on Main Bedroom Occupied [input_boolean.main_bedroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: motion is detected by the main bedroom motion sensor [binary_sensor.main_bedroom_motion_sensor], occupancy is detected by the main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy], the main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] changes to off (likely indicating the door is closed), the main bedroom main lights [light.main_bedroom_main_lights] are turned on, when automations are reloaded, or when Home Assistant itself starts up.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied via the house occupied [input_boolean.house_occupied] switch, the main bedroom must currently be marked as unoccupied via the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] switch, and at least one of the following must be true: the main bedroom ble occupancy [binary_sensor.main_bedroom_ble_occupancy] detects a Bluetooth device, or the main bedroom motion sensor occupancy [binary_sensor.main_bedroom_motion_sensor_occupancy] detects occupancy.",
|
|
"action": "The automation marks the main bedroom as occupied by turning on the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] switch."
|
|
},
|
|
"human_like": "Marks the main bedroom as occupied when motion, lights, or door activity is detected, but only if the house is occupied and the room is currently marked as empty.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_speech_notifications_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When Main Bedroom Occupied [input_boolean.main_bedroom_occupied] turns off OR when main bedroom mode [input_select.main_bedroom] changes to Bedtime. CONDITIONS: (Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is off) OR (main bedroom mode [input_select.main_bedroom] is Bedtime). ACTIONS: Turn off main bedroom speech notifications [input_boolean.main_bedroom_speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "When the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] switch turns off, or when the main bedroom mode [input_select.main_bedroom] is set to Bedtime.",
|
|
"conditions": "The automation checks that either the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is off, or the main bedroom mode [input_select.main_bedroom] is set to Bedtime.",
|
|
"action": "Disables speech notifications for the main bedroom by turning off the main bedroom speech notifications [input_boolean.main_bedroom_speech_notifications] switch."
|
|
},
|
|
"human_like": "Turns off speech notifications for the main bedroom when the room is unoccupied or set to bedtime mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_speech_notifications_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When Main Bedroom Occupied [input_boolean.main_bedroom_occupied] turns on OR when main bedroom mode [input_select.main_bedroom] changes to Auto. CONDITIONS: Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is on AND (main bedroom mode [input_select.main_bedroom] is Auto OR main bedroom mode [input_select.main_bedroom] is Wake). ACTIONS: Turn on main bedroom speech notifications [input_boolean.main_bedroom_speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "When the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is turned on, or when the main bedroom mode [input_select.main_bedroom] is set to Auto.",
|
|
"conditions": "The Main Bedroom Occupied [input_boolean.main_bedroom_occupied] must be on, and the main bedroom mode [input_select.main_bedroom] must be set to either Auto or Wake.",
|
|
"action": "Enables speech notifications for the main bedroom by turning on main bedroom speech notifications [input_boolean.main_bedroom_speech_notifications]."
|
|
},
|
|
"human_like": "Enables speech notifications in the main bedroom when the room is occupied and the mode is set to Auto or Wake.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_bedroom_turn_off_purifier",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when main bedroom mode [input_select.main_bedroom] changes to 'Off' OR when Main Bedroom Occupied [input_boolean.main_bedroom_occupied] turns off and remains off for 30 minutes. CONDITIONS: None. ACTIONS: Turn off main bedroom air purifier [fan.main_bedroom_air_purifier].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the house occupied [input_boolean.house_occupied] switch is turned off, when the main bedroom mode [input_select.main_bedroom] is set to 'Off', or when the Main Bedroom Occupied [input_boolean.main_bedroom_occupied] switch is turned off and stays off for 30 minutes.",
|
|
"conditions": "There are no additional conditions that must be met for the action to run.",
|
|
"action": "Turns off the main bedroom air purifier [fan.main_bedroom_air_purifier]."
|
|
},
|
|
"human_like": "Turns off the main bedroom air purifier when the house is unoccupied, the bedroom mode is set to off, or the bedroom has been unoccupied for half an hour.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_floor_climate_activate_eco_when_energy_is_expensive",
|
|
"result": {
|
|
"structured": "TRIGGER: When energy prices are high [binary_sensor.energy_prices_are_high] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND entertainment mode [input_boolean.entertainment_mode] is off AND extreme climate [binary_sensor.extreme_climate] is off AND nest main floor [climate.nest_main_floor] preset_mode attribute is 'none'. ACTIONS: Execute script Main Floor Climate to Eco [script.main_floor_climate_to_eco].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor indicating energy prices are high [binary_sensor.energy_prices_are_high] changes to the 'on' state.",
|
|
"conditions": "The house must be marked as occupied [input_boolean.house_occupied], entertainment mode [input_boolean.entertainment_mode] must be off, extreme climate conditions [binary_sensor.extreme_climate] must not be active, and the main floor thermostat [climate.nest_main_floor] must not be set to any preset mode (i.e., its preset mode is 'none').",
|
|
"action": "Runs the script 'Main Floor Climate to Eco' [script.main_floor_climate_to_eco] to adjust the climate settings to an energy-saving mode."
|
|
},
|
|
"human_like": "Switches the main floor heating/cooling to an eco-friendly mode when energy prices are high, but only if the house is occupied, not in entertainment mode, and the weather isn't extreme.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_floor_climate_resume",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on OR when input boolean john is in bed [input_boolean.john_is_in_bed] turns off OR when cristina in bed [input_boolean.cristina_in_bed] turns off OR when bedtime [input_boolean.bedtime] turns off OR at 06:00:00. CONDITIONS: (bedtime [input_boolean.bedtime] is off OR time is after 06:00:00) AND house occupied [input_boolean.house_occupied] is on AND nest main floor [climate.nest_main_floor] preset_mode is not 'none'. ACTIONS: Execute Main Floor Climate to Resume [script.main_floor_climate_to_resume].",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the house occupied [input_boolean.house_occupied] switch turns on; when either the input boolean john is in bed [input_boolean.john_is_in_bed] or cristina in bed [input_boolean.cristina_in_bed] switches turn off; when the bedtime [input_boolean.bedtime] switch turns off; or at 6:00 AM daily.",
|
|
"conditions": "For the action to run, the following must all be true: either the bedtime [input_boolean.bedtime] switch is off or the current time is after 6:00 AM; the house occupied [input_boolean.house_occupied] switch must be on; and the main floor thermostat [climate.nest_main_floor] must not be in the 'none' preset mode.",
|
|
"action": "Runs the Main Floor Climate to Resume [script.main_floor_climate_to_resume] script, which presumably resumes the normal climate schedule for the main floor."
|
|
},
|
|
"human_like": "Resumes the main floor climate schedule when the house is occupied and it's not bedtime, triggered by various occupancy and time events.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_floor_climate_resume_when_energy_prices_fall",
|
|
"result": {
|
|
"structured": "TRIGGER: When energy prices are high [binary_sensor.energy_prices_are_high] changes from on to off. CONDITIONS: (nest main floor [climate.nest_main_floor] preset_mode is not 'none') AND (house occupied [input_boolean.house_occupied] is on OR nearly home [input_boolean.nearly_home] is on). ACTIONS: Execute script Main Floor Climate to Resume [script.main_floor_climate_to_resume].",
|
|
"natural_language": {
|
|
"trigger": "When the energy prices are high [binary_sensor.energy_prices_are_high] sensor indicates that prices are no longer high.",
|
|
"conditions": "If the main floor thermostat [climate.nest_main_floor] is currently set to a specific preset mode other than 'none', and either the house is marked as occupied [input_boolean.house_occupied] or the system is in a 'nearly home' state [input_boolean.nearly_home].",
|
|
"action": "Runs the script named Main Floor Climate to Resume [script.main_floor_climate_to_resume] to resume normal climate control."
|
|
},
|
|
"human_like": "Resumes the main floor climate system when energy prices drop, provided someone is home or about to arrive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_floor_climate_resume_when_nearly_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When nearly home [input_boolean.nearly_home] turns on. CONDITIONS: nest main floor [climate.nest_main_floor] preset_mode is not 'none'. ACTIONS: Run script Main Floor Climate to Resume [script.main_floor_climate_to_resume].",
|
|
"natural_language": {
|
|
"trigger": "When the 'nearly home' status [input_boolean.nearly_home] is turned on.",
|
|
"conditions": "If the main floor thermostat [climate.nest_main_floor] is currently set to a preset mode other than 'none'.",
|
|
"action": "Executes the script 'Main Floor Climate to Resume' [script.main_floor_climate_to_resume] to resume the climate schedule."
|
|
},
|
|
"human_like": "Resumes the main floor climate schedule when the system detects you are nearly home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_floor_climate_to_eco",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR when house occupied [input_boolean.house_occupied] turns off and remains off for 30 minutes OR when house occupied [input_boolean.house_occupied] turns off and remains off for 60 minutes. CONDITIONS: guest mode [input_boolean.guest_mode] is off AND nest main floor [climate.nest_main_floor] preset_mode is 'none'. ACTIONS: If the trigger was bedtime [input_boolean.bedtime] turning on AND the current time is before 04:00:00, then run Main Floor Climate to Eco [script.main_floor_climate_to_eco]. Otherwise, run Main Floor Climate to Eco [script.main_floor_climate_to_eco].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bedtime [input_boolean.bedtime] switch is turned on, or when the house occupied [input_boolean.house_occupied] switch turns off and stays off for 30 minutes, or when it turns off and stays off for 60 minutes.",
|
|
"conditions": "The automation only proceeds if guest mode [input_boolean.guest_mode] is off and the nest main floor [climate.nest_main_floor] thermostat is not currently using a preset mode (its preset mode is 'none').",
|
|
"action": "If the trigger was the bedtime switch turning on and it is currently before 4:00 AM, the automation runs the Main Floor Climate to Eco [script.main_floor_climate_to_eco] script. In all other cases, it also runs the same script."
|
|
},
|
|
"human_like": "Switches the main floor thermostat to Eco mode when it's bedtime or when the house has been unoccupied for a while, unless guest mode is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_dryer_complete",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level dryer status [input_select.main_level_dryer_status] changes to Clean. CONDITIONS: main level dryer status [input_select.main_level_dryer_status] is Clean. ACTIONS: Execute script voice announcement [script.voice_announcement] with parameters: media_players=auto, sound=chirp, priority=normal, expires_in=120, speech_message='The main level dryer finished and is ready to be emptied.' AND Execute general notification script [script.general_notification] with parameters: message='The main level dryer is finished and ready to be emptied.', title='Main Level Drying Machine', devices=all, priority=active, tag=main-level-dryer AND IF sony bravia tv [media_player.sony_bravia_tv] is on THEN Send notification to family_room_sony_bravia_tv with message='The main level dryer is finished and ready to be emptied.', title='Laundry is complete!', and display parameters: duration=5, position=bottom-right, fontsize=large, transparency=25%, interrupt=false, color=black.",
|
|
"natural_language": {
|
|
"trigger": "When the main level dryer status [input_select.main_level_dryer_status] changes to 'Clean'.",
|
|
"conditions": "The main level dryer status [input_select.main_level_dryer_status] must currently be 'Clean'.",
|
|
"action": "First, a voice announcement is made using the voice announcement script [script.voice_announcement], which will play a chirp sound and speak the message 'The main level dryer finished and is ready to be emptied.' on selected media players. Second, a general notification is sent to all devices via the general notification script [script.general_notification] with the message 'The main level dryer is finished and ready to be emptied.' and the title 'Main Level Drying Machine'. Additionally, if the sony bravia tv [media_player.sony_bravia_tv] is currently turned on, a notification will be displayed on the TV screen with the message 'The main level dryer is finished and ready to be emptied.' and the title 'Laundry is complete!', appearing in the bottom-right corner for 5 seconds with large font and a semi-transparent black background."
|
|
},
|
|
"human_like": "Announces and notifies when the main level dryer cycle is complete, including a TV notification if the TV is on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_dryer_power_button",
|
|
"result": {
|
|
"structured": "TRIGGER: When Unknown Device 055647d59003c9dc03051ef8e575a427 [055647d59003c9dc03051ef8e575a427] sends a remote_button_short_press event. CONDITIONS: main level drying machine [switch.main_level_drying_machine] is off. ACTIONS: Turn on main level drying machine [switch.main_level_drying_machine].",
|
|
"natural_language": {
|
|
"trigger": "When a button on the remote device 'Unknown Device 055647d59003c9dc03051ef8e575a427' is pressed.",
|
|
"conditions": "The main level drying machine [switch.main_level_drying_machine] must currently be off.",
|
|
"action": "Turn on the main level drying machine [switch.main_level_drying_machine]."
|
|
},
|
|
"human_like": "Turns on the main level drying machine when a specific remote button is pressed, but only if the machine is currently off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_dryer_to_clean",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level dryer status [input_select.main_level_dryer_status] changes to Finishing AND remains for 5 minutes OR When main level drying machine electric consumption [sensor.main_level_drying_machine_electric_consumption_w] falls below 50. CONDITIONS: main level dryer status [input_select.main_level_dryer_status] is Finishing. ACTIONS: Set main level dryer status [input_select.main_level_dryer_status] to Clean.",
|
|
"natural_language": {
|
|
"trigger": "When the main level dryer status [input_select.main_level_dryer_status] changes to 'Finishing' and stays that way for five minutes, or when the main level drying machine electric consumption [sensor.main_level_drying_machine_electric_consumption_w] drops below 50 watts.",
|
|
"conditions": "The main level dryer status [input_select.main_level_dryer_status] must currently be set to 'Finishing'.",
|
|
"action": "Changes the dryer status to 'Clean' by updating the main level dryer status [input_select.main_level_dryer_status]."
|
|
},
|
|
"human_like": "Automatically marks the dryer as clean when it has finished its cycle, either based on a timer or low power consumption.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_dryer_to_finished",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level drying machine electric consumption [sensor.main_level_drying_machine_electric_consumption_w] falls below 150 watts. CONDITIONS: main level dryer status [input_select.main_level_dryer_status] is set to Running. ACTIONS: Set main level dryer status [input_select.main_level_dryer_status] to Finishing.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the main level drying machine [sensor.main_level_drying_machine_electric_consumption_w] drops below 150 watts.",
|
|
"conditions": "The main level dryer status [input_select.main_level_dryer_status] must currently be set to 'Running'.",
|
|
"action": "Changes the dryer status to 'Finishing' by updating the main level dryer status [input_select.main_level_dryer_status]."
|
|
},
|
|
"human_like": "Updates the dryer's status to 'Finishing' when its power consumption drops below a threshold, indicating the main cycle is complete.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_dryer_to_idle",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level dryer status [input_select.main_level_dryer_status] changes to Clean and remains for 5 minutes. CONDITIONS: (main level dryer status [input_select.main_level_dryer_status] is Clean) OR (main level dryer status [input_select.main_level_dryer_status] is Finishing). ACTIONS: Set main level dryer status [input_select.main_level_dryer_status] to Idle.",
|
|
"natural_language": {
|
|
"trigger": "When the main level dryer status [input_select.main_level_dryer_status] changes to 'Clean' and stays in that state for at least five minutes.",
|
|
"conditions": "The automation checks that the main level dryer status [input_select.main_level_dryer_status] is currently either 'Clean' or 'Finishing'.",
|
|
"action": "Changes the dryer status to 'Idle' by selecting that option on the main level dryer status [input_select.main_level_dryer_status]."
|
|
},
|
|
"human_like": "Automatically sets the main level dryer status to 'Idle' after it has been in the 'Clean' state for five minutes, provided it hasn't changed to another state.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_dryer_to_running",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level drying machine electric consumption [sensor.main_level_drying_machine_electric_consumption_w] rises above 10 watts. CONDITIONS: (main level dryer status [input_select.main_level_dryer_status] is Idle) OR (main level dryer status [input_select.main_level_dryer_status] is Clean) OR (main level dryer status [input_select.main_level_dryer_status] is Finishing). ACTIONS: Set main level dryer status [input_select.main_level_dryer_status] to Running.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the main level drying machine [sensor.main_level_drying_machine_electric_consumption_w] exceeds 10 watts.",
|
|
"conditions": "If the current dryer status [input_select.main_level_dryer_status] is set to either 'Idle', 'Clean', or 'Finishing'.",
|
|
"action": "Changes the dryer status to 'Running' by updating the input_select.main_level_dryer_status."
|
|
},
|
|
"human_like": "Updates the dryer's status to 'Running' when it starts consuming power and is not already in a running state.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_washer_complete_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level washer status [input_select.main_level_washer_status] changes to Clean OR When house occupied [input_boolean.house_occupied] turns on and remains on for 10 minutes OR At 08:01:00 daily. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND main level washer status [input_select.main_level_washer_status] is Clean AND The automation main_level_washer_complete_alert [automation.main_level_washer_complete_alert] has not been triggered in the last hour (more than 3600 seconds since last_triggered). ACTIONS: Run script voice announcement [script.voice_announcement] with a chirp sound and a speech message announcing the washer is ready to be emptied. Send a notification to the appropriate recipient(s) based on the home status of john home [input_boolean.john_home] and cristina home [input_boolean.cristina_home]: If both are home, notify.ios_family; if only john home is on, notify.mobile_app_jk_2; if only cristina home is on, notify.mobile_app_cfalb2. If sony bravia tv [media_player.sony_bravia_tv] is on, then also send an on-screen notification to family_room_sony_bravia_tv.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in three ways: when the main level washer status [input_select.main_level_washer_status] changes to 'Clean', when the house occupied [input_boolean.house_occupied] indicator turns on and stays on for at least 10 minutes, or at 8:01 AM every day.",
|
|
"conditions": "For the automation to proceed, the house must be occupied (house occupied [input_boolean.house_occupied] is on), the washer status must be 'Clean', and this specific alert must not have been triggered within the last hour.",
|
|
"action": "When triggered and all conditions are met, the automation will first make a voice announcement using the script voice announcement [script.voice_announcement] with a chirp sound and a message stating the washer is ready. It will then send a push notification to the appropriate person's mobile device based on who is home: if both John and Cristina are home, it sends to a family group; if only John is home, it sends to his device; if only Cristina is home, it sends to her device. Finally, if the sony bravia tv [media_player.sony_bravia_tv] is turned on, it will also display an on-screen notification on the TV."
|
|
},
|
|
"human_like": "Announces and notifies when the main level washing machine finishes, ensuring the alert is only sent if the house is occupied and hasn't been sent recently, and sends notifications to the correct people and devices.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_washer_to_clean",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level washer status [input_select.main_level_washer_status] changes to 'Finishing' AND remains for 1 minute OR When main level washing machine electric consumption [sensor.main_level_washing_machine_electric_consumption_w] falls below 20 watts. CONDITIONS: main level washer status [input_select.main_level_washer_status] is 'Finishing' AND main level washing machine electric consumption [sensor.main_level_washing_machine_electric_consumption_w] is below 50 watts. ACTIONS: Set main level washer status [input_select.main_level_washer_status] to 'Clean'.",
|
|
"natural_language": {
|
|
"trigger": "When the main level washer status [input_select.main_level_washer_status] is set to 'Finishing' and stays that way for at least one minute, or when the main level washing machine electric consumption [sensor.main_level_washing_machine_electric_consumption_w] drops below 20 watts.",
|
|
"conditions": "The main level washer status [input_select.main_level_washer_status] must be 'Finishing', and the main level washing machine electric consumption [sensor.main_level_washing_machine_electric_consumption_w] must be below 50 watts.",
|
|
"action": "Changes the washer status to 'Clean' by updating the main level washer status [input_select.main_level_washer_status]."
|
|
},
|
|
"human_like": "Updates the washing machine's status to 'Clean' when it finishes its cycle, based on its status and low power consumption.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_washer_to_finished",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level washing machine electric consumption [sensor.main_level_washing_machine_electric_consumption_w] falls below 20 watts. CONDITIONS: main level washer status [input_select.main_level_washer_status] is set to Running. ACTIONS: Change main level washer status [input_select.main_level_washer_status] to Finishing.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the main level washing machine [sensor.main_level_washing_machine_electric_consumption_w] drops below 20 watts.",
|
|
"conditions": "The main level washer status [input_select.main_level_washer_status] must currently be set to 'Running'.",
|
|
"action": "Updates the washer status to 'Finishing' by changing the option on main level washer status [input_select.main_level_washer_status]."
|
|
},
|
|
"human_like": "Updates the washer status to 'Finishing' when the washing machine's power consumption drops low, indicating the cycle is nearly complete.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_washer_to_idle",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level washer door sensor status [binary_sensor.main_level_washer_door_sensor_status] changes to on. CONDITIONS: (main level washer status [input_select.main_level_washer_status] is Clean OR main level washer status [input_select.main_level_washer_status] is Finishing OR main level washer status [input_select.main_level_washer_status] is Running). ACTIONS: Set main level washer status [input_select.main_level_washer_status] to Idle.",
|
|
"natural_language": {
|
|
"trigger": "When the main level washer door sensor status [binary_sensor.main_level_washer_door_sensor_status] detects that the door is opened (changes to 'on').",
|
|
"conditions": "If the main level washer status [input_select.main_level_washer_status] is currently set to 'Clean', 'Finishing', or 'Running'.",
|
|
"action": "Changes the washer's status to 'Idle' by updating the main level washer status [input_select.main_level_washer_status]."
|
|
},
|
|
"human_like": "Resets the washer's status to 'Idle' when its door is opened after a wash cycle has completed or is finishing.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "main_level_washer_to_running",
|
|
"result": {
|
|
"structured": "TRIGGER: When main level washing machine electric consumption [sensor.main_level_washing_machine_electric_consumption_w] exceeds 10 watts. CONDITIONS: (main level washer status [input_select.main_level_washer_status] is Idle) OR (main level washer status [input_select.main_level_washer_status] is Clean) OR (main level washer status [input_select.main_level_washer_status] is Finishing). ACTIONS: Set main level washer status [input_select.main_level_washer_status] to Running.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the main level washing machine [sensor.main_level_washing_machine_electric_consumption_w] rises above 10 watts.",
|
|
"conditions": "If the current washer status [input_select.main_level_washer_status] is set to either 'Idle', 'Clean', or 'Finishing'.",
|
|
"action": "Changes the washer status [input_select.main_level_washer_status] to 'Running'."
|
|
},
|
|
"human_like": "Updates the washing machine's status to 'Running' when it starts drawing significant power, but only if it was previously in a non-running state.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "morning_update",
|
|
"result": {
|
|
"structured": "TRIGGER: At 07:05:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Wait until quiet mode [input_boolean.quiet_mode] is off (timeout 45 minutes). Then wait until kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] is on AND has been on for at least 600 seconds (10 minutes) (timeout 30 minutes, stop on timeout). Then wait until kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is on (timeout 30 minutes, stop on timeout). Then delay for 2 seconds. Then run script.morning_update_announcement.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered at 7:05 AM.",
|
|
"conditions": "It only proceeds if the house occupied [input_boolean.house_occupied] is currently set to on.",
|
|
"action": "First, it waits for the quiet mode [input_boolean.quiet_mode] to be turned off, giving up to 45 minutes. Next, it waits for the kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] to detect motion and for that motion to have been continuously detected for at least 10 minutes, waiting up to 30 minutes and stopping if this doesn't happen. Then, it waits for the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] to be on, again waiting up to 30 minutes and stopping if it's not. After a final 2-second pause, it executes the morning update announcement script."
|
|
},
|
|
"human_like": "Delivers a morning announcement at 7:05 AM when the house is occupied, but only after quiet mode is off and there has been sustained motion in the kitchen.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_bathroom_fan_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom bathroom mode [input_select.mudroom_bathroom] changes to 'Off' OR When mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] changes to 'off' AND remains for 5 minutes. CONDITIONS: mudroom bathroom fan [fan.mudroom_bathroom_fan] is on AND (mudroom bathroom mode [input_select.mudroom_bathroom] is 'Off' OR mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] is 'off'). ACTIONS: Turn off mudroom bathroom fan [fan.mudroom_bathroom_fan].",
|
|
"natural_language": {
|
|
"trigger": "When the mudroom bathroom mode [input_select.mudroom_bathroom] is set to 'Off', or when the mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] status changes to 'off' and stays that way for at least five minutes.",
|
|
"conditions": "The mudroom bathroom fan [fan.mudroom_bathroom_fan] must currently be on. Additionally, either the mudroom bathroom mode [input_select.mudroom_bathroom] is set to 'Off', or the mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] status is 'off'.",
|
|
"action": "Turns off the mudroom bathroom fan [fan.mudroom_bathroom_fan]."
|
|
},
|
|
"human_like": "Turns off the bathroom fan when it's no longer needed, either because the bathroom mode is set to 'Off' or the room has been unoccupied for five minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_bathroom_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom bathroom motion [binary_sensor.mudroom_bathroom_motion] changes to on. CONDITIONS: mudroom bathroom mode [input_select.mudroom_bathroom] is Auto AND lighting automations [input_boolean.lighting_automations] is on AND mudroom bathroom illuminance [sensor.mudroom_bathroom_illuminance] is below 200 AND mudroom bathroom main lights [light.mudroom_bathroom_main_lights] is off. ACTIONS: Turn on mudroom bathroom main lights [light.mudroom_bathroom_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the mudroom bathroom, as indicated by the mudroom bathroom motion sensor [binary_sensor.mudroom_bathroom_motion] turning on.",
|
|
"conditions": "The mudroom bathroom mode [input_select.mudroom_bathroom] must be set to 'Auto', the global lighting automations [input_boolean.lighting_automations] must be enabled, the ambient light level measured by the mudroom bathroom illuminance sensor [sensor.mudroom_bathroom_illuminance] must be below 200 lux, and the mudroom bathroom main lights [light.mudroom_bathroom_main_lights] must currently be off.",
|
|
"action": "Turns on the main lights in the mudroom bathroom [light.mudroom_bathroom_main_lights]."
|
|
},
|
|
"human_like": "Automatically turns on the mudroom bathroom lights when motion is detected, but only if the room is in auto mode, lighting automations are enabled, the room is dark enough, and the lights are currently off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_bathroom_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] changes to off OR When mudroom bathroom mode [input_select.mudroom_bathroom] changes to Off OR When lighting automations [input_boolean.lighting_automations] changes to on. CONDITIONS: (mudroom bathroom main lights [light.mudroom_bathroom_main_lights] is on) AND (mudroom bathroom mode [input_select.mudroom_bathroom] is Off OR mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] is off). ACTIONS: Turn off mudroom bathroom main lights [light.mudroom_bathroom_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] status changes to off, when the mudroom bathroom mode [input_select.mudroom_bathroom] is set to 'Off', or when the lighting automations [input_boolean.lighting_automations] are turned on.",
|
|
"conditions": "The mudroom bathroom main lights [light.mudroom_bathroom_main_lights] must be currently on. Additionally, either the mudroom bathroom mode [input_select.mudroom_bathroom] is set to 'Off' or the mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] status is off.",
|
|
"action": "Turns off the mudroom bathroom main lights [light.mudroom_bathroom_main_lights]."
|
|
},
|
|
"human_like": "Turns off the mudroom bathroom lights when the room is unoccupied or set to 'Off' mode, but only if lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_bathroom_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND mudroom bathroom mode [input_select.mudroom_bathroom] is not Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set mudroom bathroom mode [input_select.mudroom_bathroom] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] is set to Auto, or when the house occupied [input_boolean.house_occupied] indicator turns on.",
|
|
"conditions": "The house must be occupied, indicated by house occupied [input_boolean.house_occupied] being on. The mudroom bathroom mode [input_select.mudroom_bathroom] must not already be set to Auto. It must not be bedtime, so bedtime [input_boolean.bedtime] must be off. Finally, the overall house status [input_select.house] must be set to Auto.",
|
|
"action": "Sets the mudroom bathroom mode [input_select.mudroom_bathroom] to Auto."
|
|
},
|
|
"human_like": "Automatically sets the mudroom bathroom to Auto mode when the house is occupied, in Auto mode, and it's not bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_bathroom_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR house status [input_select.house] changes to Away OR bedtime [input_boolean.bedtime] turns on OR Home Assistant starts OR an automation is reloaded. CONDITIONS: mudroom bathroom mode [input_select.mudroom_bathroom] is NOT set to Off AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set mudroom bathroom mode [input_select.mudroom_bathroom] to Off.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the house occupied [input_boolean.house_occupied] switch is turned off, when the house status [input_select.house] is set to Away, when the bedtime [input_boolean.bedtime] switch is turned on, when Home Assistant itself starts up, or when any automation is reloaded.",
|
|
"conditions": "For the automation to run, the mudroom bathroom mode [input_select.mudroom_bathroom] must not already be set to Off. Additionally, at least one of the following must be true: the house is marked as unoccupied, the house status is set to Away, or the bedtime mode is active.",
|
|
"action": "The automation sets the mudroom bathroom mode [input_select.mudroom_bathroom] to Off."
|
|
},
|
|
"human_like": "Turns off the mudroom bathroom mode when the house is unoccupied, set to away, or at bedtime, ensuring the mode is not left on unnecessarily.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_bathroom_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom bathroom motion [binary_sensor.mudroom_bathroom_motion] remains off for 3 minutes OR When mudroom bathroom motion [binary_sensor.mudroom_bathroom_motion] remains off for 5 minutes OR When mudroom bathroom motion [binary_sensor.mudroom_bathroom_motion] remains off for 7 minutes OR When mudroom bathroom occupancy [binary_sensor.mudroom_bathroom_occupancy] changes to off. CONDITIONS: (mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] is on) AND ((mudroom bathroom motion [binary_sensor.mudroom_bathroom_motion] is off AND mudroom bathroom door [binary_sensor.mudroom_bathroom_door] last changed less than 180 seconds ago) OR (mudroom bathroom occupancy [binary_sensor.mudroom_bathroom_occupancy] is off) OR (mudroom bathroom motion [binary_sensor.mudroom_bathroom_motion] is off AND remains off for 5 minutes AND mudroom bathroom door [binary_sensor.mudroom_bathroom_door] is on)). ACTIONS: Turn off mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the mudroom bathroom motion sensor [binary_sensor.mudroom_bathroom_motion] reports no motion for 3, 5, or 7 minutes, or when the mudroom bathroom occupancy sensor [binary_sensor.mudroom_bathroom_occupancy] changes to an 'off' state.",
|
|
"conditions": "The automation only runs if the mudroom bathroom occupied indicator [input_boolean.mudroom_bathroom_occupied] is currently turned on. Additionally, one of the following must be true: either the motion sensor is off and the bathroom door [binary_sensor.mudroom_bathroom_door] was last opened or closed less than 3 minutes ago, the occupancy sensor is off, or the motion sensor has been off for at least 5 minutes while the bathroom door is open.",
|
|
"action": "Marks the bathroom as unoccupied by turning off the mudroom bathroom occupied indicator [input_boolean.mudroom_bathroom_occupied]."
|
|
},
|
|
"human_like": "Marks the mudroom bathroom as unoccupied when motion stops for a set time or occupancy is cleared, ensuring the room is truly empty before updating its status.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_bathroom_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom bathroom motion [binary_sensor.mudroom_bathroom_motion] turns on OR When mudroom bathroom main lights [light.mudroom_bathroom_main_lights] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied] is off AND (mudroom bathroom motion [binary_sensor.mudroom_bathroom_motion] is on OR mudroom bathroom door [binary_sensor.mudroom_bathroom_door] is off OR mudroom bathroom main lights [light.mudroom_bathroom_main_lights] is on). ACTIONS: Turn on mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the mudroom bathroom [binary_sensor.mudroom_bathroom_motion] or when the main lights in the mudroom bathroom [light.mudroom_bathroom_main_lights] are turned on.",
|
|
"conditions": "If the house is marked as occupied [input_boolean.house_occupied], the mudroom bathroom is currently not marked as occupied [input_boolean.mudroom_bathroom_occupied], and at least one of the following is true: motion is detected in the bathroom, the bathroom door is closed, or the bathroom lights are on.",
|
|
"action": "Marks the mudroom bathroom as occupied by turning on mudroom bathroom occupied [input_boolean.mudroom_bathroom_occupied]."
|
|
},
|
|
"human_like": "Marks the mudroom bathroom as occupied when motion is detected or the lights are turned on, provided the house is occupied and the bathroom isn't already marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_lights_to_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom mode [input_select.mudroom] changes to Away OR When house status [input_select.house] changes to Away. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (mudroom mode [input_select.mudroom] is Away OR (mudroom mode [input_select.mudroom] is Auto AND house status [input_select.house] is Away)) AND mudroom main lights [light.mudroom_main_lights] is on. ACTIONS: Turn off mudroom main lights [light.mudroom_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the mudroom mode [input_select.mudroom] is set to Away, or when the overall house status [input_select.house] is set to Away.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled. Additionally, either the mudroom mode [input_select.mudroom] must be set to Away, or if the mudroom mode is set to Auto, then the house status [input_select.house] must be Away. Finally, the mudroom main lights [light.mudroom_main_lights] must currently be on.",
|
|
"action": "Turns off the mudroom main lights [light.mudroom_main_lights]."
|
|
},
|
|
"human_like": "Turns off the mudroom lights when the house or mudroom is set to Away mode, provided the lights are on and automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_lights_to_dim",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom motion sensor motion detection [binary_sensor.mudroom_motion_sensor_motion_detection] detects motion (changes to on). CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND mudroom mode [input_select.mudroom] is set to 'Night Motion' AND mudroom main lights [light.mudroom_main_lights] is off. ACTIONS: Turn on mudroom main lights [light.mudroom_main_lights] to 30% brightness.",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the mudroom motion sensor motion detection [binary_sensor.mudroom_motion_sensor_motion_detection].",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled, the mudroom mode [input_select.mudroom] must be set to 'Night Motion', and the mudroom main lights [light.mudroom_main_lights] must currently be off.",
|
|
"action": "Turns on the mudroom main lights [light.mudroom_main_lights] to a dim level of 30% brightness."
|
|
},
|
|
"human_like": "Dims the mudroom lights to 30% when motion is detected at night, provided the lights are off and automations are enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_lights_to_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom mode [input_select.mudroom] changes to Away OR When house status [input_select.house] changes to Off OR When mudroom motion sensor motion detection [binary_sensor.mudroom_motion_sensor_motion_detection] changes to off. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND mudroom main lights [light.mudroom_main_lights] is on. ACTIONS: Turn off mudroom main lights [light.mudroom_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the mudroom mode [input_select.mudroom] is set to 'Away', or when the overall house status [input_select.house] is set to 'Off', or when the mudroom motion sensor [binary_sensor.mudroom_motion_sensor_motion_detection] stops detecting motion.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled, and the mudroom main lights [light.mudroom_main_lights] must currently be on.",
|
|
"action": "Turns off the mudroom main lights [light.mudroom_main_lights]."
|
|
},
|
|
"human_like": "Turns off the mudroom lights when the room is set to 'Away', the whole house is off, or no motion is detected, provided lighting automations are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_lights_to_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom mode [input_select.mudroom] changes to 'On' OR When mudroom motion sensor motion detection [binary_sensor.mudroom_motion_sensor_motion_detection] changes to 'on'. CONDITIONS: lighting automations [input_boolean.lighting_automations] is 'on' AND (mudroom mode [input_select.mudroom] is 'On' OR mudroom mode [input_select.mudroom] is 'Motion') AND mudroom main lights [light.mudroom_main_lights] is 'off'. ACTIONS: Turn on mudroom main lights [light.mudroom_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the mudroom mode [input_select.mudroom] is manually set to 'On', or when the mudroom motion sensor [binary_sensor.mudroom_motion_sensor_motion_detection] detects motion.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled. The mudroom mode [input_select.mudroom] must be set to either 'On' or 'Motion'. The mudroom main lights [light.mudroom_main_lights] must currently be off.",
|
|
"action": "Turn on the mudroom main lights [light.mudroom_main_lights]."
|
|
},
|
|
"human_like": "Turns on the mudroom lights when motion is detected or when the room mode is set to 'On', provided the lights are off and lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_mode_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: (mudroom mode [input_select.mudroom] is not set to 'Away') AND (house occupied [input_boolean.house_occupied] is off). ACTIONS: Set mudroom mode [input_select.mudroom] to 'Away'.",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to off.",
|
|
"conditions": "If the mudroom mode [input_select.mudroom] is not already set to 'Away', and the house occupied [input_boolean.house_occupied] status is confirmed to be off.",
|
|
"action": "Changes the mudroom mode [input_select.mudroom] to 'Away'."
|
|
},
|
|
"human_like": "Sets the mudroom to 'Away' mode when the house is marked as unoccupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_mode_motion",
|
|
"result": {
|
|
"structured": "TRIGGER: When mudroom motion sensor motion detection [binary_sensor.mudroom_motion_sensor_motion_detection] remains off for 5 minutes OR when house status [input_select.house] changes to Auto. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND bedtime [input_boolean.bedtime] is off AND (mudroom mode [input_select.mudroom] is On OR mudroom mode [input_select.mudroom] is Night Motion) AND mudroom mode [input_select.mudroom] is NOT Motion. ACTIONS: Set mudroom mode [input_select.mudroom] to Motion.",
|
|
"natural_language": {
|
|
"trigger": "When the mudroom motion sensor motion detection [binary_sensor.mudroom_motion_sensor_motion_detection] reports no motion for a continuous period of five minutes, or when the house status [input_select.house] is changed to 'Auto'.",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), the bedtime mode must be off (bedtime [input_boolean.bedtime] is off), the mudroom mode [input_select.mudroom] must currently be set to either 'On' or 'Night Motion', and it must not already be set to 'Motion'.",
|
|
"action": "Changes the mudroom mode [input_select.mudroom] to 'Motion'."
|
|
},
|
|
"human_like": "Switches the mudroom to motion-activated mode when there's been no motion for a while or the house enters auto mode, provided the house is occupied and it's not bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_mode_night_motion",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Bedtime AND remains for 10 minutes OR when bedtime [input_boolean.bedtime] turns on OR when binary sensor bedtime [binary_sensor.bedtime] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND bedtime [input_boolean.bedtime] is on AND binary sensor bedtime [binary_sensor.bedtime] is on AND mudroom mode [input_select.mudroom] is NOT set to Night Motion. ACTIONS: Set mudroom mode [input_select.mudroom] to Night Motion.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] changes to 'Bedtime' and stays that way for 10 minutes, or when the bedtime [input_boolean.bedtime] is turned on, or when the binary sensor bedtime [binary_sensor.bedtime] is turned on.",
|
|
"conditions": "The house must be occupied, indicated by house occupied [input_boolean.house_occupied] being on. The bedtime [input_boolean.bedtime] must be on, and the binary sensor bedtime [binary_sensor.bedtime] must also be on. Additionally, the mudroom mode [input_select.mudroom] must not already be set to 'Night Motion'.",
|
|
"action": "Changes the mudroom mode [input_select.mudroom] to 'Night Motion'."
|
|
},
|
|
"human_like": "Sets the mudroom to 'Night Motion' mode when bedtime conditions are active and the house is occupied, ensuring the mode isn't already set.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mudroom_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When john status [input_select.john_status] changes to 'Just Arrived' OR When cristina status dropdown [input_select.cristina_status_dropdown] changes to 'Just Arrived' OR When house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Set mudroom mode [input_select.mudroom] to 'On'.",
|
|
"natural_language": {
|
|
"trigger": "When either John's status [input_select.john_status] or Cristina's status [input_select.cristina_status_dropdown] changes to 'Just Arrived', or when the house occupied [input_boolean.house_occupied] indicator turns on.",
|
|
"conditions": "The house must be marked as occupied, meaning the house occupied [input_boolean.house_occupied] input boolean is set to on.",
|
|
"action": "Activates the mudroom mode by setting the mudroom mode [input_select.mudroom] selector to 'On'."
|
|
},
|
|
"human_like": "Turns on the mudroom mode when someone arrives home or when the house is marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nearly_home_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] changes to home OR when person cristina falbo [person.cristina_falbo] changes to home OR when person john koht [person.john_koht] changes to home OR when house occupied [input_boolean.house_occupied] changes to on. CONDITIONS: family group [group.family] is home AND house occupied [input_boolean.house_occupied] is on AND nearly home [input_boolean.nearly_home] is on. ACTIONS: Turn off nearly home [input_boolean.nearly_home] AND turn off Nearly Home Turn Off [automation.nearly_home_turn_off] AND run general notification script [script.general_notification] with title 'Nearly Home Off', message 'Nearly Home turned off since you're home', targeting device 'jk', priority 'passive', and tag 'nearly-home'.",
|
|
"natural_language": {
|
|
"trigger": "When the family group [group.family] becomes 'home', or when either person cristina falbo [person.cristina_falbo] or person john koht [person.john_koht] arrives home, or when the house occupied [input_boolean.house_occupied] flag is turned on.",
|
|
"conditions": "The family group [group.family] must be home, the house occupied [input_boolean.house_occupied] flag must be on, and the nearly home [input_boolean.nearly_home] flag must be on.",
|
|
"action": "Turn off the nearly home [input_boolean.nearly_home] flag, disable the Nearly Home Turn Off [automation.nearly_home_turn_off] automation itself, and send a passive notification to device 'jk' with the title 'Nearly Home Off' and the message 'Nearly Home turned off since you're home'."
|
|
},
|
|
"human_like": "Turns off the 'nearly home' mode and sends a notification when the family is fully home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nearly_home_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When home nearest distance [sensor.home_nearest_distance] is between 1 and 5 units (exclusive). CONDITIONS: (nearly home [input_boolean.nearly_home] is off) AND (family group [group.family] is not_home AND remains for 10 minutes) AND (Home Nearest Direction of Travel [sensor.home_nearest_direction_of_travel] is towards). ACTIONS: Turn on nearly home [input_boolean.nearly_home] AND Turn on Nearly Home Turn Off [automation.nearly_home_turn_off] AND Run general notification script [script.general_notification] with title 'Nearly Home On', message 'Nearly home automation turned on', recipient 'jk', priority 'passive', and tag 'nearly-home'.",
|
|
"natural_language": {
|
|
"trigger": "When the home nearest distance [sensor.home_nearest_distance] is between 1 and 5 units, indicating someone is close to home.",
|
|
"conditions": "If the nearly home [input_boolean.nearly_home] is currently off, the family group [group.family] has been away from home (state 'not_home') for at least 10 minutes, and the Home Nearest Direction of Travel [sensor.home_nearest_direction_of_travel] is 'towards', meaning the nearest person is moving closer to home.",
|
|
"action": "Activates the 'nearly home' mode by turning on the nearly home [input_boolean.nearly_home] flag, enables the companion automation Nearly Home Turn Off [automation.nearly_home_turn_off], and sends a passive notification to the user 'jk' via the general notification script [script.general_notification] to inform them that the automation has been activated."
|
|
},
|
|
"human_like": "Activates 'nearly home' mode when someone is within 5 units of home, moving towards it, and the family has been away for at least 10 minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "neighborhood_event_tomorrow_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: At 20:00:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND neighborhood event tomorrow [binary_sensor.neighborhood_event_tomorrow] is on. ACTIONS: Wait for up to 5 minutes until kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] is on OR family room motion sensor [binary_sensor.family_room_motion_sensor] is on. Then, wait for 2 seconds. Then, execute voice announcement script [script.voice_announcement] with a random speech message containing the event details from calendar golf acres [calendar.golf_acres]. Then, execute general notification script [script.general_notification] with a notification containing the event details from calendar golf acres [calendar.golf_acres].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every day at 8:00 PM.",
|
|
"conditions": "The automation only runs if the house is marked as occupied (house occupied [input_boolean.house_occupied] is on) and there is a neighborhood event scheduled for the next day (neighborhood event tomorrow [binary_sensor.neighborhood_event_tomorrow] is on).",
|
|
"action": "First, the system waits for up to five minutes for motion to be detected in either the kitchen (kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status]) or the family room (family room motion sensor [binary_sensor.family_room_motion_sensor]). Once motion is detected or the five minutes elapse, it pauses for two seconds. Then, it makes a voice announcement using the voice announcement script [script.voice_announcement], playing a random message that includes the event name and time from the calendar (calendar golf acres [calendar.golf_acres]). Finally, it sends a push notification via the general notification script [script.general_notification] with the event reminder details."
|
|
},
|
|
"human_like": "At 8 PM, if the house is occupied and there's a neighborhood event tomorrow, it waits for someone to be in a common area and then announces the event details out loud and sends a notification.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "neighborhood_event_upcoming_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When an event on calendar golf acres [calendar.golf_acres] is scheduled to start in 1 hour. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Execute script voice announcement [script.voice_announcement] with parameters: target media players set to 'auto', sound effect 'success-trumpets', and a randomly selected speech message announcing the event from calendar golf acres [calendar.golf_acres] is in one hour.",
|
|
"natural_language": {
|
|
"trigger": "When an event on the calendar golf acres [calendar.golf_acres] is about to start in one hour.",
|
|
"conditions": "The house must be marked as occupied, meaning the input boolean house occupied [input_boolean.house_occupied] is set to on.",
|
|
"action": "Plays a voice announcement on the configured media players with a trumpet sound and a randomly chosen spoken message reminding everyone that the event is in one hour."
|
|
},
|
|
"human_like": "Announces an upcoming neighborhood event one hour before it starts, but only when someone is home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "enable_nino_bathroom_heater_automation",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] turns on and remains on for 30 minutes OR when bedtime [input_boolean.bedtime] turns on OR at 00:01:00 daily OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is on AND the current time is after 18:00:00 AND Nino's Bathroom Heater On [automation.nino_s_bathroom_heater_on] is off. ACTIONS: Turn on Nino's Bathroom Heater On [automation.nino_s_bathroom_heater_on].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when the 'ninos bedroom occupied' [input_boolean.ninos_bedroom_occupied] switch is turned on and stays on for 30 minutes, when the 'bedtime' [input_boolean.bedtime] switch is turned on, at exactly 12:01 AM every day, when Home Assistant reloads its automations, or when Home Assistant itself starts up.",
|
|
"conditions": "For the automation to proceed, several conditions must be met: the 'house occupied' [input_boolean.house_occupied] switch must be on, the 'ninos bedroom occupied' [input_boolean.ninos_bedroom_occupied] switch must also be on, the current time must be after 6:00 PM, and the 'Nino's Bathroom Heater On' [automation.nino_s_bathroom_heater_on] automation must currently be turned off.",
|
|
"action": "The automation will enable the 'Nino's Bathroom Heater On' [automation.nino_s_bathroom_heater_on] automation by turning it on."
|
|
},
|
|
"human_like": "This automation activates the bathroom heater automation for Nino's room in the evening when the house and his bedroom are occupied, ensuring the heater is ready for use.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bathroom_heater_on",
|
|
"result": {
|
|
"structured": "TRIGGER: At 05:00:00 OR When ninos door sensor status [binary_sensor.ninos_door_sensor_status] becomes on OR When aqara weather sensor 1 temperature [sensor.aqara_weather_sensor_1_temperature] is below 71.0°F OR When aqara weather sensor 1 temperature [sensor.aqara_weather_sensor_1_temperature] is below 61.0°F. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND (ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is on OR aqara weather sensor 1 temperature [sensor.aqara_weather_sensor_1_temperature] is below 65.0°F) AND time is after 04:30:00 AND aqara weather sensor 1 temperature [sensor.aqara_weather_sensor_1_temperature] is below 71.0°F AND smart plug 2 switch [switch.smart_plug_2_switch] is off. ACTIONS: Turn on smart plug 2 switch [switch.smart_plug_2_switch] AND Turn off Nino's Bathroom Heater On [automation.nino_s_bathroom_heater_on].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered at 5:00 AM, when the ninos door sensor status [binary_sensor.ninos_door_sensor_status] indicates the door is opened, or when the aqara weather sensor 1 temperature [sensor.aqara_weather_sensor_1_temperature] falls below either 71.0°F or 61.0°F.",
|
|
"conditions": "For the action to run, the house must be marked as occupied, the time must be after 4:30 AM, the heater plug must be off, and the temperature must be below 71.0°F. Additionally, either the ninos bedroom must be marked as occupied or the temperature must be below 65.0°F.",
|
|
"action": "Turns on the smart plug 2 switch [switch.smart_plug_2_switch] to power the heater and then turns off the automation itself [automation.nino_s_bathroom_heater_on] to prevent it from running again."
|
|
},
|
|
"human_like": "Turns on the bathroom heater in the morning or when the room gets cold, but only if the house is occupied and the heater isn't already on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bathroom_heater_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When aqara weather sensor 1 temperature [sensor.aqara_weather_sensor_1_temperature] reports a value greater than 73.5 OR When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off for 20 minutes OR When house occupied [input_boolean.house_occupied] is off OR When smart plug 2 switch [switch.smart_plug_2_switch] is on for 3 hours. CONDITIONS: smart plug 2 switch [switch.smart_plug_2_switch] is on. ACTIONS: Turn off smart plug 2 switch [switch.smart_plug_2_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if any of the following occur: the temperature reported by the aqara weather sensor 1 temperature [sensor.aqara_weather_sensor_1_temperature] rises above 73.5 degrees; the ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] flag is turned off and remains off for 20 minutes; the house occupied [input_boolean.house_occupied] flag is turned off; or the smart plug 2 switch [switch.smart_plug_2_switch] has been turned on for 3 hours.",
|
|
"conditions": "The smart plug 2 switch [switch.smart_plug_2_switch] must currently be in the 'on' state for the action to proceed.",
|
|
"action": "Turns off the smart plug 2 switch [switch.smart_plug_2_switch]."
|
|
},
|
|
"human_like": "Turns off the bathroom heater when it gets too warm, the room or house is unoccupied, or the heater has been running for too long.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bathroom_heater_turn_on_upon_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on OR when family group [group.family] changes from not_home to home OR when person cristina falbo [person.cristina_falbo] OR person john koht [person.john_koht] changes to state Just Arrived. CONDITIONS: ((The last update of house occupied [input_boolean.house_occupied] occurred less than 300 seconds ago) OR (family group [group.family] is home AND the last update of family group [group.family] occurred less than 300 seconds ago AND (person cristina falbo [person.cristina_falbo] OR person john koht [person.john_koht] is in state Just Arrived))) AND (The temperature from aqara weather sensor 1 temperature [sensor.aqara_weather_sensor_1_temperature] is less than 71.5) AND (The current time is after 18:30:00). ACTIONS: Turn on smart plug 2 switch [switch.smart_plug_2_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house is marked as occupied, when the family group arrives home, or when either Cristina or John's person status changes to 'Just Arrived'.",
|
|
"conditions": "It requires that either the house occupancy status was updated within the last five minutes, or the family group is home, its status was updated within the last five minutes, and either Cristina or John has just arrived. Additionally, the temperature in Nino's bathroom must be below 71.5 degrees, and the current time must be after 6:30 PM.",
|
|
"action": "Turns on the heater by activating the smart plug 2 switch [switch.smart_plug_2_switch]."
|
|
},
|
|
"human_like": "Turns on the bathroom heater in the evening when someone arrives home and the room is cold.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_bedroom_heater_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] turns on AND remains on for 1 minute OR When nino room temperature [sensor.nino_room_temperature] is below 70°F AND remains below for 5 minutes OR When nino room temperature [sensor.nino_room_temperature] is below 69.5°F OR When nino room temperature [sensor.nino_room_temperature] is below 69°F AND remains below for 5 minutes OR At 18:30:00 daily. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND (ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is on OR time is after 18:30:00) AND nino room temperature [sensor.nino_room_temperature] is below 71.3°F. ACTIONS: Turn on smart plug 2 switch [switch.smart_plug_2_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when the room occupancy status changes to occupied and stays that way for one minute; when the room temperature drops below 70°F for five minutes; when the temperature is below 69.5°F; when the temperature is below 69°F for five minutes; or at 6:30 PM every day.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied. Additionally, either the bedroom must be occupied, or the current time must be after 6:30 PM. Finally, the room temperature must be below 71.3°F.",
|
|
"action": "Turns on the heater by activating the smart plug 2 switch [switch.smart_plug_2_switch]."
|
|
},
|
|
"human_like": "Turns on the heater in Nino's bedroom when the room is occupied or it's evening, the house is occupied, and the temperature is too low.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_bedroom_heater_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos door sensor status [binary_sensor.ninos_door_sensor_status] becomes open (on) and remains so for 10 minutes OR When nino room temperature [sensor.nino_room_temperature] is greater than 70.15°F OR When nino room temperature [sensor.nino_room_temperature] is above 71°F OR When nino room temperature [sensor.nino_room_temperature] is above 72°F OR When nino room temperature [sensor.nino_room_temperature] is greater than 72.5°F OR When nino room temperature [sensor.nino_room_temperature] is above 73°F OR When nino room temperature [sensor.nino_room_temperature] is above 74°F OR When nino room temperature [sensor.nino_room_temperature] is above 75°F OR When house occupied [input_boolean.house_occupied] becomes off OR When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] becomes off. CONDITIONS: (nino room temperature [sensor.nino_room_temperature] is greater than or equal to 72.0°F OR house occupied [input_boolean.house_occupied] is off OR ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off) AND smart plug 2 switch [switch.smart_plug_2_switch] is on. ACTIONS: Turn off smart plug 2 switch [switch.smart_plug_2_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: if the door in Nino's bedroom has been open for at least 10 minutes, if the room temperature rises above various thresholds (70.15°F, 71°F, 72°F, 72.5°F, 73°F, 74°F, or 75°F), or if either the house or Nino's bedroom is marked as unoccupied.",
|
|
"conditions": "For the action to run, the heater switch must currently be on. Additionally, at least one of the following must be true: the room temperature is at least 72.0°F, the house is marked as unoccupied, or Nino's bedroom is marked as unoccupied.",
|
|
"action": "Turns off the heater by switching off smart plug 2 switch [switch.smart_plug_2_switch]."
|
|
},
|
|
"human_like": "Turns off the heater in Nino's bedroom if it gets too warm, the door is left open, or nobody is home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bedroom_heater_turn_on_upon_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns on OR When family group [group.family] changes from not_home to home OR When person cristina falbo [person.cristina_falbo] or person john koht [person.john_koht] changes to state Just Arrived. CONDITIONS: ((The time since house occupied [input_boolean.house_occupied] was last updated is less than 300 seconds) OR (family group [group.family] is home AND The time since family group [group.family] was last updated is less than 300 seconds AND (person cristina falbo [person.cristina_falbo] or person john koht [person.john_koht] is in state Just Arrived))) AND (nino room temperature [sensor.nino_room_temperature] is less than 71.5) AND (The current time is after 18:30:00). ACTIONS: Turn on smart plug 2 switch [switch.smart_plug_2_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house is marked as occupied, when the family group arrives home, or when either Cristina or John's person status changes to 'Just Arrived'.",
|
|
"conditions": "The automation checks if the house occupancy status or the family group's arrival was updated within the last five minutes, and that at least one of the family members is in the 'Just Arrived' state. It also requires that the temperature in Nino's room is below 71.5 degrees, and that the current time is after 6:30 PM.",
|
|
"action": "Turns on the heater in Nino's bedroom by activating the smart plug 2 switch."
|
|
},
|
|
"human_like": "Turns on the bedroom heater when the family arrives home in the evening, but only if the room is too cold.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bedroom_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos bedroom mode [input_select.ninos_bedroom] changes to Off OR When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] changes to off OR When lighting automations [input_boolean.lighting_automations] changes to on. CONDITIONS: (ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off) AND (ninos bedroom mode [input_select.ninos_bedroom] is Off OR ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off). ACTIONS: Turn off ninos bedroom main lights [light.ninos_bedroom_main_lights] AND nino bedroom lamp [light.nino_bedroom_lamp].",
|
|
"natural_language": {
|
|
"trigger": "When the room mode for Nino's bedroom [input_select.ninos_bedroom] is set to 'Off', or when the occupancy status for Nino's bedroom [input_boolean.ninos_bedroom_occupied] changes to 'off', or when the master lighting automations switch [input_boolean.lighting_automations] is turned on.",
|
|
"conditions": "The automation checks that the occupancy status for Nino's bedroom [input_boolean.ninos_bedroom_occupied] is currently 'off'. It also requires that either the room mode [input_select.ninos_bedroom] is set to 'Off' or the occupancy status [input_boolean.ninos_bedroom_occupied] is 'off'.",
|
|
"action": "Turns off both the main lights [light.ninos_bedroom_main_lights] and the lamp [light.nino_bedroom_lamp] in Nino's bedroom."
|
|
},
|
|
"human_like": "Turns off the lights in Nino's bedroom when the room is set to 'Off' mode, becomes unoccupied, or when general lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bedroom_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] turns off OR when house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on OR when nino in bed [input_boolean.nino_in_bed] turns off and remains off for 10 minutes OR when bedtime [input_boolean.bedtime] turns off. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND ninos bedroom mode [input_select.ninos_bedroom] is NOT Auto AND bedtime [input_boolean.bedtime] is off AND ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off AND nino in bed [input_boolean.nino_in_bed] is off. ACTIONS: Set ninos bedroom mode [input_select.ninos_bedroom] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by any of the following: when the ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is turned off, when the house status [input_select.house] is set to 'Auto', when the house occupied [input_boolean.house_occupied] is turned on, when nino in bed [input_boolean.nino_in_bed] is turned off and stays off for 10 minutes, or when bedtime [input_boolean.bedtime] is turned off.",
|
|
"conditions": "For the automation to run, all of the following must be true: the house must be occupied [input_boolean.house_occupied] is on, the current mode of ninos bedroom [input_select.ninos_bedroom] is not already set to 'Auto', bedtime [input_boolean.bedtime] is not active (off), the bedroom is not marked as occupied [input_boolean.ninos_bedroom_occupied] is off, and nino is not in bed [input_boolean.nino_in_bed] is off.",
|
|
"action": "Sets the mode of ninos bedroom [input_select.ninos_bedroom] to 'Auto'."
|
|
},
|
|
"human_like": "Automatically sets Nino's bedroom to 'Auto' mode when the house is occupied, bedtime is over, the room is empty, and Nino is not in bed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bedroom_mode_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When nino in bed [input_boolean.nino_in_bed] changes to on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND ninos bedroom mode [input_select.ninos_bedroom] is NOT set to Bedtime. ACTIONS: Set ninos bedroom mode [input_select.ninos_bedroom] to Bedtime.",
|
|
"natural_language": {
|
|
"trigger": "When the nino in bed [input_boolean.nino_in_bed] indicator is turned on.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on, and the current mode for the room, ninos bedroom mode [input_select.ninos_bedroom], must not already be set to 'Bedtime'.",
|
|
"action": "Changes the room mode to 'Bedtime' by setting the ninos bedroom mode [input_select.ninos_bedroom] selector to that option."
|
|
},
|
|
"human_like": "Sets the bedroom to 'Bedtime' mode when Nino is in bed and the house is occupied, but only if it's not already in that mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bedroom_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when house status [input_select.house] changes to Away OR when Home Assistant starts OR when an automation_reloaded event occurs. CONDITIONS: (ninos bedroom mode [input_select.ninos_bedroom] is not set to Off) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away). ACTIONS: Set ninos bedroom mode [input_select.ninos_bedroom] to Off.",
|
|
"natural_language": {
|
|
"trigger": "This automation can start when the house occupied [input_boolean.house_occupied] status changes to off, when the overall house status [input_select.house] is set to Away, when the Home Assistant system starts up, or when automations are reloaded.",
|
|
"conditions": "The automation will only proceed if the current ninos bedroom mode [input_select.ninos_bedroom] is not already set to Off. Additionally, it requires that either the house is marked as unoccupied (house occupied [input_boolean.house_occupied] is off) or the house status is set to Away.",
|
|
"action": "Sets the ninos bedroom mode [input_select.ninos_bedroom] to Off."
|
|
},
|
|
"human_like": "Turns off the bedroom mode for Nino's room when the house is unoccupied or set to 'Away', ensuring the mode isn't already off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bedroom_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos door sensor status [binary_sensor.ninos_door_sensor_status] remains open (on) for 5 minutes OR When ninos bedroom main lights [light.ninos_bedroom_main_lights] remains off for 5 minutes OR When nino bed occupied [binary_sensor.nino_bed_occupied] remains unoccupied (off) for 5 minutes. CONDITIONS: (ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is on) AND (ninos door sensor status [binary_sensor.ninos_door_sensor_status] is on) AND (ninos bedroom main lights [light.ninos_bedroom_main_lights] is off) AND (nino bed occupied [binary_sensor.nino_bed_occupied] is off). ACTIONS: Turn off ninos bedroom occupied [input_boolean.ninos_bedroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When the ninos door sensor status [binary_sensor.ninos_door_sensor_status] has been open for at least five minutes, or when the ninos bedroom main lights [light.ninos_bedroom_main_lights] have been off for at least five minutes, or when the nino bed occupied [binary_sensor.nino_bed_occupied] sensor has reported the bed as unoccupied for at least five minutes.",
|
|
"conditions": "The automation only runs if the room is currently marked as occupied, meaning the ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is on. Furthermore, all three monitored devices must be in a specific state simultaneously: the door must be open, the main lights must be off, and the bed must be unoccupied.",
|
|
"action": "Marks the room as not occupied by turning off the ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] input boolean."
|
|
},
|
|
"human_like": "Marks Nino's bedroom as unoccupied when the door has been open, the lights are off, and the bed is empty for five minutes, provided the room was previously marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "ninos_bedroom_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos door sensor status [binary_sensor.ninos_door_sensor_status] changes to off OR When ninos bedroom main lights [light.ninos_bedroom_main_lights] changes to on OR When nino bed occupied [binary_sensor.nino_bed_occupied] changes to on. CONDITIONS: (ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off) AND (ninos door sensor status [binary_sensor.ninos_door_sensor_status] is off OR ninos bedroom main lights [light.ninos_bedroom_main_lights] is on OR nino bed occupied [binary_sensor.nino_bed_occupied] is on). ACTIONS: Turn on ninos bedroom occupied [input_boolean.ninos_bedroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When the ninos door sensor status [binary_sensor.ninos_door_sensor_status] indicates the door is closed, when the ninos bedroom main lights [light.ninos_bedroom_main_lights] are turned on, or when the nino bed occupied [binary_sensor.nino_bed_occupied] sensor detects someone in the bed.",
|
|
"conditions": "The automation only runs if the room is currently marked as unoccupied, meaning ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off. Additionally, at least one of the following must be true: the door is closed, the main lights are on, or the bed is occupied.",
|
|
"action": "Marks the room as occupied by turning on ninos bedroom occupied [input_boolean.ninos_bedroom_occupied]."
|
|
},
|
|
"human_like": "Marks Nino's bedroom as occupied when the door is closed, the lights are turned on, or the bed is occupied, but only if the room wasn't already marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_bedroom_air_quality_detections",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor.nino_bedroom_air_quality changes state OR When ninos bedroom mode [input_select.ninos_bedroom] changes to 'Bedtime' OR When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] changes state. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) OR (almost home [input_boolean.almost_home] is on). ACTIONS: Execute script air quality set air purifier mode [script.air_quality_set_air_purifier_mode] with data: purifier = fan.ninos_bedroom_air_purifier, aqi_state = current state of sensor.nino_bedroom_air_quality, room_state = current state of ninos bedroom mode [input_select.ninos_bedroom].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the air quality sensor [sensor.nino_bedroom_air_quality] reports a new value, when the room mode [input_select.ninos_bedroom] is set to 'Bedtime', or when the room occupancy status [input_boolean.ninos_bedroom_occupied] changes.",
|
|
"conditions": "The automation only runs if either the house is marked as occupied [input_boolean.house_occupied] or the system is in 'almost home' mode [input_boolean.almost_home].",
|
|
"action": "It calls a script [script.air_quality_set_air_purifier_mode] to adjust the air purifier [fan.ninos_bedroom_air_purifier] based on the current air quality reading and the room's mode."
|
|
},
|
|
"human_like": "Adjusts the air purifier in Nino's bedroom based on air quality, room mode, or occupancy, but only when someone is home or about to arrive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_bedroom_turn_off_purifier",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] turns off and remains off for 30 minutes. CONDITIONS: None. ACTIONS: Turn off ninos bedroom air purifier [fan.ninos_bedroom_air_purifier].",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] is turned off, or when the ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is turned off and stays off for 30 minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Turns off the air purifier in Nino's bedroom, specifically ninos bedroom air purifier [fan.ninos_bedroom_air_purifier]."
|
|
},
|
|
"human_like": "Turns off the air purifier in Nino's bedroom when either the whole house is unoccupied or his bedroom has been unoccupied for 30 minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_bed_awake",
|
|
"result": {
|
|
"structured": "TRIGGER: When nino sleep state [input_select.nino_sleep_state] changes to 'Just Got Up' AND remains in that state for 5 minutes. CONDITIONS: None. ACTIONS: Set nino sleep state [input_select.nino_sleep_state] to 'Awake' AND Turn off nino in bed [input_boolean.nino_in_bed].",
|
|
"natural_language": {
|
|
"trigger": "When the nino sleep state [input_select.nino_sleep_state] is set to 'Just Got Up' and stays that way for five minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Changes the nino sleep state [input_select.nino_sleep_state] to 'Awake' and turns off the nino in bed [input_boolean.nino_in_bed] indicator."
|
|
},
|
|
"human_like": "Updates Nino's status to 'Awake' and marks them as out of bed after they have been in the 'Just Got Up' state for five minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_bed_just_got_up",
|
|
"result": {
|
|
"structured": "TRIGGER: When nino bed occupied [binary_sensor.nino_bed_occupied] changes to off. CONDITIONS: None. ACTIONS: Set nino sleep state [input_select.nino_sleep_state] to 'Just Got Up'.",
|
|
"natural_language": {
|
|
"trigger": "When the nino bed occupied [binary_sensor.nino_bed_occupied] sensor changes to off, indicating the bed is no longer occupied.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Changes the nino sleep state [input_select.nino_sleep_state] to the option 'Just Got Up'."
|
|
},
|
|
"human_like": "Updates Nino's sleep status to 'Just Got Up' when they get out of bed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_bed_just_laid_down",
|
|
"result": {
|
|
"structured": "TRIGGER: When nino bed occupied [binary_sensor.nino_bed_occupied] changes to on. CONDITIONS: nino sleep state [input_select.nino_sleep_state] is NOT 'Sleep'. ACTIONS: Set nino sleep state [input_select.nino_sleep_state] to 'Just Laid Down'.",
|
|
"natural_language": {
|
|
"trigger": "When the nino bed occupied [binary_sensor.nino_bed_occupied] sensor detects that the bed is occupied.",
|
|
"conditions": "The nino sleep state [input_select.nino_sleep_state] is not already set to 'Sleep'.",
|
|
"action": "Updates the nino sleep state [input_select.nino_sleep_state] to 'Just Laid Down'."
|
|
},
|
|
"human_like": "Updates Nino's sleep state to 'Just Laid Down' when they get into bed, but only if they aren't already in a 'Sleep' state.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_bed_sleep",
|
|
"result": {
|
|
"structured": "TRIGGER: When nino sleep state [input_select.nino_sleep_state] changes to 'Just Laid Down' AND remains in that state for 5 minutes. ACTIONS: Set nino sleep state [input_select.nino_sleep_state] to 'Sleep' AND Turn on nino in bed [input_boolean.nino_in_bed].",
|
|
"natural_language": {
|
|
"trigger": "When the nino sleep state [input_select.nino_sleep_state] is set to 'Just Laid Down' and stays that way for five minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Changes the nino sleep state [input_select.nino_sleep_state] to 'Sleep' and turns on the nino in bed [input_boolean.nino_in_bed] indicator."
|
|
},
|
|
"human_like": "This automation confirms that Nino is asleep after lying down for five minutes, then updates the sleep state and marks the bed as occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_countdown_to_birthday_turn_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When the current date is April 18th (month is 4 AND day is 18). CONDITIONS: None. ACTIONS: Turn off nino countdown to birthday [input_boolean.nino_countdown_to_birthday], turn off Nino Countdown to Birthday Turn Off [automation.nino_countdown_to_birthday_turn_off], turn off Nino Birthday Countdown Reminder [automation.nino_birthday_countdown_reminder], turn off Nino Birthday Daily Reset [automation.nino_birthday_daily_reset], and turn on Nino Countdown to Birthday Turn On [automation.nino_countdown_to_birthday_turn_on].",
|
|
"natural_language": {
|
|
"trigger": "On the specific date of April 18th.",
|
|
"conditions": "There are no additional conditions that need to be met.",
|
|
"action": "It turns off the nino countdown to birthday [input_boolean.nino_countdown_to_birthday] flag. It also deactivates itself (Nino Countdown to Birthday Turn Off [automation.nino_countdown_to_birthday_turn_off]) and two other related automations: Nino Birthday Countdown Reminder [automation.nino_birthday_countdown_reminder] and Nino Birthday Daily Reset [automation.nino_birthday_daily_reset]. Finally, it activates the Nino Countdown to Birthday Turn On [automation.nino_countdown_to_birthday_turn_on] automation."
|
|
},
|
|
"human_like": "This automation runs on April 18th to stop the birthday countdown and manage related reminder automations.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_countdown_to_birthday_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When the current date is April 2nd (month is 4 AND day is 2). CONDITIONS: None. ACTIONS: Turn on nino countdown to birthday [input_boolean.nino_countdown_to_birthday] AND turn on Nino Countdown to Birthday Turn Off [automation.nino_countdown_to_birthday_turn_off] AND turn off Nino Countdown to Birthday Turn On [automation.nino_countdown_to_birthday_turn_on].",
|
|
"natural_language": {
|
|
"trigger": "On April 2nd.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "It turns on the nino countdown to birthday [input_boolean.nino_countdown_to_birthday], enables the related automation Nino Countdown to Birthday Turn Off [automation.nino_countdown_to_birthday_turn_off], and disables itself (Nino Countdown to Birthday Turn On [automation.nino_countdown_to_birthday_turn_on])."
|
|
},
|
|
"human_like": "Activates a birthday countdown for Nino on April 2nd and prepares the system to later turn it off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_daily_medication_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: At 07:30:00 daily OR When timer.nino_daily_medication_timer finishes OR When nino sleep state [input_select.nino_sleep_state] changes to Awake AND remains for 1 hour. CONDITIONS: nino daily medication taken [input_boolean.nino_daily_medication_taken] is off AND nino daily medication timer [timer.nino_daily_medication_timer] is idle AND nino sleep state [input_select.nino_sleep_state] is Awake AND current time is after 07:30:00 AND before 10:30:00. ACTIONS: 1. Execute voice announcement script [script.voice_announcement] with a random medication reminder message. 2. Set variables action_taken and action_snooze. 3. Execute general notification script [script.general_notification] with a title, message, and two notification actions (Medication Taken, Snooze 15 Minutes). 4. Wait for one of the following triggers for up to 15 minutes: a mobile app notification action with action equal to action_taken, a mobile app notification action with action equal to action_snooze, OR a short press of the turn_on button on the christmas shortcut button [device_id: d98b081e7991a6e9ce1672128dad93ae] with event data action equal to action_taken. 5. After the wait: IF wait timed out (no trigger occurred), start nino daily medication timer [timer.nino_daily_medication_timer]. ELSE IF the wait trigger was the action_taken event, turn on nino daily medication taken [input_boolean.nino_daily_medication_taken], cancel nino daily medication timer [timer.nino_daily_medication_timer], and turn off Nino Daily Medication Reminder [automation.nino_daily_medication_reminder]. ELSE IF the wait trigger was the action_snooze event, start nino daily medication timer [timer.nino_daily_medication_timer].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at 7:30 AM every day, when the nino daily medication timer [timer.nino_daily_medication_timer] finishes, or when the nino sleep state [input_select.nino_sleep_state] changes to 'Awake' and stays that way for one hour.",
|
|
"conditions": "All of the following must be true: the nino daily medication taken [input_boolean.nino_daily_medication_taken] is off, the nino daily medication timer [timer.nino_daily_medication_timer] is idle, the nino sleep state [input_select.nino_sleep_state] is 'Awake', and the current time is between 7:30 AM and 10:30 AM.",
|
|
"action": "First, a voice announcement is made using the voice announcement script [script.voice_announcement] with a randomly chosen message reminding Nino to take his medication. Then, a notification is sent to all devices via the general notification script [script.general_notification] with the title 'Nino's Daily Medication Reminder' and two interactive buttons: 'Medication Taken' and 'Snooze 15 Minutes'. The automation then waits for 15 minutes for a response. It listens for someone to press the 'Medication Taken' or 'Snooze' button in the notification, or for a short press on the physical 'christmas shortcut button' [device_id: d98b081e7991a6e9ce1672128dad93ae] configured for the 'taken' action. If no response is received within 15 minutes, the nino daily medication timer [timer.nino_daily_medication_timer] is started. If the 'Medication Taken' action is received, the system marks the medication as taken by turning on nino daily medication taken [input_boolean.nino_daily_medication_taken], cancels the timer, and turns off this reminder automation. If the 'Snooze' action is received, the nino daily medication timer [timer.nino_daily_medication_timer] is started to trigger a reminder later."
|
|
},
|
|
"human_like": "Reminds Nino to take his morning medication between 7:30 and 10:30 AM, using voice and phone notifications, and allows him to confirm or snooze the reminder.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_medication_reminder_reset",
|
|
"result": {
|
|
"structured": "TRIGGER: At 03:00:01. CONDITIONS: None. ACTIONS: Turn off nino daily medication taken [input_boolean.nino_daily_medication_taken] AND cancel nino daily medication timer [timer.nino_daily_medication_timer] AND turn on Nino Daily Medication Reminder [automation.nino_daily_medication_reminder].",
|
|
"natural_language": {
|
|
"trigger": "At exactly 3:00:01 AM.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Resets the medication tracking system by turning off the 'nino daily medication taken' [input_boolean.nino_daily_medication_taken] status, cancelling the 'nino daily medication timer' [timer.nino_daily_medication_timer], and re-enabling the 'Nino Daily Medication Reminder' [automation.nino_daily_medication_reminder] automation."
|
|
},
|
|
"human_like": "Resets the daily medication reminder system every morning at 3 AM, preparing it for a new day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_medication_reminder_shortcut_button",
|
|
"result": {
|
|
"structured": "TRIGGER: When the device with ID d98b081e7991a6e9ce1672128dad93ae (christmas shortcut button) sends a 'turn_on' short press event. CONDITIONS: nino daily medication taken [input_boolean.nino_daily_medication_taken] is off. ACTIONS: Turn on nino daily medication taken [input_boolean.nino_daily_medication_taken], cancel nino daily medication timer [timer.nino_daily_medication_timer], and turn off Nino Daily Medication Reminder [automation.nino_daily_medication_reminder].",
|
|
"natural_language": {
|
|
"trigger": "When the christmas shortcut button [device_id: d98b081e7991a6e9ce1672128dad93ae] is pressed (short press, turn_on).",
|
|
"conditions": "If the status 'nino daily medication taken' [input_boolean.nino_daily_medication_taken] is currently off.",
|
|
"action": "Mark the medication as taken by turning on 'nino daily medication taken' [input_boolean.nino_daily_medication_taken], cancel the 'nino daily medication timer' [timer.nino_daily_medication_timer], and turn off the 'Nino Daily Medication Reminder' [automation.nino_daily_medication_reminder] automation."
|
|
},
|
|
"human_like": "Pressing the shortcut button marks Nino's daily medication as taken, cancels the reminder timer, and stops further reminders.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_escape_monitor",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos door sensor status [binary_sensor.ninos_door_sensor_status] changes to open (on). CONDITIONS: (No device in the group room presence devices group [group.room_presence_devices] reports its state as 'nino_bedroom') AND ((bedtime [input_boolean.bedtime] is off AND (the last update time of ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is more than 900 seconds ago) AND ninos door sensor status [binary_sensor.ninos_door_sensor_status] remains closed (off) for 10 minutes) OR (bedtime [input_boolean.bedtime] is on AND binary sensor main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] is closed (off) AND (the last update time of binary sensor main bedroom door sensor status [binary_sensor.main_bedroom_door_sensor_status] is more than 90 seconds ago))). ACTIONS: Send a notification via mobile app jk 2 notification [notify.mobile_app_jk_2] with title 'Nino Escape Monitor' and message 'Nino is escaping!'.",
|
|
"natural_language": {
|
|
"trigger": "When the ninos door sensor status [binary_sensor.ninos_door_sensor_status] opens.",
|
|
"conditions": "First, no device in the room presence devices group [group.room_presence_devices] is currently reporting its location as 'nino_bedroom'. Additionally, one of two scenarios must be true: 1) It is not bedtime (bedtime [input_boolean.bedtime] is off), the room has been marked as occupied for over 15 minutes (based on the last update of ninos bedroom occupied [input_boolean.ninos_bedroom_occupied]), and the door has been closed for at least 10 minutes. OR 2) It is bedtime (bedtime [input_boolean.bedtime] is on), the main bedroom door is closed, and it has been closed for more than 90 seconds.",
|
|
"action": "Sends a push notification titled 'Nino Escape Monitor' with the message 'Nino is escaping!' to the mobile app jk 2 notification [notify.mobile_app_jk_2]."
|
|
},
|
|
"human_like": "Sends an alert if Nino's door opens under conditions suggesting they are leaving their room unsupervised, with different rules for daytime and bedtime.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_escape_monitor_turn_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns off OR when ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] turns off. CONDITIONS: (ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off) AND (bedtime [input_boolean.bedtime] is off). ACTIONS: Turn off Nino Escape Monitor [automation.nino_escape_monitor].",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime [input_boolean.bedtime] setting is turned off, or when the ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] status is turned off.",
|
|
"conditions": "Both the ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] status must be off, and the bedtime [input_boolean.bedtime] setting must also be off.",
|
|
"action": "Disables the Nino Escape Monitor [automation.nino_escape_monitor] automation."
|
|
},
|
|
"human_like": "Turns off the Nino escape monitor automation when bedtime is over and the bedroom is no longer occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_escape_monitor_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on OR When ninos door sensor status [binary_sensor.ninos_door_sensor_status] remains closed (off) for 30 minutes. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND ninos door sensor status [binary_sensor.ninos_door_sensor_status] is closed (off). ACTIONS: Turn on Nino Escape Monitor [automation.nino_escape_monitor].",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime mode is activated by turning on bedtime [input_boolean.bedtime], or when the door sensor in Nino's bedroom, ninos door sensor status [binary_sensor.ninos_door_sensor_status], remains closed for a continuous period of 30 minutes.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on, and the door sensor in Nino's bedroom, ninos door sensor status [binary_sensor.ninos_door_sensor_status], must currently be reporting as closed.",
|
|
"action": "Activates the Nino Escape Monitor automation by turning on Nino Escape Monitor [automation.nino_escape_monitor]."
|
|
},
|
|
"human_like": "Turns on the Nino escape monitoring automation when it's bedtime or the bedroom door has been closed for a while, but only if the house is occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_nap_time",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] turns on and remains on for 3 minutes OR When ninos bedroom main lights [light.ninos_bedroom_main_lights] turn off OR When nino bedroom lamp [light.nino_bedroom_lamp] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is on AND ninos door sensor status [binary_sensor.ninos_door_sensor_status] is off AND quiet mode [input_boolean.quiet_mode] is off AND the current time is after 17:00:00. ACTIONS: Turn on quiet mode [input_boolean.quiet_mode] AND execute script voice announcement [script.voice_announcement] with a random speech message announcing Nino is going to sleep.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if the 'ninos bedroom occupied' [input_boolean.ninos_bedroom_occupied] switch has been on for three minutes, or if the main lights in Nino's bedroom [light.ninos_bedroom_main_lights] are turned off, or if the lamp in Nino's bedroom [light.nino_bedroom_lamp] is turned on.",
|
|
"conditions": "All of the following must be true: the house must be marked as occupied [input_boolean.house_occupied], Nino's bedroom must be marked as occupied [input_boolean.ninos_bedroom_occupied], the door sensor in Nino's room [binary_sensor.ninos_door_sensor_status] must report the door is closed, the 'quiet mode' [input_boolean.quiet_mode] must currently be off, and the time must be after 5:00 PM.",
|
|
"action": "The automation turns on the 'quiet mode' [input_boolean.quiet_mode] and then plays a voice announcement [script.voice_announcement] on all available media players. The announcement uses a harp sound and randomly selects a message from a list of phrases asking for quiet because Nino is going to sleep."
|
|
},
|
|
"human_like": "Enables quiet mode and makes an announcement in the evening when Nino's bedroom shows signs of him going to sleep, like the lights being adjusted or the room being occupied for a few minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_nap_time_ended",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] changes to off. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND ninos door sensor status [binary_sensor.ninos_door_sensor_status] is on AND ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off AND quiet mode [input_boolean.quiet_mode] is on AND gianlucas room occupied [input_boolean.gianlucas_room_occupied] is off. ACTIONS: Turn off quiet mode [input_boolean.quiet_mode].",
|
|
"natural_language": {
|
|
"trigger": "When the status of Nino's bedroom being occupied changes to off.",
|
|
"conditions": "The house must be occupied, the door sensor in Nino's room must be on (likely meaning the door is open), Nino's bedroom must be unoccupied, the quiet mode must be active, and Gianluca's room must also be unoccupied.",
|
|
"action": "Turns off the quiet mode."
|
|
},
|
|
"human_like": "Ends quiet mode when Nino's nap is over, the house is occupied, and other conditions are met to ensure it's appropriate.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_nightlight_turn_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] remains off for 1 hour OR at 07:00:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND nino bedroom lamp [light.nino_bedroom_lamp] is on AND current time is after 06:00:00. ACTIONS: Turn off nino bedroom lamp [light.nino_bedroom_lamp].",
|
|
"natural_language": {
|
|
"trigger": "When the ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] indicator has been off for a full hour, or when the clock reaches 7:00 AM.",
|
|
"conditions": "The house must be marked as occupied via house occupied [input_boolean.house_occupied] being on, the nino bedroom lamp [light.nino_bedroom_lamp] must currently be on, and the current time must be after 6:00 AM.",
|
|
"action": "Turns off the nino bedroom lamp [light.nino_bedroom_lamp]."
|
|
},
|
|
"human_like": "Turns off Nino's bedroom lamp in the morning after the room has been unoccupied for an hour or at 7 AM, but only if the house is occupied and it's after 6 AM.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_nightlight_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] turns on and remains on for 1 hour OR when the time is 22:00:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND nino bedroom lamp [light.nino_bedroom_lamp] is on AND the current time is after 19:00:00. ACTIONS: Activate scene ninos room nino nightlight [scene.ninos_room_nino_nightlight].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in two ways: either when the 'ninos bedroom occupied' [input_boolean.ninos_bedroom_occupied] status turns on and stays on for a full hour, or at exactly 10:00 PM.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied [input_boolean.house_occupied], the nino bedroom lamp [light.nino_bedroom_lamp] must already be on, and the current time must be after 7:00 PM.",
|
|
"action": "It activates the 'ninos room nino nightlight' [scene.ninos_room_nino_nightlight] scene."
|
|
},
|
|
"human_like": "Turns on a nightlight scene in Nino's bedroom in the evening, either when the room is occupied for an hour or at bedtime, provided the house is occupied and the main lamp is on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_school_day_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When primary school day [input_boolean.primary_school_day] turns off. CONDITIONS: nino school day [input_boolean.nino_school_day] is on. ACTIONS: Turn off nino school day [input_boolean.nino_school_day] AND turn off Nino School Pickup Reminder [automation.nino_school_pickup_reminder].",
|
|
"natural_language": {
|
|
"trigger": "When the primary school day [input_boolean.primary_school_day] is turned off.",
|
|
"conditions": "The nino school day [input_boolean.nino_school_day] must be currently on.",
|
|
"action": "Turns off the nino school day [input_boolean.nino_school_day] and also disables the Nino School Pickup Reminder [automation.nino_school_pickup_reminder] automation."
|
|
},
|
|
"human_like": "When the primary school day ends, this automation marks Nino's school day as over and disables the related pickup reminder.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_school_day_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When primary school day [input_boolean.primary_school_day] turns on. CONDITIONS: None. ACTIONS: Turn on nino school day [input_boolean.nino_school_day] AND turn on Nino School Pickup Reminder [automation.nino_school_pickup_reminder].",
|
|
"natural_language": {
|
|
"trigger": "When the primary school day [input_boolean.primary_school_day] is turned on.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns on the nino school day [input_boolean.nino_school_day] switch and enables the Nino School Pickup Reminder [automation.nino_school_pickup_reminder] automation."
|
|
},
|
|
"human_like": "Activates Nino's school day status and enables the pickup reminder when the primary school day begins.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_school_day_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When a calendar event on calendar ninos school [calendar.ninos_school] starts, with an offset of 1 hour and 30 minutes before the event start time. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND nino school day [input_boolean.nino_school_day] is on AND the calendar event summary (converted to lowercase) does NOT contain the word 'reminder'. ACTIONS: Execute the voice announcement script [script.voice_announcement] with data: target media players set to 'auto', sound set to 'school-bell-chime', and a dynamic speech message. The message is randomly selected from a list. If the event summary (lowercase) contains 'school day', a generic school day reminder is used. Otherwise, the event summary is inserted into a reminder message.",
|
|
"natural_language": {
|
|
"trigger": "When a new event on the calendar ninos school [calendar.ninos_school] is about to start, specifically 1 hour and 30 minutes before its scheduled start time.",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), the school day flag must be active (nino school day [input_boolean.nino_school_day] is on), and the calendar event's title must not contain the word 'reminder' (to avoid announcing reminders about the reminder itself).",
|
|
"action": "Plays a school bell chime sound and makes a voice announcement on all configured media players. The spoken message is randomly chosen from a set of templates. If the event is a generic 'school day', it uses a standard breakfast reminder. For other event types (like a specific activity), it inserts the event name into the announcement."
|
|
},
|
|
"human_like": "Announces a breakfast and school preparation reminder 90 minutes before a school calendar event starts, but only when the house is occupied and it's flagged as a school day.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_school_departure_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar ninos school [calendar.ninos_school] event starts in 15 minutes. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND nino school day [input_boolean.nino_school_day] is on AND the trigger event summary does not contain the word 'reminder' (case-insensitive). ACTIONS: Execute voice announcement script [script.voice_announcement] with parameters: media_players set to auto, sound set to school-bell, priority set to high, expires_in set to 5, and a speech message that is randomly selected from a list of phrases. The phrase is based on the event summary: if it contains 'giggle gang', use 'Giggle Gang'; if it contains 'little acorns', use 'Little Acorns'; otherwise, use 'school'. The phrases announce that the event starts soon and it's time to pack up and head out.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered 15 minutes before an event on the calendar ninos school [calendar.ninos_school] starts.",
|
|
"conditions": "The automation only runs if the house is marked as occupied (house occupied [input_boolean.house_occupied] is on), if it is a school day for Nino (nino school day [input_boolean.nino_school_day] is on), and if the calendar event's title does not contain the word 'reminder' (to avoid duplicate announcements).",
|
|
"action": "It plays a voice announcement on all available media players using the voice announcement script [script.voice_announcement]. The announcement uses a school bell sound, has high priority, and expires after 5 seconds. The spoken message is chosen randomly from a set of phrases that mention the specific event type (like 'Giggle Gang' or 'Little Acorns' if found in the event title, otherwise just 'school'), telling everyone it's time to pack up and head out."
|
|
},
|
|
"human_like": "Sends a voice reminder 15 minutes before Nino's school or activity starts, but only when someone is home and it's a scheduled school day.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_school_pickup_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in primary school pickup reminder [input_datetime.primary_school_pickup_reminder]. CONDITIONS: nino school day [input_boolean.nino_school_day] is on. ACTIONS: Execute voice announcement script [script.voice_announcement] with a random school pickup message and a chime sound on all available media players, then execute general notification script [script.general_notification] with a time-sensitive alert to all devices.",
|
|
"natural_language": {
|
|
"trigger": "At the specific time configured in the primary school pickup reminder [input_datetime.primary_school_pickup_reminder].",
|
|
"conditions": "Only if the nino school day [input_boolean.nino_school_day] is turned on, indicating it is a school day.",
|
|
"action": "Plays a school bell chime sound and speaks a randomly selected reminder message (e.g., \"School is done! Time to pick up Nino!\") on all available media players. It also sends a time-sensitive push notification titled \"Nino's school is ending soon\" to all configured devices."
|
|
},
|
|
"human_like": "Sends a voice and push notification reminder to pick up Nino from school at a scheduled time, but only on school days.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nino_school_reminder_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When calendar nino school reminder [calendar.nino_school_reminder] event starts. CONDITIONS: nino school day [input_boolean.nino_school_day] is on. ACTIONS: Execute voice announcement script [script.voice_announcement] with parameters: media_players set to auto, sound set to school-bell-chime, and speech_message set to the message attribute from calendar nino school reminder [calendar.nino_school_reminder].",
|
|
"natural_language": {
|
|
"trigger": "When a scheduled event on the calendar nino school reminder [calendar.nino_school_reminder] begins.",
|
|
"conditions": "Only if the nino school day [input_boolean.nino_school_day] is currently switched on.",
|
|
"action": "Plays a school bell chime sound and announces the specific message from the calendar event using the voice announcement script [script.voice_announcement] on all available media players."
|
|
},
|
|
"human_like": "Announces a school reminder with a bell sound on school days when a calendar event starts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nonna_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When person mary falbo [person.mary_falbo] changes state from not_home to home. CONDITIONS: person mary falbo [person.mary_falbo] is home AND house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data (person: nonna, announcement_type: arrival) AND if guest mode announced [input_boolean.guest_mode_announced] is off, then turn on guest mode announced [input_boolean.guest_mode_announced].",
|
|
"natural_language": {
|
|
"trigger": "When person mary falbo [person.mary_falbo] arrives home, changing her state from not_home to home.",
|
|
"conditions": "If person mary falbo [person.mary_falbo] is currently at home, and the house occupied [input_boolean.house_occupied] indicator has been on and stable for at least five minutes.",
|
|
"action": "First, run the script person announcement [script.person_announcement] to announce the arrival of 'nonna'. Then, check if the guest mode announced [input_boolean.guest_mode_announced] is off, and if so, turn it on."
|
|
},
|
|
"human_like": "Announces Nonna's arrival home when the house is occupied, and marks that a guest mode announcement has been made.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nonna_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When person mary falbo [person.mary_falbo] changes state from home. CONDITIONS: (person mary falbo [person.mary_falbo] is not_home) AND (house occupied [input_boolean.house_occupied] is on AND remains for 5 minutes). ACTIONS: Execute script person announcement [script.person_announcement] with data: person = nonna, announcement_type = departure.",
|
|
"natural_language": {
|
|
"trigger": "When person mary falbo [person.mary_falbo] leaves home (state changes from home).",
|
|
"conditions": "If person mary falbo [person.mary_falbo] is currently not at home, and the house occupied [input_boolean.house_occupied] indicator has been on for at least five minutes.",
|
|
"action": "Runs the person announcement script [script.person_announcement] to announce the departure of 'nonna'."
|
|
},
|
|
"human_like": "Announces when Nonna leaves the house, but only if the house has been occupied for a while.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nonna_bluetooth_detected_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When mary room presence [sensor.mary_room_presence] state changes to any value other than 'not_home'. CONDITIONS: None. ACTIONS: Call service device_tracker.see for device nonna_iphone_ble_device_tracker, setting its location to 'home' if mary room presence [sensor.mary_room_presence] is not 'not_home', otherwise setting its location to 'not_home'.",
|
|
"natural_language": {
|
|
"trigger": "When the mary room presence [sensor.mary_room_presence] sensor indicates a state that is not 'not_home'.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Updates the location of the device tracker named 'nonna_iphone_ble_device_tracker'. If the mary room presence [sensor.mary_room_presence] is not 'not_home', the device is set to be at 'home'. If the presence sensor is 'not_home', the device is set to 'not_home'."
|
|
},
|
|
"human_like": "Updates Nonna's phone location based on Mary's room presence sensor, setting it to 'home' when Mary is detected at home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "nonna_is_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When person mary falbo [person.mary_falbo] changes to not_home OR When Nonna Presence [binary_sensor.nonna_presence] changes to off OR When event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: (NOT (nonna status [input_select.nonna_status] is Just Left)) AND (Nonna Presence [binary_sensor.nonna_presence] is off OR person mary falbo [person.mary_falbo] is off). ACTIONS: Turn off nonna home [input_boolean.nonna_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when person mary falbo [person.mary_falbo] leaves home (changes to not_home), when the Nonna Presence [binary_sensor.nonna_presence] sensor indicates absence (changes to off), when Home Assistant reloads automations, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the nonna status [input_select.nonna_status] is not currently set to 'Just Left'. Additionally, either the Nonna Presence [binary_sensor.nonna_presence] must be off, or person mary falbo [person.mary_falbo] must be off.",
|
|
"action": "Sets the 'nonna home' status to away by turning off the input_boolean.nonna_home."
|
|
},
|
|
"human_like": "Marks Nonna as away when she leaves home or her presence sensor indicates she's gone, ensuring the status isn't set if she has just left.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nonna_is_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When person mary falbo [person.mary_falbo] arrives home OR When Nonna Presence [binary_sensor.nonna_presence] turns on OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: nonna home [input_boolean.nonna_home] is off AND (Nonna Presence [binary_sensor.nonna_presence] is on OR person mary falbo [person.mary_falbo] is home). ACTIONS: Turn on nonna home [input_boolean.nonna_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when person mary falbo [person.mary_falbo] arrives home, when the Nonna Presence [binary_sensor.nonna_presence] sensor turns on, when Home Assistant reloads automations, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the nonna home [input_boolean.nonna_home] flag is currently off, and at least one of the following is true: the Nonna Presence [binary_sensor.nonna_presence] sensor is on, or person mary falbo [person.mary_falbo] is at home.",
|
|
"action": "Sets the nonna home [input_boolean.nonna_home] flag to on, indicating that Nonna is home."
|
|
},
|
|
"human_like": "Sets a flag to indicate Nonna is home when she arrives or when her presence sensor detects her, ensuring the flag is only set if it wasn't already on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nonna_open_garage_upon_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When nonna home [input_boolean.nonna_home] turns on and remains on for 3 seconds. CONDITIONS: person mary falbo [person.mary_falbo] is home AND nonna status [input_select.nonna_status] is Just Arrived AND cover garage doors [cover.garage_doors] is closed AND bedtime [input_boolean.bedtime] is off. ACTIONS: Wait for garage driveway camera person detected [binary_sensor.garage_driveway_person_detected] to turn on, with a timeout of 3 minutes. If the condition is met within the timeout, then open cover garage door 2 [cover.garage_door_2].",
|
|
"natural_language": {
|
|
"trigger": "When the 'nonna home' indicator [input_boolean.nonna_home] is turned on and stays on for at least 3 seconds.",
|
|
"conditions": "Mary Falbo [person.mary_falbo] must be at home, the 'nonna status' [input_select.nonna_status] must be set to 'Just Arrived', the main garage doors [cover.garage_doors] must be closed, and the 'bedtime' mode [input_boolean.bedtime] must be off.",
|
|
"action": "The automation waits for up to 3 minutes for a person to be detected by the garage driveway camera [binary_sensor.garage_driveway_person_detected]. If a person is detected within that time, it opens the second garage door [cover.garage_door_2]."
|
|
},
|
|
"human_like": "Automatically opens the second garage door when Nonna arrives home, provided it's not bedtime and someone is detected in the driveway.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nws_alerts_update_event_id_history",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor nws alerts [sensor.nws_alerts] state changes. CONDITIONS: None. ACTIONS: Wait 5 minutes. Then, repeat the following sequence: Wait 5 seconds, then check if there is at least one new alert ID in sensor nws alerts [sensor.nws_alerts] that is not already recorded in the history attributes of nws alerts event ids [sensor.nws_alerts_event_ids]. If true, update the value of nws alerts event ids [sensor.nws_alerts_event_ids] with the first new ID, and update its history attributes (history_1 through history_15) by shifting the previous history values down and inserting the new ID at history_1. Repeat this sequence until there are no new alert IDs to process.",
|
|
"natural_language": {
|
|
"trigger": "The automation starts whenever the state of the sensor nws alerts [sensor.nws_alerts] changes.",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "After waiting for 5 minutes, the automation enters a loop. In each cycle, it waits 5 seconds and then checks if there are any new National Weather Service alert IDs present in the current alerts list that are not already stored in the history of the nws alerts event ids [sensor.nws_alerts_event_ids] sensor. If a new ID is found, it updates the sensor's value with that new ID and shifts its historical record (a list of the last 15 unique alert IDs) to include the new one at the front. This loop continues until all new alert IDs have been processed and added to the history."
|
|
},
|
|
"human_like": "Maintains a rolling history of the most recent National Weather Service alert IDs by checking for new alerts and updating a log sensor.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_air_quality_detections",
|
|
"result": {
|
|
"structured": "TRIGGER: When office air quality [sensor.office_air_quality] changes to Hazardous AND remains for 2 minutes OR When office air quality [sensor.office_air_quality] changes to Unhealthy AND remains for 3 minutes OR When office air quality [sensor.office_air_quality] changes to Moderate AND remains for 5 minutes OR When office air quality [sensor.office_air_quality] changes to Acceptable OR When input boolean office occupied [input_boolean.office_occupied] changes state. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) OR (almost home [input_boolean.almost_home] is on). ACTIONS: Execute script air quality set air purifier mode [script.air_quality_set_air_purifier_mode] with parameters: purifier set to fan.office_air_purifier, aqi_state set to the current state of office air quality [sensor.office_air_quality], and room_state set to the current state of office mode [input_select.office].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: if the office air quality [sensor.office_air_quality] sensor reports a 'Hazardous' level and stays that way for 2 minutes, an 'Unhealthy' level for 3 minutes, a 'Moderate' level for 5 minutes, or immediately upon changing to an 'Acceptable' level. It also triggers whenever the occupancy status of the office, input boolean office occupied [input_boolean.office_occupied], changes.",
|
|
"conditions": "For the automation to run, the house must be occupied or someone must be almost home. Specifically, either the house occupied [input_boolean.house_occupied] switch must be on, or the almost home [input_boolean.almost_home] switch must be on.",
|
|
"action": "The automation runs a script called air quality set air purifier mode [script.air_quality_set_air_purifier_mode]. This script is provided with the office air purifier [fan.office_air_purifier], the current air quality reading, and the current mode of the office [input_select.office] to determine the appropriate fan setting."
|
|
},
|
|
"human_like": "Adjusts the office air purifier based on air quality levels and occupancy, but only when the house is occupied or someone is on their way home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_camera_light_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] turns off AND remains off for 4 seconds OR When input boolean office occupied [input_boolean.office_occupied] turns off OR When binary sensor johns macbook pro active [binary_sensor.johns_macbook_pro_active] turns off. CONDITIONS: binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] is off AND office el gato light [light.office_el_gato_light] is on. ACTIONS: Turn off office el gato light [light.office_el_gato_light].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: if the laptop camera [binary_sensor.john_laptop_camera_active] is turned off and stays off for 4 seconds, if the office occupancy status [input_boolean.office_occupied] is switched to off, or if the MacBook activity sensor [binary_sensor.johns_macbook_pro_active] reports as off.",
|
|
"conditions": "For the action to run, the laptop camera [binary_sensor.john_laptop_camera_active] must be off and the office El Gato light [light.office_el_gato_light] must be on.",
|
|
"action": "Turns off the office El Gato light [light.office_el_gato_light]."
|
|
},
|
|
"human_like": "Turns off the office camera light when the laptop camera is inactive, the office is unoccupied, or the MacBook is inactive, ensuring the light is only on when needed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_camera_light_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] turns on AND remains on for 2 seconds OR When sensor john room presence [sensor.john_room_presence] changes to office. CONDITIONS: input boolean office occupied [input_boolean.office_occupied] is on AND binary sensor john laptop camera active [binary_sensor.john_laptop_camera_active] is on AND sensor john room presence [sensor.john_room_presence] is office AND office el gato light [light.office_el_gato_light] is off. ACTIONS: Turn on office el gato light [light.office_el_gato_light].",
|
|
"natural_language": {
|
|
"trigger": "When John's laptop camera becomes active and stays on for at least 2 seconds, or when John's room presence sensor reports that he is in the office.",
|
|
"conditions": "The office must be marked as occupied via the input boolean office occupied [input_boolean.office_occupied], John's laptop camera must be active [binary_sensor.john_laptop_camera_active], John's room presence [sensor.john_room_presence] must be in the office, and the office el gato light [light.office_el_gato_light] must currently be off.",
|
|
"action": "Turns on the office el gato light [light.office_el_gato_light]."
|
|
},
|
|
"human_like": "Automatically turns on the office light when John is present, the office is occupied, and his laptop camera is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_dnd_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean john dnd [input_boolean.john_dnd] turns on OR When input boolean office occupied [input_boolean.office_occupied] turns on OR When john room presence [sensor.john_room_presence] changes to office OR When office guest mode [input_boolean.office_guest_mode] turns on. CONDITIONS: (input boolean office occupied [input_boolean.office_occupied] is on) AND ((input boolean john dnd [input_boolean.john_dnd] is on AND john room presence [sensor.john_room_presence] is office) OR (office guest mode [input_boolean.office_guest_mode] is on)). ACTIONS: Turn on office dnd [input_boolean.office_dnd].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean john dnd [input_boolean.john_dnd] is turned on, when the input boolean office occupied [input_boolean.office_occupied] is turned on, when the john room presence [sensor.john_room_presence] changes to 'office', or when the office guest mode [input_boolean.office_guest_mode] is turned on.",
|
|
"conditions": "The office must be occupied, meaning the input boolean office occupied [input_boolean.office_occupied] is on. Additionally, either John is in Do Not Disturb mode and is present in the office, or the office guest mode is active.",
|
|
"action": "Activates the office Do Not Disturb mode by turning on office dnd [input_boolean.office_dnd]."
|
|
},
|
|
"human_like": "Turns on the office Do Not Disturb mode when the office is occupied and either John is present with his DnD active or guest mode is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_dnd_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean john dnd [input_boolean.john_dnd] remains off for 2 minutes OR When input boolean office occupied [input_boolean.office_occupied] turns off OR When office guest mode [input_boolean.office_guest_mode] remains off for 2 minutes OR When john room presence [sensor.john_room_presence] changes from office to any other state. CONDITIONS: ((input boolean john dnd [input_boolean.john_dnd] is off) OR (john room presence [sensor.john_room_presence] is not office)) AND (office guest mode [input_boolean.office_guest_mode] is off). ACTIONS: Turn off office dnd [input_boolean.office_dnd].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: if the 'input boolean john dnd' [input_boolean.john_dnd] has been off for two minutes, if the 'input boolean office occupied' [input_boolean.office_occupied] becomes off, if the 'office guest mode' [input_boolean.office_guest_mode] has been off for two minutes, or if the 'john room presence' [sensor.john_room_presence] sensor indicates John has left the office.",
|
|
"conditions": "For the action to run, two conditions must be met. First, either John's Do Not Disturb is off, or John is not present in the office. Second, the office guest mode must be off.",
|
|
"action": "Turns off the 'office dnd' [input_boolean.office_dnd] input boolean."
|
|
},
|
|
"human_like": "Turns off the office's Do Not Disturb mode when John leaves the office, turns off his personal DnD, or when the office is no longer occupied, provided guest mode is not active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_dnd_light_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office mode [input_select.office] changes from DnD. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND office mode [input_select.office] is not DnD. ACTIONS: Turn off hue play 1 [light.hue_play_1].",
|
|
"natural_language": {
|
|
"trigger": "When the office mode [input_select.office] changes away from the 'DnD' setting.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled (on), and the office mode [input_select.office] must not currently be set to 'DnD'.",
|
|
"action": "Turns off the hue play 1 [light.hue_play_1] light."
|
|
},
|
|
"human_like": "Turns off the office light when the room mode is changed from 'Do Not Disturb' and lighting automations are active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_dnd_light_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When office mode [input_select.office] changes to DnD OR When lighting automations [input_boolean.lighting_automations] turns on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND input boolean office occupied [input_boolean.office_occupied] is on AND office mode [input_select.office] is DnD. ACTIONS: Activate the 'John DnD' scene on the Hue group named 'Office Signal'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when the office mode [input_select.office] is changed to 'DnD', or when the master lighting automations [input_boolean.lighting_automations] are turned on.",
|
|
"conditions": "For the action to run, all of the following must be true: the master lighting automations [input_boolean.lighting_automations] must be enabled, the office must be marked as occupied via input boolean office occupied [input_boolean.office_occupied], and the office mode [input_select.office] must be set to 'DnD'.",
|
|
"action": "Activates a specific Philips Hue scene called 'John DnD' for the light group named 'Office Signal'."
|
|
},
|
|
"human_like": "Turns on a 'Do Not Disturb' lighting scene in the office when the room is occupied and set to DnD mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_echo_dnd_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office mode [input_select.office] changes to Auto AND remains for 5 minutes OR When input boolean office occupied [input_boolean.office_occupied] changes to off. CONDITIONS: john's echo dot do not disturb switch [switch.john_s_echo_dot_do_not_disturb_switch] is on. ACTIONS: Turn off john's echo dot do not disturb switch [switch.john_s_echo_dot_do_not_disturb_switch].",
|
|
"natural_language": {
|
|
"trigger": "When the office mode [input_select.office] is set to 'Auto' and stays that way for five minutes, or when the input boolean office occupied [input_boolean.office_occupied] is turned off.",
|
|
"conditions": "The john's echo dot do not disturb switch [switch.john_s_echo_dot_do_not_disturb_switch] must be currently on.",
|
|
"action": "Turns off the do not disturb feature on the Echo Dot by switching off john's echo dot do not disturb switch [switch.john_s_echo_dot_do_not_disturb_switch]."
|
|
},
|
|
"human_like": "Turns off the Echo Dot's Do Not Disturb mode when the office is set to 'Auto' for a while or when the room is no longer occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_echo_dnd_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When office mode [input_select.office] changes to DnD OR when input boolean office occupied [input_boolean.office_occupied] changes to on. CONDITIONS: input boolean office occupied [input_boolean.office_occupied] is on AND office mode [input_select.office] is DnD AND binary sensor johns macbook pro active [binary_sensor.johns_macbook_pro_active] is on. ACTIONS: Turn on john's echo dot do not disturb switch [switch.john_s_echo_dot_do_not_disturb_switch].",
|
|
"natural_language": {
|
|
"trigger": "When the office mode [input_select.office] is set to 'DnD' or when the office occupied status [input_boolean.office_occupied] changes to 'on'.",
|
|
"conditions": "The office must be marked as occupied, the office mode must be set to 'DnD', and John's MacBook Pro must be active.",
|
|
"action": "Activates the Do Not Disturb mode on John's Echo Dot by turning on the corresponding switch."
|
|
},
|
|
"human_like": "Turns on Do Not Disturb for the office Echo Dot when the office is occupied, set to DnD mode, and John's MacBook is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lighting_automation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office mode [input_select.office] changes to DnD. CONDITIONS: office lighting automations [input_boolean.office_lighting_automations] is on AND input boolean office occupied [input_boolean.office_occupied] is on. ACTIONS: Turn off office lighting automations [input_boolean.office_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "When the office mode [input_select.office] is set to 'DnD'.",
|
|
"conditions": "The office lighting automations [input_boolean.office_lighting_automations] must be enabled (on), and the input boolean office occupied [input_boolean.office_occupied] must be on, indicating the office is occupied.",
|
|
"action": "Disables the office lighting automations by turning off the office lighting automations [input_boolean.office_lighting_automations] input boolean."
|
|
},
|
|
"human_like": "Turns off the office lighting automations when the office is set to 'Do Not Disturb' mode and the room is occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lighting_automation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When office mode [input_select.office] changes from DnD. CONDITIONS: office lighting automations [input_boolean.office_lighting_automations] is on AND input boolean office occupied [input_boolean.office_occupied] is on. ACTIONS: Turn off office lighting automations [input_boolean.office_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "When the office mode [input_select.office] is changed away from the 'DnD' setting.",
|
|
"conditions": "If the office lighting automations [input_boolean.office_lighting_automations] are currently enabled and the input boolean office occupied [input_boolean.office_occupied] is currently set to on.",
|
|
"action": "Disables the office lighting automations by turning off office lighting automations [input_boolean.office_lighting_automations]."
|
|
},
|
|
"human_like": "Disables the office lighting automations when the room is occupied and the mode is changed from 'Do Not Disturb'.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_day_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office aqara illuminance [sensor.office_aqara_illuminance] remains above 151 lux for 10 minutes OR When office aqara illuminance [sensor.office_aqara_illuminance] remains above 250 lux for 5 minutes OR When bad weather [input_boolean.bad_weather] turns off. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND office lighting automations [input_boolean.office_lighting_automations] is on AND office mode [input_select.office] is NOT 'DnD' AND bad weather [input_boolean.bad_weather] is off AND office aqara illuminance [sensor.office_aqara_illuminance] is above 151 lux. ACTIONS: Turn off office lights group [group.office_lights] AND Turn off office lights auto [input_boolean.office_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When the office aqara illuminance [sensor.office_aqara_illuminance] stays above 151 lux for 10 minutes, or when it stays above 250 lux for 5 minutes, or when the bad weather [input_boolean.bad_weather] flag is turned off.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] and the office lighting automations [input_boolean.office_lighting_automations] must both be enabled. The office mode [input_select.office] must not be set to 'DnD'. The bad weather [input_boolean.bad_weather] flag must be off, and the current office illuminance [sensor.office_aqara_illuminance] must be above 151 lux.",
|
|
"action": "Turns off all the lights in the office lights group [group.office_lights] and also turns off the office lights auto [input_boolean.office_lights_auto] flag."
|
|
},
|
|
"human_like": "Automatically turns off the office lights when there is sufficient natural light and all automation flags are enabled, ensuring lights are not needed during the day.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_day_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When office aqara illuminance [sensor.office_aqara_illuminance] remains below 150 lux for 3 minutes OR When office aqara illuminance [sensor.office_aqara_illuminance] remains below 125 lux for 3 minutes OR When office aqara illuminance [sensor.office_aqara_illuminance] remains below 100 lux for 5 minutes OR When bad weather [input_boolean.bad_weather] turns on OR When lighting automations [input_boolean.lighting_automations] turns on OR When office lighting automations [input_boolean.office_lighting_automations] turns on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND office lighting automations [input_boolean.office_lighting_automations] is on AND input boolean office occupied [input_boolean.office_occupied] is on AND office aqara illuminance [sensor.office_aqara_illuminance] is below 150 lux AND office lights group [group.office_lights] is off AND (office mode [input_select.office] is Auto OR office mode [input_select.office] is DnD). ACTIONS: Turn on office lights group [group.office_lights] AND Turn on office lights auto [input_boolean.office_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: when the office illuminance sensor [sensor.office_aqara_illuminance] remains below 150 lux for 3 minutes, below 125 lux for 3 minutes, or below 100 lux for 5 minutes. It can also be triggered when the bad weather toggle [input_boolean.bad_weather] is turned on, when the global lighting automations toggle [input_boolean.lighting_automations] is turned on, or when the office-specific lighting automations toggle [input_boolean.office_lighting_automations] is turned on.",
|
|
"conditions": "For the automation to run, several conditions must be met. The global lighting automations [input_boolean.lighting_automations] and the office-specific lighting automations [input_boolean.office_lighting_automations] must both be enabled. The office must be marked as occupied [input_boolean.office_occupied]. The current illuminance level [sensor.office_aqara_illuminance] must be below 150 lux, and the office lights [group.office_lights] must currently be off. Finally, the office mode [input_select.office] must be set to either 'Auto' or 'DnD'.",
|
|
"action": "The automation turns on the office lights [group.office_lights] and sets a flag [input_boolean.office_lights_auto] to indicate the lights were turned on automatically."
|
|
},
|
|
"human_like": "Automatically turns on the office lights when it's dark enough, the room is occupied, and the system is in an appropriate mode, also responding to bad weather or automation toggles.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_motion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] remains off for 1 minute. CONDITIONS: input boolean office occupied [input_boolean.office_occupied] is off AND office presence [binary_sensor.office_presence] is off AND office lights group [group.office_lights] is on. ACTIONS: Turn off office lights group [group.office_lights], turn off Office Lights Motion Off [automation.office_lights_motion_off], and turn off office lights auto [input_boolean.office_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When the office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] has not detected any motion for at least one minute.",
|
|
"conditions": "If the input boolean office occupied [input_boolean.office_occupied] is set to off, the office presence [binary_sensor.office_presence] sensor is not detecting presence, and the office lights group [group.office_lights] is currently on.",
|
|
"action": "Turns off the office lights group [group.office_lights], disables this automation itself [automation.office_lights_motion_off], and turns off the office lights auto [input_boolean.office_lights_auto] input boolean."
|
|
},
|
|
"human_like": "Automatically turns off the office lights when no motion is detected for a minute, provided the room is not marked as occupied and no presence is detected.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] detects motion (changes to on). CONDITIONS: office mode [input_select.office] is Auto AND lighting automations [input_boolean.lighting_automations] is on AND office lighting automations [input_boolean.office_lighting_automations] is on AND office aqara illuminance [sensor.office_aqara_illuminance] is below 150 AND office lights group [group.office_lights] is off. ACTIONS: Turn on office lights group [group.office_lights] AND turn on Office Lights Motion Off [automation.office_lights_motion_off] AND turn on office lights auto [input_boolean.office_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the office aqara motion sensor [binary_sensor.office_aqara_motion_sensor].",
|
|
"conditions": "The office mode [input_select.office] must be set to 'Auto'. The master lighting automations [input_boolean.lighting_automations] and the specific office lighting automations [input_boolean.office_lighting_automations] must both be turned on. The ambient light level measured by the office aqara illuminance [sensor.office_aqara_illuminance] must be below 150 lux. Finally, the office lights group [group.office_lights] must currently be off.",
|
|
"action": "Turns on the office lights group [group.office_lights], enables the companion automation Office Lights Motion Off [automation.office_lights_motion_off], and sets the status flag office lights auto [input_boolean.office_lights_auto] to on."
|
|
},
|
|
"human_like": "Automatically turns on the office lights when motion is detected, but only if the room is in auto mode, lighting automations are enabled, and it's dark enough.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office mode [input_select.office] changes to 'Off' OR When input boolean office occupied [input_boolean.office_occupied] changes to 'off' OR When lighting automations [input_boolean.lighting_automations] changes to 'on'. CONDITIONS: (input boolean office occupied [input_boolean.office_occupied] is 'off') AND (office lighting automations [input_boolean.office_lighting_automations] is 'on') AND (office mode [input_select.office] is 'Off' OR input boolean office occupied [input_boolean.office_occupied] is 'off' OR office aqara illuminance [sensor.office_aqara_illuminance] is above 151). ACTIONS: Turn off office lights group [group.office_lights] AND Turn off office lights auto [input_boolean.office_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When the office mode [input_select.office] is set to 'Off', or when the input boolean office occupied [input_boolean.office_occupied] is turned off, or when the lighting automations [input_boolean.lighting_automations] are turned on.",
|
|
"conditions": "The input boolean office occupied [input_boolean.office_occupied] must be off, and the office lighting automations [input_boolean.office_lighting_automations] must be on. Additionally, at least one of the following must be true: the office mode [input_select.office] is set to 'Off', the input boolean office occupied [input_boolean.office_occupied] is off, or the office aqara illuminance [sensor.office_aqara_illuminance] reports a value above 151.",
|
|
"action": "Turns off all lights in the office lights group [group.office_lights] and also turns off the office lights auto [input_boolean.office_lights_auto] input boolean."
|
|
},
|
|
"human_like": "Automatically turns off the office lights when the room is unoccupied, the lighting automation is enabled, and certain conditions like the room mode or light level are met.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] turns on OR at sunset with an offset of 15 minutes. CONDITIONS: (office mode [input_select.office] is Auto OR office mode [input_select.office] is DnD) AND input boolean office occupied [input_boolean.office_occupied] is on AND lighting automations [input_boolean.lighting_automations] is on AND office aqara illuminance [sensor.office_aqara_illuminance] is below 150 AND office lights group [group.office_lights] is off. ACTIONS: Turn on office lights group [group.office_lights] AND turn on office lights auto [input_boolean.office_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean office occupied [input_boolean.office_occupied] is switched to on, or 15 minutes after sunset.",
|
|
"conditions": "The office mode [input_select.office] must be set to either Auto or DnD. The input boolean office occupied [input_boolean.office_occupied] must be on, and the lighting automations [input_boolean.lighting_automations] must be enabled. The office aqara illuminance [sensor.office_aqara_illuminance] must be below 150 lux, and the office lights group [group.office_lights] must be off.",
|
|
"action": "Turns on the office lights group [group.office_lights] and marks the action as automatic by turning on office lights auto [input_boolean.office_lights_auto]."
|
|
},
|
|
"human_like": "Automatically turns on the office lights when the room is occupied and dark, but only if the lighting mode is set to automatic.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_sleep_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs (with a 2-hour negative offset) OR when the time is 06:00:01. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (sun is after sunrise OR time is after 06:00:00). ACTIONS: Turn off adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either two hours before sunrise, or at exactly 6:00:01 AM.",
|
|
"conditions": "The automation only runs if the lighting automations [input_boolean.lighting_automations] are enabled. Additionally, it requires that either the sun is already up (after sunrise) or the current time is after 6:00:00 AM.",
|
|
"action": "It turns off the adaptive lighting sleep mode for the office by toggling the switch adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office]."
|
|
},
|
|
"human_like": "Disables the office's adaptive lighting sleep mode early in the morning, either before sunrise or at a fixed time, provided lighting automations are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_sleep_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with an offset of 15 minutes OR at 20:00:01 OR when dark outside [input_boolean.dark_outside] turns on OR when office mode [input_select.office] changes from DnD to Auto. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND sun is after sunset AND dark outside [input_boolean.dark_outside] is on AND time is after 20:00:00 AND office mode [input_select.office] is not DnD. ACTIONS: Turn on adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office].",
|
|
"natural_language": {
|
|
"trigger": "The automation can start when any of the following happens: sunset occurs with a 15-minute delay, the clock reaches 20:00:01, the dark outside [input_boolean.dark_outside] input boolean is turned on, or the office mode [input_select.office] changes from 'DnD' to 'Auto'.",
|
|
"conditions": "For the automation to proceed, several conditions must be met: the lighting automations [input_boolean.lighting_automations] must be enabled, the sun must be after sunset, the dark outside [input_boolean.dark_outside] must be on, the current time must be after 20:00:00, and the office mode [input_select.office] must not be set to 'DnD'.",
|
|
"action": "Activates the sleep mode for the office lighting by turning on the adaptive lighting sleep mode office [switch.adaptive_lighting_sleep_mode_office] switch."
|
|
},
|
|
"human_like": "Turns on the office lighting's sleep mode in the evening or when it's dark outside, but only if lighting automations are enabled and the office is not in 'Do Not Disturb' mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_lights_manually_turned_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office lights group [group.office_lights] turns off. CONDITIONS: office lights auto [input_boolean.office_lights_auto] is on. ACTIONS: Turn off office lights auto [input_boolean.office_lights_auto] AND turn off office lighting automations [input_boolean.office_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "When the office lights group [group.office_lights] is manually turned off.",
|
|
"conditions": "If the automatic lighting control for the office, represented by office lights auto [input_boolean.office_lights_auto], is currently enabled.",
|
|
"action": "Disables the automatic lighting control by turning off office lights auto [input_boolean.office_lights_auto] and also turns off the broader office lighting automations [input_boolean.office_lighting_automations]."
|
|
},
|
|
"human_like": "Disables automatic lighting for the office when the lights are manually switched off, preventing the automations from turning them back on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] turns on OR when house status [input_select.house] changes to Auto OR when office dnd [input_boolean.office_dnd] turns off OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND office mode [input_select.office] is NOT Auto AND bedtime [input_boolean.bedtime] is off AND office dnd [input_boolean.office_dnd] is off. ACTIONS: Set office mode [input_select.office] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by any of the following events: the office is marked as occupied, the overall house mode is set to Auto, the office do-not-disturb mode is turned off, or the house is marked as occupied.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied, the office mode must not already be set to Auto, the bedtime mode must be off, and the office do-not-disturb mode must be off.",
|
|
"action": "Sets the office mode to Auto."
|
|
},
|
|
"human_like": "Automatically sets the office to 'Auto' mode when the office is occupied and other house conditions are met, ensuring the environment is ready for use.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_mode_dnd",
|
|
"result": {
|
|
"structured": "TRIGGER: When office dnd [input_boolean.office_dnd] changes to on. CONDITIONS: input boolean office occupied [input_boolean.office_occupied] is on AND office mode [input_select.office] is NOT set to 'DnD' AND office dnd [input_boolean.office_dnd] is on. ACTIONS: Set office mode [input_select.office] to 'DnD'.",
|
|
"natural_language": {
|
|
"trigger": "When the office dnd [input_boolean.office_dnd] switch is turned on.",
|
|
"conditions": "The office must be marked as occupied, meaning input boolean office occupied [input_boolean.office_occupied] is on. The current office mode [input_select.office] must not already be set to 'DnD'. Finally, the office dnd [input_boolean.office_dnd] switch must still be on.",
|
|
"action": "Changes the office mode [input_select.office] to 'DnD'."
|
|
},
|
|
"human_like": "Sets the office to 'Do Not Disturb' mode when the DnD switch is turned on and the office is occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_mode_dnd_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] turns off OR when input boolean john dnd [input_boolean.john_dnd] turns off and remains off for 2 minutes. CONDITIONS: (office mode [input_select.office] is set to DnD) AND (input boolean john dnd [input_boolean.john_dnd] is off OR input boolean office occupied [input_boolean.office_occupied] is off) AND (bedtime [input_boolean.bedtime] is off). ACTIONS: Set office mode [input_select.office] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean office occupied [input_boolean.office_occupied] changes to off, or when the input boolean john dnd [input_boolean.john_dnd] changes to off and stays off for two minutes.",
|
|
"conditions": "The office mode [input_select.office] must currently be set to DnD. Additionally, either the input boolean john dnd [input_boolean.john_dnd] is off or the input boolean office occupied [input_boolean.office_occupied] is off. Finally, the bedtime [input_boolean.bedtime] must be off.",
|
|
"action": "Changes the office mode [input_select.office] from DnD to Auto."
|
|
},
|
|
"human_like": "Automatically switches the office mode from 'Do Not Disturb' to 'Auto' when the office is unoccupied or John's DnD is off, provided it's not bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when house status [input_select.house] changes to Away OR when house status [input_select.house] changes to Bedtime. CONDITIONS: (input boolean office occupied [input_boolean.office_occupied] is off) OR (house occupied [input_boolean.house_occupied] is off) OR (house status [input_select.house] is Away) OR (house status [input_select.house] is Bedtime). ACTIONS: Set office mode [input_select.office] to 'Off'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house is marked as unoccupied, or when the overall house status is set to 'Away' or 'Bedtime'.",
|
|
"conditions": "The automation checks if any of the following is true: the office is marked as unoccupied, the house is marked as unoccupied, or the house status is set to either 'Away' or 'Bedtime'.",
|
|
"action": "It sets the office mode to 'Off'."
|
|
},
|
|
"human_like": "Turns off the office mode when the house is unoccupied, set to 'Away' or 'Bedtime', or when the office itself is unoccupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_music_clear_queue",
|
|
"result": {
|
|
"structured": "TRIGGER: At 01:00:00 (1:00 AM). CONDITIONS: None. ACTIONS: Clear the playlist for sonos office [media_player.sonos_office].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 1:00 AM.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Clears the current music playlist on the sonos office [media_player.sonos_office] speaker."
|
|
},
|
|
"human_like": "Clears the Sonos playlist in the office every night at 1 AM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_music_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] changes to off OR When office mode [input_select.office] changes to DnD OR When office mode [input_select.office] changes to Off OR When binary sensor johns macbook pro active [binary_sensor.johns_macbook_pro_active] changes to off. CONDITIONS: (input boolean office occupied [input_boolean.office_occupied] is off OR office mode [input_select.office] is DnD OR (No device from room presence devices group [group.room_presence_devices] has state 'office' AND office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] is off AND remains off for 3 minutes)) AND sonos office [media_player.sonos_office] is playing. ACTIONS: Unjoin sonos main bedroom [media_player.sonos_main_bedroom], Pause sonos office [media_player.sonos_office], Turn on office music playing [input_boolean.office_music_playing].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the office is marked as unoccupied, when the office mode is set to 'DnD' or 'Off', or when John's MacBook Pro becomes inactive.",
|
|
"conditions": "The automation requires that the sonos office [media_player.sonos_office] is currently playing music. Additionally, at least one of the following must be true: the office is marked as unoccupied, the office mode is set to 'DnD', or there are no devices indicating presence in the office and the office motion sensor has not detected motion for at least three minutes.",
|
|
"action": "It unjoins the sonos main bedroom [media_player.sonos_main_bedroom] from any audio group, pauses the music on the sonos office [media_player.sonos_office], and sets the office music playing [input_boolean.office_music_playing] status to on."
|
|
},
|
|
"human_like": "Stops music in the office when the room becomes unoccupied, is set to 'Do Not Disturb' or 'Off' mode, or when the primary computer is inactive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_music_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] turns on and remains on for 3 minutes and 10 seconds. CONDITIONS: (input boolean office occupied [input_boolean.office_occupied] is on) AND (john room presence [sensor.john_room_presence] is office) AND (sonos office [media_player.sonos_office] is paused OR idle OR off) AND (time is after 08:01:00 AND before 22:00:00) AND (office mode [input_select.office] is NOT 'DnD') AND (binary sensor johns macbook pro active [binary_sensor.johns_macbook_pro_active] is on). ACTIONS: Start playing the queue on sonos office [media_player.sonos_office] AND turn off office music playing [input_boolean.office_music_playing].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean office occupied [input_boolean.office_occupied] is turned on and stays on for 3 minutes and 10 seconds.",
|
|
"conditions": "The input boolean office occupied [input_boolean.office_occupied] must still be on. John's presence sensor [sensor.john_room_presence] must show he is in the office. The Sonos speaker in the office [media_player.sonos_office] must be in a state where it is not actively playing, such as paused, idle, or off. The current time must be between 8:01 AM and 10:00 PM. The office mode [input_select.office] must not be set to 'Do Not Disturb' (DnD). John's MacBook Pro activity sensor [binary_sensor.johns_macbook_pro_active] must be active (on).",
|
|
"action": "Starts playing the music queue on the Sonos office speaker [media_player.sonos_office] and turns off the office music playing [input_boolean.office_music_playing] indicator."
|
|
},
|
|
"human_like": "Automatically starts playing music in the office when John is present, his laptop is active, and the room is occupied for a few minutes, but only during daytime hours and when not in Do Not Disturb mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_music_resume",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] turns on AND remains on for 3 minutes and 10 seconds OR When office mode [input_select.office] changes from DnD AND remains not DnD for 2 minutes OR When binary sensor johns macbook pro active [binary_sensor.johns_macbook_pro_active] turns on AND remains on for 2 minutes OR When john focus mode [input_select.john_focus_mode] changes state. CONDITIONS: (input boolean office occupied [input_boolean.office_occupied] is on) AND (john room presence [sensor.john_room_presence] is office) AND (john focus mode [input_select.john_focus_mode] changed state OR sonos office [media_player.sonos_office] is paused OR idle OR off) AND (time is between 08:01:00 and 23:45:00) AND (office mode [input_select.office] is not DnD) AND (binary sensor johns macbook pro active [binary_sensor.johns_macbook_pro_active] is on). ACTIONS: First, retrieve the current queue for sonos office [media_player.sonos_office]. Then, if john focus mode [input_select.john_focus_mode] changed state OR the retrieved queue is empty, load the playlist(s) from john focus mode playlist [sensor.john_focus_mode_playlist] into the queue (replacing the first item, adding subsequent items) and enable shuffle. Otherwise, if sonos office [media_player.sonos_office] is paused, resume playback; if not, play the existing queue. Finally, turn off office music playing [input_boolean.office_music_playing].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: when the office is marked as occupied and stays that way for over three minutes; when the office mode changes away from 'Do Not Disturb' and remains out of that mode for two minutes; when John's MacBook Pro becomes active and stays active for two minutes; or whenever John's focus mode changes.",
|
|
"conditions": "For the automation to run, the office must be marked as occupied, John's room presence sensor must show he is in the office, the time must be between 8:01 AM and 11:45 PM, the office mode must not be set to 'Do Not Disturb', and John's MacBook Pro must be active. Additionally, either John's focus mode must have just changed, or the Sonos speaker in the office must be in a paused, idle, or off state.",
|
|
"action": "The automation first checks the current music queue on the office Sonos speaker. If John's focus mode changed or the queue is empty, it loads a playlist based on his current focus mode, replaces the queue with the first item, adds any remaining items, and turns on shuffle. Otherwise, if the speaker is paused, it resumes playback; if it's not paused, it starts playing the existing queue. Finally, it turns off a helper switch that indicates music is playing."
|
|
},
|
|
"human_like": "Automatically resumes or starts playing music in the office when John is present, his laptop is active, and it's during the day, ensuring the right playlist is loaded based on his focus mode.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When office presence [binary_sensor.office_presence] remains off for 2 minutes OR When the template condition (no device in room presence devices group [group.room_presence_devices] reports state 'office') remains true for 2 minutes OR When office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] remains off for 3 minutes OR When office aqara occupancy [binary_sensor.office_aqara_occupancy] changes to off OR When house occupied [input_boolean.house_occupied] changes to off OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: input boolean office occupied [input_boolean.office_occupied] is on AND office presence [binary_sensor.office_presence] is off AND office guest mode [input_boolean.office_guest_mode] is off. ACTIONS: Turn off input boolean office occupied [input_boolean.office_occupied], wait 2 seconds, then turn on office lighting automations [input_boolean.office_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: if the office presence [binary_sensor.office_presence] sensor reports no presence for two minutes; if there are no devices from the room presence devices group [group.room_presence_devices] located in the office for two minutes; if the office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] detects no motion for three minutes; if the office aqara occupancy [binary_sensor.office_aqara_occupancy] sensor changes to 'off'; if the whole house is marked as unoccupied by turning off house occupied [input_boolean.house_occupied]; when automations are reloaded; or when Home Assistant starts up.",
|
|
"conditions": "For the actions to run, the office must currently be marked as occupied (input boolean office occupied [input_boolean.office_occupied] is on), the office presence [binary_sensor.office_presence] sensor must be off, and guest mode for the office (office guest mode [input_boolean.office_guest_mode]) must be disabled.",
|
|
"action": "The automation first marks the office as unoccupied by turning off input boolean office occupied [input_boolean.office_occupied]. After a two-second delay, it re-enables lighting automations for the office by turning on office lighting automations [input_boolean.office_lighting_automations]."
|
|
},
|
|
"human_like": "Marks the office as unoccupied and re-enables its lighting automations when various sensors indicate the room is empty and guest mode is off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When office presence [binary_sensor.office_presence] turns on OR office aqara occupancy [binary_sensor.office_aqara_occupancy] turns on OR office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] turns on OR office lights group [group.office_lights] turns on OR office guest mode [input_boolean.office_guest_mode] turns on OR an automation_reloaded event occurs OR Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND input boolean office occupied [input_boolean.office_occupied] is off AND office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] is on AND office presence [binary_sensor.office_presence] is on. ACTIONS: Turn on input boolean office occupied [input_boolean.office_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When any of the following events occur: the office presence sensor [binary_sensor.office_presence] detects presence, the office aqara occupancy sensor [binary_sensor.office_aqara_occupancy] detects occupancy, the office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] detects motion, the office lights group [group.office_lights] is turned on, the office guest mode [input_boolean.office_guest_mode] is enabled, an automation is reloaded, or Home Assistant starts up.",
|
|
"conditions": "The house must be marked as occupied [input_boolean.house_occupied], the office must currently be marked as unoccupied [input_boolean.office_occupied], and both the office aqara motion sensor [binary_sensor.office_aqara_motion_sensor] and the office presence sensor [binary_sensor.office_presence] must be reporting an 'on' state.",
|
|
"action": "Marks the office as occupied by turning on the input boolean office occupied [input_boolean.office_occupied]."
|
|
},
|
|
"human_like": "Marks the office as occupied when various sensors detect activity, but only if the house is occupied and the office is currently unoccupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_speech_notifications_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] changes to off OR When office mode [input_select.office] changes to DnD. CONDITIONS: (input boolean office occupied [input_boolean.office_occupied] is off) OR (office mode [input_select.office] is DnD). ACTIONS: Turn off input boolean office speech notifications [input_boolean.office_speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean office occupied [input_boolean.office_occupied] changes to off, or when the office mode [input_select.office] changes to DnD.",
|
|
"conditions": "If either the input boolean office occupied [input_boolean.office_occupied] is off, or the office mode [input_select.office] is set to DnD.",
|
|
"action": "Turns off the input boolean office speech notifications [input_boolean.office_speech_notifications]."
|
|
},
|
|
"human_like": "Turns off speech notifications for the office when the room is unoccupied or set to 'Do Not Disturb' mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_speech_notifications_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] turns on OR When office mode [input_select.office] changes from DnD and remains in that new state for 2 minutes. CONDITIONS: input boolean office occupied [input_boolean.office_occupied] is on AND office mode [input_select.office] is Auto. ACTIONS: Turn on input boolean office speech notifications [input_boolean.office_speech_notifications].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when the input boolean office occupied [input_boolean.office_occupied] turns on, or when the office mode [input_select.office] changes from 'DnD' and stays in its new state for at least two minutes.",
|
|
"conditions": "For the action to run, the input boolean office occupied [input_boolean.office_occupied] must be on, and the office mode [input_select.office] must be set to 'Auto'.",
|
|
"action": "It turns on the input boolean office speech notifications [input_boolean.office_speech_notifications]."
|
|
},
|
|
"human_like": "Enables speech notifications for the office when the room is occupied and its mode is set to Auto.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_treadmill_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 00:00:01 (midnight) OR When bedtime [input_boolean.bedtime] turns on. CONDITIONS: smart plug 11 switch [switch.smart_plug_11_switch] is on. ACTIONS: Turn off smart plug 11 switch [switch.smart_plug_11_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at exactly one second past midnight or when the bedtime [input_boolean.bedtime] mode is turned on.",
|
|
"conditions": "It only runs if the smart plug 11 switch [switch.smart_plug_11_switch] is currently on.",
|
|
"action": "It turns off the smart plug 11 switch [switch.smart_plug_11_switch]."
|
|
},
|
|
"human_like": "Turns off the office treadmill's power plug at midnight or when bedtime mode is activated, but only if it's currently on.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_treadmill_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean office occupied [input_boolean.office_occupied] turns on. CONDITIONS: smart plug 11 switch [switch.smart_plug_11_switch] is off. ACTIONS: Turn on smart plug 11 switch [switch.smart_plug_11_switch].",
|
|
"natural_language": {
|
|
"trigger": "When the input boolean office occupied [input_boolean.office_occupied] changes to the 'on' state.",
|
|
"conditions": "If the smart plug 11 switch [switch.smart_plug_11_switch] is currently off.",
|
|
"action": "Turns on the smart plug 11 switch [switch.smart_plug_11_switch]."
|
|
},
|
|
"human_like": "Turns on the office treadmill's smart plug when the office is marked as occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_turn_off_purifier",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: None. ACTIONS: Turn off office air purifier [fan.office_air_purifier].",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to off, indicating the house is unoccupied.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the office air purifier [fan.office_air_purifier]."
|
|
},
|
|
"human_like": "Turns off the office air purifier when the house is marked as unoccupied to save energy.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_on_exterior_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When exterior house lights [input_boolean.exterior_house_lights] turns on. CONDITIONS: None. ACTIONS: Turn on exterior lights [light.exterior_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the exterior house lights [input_boolean.exterior_house_lights] switch is turned on.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Turns on the physical exterior lights [light.exterior_lights]."
|
|
},
|
|
"human_like": "Turns on the outside lights when the virtual switch for them is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_exterior_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When exterior house lights [input_boolean.exterior_house_lights] changes to off. ACTIONS: Turn off exterior lights [light.exterior_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the exterior house lights [input_boolean.exterior_house_lights] switch is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns off the physical exterior lights [light.exterior_lights]."
|
|
},
|
|
"human_like": "Turns off the outside lights when the main exterior lights switch is toggled off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_on_exterior_flood_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When exterior flood lights [input_boolean.exterior_flood_lights] turns on. CONDITIONS: None. ACTIONS: Turn on exterior flood lights entity [light.exterior_flood_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the exterior flood lights [input_boolean.exterior_flood_lights] switch is turned on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the physical exterior flood lights entity [light.exterior_flood_lights]."
|
|
},
|
|
"human_like": "Turns on the outdoor flood lights when their virtual switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_exterior_flood_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When exterior flood lights [input_boolean.exterior_flood_lights] turns off. CONDITIONS: None. ACTIONS: Turn off exterior flood lights entity [light.exterior_flood_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the exterior flood lights [input_boolean.exterior_flood_lights] switch is turned off.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Turns off the physical exterior flood lights entity [light.exterior_flood_lights]."
|
|
},
|
|
"human_like": "Turns off the outdoor flood lights when their virtual switch is turned off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_on_exterior_accent_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When exterior accent lights [input_boolean.exterior_accent_lights] changes state to on. CONDITIONS: None. ACTIONS: Turn on exterior accent lights entity [light.exterior_accent_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the exterior accent lights [input_boolean.exterior_accent_lights] switch is turned on.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Turns on the physical exterior accent lights entity [light.exterior_accent_lights]."
|
|
},
|
|
"human_like": "Turns on the exterior accent lights when the corresponding virtual switch is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_exterior_accent_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When exterior accent lights [input_boolean.exterior_accent_lights] changes to off. CONDITIONS: None. ACTIONS: Turn off exterior accent lights entity [light.exterior_accent_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the exterior accent lights [input_boolean.exterior_accent_lights] switch is turned off.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Turns off the physical exterior accent lights entity [light.exterior_accent_lights]."
|
|
},
|
|
"human_like": "Turns off the outdoor accent lights when their control switch is set to off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "activate_exterior_lighting_at_sunset",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with a 15-minute offset OR when dark outside [input_boolean.dark_outside] turns on OR when sun elevation [sensor.sun_elevation] falls below 4 degrees OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: (exterior house lights [input_boolean.exterior_house_lights] is off OR exterior flood lights [input_boolean.exterior_flood_lights] is off OR exterior accent lights [input_boolean.exterior_accent_lights] is off) AND (sun is after sunset OR sun elevation [sensor.sun_elevation] is below 5 degrees) AND dark outside [input_boolean.dark_outside] is on. ACTIONS: Turn on exterior house lights [input_boolean.exterior_house_lights], turn on exterior flood lights [input_boolean.exterior_flood_lights], turn on exterior accent lights [input_boolean.exterior_accent_lights], and run voice announcement script [script.voice_announcement] with a chime and the message 'The sun has set so I'm turning on the exterior lights.'.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: 15 minutes before sunset, when the dark outside [input_boolean.dark_outside] indicator turns on, when the sun elevation [sensor.sun_elevation] sensor reports a value below 4 degrees, when an automation is reloaded, or when Home Assistant starts up.",
|
|
"conditions": "For the automation to run, at least one of the exterior lighting controls (exterior house lights [input_boolean.exterior_house_lights], exterior flood lights [input_boolean.exterior_flood_lights], or exterior accent lights [input_boolean.exterior_accent_lights]) must be off. Additionally, it must be after sunset or the sun elevation [sensor.sun_elevation] must be below 5 degrees, and the dark outside [input_boolean.dark_outside] indicator must be on.",
|
|
"action": "The automation turns on all three exterior lighting controls: exterior house lights [input_boolean.exterior_house_lights], exterior flood lights [input_boolean.exterior_flood_lights], and exterior accent lights [input_boolean.exterior_accent_lights]. It also triggers a voice announcement script [script.voice_announcement] that plays a chime and announces, 'The sun has set so I'm turning on the exterior lights.'."
|
|
},
|
|
"human_like": "Turns on the exterior lights at sunset or when it gets dark, and announces the action.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "activate_exterior_lighting_due_to_weather",
|
|
"result": {
|
|
"structured": "TRIGGER: When bad weather [input_boolean.bad_weather] turns on OR When bad weather [input_boolean.bad_weather] remains on for 5 minutes OR When bad weather [input_boolean.bad_weather] remains on for 15 minutes OR When tempest illuminance [sensor.tempest_illuminance] is below 38 for 5 minutes OR When the event 'automation_reloaded' occurs OR When Home Assistant starts. CONDITIONS: (exterior house lights [input_boolean.exterior_house_lights] is off) AND (it is NOT after sunset with a 10-minute offset) AND ((bad weather [input_boolean.bad_weather] is on AND tempest illuminance [sensor.tempest_illuminance] is below 45) OR (tempest illuminance [sensor.tempest_illuminance] is below 35)). ACTIONS: Turn on exterior house lights [input_boolean.exterior_house_lights] AND Execute voice announcement script [script.voice_announcement] with a chime and the message 'The weather is looking a little dark, I'm turning on the exterior lights.'",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when the bad weather indicator turns on, when it remains on for 5 minutes, or when it remains on for 15 minutes. It can also trigger if the outdoor illuminance falls below 38 for 5 minutes, when the automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "For the automation to run, the exterior house lights must currently be off, and it must not be after sunset (with a 10-minute buffer). Additionally, either the bad weather indicator is on and the illuminance is below 45, or the illuminance is simply below 35.",
|
|
"action": "The automation turns on the exterior house lights and plays a voice announcement with a chime, stating, 'The weather is looking a little dark, I'm turning on the exterior lights.'"
|
|
},
|
|
"human_like": "Turns on the outside lights and announces it when the weather is bad or it gets dark, but only if the lights aren't already on and it's not after sunset.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "deactivate_exterior_lighting_at_sunrise",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs OR when dark outside [input_boolean.dark_outside] turns off OR when an automation is reloaded OR when Home Assistant starts. CONDITIONS: exterior house lights [input_boolean.exterior_house_lights] is on AND (sun is after sunrise AND before sunset OR dark outside [input_boolean.dark_outside] is off). ACTIONS: Turn off exterior house lights [input_boolean.exterior_house_lights] AND turn off exterior flood lights [input_boolean.exterior_flood_lights] AND turn off exterior accent lights [input_boolean.exterior_accent_lights] AND run voice announcement script [script.voice_announcement] with a message stating 'The sun is up so I'm turning off the exterior lights.'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at sunrise, when the 'dark outside' indicator [input_boolean.dark_outside] is turned off, when an automation is reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the exterior house lights [input_boolean.exterior_house_lights] are currently on, and it is either daytime (after sunrise and before sunset) or the 'dark outside' indicator [input_boolean.dark_outside] is off.",
|
|
"action": "It turns off all exterior lighting by switching off the exterior house lights [input_boolean.exterior_house_lights], the exterior flood lights [input_boolean.exterior_flood_lights], and the exterior accent lights [input_boolean.exterior_accent_lights]. It also makes a voice announcement via the voice announcement script [script.voice_announcement] saying, 'The sun is up so I'm turning off the exterior lights.'"
|
|
},
|
|
"human_like": "Turns off all the outside lights and announces it when it's no longer dark, such as at sunrise.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "deactivate_exterior_lighting_due_to_weather",
|
|
"result": {
|
|
"structured": "TRIGGER: When bad weather [input_boolean.bad_weather] turns off and remains off for 5 minutes OR When bad weather [input_boolean.bad_weather] turns off and remains off for 15 minutes OR When tempest illuminance [sensor.tempest_illuminance] rises above 150 and remains above for 3 minutes OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: exterior house lights [input_boolean.exterior_house_lights] is on AND tempest illuminance [sensor.tempest_illuminance] is above 50 AND sun sun [sun.sun] is above_horizon AND (bad weather [input_boolean.bad_weather] is off OR tempest illuminance [sensor.tempest_illuminance] is above 150). ACTIONS: Turn off exterior house lights [input_boolean.exterior_house_lights] AND Run script voice announcement [script.voice_announcement] with a chime and the message 'The weather has improved so I'm turning off the exterior lights.'",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when the bad weather indicator [input_boolean.bad_weather] turns off and stays off for either 5 or 15 minutes; when the outdoor light level [sensor.tempest_illuminance] becomes brighter than 150 lux for at least 3 minutes; when the Home Assistant system reloads automations; or when Home Assistant itself starts up.",
|
|
"conditions": "For the automation to run, several conditions must be true: the exterior house lights [input_boolean.exterior_house_lights] must be switched on, the outdoor light level [sensor.tempest_illuminance] must be above 50 lux, the sun [sun.sun] must be above the horizon, and either the bad weather indicator [input_boolean.bad_weather] is off or the outdoor light level [sensor.tempest_illuminance] is above 150 lux.",
|
|
"action": "The automation will turn off the exterior house lights [input_boolean.exterior_house_lights] and then play a voice announcement [script.voice_announcement] with a chime sound, stating 'The weather has improved so I'm turning off the exterior lights.'"
|
|
},
|
|
"human_like": "Turns off the outside lights and announces it when the weather improves or it becomes bright enough during the daytime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "deactivate_accent_lighting_at_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on. CONDITIONS: exterior accent lights [input_boolean.exterior_accent_lights] is on AND bedtime [input_boolean.bedtime] is on. ACTIONS: Turn off exterior accent lights [input_boolean.exterior_accent_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the bedtime [input_boolean.bedtime] input boolean is switched to the 'on' state.",
|
|
"conditions": "The exterior accent lights [input_boolean.exterior_accent_lights] must be on, and the bedtime [input_boolean.bedtime] input boolean must still be on.",
|
|
"action": "Turns off the exterior accent lights [input_boolean.exterior_accent_lights]."
|
|
},
|
|
"human_like": "Turns off the exterior accent lighting when bedtime mode is activated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_lights_accidentally_turned_off_fix",
|
|
"result": {
|
|
"structured": "TRIGGER: When exterior garage sconces [light.exterior_garage_sconces] turns off. CONDITIONS: exterior house lights [input_boolean.exterior_house_lights] is on. ACTIONS: Turn on exterior garage sconces [light.exterior_garage_sconces].",
|
|
"natural_language": {
|
|
"trigger": "When the exterior garage sconces [light.exterior_garage_sconces] are turned off.",
|
|
"conditions": "If the exterior house lights [input_boolean.exterior_house_lights] are currently switched on.",
|
|
"action": "Turns the exterior garage sconces [light.exterior_garage_sconces] back on."
|
|
},
|
|
"human_like": "Ensures the garage sconces stay on when the main house lights are active, automatically turning them back on if they are accidentally switched off.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_lights_accidentally_turned_on_fix",
|
|
"result": {
|
|
"structured": "TRIGGER: When exterior garage sconces [light.exterior_garage_sconces] turns on. CONDITIONS: exterior house lights [input_boolean.exterior_house_lights] is off. ACTIONS: Turn off exterior garage sconces [light.exterior_garage_sconces].",
|
|
"natural_language": {
|
|
"trigger": "When the exterior garage sconces [light.exterior_garage_sconces] are turned on.",
|
|
"conditions": "If the exterior house lights [input_boolean.exterior_house_lights] are currently switched off.",
|
|
"action": "Turns the exterior garage sconces [light.exterior_garage_sconces] back off."
|
|
},
|
|
"human_like": "Automatically turns off the garage sconces if they are turned on while the main exterior house lights are off, preventing accidental activation.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "house_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the person sensors (john person [sensor.john_person], cristina person [sensor.cristina_person], nonna person [sensor.nonna_person], tayta person [sensor.tayta_person], jido person [sensor.jido_person], katia person [sensor.katia_person], joe person [sensor.joe_person], sylvia person [sensor.sylvia_person], alex person [sensor.alex_person]) changes to 'home' OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is off AND the triggering entity has the 'unlock_privilege' attribute equal to 'on' AND the group all people group [group.all_people] is 'home'. ACTIONS: Turn on house occupied [input_boolean.house_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when any of the tracked people (john person, cristina person, nonna person, tayta person, jido person, katia person, joe person, sylvia person, or alex person) arrives home, when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only runs if the house occupied [input_boolean.house_occupied] flag is currently off, if the person who triggered the automation has the 'unlock_privilege' attribute set to 'on', and if the group containing all people [group.all_people] shows that at least one person is home.",
|
|
"action": "It sets the house to an occupied state by turning on the house occupied [input_boolean.house_occupied] input boolean."
|
|
},
|
|
"human_like": "Sets the house to 'occupied' when an authorized person arrives home, ensuring the system knows someone is present.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "people_reloaded_when_just_arrived",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR when automations are reloaded. CONDITIONS: None. ACTIONS: If cristina status dropdown [input_select.cristina_status_dropdown] is set to 'Just Arrived', set it to 'Home'. If john status [input_select.john_status] is set to 'Just Arrived', set it to 'Home'. If input select joe status dropdown [input_select.joe_status_dropdown] is set to 'Just Arrived', set it to 'Home'.",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant first starts up or when the automations are reloaded.",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "The automation checks the status of three people. If Cristina's status dropdown [input_select.cristina_status_dropdown] is set to 'Just Arrived', it is changed to 'Home'. If John's status [input_select.john_status] is set to 'Just Arrived', it is changed to 'Home'. If Joe's status dropdown [input_select.joe_status_dropdown] is set to 'Just Arrived', it is changed to 'Home'."
|
|
},
|
|
"human_like": "Resets the status of any person marked as 'Just Arrived' to 'Home' whenever Home Assistant restarts or automations are reloaded.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "people_reloaded_when_just_left",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR when an automation is reloaded. CONDITIONS: None. ACTIONS: If cristina status dropdown [input_select.cristina_status_dropdown] is set to Just Left, then set cristina falbo status dropdown [input_select.cristina_falbo_status_dropdown] to Away. If john status [input_select.john_status] is set to Just Left, then set john status [input_select.john_status] to Away. If input select joe status dropdown [input_select.joe_status_dropdown] is set to Just Left, then set input select joe status dropdown [input_select.joe_status_dropdown] to Away.",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant starts up, or when an automation is reloaded.",
|
|
"conditions": "There are no global conditions for this automation.",
|
|
"action": "The automation checks the status of three different people. If Cristina's status [input_select.cristina_status_dropdown] is 'Just Left', it changes her alternate status [input_select.cristina_falbo_status_dropdown] to 'Away'. If John's status [input_select.john_status] is 'Just Left', it changes his status to 'Away'. If Joe's status [input_select.joe_status_dropdown] is 'Just Left', it changes his status to 'Away'."
|
|
},
|
|
"human_like": "Resets the status of people from 'Just Left' to 'Away' when Home Assistant starts or reloads automations, ensuring their state is updated correctly.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "people_status_arrived",
|
|
"result": {
|
|
"structured": "TRIGGER: When john home [input_boolean.john_home] changes to on OR cristina home [input_boolean.cristina_home] changes to on OR joe home [input_boolean.joe_home] changes to on OR nonna home [input_boolean.nonna_home] changes to on OR katia home [input_boolean.katia_home] changes to on OR sylvia home [input_boolean.sylvia_home] changes to on. CONDITIONS: None. ACTIONS: For the triggering person's home status entity, set their corresponding status dropdown to 'Just Arrived'. However, if the triggering person is cristina home [input_boolean.cristina_home] AND cristina status dropdown [input_select.cristina_status_dropdown] is currently 'Just Left', set it to 'Home'. If the triggering person is john home [input_boolean.john_home] AND john status [input_select.john_status] is currently 'Just Left', set it to 'Home'. If the triggering person is joe home [input_boolean.joe_home] AND input select joe status dropdown [input_select.joe_status_dropdown] is currently 'Just Left', set it to 'Home'. If the triggering person is nonna home [input_boolean.nonna_home] AND nonna status [input_select.nonna_status] is currently 'Just Left', set it to 'Home'. If the triggering person is katia home [input_boolean.katia_home] AND input select katia status [input_select.katia_status] is currently 'Just Left', set it to 'Home'. If the triggering person is sylvia home [input_boolean.sylvia_home] AND sylvia status [input_select.sylvia_status] is currently 'Just Left', set it to 'Home'.",
|
|
"natural_language": {
|
|
"trigger": "When any of the six person-specific home status indicators (john home, cristina home, joe home, nonna home, katia home, or sylvia home) changes to 'on'.",
|
|
"conditions": "There are no additional conditions that must be met for this automation to run.",
|
|
"action": "For the person whose home status just turned on, the automation updates their corresponding status dropdown. It sets the status to 'Just Arrived' by default. However, if the person's current status is 'Just Left', the automation instead sets it to 'Home'. This logic is applied individually for each person using their specific status entity."
|
|
},
|
|
"human_like": "When someone arrives home, this automation updates their status to 'Just Arrived', but if they had just left, it simply marks them as 'Home' instead.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "people_status_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following input selects changes to 'Just Left' AND remains in that state for 5 minutes: john status [input_select.john_status], cristina status dropdown [input_select.cristina_status_dropdown], input select joe status dropdown [input_select.joe_status_dropdown], nonna status [input_select.nonna_status], input select katia status [input_select.katia_status], sylvia status [input_select.sylvia_status]. CONDITIONS: None. ACTIONS: Set the triggering input select to the 'Away' option.",
|
|
"natural_language": {
|
|
"trigger": "When any of the person status dropdowns (john status [input_select.john_status], cristina status dropdown [input_select.cristina_status_dropdown], input select joe status dropdown [input_select.joe_status_dropdown], nonna status [input_select.nonna_status], input select katia status [input_select.katia_status], or sylvia status [input_select.sylvia_status]) changes to 'Just Left' and stays in that state for five minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation will change the status of the specific person whose dropdown triggered the automation from 'Just Left' to 'Away'."
|
|
},
|
|
"human_like": "Automatically changes a person's status to 'Away' if their status has been set to 'Just Left' for five minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "people_status_extended_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When john status [input_select.john_status] remains set to 'Away' for 24 hours OR When cristina status dropdown [input_select.cristina_status_dropdown] remains set to 'Away' for 24 hours. CONDITIONS: None. ACTIONS: Set the triggering entity's option to 'Extended Away' (john status [input_select.john_status] if the first trigger fired, cristina status dropdown [input_select.cristina_status_dropdown] if the second trigger fired).",
|
|
"natural_language": {
|
|
"trigger": "When the john status [input_select.john_status] has been set to 'Away' for a continuous period of 24 hours, or when the cristina status dropdown [input_select.cristina_status_dropdown] has been set to 'Away' for a continuous period of 24 hours.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Updates the status of the person whose trigger fired, changing their status from 'Away' to 'Extended Away'. Specifically, if john's status triggered, it updates john status [input_select.john_status]; if cristina's status triggered, it updates cristina status dropdown [input_select.cristina_status_dropdown]."
|
|
},
|
|
"human_like": "Automatically updates a person's status to 'Extended Away' if they have been marked as 'Away' for a full day.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "people_status_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following input selects changes to 'Just Arrived' AND remains in that state for 5 minutes: cristina status dropdown [input_select.cristina_status_dropdown], john status [input_select.john_status], joe status dropdown [input_select.joe_status_dropdown], nonna status [input_select.nonna_status], katia status [input_select.katia_status], sylvia status [input_select.sylvia_status]. OR When any of the same input selects changes from 'Just Left' to 'Just Arrived'. CONDITIONS: None. ACTIONS: Set the triggering input select to the 'Home' option.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in two ways. First, when any of the person status dropdowns (cristina status dropdown [input_select.cristina_status_dropdown], john status [input_select.john_status], joe status dropdown [input_select.joe_status_dropdown], nonna status [input_select.nonna_status], katia status [input_select.katia_status], or sylvia status [input_select.sylvia_status]) changes its state to 'Just Arrived' and stays that way for five minutes. Second, when any of those same status dropdowns changes directly from 'Just Left' to 'Just Arrived'.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "The automation sets the specific status dropdown that triggered the automation to the 'Home' option."
|
|
},
|
|
"human_like": "Updates a person's status to 'Home' when they have either just arrived and stayed for five minutes, or when their status changes directly from 'Just Left' to 'Just Arrived'.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "people_status_left",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following input_booleans changes to off: cristina home [input_boolean.cristina_home], john home [input_boolean.john_home], joe home [input_boolean.joe_home], nonna home [input_boolean.nonna_home], katia home [input_boolean.katia_home], sylvia home [input_boolean.sylvia_home]. CONDITIONS: None. ACTIONS: Set the corresponding person's status dropdown to 'Just Left'. Specifically: if the triggering entity is cristina home [input_boolean.cristina_home], set cristina status dropdown [input_select.cristina_status_dropdown] to 'Just Left'; if john home [input_boolean.john_home], set john status [input_select.john_status]; if joe home [input_boolean.joe_home], set input select joe status dropdown [input_select.joe_status_dropdown]; if nonna home [input_boolean.nonna_home], set nonna status [input_select.nonna_status]; if katia home [input_boolean.katia_home], set input select katia status [input_select.katia_status]; if sylvia home [input_boolean.sylvia_home], set sylvia status [input_select.sylvia_status].",
|
|
"natural_language": {
|
|
"trigger": "Whenever any of the six person-specific 'home' status indicators (cristina home [input_boolean.cristina_home], john home [input_boolean.john_home], joe home [input_boolean.joe_home], nonna home [input_boolean.nonna_home], katia home [input_boolean.katia_home], or sylvia home [input_boolean.sylvia_home]) changes its state to off.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Based on which person's home status changed, the automation updates that person's corresponding status dropdown to 'Just Left'. For example, if cristina home turns off, the cristina status dropdown [input_select.cristina_status_dropdown] is set to 'Just Left'. The same logic applies to the other five individuals, mapping each home boolean to its specific status dropdown entity."
|
|
},
|
|
"human_like": "Updates a person's status to 'Just Left' when their 'home' indicator turns off, keeping track of who recently left.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_phone_plugged_in",
|
|
"result": {
|
|
"structured": "TRIGGER: When cfalb2 battery level [sensor.cfalb2_battery_level] changes to Charging OR When cfalb2 battery level [sensor.cfalb2_battery_level] changes to Full. CONDITIONS: (cristina phone plugged in [input_boolean.cristina_phone_plugged_in] is off) AND (cfalb2 battery level [sensor.cfalb2_battery_level] is Charging OR cfalb2 battery level [sensor.cfalb2_battery_level] is Full). ACTIONS: Turn on cristina phone plugged in [input_boolean.cristina_phone_plugged_in].",
|
|
"natural_language": {
|
|
"trigger": "When the cfalb2 battery level [sensor.cfalb2_battery_level] changes to 'Charging' or to 'Full'.",
|
|
"conditions": "If the cristina phone plugged in [input_boolean.cristina_phone_plugged_in] is currently off, and the cfalb2 battery level [sensor.cfalb2_battery_level] is either 'Charging' or 'Full'.",
|
|
"action": "Sets the status to indicate the phone is plugged in by turning on cristina phone plugged in [input_boolean.cristina_phone_plugged_in]."
|
|
},
|
|
"human_like": "Sets a flag to indicate Cristina's phone is plugged in when its battery status changes to charging or full.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "cristina_phone_unplugged",
|
|
"result": {
|
|
"structured": "TRIGGER: When cfalb2 battery level [sensor.cfalb2_battery_level] changes to Not Charging. CONDITIONS: cfalb2 battery level [sensor.cfalb2_battery_level] is Not Charging. ACTIONS: Turn off cristina phone plugged in [input_boolean.cristina_phone_plugged_in].",
|
|
"natural_language": {
|
|
"trigger": "When the cfalb2 battery level [sensor.cfalb2_battery_level] changes to 'Not Charging'.",
|
|
"conditions": "The cfalb2 battery level [sensor.cfalb2_battery_level] must be in the 'Not Charging' state.",
|
|
"action": "Turns off the cristina phone plugged in [input_boolean.cristina_phone_plugged_in] indicator."
|
|
},
|
|
"human_like": "Turns off the 'phone plugged in' indicator when Cristina's phone stops charging.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_phone_plugged_in",
|
|
"result": {
|
|
"structured": "TRIGGER: When jk iphone 14 battery state [sensor.jk_iphone_14_battery_state] changes to Charging OR when jk iphone 14 battery state [sensor.jk_iphone_14_battery_state] changes to Full. CONDITIONS: john phone plugged in [input_boolean.john_phone_plugged_in] is off AND (jk iphone 14 battery state [sensor.jk_iphone_14_battery_state] is Charging OR jk iphone 14 battery state [sensor.jk_iphone_14_battery_state] is Full). ACTIONS: Turn on john phone plugged in [input_boolean.john_phone_plugged_in].",
|
|
"natural_language": {
|
|
"trigger": "When the phone's battery state changes to 'Charging' or 'Full'.",
|
|
"conditions": "The automation only runs if the 'john phone plugged in' indicator is currently off, and the phone's battery state is confirmed to be either 'Charging' or 'Full'.",
|
|
"action": "Sets the 'john phone plugged in' indicator to on."
|
|
},
|
|
"human_like": "Tracks when John's phone is plugged in for charging by monitoring its battery state.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_phone_unplugged",
|
|
"result": {
|
|
"structured": "TRIGGER: When jk iphone 14 battery state [sensor.jk_iphone_14_battery_state] changes to Not Charging. CONDITIONS: jk iphone 14 battery state [sensor.jk_iphone_14_battery_state] is Not Charging. ACTIONS: Turn off john phone plugged in [input_boolean.john_phone_plugged_in].",
|
|
"natural_language": {
|
|
"trigger": "When the battery state of John's iPhone 14 [sensor.jk_iphone_14_battery_state] changes to 'Not Charging'.",
|
|
"conditions": "The automation only proceeds if the battery state [sensor.jk_iphone_14_battery_state] is confirmed to be 'Not Charging'.",
|
|
"action": "Turns off the input boolean that tracks if John's phone is plugged in [input_boolean.john_phone_plugged_in]."
|
|
},
|
|
"human_like": "Turns off the 'phone plugged in' status when John's iPhone stops charging.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_activate_party_time",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Z-Wave value notification event occurs from device playroom button test device [device_id: cd626e869b9ddd77c680a7c1b1bd9bfc]. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND input boolean playroom occupied [input_boolean.playroom_occupied] is on. ACTIONS: IF playroom party time boolean [input_boolean.playroom_party_time_boolean] is on THEN send media next track command to sonos playroom [media_player.sonos_playroom]. ELSE play the Spotify playlist 'spotify:playlist:0DSw040Fn3W2uodatu4Fdn' at 60% volume on sonos playroom [media_player.sonos_playroom], activate scene playroom osaka scene [scene.playroom_osaka], turn on playroom party time boolean [input_boolean.playroom_party_time_boolean], and run the general notification script [script.general_notification] with title 'Playroom Party Time', message 'Playroom party time has been turned on!', target devices 'jk', priority 'time-sensitive', and tag 'playroom-party-time'.",
|
|
"natural_language": {
|
|
"trigger": "When a specific Z-Wave button (playroom button test device [device_id: cd626e869b9ddd77c680a7c1b1bd9bfc]) is pressed, sending a value notification event.",
|
|
"conditions": "Both the house occupied [input_boolean.house_occupied] and the playroom occupied [input_boolean.playroom_occupied] switches must be in the 'on' state.",
|
|
"action": "If the party mode is already active (indicated by playroom party time boolean [input_boolean.playroom_party_time_boolean] being on), the automation will skip to the next track on the sonos playroom [media_player.sonos_playroom]. Otherwise, it will start a specific Spotify playlist on the Sonos at 60% volume, activate the 'Osaka' lighting scene for the playroom [scene.playroom_osaka], turn on the party time boolean to mark the mode as active, and send a time-sensitive notification to specified devices announcing that 'Playroom Party Time' has started."
|
|
},
|
|
"human_like": "When the playroom button is pressed and the house and room are occupied, it either skips the music track or starts a party playlist with lights and a notification, depending on whether party mode is already on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_deactivate_party_time",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Z-Wave JS value notification event occurs from device playroom button test device [device_id: cd626e869b9ddd77c680a7c1b1bd9bfc] with the value 'KeyReleased'. CONDITIONS: playroom party time boolean [input_boolean.playroom_party_time_boolean] is on. ACTIONS: Pause media on sonos playroom [media_player.sonos_playroom]. Turn off scene playroom osaka scene [scene.playroom_osaka]. Turn on playroom party time boolean [input_boolean.playroom_party_time_boolean]. Execute the general notification script [script.general_notification] with the title 'Playroom Party Time Off', message 'Playroom party time has been turned OFF!', target devices 'jk', priority 'time-sensitive', and tag 'playroom-party-time'.",
|
|
"natural_language": {
|
|
"trigger": "When a specific Z-Wave button in the playroom (playroom button test device) is released, sending a 'KeyReleased' notification.",
|
|
"conditions": "Only if the playroom party time boolean [input_boolean.playroom_party_time_boolean] is currently switched on.",
|
|
"action": "Pauses any media playing on the Sonos speaker in the playroom (sonos playroom [media_player.sonos_playroom]), turns off the 'playroom osaka' lighting scene (playroom osaka scene [scene.playroom_osaka]), turns on the playroom party time boolean [input_boolean.playroom_party_time_boolean] (which may seem counterintuitive but is specified in the action), and sends a high-priority notification to a device or person identified as 'jk' announcing that 'Playroom party time has been turned OFF!'."
|
|
},
|
|
"human_like": "Turns off the party mode in the playroom when a specific button is pressed, pausing the music, changing the lights, and sending a notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_lights_day_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] OR playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] remains above 115 lux for 3 minutes OR When bad weather [input_boolean.bad_weather] turns off. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND playroom lighting automations [input_boolean.playroom_lighting_automations] is on AND playroom mode [input_select.playroom] is Auto AND bad weather [input_boolean.bad_weather] is off AND playroom lights auto [input_boolean.playroom_lights_auto] is on AND sun sun [sun.sun] is above_horizon AND (playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] OR playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance]) is above 115 lux AND playroom lights [light.playroom_lights] is on. ACTIONS: Turn off playroom lights group [group.playroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "When either the playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] or the playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] remains above 115 lux for at least three minutes, or when the bad weather [input_boolean.bad_weather] indicator is turned off.",
|
|
"conditions": "All of the following must be true: the global lighting automations [input_boolean.lighting_automations] are enabled; the playroom-specific lighting automations [input_boolean.playroom_lighting_automations] are enabled; the playroom mode [input_select.playroom] is set to 'Auto'; the bad weather [input_boolean.bad_weather] indicator is off; the playroom lights auto [input_boolean.playroom_lights_auto] is on; the sun [sun.sun] is above the horizon; at least one of the playroom illuminance sensors is currently above 115 lux; and the playroom lights [light.playroom_lights] are currently on.",
|
|
"action": "Turns off the playroom lights group [group.playroom_lights]."
|
|
},
|
|
"human_like": "Automatically turns off the playroom lights when it's daytime, the weather is good, and there is sufficient natural light in the room.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_lights_day_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] OR playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] remains below 100 lux for 5 minutes OR When playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] OR playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] remains below 75 lux for 2 minutes OR When playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] OR playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] remains below 25 lux for 1 minute OR When bad weather [input_boolean.bad_weather] turns on OR When lighting automations [input_boolean.lighting_automations] turns on OR When playroom lighting automations [input_boolean.playroom_lighting_automations] turns on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND playroom lighting automations [input_boolean.playroom_lighting_automations] is on AND input boolean playroom occupied [input_boolean.playroom_occupied] is on AND (playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] is below 100 lux OR playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] is below 100 lux) AND playroom lights group [group.playroom_lights] is off AND playroom mode [input_select.playroom] is Auto. ACTIONS: Turn on playroom lights group [group.playroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: if the light level measured by either the playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] or the playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] stays below 100 lux for five minutes, below 75 lux for two minutes, or below 25 lux for one minute. It can also be triggered if the bad weather [input_boolean.bad_weather] switch is turned on, or if either the global lighting automations [input_boolean.lighting_automations] or the room-specific playroom lighting automations [input_boolean.playroom_lighting_automations] are turned on.",
|
|
"conditions": "For the action to run, several conditions must be met. The global lighting automations [input_boolean.lighting_automations] and the room-specific playroom lighting automations [input_boolean.playroom_lighting_automations] must both be switched on. The room must be marked as occupied, meaning the input boolean playroom occupied [input_boolean.playroom_occupied] is on. At least one of the two light sensors must report a reading below 100 lux. The playroom lights group [group.playroom_lights] must currently be off. Finally, the room's mode, set by playroom mode [input_select.playroom], must be 'Auto'.",
|
|
"action": "Turns on all the lights in the playroom by activating the playroom lights group [group.playroom_lights]."
|
|
},
|
|
"human_like": "Turns on the playroom lights during the day when the room is occupied, the light level is low, and all automation switches are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_lights_motion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When playroom motion [binary_sensor.playroom_motion] remains off for 2 minutes OR When playroom occupancy [binary_sensor.playroom_occupancy] changes to off. CONDITIONS: input boolean playroom occupied [input_boolean.playroom_occupied] is off AND playroom lights group [group.playroom_lights] is on. ACTIONS: Turn off playroom lights group [group.playroom_lights] AND Turn off Playroom Lights Motion Off [automation.playroom_lights_motion_off].",
|
|
"natural_language": {
|
|
"trigger": "When motion is not detected in the playroom for two minutes, or when the occupancy sensor indicates the room is no longer occupied.",
|
|
"conditions": "The automation only runs if the room is marked as not occupied via the input boolean, and the playroom lights are currently on.",
|
|
"action": "Turns off all the lights in the playroom group and then disables this automation itself."
|
|
},
|
|
"human_like": "Turns off the playroom lights when the room is empty and no motion is detected, and then disables itself to prevent repeated triggers.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When playroom entry motion sensor motion [binary_sensor.playroom_entry_motion_sensor_motion] turns on. CONDITIONS: (playroom mode [input_select.playroom] is Auto) AND (lighting automations [input_boolean.lighting_automations] is on) AND (playroom lighting automations [input_boolean.playroom_lighting_automations] is on) AND ((playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] is below 75) OR (playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] is below 75)) AND (playroom lights group [group.playroom_lights] is off). ACTIONS: Turn on playroom lights group [group.playroom_lights] AND Turn on playroom lights auto [input_boolean.playroom_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the playroom entry motion sensor motion [binary_sensor.playroom_entry_motion_sensor_motion].",
|
|
"conditions": "The playroom mode [input_select.playroom] must be set to 'Auto'. The global lighting automations [input_boolean.lighting_automations] and the specific playroom lighting automations [input_boolean.playroom_lighting_automations] must both be enabled. Additionally, the light level in the room must be low, meaning either the playroom entry motion sensor illuminance [sensor.playroom_entry_motion_sensor_illuminance] or the playroom motion sensor illuminance [sensor.playroom_motion_sensor_illuminance] must be below 75 lux. Finally, the playroom lights group [group.playroom_lights] must currently be off.",
|
|
"action": "Turns on all lights in the playroom lights group [group.playroom_lights] and also turns on the playroom lights auto [input_boolean.playroom_lights_auto] flag to indicate the lights were activated automatically."
|
|
},
|
|
"human_like": "Automatically turns on the playroom lights when motion is detected, but only if the room is in auto mode, the lighting automations are enabled, and the room is dark enough.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When playroom mode [input_select.playroom] changes to 'Off' OR When input boolean playroom occupied [input_boolean.playroom_occupied] changes to 'off' OR When lighting automations [input_boolean.lighting_automations] changes to 'on'. CONDITIONS: input boolean playroom occupied [input_boolean.playroom_occupied] is 'off' AND (playroom mode [input_select.playroom] is 'Off' OR input boolean playroom occupied [input_boolean.playroom_occupied] is 'off'). ACTIONS: Turn off playroom lights group [group.playroom_lights]. Then, IF Christmas Playroom Lights [swtich.christmas_playroom_lights] is 'on', turn off Christmas Playroom Lights [swtich.christmas_playroom_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the playroom mode [input_select.playroom] is set to 'Off', when the input boolean playroom occupied [input_boolean.playroom_occupied] is turned off, or when the lighting automations [input_boolean.lighting_automations] are switched on.",
|
|
"conditions": "The automation requires that the input boolean playroom occupied [input_boolean.playroom_occupied] is off. Additionally, either the playroom mode [input_select.playroom] must be set to 'Off', or the input boolean playroom occupied [input_boolean.playroom_occupied] must be off (this second part is redundant with the first condition).",
|
|
"action": "The main action is to turn off the playroom lights group [group.playroom_lights]. After that, if the Christmas Playroom Lights [swtich.christmas_playroom_lights] are on, they will also be turned off."
|
|
},
|
|
"human_like": "Turns off the playroom lights when the room is set to 'Off' mode, marked as unoccupied, or when lighting automations are enabled, ensuring any Christmas lights are also switched off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_lights_to_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When playroom mode [input_select.playroom] changes to 'Off' OR input boolean playroom occupied [input_boolean.playroom_occupied] changes to 'off' OR lighting automations [input_boolean.lighting_automations] changes to 'on'. CONDITIONS: lighting automations [input_boolean.lighting_automations] is 'on' AND playroom lighting automations [input_boolean.playroom_lighting_automations] is 'on' AND (playroom mode [input_select.playroom] is 'Off' OR input boolean playroom occupied [input_boolean.playroom_occupied] is 'off') AND playroom lights [light.playroom_lights] is 'on'. ACTIONS: Turn off playroom lights [light.playroom_lights] AND turn off playroom lights auto [input_boolean.playroom_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When the playroom mode [input_select.playroom] is set to 'Off', or when the input boolean playroom occupied [input_boolean.playroom_occupied] is turned off, or when the lighting automations [input_boolean.lighting_automations] are turned on.",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be on, the playroom lighting automations [input_boolean.playroom_lighting_automations] must be on, and either the playroom mode [input_select.playroom] is set to 'Off' or the input boolean playroom occupied [input_boolean.playroom_occupied] is off. Additionally, the playroom lights [light.playroom_lights] must currently be on.",
|
|
"action": "Turns off the playroom lights [light.playroom_lights] and also turns off the playroom lights auto [input_boolean.playroom_lights_auto]."
|
|
},
|
|
"human_like": "Automatically turns off the playroom lights when the room is set to 'Off' mode or marked as unoccupied, provided lighting automations are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_lights_manually_turned_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When playroom lights [light.playroom_lights] are turned off. CONDITIONS: playroom lights auto [input_boolean.playroom_lights_auto] is on AND (The state change context has no parent_id). ACTIONS: Turn off playroom lights auto [input_boolean.playroom_lights_auto] AND Turn off playroom lighting automations [input_boolean.playroom_lighting_automations] AND Run general notification script [script.general_notification] with a message containing the parent_id and user_id from the trigger context.",
|
|
"natural_language": {
|
|
"trigger": "When the playroom lights [light.playroom_lights] are turned off.",
|
|
"conditions": "If the automatic lighting control for the playroom, playroom lights auto [input_boolean.playroom_lights_auto], is currently enabled, and if the state change was not initiated by another automation (indicated by the absence of a parent_id in the context).",
|
|
"action": "Disables the automatic lighting control by turning off playroom lights auto [input_boolean.playroom_lights_auto] and playroom lighting automations [input_boolean.playroom_lighting_automations]. It also sends a passive notification to a specific device with details about the event, including the context's parent_id and user_id."
|
|
},
|
|
"human_like": "Disables automatic lighting for the playroom and sends a notification when the lights are manually turned off, preventing the automations from turning them back on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_media_player_unjoin",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean playroom occupied [input_boolean.playroom_occupied] turns off OR When playroom mode [input_select.playroom] changes to 'Off' OR When sonos playroom [media_player.sonos_playroom] becomes paused and remains paused for 10 minutes OR When sonos playroom [media_player.sonos_playroom] becomes paused and remains paused for 30 minutes. CONDITIONS: input boolean playroom occupied [input_boolean.playroom_occupied] is off AND No device in the room presence devices group [group.room_presence_devices] has a state of 'playroom' AND sonos playroom [media_player.sonos_playroom] is paused AND sonos playroom [media_player.sonos_playroom] has more than one group member. ACTIONS: Unjoin sonos playroom [media_player.sonos_playroom] from its speaker group.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if the playroom is marked as unoccupied, if the playroom mode is set to 'Off', or if the Sonos speaker in the playroom has been paused for either 10 or 30 minutes.",
|
|
"conditions": "For the action to run, the playroom must be marked as unoccupied, there must be no presence devices indicating someone is in the playroom, the Sonos speaker must be in a paused state, and it must be part of a speaker group with more than one member.",
|
|
"action": "The Sonos speaker in the playroom is unjoined from its current speaker group."
|
|
},
|
|
"human_like": "Automatically unjoins the playroom Sonos speaker from its group when the room is unoccupied and the music is paused, ensuring it's not part of a multi-room audio setup.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean playroom occupied [input_boolean.playroom_occupied] turns on OR When house status [input_select.house] changes to Auto OR When house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND playroom mode [input_select.playroom] is NOT set to Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set playroom mode [input_select.playroom] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the playroom is marked as occupied, when the overall house mode is set to Auto, or when the house is marked as occupied.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied, the playroom mode must not already be set to Auto, the bedtime mode must be off, and the overall house mode must be set to Auto.",
|
|
"action": "Sets the playroom mode to Auto."
|
|
},
|
|
"human_like": "Automatically sets the playroom to 'Auto' mode when the house is occupied and in Auto mode, but only if the playroom is occupied and it's not bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when house status [input_select.house] changes to Away OR when bedtime [input_boolean.bedtime] turns on OR when Home Assistant starts OR when an automation is reloaded. CONDITIONS: playroom mode [input_select.playroom] is not set to Off AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set playroom mode [input_select.playroom] to Off.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when any of these events occur: the house occupied [input_boolean.house_occupied] switch is turned off, the house status [input_select.house] is set to Away, the bedtime [input_boolean.bedtime] switch is turned on, Home Assistant starts up, or an automation is reloaded.",
|
|
"conditions": "The automation only runs if the playroom mode [input_select.playroom] is not already set to Off. Additionally, at least one of the following must be true: the house occupied [input_boolean.house_occupied] is off, the house status [input_select.house] is set to Away, or the bedtime [input_boolean.bedtime] is on.",
|
|
"action": "Sets the playroom mode [input_select.playroom] to Off."
|
|
},
|
|
"human_like": "Turns off the playroom mode when the house is unoccupied, set to Away, or at bedtime, ensuring it's also off after a system restart.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_music_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When input boolean playroom occupied [input_boolean.playroom_occupied] changes to off OR when playroom mode [input_select.playroom] changes to 'Off'. CONDITIONS: (input boolean playroom occupied [input_boolean.playroom_occupied] is off) AND (no devices in room presence devices group [group.room_presence_devices] have a state equal to 'playroom') AND (sonos playroom [media_player.sonos_playroom] is playing). ACTIONS: Unjoin sonos playroom [media_player.sonos_playroom] AND pause sonos playroom [media_player.sonos_playroom].",
|
|
"natural_language": {
|
|
"trigger": "When the room is marked as unoccupied by the input boolean playroom occupied [input_boolean.playroom_occupied] turning off, or when the playroom mode [input_select.playroom] is switched to 'Off'.",
|
|
"conditions": "The room must be marked as unoccupied, there must be no presence devices indicating they are in the playroom, and the sonos playroom [media_player.sonos_playroom] must be currently playing music.",
|
|
"action": "Unjoins the speaker from any group and then pauses the playback on the sonos playroom [media_player.sonos_playroom]."
|
|
},
|
|
"human_like": "Automatically pauses the Playroom Sonos speaker and unjoins it from any group when the room is unoccupied and no one is present.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When the group of room presence devices [group.room_presence_devices] has no devices reporting state as 'playroom' for 2 minutes OR When playroom occupancy [binary_sensor.playroom_occupancy] becomes 'off' OR When playroom occupancy [binary_sensor.playroom_occupancy] remains 'off' for 5 minutes OR When playroom occupancy [binary_sensor.playroom_occupancy] remains 'off' for 10 minutes OR When playroom motion [binary_sensor.playroom_motion] remains 'off' for 5 minutes OR When playroom presence sensor [binary_sensor.playroom_presence_sensor] becomes 'off'. CONDITIONS: input boolean playroom occupied [input_boolean.playroom_occupied] is 'on' AND playroom entry motion sensor motion [binary_sensor.playroom_entry_motion_sensor_motion] is 'off' AND playroom presence sensor [binary_sensor.playroom_presence_sensor] is 'off' AND the group of room presence devices [group.room_presence_devices] has no devices reporting state as 'playroom' AND playroom motion [binary_sensor.playroom_motion] remains 'off' for 10 minutes. ACTIONS: Turn off input boolean playroom occupied [input_boolean.playroom_occupied], wait 2 seconds, then turn on playroom lighting automations [input_boolean.playroom_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: if no devices in the room presence devices group [group.room_presence_devices] are reporting their location as the playroom for two minutes; if the playroom occupancy sensor [binary_sensor.playroom_occupancy] reports the room is unoccupied; if that occupancy sensor remains unoccupied for five minutes; if it remains unoccupied for ten minutes; if the playroom motion sensor [binary_sensor.playroom_motion] detects no motion for five minutes; or if the playroom presence sensor [binary_sensor.playroom_presence_sensor] reports no presence.",
|
|
"conditions": "For the automation to run, the following must all be true: the room must currently be marked as occupied, indicated by input boolean playroom occupied [input_boolean.playroom_occupied] being on. The entry motion sensor [binary_sensor.playroom_entry_motion_sensor_motion] must not detect any motion. The playroom presence sensor [binary_sensor.playroom_presence_sensor] must report no presence. No devices in the room presence devices group [group.room_presence_devices] should be located in the playroom. Finally, the playroom motion sensor [binary_sensor.playroom_motion] must have detected no motion for a full ten minutes.",
|
|
"action": "The automation marks the playroom as unoccupied by turning off input boolean playroom occupied [input_boolean.playroom_occupied]. After a brief two-second delay, it then turns on playroom lighting automations [input_boolean.playroom_lighting_automations], presumably to allow other lighting rules to take effect."
|
|
},
|
|
"human_like": "This automation marks the playroom as unoccupied and re-enables lighting automations when multiple sensors confirm the room is empty for a sustained period.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "playroom_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When playroom entry motion sensor motion [binary_sensor.playroom_entry_motion_sensor_motion] turns on OR when playroom lights group [group.playroom_lights] turns on OR when playroom presence sensor [binary_sensor.playroom_presence_sensor] turns on OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND input boolean playroom occupied [input_boolean.playroom_occupied] is off AND (at least one device in room presence devices group [group.room_presence_devices] has its state attribute equal to 'playroom' OR playroom occupancy [binary_sensor.playroom_occupancy] is on OR playroom motion [binary_sensor.playroom_motion] is on OR playroom presence sensor [binary_sensor.playroom_presence_sensor] is on). ACTIONS: Turn on input boolean playroom occupied [input_boolean.playroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when motion is detected at the playroom entry [binary_sensor.playroom_entry_motion_sensor_motion], when the playroom lights [group.playroom_lights] are turned on, when the playroom presence sensor [binary_sensor.playroom_presence_sensor] detects presence, when Home Assistant reloads automations, or when Home Assistant itself starts up.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied [input_boolean.house_occupied], and the playroom must currently be marked as unoccupied [input_boolean.playroom_occupied]. Additionally, at least one of the following must be true: a device tracked by the room presence system [group.room_presence_devices] is located in the playroom, the playroom occupancy sensor [binary_sensor.playroom_occupancy] is active, the general playroom motion sensor [binary_sensor.playroom_motion] detects motion, or the playroom presence sensor [binary_sensor.playroom_presence_sensor] is active.",
|
|
"action": "Marks the playroom as occupied by turning on the input boolean playroom occupied [input_boolean.playroom_occupied]."
|
|
},
|
|
"human_like": "Marks the playroom as occupied when activity is detected and the house is occupied, ensuring the room's status is only updated when it's currently empty.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pool_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND pool mode [input_select.pool] is NOT Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set pool mode [input_select.pool] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] is set to 'Auto' or when the house occupied [input_boolean.house_occupied] switch is turned on.",
|
|
"conditions": "The house must be occupied, as indicated by the house occupied [input_boolean.house_occupied] switch being on. The pool mode [input_select.pool] must not already be set to 'Auto'. The bedtime [input_boolean.bedtime] mode must be off, and the overall house status [input_select.house] must be set to 'Auto'.",
|
|
"action": "Sets the pool mode [input_select.pool] to 'Auto'."
|
|
},
|
|
"human_like": "Automatically switches the pool to Auto mode when the house is in Auto mode, occupied, and it's not bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pool_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when bedtime [input_boolean.bedtime] turns on OR when Home Assistant starts OR when an automation is reloaded. CONDITIONS: pool mode [input_select.pool] is NOT set to 'Off' AND (house occupied [input_boolean.house_occupied] is off OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set pool mode [input_select.pool] to 'Off'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] status changes to off, when the bedtime [input_boolean.bedtime] status changes to on, when Home Assistant starts up, or when any automation is reloaded.",
|
|
"conditions": "The automation only runs if the pool mode [input_select.pool] is not already set to 'Off'. Additionally, it requires that either the house is unoccupied (house occupied [input_boolean.house_occupied] is off) or it is bedtime (bedtime [input_boolean.bedtime] is on).",
|
|
"action": "Sets the pool mode [input_select.pool] to 'Off'."
|
|
},
|
|
"human_like": "Turns off the pool mode when the house is unoccupied or at bedtime, ensuring the pool is not active when not needed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pool_motion_restart_timer",
|
|
"result": {
|
|
"structured": "TRIGGER: When pool motion east entry occupancy [binary_sensor.pool_motion_east_entry_occupancy] OR pool motion west occupancy [binary_sensor.pool_motion_west_occupancy] detects motion (turns on). CONDITIONS: house occupied [input_boolean.house_occupied] is on AND bedtime [input_boolean.bedtime] is off AND pool mode [input_select.pool] is set to Auto. ACTIONS: Start timer pool occupancy [timer.pool_occupancy].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by either the pool motion east entry occupancy [binary_sensor.pool_motion_east_entry_occupancy] or the pool motion west occupancy [binary_sensor.pool_motion_west_occupancy] sensor.",
|
|
"conditions": "The house must be marked as occupied, bedtime mode must be off, and the pool mode must be set to Auto.",
|
|
"action": "Starts the pool occupancy timer."
|
|
},
|
|
"human_like": "Restarts the pool occupancy timer when motion is detected, provided the house is occupied, it's not bedtime, and the pool is in Auto mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pool_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer pool occupancy [timer.pool_occupancy] becomes idle OR When the template condition (no devices in the room presence devices group [group.room_presence_devices] report being in the 'gazebo' state) remains true for 2 minutes OR When pool main gate opening [binary_sensor.pool_main_gate_opening] becomes closed (off). CONDITIONS: pool occupied [input_boolean.pool_occupied] is on AND pool motion sensor status [binary_sensor.pool_motion_sensor_status] is off AND timer pool occupancy [timer.pool_occupancy] is idle AND the template condition (no devices in the room presence devices group [group.room_presence_devices] report being in the 'gazebo' state) is true. ACTIONS: Turn off pool occupied [input_boolean.pool_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the pool occupancy timer finishes and becomes idle, when no presence devices have reported being in the gazebo area for two consecutive minutes, or when the main pool gate is closed.",
|
|
"conditions": "For the automation to run, the pool must be currently marked as occupied, the pool motion sensor must not be detecting motion, the pool occupancy timer must be idle, and there must be no presence devices indicating someone is in the gazebo area.",
|
|
"action": "It marks the pool area as unoccupied by turning off the pool occupied status."
|
|
},
|
|
"human_like": "This automation marks the pool as unoccupied when the timer runs out, no one is detected in the gazebo, and the gate is closed, provided there is no motion.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pool_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When pool motion sensor status [binary_sensor.pool_motion_sensor_status] changes to on OR When pool main gate opening [binary_sensor.pool_main_gate_opening] changes state OR When the automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND pool occupied [input_boolean.pool_occupied] is off AND (At least one device in the room presence devices group [group.room_presence_devices] reports its state as 'gazebo' OR timer pool occupancy [timer.pool_occupancy] is active). ACTIONS: Turn on pool occupied [input_boolean.pool_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected at the pool (pool motion sensor status [binary_sensor.pool_motion_sensor_status] turns on), when the pool main gate opening [binary_sensor.pool_main_gate_opening] changes state, when Home Assistant reloads automations, or when Home Assistant itself starts up.",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), and the pool must currently be marked as unoccupied (pool occupied [input_boolean.pool_occupied] is off). Additionally, either at least one device tracked by the room presence devices group [group.room_presence_devices] is reported to be in the 'gazebo' area, or the pool occupancy timer (timer pool occupancy [timer.pool_occupancy]) is already running.",
|
|
"action": "Marks the pool area as occupied by turning on pool occupied [input_boolean.pool_occupied]."
|
|
},
|
|
"human_like": "Marks the pool as occupied when motion is detected or the gate opens, provided the house is occupied and someone is present near the gazebo or the pool timer is already running.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "powder_room_fan_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When powder room mode [input_select.powder_room] changes to 'Off' OR When powder room occupied [input_boolean.powder_room_occupied] changes to 'off' AND remains for 5 minutes. CONDITIONS: powder room fan [fan.powder_room_fan] is on AND (powder room mode [input_select.powder_room] is 'Off' OR powder room occupied [input_boolean.powder_room_occupied] is 'off'). ACTIONS: Turn off powder room fan [fan.powder_room_fan].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in two ways: first, when the powder room mode [input_select.powder_room] is switched to 'Off'. Second, when the powder room occupied [input_boolean.powder_room_occupied] indicator turns off and stays off for five minutes.",
|
|
"conditions": "For the action to run, the powder room fan [fan.powder_room_fan] must currently be on. Additionally, at least one of the following must be true: the powder room mode [input_select.powder_room] is set to 'Off', or the powder room occupied [input_boolean.powder_room_occupied] is off.",
|
|
"action": "Turns off the powder room fan [fan.powder_room_fan]."
|
|
},
|
|
"human_like": "Turns off the powder room fan when the room is set to 'Off' mode or is unoccupied for five minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "powder_room_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When powder room mode [input_select.powder_room] changes to 'Off' OR When lighting automations [input_boolean.lighting_automations] changes to 'on'. CONDITIONS: powder room main lights [light.powder_room_main_lights] is on AND powder room mode [input_select.powder_room] is 'Off'. ACTIONS: Turn off powder room main lights [light.powder_room_main_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the powder room mode [input_select.powder_room] is set to 'Off', or when the lighting automations [input_boolean.lighting_automations] are turned on.",
|
|
"conditions": "The powder room main lights [light.powder_room_main_lights] must be on, and the powder room mode [input_select.powder_room] must be set to 'Off'.",
|
|
"action": "Turns off the powder room main lights [light.powder_room_main_lights]."
|
|
},
|
|
"human_like": "Turns off the powder room lights when the room mode is set to 'Off' and the lighting automations are enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "powder_room_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND powder room mode [input_select.powder_room] is NOT set to Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set powder room mode [input_select.powder_room] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "This automation triggers when the overall house status [input_select.house] is changed to 'Auto', or when the house occupied [input_boolean.house_occupied] indicator is turned on.",
|
|
"conditions": "For the automation to run, the house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), the powder room mode [input_select.powder_room] must not already be set to 'Auto', the bedtime [input_boolean.bedtime] mode must be off, and the overall house status [input_select.house] must be set to 'Auto'.",
|
|
"action": "Sets the powder room mode [input_select.powder_room] to 'Auto'."
|
|
},
|
|
"human_like": "Automatically sets the powder room to 'Auto' mode when the house is occupied, not in bedtime mode, and the overall house mode is set to 'Auto'.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "powder_room_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR when house status [input_select.house] changes to Away OR when bedtime [input_boolean.bedtime] turns on OR when Home Assistant starts OR when an automation is reloaded. CONDITIONS: (powder room mode [input_select.powder_room] is NOT set to Off) AND (house occupied [input_boolean.house_occupied] is off OR house status [input_select.house] is Away OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set powder room mode [input_select.powder_room] to Off.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the house occupied [input_boolean.house_occupied] status changes to off, when the overall house status [input_select.house] is set to Away, when the bedtime [input_boolean.bedtime] mode is turned on, when the Home Assistant system starts up, or when automations are reloaded.",
|
|
"conditions": "For the automation to run, the powder room mode [input_select.powder_room] must not already be set to Off. Additionally, at least one of the following must be true: the house is marked as unoccupied, the house is set to Away mode, or bedtime mode is active.",
|
|
"action": "The automation sets the powder room mode [input_select.powder_room] to Off."
|
|
},
|
|
"human_like": "Turns off the powder room mode when the house is unoccupied, set to Away, or at bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "powder_room_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When powder room door [binary_sensor.powder_room_door] opens (to on) OR When powder room door [binary_sensor.powder_room_door] remains open (on) for 5 minutes OR When powder room main lights [light.powder_room_main_lights] turn off OR When powder room main lights [light.powder_room_main_lights] remain off for 5 minutes. CONDITIONS: (powder room occupied [input_boolean.powder_room_occupied] is on) AND ((powder room door [binary_sensor.powder_room_door] is open AND powder room main lights [light.powder_room_main_lights] are on) OR (powder room door [binary_sensor.powder_room_door] is open for 5 minutes OR powder room main lights [light.powder_room_main_lights] are on for 5 minutes)). ACTIONS: Turn off powder room occupied [input_boolean.powder_room_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: when the powder room door [binary_sensor.powder_room_door] opens, when the door remains open for five minutes, when the powder room main lights [light.powder_room_main_lights] turn off, or when the lights remain off for five minutes.",
|
|
"conditions": "For the automation to proceed, the room must be marked as occupied, meaning the input boolean powder room occupied [input_boolean.powder_room_occupied] is set to on. Furthermore, either the door is open and the lights are on, or the door has been open for five minutes, or the lights have been on for five minutes.",
|
|
"action": "The automation marks the room as unoccupied by turning off the powder room occupied [input_boolean.powder_room_occupied] input boolean."
|
|
},
|
|
"human_like": "Marks the powder room as unoccupied when the door is opened or the lights are turned off, but only if the room was previously marked as occupied and certain conditions about the door and lights are met.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "powder_room_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When powder room door [binary_sensor.powder_room_door] changes to closed (off) OR when powder room main lights [light.powder_room_main_lights] turn on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND powder room occupied [input_boolean.powder_room_occupied] is off AND (powder room door [binary_sensor.powder_room_door] is closed (off) OR powder room main lights [light.powder_room_main_lights] is on). ACTIONS: Turn on powder room occupied [input_boolean.powder_room_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When the powder room door [binary_sensor.powder_room_door] closes, or when the powder room main lights [light.powder_room_main_lights] are turned on.",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), and the powder room must currently be marked as unoccupied (powder room occupied [input_boolean.powder_room_occupied] is off). Additionally, either the powder room door [binary_sensor.powder_room_door] must be closed, or the powder room main lights [light.powder_room_main_lights] must be on.",
|
|
"action": "Marks the powder room as occupied by turning on powder room occupied [input_boolean.powder_room_occupied]."
|
|
},
|
|
"human_like": "Marks the powder room as occupied when the door closes or the lights turn on, but only if the house is occupied and the room is not already marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "primary_school_day_off",
|
|
"result": {
|
|
"structured": "TRIGGER: At 23:59:00. CONDITIONS: primary school day [input_boolean.primary_school_day] is on. ACTIONS: Turn off primary school day [input_boolean.primary_school_day] AND Turn on school day reminder automation [automation.school_day_reminder] AND IF (it is Wednesday AND district late start wednesday [input_boolean.district_late_start_wednesday] is on) THEN Turn off district late start wednesday [input_boolean.district_late_start_wednesday].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at 11:59 PM every day.",
|
|
"conditions": "The automation only runs if the primary school day [input_boolean.primary_school_day] is currently set to on.",
|
|
"action": "It turns off the primary school day [input_boolean.primary_school_day] indicator, turns on the school day reminder automation [automation.school_day_reminder], and if it is a Wednesday and the district late start wednesday [input_boolean.district_late_start_wednesday] flag is on, it also turns off that flag."
|
|
},
|
|
"human_like": "Resets the primary school day indicator at the end of the day, re-enables the daily reminder, and clears any Wednesday late-start flag.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "primary_school_day_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 02:00:01 OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: district school year active [input_boolean.district_school_year_active] is on AND school day [binary_sensor.school_day] is on AND primary school closed [binary_sensor.primary_school_closed] is off. ACTIONS: Turn on primary school day [input_boolean.primary_school_day] AND turn on school day reminder automation [automation.school_day_reminder] AND if the current weekday is Wednesday, then also turn on district late start wednesday [input_boolean.district_late_start_wednesday].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs at 2:00:01 AM, whenever automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "All of the following must be true: the district school year active [input_boolean.district_school_year_active] is on, the school day [binary_sensor.school_day] is on, and the primary school closed [binary_sensor.primary_school_closed] sensor is off.",
|
|
"action": "It turns on the primary school day [input_boolean.primary_school_day] flag and enables the school day reminder automation [automation.school_day_reminder]. Additionally, if today is Wednesday, it also turns on the district late start wednesday [input_boolean.district_late_start_wednesday] flag."
|
|
},
|
|
"human_like": "Activates the primary school day routine in the early morning, ensuring reminders are on and setting a late-start flag for Wednesdays.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "announcement_queue_processor",
|
|
"result": {
|
|
"structured": "TRIGGER: When announcement queue [sensor.announcement_queue] state changes OR announcement queue running [input_boolean.announcement_queue_running] turns off OR MQTT message received on topic home/announcement_queue/state OR house occupied [input_boolean.house_occupied] turns on AND remains on for 5 minutes. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND announcement queue [sensor.announcement_queue] attribute 'queue' exists, is iterable, AND has at least one item AND announcement queue running [input_boolean.announcement_queue_running] is off AND (IF the first message in the queue has priority 'critical' THEN true ELSE announceable rooms occupied [binary_sensor.announceable_rooms_occupied] is on). ACTIONS: Turn on announcement queue running [input_boolean.announcement_queue_running]; Set variables raw_queue, queue (filtered for non-expired messages), next (first message), updated (remaining queue), payload_json; IF queue has items AND (next has a 'speech_message' OR 'sound_file' string) THEN run script announcement engine [script.announcement_engine] with message data; Publish updated queue data to MQTT topic home/announcement_queue/data; Publish queue state to MQTT topic home/announcement_queue/state; Wait 3 seconds; Turn off announcement queue running [input_boolean.announcement_queue_running].",
|
|
"natural_language": {
|
|
"trigger": "This automation starts when the state of the announcement queue [sensor.announcement_queue] changes, when the announcement queue running [input_boolean.announcement_queue_running] flag is turned off, when an MQTT message is received on the topic 'home/announcement_queue/state', or when the house occupied [input_boolean.house_occupied] indicator has been on for at least five minutes.",
|
|
"conditions": "All of the following must be true: the house must be marked as occupied, the announcement queue must contain at least one valid message, the queue processor must not already be running, and either the next message in the queue is marked as 'critical' or at least one announceable room is currently occupied.",
|
|
"action": "The automation marks the queue as running, processes the queue by filtering out any expired messages, and if a valid message remains, it broadcasts it using the announcement engine script. It then updates the queue data and state via MQTT, waits three seconds, and finally marks the queue processor as no longer running."
|
|
},
|
|
"human_like": "Processes and broadcasts announcements from a queue when the house is occupied, ensuring critical messages are always played and normal messages only play when someone is likely to hear them.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "announcement_queue_cleanup",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off. CONDITIONS: None. ACTIONS: 1. Set variable 'raw_queue' to the current queue attribute of announcement queue [sensor.announcement_queue]. 2. Set variable 'cleaned_queue' to a filtered version of 'raw_queue' that contains only messages where the priority is 'critical' or 'high' AND the message has not expired (if an 'expires_at' timestamp is present, it must be in the future). 3. Log a warning message indicating the queue was cleaned and the number of remaining messages. 4. Publish the cleaned queue as a JSON payload to the MQTT topic 'home/announcement_queue/data' with the retain flag. 5. Publish the string 'queue' to the MQTT topic 'home/announcement_queue/state' with the retain flag.",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to off, indicating the house is empty.",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "The automation cleans up the announcement queue. It retrieves the current list of messages from the announcement queue [sensor.announcement_queue]. It then filters this list, keeping only messages that are marked as 'critical' or 'high' priority and have not yet expired. It logs a warning message stating the cleanup occurred and how many messages remain. Finally, it publishes the updated, filtered queue to two MQTT topics to update the system state."
|
|
},
|
|
"human_like": "Cleans up the announcement queue when the house becomes empty, keeping only high-priority and unexpired messages.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "quiet_mode_turn_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When everybody awake [binary_sensor.everybody_awake] turns on. CONDITIONS: quiet mode [input_boolean.quiet_mode] is on AND (nino bed occupied [binary_sensor.nino_bed_occupied] is off AND gianluca bed occupied [binary_sensor.gianluca_bed_occupied] is off AND john bed occupied [binary_sensor.john_bed_occupied] is off AND cristina bed occupied [binary_sensor.cristina_bed_occupied] is off). ACTIONS: Turn off quiet mode [input_boolean.quiet_mode].",
|
|
"natural_language": {
|
|
"trigger": "When the system detects that everybody is awake, indicated by the everybody awake [binary_sensor.everybody_awake] sensor turning on.",
|
|
"conditions": "If quiet mode [input_boolean.quiet_mode] is currently active, and none of the beds are occupied: nino bed occupied [binary_sensor.nino_bed_occupied], gianluca bed occupied [binary_sensor.gianluca_bed_occupied], john bed occupied [binary_sensor.john_bed_occupied], and cristina bed occupied [binary_sensor.cristina_bed_occupied] are all reporting as unoccupied (off).",
|
|
"action": "Deactivates quiet mode by turning off the quiet mode [input_boolean.quiet_mode] switch."
|
|
},
|
|
"human_like": "Turns off quiet mode when everyone is awake and no one is in bed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "quiet_mode_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When somebody in bed [binary_sensor.somebody_in_bed] turns on. CONDITIONS: quiet mode [input_boolean.quiet_mode] is off. ACTIONS: Turn on quiet mode [input_boolean.quiet_mode] AND execute voice announcement script [script.voice_announcement] with a message that randomly selects from a list of phrases announcing that a specific person is going to sleep, where the person is determined by checking the state of gianluca in bed [input_boolean.gianluca_in_bed], nino in bed [input_boolean.nino_in_bed], john is in bed [input_boolean.john_is_in_bed], and cristina in bed [input_boolean.cristina_in_bed].",
|
|
"natural_language": {
|
|
"trigger": "When the sensor indicating somebody in bed [binary_sensor.somebody_in_bed] detects that someone is in bed.",
|
|
"conditions": "The automation only runs if quiet mode [input_boolean.quiet_mode] is currently turned off.",
|
|
"action": "It turns on quiet mode [input_boolean.quiet_mode] and then runs a voice announcement script [script.voice_announcement]. The script plays a harp flourish sound and speaks a random message announcing that a specific person is going to sleep. The person's name is determined by checking which of the following input booleans is on: gianluca in bed [input_boolean.gianluca_in_bed], nino in bed [input_boolean.nino_in_bed], john is in bed [input_boolean.john_is_in_bed], or cristina in bed [input_boolean.cristina_in_bed]."
|
|
},
|
|
"human_like": "Turns on quiet mode and makes a voice announcement when someone goes to bed, identifying the person by name.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Reset Room Selection After Vacuum Finishes",
|
|
"result": {
|
|
"structured": "TRIGGER: When roborock s7 vacuum [vacuum.roborock_s7] changes state to returning. CONDITIONS: At least one input_boolean entity whose entity_id contains the substring 'vacuum_' is in the 'on' state. ACTIONS: Turn off all input_boolean entities whose entity_id contains the substring 'vacuum_' and are currently in the 'on' state.",
|
|
"natural_language": {
|
|
"trigger": "When the roborock s7 vacuum [vacuum.roborock_s7] finishes cleaning and changes its state to 'returning'.",
|
|
"conditions": "If at least one room selection boolean (any input_boolean whose ID contains 'vacuum_') is currently turned on.",
|
|
"action": "Turn off all currently active room selection booleans (all input_boolean entities with IDs containing 'vacuum_' that are on)."
|
|
},
|
|
"human_like": "Clears all selected room cleaning options after the vacuum finishes its job and starts returning to the dock.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "returned_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When home nearest distance [sensor.home_nearest_distance] falls below 0.5 OR When john status [input_select.john_status] changes to 'Just Arrived' OR When cristina status dropdown [input_select.cristina_status_dropdown] changes to 'Just Arrived'. CONDITIONS: (house occupied [input_boolean.house_occupied] was updated less than 300 seconds ago) AND (john status [input_select.john_status] is 'Just Arrived' OR cristina status dropdown [input_select.cristina_status_dropdown] is 'Just Arrived'). ACTIONS: Execute script.general_notification [script.general_notification] with title 'Home Arrival Mode' and message 'I noticed that you're arriving home so I've opened the garage and turned on a couple of lights.' sent to device 'jk' with priority 'passive'. THEN, if sun sun [sun.sun] is below_horizon AND the time is after 21:00:00, activate scene returned home late [scene.returned_home_late]; otherwise, activate scene returned home [scene.returned_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the home nearest distance [sensor.home_nearest_distance] drops below 0.5, or when either john status [input_select.john_status] or cristina status dropdown [input_select.cristina_status_dropdown] changes to 'Just Arrived'.",
|
|
"conditions": "The automation only runs if the house occupied [input_boolean.house_occupied] status was updated within the last five minutes, and at least one of the status dropdowns (john status [input_select.john_status] or cristina status dropdown [input_select.cristina_status_dropdown]) is currently set to 'Just Arrived'.",
|
|
"action": "First, a passive notification titled 'Home Arrival Mode' is sent via the general notification script [script.general_notification] to the device 'jk', announcing the arrival and actions taken. Then, depending on the time and sun position: if it's after 9:00 PM and the sun is below the horizon, the late-night scene [scene.returned_home_late] is activated; otherwise, the standard returned home scene [scene.returned_home] is activated."
|
|
},
|
|
"human_like": "Welcomes you home by sending a notification and activating an appropriate lighting scene when you arrive, based on your proximity or status change, but only if the house was recently marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "robot_vacuum_maintenance_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: At 20:45:00 OR At 07:05:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Wait for kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] to be on for 5 minutes, with a timeout of 20 minutes (proceed regardless after timeout). Then, wait for kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] to be on, with a timeout of 10 minutes (proceed regardless after timeout). Then, execute script voice announcement [script.voice_announcement] with a dynamic message based on the triggering entity: if binary sensor roborock s7 water shortage [binary_sensor.roborock_s7_water_shortage] triggered, announce water tank empty; if sensor roborock s7 sensor dirty left [sensor.roborock_s7_sensor_dirty_left] triggered, announce sensors dirty; otherwise, announce general maintenance needed. Then, execute general notification script [script.general_notification] with the same dynamic message and title 'Robot Vacuum Maintenance'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers daily at 7:05 AM and 8:45 PM.",
|
|
"conditions": "The automation only runs if the house is marked as occupied via the house occupied [input_boolean.house_occupied] input boolean.",
|
|
"action": "When triggered, the automation first waits for motion to be detected in the kitchen for a continuous 5-minute period. It will wait up to 20 minutes for this to happen, but will proceed even if it doesn't. Next, it waits for the kitchen motion sensor status [binary_sensor.kitchen_motion_sensor_status] to be active, waiting up to 10 minutes before proceeding regardless. Finally, it sends a voice announcement and a mobile notification. The specific message depends on which maintenance issue triggered the automation: if the robot vacuum's water tank is empty, it announces that; if the robot's sensors are dirty, it announces that; otherwise, it gives a general maintenance message."
|
|
},
|
|
"human_like": "Sends a voice and mobile notification about robot vacuum maintenance issues at set times in the morning and evening, but only when the house is occupied and after waiting for signs of activity in the kitchen.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "robot_vacuum_reorder_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When roborock s7 main brush left [sensor.roborock_s7_main_brush_left] falls below 72000 OR roborock s7 side brush left [sensor.roborock_s7_side_brush_left] falls below 72000 OR roborock s7 filter left [sensor.roborock_s7_filter_left] falls below 72000. CONDITIONS: None. ACTIONS: Wait until 07:05:00. Then, wait for binary sensor kitchen motion sensor occupancy [binary_sensor.kitchen_motion_sensor_occupancy] to be on for 10 minutes, with a 10-minute timeout (continue if timeout occurs). Then, wait for john room presence [sensor.john_room_presence] to be 'kitchen', with a 5-minute timeout (continue if timeout occurs). Then, execute voice announcement script [script.voice_announcement] with a chime sound and a high-priority speech message: 'The robot vacuum will need some maintenance soon. Please reorder [triggering sensor's friendly name]'. Then, execute general notification script [script.general_notification] with a time-sensitive notification to device 'jk' with title 'Robot Vacuum Maintenance' and message: 'The robot vacuum will need some maintenance soon. Please reorder [triggering sensor's friendly name]'.",
|
|
"natural_language": {
|
|
"trigger": "When the remaining life of any of the robot vacuum's components—the main brush, side brush, or filter—drops below 72,000 units.",
|
|
"conditions": "There are no explicit conditions that must be checked before proceeding with the actions.",
|
|
"action": "The automation waits until 7:05 AM. It then waits for motion to be detected in the kitchen for at least 10 minutes, but will proceed after 10 minutes even if this doesn't happen. Next, it waits for John's presence to be detected in the kitchen, proceeding after 5 minutes if this condition isn't met. Finally, it makes a voice announcement with a chime sound and sends a high-priority notification to a specific device, both reminding someone to reorder the specific vacuum part that triggered the alert."
|
|
},
|
|
"human_like": "Sends a reminder to reorder robot vacuum parts when they are running low, waiting for a suitable morning time and for someone to likely be in the kitchen before announcing it.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "school_day_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in school day breakfast reminder time [input_datetime.school_day_breakfast_reminder_time]. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND (nino school day [input_boolean.nino_school_day] is on OR gianluca school day [input_boolean.gianluca_school_day] is on). ACTIONS: Execute the voice announcement script [script.voice_announcement] with a dynamic message. The message is selected randomly from a set of templates based on the states of nino school day [input_boolean.nino_school_day], gianluca school day [input_boolean.gianluca_school_day], and district late start wednesday [input_boolean.district_late_start_wednesday]. The message announces it's time for breakfast and school, and includes a note about a late start for Nino when applicable.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at a specific time of day, which is set in the entity school day breakfast reminder time [input_datetime.school_day_breakfast_reminder_time].",
|
|
"conditions": "The automation only runs if the house is marked as occupied, meaning the input_boolean house occupied [input_boolean.house_occupied] is on. Additionally, at least one of the children must have a school day, meaning either nino school day [input_boolean.nino_school_day] or gianluca school day [input_boolean.gianluca_school_day] is on.",
|
|
"action": "The automation plays a voice announcement using the script voice announcement [script.voice_announcement]. The specific message spoken is chosen randomly from a list of possibilities. The content of the message depends on which children have school that day and whether Nino has a late start, as indicated by the district late start wednesday [input_boolean.district_late_start_wednesday] entity. The announcement reminds the relevant children that it's time for breakfast and to get ready for school."
|
|
},
|
|
"human_like": "Plays a breakfast reminder announcement for the kids on school days when the house is occupied, mentioning if there's a late start.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "school_departure_reminder",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in school day departure reminder [input_datetime.school_day_departure_reminder]. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) AND (nino school day [input_boolean.nino_school_day] is on OR gianluca school day [input_boolean.gianluca_school_day] is on). ACTIONS: Execute the voice announcement script [script.voice_announcement] on all auto media players with the school-bell sound and a randomly selected speech message from a predefined list.",
|
|
"natural_language": {
|
|
"trigger": "At the specific time set in the school day departure reminder [input_datetime.school_day_departure_reminder].",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), and it must be a school day for at least one of the children (either nino school day [input_boolean.nino_school_day] or gianluca school day [input_boolean.gianluca_school_day] is on).",
|
|
"action": "Plays a school bell sound and announces a randomly chosen reminder message on all configured media players using the voice announcement script [script.voice_announcement]."
|
|
},
|
|
"human_like": "Plays a voice reminder to leave for school at a scheduled time, but only if the house is occupied and it's a school day for one of the children.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "second_floor_climate_activate_eco_when_energy_is_expensive",
|
|
"result": {
|
|
"structured": "TRIGGER: When energy prices are high [binary_sensor.energy_prices_are_high] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND (ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is off AND gianlucas room occupied [input_boolean.gianlucas_room_occupied] is off) AND extreme climate [binary_sensor.extreme_climate] is off AND nest 2nd floor [climate.nest_2nd_floor] preset_mode attribute is 'none'. ACTIONS: Run script Second Floor Climate to Eco [script.second_floor_climate_to_eco].",
|
|
"natural_language": {
|
|
"trigger": "When the system detects that energy prices are high, indicated by the energy prices are high [binary_sensor.energy_prices_are_high] sensor turning on.",
|
|
"conditions": "The house must be occupied, as indicated by the house occupied [input_boolean.house_occupied] being on. Both Nino's bedroom and Gianluca's bedroom must be unoccupied, meaning ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] and gianlucas room occupied [input_boolean.gianlucas_room_occupied] are off. The weather must not be extreme, so the extreme climate [binary_sensor.extreme_climate] sensor must be off. Finally, the thermostat on the second floor, nest 2nd floor [climate.nest_2nd_floor], must not be in any preset mode (its preset mode must be 'none').",
|
|
"action": "Activates the eco mode for the second-floor climate system by running the script Second Floor Climate to Eco [script.second_floor_climate_to_eco]."
|
|
},
|
|
"human_like": "Switches the second-floor thermostat to eco mode when energy prices are high, provided the house is occupied, specific bedrooms are empty, and the weather is not extreme.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "second_floor_climate_resume",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto OR When house status [input_select.house] changes to Quiet OR When Main Bedroom Occupied [input_boolean.main_bedroom_occupied] turns on OR When ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] turns on OR When gianlucas room occupied [input_boolean.gianlucas_room_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND (house status [input_select.house] is Quiet OR ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is on OR gianlucas room occupied [input_boolean.gianlucas_room_occupied] is on OR Main Bedroom Occupied [input_boolean.main_bedroom_occupied] is on) AND (nest 2nd floor [climate.nest_2nd_floor] preset_mode is not 'none'). ACTIONS: Execute script Second Floor Climate to Resume [script.second_floor_climate_to_resume].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered by several events: when the house status [input_select.house] is set to either 'Auto' or 'Quiet', or when any of the bedroom occupancy indicators turn on, specifically the Main Bedroom Occupied [input_boolean.main_bedroom_occupied], ninos bedroom occupied [input_boolean.ninos_bedroom_occupied], or gianlucas room occupied [input_boolean.gianlucas_room_occupied].",
|
|
"conditions": "For the automation to run, the house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] must be on. Additionally, at least one of the following must be true: the house status [input_select.house] is set to 'Quiet', or at least one of the three bedrooms (Main, Ninos, or Gianlucas) is marked as occupied. Finally, the thermostat on the second floor, nest 2nd floor [climate.nest_2nd_floor], must not be in the 'none' preset mode.",
|
|
"action": "The automation runs the script named Second Floor Climate to Resume [script.second_floor_climate_to_resume]."
|
|
},
|
|
"human_like": "Resumes the second floor climate schedule when the house is occupied and either the house is in a specific mode or someone is in a bedroom.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "second_floor_climate_resume_when_energy_prices_fall",
|
|
"result": {
|
|
"structured": "TRIGGER: When energy prices are high [binary_sensor.energy_prices_are_high] changes from on to off. CONDITIONS: (nest 2nd floor [climate.nest_2nd_floor] preset_mode is not 'none') AND (house occupied [input_boolean.house_occupied] is on OR nearly home [input_boolean.nearly_home] is on). ACTIONS: Execute script Second Floor Climate to Resume [script.second_floor_climate_to_resume].",
|
|
"natural_language": {
|
|
"trigger": "When the energy prices are high [binary_sensor.energy_prices_are_high] indicator changes from on to off, signaling that energy prices have fallen.",
|
|
"conditions": "The nest 2nd floor [climate.nest_2nd_floor] thermostat must not be in the 'none' preset mode, and either the house occupied [input_boolean.house_occupied] switch is on or the nearly home [input_boolean.nearly_home] switch is on.",
|
|
"action": "Runs the script called Second Floor Climate to Resume [script.second_floor_climate_to_resume] to resume normal climate control on the second floor."
|
|
},
|
|
"human_like": "Resumes the second floor climate system when energy prices drop, but only if the house is occupied or someone is nearly home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "second_floor_climate_resume_when_nearly_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When nearly home [input_boolean.nearly_home] turns on. CONDITIONS: nest 2nd floor [climate.nest_2nd_floor] preset_mode is not 'none'. ACTIONS: Execute script Second Floor Climate to Resume [script.second_floor_climate_to_resume].",
|
|
"natural_language": {
|
|
"trigger": "When the 'nearly home' indicator [input_boolean.nearly_home] is turned on.",
|
|
"conditions": "The nest 2nd floor thermostat [climate.nest_2nd_floor] must not be in the 'none' preset mode.",
|
|
"action": "Runs the script named Second Floor Climate to Resume [script.second_floor_climate_to_resume]."
|
|
},
|
|
"human_like": "Resumes the second floor thermostat's schedule when the system detects you are nearly home, provided the thermostat isn't in a 'none' mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "second_floor_climate_resume_before_bed",
|
|
"result": {
|
|
"structured": "TRIGGER: At 18:30:00. CONDITIONS: (nest 2nd floor [climate.nest_2nd_floor] preset_mode is not 'none') AND (house occupied [input_boolean.house_occupied] is on OR nearly home [input_boolean.nearly_home] is on). ACTIONS: Execute script Second Floor Climate to Resume [script.second_floor_climate_to_resume].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 6:30 PM.",
|
|
"conditions": "If the nest 2nd floor [climate.nest_2nd_floor] is currently set to a preset mode other than 'none', and either the house occupied [input_boolean.house_occupied] is on or the nearly home [input_boolean.nearly_home] is on.",
|
|
"action": "Runs the script named Second Floor Climate to Resume [script.second_floor_climate_to_resume]."
|
|
},
|
|
"human_like": "Resumes the second floor climate schedule in the evening if the house is occupied or someone is nearly home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "second_floor_climate_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off and remains off for 30 minutes. CONDITIONS: guest mode [input_boolean.guest_mode] is off AND nest 2nd floor [climate.nest_2nd_floor] preset_mode attribute equals 'none'. ACTIONS: Execute script Second Floor Climate to Eco [script.second_floor_climate_to_eco].",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] switch turns off and stays off for 30 minutes.",
|
|
"conditions": "If the guest mode [input_boolean.guest_mode] is disabled, and the nest 2nd floor [climate.nest_2nd_floor] thermostat is not currently set to any preset mode (i.e., its preset mode is 'none').",
|
|
"action": "Runs the script named Second Floor Climate to Eco [script.second_floor_climate_to_eco]."
|
|
},
|
|
"human_like": "Switches the second-floor thermostat to an energy-saving mode when the house is unoccupied for a while and guest mode is off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "security_lighting_garage_flood_motion_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When driveway front camera object detected [binary_sensor.driveway_front_camera_object_detected] OR driveway front camera person detected [binary_sensor.driveway_front_camera_person_detected] remains off for 3 minutes OR When driveway front camera object detected [binary_sensor.driveway_front_camera_object_detected] OR driveway front camera person detected [binary_sensor.driveway_front_camera_person_detected] remains off for 5 minutes OR When driveway flood light [light.driveway_flood_light] remains on for 30 minutes. CONDITIONS: (driveway front camera object detected [binary_sensor.driveway_front_camera_object_detected] AND driveway front camera person detected [binary_sensor.driveway_front_camera_person_detected] AND driveway front camera vehicle detected [binary_sensor.driveway_front_camera_vehicle_detected] are all off) AND (driveway flood light [light.driveway_flood_light] is on). ACTIONS: Turn off driveway flood light [light.driveway_flood_light].",
|
|
"natural_language": {
|
|
"trigger": "When either the driveway front camera object detected [binary_sensor.driveway_front_camera_object_detected] or the driveway front camera person detected [binary_sensor.driveway_front_camera_person_detected] has been off for three minutes, or when either of those same sensors has been off for five minutes, or when the driveway flood light [light.driveway_flood_amera_object_detected] has been on for thirty minutes.",
|
|
"conditions": "If the driveway front camera object detected [binary_sensor.driveway_front_camera_object_detected], driveway front camera person detected [binary_sensor.driveway_front_camera_person_detected], and driveway front camera vehicle detected [binary_sensor.driveway_front_camera_vehicle_detected] are all off, and the driveway flood light [light.driveway_flood_light] is currently on.",
|
|
"action": "Turns off the driveway flood light [light.driveway_flood_light]."
|
|
},
|
|
"human_like": "Turns off the driveway flood light when no objects, people, or vehicles have been detected by the front camera for a set time, or if the light has been on for too long.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "security_lighting_garage_flood_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When driveway front camera object detected [binary_sensor.driveway_front_camera_object_detected] turns on. CONDITIONS: dark outside [input_boolean.dark_outside] is on AND driveway flood light [light.driveway_flood_light] is off. ACTIONS: Turn on driveway flood light [light.driveway_flood_light].",
|
|
"natural_language": {
|
|
"trigger": "When the driveway front camera object detected [binary_sensor.driveway_front_camera_object_detected] detects an object.",
|
|
"conditions": "It must be dark outside, as indicated by dark outside [input_boolean.dark_outside] being on, and the driveway flood light [light.driveway_flood_light] must currently be off.",
|
|
"action": "Turns on the driveway flood light [light.driveway_flood_light]."
|
|
},
|
|
"human_like": "Turns on the driveway flood light when motion is detected by the front camera and it's dark outside.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "security_status_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When bedtime [input_boolean.bedtime] turns on AND remains on for 5 minutes OR When house occupied [input_boolean.house_occupied] turns off AND remains off for 7 minutes. CONDITIONS: The automation security_status_notification [automation.security_status_notification] has not been triggered in the last hour (more than 3600 seconds since last_triggered). ACTIONS: Run the general notification script [script.general_notification] with a dynamic message. The message includes: a base phrase indicating the security protocol is activated for bedtime OR because nobody's home, based on the trigger. It reports the current house security status [sensor.house_security_status] in lowercase. If the house security score [sensor.house_security_score] is less than 85, it appends specific warnings for any of the following being true: windows group [binary_sensor.windows] is on, exterior doors group [binary_sensor.exterior_doors] is on, cover garage doors [cover.garage_doors] is open, front door lock [lock.front_door] is unlocked, garage entry door lock [lock.garage_entry_door] is unlocked. The notification has a title 'Home Security - Shields Up', is sent to device(s) 'jk', with priority 'time-sensitive' and tag 'home-security'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the bedtime [input_boolean.bedtime] switch is turned on and stays on for five minutes, or when the house occupied [input_boolean.house_occupied] switch is turned off and stays off for seven minutes.",
|
|
"conditions": "The automation will only proceed if it has not been run in the past hour. It checks the last time it was triggered and ensures at least 3600 seconds have passed.",
|
|
"action": "Sends a detailed security status notification via the general notification script [script.general_notification]. The message adapts based on what triggered it: if bedtime was triggered, it states the security protocol is activated for bedtime; if house unoccupied was triggered, it states it's activated because nobody's home. It then reports the current overall security status from the house security status [sensor.house_security_status] sensor. If the security score from house security score [sensor.house_security_score] is below 85, it lists any specific security issues: open windows, open exterior doors, open garage doors, an unlocked front door, or an unlocked garage entry door. The notification is sent with a high priority to a specific device."
|
|
},
|
|
"human_like": "Sends a detailed security alert when the house is set for bedtime or becomes unoccupied, listing any potential security vulnerabilities if the overall score is low.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "john_set_focus_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor.john_calendar_focus_mode changes state OR input boolean john dnd [input_boolean.john_dnd] turns off (to 'off') OR Home Assistant starts (event: start) OR an automation is reloaded (event: automation_reloaded). CONDITIONS: Time is after 05:00:00 AND john home [input_boolean.john_home] is 'on' AND (The value of sensor.john_calendar_focus_mode is not equal to the current value of john focus mode [input_select.john_focus_mode] AND the value of sensor.john_calendar_focus_mode is not an empty string). ACTIONS: Set john focus mode [input_select.john_focus_mode] to the current value of sensor.john_calendar_focus_mode.",
|
|
"natural_language": {
|
|
"trigger": "This automation can be triggered in several ways: when the john calendar focus mode [sensor.john_calendar_focus_mode] sensor updates, when the input boolean john dnd [input_boolean.john_dnd] is turned off, when Home Assistant itself starts up, or when any automation is reloaded.",
|
|
"conditions": "For the automation to run, it must be after 5:00 AM, the john home [input_boolean.john_home] status must be 'on', and the value from the calendar sensor must be different from the currently selected focus mode and must not be empty.",
|
|
"action": "The automation updates the john focus mode [input_select.john_focus_mode] selector to match the value reported by the john calendar focus mode [sensor.john_calendar_focus_mode] sensor."
|
|
},
|
|
"human_like": "Updates John's focus mode based on his calendar, but only when he is home and after 5 AM, ensuring his status reflects his scheduled availability.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "severe_weather_warning",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor nws alerts [sensor.nws_alerts] changes state. CONDITIONS: (sensor nws alerts [sensor.nws_alerts] numeric state is greater than 0) AND (there is at least one alert ID in the current alerts list that is not present in the historical list stored in nws alerts event ids [sensor.nws_alerts_event_ids]) AND (the current alerts list contains at least one of the following event types: 'Tornado Warning', 'Severe Thunderstorm Warning', 'Air Quality Alert', 'Heat Advisory', 'Severe Thunderstorm Watch', 'Excessive Heat Warning', 'Extreme Heat Warning'). ACTIONS: For each alert in the current list (count = sensor nws alerts [sensor.nws_alerts] numeric state), perform the following sequence: IF the alert is a 'Tornado Warning' AND its ID is not in the announced history (nws alerts announced ids [sensor.nws_alerts_announced_ids]), THEN run voice announcement script [script.voice_announcement] with critical priority and tornado warning message, update nws alerts announced ids [sensor.nws_alerts_announced_ids] with the alert ID, and delay 1 minute. IF the alert is a 'Severe Thunderstorm Warning' AND its ID is not in the announced history, THEN run voice announcement script [script.voice_announcement] with critical priority and severe thunderstorm warning message, update nws alerts announced ids [sensor.nws_alerts_announced_ids] with the alert ID, and delay 1 minute. IF the alert is a 'Heat Advisory' AND its ID is not in the announced history, THEN run voice announcement script [script.voice_announcement] with high priority and heat advisory message, update nws alerts announced ids [sensor.nws_alerts_announced_ids] with the alert ID, and delay 1 minute. IF the alert is a 'Severe Thunderstorm Watch' AND its ID is not in the announced history, THEN run voice announcement script [script.voice_announcement] with high priority and severe thunderstorm watch message, update nws alerts announced ids [sensor.nws_alerts_announced_ids] with the alert ID, and delay 1 minute. IF the alert is an 'Air Quality Alert' AND its ID is not in the announced history, THEN update nws alerts announced ids [sensor.nws_alerts_announced_ids] with the alert ID and delay 1 minute (no announcement). IF the alert is an 'Excessive Heat Warning' OR 'Extreme Heat Warning' AND its ID is not in the announced history, THEN run voice announcement script [script.voice_announcement] with critical priority and a message for the specific warning, update nws alerts announced ids [sensor.nws_alerts_announced_ids] with the alert ID, and delay 1 minute.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever the sensor nws alerts [sensor.nws_alerts] changes its state, indicating an update in the National Weather Service alerts.",
|
|
"conditions": "Three conditions must be met: first, the sensor nws alerts [sensor.nws_alerts] must report a count of active alerts greater than zero. Second, at least one of the current alert IDs must be new, meaning it is not already recorded in the historical list stored in nws alerts event ids [sensor.nws_alerts_event_ids]. Third, the current alerts must include at least one of the following severe weather event types: Tornado Warning, Severe Thunderstorm Warning, Air Quality Alert, Heat Advisory, Severe Thunderstorm Watch, Excessive Heat Warning, or Extreme Heat Warning.",
|
|
"action": "The automation processes each active alert one by one. For each alert, it checks the event type and whether it has been announced before by comparing its ID against a list of previously announced IDs stored in nws alerts announced ids [sensor.nws_alerts_announced_ids]. If it's a new Tornado Warning or Severe Thunderstorm Warning, it triggers a critical voice announcement via the voice announcement script [script.voice_announcement] with a specific warning message, records the alert ID to prevent re-announcement, and waits one minute before processing the next alert. For new Heat Advisories or Severe Thunderstorm Watches, it makes a high-priority voice announcement, records the ID, and waits a minute. For new Air Quality Alerts, it only records the ID and waits, without making an announcement. For new Excessive Heat Warnings or Extreme Heat Warnings, it makes a critical voice announcement with a dynamically generated message, records the ID, and waits a minute."
|
|
},
|
|
"human_like": "This automation announces severe weather warnings from the National Weather Service through voice alerts, ensuring each warning is only announced once to avoid repetition.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "nws_update_event_id_variable",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor nws alerts [sensor.nws_alerts] changes state. CONDITIONS: None. ACTIONS: Set variable nws alerts event ids [sensor.nws_alerts_event_ids] attributes: history_1 to the current value of nws alerts event ids [sensor.nws_alerts_event_ids], history_2 to the previous history_1 attribute, history_3 to the previous history_2 attribute, history_4 to the previous history_3 attribute, history_5 to the previous history_4 attribute, history_6 to the previous history_5 attribute, history_7 to the previous history_6 attribute, history_8 to the previous history_7 attribute, history_9 to the previous history_8 attribute, history_10 to the previous history_9 attribute. Then set variable nws alerts event ids [sensor.nws_alerts_event_ids] value to the first part (before a hyphen) of the event_id attribute from the triggering state change.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor nws alerts [sensor.nws_alerts] updates its state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "First, it updates the nws alerts event ids [sensor.nws_alerts_event_ids] variable by shifting its history. It moves the current value into a new attribute called history_1, and shifts the previous nine historical values down one slot (from history_1 to history_2, history_2 to history_3, and so on, up to history_9 to history_10). Then, it sets the main value of the nws alerts event ids [sensor.nws_alerts_event_ids] variable to the first segment of the event ID (the part before a hyphen) from the latest alert that triggered the update."
|
|
},
|
|
"human_like": "Maintains a rolling history of the most recent National Weather Service alert event IDs, updating the list whenever a new alert arrives.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "severe_rain_incoming",
|
|
"result": {
|
|
"structured": "TRIGGER: When pirateweather precip intensity 0h [sensor.pirateweather_precip_intensity_0h] OR pirateweather precip intensity 1h [sensor.pirateweather_precip_intensity_1h] rises above 0.5 OR when pirateweather precip accumulation 0h [sensor.pirateweather_precip_accumulation_0h] OR pirateweather precip accumulation 1h [sensor.pirateweather_precip_accumulation_1h] rises above 0.05. CONDITIONS: house occupied [input_boolean.house_occupied] is on. ACTIONS: Run general notification script [script.general_notification] with a 'Severe Rain Warning' title and message, and run voice announcement script [script.voice_announcement] with a high-priority voice announcement.",
|
|
"natural_language": {
|
|
"trigger": "When the precipitation intensity for the current hour or the next hour exceeds 0.5, or when the precipitation accumulation for the current hour or the next hour exceeds 0.05.",
|
|
"conditions": "The house must be marked as occupied, meaning the house occupied [input_boolean.house_occupied] input boolean is set to on.",
|
|
"action": "Send a high-priority notification to a specific device and make a voice announcement on all configured media players, warning about heavy rain and suggesting to put out pumps."
|
|
},
|
|
"human_like": "Sends a severe rain warning notification and voice announcement when heavy rain is forecast and the house is occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "nws_alerts_notification_weather_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor nws alerts [sensor.nws_alerts] changes state. CONDITIONS: The numeric state of sensor nws alerts [sensor.nws_alerts] is greater than 0. ACTIONS: Choose an action based on the number of alerts: If the number of alerts is greater than or equal to 3, then for each of the first three alerts (index 0, 1, 2), if the alert's ID is not in the list of stored IDs from nws alerts event ids [sensor.nws_alerts_event_ids] and is not equal to the current state of nws alerts event ids [sensor.nws_alerts_event_ids], then send a notification via general notification script [script.general_notification] with the alert's event name, wait 2 seconds, and proceed to the next check. If the number of alerts is exactly 2, then for the first two alerts (index 0, 1), if the alert's ID is not in the list of stored IDs from nws alerts event ids [sensor.nws_alerts_event_ids] and is not equal to the current state of nws alerts event ids [sensor.nws_alerts_event_ids], then send a notification via general notification script [script.general_notification] with the alert's event name, wait 2 seconds, and proceed to the next check. If the number of alerts is exactly 1, then for the first alert (index 0), if the alert's ID is not in the list of stored IDs from nws alerts event ids [sensor.nws_alerts_event_ids] and is not equal to the current state of nws alerts event ids [sensor.nws_alerts_event_ids], then send a notification via general notification script [script.general_notification] with the alert's event name. After the choose block, wait 5 seconds, then if the number of alerts is greater than or equal to 4 AND there is at least one new alert ID in the current list compared to the historical list from nws alerts event ids [sensor.nws_alerts_event_ids] AND the first alert's ID is new (not in the stored list and not equal to the current state of nws alerts event ids [sensor.nws_alerts_event_ids]), then send a notification via general notification script [script.general_notification] about multiple new alerts.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor nws alerts [sensor.nws_alerts] updates its state.",
|
|
"conditions": "The automation only runs if the sensor nws alerts [sensor.nws_alerts] reports a count of active alerts greater than zero.",
|
|
"action": "The automation sends notifications for new weather alerts. It first checks how many alerts are active. For 3 or more alerts, it checks the first three alerts individually. For exactly 2 alerts, it checks the first two. For exactly 1 alert, it checks the first one. For each alert checked, if its unique ID has not been seen before (by comparing it to a stored list in nws alerts event ids [sensor.nws_alerts_event_ids]), it sends a detailed notification for that specific alert via the general notification script [script.general_notification]. After processing these individual alerts, it waits 5 seconds. Then, if there are 4 or more alerts total, and there is at least one completely new alert ID among them, and the first alert is also new, it sends a final summary notification warning of multiple new alerts."
|
|
},
|
|
"human_like": "Sends notifications for new National Weather Service alerts, ensuring each unique alert is only notified once and providing a summary if many new alerts arrive at once.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "stairs_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When stairs motion status [binary_sensor.stairs_motion_status] detects motion (on). CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND (foyer motion illuminance [sensor.foyer_motion_illuminance] is below 15 AND stairs up motion sensor illuminance [sensor.stairs_up_motion_sensor_illuminance] is below 10) AND (stairs light [light.stairs_light] is off AND stairs light [light.stairs_light] has been off for more than 180 seconds) AND foyer chandelier [light.foyer_chandelier] is off. ACTIONS: Turn on stairs light [light.stairs_light].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected on the stairs, as reported by the stairs motion status [binary_sensor.stairs_motion_status].",
|
|
"conditions": "The lighting automations [input_boolean.lighting_automations] must be enabled. The ambient light levels in the foyer [sensor.foyer_motion_illuminance] must be below 15 lux, and the light levels on the upper stairs [sensor.stairs_up_motion_sensor_illuminance] must be below 10 lux. The stairs light [light.stairs_light] must be off and must have been off for more than 180 seconds. Finally, the foyer chandelier [light.foyer_chandelier] must also be off.",
|
|
"action": "Turns on the stairs light [light.stairs_light]."
|
|
},
|
|
"human_like": "Turns on the stairs light when motion is detected, but only if it's dark enough, the light hasn't been recently turned off, and other nearby lights are off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "stairs_lights_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When stairs motion status [binary_sensor.stairs_motion_status] stops detecting motion (off) for 3 minutes OR when house occupied [input_boolean.house_occupied] turns off OR when lighting automations [input_boolean.lighting_automations] turns on. CONDITIONS: stairs light [light.stairs_light] is on. ACTIONS: Turn off stairs light [light.stairs_light].",
|
|
"natural_language": {
|
|
"trigger": "When the stairs motion status [binary_sensor.stairs_motion_status] reports no motion for at least three minutes, or when the house occupied [input_boolean.house_occupied] status is turned off, or when the lighting automations [input_boolean.lighting_automations] switch is turned on.",
|
|
"conditions": "The stairs light [light.stairs_light] must currently be on.",
|
|
"action": "Turns off the stairs light [light.stairs_light]."
|
|
},
|
|
"human_like": "Turns off the stairs light when no motion is detected for a while, the house is unoccupied, or when lighting automations are enabled and the light is on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "sunroom_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunroom occupied [input_boolean.sunroom_occupied] turns on OR When house status [input_select.house] changes to Auto OR When house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND sunroom mode [input_select.sunroom] is NOT Auto AND bedtime [input_boolean.bedtime] is off AND house status [input_select.house] is Auto. ACTIONS: Set sunroom mode [input_select.sunroom] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the sunroom is marked as occupied, when the house status is set to Auto, or when the house is marked as occupied.",
|
|
"conditions": "The automation will only run if the house is currently marked as occupied, the sunroom mode is not already set to Auto, bedtime mode is not active, and the house status is set to Auto.",
|
|
"action": "Sets the sunroom mode to Auto."
|
|
},
|
|
"human_like": "Automatically sets the sunroom to 'Auto' mode when the house is occupied and in Auto mode, the sunroom is occupied, and it's not bedtime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "sunroom_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR When bedtime [input_boolean.bedtime] turns on OR When Home Assistant starts OR When an automation is reloaded. CONDITIONS: sunroom mode [input_select.sunroom] is NOT set to 'Off' AND (house occupied [input_boolean.house_occupied] is off OR bedtime [input_boolean.bedtime] is on). ACTIONS: Set sunroom mode [input_select.sunroom] to 'Off'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] switch is turned off, when the bedtime [input_boolean.bedtime] switch is turned on, when Home Assistant starts up, or when automations are reloaded.",
|
|
"conditions": "The automation checks that the sunroom mode [input_select.sunroom] is not already set to 'Off'. It also requires that either the house is unoccupied (house occupied is off) or it is bedtime (bedtime is on).",
|
|
"action": "Sets the sunroom mode [input_select.sunroom] to 'Off'."
|
|
},
|
|
"human_like": "Turns off the sunroom mode when the house is unoccupied or it's bedtime, ensuring the mode is off after a restart.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "sunroom_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunroom motion sensor occupancy [binary_sensor.sunroom_motion_sensor_occupancy] changes to on OR When sunroom motion sensor status [binary_sensor.sunroom_motion_sensor_status] changes to on OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: (house occupied [input_boolean.house_occupied] is on) AND (sunroom occupied [input_boolean.sunroom_occupied] is off) AND ((At least one device in the group room presence devices group [group.room_presence_devices] has a state equal to 'sunroom') OR (sunroom motion sensor occupancy [binary_sensor.sunroom_motion_sensor_occupancy] is on)). ACTIONS: Turn on sunroom occupied [input_boolean.sunroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when motion is detected by the sunroom motion sensor occupancy [binary_sensor.sunroom_motion_sensor_occupancy] or when the sunroom motion sensor status [binary_sensor.sunroom_motion_sensor_status] becomes active. It also triggers when Home Assistant starts up or when automations are reloaded.",
|
|
"conditions": "The automation runs only if the house occupied [input_boolean.house_occupied] is set to on, and the sunroom occupied [input_boolean.sunroom_occupied] is currently off. Additionally, it requires that either at least one device in the room presence devices group [group.room_presence_devices] is currently located in the sunroom, or motion is actively being detected by the sunroom motion sensor occupancy [binary_sensor.sunroom_motion_sensor_occupancy].",
|
|
"action": "Marks the sunroom as occupied by turning on the sunroom occupied [input_boolean.sunroom_occupied] input boolean."
|
|
},
|
|
"human_like": "Marks the sunroom as occupied when motion is detected or a presence device is in the room, but only if the house is marked as occupied and the sunroom is not already marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "sunroom_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When there are no devices in the room presence devices group [group.room_presence_devices] assigned to the sunroom for 3 minutes OR When sunroom motion sensor occupancy [binary_sensor.sunroom_motion_sensor_occupancy] changes to off OR When sonos patio [media_player.sonos_patio] remains off for 5 minutes OR When sonos patio [media_player.sonos_patio] remains idle for 5 minutes OR When sonos patio [media_player.sonos_patio] remains paused for 5 minutes. CONDITIONS: sunroom occupied [input_boolean.sunroom_occupied] is on AND sunroom motion sensor occupancy [binary_sensor.sunroom_motion_sensor_occupancy] is off AND there are no devices in the room presence devices group [group.room_presence_devices] assigned to the sunroom. ACTIONS: Turn off sunroom occupied [input_boolean.sunroom_occupied].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if any of the following occur: no presence devices are detected in the sunroom for three minutes, motion in the sunroom stops, or the patio Sonos speaker is off, idle, or paused for five minutes.",
|
|
"conditions": "All of the following must be true: the sunroom is currently marked as occupied, there is no motion detected in the sunroom, and there are no presence devices located in the sunroom.",
|
|
"action": "Marks the sunroom as unoccupied by turning off the sunroom occupied [input_boolean.sunroom_occupied] input boolean."
|
|
},
|
|
"human_like": "Marks the sunroom as unoccupied when there is no motion, no presence devices, and the patio music has been off or idle for a while.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "sylvia_is_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When person sylvia [person.sylvia] changes to not_home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: (sylvia status [input_select.sylvia_status] is NOT Just Left) AND (person sylvia [person.sylvia] is not_home). ACTIONS: Turn off sylvia home [input_boolean.sylvia_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when Sylvia's person tracker [person.sylvia] changes to 'not_home', when Home Assistant reloads its automations, or when Home Assistant first starts up.",
|
|
"conditions": "The automation only proceeds if Sylvia's status selector [input_select.sylvia_status] is not set to 'Just Left', and if Sylvia's person tracker [person.sylvia] is still reporting 'not_home'.",
|
|
"action": "It turns off the 'sylvia home' indicator [input_boolean.sylvia_home]."
|
|
},
|
|
"human_like": "Marks Sylvia as away by turning off her 'home' status when she leaves, but only if her status isn't already set to 'Just Left'.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "sylvia_is_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When person sylvia [person.sylvia] changes state to home OR When sylvia android phone [device_tracker.sylvia_android_phone] changes state to home OR When the event automation_reloaded occurs OR When Home Assistant starts. CONDITIONS: (person sylvia [person.sylvia] is home) OR (sylvia android phone [device_tracker.sylvia_android_phone] is home). ACTIONS: Turn on sylvia home [input_boolean.sylvia_home].",
|
|
"natural_language": {
|
|
"trigger": "This automation triggers when person sylvia [person.sylvia] arrives home, when the sylvia android phone [device_tracker.sylvia_android_phone] arrives home, when the system event 'automation_reloaded' occurs, or when Home Assistant starts up.",
|
|
"conditions": "The automation only proceeds if either person sylvia [person.sylvia] is currently at home, or the sylvia android phone [device_tracker.sylvia_android_phone] is currently at home.",
|
|
"action": "Sets the sylvia home [input_boolean.sylvia_home] status to on, indicating that Sylvia is home."
|
|
},
|
|
"human_like": "Turns on a status flag to show that Sylvia is home when either her person tracker or her phone reports she has arrived.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "tayta_announce_arrival",
|
|
"result": {
|
|
"structured": "TRIGGER: When person sonia koht [person.sonia_koht] changes state from not_home to home. CONDITIONS: (person sonia koht [person.sonia_koht] is home) AND (house occupied [input_boolean.house_occupied] is on AND remains for 5 minutes). ACTIONS: Execute script person announcement [script.person_announcement] with data (person: tayta, announcement_type: arrival). Then, if guest mode announced [input_boolean.guest_mode_announced] is off, turn on guest mode announced [input_boolean.guest_mode_announced].",
|
|
"natural_language": {
|
|
"trigger": "When person sonia koht [person.sonia_koht] arrives home, changing state from not_home to home.",
|
|
"conditions": "The person sonia koht [person.sonia_koht] must be at home, and the house occupied [input_boolean.house_occupied] status must have been on for at least five minutes.",
|
|
"action": "First, run the script person announcement [script.person_announcement] to announce the arrival of 'tayta'. Then, if the guest mode announced [input_boolean.guest_mode_announced] is currently off, turn it on."
|
|
},
|
|
"human_like": "Announces the arrival of Tayta when Sonia arrives home, provided the house has been occupied for a while, and then marks that a guest mode announcement has been made.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tayta_announce_departure",
|
|
"result": {
|
|
"structured": "TRIGGER: When person sonia koht [person.sonia_koht] changes state from home to not_home. CONDITIONS: person sonia koht [person.sonia_koht] is not_home AND house occupied [input_boolean.house_occupied] is on AND remains on for 5 minutes. ACTIONS: Execute script person announcement [script.person_announcement] with data: person = tayta, announcement_type = departure.",
|
|
"natural_language": {
|
|
"trigger": "When person sonia koht [person.sonia_koht] leaves home, changing their state from home to not_home.",
|
|
"conditions": "The person sonia koht [person.sonia_koht] must be not_home, and the house occupied [input_boolean.house_occupied] status must be on and remain on for at least 5 minutes.",
|
|
"action": "Runs the script person announcement [script.person_announcement] to announce the departure of 'tayta'."
|
|
},
|
|
"human_like": "Announces when Tayta departs, but only if the house is still considered occupied for a short period after they leave.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tayta_is_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When person mary falbo [person.mary_falbo] changes state to not_home OR when an automation_reloaded event occurs OR when Home Assistant starts. CONDITIONS: (tayta status [input_select.tayta_status] is NOT Just Left) AND (person sonia koht [person.sonia_koht] is not_home). ACTIONS: Turn off tayta home [input_boolean.tayta_home].",
|
|
"natural_language": {
|
|
"trigger": "This automation runs when person mary falbo [person.mary_falbo] leaves home (changes to not_home), when automations are reloaded, or when Home Assistant starts up.",
|
|
"conditions": "The automation only proceeds if the tayta status [input_select.tayta_status] is not set to 'Just Left', and if person sonia koht [person.sonia_koht] is also not at home (state is not_home).",
|
|
"action": "It turns off the tayta home [input_boolean.tayta_home] input boolean."
|
|
},
|
|
"human_like": "Marks Tayta as away when Mary leaves and Sonia is also not home, ensuring the status isn't already set to 'Just Left'.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tayta_is_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When tayta room presence [sensor.tayta_room_presence] changes from 'not_home' OR When person sonia koht [person.sonia_koht] changes to 'home' OR When an automation_reloaded event occurs OR When Home Assistant starts. CONDITIONS: (person sonia koht [person.sonia_koht] is home) OR (tayta room presence [sensor.tayta_room_presence] state is not 'not_home'). ACTIONS: Turn on tayta home [input_boolean.tayta_home].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the tayta room presence [sensor.tayta_room_presence] sensor changes from a 'not_home' state, when the person sonia koht [person.sonia_koht] arrives home, when Home Assistant reloads its automations, or when Home Assistant itself starts up.",
|
|
"conditions": "The automation will only proceed if either the person sonia koht [person.sonia_koht] is currently at home, or the tayta room presence [sensor.tayta_room_presence] sensor reports a state other than 'not_home'.",
|
|
"action": "Sets the tayta home [input_boolean.tayta_home] status to on, indicating that Tayta is home."
|
|
},
|
|
"human_like": "Marks Tayta as being home when either Sonia arrives home or Tayta's room presence sensor indicates they are not away.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tempest_high_uv_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When tempest uv [sensor.tempest_uv] rises above 7 OR When tempest uv [sensor.tempest_uv] rises above 8 OR When tempest uv [sensor.tempest_uv] rises above 10. CONDITIONS: None. ACTIONS: Run script voice announcement [script.voice_announcement] with a dynamic speech message and priority based on the current UV value, and run general notification script [script.general_notification] with a dynamic title and message based on the current UV value.",
|
|
"natural_language": {
|
|
"trigger": "When the UV index sensor [sensor.tempest_uv] exceeds a threshold of 7, 8, or 10.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation makes a voice announcement and sends a notification. The content of the message and the priority level are determined by the current UV index: if it's above 10, a critical warning is issued; if above 8, a high-priority alert is given; and if above 7, a normal alert is provided."
|
|
},
|
|
"human_like": "Sends voice and mobile alerts when the outdoor UV index becomes high, with the warning severity increasing for higher UV levels.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tempest_rain_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When tempest rain amount [sensor.tempest_rain_amount] exceeds 1 OR when tempest rain amount [sensor.tempest_rain_amount] exceeds 3 OR when tempest rain rate [sensor.tempest_rain_rate] exceeds 2. CONDITIONS: None. ACTIONS: Execute voice announcement script [script.voice_announcement] with a dynamic message and priority based on rain conditions: IF (tempest rain amount [sensor.tempest_rain_amount] > 3 OR tempest rain rate [sensor.tempest_rain_rate] > 3) THEN message: 'Warning! Rain is accumulating quickly, please make sure to check the basement for any leaks.' AND priority: 'high' ELSE message: 'Attention! There's quite a bit of rain so make sure to keep an eye on the basement.' AND priority: 'normal'. Also execute general notification script [script.general_notification] with a dynamic message: IF (tempest rain amount [sensor.tempest_rain_amount] > 3 OR tempest rain rate [sensor.tempest_rain_rate] > 3) THEN message: 'Warning! Rain is accumulating quickly, please make sure to check the basement for any leaks.' ELSE message: 'Attention! There's quite a bit of rain so make sure to keep an eye on the basement.' AND priority: 'time-sensitive'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the tempest rain amount [sensor.tempest_rain_amount] sensor reports a value above 1, or above 3, or when the tempest rain rate [sensor.tempest_rain_rate] sensor reports a value above 2.",
|
|
"conditions": "There are no conditions that must be met for the actions to run.",
|
|
"action": "The automation performs two actions. First, it runs the voice announcement script [script.voice_announcement]. The spoken message and its priority are determined by the current rain data. If the rain amount is greater than 3 or the rain rate is greater than 3, a high-priority warning message about checking the basement for leaks is announced. Otherwise, a normal-priority message advising to keep an eye on the basement is announced. Second, it sends a notification via the general notification script [script.general_notification] with the same conditional message logic and a 'time-sensitive' priority."
|
|
},
|
|
"human_like": "This automation provides voice and mobile alerts when significant rain is detected, escalating the warning if rain is accumulating very quickly.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "today_is_full_moon",
|
|
"result": {
|
|
"structured": "TRIGGER: When moon sensor [sensor.moon] changes to the state 'full_moon'. CONDITIONS: None. ACTIONS: Turn on Full Moon Notification [automation.full_moon_notification].",
|
|
"natural_language": {
|
|
"trigger": "When the moon sensor [sensor.moon] reports that the moon phase is a full moon.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Activates the Full Moon Notification [automation.full_moon_notification] automation."
|
|
},
|
|
"human_like": "Activates a full moon notification when the moon phase sensor detects a full moon.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "full_moon_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with a 10-minute offset OR when house occupied [input_boolean.house_occupied] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND moon sensor [sensor.moon] state is full_moon AND sun sun [sun.sun] state is below_horizon. ACTIONS: Wait until Playroom Motion Sensor Entry Motion Detection [binary_sensor.playroom_motion_sensor_entry_motion_detection] detects motion (on) for up to 1 hour, then delay for 3 seconds, then execute general notification script [script.general_notification] with a custom message and title, then execute voice announcement script [script.voice_announcement] with a random speech message.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either 10 minutes after sunset, or when the house occupied [input_boolean.house_occupied] status changes to on.",
|
|
"conditions": "All of the following must be true: the house occupied [input_boolean.house_occupied] is set to on, the moon sensor [sensor.moon] reports a full moon, and the sun sun [sun.sun] is below the horizon.",
|
|
"action": "First, the automation waits for motion to be detected by the Playroom Motion Sensor Entry Motion Detection [binary_sensor.playroom_motion_sensor_entry_motion_detection], pausing for up to one hour. After motion is detected, it waits an additional 3 seconds. Then, it sends a passive notification with a reminder message, followed by a voice announcement played on configured media players with a chime sound and a randomly selected speech message about the full moon."
|
|
},
|
|
"human_like": "Sends a notification and a voice announcement to remind the family to look at the full moon, but only when the house is occupied and someone is moving in the playroom.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "today_is_full_moon",
|
|
"result": {
|
|
"structured": "TRIGGER: When the sun sets (sunset event) OR when the moon sensor [sensor.moon] changes to full_moon. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND moon sensor [sensor.moon] is full_moon AND sun sun [sun.sun] is below_horizon. ACTIONS: Wait until binary sensor kitchen motion sensor main motion detection [binary_sensor.kitchen_motion_sensor_main_motion_detection] is on, then wait for 5 seconds, then send a notification to mobile app jk 2 [notify.mobile_app_jk_2] with title 'Full Moon Reminder' and message 'Today's a full moon, go check it out!', then execute the voice announcement script [script.voice_announcement] with media_players set to auto, sound set to chime, and a random speech message from a predefined list about the full moon.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered either at sunset or when the moon sensor [sensor.moon] reports that the moon phase has become a full moon.",
|
|
"conditions": "All of the following must be true: the house must be marked as occupied via house occupied [input_boolean.house_occupied], the moon sensor [sensor.moon] must currently read as full moon, and the sun [sun.sun] must be below the horizon.",
|
|
"action": "The automation first waits until motion is detected in the kitchen by binary sensor kitchen motion sensor main motion detection [binary_sensor.kitchen_motion_sensor_main_motion_detection]. After motion is detected, it pauses for 5 seconds. It then sends a push notification titled 'Full Moon Reminder' with the message 'Today's a full moon, go check it out!' to a mobile device via mobile app jk 2 [notify.mobile_app_jk_2]. Finally, it runs a voice announcement script [script.voice_announcement] that plays a chime sound and speaks a randomly selected message about the full moon on all configured media players."
|
|
},
|
|
"human_like": "Sends a notification and a voice announcement when there's a full moon at night and someone is home, waiting for motion in the kitchen before delivering the message.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "travel_arrival_announcement",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] OR person cristina falbo [person.cristina_falbo] changes state to 'Waldorf Astoria Hotel' AND remains in that state for 1 minute. CONDITIONS: None. ACTIONS: Execute voice announcement script [script.voice_announcement] with parameters: media_players set to auto, sound set to musical-flute, and a speech message that is a template. The template constructs a message stating which person (Baba for person john koht, Mama for person cristina falbo) safely arrived at the location (Waldorf Astoria Hotel).",
|
|
"natural_language": {
|
|
"trigger": "When either person john koht [person.john_koht] or person cristina falbo [person.cristina_falbo] arrives at the Waldorf Astoria Hotel and remains there for at least one minute.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "The automation triggers a voice announcement script [script.voice_announcement] on all configured media players. It plays a 'musical-flute' sound and speaks a personalized message announcing that the person (referred to as 'Baba' for John or 'Mama' for Cristina) has safely arrived at the Waldorf Astoria Hotel."
|
|
},
|
|
"human_like": "Announces when a family member arrives at the Waldorf Astoria Hotel, playing a sound and stating who arrived safely.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_shelf_lights_turn_off_deep_work_lighting",
|
|
"result": {
|
|
"structured": "TRIGGER: When john focus mode [input_select.john_focus_mode] changes from Deep Work to any other state. CONDITIONS: (office mode [input_select.office] is Auto OR DnD) AND (input boolean office occupied [input_boolean.office_occupied] is on). ACTIONS: Turn off office shelf lights [light.office_shelf_lights].",
|
|
"natural_language": {
|
|
"trigger": "When John's focus mode [input_select.john_focus_mode] changes away from the 'Deep Work' setting.",
|
|
"conditions": "If the office mode [input_select.office] is set to either 'Auto' or 'DnD', and the office is currently marked as occupied [input_boolean.office_occupied].",
|
|
"action": "Turns off the office shelf lights [light.office_shelf_lights]."
|
|
},
|
|
"human_like": "Turns off the office shelf lights when John leaves 'Deep Work' focus mode, provided the office is in an appropriate state and occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "turn_off_office_shelf_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] turns off OR When input boolean office occupied [input_boolean.office_occupied] turns off. CONDITIONS: (house occupied [input_boolean.house_occupied] is off) OR (input boolean office occupied [input_boolean.office_occupied] is off AND entertainment mode [input_boolean.entertainment_mode] is off). ACTIONS: Turn off office shelf lights [light.office_shelf_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the house occupied [input_boolean.house_occupied] status changes to off, or when the input boolean office occupied [input_boolean.office_occupied] status changes to off.",
|
|
"conditions": "If either the house occupied [input_boolean.house_occupied] is off, or if the input boolean office occupied [input_boolean.office_occupied] is off and entertainment mode [input_boolean.entertainment_mode] is also off.",
|
|
"action": "Turns off the office shelf lights [light.office_shelf_lights]."
|
|
},
|
|
"human_like": "Turns off the office shelf lights when the house or the office is unoccupied, unless entertainment mode is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "office_shelf_lights_turn_on_deep_work_lighting",
|
|
"result": {
|
|
"structured": "TRIGGER: When john focus mode [input_select.john_focus_mode] changes to Deep Work. CONDITIONS: (office mode [input_select.office] is Auto) AND (input boolean office occupied [input_boolean.office_occupied] is on). ACTIONS: Turn on scene office shelves tokyo [scene.office_shelves_tokyo].",
|
|
"natural_language": {
|
|
"trigger": "When John's focus mode [input_select.john_focus_mode] is set to 'Deep Work'.",
|
|
"conditions": "If the office mode [input_select.office] is set to 'Auto' and the office is currently marked as occupied via input boolean office occupied [input_boolean.office_occupied].",
|
|
"action": "Activates the 'Tokyo' lighting scene for the office shelves by turning on scene office shelves tokyo [scene.office_shelves_tokyo]."
|
|
},
|
|
"human_like": "Turns on the office shelf lights to a 'Tokyo' scene when John enters Deep Work mode, provided the office is in auto mode and occupied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_complete",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs dryer status [input_select.upstairs_dryer_status] changes to Clean. CONDITIONS: upstairs dryer status [input_select.upstairs_dryer_status] is Clean. ACTIONS: Execute voice announcement script [script.voice_announcement] with parameters: media_players=auto, sound=chirp, priority=normal, expires_in=120, speech_message='The upstairs dryer finished and is ready to be emptied.' AND Execute general notification script [script.general_notification] with parameters: message='The upstairsdryer is finished and ready to be emptied.', title='Upstairs Drying Machine', devices=all, priority=active, tag=main-level-dryer.",
|
|
"natural_language": {
|
|
"trigger": "When the status of the upstairs dryer [input_select.upstairs_dryer_status] changes to 'Clean'.",
|
|
"conditions": "The automation checks that the upstairs dryer status [input_select.upstairs_dryer_status] is currently set to 'Clean'.",
|
|
"action": "It first triggers a voice announcement [script.voice_announcement] to all configured media players, playing a chirp sound and speaking the message 'The upstairs dryer finished and is ready to be emptied.' The announcement is set to normal priority and expires after 120 seconds. Then, it sends a general notification [script.general_notification] to all devices with the title 'Upstairs Drying Machine' and the message 'The upstairsdryer is finished and ready to be emptied.', marked with high priority and tagged for identification."
|
|
},
|
|
"human_like": "Announces and notifies when the upstairs dryer cycle is complete and the laundry is ready to be emptied.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_complete",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs dryer status [input_select.upstairs_dryer_status] changes to Clean. CONDITIONS: upstairs dryer status [input_select.upstairs_dryer_status] is Clean. ACTIONS: Send a notification to ios_family with title 'Upstairs Drying Machine' and message 'The upstairs dryer is finished and ready to be emptied.'.",
|
|
"natural_language": {
|
|
"trigger": "When the status of the upstairs dryer status [input_select.upstairs_dryer_status] changes to 'Clean'.",
|
|
"conditions": "The status of the upstairs dryer status [input_select.upstairs_dryer_status] must currently be 'Clean'.",
|
|
"action": "Sends a notification to the family's iOS devices with the title 'Upstairs Drying Machine' and the message 'The upstairs dryer is finished and ready to be emptied.'."
|
|
},
|
|
"human_like": "Sends a phone notification when the upstairs dryer cycle is complete.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_to_clean",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs dryer status [input_select.upstairs_dryer_status] changes to Finishing AND remains for 5 minutes OR When upstairs drying machine active power [sensor.upstairs_drying_machine_active_power] falls below 50. CONDITIONS: upstairs dryer status [input_select.upstairs_dryer_status] is Finishing. ACTIONS: Set upstairs dryer status [input_select.upstairs_dryer_status] to Clean.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the upstairs dryer status [input_select.upstairs_dryer_status] has been set to 'Finishing' for at least five minutes, or when the power consumption of the drying machine [sensor.upstairs_drying_machine_active_power] drops below 50 watts.",
|
|
"conditions": "It only proceeds if the upstairs dryer status [input_select.upstairs_dryer_status] is currently 'Finishing'.",
|
|
"action": "Changes the status of the dryer to 'Clean' by updating the upstairs dryer status [input_select.upstairs_dryer_status]."
|
|
},
|
|
"human_like": "Automatically marks the upstairs dryer as ready to be cleaned when it finishes its cycle or its power usage drops low.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_to_clean",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs dryer status [input_select.upstairs_dryer_status] changes to Finishing AND remains in that state for 8 minutes. CONDITIONS: upstairs dryer status [input_select.upstairs_dryer_status] is Finishing. ACTIONS: Set upstairs dryer status [input_select.upstairs_dryer_status] to Clean.",
|
|
"natural_language": {
|
|
"trigger": "When the upstairs dryer status [input_select.upstairs_dryer_status] is set to 'Finishing' and stays that way for 8 minutes.",
|
|
"conditions": "The automation checks that the upstairs dryer status [input_select.upstairs_dryer_status] is currently 'Finishing'.",
|
|
"action": "Changes the status of the upstairs dryer to 'Clean'."
|
|
},
|
|
"human_like": "Automatically marks the upstairs dryer as ready to be cleaned after it has been in a finishing state for 8 minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_to_finished",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs drying machine active power [sensor.upstairs_drying_machine_active_power] falls below 150. CONDITIONS: upstairs dryer status [input_select.upstairs_dryer_status] is Running. ACTIONS: Set upstairs dryer status [input_select.upstairs_dryer_status] to Finishing.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the upstairs drying machine active power [sensor.upstairs_drying_machine_active_power] drops below 150 watts.",
|
|
"conditions": "If the current status of the upstairs dryer status [input_select.upstairs_dryer_status] is set to 'Running'.",
|
|
"action": "Changes the status of the dryer to 'Finishing' by updating the upstairs dryer status [input_select.upstairs_dryer_status]."
|
|
},
|
|
"human_like": "Updates the dryer's status to 'Finishing' when its power consumption drops low while it is running.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_to_finished",
|
|
"result": {
|
|
"structured": "TRIGGER: When Drying Machine Electric Consumption [sensor.drying_machine_electric_consumption_w] falls below 6 watts. CONDITIONS: upstairs dryer status [input_select.upstairs_dryer_status] is set to Running. ACTIONS: Set upstairs dryer status [input_select.upstairs_dryer_status] to Finishing.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the drying machine, measured by Drying Machine Electric Consumption [sensor.drying_machine_electric_consumption_w], drops below 6 watts.",
|
|
"conditions": "The current status of the dryer, tracked by upstairs dryer status [input_select.upstairs_dryer_status], must be set to 'Running'.",
|
|
"action": "Changes the status of the dryer to 'Finishing' by updating upstairs dryer status [input_select.upstairs_dryer_status]."
|
|
},
|
|
"human_like": "Updates the dryer's status to 'Finishing' when its power consumption drops low, indicating the cycle is nearly complete.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_to_idle",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs dryer status [input_select.upstairs_dryer_status] changes to Clean and remains for 5 minutes. CONDITIONS: (upstairs dryer status [input_select.upstairs_dryer_status] is Clean) OR (upstairs dryer status [input_select.upstairs_dryer_status] is Finishing). ACTIONS: Set upstairs dryer status [input_select.upstairs_dryer_status] to Idle.",
|
|
"natural_language": {
|
|
"trigger": "When the upstairs dryer status [input_select.upstairs_dryer_status] is set to 'Clean' and stays that way for five minutes.",
|
|
"conditions": "The automation checks if the upstairs dryer status [input_select.upstairs_dryer_status] is currently either 'Clean' or 'Finishing'.",
|
|
"action": "Changes the status of the upstairs dryer to 'Idle' by updating the input_select.upstairs_dryer_status entity."
|
|
},
|
|
"human_like": "Automatically resets the upstairs dryer status to 'Idle' after it has been in a 'Clean' state for five minutes, provided it hasn't changed to another state.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_to_idle",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs dryer status [input_select.upstairs_dryer_status] changes to Clean and remains in that state for 20 minutes. CONDITIONS: upstairs dryer status [input_select.upstairs_dryer_status] is Clean. ACTIONS: Set upstairs dryer status [input_select.upstairs_dryer_status] to Idle.",
|
|
"natural_language": {
|
|
"trigger": "When the upstairs dryer status [input_select.upstairs_dryer_status] is set to Clean and stays on that setting for 20 minutes.",
|
|
"conditions": "The upstairs dryer status [input_select.upstairs_dryer_status] must still be Clean at the time the automation runs.",
|
|
"action": "Changes the upstairs dryer status [input_select.upstairs_dryer_status] from Clean to Idle."
|
|
},
|
|
"human_like": "Automatically resets the dryer status to idle 20 minutes after it's marked as clean.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_to_running",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs drying machine active power [sensor.upstairs_drying_machine_active_power] is above 10. CONDITIONS: (upstairs dryer status [input_select.upstairs_dryer_status] is Idle) OR (upstairs dryer status [input_select.upstairs_dryer_status] is Clean) OR (upstairs dryer status [input_select.upstairs_dryer_status] is Finishing). ACTIONS: Set upstairs dryer status [input_select.upstairs_dryer_status] to Running.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the upstairs drying machine [sensor.upstairs_drying_machine_active_power] rises above 10 watts.",
|
|
"conditions": "If the current status of the upstairs dryer [input_select.upstairs_dryer_status] is set to 'Idle', 'Clean', or 'Finishing'.",
|
|
"action": "Changes the status of the upstairs dryer [input_select.upstairs_dryer_status] to 'Running'."
|
|
},
|
|
"human_like": "Sets the dryer status to 'Running' when it starts drawing power, but only if it was previously in an idle, clean, or finishing state.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_dryer_to_running",
|
|
"result": {
|
|
"structured": "TRIGGER: When Drying Machine Electric Consumption [sensor.drying_machine_electric_consumption_w] rises above 10. CONDITIONS: (upstairs dryer status [input_select.upstairs_dryer_status] is Idle) OR (upstairs dryer status [input_select.upstairs_dryer_status] is Clean) OR (upstairs dryer status [input_select.upstairs_dryer_status] is Finishing). ACTIONS: Set upstairs dryer status [input_select.upstairs_dryer_status] to Running.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the drying machine, measured by Drying Machine Electric Consumption [sensor.drying_machine_electric_consumption_w], exceeds 10 watts.",
|
|
"conditions": "If the current status of the upstairs dryer, upstairs dryer status [input_select.upstairs_dryer_status], is set to either 'Idle', 'Clean', or 'Finishing'.",
|
|
"action": "Changes the status of the upstairs dryer to 'Running' by updating the input_select.upstairs_dryer_status entity."
|
|
},
|
|
"human_like": "Starts tracking the dryer as 'Running' when it begins consuming power, but only if it wasn't already in that state.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_lights_manually_turned_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs hallway light [light.upstairs_hallway] turns off. CONDITIONS: (upstairs hallway lights auto [input_boolean.upstairs_hallway_lights_auto] is on) AND (the state change that triggered this automation has no parent context). ACTIONS: Turn off upstairs hallway lights auto [input_boolean.upstairs_hallway_lights_auto] AND Turn off upstairs hallway lighting automations [input_boolean.upstairs_hallway_lighting_automations] AND Execute general notification script [script.general_notification] with a message about the lights being turned off and context details.",
|
|
"natural_language": {
|
|
"trigger": "When the upstairs hallway light [light.upstairs_hallway] is turned off.",
|
|
"conditions": "The automation only runs if the 'upstairs hallway lights auto' [input_boolean.upstairs_hallway_lights_auto] setting is currently enabled, and if the state change that turned the light off was not initiated by another automation or script (indicated by having no parent context).",
|
|
"action": "Disables the automatic lighting control by turning off the 'upstairs hallway lights auto' [input_boolean.upstairs_hallway_lights_auto] and 'upstairs hallway lighting automations' [input_boolean.upstairs_hallway_lighting_automations] switches. It also sends a passive notification to a specific device with details about the event, including the context information."
|
|
},
|
|
"human_like": "Detects when someone manually turns off the upstairs hallway light and disables the automatic lighting system for that area, sending a notification about the change.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_lights_motion_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs hallway motion [binary_sensor.upstairs_hallway_motion] turns on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND upstairs hallway lighting automations [input_boolean.upstairs_hallway_lighting_automations] is on AND upstairs hallway nightlight illuminance [sensor.upstairs_hallway_nightlight_illuminance] is below 30 AND upstairs hallway light [light.upstairs_hallway] is off AND quiet mode [input_boolean.quiet_mode] is off. ACTIONS: If (gianlucas room occupied [input_boolean.gianlucas_room_occupied] is on OR ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is on OR quiet mode [input_boolean.quiet_mode] was turned on less than 180 seconds ago) THEN turn on upstairs hallway light [light.upstairs_hallway] with brightness 10% and transition 0.5 seconds ELSE turn on upstairs hallway light [light.upstairs_hallway] (default settings). Then turn on upstairs hallway lights auto [input_boolean.upstairs_hallway_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected in the upstairs hallway by the upstairs hallway motion sensor [binary_sensor.upstairs_hallway_motion].",
|
|
"conditions": "All of the following must be true: the master lighting automations switch [input_boolean.lighting_automations] is on, the specific upstairs hallway lighting automations switch [input_boolean.upstairs_hallway_lighting_automations] is on, the light level measured by the upstairs hallway nightlight illuminance sensor [sensor.upstairs_hallway_nightlight_illuminance] is below 30 lux, the upstairs hallway light [light.upstairs_hallway] is currently off, and the quiet mode [input_boolean.quiet_mode] is not active.",
|
|
"action": "The automation first checks if either Gianlucas's room [input_boolean.gianlucas_room_occupied] or Nino's bedroom [input_boolean.ninos_bedroom_occupied] is marked as occupied, or if quiet mode was enabled less than three minutes ago. If any of these are true, it turns on the upstairs hallway light [light.upstairs_hallway] at a dim 10% brightness with a half-second fade-in. Otherwise, it turns the light on at its default brightness. Finally, it marks the light as having been turned on automatically by switching on the upstairs hallway lights auto [input_boolean.upstairs_hallway_lights_auto] indicator."
|
|
},
|
|
"human_like": "Automatically turns on the upstairs hallway light at a dim level when motion is detected in the dark, but uses a brighter default light if the adjacent bedrooms are empty and it's not shortly after quiet mode was activated.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_lights_sleep_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs OR when the time is 07:00:00 OR when upstairs hallway mode [input_select.upstairs_hallway] changes to Auto. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND upstairs hallway mode [input_select.upstairs_hallway] is Auto AND the current time is after sunrise. ACTIONS: Turn off adaptive lighting sleep mode upstairs hallway [switch.adaptive_lighting_sleep_mode_upstairs_hallway].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at sunrise, at 7:00 AM, or when the upstairs hallway mode [input_select.upstairs_hallway] is switched to Auto.",
|
|
"conditions": "All of the following must be true: the lighting automations [input_boolean.lighting_automations] must be enabled, the upstairs hallway mode [input_select.upstairs_hallway] must be set to Auto, and the current time must be after sunrise.",
|
|
"action": "Turns off the adaptive lighting sleep mode for the upstairs hallway [switch.adaptive_lighting_sleep_mode_upstairs_hallway]."
|
|
},
|
|
"human_like": "Turns off the sleep mode for the upstairs hallway lights at sunrise, 7 AM, or when set to Auto, provided lighting automations are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_lights_sleep_mode_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs hallway mode [input_select.upstairs_hallway] changes to Bedtime OR when gianlucas room occupied [input_boolean.gianlucas_room_occupied] changes to on OR when ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] changes to on. CONDITIONS: lighting automations [input_boolean.lighting_automations] is on AND the current time is after sunset AND dark outside [input_boolean.dark_outside] is on. ACTIONS: Turn on adaptive lighting sleep mode upstairs hallway [switch.adaptive_lighting_sleep_mode_upstairs_hallway].",
|
|
"natural_language": {
|
|
"trigger": "When the upstairs hallway mode [input_select.upstairs_hallway] is set to 'Bedtime', or when either gianlucas room occupied [input_boolean.gianlucas_room_occupied] or ninos bedroom occupied [input_boolean.ninos_bedroom_occupied] is turned on.",
|
|
"conditions": "If the lighting automations [input_boolean.lighting_automations] are enabled, it is after sunset, and the dark outside [input_boolean.dark_outside] indicator is on.",
|
|
"action": "Activates the sleep mode for the adaptive lighting in the upstairs hallway by turning on adaptive lighting sleep mode upstairs hallway [switch.adaptive_lighting_sleep_mode_upstairs_hallway]."
|
|
},
|
|
"human_like": "Turns on the hallway's sleep-mode lighting when it's bedtime or when a bedroom becomes occupied, but only after sunset and if it's dark outside.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_lights_to_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs hallway mode [input_select.upstairs_hallway] changes to 'Off' OR lighting automations [input_boolean.lighting_automations] changes to 'on' OR upstairs hallway occupied [input_boolean.upstairs_hallway_occupied] changes to 'off'. CONDITIONS: lighting automations [input_boolean.lighting_automations] is 'on' AND upstairs hallway light [light.upstairs_hallway] is 'on'. ACTIONS: Turn off upstairs hallway light [light.upstairs_hallway] AND turn off upstairs hallway lights auto [input_boolean.upstairs_hallway_lights_auto].",
|
|
"natural_language": {
|
|
"trigger": "When the mode for the upstairs hallway [input_select.upstairs_hallway] is set to 'Off', when the global lighting automations [input_boolean.lighting_automations] are turned on, or when the upstairs hallway is marked as unoccupied [input_boolean.upstairs_hallway_occupied].",
|
|
"conditions": "The global lighting automations [input_boolean.lighting_automations] must be enabled, and the upstairs hallway light [light.upstairs_hallway] must currently be on.",
|
|
"action": "Turns off the upstairs hallway light [light.upstairs_hallway] and also turns off the automatic lighting control flag for the hallway [input_boolean.upstairs_hallway_lights_auto]."
|
|
},
|
|
"human_like": "Turns off the upstairs hallway lights when the hallway mode is set to 'Off', when lighting automations are enabled, or when the hallway is unoccupied, ensuring the lights are off and the auto mode is reset.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_mode_auto",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Auto. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND upstairs hallway mode [input_select.upstairs_hallway] is NOT Auto AND bedtime [input_boolean.bedtime] is off. ACTIONS: Set upstairs hallway mode [input_select.upstairs_hallway] to Auto.",
|
|
"natural_language": {
|
|
"trigger": "When the house status [input_select.house] is changed to the 'Auto' mode.",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), the bedtime mode must be off, and the current mode for the upstairs hallway [input_select.upstairs_hallway] must not already be 'Auto'.",
|
|
"action": "Changes the mode of the upstairs hallway [input_select.upstairs_hallway] to 'Auto'."
|
|
},
|
|
"human_like": "Automatically sets the upstairs hallway to 'Auto' mode when the house is in Auto mode, occupied, and it's not bedtime.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_mode_bedtime",
|
|
"result": {
|
|
"structured": "TRIGGER: When house status [input_select.house] changes to Bedtime OR when bedtime [input_boolean.bedtime] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND upstairs hallway mode [input_select.upstairs_hallway] is NOT Bedtime. ACTIONS: Set upstairs hallway mode [input_select.upstairs_hallway] to Bedtime.",
|
|
"natural_language": {
|
|
"trigger": "When the overall house status [input_select.house] is changed to 'Bedtime', or when the bedtime [input_boolean.bedtime] input boolean is turned on.",
|
|
"conditions": "The house must be marked as occupied, meaning house occupied [input_boolean.house_occupied] is on, and the current mode for the upstairs hallway [input_select.upstairs_hallway] must not already be set to 'Bedtime'.",
|
|
"action": "Changes the mode of the upstairs hallway [input_select.upstairs_hallway] to 'Bedtime'."
|
|
},
|
|
"human_like": "Sets the upstairs hallway to bedtime mode when the house enters bedtime and is occupied, but only if it's not already in that mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_mode_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off OR Home Assistant starts OR an automation is reloaded. CONDITIONS: house occupied [input_boolean.house_occupied] is off AND upstairs hallway mode [input_select.upstairs_hallway] is NOT set to 'Off'. ACTIONS: Set upstairs hallway mode [input_select.upstairs_hallway] to 'Off'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the house occupied [input_boolean.house_occupied] status changes to off, when Home Assistant starts up, or when an automation is reloaded.",
|
|
"conditions": "The automation only proceeds if the house occupied [input_boolean.house_occupied] status is currently off and the upstairs hallway mode [input_select.upstairs_hallway] is not already set to 'Off'.",
|
|
"action": "Sets the upstairs hallway mode [input_select.upstairs_hallway] to 'Off'."
|
|
},
|
|
"human_like": "Turns off the upstairs hallway mode when the house is unoccupied, or when the system starts or reloads, ensuring the mode is correctly set.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_not_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs hallway motion [binary_sensor.upstairs_hallway_motion] remains off (no motion) for 10 minutes. CONDITIONS: upstairs hallway occupied [input_boolean.upstairs_hallway_occupied] is on. ACTIONS: Turn off upstairs hallway occupied [input_boolean.upstairs_hallway_occupied], then wait 2 seconds, then turn on upstairs hallway lighting automations [input_boolean.upstairs_hallway_lighting_automations].",
|
|
"natural_language": {
|
|
"trigger": "When the upstairs hallway motion sensor [binary_sensor.upstairs_hallway_motion] detects no motion for a continuous period of 10 minutes.",
|
|
"conditions": "The automation only runs if the upstairs hallway occupied [input_boolean.upstairs_hallway_occupied] flag is currently set to on.",
|
|
"action": "First, it marks the hallway as unoccupied by turning off the upstairs hallway occupied [input_boolean.upstairs_hallway_occupied] flag. After a brief 2-second delay, it then re-enables lighting automations by turning on the upstairs hallway lighting automations [input_boolean.upstairs_hallway_lighting_automations] flag."
|
|
},
|
|
"human_like": "Marks the upstairs hallway as unoccupied and re-enables its lighting automations after no motion is detected for 10 minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_hallway_occupied",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs hallway motion [binary_sensor.upstairs_hallway_motion] turns on OR when upstairs hallway light [light.upstairs_hallway] turns on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND upstairs hallway occupied [input_boolean.upstairs_hallway_occupied] is off AND (upstairs hallway motion [binary_sensor.upstairs_hallway_motion] is on OR upstairs hallway light [light.upstairs_hallway] is on). ACTIONS: Turn on upstairs hallway occupied [input_boolean.upstairs_hallway_occupied].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by the upstairs hallway motion [binary_sensor.upstairs_hallway_motion] sensor, or when the upstairs hallway light [light.upstairs_hallway] is turned on.",
|
|
"conditions": "The house must be marked as occupied (house occupied [input_boolean.house_occupied] is on), and the upstairs hallway must currently be marked as unoccupied (upstairs hallway occupied [input_boolean.upstairs_hallway_occupied] is off). Additionally, either the motion sensor must still be detecting motion or the hallway light must still be on at the time the automation runs.",
|
|
"action": "Marks the upstairs hallway as occupied by turning on the upstairs hallway occupied [input_boolean.upstairs_hallway_occupied] input boolean."
|
|
},
|
|
"human_like": "Marks the upstairs hallway as occupied when motion is detected or the light is turned on, but only if the house is occupied and the hallway isn't already marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_washer_complete_alert",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs washer status [input_select.upstairs_washer_status] changes to Clean OR When house occupied [input_boolean.house_occupied] turns on and remains on for 10 minutes OR When the time is 08:01:00. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND upstairs washer status [input_select.upstairs_washer_status] is Clean AND The automation upstairs_washer_complete_alert has not been triggered in the last hour. ACTIONS: Execute voice announcement script [script.voice_announcement] with a chirp sound and the message 'The upstairs washer finished and is ready to be emptied.' AND Send a mobile notification based on presence: If john home [input_boolean.john_home] and cristina home [input_boolean.cristina_home] are on, notify notify.ios_family; else if only john home [input_boolean.john_home] is on, notify notify.mobile_app_jk_2; else if only cristina home [input_boolean.cristina_home] is on, notify notify.mobile_app_cfalb2. AND If sony bravia tv [media_player.sony_bravia_tv] is on, then send an on-screen notification to family_room_sony_bravia_tv.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in three scenarios: when the upstairs washer status [input_select.upstairs_washer_status] changes to 'Clean', when the house occupied [input_boolean.house_occupied] switch turns on and stays on for 10 minutes, or at 8:01 AM daily.",
|
|
"conditions": "For the automation to proceed, the house must be occupied (house occupied [input_boolean.house_occupied] is on), the washer must be in the 'Clean' state (upstairs washer status [input_select.upstairs_washer_status] is Clean), and this specific alert must not have been triggered in the past hour.",
|
|
"action": "First, a voice announcement is made through all available media players with a chirp sound, stating the washer is ready. Next, a mobile notification is sent based on who is home: if both John and Cristina are home, it goes to the family group; if only John is home, it goes to his device; if only Cristina is home, it goes to her device. Finally, if the Sony Bravia TV [media_player.sony_bravia_tv] is on, an on-screen notification is displayed there as well."
|
|
},
|
|
"human_like": "Announces and notifies household members when the upstairs washing machine cycle is complete, ensuring alerts are only sent if someone is home and the alert hasn't been sent recently.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_washer_to_clean",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs washer status [input_select.upstairs_washer_status] changes to Finishing AND remains in that state for 8 minutes. CONDITIONS: upstairs washer status [input_select.upstairs_washer_status] is Finishing. ACTIONS: Set upstairs washer status [input_select.upstairs_washer_status] to Clean.",
|
|
"natural_language": {
|
|
"trigger": "When the upstairs washer status [input_select.upstairs_washer_status] changes to 'Finishing' and stays in that state for 8 minutes.",
|
|
"conditions": "The upstairs washer status [input_select.upstairs_washer_status] must still be 'Finishing' at the time the action runs.",
|
|
"action": "Changes the status of the washer to 'Clean' by updating the upstairs washer status [input_select.upstairs_washer_status]."
|
|
},
|
|
"human_like": "Automatically marks the upstairs washer as ready to be cleaned after it has been in a 'Finishing' state for 8 minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_washer_to_finished",
|
|
"result": {
|
|
"structured": "TRIGGER: When Washing Machine Electric Consumption [sensor.washing_machine_electric_consumption_w] falls below 3 watts. CONDITIONS: upstairs washer status [input_select.upstairs_washer_status] is set to Running. ACTIONS: Change upstairs washer status [input_select.upstairs_washer_status] to Finishing.",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the washing machine, monitored by the sensor Washing Machine Electric Consumption [sensor.washing_machine_electric_consumption_w], drops below 3 watts.",
|
|
"conditions": "The current status of the washer, tracked by upstairs washer status [input_select.upstairs_washer_status], must be set to 'Running'.",
|
|
"action": "Updates the washer's status to 'Finishing' by changing the option of upstairs washer status [input_select.upstairs_washer_status]."
|
|
},
|
|
"human_like": "Updates the washer's status to 'Finishing' when its power consumption drops very low, indicating the main wash cycle is done.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_washer_to_idle",
|
|
"result": {
|
|
"structured": "TRIGGER: When upstairs washer door sensor status [binary_sensor.upstairs_washer_door_sensor_status] changes to on. CONDITIONS: (upstairs washer status [input_select.upstairs_washer_status] is Clean OR upstairs washer status [input_select.upstairs_washer_status] is Finishing OR upstairs washer status [input_select.upstairs_washer_status] is Running). ACTIONS: Set upstairs washer status [input_select.upstairs_washer_status] to Idle.",
|
|
"natural_language": {
|
|
"trigger": "When the upstairs washer door sensor status [binary_sensor.upstairs_washer_door_sensor_status] indicates the door is open (changes to 'on').",
|
|
"conditions": "If the current status of the upstairs washer [input_select.upstairs_washer_status] is set to either 'Clean', 'Finishing', or 'Running'.",
|
|
"action": "Changes the status of the upstairs washer [input_select.upstairs_washer_status] to 'Idle'."
|
|
},
|
|
"human_like": "Resets the washer status to 'Idle' when its door is opened after a wash cycle is complete or in progress.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "upstairs_washer_to_running",
|
|
"result": {
|
|
"structured": "TRIGGER: When Washing Machine Electric Consumption [sensor.washing_machine_electric_consumption_w] is above 10 watts. CONDITIONS: (upstairs washer status [input_select.upstairs_washer_status] is Idle) OR (upstairs washer status [input_select.upstairs_washer_status] is Clean) OR (upstairs washer status [input_select.upstairs_washer_status] is Finishing). ACTIONS: Set upstairs washer status [input_select.upstairs_washer_status] to Running.",
|
|
"natural_language": {
|
|
"trigger": "When the washing machine's power consumption, measured by Washing Machine Electric Consumption [sensor.washing_machine_electric_consumption_w], rises above 10 watts.",
|
|
"conditions": "If the current status of the washer, tracked by upstairs washer status [input_select.upstairs_washer_status], is either 'Idle', 'Clean', or 'Finishing'.",
|
|
"action": "Changes the status of the washer to 'Running' by updating the upstairs washer status [input_select.upstairs_washer_status]."
|
|
},
|
|
"human_like": "Updates the washer's status to 'Running' when it starts drawing power and its previous status was not already running.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "UPS Battery Power Activated",
|
|
"result": {
|
|
"structured": "TRIGGER: When apc ups status [sensor.apc_ups_status] changes to state OB. CONDITIONS: None. ACTIONS: Execute general notification script [script.general_notification] with data: title 'Power Outage!', message '🚨 Power outage! UPS is now on battery.', devices 'jk', priority 'critical', tag 'ups-power-outage'.",
|
|
"natural_language": {
|
|
"trigger": "When the apc ups status [sensor.apc_ups_status] changes to the state 'OB'.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a critical notification by running the general notification script [script.general_notification]. The notification will have the title 'Power Outage!', the message '🚨 Power outage! UPS is now on battery.', it will be sent to devices 'jk', and it will be tagged as 'ups-power-outage'."
|
|
},
|
|
"human_like": "Sends a critical power outage alert when the UPS switches to battery power.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "UPS Battery Power Deactivated",
|
|
"result": {
|
|
"structured": "TRIGGER: When apc ups status [sensor.apc_ups_status] changes to state 'OL'. CONDITIONS: None. ACTIONS: Execute script general notification [script.general_notification] with data: title 'UPS Power Restored!', message 'The UPS is now back on AC power.', devices 'jk', priority 'time-sensitive', tag 'ups-power-restored'.",
|
|
"natural_language": {
|
|
"trigger": "When the apc ups status [sensor.apc_ups_status] sensor changes its state to 'OL'.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a notification by running the general notification script [script.general_notification]. The notification will have the title 'UPS Power Restored!', the message 'The UPS is now back on AC power.', it will be sent to devices identified by 'jk', with a 'time-sensitive' priority, and tagged as 'ups-power-restored'."
|
|
},
|
|
"human_like": "Sends a priority notification when the UPS switches back to AC power, letting the user know the power is restored.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacation_mode_turn_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina status dropdown [input_select.cristina_status_dropdown] changes to Home OR john status [input_select.john_status] changes to Home OR house occupied [input_boolean.house_occupied] changes to on. CONDITIONS: house occupied [input_boolean.house_occupied] is on AND (cristina status dropdown [input_select.cristina_status_dropdown] is Home OR john status [input_select.john_status] is Home). ACTIONS: Turn off vacation mode [input_boolean.vacation_mode], turn off automations Vacation Faux Home [automation.vacation_faux_home], Vacation Faux Home Off [automation.vacation_faux_home_off], Vacation Mode Turn Off [automation.vacation_mode_turn_off], Bedtime Mode Vacation On [automation.bedtime_mode_vacation_on], and Bedtime Mode Vacation Off [automation.bedtime_mode_vacation_off], and run the general notification script [script.general_notification] with a message that vacation mode has been turned off.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when either the cristina status dropdown [input_select.cristina_status_dropdown] or john status [input_select.john_status] changes to 'Home', or when the house occupied [input_boolean.house_occupied] input boolean is turned on.",
|
|
"conditions": "The automation checks that the house occupied [input_boolean.house_occupied] input boolean is currently on, and that either cristina status dropdown [input_select.cristina_status_dropdown] or john status [input_select.john_status] is set to 'Home'.",
|
|
"action": "It turns off the vacation mode [input_boolean.vacation_mode] input boolean, disables several vacation-related automations (Vacation Faux Home [automation.vacation_faux_home], Vacation Faux Home Off [automation.vacation_faux_home_off], Vacation Mode Turn Off [automation.vacation_mode_turn_off], Bedtime Mode Vacation On [automation.bedtime_mode_vacation_on], and Bedtime Mode Vacation Off [automation.bedtime_mode_vacation_off]), and sends a notification via the general notification script [script.general_notification] to announce that vacation mode has been turned off."
|
|
},
|
|
"human_like": "This automation turns off vacation mode and related automations when someone returns home and the house is marked as occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacation_mode_turn_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When cristina status dropdown [input_select.cristina_status_dropdown] OR john status [input_select.john_status] changes to 'Extended Away'. CONDITIONS: house occupied [input_boolean.house_occupied] is off AND cristina status dropdown [input_select.cristina_status_dropdown] is 'Extended Away' AND john status [input_select.john_status] is 'Extended Away'. ACTIONS: Turn on vacation mode [input_boolean.vacation_mode]; Turn on automations Vacation Faux Home [automation.vacation_faux_home], Vacation Faux Home Off [automation.vacation_faux_home_off], Vacation Mode Turn Off [automation.vacation_mode_turn_off], Bedtime Mode Vacation On [automation.bedtime_mode_vacation_on], and Bedtime Mode Vacation Off [automation.bedtime_mode_vacation_off]; Execute script general notification script [script.general_notification] with data: title 'Vacation Mode Turned On', message 'Vacation mode has been turned on!', devices 'jk', priority 'time-sensitive', tag 'vacation-mode-activated'.",
|
|
"natural_language": {
|
|
"trigger": "When either the cristina status dropdown [input_select.cristina_status_dropdown] or the john status [input_select.john_status] changes to the state 'Extended Away'.",
|
|
"conditions": "The house must be marked as not occupied, meaning the house occupied [input_boolean.house_occupied] is off. Additionally, both the cristina status dropdown [input_select.cristina_status_dropdown] and the john status [input_select.john_status] must currently be set to 'Extended Away'.",
|
|
"action": "It activates vacation mode by turning on the vacation mode [input_boolean.vacation_mode] input boolean. It also enables a set of related automations: Vacation Faux Home [automation.vacation_faux_home], Vacation Faux Home Off [automation.vacation_faux_home_off], Vacation Mode Turn Off [automation.vacation_mode_turn_off], Bedtime Mode Vacation On [automation.bedtime_mode_vacation_on], and Bedtime Mode Vacation Off [automation.bedtime_mode_vacation_off]. Finally, it sends a time-sensitive notification to the device 'jk' via the general notification script [script.general_notification], announcing that vacation mode has been turned on."
|
|
},
|
|
"human_like": "Activates the home's vacation mode and related automations when both residents are set to 'Extended Away' and the house is not occupied.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_clean_kitchen_during_nap",
|
|
"result": {
|
|
"structured": "TRIGGER: When gianlucas room occupied [input_boolean.gianlucas_room_occupied] turns on and remains on for 10 minutes. CONDITIONS: quiet mode [input_boolean.quiet_mode] is on AND the current time is between 13:00:00 and 15:00:00 AND entertainment mode [input_boolean.entertainment_mode] is off. ACTIONS: Send the 'app_segment_clean' command with parameter '24' to roborock s7 vacuum [vacuum.roborock_s7].",
|
|
"natural_language": {
|
|
"trigger": "When the gianlucas room occupied [input_boolean.gianlucas_room_occupied] switch is turned on and stays on for at least 10 minutes.",
|
|
"conditions": "The quiet mode [input_boolean.quiet_mode] must be active, the current time must be between 1:00 PM and 3:00 PM, and the entertainment mode [input_boolean.entertainment_mode] must be inactive.",
|
|
"action": "Instructs the roborock s7 vacuum [vacuum.roborock_s7] to clean a specific segment, identified by the number 24."
|
|
},
|
|
"human_like": "Starts a targeted vacuum cleaning of the kitchen during the afternoon nap time when the room is occupied and quiet mode is on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_clean_office_when_dog_is_at_daycare",
|
|
"result": {
|
|
"structured": "TRIGGER: When person john koht [person.john_koht] enters the zone north_shore_k9. CONDITIONS: The current time is between 08:00:00 and 10:00:00. ACTIONS: Send the 'app_segment_clean' command with parameter '29' to roborock s7 vacuum [vacuum.roborock_s7].",
|
|
"natural_language": {
|
|
"trigger": "When person john koht [person.john_koht] arrives at the zone named north_shore_k9.",
|
|
"conditions": "The automation only runs if the current time is between 8:00 AM and 10:00 AM.",
|
|
"action": "Instructs the roborock s7 vacuum [vacuum.roborock_s7] to clean a specific segment, number 29."
|
|
},
|
|
"human_like": "Automatically starts cleaning the office when John arrives at the dog daycare during the morning hours.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "weather_set_day_temperature",
|
|
"result": {
|
|
"structured": "TRIGGER: When weather kpwk daynight [weather.kpwk_daynight] changes state OR at 01:00:00 daily. CONDITIONS: None. ACTIONS: Set weather day high [input_number.weather_day_high] to the maximum temperature from the first two forecast entries of weather kpwk daynight [weather.kpwk_daynight]. Set weather day low [input_number.weather_day_low] to the minimum temperature from the first two forecast entries of weather kpwk daynight [weather.kpwk_daynight].",
|
|
"natural_language": {
|
|
"trigger": "This automation runs either when the weather kpwk daynight [weather.kpwk_daynight] entity updates its state, or at 1:00 AM every day.",
|
|
"conditions": "There are no conditions that must be met for the action to execute.",
|
|
"action": "It updates two input numbers. It sets the weather day high [input_number.weather_day_high] to the highest temperature forecast for the next two periods, and sets the weather day low [input_number.weather_day_low] to the lowest temperature forecast for the next two periods, using data from the weather kpwk daynight [weather.kpwk_daynight] forecast."
|
|
},
|
|
"human_like": "Updates the daily high and low temperature forecasts every morning and whenever the weather forecast changes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "window_left_open",
|
|
"result": {
|
|
"structured": "TRIGGER: When house occupied [input_boolean.house_occupied] changes to off OR when house status [input_select.house] changes to Away. CONDITIONS: windows group [binary_sensor.windows] is on. ACTIONS: Execute general notification script [script.general_notification] with a title 'Windows Left Open.', a message listing the names of all open windows from the windows group, targeting all devices with time-sensitive priority and tag 'window-open'.",
|
|
"natural_language": {
|
|
"trigger": "When the house is marked as unoccupied, either because the house occupied [input_boolean.house_occupied] switch turns off or the house status [input_select.house] is set to 'Away'.",
|
|
"conditions": "The automation only proceeds if the windows group [binary_sensor.windows] indicates that at least one window is open.",
|
|
"action": "Sends a notification to all devices using the general notification script [script.general_notification]. The notification has a 'Windows Left Open.' title and a message that lists the names of all the specific windows that are currently open. It is marked as time-sensitive and tagged for easy management."
|
|
},
|
|
"human_like": "Sends an urgent notification if any windows are left open when the house becomes empty.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "zigbee_router_unavailable",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following switches becomes unavailable AND remains unavailable for 15 minutes: Smart Plug 1 Switch [switch.smart_plug_1_switch], smart plug 2 switch [switch.smart_plug_2_switch], Smart Plug 3 Switch [switch.smart_plug_3_switch], Smart Plug 4 Switch [switch.smart_plug_4_switch], Smart Plug 5 Switch [switch.smart_plug_5_switch], Smart Plug 6 Switch [switch.smart_plug_6_switch], Smart Plug 7 Switch [switch.smart_plug_7_switch], Smart Plug 8 Switch [switch.smart_plug_8_switch], Smart Plug 9 Switch [switch.smart_plug_9_switch], Smart Plug 10 Switch [switch.smart_plug_10_switch], switch smart plug 11 [switch.smart_plug_11_switch], switch smart plug 12 [switch.smart_plug_12_switch], switch smart plug 13 [switch.smart_plug_13_switch], Smart Plug 14 Switch [switch.smart_plug_14_switch], Smart Plug 15 Switch [switch.smart_plug_15_switch], Smart Plug 16 Switch [switch.smart_plug_16_switch], Smart Plug 17 Switch [switch.smart_plug_17_switch], Smart Plug 18 Switch [switch.smart_plug_18_switch], Gazebo Smart Plug Switch [switch.gazebo_smart_plug_switch], tradfri smart plug 1 switch [switch.tradfri_smart_plug_1_switch], tradfri smart plug 2 switch [switch.tradfri_smart_plug_2_switch], tradfri smart plug 3 switch [switch.tradfri_smart_plug_3_switch], tradfri smart plug 4 switch [switch.tradfri_smart_plug_4_switch], Tradfri Smart Plug 5 Switch [switch.tradfri_smart_plug_5_switch]. CONDITIONS: None. ACTIONS: Execute the general notification script [script.general_notification] with a title 'Zigbee System Issue', a message containing the friendly name of the triggered switch, target devices 'jk', priority 'time-sensitive', and tag 'd'.",
|
|
"natural_language": {
|
|
"trigger": "When any of the listed Zigbee router switches (a total of 24 smart plugs) changes its state to 'unavailable' and stays in that state for 15 minutes.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a time-sensitive notification to a device or user 'jk' using the general notification script. The notification has the title 'Zigbee System Issue' and a message that includes the name of the specific smart plug that became unavailable."
|
|
},
|
|
"human_like": "Sends an urgent alert if any Zigbee router smart plug becomes unreachable for 15 minutes, helping to identify network issues.",
|
|
"complexity": "medium"
|
|
}
|
|
}
|
|
] |