42 lines
1.1 KiB
Python
42 lines
1.1 KiB
Python
""" Les constantes pour l'intégration Solar Optimizer """
|
|
from slugify import slugify
|
|
|
|
from homeassistant.const import Platform
|
|
from homeassistant.core import HomeAssistant
|
|
from homeassistant.util import dt as dt_util
|
|
|
|
DOMAIN = "solar_optimizer"
|
|
PLATFORMS: list[Platform] = [Platform.SENSOR, Platform.SWITCH]
|
|
|
|
DEFAULT_REFRESH_PERIOD_SEC = 300
|
|
|
|
CONF_ACTION_MODE_SERVICE = "service_call"
|
|
CONF_ACTION_MODE_EVENT = "event"
|
|
|
|
CONF_ACTION_MODES = [CONF_ACTION_MODE_SERVICE, CONF_ACTION_MODE_EVENT]
|
|
|
|
EVENT_TYPE_SOLAR_OPTIMIZER_CHANGE_POWER = "solar_optimizer_change_power_event"
|
|
EVENT_TYPE_SOLAR_OPTIMIZER_STATE_CHANGE = "solar_optimizer_state_change_event"
|
|
|
|
EVENT_TYPE_SOLAR_OPTIMIZER_ENABLE_STATE_CHANGE = (
|
|
"solar_optimizer_enable_state_change_event"
|
|
)
|
|
|
|
|
|
def get_tz(hass: HomeAssistant):
|
|
"""Get the current timezone"""
|
|
|
|
return dt_util.get_time_zone(hass.config.time_zone)
|
|
|
|
|
|
def name_to_unique_id(name: str) -> str:
|
|
"""Convert a name to a unique id. Replace ' ' by _"""
|
|
return slugify(name).replace("-", "_")
|
|
|
|
|
|
class ConfigurationError(Exception):
|
|
"""An error in configuration"""
|
|
|
|
def __init__(self, message):
|
|
super().__init__(message)
|