Home Assistant Unofficial Reference 2024.12.1
switch.py
Go to the documentation of this file.
1 """WiZ integration switch platform."""
2 
3 from __future__ import annotations
4 
5 from typing import Any
6 
7 from pywizlight import PilotBuilder
8 from pywizlight.bulblibrary import BulbClass
9 
10 from homeassistant.components.switch import SwitchEntity
11 from homeassistant.core import HomeAssistant
12 from homeassistant.helpers.entity_platform import AddEntitiesCallback
13 
14 from . import WizConfigEntry
15 from .entity import WizToggleEntity
16 from .models import WizData
17 
18 
20  hass: HomeAssistant,
21  entry: WizConfigEntry,
22  async_add_entities: AddEntitiesCallback,
23 ) -> None:
24  """Set up the WiZ switch platform."""
25  if entry.runtime_data.bulb.bulbtype.bulb_type == BulbClass.SOCKET:
26  async_add_entities([WizSocketEntity(entry.runtime_data, entry.title)])
27 
28 
30  """Representation of a WiZ socket."""
31 
32  _attr_name = None
33 
34  def __init__(self, wiz_data: WizData, name: str) -> None:
35  """Initialize a WiZ socket."""
36  super().__init__(wiz_data, name)
37  self._async_update_attrs_async_update_attrs_async_update_attrs()
38 
39  async def async_turn_on(self, **kwargs: Any) -> None:
40  """Instruct the socket to turn on."""
41  await self._device_device.turn_on(PilotBuilder())
42  await self.coordinator.async_request_refresh()
None __init__(self, WizData wiz_data, str name)
Definition: switch.py:34
None turn_on(self, **Any kwargs)
Definition: entity.py:1697
None async_setup_entry(HomeAssistant hass, WizConfigEntry entry, AddEntitiesCallback async_add_entities)
Definition: switch.py:23