This patch adds the ability for plugins to send multiple messages
back in response to a command/message. The plugin simple needs
to return a list of messages (Strings). Each string in that list
will result in a separate message being sent back to the originator
of the message.
This patch updates the Admin UI to display the APRS icon symbol
associated with a mic-e packet on the watch list tab for all
entries in the watch list.
This patch updates the notification thread to send all packets
through the notification plugins. The plugins themselves need to
do smart filter to not reply to every packet. This allows for
more interesting plugins.
Also fixed an issue with the messages tab in the admin ui, not
showing all of the recieved packets. The messages tab now also
sees all the packets that aprsd recieves.
This patch adds a new optional feature called Watch list.
Aprsd will filter IN all aprs packets from a list of callsigns.
APRSD will keep track of the last time a callsign has been seen.
When the configured timeout value has been reached, the next time
a callsign is seen, APRSD will send the next packet from that callsign
through the new notification plugins list.
The new BaseNotifyPlugin is the default core APRSD notify based plugin.
When it gets a packet it will construct a reply message to be sent
to the configured alert callsign to alert them that the seen callsign
is now on the APRS network.
This basically acts as a notification that your watched callsign list is
available on APRS.
The new configuration options:
aprsd:
watch_list:
# The callsign to send a message to once a watch list callsign
# is now seen on APRS-IS
alert_callsign: NOCALL
# The time in seconds to wait for notification.
# The default is 12 hours.
alert_time_seconds: 43200
# The list of callsigns to watch for
callsigns:
- WB4BOR
- KFART
# Enable/disable this feature
enabled: false
# The list of notify based plugins to load for
# processing a new seen packet from a callsign.
enabled_plugins:
- aprsd.plugins.notify.BaseNotifyPlugin
This patch also adds a new section in the Admin UI for showing the
watch list and the age of the last seen packet for each callsing since
APRSD startup.
This patch fixes a bug in the AckThread. The thread loop
was exiting after the first attempt to send the ack.
Thread loops have to return True, in order to be called again
as this is the mechanism in which aprsd gracefully shuts down all
threads.
This patch updates the admin UI to include 3 tabs
of content.
Charts
messages
config
The charts tab is the existing line charts.
The messages tab shows a list of RX (green) and TX (red) messages
from/to aprsd.
The config tab shows the config loaded at startup time.
This patch adds the dumping out of a flattened config to the log
at startup. This is helpful for seeing what aprsd server is actually
using for config entries at startup and since it's in the log, you can
reference it.
This patch adds a message counter for each plugin. When the regex for
a plugin passes and the message is pass into the plugin for processing,
that message is tracked. This message count is reported by the stats
tracking object now for the web admin ui.
This patch adds usage of update_checker to check to make sure the
version of APRSD being launched is the latest version. Also added a
call to upate_checker as part of the KeepAlive thread. It will
call update_check every hour. If there is no aprsd connectivitity,
the update check will silently fail.
This patch added some changes to the INSTALL.txt file to fix a user
issue: https://github.com/craigerl/aprsd/issues/58
Added documentation to the INSTALL.txt to use the makefile. It's
far easier and superior in every way to setup and install than the
manual instructions. Use pypi for the official package.
This patch cleans up the layout of the admin web page stats graphs
as well as adds in the email stats. Added the titles to each
graph, so you know what you are looking at.
This patch reworks the stats object dict and includes more data.
Also includes aprsis last update timestamp (from last recieved message).
This is used to help determine if the aprsis server connection is still
alive and well.