1 """Camera for the Trafikverket Camera integration."""
3 from __future__
import annotations
5 from collections.abc
import Mapping
13 from .
import TVCameraConfigEntry
14 from .const
import ATTR_DESCRIPTION, ATTR_TYPE
15 from .coordinator
import TVDataUpdateCoordinator
16 from .entity
import TrafikverketCameraEntity
21 entry: TVCameraConfigEntry,
22 async_add_entities: AddEntitiesCallback,
24 """Set up a Trafikverket Camera."""
26 coordinator = entry.runtime_data
39 """Implement Trafikverket camera."""
41 _unrecorded_attributes = frozenset({ATTR_DESCRIPTION, ATTR_LOCATION})
44 _attr_translation_key =
"tv_camera"
45 coordinator: TVDataUpdateCoordinator
49 coordinator: TVDataUpdateCoordinator,
52 """Initialize the camera."""
53 super().
__init__(coordinator, entry_id)
58 self, width: int |
None =
None, height: int |
None =
None
60 """Return camera picture."""
61 return self.coordinator.data.image
65 """Return camera on."""
66 return self.coordinator.data.data.active
is True
70 """Return additional attributes."""
72 ATTR_DESCRIPTION: self.coordinator.data.data.description,
73 ATTR_LOCATION: self.coordinator.data.data.location,
74 ATTR_TYPE: self.coordinator.data.data.camera_type,
Mapping[str, Any]|None extra_state_attributes(self)
None __init__(self, TVDataUpdateCoordinator coordinator, str entry_id)
bytes|None async_camera_image(self, int|None width=None, int|None height=None)
None async_setup_entry(HomeAssistant hass, TVCameraConfigEntry entry, AddEntitiesCallback async_add_entities)