Home Assistant Unofficial Reference 2024.12.1
binary_sensor.py
Go to the documentation of this file.
1 """BleBox binary sensor entities."""
2 
3 from blebox_uniapi.binary_sensor import BinarySensor as BinarySensorFeature
4 
6  BinarySensorDeviceClass,
7  BinarySensorEntity,
8  BinarySensorEntityDescription,
9 )
10 from homeassistant.core import HomeAssistant
11 from homeassistant.helpers.entity_platform import AddEntitiesCallback
12 
13 from . import BleBoxConfigEntry
14 from .entity import BleBoxEntity
15 
16 BINARY_SENSOR_TYPES = (
18  key="moisture",
19  device_class=BinarySensorDeviceClass.MOISTURE,
20  ),
21 )
22 
23 
25  hass: HomeAssistant,
26  config_entry: BleBoxConfigEntry,
27  async_add_entities: AddEntitiesCallback,
28 ) -> None:
29  """Set up a BleBox entry."""
30  entities = [
31  BleBoxBinarySensorEntity(feature, description)
32  for feature in config_entry.runtime_data.features.get("binary_sensors", [])
33  for description in BINARY_SENSOR_TYPES
34  if description.key == feature.device_class
35  ]
36  async_add_entities(entities, True)
37 
38 
39 class BleBoxBinarySensorEntity(BleBoxEntity[BinarySensorFeature], BinarySensorEntity):
40  """Representation of a BleBox binary sensor feature."""
41 
42  def __init__(
43  self, feature: BinarySensorFeature, description: BinarySensorEntityDescription
44  ) -> None:
45  """Initialize a BleBox binary sensor feature."""
46  super().__init__(feature)
47  self.entity_descriptionentity_description = description
48 
49  @property
50  def is_on(self) -> bool:
51  """Return the state."""
52  return self._feature.state
None __init__(self, BinarySensorFeature feature, BinarySensorEntityDescription description)
None async_setup_entry(HomeAssistant hass, BleBoxConfigEntry config_entry, AddEntitiesCallback async_add_entities)