Home Assistant Unofficial Reference 2024.12.1
binary_sensor.py
Go to the documentation of this file.
1 """TOLO Sauna binary sensors."""
2 
4  BinarySensorDeviceClass,
5  BinarySensorEntity,
6 )
7 from homeassistant.config_entries import ConfigEntry
8 from homeassistant.const import EntityCategory
9 from homeassistant.core import HomeAssistant
10 from homeassistant.helpers.entity_platform import AddEntitiesCallback
11 
12 from .const import DOMAIN
13 from .coordinator import ToloSaunaUpdateCoordinator
14 from .entity import ToloSaunaCoordinatorEntity
15 
16 
18  hass: HomeAssistant,
19  entry: ConfigEntry,
20  async_add_entities: AddEntitiesCallback,
21 ) -> None:
22  """Set up binary sensors for TOLO Sauna."""
23  coordinator = hass.data[DOMAIN][entry.entry_id]
25  [
26  ToloFlowInBinarySensor(coordinator, entry),
27  ToloFlowOutBinarySensor(coordinator, entry),
28  ]
29  )
30 
31 
33  """Water In Valve Sensor."""
34 
35  _attr_entity_category = EntityCategory.DIAGNOSTIC
36  _attr_translation_key = "water_in_valve"
37  _attr_device_class = BinarySensorDeviceClass.OPENING
38 
39  def __init__(
40  self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry
41  ) -> None:
42  """Initialize TOLO Water In Valve entity."""
43  super().__init__(coordinator, entry)
44 
45  self._attr_unique_id_attr_unique_id = f"{entry.entry_id}_flow_in"
46 
47  @property
48  def is_on(self) -> bool:
49  """Return if flow in valve is open."""
50  return self.coordinator.data.status.flow_in
51 
52 
54  """Water Out Valve Sensor."""
55 
56  _attr_entity_category = EntityCategory.DIAGNOSTIC
57  _attr_translation_key = "water_out_valve"
58  _attr_device_class = BinarySensorDeviceClass.OPENING
59 
60  def __init__(
61  self, coordinator: ToloSaunaUpdateCoordinator, entry: ConfigEntry
62  ) -> None:
63  """Initialize TOLO Water Out Valve entity."""
64  super().__init__(coordinator, entry)
65 
66  self._attr_unique_id_attr_unique_id = f"{entry.entry_id}_flow_out"
67 
68  @property
69  def is_on(self) -> bool:
70  """Return if flow out valve is open."""
71  return self.coordinator.data.status.flow_out
None __init__(self, ToloSaunaUpdateCoordinator coordinator, ConfigEntry entry)
None __init__(self, ToloSaunaUpdateCoordinator coordinator, ConfigEntry entry)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)