Files
jardin/backend/app/models/meteo.py
2026-02-22 18:34:50 +01:00

39 lines
1.5 KiB
Python

from typing import Optional
from sqlmodel import Field, SQLModel
class MeteoStation(SQLModel, table=True):
"""Données collectées depuis la station WeeWX locale."""
__tablename__ = "meteostation"
date_heure: str = Field(primary_key=True) # "2026-02-22T14:00"
type: str = "current" # "current" | "veille"
temp_ext: Optional[float] = None # °C extérieur
t_min: Optional[float] = None # résumé journée (NOAA)
t_max: Optional[float] = None # résumé journée (NOAA)
temp_int: Optional[float] = None # °C intérieur (serre)
humidite: Optional[float] = None # %
pression: Optional[float] = None # hPa
pluie_mm: Optional[float] = None # précipitations
vent_kmh: Optional[float] = None
vent_dir: Optional[str] = None # N/NE/E/SE/S/SO/O/NO
uv: Optional[float] = None
solaire: Optional[float] = None # W/m²
class MeteoOpenMeteo(SQLModel, table=True):
"""Prévisions journalières Open-Meteo."""
__tablename__ = "meteoopenmeteo"
date: str = Field(primary_key=True) # "2026-02-22"
t_min: Optional[float] = None
t_max: Optional[float] = None
pluie_mm: Optional[float] = None
vent_kmh: Optional[float] = None
wmo: Optional[int] = None
label: Optional[str] = None
humidite_moy: Optional[float] = None
sol_0cm: Optional[float] = None # temp sol surface
etp_mm: Optional[float] = None # évapotranspiration
fetched_at: Optional[str] = None