Skip to content

Releases: kmich/ha_ws_core

v1.3.2 - Rain display translations + French polish

19 May 05:16

Choose a tag to compare

What's New

Bug Fixes

  • Rain display state now translatablesensor.ws_rain_display was returning dynamic strings like "Heavy (3.5 mm/h)" which can't be used as translation keys. The state now returns translatable keys (dry, drizzle, light, moderate, heavy); the numeric rain rate is still available in the rain_rate attribute. French translations included. Reported by @Benjamin45590.

Improvements

  • French translation polish — 12 wording improvements contributed by @Benjamin45590 (PR #11): clearer descriptions for the location, forecast, and features config steps; improved Zambretti state labels; "Pluie du jour" instead of "Pluie aujourd'hui"; fog and thunderstorm risk labels shortened; pollen none changed to "Aucun"; feature switch names updated.

v1.3.1 - Sensor state translations

18 May 18:48

Choose a tag to compare

What's new

  • Sensor state translations - all string-state sensors now display translated values. 11 sensors covered:
    • Current Condition (29 states) - e.g. "sunny" -> "Ensoleillé" in French
    • Zambretti Forecast (25 phrases) - e.g. "Settled fine" -> "Beau temps stable"
    • Pressure Trend - Rising Rapidly / Rising / Steady / Falling / Falling Rapidly
    • Alert State - Clear / Advisory / Warning
    • Station Health - Online / Degraded / Stale / Offline
    • Humidity Level - Very Humid through Very Dry
    • UV Level - None / Low / Moderate / High / Very High / Extreme
    • Pollen Level - None through Very High
    • Forecast Agreement - Aligned / Diverging / Conflict
    • Sensor Drift and Sensor Consistency - OK / Warning

French translations included for all states. Thanks to @Benjamin45590 for reporting this and for all his contributions - the French translation overhaul (v1.2.2), the Météo France provider (v1.3.0), and this bug report. Merci beaucoup!

Upgrade notes

No breaking changes. Entity IDs and state values are unchanged - translations only affect the display label shown in the UI.

v1.3.0

18 May 17:07

Choose a tag to compare

What's new

  • Météo France forecast provider - adds Météo France via the Météo Concept API as a 6th provider option. Free tier available, API key required. Full 7-day daily and 24-hour hourly forecasts with WMO weathercode mapping. Select it in the config/options flow under Forecast Provider.

Upgrade notes

No breaking changes. Existing installations continue using their configured provider unchanged.

Thanks

Contributed by @Benjamin45590.

Full Changelog: v1.2.3...v1.3.0

v1.2.3

18 May 16:48

Choose a tag to compare

What's changed

  • Switch, number, select, and binary sensor names now translatable - all non-sensor entity types (feature toggles, config numbers, graph range select, package OK binary sensor) were still using hardcoded English names. Wired up has_entity_name = True and translation_key on all four entity classes so names render in the user's language. French translations included (closes #8).

Upgrade notes

No breaking changes. Entity IDs are unchanged. After updating, entity display names will reflect your HA language setting.

Full Changelog: v1.2.2...v1.2.3

v1.2.2

18 May 16:21

Choose a tag to compare

Improvements

French translation polish (thanks @Benjamin45590, PR #7)

16 copy improvements from a native speaker:

  • Illuminance -> Eclairement (correct French physical quantity term)
  • Paquetage OK -> Paquet OK
  • Missing grammatical articles added throughout (de la, des, du)
  • Contribution du vent -> Influence du vent
  • En train de pleuvoir -> Il pleut
  • Temperature de mer -> Temperature de surface de la mer
  • Various phrasing improvements for naturalness

Full changelog: https://github.com/kmich/ha_ws_core/blob/main/CHANGELOG.md

Full Changelog: v1.2.1...v1.2.2

v1.2.1

18 May 12:35

Choose a tag to compare

Bug fixes

Entity attribute labels are now translatable (closes #6)

All entity attribute labels (the keys shown next to values in the HA UI) are now translated through HA's state_attributes mechanism. This means French users (and future locale users) will see labels like "Pression au niveau de la mer" instead of mslp_hpa, "Niveau de danger" instead of danger_level, and so on.

As part of this fix, hardcoded English metadata strings that were embedded as attribute values (method: "Hargreaves-Samani 1985", disclaimer: "NOT suitable for...", scale: "0-50 Good...", etc.) have been removed — these were developer-documentation noise that could never be localised through HA's translation mechanism and didn't add value in the UI.

Affected sensors: all 43 sensors that expose extra state attributes.

README overhaul

  • Added Forecast Provider section documenting all 5 providers, NWS US-only caveat, and the provider contribution guide
  • Corrected sensor count (50+ → 80+)
  • Added missing sensors to tables: ws_rain_today, ws_no2, ws_ozone, ws_forecast_agreement
  • Fixed translations note: English and French ship out of the box; community translations welcome
  • Updated troubleshooting entry for forecast unavailability to cover API key errors

Full changelog: https://github.com/kmich/ha_ws_core/blob/main/CHANGELOG.md

Full Changelog: v1.2.0...v1.2.1

v1.2.0

18 May 12:12

Choose a tag to compare

What's New

Pluggable Forecast Provider

sensor.ws_forecast_daily and all NWP-derived sensors now use a swappable provider. Select it in the config/options flow (Configure button on existing installs, or during the forecast step on a fresh install).

Built-in providers:

Provider Free API Key Notes
Open-Meteo (default) Global coverage
Met.no Strong European coverage
NWS/NOAA US only
OpenWeatherMap ✅* One Call 3.0 API
Pirate Weather ✅* Dark Sky-compatible API

*Free tier available with registration.

Existing installs default to Open-Meteo automatically — no config changes needed.

For contributors: Adding a new provider requires only one new Python file (subclass ForecastProvider) and one line in providers/__init__.py. See custom_components/ws_core/providers/base.py for the interface.

Nowcast Correction (0–3 h) — Now Actually Applied

Local station readings now blend into the first three hourly forecast slots with tapering weights (70% local at h+0, 40% at h+1, 10% at h+2, pure NWP from h+3). Blended fields: temperature, humidity, wind speed, dew point. Previously documented but never implemented.

New Sensors

  • sensor.ws_no2 — Nitrogen dioxide (µg/m³), diagnostic, requires Air Quality toggle
  • sensor.ws_ozone — Ozone (µg/m³), diagnostic, requires Air Quality toggle
  • sensor.ws_rain_today — Today's accumulated rainfall, resets at local midnight

Full changelog: https://github.com/kmich/ha_ws_core/blob/main/CHANGELOG.md

Full Changelog: v1.1.1...v1.2.0

v1.1.1

18 May 11:01

Choose a tag to compare

Bug Fix

  • All 82 sensor names are now translatable — sensors use HA's translation_key + has_entity_name mechanism. When HA's language is set to French, sensor names display in French (e.g. Température, Humidité, Point de rosée). English and French included out of the box; other translators can now contribute additional languages. Entity IDs are unchanged — no automations or dashboards break. (closes #4, thanks @Benjamin45590)

Upgrading

HACS update → restart HA. Entity IDs stay the same; only display names change.

Full Changelog: v1.1.0...v1.1.1

v1.1.0

18 May 06:58

Choose a tag to compare

What's New

New Features

  • Full Canadian FWI system — complete Van Wagner (1987) implementation: FFMC, DMC, DC daily moisture codes with persistent carry-over across HA restarts, ISI, BUI, FWI, DSR. Replaces the previous simplified heuristic. sensor.ws_fire_risk_score maps real FWI to a 1–10 danger scale; seven sub-index sensors available (disabled by default).
  • Nowcast correction (0–3h) — local station readings blend into the first three hourly forecast slots using tapering weights (70% local at hour 0, pure NWP by hour 3).
  • Adaptive rain probabilitysensor.ws_rain_probability_combined uses rolling 90-day Brier-score weights that learn which source has been more accurate.
  • Forecast agreement sensorsensor.ws_forecast_agreement compares Zambretti Z-number implied rain likelihood to Open-Meteo precip_prob; states: aligned, diverging, conflict.
  • French translation — complete fr.json covering config flow, options flow, entity names, and issues (thanks @Benjamin45590).

Bug Fixes

  • Configure button 500 error on HA 2024.3+async_get_options_flow updated to @classmethod + @callback (thanks @miczu71, PR #2).
  • AQI level attribute always NoneKEY_AQI_LEVEL was never written to the coordinator data dict; now populated correctly.
  • Moon phase attribute always None — moon phase was stored under a private key but sensor read the public key; keys aligned.
  • Staleness timeout selector rejected default — selector max was 3,600 s but default is 7,200 s; raised to 86,400 s (24 h).
  • enable_fog shown as raw key in config flow — translation key mismatched the const; now aligned.
  • 10 additional string/key audit fixes — orphaned translation keys, missing switch entity entries, missing data descriptions.

Upgrading

HACS update → restart HA. No configuration changes required; existing installs carry forward automatically.

Full Changelog: v1.0.0...v1.1.0

v1.0.0

18 May 06:41

Choose a tag to compare

Weather Station Core v1.0.0

Initial public release.

Highlights

  • Real Zambretti barometric forecaster — Negretti & Zambra lookup table (Z-numbers 1–26), climate-region-aware wind corrections, seasonal adjustment
  • Wet-bulb temperature (Stull 2011), frost point (Buck 1981), apparent temperature (Australian BOM/Steadman)
  • Full Canadian FWI system — complete Van Wagner (1987) implementation: FFMC, DMC, DC daily moisture codes with persistent carry-over, ISI, BUI, FWI, DSR. sensor.ws_fire_risk_score maps real FWI to a 1–10 danger scale. Seven sub-index sensors available (disabled by default)
  • Nowcast correction (0–3h) — local station readings blend into the first three hourly forecast slots using tapering weights (70% local at hour 0, pure NWP by hour 3)
  • Adaptive rain probability — Brier-score-derived blend weights learn which source (local sensors vs Open-Meteo) has been more accurate over a rolling 90-day window
  • Forecast agreement sensor — compares Zambretti implied rain likelihood to Open-Meteo precip probability; states: aligned, diverging, conflict
  • Kalman-filtered rain rate for de-noised precipitation readings
  • 36-condition weather classifier with severity levels and MDI icons
  • Fog probability and thunderstorm risk surface heuristics
  • Streak counters — consecutive dry, heat, and frost days
  • ET₀ evapotranspiration — Hargreaves-Samani 1985; upgrades to FAO-56 Penman-Monteith when solar radiation sensor is mapped
  • 7-day forecast via Open-Meteo (free, no API key)
  • Air quality, pollen, moon phase, solar PV forecast, sea surface temperature — all optional, all free
  • Config entities on device page — all thresholds, calibration offsets, and feature toggles as number and switch entities
  • Guided 8-step config flow, no YAML required
  • Full HACS dashboard (Weather + Advanced views) included
  • French translation (thanks @Benjamin45590)

Bug fixes

  • Configure button no longer throws 500 error on HA 2024.3+ (async_get_options_flow signature fix, thanks @miczu71)

Full Changelog: https://github.com/kmich/ha_ws_core/commits/v1.0.0

What's Changed

New Contributors

Full Changelog: https://github.com/kmich/ha_ws_core/commits/v1.0.0