80 lines
39 KiB
JSON
80 lines
39 KiB
JSON
[
|
|
{
|
|
"id": "'5001'",
|
|
"result": {
|
|
"structured": "TRIGGER: When zappi plug status [sensor.zappi_plug_status] changes to Fault OR from Charging to EV Disconnected OR from EV Connected to EV Disconnected OR from Charging to EV Connected and remains for 1 minute OR from Waiting for EV to EV Connected and remains for 10 minutes OR from EV Disconnected to EV Connected and remains for a delay defined by Delay When EV Connected [input_number.delay_when_ev_connected] minutes OR from Fault to Charging OR from Waiting for EV to Charging OR from EV Connected to Charging OR at sensor.pre_export_battery_before_charging_ev_time OR at sensor.ev_start_time OR at sensor.pre_nightly_battery_export_time OR at sensor.daily_battery_export_time_ev_disconnected OR at 23:30:00 OR when solax discharge before 2330 [binary_sensor.solax_discharge_before_2330] changes from on to off OR when solax discharge before 2330 [binary_sensor.solax_discharge_before_2330] changes to off from on and remains for 2 minutes OR when octopus intelligent dispatching [binary_sensor.octopus_intelligent_dispatching] changes from on to off OR when zappi charge mode [select.zappi_charge_mode] changes to Fast OR when zappi charge mode [select.zappi_charge_mode] changes to Fast and remains for a duration calculated from solax start charge 2 [input_datetime.solax_start_charge_2] and solax stop charge 2 [input_datetime.solax_stop_charge_2] OR when solax force discharge [input_button.solax_force_discharge] state changes OR when solax stop discharge [input_button.solax_stop_discharge] state changes OR when octopus schedule anytime [input_boolean.octopus_schedule_anytime] changes to on OR when solar export priority [input_boolean.solar_export_priority] changes to on OR when use clever time [input_boolean.use_clever_time] changes to on OR when use fixed time [input_boolean.use_fixed_time] changes to on OR when ev solax battery drain [input_boolean.ev_solax_battery_drain] OR use grid during octopus dispatch [input_boolean.use_grid_during_octopus_dispatch] state changes OR when solax local battery soc [sensor.solax_local_battery_soc] is below Solax Default Discharge Limit SoC [input_number.solax_default_discharge_limit_soc] for 1 minute and 1 second OR at sensor.octopus_intelligent_target_time with offset 120 seconds OR when zappi eco always [input_boolean.zappi_eco_always] state is on for 30 seconds OR when solax local manual mode behaviour [sensor.solax_local_manual_mode_behaviour] changes from Force Discharge to Do Nothing for 3 minutes OR at input_datetime.solax_battery_start_charge_time with offset -300 seconds OR at sensor.solax_local_battery_setting_stop_charge_2 OR when solax discharge before ev charge [binary_sensor.solax_discharge_before_ev_charge] changes from on to off OR when Octopus Intelligent Charge Target [number.octopus_intelligent_charge_target] state changes for 1 minute OR when solax local battery charging period [binary_sensor.solax_local_battery_charging_period] changes from on to off for 59 seconds OR from off to on for 59 seconds OR when solax discharge daily [binary_sensor.solax_discharge_daily] changes to off from on for 2 minutes OR when solax discharge daily prior [binary_sensor.solax_discharge_daily_prior] changes to off from on for 2 minutes OR when solax discharge nightly [binary_sensor.solax_discharge_nightly] changes to off from on for 2 minutes. CONDITIONS: (NOT ( ( (trigger is Discharge_battery_at_2330 AND (zappi plug status [sensor.zappi_plug_status] is Charging OR Waiting for EV OR solax local manual mode behaviour [sensor.solax_local_manual_mode_behaviour] is Force Discharge) ) OR (trigger is Solax Discharge Prior to 2330 START AND (zappi plug status [sensor.zappi_plug_status] is Charging OR Waiting for EV OR solax local manual mode behaviour [sensor.solax_local_manual_mode_behaviour] is Force Discharge) ) OR (trigger is Time to Start Charging AND zappi plug status [sensor.zappi_plug_status] is EV Disconnected) OR (trigger is Only allow EV charging after sunset OR use clever time OR use fixed time) OR (trigger is Allow Octopus to Determine Schedule AND zappi plug status [sensor.zappi_plug_status] is Charging) OR (trigger is Battery usage options AND zappi plug status [sensor.zappi_plug_status] is Charging) OR (saving session active [input_boolean.saving_session_active] is on) OR (trigger is Time to Start Charging AND octopus intelligent smart charge [switch.octopus_intelligent_smart_charge] is on) OR (trigger is Solax Discharge Prior to EV AND octopus intelligent smart charge [switch.octopus_intelligent_smart_charge] is on) OR (trigger is Check Discharge Mode AND solax local inverter mode [sensor.solax_local_inverter_mode] is not Manual) ) )) AND (system uptime is greater than 80 seconds). ACTIONS: First, choose block to manage charging mode selection switches: if trigger is Allow Octopus to Determine Schedule, turn off solar export priority [input_boolean.solar_export_priority], use clever time [input_boolean.use_clever_time], and use fixed time [input_boolean.use_fixed_time]; if trigger is Only allow EV charging after sunset, turn off octopus schedule anytime [input_boolean.octopus_schedule_anytime], use clever time [input_boolean.use_clever_time], and use fixed time [input_boolean.use_fixed_time]; if trigger is use clever time, optionally set Don't Charge EV Before Time [input_datetime.don_t_charge_ev_before_time] and turn off solar export priority [input_boolean.solar_export_priority], octopus schedule anytime [input_boolean.octopus_schedule_anytime], and use fixed time [input_boolean.use_fixed_time]; if trigger is use fixed time, turn off solar export priority [input_boolean.solar_export_priority], octopus schedule anytime [input_boolean.octopus_schedule_anytime], and use clever time [input_boolean.use_clever_time]. Then, turn on solax automation running [input_boolean.solax_automation_running]. Then, execute script.solax_set_mode_and_settings with calculated min_soc variable. Then, a main choose block: if zappi plug status [sensor.zappi_plug_status] is Charging AND zappi charge mode [select.zappi_charge_mode] is Eco+ AND trigger is Charging0 OR Charging1 OR Charging2, set inverter to default mode and send notification. if trigger is Paused EV Charging, send notification. if trigger is Disconnected To Connected OR Time to Start Charging OR Allow Octopus to Determine Schedule OR Solax Discharge Prior to EV OR finish discharge AND zappi plug status [sensor.zappi_plug_status] is EV Connected AND saving session active [input_boolean.saving_session_active] is off AND solax local inverter mode [sensor.solax_local_inverter_mode] is not Manual, then set zappi charge mode based on zappi eco always [input_boolean.zappi_eco_always], and if solax battery export before ev charge allowed [binary_sensor.solax_battery_export_before_ev_charge_allowed] is off OR trigger is Solax Discharge Prior to EV and current time is after ev start time, then if within charging window, set zappi charge mode to Eco+, turn on octopus intelligent smart charge [switch.octopus_intelligent_smart_charge], set inverter to default mode, and send notification; else if solax battery export before ev charge allowed [binary_sensor.solax_battery_export_before_ev_charge_allowed] is on, then if within discharge window and battery soc above limit, set zappi charge mode to Stopped, set inverter to manual discharge mode, send notification, else wait for discharge to finish. if trigger is Connected to Disconnected OR Charging to Disconnected, set zappi charge mode based on zappi eco always [input_boolean.zappi_eco_always], turn off octopus intelligent smart charge [switch.octopus_intelligent_smart_charge], set inverter to default mode, send notification. if trigger is Zappi Fault, send notification. if trigger is Fast, set zappi charge mode to Stopped, send notification. if trigger is ForceDischarge AND inverter is not in manual mode, if battery soc above limit, set inverter to manual discharge mode, send notification, turn on export battery manual [input_boolean.export_battery_manual]. if trigger is StopForceDischarge AND inverter is in manual mode, set inverter to default mode, send notification, optionally stop discharge event, turn off export battery manual [input_boolean.export_battery_manual]. if trigger is Discharge_battery_at_2330 OR Solax Discharge Prior to 2330 START AND (zappi plug status [sensor.zappi_plug_status] is EV Disconnected OR (EV Connected for 10 minutes AND conditions based on schedule)), if export battery [input_boolean.export_battery] is on AND battery soc above limit AND inverter not in manual mode, then based on pre emptive export battery [input_boolean.pre_emptive_export_battery] state, set inverter to manual discharge mode, send discharge event, send notification; else send notification. if trigger is Peak Rate AND saving session active [input_boolean.saving_session_active] is off, set inverter to default mode, send notification. if trigger is Battery at min SoC AND octopus intelligent dispatching [binary_sensor.octopus_intelligent_dispatching] is off, send notification. if trigger is Dispatch Finished AND octopus total planned dispatch [sensor.octopus_total_planned_dispatch] below 1, turn off octopus intelligent smart charge [switch.octopus_intelligent_smart_charge], set zappi charge mode based on zappi eco always [input_boolean.zappi_eco_always]. if trigger is Zappi eco mode AND zappi plug status [sensor.zappi_plug_status] is EV Connected, set zappi charge mode based on zappi eco always [input_boolean.zappi_eco_always]. if solax local inverter mode [sensor.solax_local_inverter_mode] is Manual for 2 minutes AND (export battery [input_boolean.export_battery] is on OR solax discharge before ev charge [binary_sensor.solax_discharge_before_ev_charge] is on OR solax local manual mode behaviour [sensor.solax_local_manual_mode_behaviour] is Do Nothing) AND trigger is Check Discharge Mode, if battery soc above limit, send notification and set inverter to manual discharge mode, else set inverter to default mode. if trigger is Charge Solax AND inverter mode is not default AND saving session active [input_boolean.saving_session_active] is off, set inverter to default mode. if trigger is Charge Period 2 End AND saving session active [input_boolean.saving_session_active] is off AND solax local battery chd2 enabled [sensor.solax_local_battery_chd2_enabled] is true, disable charge period 2. if trigger is Daily Export AND (zappi plug status [sensor.zappi_plug_status] is EV Disconnected OR (EV Connected for 10 minutes AND export battery daily [input_boolean.export_battery_daily] is on) OR free electricity today [binary_sensor.free_electricity_today] is off), if battery soc above limit AND inverter not in manual mode AND export battery daily [input_boolean.export_battery_daily] is on, set inverter to manual discharge mode, send discharge event, send notification. Finally, turn off solax automation running [input_boolean.solax_automation_running].",
|
|
"natural_language": {
|
|
"trigger": "This automation is triggered by a wide variety of events related to the electric vehicle (EV) charger (Zappi), the home battery inverter (Solax), and Octopus Energy smart charging. Triggers include changes in the Zappi's plug status (e.g., starting, stopping, pausing, or faulting), specific times of day for starting charging or discharging the battery, changes in Octopus Energy's dispatching status, manual button presses to force or stop battery discharge, changes in user-configured mode switches (like 'solar export priority' or 'use clever time'), the battery's state of charge dropping below a limit, the end of a scheduled charging period, and changes in various binary sensors that track discharge activities.",
|
|
"conditions": "The automation runs only if a complex set of conditions is NOT met. These blocking conditions are designed to prevent the automation from acting during specific conflicting scenarios. Examples include: trying to start a nightly battery discharge while the EV is charging or waiting; trying to start EV charging when the vehicle is disconnected; when a 'saving session' is active; or when the inverter is already in manual mode for a discharge check. Additionally, the system must have been running for more than 80 seconds.",
|
|
"action": "The actions are extensive and depend heavily on which trigger occurred. First, it manages the user's selected charging strategy by turning off conflicting mode switches. It then marks the automation as running. A key action is calculating and applying a minimum battery state of charge (min_soc) to the inverter, which determines when the battery can discharge. The core actions are a large set of conditional branches: \n- For EV charging events, it sets the Zappi to the appropriate mode (Eco+, Stopped), toggles the Octopus smart charge switch, sets the Solax inverter to its default or manual discharge mode, and sends status notifications.\n- For EV disconnection, it stops smart charging and resets systems.\n- For fault events, it sends alerts.\n- For manual discharge commands, it forces the battery to discharge or stops it.\n- For scheduled discharge times (like 23:30 or daily export), it initiates battery export if conditions are right.\n- For other events like the end of peak rates or low battery, it sends notifications or resets modes.\nFinally, it marks the automation as finished."
|
|
},
|
|
"human_like": "This automation intelligently coordinates home battery storage (Solax) and electric vehicle charging (Zappi) with Octopus Energy tariffs. It manages when to charge the car, when to discharge the battery to the grid for profit, and handles various user preferences and error conditions automatically.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'5002'",
|
|
"result": {
|
|
"structured": "TRIGGER: When solax local battery soc [sensor.solax_local_battery_soc] is below the maximum of (solax local feed in battery min soc [sensor.solax_local_feed_in_battery_min_soc], solax local selfuse battery min soc [sensor.solax_local_selfuse_battery_min_soc], solax discharge limit soc before ev [input_number.solax_discharge_limit_soc_before_ev]) + 1 AND solax discharge before ev charge [binary_sensor.solax_discharge_before_ev_charge] is on. OR When the time is sensor.ev_start_time [sensor.ev_start_time]. OR When solax local battery soc [sensor.solax_local_battery_soc] is below the maximum of (solax local feed in battery min soc [sensor.solax_local_feed_in_battery_min_soc], solax local selfuse battery min soc [sensor.solax_local_selfuse_battery_min_soc], solax daily discharge limit soc [input_number.solax_daily_discharge_limit_soc]) + 1 AND solax discharge daily [binary_sensor.solax_discharge_daily] is on. OR When solax local battery soc [sensor.solax_local_battery_soc] is below the maximum of (solax local feed in battery min soc [sensor.solax_local_feed_in_battery_min_soc], solax local selfuse battery min soc [sensor.solax_local_selfuse_battery_min_soc], solax nightly discharge limit soc [input_number.solax_nightly_discharge_limit_soc]) + 1 AND solax discharge nightly [binary_sensor.solax_discharge_nightly] is on. OR When solax local battery soc [sensor.solax_local_battery_soc] is below the maximum of (solax local feed in battery min soc [sensor.solax_local_feed_in_battery_min_soc], solax local selfuse battery min soc [sensor.solax_local_selfuse_battery_min_soc], solax nightly discharge limit soc [input_number.solax_nightly_discharge_limit_soc]) + 1 AND solax discharge before 2330 [binary_sensor.solax_discharge_before_2330] is on. OR When solax local battery soc [sensor.solax_local_battery_soc] is below the maximum of (solax local feed in battery min soc [sensor.solax_local_feed_in_battery_min_soc], solax local selfuse battery min soc [sensor.solax_local_selfuse_battery_min_soc], solax manual forced discharge limit soc [input_number.solax_manual_forced_discharge_limit_soc]) + 1 AND solax discharge manual [binary_sensor.solax_discharge_manual] is on. OR When solax local battery soc [sensor.solax_local_battery_soc] is below the maximum of (solax local feed in battery min soc [sensor.solax_local_feed_in_battery_min_soc], solax local selfuse battery min soc [sensor.solax_local_selfuse_battery_min_soc], octopus free session battery prep soc [input_number.octopus_free_session_battery_prep_soc]) + 1. OR When solax local battery soc [sensor.solax_local_battery_soc] is below octopus saving session target battery soc [input_number.octopus_saving_session_target_battery_soc] (minus 1). CONDITIONS: solax local inverter mode [sensor.solax_local_inverter_mode] is 'Manual'. ACTIONS: Turn on solax automation running [input_boolean.solax_automation_running]. Then, based on which trigger fired and additional conditions, choose one of six sequences: 1. If trigger is EV Stop Discharge Prior OR EV Stop Discharge Prior time trigger AND export battery prior [input_boolean.export_battery_prior] is on AND saving session active [input_boolean.saving_session_active] is off AND zappi plug status [sensor.zappi_plug_status] is 'EV Connected' AND NOT ( (trigger is EV Stop Discharge Prior time trigger AND ev start time [sensor.ev_start_time] is 23:30) OR (trigger is EV Stop Discharge Prior time trigger AND priorise export over ev [input_boolean.priorise_export_over_ev] is on) ), then run script solax_set_mode_and_settings with mode from sensor.solax_default_operation_mode [sensor.solax_default_operation_mode], fire event Solax Zappi Octopus Control, delay 30 seconds, fire event solax_discharge. 2. If trigger is Daily Stop Discharge AND saving session active [input_boolean.saving_session_active] is off AND (time is before solax battery start charge time [input_datetime.solax_battery_start_charge_time] OR export battery daily [input_boolean.export_battery_daily] is on), then run script solax_set_mode_and_settings with mode from sensor.solax_default_operation_mode [sensor.solax_default_operation_mode], fire event Solax Zappi Octopus Control, fire event solax_discharge. 3. If trigger is Nightly Stop Discharge AND saving session active [input_boolean.saving_session_active] is off AND (time is after 23:30 AND before solax battery start charge time [input_datetime.solax_battery_start_charge_time] OR solax discharge before ev charge [binary_sensor.solax_discharge_before_ev_charge] is off), then run script solax_set_mode_and_settings with mode from sensor.solax_default_operation_mode [sensor.solax_default_operation_mode], fire event Solax Zappi Octopus Control, fire event solax_discharge. 4. If trigger is Manual Stop Discharge AND saving session active [input_boolean.saving_session_active] is off AND (time is before solax battery start charge time [input_datetime.solax_battery_start_charge_time] OR export battery manual [input_boolean.export_battery_manual] is on), then run script solax_set_mode_and_settings with mode from sensor.solax_default_operation_mode [sensor.solax_default_operation_mode], fire event Solax Zappi Octopus Control, turn off export battery manual [input_boolean.export_battery_manual], fire event solax_discharge. 5. If trigger is FreeElectric AND octopus intelligent dispatching [binary_sensor.octopus_intelligent_dispatching] is off AND free electricity today [binary_sensor.free_electricity_today] is on AND time is after octopus free electricity prep [input_datetime.octopus_free_electricity_prep] AND before 23:00, then run script solax_set_mode_and_settings with mode 1, fire event Solax Zappi Octopus Control, fire event solax_discharge. 6. If trigger is Saving Session Stop Discharge AND time is after 05:30 AND before 23:30 AND time is after saving session start [input_datetime.saving_session_start] AND (octopus saving session manual [input_boolean.octopus_saving_session_manual] is on OR saving session today [input_select.saving_session_today] is 'yes'), then run script solax_set_mode_and_settings with mode from sensor.solax_default_operation_mode [sensor.solax_default_operation_mode], fire event Solax Zappi Octopus Control, fire event solax_discharge. Finally, turn off solax automation running [input_boolean.solax_automation_running].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers in several scenarios, all related to the battery state of charge (SoC) dropping below a calculated threshold. The threshold is the highest value among several configurable minimum SoC settings, plus 1%. The specific triggers are: when the battery SoC is below this threshold while a discharge before EV charge is active; at a specific EV start time; when the battery SoC is below the threshold while a daily discharge is active; when the battery SoC is below the threshold while a nightly discharge is active; when the battery SoC is below the threshold while a discharge before 23:30 is active; when the battery SoC is below the threshold while a manual discharge is active; when the battery SoC is below the threshold during a free electricity preparation period; or when the battery SoC falls below a specific saving session target.",
|
|
"conditions": "The automation only runs if the Solax inverter is currently in Manual mode.",
|
|
"action": "First, it marks that the automation is running. Then, based on which trigger occurred and a set of additional checks, it selects one of six possible action paths. Each path resets the inverter to a default or specified mode (often the default operation mode), sends a notification event with a completion message, and fires a general discharge event. For the EV-related path, it also checks that battery export is prioritized, no saving session is active, the EV is connected, and certain timing or priority conditions are not met. For the manual discharge path, it also turns off the manual export flag. After completing the chosen sequence, it marks the automation as no longer running."
|
|
},
|
|
"human_like": "This automation resets the Solax inverter back to its normal operating mode after various types of battery discharge sessions (like for EV charging, daily cycles, or saving sessions) have completed, based on the battery's state of charge and timing conditions.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'5003'",
|
|
"result": {
|
|
"structured": "TRIGGER: When any of the following entities remains in a new state for 10 seconds: solax feed in battery min soc [input_number.solax_feed_in_battery_min_soc] OR solax selfuse battery min soc [input_number.solax_selfuse_battery_min_soc] OR solax feed in charge to soc [input_number.solax_feed_in_charge_to_soc] OR solax selfuse charge to soc [input_number.solax_selfuse_charge_to_soc] OR self use enable charge from grid [input_boolean.self_use_enable_charge_from_grid] OR solax manual modes [input_select.solax_manual_modes] OR solax work mode [input_select.solax_work_mode] OR solaxchargeperiod2 [input_boolean.solaxchargeperiod2] OR solax start charge 2 [input_datetime.solax_start_charge_2] OR solax stop charge 2 [input_datetime.solax_stop_charge_2] OR solax battery start charge time [input_datetime.solax_battery_start_charge_time] OR solax battery stop charge time [input_datetime.solax_battery_stop_charge_time] OR solax battery start discharge time [input_datetime.solax_battery_start_discharge_time] OR solax battery stop discharge time [input_datetime.solax_battery_stop_discharge_time] OR battery heat enable [input_boolean.battery_heat_enable] OR solax battery start heat time [input_datetime.solax_battery_start_heat_time] OR solax battery stop heat time [input_datetime.solax_battery_stop_heat_time] OR solax start heat 2 [input_datetime.solax_start_heat_2] OR solax stop heat 2 [input_datetime.solax_stop_heat_2] OR solax system enable [input_boolean.solax_system_enable] OR solax battery heat level [input_select.solax_battery_heat_level]. CONDITIONS: solax automation running [input_boolean.solax_automation_running] is off. ACTIONS: First, turn on solax automation running [input_boolean.solax_automation_running]. Then, based on which trigger fired, call the script.solax_set_mode_and_settings service with specific data parameters derived from the triggering entity's state. Finally, turn off solax automation running [input_boolean.solax_automation_running].",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when any of the many user interface controls for the Solax inverter system (such as number inputs for battery state of charge limits, selectors for modes, toggles for features, and datetime inputs for scheduling) remains in a new state for 10 seconds.",
|
|
"conditions": "The automation only runs if the solax automation running [input_boolean.solax_automation_running] flag is currently off, preventing overlapping executions.",
|
|
"action": "First, it sets the solax automation running [input_boolean.solax_automation_running] flag to on. Then, depending on which specific UI control was changed, it calls a script to update the Solax inverter with the corresponding setting. For example, changing the feed-in minimum state of charge sends that value, changing a datetime sends a converted time value, and toggling a boolean sends a 1 or 0. After the appropriate update is sent, it turns the solax automation running [input_boolean.solax_automation_running] flag back off."
|
|
},
|
|
"human_like": "This automation sends changes made in the Home Assistant user interface for Solax inverter settings (like battery limits, schedules, and modes) to the actual inverter after a short delay.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'5004'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time pattern matches every 12 minutes OR When solax automation running [input_boolean.solax_automation_running] changes from on to off and remains off for 13 seconds OR When refresh [input_button.refresh] changes state. CONDITIONS: solax automation running [input_boolean.solax_automation_running] is off. ACTIONS: Set variables mode_delay=15, settings_delay=10, refresh_settings_delay=10. Turn off Solax Set UI Options [automation.solax_set_ui_options] (stop actions). Delay 1 second. Update entity Solax Rest Local Settings [sensor.solax_rest_local_settings]. Delay refresh_settings_delay seconds. Select option in solax work mode [input_select.solax_work_mode] based on solax local inverter mode [sensor.solax_local_inverter_mode]. Select option in solax manual modes [input_select.solax_manual_modes] based on solax local manual mode behaviour [sensor.solax_local_manual_mode_behaviour]. Set value of solax feed in battery min soc [input_number.solax_feed_in_battery_min_soc] based on solax local feed in battery min soc [sensor.solax_local_feed_in_battery_min_soc]. Set value of solax feed in charge to soc [input_number.solax_feed_in_charge_to_soc] based on solax local feed in battery charge from grid to [sensor.solax_local_feed_in_battery_charge_from_grid_to]. Set value of solax selfuse charge to soc [input_number.solax_selfuse_charge_to_soc] based on solax local selfuse battery charge from grid to [sensor.solax_local_selfuse_battery_chrg_frm_grd_to]. Set value of solax selfuse battery min soc [input_number.solax_selfuse_battery_min_soc] based on solax local selfuse battery min soc [sensor.solax_local_selfuse_battery_min_soc]. IF Solax Local Battery CHD2 Enabled [sensor.solax_local_battery_chd2_enabled] is true THEN Turn on solaxchargeperiod2 [input_boolean.solaxchargeperiod2]. IF Solax Local Battery CHD2 Enabled [sensor.solax_local_battery_chd2_enabled] is false THEN Turn off solaxchargeperiod2 [input_boolean.solaxchargeperiod2]. IF solax local self use battery charge from grid [sensor.solax_local_self_use_battery_charge_from_grid] is 1 THEN Turn on self use enable charge from grid [input_boolean.self_use_enable_charge_from_grid]. IF solax local self use battery charge from grid [sensor.solax_local_self_use_battery_charge_from_grid] is 0 THEN Turn off self use enable charge from grid [input_boolean.self_use_enable_charge_from_grid]. Set time of solax battery start charge time [input_datetime.solax_battery_start_charge_time] based on solax local battery setting start charge [sensor.solax_local_battery_setting_start_charge]. Set time of solax battery stop charge time [input_datetime.solax_battery_stop_charge_time] based on solax local battery setting stop charge [sensor.solax_local_battery_setting_stop_charge]. Set time of solax battery start discharge time [input_datetime.solax_battery_start_discharge_time] based on solax local battery setting start discharge [sensor.solax_local_battery_setting_start_discharge]. Set time of solax battery stop discharge time [input_datetime.solax_battery_stop_discharge_time] based on solax local battery setting stop discharge [sensor.solax_local_battery_setting_stop_discharge]. Set time of solax start charge 2 [input_datetime.solax_start_charge_2] based on solax local battery setting start charge 2 [sensor.solax_local_battery_setting_start_charge_2]. Set time of solax stop charge 2 [input_datetime.solax_stop_charge_2] based on solax local battery setting stop charge 2 [sensor.solax_local_battery_setting_stop_charge_2]. IF solax local battery heat enabled [sensor.solax_local_battery_heat_enabled] is True THEN Turn on battery heat enable [input_boolean.battery_heat_enable] ELSE Turn off battery heat enable [input_boolean.battery_heat_enable]. Set time of solax battery start heat time [input_datetime.solax_battery_start_heat_time] based on solax local battery heat start [sensor.solax_local_battery_heat_start]. Set time of solax battery stop heat time [input_datetime.solax_battery_stop_heat_time] based on solax local battery heat stop [sensor.solax_local_battery_heat_stop]. Set time of solax start heat 2 [input_datetime.solax_start_heat_2] based on solax local battery heat start 2 [sensor.solax_local_battery_heat_start_2]. Set time of solax stop heat 2 [input_datetime.solax_stop_heat_2] based on solax local battery heat stop 2 [sensor.solax_local_battery_heat_stop_2]. IF solax local system state [sensor.solax_local_system_state] is True THEN Turn on solax system enable [input_boolean.solax_system_enable] ELSE IF solax local system state [sensor.solax_local_system_state] is False THEN Turn off solax system enable [input_boolean.solax_system_enable]. Select option in solax battery heat level [input_select.solax_battery_heat_level] based on solax local battery heat level [sensor.solax_local_battery_heat_level]. Delay 1 second. Turn on Solax Set UI Options [automation.solax_set_ui_options].",
|
|
"natural_language": {
|
|
"trigger": "This automation runs every 12 minutes, or when the solax automation running [input_boolean.solax_automation_running] turns off and stays off for 13 seconds, or when the refresh [input_button.refresh] button is pressed.",
|
|
"conditions": "The automation only proceeds if the solax automation running [input_boolean.solax_automation_running] is currently off.",
|
|
"action": "The automation first sets some internal delay variables, then temporarily stops another automation called Solax Set UI Options [automation.solax_set_ui_options]. After a brief one-second delay, it updates the sensor Solax Rest Local Settings [sensor.solax_rest_local_settings] to fetch the latest data from the inverter. It then waits for a configurable delay before populating a large number of user interface controls with the retrieved settings. This includes setting the work mode and manual mode dropdowns, updating numeric values for battery charge levels and minimum state of charge, and configuring time settings for charge, discharge, and battery heating schedules. It also sets several toggle switches based on the inverter's status, such as enabling a second charge period, allowing charging from the grid, enabling battery heating, and turning the overall system on or off. Finally, after another short delay, it re-enables the Solax Set UI Options automation."
|
|
},
|
|
"human_like": "This automation periodically fetches the latest settings from a Solax solar inverter and updates the Home Assistant user interface to reflect them, ensuring the controls always match the inverter's current configuration.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'5005'",
|
|
"result": {
|
|
"structured": "TRIGGER: When an event of type 'Solax Zappi Octopus Control' with class 'normal' occurs OR When an event of type 'Solax Zappi Octopus Control' with class 'high' occurs OR When an event of type 'Solax Control' with class 'normal' occurs OR When an event of type 'Solax Control' with class 'high' occurs. CONDITIONS: None. ACTIONS: Log the event to the logbook. Then, choose a path based on conditions: Path 1 - If the trigger ID is 'High' AND (solax zappi octopus control notifications [input_boolean.solax_zappi_octopus_control_notifications] is off OR nofify mobile [input_boolean.nofify_mobile] is off): Create a persistent notification and, if mobile device selected [input_text.mobile_device_selected] is not 'None Selected', send a mobile notification to each device listed in sensor.solax_zappi_octopus_devices_to_notify. Path 2 - If the trigger ID is 'Normal' OR 'High' AND solax zappi octopus control notifications [input_boolean.solax_zappi_octopus_control_notifications] is on: If the event title is not in the exclusion list from sensor.solax_zappi_octopus_notification_to_exclude, create a persistent notification and, if mobile device selected [input_text.mobile_device_selected] is not 'None Selected', send a mobile notification to each device listed in sensor.solax_zappi_octopus_devices_to_notify.",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered by specific events related to Solax Zappi Octopus Control or Solax Control systems. These events are categorized as either 'normal' or 'high' priority.",
|
|
"conditions": "There are no global conditions that must be met for the automation to run. The actions taken depend on internal logic within the automation's steps.",
|
|
"action": "First, the event details are logged. Then, the automation follows one of two possible paths. If the event is high priority and notifications are generally disabled or mobile notifications are off, it creates a persistent notification and, if a mobile device is selected, sends a notification to a list of mobile devices. If the event is either normal or high priority and the specific notification toggle is enabled, it checks if the event title is on an exclusion list. If it's not excluded, it creates a persistent notification and, again if a mobile device is selected, sends mobile notifications."
|
|
},
|
|
"human_like": "Manages notifications for Solax Zappi and Octopus energy system events, sending alerts to mobile devices and creating persistent notifications based on priority and user settings.",
|
|
"complexity": "high"
|
|
}
|
|
},
|
|
{
|
|
"id": "'6001'",
|
|
"result": {
|
|
"structured": "TRIGGER: When the time matches sensor.octopus_free_electricity_start OR When the time matches sensor.octopus_free_electricity_stop OR When free electricity today [binary_sensor.free_electricity_today] becomes on and remains for 2 minutes OR When the time matches input_datetime.octopus_free_electricity_prep OR When upcoming free electricity [binary_sensor.upcoming_free_electricity] becomes on and remains for 2 minutes. CONDITIONS: solax automation running [input_boolean.solax_automation_running] is off (condition disabled). ACTIONS: First, turn on solax automation running [input_boolean.solax_automation_running]. Then, based on the triggered event: (IF triggered by Prepare AND free electricity today [binary_sensor.free_electricity_today] is on THEN if octopus free electric soc use [input_boolean.octopus_free_electric_soc_use] is on, set Solax battery charge targets to Octopus Free Session Battery Prep SoC [input_number.octopus_free_session_battery_prep_soc] if they differ from current settings; otherwise set them to the default value from Solax Default Charge to Limit SoC [input_number.solax_default_charge_to_limit_soc]. Then, if the Solax forced charge period 2 is not already configured for the free electricity session, enable it and set the start and end times from input_datetime.octopus_free_electricity_start and input_datetime.octopus_free_electricity_stop.) OR (IF triggered by start AND free electricity today [binary_sensor.free_electricity_today] is on THEN turn off automation solax zappi octopus control [automation.solax_zappi_octopus_control], safely turn on octopus intelligent smart charge [switch.octopus_intelligent_smart_charge], set myenergi zappi charge mode to Eco+, and send a notification.) OR (IF triggered by stop AND free electricity today [binary_sensor.free_electricity_today] is on THEN restore Solax to default operation mode from sensor.solax_default_operation_mode, disable forced charge period 2, reset battery charge and discharge limits to default values from input_number.solax_default_charge_to_limit_soc and input_number.solax_default_discharge_limit_soc, send a notification, safely turn off octopus intelligent smart charge [switch.octopus_intelligent_smart_charge], set myenergi zappi charge mode to Stopped, and turn on automation solax zappi octopus control [automation.solax_zappi_octopus_control].) OR (IF triggered by ExportBatteryPrep AND solax local battery soc [sensor.solax_local_battery_soc] is above (Octopus Free Session Battery Prep SoC [input_number.octopus_free_session_battery_prep_soc] minus 14) AND Solax is not already in discharge mode AND free electricity today [binary_sensor.free_electricity_today] is on THEN if the battery SoC condition still holds, set Solax to discharge mode (mode 3, manual mode 2) and send notifications.) OR (IF triggered by Octopus New Free Electric THEN if the upcoming session start time is in the future, send a notification with session details.) Finally, turn off solax automation running [input_boolean.solax_automation_running].",
|
|
"natural_language": {
|
|
"trigger": "The automation is triggered at the start or end time of a free electricity session, when it's confirmed that free electricity is available today, at a specific preparation time, or when an upcoming free electricity session is detected. Each trigger requires the relevant state to be stable for two minutes where applicable.",
|
|
"conditions": "A condition checking if the solax automation running [input_boolean.solax_automation_running] is off is present but disabled, so it does not currently affect the automation's execution.",
|
|
"action": "The automation first marks itself as running. Then, depending on which trigger fired: If preparing for a free session, it configures the Solax battery system to charge to a specific target state of charge, either a custom value or the default, and sets up a forced charging window. At the session start, it disables a related automation, enables smart charging for an electric vehicle, sets the charger to a fast mode, and sends a notification. At the session end, it restores all Solax and charger settings to their defaults, sends a notification, and re-enables the related automation. If triggered at the preparation time and the battery is sufficiently full, it switches the Solax to discharge mode to export power and sends a notification. If a new free session is announced, it sends a notification with the session details. Finally, it marks itself as no longer running."
|
|
},
|
|
"human_like": "This automation manages home energy systems to maximize the benefit from Octopus Energy's free electricity sessions by automatically configuring battery charging, discharging, and electric vehicle charging modes.",
|
|
"complexity": "high"
|
|
}
|
|
}
|
|
] |