1 """Elmax sensor platform."""
3 from __future__
import annotations
5 from elmax_api.model.panel
import PanelStatus
8 BinarySensorDeviceClass,
15 from .const
import DOMAIN
16 from .coordinator
import ElmaxCoordinator
17 from .entity
import ElmaxEntity
22 config_entry: ConfigEntry,
23 async_add_entities: AddEntitiesCallback,
25 """Set up the Elmax sensor platform."""
26 coordinator: ElmaxCoordinator = hass.data[DOMAIN][config_entry.entry_id]
29 def _discover_new_devices():
30 panel_status: PanelStatus = coordinator.data
32 if panel_status
is None:
37 for zone
in panel_status.zones:
39 if zone.endpoint_id
in known_devices:
43 panel_version=panel_status.release,
44 coordinator=coordinator,
46 entities.append(entity)
50 known_devices.update([e.unique_id
for e
in entities])
53 remove_handle = coordinator.async_add_listener(_discover_new_devices)
54 config_entry.async_on_unload(remove_handle)
57 _discover_new_devices()
61 """Elmax Sensor entity implementation."""
63 _attr_device_class = BinarySensorDeviceClass.DOOR
67 """Return true if the binary sensor is on."""
Actuator get_zone_state(self, str zone_id)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)