NWS Weather Signal is a Home Assistant custom integration that turns active U.S. National Weather Service alerts into simple, automation-friendly binary sensors and a count sensor.
Instead of placing every alert inside one large list attribute, the integration
creates a fixed number of alert slots. Each slot is on while it contains an
active alert and off when empty.
- Choose 1 to 10 alert slots; the default is 2.
- Configure alerts by coordinates, NWS forecast zone/county, or state/area.
- The most consequential alerts occupy the first slots.
- Every slot exposes a stable attribute schema. Active slots populate:
- NWS and SAME event codes as scalar strings
- title, event, description, and instructions
- severity, urgency, and certainty
- effective, onset, expiration, and ending times
- affected area, zones, sender, alert ID, and source URL
- Polls weather.gov once per minute through one shared coordinator.
- Includes an
Active Weather Alertsbinary sensor and anActive Weather Alerts Listsensor for quick dashboards and automations. - Configured entirely from the Home Assistant user interface.
- Open HACS.
- Add
https://github.com/bditter/nws-weather-signalas a custom integration repository. - Download NWS Weather Signal.
- Restart Home Assistant.
Copy custom_components/nws_weather_signal into the custom_components
directory in your Home Assistant configuration, then restart Home Assistant.
In Home Assistant, open Settings > Devices & services > Add integration and search for NWS Weather Signal.
Choose one lookup method:
- Coordinates uses a latitude and longitude. Your Home Assistant location is supplied as the initial value.
- NWS zone or county accepts codes such as
INZ009orINC033. - State or marine area accepts a two-letter code such as
INorGM.
Choose how many alert slots to create. The slot count, location method, coordinates, zone/county code, and state/area code can all be changed later from the integration's options.
The integration creates entities such as:
binary_sensor.nws_weather_signal_alert_1
binary_sensor.nws_weather_signal_alert_2
binary_sensor.nws_weather_signal_active_weather_alerts
sensor.nws_weather_signal_active_weather_alerts_list
Slot 1 receives the highest-priority active alert. Ordering considers severity,
urgency, certainty, and issue time. When fewer alerts exist than configured
slots, the remaining entities stay off while retaining all alert attribute
names. Every inactive alert attribute has the literal string value None, so
templates receive a visible scalar rather than a blank, list, or unavailable
value. Multiple affected zones on active alerts are returned as one
comma-separated string.
Every slot also includes troubleshooting attributes:
configured_location: the exact weather.gov URL currently being queriedactive_alert_count: the number of active alerts returned for that locationlast_successful_update: the most recent successful API refreshupdate_interval_minutes:1
The Active Weather Alerts binary sensor turns on when at least one active
alert is returned. The Active Weather Alerts List sensor uses its state for
the active alert count (0 through the configured alert-slot limit) and exposes
aggregate scalar attributes:
alert_code: active NWS event codes, comma-separated, orNonealert_severity: active severities, comma-separated, orNonealert_message: active alert descriptions separated by blank lines, orNone
Example automation:
automation:
- alias: Announce highest-priority NWS alert
triggers:
- trigger: state
entity_id: binary_sensor.nws_weather_signal_alert_1
to: "on"
actions:
- action: notify.notify
data:
title: >-
{{ state_attr('binary_sensor.nws_weather_signal_alert_1', 'title') }}
message: >-
{{ state_attr('binary_sensor.nws_weather_signal_alert_1', 'description') }}Alert data comes from the public weather.gov API. NWS Weather Signal is not affiliated with or endorsed by NOAA or the National Weather Service.
Do not rely on Home Assistant as your only way to receive emergency information. Keep Wireless Emergency Alerts, NOAA Weather Radio, and local official warning channels enabled.
This project is an original, clean-room implementation based on public NOAA API documentation and Home Assistant developer documentation. It does not contain code, documentation, branding, or artwork copied from other NWS alert integrations.