v2.0.5
Cloud Coverage + Restore Missing v1.3.1 Sensors + Forecast Enhancements
Cloud coverage (new)
cloud_coveragesensor -- cloud coverage percentage (0-100%) derived from ARSO's 8-level cloud scale (docs): jasno (0%) → pretežno jasno (12.5%) → rahlo oblačno (25%) → delno oblačno (50%) → zmerno oblačno (62.5%) → pretežno oblačno (87.5%) → oblačno (100%)cloud_cover_textsensor -- raw Slovenian cloud text ("jasno", "delno oblačno", etc.)native_cloud_coverageproperty on the weather entity- Added missing
mostClear,slightCloudy,modCloudyicon mappings toCLOUD_CONDITION_MAP-- previously these observationAms-only icons resolved to"unknown"condition
New ArsoForecastSensor class
New sensor class that reads from forecast1h/forecast3h instead of observation data. Enables forecast-only fields for all 247 stations, including secondary stations that lack observationAms data.
| Sensor | Key | Unit | Description |
|---|---|---|---|
| Višina oblakov | cloud_base_text |
-- | Cloud base height ("nizka", "srednja", "visoka") |
| Napovedan sneg | accumulated_snow_mm |
mm | Forecast snowfall (water equivalent) |
| Napoveden dež | accumulated_precipitation_mm |
mm | Forecast precipitation |
The forecast precipitation sensor restores functionality for ~140 secondary stations that lost their precipitation sensor in the v2.0 rewrite.
Weather entity forecast enhancements
All three forecast types (hourly, daily, twice-daily) now include:
native_wind_gust_speed-- wind gust speed (km/h)cloud_coverage-- cloud coverage percentage (0-100%)snow_precipitation-- snowfall in mm (hourly + twice-daily; not available for daily as ARSO does not providesn_24h_acc)
Data integrity
- Observation sensors always show real observation data -- the forecast3h fallback in
_build_observation_proxy()exists as safety net only and does not trigger under normal conditions (verified: all 247 locations always return theobservationkey) - Forecast sensors are explicitly labeled ("Napovedan sneg", "Napoveden dež") with a
forecast_timeattribute instead oflast_updated - Cloud condition fields are protected from observationAms overwrite during merge
Changes
models.py:cloud_coveragecomputed field (8-level ARSO scale)weather_map.py: 3 text + 6 icon condition mappings for intermediate cloud levelsweather.py:native_cloud_coverageproperty + wind gust/cloud/snow in all forecastssensor.py:ArsoForecastSensorclass, 4 new sensor descriptions (1 observation + 3 forecast)- Bump version to 2.0.5