|
1 | 1 | """ Plugwise Stick and Smile constants.""" |
2 | 2 |
|
| 3 | +# Copied homeassistant.consts |
| 4 | +ATTR_NAME = "name" |
| 5 | +ATTR_UNIT_OF_MEASUREMENT = "unit_of_measurement" |
| 6 | +DEGREE = "°" |
| 7 | +ENERGY_KILO_WATT_HOUR = "kWh" |
| 8 | +ENERGY_WATT_HOUR = "Wh" |
| 9 | +PERCENTAGE = "%" |
| 10 | +POWER_WATT = "W" |
| 11 | +PRESSURE_BAR = "bar" |
| 12 | +SIGNAL_STRENGTH_DECIBELS_MILLIWATT = "dBm" |
| 13 | +TEMP_CELSIUS = "°C" |
| 14 | +TIME_MILLISECONDS = "ms" |
| 15 | +VOLUME_CUBIC_METERS = "m³" |
| 16 | +VOLUME_CUBIC_METERS_PER_HOUR = "m³/h" |
| 17 | + |
3 | 18 | ### Stick constants ### |
4 | 19 |
|
5 | 20 | UTF8_DECODE = "utf-8" |
|
145 | 160 | CB_NEW_NODE = "NEW_NODE" |
146 | 161 | CB_JOIN_REQUEST = "JOIN_REQUEST" |
147 | 162 |
|
148 | | -# Unit of measurement |
149 | | -TIME_MILLISECONDS = "ms" |
150 | | -POWER_WATT = "W" |
151 | | -ENERGY_KILO_WATT_HOUR = "kWh" |
152 | | -ENERGY_WATT_HOUR = "Wh" |
153 | | -CELSIUS = "°C" |
154 | | - |
155 | 163 | # Sensors |
156 | 164 | SENSOR_AVAILABLE = { |
157 | 165 | "id": "available", |
|
235 | 243 | "id": "temperature", |
236 | 244 | "name": "Temperature", |
237 | 245 | "state": "get_temperature", |
238 | | - "unit": CELSIUS, |
| 246 | + "unit": TEMP_CELSIUS, |
239 | 247 | } |
240 | 248 |
|
241 | 249 | # TODO: Need to validate RSSI sensors |
|
283 | 291 | SWITCH_GROUP_TYPES = ["switching", "report"] |
284 | 292 |
|
285 | 293 | HOME_MEASUREMENTS = { |
286 | | - "electricity_consumed": "power", |
287 | | - "electricity_produced": "power", |
288 | | - "gas_consumed": "gas", |
289 | | - "outdoor_temperature": "temperature", |
| 294 | + "electricity_consumed": { |
| 295 | + ATTR_NAME: "power", |
| 296 | + ATTR_UNIT_OF_MEASUREMENT: POWER_WATT, |
| 297 | + }, |
| 298 | + "electricity_produced": { |
| 299 | + ATTR_NAME: "power", |
| 300 | + ATTR_UNIT_OF_MEASUREMENT: POWER_WATT, |
| 301 | + }, |
| 302 | + "gas_consumed": { |
| 303 | + ATTR_NAME: "gas", |
| 304 | + ATTR_UNIT_OF_MEASUREMENT: VOLUME_CUBIC_METERS, |
| 305 | + }, |
| 306 | + "outdoor_temperature": { |
| 307 | + ATTR_NAME: "temperature", |
| 308 | + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, |
| 309 | + }, |
290 | 310 | } |
291 | 311 |
|
292 | 312 | # Excluded: |
293 | 313 | # zone_thermosstat 'temperature_offset' |
294 | 314 | # radiator_valve 'uncorrected_temperature', 'temperature_offset' |
295 | 315 | DEVICE_MEASUREMENTS = { |
296 | 316 | # HA Core current_temperature |
297 | | - "temperature": "temperature", |
| 317 | + "temperature": {ATTR_NAME: "temperature", ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS}, |
298 | 318 | # HA Core setpoint |
299 | | - "thermostat": "setpoint", |
| 319 | + "thermostat": {ATTR_NAME: "setpoint", ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS}, |
300 | 320 | # Anna/Adam |
301 | | - "boiler_temperature": "water_temperature", |
302 | | - "domestic_hot_water_state": "dhw_state", |
303 | | - "intended_boiler_temperature": "intended_boiler_temperature", # non-zero when heating, zero when dhw-heating |
304 | | - "intended_central_heating_state": "heating_state", # use intended_c_h_state, this key shows the heating-behavior better than c-h_state |
305 | | - "modulation_level": "modulation_level", |
306 | | - "return_water_temperature": "return_temperature", |
| 321 | + "boiler_temperature": { |
| 322 | + ATTR_NAME: "water_temperature", |
| 323 | + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, |
| 324 | + }, |
| 325 | + "domestic_hot_water_state": { |
| 326 | + ATTR_NAME: "dhw_state", |
| 327 | + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, |
| 328 | + }, |
| 329 | + "intended_boiler_temperature": { |
| 330 | + ATTR_NAME: "intended_boiler_temperature", |
| 331 | + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, |
| 332 | + }, # non-zero when heating, zero when dhw-heating |
| 333 | + "intended_central_heating_state": { |
| 334 | + ATTR_NAME: "heating_state", |
| 335 | + ATTR_UNIT_OF_MEASUREMENT: None, |
| 336 | + }, # use intended_c_h_state, this key shows the heating-behavior better than c-h_state |
| 337 | + "modulation_level": { |
| 338 | + ATTR_NAME: "modulation_level", |
| 339 | + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, |
| 340 | + }, |
| 341 | + "return_water_temperature": { |
| 342 | + ATTR_NAME: "return_temperature", |
| 343 | + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, |
| 344 | + }, |
307 | 345 | # Used with the Elga heatpump - marcelveldt |
308 | | - "compressor_state": "compressor_state", |
309 | | - "cooling_state": "cooling_state", |
| 346 | + "compressor_state": {ATTR_NAME: "compressor_state", ATTR_UNIT_OF_MEASUREMENT: None}, |
| 347 | + "cooling_state": {ATTR_NAME: "cooling_state", ATTR_UNIT_OF_MEASUREMENT: None}, |
310 | 348 | # Next 2 keys are used to show the state of the gas-heater used next to the Elga heatpump - marcelveldt |
311 | | - "slave_boiler_state": "slave_boiler_state", |
312 | | - "flame_state": "flame_state", # also present when there is a single gas-heater |
| 349 | + "slave_boiler_state": { |
| 350 | + ATTR_NAME: "slave_boiler_state", |
| 351 | + ATTR_UNIT_OF_MEASUREMENT: None, |
| 352 | + }, |
| 353 | + "flame_state": { |
| 354 | + ATTR_NAME: "flame_state", |
| 355 | + ATTR_UNIT_OF_MEASUREMENT: None, |
| 356 | + }, # also present when there is a single gas-heater |
313 | 357 | # Anna only |
314 | | - "central_heater_water_pressure": "water_pressure", |
315 | | - "outdoor_temperature": "outdoor_temperature", # Outdoor temp as reported on the Anna, in the App |
316 | | - "schedule_temperature": "schedule_temperature", # Only present on legacy Anna and Anna_v3 |
| 358 | + "central_heater_water_pressure": { |
| 359 | + ATTR_NAME: "water_pressure", |
| 360 | + ATTR_UNIT_OF_MEASUREMENT: PRESSURE_BAR, |
| 361 | + }, |
| 362 | + "outdoor_temperature": { |
| 363 | + ATTR_NAME: "outdoor_temperature", |
| 364 | + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, |
| 365 | + }, # Outdoor temp as reported on the Anna, in the App |
| 366 | + "schedule_temperature": { |
| 367 | + ATTR_NAME: "schedule_temperature", |
| 368 | + ATTR_UNIT_OF_MEASUREMENT: TEMP_CELSIUS, |
| 369 | + }, # Only present on legacy Anna and Anna_v3 |
317 | 370 | # Legacy Anna: similar to flame-state on Anna/Adam |
318 | | - "boiler_state": "boiler_state", |
| 371 | + "boiler_state": {ATTR_NAME: "boiler_state", ATTR_UNIT_OF_MEASUREMENT: None}, |
319 | 372 | # Legacy Anna: shows when heating is active, don't show dhw_state, cannot be determined reliably |
320 | | - "intended_boiler_state": "intended_boiler_state", |
| 373 | + "intended_boiler_state": { |
| 374 | + ATTR_NAME: "intended_boiler_state", |
| 375 | + ATTR_UNIT_OF_MEASUREMENT: None, |
| 376 | + }, |
321 | 377 | # Lisa and Tom |
322 | | - "battery": "battery", |
323 | | - "temperature_difference": "temperature_difference", |
324 | | - "valve_position": "valve_position", |
| 378 | + "battery": {ATTR_NAME: "battery", ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE}, |
| 379 | + "temperature_difference": { |
| 380 | + ATTR_NAME: "temperature_difference", |
| 381 | + ATTR_UNIT_OF_MEASUREMENT: DEGREE, |
| 382 | + }, |
| 383 | + "valve_position": { |
| 384 | + ATTR_NAME: "valve_position", |
| 385 | + ATTR_UNIT_OF_MEASUREMENT: PERCENTAGE, |
| 386 | + }, |
325 | 387 | # Plug |
326 | | - "electricity_consumed": "electricity_consumed", |
327 | | - "electricity_produced": "electricity_produced", |
328 | | - "relay": "relay", |
| 388 | + "electricity_consumed": { |
| 389 | + ATTR_NAME: "electricity_consumed", |
| 390 | + ATTR_UNIT_OF_MEASUREMENT: POWER_WATT, |
| 391 | + }, |
| 392 | + "electricity_produced": { |
| 393 | + ATTR_NAME: "electricity_produced", |
| 394 | + ATTR_UNIT_OF_MEASUREMENT: POWER_WATT, |
| 395 | + }, |
| 396 | + "relay": {ATTR_NAME: "relay", ATTR_UNIT_OF_MEASUREMENT: None}, |
329 | 397 | } |
330 | 398 |
|
331 | 399 | SMILES = { |
|
0 commit comments