1 """Binary sensor for VoIP."""
3 from __future__
import annotations
5 from typing
import TYPE_CHECKING
9 BinarySensorEntityDescription,
16 from .const
import DOMAIN
17 from .devices
import VoIPDevice
18 from .entity
import VoIPEntity
21 from .
import DomainData
26 config_entry: ConfigEntry,
27 async_add_entities: AddEntitiesCallback,
29 """Set up VoIP binary sensor entities."""
30 domain_data: DomainData = hass.data[DOMAIN]
33 def async_add_device(device: VoIPDevice) ->
None:
37 domain_data.devices.async_add_new_device_listener(async_add_device)
43 """Entity to represent voip call is in progress."""
46 entity_registry_enabled_default=
False,
47 key=
"call_in_progress",
48 translation_key=
"call_in_progress",
53 """Call when entity about to be added to hass."""
63 ir.async_create_issue(
66 f
"assist_in_progress_deprecated_{self.registry_entry.id}",
67 breaks_in_ha_version=
"2025.4",
71 "integration_name":
"VoIP",
74 severity=ir.IssueSeverity.WARNING,
75 translation_key=
"assist_in_progress_deprecated",
76 translation_placeholders={
77 "integration_name":
"VoIP",
86 ir.async_delete_issue(
89 f
"assist_in_progress_deprecated_{self.registry_entry.id}",
94 """Call when active state changed."""
None async_will_remove_from_hass(self)
None _is_active_changed(self, VoIPDevice device)
None async_added_to_hass(self)
None async_write_ha_state(self)
None async_on_remove(self, CALLBACK_TYPE func)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)