from enum import Enum class CompitHVACMode(Enum): """Enum for available HVAC modes.""" HEAT = 0 OFF = 1 COOL = 2 class CompitParameter(Enum): """Enum for Compit device parameters.""" # Climate CURRENT_TEMPERATURE = "CURRENT_TEMPERATURE" SET_TARGET_TEMPERATURE = "SET_TARGET_TEMPERATURE" FAN_MODE = "FAN_MODE" PRESET_MODE = "PRESET_MODE" HVAC_MODE = "HVAC_MODE" TARGET_TEMPERATURE = "TARGET_TEMPERATURE" # Select AEROKONFBYPASS = "__aerokonfbypass" DHW_CIRCULATION_MODE = "__cwucyrkpraca" BIOMAX_HEATING_SOURCE_OF_CORRECTION = "__pracakotla" BIOMAX_MIXER_MODE_ZONE_1 = "__m1praca" BIOMAX_MIXER_MODE_ZONE_2 = "__m2praca" BUFFER_MODE = "__tr_buf" HEATING_SOURCE_OF_CORRECTION = "__comode" LANGUAGE = "_jezyk" NANO_MODE = "__nano_mode" WORK_MODE = "__sezprinst" OPERATING_MODE = "__trybprcwu" R470_OPERATING_MODE = "__mode" R480_OPERATING_MODE = "__praca_pc" R490_OPERATING_MODE = "__trprpompyciepla" R900_OPERATING_MODE = "__tr_pracy_pc" SOLAR_COMP_OPERATING_MODE = "__trybpracy" MIXER_MODE = "__pracamieszacza" # Sensor OUTDOOR_TEMPERATURE = "OUTDOOR_TEMPERATURE" CO2_LEVEL = "CO2_LEVEL" HUMIDITY = "HUMIDITY" PM1_LEVEL_MEASURED = "PM1_LEVEL_MEASURED" PM25_LEVEL = "PM25_LEVEL" PM25_MEASURED = "PM25_MEASURED" PM10_LEVEL = "PM10_LEVEL" PM10_MEASURED = "PM10_MEASURED" PM4_LEVEL_MEASURED = "PM4_LEVEL_MEASURED" DUST_ALERT = "DUST_ALERT" CO2_ALERT = "CO2_ALERT" TEMPERATURE_ALERT = "TEMPERATURE_ALERT" CO2_PERCENT = "CO2_PERCENT" VENTILATION_ALARM = "VENTILATION_ALARM" VENTILATION_GEAR = "VENTILATION_GEAR" AIRING = "AIRING" MIXER_TEMPERATURE = "MIXER_TEMPERATURE" CIRCUIT_TARGET_TEMPERATURE = "CIRCUIT_TARGET_TEMPERATURE" PROTECTION_TEMPERATURE = "PROTECTION_TEMPERATURE" WEATHER_CURVE = "WEATHER_CURVE" ENERGY_SGREADY_YESTERDAY = "ENERGY_SGREADY_YESTERDAY" DHW_MEASURED_TEMPERATURE = "DHW_MEASURED_TEMPERATURE" CALCULATED_TARGET_TEMPERATURE = "CALCULATED_TARGET_TEMPERATURE" ENERGY_TOTAL = "ENERGY_TOTAL" ENERGY_YESTERDAY = "ENERGY_YESTERDAY" BOILER_TEMPERATURE = "BOILER_TEMPERATURE" FUEL_LEVEL = "FUEL_LEVEL" MIXER1_TEMPERATURE = "MIXER1_TEMPERATURE" MIXER2_TEMPERATURE = "MIXER2_TEMPERATURE" DHW_TEMPERATURE = "DHW_TEMPERATURE" BUFFER_RETURN_TEMPERATURE = "BUFFER_RETURN_TEMPERATURE" BUFFER_MEASURED_TEMPERATURE = "BUFFER_MEASURED_TEMPERATURE" ACTUAL_BUFFER_TEMP = "ACTUAL_BUFFER_TEMP" ACTUAL_DHW_TEMP = "ACTUAL_DHW_TEMP" ACTUAL_UPPER_SOURCE_TEMP = "ACTUAL_UPPER_SOURCE_TEMP" CALCULATED_BUFFER_TEMP = "CALCULATED_BUFFER_TEMP" CALCULATED_DHW_TEMP = "CALCULATED_DHW_TEMP" CALCULATED_UPPER_SOURCE_TEMP = "CALCULATED_UPPER_SOURCE_TEMP" ACTUAL_HC1_TEMPERATURE = "ACTUAL_HC1_TEMPERATURE" ACTUAL_HC2_TEMPERATURE = "ACTUAL_HC2_TEMPERATURE" ACTUAL_HC3_TEMPERATURE = "ACTUAL_HC3_TEMPERATURE" ACTUAL_HC4_TEMPERATURE = "ACTUAL_HC4_TEMPERATURE" HEATING1_TARGET_TEMPERATURE = "HEATING1_TARGET_TEMPERATURE" HEATING2_TARGET_TEMPERATURE = "HEATING2_TARGET_TEMPERATURE" HEATING3_TARGET_TEMPERATURE = "HEATING3_TARGET_TEMPERATURE" HEATING4_TARGET_TEMPERATURE = "HEATING4_TARGET_TEMPERATURE" ALARM_CODE = "ALARM_CODE" BATTERY_LEVEL = "BATTERY_LEVEL" BATTERY_CHARGE_STATUS = "BATTERY_CHARGE_STATUS" CHARGING_POWER = "CHARGING_POWER" PUMP_STATUS = "PUMPE_STATUS" RETURN_CIRCUT_TEMPERATURE = "RETURN_CIRCUT_TEMPERATURE" HAS_BATTERY = "HAS_BATTERY" HAS_EXTERNAL_POWER = "HAS_EXTERNAL_POWER" CALCULATED_HEATING_TEMPERATURE = "CALCULATED_HEATING_TEMPERATURE" TARGET_HEATING_TEMPERATURE = "TARGET_HEATING_TEMPERATURE" CURRENT_HEATING_TEMP = "CURRENT_HEATING_TEMP" RETURN_CIRCUIT_TEMPERATURE = "RETURN_CIRCUIT_TEMPERATURE" COLLECTOR_TEMPERATURE = "COLLECTOR_TEMPERATURE" TANK_BOTTOM_T2_TEMPERATURE = "TANK_BOTTOM_T2_TEMPERATURE" TANK_TOP_T3_TEMPERATURE = "TANK_TOP_T3_TEMPERATURE" COLLECTOR_POWER = "COLLECTOR_POWER" BUFFER_SET_TEMPERATURE = "BUFFER_SET_TEMPERATURE" ENERGY_TODAY = "ENERGY_TODAY" TANK_T4_TEMPERATURE = "TANK_T4_TEMPERATURE" UPPER_SOURCE_TEMPERATURE = "UPPER_SOURCE_TEMPERATURE" LOWER_SOURCE_TEMPERATURE = "LOWER_SOURCE_TEMPERATURE" CO_PUMP_ON_DELAY = "CO_PUMP_ON_DELAY" CO_PUMP_OFF_DELAY = "CO_PUMP_OFF_DELAY" PK1_FUNCTION = "PK1_FUNCTION" ENERGY_CONSUMPTION = "ENERGY_CONSUMPTION" # Water Heater DHW_TARGET_TEMPERATURE = "DHW_TARGET_TEMPERATURE" DHW_CURRENT_TEMPERATURE = "DHW_CURRENT_TEMPERATURE" DHW_OPERATION_MODE = "DHW_OPERATION_MODE" DHW_ON_OFF = "DHW_ON_OFF" DHW_TARGET_TEMPERATURE_2 = "DHW_TARGET_TEMPERATURE_2" HEATER_TARGET_TEMPERATURE = "HEATER_TARGET_TEMPERATURE" HEATING_ELEMENT_TARGET_TEMPERATURE = "HEATING_ELEMENT_TARGET_TEMPERATURE" DHW_FROM_BOILER_TARGET_TEMPERATURE = "DHW_FROM_BOILER_TARGET_TEMPERATURE" # Settings TARGET_TEMPERATURE_COMFORT = "TARGET_TEMPERATURE_COMFORT" TARGET_TEMPERATURE_ECO_WINTER = "TARGET_TEMPERATURE_ECO_WINTER" TARGET_TEMPERATURE_ECO_COOLING = "TARGET_TEMPERATURE_ECO_COOLING" TARGET_TEMPERATURE_OUT_OF_HOME = "TARGET_TEMPERATURE_OUT_OF_HOME" TARGET_TEMPERATURE_ECO = "TARGET_TEMPERATURE_ECO" TARGET_TEMPERATURE_HOLIDAY = "TARGET_TEMPERATURE_HOLIDAY" TARGET_TEMPERATURE_CONST = "TARGET_TEMPERATURE_CONST" HEATING_TARGET_TEMPERATURE_CONST = "HEATING_TARGET_TEMPERATURE_CONST" MIXER_TARGET_TEMPERATURE = "MIXER_TARGET_TEMPERATURE" MIXER1_TARGET_TEMPERATURE = "MIXER1_TARGET_TEMPERATURE" MIXER2_TARGET_TEMPERATURE = "MIXER2_TARGET_TEMPERATURE" BOILER_TARGET_TEMPERATURE = "BOILER_TARGET_TEMPERATURE" BOILER_TARGET_TEMPERATURE_CONST = "BOILER_TARGET_TEMPERATURE_CONST" # Ventilation VENTILATION_ON_OFF = "VENTILATION_ON_OFF" VENTILATION_GEAR_TARGET = "VENTILATION_GEAR_TARGET" AIRING_ON_OFF = "AIRING_ON_OFF" # OnOff switches HOLIDAY_MODE = "HOLIDAY_MODE" DEVICE_ON_OFF = "DEVICE_ON_OFF" FORCE_DHW = "FORCE_DHW" SUMMER_MODE = "SUMMER_MODE" OUT_OF_HOME_MODE = "OUT_OF_HOME_MODE" PARTY_MODE = "PARTY_MODE" class CompitFanMode(Enum): """Enum for available fan modes.""" OFF = 0 LOW = 1 MEDIUM = 2 HIGH = 3 HOLIDAY = 4 AUTO = 5 class CompitPresetMode(Enum): """Enum for available preset modes.""" AUTO = 0 HOLIDAY = 1 MANUAL = 2 AWAY = 3 class CompitDevice(Enum): """Enum for Compit devices. The enum value is the device `Code`, so you can look up a device by code: `CompitDevice(223) -> CompitDevice.NANO_COLOR_2`. Each member also exposes: - `label`: original device name - `device_class`: device class id """ label: str device_class: int def __new__(cls, label: str, code: int, device_class: int): obj = object.__new__(cls) obj._value_ = code obj.label = label obj.device_class = device_class return obj AF_1 = ("AF-1", 226, 48) BIOMAX742_2 = ("BioMax742", 36, 15) BIOMAX742 = ("BioMax742", 212, 15) BIOMAX772 = ("BioMax772", 75, 15) BIOMAX775 = ("BioMax775", 201, 15) BWC310 = ("BWC310", 14, 69) COMBO = ("COMBO", 227, 49) COMBO_PRO = ("COMBO PRO", 229, 37) EL750 = ("EL750", 210, 29) L2 = ("L2", 17, 12) NANO_COLOR = ("Nano Color", 12, 10) NANO_COLOR_2 = ("Nano Color 2", 223, 10) NANO_ONE = ("Nano One", 7, 10) R_900 = ("R 900", 224, 47) R350CWU = ("R350.CWU", 53, 36) R350M = ("R350.M", 221, 14) R350_T3 = ("R350 T3", 5, 14) R470 = ("r470", 34, 16) R480 = ("R480", 215, 43) R490 = ("r490", 92, 33) R770RS_R771RS = ("R770RS / R771RS", 91, 25) R810 = ("R810", 3, 14) R810_1 = ("R810", 222, 34) CO2_SHC = ("SHC", 27, 15) SOLARCOMP_951 = ("SolarComp 951", 44, 18) SOLARCOMP971 = ("SolarComp971", 45, 18) SPM_NANO_COLOR = ("SPM - Nano Color", 225, 27) SPM_NANO_COLOR2 = ("SPM - Nano Color2", 0, 46) SPM_NANO_COLOR2_1 = ("SPM - Nano Color2", 78, 46)