1 """Constant values for the Tado component."""
3 from PyTado.const
import (
27 TADO_HVAC_ACTION_TO_HA_HVAC_ACTION = {
28 CONST_HVAC_HEAT: HVACAction.HEATING,
29 CONST_HVAC_DRY: HVACAction.DRYING,
30 CONST_HVAC_FAN: HVACAction.FAN,
31 CONST_HVAC_COOL: HVACAction.COOLING,
32 CONST_HVAC_IDLE: HVACAction.IDLE,
33 CONST_HVAC_OFF: HVACAction.OFF,
34 CONST_HVAC_HOT_WATER: HVACAction.HEATING,
38 CONF_FALLBACK =
"fallback"
39 CONF_HOME_ID =
"home_id"
44 "clear-night": {
"NIGHT_CLEAR"},
45 "cloudy": {
"CLOUDY",
"CLOUDY_MOSTLY",
"NIGHT_CLOUDY"},
47 "hail": {
"HAIL",
"RAIN_HAIL"},
48 "lightning": {
"THUNDERSTORM"},
49 "partlycloudy": {
"CLOUDY_PARTLY"},
50 "rainy": {
"DRIZZLE",
"RAIN",
"SCATTERED_RAIN"},
51 "snowy": {
"FREEZING",
"SCATTERED_SNOW",
"SNOW"},
52 "snowy-rainy": {
"RAIN_SNOW",
"SCATTERED_RAIN_SNOW"},
58 TYPE_AIR_CONDITIONING =
"AIR_CONDITIONING"
59 TYPE_HEATING =
"HEATING"
60 TYPE_HOT_WATER =
"HOT_WATER"
62 TYPE_BATTERY =
"BATTERY"
66 CONST_MODE_OFF =
"OFF"
67 CONST_MODE_SMART_SCHEDULE =
"SMART_SCHEDULE"
68 CONST_MODE_AUTO =
"AUTO"
69 CONST_MODE_COOL =
"COOL"
70 CONST_MODE_HEAT =
"HEAT"
71 CONST_MODE_DRY =
"DRY"
72 CONST_MODE_FAN =
"FAN"
74 CONST_LINK_OFFLINE =
"OFFLINE"
77 CONST_FAN_AUTO =
"AUTO"
78 CONST_FAN_LOW_LEGACY =
"LOW"
79 CONST_FAN_MIDDLE_LEGACY =
"MIDDLE"
80 CONST_FAN_HIGH_LEGACY =
"HIGH"
82 CONST_FAN_LEVEL_1 =
"LEVEL1"
83 CONST_FAN_LEVEL_2 =
"LEVEL2"
84 CONST_FAN_LEVEL_3 =
"LEVEL3"
88 CONST_OVERLAY_TADO_MODE = (
91 CONST_OVERLAY_MANUAL =
"MANUAL"
92 CONST_OVERLAY_TIMER =
"TIMER"
93 CONST_OVERLAY_TADO_DEFAULT = (
96 CONST_OVERLAY_TADO_OPTIONS = [
97 CONST_OVERLAY_TADO_MODE,
99 CONST_OVERLAY_TADO_DEFAULT,
101 CONST_EXCLUSIVE_OVERLAY_GROUP = (
110 ORDERED_KNOWN_TADO_MODES = [
118 TADO_MODES_TO_HA_CURRENT_HVAC_ACTION = {
119 CONST_MODE_HEAT: HVACAction.HEATING,
120 CONST_MODE_DRY: HVACAction.DRYING,
121 CONST_MODE_FAN: HVACAction.FAN,
122 CONST_MODE_COOL: HVACAction.COOLING,
126 TADO_MODES_WITH_NO_TEMP_SETTING = [CONST_MODE_AUTO, CONST_MODE_FAN]
134 HA_TO_TADO_HVAC_MODE_MAP = {
135 HVACMode.OFF: CONST_MODE_OFF,
136 HVACMode.HEAT_COOL: CONST_MODE_AUTO,
137 HVACMode.AUTO: CONST_MODE_SMART_SCHEDULE,
138 HVACMode.HEAT: CONST_MODE_HEAT,
139 HVACMode.COOL: CONST_MODE_COOL,
140 HVACMode.DRY: CONST_MODE_DRY,
141 HVACMode.FAN_ONLY: CONST_MODE_FAN,
144 HA_TO_TADO_FAN_MODE_MAP_LEGACY = {
145 FAN_AUTO: CONST_FAN_AUTO,
146 FAN_OFF: CONST_FAN_OFF,
147 FAN_LOW: CONST_FAN_LOW_LEGACY,
148 FAN_MEDIUM: CONST_FAN_MIDDLE_LEGACY,
149 FAN_HIGH: CONST_FAN_HIGH_LEGACY,
152 HA_TO_TADO_FAN_MODE_MAP = {
153 FAN_AUTO: CONST_FAN_AUTO,
154 FAN_OFF: CONST_FAN_OFF,
155 FAN_LOW: CONST_FAN_LEVEL_1,
156 FAN_MEDIUM: CONST_FAN_LEVEL_2,
157 FAN_HIGH: CONST_FAN_LEVEL_3,
160 TADO_TO_HA_HVAC_MODE_MAP = {
161 value: key
for key, value
in HA_TO_TADO_HVAC_MODE_MAP.items()
164 TADO_TO_HA_FAN_MODE_MAP_LEGACY = {
165 value: key
for key, value
in HA_TO_TADO_FAN_MODE_MAP_LEGACY.items()
168 TADO_TO_HA_FAN_MODE_MAP = {value: key
for key, value
in HA_TO_TADO_FAN_MODE_MAP.items()}
170 TADO_FAN_SPEEDS =
list(HA_TO_TADO_FAN_MODE_MAP_LEGACY.values())
172 TADO_FAN_LEVELS =
list(HA_TO_TADO_FAN_MODE_MAP.values())
174 DEFAULT_TADO_PRECISION = 0.1
179 SUPPORT_PRESET_AUTO = [PRESET_AWAY, PRESET_HOME, PRESET_AUTO]
180 SUPPORT_PRESET_MANUAL = [PRESET_AWAY, PRESET_HOME]
182 SENSOR_DATA_CATEGORY_WEATHER =
"weather"
183 SENSOR_DATA_CATEGORY_GEOFENCE =
"geofence"
185 TADO_SWING_OFF =
"OFF"
188 HA_TO_TADO_SWING_MODE_MAP = {
189 SWING_OFF: TADO_SWING_OFF,
190 SWING_ON: TADO_SWING_ON,
193 TADO_TO_HA_SWING_MODE_MAP = {
194 value: key
for key, value
in HA_TO_TADO_SWING_MODE_MAP.items()
199 SIGNAL_TADO_UPDATE_RECEIVED =
"tado_update_received_{}_{}_{}"
200 SIGNAL_TADO_MOBILE_DEVICE_UPDATE_RECEIVED =
"tado_mobile_device_update_received_{}"
201 UNIQUE_ID =
"unique_id"
203 DEFAULT_NAME =
"Tado"
209 INSIDE_TEMPERATURE_MEASUREMENT =
"INSIDE_TEMPERATURE_MEASUREMENT"
210 TEMP_OFFSET =
"temperatureOffset"
211 TADO_OFFSET_CELSIUS =
"celsius"
212 HA_OFFSET_CELSIUS =
"offset_celsius"
213 TADO_OFFSET_FAHRENHEIT =
"fahrenheit"
214 HA_OFFSET_FAHRENHEIT =
"offset_fahrenheit"
215 TADO_TO_HA_OFFSET_MAP = {
216 TADO_OFFSET_CELSIUS: HA_OFFSET_CELSIUS,
217 TADO_OFFSET_FAHRENHEIT: HA_OFFSET_FAHRENHEIT,
221 HA_TERMINATION_TYPE =
"default_overlay_type"
222 HA_TERMINATION_DURATION =
"default_overlay_seconds"
224 TADO_DEFAULT_MIN_TEMP = 5
225 TADO_DEFAULT_MAX_TEMP = 40
227 SERVICE_ADD_METER_READING =
"add_meter_reading"
228 CONF_CONFIG_ENTRY =
"config_entry"
229 CONF_READING =
"reading"
230 ATTR_MESSAGE =
"message"
232 WATER_HEATER_FALLBACK_REPAIR =
"water_heater_fallback"
234 TADO_SWING_SETTING =
"swings"
235 TADO_FANSPEED_SETTING =
"fanSpeeds"
237 TADO_FANLEVEL_SETTING =
"fanLevel"
238 TADO_VERTICAL_SWING_SETTING =
"verticalSwing"
239 TADO_HORIZONTAL_SWING_SETTING =
"horizontalSwing"