Home Assistant Unofficial Reference 2024.12.1
binary_sensor.py
Go to the documentation of this file.
1 """Support for Flipr binary sensors."""
2 
3 from __future__ import annotations
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 FliprConfigEntry
14 from .entity import FliprEntity
15 
16 BINARY_SENSORS_TYPES: tuple[BinarySensorEntityDescription, ...] = (
18  key="ph_status",
19  translation_key="ph_status",
20  device_class=BinarySensorDeviceClass.PROBLEM,
21  ),
23  key="chlorine_status",
24  translation_key="chlorine_status",
25  device_class=BinarySensorDeviceClass.PROBLEM,
26  ),
27 )
28 
29 
31  hass: HomeAssistant,
32  config_entry: FliprConfigEntry,
33  async_add_entities: AddEntitiesCallback,
34 ) -> None:
35  """Defer sensor setup of flipr binary sensors."""
36 
37  coordinators = config_entry.runtime_data.flipr_coordinators
38 
40  FliprBinarySensor(coordinator, description)
41  for description in BINARY_SENSORS_TYPES
42  for coordinator in coordinators
43  )
44 
45 
47  """Representation of Flipr binary sensors."""
48 
49  @property
50  def is_on(self) -> bool:
51  """Return true if the binary sensor is on in case of a Problem is detected."""
52  return self.coordinator.data[self.entity_descriptionentity_description.key] in (
53  "TooLow",
54  "TooHigh",
55  )
None async_setup_entry(HomeAssistant hass, FliprConfigEntry config_entry, AddEntitiesCallback async_add_entities)