1 """Support for the Environment Canada radar imagery."""
3 from __future__
import annotations
5 import voluptuous
as vol
12 async_get_current_platform,
17 from .
import device_info
18 from .const
import ATTR_OBSERVATION_TIME, DOMAIN
20 SERVICE_SET_RADAR_TYPE =
"set_radar_type"
21 SET_RADAR_TYPE_SCHEMA: VolDictType = {
22 vol.Required(
"radar_type"): vol.In([
"Auto",
"Rain",
"Snow"]),
28 config_entry: ConfigEntry,
29 async_add_entities: AddEntitiesCallback,
31 """Add a weather entity from a config_entry."""
32 coordinator = hass.data[DOMAIN][config_entry.entry_id][
"radar_coordinator"]
36 platform.async_register_entity_service(
37 SERVICE_SET_RADAR_TYPE,
38 SET_RADAR_TYPE_SCHEMA,
39 "async_set_radar_type",
44 """Implementation of an Environment Canada radar camera."""
46 _attr_has_entity_name =
True
47 _attr_translation_key =
"radar"
50 """Initialize the camera."""
55 self.
_attr_unique_id_attr_unique_id = f
"{coordinator.config_entry.unique_id}-radar"
63 self, width: int |
None =
None, height: int |
None =
None
65 """Return bytes of camera image."""
67 ATTR_OBSERVATION_TIME: self.
radar_objectradar_object.timestamp,
72 """Set the type of radar to retrieve."""
73 self.
radar_objectradar_object.precip_type = radar_type.lower()
_attr_extra_state_attributes
def async_set_radar_type(self, str radar_type)
bytes|None camera_image(self, int|None width=None, int|None height=None)
_attr_entity_registry_enabled_default
def __init__(self, coordinator)
DeviceInfo|None device_info(self)
None async_setup_entry(HomeAssistant hass, ConfigEntry config_entry, AddEntitiesCallback async_add_entities)
IssData update(pyiss.ISS iss)