fix: change solar surplus calculation
This commit is contained in:
@@ -8,11 +8,19 @@ from homeassistant.helpers import device_registry as dr, selector
|
||||
|
||||
from .const import (
|
||||
CONF_CHARGER_ID,
|
||||
CHARGING_PROFILE_ALL_SURPLUS,
|
||||
CHARGING_PROFILE_CONSERVATIVE,
|
||||
CONF_CHARGING_PROFILE,
|
||||
CONF_DEAD_BAND_RESYNC_MINUTES,
|
||||
CONF_DEVICE_ID,
|
||||
CONF_EV_CHARGING_SENSOR,
|
||||
CONF_HOUSE_LOAD_SENSOR,
|
||||
CONF_NOTIFY_TARGET,
|
||||
CONF_SITE_ID,
|
||||
CONF_SOLAR_EXCESS_SENSOR,
|
||||
CONF_SOLAR_PRODUCTION_SENSOR,
|
||||
DEFAULT_CHARGING_PROFILE,
|
||||
CONF_STOP_GRACE_MINUTES,
|
||||
DEFAULT_DEAD_BAND_RESYNC_MINUTES,
|
||||
DEFAULT_STOP_GRACE_MINUTES,
|
||||
DOMAIN,
|
||||
EASEE_DOMAIN,
|
||||
@@ -24,11 +32,31 @@ _STOP_GRACE_SELECTOR = selector.NumberSelector(
|
||||
)
|
||||
)
|
||||
|
||||
_DEAD_BAND_RESYNC_SELECTOR = selector.NumberSelector(
|
||||
selector.NumberSelectorConfig(
|
||||
min=1, max=60, step=1, unit_of_measurement="min", mode=selector.NumberSelectorMode.BOX
|
||||
)
|
||||
)
|
||||
|
||||
_CHARGING_PROFILE_SELECTOR = selector.SelectSelector(
|
||||
selector.SelectSelectorConfig(
|
||||
options=[
|
||||
selector.SelectOptionDict(value=CHARGING_PROFILE_CONSERVATIVE, label="Conservative"),
|
||||
selector.SelectOptionDict(value=CHARGING_PROFILE_ALL_SURPLUS, label="All Surplus"),
|
||||
],
|
||||
mode=selector.SelectSelectorMode.DROPDOWN,
|
||||
)
|
||||
)
|
||||
|
||||
_POWER_SENSOR_SELECTOR = selector.EntitySelector(
|
||||
selector.EntitySelectorConfig(domain="sensor", device_class="power")
|
||||
)
|
||||
|
||||
_STATIC_USER_FIELDS = {
|
||||
vol.Required(CONF_SITE_ID): str,
|
||||
vol.Required(CONF_SOLAR_EXCESS_SENSOR): selector.EntitySelector(
|
||||
selector.EntitySelectorConfig(domain="sensor")
|
||||
),
|
||||
vol.Required(CONF_SOLAR_PRODUCTION_SENSOR): _POWER_SENSOR_SELECTOR,
|
||||
vol.Required(CONF_HOUSE_LOAD_SENSOR): _POWER_SENSOR_SELECTOR,
|
||||
vol.Required(CONF_EV_CHARGING_SENSOR): _POWER_SENSOR_SELECTOR,
|
||||
vol.Required(CONF_DEVICE_ID): selector.DeviceSelector(
|
||||
selector.DeviceSelectorConfig(integration="easee")
|
||||
),
|
||||
@@ -63,10 +91,18 @@ def _user_schema(hass: HomeAssistant) -> vol.Schema:
|
||||
|
||||
def _options_schema(hass: HomeAssistant, current: dict) -> vol.Schema:
|
||||
return vol.Schema({
|
||||
vol.Required(
|
||||
CONF_CHARGING_PROFILE,
|
||||
default=current.get(CONF_CHARGING_PROFILE, DEFAULT_CHARGING_PROFILE),
|
||||
): _CHARGING_PROFILE_SELECTOR,
|
||||
vol.Required(
|
||||
CONF_STOP_GRACE_MINUTES,
|
||||
default=current.get(CONF_STOP_GRACE_MINUTES, DEFAULT_STOP_GRACE_MINUTES),
|
||||
): _STOP_GRACE_SELECTOR,
|
||||
vol.Required(
|
||||
CONF_DEAD_BAND_RESYNC_MINUTES,
|
||||
default=current.get(CONF_DEAD_BAND_RESYNC_MINUTES, DEFAULT_DEAD_BAND_RESYNC_MINUTES),
|
||||
): _DEAD_BAND_RESYNC_SELECTOR,
|
||||
vol.Optional(CONF_NOTIFY_TARGET): _notify_selector(_notify_services(hass)),
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user