1 """Select entities for Wyoming integration."""
3 from __future__
import annotations
5 from typing
import TYPE_CHECKING, Final
19 from .const
import DOMAIN
20 from .devices
import SatelliteDevice
21 from .entity
import WyomingSatelliteEntity
24 from .models
import DomainDataItem
26 _NOISE_SUPPRESSION_LEVEL: Final = {
33 _DEFAULT_NOISE_SUPPRESSION_LEVEL: Final =
"off"
38 config_entry: ConfigEntry,
39 async_add_entities: AddEntitiesCallback,
41 """Set up Wyoming select entities."""
42 item: DomainDataItem = hass.data[DOMAIN][config_entry.entry_id]
45 assert item.device
is not None
57 """Pipeline selector for Wyoming satellites."""
59 def __init__(self, hass: HomeAssistant, device: SatelliteDevice) ->
None:
60 """Initialize a pipeline selector."""
63 WyomingSatelliteEntity.__init__(self, device)
64 AssistPipelineSelect.__init__(self, hass, DOMAIN, device.satellite_id)
67 """Select an option."""
69 self.
devicedevice.set_pipeline_name(option)
73 WyomingSatelliteEntity, SelectEntity, restore_state.RestoreEntity
75 """Entity to represent noise suppression level setting."""
78 key=
"noise_suppression_level",
79 translation_key=
"noise_suppression_level",
80 entity_category=EntityCategory.CONFIG,
82 _attr_should_poll =
False
83 _attr_current_option = _DEFAULT_NOISE_SUPPRESSION_LEVEL
84 _attr_options =
list(_NOISE_SUPPRESSION_LEVEL.keys())
87 """When entity is added to Home Assistant."""
90 state = await self.async_get_last_state()
91 if state
is not None and state.state
in self.
optionsoptions:
95 """Select an option."""
98 self.
_device_device.set_noise_suppression_level(_NOISE_SUPPRESSION_LEVEL[option])
102 WyomingSatelliteEntity, VadSensitivitySelect
104 """VAD sensitivity selector for Wyoming satellites."""
106 def __init__(self, hass: HomeAssistant, device: SatelliteDevice) ->
None:
107 """Initialize a VAD sensitivity selector."""
110 WyomingSatelliteEntity.__init__(self, device)
111 VadSensitivitySelect.__init__(self, hass, device.satellite_id)
114 """Select an option."""
None async_added_to_hass(self)
None async_select_option(self, str option)
None __init__(self, HomeAssistant hass, SatelliteDevice device)
None async_select_option(self, str option)
None async_select_option(self, str option)
None __init__(self, HomeAssistant hass, SatelliteDevice device)
None async_write_ha_state(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)