Sno Station
Sno Station은 AI 에이전트를 하나의 팀으로 묶는 오픈소스 워크스테이션으로, 로컬 머신에서 에이전트 협업을 가능하게 함
개인 기상 관측기를 완전한 날씨 정보 시스템으로 전환합니다
Turn any personal weather station into a complete weather intelligence system: forecasting, nowcasting, fire danger, irrigation, lightning, and data quality. 170+ derived sensors for Home Assistant.
플러그인PythonGitHub @kmich온라인운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
Home Assistant integration for personal weather stations: frost point, heat stress, ET₀ irrigation, fire danger, and rain, frost and gust chances learned from your own station.
저장소 README에서 가져옴
README 전체를 불러오는 중입니다.
README 전문 보기 ↗ws_core)A Home Assistant integration for personal weather stations. It reads the temperature, humidity, pressure, wind and rain sensors your station already provides and calculates the things you'd actually automate on: frost point, heat stress, evapotranspiration for irrigation, fire danger, a barometric outlook, and short-term rain, frost and gust chances learned from your own station's history.
Derived values are calculated inside Home Assistant. By default ws_core also fetches a weather forecast and runs an hourly sanity check against Open-Meteo; both can be turned off, and every other internet feature is opt-in. The data and privacy table lists them all.
unknown.The changelog has every change.
Rain. A rain rate filtered from your gauge's running total, totals from the last hour to the year, days since rain and an adaptive rain chance (see below). The opt-in precipitation nowcast combines Open-Meteo's 15-minute forecast with your gauge for sensor.ws_minutes_until_rain and sensor.ws_minutes_until_dry.
Garden and irrigation. Reference evapotranspiration (FAO-56 Penman-Monteith with a solar radiation sensor, Hargreaves-Samani without one), a water deficit, VPD, Delta-T for spraying, and leaf wetness. The ET₀ sensors can feed Smart Irrigation.
Protection. Gust alerts for awnings and blinds, frost point (Buck 1981) and freeze warnings, UTCI and WBGT heat stress, and fire danger from the Canadian FWI, McArthur FFDI and Fosberg FFWI.
Data quality. Checks for stuck, spiking and drifting sensors, cross-sensor consistency, and a station health summary. When a value can't be calculated, the sensor's reason and explanation attributes say why.
Extras you can turn on. Snow phase and accumulation, heating and cooling degree days, 10-year climate normals (ERA5), air quality, pollen, sea temperature, a solar forecast, lightning, and uploads to Weather Underground, Windy, Weathercloud, PWSWeather, WOW, AWEKAS, CWOP and OpenWeatherMap.
The integration is translated into English, French, German, Spanish, Italian, Dutch, Polish and Portuguese. The formulas and their sources are in the science documentation.
Three features improve with time at your station:
unknown until it has seen enough real events (often straight away if the recorder already has long-term statistics for your sensors), and its maturity attribute tells you when it has earned your trust. It is 100% local, apart from one optional, labelled setting that lets the storm forecast use Blitzortung lightning data if you have no detector. See the guide and the method.sensor.ws_rain_probability_combined blends your station's local rain estimate with the forecast provider's. Every 6 hours both are scored against your gauge, and over a rolling 90 days the more accurate source gets more weight. With Station Diagnostics on you can see the weight and both scores. How it's scored.If your station's readings are already in Home Assistant, ws_core can use them. The setup flow suggests matching entities, and you can map any of them by hand.
| Station | Integration | Readings used |
|---|---|---|
| Shelly WS90 (the maintainer's test station) | Shelly | Temperature, humidity, pressure, wind, gust, direction, rain total, UV, illuminance, battery |
| Ecowitt / Ambient Weather | GW-series gateways, WS90, Wittboy, WH57 lightning, soil and rain sensors | Temperature, humidity, absolute pressure, wind, rain, lux or solar radiation, lightning |
| WeatherFlow Tempest | Tempest integration, local UDP or MQTT | Temperature, station pressure, wind, gust, rain, UV, illuminance |
| Davis | WeatherLink IP, Vantage Pro2, Vantage Vue | Standard station readings, rain year, absolute pressure |
| Netatmo | Smart Weather Station with rain and wind modules | Outdoor module, rain gauge total, anemometer |
| ESPHome and DIY | Any sensor with a standard device class | Temperature, humidity, pressure, wind, rain total |
| Blitzortung (no hardware) | Blitzortung integration, uses internet data | Lightning strikes, distance and proximity, used only when no lightning sensor is mapped |
The hardware mapping guide covers each brand in detail.
More than 50 sensors are created straight away. Optional features are under Configure → Features. The quickstart walks through each step.
Ten automation blueprints with sensible defaults, for example:
The other five (frost, lightning, storm, air quality and fire danger) are in the blueprint documentation.
The dashboards/ folder has five dashboards and a set of gauge cards. Paste one into a dashboard's raw configuration editor.
| Dashboard | Layout | Custom cards |
|---|---|---|
Vanilla (weather_dashboard_vanilla.yaml) | Four views | none |
Enhanced (weather_dashboard.yaml) | Animated Weather and Advanced pages, including Pattern Forecast | button-card and six others |
Full (ws_core_dashboard.yaml) | Six views covering every sensor group | mushroom, mini-graph-card |
Mobile (ws_core_dashboard_mobile.yaml) | Single-column phone layout | mushroom, mini-graph-card |
Bubble (ws_core_bubble_dashboard.yaml) | One centred column on any screen, with pop-ups, an alert banner, the learning stats and an optional weather background | Bubble Card 3.2.0+ |
Gauge presets (ws_core_gauge_presets.yaml) | 13 gauge cards to add to your own dashboard | none |
The Enhanced dashboard on a Shelly WS90, Weather page and Advanced page:
The Bubble dashboard on the same station, with the weather background on:
| Main page | Forecast pop-up |
|---|---|
The dashboards guide describes each one.
ws_core sends no telemetry or analytics. These are the only features that contact the internet. The first two are on by default; the rest stay off until you enable them.
| Feature | Destination | Data sent | When |
|---|---|---|---|
| Weather forecast | Your chosen provider (default Open-Meteo) | Configured coordinates, plus an API key for providers that need one | On by default. Turn it off in the integration options, or use an existing Home Assistant weather entity as the provider |
| Sensor sanity check (neighbour QC) | Open-Meteo | Configured coordinates | On by default, hourly. Turn it off with Sensor sanity check or switch.ws_enable_neighbor_qc |
| Adaptive sensor calibration | Open-Meteo (the same hourly request) | Configured coordinates | If enabled; keeps the hourly request running even with the sanity check off |
| Precipitation nowcast, air quality, pollen | Open-Meteo | Configured coordinates | If enabled |
| Sea temperature, climate normals | Open-Meteo Marine and Archive APIs | Configured coordinates | If enabled |
| Solar forecast | Forecast.Solar | Configured coordinates | If enabled |
| French Vigilance | French government geocoder (api-adresse.data.gouv.fr), then OpenDataSoft | Coordinates to the geocoder, then the department code | If enabled |
| Vigicrues river levels | Hub'Eau (French government) | Coordinates or the chosen station ID | If enabled |
| Lightning via Blitzortung | Blitzortung, through its own integration | Whatever the Blitzortung integration sends | If that integration is installed and no lightning sensor is mapped |
| Pattern Forecast storm data (internet lightning) | Blitzortung, through its own integration | Nothing sent by ws_core | If Pattern Forecast is on, no lightning detector is mapped, and you turn on Use internet lightning data. The sensor name says so. Every other Pattern Forecast sensor is local |
| Station network uploads | The networks you choose (for example WU, WOW) | Station readings and your credentials for that network |
To run fully offline, turn off the weather forecast and the sensor sanity check and leave the optional internet features off. All locally derived sensors keep working. Diagnostics downloads redact credentials and coordinates.
| If enabled |
| MQTT discovery | Your local MQTT broker | Derived sensor values | If enabled |