Home Assistant Unofficial Reference 2024.12.1
binary_sensor.py
Go to the documentation of this file.
1 """Support for Vera binary sensors."""
2 
3 from __future__ import annotations
4 
5 import pyvera as veraApi
6 
7 from homeassistant.components.binary_sensor import ENTITY_ID_FORMAT, BinarySensorEntity
8 from homeassistant.config_entries import ConfigEntry
9 from homeassistant.const import Platform
10 from homeassistant.core import HomeAssistant
11 from homeassistant.helpers.entity_platform import AddEntitiesCallback
12 
13 from .common import ControllerData, get_controller_data
14 from .entity import VeraEntity
15 
16 
18  hass: HomeAssistant,
19  entry: ConfigEntry,
20  async_add_entities: AddEntitiesCallback,
21 ) -> None:
22  """Set up the sensor config entry."""
23  controller_data = get_controller_data(hass, entry)
25  [
26  VeraBinarySensor(device, controller_data)
27  for device in controller_data.devices[Platform.BINARY_SENSOR]
28  ],
29  True,
30  )
31 
32 
33 class VeraBinarySensor(VeraEntity[veraApi.VeraBinarySensor], BinarySensorEntity):
34  """Representation of a Vera Binary Sensor."""
35 
36  _attr_is_on = False
37 
38  def __init__(
39  self, vera_device: veraApi.VeraBinarySensor, controller_data: ControllerData
40  ) -> None:
41  """Initialize the binary_sensor."""
42  VeraEntity.__init__(self, vera_device, controller_data)
43  self.entity_identity_identity_id = ENTITY_ID_FORMAT.format(self.vera_id)
44 
45  def update(self) -> None:
46  """Get the latest data and update the state."""
47  super().update()
48  self._attr_is_on_attr_is_on_attr_is_on = self.vera_device.is_tripped
None __init__(self, veraApi.VeraBinarySensor vera_device, ControllerData controller_data)
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)
ControllerData get_controller_data(HomeAssistant hass, ConfigEntry config_entry)
Definition: common.py:40