Home Assistant Unofficial Reference 2024.12.1
binary_sensor.py
Go to the documentation of this file.
1 """Binary Sensor platform for JVC Projector integration."""
2 
3 from __future__ import annotations
4 
5 from jvcprojector import const
6 
7 from homeassistant.components.binary_sensor import BinarySensorEntity
8 from homeassistant.core import HomeAssistant
9 from homeassistant.helpers.entity_platform import AddEntitiesCallback
10 
11 from . import JVCConfigEntry, JvcProjectorDataUpdateCoordinator
12 from .entity import JvcProjectorEntity
13 
14 ON_STATUS = (const.ON, const.WARMING)
15 
16 
18  hass: HomeAssistant, entry: JVCConfigEntry, async_add_entities: AddEntitiesCallback
19 ) -> None:
20  """Set up the JVC Projector platform from a config entry."""
21  coordinator = entry.runtime_data
22 
23  async_add_entities([JvcBinarySensor(coordinator)])
24 
25 
27  """The entity class for JVC Projector Binary Sensor."""
28 
29  _attr_translation_key = "jvc_power"
30 
31  def __init__(
32  self,
33  coordinator: JvcProjectorDataUpdateCoordinator,
34  ) -> None:
35  """Initialize the JVC Projector sensor."""
36  super().__init__(coordinator)
37  self._attr_unique_id_attr_unique_id_attr_unique_id = f"{coordinator.device.mac}_power"
38 
39  @property
40  def is_on(self) -> bool:
41  """Return true if the JVC is on."""
42  return self.coordinator.data["power"] in ON_STATUS
None __init__(self, JvcProjectorDataUpdateCoordinator coordinator)
None async_setup_entry(HomeAssistant hass, JVCConfigEntry entry, AddEntitiesCallback async_add_entities)