2019-06-21 08:52:25 +00:00
|
|
|
"""Constants for the opentherm_gw integration."""
|
|
|
|
import pyotgw.vars as gw_vars
|
|
|
|
|
|
|
|
from homeassistant.const import DEVICE_CLASS_TEMPERATURE, TEMP_CELSIUS
|
|
|
|
|
2019-07-31 19:25:30 +00:00
|
|
|
ATTR_GW_ID = "gateway_id"
|
|
|
|
ATTR_MODE = "mode"
|
|
|
|
ATTR_LEVEL = "level"
|
2019-06-21 08:52:25 +00:00
|
|
|
|
2019-07-31 19:25:30 +00:00
|
|
|
CONF_CLIMATE = "climate"
|
|
|
|
CONF_FLOOR_TEMP = "floor_temperature"
|
|
|
|
CONF_PRECISION = "precision"
|
2019-06-21 08:52:25 +00:00
|
|
|
|
2019-07-31 19:25:30 +00:00
|
|
|
DATA_GATEWAYS = "gateways"
|
|
|
|
DATA_OPENTHERM_GW = "opentherm_gw"
|
2019-06-21 08:52:25 +00:00
|
|
|
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_COLD = "cold"
|
|
|
|
DEVICE_CLASS_HEAT = "heat"
|
|
|
|
DEVICE_CLASS_PROBLEM = "problem"
|
2019-06-21 08:52:25 +00:00
|
|
|
|
2019-07-31 19:25:30 +00:00
|
|
|
SERVICE_RESET_GATEWAY = "reset_gateway"
|
|
|
|
SERVICE_SET_CLOCK = "set_clock"
|
|
|
|
SERVICE_SET_CONTROL_SETPOINT = "set_control_setpoint"
|
|
|
|
SERVICE_SET_GPIO_MODE = "set_gpio_mode"
|
|
|
|
SERVICE_SET_LED_MODE = "set_led_mode"
|
|
|
|
SERVICE_SET_MAX_MOD = "set_max_modulation"
|
|
|
|
SERVICE_SET_OAT = "set_outside_temperature"
|
|
|
|
SERVICE_SET_SB_TEMP = "set_setback_temperature"
|
2019-06-21 08:52:25 +00:00
|
|
|
|
2019-07-31 19:25:30 +00:00
|
|
|
UNIT_BAR = "bar"
|
|
|
|
UNIT_HOUR = "h"
|
|
|
|
UNIT_KW = "kW"
|
|
|
|
UNIT_L_MIN = "L/min"
|
|
|
|
UNIT_PERCENT = "%"
|
2019-06-21 08:52:25 +00:00
|
|
|
|
|
|
|
BINARY_SENSOR_INFO = {
|
|
|
|
# [device_class, friendly_name format]
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_MASTER_CH_ENABLED: [None, "Thermostat Central Heating Enabled {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_MASTER_DHW_ENABLED: [None, "Thermostat Hot Water Enabled {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_MASTER_COOLING_ENABLED: [None, "Thermostat Cooling Enabled {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_MASTER_OTC_ENABLED: [
|
2019-07-31 19:25:30 +00:00
|
|
|
None,
|
|
|
|
"Thermostat Outside Temperature Correction Enabled {}",
|
|
|
|
],
|
|
|
|
gw_vars.DATA_MASTER_CH2_ENABLED: [None, "Thermostat Central Heating 2 Enabled {}"],
|
|
|
|
gw_vars.DATA_SLAVE_FAULT_IND: [DEVICE_CLASS_PROBLEM, "Boiler Fault Indication {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_CH_ACTIVE: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_HEAT,
|
|
|
|
"Boiler Central Heating Status {}",
|
|
|
|
],
|
|
|
|
gw_vars.DATA_SLAVE_DHW_ACTIVE: [DEVICE_CLASS_HEAT, "Boiler Hot Water Status {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_FLAME_ON: [DEVICE_CLASS_HEAT, "Boiler Flame Status {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_SLAVE_COOLING_ACTIVE: [DEVICE_CLASS_COLD, "Boiler Cooling Status {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_CH2_ACTIVE: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_HEAT,
|
|
|
|
"Boiler Central Heating 2 Status {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_DIAG_IND: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_PROBLEM,
|
|
|
|
"Boiler Diagnostics Indication {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_DHW_PRESENT: [None, "Boiler Hot Water Present {}"],
|
|
|
|
gw_vars.DATA_SLAVE_CONTROL_TYPE: [None, "Boiler Control Type {}"],
|
|
|
|
gw_vars.DATA_SLAVE_COOLING_SUPPORTED: [None, "Boiler Cooling Support {}"],
|
|
|
|
gw_vars.DATA_SLAVE_DHW_CONFIG: [None, "Boiler Hot Water Configuration {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_SLAVE_MASTER_LOW_OFF_PUMP: [None, "Boiler Pump Commands Support {}"],
|
|
|
|
gw_vars.DATA_SLAVE_CH2_PRESENT: [None, "Boiler Central Heating 2 Present {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_SERVICE_REQ: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_PROBLEM,
|
|
|
|
"Boiler Service Required {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_REMOTE_RESET: [None, "Boiler Remote Reset Support {}"],
|
|
|
|
gw_vars.DATA_SLAVE_LOW_WATER_PRESS: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_PROBLEM,
|
|
|
|
"Boiler Low Water Pressure {}",
|
|
|
|
],
|
|
|
|
gw_vars.DATA_SLAVE_GAS_FAULT: [DEVICE_CLASS_PROBLEM, "Boiler Gas Fault {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_AIR_PRESS_FAULT: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_PROBLEM,
|
|
|
|
"Boiler Air Pressure Fault {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_WATER_OVERTEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_PROBLEM,
|
|
|
|
"Boiler Water Overtemperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_REMOTE_TRANSFER_DHW: [
|
2019-07-31 19:25:30 +00:00
|
|
|
None,
|
|
|
|
"Remote Hot Water Setpoint Transfer Support {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_REMOTE_TRANSFER_MAX_CH: [
|
2019-07-31 19:25:30 +00:00
|
|
|
None,
|
|
|
|
"Remote Maximum Central Heating Setpoint Write Support {}",
|
|
|
|
],
|
|
|
|
gw_vars.DATA_REMOTE_RW_DHW: [None, "Remote Hot Water Setpoint Write Support {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_REMOTE_RW_MAX_CH: [
|
2019-07-31 19:25:30 +00:00
|
|
|
None,
|
|
|
|
"Remote Central Heating Setpoint Write Support {}",
|
|
|
|
],
|
|
|
|
gw_vars.DATA_ROVRD_MAN_PRIO: [None, "Remote Override Manual Change Priority {}"],
|
|
|
|
gw_vars.DATA_ROVRD_AUTO_PRIO: [None, "Remote Override Program Change Priority {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.OTGW_GPIO_A_STATE: [None, "Gateway GPIO A State {}"],
|
|
|
|
gw_vars.OTGW_GPIO_B_STATE: [None, "Gateway GPIO B State {}"],
|
|
|
|
gw_vars.OTGW_IGNORE_TRANSITIONS: [None, "Gateway Ignore Transitions {}"],
|
|
|
|
gw_vars.OTGW_OVRD_HB: [None, "Gateway Override High Byte {}"],
|
|
|
|
}
|
|
|
|
|
|
|
|
SENSOR_INFO = {
|
|
|
|
# [device_class, unit, friendly_name]
|
|
|
|
gw_vars.DATA_CONTROL_SETPOINT: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Control Setpoint {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_MASTER_MEMBERID: [None, None, "Thermostat Member ID {}"],
|
|
|
|
gw_vars.DATA_SLAVE_MEMBERID: [None, None, "Boiler Member ID {}"],
|
|
|
|
gw_vars.DATA_SLAVE_OEM_FAULT: [None, None, "Boiler OEM Fault Code {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_COOLING_CONTROL: [None, UNIT_PERCENT, "Cooling Control Signal {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_CONTROL_SETPOINT_2: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Control Setpoint 2 {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_ROOM_SETPOINT_OVRD: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Room Setpoint Override {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_MAX_RELATIVE_MOD: [
|
2019-07-31 19:25:30 +00:00
|
|
|
None,
|
|
|
|
UNIT_PERCENT,
|
|
|
|
"Boiler Maximum Relative Modulation {}",
|
|
|
|
],
|
|
|
|
gw_vars.DATA_SLAVE_MAX_CAPACITY: [None, UNIT_KW, "Boiler Maximum Capacity {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_MIN_MOD_LEVEL: [
|
2019-07-31 19:25:30 +00:00
|
|
|
None,
|
|
|
|
UNIT_PERCENT,
|
|
|
|
"Boiler Minimum Modulation Level {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_ROOM_SETPOINT: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Room Setpoint {}",
|
|
|
|
],
|
|
|
|
gw_vars.DATA_REL_MOD_LEVEL: [None, UNIT_PERCENT, "Relative Modulation Level {}"],
|
|
|
|
gw_vars.DATA_CH_WATER_PRESS: [None, UNIT_BAR, "Central Heating Water Pressure {}"],
|
|
|
|
gw_vars.DATA_DHW_FLOW_RATE: [None, UNIT_L_MIN, "Hot Water Flow Rate {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_ROOM_SETPOINT_2: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Room Setpoint 2 {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_ROOM_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Room Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_CH_WATER_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Central Heating Water Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_DHW_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Hot Water Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_OUTSIDE_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Outside Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_RETURN_WATER_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Return Water Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SOLAR_STORAGE_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Solar Storage Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SOLAR_COLL_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Solar Collector Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_CH_WATER_TEMP_2: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Central Heating 2 Water Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_DHW_TEMP_2: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Hot Water 2 Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_EXHAUST_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Exhaust Temperature {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_DHW_MAX_SETP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Hot Water Maximum Setpoint {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_DHW_MIN_SETP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Hot Water Minimum Setpoint {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_CH_MAX_SETP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Boiler Maximum Central Heating Setpoint {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_CH_MIN_SETP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Boiler Minimum Central Heating Setpoint {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_DHW_SETPOINT: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Hot Water Setpoint {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_MAX_CH_SETPOINT: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Maximum Central Heating Setpoint {}",
|
|
|
|
],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_OEM_DIAG: [None, None, "OEM Diagnostic Code {}"],
|
|
|
|
gw_vars.DATA_TOTAL_BURNER_STARTS: [None, None, "Total Burner Starts {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_CH_PUMP_STARTS: [None, None, "Central Heating Pump Starts {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_DHW_PUMP_STARTS: [None, None, "Hot Water Pump Starts {}"],
|
|
|
|
gw_vars.DATA_DHW_BURNER_STARTS: [None, None, "Hot Water Burner Starts {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_TOTAL_BURNER_HOURS: [None, UNIT_HOUR, "Total Burner Hours {}"],
|
|
|
|
gw_vars.DATA_CH_PUMP_HOURS: [None, UNIT_HOUR, "Central Heating Pump Hours {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_DHW_PUMP_HOURS: [None, UNIT_HOUR, "Hot Water Pump Hours {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_DHW_BURNER_HOURS: [None, UNIT_HOUR, "Hot Water Burner Hours {}"],
|
|
|
|
gw_vars.DATA_MASTER_OT_VERSION: [None, None, "Thermostat OpenTherm Version {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_OT_VERSION: [None, None, "Boiler OpenTherm Version {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_MASTER_PRODUCT_TYPE: [None, None, "Thermostat Product Type {}"],
|
|
|
|
gw_vars.DATA_MASTER_PRODUCT_VERSION: [None, None, "Thermostat Product Version {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.DATA_SLAVE_PRODUCT_TYPE: [None, None, "Boiler Product Type {}"],
|
2019-07-31 19:25:30 +00:00
|
|
|
gw_vars.DATA_SLAVE_PRODUCT_VERSION: [None, None, "Boiler Product Version {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.OTGW_MODE: [None, None, "Gateway/Monitor Mode {}"],
|
|
|
|
gw_vars.OTGW_DHW_OVRD: [None, None, "Gateway Hot Water Override Mode {}"],
|
|
|
|
gw_vars.OTGW_ABOUT: [None, None, "Gateway Firmware Version {}"],
|
|
|
|
gw_vars.OTGW_BUILD: [None, None, "Gateway Firmware Build {}"],
|
|
|
|
gw_vars.OTGW_CLOCKMHZ: [None, None, "Gateway Clock Speed {}"],
|
|
|
|
gw_vars.OTGW_LED_A: [None, None, "Gateway LED A Mode {}"],
|
|
|
|
gw_vars.OTGW_LED_B: [None, None, "Gateway LED B Mode {}"],
|
|
|
|
gw_vars.OTGW_LED_C: [None, None, "Gateway LED C Mode {}"],
|
|
|
|
gw_vars.OTGW_LED_D: [None, None, "Gateway LED D Mode {}"],
|
|
|
|
gw_vars.OTGW_LED_E: [None, None, "Gateway LED E Mode {}"],
|
|
|
|
gw_vars.OTGW_LED_F: [None, None, "Gateway LED F Mode {}"],
|
|
|
|
gw_vars.OTGW_GPIO_A: [None, None, "Gateway GPIO A Mode {}"],
|
|
|
|
gw_vars.OTGW_GPIO_B: [None, None, "Gateway GPIO B Mode {}"],
|
|
|
|
gw_vars.OTGW_SB_TEMP: [
|
2019-07-31 19:25:30 +00:00
|
|
|
DEVICE_CLASS_TEMPERATURE,
|
|
|
|
TEMP_CELSIUS,
|
|
|
|
"Gateway Setback Temperature {}",
|
|
|
|
],
|
|
|
|
gw_vars.OTGW_SETP_OVRD_MODE: [None, None, "Gateway Room Setpoint Override Mode {}"],
|
2019-06-21 08:52:25 +00:00
|
|
|
gw_vars.OTGW_SMART_PWR: [None, None, "Gateway Smart Power Mode {}"],
|
|
|
|
gw_vars.OTGW_THRM_DETECT: [None, None, "Gateway Thermostat Detection {}"],
|
|
|
|
gw_vars.OTGW_VREF: [None, None, "Gateway Reference Voltage Setting {}"],
|
|
|
|
}
|