Use enums in opentherm_gw (#62084)

This commit is contained in:
Robert Hillis 2021-12-16 16:28:55 -05:00 committed by GitHub
parent 10e5780fbb
commit 74a9f8e81d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -1,9 +1,9 @@
"""Constants for the opentherm_gw integration.""" """Constants for the opentherm_gw integration."""
import pyotgw.vars as gw_vars import pyotgw.vars as gw_vars
from homeassistant.components.binary_sensor import DEVICE_CLASS_PROBLEM from homeassistant.components.binary_sensor import BinarySensorDeviceClass
from homeassistant.components.sensor import SensorDeviceClass
from homeassistant.const import ( from homeassistant.const import (
DEVICE_CLASS_TEMPERATURE,
PERCENTAGE, PERCENTAGE,
PRESSURE_BAR, PRESSURE_BAR,
TEMP_CELSIUS, TEMP_CELSIUS,
@ -26,9 +26,6 @@ CONF_TEMPORARY_OVRD_MODE = "temporary_override_mode"
DATA_GATEWAYS = "gateways" DATA_GATEWAYS = "gateways"
DATA_OPENTHERM_GW = "opentherm_gw" DATA_OPENTHERM_GW = "opentherm_gw"
DEVICE_CLASS_COLD = "cold"
DEVICE_CLASS_HEAT = "heat"
DOMAIN = "opentherm_gw" DOMAIN = "opentherm_gw"
SERVICE_RESET_GATEWAY = "reset_gateway" SERVICE_RESET_GATEWAY = "reset_gateway"
@ -80,37 +77,37 @@ BINARY_SENSOR_INFO = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_FAULT_IND: [ gw_vars.DATA_SLAVE_FAULT_IND: [
DEVICE_CLASS_PROBLEM, BinarySensorDeviceClass.PROBLEM,
"Boiler Fault {}", "Boiler Fault {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_CH_ACTIVE: [ gw_vars.DATA_SLAVE_CH_ACTIVE: [
DEVICE_CLASS_HEAT, BinarySensorDeviceClass.HEAT,
"Boiler Central Heating {}", "Boiler Central Heating {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_DHW_ACTIVE: [ gw_vars.DATA_SLAVE_DHW_ACTIVE: [
DEVICE_CLASS_HEAT, BinarySensorDeviceClass.HEAT,
"Boiler Hot Water {}", "Boiler Hot Water {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_FLAME_ON: [ gw_vars.DATA_SLAVE_FLAME_ON: [
DEVICE_CLASS_HEAT, BinarySensorDeviceClass.HEAT,
"Boiler Flame {}", "Boiler Flame {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_COOLING_ACTIVE: [ gw_vars.DATA_SLAVE_COOLING_ACTIVE: [
DEVICE_CLASS_COLD, BinarySensorDeviceClass.COLD,
"Boiler Cooling {}", "Boiler Cooling {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_CH2_ACTIVE: [ gw_vars.DATA_SLAVE_CH2_ACTIVE: [
DEVICE_CLASS_HEAT, BinarySensorDeviceClass.HEAT,
"Boiler Central Heating 2 {}", "Boiler Central Heating 2 {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_DIAG_IND: [ gw_vars.DATA_SLAVE_DIAG_IND: [
DEVICE_CLASS_PROBLEM, BinarySensorDeviceClass.PROBLEM,
"Boiler Diagnostics {}", "Boiler Diagnostics {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -145,7 +142,7 @@ BINARY_SENSOR_INFO = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_SERVICE_REQ: [ gw_vars.DATA_SLAVE_SERVICE_REQ: [
DEVICE_CLASS_PROBLEM, BinarySensorDeviceClass.PROBLEM,
"Boiler Service Required {}", "Boiler Service Required {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -155,22 +152,22 @@ BINARY_SENSOR_INFO = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_LOW_WATER_PRESS: [ gw_vars.DATA_SLAVE_LOW_WATER_PRESS: [
DEVICE_CLASS_PROBLEM, BinarySensorDeviceClass.PROBLEM,
"Boiler Low Water Pressure {}", "Boiler Low Water Pressure {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_GAS_FAULT: [ gw_vars.DATA_SLAVE_GAS_FAULT: [
DEVICE_CLASS_PROBLEM, BinarySensorDeviceClass.PROBLEM,
"Boiler Gas Fault {}", "Boiler Gas Fault {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_AIR_PRESS_FAULT: [ gw_vars.DATA_SLAVE_AIR_PRESS_FAULT: [
DEVICE_CLASS_PROBLEM, BinarySensorDeviceClass.PROBLEM,
"Boiler Air Pressure Fault {}", "Boiler Air Pressure Fault {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_WATER_OVERTEMP: [ gw_vars.DATA_SLAVE_WATER_OVERTEMP: [
DEVICE_CLASS_PROBLEM, BinarySensorDeviceClass.PROBLEM,
"Boiler Water Overtemperature {}", "Boiler Water Overtemperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -217,7 +214,7 @@ BINARY_SENSOR_INFO = {
SENSOR_INFO = { SENSOR_INFO = {
# [device_class, unit, friendly_name, [status source, ...]] # [device_class, unit, friendly_name, [status source, ...]]
gw_vars.DATA_CONTROL_SETPOINT: [ gw_vars.DATA_CONTROL_SETPOINT: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Control Setpoint {}", "Control Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
@ -247,13 +244,13 @@ SENSOR_INFO = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_CONTROL_SETPOINT_2: [ gw_vars.DATA_CONTROL_SETPOINT_2: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Control Setpoint 2 {}", "Control Setpoint 2 {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_ROOM_SETPOINT_OVRD: [ gw_vars.DATA_ROOM_SETPOINT_OVRD: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Room Setpoint Override {}", "Room Setpoint Override {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
@ -277,7 +274,7 @@ SENSOR_INFO = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_ROOM_SETPOINT: [ gw_vars.DATA_ROOM_SETPOINT: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Room Setpoint {}", "Room Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
@ -301,103 +298,103 @@ SENSOR_INFO = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_ROOM_SETPOINT_2: [ gw_vars.DATA_ROOM_SETPOINT_2: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Room Setpoint 2 {}", "Room Setpoint 2 {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_ROOM_TEMP: [ gw_vars.DATA_ROOM_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Room Temperature {}", "Room Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_CH_WATER_TEMP: [ gw_vars.DATA_CH_WATER_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Central Heating Water Temperature {}", "Central Heating Water Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_DHW_TEMP: [ gw_vars.DATA_DHW_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Hot Water Temperature {}", "Hot Water Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_OUTSIDE_TEMP: [ gw_vars.DATA_OUTSIDE_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Outside Temperature {}", "Outside Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_RETURN_WATER_TEMP: [ gw_vars.DATA_RETURN_WATER_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Return Water Temperature {}", "Return Water Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SOLAR_STORAGE_TEMP: [ gw_vars.DATA_SOLAR_STORAGE_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Solar Storage Temperature {}", "Solar Storage Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SOLAR_COLL_TEMP: [ gw_vars.DATA_SOLAR_COLL_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Solar Collector Temperature {}", "Solar Collector Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_CH_WATER_TEMP_2: [ gw_vars.DATA_CH_WATER_TEMP_2: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Central Heating 2 Water Temperature {}", "Central Heating 2 Water Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_DHW_TEMP_2: [ gw_vars.DATA_DHW_TEMP_2: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Hot Water 2 Temperature {}", "Hot Water 2 Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_EXHAUST_TEMP: [ gw_vars.DATA_EXHAUST_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Exhaust Temperature {}", "Exhaust Temperature {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_DHW_MAX_SETP: [ gw_vars.DATA_SLAVE_DHW_MAX_SETP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Hot Water Maximum Setpoint {}", "Hot Water Maximum Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_DHW_MIN_SETP: [ gw_vars.DATA_SLAVE_DHW_MIN_SETP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Hot Water Minimum Setpoint {}", "Hot Water Minimum Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_CH_MAX_SETP: [ gw_vars.DATA_SLAVE_CH_MAX_SETP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Boiler Maximum Central Heating Setpoint {}", "Boiler Maximum Central Heating Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_CH_MIN_SETP: [ gw_vars.DATA_SLAVE_CH_MIN_SETP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Boiler Minimum Central Heating Setpoint {}", "Boiler Minimum Central Heating Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_DHW_SETPOINT: [ gw_vars.DATA_DHW_SETPOINT: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Hot Water Setpoint {}", "Hot Water Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_MAX_CH_SETPOINT: [ gw_vars.DATA_MAX_CH_SETPOINT: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Maximum Central Heating Setpoint {}", "Maximum Central Heating Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
@ -511,7 +508,7 @@ SENSOR_INFO = {
gw_vars.OTGW_GPIO_A: [None, None, "Gateway GPIO A Mode {}", [gw_vars.OTGW]], gw_vars.OTGW_GPIO_A: [None, None, "Gateway GPIO A Mode {}", [gw_vars.OTGW]],
gw_vars.OTGW_GPIO_B: [None, None, "Gateway GPIO B Mode {}", [gw_vars.OTGW]], gw_vars.OTGW_GPIO_B: [None, None, "Gateway GPIO B Mode {}", [gw_vars.OTGW]],
gw_vars.OTGW_SB_TEMP: [ gw_vars.OTGW_SB_TEMP: [
DEVICE_CLASS_TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, TEMP_CELSIUS,
"Gateway Setback Temperature {}", "Gateway Setback Temperature {}",
[gw_vars.OTGW], [gw_vars.OTGW],