Files
homeassistant_config/config/custom_components/solar_optimizer/const.py
2024-08-09 06:45:02 +02:00

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)