WxAlerts watches two feeds continuously and tells you when either one concerns a place you care about:
- National Weather Service alerts: every watch, warning, advisory and statement, with the warning polygon, taken the moment the product is issued.
- GOES-19 GLM lightning: satellite-detected flashes, so you get lightning proximity where there is no ground network nearby.
Nothing safety-related is behind a paywall, and nothing here is an official government source. Always follow your local officials.
Pick how you want to be told
There are three ways in, and most people end up using more than one.
| Route | Best for | Setup time |
|---|---|---|
| The live map | Checking on a storm right now | None |
| The apps | Push notifications on a phone or desktop | A minute |
| Home Assistant | Automations, dashboards, lights and speakers | Ten minutes |
| MeshMonitor | Warnings on a Meshtastic or MeshCore mesh | Varies |
Save a place
An alert only reaches you if WxAlerts knows where to watch. A saved place is a point plus a radius, such as your house, a job site or your parents’ address, and every alert rule hangs off one.
See Saved places and alert rules for what each rule does.
Where the alerts come from
Every warning is taken from three independent National Weather Service feeds at once and pushed straight out, which puts it in front of you roughly forty seconds after the office issued it. How an alert reaches you walks the whole path.
Read the data yourself
If you would rather build on top of it than be notified by it, the alert and lightning feeds are both public:
- REST API: active alerts, polygons, location search.
- MQTT alerts feed: live NWS hazards over WebSocket, retained while they are in effect.
- MQTT lightning feed: live GLM flashes over WebSocket.
If the thing you want to build on top of is your house, that is already written: the Home Assistant integration turns both feeds into entities you can automate against.
Something wrong?
Bad polygons and missed alerts are the most useful bug reports the project gets. Bring them to Discord, or open an issue on the repo.
