Home Assistant Unofficial Reference 2024.12.1
__init__.py
Go to the documentation of this file.
1 """Support for Overkiz water heater devices."""
2 
3 from __future__ import annotations
4 
5 from pyoverkiz.enums.ui import UIWidget
6 
7 from homeassistant.config_entries import ConfigEntry
8 from homeassistant.const import Platform
9 from homeassistant.core import HomeAssistant
10 from homeassistant.helpers.entity_platform import AddEntitiesCallback
11 
12 from .. import HomeAssistantOverkizData
13 from ..const import DOMAIN
14 from ..entity import OverkizEntity
15 from .atlantic_domestic_hot_water_production_mlb_component import (
16  AtlanticDomesticHotWaterProductionMBLComponent,
17 )
18 from .atlantic_pass_apc_dhw import AtlanticPassAPCDHW
19 from .domestic_hot_water_production import DomesticHotWaterProduction
20 from .hitachi_dhw import HitachiDHW
21 
22 
24  hass: HomeAssistant,
25  entry: ConfigEntry,
26  async_add_entities: AddEntitiesCallback,
27 ) -> None:
28  """Set up the Overkiz DHW from a config entry."""
29  data: HomeAssistantOverkizData = hass.data[DOMAIN][entry.entry_id]
30  entities: list[OverkizEntity] = []
31 
32  for device in data.platforms[Platform.WATER_HEATER]:
33  if device.controllable_name in CONTROLLABLE_NAME_TO_WATER_HEATER_ENTITY:
34  entities.append(
35  CONTROLLABLE_NAME_TO_WATER_HEATER_ENTITY[device.controllable_name](
36  device.device_url, data.coordinator
37  )
38  )
39  elif device.widget in WIDGET_TO_WATER_HEATER_ENTITY:
40  entities.append(
41  WIDGET_TO_WATER_HEATER_ENTITY[device.widget](
42  device.device_url, data.coordinator
43  )
44  )
45 
46  async_add_entities(entities)
47 
48 
49 WIDGET_TO_WATER_HEATER_ENTITY = {
50  UIWidget.ATLANTIC_PASS_APC_DHW: AtlanticPassAPCDHW,
51  UIWidget.DOMESTIC_HOT_WATER_PRODUCTION: DomesticHotWaterProduction,
52  UIWidget.HITACHI_DHW: HitachiDHW,
53 }
54 
55 CONTROLLABLE_NAME_TO_WATER_HEATER_ENTITY = {
56  "modbuslink:AtlanticDomesticHotWaterProductionMBLComponent": AtlanticDomesticHotWaterProductionMBLComponent,
57 }
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: __init__.py:27