Home Assistant Unofficial Reference 2024.12.1
select.py
Go to the documentation of this file.
1 """Select entities for VoIP integration."""
2 
3 from __future__ import annotations
4 
5 from typing import TYPE_CHECKING
6 
8  AssistPipelineSelect,
9  VadSensitivitySelect,
10 )
11 from homeassistant.config_entries import ConfigEntry
12 from homeassistant.core import HomeAssistant, callback
13 from homeassistant.helpers.entity_platform import AddEntitiesCallback
14 
15 from .const import DOMAIN
16 from .devices import VoIPDevice
17 from .entity import VoIPEntity
18 
19 if TYPE_CHECKING:
20  from . import DomainData
21 
22 
24  hass: HomeAssistant,
25  config_entry: ConfigEntry,
26  async_add_entities: AddEntitiesCallback,
27 ) -> None:
28  """Set up VoIP switch entities."""
29  domain_data: DomainData = hass.data[DOMAIN]
30 
31  @callback
32  def async_add_device(device: VoIPDevice) -> None:
33  """Add device."""
35  [VoipPipelineSelect(hass, device), VoipVadSensitivitySelect(hass, device)]
36  )
37 
38  domain_data.devices.async_add_new_device_listener(async_add_device)
39 
40  entities: list[VoIPEntity] = []
41  for device in domain_data.devices:
42  entities.append(VoipPipelineSelect(hass, device))
43  entities.append(VoipVadSensitivitySelect(hass, device))
44 
45  async_add_entities(entities)
46 
47 
49  """Pipeline selector for VoIP devices."""
50 
51  def __init__(self, hass: HomeAssistant, device: VoIPDevice) -> None:
52  """Initialize a pipeline selector."""
53  VoIPEntity.__init__(self, device)
54  AssistPipelineSelect.__init__(self, hass, DOMAIN, device.voip_id)
55 
56 
58  """VAD sensitivity selector for VoIP devices."""
59 
60  def __init__(self, hass: HomeAssistant, device: VoIPDevice) -> None:
61  """Initialize a VAD sensitivity selector."""
62  VoIPEntity.__init__(self, device)
63  VadSensitivitySelect.__init__(self, hass, device.voip_id)
None __init__(self, HomeAssistant hass, VoIPDevice device)
Definition: select.py:51
None __init__(self, HomeAssistant hass, VoIPDevice device)
Definition: select.py:60
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
Definition: select.py:27