Home Assistant Unofficial Reference 2024.12.1
__init__.py
Go to the documentation of this file.
1 """Support for Overkiz covers - shutters etc."""
2 
3 from pyoverkiz.enums import OverkizCommand, UIClass
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 .awning import Awning
13 from .generic_cover import OverkizGenericCover
14 from .vertical_cover import LowSpeedCover, VerticalCover
15 
16 
18  hass: HomeAssistant, entry: ConfigEntry, async_add_entities: AddEntitiesCallback
19 ) -> None:
20  """Set up the Overkiz covers from a config entry."""
21  data: HomeAssistantOverkizData = hass.data[DOMAIN][entry.entry_id]
22 
23  entities: list[OverkizGenericCover] = [
24  Awning(device.device_url, data.coordinator)
25  for device in data.platforms[Platform.COVER]
26  if device.ui_class == UIClass.AWNING
27  ]
28 
29  entities += [
30  VerticalCover(device.device_url, data.coordinator)
31  for device in data.platforms[Platform.COVER]
32  if device.ui_class != UIClass.AWNING
33  ]
34 
35  entities += [
36  LowSpeedCover(device.device_url, data.coordinator)
37  for device in data.platforms[Platform.COVER]
38  if OverkizCommand.SET_CLOSURE_AND_LINEAR_SPEED in device.definition.commands
39  ]
40 
41  async_add_entities(entities)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: __init__.py:19