The Intelligence Layer for your Home Assistant Weather Station.
Turn any weather station into a complete weather intelligence system: local forecasting, precipitation nowcasting, fire danger, irrigation, lightning detection, and data quality. 50+ derived sensors out of the box, 150+ with every optional feature enabled. Fully local-capable. No API keys required for core features.
- Never Get Caught in the Rain: Uses your live rain gauge to correct cloud forecasts, giving you a countdown to the minute the rain starts (
sensor.ws_minutes_until_rain). - Stop the Sprinklers Precisely: Calculates exact Evapotranspiration (ET0) so your smart irrigation system knows exactly how much water the lawn actually needs.
- Offline Zambretti Forecast: Predicts the next 12 hours based purely on your local barometric pressure trends, even if the internet goes down.
- Automate Everything: Includes 10 ready-to-use blueprints for TTS alerts, freeze warnings, irrigation skips, lightning safety, and high-wind awning retraction.
If your station is in Home Assistant, it works with ws_core.
It is tested heavily with Ecowitt, WeatherFlow Tempest, Ambient Weather, Davis Instruments, Netatmo, and local MQTT sensors. All you need are standard sensors like temperature, humidity, pressure, and wind.
- Open HACS in your Home Assistant sidebar.
- Go to Integrations โ โฎ โ Custom repositories.
- Add
https://github.com/kmich/ha_ws_coreas an Integration. - Search for "Weather Station Core", install, and restart Home Assistant.
Go to Settings โ Devices & Services โ Add Integration and search for "Weather Station Core". The setup wizard asks you to map 7 basic sensors:
- Temperature, Humidity, Absolute Pressure, Wind Speed, Wind Gust, Wind Direction, Rain Total
That's it! After the wizard completes, 50+ derived sensors appear automatically. Enable additional features like fire danger or nowcasting via the Configure button on the integration.
ws_core comes with drop-in, premium Lovelace dashboards for your data.
| Mobile View | Desktop View |
|---|---|
![]() |
![]() |
Check out the dashboards/ directory for the YAML code. We provide:
- A
vanilladashboard using only native HA cards. - An
enhanceddashboard using popular custom cards (mini-graph-card,mushroom). - Ready-to-use gauge presets with sensible severity color bands.
Don't reinvent the wheel. We've included import-ready blueprints to automate your home based on your local weather:
- Rain Start Warning: Announce over TTS or send a push notification when rain is expected in the next few minutes.
- Freeze Warning: Trigger actions when the temperature drops below freezing.
- High Wind Gusts: Automatically retract your awnings or close the blinds when a high gust is recorded.
- Heat Stress / UTCI: Notify when outdoor conditions become dangerous for work or exercise.
- Poor Air Quality: Close the windows and turn on the air purifiers when PM2.5 spikes.
Behind the scenes, ws_core implements rigorous meteorological and scientific algorithms to derive the most accurate insights from your station's data:
- UTCI & WBGT: The gold-standard heat-stress indices used by the WHO.
- Three Fire Danger Systems: Canadian FWI, Australian McArthur FFDI, and US Fosberg FFWI.
- Stull Wet Bulb & Buck Frost Point: Precise derivations with ice-constant handling.
- Nowcast Ground-Truth Blending: Combines Open-Meteo 15-minute grids with your live rain gauge data (70% local / 30% NWP) for the best short-term prediction.
- Network Uploads: Syncs to 8 networks simultaneously (WUnderground, Weathercloud, PWSWeather, WOW, AWEKAS, CWOP, OWM, Windy).
- Adaptive Rain Probability: Learns over a rolling 90-day window whether the local heuristics or the NWP forecasts have been more accurate.
- Localized UI & Sensors: The setup wizard (including the hemisphere and climate-region pickers) and the human-readable sensors (conditions summary, alert message, frost risk) follow your Home Assistant language, with English, French, German, Spanish, Italian, Dutch, Polish, and Portuguese built in.
For the math, citations, and formulas behind these features, read the Scientific Documentation.
ws_core is local-first. All core derived sensors are computed on your machine from
your own station data and never leave your network. Every feature that sends data to a
third party is opt-in and disabled by default, so nothing is transmitted until you
turn it on in Configure โ Features.
When you enable them, the following optional features contact external services:
| Feature | Destination | Data sent |
|---|---|---|
| Forecast (Open-Meteo, Met.no, NWS, OWM, Pirate Weather, Mรฉtรฉo France, HA entity) | The selected provider | Your coordinates |
| Precipitation nowcast, air quality, pollen, sea temperature, solar forecast | Open-Meteo / forecast.solar | Your coordinates |
| French Vigilance / Vigicrues | Mรฉtรฉo-France public APIs | Your department / nearest station |
| Network uploads (WUnderground, Weathercloud, PWSWeather, WOW, AWEKAS, CWOP, OWM, Windy) | Each network you enable | Your live observations and that network's credentials |
| MQTT republishing | Your own MQTT broker | Derived sensor values |
API keys and passwords you enter are stored in the Home Assistant config entry. The diagnostics export redacts all credentials and coordinates, so it is safe to attach to a bug report.
- Why are my entities unavailable?
Ensure your source sensors are online. If a required sensor (like temperature) is unavailable, dependent derived metrics will gracefully become
unavailableuntil the source recovers. - Which sensors do I select during setup? If Auto-Discovery didn't find your station, read our Hardware Mapping Guide for exactly which Ecowitt, Tempest, or Netatmo entities to select.
- How do I migrate from the Thermal Comfort integration? We have a dedicated migration guide with step-by-step instructions.
- Do I need an API Key? No. All core features run completely offline locally. Optional features like Air Quality or Nowcast use free APIs that require no registration.
- Which fire-danger number should I trust?
Use the one calibrated for your region: FFDI (
sensor.ws_ffdi) in Australia and New Zealand, FWI (sensor.ws_fwi, Canadian system) elsewhere, and FFWI (sensor.ws_ffwi) as a US/global cross-check.sensor.ws_fire_risk_scoreis a simplified 1-10 display value. None of these is an official warning - always defer to your local fire authority. - Which ET0 should I use for irrigation?
If you have mapped a solar-radiation sensor, prefer
sensor.ws_et0_pm_daily(FAO-56 Penman-Monteith, the reference method). Without solar radiation, usesensor.ws_et0_daily(Hargreaves-Samani, ยฑ15-20%). - How do I uninstall? Go to Settings โ Devices & Services โ Weather Station Core โ โฎ โ Delete. This removes the integration, its device, and all derived entities and their history. To remove the code as well, delete the repository from HACS โ Integrations. Any dashboards or blueprints you imported are independent and can be removed separately.

