Weather alert beacon exec for aprx >= 2.9 or Dire Wolf
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


This software is written in python 3.4 and has been tested with aprx 2.9.x.
If you are running a version < 2.9.0 you should first update aprx.  The current
release of aprx may be found at

It has also been tested by N3TSZ in conjunction with direwolf.  Version 1.3
or higher is required.  The current release of direwolf may be installed on a
Debian or Raspbian system via:

sudo apt-get install direwolf

The current release of noaacap may be found at:

Once you are running aprx >= 2.9 or direwolf >= 1.3, install noaacap:

Install via sudo dpkg -i noaacap-0.9.1.deb.  Then, to satisfy the dependencies,
run sudo apt-get -f install.


Add a beacon section similar to the following to /etc/aprx.conf:


beaconmode both
cycle-size 2m

beacon via WIDE2-1 \
   srccall N0CALL-13 \
   timeout 20 \
   exec /usr/local/bin/


The timeout was needed on my older and slower single core Raspberry Pi Model B.
The aprx default timeout is 10 seconds and the timeout may not be needed on a
RPi 2 or newer.  If you see lots of "BEACON EXEC abnormal close" messages in
aprx.log, then you likely need to add the timeout.

The program will check for a new alert or update every 2 minutes, but only
send if there is a change.


Add a line similar to the following to direwolf.conf:

CBEACON EVERY=2 VIA WIDE2-1 INFOCMD="/usr/local/bin/"


Edit /etc/noaacap.conf:

Do not remove the [noaacap] section header.

myTZ should be set to the Linux TZ value for the issuing office of your
preferred weather zone.  For a complete list of timezones, you may use
the following command:  timedatectl list-timezones | grep America.

myZone should be set to your county code.  A list of county codes may be found
at  Only list one county.  The program will then
send the alert for all affected zones.  You could instead use a zone code if
you want to be more specific.

myResend should be set to 0 for no message resends or to an interval of your
choosing.  If noaacap beacons every 2 minutes, a value of 30 would provide
hourly resends.

Logging values are 0 (quiet), 1 (informational), and 2 (debug).  Logs are
written to the systemd journal.  You may view the logs in realtime using the
following command: sudo journalctl -f | grep noaacap.


It would be good to hear from users of this software.  Please email with the callsign-SSID of your APRS station that is sending
weather alerts via this program.

Dan Srebnick, K2DLS