873 lines
108 KiB
JSON
873 lines
108 KiB
JSON
[
|
|
{
|
|
"id": "warning_door_open_in_winter",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 3 minutes (time pattern). CONDITIONS: heating period [input_boolean.heating_period] is on AND all doors [group.all_doors] is on (at least one door open) AND (the temperature from dwd home weather [weather.dwd_home] is less than the temperature from wandthermostat wz temperatur [sensor.wandthermostat_wz_temperatur]) AND disable signal automation [input_boolean.disable_signal_automation] is off AND entrance door [group.entrance_door] is off (closed) AND ll signals doorstatus [input_boolean.ll_signals_doorstatus] is off. ACTIONS: 1. Save the current state of philips lightstrip ku [light.philips_lightstrip_ku] to a store named dw_signal_store. 2. Turn on philips lightstrip ku [light.philips_lightstrip_ku] to blue (rgb 0,0,255) at full brightness. 3. Execute script.flash_light to make philips lightstrip ku [light.philips_lightstrip_ku] blink 8 times. 4. Wait up to 3 seconds for the stored state Light Philips Lightstrip KU Signal Store [dw_signal_store.light_philips_lightstrip_ku] to become known (not 'unknown'). 5. If the wait completes successfully, restore the saved state of philips lightstrip ku [light.philips_lightstrip_ku] from the store. Otherwise, turn off philips lightstrip ku [light.philips_lightstrip_ku].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every three minutes.",
|
|
"conditions": "All of the following must be true: the heating period [input_boolean.heating_period] is active; at least one door in the group all doors [group.all_doors] is open; the outside temperature reported by dwd home weather [weather.dwd_home] is lower than the indoor temperature from wandthermostat wz temperatur [sensor.wandthermostat_wz_temperatur]; the signal automation is not disabled, meaning disable signal automation [input_boolean.disable_signal_automation] is off; the entrance door [group.entrance_door] is closed; and the signal light status ll signals doorstatus [input_boolean.ll_signals_doorstatus] is off.",
|
|
"action": "First, the current state of the philips lightstrip ku [light.philips_lightstrip_ku] is saved. Then, the light strip is turned on to a solid blue color at full brightness and made to blink eight times. The system waits briefly for the saved state to be confirmed. If successful, the light strip's original state is restored. If not, the light strip is turned off."
|
|
},
|
|
"human_like": "During the heating season, if a door is left open while it's colder outside than inside, this automation flashes a blue light as a warning, provided the entrance door is closed and other signal conditions are met.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_to_homeofficeprofile",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 08:30, 09:00, 09:30, 10:00, 10:30, 11:00, 11:30, 13:30, 14:00, 14:30, 15:00, 15:30, 16:00, or 16:30 OR When home status [sensor.home_status] changes to Home. CONDITIONS: (heating period [input_boolean.heating_period] is on) AND (automate heating [input_boolean.automate_heating] is on) AND (n guests home [sensor.n_guests_home] is below 1). ACTIONS: For thermostat 1 [device_id: 177b82bd9b6ed9360a46712d62f884b6]: If max status [sensor.max_status] is Home OR Just Arrived, set profile to 2; otherwise set profile to 1. For thermostat 2 [device_id: 5ee2ea2d3204e1391bd380e3e78cc16f]: If ing status [sensor.ing_status] is Home OR Just Arrived, set profile to 2; otherwise set profile to 1. For thermostat 3 [device_id: fded4d6e23eaefefe305963b47357e83]: If home status [sensor.home_status] is Home, set profile to 2; otherwise set profile to 1.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at specific times during the day (08:30, 09:00, 09:30, 10:00, 10:30, 11:00, 11:30, 13:30, 14:00, 14:30, 15:00, 15:30, 16:00, 16:30) or whenever the home status [sensor.home_status] changes to 'Home'.",
|
|
"conditions": "All of the following must be true: the heating period [input_boolean.heating_period] is active (on), the heating automation [input_boolean.automate_heating] is enabled (on), and the number of guests at home [sensor.n_guests_home] is less than 1.",
|
|
"action": "The automation adjusts the heating profile for three thermostats. For the first thermostat [device_id: 177b82bd9b6ed9360a46712d62f884b6], it sets profile 2 if max status [sensor.max_status] is 'Home' or 'Just Arrived', otherwise it sets profile 1. For the second thermostat [device_id: 5ee2ea2d3204e1391bd380e3e78cc16f], it sets profile 2 if ing status [sensor.ing_status] is 'Home' or 'Just Arrived', otherwise it sets profile 1. For the third thermostat [device_id: fded4d6e23eaefefe305963b47357e83], it sets profile 2 if home status [sensor.home_status] is 'Home', otherwise it sets profile 1."
|
|
},
|
|
"human_like": "Sets the heating to a 'Home-Office' profile at scheduled times or when someone arrives home, provided the heating system is active and there are no guests.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "activate_guest_heating",
|
|
"result": {
|
|
"structured": "TRIGGER: When n guests home [sensor.n_guests_home] is above 0. CONDITIONS: (heating period [input_boolean.heating_period] is on) AND (automate heating [input_boolean.automate_heating] is on). ACTIONS: Execute script.set_mode_all with data my_hvac_mode: auto AND Execute script.set_profile_all with data my_profile_no: 3.",
|
|
"natural_language": {
|
|
"trigger": "When the sensor tracking the number of guests at home, n guests home [sensor.n_guests_home], reports a value greater than zero.",
|
|
"conditions": "Both the heating period [input_boolean.heating_period] and the automate heating [input_boolean.automate_heating] switches must be turned on.",
|
|
"action": "It runs two scripts: first, it sets all HVAC systems to 'auto' mode, and then it switches all heating profiles to profile number 3."
|
|
},
|
|
"human_like": "Switches the heating to a guest-friendly profile when guests are present and the heating system is in an active, automated period.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "restore_family_heating",
|
|
"result": {
|
|
"structured": "TRIGGER: When n guests home [sensor.n_guests_home] is below 1. CONDITIONS: (heating period [input_boolean.heating_period] is on) AND (automate heating [input_boolean.automate_heating] is on). ACTIONS: Execute script.set_profile_all with data my_profile_no: 1.",
|
|
"natural_language": {
|
|
"trigger": "When the number of guests at home, tracked by n guests home [sensor.n_guests_home], drops below one.",
|
|
"conditions": "Both the heating period [input_boolean.heating_period] must be active (on) and the automate heating [input_boolean.automate_heating] must be enabled (on).",
|
|
"action": "Runs the script 'set_profile_all' to apply the normal heating profile, specified by profile number 1."
|
|
},
|
|
"human_like": "Switches the heating back to its normal schedule when no guests are home, provided heating automation is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "thermo_set_window_open",
|
|
"result": {
|
|
"structured": "TRIGGER: When doors wz [group.doors_wz] OR doors kitchen office [group.doors_kitchen_office] OR doors gz [group.doors_gz] changes state to 'on'. CONDITIONS: (heating period [input_boolean.heating_period] is on) AND (automate heating [input_boolean.automate_heating] is on). ACTIONS: If the triggering entity is doors wz [group.doors_wz], call script.set_windowstate_thermostat with thermostat ID 'fded4d6e23eaefefe305963b47357e83' and window state 1. If the triggering entity is doors kitchen office [group.doors_kitchen_office], call script.set_windowstate_thermostat with thermostat ID '5ee2ea2d3204e1391bd380e3e78cc16f' and window state 1. If the triggering entity is doors gz [group.doors_gz], call script.set_windowstate_thermostat with thermostat ID '177b82bd9b6ed9360a46712d62f884b6' and window state 1.",
|
|
"natural_language": {
|
|
"trigger": "When any of the door groups (doors wz [group.doors_wz], doors kitchen office [group.doors_kitchen_office], or doors gz [group.doors_gz]) turn on.",
|
|
"conditions": "Both the heating period [input_boolean.heating_period] and the automate heating [input_boolean.automate_heating] switches must be turned on.",
|
|
"action": "Depending on which door group triggered the automation, a specific thermostat is set to a 'window open' state (window state 1). The thermostat associated with doors wz is set via device ID 'fded4d6e23eaefefe305963b47357e83', the one for doors kitchen office via '5ee2ea2d3204e1391bd380e3e78cc16f', and the one for doors gz via '177b82bd9b6ed9360a46712d62f884b6'."
|
|
},
|
|
"human_like": "When a door is opened during the heating period, it sets the corresponding thermostat to a 'window open' state to save energy.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "thermo_set_window_closed",
|
|
"result": {
|
|
"structured": "TRIGGER: When doors wz [group.doors_wz] OR doors kitchen office [group.doors_kitchen_office] OR doors gz [group.doors_gz] change to off OR every 10 minutes. CONDITIONS: heating period [input_boolean.heating_period] is on AND (trigger is door_closed OR (pivccu v fensteroffen wz [sensor.pivccu_v_fensteroffen_wz] is 1 OR pivccu v fensteroffen gz [sensor.pivccu_v_fensteroffen_gz] is 1 OR pivccu v fensteroffen ku [sensor.pivccu_v_fensteroffen_ku] is 1)). ACTIONS: Choose based on conditions: 1. If trigger entity is doors wz [group.doors_wz] OR (doors wz [group.doors_wz] is off AND pivccu v fensteroffen wz [sensor.pivccu_v_fensteroffen_wz] is 1), then call script.set_windowstate_thermostat for thermostat 3 [device_id: fded4d6e23eaefefe305963b47357e83] with window state 0. 2. If trigger entity is doors kitchen office [group.doors_kitchen_office] OR (doors kitchen office [group.doors_kitchen_office] is off AND pivccu v fensteroffen ku [sensor.pivccu_v_fensteroffen_ku] is 1), then call script.set_windowstate_thermostat for thermostat 2 [device_id: 5ee2ea2d3204e1391bd380e3e78cc16f] with window state 0. 3. If trigger entity is doors gz [group.doors_gz] OR (doors gz [group.doors_gz] is off AND pivccu v fensteroffen gz [sensor.pivccu_v_fensteroffen_gz] is 1), then call script.set_windowstate_thermostat for thermostat 1 [device_id: 177b82bd9b6ed9360a46712d62f884b6] with window state 0.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when any of the door groups (doors wz [group.doors_wz], doors kitchen office [group.doors_kitchen_office], or doors gz [group.doors_gz]) change to an 'off' state, or every 10 minutes based on a time pattern.",
|
|
"conditions": "The heating period [input_boolean.heating_period] must be on. Additionally, either the trigger must be the door closing event, or at least one of the window sensors (pivccu v fensteroffen wz [sensor.pivccu_v_fensteroffen_wz], pivccu v fensteroffen gz [sensor.pivccu_v_fensteroffen_gz], or pivccu v fensteroffen ku [sensor.pivccu_v_fensteroffen_ku]) must be reporting a '1' state, indicating a window is open.",
|
|
"action": "Depending on which condition is met, the automation calls a script to set a specific thermostat's window state to 'closed' (0). If the trigger is related to the living room (wz) or its door is closed and its window sensor reports open, it targets thermostat 3. If it's related to the kitchen/office area, it targets thermostat 2. If it's related to the guest room (gz), it targets thermostat 1."
|
|
},
|
|
"human_like": "Closes the 'window open' state on specific thermostats when doors are shut or windows are reported closed, but only during the heating period.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pause_heating_when_leaving",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes from Home to Away AND remains Away for 5 minutes. CONDITIONS: (heating period [input_boolean.heating_period] is on) AND (automate heating [input_boolean.automate_heating] is on). ACTIONS: Execute script.set_mode_all with data my_hvac_mode: heat AND Execute script.set_temperature_all with data my_temperature: 17.",
|
|
"natural_language": {
|
|
"trigger": "When the home status [sensor.home_status] changes from 'Home' to 'Away' and stays in the 'Away' state for at least five minutes.",
|
|
"conditions": "Both the heating period [input_boolean.heating_period] and the automate heating [input_boolean.automate_heating] switches must be turned on.",
|
|
"action": "Runs the 'set_mode_all' script to set all HVAC systems to heat mode, and then runs the 'set_temperature_all' script to set all thermostats to 17 degrees."
|
|
},
|
|
"human_like": "Pauses the heating by setting a lower temperature when the home has been empty for five minutes, but only if heating automation is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "resume_heating_when_arriving",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes to Home. CONDITIONS: (heating period [input_boolean.heating_period] is on) AND (automate heating [input_boolean.automate_heating] is on). ACTIONS: Execute script.set_mode_all with data my_hvac_mode: auto.",
|
|
"natural_language": {
|
|
"trigger": "When the home status [sensor.home_status] changes to indicate that someone is home.",
|
|
"conditions": "Both the heating period [input_boolean.heating_period] and the automate heating [input_boolean.automate_heating] switches must be turned on.",
|
|
"action": "Runs a script to set all heating systems to auto mode."
|
|
},
|
|
"human_like": "Resumes heating by setting the HVAC to auto mode when someone arrives home, provided heating automation is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "stop_heating",
|
|
"result": {
|
|
"structured": "TRIGGER: When heating period [input_boolean.heating_period] turns off. CONDITIONS: None. ACTIONS: Turn off Heizung Start Automation [automation.start_heating] AND turn on Heizung Start Automation [automation.start_heating] AND execute script.set_mode_all with data {my_hvac_mode: heat} AND execute script.set_temperature_all with data {my_temperature: 4.5} AND turn off hmipw drs8 ch14 [switch.hmipw_drs8_ch14] AND turn off hmipw drs8 ch18 [switch.hmipw_drs8_ch18].",
|
|
"natural_language": {
|
|
"trigger": "When the heating period [input_boolean.heating_period] is turned off.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Disables the Heizung Start Automation [automation.start_heating], then immediately re-enables it. It also runs a script to set all HVAC systems to heat mode, runs another script to set all temperatures to 4.5 degrees, and turns off the switches hmipw drs8 ch14 [switch.hmipw_drs8_ch14] and hmipw drs8 ch18 [switch.hmipw_drs8_ch18]."
|
|
},
|
|
"human_like": "Ends the heating season by turning off heating-related automations and switches, setting a low base temperature, and resetting the heating start automation.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_heating",
|
|
"result": {
|
|
"structured": "TRIGGER: When heating period [input_boolean.heating_period] turns on. CONDITIONS: None. ACTIONS: Turn off Heizung Stop Automation [automation.stop_heating]. Turn on Heizung Stop Automation [automation.stop_heating]. Execute script.set_temperature_all with temperature 20. Wait 2 seconds. Execute script.set_mode_all with HVAC mode auto. Wait 2 seconds. Execute script.set_profile_all with profile number 1. Wait 2 seconds. Execute script.set_windowstate_thermostat for thermostat with device ID fded4d6e23eaefefe305963b47357e83, setting window state to 1 if doors wz [group.doors_wz] is on, else 0. Execute script.set_windowstate_thermostat for thermostat with device ID 5ee2ea2d3204e1391bd380e3e78cc16f, setting window state to 1 if doors kitchen office [group.doors_kitchen_office] is on, else 0. Execute script.set_windowstate_thermostat for thermostat with device ID 177b82bd9b6ed9360a46712d62f884b6, setting window state to 1 if doors gz [group.doors_gz] is on, else 0.",
|
|
"natural_language": {
|
|
"trigger": "When the heating period [input_boolean.heating_period] is switched on.",
|
|
"conditions": "There are no conditions.",
|
|
"action": "First, it toggles the Heizung Stop Automation [automation.stop_heating] off and then back on. It then runs a series of scripts to configure the heating system: it sets the target temperature to 20°C for all thermostats, waits 2 seconds, sets all thermostats to auto mode, waits 2 seconds, and sets all thermostats to profile number 1. After another 2-second delay, it updates the window state for three specific thermostats based on the state of door groups. For the thermostat linked to device ID fded4d6e23eaefefe305963b47357e83, it sets the window state to 1 if the doors wz [group.doors_wz] group is 'on', otherwise 0. For the thermostat linked to device ID 5ee2ea2d3204e1391bd380e3e78cc16f, it sets the window state based on the doors kitchen office [group.doors_kitchen_office] group. For the thermostat linked to device ID 177b82bd9b6ed9360a46712d62f884b6, it sets the window state based on the doors gz [group.doors_gz] group."
|
|
},
|
|
"human_like": "Activates the heating system by setting temperatures, modes, profiles, and window states for all thermostats when the heating period begins.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "closing_cover_in_summer",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes from Home to Away AND remains Away for 1 minute OR When sunshine west [sensor.sunshine_west] OR sunshine south [sensor.sunshine_south] becomes True AND remains True for 10 minutes OR When automate jalousie [input_boolean.automate_jalousie] OR auto shade when home [input_boolean.auto_shade_when_home] OR cover wo sun [input_boolean.cover_wo_sun] turns on OR At 09:00:10 OR When sun elevation ratio [sensor.sun_elevation_ratio] rises above 0. CONDITIONS: (automate jalousie [input_boolean.automate_jalousie] is on) AND (heating period [input_boolean.heating_period] is off) AND (max wind warn level [sensor.max_wind_warn_level] is below 2) AND ((home status [sensor.home_status] is Away OR Extended Away) OR ((auto shade when home [input_boolean.auto_shade_wome] is on) AND (time is after 09:00:00) AND (time is before 20:00:00))) AND ((sun is shining [sensor.sun_is_shining] is True) OR ((cover wo sun [input_boolean.cover_wo_sun] is on) AND (sun [sun.sun] is above_horizon))). ACTIONS: Run script lower_all_covers_on_side with parameters: in_south set to true if sunshine south [sensor.sunshine_south] is True OR cover wo sun [input_boolean.cover_wo_sun] is on; in_west set to true if sunshine west [sensor.sunshine_west] is True OR cover wo sun [input_boolean.cover_wo_sun] is on.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in five ways: 1) When the home status [sensor.home_status] changes from 'Home' to 'Away' and stays 'Away' for one minute. 2) When either the sunshine west [sensor.sunshine_west] or sunshine south [sensor.sunshine_south] sensor reports 'True' and stays 'True' for ten minutes. 3) When any of the switches for automate jalousie [input_boolean.automate_jalousie], auto shade when home [input_boolean.auto_shade_when_home], or cover wo sun [input_boolean.cover_wo_sun] are turned on. 4) At exactly 9:00:10 AM. 5) When the sun elevation ratio [sensor.sun_elevation_ratio] rises above zero, indicating sunrise.",
|
|
"conditions": "For the automation to run, all of the following must be true: The main switch, automate jalousie [input_boolean.automate_jalousie], must be on. The heating period [input_boolean.heating_period] must be off. The max wind warn level [sensor.max_wind_warn_level] must be below 2, meaning it's not too windy. Additionally, either nobody is home (home status [sensor.home_status] is 'Away' or 'Extended Away'), OR if someone is home, the 'auto shade when home' [input_boolean.auto_shade_when_home] switch must be on, and the current time must be between 9:00 AM and 8:00 PM. Finally, either the sun is shining [sensor.sun_is_shining] must be 'True', OR the 'cover without sun' [input_boolean.cover_wo_sun] switch must be on and the sun [sun.sun] must be above the horizon.",
|
|
"action": "The automation runs a script called 'lower_all_covers_on_side'. It lowers covers on the south side if the sunshine south [sensor.sunshine_south] sensor detects sun OR if the 'cover without sun' [input_boolean.cover_wo_sun] switch is on. Similarly, it lowers covers on the west side if the sunshine west [sensor.sunshine_west] sensor detects sun OR if the 'cover without sun' [input_boolean.cover_wo_sun] switch is on."
|
|
},
|
|
"human_like": "Lowers the blinds for sun protection during summer, considering factors like whether anyone is home, the time of day, sunshine, and weather conditions.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "retract_all_cover_when_windy",
|
|
"result": {
|
|
"structured": "TRIGGER: When max wind warn level [sensor.max_wind_warn_level] is above 1 OR When max wind speed [sensor.max_wind_speed] is above 20. CONDITIONS: None. ACTIONS: Execute script retract_covers_on_side with parameters: in_south true, in_west true, on_terrace true.",
|
|
"natural_language": {
|
|
"trigger": "When the max wind warn level [sensor.max_wind_warn_level] rises above 1, or when the max wind speed [sensor.max_wind_speed] exceeds 20.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Runs the script 'retract_covers_on_side' to retract covers on the south side, west side, and terrace."
|
|
},
|
|
"human_like": "Retracts all blinds and awnings on the south, west, and terrace sides when strong wind is detected.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "retract_awning_when_windy_or_raining",
|
|
"result": {
|
|
"structured": "TRIGGER: When dwd home weather [weather.dwd_home] changes to rainy OR When home hourly weather [weather.home_hourly] changes to rainy OR When max wind speed [sensor.max_wind_speed] exceeds 10. CONDITIONS: None. ACTIONS: Execute script retract_covers_on_side with parameters in_south false, in_west false, on_terrace true.",
|
|
"natural_language": {
|
|
"trigger": "When either the dwd home weather [weather.dwd_home] or the home hourly weather [weather.home_hourly] changes to a rainy state, or when the max wind speed [sensor.max_wind_speed] sensor reports a value above 10.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Runs the script 'retract_covers_on_side' to retract the awning on the terrace, while leaving the south and west sides unaffected."
|
|
},
|
|
"human_like": "Retracts the terrace awning automatically when it starts raining or when the wind gets too strong.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "retract_all_cover_without_sun",
|
|
"result": {
|
|
"structured": "TRIGGER: When sun elevation ratio [sensor.sun_elevation_ratio] remains below 0.01 for 5 minutes OR When sun [sun.sun] remains below_horizon for 5 seconds OR When sun azimuth is greater than 240 degrees OR When sun azimuth is greater than 330 degrees. CONDITIONS: automate jalousie [input_boolean.automate_jalousie] is on. ACTIONS: Execute script retract_covers_on_side with parameters: in_south = (sun azimuth >= 240 OR sun elevation ratio <= 0), in_west = (sun azimuth >= 330 OR sun elevation ratio <= 0), on_terrace = (sun [sun.sun] is below_horizon).",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the sun elevation ratio [sensor.sun_elevation_ratio] stays below 0.01 for five minutes, or when the sun [sun.sun] is below the horizon for five seconds, or when the sun's azimuth is greater than 240 degrees, or when the sun's azimuth is greater than 330 degrees.",
|
|
"conditions": "The automation will only run if the automate jalousie [input_boolean.automate_jalousie] is turned on.",
|
|
"action": "It runs the script 'retract_covers_on_side', passing it calculated parameters. The 'in_south' parameter is set to true if the sun's azimuth is at least 240 degrees or the sun elevation ratio is zero or less. The 'in_west' parameter is set to true if the sun's azimuth is at least 330 degrees or the sun elevation ratio is zero or less. The 'on_terrace' parameter is set to true if the sun [sun.sun] is below the horizon."
|
|
},
|
|
"human_like": "Retracts all blinds or awnings when the sun is down or in a specific position, but only if the automation feature is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "show_doorstatus_signal_light",
|
|
"result": {
|
|
"structured": "TRIGGER: When entrance door [group.entrance_door] turns on OR When any entity in group all doors [group.all_doors] or group all windows [group.all_windows] changes state OR When disable signal automation [input_boolean.disable_signal_automation] turns off OR When show signal [input_boolean.show_signal] turns on. CONDITIONS: (disable signal automation [input_boolean.disable_signal_automation] is off) AND (home status [sensor.home_status] is Home) AND (entrance door [group.entrance_door] is on OR show signal [input_boolean.show_signal] is on). ACTIONS: Turn on ll signals doorstatus [input_boolean.ll_signals_doorstatus]. Call python_script.light_store with store_name dw_signal_store for philips lightstrip ku [light.philips_lightstrip_ku]. Then, if all doors [group.all_doors] is on, turn on philips lightstrip ku [light.philips_lightstrip_ku] to red (rgb 255,0,0) at full brightness with 0.2s transition. Otherwise, if all windows [group.all_windows] is on, turn on philips lightstrip ku [light.philips_lightstrip_ku] to yellow (rgb 255,255,0) at full brightness with 0.2s transition. Otherwise, turn on philips lightstrip ku [light.philips_lightstrip_ku] to green (rgb 0,255,0) at full brightness with 0.2s transition.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the entrance door [group.entrance_door] is opened, when any door or window in the groups all doors [group.all_doors] or all windows [group.all_windows] changes its state, when the disable signal automation [input_boolean.disable_signal_automation] is turned off, or when the manual override show signal [input_boolean.show_signal] is turned on.",
|
|
"conditions": "All conditions must be met: the disable signal automation [input_boolean.disable_signal_automation] must be off, the home status [sensor.home_status] must be 'Home', and either the entrance door [group.entrance_door] is open or the manual show signal [input_boolean.show_signal] is on.",
|
|
"action": "First, it turns on the status flag ll signals doorstatus [input_boolean.ll_signals_doorstatus] and saves the current state of the philips lightstrip ku [light.philips_lightstrip_ku] to a script store. Then, it changes the lightstrip's color based on door and window status: red if any door is open, yellow if any window is open (but no doors are open), or green if all doors and windows are closed."
|
|
},
|
|
"human_like": "Uses a light strip to visually signal the status of doors and windows when someone is home, showing red for open doors, yellow for open windows, and green when all are closed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "clear_doorstatus_signal_light",
|
|
"result": {
|
|
"structured": "TRIGGER: When entrance door [group.entrance_door] turns off OR when show signal [input_boolean.show_signal] turns off. CONDITIONS: ll signals doorstatus [input_boolean.ll_signals_doorstatus] is on AND entrance door [group.entrance_door] is off AND show signal [input_boolean.show_signal] is off. ACTIONS: Turn off ll signals doorstatus [input_boolean.ll_signals_doorstatus]. Wait up to 3 seconds for Light Philips Lightstrip KU Signal Store [dw_signal_store.light_philips_lightstrip_ku] to not be 'unknown'. If the wait completes, restore all attributes for the light using the signal store. Otherwise, turn off philips lightstrip ku [light.philips_lightstrip_ku].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when either the entrance door [group.entrance_door] is turned off or the show signal [input_boolean.show_signal] is turned off.",
|
|
"conditions": "All of the following must be true: the ll signals doorstatus [input_boolean.ll_signals_doorstatus] is on, the entrance door [group.entrance_door] is off, and the show signal [input_boolean.show_signal] is off.",
|
|
"action": "First, it turns off the ll signals doorstatus [input_boolean.ll_signals_doorstatus]. Then, it waits for up to three seconds for the Light Philips Lightstrip KU Signal Store [dw_signal_store.light_philips_lightstrip_ku] to report a state other than 'unknown'. If the wait completes successfully, it restores the light's previous state from the signal store. If the wait times out, it simply turns off the philips lightstrip ku [light.philips_lightstrip_ku]."
|
|
},
|
|
"human_like": "Clears the door status signal light by turning off the indicator and either restoring the kitchen lightstrip to its previous state or turning it off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "send_notification_open_doors",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template condition (home status [sensor.home_status] is 'Away' OR 'Extended Away' AND all doors [group.all_doors] is 'on') remains true for 5 seconds. CONDITIONS: None specified. ACTIONS: Turn on open backdoor alert [input_boolean.open_backdoor_alert] AND send a notification using the service determined by the variable 'notification_service' (which is 'notify.family_main_devices' if ing status [sensor.ing_status] is 'Just Left', otherwise 'notify.max'). The notification includes a title, a message detailing the count of open doors and windows, and additional data such as a subtitle, push notification settings, and a click action.",
|
|
"natural_language": {
|
|
"trigger": "When the home status [sensor.home_status] is either 'Away' or 'Extended Away' and the group representing all doors [group.all_doors] indicates that at least one door is open, and this combined state persists for 5 seconds.",
|
|
"conditions": "There are no additional conditions that must be checked; the automation runs based solely on the trigger.",
|
|
"action": "First, it turns on the open backdoor alert [input_boolean.open_backdoor_alert]. Then, it sends a notification. The notification recipient is determined by the current ing status [sensor.ing_status]: if it is 'Just Left', the notification is sent to 'notify.family_main_devices'; otherwise, it is sent to 'notify.max'. The notification message reports how many doors and windows are open, with grammar adjusted for singular or plural doors. It also includes a subtitle, configures push notification sounds and badges, and provides a click action to open the Home Assistant dashboard."
|
|
},
|
|
"human_like": "Sends an alert when you're away from home but a door is left open, notifying the appropriate family members or a single person.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "send_notification_open_windows",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template condition remains true for 5 seconds. The condition is: home status [sensor.home_status] is 'Away' OR 'Extended Away' AND all windows [group.all_windows] is 'on' AND all doors [group.all_doors] is 'off'. CONDITIONS: None specified separately; all logic is within the trigger template. ACTIONS: Turn on open window alert [input_boolean.open_window_alert]. Then, send a notification via a service determined by a variable: if ing status [sensor.ing_status] is 'Just Left', use notify.family_main_devices, otherwise use notify.max. The notification has a title 'Smart Home Alarm' and a message that reports the count of open windows from the group all windows [group.all_windows] and uses correct grammar (e.g., 'ist' for one window, 'sind' for multiple). The notification includes data such as a subtitle, push badge count from count notification alerts [sensor.count_notification_alerts], sound settings, a thread ID, APNS headers, and a click action.",
|
|
"natural_language": {
|
|
"trigger": "When the home status [sensor.home_status] is set to either 'Away' or 'Extended Away', and all windows [group.all_windows] are reported as open ('on'), and all doors [group.all_doors] are reported as closed ('off'), and this combination of states remains stable for 5 seconds.",
|
|
"conditions": "There are no separate conditions; all logical checks are performed within the trigger itself.",
|
|
"action": "First, it turns on the open window alert [input_boolean.open_window_alert]. Then, it sends a push notification. The notification service is chosen based on the ing status [sensor.ing_status]: if the status is 'Just Left', it sends to 'notify.family_main_devices'; otherwise, it sends to 'notify.max'. The notification title is 'Smart Home Alarm', and the message states how many windows are open, using proper singular or plural wording. The notification also includes a subtitle 'Fenster offen!', sets the badge count from the count notification alerts [sensor.count_notification_alerts], plays a critical sound, groups the notification under a specific thread, and provides a click action to open the Home Assistant dashboard."
|
|
},
|
|
"human_like": "Sends an alert when the house is away and windows are left open but all doors are closed, notifying the appropriate recipients based on who just left.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "reset_notification_open_doors",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template condition is true for 1 second. The template condition is: (home status [sensor.home_status] is 'Home' OR all doors [group.all_doors] is 'off') AND open backdoor alert [input_boolean.open_backdoor_alert] is 'on'. CONDITIONS: None. ACTIONS: Turn off open backdoor alert [input_boolean.open_backdoor_alert] AND send a notification to family_main_devices with a title, a message 'Türen Alarm aufgehoben.', and data including a badge count from count notification alerts [sensor.count_notification_alerts] and a thread-id.",
|
|
"natural_language": {
|
|
"trigger": "When the system detects that either the home status [sensor.home_status] is 'Home' or all doors [group.all_doors] are closed ('off'), and at the same time, the open backdoor alert [input_boolean.open_backdoor_alert] is active ('on'). This combined state must remain true for one second.",
|
|
"conditions": "There are no additional conditions beyond the trigger.",
|
|
"action": "First, it turns off the open backdoor alert [input_boolean.open_backdoor_alert]. Then, it sends a notification to the family's main devices, announcing that the door alarm has been cleared. The notification includes a badge count based on the current value of count notification alerts [sensor.count_notification_alerts]."
|
|
},
|
|
"human_like": "Clears the open door alert and notifies the family when someone is home or all doors are closed, indicating the alert is no longer needed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "reset_notification_open_windows",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template condition evaluates to true and remains true for 1 second. The template condition is: (home status [sensor.home_status] is 'Home' OR all windows [group.all_windows] is 'off') AND open window alert [input_boolean.open_window_alert] is 'on'. CONDITIONS: None explicitly defined. ACTIONS: Turn off open window alert [input_boolean.open_window_alert] AND send a notification to family_main_devices with title 'Smart Home ...', message 'Fenster Alarm aufgehoben.', and structured data including a badge count from count notification alerts [sensor.count_notification_alerts] and a thread ID.",
|
|
"natural_language": {
|
|
"trigger": "When the home status [sensor.home_status] is 'Home' or all windows [group.all_windows] are closed, and at the same time, the open window alert [input_boolean.open_window_alert] is active (on), and this combined state holds for at least one second.",
|
|
"conditions": "There are no additional conditions beyond the trigger.",
|
|
"action": "It turns off the open window alert [input_boolean.open_window_alert] and sends a push notification to the family's main devices with the message 'Fenster Alarm aufgehoben.' (Window alert cleared). The notification includes a badge count based on the count notification alerts [sensor.count_notification_alerts] sensor."
|
|
},
|
|
"human_like": "Clears the open window alert and sends a notification when the system detects that someone is home or all windows are closed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "send_notification_zone_test",
|
|
"result": {
|
|
"structured": "TRIGGER: When Max Person [person.max] leaves zone.tik OR when Max Person [person.max] enters zone.tik. CONDITIONS: (all doors [group.all_doors] is on OR all windows [group.all_windows] is on) AND (ing status [sensor.ing_status] is not 'home' AND ing status [sensor.ing_status] is not 'Just Arrived'). ACTIONS: Send a notification to max with title 'Smart Home Alerts (Zone-test)' and message 'Mindestens eine Balkontür/Fenster ist offen.' including a subtitle 'Türen/Fenster offen!' and a push badge count from count notification alerts [sensor.count_notification_alerts].",
|
|
"natural_language": {
|
|
"trigger": "When Max Person [person.max] either leaves or enters the zone named 'tik'.",
|
|
"conditions": "If at least one door in the all doors [group.all_doors] group is open, or at least one window in the all windows [group.all_windows] group is open, and the ing status [sensor.ing_status] is not set to 'home' or 'Just Arrived'.",
|
|
"action": "Sends a notification to Max with the title 'Smart Home Alerts (Zone-test)' and the message 'Mindestens eine Balkontür/Fenster ist offen.', which translates to 'At least one balcony door/window is open.'. The notification includes a subtitle 'Türen/Fenster offen!' and a badge count based on the value of count notification alerts [sensor.count_notification_alerts]."
|
|
},
|
|
"human_like": "Sends a notification to Max when they enter or leave a specific zone, but only if a door or window is open and the household status is not 'home' or 'Just Arrived'.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "toggle_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When a webhook 'toggle_light_buero' is received OR when a webhook 'toggle_light_wz' is received OR when a webhook 'switch_off_ampel' is received. CONDITIONS: None. ACTIONS: For the webhook 'toggle_light_buero', if dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro] is off, then turn it on at 50% brightness; otherwise, turn it off. For the webhook 'toggle_light_wz', if dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz] is off, then turn it on at 50% brightness; otherwise, turn it off. For the webhook 'switch_off_ampel', turn off philips lightstrip ku [light.philips_lightstrip_ku].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered by receiving one of three specific webhooks: 'toggle_light_buero', 'toggle_light_wz', or 'switch_off_ampel'.",
|
|
"conditions": "There are no additional conditions that must be met for the automation to run.",
|
|
"action": "Depending on which webhook is received, the automation toggles a specific light. If the 'toggle_light_buero' webhook is received, it checks if the office light, dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro], is off. If it is off, the light is turned on at 50% brightness; otherwise, it is turned off. If the 'toggle_light_wz' webhook is received, it performs the same logic for the living room light, dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz]. If the 'switch_off_ampel' webhook is received, it simply turns off the kitchen light, philips lightstrip ku [light.philips_lightstrip_ku]."
|
|
},
|
|
"human_like": "This automation toggles lights in different rooms on or off, or turns off a specific light, based on which webhook button is pressed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "dimm_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When a webhook with ID lights_dunkler is received OR when a webhook with ID lights_heller is received. CONDITIONS: None. ACTIONS: For each light, if it is on, adjust its brightness by a percentage step: For dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro], if it is on, adjust brightness by {{ brightness_increment }}% over 1 second. For dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz], if it is on, adjust brightness by {{ brightness_increment }}% over 1 second. The variable brightness_increment is set to -10 for the dimm_lights_darker trigger and 10 for the dimm_lights_brighter trigger.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered by receiving a specific webhook. One webhook, 'lights_dunkler', signals the intent to dim the lights, and another webhook, 'lights_heller', signals the intent to brighten the lights.",
|
|
"conditions": "There are no global conditions that must be met for the automation to run. However, each action is conditional on the state of its respective light.",
|
|
"action": "When triggered, the automation checks two lights. If the office light, dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro], is on, its brightness is adjusted. If the living room light, dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz], is on, its brightness is also adjusted. The brightness change is a percentage step, which is -10% for the 'darker' webhook and +10% for the 'brighter' webhook, and the change happens smoothly over one second."
|
|
},
|
|
"human_like": "This automation dims or brightens the office and living room lights in response to webhook commands, adjusting each light's brightness by a small step if it is currently on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "toggle_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When a webhook with ID switch_on_tv is received via POST. CONDITIONS: None. ACTIONS: Turn on outlet repeater hifi switch [switch.outlet_repeater_hifi_switch].",
|
|
"natural_language": {
|
|
"trigger": "When a specific webhook named 'switch_on_tv' is received by the system.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Turns on the outlet repeater hifi switch [switch.outlet_repeater_hifi_switch]."
|
|
},
|
|
"human_like": "Turns on the HiFi switch when a specific webhook is triggered.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "random_lights_during_vacation",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunset OR at 23:00:00. CONDITIONS: (disable light automation [input_boolean.disable_light_automation] is off) AND (home status [sensor.home_status] is Extended Away). ACTIONS: Wait for a random delay between 5 and 25 minutes (if triggered by sunset) or between 5 and 90 minutes (if triggered by time at 23:00:00). Then, if triggered by sunset, turn on dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz]; if triggered by time at 23:00:00, turn off dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at sunset or at 11:00 PM.",
|
|
"conditions": "Both conditions must be met: the disable light automation [input_boolean.disable_light_automation] must be off, and the home status [sensor.home_status] must be 'Extended Away'.",
|
|
"action": "After a random waiting period (between 5 and 25 minutes if triggered by sunset, or between 5 and 90 minutes if triggered by the 11:00 PM time), the living room light (dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz]) is turned on if the trigger was sunset, or turned off if the trigger was the 11:00 PM time."
|
|
},
|
|
"human_like": "Simulates occupancy during extended absences by randomly turning the living room light on after sunset and off later in the evening.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_on_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes to Home OR at sunset with an offset of +15 minutes OR when disable light automation [input_boolean.disable_light_automation] changes to off. CONDITIONS: (disable light automation [input_boolean.disable_light_automation] is off) AND (home status [sensor.home_status] is Home) AND (sun [sun.sun] is below_horizon). ACTIONS: Activate scene welcome [scene.welcome] with a transition time of 2 seconds.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in three ways: when the home status [sensor.home_status] changes to 'Home', when the sun sets with a 15-minute offset, or when the disable light automation [input_boolean.disable_light_automation] is switched off.",
|
|
"conditions": "For the action to run, all of the following must be true: the disable light automation [input_boolean.disable_light_automation] must be off, the home status [sensor.home_status] must be 'Home', and the sun [sun.sun] must be below the horizon.",
|
|
"action": "Turns on the welcome scene [scene.welcome] with a smooth 2-second transition."
|
|
},
|
|
"human_like": "Turns on the welcome lights in the evening when someone returns home and the sun has set, unless the automation is disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_off_lights",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes from Home to Away and remains Away for 2 minutes OR at 00:01:00 (midnight and 1 minute) OR at sunrise OR when disable light automation [input_boolean.disable_light_automation] changes to off OR when Home Assistant starts. CONDITIONS: (disable light automation [input_boolean.disable_light_automation] is off) AND (home status [sensor.home_status] is Away OR the current time is between 00:00:00 and 06:00:00). ACTIONS: Turn off dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz], philips lightstrip ku [light.philips_lightstrip_ku], and dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in several ways: when the home status [sensor.home_status] changes to Away and stays that way for two minutes, at one minute past midnight, at sunrise, when the disable light automation [input_boolean.disable_light_automation] is turned off, or when Home Assistant restarts.",
|
|
"conditions": "For the automation to run, the disable light automation [input_boolean.disable_light_automation] must be off. Additionally, either the home status [sensor.home_status] must be Away, or the current time must be between midnight and 6:00 AM.",
|
|
"action": "Turns off the lights in the living room, kitchen, and office: dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz], philips lightstrip ku [light.philips_lightstrip_ku], and dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro]."
|
|
},
|
|
"human_like": "Turns off specific lights when everyone is away or during the night, but only if the automation hasn't been disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_off_signal_after_poweron",
|
|
"result": {
|
|
"structured": "TRIGGER: When philips lightstrip ku [light.philips_lightstrip_ku] changes from unavailable to on AND remains on for 10 seconds OR When philips lightstrip ku [light.phips_lightstrip_ku] turns on AND remains on for 1 minute. CONDITIONS: (philips lightstrip ku [light.philips_lightstrip_ku] is on) AND (ll signals doorstatus [input_boolean.ll_signals_doorstatus] is off) AND (show signal [input_boolean.show_signal] is off) AND (the hue attribute of philips lightstrip ku [light.philips_lightstrip_ku] equals 28.327 AND the saturation attribute equals 64.71). ACTIONS: Turn off philips lightstrip ku [light.philips_lightstrip_ku].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the philips lightstrip ku [light.philips_lightstrip_ku] becomes available and turns on, staying on for 10 seconds, or when it simply turns on and stays on for one full minute.",
|
|
"conditions": "All of the following must be true: the philips lightstrip ku [light.philips_lightstrip_ku] is currently on, the ll signals doorstatus [input_boolean.ll_signals_doorstatus] is off, the show signal [input_boolean.show_signal] is off, and the lightstrip's color is set to a specific hue of approximately 28.3 with a saturation of approximately 64.7.",
|
|
"action": "Turns off the philips lightstrip ku [light.philips_lightstrip_ku]."
|
|
},
|
|
"human_like": "Automatically turns off the kitchen lightstrip if it turns on with a specific orange color while certain signaling modes are inactive.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_off_ambientlight_from_sz",
|
|
"result": {
|
|
"structured": "TRIGGER: When the HmIP-BRC2 device [248828199b3f92a327f134b7e831fd1f] sends a short press event (type press_short, subtype 2). CONDITIONS: None. ACTIONS: Turn off dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz].",
|
|
"natural_language": {
|
|
"trigger": "When the HmIP-BRC2 device [248828199b3f92a327f134b7e831fd1f] is short-pressed (specifically, a press_short event of subtype 2).",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns off the light named dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz]."
|
|
},
|
|
"human_like": "Turns off the living room ambient light when a specific button on the HmIP-BRC2 device is short-pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_off_lights_from_sz",
|
|
"result": {
|
|
"structured": "TRIGGER: When the HmIP-BRC2 device [248828199b3f92a327f134b7e831fd1f] sends a long press start event on subtype 2. CONDITIONS: None. ACTIONS: Turn off dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz] AND Turn off philips lightstrip ku [light.philips_lightstrip_ku] AND Turn off dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro].",
|
|
"natural_language": {
|
|
"trigger": "When a specific HmIP-BRC2 device [248828199b3f92a327f134b7e831fd1f] is long-pressed (subtype 2).",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns off the living room light (dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz]), the kitchen lightstrip (philips lightstrip ku [light.philips_lightstrip_ku]), and the office light (dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro])."
|
|
},
|
|
"human_like": "Turns off multiple lights in the living room, kitchen, and office with a single long press of a remote control button.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_on_ambientlight_from_sz",
|
|
"result": {
|
|
"structured": "TRIGGER: When device HmIP-BRC2 Device [248828199b3f92a327f134b7e831fd1f] sends a homematic.keypress event with type press_short and subtype 1. CONDITIONS: None. ACTIONS: Turn on dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz].",
|
|
"natural_language": {
|
|
"trigger": "When a specific button on the HmIP-BRC2 Device [248828199b3f92a327f134b7e831fd1f] is pressed (a short press on button 1).",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the living room light named dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz]."
|
|
},
|
|
"human_like": "Turns on the living room light when a specific button on the remote control is pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_on_lights_from_sz",
|
|
"result": {
|
|
"structured": "TRIGGER: When a long press (press_long_start subtype 1) is detected on the HmIP-BRC2 device [248828199b3f92a327f134b7e831fd1f]. CONDITIONS: None. ACTIONS: Turn on dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz] AND turn on dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro] at 10% brightness.",
|
|
"natural_language": {
|
|
"trigger": "When a long press (specifically subtype 1) is detected on the HmIP-BRC2 device [248828199b3f92a327f134b7e831fd1f].",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Turns on the living room light dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz] and turns on the office light dimmschalter buro dimmaktor buro [light.dimmschalter_buro_dimmaktor_buro] at 10% brightness."
|
|
},
|
|
"human_like": "Turns on the living room and office lights (the latter at a low brightness) when a specific button is long-pressed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "power_off_unused_mediarack",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 00:10:00 (past_midnight) OR When media devices in use [group.mediadevices_in_use] remains off for 15 minutes (devices_unused) OR When disable power automation [input_boolean.disable_power_automation] turns off (config_changed). CONDITIONS: ((Time is after 23:00:00 OR Time is before 07:00:00) AND media devices in use [group.mediadevices_in_use] is off AND disable power automation [input_boolean.disable_power_automation] is off). ACTIONS: Turn off outlet repeater hifi switch [switch.outlet_repeater_hifi_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered at 00:10:00 (just after midnight), or when the media devices in use [group.mediadevices_in_use] have been off for 15 minutes, or when the disable power automation [input_boolean.disable_power_automation] is turned off.",
|
|
"conditions": "All of the following must be true: it must be nighttime (after 11:00 PM or before 7:00 AM), the media devices in use [group.mediadevices_in_use] must be off, and the disable power automation [input_boolean.disable_power_automation] must also be off.",
|
|
"action": "Turns off the outlet repeater hifi switch [switch.outlet_repeater_hifi_switch], powering down the media rack."
|
|
},
|
|
"human_like": "Turns off the media rack power during the night if the devices haven't been used for a while and the automation is not disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "power_on_mediarack_for_use",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time is 17:00:00 OR When the time is 07:00:00 OR When disable power automation [input_boolean.disable_power_automation] changes to off. CONDITIONS: (disable power automation [input_boolean.disable_power_automation] is off) AND (home status [sensor.home_status] is Home) AND (fritz dect 200 netz [switch.fritz_dect_200_netz] is on) AND ((trigger is afternoon) OR (trigger is morning AND workday sensor [binary_sensor.workday_sensor] is off)). ACTIONS: Turn on outlet repeater hifi switch [switch.outlet_repeater_hifi_switch].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at 5:00 PM or 7:00 AM, or whenever the disable power automation [input_boolean.disable_power_automation] is switched off.",
|
|
"conditions": "All of the following must be true: the disable power automation [input_boolean.disable_power_automation] is off, the home status [sensor.home_status] is 'Home', and the fritz dect 200 netz [switch.fritz_dect_200_netz] is on. Additionally, if the trigger was the 7:00 AM time, it must also be a non-workday as indicated by the workday sensor [binary_sensor.workday_sensor] being off. The 5:00 PM trigger does not have this workday restriction.",
|
|
"action": "Turns on the outlet repeater hifi switch [switch.outlet_repeater_hifi_switch]."
|
|
},
|
|
"human_like": "Turns on the media rack power outlet in the morning on non-workdays and in the evening, but only when someone is home and the automation is not disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "set_scene_movies",
|
|
"result": {
|
|
"structured": "TRIGGER: When samsungtv [media_player.samsungtv] turns on OR When smarttv [binary_sensor.smarttv] turns on OR When dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz] turns on. CONDITIONS: ((samsungtv [media_player.samsungtv] is on OR smarttv [binary_sensor.smarttv] is on) AND dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz] is on AND disable power automation [input_boolean.disable_power_automation] is off). ACTIONS: Save the current state of dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz] to a store named 'dw_signal_store' (overwriting existing data and including all attributes) AND Activate scene movies [scene.movies] with a 2-second transition.",
|
|
"natural_language": {
|
|
"trigger": "When the TV (samsungtv [media_player.samsungtv]) turns on, or when the TV's online status (smarttv [binary_sensor.smarttv]) becomes on, or when the living room light (dimmschalter wz dimmaktor wz [light.dimmschalter_wz_dimmaktor_wz]) is turned on.",
|
|
"conditions": "If either the TV is on or the TV's online status is on, and the living room light is on, and the automation override switch (disable power automation [input_boolean.disable_power_automation]) is turned off.",
|
|
"action": "First, it saves the current brightness and color settings of the living room light to a storage location for later recall. Then, it activates a pre-configured 'Movies' scene, which will adjust the lights to a movie-watching mode over a 2-second fade."
|
|
},
|
|
"human_like": "Activates a movie-watching scene when the TV or living room light is turned on, provided the automation is not disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "reload_speedtest",
|
|
"result": {
|
|
"structured": "TRIGGER: When speedtest download [sensor.speedtest_download] becomes unavailable and remains so for 15 minutes. CONDITIONS: None. ACTIONS: Update the entity speedtest download [sensor.speedtest_download].",
|
|
"natural_language": {
|
|
"trigger": "When the speedtest download [sensor.speedtest_download] sensor reports a state of 'unavailable' and stays that way for 15 minutes.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Forces a refresh of the speedtest download [sensor.speedtest_download] sensor by calling an entity update."
|
|
},
|
|
"human_like": "Automatically refreshes the internet speed test sensor if it has been unavailable for 15 minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "power_down_mediarack",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes from Home to Away and remains Away for 20 minutes OR when disable power automation [input_boolean.disable_power_automation] changes to off. CONDITIONS: (home status [sensor.home_status] is Away) AND (disable power automation [input_boolean.disable_power_automation] is off). ACTIONS: Turn off outlet repeater hifi switch [switch.outlet_repeater_hifi_switch].",
|
|
"natural_language": {
|
|
"trigger": "When the home status [sensor.home_status] changes to Away and stays that way for 20 minutes, or when the disable power automation [input_boolean.disable_power_automation] is turned off.",
|
|
"conditions": "If the home status [sensor.home_status] is currently Away and the disable power automation [input_boolean.disable_power_automation] is set to off.",
|
|
"action": "Turns off the outlet repeater hifi switch [switch.outlet_repeater_hifi_switch]."
|
|
},
|
|
"human_like": "Turns off the media rack when nobody has been home for 20 minutes, unless the automation is manually disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "power_up_mediarack",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes to Home AND remains for 3 minutes OR When disable power automation [input_boolean.disable_power_automation] changes to off. CONDITIONS: (disable power automation [input_boolean.disable_power_automation] is off) AND (home status [sensor.home_status] is Home). ACTIONS: Turn on outlet repeater hifi switch [switch.outlet_repeater_hifi_switch].",
|
|
"natural_language": {
|
|
"trigger": "When the home status [sensor.home_status] indicates we are home and stays that way for three minutes, or when the disable power automation [input_boolean.disable_power_automation] is switched off.",
|
|
"conditions": "The disable power automation [input_boolean.disable_power_automation] must be off, and the home status [sensor.home_status] must be Home.",
|
|
"action": "Turns on the outlet repeater hifi switch [switch.outlet_repeater_hifi_switch] to power up the media rack."
|
|
},
|
|
"human_like": "Turns on the media rack when we've been home for three minutes and the automation is not disabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_off_network",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes from Home to Away and remains for 20 minutes OR at 00:45:00 OR when xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] changes from cleaning or returning to docked and remains for 5 minutes. CONDITIONS: disable power automation [input_boolean.disable_power_automation] is off AND ((xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is docked AND home status [sensor.home_status] is Away OR Extended Away) OR (trigger is NOT duste_docked)). ACTIONS: Turn off Network Switch On Automation [automation.switch_on_network]. Turn on Network Switch On Automation [automation.switch_on_network]. Turn off fritz dect 200 gz [switch.fritz_dect_200_gz]. Wait 5 seconds. If xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is docked OR unavailable, then execute script.kill_raspi1 and wait for rpi ost [binary_sensor.rpi_ost] to turn off for up to 1 minute. If raspi3 last message [sensor.raspi3_last_message] is unavailable, then execute Kill Raspi3 Script [script.kill_raspi3] and wait for rpi sued [binary_sensor.rpi_sued] to turn off for up to 1 minute. Then turn off outlet repeater wz 018780fe on off [switch.outlet_repeater_wz_018780fe_on_off] and turn off fritz dect 200 netz [switch.fritz_dect_200_netz].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in three scenarios: when the home status [sensor.home_status] changes from 'Home' to 'Away' and stays that way for 20 minutes, at 00:45 (12:45 AM) every day, or when the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] finishes cleaning or returning and has been docked for 5 minutes.",
|
|
"conditions": "The automation only runs if the disable power automation [input_boolean.disable_power_automation] is turned off. Additionally, if the trigger was the vacuum docking, the home status [sensor.home_status] must also be 'Away' or 'Extended Away'. If the trigger was not the vacuum docking, this condition is satisfied.",
|
|
"action": "First, it toggles the Network Switch On Automation [automation.switch_on_network] off and then back on. It then turns off the fritz dect 200 gz [switch.fritz_dect_200_gz] and waits 5 seconds. If the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is docked or unavailable, it runs a script to shut down a device (script.kill_raspi1) and waits for the rpi ost [binary_sensor.rpi_ost] to turn off for up to a minute. If the raspi3 last message [sensor.raspi3_last_message] is unavailable, it runs the Kill Raspi3 Script [script.kill_raspi3] and waits for the rpi sued [binary_sensor.rpi_sued] to turn off for up to a minute. Finally, it turns off the outlet repeater wz 018780fe on off [switch.outlet_repeater_wz_018780fe_on_off] and the fritz dect 200 netz [switch.fritz_dect_200_netz]."
|
|
},
|
|
"human_like": "Turns off network components and Raspberry Pi devices 20 minutes after everyone leaves, at midnight, or after the vacuum has docked, provided the power automation is not disabled.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "switch_on_network",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes to Home OR entrance door [group.entrance_door] changes to on OR at 06:00:00 daily OR disable power automation [input_boolean.disable_power_automation] changes to off. CONDITIONS: (disable power automation [input_boolean.disable_power_automation] is off) AND (home status [sensor.home_status] is Home OR the trigger is entrance door [group.entrance_door]). ACTIONS: Turn off Network Switch Off Automation [automation.switch_off_network], then turn it back on. Turn on fritz dect 200 netz [switch.fritz_dect_200_netz]. Wait 30 seconds. Publish MQTT message to monitor/scan/arrive with payload {'data' : 'west'}. Wait 90 seconds. Turn on fritz dect 200 gz [switch.fritz_dect_200_gz]. Turn on outlet repeater wz 018780fe on off [switch.outlet_repeater_wz_018780fe_on_off]. Wait 30 seconds. If raspi1 last message [sensor.raspi1_last_message] is unavailable, run script.reboot_raspi1. Wait 60 seconds. If rpi ost [binary_sensor.rpi_ost] is on OR raspi1 last message [sensor.raspi1_last_message] is unavailable, turn off fritz dect 200 netz [switch.fritz_dect_200_netz], wait 3 seconds, then turn it back on. If rpi sued [binary_sensor.rpi_sued] is on OR raspi3 last message [sensor.raspi3_last_message] is unavailable, turn off outlet repeater wz 018780fe on off [switch.outlet_repeater_wz_018780fe_on_off], wait 5 seconds, then turn it back on. Wait 45 seconds. If raspi3 last message [sensor.raspi3_last_message] is unavailable, run script.reboot_raspi3.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in four situations: when the home status [sensor.home_status] changes to 'Home' (indicating someone returned), when the entrance door [group.entrance_door] opens, at 6:00 AM every morning, or when the disable power automation [input_boolean.disable_power_automation] is turned off.",
|
|
"conditions": "For the automation to proceed, the disable power automation [input_boolean.disable_power_automation] must be off. Additionally, either someone must be home (home status [sensor.home_status] is 'Home') or the trigger must have been the entrance door [group.entrance_door] opening.",
|
|
"action": "The automation first toggles the Network Switch Off Automation [automation.switch_off_network] off and then on. It then powers on the main network switch [switch.fritz_dect_200_netz], waits, and sends an MQTT scan command. After further delays, it powers on a guest room switch [switch.fritz_dect_200_gz] and a living room outlet [switch.outlet_repeater_wz_018780fe_on_off]. It then checks the status of various Raspberry Pi devices: if raspi1 is unavailable, it reboots it. After another wait, it checks conditions to power-cycle the main network switch or the living room outlet if their associated Raspberry Pi sensors indicate issues or unavailability. Finally, if raspi3 is unavailable, it reboots it."
|
|
},
|
|
"human_like": "This automation powers on key network devices and Raspberry Pi units when someone returns home, the entrance door opens, or at 6 AM, and includes checks to reboot or power-cycle them if they are unresponsive.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "send_notification_powersensor_offline_2",
|
|
"result": {
|
|
"structured": "TRIGGER: When powermeter offline alert [binary_sensor.powermeter_offline_alert] becomes on AND remains for 180 seconds OR When bwk sued offline alert [binary_sensor.bwk_sued_offline_alert] becomes on AND remains for 180 seconds. CONDITIONS: None. ACTIONS: Turn on powermeter offline notification [input_boolean.powermeter_offline_notification] if the trigger was powermeter_offline, otherwise turn on bwk sued offline notification [input_boolean.bwk_sued_offline_notification]. Then, send a notification via notify.max with a title 'Smart Home Alarm' and a message: 'Der Stromzählersensor im Keller ist nicht erreichbar' if the trigger was powermeter_offline, otherwise 'Das Solarpanel ist offline. Vermutlich wurde der Schalter im Esszimmer ausgeschaltet'. The notification includes a subtitle 'Power-Sensor offline', a badge count from count notification alerts [sensor.count_notification_alerts], sound with volume 0.5, thread-id 'power-notification-group', apns-collapse-id 'power-sensor-offline', and a click action to '/lovelace/strom_analyse'.",
|
|
"natural_language": {
|
|
"trigger": "When the powermeter offline alert [binary_sensor.powermeter_offline_alert] has been active for three minutes, or when the bwk sued offline alert [binary_sensor.bwk_sued_offline_alert] has been active for three minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "First, it sets a flag to indicate the notification is active: it turns on the powermeter offline notification [input_boolean.powermeter_offline_notification] if the power meter triggered the alert, or turns on the bwk sued offline notification [input_boolean.bwk_sued_offline_notification] if the solar panel triggered the alert. Then, it sends a push notification via the 'notify.max' service with the title 'Smart Home Alarm'. The message depends on which sensor triggered: if it was the power meter, it says 'Der Stromzählersensor im Keller ist nicht erreichbar' (The electricity meter sensor in the basement is not reachable); if it was the solar panel, it says 'Das Solarpanel ist offline. Vermutlich wurde der Schalter im Esszimmer ausgeschaltet' (The solar panel is offline. The switch in the dining room was probably turned off). The notification includes a subtitle, a badge count based on the count notification alerts [sensor.count_notification_alerts], sound, groups the notifications together, and provides a link to the energy analysis dashboard when tapped."
|
|
},
|
|
"human_like": "Sends an alert notification when the power meter or solar panel sensor has been offline for three minutes, providing specific messages and linking to the energy dashboard.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "reset_notification_powersensor_offline",
|
|
"result": {
|
|
"structured": "TRIGGER: When a template evaluates to true for 1 second. The template checks that powermeter offline alert [binary_sensor.powermeter_offline_alert] is off AND bwk sued offline alert [binary_sensor.bwk_sued_offline_alert] is off. CONDITIONS: (powermeter offline notification [input_boolean.powermeter_offline_notification] is on AND powermeter offline alert [binary_sensor.powermeter_offline_alert] is off) OR (bwk sued offline notification [input_boolean.bwk_sued_offline_notification] is on AND bwk sued offline alert [binary_sensor.bwk_sued_offline_alert] is off). ACTIONS: Turn off powermeter offline notification [input_boolean.powermeter_offline_notification]; Turn off bwk sued offline notification [input_boolean.bwk_sued_offline_notification]; Send a notification via notify.max with title 'Smart Home ...', message 'Power-Sensoren wieder online.', and additional data including a badge count from count notification alerts [sensor.count_notification_alerts] and a thread ID.",
|
|
"natural_language": {
|
|
"trigger": "When both the powermeter offline alert [binary_sensor.powermeter_offline_alert] and the bwk sued offline alert [binary_sensor.bwk_sued_offline_alert] are in the 'off' state simultaneously, and this condition persists for at least one second.",
|
|
"conditions": "If either a notification for the powermeter sensor was previously sent (indicated by powermeter offline notification [input_boolean.powermeter_offline_notification] being 'on') and the powermeter offline alert is now 'off', or if a notification for the bwk sued sensor was previously sent (indicated by bwk sued offline notification [input_boolean.bwk_sued_offline_notification] being 'on') and the bwk sued offline alert is now 'off'.",
|
|
"action": "Clears the notification flags by turning off both the powermeter offline notification [input_boolean.powermeter_offline_notification] and the bwk sued offline notification [input_boolean.bwk_sued_offline_notification]. It then sends a push notification via notify.max with the message 'Power-Sensoren wieder online.' (Power sensors back online), including a badge count based on the sensor.count_notification_alerts entity."
|
|
},
|
|
"human_like": "Clears pending offline alerts and sends a notification when both power sensors are back online.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "reconnect_monitor_sensors",
|
|
"result": {
|
|
"structured": "TRIGGER: When max present w [sensor.max_present_w] OR ing present w [sensor.ing_present_w] becomes unavailable AND remains so for 5 seconds OR When max present o [sensor.max_present_o] OR ing present o [sensor.ing_present_o] becomes unavailable AND remains so for 5 seconds OR When max present s [sensor.max_present_s] OR ing present s [sensor.ing_present_s] becomes unavailable AND remains so for 5 seconds OR When rpi west [binary_sensor.rpi_west] OR rpi ost [binary_sensor.rpi_ost] OR rpi sued [binary_sensor.rpi_sued] changes from off to on. CONDITIONS: ((Trigger is mon_w_missing AND rpi west [binary_sensor.rpi_west] is on) OR (Trigger is mon_o_missing AND rpi ost [binary_sensor.rpi_ost] is on) OR (Trigger is mon_s_missing AND rpi sued [binary_sensor.rpi_sued] is on) OR Trigger is raspi_back_online). ACTIONS: Execute script script.restart_monitor.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers if any of the monitor sensors for a specific area (west, east, or south) become unavailable for at least 5 seconds, or if any of the Raspberry Pi binary sensors (rpi west [binary_sensor.rpi_west], rpi ost [binary_sensor.rpi_ost], or rpi sued [binary_sensor.rpi_sued]) come back online, changing from off to on.",
|
|
"conditions": "The automation runs only if the specific trigger matches the corresponding Raspberry Pi's online status. If a west monitor sensor trigger occurs, the rpi west [binary_sensor.rpi_west] must be on. If an east monitor sensor trigger occurs, the rpi ost [binary_sensor.rpi_ost] must be on. If a south monitor sensor trigger occurs, the rpi sued [binary_sensor.rpi_sued] must be on. Alternatively, the automation runs immediately if the trigger is a Raspberry Pi coming back online.",
|
|
"action": "Runs a script named script.restart_monitor, presumably to restart the monitor services."
|
|
},
|
|
"human_like": "Automatically restarts monitor services when they become unavailable or when the associated Raspberry Pi devices come back online.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "change_person_occupancy",
|
|
"result": {
|
|
"structured": "TRIGGER: When max home confidence [sensor.max_home_confidence] OR ing home confidence [sensor.ing_home_confidence] OR home confidence heidi [sensor.home_confidence_heidi] OR home confidence winfried [sensor.home_confidence_winfried] rises above 10 (turn_occupany_on) OR falls below 10 (turn_occupany_off). CONDITIONS: None. ACTIONS: Update the corresponding Bluetooth device tracker (iphone_max_bt, iphone_ing_bt, iphone_heidi_bt, or iphone_winfried_bt) to location 'home' if the trigger was turn_occupany_on, otherwise to 'not_home'.",
|
|
"natural_language": {
|
|
"trigger": "When any of the home confidence sensors (max home confidence [sensor.max_home_confidence], ing home confidence [sensor.ing_home_confidence], home confidence heidi [sensor.home_confidence_heidi], or home confidence winfried [sensor.home_confidence_winfried]) rises above 10 or falls below 10.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Based on which sensor triggered and whether the value crossed above or below the threshold, the corresponding Bluetooth device tracker for that person is updated to be either at 'home' or 'not_home'."
|
|
},
|
|
"human_like": "Updates each person's home/away status based on their Bluetooth presence confidence score crossing a threshold.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_bt_arrival_scan_area",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following sensors drops below 95: max present w [sensor.max_present_w] OR ing present w [sensor.ing_present_w] OR heidi present w [sensor.heidi_present_w] OR winfried present w [sensor.winfried_present_w] (trigger id: device_leaving_west) OR When any of the following sensors drops below 95: max present o [sensor.max_present_o] OR ing present o [sensor.ing_present_o] OR heidi present o [sensor.heidi_present_o] OR winfried present o [sensor.winfried_present_o] (trigger id: device_leaving_east) OR When any of the following sensors drops below 95: max present s [sensor.max_present_s] OR ing present s [sensor.ing_present_s] (trigger id: device_leaving_south). CONDITIONS: None. ACTIONS: Publish an MQTT message to topic 'monitor/scan/arrive' with a payload determined by the trigger id: '{\"data\" : \"west\"}' for device_leaving_west, '{\"data\" : \"ost\"}' for device_leaving_east, or '{\"data\" : \"south\"}' for device_leaving_south.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered when any of the presence sensors for a specific area falls below a value of 95. There are three separate trigger groups: one for the west area (max present w [sensor.max_present_w], ing present w [sensor.ing_present_w], heidi present w [sensor.heidi_present_w], winfried present w [sensor.winfried_present_w]), one for the east area (max present o [sensor.max_present_o], ing present o [sensor.ing_present_o], heidi present o [sensor.heidi_present_o], winfried present o [sensor.winfried_present_o]), and one for the south area (max present s [sensor.max_present_s], ing present s [sensor.ing_present_s]).",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "The automation publishes an MQTT message to the topic 'monitor/scan/arrive'. The payload of the message indicates which area triggered the event: 'west' for the west area, 'ost' for the east area, or 'south' for the south area."
|
|
},
|
|
"human_like": "This automation initiates a Bluetooth arrival scan for a specific area of the home when a person's presence level in that area drops, signaling they may be leaving.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_bt_departure_scan_area",
|
|
"result": {
|
|
"structured": "TRIGGER: When entity *id002 remains below 10 for 15 seconds OR when entity *id003 remains below 10 for 15 seconds. CONDITIONS: None. ACTIONS: Publish a message to the MQTT topic 'monitor/scan/depart' with a payload determined by mapping the trigger ID to a value from the variable id_payload_map.",
|
|
"natural_language": {
|
|
"trigger": "When the signal strength from a device tracked by entity *id002 drops and stays below 10 for 15 seconds, or when the signal strength from a device tracked by entity *id003 drops and stays below 10 for 15 seconds.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Sends a command to start a Bluetooth departure scan by publishing a message to the MQTT topic 'monitor/scan/depart'. The specific payload of the message is calculated based on which trigger fired, using a predefined mapping stored in the variable id_payload_map."
|
|
},
|
|
"human_like": "Initiates a Bluetooth scan to detect when a device is leaving an area, triggered by a sustained drop in signal strength from either of two sensors.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_bt_arrival_scan",
|
|
"result": {
|
|
"structured": "TRIGGER: When iphonemax13 wifi [device_tracker.iphonemax13_wifi] changes state from not_home to home OR When iphone8 ing wifi [device_tracker.iphone8_ing_wifi] changes state from not_home to home OR When entrance door [group.entrance_door] becomes on and remains for 1 second. CONDITIONS: None. ACTIONS: Publish an empty payload to MQTT topic 'monitor/scan/arrive'.",
|
|
"natural_language": {
|
|
"trigger": "When either the iphonemax13 wifi [device_tracker.iphonemax13_wifi] or the iphone8 ing wifi [device_tracker.iphone8_ing_wifi] arrives home (changes state from not_home to home), or when the entrance door [group.entrance_door] is turned on and remains in that state for one second.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a message to the MQTT broker on the topic 'monitor/scan/arrive' with an empty payload."
|
|
},
|
|
"human_like": "Initiates an arrival scan when a family phone arrives home or the entrance door is opened.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_bt_departure_scan",
|
|
"result": {
|
|
"structured": "TRIGGER: When *id005 [*id005] changes state from home to not_home OR When entrance door [group.entrance_door] remains off for 20 seconds. CONDITIONS: (trigger.id is door) OR (trigger.id is wifi AND fritz dect 200 netz [switch.fritz_dect_200_netz] is on). ACTIONS: Publish an empty payload to MQTT topic monitor/scan/depart, wait 40 seconds, publish again, wait 60 seconds, and publish a third time.",
|
|
"natural_language": {
|
|
"trigger": "When the entity *id005 [*id005] changes from being at home to not being at home, or when the entrance door [group.entrance_door] remains closed (off) for at least 20 seconds.",
|
|
"conditions": "The automation only proceeds if the trigger was the door being closed for 20 seconds, or if the trigger was the WiFi status change and the fritz dect 200 netz [switch.fritz_dect_200_netz] is currently switched on.",
|
|
"action": "Sends a start signal for a departure scan by publishing an empty message to the MQTT topic 'monitor/scan/depart'. It sends this signal three times, with a 40-second delay after the first, and a 60-second delay after the second."
|
|
},
|
|
"human_like": "Initiates a Bluetooth departure scan when someone leaves the WiFi network or the entrance door is closed, provided certain conditions are met.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "personstatus_last_changed_date_and_time",
|
|
"result": {
|
|
"structured": "TRIGGER: When max status dropdown [input_select.max_status_dropdown] OR ing status dropdown [input_select.ing_status_dropdown] OR home status dropdown [input_select.home_status_dropdown] changes state. CONDITIONS: None. ACTIONS: For the triggering entity, set the corresponding input_datetime entity (derived by appending '_last_changed' to the entity name after removing 'input_select.') to the current date and time.",
|
|
"natural_language": {
|
|
"trigger": "When any of the three status dropdowns—max status dropdown [input_select.max_status_dropdown], ing status dropdown [input_select.ing_status_dropdown], or home status dropdown [input_select.home_status_dropdown]—changes its selected value.",
|
|
"conditions": "There are no additional conditions; the automation runs immediately upon any trigger.",
|
|
"action": "For the specific dropdown that triggered the automation, it records the current date and time into a corresponding input_datetime helper. The helper's name is formed by taking the triggering entity's name, removing the 'input_select.' prefix, and adding '_last_changed' (e.g., for 'input_select.max_status_dropdown', it updates 'input_datetime.max_status_dropdown_last_changed')."
|
|
},
|
|
"human_like": "Records the last time a person's status dropdown is changed, keeping a timestamp for each person.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "person_and_homestatus_correction",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR at 00:30:00 daily OR at 06:10:00 daily. CONDITIONS: raspi1 last message [sensor.raspi1_last_message] is not 'unavailable' AND raspi2 last message [sensor.raspi2_last_message] is not 'unavailable'. ACTIONS: Publish an empty payload to MQTT topic 'monitor/scan/restart'. Wait 30 seconds. Publish payload 'on' to MQTT topic 'monitor/ost/KNOWN DEVICE STATES'. Publish payload 'on' to MQTT topic 'monitor/west/KNOWN DEVICE STATES'. Wait 10 seconds. Update max status dropdown [input_select.max_status_dropdown] based on a template: If phone max [group.phone_max] is 'home' or 'on', then set to 'Home' if current status is 'Just Arrived' or 'Just Left', else set to 'Just Arrived' if current status is 'Away' or 'Extended Away', else set to 'Home'. If phone max [group.phone_max] is not 'home' or 'on', then set to 'Away' if current status is 'Just Left', else set to 'Just Left' if current status is 'Home' or 'Just Arrived', else set to 'Extended Away' if current status is 'Away' AND the time since max status dropdown last changed [input_datetime.max_status_dropdown_last_changed] is 24 hours or more, else set to 'Extended Away' if current status is 'Extended Away', else set to 'Away'. Update ing status dropdown [input_select.ing_status_dropdown] based on an identical template using phone ing [group.phone_ing] and ing status dropdown last changed [input_datetime.ing_status_dropdown_last_changed]. Update home status dropdown [input_select.home_status_dropdown] based on a template: If current status is 'Away' or 'Extended Away' AND the time since home status dropdown last changed [input_datetime.home_status_dropdown_last_changed] is 24 hours or more, set to 'Extended Away', else keep the current status. If current status is not 'Away' or 'Extended Away', keep the current status.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs when Home Assistant first starts, or at 12:30 AM, or at 6:10 AM every day.",
|
|
"conditions": "It only proceeds if both the raspi1 last message [sensor.raspi1_last_message] and raspi2 last message [sensor.raspi2_last_message] sensors are reporting a value other than 'unavailable'.",
|
|
"action": "First, it sends a restart command via MQTT. After a 30-second delay, it sends commands to activate known device state monitoring for two zones. After another 10-second delay, it updates the status dropdowns for two people (Max and Ing) and the overall home status. For each person, it checks if their phone group indicates they are home. If they are home, it sets their status to 'Home' or 'Just Arrived' depending on their previous state. If they are not home, it sets their status to 'Away', 'Just Left', or 'Extended Away', with 'Extended Away' being applied if they have been away for more than 24 hours. The home status is updated to 'Extended Away' if it has been 'Away' or 'Extended Away' for over 24 hours; otherwise, it remains unchanged."
|
|
},
|
|
"human_like": "This automation corrects the status of people and the home at startup and scheduled times, ensuring device monitoring is active and updating presence states based on phone connectivity and elapsed time.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "mark_person_as_just_arrived",
|
|
"result": {
|
|
"structured": "TRIGGER: When phone max [group.phone_max] changes state from not_home to home OR When phone ing [group.phone_ing] changes state from not_home to home OR When phone max [group.phone_max] changes state from off to on OR When phone ing [group.phone_ing] changes state from off to on. CONDITIONS: None. ACTIONS: For the triggering entity, map to its corresponding status dropdown (phone max → max status dropdown [input_select.max_status_dropdown], phone ing → ing status dropdown [input_select.ing_status_dropdown]). Set the dropdown option to 'Home' if its current state is 'Home' or 'Just Left', otherwise set it to 'Just Arrived'.",
|
|
"natural_language": {
|
|
"trigger": "When either the phone max [group.phone_max] or phone ing [group.phone_ing] group changes its state to 'home' from 'not_home', or changes its state to 'on' from 'off'.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Based on which group triggered the automation, the corresponding status dropdown is updated. If the dropdown's current value is 'Home' or 'Just Left', it is set to 'Home'. Otherwise, it is set to 'Just Arrived'."
|
|
},
|
|
"human_like": "Updates a person's status to 'Just Arrived' or 'Home' when their phone is detected as arriving home or turning on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mark_person_as_just_left",
|
|
"result": {
|
|
"structured": "TRIGGER: When *id006 [*id006] changes from home to not_home OR When *id006 [*id006] changes from on to off. CONDITIONS: None. ACTIONS: Set the input_select entity referenced by the device_map variable for the triggering entity to the 'Just Left' option.",
|
|
"natural_language": {
|
|
"trigger": "When the entity *id006 [*id006] changes its state from 'home' to 'not_home', or when it changes from 'on' to 'off'.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation looks up the corresponding input_select entity from a device map using the ID of the entity that triggered the automation. It then sets that input_select entity to the 'Just Left' option."
|
|
},
|
|
"human_like": "Marks a person as having 'Just Left' when their device or tracker status changes from home or on to away or off.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mark_person_as_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When max status dropdown [input_select.max_status_dropdown] OR ing status dropdown [input_select.ing_status_dropdown] remains in the state 'Just Arrived' for 10 minutes OR When max status dropdown [input_select.max_status_dropdown] OR ing status dropdown [input_select.ing_status_dropdown] changes from 'Just Left' to 'Just Arrived'. CONDITIONS: None. ACTIONS: Set the triggering entity (max status dropdown [input_select.max_status_dropdown] OR ing status dropdown [input_select.ing_status_dropdown]) to the option 'Home'.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in two ways: first, if either the max status dropdown [input_select.max_status_dropdown] or the ing status dropdown [input_select.ing_status_dropdown] stays on 'Just Arrived' for 10 minutes. Second, if either of those dropdowns changes from 'Just Left' to 'Just Arrived'.",
|
|
"conditions": "There are no conditions to check.",
|
|
"action": "Sets the specific dropdown that triggered the automation to the 'Home' option."
|
|
},
|
|
"human_like": "Updates a person's status to 'Home' after they arrive or have been in the 'Just Arrived' state for 10 minutes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "mark_person_as_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When *id008 remains in state 'Just Left' for 10 minutes. CONDITIONS: None. ACTIONS: Set the entity *id008 to the 'Away' option.",
|
|
"natural_language": {
|
|
"trigger": "When the entity *id008 has been in the 'Just Left' state for 10 minutes.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Sets the entity *id008 to the 'Away' option."
|
|
},
|
|
"human_like": "Marks a person as 'Away' if they have been 'Just Left' for 10 minutes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "mark_person_as_extended_away",
|
|
"result": {
|
|
"structured": "TRIGGER: When *id008 remains in state 'Away' for 24 hours. CONDITIONS: None. ACTIONS: Set the input_select entity *id008 to the option 'Extended Away'.",
|
|
"natural_language": {
|
|
"trigger": "When the entity *id008 has been in the 'Away' state for a continuous period of 24 hours.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Changes the state of the same entity, *id008, to the option 'Extended Away'."
|
|
},
|
|
"human_like": "Changes a person's status to 'Extended Away' after they have been away for a full day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "set_home_status_leaving",
|
|
"result": {
|
|
"structured": "TRIGGER: When n people home [sensor.n_people_home] falls below 1. CONDITIONS: home status dropdown [input_select.home_status_dropdown] is set to Home. ACTIONS: Set home status dropdown [input_select.home_status_dropdown] to Away.",
|
|
"natural_language": {
|
|
"trigger": "When the number of people at home, as tracked by n people home [sensor.n_people_home], drops below one.",
|
|
"conditions": "The current home status, shown in home status dropdown [input_select.home_status_dropdown], must be set to 'Home'.",
|
|
"action": "Changes the home status to 'Away' by updating home status dropdown [input_select.home_status_dropdown]."
|
|
},
|
|
"human_like": "Automatically sets the home status to 'Away' when everyone has left the house.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "set_home_status_arriving",
|
|
"result": {
|
|
"structured": "TRIGGER: When n people home [sensor.n_people_home] changes state. CONDITIONS: The new integer state of n people home [sensor.n_people_home] is greater than its previous integer state. ACTIONS: Set home status dropdown [input_select.home_status_dropdown] to the option 'Home'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor tracking the number of people at home, n people home [sensor.n_people_home], changes its value.",
|
|
"conditions": "The condition is met only if the new number of people at home is greater than the previous number.",
|
|
"action": "Sets the home status dropdown [input_select.home_status_dropdown] to 'Home'."
|
|
},
|
|
"human_like": "Sets the home status to 'Home' when someone arrives, increasing the count of people at home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "set_home_status_vacation",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status dropdown [input_select.home_status_dropdown] changes to the state 'Away' AND remains in that state for 24 hours. CONDITIONS: None. ACTIONS: Set home status dropdown [input_select.home_status_dropdown] to the option 'Extended Away'.",
|
|
"natural_language": {
|
|
"trigger": "When the home status dropdown [input_select.home_status_dropdown] is set to 'Away' and stays on that setting for a full 24 hours.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Changes the home status dropdown [input_select.home_status_dropdown] selection to 'Extended Away'."
|
|
},
|
|
"human_like": "Automatically changes the home status from 'Away' to 'Extended Away' after being away for a full day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "update_cert_expiry_on_reboot",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts. CONDITIONS: None. ACTIONS: Wait for 50 seconds, then update the cert expiry timestamp hera [sensor.cert_expiry_timestamp_hera] entity.",
|
|
"natural_language": {
|
|
"trigger": "When Home Assistant finishes starting up.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "After waiting for 50 seconds, the automation refreshes the data for the cert expiry timestamp hera [sensor.cert_expiry_timestamp_hera] sensor."
|
|
},
|
|
"human_like": "Refreshes the certificate expiry sensor shortly after Home Assistant restarts.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_start_roomcleaning",
|
|
"result": {
|
|
"structured": "TRIGGER: When vacuum room [input_select.vacuum_room] changes state from 'Bitte auswählen'. CONDITIONS: None. ACTIONS: Execute script script.vacuum_room with data variable my_roomname set to the current state of vacuum room [input_select.vacuum_room].",
|
|
"natural_language": {
|
|
"trigger": "When the vacuum room [input_select.vacuum_room] selection changes from the default 'Bitte auswählen' (Please select) option.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Starts the room cleaning process by running the script script.vacuum_room, passing the newly selected room name from the dropdown as the parameter 'my_roomname'."
|
|
},
|
|
"human_like": "Starts cleaning a specific room when a user selects it from a dropdown menu.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_start_cleanup",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes from Home to Away AND remains Away for 2 minutes OR at 08:02:00 daily OR when disable automatic vacuum [input_boolean.disable_automatic_vacuum] turns off OR when automatic vacuum when home [input_boolean.automatic_vacuum_when_home] turns on AND remains on for 5 seconds OR when xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] becomes available (from unavailable). CONDITIONS: (xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is NOT unavailable) AND (disable automatic vacuum [input_boolean.disable_automatic_vacuum] is off) AND (automatic vacuum first run [input_boolean.automatic_vacuum_first_run] is off) AND (current time is Monday, Tuesday, Thursday, or Friday AND between 08:00:00 and 17:00:00) AND (home status [sensor.home_status] is Extended Away) AND ((home status [sensor.home_status] is Away) OR (automatic vacuum when home [input_boolean.automatic_vacuum_when_home] is on)). ACTIONS: Wait 5 seconds. Then, if it's Monday or Tuesday, run script.vacuum_all; if it's Thursday or Friday, run script.vacuum_room with room parameter 'Kü,Sz,B (auto)'. Wait 10 seconds. Turn on automatic vacuum first run [input_boolean.automatic_vacuum_first_run]. Send a notification to family_main_devices with a title 'Automatisierung Saug-E' and a message that depends on the day (full or partial cleanup). Wait for a duration based on the cleanup area (1 hour 50 minutes for full, 45 minutes for partial). Turn on alert dustbin full [input_boolean.alert_dustbin_full].",
|
|
"natural_language": {
|
|
"trigger": "The automation can start in several ways: when the home status [sensor.home_status] changes from 'Home' to 'Away' and stays 'Away' for two minutes; at 08:02 every morning; when the disable automatic vacuum [input_boolean.disable_automatic_vacuum] is turned off; when the automatic vacuum when home [input_boolean.automatic_vacuum_when_home] is turned on and stays on for five seconds; or when the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] becomes available again after being unavailable.",
|
|
"conditions": "For the automation to proceed, several conditions must be met: the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] must not be unavailable; the disable automatic vacuum [input_boolean.disable_automatic_vacuum] must be off; the automatic vacuum first run [input_boolean.automatic_vacuum_first_run] must be off; the current day must be Monday, Tuesday, Thursday, or Friday, and the time must be between 08:00 and 17:00; the home status [sensor.home_status] must be 'Extended Away'; and finally, either the home status [sensor.home_status] is 'Away' or the automatic vacuum when home [input_boolean.automatic_vacuum_when_home] is on.",
|
|
"action": "After a 5-second delay, the automation will start a vacuuming routine. On Mondays and Tuesdays, it runs a full house cleaning script (script.vacuum_all). On Thursdays and Fridays, it runs a partial cleaning script (script.vacuum_room) for the kitchen, bedroom, and bathroom. After another 10-second delay, it marks the first run as complete by turning on automatic vacuum first run [input_boolean.automatic_vacuum_first_run]. It then sends a notification to family devices explaining which cleaning routine started. After waiting for the expected cleaning duration (1 hour 50 minutes for a full clean, 45 minutes for a partial clean), it turns on an alert for a full dustbin (alert dustbin full [input_boolean.alert_dustbin_full])."
|
|
},
|
|
"human_like": "This automation starts the robot vacuum on a schedule or when the home status changes, but only if it's a weekday, the vacuum is available, and automatic cleaning isn't disabled. It then runs a full or partial clean depending on the day and notifies the family.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "vacuum_reset_first_run",
|
|
"result": {
|
|
"structured": "TRIGGER: At 00:30:00. CONDITIONS: Day is Monday OR Wednesday OR Thursday OR Saturday OR Sunday. ACTIONS: Turn off automatic vacuum first run [input_boolean.automatic_vacuum_first_run].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 12:30 AM.",
|
|
"conditions": "The day of the week must be Monday, Wednesday, Thursday, Saturday, or Sunday.",
|
|
"action": "Turns off the automatic vacuum first run [input_boolean.automatic_vacuum_first_run]."
|
|
},
|
|
"human_like": "Resets the vacuum's first-run status on most weeknights at 12:30 AM.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "send_alert_after_automatic_vacuum_to_empty_dustbin",
|
|
"result": {
|
|
"structured": "TRIGGER: When home status [sensor.home_status] changes to Home and remains for 1 minute OR When disable dustbin notification [input_boolean.disable_dustbin_notification] changes to off OR When xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] changes to docked. CONDITIONS: (home status [sensor.home_status] is Home) AND (alert dustbin full [input_boolean.alert_dustbin_full] is on) AND (disable dustbin notification [input_boolean.disable_dustbin_notification] is off) AND (time is after 07:30:00 AND before 23:00:00) AND (automation.send_alert_after_automatic_vacuum_to_empty_dustbin last triggered more than 1800 seconds ago OR it has never been triggered) AND (xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is docked). ACTIONS: Send a notification with title 'Staubbehälter leeren' and message 'Nach dem automatischen Saugen den Staubbehälter von Saug-E leeren.' to notify.family_main_devices if both max status [sensor.max_status] and ing status [sensor.ing_status] are Home or Just Arrived, else to notify.max if only max status [sensor.max_status] is Home or Just Arrived, else to notify.ing if only ing status [sensor.ing_status] is Home or Just Arrived, else to notify.max.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the home status [sensor.home_status] becomes 'Home' and stays that way for at least one minute, or when the disable dustbin notification [input_boolean.disable_dustbin_notification] is turned off, or when the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] returns to its dock.",
|
|
"conditions": "All of the following must be true: the home status [sensor.home_status] is 'Home', the alert dustbin full [input_boolean.alert_dustbin_full] is on, the disable dustbin notification [input_boolean.disable_dustbin_notification] is off, the current time is between 07:30 and 23:00, the automation itself has not been triggered in the last 30 minutes (or has never been triggered before), and the xiaomi vacuum cleaner [vacuum.xiaomi_vacuum_cleaner] is docked.",
|
|
"action": "Sends a push notification titled 'Staubbehälter leeren' with the message 'Nach dem automatischen Saugen den Staubbehälter von Saug-E leeren.' The notification is sent to a group of family devices if both max status [sensor.max_status] and ing status [sensor.ing_status] are at home or just arrived. Otherwise, it is sent to max's device if only max is home, or to ing's device if only ing is home. If neither is home, it defaults to sending the notification to max."
|
|
},
|
|
"human_like": "Sends a reminder to empty the vacuum's dustbin after an automatic cleaning cycle, but only when someone is home, the alert is enabled, and it hasn't been sent recently.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "send_notification_vacuum_error",
|
|
"result": {
|
|
"structured": "TRIGGER: When alert vacuum error [binary_sensor.alert_vacuum_error] changes to 'on' AND remains in that state for 6 seconds. CONDITIONS: alert vacuum error [binary_sensor.alert_vacuum_error] is 'on'. ACTIONS: Send a notification to family_main_devices with title 'Smart Home Alerts' and message 'Saug-E hat einen Fehlerstatus.', including a subtitle 'Saug-E Error', a dynamic badge count from count notification alerts [sensor.count_notification_alerts], a thread-id 'vacuum-notification-group', an apns-collapse-id 'vacuum-error-detected', and a click action '/lovelace/vacuum'.",
|
|
"natural_language": {
|
|
"trigger": "When the alert vacuum error [binary_sensor.alert_vacuum_error] sensor turns on and stays on for 6 seconds.",
|
|
"conditions": "The alert vacuum error [binary_sensor.alert_vacuum_error] sensor must be in the 'on' state.",
|
|
"action": "Sends a push notification titled 'Smart Home Alerts' with the message 'Saug-E hat einen Fehlerstatus.' to the family_main_devices group. The notification includes a subtitle 'Saug-E Error', a badge count based on the count notification alerts [sensor.count_notification_alerts] sensor, groups related notifications under 'vacuum-notification-group', and opens the vacuum dashboard when tapped."
|
|
},
|
|
"human_like": "Sends an alert to family devices when the vacuum cleaner reports an error.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "reset_notification_vacuum_error",
|
|
"result": {
|
|
"structured": "TRIGGER: When alert vacuum error [binary_sensor.alert_vacuum_error] changes from on to off. CONDITIONS: alert vacuum error [binary_sensor.alert_vacuum_error] is off. ACTIONS: Send a notification to family_main_devices with title 'Smart Home ...' and message 'Saug-E Fehler behoben.', including push badge data from count notification alerts [sensor.count_notification_alerts] and specifying a thread-id and apns-collapse-id for grouping.",
|
|
"natural_language": {
|
|
"trigger": "When the alert vacuum error [binary_sensor.alert_vacuum_error] changes from an 'on' (error) state to an 'off' (no error) state.",
|
|
"conditions": "The alert vacuum error [binary_sensor.alert_vacuum_error] must be in the 'off' state.",
|
|
"action": "Sends a push notification to the family's main devices, announcing that the vacuum error has been resolved. The notification includes a badge count from the count notification alerts [sensor.count_notification_alerts] sensor and is grouped with other vacuum-related notifications."
|
|
},
|
|
"human_like": "Sends a notification to the family when a vacuum cleaner error has been cleared.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "send_notification_dwd_warning",
|
|
"result": {
|
|
"structured": "TRIGGER: When dwd current warn count [sensor.dwd_current_warn_count] changes state OR When dwd weather warnings current warning level [sensor.dwd_weather_warnings_current_warning_level] changes state. CONDITIONS: (dwd current warn count [sensor.dwd_current_warn_count] state as integer is greater than 0) AND (dwd weather alert [input_boolean.dwd_weather_alert] is off) AND ((dwd max warn level [sensor.dwd_max_warn_level] state as integer is greater than or equal to 3) OR (dwd current warn level sturm [sensor.dwd_current_warn_level_sturm] state as integer is greater than or equal to 2) OR (dwd current warn level gewitter [sensor.dwd_current_warn_level_gewitter] state as integer is greater than or equal to 2)). ACTIONS: Turn on dwd weather alert [input_boolean.dwd_weather_alert] AND Turn on Send DWD Warning Mail Script [script.send_dwd_warn_mail].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when there is a change in the count of current weather warnings [sensor.dwd_current_warn_count] or when the current overall warning level [sensor.dwd_weather_warnings_current_warning_level] changes.",
|
|
"conditions": "The automation runs only if there is at least one active weather warning, the weather alert flag [input_boolean.dwd_weather_alert] is currently off, and at least one of the following severity conditions is met: the maximum warning level [sensor.dwd_max_warn_level] is 3 or higher, the storm warning level [sensor.dwd_current_warn_level_sturm] is 2 or higher, or the thunderstorm warning level [sensor.dwd_current_warn_level_gewitter] is 2 or higher.",
|
|
"action": "It activates the weather alert by turning on the dwd weather alert [input_boolean.dwd_weather_alert] and then runs a script to send a warning email via the Send DWD Warning Mail Script [script.send_dwd_warn_mail]."
|
|
},
|
|
"human_like": "Sends a weather alert email when severe weather warnings are issued, but only if an alert hasn't already been sent for the current event.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "reset_notification_dwd_warning",
|
|
"result": {
|
|
"structured": "TRIGGER: When the template condition 'dwd current warn count [sensor.dwd_current_warn_count] equals 0 AND dwd weather alert [input_boolean.dwd_weather_alert] is on' remains true for 1 second. CONDITIONS: None. ACTIONS: Turn off dwd weather alert [input_boolean.dwd_weather_alert] AND send a notification to max with title 'Smart Home ...', message 'delete_alert', and data including badge count from count notification alerts [sensor.count_notification_alerts] and thread-id 'wather-notification-group'.",
|
|
"natural_language": {
|
|
"trigger": "When the sensor dwd current warn count [sensor.dwd_current_warn_count] shows zero active warnings and the input boolean dwd weather alert [input_boolean.dwd_weather_alert] is turned on, and this combined state persists for at least one second.",
|
|
"conditions": "There are no additional conditions.",
|
|
"action": "Turns off the dwd weather alert [input_boolean.dwd_weather_alert] and sends a notification to the device 'max' with a title 'Smart Home ...', a message 'delete_alert', and additional data including a badge count based on the sensor count notification alerts [sensor.count_notification_alerts] and a thread identifier for grouping weather notifications."
|
|
},
|
|
"human_like": "Clears the weather alert status and sends a notification when there are no more active weather warnings.",
|
|
"complexity": "low"
|
|
}
|
|
}
|
|
] |