1 """VoIP switch entities."""
3 from __future__
import annotations
5 from typing
import TYPE_CHECKING, Any
14 from .const
import DOMAIN
15 from .devices
import VoIPDevice
16 from .entity
import VoIPEntity
19 from .
import DomainData
24 config_entry: ConfigEntry,
25 async_add_entities: AddEntitiesCallback,
27 """Set up VoIP switch entities."""
28 domain_data: DomainData = hass.data[DOMAIN]
31 def async_add_device(device: VoIPDevice) ->
None:
35 domain_data.devices.async_add_new_device_listener(async_add_device)
43 """Entity to represent voip is allowed."""
47 translation_key=
"allow_call",
48 entity_category=EntityCategory.CONFIG,
52 """Call when entity about to be added to hass."""
55 state = await self.async_get_last_state()
56 self.
_attr_is_on_attr_is_on = state
is not None and state.state == STATE_ON
None async_turn_off(self, **Any kwargs)
None async_turn_on(self, **Any kwargs)
None async_added_to_hass(self)
None async_write_ha_state(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)