1 """Support for Envisalink sensors (shows panel info)."""
3 from __future__
import annotations
18 SIGNAL_PARTITION_UPDATE,
20 from .entity
import EnvisalinkEntity
22 _LOGGER = logging.getLogger(__name__)
28 async_add_entities: AddEntitiesCallback,
29 discovery_info: DiscoveryInfoType |
None =
None,
31 """Perform the setup for Envisalink sensor entities."""
32 if not discovery_info:
34 configured_partitions = discovery_info[
"partitions"]
37 for part_num
in configured_partitions:
41 entity_config_data[CONF_PARTITIONNAME],
43 hass.data[DATA_EVL].alarm_state[
"partition"][part_num],
47 entities.append(entity)
53 """Representation of an Envisalink keypad."""
55 def __init__(self, hass, partition_name, partition_number, info, controller):
56 """Initialize the sensor."""
60 _LOGGER.debug(
"Setting up sensor for partition: %s", partition_name)
61 super().
__init__(f
"{partition_name} Keypad", info, controller)
64 """Register callbacks."""
78 """Return the icon if any."""
79 return self.
_icon_icon
83 """Return the overall state."""
84 return self.
_info_info[
"status"][
"alpha"]
88 """Return the state attributes."""
89 return self.
_info_info[
"status"]
93 """Update the partition state in HA, if needed."""
def __init__(self, hass, partition_name, partition_number, info, controller)
def async_update_callback(self, partition)
def extra_state_attributes(self)
None async_added_to_hass(self)
None async_write_ha_state(self)
None async_on_remove(self, CALLBACK_TYPE func)
None async_setup_platform(HomeAssistant hass, ConfigType config, AddEntitiesCallback async_add_entities, DiscoveryInfoType|None discovery_info=None)
Callable[[], None] async_dispatcher_connect(HomeAssistant hass, str signal, Callable[..., Any] target)