1 """Support for Alpha2 IO device battery sensors."""
4 BinarySensorDeviceClass,
13 from .const
import DOMAIN
14 from .coordinator
import Alpha2BaseCoordinator
19 config_entry: ConfigEntry,
20 async_add_entities: AddEntitiesCallback,
22 """Add Alpha2 sensor entities from a config_entry."""
24 coordinator: Alpha2BaseCoordinator = hass.data[DOMAIN][config_entry.entry_id]
28 for io_device_id, io_device
in coordinator.data[
"io_devices"].items()
29 if io_device[
"_HEATAREA_ID"]
30 and io_device[
"_HEATAREA_ID"]
in coordinator.data[
"heat_areas"]
35 CoordinatorEntity[Alpha2BaseCoordinator], BinarySensorEntity
37 """Alpha2 IO device battery binary sensor."""
39 _attr_device_class = BinarySensorDeviceClass.BATTERY
40 _attr_entity_category = EntityCategory.DIAGNOSTIC
42 def __init__(self, coordinator: Alpha2BaseCoordinator, io_device_id: str) ->
None:
43 """Initialize Alpha2IODeviceBatterySensor."""
47 io_device = self.coordinator.data[
"io_devices"][io_device_id]
48 heat_area = self.coordinator.data[
"heat_areas"][io_device[
"_HEATAREA_ID"]]
50 f
"{heat_area['HEATAREA_NAME']} IO device {io_device['NR']} battery"
55 """Return the state of the sensor."""
57 return self.coordinator.data[
"io_devices"][self.
io_device_idio_device_id][
"BATTERY"] < 2
None __init__(self, Alpha2BaseCoordinator coordinator, str io_device_id)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)