Home Assistant Unofficial Reference 2024.12.1
binary_sensor.py
Go to the documentation of this file.
1 """The FiveM binary sensor platform."""
2 
3 from dataclasses import dataclass
4 
6  BinarySensorDeviceClass,
7  BinarySensorEntity,
8  BinarySensorEntityDescription,
9 )
10 from homeassistant.config_entries import ConfigEntry
11 from homeassistant.core import HomeAssistant
12 from homeassistant.helpers.entity_platform import AddEntitiesCallback
13 
14 from .const import DOMAIN, NAME_STATUS
15 from .entity import FiveMEntity, FiveMEntityDescription
16 
17 
18 @dataclass(frozen=True)
20  BinarySensorEntityDescription, FiveMEntityDescription
21 ):
22  """Describes FiveM binary sensor entity."""
23 
24 
25 BINARY_SENSORS: tuple[FiveMBinarySensorEntityDescription, ...] = (
27  key=NAME_STATUS,
28  translation_key="status",
29  device_class=BinarySensorDeviceClass.CONNECTIVITY,
30  ),
31 )
32 
33 
35  hass: HomeAssistant,
36  entry: ConfigEntry,
37  async_add_entities: AddEntitiesCallback,
38 ) -> None:
39  """Set up the FiveM binary sensor platform."""
40  coordinator = hass.data[DOMAIN][entry.entry_id]
41 
43  [FiveMSensorEntity(coordinator, description) for description in BINARY_SENSORS]
44  )
45 
46 
48  """Representation of a FiveM sensor base entity."""
49 
50  entity_description: FiveMBinarySensorEntityDescription
51 
52  @property
53  def is_on(self) -> bool:
54  """Return the state of the sensor."""
55  return self.coordinator.data[self.entity_descriptionentity_description.key]
None async_setup_entry(HomeAssistant hass, ConfigEntry entry, AddEntitiesCallback async_add_entities)