1 """Select entities for VoIP integration."""
3 from __future__
import annotations
5 from typing
import TYPE_CHECKING
15 from .const
import DOMAIN
16 from .devices
import VoIPDevice
17 from .entity
import VoIPEntity
20 from .
import DomainData
25 config_entry: ConfigEntry,
26 async_add_entities: AddEntitiesCallback,
28 """Set up VoIP switch entities."""
29 domain_data: DomainData = hass.data[DOMAIN]
32 def async_add_device(device: VoIPDevice) ->
None:
38 domain_data.devices.async_add_new_device_listener(async_add_device)
40 entities: list[VoIPEntity] = []
41 for device
in domain_data.devices:
49 """Pipeline selector for VoIP devices."""
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)
58 """VAD sensitivity selector for VoIP devices."""
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)
None __init__(self, HomeAssistant hass, VoIPDevice device)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)