28 lines
5.6 KiB
JSON
28 lines
5.6 KiB
JSON
[
|
|
{
|
|
"id": "EMHASS Sigenergy Battery Management",
|
|
"result": {
|
|
"structured": "TRIGGER: When MPC battery power [sensor.mpc_batt_power] OR MPC grid power [sensor.mpc_grid_power] changes state. CONDITIONS: None. ACTIONS: Wait 1 second, then set variables: p_batt (MPC battery power value), p_batt_kw (p_batt in kW), p_grid (MPC grid power value), max_charge_rate (Sigenergy plant ESS rated charging power [sensor.sigen_plant_ess_rated_charging_power] value), max_discharge_rate (Sigenergy plant ESS rated discharging power [sensor.sigen_plant_ess_rated_discharging_power] value), max_import_rate_kw (100). Then, choose one sequence based on conditions: IF (p_grid equals 0) THEN set Sigenergy plant remote EMS control mode [select.sigen_plant_remote_ems_control_mode] to 'Maximum Self Consumption', set Sigenergy plant ESS max charging limit [number.sigen_plant_ess_max_charging_limit] to max_charge_rate, AND set Sigenergy plant ESS max discharging limit [number.sigen_plant_ess_max_discharging_limit] to max_discharge_rate. ELSE IF (p_batt is greater than 0 OR (p_grid is less than 0 AND p_batt equals 0)) THEN set Sigenergy plant remote EMS control mode [select.sigen_plant_remote_ems_control_mode] to 'Command Discharging (PV First)' AND set Sigenergy plant ESS max discharging limit [number.sigen_plant_ess_max_discharging_limit] to p_batt_kw. ELSE IF (p_batt is less than 0) THEN set Sigenergy plant remote EMS control mode [select.sigen_plant_remote_ems_control_mode] to 'Command Charging (PV First)', set Sigenergy plant ESS max charging limit [number.sigen_plant_ess_max_charging_limit] to absolute value of p_batt_kw, AND set Sigenergy plant PCS import limitation [number.sigen_plant_pcs_import_limitation] to max_import_rate_kw if p_grid is greater than 0, otherwise 0. ELSE IF (p_batt equals 0) THEN set Sigenergy plant remote EMS control mode [select.sigen_plant_remote_ems_control_mode] to 'Standby' AND set Sigenergy plant PCS import limitation [number.sigen_plant_pcs_import_limitation] to 0.",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers whenever the MPC battery power [sensor.mpc_batt_power] or the MPC grid power [sensor.mpc_grid_power] changes its state.",
|
|
"conditions": "There are no explicit conditions that must be met before the actions run; the automation executes immediately after the trigger.",
|
|
"action": "After a one-second delay, the automation reads the current power values and sets several variables. It then evaluates a series of rules to decide how to control the Sigenergy battery system. If there is no grid power flow, it sets the system to 'Maximum Self Consumption' mode and configures the maximum charge and discharge limits to their rated values. If the battery is discharging or the grid is exporting while the battery is idle, it switches to 'Command Discharging (PV First)' mode and sets the discharge limit to the current battery power. If the battery is charging, it switches to 'Command Charging (PV First)' mode, sets the charge limit to the current charging power, and adjusts the grid import limit based on whether power is being imported. If the battery is neither charging nor discharging, it puts the system into 'Standby' mode and sets the grid import limit to zero."
|
|
},
|
|
"human_like": "This automation manages the home battery system by automatically switching its operating mode and setting power limits based on real-time energy production and consumption.",
|
|
"complexity": "medium"
|
|
}
|
|
},
|
|
{
|
|
"id": "Sigenergy Inverter Curtailment",
|
|
"result": {
|
|
"structured": "TRIGGER: When Home feed in price [sensor.home_feed_in_price] is below 0 OR when Home feed in price [sensor.home_feed_in_price] is above 0 OR when Home general price [sensor.home_general_price] is above 0 OR when Home general price [sensor.home_general_price] is below 0 OR when Sigenergy plant grid connection status [sensor.sigen_plant_grid_connection_status] changes state. CONDITIONS: None. ACTIONS: (If Home feed in price [sensor.home_feed_in_price] is below 0, then set Sigenergy plant grid export limitation [number.sigen_plant_grid_export_limitation] to 0, else set it to 30) AND (If Home general price [sensor.home_general_price] is below 0 AND Sigenergy plant grid connection status [sensor.sigen_plant_grid_connection_status] is On Grid, then set Sigenergy plant PV max power limit [number.sigen_plant_pv_max_power_limit] to 0, else set it to 100).",
|
|
"natural_language": {
|
|
"trigger": "The automation triggers when the Home feed in price [sensor.home_feed_in_price] becomes positive or negative, when the Home general price [sensor.home_general_price] becomes positive or negative, or when the Sigenergy plant grid connection status [sensor.sigen_plant_grid_connection_status] changes its state.",
|
|
"conditions": "There are no global conditions. The actions themselves contain conditional logic.",
|
|
"action": "The automation performs two independent actions. First, it checks the feed-in price. If the price is negative, it sets the Sigenergy plant grid export limitation [number.sigen_plant_grid_export_limitation] to zero to stop exporting power. Otherwise, it sets the export limit to 30 kW. Second, it checks the general usage price and the grid connection status. If the usage price is negative and the system is on-grid, it sets the Sigenergy plant PV max power limit [number.sigen_plant_pv_max_power_limit] to zero to curtail solar generation. Otherwise, it sets the PV limit to its maximum of 100 kW."
|
|
},
|
|
"human_like": "Automatically adjusts solar export and generation limits based on electricity prices to avoid paying for exporting power during negative price periods.",
|
|
"complexity": "medium"
|
|
}
|
|
}
|
|
] |