Home Assistant Unofficial Reference 2024.12.1
binary_sensor.py
Go to the documentation of this file.
1 """Support for Plaato Airlock sensors."""
2 
3 from __future__ import annotations
4 
5 from pyplaato.plaato import PlaatoKeg
6 
8  BinarySensorDeviceClass,
9  BinarySensorEntity,
10 )
11 from homeassistant.config_entries import ConfigEntry
12 from homeassistant.core import HomeAssistant
13 from homeassistant.helpers.entity_platform import AddEntitiesCallback
14 
15 from .const import CONF_USE_WEBHOOK, COORDINATOR, DOMAIN
16 from .entity import PlaatoEntity
17 
18 
20  hass: HomeAssistant,
21  config_entry: ConfigEntry,
22  async_add_entities: AddEntitiesCallback,
23 ) -> None:
24  """Set up Plaato from a config entry."""
25 
26  if config_entry.data[CONF_USE_WEBHOOK]:
27  return
28 
29  coordinator = hass.data[DOMAIN][config_entry.entry_id][COORDINATOR]
32  hass.data[DOMAIN][config_entry.entry_id],
33  sensor_type,
34  coordinator,
35  )
36  for sensor_type in coordinator.data.binary_sensors
37  )
38 
39 
41  """Representation of a Binary Sensor."""
42 
43  def __init__(self, data, sensor_type, coordinator=None) -> None:
44  """Initialize plaato binary sensor."""
45  super().__init__(data, sensor_type, coordinator)
46  if sensor_type is PlaatoKeg.Pins.LEAK_DETECTION:
47  self._attr_device_class_attr_device_class = BinarySensorDeviceClass.PROBLEM
48  elif sensor_type is PlaatoKeg.Pins.POURING:
49  self._attr_device_class_attr_device_class = BinarySensorDeviceClass.OPENING
50 
51  @property
52  def is_on(self):
53  """Return true if the binary sensor is on."""
54  if self._coordinator_coordinator is not None:
55  return self._coordinator_coordinator.data.binary_sensors.get(self._sensor_type_sensor_type)
56  return False
None __init__(self, data, sensor_type, coordinator=None)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)