Entity IDs follow Home Assistant’s device-plus-name convention. A zone called
Home produces a device named WxAlerts Home, so its entities are
binary_sensor.wxalerts_home_active_alert, sensor.wxalerts_home_highest_severity
and so on. The examples below use home; substitute your own zone name.
Alert entities
Created for each distinct county, when NWS alerts is enabled.
| Entity | Type | State |
|---|---|---|
binary_sensor.wxalerts_home_active_alert |
safety |
on while any hazard is live |
sensor.wxalerts_home_highest_severity |
enum | Extreme, Severe, Moderate, Minor or None |
sensor.wxalerts_home_active_alerts |
measurement | Count of live hazards, in alerts |
binary_sensor.wxalerts_home_tornado_alert |
safety |
on while that phenomenon specifically is live |
The severity sensor is a proper enum with a fixed option list, so it colours and graphs correctly on a dashboard without a template in the middle.
Per-phenomenon sensors
Six exist; three are enabled by default because they are the ones worth waking someone up for.
| Sensor | VTEC code | Enabled by default |
|---|---|---|
| Tornado alert | TO |
yes |
| Severe Thunderstorm alert | SV |
yes |
| Flash Flood alert | FF |
yes |
| Flood alert | FA |
no |
| Winter Storm alert | WS |
no |
| Heat alert | HT |
no |
The disabled three are registered but switched off, so enable them on the entity itself rather than reconfiguring anything. Turning the per-phenomenon binary sensors option off removes the whole set.
Prefer these to string-matching a headline. binary_sensor.wxalerts_home_tornado_alert
is on for a Tornado Warning, a Tornado Watch and a Tornado Emergency alike;
combine it with the severity sensor when you need to tell those apart.
Lightning sensor
Created for each zone, when GLM lightning is enabled.
sensor.wxalerts_home_lightning_flashes counts GOES-19 GLM flashes inside the
zone’s geohash box over the rolling window, 15 minutes by default.
Map markers
Each live hazard with a usable shape becomes a geo_location entity named
after the event, such as Tornado Warning or Flash Flood Warning, sitting on the
polygon’s centroid, with source: wxalerts. Add a Map card and select
wxalerts as a geolocation source to draw them.
Markers appear when the hazard is issued and remove themselves the moment it
ends. Alerts published with geometry_source: none have no shape at all and
get no marker; they still show up in every other entity.
The full GeoJSON polygon rides along as the geometry attribute, live in the
state machine for cards and templates but deliberately excluded from the
recorder, because a county-union polygon runs past the recorder’s 16 KB attribute
cap, which makes it drop every attribute on the entity rather than just the
big one.
Attribute reference
sensor.…_active_alerts
The richest entity, and the one to point a Markdown card at.
| Attribute | Notes |
|---|---|
same |
Six-digit county SAME code |
county_ugc |
County UGC, e.g. FLC113 |
location |
The zone name |
alerts |
List of live hazards, most severe first |
Each entry in alerts:
| Field | Example | Notes |
|---|---|---|
id |
1234 |
Feed-side alert id |
vtec |
KMOB.TO.W.0012.2026 |
Office, phenomenon, significance, ETN, year |
event |
Tornado Warning |
|
severity |
Extreme |
|
urgency |
Immediate |
|
certainty |
Observed |
|
headline |
TORNADO WARNING IN EFFECT UNTIL 345 PM CDT |
|
instruction |
TAKE COVER NOW! … |
The protective-action text |
onset |
ISO 8601 | When the hazard starts |
ends |
ISO 8601 | When the hazard ends |
action |
NEW, CON, EXT, CAN, EXP |
VTEC action code |
geometry_source |
polygon, ugc, none |
How tight the shape is |
geometry_source tells you how much to trust the shape: polygon is the
forecaster-drawn storm warning polygon, ugc is a union of whole county
outlines, and none means the product had no geometry.
binary_sensor.…_active_alert
| Attribute | Notes |
|---|---|
same |
County SAME code |
county_ugc |
County UGC |
alert_count |
Number of live hazards |
events |
Their event names, most severe first |
binary_sensor.…_<phenomenon>_alert
| Attribute | Notes |
|---|---|
phenomenon |
The VTEC code: TO, SV, … |
alerts |
Live hazards of that phenomenon: event, significance, headline, ends |
significance is the second half of the VTEC pair: W warning, A watch,
Y advisory, S statement.
sensor.…_lightning_flashes
| Attribute | Notes |
|---|---|
geohash |
The subscribed box |
window_minutes |
Rolling window the count covers |
last_flash |
Timestamp of the most recent flash, or null |
location |
The zone name |
geo_location.…
| Attribute | Notes |
|---|---|
same |
County SAME code |
vtec |
VTEC string, the stable identity for this hazard |
severity |
|
headline |
|
ends |
|
geometry_source |
|
geometry |
Full GeoJSON polygon. Not recorded. |
Availability
Every entity is unavailable while the MQTT connection is down, and only
while it is down. That is deliberate: a stale off on a safety binary sensor
reads as “no warning here”, which is exactly the wrong thing to say when the
integration has lost the feed.
On reconnect the broker replays every live hazard as a retained message, so the entities repopulate in one burst rather than climbing back one poll at a time.
