Home Assistant Unofficial Reference 2024.12.1
scene.py
Go to the documentation of this file.
1 """Support for Overkiz scenes."""
2 
3 from __future__ import annotations
4 
5 from typing import Any
6 
7 from pyoverkiz.client import OverkizClient
8 from pyoverkiz.models import Scenario
9 
10 from homeassistant.components.scene import Scene
11 from homeassistant.config_entries import ConfigEntry
12 from homeassistant.core import HomeAssistant
13 from homeassistant.helpers.entity_platform import AddEntitiesCallback
14 
15 from . import HomeAssistantOverkizData
16 from .const import DOMAIN
17 
18 
20  hass: HomeAssistant,
21  entry: ConfigEntry,
22  async_add_entities: AddEntitiesCallback,
23 ) -> None:
24  """Set up the Overkiz scenes from a config entry."""
25  data: HomeAssistantOverkizData = hass.data[DOMAIN][entry.entry_id]
26 
28  OverkizScene(scene, data.coordinator.client) for scene in data.scenarios
29  )
30 
31 
33  """Representation of an Overkiz Scene."""
34 
35  def __init__(self, scenario: Scenario, client: OverkizClient) -> None:
36  """Initialize the scene."""
37  self.scenarioscenario = scenario
38  self.clientclient = client
39  self._attr_name_attr_name = self.scenarioscenario.label
40  self._attr_unique_id_attr_unique_id = self.scenarioscenario.oid
41 
42  async def async_activate(self, **kwargs: Any) -> None:
43  """Activate the scene."""
44  await self.clientclient.execute_scenario(self.scenarioscenario.oid)
None __init__(self, Scenario scenario, OverkizClient client)
Definition: scene.py:35
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: scene.py:23