2147 lines
240 KiB
JSON
2147 lines
240 KiB
JSON
[
|
|
{
|
|
"id": "alarm_triggered",
|
|
"result": {
|
|
"structured": "TRIGGER: When intrusion detection system [alarm_control_panel.intrusion_detection_system] changes state to triggered. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Execute script notify with domain 'alarm' and message 'Alarm ausgelöst.'.",
|
|
"natural_language": {
|
|
"trigger": "When the intrusion detection system [alarm_control_panel.intrusion_detection_system] is triggered.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be turned on.",
|
|
"action": "Runs a notification script for the alarm domain with the message 'Alarm ausgelöst.'."
|
|
},
|
|
"human_like": "Sends an alarm notification when the intrusion detection system is triggered, but only if the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_arm",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] remains not_home for a duration defined by the value of input_number.alarm_arming_after. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND alarm activated [binary_sensor.alarm_activated] is on. ACTIONS: Arm the intrusion detection system [alarm_control_panel.intrusion_detection_system] to away mode AND execute the script notify with data domain: alarm and message: 'Alarmsystem aktiviert.'.",
|
|
"natural_language": {
|
|
"trigger": "When the family group [group.family] has been in the 'not_home' state for a specific amount of time. This time is determined by the value of an input number entity named 'input_number.alarm_arming_after'.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is turned on and the alarm activated [binary_sensor.alarm_activated] sensor is also on.",
|
|
"action": "The system arms the intrusion detection system [alarm_control_panel.intrusion_detection_system] in 'away' mode and then sends a notification via a script to announce that the alarm system has been activated."
|
|
},
|
|
"human_like": "Automatically arms the home alarm system when everyone has been away for a set time, provided the alarm is enabled and the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_disarm",
|
|
"result": {
|
|
"structured": "TRIGGER: When entry door lock [lock.eingangstur] changes from locked to unlocked. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND intrusion detection system [alarm_control_panel.intrusion_detection_system] is armed_away. ACTIONS: Disarm intrusion detection system [alarm_control_panel.intrusion_detection_system] AND run script notify with domain 'alarm' and message 'Alarmsystem deaktiviert.'.",
|
|
"natural_language": {
|
|
"trigger": "When the entry door lock [lock.eingangstur] is unlocked.",
|
|
"conditions": "If the production mode [binary_sensor.prod_mode] is active and the intrusion detection system [alarm_control_panel.intrusion_detection_system] is set to armed away.",
|
|
"action": "Disarms the intrusion detection system [alarm_control_panel.intrusion_detection_system] and sends a notification via a script with the message 'Alarmsystem deaktiviert.'."
|
|
},
|
|
"human_like": "Automatically disarms the house alarm when the entry door is unlocked, provided the system is in production mode and the alarm is armed away.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "alarm_state_changed",
|
|
"result": {
|
|
"structured": "TRIGGER: When the state of intrusion detection system [alarm_control_panel.intrusion_detection_system] changes. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Execute script notify [script.notify] with data domain 'alarm' and message 'Neuer Status Alarmanlage: {{ states ( ''alarm_control_panel.intrusion_detection_system'' ) }}.'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the intrusion detection system [alarm_control_panel.intrusion_detection_system] changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "It triggers a notification script [script.notify] to send a message stating the new status of the alarm system."
|
|
},
|
|
"human_like": "Sends a notification whenever the alarm system's state changes, but only when the house is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "bambulab_light",
|
|
"result": {
|
|
"structured": "TRIGGER: When druckraumbeleuchtung [light.x1c_00m09a410500788_druckraumbeleuchtung] OR druckstatus [sensor.x1c_00m09a410500788_druckstatus] OR aktueller arbeitsschritt [sensor.x1c_00m09a410500788_aktueller_arbeitsschritt] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: IF druckraumbeleuchtung [light.x1c_00m09a410500788_druckraumbeleuchtung] is on AND druckstatus [sensor.x1c_00m09a410500788_druckstatus] is NOT offline THEN choose the first matching case: 1) IF aktueller arbeitsschritt [sensor.x1c_00m09a410500788_aktueller_arbeitsschritt] is paused_filament_runout OR paused_front_cover_falling OR paused_nozzle_temperature_malfunction OR paused_heat_bed_temperature_malfunction OR paused_ams_lost OR paused_chamber_temperature_control_error OR paused_nozzle_filament_covered_detected OR paused_first_layer_error OR paused_low_fan_speed_heat_break OR paused_skipped_step OR paused_cutter_error OR paused_nozzle_clog OR unknown OR offline THEN turn on ws2812 x1c [light.ws2812_x1c] with red blinking light. 2) IF druckstatus [sensor.x1c_00m09a410500788_druckstatus] is finish THEN turn on ws2812 x1c [light.ws2812_x1c] with green static light, wait for 2 minutes, then turn on ws2812 x1c [light.ws2812_x1c] with white static light. 3) IF aktueller arbeitsschritt [sensor.x1c_00m09a410500788_aktueller_arbeitsschritt] is auto_bed_leveling OR scanning_bed_surface OR cleaning_nozzle_tip OR calibrating_extrusion OR calibrating_extrusion_flow OR calibrating_motor_noise OR inspecting_first_layer OR sweeping_xy_mech_mode OR calibrating_micro_lidar OR homing_toolhead OR identifying_build_plate_type THEN turn on ws2812 x1c [light.ws2812_x1c] with blue static light. 4) IF aktueller arbeitsschritt [sensor.x1c_00m09a410500788_aktueller_arbeitsschritt] is heatbed_preheating OR heating_hotend THEN turn on ws2812 x1c [light.ws2812_x1c] with orange static light. 5) IF aktueller arbeitsschritt [sensor.x1c_00m09a410500788_aktueller_arbeitsschritt] is filament_loading OR filament_unloading THEN turn on ws2812 x1c [light.ws2812_x1c] with magenta blinking light. 6) IF aktueller arbeitsschritt [sensor.x1c_00m09a410500788_aktueller_arbeitsschritt] is cooling_chamber THEN turn on ws2812 x1c [light.ws2812_x1c] with blue static light. 7) OTHERWISE (default) turn on ws2812 x1c [light.ws2812_x1c] with white static light. ELSE (if chamber light is off or printer is offline) turn off ws2812 x1c [light.ws2812_x1c].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the printer's chamber light, its overall status, or its current work step changes.",
|
|
"conditions": "The automation only runs if the production mode is active.",
|
|
"action": "If the printer's chamber light is on and the printer is not offline, the automation sets a status light to different colors and effects based on the printer's state. For critical errors or unknown states, it shows a blinking red light. When a print finishes, it shows a solid green light for two minutes before switching to solid white. For calibration and preparation steps, it shows a solid blue light. For heating phases, it shows a solid orange light. For filament loading or unloading, it shows a blinking magenta light. For chamber cooling, it shows a solid blue light. For any other normal operating state, it shows a solid white light. If the chamber light is off or the printer is offline, the status light is turned off."
|
|
},
|
|
"human_like": "Controls a status light for a 3D printer, showing different colors to indicate its current state (like printing, error, or idle) and turns the light off when the printer is not in use.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_schedule",
|
|
"result": {
|
|
"structured": "TRIGGER: Every 5 minutes OR family group [group.family] becomes home OR climate target temperature [input_number.climate_target_temperature], climate min forecast temperature [input_number.climate_min_forecast_temperature], climate min forecast temperature sunny [input_number.climate_min_forecast_temperature_sunny], climate min outdoor temperature [input_number.climate_min_outdoor_temperature], or boiler outside temperature [sensor.boiler_outside_temperature] change state OR fenster schlafzimmer [binary_sensor.fenster_schlafzimmer], dachfenster schlafzimmer [binary_sensor.dachfenster_schlafzimmer], fenster kinderzimmer [binary_sensor.fenster_kinderzimmer], dachfenster kinderzimmer [binary_sensor.dachfenster_kinderzimmer], fenster arbeitszimmer [binary_sensor.fenster_arbeitszimmer], or dachfenster arbeitszimmer [binary_sensor.dachfenster_arbeitszimmer] are closed (off) for 10 seconds. CONDITIONS: climate activated [input_boolean.climate_activated] is on AND current time is after climate startperiode begin [input_datetime.climate_startperiode_begin] and before climate startperiode end [input_datetime.climate_startperiode_end] AND family group [group.family] is home AND sh10rt master battery level [sensor.sh10rt_master_battery_level] is above climate min battery level [input_number.climate_min_battery_level] AND total dc power [sensor.total_dc_power] is above climate min pv generation [input_number.climate_min_pv_generation] AND ((openweathermap forecast condition [sensor.openweathermap_forecast_condition] is NOT sunny AND openweathermap forecast temperature [sensor.openweathermap_forecast_temperature] is above climate min forecast temperature [input_number.climate_min_forecast_temperature]) OR (openweathermap forecast condition [sensor.openweathermap_forecast_condition] is sunny AND openweathermap forecast temperature [sensor.openweathermap_forecast_temperature] is above climate min forecast temperature sunny [input_number.climate_min_forecast_temperature_sunny])) AND boiler outside temperature [sensor.boiler_outside_temperature] is above climate min outdoor temperature [input_number.climate_min_outdoor_temperature]. ACTIONS: For each room (office/arbeitszimmer, bedroom/schlafzimmer, nursery/kinderzimmer): IF the corresponding climate start boolean [input_boolean.climate_start_<climate>] is on AND the climate scheduled boolean [input_boolean.climate_<climate>_scheduled] is off AND (the climate entity [climate.<climate>] is off OR the room's air conditioner switch [switch.klimaanlage_<room>] is off) AND the room's window sensor [binary_sensor.fenster_<room>] is off AND the room's skylight sensor [binary_sensor.dachfenster_<room>] is off, THEN if production mode [binary_sensor.prod_mode] is on, check if the air conditioner switch [switch.klimaanlage_<room>] is off and if so, turn it on, wait for it to be on, and delay 10 seconds. Then, if the air conditioner switch [switch.klimaanlage_<room>] is on, turn on the corresponding climate scheduled boolean [input_boolean.climate_<climate>_scheduled].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every five minutes, when the family group [group.family] arrives home, when any of the climate-related temperature input numbers or sensors change, or when any of the window or skylight sensors for the bedrooms and office have been closed for at least ten seconds.",
|
|
"conditions": "The automation requires that climate control is activated [input_boolean.climate_activated], the current time is within the configured start period [input_datetime.climate_startperiode_begin to input_datetime.climate_startperiode_end], the family is at home [group.family], the battery level [sensor.sh10rt_master_battery_level] is above a minimum threshold [input_number.climate_min_battery_level], there is sufficient solar power generation [sensor.total_dc_power above input_number.climate_min_pv_generation], the forecast temperature meets a minimum requirement (with a higher threshold if it's sunny [sensor.openweathermap_forecast_condition]), and the outside temperature [sensor.boiler_outside_temperature] is above a minimum level [input_number.climate_min_outdoor_temperature].",
|
|
"action": "For each of the three rooms (office, bedroom, and nursery), the automation checks if the room is scheduled for climate control, not already running, and has all its windows and skylights closed. If all these are true and the system is in production mode, it ensures the room's air conditioner is turned on. After a short delay, it marks that room's climate schedule as active."
|
|
},
|
|
"human_like": "This automation intelligently starts the air conditioning in specific rooms when conditions are right, such as during scheduled times, when the family is home, with sufficient battery and solar power, and favorable weather, ensuring windows are closed first.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_start",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every minute OR When any of Climate Office Scheduled [input_boolean.climate_office_scheduled], Climate Bedroom Scheduled [input_boolean.climate_bedroom_scheduled], or Climate Nursery Scheduled [input_boolean.climate_nursery_scheduled] turns on. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND climate activated [input_boolean.climate_activated] is on. ACTIONS: For each room (office, bedroom, nursery), if the corresponding scheduled input_boolean is on AND the climate entity is off, then: set the HVAC mode of the climate entity to the value from climate hvac mode [input_select.climate_hvac_mode], wait 10 seconds, run script climate_set_temperature for the device, wait 10 seconds, set the fan mode to the value from climate fan mode [input_select.climate_fan_mode], wait 10 seconds, set the swing mode to 'on' if climate swing mode [input_select.climate_swing_mode] is 'True' else 'off', wait 10 seconds, set the preset mode to the value from climate preset mode [input_select.climate_preset_mode].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every minute, or whenever any of the climate scheduling switches for the office, bedroom, or nursery are turned on.",
|
|
"conditions": "The system must be in production mode, and the overall climate activation switch must be turned on.",
|
|
"action": "For each of the three rooms (office, bedroom, nursery), if that room's climate schedule is active but its climate system is currently off, the automation will start it. It sets the HVAC mode, waits 10 seconds, runs a script to set the temperature, waits another 10 seconds, sets the fan mode, waits 10 seconds, sets the swing mode based on a global setting, waits a final 10 seconds, and then sets the preset mode."
|
|
},
|
|
"human_like": "Automatically starts the climate control for scheduled rooms, configuring all its settings, when the system is active.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_supervise_temperature",
|
|
"result": {
|
|
"structured": "TRIGGER: When the current_temperature attribute changes for any of the following climate entities: office climate [climate.office], bedroom climate [climate.bedroom], or nursery climate [climate.nursery]. CONDITIONS: (production mode [binary_sensor.prod_mode] is on) AND (the input_boolean entity for the specific device's schedule, derived from the trigger, is on) AND (climate activated [input_boolean.climate_activated] is on). ACTIONS: If the climate entity that triggered the automation is not in the 'off' state, then run the script climate_set_temperature with the derived device name.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the current temperature changes for the office climate [climate.office], bedroom climate [climate.bedroom], or nursery climate [climate.nursery].",
|
|
"conditions": "The system must be in production mode, indicated by production mode [binary_sensor.prod_mode] being on. The specific climate device that triggered the change must have its schedule enabled, meaning the corresponding input_boolean (like input_boolean.climate_office_scheduled) is on. Additionally, the overall climate system must be activated, as shown by climate activated [input_boolean.climate_activated] being on.",
|
|
"action": "If the climate device that triggered the event is not turned off, then the system will execute a script to adjust its temperature, using the derived device identifier."
|
|
},
|
|
"human_like": "Automatically adjusts the temperature for scheduled climate devices when their current temperature changes, but only when the overall climate system is active and in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_target_temperature",
|
|
"result": {
|
|
"structured": "TRIGGER: When climate target temperature [input_number.climate_target_temperature] changes state OR when climate target temperature step [input_number.climate_target_temperature_step] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND climate activated [input_boolean.climate_activated] is on. ACTIONS: For each room in the list (office, bedroom, nursery), if the climate entity for that room is not 'off', then run the script climate_set_temperature with the room name as the device parameter.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered whenever the value of climate target temperature [input_number.climate_target_temperature] or climate target temperature step [input_number.climate_target_temperature_step] changes.",
|
|
"conditions": "The automation will only proceed if production mode [binary_sensor.prod_mode] is active (on) and the climate system is activated [input_boolean.climate_activated] (on).",
|
|
"action": "For each of the rooms (office, bedroom, nursery), if the climate control for that specific room is not turned off, the system will execute a script to set the temperature for that room's climate device."
|
|
},
|
|
"human_like": "Updates the target temperature for active climate controls in the office, bedroom, and nursery whenever the main temperature or step settings are changed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_stop",
|
|
"result": {
|
|
"structured": "TRIGGER: When total dc power [sensor.total_dc_power] remains below climate min pv generation [input_number.climate_min_pv_generation] for a duration defined by input_number.climate_min_pv_generation_duration [input_number.climate_min_pv_generation_duration] (sets immediate_turn_off=false, window_turn_off=false) OR When family group [group.family] state changes to not_home (sets immediate_turn_off based on climate absence goon [input_boolean.climate_absence_goon] not being 'on', window_turn_off=false) OR When boiler outside temperature [sensor.boiler_outside_temperature] falls below climate min outdoor temperature [input_number.climate_min_outdoor_temperature] (sets immediate_turn_off=false, window_turn_off=false) OR When any of the window sensors (fenster schlafzimmer [binary_sensor.fenster_schlafzimmer], dachfenster schlafzimmer [binary_sensor.dachfenster_schlafzimmer], fenster kinderzimmer [binary_sensor.fenster_kinderzimmer], dachfenster kinderzimmer [binary_sensor.dachfenster_kinderzimmer], fenster arbeitszimmer [binary_sensor.fenster_arbeitszimmer], dachfenster arbeitszimmer [binary_sensor.dachfenster_arbeitszimmer]) changes to 'on' and remains for 10 seconds (sets immediate_turn_off=false, window_turn_off=true). CONDITIONS: production mode [binary_sensor.prod_mode] is 'on' AND climate activated [input_boolean.climate_activated] is 'on'. ACTIONS: For each room (office, bedroom, nursery), if the corresponding climate entity (climate.office, climate.bedroom, climate.nursery) is not 'off' AND (immediate_turn_off is true OR (window_turn_off is false AND the room's scheduled input_boolean (climate_office_scheduled, climate_bedroom_scheduled, climate_nursery_scheduled) is 'on' AND the room's stop input_boolean (climate_stop_office, climate_stop_bedroom, climate_stop_nursery) is 'on') OR (window_turn_off is true AND (the room's window sensor (fenster_arbeitszimmer/fenster_schlafzimmer/fenster_kinderzimmer) is 'on' OR the room's roof window sensor (dachfenster_arbeitszimmer/dachfenster_schlafzimmer/dachfenster_kinderzimmer) is 'on'))), then turn off the climate entity for that room.",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in four ways: 1) When the total DC power [sensor.total_dc_power] stays below a minimum solar generation threshold [input_number.climate_min_pv_generation] for a configurable duration [input_number.climate_min_pv_generation_duration]. 2) When everyone leaves home, indicated by the family group [group.family] changing to 'not_home'. 3) When the outdoor temperature from the boiler [sensor.boiler_outside_temperature] drops below a minimum outdoor temperature threshold [input_number.climate_min_outdoor_temperature]. 4) When any of the specified windows in the bedroom, nursery, or office (e.g., fenster schlafzimmer [binary_sensor.fenster_schlafzimmer], dachfenster schlafzimmer [binary_sensor.dachfenster_schlafzimmer], etc.) are opened and remain open for 10 seconds.",
|
|
"conditions": "Two conditions must be met for the automation to proceed: The system must be in production mode [binary_sensor.prod_mode], and the climate system must be globally activated [input_boolean.climate_activated].",
|
|
"action": "The automation checks each of three rooms (office, bedroom, nursery). For each room, it will turn off the corresponding climate control [climate.office, climate.bedroom, climate.nursery] if it is currently on and meets specific criteria based on the trigger. The criteria differ: for low solar power, family absence, or low outdoor temperature triggers, it checks if the room's climate is scheduled to run and is marked as eligible to be stopped. For window opening triggers, it checks if the specific window for that room is open. The action only proceeds if the climate entity for that room is not already off."
|
|
},
|
|
"human_like": "This automation turns off the heating/cooling in specific rooms under certain conditions like low solar power, everyone being away, low outdoor temperature, or when windows are opened, but only if the climate system is active and in production mode.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_turned_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office climate [climate.office] OR bedroom climate [climate.bedroom] OR nursery climate [climate.nursery] changes state to 'off'. CONDITIONS: production mode [binary_sensor.prod_mode] is 'on' AND climate activated [input_boolean.climate_activated] is 'on'. ACTIONS: Turn off the input_boolean entity named 'input_boolean.climate_' + device + '_scheduled', where 'device' is derived from the triggering climate entity (e.g., 'office' from climate.office).",
|
|
"natural_language": {
|
|
"trigger": "When the office climate [climate.office], bedroom climate [climate.bedroom], or nursery climate [climate.nursery] is turned off.",
|
|
"conditions": "The system must be in production mode, meaning production mode [binary_sensor.prod_mode] is on, and the overall climate control feature must be active, meaning climate activated [input_boolean.climate_activated] is on.",
|
|
"action": "For the specific climate device that was turned off, it turns off the corresponding scheduled climate input boolean. For example, if the office climate is turned off, it turns off the entity named input_boolean.climate_office_scheduled."
|
|
},
|
|
"human_like": "When a climate device is manually turned off, this automation disables its scheduled operation if the system is in production mode and climate control is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_switch_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When office climate [climate.office] OR bedroom climate [climate.bedroom] OR nursery climate [climate.nursery] remains in the 'off' state for a duration equal to the value of climate switch off delay [input_number.climate_switch_off_delay] minutes. CONDITIONS: production mode [binary_sensor.prod_mode] is 'on' AND climate activated [input_boolean.climate_activated] is 'on'. ACTIONS: Turn off the corresponding switch for the room (arbeitszimmer, schlafzimmer, or kinderzimmer) based on which climate entity triggered the automation.",
|
|
"natural_language": {
|
|
"trigger": "When the climate control for the office, bedroom, or nursery remains switched off for a specific number of minutes, as defined by the climate switch off delay setting.",
|
|
"conditions": "The system must be in production mode, and the climate control feature must be activated.",
|
|
"action": "Turn off the physical air conditioning switch that corresponds to the room where the climate control was turned off."
|
|
},
|
|
"human_like": "Automatically turns off the air conditioning switch in a room after its climate control has been off for a set delay, provided the system is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_night_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When sony kd 55ag9 remote [remote.sony_kd_55ag9] changes from on to off AND remains off for 1 minute. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND climate activated [input_boolean.climate_activated] is on. ACTIONS: For each room in the list [office, bedroom, nursery], IF the corresponding input_boolean (climate_office_scheduled, climate_bedroom_scheduled, climate_nursery_scheduled) is on AND the corresponding climate entity (climate.office, climate.bedroom, climate.nursery) is not off, THEN set the climate entity to preset mode 'sleep'.",
|
|
"natural_language": {
|
|
"trigger": "When the sony kd 55ag9 remote [remote.sony_kd_55ag9] is turned off and stays off for one minute.",
|
|
"conditions": "The system must be in production mode, indicated by production mode [binary_sensor.prod_mode] being on, and climate control must be activated, indicated by climate activated [input_boolean.climate_activated] being on.",
|
|
"action": "For the office, bedroom, and nursery, if the scheduled climate control for that room is enabled and the climate device is not turned off, then set its preset mode to 'sleep'."
|
|
},
|
|
"human_like": "Turns on sleep mode for scheduled climate zones when the TV remote is turned off and the system is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_absence_goon",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event occurs with event_type SCENARIO AND event_subtype Klimaanlage anlassen. CONDITIONS: None. ACTIONS: Turn on climate absence goon [input_boolean.climate_absence_goon].",
|
|
"natural_language": {
|
|
"trigger": "When the Bosch SHC system sends an event of type 'SCENARIO' with the subtype 'Klimaanlage anlassen'.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns on the input boolean climate absence goon [input_boolean.climate_absence_goon]."
|
|
},
|
|
"human_like": "Turns on a climate-related status flag when a specific Bosch SHC scenario event is received.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "climate_absence_goon_reset",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches 23:59:00. CONDITIONS: None. ACTIONS: Turn off climate absence goon [input_boolean.climate_absence_goon].",
|
|
"natural_language": {
|
|
"trigger": "Every day at 11:59 PM.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Turns off the input boolean named climate absence goon [input_boolean.climate_absence_goon]."
|
|
},
|
|
"human_like": "Resets the climate absence status at the end of each day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "close_cover_bedroom",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with a 30-minute offset. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND cover closing at cold activated [input_boolean.cover_closing_at_cold_activated] is on AND dht22 terrace temperature [sensor.dht22_terrace_temperature] is below the value of rooflight close below temp [input_number.rooflight_close_below_temp] AND cover bedroom [input_boolean.cover_bedroom] is on AND dachfenster schlafzimmer [binary_sensor.dachfenster_schlafzimmer] is closed (off). ACTIONS: Close bedroom cover [cover.bedroom] AND turn on cover closed at low temp [input_boolean.cover_closed_at_low_temp].",
|
|
"natural_language": {
|
|
"trigger": "When the sun sets, but the automation waits for 30 minutes after sunset before checking conditions.",
|
|
"conditions": "All of the following must be true: production mode [binary_sensor.prod_mode] is active, the feature to close covers when it's cold [input_boolean.cover_closing_at_cold_activated] is turned on, the temperature on the terrace [sensor.dht22_terrace_temperature] is below the user-defined threshold [input_number.rooflight_close_below_temp], the bedroom cover automation [input_boolean.cover_bedroom] is enabled, and the skylight window in the bedroom [binary_sensor.dachfenster_schlafzimmer] is closed.",
|
|
"action": "Closes the bedroom cover [cover.bedroom] and turns on a status indicator [input_boolean.cover_closed_at_low_temp] to record that the cover was closed due to low temperature."
|
|
},
|
|
"human_like": "Closes the bedroom cover 30 minutes after sunset if it's cold outside and all the necessary safety and preference switches are on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "open_cover_bedroom",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunrise minus 30 minutes. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND cover closing at cold activated [input_boolean.cover_closing_at_cold_activated] is on AND cover bedroom [input_boolean.cover_bedroom] is on AND dachfenster schlafzimmer [binary_sensor.dachfenster_schlafzimmer] is off AND cover closed at low temp [input_boolean.cover_closed_at_low_temp] is on. ACTIONS: Open bedroom cover [cover.bedroom].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers 30 minutes before sunrise.",
|
|
"conditions": "All of the following must be true: the production mode [binary_sensor.prod_mode] is active, the feature to close covers in cold weather is activated [input_boolean.cover_closing_at_cold_activated], the bedroom cover automation is enabled [input_boolean.cover_bedroom], the bedroom window [binary_sensor.dachfenster_schlafzimmer] is closed, and the cover was previously closed due to low temperature [input_boolean.cover_closed_at_low_temp].",
|
|
"action": "Opens the bedroom cover [cover.bedroom]."
|
|
},
|
|
"human_like": "Opens the bedroom cover 30 minutes before sunrise, but only if the system is in production mode, the window is closed, and the cover was previously closed due to cold weather.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "close_cover_bath",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs with an offset of 30 minutes. CONDITIONS: (production mode [binary_sensor.prod_mode] is on) AND (cover closing at cold activated [input_boolean.cover_closing_at_cold_activated] is on) AND (dht22 terrace temperature [sensor.dht22_terrace_temperature] is below the value of rooflight close below temp [input_number.rooflight_close_below_temp]) AND (cover bath [input_boolean.cover_bath] is on) AND (dachfenster bad [binary_sensor.dachfenster_bad] is off). ACTIONS: Close bath cover [cover.bath] AND turn on cover closed at low temp [input_boolean.cover_closed_at_low_temp].",
|
|
"natural_language": {
|
|
"trigger": "When the sun sets, 30 minutes after the actual sunset event.",
|
|
"conditions": "If the production mode [binary_sensor.prod_mode] is active, the feature to close covers at cold temperatures is activated [input_boolean.cover_closing_at_cold_activated], the temperature on the terrace [sensor.dht22_terrace_temperature] is below the configured threshold [input_number.rooflight_close_below_temp], the cover for the bath [input_boolean.cover_bath] is enabled, and the window in the bath [binary_sensor.dachfenster_bad] is closed.",
|
|
"action": "Close the bath cover [cover.bath] and set a flag [input_boolean.cover_closed_at_low_temp] to indicate the cover was closed due to low temperature."
|
|
},
|
|
"human_like": "Closes the bathroom cover 30 minutes after sunset if it's cold outside and all other conditions are met, to help retain heat.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "open_cover_bath",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunrise with an offset of -30 minutes (i.e., 30 minutes before sunrise). CONDITIONS: production mode [binary_sensor.prod_mode] is on AND cover closing at cold activated [input_boolean.cover_closing_at_cold_activated] is on AND cover bath [input_boolean.cover_bath] is on AND dachfenster bad [binary_sensor.dachfenster_bad] is off AND cover closed at low temp [input_boolean.cover_closed_at_low_temp] is on. ACTIONS: Open bath cover [cover.bath].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers 30 minutes before sunrise.",
|
|
"conditions": "All of the following must be true: production mode [binary_sensor.prod_mode] is active, the feature to close covers at cold temperatures is activated [input_boolean.cover_closing_at_cold_activated], the specific control for the bath cover is enabled [input_boolean.cover_bath], the window sensor dachfenster bad [binary_sensor.dachfenster_bad] indicates the window is closed, and the system is in a state where covers are allowed to be closed due to low temperature [input_boolean.cover_closed_at_low_temp].",
|
|
"action": "Opens the bath cover [cover.bath]."
|
|
},
|
|
"human_like": "Opens the bathroom cover 30 minutes before sunrise, but only if all relevant energy-saving and window-closure settings are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "close_cover_office",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunset with a 30-minute offset. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND cover closing at cold activated [input_boolean.cover_closing_at_cold_activated] is on AND dht22 terrace temperature [sensor.dht22_terrace_temperature] is below the value of rooflight close below temp [input_number.rooflight_close_below_temp] AND cover office [input_boolean.cover_office] is on AND dachfenster arbeitszimmer [binary_sensor.dachfenster_arbeitszimmer] is closed (off). ACTIONS: Close office cover [cover.office] AND turn on cover closed at low temp [input_boolean.cover_closed_at_low_temp].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers 30 minutes after sunset.",
|
|
"conditions": "All of the following conditions must be met: production mode [binary_sensor.prod_mode] is active, the feature to close covers when it's cold [input_boolean.cover_closing_at_cold_activated] is enabled, the temperature on the terrace [sensor.dht22_terrace_temperature] is below a specific threshold [input_number.rooflight_close_below_temp], the cover for the office [input_boolean.cover_office] is set to on, and the office skylight window [binary_sensor.dachfenster_arbeitszimmer] is closed.",
|
|
"action": "It closes the office cover [cover.office] and then sets a flag [input_boolean.cover_closed_at_low_temp] to on to indicate the cover was closed due to low temperature."
|
|
},
|
|
"human_like": "Closes the office cover 30 minutes after sunset if it's cold outside and all other relevant settings allow it.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "open_cover_office",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunrise with an offset of -30 minutes. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND cover closing at cold activated [input_boolean.cover_closing_at_cold_activated] is on AND cover office [input_boolean.cover_office] is on AND dachfenster arbeitszimmer [binary_sensor.dachfenster_arbeitszimmer] is off AND cover closed at low temp [input_boolean.cover_closed_at_low_temp] is on. ACTIONS: Open office cover [cover.office].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers 30 minutes before sunrise.",
|
|
"conditions": "All of the following must be true: production mode [binary_sensor.prod_mode] is on, the feature to close covers when it's cold is activated [input_boolean.cover_closing_at_cold_activated] is on, the office cover automation is enabled [input_boolean.cover_office] is on, the office window [binary_sensor.dachfenster_arbeitszimmer] is closed, and the cover is currently marked as closed due to low temperature [input_boolean.cover_closed_at_low_temp] is on.",
|
|
"action": "Opens the office cover [cover.office]."
|
|
},
|
|
"human_like": "Automatically opens the office cover 30 minutes before sunrise, but only if all relevant automation features are enabled, the window is closed, and the cover was previously closed due to cold temperatures.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "close_cover_nursery",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunset with an offset of 30 minutes. CONDITIONS: (production mode [binary_sensor.prod_mode] is on) AND (cover closing at cold activated [input_boolean.cover_closing_at_cold_activated] is on) AND (dht22 terrace temperature [sensor.dht22_terrace_temperature] is below the value of rooflight close below temp [input_number.rooflight_close_below_temp]) AND (cover nursery [input_boolean.cover_nursery] is on) AND (dachfenster kinderzimmer [binary_sensor.dachfenster_kinderzimmer] is closed (off)). ACTIONS: Close nursery cover [cover.nursery] AND turn on cover closed at low temp [input_boolean.cover_closed_at_low_temp].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers 30 minutes after sunset.",
|
|
"conditions": "All of the following must be true: production mode [binary_sensor.prod_mode] is active, the feature to close covers when it's cold [input_boolean.cover_closing_at_cold_activated] is enabled, the temperature on the terrace [sensor.dht22_terrace_temperature] is below a user-defined threshold [input_number.rooflight_close_below_temp], the specific cover for the nursery [input_boolean.cover_nursery] is set to on, and the window in the nursery [binary_sensor.dachfenster_kinderzimmer] is closed.",
|
|
"action": "It closes the nursery cover [cover.nursery] and then turns on a status indicator [input_boolean.cover_closed_at_low_temp] to record that the cover was closed due to low temperature."
|
|
},
|
|
"human_like": "Closes the nursery cover in the evening if it's cold outside and all the necessary safety and override switches are enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "open_cover_nursery",
|
|
"result": {
|
|
"structured": "TRIGGER: At sunrise with an offset of -30 minutes (i.e., 30 minutes before sunrise). CONDITIONS: (production mode [binary_sensor.prod_mode] is on) AND (cover closing at cold activated [input_boolean.cover_closing_at_cold_activated] is on) AND (cover nursery [input_boolean.cover_nursery] is on) AND (dachfenster kinderzimmer [binary_sensor.dachfenster_kinderzimmer] is off) AND (cover closed at low temp [input_boolean.cover_closed_at_low_temp] is on). ACTIONS: Open nursery cover [cover.nursery].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers 30 minutes before sunrise.",
|
|
"conditions": "All of the following conditions must be met: the system is in production mode [binary_sensor.prod_mode], the feature to close covers during cold weather is activated [input_boolean.cover_closing_at_cold_activated], the nursery cover automation is enabled [input_boolean.cover_nursery], the window in the nursery is closed [binary_sensor.dachfenster_kinderzimmer], and the feature to keep the cover closed at low temperatures is active [input_boolean.cover_closed_at_low_temp].",
|
|
"action": "Opens the nursery cover [cover.nursery]."
|
|
},
|
|
"human_like": "Automatically opens the nursery cover 30 minutes before sunrise, but only when the system is in production mode, the window is closed, and specific temperature-related cover settings are active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "reset_close_at_low_temp_flag",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs with an offset of 1 hour. CONDITIONS: None. ACTIONS: Turn off cover closed at low temp [input_boolean.cover_closed_at_low_temp].",
|
|
"natural_language": {
|
|
"trigger": "One hour after sunrise.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Turns off the cover closed at low temp [input_boolean.cover_closed_at_low_temp] flag."
|
|
},
|
|
"human_like": "Resets a flag indicating covers were closed due to low temperatures, one hour after sunrise.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "dishwasher_schedule",
|
|
"result": {
|
|
"structured": "TRIGGER: When Bosch Dishwasher Door State [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_doorstate] changes to closed (off). CONDITIONS: Dishwasher Activated [input_boolean.dishwasher_activated] is on AND Bosch Dishwasher Door State [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_doorstate] is off AND Bosch SMV88TX16D operation state [sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_operationstate] is BSH.Common.EnumType.OperationState.Ready AND Bosch Dishwasher Remote Control Active [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_remotecontrolactive] is on AND Bosch Dishwasher Remote Control Start Allowed [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_remotecontrolstartallowed] is on. ACTIONS: Set the datetime for Dishwasher Start [input_datetime.dishwasher_start] based on solar power generation forecasts. If the current hour's PV forecast [sensor.solcast_pv_forecast_prognose_aktuelle_stunde] exceeds the minimum threshold [input_number.dishwasher_min_pv_generation], set the time to 5 seconds from now. Otherwise, if the next hour's PV forecast [sensor.solcast_pv_forecast_prognose_nachste_stunde] exceeds the threshold, set the time to the start of the next hour. Otherwise, set the time to the forecasted peak power time today [sensor.solcast_pv_forecast_zeitpunkt_spitzenleistung_heute] if it is in the future, or to the forecasted peak power time tomorrow [sensor.solcast_pv_forecast_zeitpunkt_spitzenleistung_morgen].",
|
|
"natural_language": {
|
|
"trigger": "When the Bosch Dishwasher Door State [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_doorstate] is closed.",
|
|
"conditions": "The Dishwasher Activated [input_boolean.dishwasher_activated] switch must be on. The dishwasher door must be closed, the dishwasher must be in a 'Ready' operation state, remote control must be active, and the dishwasher must be in a state that allows a remote start.",
|
|
"action": "Calculates and sets an optimal start time for the dishwasher in the Dishwasher Start [input_datetime.dishwasher_start] input. It checks the current and next hour's solar power generation forecasts against a minimum threshold. If there's enough solar power now, it starts the dishwasher almost immediately. If there will be enough solar power in the next hour, it schedules the start for the top of the next hour. If not, it schedules the start for the next forecasted peak solar generation time, either later today or tomorrow."
|
|
},
|
|
"human_like": "Schedules the dishwasher to run when the door is closed, but only during times of high solar power generation to use renewable energy.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "dishwasher_start",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in Dishwasher Start [input_datetime.dishwasher_start]. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Dishwasher Activated [input_boolean.dishwasher_activated] is on AND Bosch Dishwasher Door State [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_doorstate] is closed (off) AND Bosch SMV88TX16D operation state [sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_operationstate] is Ready (BSH.Common.EnumType.OperationState.Ready) AND Bosch Dishwasher Remote Control Active [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_remotecontrolactive] is on. ACTIONS: Start the 'Geschirrspüler' dishwasher program 'Dishcare.Dishwasher.Program.Quick65'.",
|
|
"natural_language": {
|
|
"trigger": "At the scheduled time set in Dishwasher Start [input_datetime.dishwasher_start].",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active, the Dishwasher Activated [input_boolean.dishwasher_activated] switch must be on, the Bosch Dishwasher Door State [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_doorstate] must be closed, the Bosch SMV88TX16D operation state [sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_operationstate] must be 'Ready', and the Bosch Dishwasher Remote Control Active [binary_sensor.bosch_smv88tx16d_68a40e0c161c_bsh_common_status_remotecontrolactive] must be enabled.",
|
|
"action": "Starts the dishwasher's 'Quick65' program on the device named 'Geschirrspüler'."
|
|
},
|
|
"human_like": "Automatically starts the dishwasher's quick wash cycle at a scheduled time, provided it is ready, the door is closed, and the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "display_pixelnode_preferences",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home Assistant starts OR when any of the following entities change state: Pixel Node Time [input_boolean.pixel_node_time], Pixel Node Date [input_boolean.pixel_node_date], Pixel Node Weekday [input_boolean.pixel_node_weekday], Pixel Node Display Duration [input_number.pixel_node_display_duration], Pixel Node Display Brightness [input_number.pixel_node_display_brightness], Pixel Node Display Shakeperiod [input_number.pixel_node_display_shakeperiod], Pixel Node Msg0 [input_boolean.pixel_node_msg0], Pixel Node Msg1 [input_boolean.pixel_node_msg1], Pixel Node Msg2 [input_boolean.pixel_node_msg2], Pixel Node Msg3 [input_boolean.pixel_node_msg3], Pixel Node Msg4 [input_boolean.pixel_node_msg4], Pixel Node Msg5 [input_boolean.pixel_node_msg5], Pixel Node Msg6 [input_boolean.pixel_node_msg6], Pixel Node Msg7 [input_boolean.pixel_node_msg7], Pixel Node Msg8 [input_boolean.pixel_node_msg8], Pixel Node Msg9 [input_boolean.pixel_node_msg9], Pixel Node Msg10 [input_boolean.pixel_node_msg10], Pixel Node Msg11 [input_boolean.pixel_node_msg11], Pixel Node Msg12 [input_boolean.pixel_node_msg12], Pixel Node Msg13 [input_boolean.pixel_node_msg13], Pixel Node Msg14 [input_boolean.pixel_node_msg14], Pixel Node Msg15 [input_boolean.pixel_node_msg15], Pixel Node Msg16 [input_boolean.pixel_node_msg16], Pixel Node Msg17 [input_boolean.pixel_node_msg17], Pixel Node Msg18 [input_boolean.pixel_node_msg18], Pixel Node Msg19 [input_boolean.pixel_node_msg19]. CONDITIONS: None. ACTIONS: Publish a JSON payload to the MQTT topic 'nodes@home/display/pixel/kitchen/command' with the current states of the following entities: Pixel Node Display Duration [input_number.pixel_node_display_duration] (rounded to integer), Pixel Node Display Brightness [input_number.pixel_node_display_brightness] (rounded to integer), Pixel Node Display Shakeperiod [input_number.pixel_node_display_shakeperiod] (rounded to integer), Pixel Node Time [input_boolean.pixel_node_time], Pixel Node Date [input_boolean.pixel_node_date], Pixel Node Weekday [input_boolean.pixel_node_weekday], and a list of enabled states for Pixel Node Msg0 through Pixel Node Msg19 [input_boolean.pixel_node_msg0 ... input_boolean.pixel_node_msg19].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when Home Assistant first starts up, or whenever any of the many configuration entities for the Pixel Node display changes state. This includes the main display toggles for time, date, and weekday, the numeric settings for duration, brightness, and shake period, and each of the 20 individual message toggles (Msg0 through Msg19).",
|
|
"conditions": "There are no conditions that must be met for this automation to run; it executes whenever a trigger occurs.",
|
|
"action": "Sends a configuration update to the Pixel Node display in the kitchen via MQTT. The message contains a JSON object with all the current display preferences, including the numeric settings (rounded to whole numbers) and the on/off states for the time, date, weekday, and all 20 message slots."
|
|
},
|
|
"human_like": "Synchronizes the display settings for a Pixel Node in the kitchen whenever any of its configuration options are changed or when Home Assistant restarts.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "display_show_outdoor_temperature",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'nodes@home/sensor/DHT22/terrace/value/temperature'. CONDITIONS: None. ACTIONS: Publish an MQTT message to topic 'nodes@home/display/pixel/kitchen/message/temperature/outdoor' with a JSON payload containing the text 'Außen: [temperature_value]°C' on line 0, where [temperature_value] is the value from the trigger payload.",
|
|
"natural_language": {
|
|
"trigger": "Whenever a new temperature reading is published to the MQTT topic 'nodes@home/sensor/DHT22/terrace/value/temperature'.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Sends a formatted message to a display in the kitchen via MQTT. The message shows the outdoor temperature value that was just received, preceded by the text 'Außen:'."
|
|
},
|
|
"human_like": "Shows the outdoor temperature on a kitchen display whenever a new reading is available.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "display_show_indoor_temperature",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'nodes@home/sensor/DHT22/lounge/value/temperature'. CONDITIONS: None. ACTIONS: Publish an MQTT message to topic 'nodes@home/display/pixel/kitchen/message/temperature/indoor' with a JSON payload containing the text ' Innen: {{ trigger.payload_json.value }}°C' on line 1, with QoS 0 and retain flag set to true.",
|
|
"natural_language": {
|
|
"trigger": "Whenever a new temperature reading is published to the MQTT topic 'nodes@home/sensor/DHT22/lounge/value/temperature'.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends a formatted message to a display in the kitchen via MQTT. The message shows the received indoor temperature value on the first line of the display."
|
|
},
|
|
"human_like": "Shows the indoor temperature from the lounge sensor on a kitchen display.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "display_show_pool_temperature",
|
|
"result": {
|
|
"structured": "TRIGGER: When an MQTT message is received on topic 'nodes@home/sensor/ds18b20/pool/value/temperature'. CONDITIONS: None. ACTIONS: Publish an MQTT message to topic 'nodes@home/display/pixel/kitchen/message/temperature/pool' with a JSON payload containing a formatted temperature reading (rounded to one decimal place) on line 12, with QoS 0 and retain flag set to true.",
|
|
"natural_language": {
|
|
"trigger": "Whenever a new temperature value is published to the MQTT topic 'nodes@home/sensor/ds18b20/pool/value/temperature'.",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Sends a formatted message to an MQTT display. The message is published to the topic 'nodes@home/display/pixel/kitchen/message/temperature/pool' and contains the received pool temperature value, rounded to one decimal place, displayed on line 12 of the screen. The message is set to be retained by the broker."
|
|
},
|
|
"human_like": "Shows the current pool temperature on a kitchen display whenever a new temperature reading is received.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_open_cover",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event occurs with event_type SCENARIO and event_subtype 'Garage auf'. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Relay Garage Cover [cover.relay_garage] is closed. ACTIONS: Open Relay Garage Cover [cover.relay_garage].",
|
|
"natural_language": {
|
|
"trigger": "When a Bosch SHC system sends a specific scenario event named 'Garage auf'.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on), and the Relay Garage Cover [cover.relay_garage] must be in the closed position.",
|
|
"action": "Opens the Relay Garage Cover [cover.relay_garage]."
|
|
},
|
|
"human_like": "Opens the garage cover when a specific Bosch SHC scenario is triggered, but only if production mode is active and the cover is currently closed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_close_cover",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event occurs with event_type 'SCENARIO' and event_subtype 'Garage zu'. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Relay Garage Cover [cover.relay_garage] is open. ACTIONS: Close Relay Garage Cover [cover.relay_garage].",
|
|
"natural_language": {
|
|
"trigger": "When a specific Bosch SHC system event is received, indicating the 'Garage zu' (Garage close) scenario has been triggered.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on), and the Relay Garage Cover [cover.relay_garage] must currently be open.",
|
|
"action": "Closes the Relay Garage Cover [cover.relay_garage]."
|
|
},
|
|
"human_like": "Automatically closes the garage cover when a specific Bosch SHC scenario is triggered, but only if the system is in production mode and the cover is open.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_bosch_powerstation_shutdown_after_inactivity",
|
|
"result": {
|
|
"structured": "TRIGGER: When Bosch Ladestation power [sensor.bosch_ladestation_power] remains below the value of input_number.bosch_powerstation_low_power_threshold for the duration specified by input_number.bosch_powerstation_low_power_duration (in minutes). CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn off Bosch Ladestation [switch.bosch_ladestation].",
|
|
"natural_language": {
|
|
"trigger": "When the Bosch Ladestation power [sensor.bosch_ladestation_power] stays below a configured low-power threshold for a specific amount of time.",
|
|
"conditions": "The system must be in production mode, meaning production mode [binary_sensor.prod_mode] is turned on.",
|
|
"action": "Turns off the Bosch Ladestation [switch.bosch_ladestation]."
|
|
},
|
|
"human_like": "Automatically shuts down the Bosch power station if its power consumption stays low for a set period, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_unlock_ev6",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event occurs with event_type 'SCENARIO' and event_subtype 'Auto auf'. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND family group [group.family] is home AND EV6 Location Tracker [device_tracker.ev6_location] is Zuhause. ACTIONS: Execute kia_uvo.unlock service for the EV6 vehicle using the device_id derived from the template '{{ device_id ( ''EV6'' ) }}'.",
|
|
"natural_language": {
|
|
"trigger": "When a specific Bosch SHC event named 'Auto auf' (which is part of the 'SCENARIO' event type) is received.",
|
|
"conditions": "The automation will only proceed if the production mode [binary_sensor.prod_mode] is active, the family group [group.family] is marked as being at home, and the EV6 Location Tracker [device_tracker.ev6_location] reports the vehicle's location as 'Zuhause' (German for 'Home').",
|
|
"action": "Unlocks the EV6 vehicle by calling the Kia UVO unlock service with the specific device identifier for the EV6."
|
|
},
|
|
"human_like": "Automatically unlocks the EV6 car when a specific Bosch SHC scenario is triggered, provided the system is in production mode, the family is home, and the car is at home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_lock_ev6",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event occurs with event_type SCENARIO and event_subtype 'Auto zu'. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND family group [group.family] state is home AND EV6 Location Tracker [device_tracker.ev6_location] state is Zuhause. ACTIONS: Execute kia_uvo.lock service for the device with device_id 'EV6'.",
|
|
"natural_language": {
|
|
"trigger": "When the Bosch Smart Home Controller sends a specific event indicating a 'SCENARIO' with the subtype 'Auto zu'.",
|
|
"conditions": "If the production mode [binary_sensor.prod_mode] is active (on), the family group [group.family] is marked as being at home, and the EV6 Location Tracker [device_tracker.ev6_location] reports the vehicle's location as 'Zuhause' (Home).",
|
|
"action": "Sends a lock command to the Kia EV6 vehicle using the kia_uvo.lock service."
|
|
},
|
|
"human_like": "Automatically locks the Kia EV6 when a specific Bosch SHC garage scenario is triggered, provided the family is home and the car is at home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garage_climate_ev6",
|
|
"result": {
|
|
"structured": "TRIGGER: When Kia EV6 Climate [input_button.kia_ev6_climate] changes state OR When a bosch_shc.event occurs with event_type SCENARIO and event_subtype Auto klimatisieren. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND family group [group.family] is home AND EV6 Location Tracker [device_tracker.ev6_location] is Zuhause. ACTIONS: Call service kia_uvo.schedule_charging_and_climate with climate_enabled true, temperature from input_number.ev6_climate_temperature (converted to integer), temperature_unit 0, and device_id from device_id('EV6').",
|
|
"natural_language": {
|
|
"trigger": "When the Kia EV6 Climate [input_button.kia_ev6_climate] is pressed, or when a Bosch Smart Home Controller event named 'Auto klimatisieren' is received.",
|
|
"conditions": "If production mode [binary_sensor.prod_mode] is active, the family group [group.family] is at home, and the EV6 Location Tracker [device_tracker.ev6_location] reports the vehicle is at home (Zuhause).",
|
|
"action": "Schedule the Kia EV6's climate system to start, using the temperature set on the input_number.ev6_climate_temperature entity."
|
|
},
|
|
"human_like": "Starts the climate control for the Kia EV6 when requested, but only if the system is in production mode, the family is home, and the car is at home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_irrigation_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event of type SCENARIO with subtype 'Wasser aus' occurs. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn off Relay garden valve1 [switch.relay_garden_valve1], Relay garden valve2 [switch.relay_garden_valve2], Relay garden valve3 [switch.relay_garden_valve3], Relay garden2 valve1 [switch.relay_garden2_valve1], Relay garden2 valve2 [switch.relay_garden2_valve2], and Relay garden2 valve3 [switch.relay_garden2_valve3].",
|
|
"natural_language": {
|
|
"trigger": "When a specific Bosch SHC event is received, specifically a SCENARIO event with the subtype 'Wasser aus' (Water off).",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "Turns off all six garden irrigation valves: Relay garden valve1 [switch.relay_garden_valve1], Relay garden valve2 [switch.relay_garden_valve2], Relay garden valve3 [switch.relay_garden_valve3], Relay garden2 valve1 [switch.relay_garden2_valve1], Relay garden2 valve2 [switch.relay_garden2_valve2], and Relay garden2 valve3 [switch.relay_garden2_valve3]."
|
|
},
|
|
"human_like": "Turns off all garden irrigation valves when a 'Water off' command is received from the Bosch SHC system, but only when production mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_irrigation_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event of type SCENARIO with subtype 'Hecke bewässern' occurs (assigning valve_no=1) OR When a Bosch SHC event of type SCENARIO with subtype 'Hochbeete bewässern' occurs (assigning valve_no=2) OR When a Bosch SHC event of type SCENARIO with subtype 'Rosengarten bewässern' occurs (assigning valve_no=3). CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn on switch entity 'switch.relay_garden{{ 2 if valve_no > 3 else '' }}_valve{{ ( valve_no - 1 ) % 3 + 1 }}' (the target entity ID is constructed dynamically based on the triggered valve_no variable).",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered by one of three specific Bosch SHC scenario events: 'Hecke bewässern' (water hedge), 'Hochbeete bewässern' (water raised beds), or 'Rosengarten bewässern' (water rose garden). Each event provides a specific valve number (1, 2, or 3 respectively).",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "It turns on a specific garden irrigation valve switch. The exact switch is determined by a formula using the valve number from the trigger. For valve numbers 1, 2, or 3, it turns on 'switch.relay_garden_valve1', 'switch.relay_garden_valve2', or 'switch.relay_garden_valve3' respectively. For valve numbers greater than 3, the formula modifies the entity name accordingly."
|
|
},
|
|
"human_like": "Turns on specific garden irrigation valves when a corresponding watering scenario is activated on the Bosch SHC system, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_irrigation_valve_start",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time matches any of the scheduled start times: Irrigation Start 1 [input_datetime.irrigation_start_1], Irrigation Start 2 [input_datetime.irrigation_start_2], Irrigation Start 3 [input_datetime.irrigation_start_3], Irrigation Start 4 [input_datetime.irrigation_start_4], Irrigation Start 5 [input_datetime.irrigation_start_5], or Irrigation Start 6 [input_datetime.irrigation_start_6]. The trigger extracts a valve number from the triggering entity ID. CONDITIONS: Irrigation Activated [input_boolean.irrigation_activated] is on AND a template condition evaluates to true. The template condition requires that the input_boolean for the scheduled valve (e.g., input_boolean.irrigation_scheduled_valveX) is on AND the input_boolean for the specific valve and current weekday (e.g., input_boolean.irrigation_valveX_at_monday) is on. ACTIONS: Set a variable 'duration' from a sensor (sensor.irrigation_duration_effective_valveX). Start a timer (timer.irrigation_valveX) with the duration converted to minutes and seconds. If production mode [binary_sensor.prod_mode] is on, then turn on the corresponding garden valve switch (switch.relay_gardenY_valveZ).",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at any of the six scheduled start times defined by the input_datetime entities (Irrigation Start 1 through 6). When triggered, it determines which valve number is associated with that specific start time.",
|
|
"conditions": "The automation only runs if the master switch, Irrigation Activated [input_boolean.irrigation_activated], is turned on. Furthermore, it checks a complex schedule: the specific valve must be globally scheduled (via an input_boolean like irrigation_scheduled_valveX), and it must also be scheduled for the current day of the week (via an input_boolean like irrigation_valveX_at_monday).",
|
|
"action": "First, it calculates the watering duration by reading from a sensor specific to the valve (sensor.irrigation_duration_effective_valveX). It then starts a timer for that valve with the calculated duration. Finally, if the system is in production mode [binary_sensor.prod_mode], it physically activates the correct garden valve by turning on the corresponding relay switch."
|
|
},
|
|
"human_like": "Starts watering a specific garden zone at its scheduled time, but only if irrigation is enabled, the zone is scheduled for that day, and the system is in production mode.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_irrigation_valve_stop",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer Irrigation valve1 [timer.irrigation_valve1] finishes OR timer Irrigation valve2 [timer.irrigation_valve2] finishes OR timer Irrigation valve3 [timer.irrigation_valve3] finishes OR timer Irrigation valve4 [timer.irrigation_valve4] finishes OR timer Irrigation valve5 [timer.irrigation_valve5] finishes OR timer Irrigation valve6 [timer.irrigation_valve6] finishes. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Set variable 'valve_no' to the suffix of the triggering timer's entity_id (e.g., '1' for timer.irrigation_valve1). Then, turn off the corresponding irrigation relay switch: switch.relay_garden2_valveX for valve numbers 4,5,6, or switch.relay_garden_valveX for valve numbers 1,2,3, where X is calculated as ((valve_no - 1) % 3 + 1).",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when any one of the six irrigation timers (Irrigation valve1 [timer.irrigation_valve1], Irrigation valve2 [timer.irrigation_valve2], Irrigation valve3 [timer.irrigation_valve3], Irrigation valve4 [timer.irrigation_valve4], Irrigation valve5 [timer.irrigation_valve5], or Irrigation valve6 [timer.irrigation_valve6]) finishes its countdown.",
|
|
"conditions": "The automation only proceeds if the production mode [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "First, it extracts the valve number from the timer that finished. Then, it turns off the specific garden irrigation relay switch associated with that valve. The switch is selected based on a mapping: valves 1-3 control switches named 'relay_garden_valve1' to 'relay_garden_valve3', while valves 4-6 control switches named 'relay_garden2_valve1' to 'relay_garden2_valve3'."
|
|
},
|
|
"human_like": "Automatically stops the correct garden irrigation valve when its watering timer finishes, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_irrigation_schedule",
|
|
"result": {
|
|
"structured": "TRIGGER: When Irrigation Activated [input_boolean.irrigation_activated] changes state OR When Precipitation 7d plus forecast [sensor.precipitation_7d_plus_forecast] changes state OR When Irrigation Precipitation Threshold [input_number.irrigation_precipitation_threshold] changes state OR When DHT22 terrace temperature max [sensor.dht22_terrace_temperature_max] changes state OR When Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] changes state. CONDITIONS: None. ACTIONS: Set variable 'mode' to 'on' if the precipitation forecast value is less than the precipitation threshold AND the maximum temperature is greater than or equal to the low temperature threshold; otherwise set 'mode' to 'off'. Then, for each of 6 iterations, turn the corresponding irrigation valve input_boolean to the determined mode (on or off).",
|
|
"natural_language": {
|
|
"trigger": "The automation runs whenever the state changes for any of the following: the Irrigation Activated switch, the Precipitation 7d plus forecast sensor, the Irrigation Precipitation Threshold number, the DHT22 terrace temperature max sensor, or the Irrigation Temperature Threshold Low number.",
|
|
"conditions": "There are no explicit conditions that must be met for the actions to run.",
|
|
"action": "First, the automation calculates a mode. It checks if the forecasted precipitation is below the set threshold and if the maximum temperature is at or above the low temperature threshold. If both are true, the mode is set to 'on'; otherwise, it's set to 'off'. Then, it applies this mode to six different irrigation valve switches, turning each one on or off accordingly."
|
|
},
|
|
"human_like": "Automatically turns the garden irrigation valves on or off based on the weather forecast and temperature, ensuring watering only happens when it's warm enough and rain isn't expected.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_irrigation_set_temperature_thresholds_by_low",
|
|
"result": {
|
|
"structured": "TRIGGER: When Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] changes state. CONDITIONS: None. ACTIONS: Calculate new high threshold as the maximum of Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] and Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high]. Calculate new hot threshold as the maximum of Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] and Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot]. Set Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] to the new high threshold value. Set Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot] to the new hot threshold value.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] changes.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "The automation calculates two new values. First, it compares the current low threshold with the current high threshold and takes the larger of the two. Second, it compares the current low threshold with the current hot threshold and takes the larger of the two. It then updates the Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] with the first calculated value and the Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot] with the second calculated value."
|
|
},
|
|
"human_like": "Ensures the high and hot irrigation temperature thresholds are never set lower than the low threshold by automatically adjusting them when the low threshold changes.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_irrigation_set_temperature_thresholds_by_high",
|
|
"result": {
|
|
"structured": "TRIGGER: When Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] changes state. CONDITIONS: None. ACTIONS: Set variable temp_low_new to the minimum of the current values of Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] and Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high]. Set variable temp_hot_new to the maximum of the current values of Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] and Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot]. Set Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] to the value of temp_low_new. Set Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot] to the value of temp_hot_new.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] is changed.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It calculates two new values. First, it ensures the low threshold is not higher than the high threshold by setting it to the lower of the current low and high values. Second, it ensures the hot threshold is not lower than the high threshold by setting it to the higher of the current high and hot values. It then updates the Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] and Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot] with these new calculated values."
|
|
},
|
|
"human_like": "Automatically adjusts the low and hot irrigation temperature thresholds to keep them in the correct order relative to the high threshold.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_irrigation_set_temperature_thresholds_by_hot",
|
|
"result": {
|
|
"structured": "TRIGGER: When Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot] changes state. CONDITIONS: None. ACTIONS: Set variable 'temp_low_new' to the minimum value between Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] and Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot]. Set variable 'temp_high_new' to the minimum value between Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] and Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot]. Then, set Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] to the value of 'temp_low_new'. Then, set Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] to the value of 'temp_high_new'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot] is updated.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "The automation calculates two new values. It finds the lower value between the current Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] and the new Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot]. It also finds the lower value between the current Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] and the new Irrigation Temperature Threshold Hot [input_number.irrigation_temperature_threshold_hot]. It then updates the Irrigation Temperature Threshold Low [input_number.irrigation_temperature_threshold_low] and Irrigation Temperature Threshold High [input_number.irrigation_temperature_threshold_high] with these new, potentially lower, values."
|
|
},
|
|
"human_like": "Ensures the low and high irrigation temperature thresholds never exceed the 'hot' threshold by automatically lowering them when the hot threshold is set to a lower value.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_hydrotower_pump_switching",
|
|
"result": {
|
|
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: Hydrotower Activated [input_boolean.hydrotower_activated] is on AND Hydrotower pump period [timer.hydrotower_pump_period] is idle. ACTIONS: Start Hydrotower pump period [timer.hydrotower_pump_period] with a duration calculated from input_number.hydrotower_pump_period (minutes and seconds).",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every minute.",
|
|
"conditions": "The automation only runs if the Hydrotower Activated [input_boolean.hydrotower_activated] is switched on and the Hydrotower pump period [timer.hydrotower_pump_period] is not currently running (idle).",
|
|
"action": "It starts the Hydrotower pump period [timer.hydrotower_pump_period] timer, setting its duration based on the value stored in the input_number.hydrotower_pump_period entity."
|
|
},
|
|
"human_like": "Starts the hydrotower pump timer on a schedule when the system is activated and the timer is ready.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_hydrotower_pump_start",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer Hydrotower pump period [timer.hydrotower_pump_period] starts OR when Relay hydrotower pump [switch.relay_hydrotower_pump] turns on. ACTIONS: Start timer Hydrotower pump duration [timer.hydrotower_pump_duration] for a duration calculated from input_number.hydrotower_pump_duration (converted from seconds to minutes and seconds). THEN, IF production mode [binary_sensor.prod_mode] is on, turn on Relay hydrotower pump [switch.relay_hydrotower_pump].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either when the periodic timer for the hydrotower pump starts, or when the hydrotower pump switch is manually turned on.",
|
|
"conditions": "There is a condition that must be met for the second action: the production mode must be active.",
|
|
"action": "First, it starts a duration timer for the pump, using a user-defined duration from an input number. Then, if production mode is on, it turns on the hydrotower pump relay."
|
|
},
|
|
"human_like": "Starts the garden hydrotower pump and a corresponding duration timer when a scheduled period begins or the pump is manually switched on, but only when production mode is active.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_hydrotower_pump_stop",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer Hydrotower pump duration [timer.hydrotower_pump_duration] finishes. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn off Relay hydrotower pump [switch.relay_hydrotower_pump].",
|
|
"natural_language": {
|
|
"trigger": "When the Hydrotower pump duration [timer.hydrotower_pump_duration] finishes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be on.",
|
|
"action": "Turn off the Relay hydrotower pump [switch.relay_hydrotower_pump]."
|
|
},
|
|
"human_like": "Stops the garden hydrotower pump when its timer runs out, but only if the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_pool_pump_switching",
|
|
"result": {
|
|
"structured": "TRIGGER: Every minute (time pattern minutes: /1). CONDITIONS: Pool Pump Activated [input_boolean.pool_pump_activated] is on AND Pool pump period [timer.pool_pump_period] is idle AND current time is after input_datetime.pool_pump_start AND before input_datetime.pool_pump_end. ACTIONS: Start Pool pump period [timer.pool_pump_period] with a duration calculated from sensor.pool_pump_period_length (minutes and seconds).",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every minute.",
|
|
"conditions": "The Pool Pump Activated [input_boolean.pool_pump_activated] must be switched on, the Pool pump period [timer.pool_pump_period] must not be running (idle), and the current time must fall within the scheduled window defined by the start time input_datetime.pool_pump_start and end time input_datetime.pool_pump_end.",
|
|
"action": "Starts the Pool pump period [timer.pool_pump_period] timer, setting its duration based on the value from the sensor.pool_pump_period_length (converted to minutes and seconds)."
|
|
},
|
|
"human_like": "Automatically starts the pool pump timer during scheduled hours when the pump is activated and the timer is not already running.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_pool_pump_start",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer Pool pump period [timer.pool_pump_period] starts OR when switch Poolpumpe [switch.poolpumpe] turns on. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Start timer Pool pump duration [timer.pool_pump_duration] with a duration calculated from input_number.pool_pump_duration_period (converted from minutes to HH:MM:SS) AND turn on switch Poolpumpe [switch.poolpumpe].",
|
|
"natural_language": {
|
|
"trigger": "When the Pool pump period timer [timer.pool_pump_period] begins, or when the Poolpumpe switch [switch.poolpumpe] is turned on.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Starts the Pool pump duration timer [timer.pool_pump_duration] for a length of time derived from the value of the input_number.pool_pump_duration_period entity, and also turns on the Poolpumpe switch [switch.poolpumpe]."
|
|
},
|
|
"human_like": "Starts the pool pump and its runtime timer when a schedule timer begins or the pump is manually switched on, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_pool_pump_stop",
|
|
"result": {
|
|
"structured": "TRIGGER: When timer Pool pump duration [timer.pool_pump_duration] finishes. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn off Poolpumpe [switch.poolpumpe].",
|
|
"natural_language": {
|
|
"trigger": "When the Pool pump duration [timer.pool_pump_duration] timer finishes.",
|
|
"conditions": "If the production mode [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "Turns off the pool pump by switching off Poolpumpe [switch.poolpumpe]."
|
|
},
|
|
"human_like": "Automatically stops the pool pump when its timer runs out, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_waterpump_emegency_stop",
|
|
"result": {
|
|
"structured": "TRIGGER: When the power sensor [sensor.wasserpumpe_power] exceeds the threshold set by Waterpump emergency stop power threshold [input_number.waterpump_emergency_stop_power_threshold] for the duration set by Waterpump emergency stop duration [input_number.waterpump_emergency_stop_duration] minutes. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Send a notification via simplepush with a message indicating an emergency stop due to power exceeding the threshold for the specified duration, and turn off Wasserpumpe [switch.wasserpumpe].",
|
|
"natural_language": {
|
|
"trigger": "When the power consumption of the water pump, as measured by sensor.wasserpumpe_power, remains higher than the configured emergency power threshold for a specified number of minutes.",
|
|
"conditions": "The system must be in production mode, indicated by the binary_sensor.prod_mode being on.",
|
|
"action": "Send a push notification with details about the emergency stop, including the power threshold and duration, and then turn off the water pump switch to stop its operation."
|
|
},
|
|
"human_like": "Automatically shuts off the garden water pump and sends an alert if its power consumption is too high for too long, preventing potential damage.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_mower_start",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in Mowing Start [input_datetime.mowing_start]. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Mowing Activated [input_boolean.mowing_activated] is on AND (today is Monday AND Mowing at Monday [input_boolean.mowing_at_monday] is on OR today is Tuesday AND Mowing at Tuesday [input_boolean.mowing_at_tuesday] is on OR today is Wednesday AND Mowing at Wednesday [input_boolean.mowing_at_wednesday] is on OR today is Thursday AND Mowing at Thursday [input_boolean.mowing_at_thursday] is on OR today is Friday AND Mowing at Friday [input_boolean.mowing_at_friday] is on OR today is Saturday AND Mowing at Saturday [input_boolean.mowing_at_saturday] is on OR today is Sunday AND Mowing at Sunday [input_boolean.mowing_at_sunday] is on). ACTIONS: Start an override for Sileno lawn mower [lawn_mower.sileno] with a duration calculated as the difference in seconds between the time set in Mowing End [input_datetime.mowing_end] and the time set in Mowing Start [input_datetime.mowing_start] for today.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at the specific time of day configured in the Mowing Start [input_datetime.mowing_start] entity.",
|
|
"conditions": "All of the following must be true: the system must be in production mode (production mode [binary_sensor.prod_mode] is on), the mowing feature must be activated (Mowing Activated [input_boolean.mowing_activated] is on), and today must be a day where mowing is scheduled. The schedule is determined by checking which day of the week it is (Monday through Sunday) and verifying that the corresponding input boolean (e.g., Mowing at Monday [input_boolean.mowing_at_monday]) is turned on for that day.",
|
|
"action": "It commands the Sileno lawn mower [lawn_mower.sileno] to start an override mowing session. The duration of this session is automatically calculated based on the start and end times configured in the Mowing Start [input_datetime.mowing_start] and Mowing End [input_datetime.mowing_end] entities for the current day."
|
|
},
|
|
"human_like": "Starts the robotic lawn mower at a scheduled time on enabled days, provided the system is in production mode and mowing is activated.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "garden_mower_end",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in Mowing End [input_datetime.mowing_end]. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Pause Sileno lawn mower [lawn_mower.sileno].",
|
|
"natural_language": {
|
|
"trigger": "At the specific time set in the Mowing End [input_datetime.mowing_end] entity.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends a command to pause the Sileno lawn mower [lawn_mower.sileno]."
|
|
},
|
|
"human_like": "Pauses the robotic lawn mower at a scheduled end time, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gas_meter_send_threshold_high",
|
|
"result": {
|
|
"structured": "TRIGGER: When Gas Meter Threshold High [input_number.gas_meter_threshold_high] changes state. CONDITIONS: None. ACTIONS: Publish an MQTT message to the topic 'nodes@home/sensor/magnetic/utilityroom/service/threshold_high' with a payload containing the state of Gas Meter Threshold High [input_number.gas_meter_threshold_high], using QoS 1 and retain flag set to true.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Gas Meter Threshold High [input_number.gas_meter_threshold_high] input number changes.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Sends the current value of the Gas Meter Threshold High [input_number.gas_meter_threshold_high] to an MQTT broker on the topic 'nodes@home/sensor/magnetic/utilityroom/service/threshold_high', ensuring the message is delivered reliably and persists for new subscribers."
|
|
},
|
|
"human_like": "Sends the high gas meter threshold value to an external MQTT service whenever it is updated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gas_meter_send_threshold_low",
|
|
"result": {
|
|
"structured": "TRIGGER: When Gas Meter Threshold Low [input_number.gas_meter_threshold_low] changes state. CONDITIONS: None. ACTIONS: Publish the current state of Gas Meter Threshold Low [input_number.gas_meter_threshold_low] via MQTT to topic 'nodes@home/sensor/magnetic/utilityroom/service/threshold_low' with QoS 1 and retain flag set to true.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Gas Meter Threshold Low [input_number.gas_meter_threshold_low] input number changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends the updated threshold value by publishing it to an MQTT topic, ensuring the message is retained and delivered with quality of service level 1."
|
|
},
|
|
"human_like": "Sends the low gas meter threshold value to an MQTT service whenever it is updated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "gas_meter_send_delay",
|
|
"result": {
|
|
"structured": "TRIGGER: When Gas Meter Delay [input_number.gas_meter_delay] changes state. CONDITIONS: None. ACTIONS: Publish the current state of Gas Meter Delay [input_number.gas_meter_delay] to the MQTT topic 'nodes@home/sensor/magnetic/utilityroom/service/delay' with QoS 1 and retain flag set to true.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Gas Meter Delay [input_number.gas_meter_delay] changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends the current value of the Gas Meter Delay [input_number.gas_meter_delay] to a specific MQTT topic, ensuring the message is delivered reliably and stored for new subscribers."
|
|
},
|
|
"human_like": "Sends the gas meter delay setting to an MQTT device whenever it is updated.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "heating_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When Thermostat HC1 mode [select.thermostat_hc1_mode] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: For each room in the list [arbeitszimmer, bad, dusche, esszimmer, flur, galerie, kinderzimmer, kuche, schlafzimmer, wohnzimmer, hauswirtschaftsraum], perform the following: IF Thermostat HC1 mode [select.thermostat_hc1_mode] is 'nofrost', THEN turn off climate.room_climate_{{ room }}. IF Thermostat HC1 mode [select.thermostat_hc1_mode] is 'eco', THEN set climate.room_climate_{{ room }} HVAC mode to heat AND set climate.room_climate_{{ room }} preset mode to eco. IF Thermostat HC1 mode [select.thermostat_hc1_mode] is 'heat' OR 'auto', THEN set climate.room_climate_{{ room }} HVAC mode to heat AND set climate.room_climate_{{ room }} temperature to the value of input_number.heating_templevel_{{ states('input_select.heating_templevel_' + room) }}.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Thermostat HC1 mode [select.thermostat_hc1_mode] changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "The automation adjusts the climate settings for a list of rooms (arbeitszimmer, bad, dusche, esszimmer, flur, galerie, kinderzimmer, kuche, schlafzimmer, wohnzimmer, hauswirtschaftsraum). For each room, it checks the new thermostat mode. If the mode is 'nofrost', it turns off the room's climate control. If the mode is 'eco', it sets the room's climate to heating mode and applies the 'eco' preset. If the mode is 'heat' or 'auto', it sets the room's climate to heating mode and sets the target temperature based on a linked input number, which is selected by a corresponding input select entity for that room."
|
|
},
|
|
"human_like": "This automation centrally controls the heating mode for all rooms based on a main thermostat setting, ensuring the system is only active when production mode is on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "heating_update_room",
|
|
"result": {
|
|
"structured": "TRIGGER: When Heating temperature level Arbeitszimmer [input_select.heating_templevel_arbeitszimmer] changes state OR When Heating temperature level Bad [input_select.heating_templevel_bad] changes state OR When Heating temperature level Dusche [input_select.heating_templevel_dusche] changes state OR When Heating temperature level Esszimmer [input_select.heating_templevel_esszimmer] changes state OR When Heating temperature level Flur [input_select.heating_templevel_flur] changes state OR When Heating temperature level Galerie [input_select.heating_templevel_galerie] changes state OR When Heating temperature level Kinderzimmer [input_select.heating_templevel_kinderzimmer] changes state OR When Heating temperature level Küche [input_select.heating_templevel_kuche] changes state OR When Heating temperature level Schlafzimmer [input_select.heating_templevel_schlafzimmer] changes state OR When Heating temperature level Wohnzimmer [input_select.heating_templevel_wohnzimmer] changes state OR When Heating temperature level Hauswirtschaftsraum [input_select.heating_templevel_hauswirtschaftsraum] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Set the temperature for the climate entity corresponding to the triggering room (climate.room_climate_<room_name>) to the value of the input_number entity named 'heating_templevel_' + the selected value from the triggering input_select.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selected temperature level changes for any of the room-specific input_select entities, such as Heating temperature level Arbeitszimmer [input_select.heating_templevel_arbeitszimmer], Heating temperature level Bad [input_select.heating_templevel_bad], and so on for all listed rooms.",
|
|
"conditions": "The system must be in production mode, meaning the production mode [binary_sensor.prod_mode] sensor is on.",
|
|
"action": "The automation updates the target temperature for the climate control in the corresponding room. It calculates the target climate entity based on the room name from the triggering input_select and sets its temperature to the numeric value stored in an input_number entity. This input_number's name is constructed by combining 'heating_templevel_' with the current selection from the triggering input_select."
|
|
},
|
|
"human_like": "Updates the heating temperature in a room whenever its target temperature level is changed, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "heating_update_templevel",
|
|
"result": {
|
|
"structured": "TRIGGER: When Heating Templevel Low [input_number.heating_templevel_low] changes state OR When Heating Templevel Standard [input_number.heating_templevel_standard] changes state OR When Heating Templevel Comfort [input_number.heating_templevel_comfort] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: For each room in the list (arbeitszimmer, bad, dusche, esszimmer, flur, galerie, kinderzimmer, kuche, schlafzimmer, wohnzimmer, hauswirtschaftsraum): If the room's temperature level selector (input_select.heating_templevel_<room>) is set to the level that changed (low, standard, or comfort), then set the climate entity for that room (climate.room_climate_<room>) to the new temperature value of the changed input_number (input_number.heating_templevel_<level>).",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of any of the three temperature level inputs (Heating Templevel Low [input_number.heating_templevel_low], Heating Templevel Standard [input_number.heating_templevel_standard], or Heating Templevel Comfort [input_number.heating_templevel_comfort]) changes.",
|
|
"conditions": "The system must be in production mode, meaning the production mode [binary_sensor.prod_mode] sensor is on.",
|
|
"action": "The automation determines which temperature level (low, standard, or comfort) was changed based on the triggered entity. It then goes through a predefined list of rooms. For each room, it checks if that room's temperature level selector is currently set to the level that was just updated. If it is, the automation sets the target temperature for that room's climate controller to the new value of the updated temperature level input."
|
|
},
|
|
"human_like": "Updates the target temperature for any room that is using a recently changed global temperature preset (Low, Standard, or Comfort) when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "circulating_pump_set_datetimes",
|
|
"result": {
|
|
"structured": "TRIGGER: When Standup Workday [input_datetime.standup_workday] changes state OR When Sleep [input_datetime.sleep] changes state OR When Standup Weekend [input_datetime.standup_weekend] changes state OR When Circulating Pump Schedule After Standup [input_number.circulating_pump_schedule_after_standup] changes state OR When Circulating Pump Schedule Before Sleeping [input_number.circulating_pump_schedule_before_sleeping] changes state OR When Home Assistant starts OR When an automation_reloaded event occurs. CONDITIONS: None. ACTIONS: Set Circulating Pump Scheduling After Standup Workday [input_datetime.circulating_pump_scheduling_after_standup_workday] time to Standup Workday [input_datetime.standup_workday] time plus Circulating Pump Schedule After Standup [input_number.circulating_pump_schedule_after_standup] hours. Set Circulating Pump Scheduling After Standup Weekend [input_datetime.circulating_pump_scheduling_after_standup_weekend] time to Standup Weekend [input_datetime.standup_weekend] time plus Circulating Pump Schedule After Standup [input_number.circulating_pump_schedule_after_standup] hours. Set Circulating Pump Scheduling Before Sleeping [input_datetime.circulating_pump_scheduling_before_sleeping] time to Sleep [input_datetime.sleep] time minus Circulating Pump Schedule Before Sleeping [input_number.circulating_pump_schedule_before_sleeping] hours.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever the Standup Workday [input_datetime.standup_workday], Sleep [input_datetime.sleep], or Standup Weekend [input_datetime.standup_weekend] times are changed. It also triggers when the Circulating Pump Schedule After Standup [input_number.circulating_pump_schedule_after_standup] or Circulating Pump Schedule Before Sleeping [input_number.circulating_pump_schedule_before_sleeping] values are adjusted. Additionally, it runs when Home Assistant starts up or when automations are reloaded.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It calculates and sets three separate schedule times. It sets the 'Circulating Pump Scheduling After Standup Workday' [input_datetime.circulating_pump_scheduling_after_standup_workday] to the workday standup time plus the configured offset hours. It sets the 'Circulating Pump Scheduling After Standup Weekend' [input_datetime.circulating_pump_scheduling_after_standup_weekend] to the weekend standup time plus the same offset hours. Finally, it sets the 'Circulating Pump Scheduling Before Sleeping' [input_datetime.circulating_pump_scheduling_before_sleeping] to the sleep time minus a different configured offset hours."
|
|
},
|
|
"human_like": "This automation updates the circulating pump schedule times whenever the user's daily routine times (like wake-up and bedtime) or schedule offsets are changed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "circulating_pump_start_scheduling",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches Standup Workday [input_datetime.standup_workday] OR when the time reaches Standup Weekend [input_datetime.standup_weekend] OR when family group [group.family] changes state to home OR when the time reaches Circulating Pump Scheduling Before Sleeping [input_datetime.circulating_pump_scheduling_before_sleeping]. CONDITIONS: family group [group.family] is home AND ((Workday Sensor [binary_sensor.workday_sensor] is on AND current time is after Standup Workday [input_datetime.standup_workday] AND before Circulating Pump Scheduling After Standup Workday [input_datetime.circulating_pump_scheduling_after_standup_workday]) OR (Workday Sensor [binary_sensor.workday_sensor] is off AND current time is after Standup Weekend [input_datetime.standup_weekend] AND before Circulating Pump Scheduling After Standup Weekend [input_datetime.circulating_pump_scheduling_after_standup_weekend]) OR (current time is after Circulating Pump Scheduling Before Sleeping [input_datetime.circulating_pump_scheduling_before_sleeping] AND before Sleep [input_datetime.sleep])). ACTIONS: Turn on Circulating Pump Scheduled [input_boolean.circulating_pump_scheduled].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at specific times: at the Standup Workday [input_datetime.standup_workday] time, at the Standup Weekend [input_datetime.standup_weekend] time, at the Circulating Pump Scheduling Before Sleeping [input_datetime.circulating_pump_scheduling_before_sleeping] time, or whenever the family group [group.family] arrives home.",
|
|
"conditions": "The family group [group.family] must be at home. Additionally, one of the following time-based conditions must be true: if it's a workday (Workday Sensor [binary_sensor.workday_sensor] is on), the current time must be between the Standup Workday [input_datetime.standup_workday] time and the Circulating Pump Scheduling After Standup Workday [input_datetime.circulating_pump_scheduling_after_standup_workday] time. If it's not a workday (Workday Sensor [binary_sensor.workday_sensor] is off), the current time must be between the Standup Weekend [input_datetime.standup_weekend] time and the Circulating Pump Scheduling After Standup Weekend [input_datetime.circulating_pump_scheduling_after_standup_weekend] time. Alternatively, the current time must be between the Circulating Pump Scheduling Before Sleeping [input_datetime.circulating_pump_scheduling_before_sleeping] time and the Sleep [input_datetime.sleep] time.",
|
|
"action": "It turns on the Circulating Pump Scheduled [input_boolean.circulating_pump_scheduled] status."
|
|
},
|
|
"human_like": "Schedules the circulating pump to run at specific times of day, such as after waking up or before bed, but only when someone is home.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "circulating_pump_stop_scheduling",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in Sleep [input_datetime.sleep] OR When family group [group.family] becomes not_home OR When sony kd 55ag9 remote [remote.sony_kd_55ag9] turns off (from on) and remains off for a duration equal to the integer value of TV off lights off delay 1 [input_number.tvoff_lightsoff_delay1] minutes. CONDITIONS: None. ACTIONS: Turn off Circulating Pump Scheduled [input_boolean.circulating_pump_scheduled].",
|
|
"natural_language": {
|
|
"trigger": "This automation can start at three different moments: when the scheduled 'sleep' time arrives, when everyone leaves home (the family group shows 'not_home'), or when the Sony TV remote turns off and stays off for a specific number of minutes defined by the 'TV off lights off delay 1' setting.",
|
|
"conditions": "There are no conditions that need to be checked for this automation to run.",
|
|
"action": "It turns off the 'Circulating Pump Scheduled' status indicator."
|
|
},
|
|
"human_like": "Stops the scheduled circulation pump when it's bedtime, everyone is away, or the TV has been off for a while.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "circulating_pump_stop_scheduling_after_standup_workday",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in Circulating Pump Scheduling After Standup Workday [input_datetime.circulating_pump_scheduling_after_standup_workday]. CONDITIONS: Workday Sensor [binary_sensor.workday_sensor] is on. ACTIONS: Turn off Circulating Pump Scheduled [input_boolean.circulating_pump_scheduled].",
|
|
"natural_language": {
|
|
"trigger": "At the specific time set in the input datetime entity 'Circulating Pump Scheduling After Standup Workday' [input_datetime.circulating_pump_scheduling_after_standup_workday].",
|
|
"conditions": "The automation only runs if the Workday Sensor [binary_sensor.workday_sensor] indicates that it is a workday.",
|
|
"action": "It turns off the 'Circulating Pump Scheduled' [input_boolean.circulating_pump_scheduled] input boolean."
|
|
},
|
|
"human_like": "Stops the scheduled operation of the circulating pump at a set time on workdays.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "circulating_pump_stop_scheduling_after_standup_weekend",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in Circulating Pump Scheduling After Standup Weekend [input_datetime.circulating_pump_scheduling_after_standup_weekend]. CONDITIONS: Workday Sensor [binary_sensor.workday_sensor] is off. ACTIONS: Turn off Circulating Pump Scheduled [input_boolean.circulating_pump_scheduled].",
|
|
"natural_language": {
|
|
"trigger": "At the specific time set in the Circulating Pump Scheduling After Standup Weekend [input_datetime.circulating_pump_scheduling_after_standup_weekend].",
|
|
"conditions": "The Workday Sensor [binary_sensor.workday_sensor] must indicate it is not a workday (state is off).",
|
|
"action": "Turns off the Circulating Pump Scheduled [input_boolean.circulating_pump_scheduled] input boolean."
|
|
},
|
|
"human_like": "Stops the circulating pump schedule on weekends after a specific morning time.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "circulating_pump_switching",
|
|
"result": {
|
|
"structured": "TRIGGER: Every minute (time pattern). CONDITIONS: production mode [binary_sensor.prod_mode] is on AND (current time in minutes since midnight modulo Circulating Pump On Period [input_number.circulating_pump_on_period] equals 0) AND Circulating Pump Activated [input_boolean.circulating_pump_activated] is on AND Circulating Pump Scheduled [input_boolean.circulating_pump_scheduled] is on. ACTIONS: Turn on Shelly utilityroom circulating pump [switch.shelly_utilityroom_circulatingpump], delay for the number of minutes specified by Circulating Pump On Duration [input_number.circulating_pump_on_duration], then turn off Shelly utilityroom circulating pump [switch.shelly_utilityroom_circulatingpump].",
|
|
"natural_language": {
|
|
"trigger": "The automation checks every minute.",
|
|
"conditions": "All of the following must be true: the production mode [binary_sensor.prod_mode] is active, the current time aligns with the scheduled period defined by the Circulating Pump On Period [input_number.circulating_pump_on_period], the Circulating Pump Activated [input_boolean.circulating_pump_activated] is switched on, and the Circulating Pump Scheduled [input_boolean.circulating_pump_scheduled] is also switched on.",
|
|
"action": "It turns on the Shelly utilityroom circulating pump [switch.shelly_utilityroom_circulatingpump], waits for a specific duration defined by the Circulating Pump On Duration [input_number.circulating_pump_on_duration], and then turns the pump off."
|
|
},
|
|
"human_like": "Automatically runs the circulating pump for a set duration at regular intervals when scheduling is enabled and the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "circulating_pump_running_disinfection",
|
|
"result": {
|
|
"structured": "TRIGGER: When Circulating Pump Running Above Temp [input_number.circulating_pump_running_above_temp] changes state OR When Boiler DHW current temperature [sensor.boiler_dhw_curtemp] changes state OR When Shelly utilityroom circulating pump [switch.shelly_utilityroom_circulatingpump] changes state OR When Circulating Pump Running Disinfection [input_boolean.circulating_pump_running_disinfection] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Choose based on conditions: IF Shelly utilityroom circulating pump [switch.shelly_utilityroom_circulatingpump] is off AND Boiler DHW current temperature [sensor.boiler_dhw_curtemp] is greater than or equal to Circulating Pump Running Above Temp [input_number.circulating_pump_running_above_temp] THEN turn on Shelly utilityroom circulating pump [switch.shelly_utilityroom_circulatingpump] AND turn on Circulating Pump Running Disinfection [input_boolean.circulating_pump_running_disinfection]. ELSE IF Circulating Pump Running Disinfection [input_boolean.circulating_pump_running_disinfection] is on AND Boiler DHW current temperature [sensor.boiler_dhw_curtemp] is less than Circulating Pump Running Above Temp [input_number.circulating_pump_running_above_temp] THEN turn off Shelly utilityroom circulating pump [switch.shelly_utilityroom_circulatingpump] AND turn off Circulating Pump Running Disinfection [input_boolean.circulating_pump_running_disinfection].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs when any of the following changes state: the temperature threshold for the circulating pump, the current boiler hot water temperature, the circulating pump switch itself, or the disinfection status flag.",
|
|
"conditions": "The automation only runs if the production mode is currently active.",
|
|
"action": "If the circulating pump is off and the boiler hot water temperature is at or above the configured threshold, the pump is turned on and the disinfection status is set to on. If the disinfection status is already on but the boiler temperature drops below the threshold, the pump is turned off and the disinfection status is set to off."
|
|
},
|
|
"human_like": "Automatically runs the hot water circulating pump for disinfection when the boiler water is hot enough, and stops it when the water cools down, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "heating_update_remote_thermostat",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every minute OR when Thermostat HC1 control [select.thermostat_hc1_control] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: IF Thermostat HC1 control [select.thermostat_hc1_control] is off THEN IF Thermostat HC1 room temperature from remote [number.thermostat_hc1_room_temperature_from_remote] is above -1 THEN set Thermostat HC1 room temperature from remote [number.thermostat_hc1_room_temperature_from_remote] to -1. ELSE set Thermostat HC1 room temperature from remote [number.thermostat_hc1_room_temperature_from_remote] to the current_temperature attribute of the climate entity named 'climate.room_climate_' concatenated with the lowercased state of input_select.heating_leading_room_remote_thermostat.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every minute, or whenever the Thermostat HC1 control [select.thermostat_hc1_control] changes its state.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is turned on.",
|
|
"action": "If the Thermostat HC1 control [select.thermostat_hc1_control] is set to 'off', it checks if the Thermostat HC1 room temperature from remote [number.thermostat_hc1_room_temperature_from_remote] is greater than -1. If it is, it sets that temperature value to -1. Otherwise, if the control is not 'off', it sets the Thermostat HC1 room temperature from remote [number.thermostat_hc1_room_temperature_from_remote] to the current temperature of a specific climate entity. This climate entity is determined by combining 'climate.room_climate_' with the lowercased value of the input_select.heating_leading_room_remote_thermostat."
|
|
},
|
|
"human_like": "Updates a remote thermostat temperature reading based on the heating control mode, ensuring it shows -1 when heating is off or the actual room temperature when it's on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_send_effect_delay",
|
|
"result": {
|
|
"structured": "TRIGGER: When Effect Delay [input_number.effect_delay] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Publish MQTT message to topic 'nodes@home/light/ws2812/terrace1/service/set' with payload '{\"delay\":<triggered_value>}'. Publish MQTT message to topic 'nodes@home/light/ws2812/terrace2/service/set' with payload '{\"delay\":<triggered_value>}'. Publish MQTT message to topic 'nodes@home/light/ws2812/office/service/set' with payload '{\"delay\":<triggered_value>}'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Effect Delay [input_number.effect_delay] input number changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is currently switched on.",
|
|
"action": "Sends the new delay value to three different MQTT topics to control the delay setting for the terrace1, terrace2, and office WS2812 light strips."
|
|
},
|
|
"human_like": "Updates the animation delay for the outdoor and office LED strips whenever the delay setting is changed, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_on_at_coming_home_or_sunset",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] changes state to home OR When sunset occurs OR When a bosch_shc.event of type SCENARIO and subtype 'Licht an' is received. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND The current time is after sunset AND The current time is before Sleep [input_datetime.sleep] AND (family group [group.family] is home OR Light Simulation [input_boolean.light_simulation] is on). ACTIONS: Turn on Automatic indoor lights immediatly switched off [light.automatic_indoor_lights_immediatly_switched_off] AND Automatic indoor lights delayed switched off [light.automatic_indoor_lights_delayed_switched_off].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the family group [group.family] arrives home, at sunset, or when a specific Bosch SHC event (SCENARIO: Licht an) is received.",
|
|
"conditions": "All of the following must be true: the system must be in production mode [binary_sensor.prod_mode], the current time must be after sunset and before the time set in Sleep [input_datetime.sleep], and either the family group [group.family] is home or the Light Simulation [input_boolean.light_simulation] is active.",
|
|
"action": "Turns on the two light groups: Automatic indoor lights immediatly switched off [light.automatic_indoor_lights_immediatly_switched_off] and Automatic indoor lights delayed switched off [light.automatic_indoor_lights_delayed_switched_off]."
|
|
},
|
|
"human_like": "Turns on the indoor lights automatically when someone comes home, at sunset, or via a Bosch SHC command, provided it's evening and the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_by_night_on_at_coming_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] changes to home OR when a bosch_shc.event of type SCENARIO and subtype Licht an occurs. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND the current time is after sunset AND the current time is after Sleep [input_datetime.sleep] AND before Nightlight End [input_datetime.nightlight_end] AND family group [group.family] is home. ACTIONS: Turn on Automatic indoor lights by night [light.automatic_indoor_lights_by_night], wait for the number of minutes specified by Nightlight Duration [input_number.nightlight_duration], then turn off Automatic indoor lights by night [light.automatic_indoor_lights_by_night].",
|
|
"natural_language": {
|
|
"trigger": "The automation can be triggered in two ways: when the family group [group.family] arrives home, or when a specific Bosch SHC event named 'Licht an' is received.",
|
|
"conditions": "All of the following must be true: the system must be in production mode [binary_sensor.prod_mode], it must be after sunset, the current time must be between the Sleep [input_datetime.sleep] and Nightlight End [input_datetime.nightlight_end] times, and the family group [group.family] must be at home.",
|
|
"action": "The automation turns on the Automatic indoor lights by night [light.automatic_indoor_lights_by_night], waits for a duration defined by the Nightlight Duration [input_number.nightlight_duration] setting, and then turns the lights off again."
|
|
},
|
|
"human_like": "Turns on specific indoor lights for a set duration when someone comes home at night, ensuring it only runs during the configured sleep-to-nightlight period.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_off_at_getting_out_or_sunrise",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] remains not_home for 1 minute OR sunrise occurs OR a Bosch SHC event of type SCENARIO with subtype Licht aus is received. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Activate Kitchen background light [scene.kitchen_background_light] AND turn off Automatic indoor lights immediatly switched off [light.automatic_indoor_lights_immediatly_switched_off], Automatic indoor lights delayed switched off [light.automatic_indoor_lights_delayed_switched_off], Automatic indoor lights immediatly switched off extra [light.automatic_indoor_lights_immediatly_switched_off_extra], Automatic indoor lights delayed switched off extra [light.automatic_indoor_lights_delayed_switched_off_extra], and Automatic indoor lights sunrise switched off extra [light.automatic_indoor_lights_sunrise_switched_off_extra].",
|
|
"natural_language": {
|
|
"trigger": "When everyone in the family group [group.family] has been away for at least one minute, or at sunrise, or when a specific Bosch SHC system event (SCENARIO: Licht aus) is received.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active.",
|
|
"action": "Turns on the Kitchen background light [scene.kitchen_background_light] and turns off a set of five specific light groups: Automatic indoor lights immediatly switched off [light.automatic_indoor_lights_immediatly_switched_off], Automatic indoor lights delayed switched off [light.automatic_indoor_lights_delayed_switched_off], Automatic indoor lights immediatly switched off extra [light.automatic_indoor_lights_immediatly_switched_off_extra], Automatic indoor lights delayed switched off extra [light.automatic_indoor_lights_delayed_switched_off_extra], and Automatic indoor lights sunrise switched off extra [light.automatic_indoor_lights_sunrise_switched_off_extra]."
|
|
},
|
|
"human_like": "Turns off most indoor lights and sets a background scene when the house is empty, at sunrise, or when a specific 'lights off' command is received from the Bosch system.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_off_when_tv_switched_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When sony kd 55ag9 remote [remote.sony_kd_55ag9] changes from on to off AND remains off for 1 minute. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND current time is after TV Off Period Start [input_datetime.tv_off_period_start] AND before TV Off Period End [input_datetime.tv_off_period_end]. ACTIONS: Delay for (TV off lights off delay 1 [input_number.tvoff_lightsoff_delay1] value minus 1) minutes, then activate Kitchen background light [scene.kitchen_background_light], then turn off Automatic indoor lights immediatly switched off [light.automatic_indoor_lights_immediatly_switched_off] AND Automatic indoor lights immediatly switched off extra [light.automatic_indoor_lights_immediatly_switched_off_extra], then delay for (TV off lights off delay 2 [input_number.tvoff_lightsoff_delay2] value minus TV off lights off delay 1 [input_number.tvoff_lightsoff_delay1] value) minutes, then turn off Automatic indoor lights delayed switched off [light.automatic_indoor_lights_delayed_switched_off] AND Automatic indoor lights delayed switched off extra [light.automatic_indoor_lights_delayed_switched_off_extra] AND Fernseher [switch.fernseher].",
|
|
"natural_language": {
|
|
"trigger": "When the sony kd 55ag9 remote [remote.sony_kd_55ag9] is switched off and stays off for one minute.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active, and the current time falls within a defined period between the TV Off Period Start [input_datetime.tv_off_period_start] and the TV Off Period End [input_datetime.tv_off_period_end].",
|
|
"action": "After a short initial delay based on the value of TV off lights off delay 1 [input_number.tvoff_lightsoff_delay1], the Kitchen background light [scene.kitchen_background_light] is turned on. Then, a set of lights (Automatic indoor lights immediatly switched off [light.automatic_indoor_lights_immediatly_switched_off] and its extra counterpart) are turned off. After a second delay calculated from the values of TV off lights off delay 1 [input_number.tvoff_lightsoff_delay1] and TV off lights off delay 2 [input_number.tvoff_lightsoff_delay2], another set of lights (Automatic indoor lights delayed switched off [light.automatic_indoor_lights_delayed_switched_off] and its extra counterpart) and the Fernseher [switch.fernseher] are turned off."
|
|
},
|
|
"human_like": "Turns off indoor lights and the TV in stages after the TV remote is switched off, but only during a scheduled evening period.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_off_after_random_delay",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in Sleep [input_datetime.sleep]. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Light Simulation [input_boolean.light_simulation] is on. ACTIONS: Wait for a random delay between 0 and (the integer value of Max Random Off Duration [input_number.max_random_off_duration]) minutes. Then, activate the Kitchen background light [scene.kitchen_background_light] scene. Finally, turn off the following lights: Automatic indoor lights immediatly switched off [light.automatic_indoor_lights_immediatly_switched_off], Automatic indoor lights delayed switched off [light.automatic_indoor_lights_delayed_switched_off], Automatic indoor lights immediatly switched off extra [light.automatic_indoor_lights_immediatly_switched_off_extra], and Automatic indoor lights delayed switched off extra [light.automatic_indoor_lights_delayed_switched_off_extra].",
|
|
"natural_language": {
|
|
"trigger": "The automation runs at the specific time set in the Sleep [input_datetime.sleep] input.",
|
|
"conditions": "Two conditions must be met: the system must be in production mode [binary_sensor.prod_mode], and the Light Simulation [input_boolean.light_simulation] feature must be turned on.",
|
|
"action": "After a randomly calculated wait time, the automation first turns on the Kitchen background light [scene.kitchen_background_light] scene. It then proceeds to turn off a specific group of indoor lights, which includes lights marked for immediate and delayed switching off."
|
|
},
|
|
"human_like": "At bedtime, if light simulation is active, it randomly delays before turning on a kitchen scene and switching off all automatic indoor lights.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_simulation_off_at_coming_home",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] changes to home. CONDITIONS: Light Simulation [input_boolean.light_simulation] is on. ACTIONS: Turn off Light Simulation [input_boolean.light_simulation].",
|
|
"natural_language": {
|
|
"trigger": "When the family group [group.family] arrives home.",
|
|
"conditions": "If the Light Simulation [input_boolean.light_simulation] is currently turned on.",
|
|
"action": "Turns off the Light Simulation [input_boolean.light_simulation]."
|
|
},
|
|
"human_like": "Turns off the light simulation when someone arrives home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_attic_light_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When Dachboden [binary_sensor.dachboden] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: If Dachboden [binary_sensor.dachboden] changed to on, turn on Shelly Dachboden [light.shelly_dachboden]. If Dachboden [binary_sensor.dachboden] changed to off, turn off Shelly Dachboden [light.shelly_dachboden].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Dachboden [binary_sensor.dachboden] sensor changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "The light in the attic is toggled to match the sensor's state. If the Dachboden sensor turns on, the Shelly Dachboden [light.shelly_dachboden] light is turned on. If the sensor turns off, the light is turned off."
|
|
},
|
|
"human_like": "Turns the attic light on or off to match the state of the attic sensor, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_off_after_timeout",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following lights remains on for a duration equal to the value of Light Timeout [input_number.light_timeout] minutes: Deckenlicht Bad [light.deckenlicht_bad], Deckenlicht Dusche [light.deckenlicht_dusche], Shelly Treppe [light.shelly_treppe], Shelly Flur [light.shelly_flur], Shelly Korridor [light.shelly_korridor]. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Sun [sun.sun] is above_horizon. ACTIONS: Turn off the specific light that triggered the automation.",
|
|
"natural_language": {
|
|
"trigger": "When any of the listed indoor lights (Deckenlicht Bad [light.deckenlicht_bad], Deckenlicht Dusche [light.deckenlicht_dusche], Shelly Treppe [light.shelly_treppe], Shelly Flur [light.shelly_flur], or Shelly Korridor [light.shelly_korridor]) has been turned on and remains on for a period defined by the Light Timeout [input_number.light_timeout] setting.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active, and it is daytime, meaning the Sun [sun.sun] is above the horizon.",
|
|
"action": "Turns off the specific light that triggered the automation after the timeout period."
|
|
},
|
|
"human_like": "Automatically turns off indoor lights after a configurable timeout during the day, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_ikea_jetstrom",
|
|
"result": {
|
|
"structured": "TRIGGER: When Shelly Bad Input 0 [binary_sensor.shelly_bad_input_0] changes state OR When Shelly Dusche Input 0 [binary_sensor.shelly_dusche_input_0] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: If the triggering sensor changed to 'on', turn on the light.deckenlicht_{{ room }} light, where {{ room }} is derived from the triggering entity_id. If the triggering sensor changed to 'off', turn off the light.deckenlicht_{{ room }} light.",
|
|
"natural_language": {
|
|
"trigger": "When the state of either the Shelly Bad Input 0 [binary_sensor.shelly_bad_input_0] or the Shelly Dusche Input 0 [binary_sensor.shelly_dusche_input_0] changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Based on the new state of the sensor that triggered the automation, the corresponding ceiling light is turned on or off. The specific light is determined by extracting a room identifier from the sensor's entity ID."
|
|
},
|
|
"human_like": "Turns a ceiling light on or off based on the state of a specific sensor, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_indoor_lights_on_at_opening_door",
|
|
"result": {
|
|
"structured": "TRIGGER: When Eingangstur [binary_sensor.eingangstur] changes to on. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Sun [sun.sun] is below_horizon. ACTIONS: Turn on Shelly Flur [light.shelly_flur].",
|
|
"natural_language": {
|
|
"trigger": "When the Eingangstur [binary_sensor.eingangstur] door sensor indicates the door is opened.",
|
|
"conditions": "The system must be in production mode, indicated by production mode [binary_sensor.prod_mode] being on, and the sun must be below the horizon.",
|
|
"action": "Turn on the Shelly Flur [light.shelly_flur] light."
|
|
},
|
|
"human_like": "Turns on the hallway light when the entrance door is opened, but only when it's dark outside and the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_bedroom_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When TTP223 Bedroom Touch1 [binary_sensor.ttp223_bedroom_touch1] turns on OR When TTP223 Bedroom Touch2 [binary_sensor.ttp223_bedroom_touch2] turns on OR When TTP223 Bedroom Touch3 [binary_sensor.ttp223_bedroom_touch3] turns on OR When TTP223 Bedroom Touch4 [binary_sensor.ttp223_bedroom_touch4] turns on. CONDITIONS: Touch Bedroom Activated [input_boolean.touch_bedroom_activated] is on. ACTIONS: Toggle Sonoff bedroom socket [light.sonoff_bedroom_socket].",
|
|
"natural_language": {
|
|
"trigger": "When any of the four touch sensors in the bedroom (TTP223 Bedroom Touch1, Touch2, Touch3, or Touch4) is activated (turns on).",
|
|
"conditions": "The automation is only active if the Touch Bedroom Activated [input_boolean.touch_bedroom_activated] switch is turned on.",
|
|
"action": "Toggles the state of the bedroom light (Sonoff bedroom socket [light.sonoff_bedroom_socket]), turning it on if it's off, or off if it's on."
|
|
},
|
|
"human_like": "Toggles the bedroom light on or off when any of the four touch sensors in the room is pressed, provided the touch control feature is enabled.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_kitchen_desk_toggle",
|
|
"result": {
|
|
"structured": "TRIGGER: When Gesture Kitchen [binary_sensor.gesture_kitchen] turns on. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Gesture Kitchen Activated [input_boolean.gesture_kitchen_activated] is on. ACTIONS: If LED kitchen LED [light.led_kitchen_led] is off OR (LED kitchen LED [light.led_kitchen_led] is on AND its color temperature attribute equals 500), then activate Kitchen full light [scene.kitchen_full_light]. Otherwise, activate Kitchen background light [scene.kitchen_background_light] AND if Shelly Esszimmerschrank2 [light.shelly_esszimmerschrank2] is off, then turn off LED kitchen LED [light.led_kitchen_led].",
|
|
"natural_language": {
|
|
"trigger": "When the Gesture Kitchen [binary_sensor.gesture_kitchen] sensor detects a gesture and turns on.",
|
|
"conditions": "The system must be in production mode, indicated by production mode [binary_sensor.prod_mode] being on, and the gesture control for the kitchen must be enabled, indicated by Gesture Kitchen Activated [input_boolean.gesture_kitchen_activated] being on.",
|
|
"action": "If the main kitchen LED light [light.led_kitchen_led] is either off or is on but set to a specific color temperature of 500, then the full kitchen light scene [scene.kitchen_full_light] is activated. Otherwise, the background light scene [scene.kitchen_background_light] is activated. After this, if the cabinet light [light.shelly_esszimmerschrank2] is not on, the main kitchen LED light [light.led_kitchen_led] is turned off."
|
|
},
|
|
"human_like": "Toggles the kitchen lighting based on a gesture, switching between full and background light scenes, and manages the main LED light based on the state of another cabinet light.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_kitchen_desk_on_by_motion",
|
|
"result": {
|
|
"structured": "TRIGGER: When Bewegungsmelder1 [binary_sensor.bewegungsmelder1] changes state to on. CONDITIONS: (production mode [binary_sensor.prod_mode] is on) AND (Gesture Kitchen Activated [input_boolean.gesture_kitchen_activated] is on) AND (Bewegungsmelder1 illuminance [sensor.bewegungsmelder1_illuminance] is below the value of input_number.kitchen_desk_illuminance_threshold). ACTIONS: Turn on scene Kitchen full light [scene.kitchen_full_light].",
|
|
"natural_language": {
|
|
"trigger": "When motion is detected by Bewegungsmelder1 [binary_sensor.bewegungsmelder1].",
|
|
"conditions": "The automation only runs if the system is in production mode [binary_sensor.prod_mode], the gesture control for the kitchen is activated [input_boolean.gesture_kitchen_activated], and the measured illuminance from Bewegungsmelder1 [sensor.bewegungsmelder1_illuminance] is below a defined threshold.",
|
|
"action": "Activates the Kitchen full light [scene.kitchen_full_light] scene."
|
|
},
|
|
"human_like": "Turns on the kitchen desk lights when motion is detected, but only if the room is dark enough and gesture control is enabled.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_kitchen_desk_off_by_motion",
|
|
"result": {
|
|
"structured": "TRIGGER: When Bewegungsmelder1 [binary_sensor.bewegungsmelder1] changes to off. CONDITIONS: Gesture Kitchen Activated [input_boolean.gesture_kitchen_activated] is on. ACTIONS: Turn on Kitchen background light [scene.kitchen_background_light]. THEN, IF Shelly Esszimmerschrank2 [light.shelly_esszimmerschrank2] is on, do nothing. ELSE, turn off LED kitchen LED [light.led_kitchen_led].",
|
|
"natural_language": {
|
|
"trigger": "When the motion sensor Bewegungsmelder1 [binary_sensor.bewegungsmelder1] stops detecting motion (changes to 'off').",
|
|
"conditions": "The gesture control for the kitchen, Gesture Kitchen Activated [input_boolean.gesture_kitchen_activated], must be switched on.",
|
|
"action": "First, the scene Kitchen background light [scene.kitchen_background_light] is activated. Then, the automation checks if the light Shelly Esszimmerschrank2 [light.shelly_esszimmerschrank2] is on. If it is, no further action is taken. If it is off, the light LED kitchen LED [light.led_kitchen_led] is turned off."
|
|
},
|
|
"human_like": "Turns off the main kitchen desk light when motion stops, but only if gesture control is active and a specific cabinet light is not on.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_outdoor_on_at_night",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunset occurs OR When a Bosch SHC event of type SCENARIO with subtype 'Außenlichter an' is received. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn on Automatic outdoor lights [light.automatic_outdoor_lights].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at sunset or when a specific Bosch SHC event named 'Außenlichter an' (outdoor lights on) is received.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "It turns on the Automatic outdoor lights [light.automatic_outdoor_lights]."
|
|
},
|
|
"human_like": "Turns on the outdoor lights automatically at sunset or when a specific Bosch SHC event is triggered, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "lights_outdoor_off_at_morning",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs OR When a Bosch SHC event of type SCENARIO with subtype 'Außenlichter an' occurs. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn off Automatic outdoor lights [light.automatic_outdoor_lights].",
|
|
"natural_language": {
|
|
"trigger": "When the sun rises, or when the Bosch SHC system triggers a 'SCENARIO' event with the subtype 'Außenlichter an' (Outdoor lights on).",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Turns off the Automatic outdoor lights [light.automatic_outdoor_lights]."
|
|
},
|
|
"human_like": "Turns off the outdoor lights at sunrise or when a specific 'lights on' scenario event is triggered, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "light_indoor_ikea_jetstrom_set_sunrise",
|
|
"result": {
|
|
"structured": "TRIGGER: At 01:00:00. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: IF workday sensor [binary_sensor.workday_sensor] is on THEN call service adaptive_lighting.change_switch_settings for Adaptive lighting IKEA Jetstrom [switch.adaptive_lighting_ikea_jetstrom] with use_defaults set to configuration and max_sunrise_time set to the state of Standup Workday [input_datetime.standup_workday]. OTHERWISE call service adaptive_lighting.change_switch_settings for Adaptive lighting IKEA Jetstrom [switch.adaptive_lighting_ikea_jetstrom] with use_defaults set to configuration.",
|
|
"natural_language": {
|
|
"trigger": "The automation runs every day at 1:00 AM.",
|
|
"conditions": "It only runs if the production mode [binary_sensor.prod_mode] is active.",
|
|
"action": "If the Workday Sensor [binary_sensor.workday_sensor] indicates it is a workday, it updates the settings for the Adaptive lighting IKEA Jetstrom [switch.adaptive_lighting_ikea_jetstrom] to use configuration defaults, but sets the maximum sunrise time to the value stored in Standup Workday [input_datetime.standup_workday]. If it is not a workday, it simply updates the lighting switch to use its configuration defaults without the custom sunrise time."
|
|
},
|
|
"human_like": "Adjusts the IKEA Jetstrom adaptive lighting schedule at 1 AM, setting a later sunrise time on workdays.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "locks_open_entry_door",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event of type SCENARIO with subtype 'Eingangstür auf' occurs. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Eingangstur [binary_sensor.eingangstur] is off. ACTIONS: Unlock entry door lock [lock.eingangstur].",
|
|
"natural_language": {
|
|
"trigger": "When the Bosch SHC system sends a specific scenario event indicating 'Eingangstür auf' (entry door open).",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active, and the entry door sensor Eingangstur [binary_sensor.eingangstur] must report that the door is closed.",
|
|
"action": "Unlocks the entry door lock [lock.eingangstur]."
|
|
},
|
|
"human_like": "Automatically unlocks the entry door when a specific Bosch SHC 'entry door open' scenario is triggered, provided the system is in production mode and the door is currently closed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "locks_open_garage_door",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event occurs with event_type 'SCENARIO' and event_subtype 'Garagentür auf'. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Garagentur [binary_sensor.garagentur] is closed (off). ACTIONS: Open Garagentur [lock.garagentur], wait 10 seconds, then check if Garagentur [binary_sensor.garagentur] is still closed (off). If so, open Garagentur [lock.garagentur] again.",
|
|
"natural_language": {
|
|
"trigger": "When the Bosch SHC system sends a 'Garagentür auf' scenario event.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on), and the garage door sensor [binary_sensor.garagentur] must report that the door is closed (off).",
|
|
"action": "The automation will first unlock the garage door lock [lock.garagentur]. After a 10-second delay, it checks if the garage door sensor [binary_sensor.garagentur] still indicates the door is closed. If it is, it will unlock the garage door lock [lock.garagentur] a second time."
|
|
},
|
|
"human_like": "Automatically unlocks the garage door when a specific Bosch SHC scenario is triggered, but only if the system is in production mode and the door is currently closed. It will retry unlocking after a short delay if needed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "locks_open_postern_door",
|
|
"result": {
|
|
"structured": "TRIGGER: When a Bosch SHC event occurs with event_type SCENARIO AND event_subtype 'Nebentür auf'. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Nebentur [binary_sensor.nebentur] is off. ACTIONS: Unlock Nebentür [lock.nebentur].",
|
|
"natural_language": {
|
|
"trigger": "When the Bosch SHC system sends a specific scenario event named 'Nebentür auf'.",
|
|
"conditions": "If the production mode [binary_sensor.prod_mode] is active and the Nebentur [binary_sensor.nebentur] sensor reports the door is closed (off).",
|
|
"action": "Unlocks the Nebentür [lock.nebentur] door lock."
|
|
},
|
|
"human_like": "Automatically unlocks the side door when a specific Bosch SHC scenario is triggered, provided the system is in production mode and the door is currently closed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "locks_lock_up_all_doors",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] remains not_home for a duration defined by input_number.doors_lock_up_after OR When sony kd 55ag9 remote [remote.sony_kd_55ag9] remains off (from on) for a duration defined by input_number.doors_lock_up_after OR When a bosch_shc.event of type SCENARIO and subtype Abschliessen occurs. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: For each door in the list [eingangstur, nebentur, garagentur]: IF binary_sensor.[door] is on THEN execute script.notify with a message that the door could not be locked because it is open. ELSE IF lock.[door] is unknown OR unavailable THEN execute script.notify with a message that the door could not be locked because no lock is available. ELSE lock lock.[door].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the family group [group.family] has been away for a specific number of minutes, when the Sony TV remote [remote.sony_kd_55ag9] has been turned off for that same duration, or immediately when a specific Bosch SHC 'lock up' scenario event is received.",
|
|
"conditions": "The automation only runs if production mode [binary_sensor.prod_mode] is active.",
|
|
"action": "The automation attempts to lock three doors: Eingangstür, Nebentür, and Garagentür. For each door, it first checks if the door is open. If it is, it sends a notification saying the door cannot be locked because it's open. If the door is closed, it checks if the lock's state is unknown or unavailable. If so, it sends a notification that the lock is not available. If the lock is available, it sends a command to lock the door."
|
|
},
|
|
"human_like": "Automatically locks all doors when the house is empty, the TV is off for a while, or a manual lock command is received, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_start_stop",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set SG start stop mode [input_select.set_sg_start_stop_mode] changes state. CONDITIONS: None. ACTIONS: Write a value to a Modbus register at address 12999 on hub 'SungrowSHx' for slave 'secret sungrow_modbus_slave'. The value is 207 if Set SG start stop mode [input_select.set_sg_start_stop_mode] is 'Start', otherwise the value is 206.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Set SG start stop mode [input_select.set_sg_start_stop_mode] input selector changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends a command to the Sungrow inverter via Modbus. It writes a specific value to a control register: value 207 to start the inverter if the mode is set to 'Start', or value 206 to stop the inverter if the mode is set to anything else."
|
|
},
|
|
"human_like": "Controls the Sungrow inverter, starting or stopping it based on the selected mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_max_soc",
|
|
"result": {
|
|
"structured": "TRIGGER: When SG max SOC [input_number.set_sg_max_soc] changes state. CONDITIONS: None. ACTIONS: Write to Modbus register 13057 on hub 'SungrowSHx' for slave 'secret sungrow_modbus_slave' with a value equal to the integer state of SG max SOC [input_number.set_sg_max_soc] multiplied by 10.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the SG max SOC [input_number.set_sg_max_soc] input number is changed.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Sends a command to write to a specific Modbus register on the Sungrow inverter. The register address is 13057, and the value written is the current integer value of the SG max SOC [input_number.set_sg_max_soc] multiplied by 10."
|
|
},
|
|
"human_like": "Updates the maximum state of charge setting on the Sungrow inverter whenever the user changes the target value.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_min_soc",
|
|
"result": {
|
|
"structured": "TRIGGER: When SG min SOC [input_number.set_sg_min_soc] changes state. CONDITIONS: None. ACTIONS: Write a value to a Modbus register. The value is the integer state of SG min SOC [input_number.set_sg_min_soc] multiplied by 10, sent to the SungrowSHx hub at slave address 'secret sungrow_modbus_slave' and register address 13058.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the SG min SOC [input_number.set_sg_min_soc] input number is changed.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Sends the updated minimum state of charge value to the Sungrow inverter. It takes the current value from SG min SOC [input_number.set_sg_min_soc], multiplies it by 10, and writes that result to a specific holding register (address 13058) on the inverter via the Modbus interface connected to the 'SungrowSHx' hub."
|
|
},
|
|
"human_like": "Automatically sends the user's configured minimum battery charge level to the Sungrow inverter whenever it is changed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_reserved_soc_for_backup",
|
|
"result": {
|
|
"structured": "TRIGGER: When SG reserved SOC for backup [input_number.set_sg_reserved_soc_for_backup] changes state. CONDITIONS: None. ACTIONS: Write the integer value of SG reserved SOC for backup [input_number.set_sg_reserved_soc_for_backup] to Modbus register address 13099 on hub SungrowSHx, slave secret sungrow_modbus_slave.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of SG reserved SOC for backup [input_number.set_sg_reserved_soc_for_backup] is updated.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Sends the current integer value from SG reserved SOC for backup [input_number.set_sg_reserved_soc_for_backup] to a specific register (13099) on the Sungrow inverter via Modbus communication."
|
|
},
|
|
"human_like": "Synchronizes the user-set battery reserve level for backup power with the Sungrow inverter.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_battery_forced_charge_discharge_cmd",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set SG battery forced charge discharge cmd [input_select.set_sg_battery_forced_charge_discharge_cmd] changes state. CONDITIONS: None. ACTIONS: Write a value to Modbus register address 13050 on hub 'SungrowSHx' with slave 'secret sungrow_modbus_slave'. The value is determined by the state of Set SG battery forced charge discharge cmd [input_select.set_sg_battery_forced_charge_discharge_cmd]: if state is 'Stop (default)', write 204; if state is 'Forced charge', write 170; if state is 'Forced discharge', write 187; otherwise, write 204 (0xCC).",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selection in the 'Set SG battery forced charge discharge cmd' [input_select.set_sg_battery_forced_charge_discharge_cmd] dropdown changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a command to the Sungrow inverter by writing a specific numeric value to a Modbus control register. The value written depends on the current selection: 204 for 'Stop (default)', 170 for 'Forced charge', or 187 for 'Forced discharge'. If the selection is anything else, it defaults to writing 204."
|
|
},
|
|
"human_like": "Updates the Sungrow inverter's battery forced charge or discharge mode based on a user's selection from a dropdown menu.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_ems_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set SG EMS mode [input_select.set_sg_ems_mode] changes state. CONDITIONS: None. ACTIONS: Write a value to a specific Modbus register on the SungrowSHx hub. The value is determined by the current state of Set SG EMS mode [input_select.set_sg_ems_mode]: 0 for 'Self-consumption mode (default)', 2 for 'Forced mode', 3 for 'External EMS', 4 for 'VPP', 8 for 'MicroGrid', or 0 for any other state.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selected option in the Set SG EMS mode [input_select.set_sg_ems_mode] dropdown changes.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Sends a command to the Sungrow inverter via Modbus to update its EMS (Energy Management System) mode. The specific numeric value written to the inverter's register depends on which mode is currently selected: 0 for Self-consumption mode, 2 for Forced mode, 3 for External EMS, 4 for VPP, or 8 for MicroGrid. If the selected mode is not one of these, it defaults to sending the value 0."
|
|
},
|
|
"human_like": "Updates the Sungrow inverter's operating mode whenever a new mode is selected from a dropdown menu.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_battery_forced_charge_discharge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SG forced charge discharge power [input_number.set_sg_forced_charge_discharge_power] changes state. CONDITIONS: None. ACTIONS: Write the integer value of SG forced charge discharge power [input_number.set_sg_forced_charge_discharge_power] to Modbus register 13051 on hub SungrowSHx, slave secret sungrow_modbus_slave.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the SG forced charge discharge power [input_number.set_sg_forced_charge_discharge_power] input number changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Sends the current numeric value from the SG forced charge discharge power [input_number.set_sg_forced_charge_discharge_power] to a specific register on the Sungrow inverter via Modbus, effectively updating the battery's forced charge or discharge power setting."
|
|
},
|
|
"human_like": "Updates the battery's forced charge or discharge power on the Sungrow inverter whenever the user changes the corresponding setting.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_battery_max_charge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SG battery max charge power [input_number.set_sg_battery_max_charge_power] changes state. CONDITIONS: None. ACTIONS: Write a value to a Modbus register on hub 'SungrowSHx' at slave address 'secret sungrow_modbus_slave' and register address 33046. The value is calculated as the state of SG battery max charge power [input_number.set_sg_battery_max_charge_power] divided by 10 and converted to an integer.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the SG battery max charge power [input_number.set_sg_battery_max_charge_power] input number changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a command to the Sungrow inverter via Modbus to update the battery's maximum charge power. It writes to a specific register, converting the user-set value from the input number (which is in tenths of a unit) to the integer value expected by the inverter."
|
|
},
|
|
"human_like": "Updates the Sungrow inverter's battery maximum charge power setting whenever the user changes the corresponding value in Home Assistant.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_battery_max_discharge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SG battery max discharge power [input_number.set_sg_battery_max_discharge_power] changes state. CONDITIONS: None. ACTIONS: Write a value to the Sungrow inverter via Modbus. The value is calculated by taking the current state of SG battery max discharge power [input_number.set_sg_battery_max_discharge_power], converting it to a float, dividing by 10, and converting the result to an integer. This value is written to register address 33047 on the SungrowSHx hub for the specified slave.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the SG battery max discharge power [input_number.set_sg_battery_max_discharge_power] input number changes.",
|
|
"conditions": "There are no conditions; the action runs every time the trigger occurs.",
|
|
"action": "Sends a command to the Sungrow inverter to update the battery's maximum discharge power setting. It reads the current value from SG battery max discharge power [input_number.set_sg_battery_max_discharge_power], divides it by 10, and writes the resulting whole number to a specific control register on the inverter using the Modbus protocol."
|
|
},
|
|
"human_like": "Updates the inverter's battery discharge limit whenever the user changes the corresponding setting in Home Assistant.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_battery_charging_start_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set SG Battery Charging Start Power [input_number.set_sg_battery_charging_start_power] changes state. CONDITIONS: None. ACTIONS: Write a value to a Modbus register on hub 'SungrowSHx' at slave address 'secret sungrow_modbus_slave' and register address 33148. The value written is the state of Set SG Battery Charging Start Power [input_number.set_sg_battery_charging_start_power] divided by 10 and converted to an integer.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the input number 'Set SG Battery Charging Start Power' [input_number.set_sg_battery_charging_start_power] is updated.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "Sends the updated power setting to the Sungrow inverter. It converts the user's input value from the 'Set SG Battery Charging Start Power' [input_number.set_sg_battery_charging_start_power] by dividing it by 10, converting it to an integer, and writing it to a specific Modbus register on the 'SungrowSHx' hub."
|
|
},
|
|
"human_like": "Updates the battery charging start power on the Sungrow inverter whenever the user changes the corresponding setting.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "automation_sungrow_inverter_update_battery_discharging_start_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SG battery discharging start power [input_number.set_sg_battery_discharging_start_power] changes state. CONDITIONS: None. ACTIONS: Write to the Sungrow inverter via Modbus (hub: SungrowSHx, slave: secret sungrow_modbus_slave) at register address 33149 with a value equal to the SG battery discharging start power [input_number.set_sg_battery_discharging_start_power] state divided by 10 and converted to an integer.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the SG battery discharging start power [input_number.set_sg_battery_discharging_start_power] input number changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a command to the Sungrow inverter using the Modbus protocol. It writes to a specific register (address 33149) on the device connected to the 'SungrowSHx' hub with the slave ID 'secret sungrow_modbus_slave'. The value written is calculated by taking the current value from the input number, dividing it by 10, and converting the result to a whole number."
|
|
},
|
|
"human_like": "Updates the battery discharging start power setting on the Sungrow inverter whenever the corresponding input number is changed.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "notifications_open_doors_and_windows",
|
|
"result": {
|
|
"structured": "TRIGGER: When Sony KD 55AG9 [media_player.sony_kd_55ag9] remains on for a duration equal to the integer value of Notification TV On Delay [input_number.notification_tv_on_delay] minutes. CONDITIONS: None. ACTIONS: Execute the script script.notify with data domain 'open_doors_and_windows' and a message variable. The message is constructed by: 1. Iterating over all binary_sensor entities with a defined device_class attribute equal to 'window', and if their state is 'on', appending their friendly_name to a comma-separated list prefixed with 'Offene Fenster: '. 2. Iterating over all binary_sensor entities with a defined device_class attribute equal to 'door', and if their state is 'on', appending their friendly_name to a comma-separated list prefixed with '\\nOffene Türen: '. The final message is the concatenation of these two lists.",
|
|
"natural_language": {
|
|
"trigger": "When the Sony KD 55AG9 [media_player.sony_kd_55ag9] has been turned on and remains in that state for a specific number of minutes, as defined by the Notification TV On Delay [input_number.notification_tv_on_delay] setting.",
|
|
"conditions": "There are no conditions that must be met for the automation to proceed.",
|
|
"action": "Sends a notification by running the script script.notify. The notification message is built by checking all window and door binary sensors in the system. It lists the names of any windows that are open, and on a new line, lists the names of any doors that are open. This combined list is sent as the notification message."
|
|
},
|
|
"human_like": "Sends a notification listing any open windows and doors after the TV has been on for a set amount of time.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "notifications_nodestate",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the listed nodestate binary sensors changes its state to 'off'. The list includes: Nodestate DHT22 Lounge [binary_sensor.nodestate_dht22_lounge], Nodestate DHT22 Terrace [binary_sensor.nodestate_dht22_terrace], Nodestate DHT22 Roof [binary_sensor.nodestate_dht22_roof], Nodestate Relay Garage [binary_sensor.nodestate_relay_garage], Nodestate Sonoff Bedroom [binary_sensor.nodestate_sonoff_bedroom], Nodestate TTP223 Bedroom [binary_sensor.nodestate_ttp223_bedroom], Nodestate LED Kitchen [binary_sensor.nodestate_led_kitchen], Nodestate LED Kitchen2 [binary_sensor.nodestate_led_kitchen2], Nodestate Gesture Kitchen [binary_sensor.nodestate_gesture_kitchen], Nodestate Sonoff Gallery1 [binary_sensor.nodestate_sonoff_gallery1], Nodestate Sonoff Corridor [binary_sensor.nodestate_sonoff_corridor], Nodestate Electricity Utilityroom [binary_sensor.nodestate_electricity_utilityroom], Nodestate Pixel Kitchen [binary_sensor.nodestate_pixel_kitchen], Nodestate DS18B20 Groundfloor [binary_sensor.nodestate_ds18b20_groundfloor], Nodestate DS18B20 Firstfloor [binary_sensor.nodestate_ds18b20_firstfloor], Nodestate Gas Utilityroom [binary_sensor.nodestate_gas_utilityroom], Nodestate LED Corridor [binary_sensor.nodestate_led_corridor], Nodestate Rain Garden [binary_sensor.nodestate_rain_garden], Nodestate DHT11 Utilityroom [binary_sensor.nodestate_dht11_utilityroom], Nodestate DS18B20 Pool [binary_sensor.nodestate_ds18b20_pool], Nodestate DS18B20 Brewery [binary_sensor.nodestate_ds18b20_brewery], Nodestate Spindle Fermenter [binary_sensor.nodestate_spindle_fermenter], Nodestate Xmas Tree Dining [binary_sensor.nodestate_xmastree_dining], Nodestate Relay Garden [binary_sensor.nodestate_relay_garden], Nodestate WS2812 Terrace1 [binary_sensor.nodestate_ws2812_terrace1], Nodestate WS2812 Terrace2 [binary_sensor.nodestate_ws2812_terrace2], Nodestate Xmasstar [binary_sensor.nodestate_ws2812_xmasstar], Nodestate Relay Hydrotower [binary_sensor.nodestate_relay_hydrotower], Nodestate WS2812 X1C [binary_sensor.nodestate_ws2812_x1c], Nodestate PiTouch Corridor [binary_sensor.nodestate_pitouch_corridor], Nodestate Tasmota [binary_sensor.nodestate_tasmota], Nodestate EMS ESP [binary_sensor.nodestate_ems_esp], Nodestate Watermeter [binary_sensor.nodestate_watermeter]. CONDITIONS: production mode [binary_sensor.prod_mode] is 'on'. ACTIONS: Execute the script 'script.notify' with data: domain 'nodestate' and a message containing the entity_id of the triggering sensor (with the first 24 characters removed).",
|
|
"natural_language": {
|
|
"trigger": "When any of the many nodestate sensors, which monitor the connectivity of various devices around the home (like temperature sensors in the lounge, terrace, and roof, relays in the garage and garden, LED strips in the kitchen and corridor, and many others), changes its state to 'off'.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active and set to 'on'.",
|
|
"action": "It sends a notification via the 'script.notify' script, specifying the 'nodestate' domain and a message that identifies which specific node is not alive, based on the entity that triggered the automation."
|
|
},
|
|
"human_like": "Sends a notification when any monitored smart home device goes offline, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "notifications_garage_flood",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wassermelder [binary_sensor.wassermelder] changes to on. CONDITIONS: None. ACTIONS: Execute script notify [script.notify] with data: domain=flood, message=Überschwemmung erkannt.",
|
|
"natural_language": {
|
|
"trigger": "When the Wassermelder [binary_sensor.wassermelder] detects water and changes its state to 'on'.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a flood notification by running the notify script [script.notify] with the domain set to 'flood' and the message 'Überschwemmung erkannt' (Flood detected)."
|
|
},
|
|
"human_like": "Sends a notification when a water leak is detected in the garage.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "notifications_mower_error",
|
|
"result": {
|
|
"structured": "TRIGGER: When Sileno lawn mower [lawn_mower.sileno] changes state to error OR unavailable OR unknown. CONDITIONS: None. ACTIONS: Execute script.notify with data: domain=mower, message='Rasenmäher Fehler: {{ trigger.to_state.state }}'.",
|
|
"natural_language": {
|
|
"trigger": "When the Sileno lawn mower [lawn_mower.sileno] enters an error, unavailable, or unknown state.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Sends a notification using the script 'notify' with a message indicating a lawn mower error, including the specific state that triggered it."
|
|
},
|
|
"human_like": "Sends a notification when the lawn mower encounters an error or becomes unavailable.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "notifications_battery_low",
|
|
"result": {
|
|
"structured": "TRIGGER: When Batteries Group [group.batteries] changes state to on. CONDITIONS: None. ACTIONS: Execute script.notify with data: domain = battery, message = 'Niedriger Batteriestand: {{ battery }}', where the variable 'battery' is derived from the friendly_name attribute of entities in the group Batteries Group [group.batteries] that have a state of 'on'.",
|
|
"natural_language": {
|
|
"trigger": "When the Batteries Group [group.batteries] changes its state to 'on'.",
|
|
"conditions": "There are no conditions that must be met for this automation to proceed.",
|
|
"action": "Sends a notification using the script 'notify'. The notification message will be 'Niedriger Batteriestand: ' followed by a list of friendly names of the entities within the Batteries Group that are currently reporting a state of 'on'. The names are formatted to show only the first two words of each friendly name."
|
|
},
|
|
"human_like": "Sends a notification when any battery in the monitored group reports a low charge.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "notifications_kia_ev6_warning",
|
|
"result": {
|
|
"structured": "TRIGGER: When EV6 Group [group.ev6] turns on. CONDITIONS: None. ACTIONS: Set variable 'warning' to a list of friendly names of entities within EV6 Group [group.ev6] that are on, with the first word removed from each name, joined by commas. Then, call script.notify with domain 'kia_ev6' and a message containing the warning list.",
|
|
"natural_language": {
|
|
"trigger": "When the EV6 Group [group.ev6] changes its state to on.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "The automation first creates a list of warnings. It does this by looking at all the entities inside the EV6 Group [group.ev6] that are currently on, extracting their friendly names, removing the first word from each name, and joining the results with commas. It then sends a notification using the script 'script.notify', specifying the domain as 'kia_ev6' and including the generated warning list in the message."
|
|
},
|
|
"human_like": "Sends a notification with a list of active warnings from the Kia EV6 when the vehicle's warning group is triggered.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pitouch_screen_on",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches Standup Workday [input_datetime.standup_workday] OR When the time reaches Standup Weekend [input_datetime.standup_weekend] OR When family group [group.family] changes state to home. CONDITIONS: (family group [group.family] is home) AND ((Workday Sensor [binary_sensor.workday_sensor] is on AND current time is after Standup Workday [input_datetime.standup_workday] AND before Sleep [input_datetime.sleep]) OR (Workday Sensor [binary_sensor.workday_sensor] is off AND current time is after Standup Weekend [input_datetime.standup_weekend] AND before Sleep [input_datetime.sleep])). ACTIONS: Turn on Pitouch corridor screen [light.pitouch_corridor_screen].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at the scheduled times for workday or weekend standup, or when the family group [group.family] arrives home.",
|
|
"conditions": "The family group [group.family] must be home. Additionally, if it's a workday, the current time must be after the workday standup time and before the sleep time. If it's not a workday, the current time must be after the weekend standup time and before the sleep time.",
|
|
"action": "Turns on the Pitouch corridor screen [light.pitouch_corridor_screen]."
|
|
},
|
|
"human_like": "Turns on the corridor screen at scheduled standup times or when the family arrives home, but only during the appropriate daytime hours.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "pitouch_screen_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When the scheduled time set in PiTouch Off [input_datetime.pitouch_off] is reached OR When family group [group.family] changes state to not_home. CONDITIONS: None. ACTIONS: Turn off Pitouch corridor screen [light.pitouch_corridor_screen].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at a specific time defined by PiTouch Off [input_datetime.pitouch_off], or when the family group [group.family] changes its state to 'not_home'.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Turns off the Pitouch corridor screen [light.pitouch_corridor_screen]."
|
|
},
|
|
"human_like": "Turns off the corridor screen either at a scheduled time or when everyone leaves home.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "pitouch_screen_off_after_tv_off",
|
|
"result": {
|
|
"structured": "TRIGGER: When Sony KD 55AG9 [media_player.sony_kd_55ag9] changes from on to off AND remains off for 1 minute. CONDITIONS: The current time is after TV Off Period Start [input_datetime.tv_off_period_start] AND before TV Off Period End [input_datetime.tv_off_period_end]. ACTIONS: Wait for a delay equal to the value of PiTouch Delay [input_number.pitouch_delay] (in minutes) AND THEN turn off Pitouch corridor screen [light.pitouch_corridor_screen].",
|
|
"natural_language": {
|
|
"trigger": "When the Sony KD 55AG9 [media_player.sony_kd_55ag9] TV turns off and stays off for one minute.",
|
|
"conditions": "The automation only runs if the current time falls within a specific daily window, defined as after the TV Off Period Start [input_datetime.tv_off_period_start] and before the TV Off Period End [input_datetime.tv_off_period_end].",
|
|
"action": "After waiting for a configurable number of minutes (specified by PiTouch Delay [input_number.pitouch_delay]), it turns off the Pitouch corridor screen [light.pitouch_corridor_screen]."
|
|
},
|
|
"human_like": "Turns off the corridor screen light a short, configurable time after the TV is turned off, but only during a specified time window.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "set_default_values",
|
|
"result": {
|
|
"structured": "TRIGGER: No trigger defined (manual execution). CONDITIONS: None. ACTIONS: Turn on Button Indoor Activated [input_boolean.button_indoor_activated], Turn on Button Garage Activated [input_boolean.button_garage_activated], Turn on Button Pool Activated [input_boolean.button_pool_activated], Turn on Gesture Kitchen Activated [input_boolean.gesture_kitchen_activated], Turn on Touch Bedroom Activated [input_boolean.touch_bedroom_activated], Turn off Light Simulation [input_boolean.light_simulation], Turn on Pixel Node Time [input_boolean.pixel_node_time], Turn on Pixel Node Date [input_boolean.pixel_node_date], Turn off Pixel Node Weekday [input_boolean.pixel_node_weekday], Turn on Pixel Node Msg0 [input_boolean.pixel_node_msg0], Turn on Pixel Node Msg1 [input_boolean.pixel_node_msg1], Turn on Pixel Node Msg2 [input_boolean.pixel_node_msg2], Turn on Pixel Node Msg3 [input_boolean.pixel_node_msg3], Turn on Pixel Node Msg4 [input_boolean.pixel_node_msg4], Turn on Pixel Node Msg5 [input_boolean.pixel_node_msg5], Turn on Pixel Node Msg6 [input_boolean.pixel_node_msg6], Turn on Pixel Node Msg7 [input_boolean.pixel_node_msg7], Turn on Pixel Node Msg8 [input_boolean.pixel_node_msg8], Turn on Pixel Node Msg9 [input_boolean.pixel_node_msg9], Turn on Pixel Node Msg10 [input_boolean.pixel_node_msg10], Turn off Pixel Node Msg11 [input_boolean.pixel_node_msg11], Turn on Pixel Node Msg12 [input_boolean.pixel_node_msg12], Turn on Pixel Node Msg13 [input_boolean.pixel_node_msg13], Turn on Pixel Node Msg14 [input_boolean.pixel_node_msg14], Turn off Pixel Node Msg15 [input_boolean.pixel_node_msg15], Turn off Pixel Node Msg16 [input_boolean.pixel_node_msg16], Turn off Pixel Node Msg17 [input_boolean.pixel_node_msg17], Turn on Pixel Node Msg18 [input_boolean.pixel_node_msg18], Turn on Pixel Node Msg19 [input_boolean.pixel_node_msg19], Turn off Daily Vacuum Done [input_boolean.daily_vacuum_done], Turn off Daily Vacuum [input_boolean.daily_vacuum], Turn on Dustbin Notification [input_boolean.dustbin_notification], Turn on Irrigation Activated [input_boolean.irrigation_activated], Turn on Mowing Activated [input_boolean.mowing_activated], Turn off Circulating Pump Activated [input_boolean.circulating_pump_activated], Turn off Irrigation Scheduled Valve1 [input_boolean.irrigation_scheduled_valve1], Turn on Irrigation Valve1 at Monday [input_boolean.irrigation_valve1_at_monday], Turn off Irrigation Valve1 at Tuesday [input_boolean.irrigation_valve1_at_tuesday], Turn on Irrigation Valve1 at Wednesday [input_boolean.irrigation_valve1_at_wednesday], Turn off Irrigation Valve1 at Thursday [input_boolean.irrigation_valve1_at_thursday], Turn on Irrigation Valve1 at Friday [input_boolean.irrigation_valve1_at_friday], Turn off Irrigation Valve1 at Saturday [input_boolean.irrigation_valve1_at_saturday], Turn off Irrigation Valve1 at Sunday [input_boolean.irrigation_valve1_at_sunday], Turn off Irrigation Scheduled Valve2 [input_boolean.irrigation_scheduled_valve2], Turn off Irrigation Valve2 at Monday [input_boolean.irrigation_valve2_at_monday], Turn on Irrigation Valve2 at Tuesday [input_boolean.irrigation_valve2_at_tuesday], Turn off Irrigation Valve2 at Wednesday [input_boolean.irrigation_valve2_at_wednesday], Turn on Irrigation Valve2 at Thursday [input_boolean.irrigation_valve2_at_thursday], Turn off Irrigation Valve2 at Friday [input_boolean.irrigation_valve2_at_friday], Turn on Irrigation Valve2 at Saturday [input_boolean.irrigation_valve2_at_saturday], Turn off Irrigation Valve2 at Sunday [input_boolean.irrigation_valve2_at_sunday], Turn off Irrigation Scheduled Valve3 [input_boolean.irrigation_scheduled_valve3], Turn on Irrigation Valve3 at Monday [input_boolean.irrigation_valve3_at_monday], Turn off Irrigation Valve3 at Tuesday [input_boolean.irrigation_valve3_at_tuesday], Turn on Irrigation Valve3 at Wednesday [input_boolean.irrigation_valve3_at_wednesday], Turn off Irrigation Valve3 at Thursday [input_boolean.irrigation_valve3_at_thursday], Turn on Irrigation Valve3 at Friday [input_boolean.irrigation_valve3_at_friday], Turn off Irrigation Valve3 at Saturday [input_boolean.irrigation_valve3_at_saturday], Turn off Irrigation Valve3 at Sunday [input_boolean.irrigation_valve3_at_sunday], Turn off Cover Closing at Cold Activated [input_boolean.cover_closing_at_cold_activated], Turn on Cover Bedroom [input_boolean.cover_bedroom], Turn on Cover Bath [input_boolean.cover_bath], Turn on Cover Office [input_boolean.cover_office], Turn on Cover Nursery [input_boolean.cover_nursery], Turn off Cover Closed at Low Temp [input_boolean.cover_closed_at_low_temp], Turn on Climate Activated [input_boolean.climate_activated], Turn on Climate Start Office [input_boolean.climate_start_office], Turn on Climate Start Bedroom [input_boolean.climate_start_bedroom], Turn on Climate Start Nursery [input_boolean.climate_start_nursery], Turn on Climate Stop Office [input_boolean.climate_stop_office], Turn on Climate Stop Bedroom [input_boolean.climate_stop_bedroom], Turn on Climate Stop Nursery [input_boolean.climate_stop_nursery], Turn off Climate Office Started [input_boolean.climate_office_started], Turn off Climate Bedroom Started [input_boolean.climate_bedroom_started], Turn off Climate Nursery Started [input_boolean.climate_nursery_started], Turn on Dishwasher Activated [input_boolean.dishwasher_activated], Turn off Circulating Pump Running Desinfection [input_boolean.circulating_pump_running_desinfection], Set Nightlight End [input_datetime.nightlight_end] to 04:00:00, Set PiTouch Off [input_datetime.pitouch_off] to 23:30:00, Set Pool Pump Start1 [input_datetime.pool_pump_start1] to 11:00:00, Set Pool Pump Start2 [input_datetime.pool_pump_start2] to 20:00:00, Set Sleep [input_datetime.sleep] to 22:00:00, Set Standup Weekend [input_datetime.standup_weekend] to 08:00:00, Set Standup Workday [input_datetime.standup_workday] to 05:30:00, Set TV Off Period End [input_datetime.tv_off_period_end] to 06:00:00, Set TV Off Period Start [input_datetime.tv_off_period_start] to 21:00:00, Set Vacuum Period End [input_datetime.vacuum_period_end] to 17:00:00, Set Vacuum Period Start [input_datetime.vacuum_period_start] to 08:00:00, Set Irrigation Start 1 [input_datetime.irrigation_start_1] to 04:00:00, Set Irrigation Start 2 [input_datetime.irrigation_start_2] to 04:00:00, Set Irrigation Start 3 [input_datetime.irrigation_start_3] to 06:00:00, Set Mowing Start [input_datetime.mowing_start] to 08:30:00, Set Mowing End [input_datetime.mowing_end] to 16:30:00, Set Climate Startperiode Begin [input_datetime.climate_startperiode_begin] to 08:00:00, Set Climate Startperiode End [input_datetime.climate_startperiode_end] to 12:00:00, Set Effect Delay [input_number.effect_delay] to 1500, Set Max Random Off Duration [input_number.max_random_off_duration] to 120, Set Nightlight Duration [input_number.nightlight_duration] to 15, Set PiTouch Delay [input_number.pitouch_delay] to 15, Set Pixel Node Display Brightness [input_number.pixel_node_display_brightness] to 2, Set Pixel Node Display Duration [input_number.pixel_node_display_duration] to 3, Set Pixel Node Display Shakeperiod [input_number.pixel_node_display_shakeperiod] to 130, Set Pool Pump Duration [input_number.pool_pump_duration] to 120, Set TV off lights off delay 1 [input_number.tvoff_lightsoff_delay1] to 1, Set TV off lights off delay 2 [input_number.tvoff_lightsoff_delay2] to 7, Set Light Timeout [input_number.light_timeout] to 15, Set Irrigation Duration [input_number.irrigation_duration] to 30, Set Circulating Pump Activated After Standup [input_number.circulating_pump_activated_after_standup] to 2, Set Circulating Pump Activated Before Sleeping [input_number.circulating_pump_activated_before_sleeping] to 4, Set Circulating Pump On Period [input_number.circulating_pump_on_period] to 15, Set Circulating Pump On Duration [input_number.circulating_pump_on_duration] to 1, Set Soil moisture 1 min voltage [input_number.soil_moisture1_min_voltage] to 1500, Set Soil moisture 1 max voltage [input_number.soil_moisture1_max_voltage] to 3000, Set Soil moisture 2 min voltage [input_number.soil_moisture2_min_voltage] to 1500, Set Soil moisture 2 max voltage [input_number.soil_moisture2_max_voltage] to 3000, Set Soil moisture 3 min voltage [input_number.soil_moisture3_min_voltage] to 1500, Set Soil moisture 3 max voltage [input_number.soil_moisture3_max_voltage] to 3000, Set Electricity Meter Threshold Power [input_number.electricity_meter_threshold_power] to 15000, Set Electricity Import Critical Above [input_number.electricity_import_critical_above] to 100, Set Battery State Off Below [input_number.battery_state_off_below] to 20, Set Electricity Price In [input_number.electricity_price_in] to 0.4, Set Electricity Price Out [input_number.electricity_price_out] to 0.077, Set Waterpump emergency stop duration [input_number.waterpump_emergency_stop_duration] to 20, Set Waterpump emergency stop power threshold [input_number.waterpump_emergency_stop_power_threshold] to 900, Set Climate Target Temperature [input_number.climate_target_temperature] to 25, Set Climate Min Forecast Temperature [input_number.climate_min_forecast_temperature] to 27, Set Climate Min Forecast Temperature Sunny [input_number.climate_min_forecast_temperature_sunny] to 24, Set Climate Min Battery Level [input_number.climate_min_battery_level] to 95, Set Climate Min PV Generation [input_number.climate_min_pv_generation] to 2000, Set Climate Min PV Generation Duration [input_number.climate_min_pv_generation_duration] to 10, Set Dishwasher Min PV Generation [input_number.dishwasher_min_pv_generation] to 2000, Set Dishwasher Min Battery Level [input_number.dishwasher_min_battery_level] to 95, Set Notification TV On Delay [input_number.notification_tv_on_delay] to 5, Set Gasmeter Threshold High [input_number.gasmeter_threshold_high] to 100000, Set Gasmeter Threshold Low [input_number.gasmeter_threshold_low] to 1000, Set Gasmeter Heating Value [input_number.gasmeter_heating_value] to 11.23, Set Gasmeter Zustandszahl [input_number.gasmeter_zustandszahl] to 0.9655, Set Circulating Pump Running Above Temp [input_number.circulating_pump_running_above_temp] to 65, Set Default Brightness [input_number.default_brightness] to 15, Set Brightness Delta [input_number.brightness_delta] to 5, Select option 'cool' for Climate HVAC Mode [input_select.climate_hvac_mode], Select option 'auto' for Climate Fan Mode [input_select.climate_fan_mode], Select option 'true' for Climate Swing Mode [input_select.climate_swing_mode], Select option 'none' for Climate Preset Mode [input_select.climate_preset_mode].",
|
|
"natural_language": {
|
|
"trigger": "This automation does not have an automatic trigger. It is designed to be run manually.",
|
|
"conditions": "There are no conditions that need to be met for this automation to run.",
|
|
"action": "The automation performs a comprehensive reset to default values for the entire smart home system. It turns on or off a large number of input booleans to activate or deactivate various features, including button controls, pixel node messages, daily tasks like vacuuming and irrigation, cover controls, climate system settings, and appliance automations. It also sets numerous datetime values for scheduling events like sleep times, TV off periods, vacuuming windows, irrigation starts, mowing times, and climate operation periods. Furthermore, it configures a wide array of numeric parameters for delays, durations, thresholds, prices, and operational limits related to lighting, pumps, soil moisture, electricity, gas, climate control, and the dishwasher."
|
|
},
|
|
"human_like": "This automation resets all the smart home's toggle switches, schedules, and numerical settings back to their default, starting values.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_battery_forced_charge_discharge",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set battery forced charge discharge [input_select.set_battery_forced_charge_discharge] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register at address 13050 on slave 1 via hub SH10RT_master. The value is determined by the current state of Set battery forced charge discharge [input_select.set_battery_forced_charge_discharge]: if the state is 'Stop (default)', write 204; if the state is 'Forced charge', write 170; if the state is 'Forced discharge', write 187; otherwise, write 204.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selection for Set battery forced charge discharge [input_select.set_battery_forced_charge_discharge] is changed.",
|
|
"conditions": "The automation only runs if production mode [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "Sends a command to a battery system via Modbus, writing a specific numeric value to a control register. The value written depends on the selected mode: 170 for 'Forced charge', 187 for 'Forced discharge', or 204 for 'Stop (default)' (or any other selection)."
|
|
},
|
|
"human_like": "Controls the battery's forced charging or discharging mode based on a user selection, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_battery_forced_charge_discharge",
|
|
"result": {
|
|
"structured": "TRIGGER: When Battery forced charge discharge [sensor.battery_forced_charge_discharge] changes state. CONDITIONS: None. ACTIONS: Set the option of Set battery forced charge discharge [input_select.set_battery_forced_charge_discharge] to the current state of Battery forced charge discharge [sensor.battery_forced_charge_discharge].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Battery forced charge discharge [sensor.battery_forced_charge_discharge] sensor changes.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Updates the Set battery forced charge discharge [input_select.set_battery_forced_charge_discharge] selector to match the current value reported by the Battery forced charge discharge [sensor.battery_forced_charge_discharge] sensor."
|
|
},
|
|
"human_like": "Keeps the battery forced charge/discharge selector in sync with the sensor that reports the current mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_sh10rt_master_inverter_runmode",
|
|
"result": {
|
|
"structured": "TRIGGER: When Inverter Master Startup [input_button.inverter_master_startup] changes state (variable runmode set to 'startup') OR when Inverter Master Shutdown [input_button.inverter_master_shutdown] changes state (variable runmode set to 'shutdown'). CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register on hub SH10RT_master, slave 1, address 12999. The value is 207 if the trigger variable runmode is 'startup', otherwise 206.",
|
|
"natural_language": {
|
|
"trigger": "When the Inverter Master Startup [input_button.inverter_master_startup] button is pressed, or when the Inverter Master Shutdown [input_button.inverter_master_shutdown] button is pressed.",
|
|
"conditions": "The automation only runs if production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Sends a command to the master inverter's Modbus controller. If the startup button was pressed, it writes the value 207 to a specific register. If the shutdown button was pressed, it writes the value 206 instead."
|
|
},
|
|
"human_like": "Controls the master inverter's run mode by sending a startup or shutdown command via Modbus when the corresponding button is pressed, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_sh10rt_slave_set_inverter_runmode",
|
|
"result": {
|
|
"structured": "TRIGGER: When Inverter Slave Startup [input_button.inverter_slave_startup] changes state (with variable runmode set to 'startup') OR when Inverter Slave Shutdown [input_button.inverter_slave_shutdown] changes state (with variable runmode set to 'shutdown'). CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register on hub 'SH10RT_slave', slave 2, address 12999. The value is 207 if runmode is 'startup', otherwise 206.",
|
|
"natural_language": {
|
|
"trigger": "When the Inverter Slave Startup [input_button.inverter_slave_startup] button is pressed, or when the Inverter Slave Shutdown [input_button.inverter_slave_shutdown] button is pressed.",
|
|
"conditions": "The automation only runs if production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Sends a command to a specific inverter slave device via Modbus. If the startup button was pressed, it writes the value 207 to a control register. If the shutdown button was pressed, it writes the value 206 instead."
|
|
},
|
|
"human_like": "Controls the startup or shutdown of a solar inverter slave by sending the appropriate command when a button is pressed, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_max_soc",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set Max SOC [input_number.set_max_soc] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write to Modbus register (hub: SH10RT_master, slave: 1, address: 13057) with a value equal to the integer state of Set Max SOC [input_number.set_max_soc] multiplied by 10.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the input number entity Set Max SOC [input_number.set_max_soc] changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "Sends a command to a Modbus device to write a value to a specific register. The value written is calculated by taking the current numeric state of Set Max SOC [input_number.set_max_soc], converting it to an integer, and multiplying it by 10."
|
|
},
|
|
"human_like": "Updates the battery's maximum state of charge setting on a Modbus device whenever the user changes the target value, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_max_soc",
|
|
"result": {
|
|
"structured": "TRIGGER: When SH10RT master max SOC [sensor.sh10rt_master_max_soc] changes state. CONDITIONS: None. ACTIONS: Set the value of Set Max SOC [input_number.set_max_soc] to the current state of SH10RT master max SOC [sensor.sh10rt_master_max_soc].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the SH10RT master max SOC [sensor.sh10rt_master_max_soc] sensor changes.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the Set Max SOC [input_number.set_max_soc] input number to match the new value from the SH10RT master max SOC [sensor.sh10rt_master_max_soc] sensor."
|
|
},
|
|
"human_like": "Keeps the 'Set Max SOC' setting synchronized with the latest value from the master solar charge controller.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_min_soc",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set Min SOC [input_number.set_min_soc] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register at address 13058 on slave 1 via hub SH10RT_master. The value is the integer value of Set Min SOC [input_number.set_min_soc] multiplied by 10.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Set Min SOC [input_number.set_min_soc] input number changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be switched on.",
|
|
"action": "Sends a command to write to a specific Modbus register. The value written is calculated by taking the current numeric value from Set Min SOC [input_number.set_min_soc], converting it to an integer, and multiplying it by 10."
|
|
},
|
|
"human_like": "Updates the minimum state of charge setting on a connected device whenever the user changes the value, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_min_soc",
|
|
"result": {
|
|
"structured": "TRIGGER: When SH10RT master min SOC [sensor.sh10rt_master_min_soc] changes state. CONDITIONS: None. ACTIONS: Set the value of Set Min SOC [input_number.set_min_soc] to the current state of SH10RT master min SOC [sensor.sh10rt_master_min_soc].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the SH10RT master min SOC [sensor.sh10rt_master_min_soc] sensor updates its value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the Set Min SOC [input_number.set_min_soc] input number to match the latest value from the SH10RT master min SOC [sensor.sh10rt_master_min_soc] sensor."
|
|
},
|
|
"human_like": "Keeps the 'Set Min SOC' input synchronized with the value from the master SOC sensor.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_backup_soc",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set Backup SOC [input_number.set_backup_soc] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write the integer value of Set Backup SOC [input_number.set_backup_soc] to Modbus register address 13099 on slave 1 via hub SH10RT_master.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Set Backup SOC [input_number.set_backup_soc] input number changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends the current integer value from the Set Backup SOC [input_number.set_backup_soc] to a specific Modbus register (address 13099, slave 1) on the SH10RT_master hub."
|
|
},
|
|
"human_like": "Updates the backup state-of-charge setting on the inverter when the production mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_backup_soc",
|
|
"result": {
|
|
"structured": "TRIGGER: When SH10RT master reserved SOC for backup [sensor.sh10rt_master_reserved_soc_for_backup] changes state. CONDITIONS: None. ACTIONS: Set the value of Set Backup SOC [input_number.set_backup_soc] to the current state of SH10RT master reserved SOC for backup [sensor.sh10rt_master_reserved_soc_for_backup].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the SH10RT master reserved SOC for backup [sensor.sh10rt_master_reserved_soc_for_backup] sensor updates its value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Copies the current value from the SH10RT master reserved SOC for backup [sensor.sh10rt_master_reserved_soc_for_backup] sensor to the Set Backup SOC [input_number.set_backup_soc] input number."
|
|
},
|
|
"human_like": "Keeps the backup state-of-charge setting synchronized with the master reserved value from the solar system.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_battery_charge_start_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set Battery Charge Start Power [input_number.set_battery_charge_start_power] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register. The value is the state of Set Battery Charge Start Power [input_number.set_battery_charge_start_power] divided by 10.0, converted to an integer.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Set Battery Charge Start Power [input_number.set_battery_charge_start_power] input number changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends a command to write a value to a specific Modbus register. The value written is calculated by taking the current number from Set Battery Charge Start Power [input_number.set_battery_charge_start_power], dividing it by 10, and converting the result to a whole number."
|
|
},
|
|
"human_like": "Updates the battery's charge start power setting on the inverter whenever the user changes the target value, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_battery_charge_start_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SH10RT master battery charge start power [sensor.sh10rt_master_battery_charge_start_power] changes state. CONDITIONS: None. ACTIONS: Set the value of Set Battery Charge Start Power [input_number.set_battery_charge_start_power] to the current state value of SH10RT master battery charge start power [sensor.sh10rt_master_battery_charge_start_power].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the SH10RT master battery charge start power [sensor.sh10rt_master_battery_charge_start_power] sensor updates its value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Copies the current value from the SH10RT master battery charge start power [sensor.sh10rt_master_battery_charge_start_power] sensor to the Set Battery Charge Start Power [input_number.set_battery_charge_start_power] input number."
|
|
},
|
|
"human_like": "This automation keeps the 'Set Battery Charge Start Power' setting synchronized with the latest value from the battery sensor.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_battery_dischargestart_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set Battery Discharge Start Power [input_number.set_battery_discharge_start_power] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register (hub: SH10RT_master, slave: 1, address: 33149). The value is the integer result of dividing the current state of Set Battery Discharge Start Power [input_number.set_battery_discharge_start_power] by 10.0.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Set Battery Discharge Start Power [input_number.set_battery_discharge_start_power] input number changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends a command to a Modbus device (hub SH10RT_master, slave 1) to write a calculated value to register address 33149. The value written is the current power setting divided by 10, converted to an integer."
|
|
},
|
|
"human_like": "Updates the inverter's battery discharge start power setting via Modbus whenever the user changes the target value, but only when production mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_battery_discharge_start_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SH10RT master battery discharge start power [sensor.sh10rt_master_battery_discharge_start_power] changes state. CONDITIONS: None. ACTIONS: Set the value of Set Battery Discharge Start Power [input_number.set_battery_discharge_start_power] to the current state of SH10RT master battery discharge start power [sensor.sh10rt_master_battery_discharge_start_power].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the SH10RT master battery discharge start power [sensor.sh10rt_master_battery_discharge_start_power] sensor changes.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Copies the current value from the SH10RT master battery discharge start power [sensor.sh10rt_master_battery_discharge_start_power] sensor and sets the Set Battery Discharge Start Power [input_number.set_battery_discharge_start_power] input number to that value."
|
|
},
|
|
"human_like": "Keeps the configured battery discharge start power setting synchronized with the value reported by the master inverter.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_battery_max_charge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set Battery Max Charge Power [input_number.set_battery_max_charge_power] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register (hub: SH10RT_master, slave: 1, address: 33046). The value is the integer result of dividing the current state of Set Battery Max Charge Power [input_number.set_battery_max_charge_power] by 10.0.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the input number 'Set Battery Max Charge Power' [input_number.set_battery_max_charge_power] changes.",
|
|
"conditions": "The automation only runs if the 'production mode' [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "Writes a calculated value to a specific Modbus register on the SH10RT_master hub. The value sent is the current setting for the maximum charge power, divided by 10 and converted to an integer."
|
|
},
|
|
"human_like": "Updates the inverter's maximum battery charge power setting based on a user-defined value, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_battery_max_charge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SH10RT master battery max charge power [sensor.sh10rt_master_battery_max_charge_power] changes state. CONDITIONS: None. ACTIONS: Set the value of Set Battery Max Charge Power [input_number.set_battery_max_charge_power] to the current state of SH10RT master battery max charge power [sensor.sh10rt_master_battery_max_charge_power].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor for the SH10RT master battery max charge power [sensor.sh10rt_master_battery_max_charge_power] updates its value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the input number for the Set Battery Max Charge Power [input_number.set_battery_max_charge_power] to match the latest value from the battery sensor."
|
|
},
|
|
"human_like": "Keeps the battery's maximum charge power setting synchronized with the value reported by the master inverter.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_battery_max_discharge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set Battery Max Discharge Power [input_number.set_battery_max_discharge_power] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register. The value is calculated as the integer of (the current state of Set Battery Max Discharge Power [input_number.set_battery_max_discharge_power] divided by 10.0).",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Set Battery Max Discharge Power [input_number.set_battery_max_discharge_power] input number changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends a command to a Modbus device, writing a calculated value to a specific register. The value written is the integer result of dividing the current Set Battery Max Discharge Power [input_number.set_battery_max_discharge_power] value by 10."
|
|
},
|
|
"human_like": "Updates the battery's maximum discharge power setting on the inverter when the user changes the target value, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_battery_max_discharge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SH10RT master battery max discharge power [sensor.sh10rt_master_battery_max_discharge_power] changes state. CONDITIONS: None. ACTIONS: Set the value of Set Battery Max Discharge Power [input_number.set_battery_max_discharge_power] to the current state of SH10RT master battery max discharge power [sensor.sh10rt_master_battery_max_discharge_power].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the SH10RT master battery max discharge power [sensor.sh10rt_master_battery_max_discharge_power] sensor updates its value.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "Copies the latest value from the SH10RT master battery max discharge power [sensor.sh10rt_master_battery_max_discharge_power] sensor and sets it as the value for the Set Battery Max Discharge Power [input_number.set_battery_max_discharge_power] input."
|
|
},
|
|
"human_like": "Keeps the battery max discharge power setting synchronized with the latest value from the master sensor.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_set_battery_forced_charge_discharge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When Set Battery Forced Charge Discharge Power [input_number.set_battery_forced_charge_discharge_power] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write the integer value of Set Battery Forced Charge Discharge Power [input_number.set_battery_forced_charge_discharge_power] to Modbus register address 13051 on slave 1 via hub SH10RT_master.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the input number 'Set Battery Forced Charge Discharge Power' changes.",
|
|
"conditions": "The automation only runs if the 'production mode' sensor is turned on.",
|
|
"action": "Writes the current integer value from the 'Set Battery Forced Charge Discharge Power' input to a specific Modbus register (address 13051, slave 1) on the SH10RT_master hub."
|
|
},
|
|
"human_like": "Updates the battery's forced charge or discharge power setting via Modbus when the production mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solar_update_battery_forced_charge_discharge_power",
|
|
"result": {
|
|
"structured": "TRIGGER: When SH10RT master battery forced charge discharge power [sensor.sh10rt_master_battery_forced_charge_discharge_power] changes state. CONDITIONS: None. ACTIONS: Set the value of Set Battery Forced Charge Discharge Power [input_number.set_battery_forced_charge_discharge_power] to the current state of SH10RT master battery forced charge discharge power [sensor.sh10rt_master_battery_forced_charge_discharge_power].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor SH10RT master battery forced charge discharge power [sensor.sh10rt_master_battery_forced_charge_discharge_power] updates its value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the input number Set Battery Forced Charge Discharge Power [input_number.set_battery_forced_charge_discharge_power] to match the latest value from the sensor."
|
|
},
|
|
"human_like": "Keeps the battery forced charge/discharge power setting in sync with the value reported by the master sensor.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "solcast_update_forecast",
|
|
"result": {
|
|
"structured": "TRIGGER: When a template evaluates to true, specifically when the current time falls within a 60-second window around any of five equally spaced intervals between the Sun [sun.sun] next sunrise and next sunset. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND the current time is between sunrise and sunset. ACTIONS: Wait for a random delay between 30 and 360 seconds, then update solar forecasts via the solcast_solar.update_forecasts service.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers based on a calculated schedule. It divides the time between the next sunrise and the next sunset into five equal intervals. If the current time is within 30 seconds before or after the start of any of these intervals, the trigger activates.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is turned on, and if it is currently daytime (between sunrise and sunset).",
|
|
"action": "After triggering, the automation waits for a random amount of time between 30 seconds and 6 minutes. Following this delay, it executes the action to update solar forecast data using the solcast_solar.update_forecasts service."
|
|
},
|
|
"human_like": "Updates the solar forecast at specific times during the day when the system is in production mode, with a random delay to avoid overloading the service.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "tapocam_set_privacy_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] changes to home OR at sunrise with a 1-minute offset. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND family group [group.family] is home AND Sun [sun.sun] is above_horizon. ACTIONS: Turn on Tapo C520WS 5D82 privacy [switch.tapo_c520ws_5d82_privacy].",
|
|
"natural_language": {
|
|
"trigger": "When the family group [group.family] arrives home, or when the sun rises with a one-minute delay.",
|
|
"conditions": "The system must be in production mode [binary_sensor.prod_mode], the family group [group.family] must be at home, and the sun [sun.sun] must be above the horizon.",
|
|
"action": "Turns on the privacy mode for the Tapo camera by activating the switch Tapo C520WS 5D82 privacy [switch.tapo_c520ws_5d82_privacy]."
|
|
},
|
|
"human_like": "Turns on the camera's privacy mode when the family is home and it's daytime.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tapocam_set_day_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When sunrise occurs OR When family group [group.family] changes to not_home. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND family group [group.family] is not_home. ACTIONS: Turn off Tapo C520WS 5D82 privacy [switch.tapo_c520ws_5d82_privacy], then wait 15 seconds, then set Tapo C520WS 5D82 move to preset [select.tapo_c520ws_5d82_move_to_preset] to the second option in its list.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers either at sunrise or when the family group [group.family] changes its state to not_home.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is on and the family group [group.family] is currently not_home.",
|
|
"action": "It first turns off the Tapo C520WS 5D82 privacy [switch.tapo_c520ws_5d82_privacy] switch, waits for 15 seconds, and then sets the Tapo C520WS 5D82 move to preset [select.tapo_c520ws_5d82_move_to_preset] to the second option available in its list of options."
|
|
},
|
|
"human_like": "Sets the Tapo camera to day mode by disabling privacy and selecting a preset when the sun rises or everyone leaves home, but only if the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "tapocam_set_night_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When the sun sets. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn off Tapo C520WS 5D82 privacy [switch.tapo_c520ws_5d82_privacy], wait 15 seconds, then set Tapo C520WS 5D82 move to preset [select.tapo_c520ws_5d82_move_to_preset] to the first option from its list of available options.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers at sunset.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "It turns off the camera's privacy switch (Tapo C520WS 5D82 privacy [switch.tapo_c520ws_5d82_privacy]), waits for 15 seconds, and then selects the first preset position for the camera (Tapo C520WS 5D82 move to preset [select.tapo_c520ws_5d82_move_to_preset])."
|
|
},
|
|
"human_like": "At sunset, this automation disables the camera's privacy mode and moves it to a preset position, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "tapocam_set_notification",
|
|
"result": {
|
|
"structured": "TRIGGER: When family group [group.family] changes to home (mode variable set to 'off') OR When family group [group.family] changes to not_home (mode variable set to the state of input_boolean.tapocam_notifications). CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn the switch Tapo C520WS 5D82 notifications [switch.tapo_c520ws_5d82_notifications] to the state defined by the mode variable, wait 15 seconds, then turn the switch Tapo C520WS 5D82 rich notifications [switch.tapo_c520ws_5d82_rich_notifications] to the same state.",
|
|
"natural_language": {
|
|
"trigger": "When the family group [group.family] arrives home, setting a mode variable to 'off'. Alternatively, when the family group [group.family] leaves home, setting the mode variable to the current state of the entity 'input_boolean.tapocam_notifications'.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Sets the notification switches for a Tapo camera based on the mode variable. First, it turns the Tapo C520WS 5D82 notifications [switch.tapo_c520ws_5d82_notifications] on or off according to the mode. After a 15-second delay, it does the same for the Tapo C520WS 5D82 rich notifications [switch.tapo_c520ws_5d82_rich_notifications]."
|
|
},
|
|
"human_like": "Manages camera notifications based on whether the family is home or away, ensuring they are only active when needed.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "television_switch_on_plug",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches the value set in input_datetime.television_switch_on_at. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Turn on Fernseher [switch.fernseher].",
|
|
"natural_language": {
|
|
"trigger": "At the specific time configured in the input_datetime.television_switch_on_at entity.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Turn on the Fernseher [switch.fernseher] switch."
|
|
},
|
|
"human_like": "Turns on the television at a scheduled time, but only when production mode is active.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ups_status_change",
|
|
"result": {
|
|
"structured": "TRIGGER: When UPS status [sensor.ups_status] changes state. CONDITIONS: The previous state (trigger.from_state) AND the new state (trigger.to_state) of UPS status [sensor.ups_status] are defined (not none). ACTIONS: Execute the script notify [script.notify] with data: domain 'ups' and a message containing the new UPS status.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the UPS status [sensor.ups_status] changes to a new value.",
|
|
"conditions": "The automation only runs if the state change has both a valid previous state and a valid new state.",
|
|
"action": "Sends a notification using the notify script, specifying the 'ups' domain and including the new status of the UPS in the message."
|
|
},
|
|
"human_like": "Sends a notification whenever the UPS status changes.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "ups_shutdown_on_low_battery",
|
|
"result": {
|
|
"structured": "TRIGGER: When UPS battery runtime [sensor.ups_batterielaufzeit] falls below the value of input_number.ups_shutdown_at_battery_runtime. CONDITIONS: NOT (UPS status [sensor.ups_status] is Online). ACTIONS: Execute script.notify with a custom message containing the formatted battery runtime, wait 1 minute, then execute shell_command.request_shutdown.",
|
|
"natural_language": {
|
|
"trigger": "When the UPS battery runtime [sensor.ups_batterielaufzeit] drops below a configured threshold value.",
|
|
"conditions": "The UPS status [sensor.ups_status] must not be 'Online'.",
|
|
"action": "First, send a notification with a message showing the current battery runtime in minutes and seconds. Then, after a one-minute delay, execute a shell command to request a system shutdown."
|
|
},
|
|
"human_like": "Automatically shuts down the system when the UPS battery is low and the power is not online, sending a warning first.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "send_alert_after_daily_vacuum_to_empty_the_dustbin",
|
|
"result": {
|
|
"structured": "TRIGGER: When Galaxy Note Fan Edition [device_tracker.galaxy_note_fan_edition] is at home for 5 minutes. CONDITIONS: (production mode [binary_sensor.prod_mode] is on) AND (Daily Vacuum Done [input_boolean.daily_vacuum_done] is on) AND (time is after 08:30:00 AND before 23:30:00) AND (send_alert_after_daily_vacuum_to_empty_the_dustbin [automation.send_alert_after_daily_vacuum_to_empty_the_dustbin] was last triggered more than 1800 seconds ago OR it has never been triggered) AND (Daily Vacuum [input_boolean.daily_vacuum] is on). ACTIONS: Set volume of Sony KD 55AG9 [media_player.sony_kd_55ag9] to 0.7 AND use TTS to say 'Der Saugroboter muss geleert werden!' on Sony KD 55AG9 [media_player.sony_kd_55ag9].",
|
|
"natural_language": {
|
|
"trigger": "When the Galaxy Note Fan Edition [device_tracker.galaxy_note_fan_edition] has been at home for at least five minutes.",
|
|
"conditions": "If production mode [binary_sensor.prod_mode] is on, the Daily Vacuum Done [input_boolean.daily_vacuum_done] is on, the current time is between 08:30 and 23:30, the Daily Vacuum [input_boolean.daily_vacuum] is on, and this specific automation has not been triggered in the last 30 minutes (or has never been triggered before).",
|
|
"action": "Sets the volume of the Sony KD 55AG9 [media_player.sony_kd_55ag9] to 70% and then uses text-to-speech to announce 'Der Saugroboter muss geleert werden!' (The vacuum robot needs to be emptied!) on the same TV."
|
|
},
|
|
"human_like": "Announces a reminder to empty the vacuum robot's dustbin when someone arrives home, provided the daily cleaning is enabled and done, and only during daytime hours.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "reset_daily_vacuum_done_state_at_midnight",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time reaches midnight (0:00:00). CONDITIONS: None. ACTIONS: Turn off Daily Vacuum Done [input_boolean.daily_vacuum_done].",
|
|
"natural_language": {
|
|
"trigger": "Every day at midnight.",
|
|
"conditions": "There are no conditions that need to be met.",
|
|
"action": "Resets the Daily Vacuum Done [input_boolean.daily_vacuum_done] state by turning it off."
|
|
},
|
|
"human_like": "Resets the daily vacuum completion status at midnight each day.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_cleaning_ground_floor_room",
|
|
"result": {
|
|
"structured": "TRIGGER: When Vacuum ground floor room [input_select.vacuum_ground_floor_room] changes state from 'Auswahl'. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Set Vacuum ground floor room [input_select.vacuum_ground_floor_room] back to 'Auswahl'.",
|
|
"natural_language": {
|
|
"trigger": "When the Vacuum ground floor room [input_select.vacuum_ground_floor_room] selection changes from the 'Auswahl' (selection) option.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Resets the Vacuum ground floor room [input_select.vacuum_ground_floor_room] selection back to the 'Auswahl' option."
|
|
},
|
|
"human_like": "Resets the ground floor vacuum room selector to its default option whenever it is changed, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_cleaning_first_floor_room",
|
|
"result": {
|
|
"structured": "TRIGGER: When Vacuum first floor room [input_select.vacuum_first_floor_room] changes state from 'Auswahl'. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Set Vacuum first floor room [input_select.vacuum_first_floor_room] back to the option 'Auswahl'.",
|
|
"natural_language": {
|
|
"trigger": "When the Vacuum first floor room [input_select.vacuum_first_floor_room] selection changes away from the default 'Auswahl' option.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Resets the Vacuum first floor room [input_select.vacuum_first_floor_room] selection back to the default 'Auswahl' option."
|
|
},
|
|
"human_like": "Resets the first-floor vacuum room selector to its default option when changed, but only if the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "start_daily_vacuum",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time matches a pattern where minutes are divisible by 5 (every 5 minutes). CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Light Simulation [input_boolean.light_simulation] is off AND Daily Vacuum [input_boolean.daily_vacuum] is on AND Daily Vacuum Done [input_boolean.daily_vacuum_done] is off AND Workday Sensor [binary_sensor.workday_sensor] is on AND current time is after Vacuum Period Start [input_datetime.vacuum_period_start] AND before Vacuum Period End [input_datetime.vacuum_period_end] AND current weekday is Monday OR Wednesday AND family group [group.family] state is not_home. ACTIONS: Start vacuuming for Roborock S6 ground floor [vacuum.roborock_s6_ground_floor] and Roborock S6 first floor [vacuum.roborock_s6_first_floor] AND toggle Daily Vacuum Done [input_boolean.daily_vacuum_done].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers every five minutes, on the minute.",
|
|
"conditions": "All of the following must be true: the system is in production mode, the light simulation is turned off, the daily vacuum feature is enabled, the daily vacuum has not already been marked as done today, the day is considered a workday, the current time falls within a defined vacuuming time window, the day is either Monday or Wednesday, and no one from the family is at home.",
|
|
"action": "Starts the vacuuming process for both the ground floor and first floor Roborock vacuums, and then marks the daily vacuum task as completed by toggling the corresponding status."
|
|
},
|
|
"human_like": "Automatically starts the scheduled vacuuming on workdays when the house is empty, ensuring it only runs within a specific time window.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_allow_charging",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger allow charging [sensor.go_echarger_allow_charging] changes state. CONDITIONS: None. ACTIONS: Set a variable 'mode' to 'on' if the new state is '1', otherwise set it to 'off'. Then, call the service input_boolean.turn_{{ mode }} on the entity Wallbox Allow Charging [input_boolean.wallbox_allow_charging].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger allow charging [sensor.go_echarger_allow_charging] changes its state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "The automation determines a mode based on the new state of the sensor. If the new state is '1', it sets a mode variable to 'on'. If the new state is anything else, it sets the mode to 'off'. It then uses this mode to call the corresponding service (e.g., 'input_boolean.turn_on' or 'input_boolean.turn_off') on the Wallbox Allow Charging [input_boolean.wallbox_allow_charging] input boolean."
|
|
},
|
|
"human_like": "This automation synchronizes the wallbox's charging permission by updating a switch based on the status reported by the charger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_allow_charging",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox Allow Charging [input_boolean.wallbox_allow_charging] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write to a modbus register on hub 'go_echarger' (slave 1, address 200) with a value list where the first element is 1 if Wallbox Allow Charging [input_boolean.wallbox_allow_charging] is on, otherwise 0, and the second element is 0.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Wallbox Allow Charging [input_boolean.wallbox_allow_charging] changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends a command to the wallbox charger via modbus to set its charging permission. It writes a specific value to a register: a list where the first number is 1 if charging is allowed, or 0 if not, followed by a second number of 0."
|
|
},
|
|
"human_like": "Controls the wallbox charger's permission to charge based on a user toggle, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_access_state",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger access state [sensor.go_echarger_access_state] changes state. CONDITIONS: None. ACTIONS: Set Wallbox access state [input_select.wallbox_access_state] to the option whose index matches the integer value of the new state of Go eCharger access state [sensor.go_echarger_access_state].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger access state [sensor.go_echarger_access_state] changes its value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the Wallbox access state [input_select.wallbox_access_state] selection. It maps the new numeric value from the Go eCharger sensor to the corresponding option in the Wallbox access state dropdown list."
|
|
},
|
|
"human_like": "Syncs the wallbox's access state selection with the latest value reported by the charger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_access_state",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox access state [input_select.wallbox_access_state] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register (hub: go_echarger, slave: 1, address: 201). The value is determined by the index of the new state of Wallbox access state [input_select.wallbox_access_state] within its list of options.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selected option in the Wallbox access state [input_select.wallbox_access_state] changes.",
|
|
"conditions": "The automation only runs if production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Sends a command to a Modbus device (the go_echarger wallbox) to write a value to a specific register. The value written corresponds to the position (index) of the newly selected access state option in the list of available options."
|
|
},
|
|
"human_like": "Updates the wallbox's access control setting based on a user selection, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_cable_lock_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger cable lock mode [sensor.go_echarger_cable_lock_mode] changes state. CONDITIONS: None. ACTIONS: Set Wallbox cable lock mode [input_select.wallbox_cable_lock_mode] to the option at the index equal to the numeric value of the new state of Go eCharger cable lock mode [sensor.go_echarger_cable_lock_mode].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the Go eCharger cable lock mode [sensor.go_echarger_cable_lock_mode] sensor reports a new state.",
|
|
"conditions": "There are no additional conditions for this automation.",
|
|
"action": "Updates the Wallbox cable lock mode [input_select.wallbox_cable_lock_mode] dropdown selection. It uses the new numeric value from the sensor to pick the corresponding option from the dropdown's list."
|
|
},
|
|
"human_like": "Syncs the wallbox's cable lock mode selection with the value reported by the charger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_cable_lock_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox cable lock mode [input_select.wallbox_cable_lock_mode] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write to a Modbus register (hub: go_echarger, slave: 1, address: 204) with a value derived from the index of the new selected option in the input_select's options list. If the index is not found, the value is 0.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selected option in the Wallbox cable lock mode [input_select.wallbox_cable_lock_mode] changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends a command to a Modbus device (go_echarger, slave 1) to write to register address 204. The value written is the index number of the newly selected option from the Wallbox cable lock mode list. If the selected option is not found in the list, the value 0 is sent instead."
|
|
},
|
|
"human_like": "Updates the cable lock setting on the wallbox charger whenever the user changes the mode, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_led_brightness",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger LED brightness [sensor.go_echarger_led_brightness] changes state. CONDITIONS: None. ACTIONS: Set Wallbox LED brightness [input_number.wallbox_led_brightness] to the new integer state value of Go eCharger LED brightness [sensor.go_echarger_led_brightness].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor for the Go eCharger LED brightness [sensor.go_echarger_led_brightness] changes its state.",
|
|
"conditions": "There are no conditions that must be met for this automation to run.",
|
|
"action": "Updates the Wallbox LED brightness [input_number.wallbox_led_brightness] input number to match the new brightness value reported by the Go eCharger sensor."
|
|
},
|
|
"human_like": "Keeps the Wallbox LED brightness setting synchronized with the brightness reported by the Go eCharger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_led_brightness",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox LED brightness [input_number.wallbox_led_brightness] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register. The value is a list containing the integer state of the triggering entity (Wallbox LED brightness [input_number.wallbox_led_brightness]) and 0. The write command targets hub 'go_echarger', slave 1, address 206.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Wallbox LED brightness [input_number.wallbox_led_brightness] input number changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Sends a command to write to a specific Modbus register on the 'go_echarger' hub. The value written is a list containing the new brightness level from the trigger and a zero."
|
|
},
|
|
"human_like": "Updates the physical LED brightness on the wallbox charger when the brightness setting is changed, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_led_save_energy",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger LED save energy [sensor.go_echarger_led_save_energy] changes state. CONDITIONS: None. ACTIONS: Set variable 'mode' to 'on' if the new state is '1', otherwise set it to 'off'. Then, turn Wallbox LED Save Energy [input_boolean.wallbox_led_save_energy] to the value of variable 'mode'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger LED save energy [sensor.go_echarger_led_save_energy] changes its state.",
|
|
"conditions": "There are no conditions for this automation.",
|
|
"action": "It determines a mode based on the new sensor value: if the sensor reads '1', the mode is set to 'on'; otherwise, it is set to 'off'. It then uses this mode to update the state of the Wallbox LED Save Energy [input_boolean.wallbox_led_save_energy] switch accordingly."
|
|
},
|
|
"human_like": "This automation syncs the state of a wallbox's energy-saving LED indicator from a sensor to a Home Assistant switch.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_led_save_energy",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox LED Save Energy [input_boolean.wallbox_led_save_energy] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write to modbus register 207 on hub go_echarger slave 1 with value [1, 0] if Wallbox LED Save Energy [input_boolean.wallbox_led_save_energy] is on, otherwise [0, 0].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Wallbox LED Save Energy [input_boolean.wallbox_led_save_energy] changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends a command to the wallbox's modbus interface (hub go_echarger, slave 1, address 207) to set the LED save energy feature. It writes the value [1, 0] if the switch is on, or [0, 0] if it is off."
|
|
},
|
|
"human_like": "Controls the wallbox's energy-saving LED indicator based on a user switch, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_max_current",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger max current [sensor.go_echarger_max_current] changes state. CONDITIONS: None. ACTIONS: Set the value of Wallbox max current [input_number.wallbox_max_current] to the new integer state of Go eCharger max current [sensor.go_echarger_max_current].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger max current [sensor.go_echarger_max_current] reports a new value.",
|
|
"conditions": "There are no additional conditions that must be met.",
|
|
"action": "Updates the helper input Wallbox max current [input_number.wallbox_max_current] to match the new integer value reported by the Go eCharger max current sensor."
|
|
},
|
|
"human_like": "Keeps the configured wallbox maximum current setting in sync with the value reported by the charger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_max_current",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox max current [input_number.wallbox_max_current] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write to modbus register (hub: go_echarger, slave: 1, address: 211) with a value equal to the integer value of the triggering entity's state, clamped to a minimum of 0.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Wallbox max current [input_number.wallbox_max_current] input number changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Sends a command to a Modbus device (go_echarger, slave 1) to write a new value to register 211. The value written is the new current setting from the input number, ensuring it is not negative."
|
|
},
|
|
"human_like": "Updates the maximum charging current for the wallbox when the user changes the setting, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_current_volatile",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger current volatile [sensor.go_echarger_current_volatile] changes state. CONDITIONS: None. ACTIONS: Set Wallbox current volatile [input_number.wallbox_current_volatile] to the integer value of the new state of Go eCharger current volatile [sensor.go_echarger_current_volatile].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger current volatile [sensor.go_echarger_current_volatile] reports a new value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the helper input Wallbox current volatile [input_number.wallbox_current_volatile] to match the new integer value from the sensor."
|
|
},
|
|
"human_like": "Keeps a helper value in sync with the latest volatile current reading from the wallbox charger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_current_volatile",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox current volatile [input_number.wallbox_current_volatile] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write to Modbus register 299 on slave 1 via hub 'go_echarger' with a value equal to the integer value of the triggering entity's state, clamped to a minimum of 0.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Wallbox current volatile [input_number.wallbox_current_volatile] input number changes.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be active (on).",
|
|
"action": "Sends a command to the Modbus system (hub 'go_echarger', slave 1) to write a value to register address 299. The value written is the numerical value of the Wallbox current volatile [input_number.wallbox_current_volatile], ensuring it is not negative."
|
|
},
|
|
"human_like": "Updates the wallbox charging current based on a user-adjustable value, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_current_eeprom",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger current EEPROM [sensor.go_echarger_current_eeprom] changes state. CONDITIONS: None. ACTIONS: Set Wallbox current EEPROM [input_number.wallbox_current_eeprom] to the integer value of the new state of Go eCharger current EEPROM [sensor.go_echarger_current_eeprom].",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger current EEPROM [sensor.go_echarger_current_eeprom] reports a new value.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the helper Wallbox current EEPROM [input_number.wallbox_current_eeprom] to match the new integer value from the sensor."
|
|
},
|
|
"human_like": "Keeps the Wallbox current EEPROM helper synchronized with the latest value from the Go eCharger sensor.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_current_eeprom",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox current EEPROM [input_number.wallbox_current_eeprom] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write the integer value of Wallbox current EEPROM [input_number.wallbox_current_eeprom] to Modbus register address 300 on slave 1 via hub 'go_echarger'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the value of the Wallbox current EEPROM [input_number.wallbox_current_eeprom] changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is active (on).",
|
|
"action": "Writes the current integer value from the Wallbox current EEPROM [input_number.wallbox_current_eeprom] to a specific Modbus register (address 300, slave 1) on the 'go_echarger' hub."
|
|
},
|
|
"human_like": "Updates the wallbox's stored current limit in its EEPROM when the user changes the value, but only when the system is in production mode.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_phase_switch_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger phase switch mode [sensor.go_echarger_phase_switch_mode] changes state. CONDITIONS: None. ACTIONS: Set the option for Wallbox phase switch mode [input_select.wallbox_phase_switch_mode] to the option at the index given by the integer value of the triggering sensor's state.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger phase switch mode [sensor.go_echarger_phase_switch_mode] changes its state.",
|
|
"conditions": "There are no conditions that must be met.",
|
|
"action": "Updates the Wallbox phase switch mode [input_select.wallbox_phase_switch_mode] dropdown selection. It selects the option whose position in the list matches the numeric value reported by the triggering sensor."
|
|
},
|
|
"human_like": "Synchronizes the wallbox's phase switch mode selection with the value reported by the charger.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_phase_switch_mode",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox phase switch mode [input_select.wallbox_phase_switch_mode] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write a value to a Modbus register (hub: go_echarger, slave: 1, address: 332). The value is determined by the index of the current state of Wallbox phase switch mode [input_select.wallbox_phase_switch_mode] within its list of options.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the selected option for the Wallbox phase switch mode [input_select.wallbox_phase_switch_mode] changes.",
|
|
"conditions": "The system must be in production mode, meaning the production mode [binary_sensor.prod_mode] sensor is on.",
|
|
"action": "Sends a command to the wallbox charger via Modbus to set a specific register. The value written is based on the position of the currently selected mode in the list of available options."
|
|
},
|
|
"human_like": "Updates the wallbox charger's phase switching mode based on a user selection, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_update_cloud_disabled",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger cloud disabled [sensor.go_echarger_cloud_disabled] changes state. CONDITIONS: None. ACTIONS: Set variable 'mode' to 'on' if the new state is '1', otherwise set it to 'off'. Then, turn Wallbox Cloud Disabled [input_boolean.wallbox_cloud_disabled] to the state defined by the variable 'mode'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger cloud disabled [sensor.go_echarger_cloud_disabled] changes its state.",
|
|
"conditions": "There are no conditions that must be met for the action to run.",
|
|
"action": "It determines a new state based on the sensor's value: if the new state is '1', it sets an internal variable to 'on', otherwise it sets it to 'off'. It then uses this variable to turn the Wallbox Cloud Disabled [input_boolean.wallbox_cloud_disabled] input boolean to that corresponding state."
|
|
},
|
|
"human_like": "This automation synchronizes the status of the wallbox cloud disabled flag from a sensor to a corresponding input boolean for easier use in the interface.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_set_cloud_disabled",
|
|
"result": {
|
|
"structured": "TRIGGER: When Wallbox Cloud Disabled [input_boolean.wallbox_cloud_disabled] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on. ACTIONS: Write to a Modbus register on the 'go_echarger' hub (slave 1, address 217) with a value determined by the index of the current state of Wallbox Cloud Disabled [input_boolean.wallbox_cloud_disabled] within its options list.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the state of the Wallbox Cloud Disabled [input_boolean.wallbox_cloud_disabled] input boolean changes.",
|
|
"conditions": "The automation only runs if the production mode [binary_sensor.prod_mode] is currently active (on).",
|
|
"action": "Sends a command to write to a specific Modbus register (address 217) on the 'go_echarger' hub. The value written is derived from the current state of the Wallbox Cloud Disabled [input_boolean.wallbox_cloud_disabled] switch, looking up its position in the list of available options."
|
|
},
|
|
"human_like": "Updates the wallbox's cloud setting via Modbus when the corresponding switch is toggled, but only when the system is in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_start_charging",
|
|
"result": {
|
|
"structured": "TRIGGER: When Go eCharger allow charging [sensor.go_echarger_allow_charging] changes state. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND Go eCharger allow charging [sensor.go_echarger_allow_charging] is '1'. ACTIONS: Set EVCC wallbox limit SOC [number.evcc_wallbox_limit_soc] to 100, set EVCC priority SOC [select.evcc_priority_soc] to '95', set EVCC wallbox mode [select.evcc_wallbox_mode] to 'pv', and run script.notify with domain 'wallbox' and message 'Laden gestartet'.",
|
|
"natural_language": {
|
|
"trigger": "Whenever the sensor Go eCharger allow charging [sensor.go_echarger_allow_charging] changes its state.",
|
|
"conditions": "The production mode [binary_sensor.prod_mode] must be on, and the Go eCharger allow charging [sensor.go_echarger_allow_charging] must have a value of '1'.",
|
|
"action": "Set the EVCC wallbox limit SOC [number.evcc_wallbox_limit_soc] to 100 percent, set the EVCC priority SOC [select.evcc_priority_soc] to '95', set the EVCC wallbox mode [select.evcc_wallbox_mode] to 'pv', and send a notification with the message 'Laden gestartet' via a script."
|
|
},
|
|
"human_like": "Starts the wallbox charging process when charging is allowed and production mode is active, configuring the charge limit and mode, and sending a notification.",
|
|
"complexity": "low"
|
|
}
|
|
},
|
|
{
|
|
"id": "wallbox_stop_charging",
|
|
"result": {
|
|
"structured": "TRIGGER: When sensor.evcc_wallbox_vehicle_soc value is greater than or equal to number.evcc_wallbox_limit_soc value OR when a bosch_shc.event occurs with event_type SCENARIO and event_subtype Laden beenden. CONDITIONS: production mode [binary_sensor.prod_mode] is on AND EVCC Wallbox Enabled [binary_sensor.evcc_wallbox_enabled] is on. ACTIONS: Set EVCC wallbox mode [select.evcc_wallbox_mode] to option 'off' AND execute script.notify with domain wallbox and message Laden gestoppt.",
|
|
"natural_language": {
|
|
"trigger": "When the vehicle's state of charge sensor [sensor.evcc_wallbox_vehicle_soc] reaches or exceeds the set charge limit [number.evcc_wallbox_limit_soc], or when a specific Bosch Smart Home Controller event is received, signaling the scenario 'Laden beenden' (stop charging).",
|
|
"conditions": "Both the production mode [binary_sensor.prod_mode] and the EVCC Wallbox Enabled [binary_sensor.evcc_wallbox_enabled] switches must be turned on.",
|
|
"action": "Changes the wallbox operating mode to 'off' via the EVCC wallbox mode [select.evcc_wallbox_mode] selector and sends a notification with the message 'Laden gestoppt'."
|
|
},
|
|
"human_like": "Automatically stops the wallbox charging when the vehicle's battery is sufficiently charged or when a specific stop command is received, ensuring it only runs in production mode.",
|
|
"complexity": "medium"
|
|
}
|
|
}
|
|
] |