Home Assistant Unofficial Reference 2024.12.1
water_heater.py
Go to the documentation of this file.
1 """Support for Overkiz water heater devices."""
2 
3 from __future__ import annotations
4 
5 from homeassistant.config_entries import ConfigEntry
6 from homeassistant.const import Platform
7 from homeassistant.core import HomeAssistant
8 from homeassistant.helpers.entity_platform import AddEntitiesCallback
9 
10 from . import HomeAssistantOverkizData
11 from .const import DOMAIN
12 from .entity import OverkizEntity
13 from .water_heater_entities import (
14  CONTROLLABLE_NAME_TO_WATER_HEATER_ENTITY,
15  WIDGET_TO_WATER_HEATER_ENTITY,
16 )
17 
18 
19 async def async_setup_entry(
20  hass: HomeAssistant,
21  entry: ConfigEntry,
22  async_add_entities: AddEntitiesCallback,
23 ) -> None:
24  """Set up the Overkiz DHW from a config entry."""
25  data: HomeAssistantOverkizData = hass.data[DOMAIN][entry.entry_id]
26  entities: list[OverkizEntity] = []
27 
28  for device in data.platforms[Platform.WATER_HEATER]:
29  if device.controllable_name in CONTROLLABLE_NAME_TO_WATER_HEATER_ENTITY:
30  entities.append(
31  CONTROLLABLE_NAME_TO_WATER_HEATER_ENTITY[device.controllable_name](
32  device.device_url, data.coordinator
33  )
34  )
35  elif device.widget in WIDGET_TO_WATER_HEATER_ENTITY:
36  entities.append(
37  WIDGET_TO_WATER_HEATER_ENTITY[device.widget](
38  device.device_url, data.coordinator
39  )
40  )
41 
42  async_add_entities(entities)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Definition: water_heater.py:86