Files
HomeAssistance/custom_components/hilo/const.py
T
2026-06-05 22:34:31 -04:00

108 lines
2.7 KiB
Python

"""Hilo integration constants."""
import logging
from homeassistant.components.utility_meter.const import DAILY
LOG = logging.getLogger(__package__)
DOMAIN = "hilo"
HILO_ENERGY_TOTAL = "hilo_energy_total"
# Configurations
CONF_APPRECIATION_PHASE = "appreciation_phase"
DEFAULT_APPRECIATION_PHASE = 0
CONF_CHALLENGE_LOCK = "challenge_lock"
DEFAULT_CHALLENGE_LOCK = False
CONF_ENERGY_METER_PERIOD = "energy_meter_period"
DEFAULT_ENERGY_METER_PERIOD = DAILY
CONF_GENERATE_ENERGY_METERS = "generate_energy_meters"
DEFAULT_GENERATE_ENERGY_METERS = False
CONF_HQ_PLAN_NAME = "hq_plan_name"
DEFAULT_HQ_PLAN_NAME = "rate d"
CONF_LOG_TRACES = "log_traces"
DEFAULT_LOG_TRACES = False
CONF_PRE_COLD_PHASE = "pre_cold_phase"
DEFAULT_PRE_COLD_PHASE = 0
CONF_TRACK_UNKNOWN_SOURCES = "track_unknown_sources"
DEFAULT_TRACK_UNKNOWN_SOURCES = False
CONF_UNTARIFICATED_DEVICES = "untarificated_devices"
DEFAULT_UNTARIFICATED_DEVICES = False
DEFAULT_SCAN_INTERVAL = 300
EVENT_SCAN_INTERVAL = 1800
# During reduction phase, let's refresh the current challenge event
# more often to get the reward numbers
# Note ic-dev21: we'll stay at 300 until proper fix
EVENT_SCAN_INTERVAL_REDUCTION = 300
NOTIFICATION_SCAN_INTERVAL = 1800
MAX_SUB_INTERVAL = 120
MIN_SCAN_INTERVAL = 60
REWARD_SCAN_INTERVAL = 7200
WEATHER_SCAN_INTERVAL = 1800
CONF_TARIFF = {
"rate d": {
"low_threshold": 40,
"low": 0.07065,
"medium": 0.11142,
"high": 0,
"access": 0.46154,
"reward_rate": 0.58490,
},
"flex d": {
"low_threshold": 40,
"low": 0.04886,
"medium": 0.09103,
"high": 0.46463,
"access": 0.46154,
"reward_rate": 0.55,
},
}
TARIFF_LIST = ["high", "medium", "low"]
WEATHER_CONDITIONS = {
"Unknown": "mdi:weather-sunny-alert",
"Blowing Snow": "mdi:weather-snowy-heavy",
"Clear": "mdi:weather-sunny",
"Cloudy": "mdi:weather-cloudy",
"Fair": "mdi:weather-partly-cloudy",
"Foggy": "mdi:weather-fog",
"Hail Sleet": "mdi:weather-hail",
"Mostly Cloudy": "mdi:weather-partly-cloudy",
"Rain": "mdi:weather-rainy",
"Rain Snow": "mdi:weather-snowy-rainy",
"Snow": "mdi:weather-snowy",
"Thunder": "mdi:weather-lightning",
"Windy": "mdi:weather-windy",
}
# Class lists
LIGHT_CLASSES = ["LightDimmer", "WhiteBulb", "ColorBulb", "LightSwitch"]
HILO_SENSOR_CLASSES = [
"SmokeDetector",
"IndoorWeatherStation",
"OutdoorWeatherStation",
"Gateway",
]
CLIMATE_CLASSES = [
"Thermostat",
"FloorThermostat",
"Thermostat24V",
"MysaThermostat",
"TCC24V",
"SinopeThermostat",
"SinopeFloorThermostat",
"Sinope24V",
]
SWITCH_CLASSES = ["Outlet", "Ccr", "Cee", "SinopeWaterHeater"]