mirror of
https://github.com/jdejaegh/irm-kmi-ha.git
synced 2025-06-27 11:39:26 +02:00
35 lines
1.1 KiB
Python
35 lines
1.1 KiB
Python
"""Data classes related to radar forecast for IRM KMI integration"""
|
|
# This file was needed to avoid circular import with rain_graph.py and data.py
|
|
from datetime import datetime
|
|
from typing import TypedDict, List
|
|
|
|
from homeassistant.components.weather import Forecast
|
|
|
|
|
|
class IrmKmiRadarForecast(Forecast):
|
|
"""Forecast class to handle rain forecast from the IRM KMI rain radar"""
|
|
rain_forecast_max: float
|
|
rain_forecast_min: float
|
|
might_rain: bool
|
|
unit: str | None
|
|
|
|
|
|
class AnimationFrameData(TypedDict, total=False):
|
|
"""Holds one single frame of the radar camera, along with the timestamp of the frame"""
|
|
time: datetime | None
|
|
image: bytes | str | None
|
|
value: float | None
|
|
position: float | None
|
|
position_higher: float | None
|
|
position_lower: float | None
|
|
|
|
|
|
class RadarAnimationData(TypedDict, total=False):
|
|
"""Holds frames and additional data for the animation to be rendered"""
|
|
sequence: List[AnimationFrameData] | None
|
|
most_recent_image_idx: int | None
|
|
hint: str | None
|
|
unit: str | None
|
|
location: bytes | str | None
|
|
svg_still: bytes | None
|
|
svg_animated: bytes | None
|