Update opentherm_gw sensor definitions (#83533)

* Move sensor definitions to platform

* Use new unit enums

* Update device classes

* Minimize changes
This commit is contained in:
epenet 2022-12-08 19:33:02 +01:00 committed by GitHub
parent de09792cdd
commit 54fb4df3aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -7,10 +7,11 @@ from homeassistant.components.binary_sensor import BinarySensorDeviceClass
from homeassistant.components.sensor import SensorDeviceClass from homeassistant.components.sensor import SensorDeviceClass
from homeassistant.const import ( from homeassistant.const import (
PERCENTAGE, PERCENTAGE,
PRESSURE_BAR, UnitOfPower,
TEMP_CELSIUS, UnitOfPressure,
TIME_HOURS, UnitOfTemperature,
TIME_MINUTES, UnitOfTime,
UnitOfVolume,
) )
ATTR_GW_ID = "gateway_id" ATTR_GW_ID = "gateway_id"
@ -50,9 +51,6 @@ TRANSLATE_SOURCE = {
gw_vars.THERMOSTAT: "Thermostat", gw_vars.THERMOSTAT: "Thermostat",
} }
UNIT_KW = "kW"
UNIT_L_MIN = f"L/{TIME_MINUTES}"
BINARY_SENSOR_INFO: dict[str, list] = { BINARY_SENSOR_INFO: dict[str, list] = {
# [device_class, friendly_name format, [status source, ...]] # [device_class, friendly_name format, [status source, ...]]
gw_vars.DATA_MASTER_CH_ENABLED: [ gw_vars.DATA_MASTER_CH_ENABLED: [
@ -219,7 +217,7 @@ SENSOR_INFO: dict[str, list] = {
# [device_class, unit, friendly_name, [status source, ...]] # [device_class, unit, friendly_name, [status source, ...]]
gw_vars.DATA_CONTROL_SETPOINT: [ gw_vars.DATA_CONTROL_SETPOINT: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.CELSIUS,
"Control Setpoint {}", "Control Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -249,13 +247,13 @@ SENSOR_INFO: dict[str, list] = {
], ],
gw_vars.DATA_CONTROL_SETPOINT_2: [ gw_vars.DATA_CONTROL_SETPOINT_2: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.CELSIUS,
"Room Setpoint Override {}", "Room Setpoint Override {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -266,8 +264,8 @@ SENSOR_INFO: dict[str, list] = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_SLAVE_MAX_CAPACITY: [ gw_vars.DATA_SLAVE_MAX_CAPACITY: [
None, SensorDeviceClass.POWER,
UNIT_KW, UnitOfPower.KILO_WATT,
"Boiler Maximum Capacity {}", "Boiler Maximum Capacity {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -279,7 +277,7 @@ SENSOR_INFO: dict[str, list] = {
], ],
gw_vars.DATA_ROOM_SETPOINT: [ gw_vars.DATA_ROOM_SETPOINT: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.CELSIUS,
"Room Setpoint {}", "Room Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -290,116 +288,116 @@ SENSOR_INFO: dict[str, list] = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_CH_WATER_PRESS: [ gw_vars.DATA_CH_WATER_PRESS: [
None, SensorDeviceClass.PRESSURE,
PRESSURE_BAR, UnitOfPressure.BAR,
"Central Heating Water Pressure {}", "Central Heating Water Pressure {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_DHW_FLOW_RATE: [ gw_vars.DATA_DHW_FLOW_RATE: [
None, None,
UNIT_L_MIN, f"{UnitOfVolume.LITERS}/{UnitOfTime.MINUTES}",
"Hot Water Flow Rate {}", "Hot Water Flow Rate {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_ROOM_SETPOINT_2: [ gw_vars.DATA_ROOM_SETPOINT_2: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.CELSIUS,
"Maximum Central Heating Setpoint {}", "Maximum Central Heating Setpoint {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -434,26 +432,26 @@ SENSOR_INFO: dict[str, list] = {
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_TOTAL_BURNER_HOURS: [ gw_vars.DATA_TOTAL_BURNER_HOURS: [
None, SensorDeviceClass.DURATION,
TIME_HOURS, UnitOfTime.HOURS,
"Total Burner Hours {}", "Total Burner Hours {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_CH_PUMP_HOURS: [ gw_vars.DATA_CH_PUMP_HOURS: [
None, SensorDeviceClass.DURATION,
TIME_HOURS, UnitOfTime.HOURS,
"Central Heating Pump Hours {}", "Central Heating Pump Hours {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_DHW_PUMP_HOURS: [ gw_vars.DATA_DHW_PUMP_HOURS: [
None, SensorDeviceClass.DURATION,
TIME_HOURS, UnitOfTime.HOURS,
"Hot Water Pump Hours {}", "Hot Water Pump Hours {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
gw_vars.DATA_DHW_BURNER_HOURS: [ gw_vars.DATA_DHW_BURNER_HOURS: [
None, SensorDeviceClass.DURATION,
TIME_HOURS, UnitOfTime.HOURS,
"Hot Water Burner Hours {}", "Hot Water Burner Hours {}",
[gw_vars.BOILER, gw_vars.THERMOSTAT], [gw_vars.BOILER, gw_vars.THERMOSTAT],
], ],
@ -513,7 +511,7 @@ SENSOR_INFO: dict[str, list] = {
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: [
SensorDeviceClass.TEMPERATURE, SensorDeviceClass.TEMPERATURE,
TEMP_CELSIUS, UnitOfTemperature.CELSIUS,
"Gateway Setback Temperature {}", "Gateway Setback Temperature {}",
[gw_vars.OTGW], [gw_vars.OTGW],
], ],