There’s a Pi hat that can receive SAME alerts from NOAA for weather alerts but it’s been unavailable for quite some time. Instead I’ve implemented a pretty basic (and cheaper) solution to this that’s local and doesn’t rely on a Pi/SD card. Sure, you can get notifications via other means but I like the idea of this not relying on Internet service, cloud, or any providers rebroadcasting weather alerts such as cell providers, Alexa, etc. This is instantaneous and lets me do any number of automations.
The Midland - WR120B/WR120EZ - NOAA Emergency Weather Alert Radio is $30 on Amazon and has an external alert port that lets you use a separate battery powered strobe they sell for hearing impaired users. This port is actually just a NO relay that acts as a switch for their strobe accessory. Using this radio, a chopped up headphone cord and a D1 mini I’m able to get notifications into HA and to my MQTT broker. Of course I don’t get what the watch/warning is for but given that I’ve configured the radio to only alert on certain conditions and not all/default weather watches and warnings this isn’t a problem for me. I basically want to know if there’s a tornado watch or warning issued for our area.
The basic ESPhome config is below, sending a notification from HA or any other means once you have an alert is pretty trivial. Hopefully this is of use to someone.
esphome:
name: weather-alert
esp8266:
board: d1_mini
# Enable logging
logger:
# Enable Home Assistant API
api:
password: "1234"
ota:
password: "1234"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
captive_portal:
binary_sensor:
- platform: gpio
pin:
number: D2
mode: INPUT_PULLUP
inverted: True
name: "Severe Weather Alert"
filters:
- delayed_on: 10ms