1 """Binary sensor platform for Trafikverket Camera integration."""
3 from __future__
import annotations
5 from collections.abc
import Callable
6 from dataclasses
import dataclass
10 BinarySensorEntityDescription,
15 from .
import TVCameraConfigEntry
16 from .coordinator
import CameraData
17 from .entity
import TrafikverketCameraNonCameraEntity
22 @dataclass(frozen=True, kw_only=True)
24 """Describes Trafikverket Camera binary sensor entity."""
26 value_fn: Callable[[CameraData], bool |
None]
31 translation_key=
"active",
32 value_fn=
lambda data: data.data.active,
38 entry: TVCameraConfigEntry,
39 async_add_entities: AddEntitiesCallback,
41 """Set up Trafikverket Camera binary sensor platform."""
43 coordinator = entry.runtime_data
47 coordinator, entry.entry_id, BINARY_SENSOR_TYPE
54 TrafikverketCameraNonCameraEntity, BinarySensorEntity
56 """Representation of a Trafikverket Camera binary sensor."""
58 entity_description: TVCameraSensorEntityDescription
None async_setup_entry(HomeAssistant hass, TVCameraConfigEntry entry, AddEntitiesCallback async_add_entities)