137 lines
3.0 KiB
Python
137 lines
3.0 KiB
Python
""" consts for koolnova BMS """
|
|
|
|
from datetime import timedelta
|
|
|
|
from homeassistant.const import Platform
|
|
from homeassistant.components.climate.const import (
|
|
ClimateEntityFeature,
|
|
HVACMode,
|
|
FAN_AUTO,
|
|
FAN_OFF,
|
|
FAN_LOW,
|
|
FAN_MEDIUM,
|
|
FAN_HIGH,
|
|
)
|
|
from .koolnova.const import (
|
|
GlobalMode,
|
|
Efficiency,
|
|
FlowEngine,
|
|
ZoneClimMode,
|
|
ZoneFanMode,
|
|
ZoneState,
|
|
)
|
|
|
|
DOMAIN = "koolnova_bms"
|
|
PLATFORMS: list[Platform] = [Platform.SENSOR,
|
|
Platform.SELECT,
|
|
Platform.SWITCH,
|
|
Platform.CLIMATE]
|
|
|
|
CONF_NAME = "koolnova-BMS-Integration"
|
|
CONF_DEVICE_ID = "device_id"
|
|
|
|
DEVICE_MANUFACTURER = "koolnova"
|
|
|
|
#MIN_TIME_BETWEEN_UPDATES = timedelta(seconds=60)
|
|
|
|
GLOBAL_MODE_POS_1 = "cold"
|
|
GLOBAL_MODE_POS_2 = "heat"
|
|
GLOBAL_MODE_POS_3 = "heating floor"
|
|
GLOBAL_MODE_POS_4 = "refreshing floor"
|
|
GLOBAL_MODE_POS_5 = "heating floor 2"
|
|
|
|
GLOBAL_MODE_TRANSLATION = {
|
|
int(GlobalMode.COLD): GLOBAL_MODE_POS_1,
|
|
int(GlobalMode.HEAT): GLOBAL_MODE_POS_2,
|
|
int(GlobalMode.HEATING_FLOOR): GLOBAL_MODE_POS_3,
|
|
int(GlobalMode.REFRESHING_FLOOR): GLOBAL_MODE_POS_4,
|
|
int(GlobalMode.HEATING_FLOOR_2): GLOBAL_MODE_POS_5,
|
|
}
|
|
|
|
GLOBAL_MODES = [
|
|
GLOBAL_MODE_POS_1,
|
|
GLOBAL_MODE_POS_2,
|
|
GLOBAL_MODE_POS_3,
|
|
GLOBAL_MODE_POS_4,
|
|
GLOBAL_MODE_POS_5,
|
|
]
|
|
|
|
EFF_POS_1 = "lower"
|
|
EFF_POS_2 = "low"
|
|
EFF_POS_3 = "Medium"
|
|
EFF_POS_4 = "High"
|
|
EFF_POS_5 = "Higher"
|
|
|
|
EFF_TRANSLATION = {
|
|
int(Efficiency.LOWER_EFF): EFF_POS_1,
|
|
int(Efficiency.LOW_EFF): EFF_POS_2,
|
|
int(Efficiency.MED_EFF): EFF_POS_3,
|
|
int(Efficiency.HIGH_EFF): EFF_POS_4,
|
|
int(Efficiency.HIGHER_EFF): EFF_POS_5,
|
|
}
|
|
|
|
EFF_MODES = [
|
|
EFF_POS_1,
|
|
EFF_POS_2,
|
|
EFF_POS_3,
|
|
EFF_POS_4,
|
|
EFF_POS_5,
|
|
]
|
|
|
|
ENGINE_FLOW_POS_1 = "Manual minimum"
|
|
ENGINE_FLOW_POS_2 = "Manual medium"
|
|
ENGINE_FLOW_POS_3 = "Manual High"
|
|
ENGINE_FLOW_POS_4 = "Auto"
|
|
|
|
ENGINE_FLOW_TRANSLATION = {
|
|
int(FlowEngine.MANUAL_MIN): ENGINE_FLOW_POS_1,
|
|
int(FlowEngine.MANUAL_MED): ENGINE_FLOW_POS_2,
|
|
int(FlowEngine.MANUAL_HIGH): ENGINE_FLOW_POS_3,
|
|
int(FlowEngine.AUTO): ENGINE_FLOW_POS_4,
|
|
}
|
|
|
|
ENGINE_FLOW_MODES = [
|
|
ENGINE_FLOW_POS_1,
|
|
ENGINE_FLOW_POS_2,
|
|
ENGINE_FLOW_POS_3,
|
|
ENGINE_FLOW_POS_4,
|
|
]
|
|
|
|
SUPPORT_FLAGS = (
|
|
ClimateEntityFeature.TARGET_TEMPERATURE
|
|
| ClimateEntityFeature.FAN_MODE
|
|
)
|
|
|
|
SUPPORTED_HVAC_MODES = [
|
|
HVACMode.OFF,
|
|
HVACMode.COOL,
|
|
HVACMode.HEAT,
|
|
]
|
|
|
|
HVAC_TRANSLATION = {
|
|
int(ZoneState.STATE_OFF): HVACMode.OFF,
|
|
int(ZoneClimMode.COOL): HVACMode.COOL,
|
|
int(ZoneClimMode.HEAT): HVACMode.HEAT,
|
|
}
|
|
|
|
#FAN_MODE_1 = "1 Off"
|
|
#FAN_MODE_2 = "2 Low"
|
|
#FAN_MODE_3 = "3 Medium"
|
|
#FAN_MODE_4 = "4 High"
|
|
|
|
FAN_TRANSLATION = {
|
|
int(ZoneFanMode.FAN_AUTO): FAN_AUTO,
|
|
int(ZoneFanMode.FAN_OFF): FAN_OFF,
|
|
int(ZoneFanMode.FAN_LOW): FAN_LOW,
|
|
int(ZoneFanMode.FAN_MEDIUM): FAN_MEDIUM,
|
|
int(ZoneFanMode.FAN_HIGH): FAN_HIGH,
|
|
}
|
|
|
|
SUPPORTED_FAN_MODES = [
|
|
FAN_AUTO,
|
|
FAN_OFF,
|
|
FAN_LOW,
|
|
FAN_MEDIUM,
|
|
FAN_HIGH,
|
|
]
|