- Notifications
You must be signed in to change notification settings - Fork182
A highly configurable MQTT message router, where the routing targets are notification plugins, primarily written in Python.
License
mqtt-tools/mqttwarn
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Towarn,alert, ornotify.
GitHub|PyPI|Documentation|Issues|Changelog
mqttwarn - subscribe to MQTT topics and notify pluggable services.
mqttwarn subscribes to any number of MQTT topics and publishes receivedpayloads to one or more notification services after optionally applyingsophisticated transformations.
A picture says a thousand words.

mqttwarn comes withover 70 notification handler plugins, covering awide range of notification services and is very open to further contributions.You can enjoy the alphabetical list of plugins on themqttwarn notifiercatalog page.
On top of that, it integrates with the excellentApprise notificationlibrary.Apprise notification services has a complete list of the80+notification services supported by Apprise.
Themqttwarn documentation is the right place to read all aboutmqttwarn'sfeatures and integrations, and how you can leverage all its framework componentsfor building custom applications. Its service plugins can be inspected on themqttwarn notifier catalog page.
Synopsis:
pip install --upgrade mqttwarn
You can also add support for a specific service plugin:
pip install --upgrade 'mqttwarn[xmpp]'
You can also add support for multiple services, all at once:
pip install --upgrade 'mqttwarn[apprise,asterisk,nsca,desktopnotify,tootpaste,xmpp]'
See also:Installing mqttwarn with pip.
For runningmqttwarn on a container infrastructure like Docker orKubernetes, corresponding images are automatically published to theGitHub Container Registry (GHCR).
ghcr.io/mqtt-tools/mqttwarn-standard:latestghcr.io/mqtt-tools/mqttwarn-full:latest
To learn more about this topic, please follow up reading theUsing the OCI imagewith Docker or Podman documentation section.
In order to learn how to configure mqttwarn, please head over to the documentationsection about themqttwarn configuration.
Just launchmqttwarn:
# Run mqttwarnmqttwarn
To supply a different configuration file or log file, optionally use:
# Define configuration fileexport MQTTWARNINI=/etc/mqttwarn/acme.ini# Define log fileexport MQTTWARNLOG=/var/log/mqttwarn.log# Run mqttwarnmqttwarn
There are different ways to run mqttwarn as a system daemon. There are examplesfor systemd, traditional init, OpenRC, andSupervisor in theetc directoryof this repository, for examplesupervisor.ini (Supervisor) andmqttwarn.service (systemd).
In order to directly invoke notification plugins from custom programs, or fordebugging them, seeRunning notification plugins standalone.
For hacking on mqttwarn, please install it in development mode, using amqttwarn development sandbox installation.
These links will guide you to the source code ofmqttwarn and its documentation.
You will need at least the following components:
- Python 3.x or PyPy 3.x.
- An MQTT broker. We recommendEclipse Mosquitto.
- For invoking specific service plugins, additional Python modules may be required.See
setup.pyfile.
We are always happy to receive code contributions, ideas, suggestionsand problem reports from the community.
So, if you would like to contribute, you are most welcome.Spend some time taking a look around, locate a bug, design issue orspelling mistake, and then send us a pull request or create anissue.
Thank you in advance for your efforts, we really appreciate any help or feedback.
mqttwarn is copyright © 2014-2023 Jan-Piet Mens and contributors. Allrights reserved.
It is and will always befree and open source software.
Use of the source code included here is governed by theEclipse Public License2.0, seeLICENSE file for details. Please also recognize thelicenses of third-party components.
If you encounter any problems during setup or operations or if you have furthersuggestions, please let us know byopening an issue on GitHub. Thank youalready.
Thanks to all the contributors ofmqttwarn who helped to conceive it in oneway or another. You know who you are.
"MQTT" is a trademark of the OASIS open standards consortium, which publishes theMQTT specifications. "Eclipse Mosquitto" is a trademark of the Eclipse Foundation.
Special thanks to the people at JetBrains s.r.o. for supporting us withexcellent development tooling.
Have fun!
About
A highly configurable MQTT message router, where the routing targets are notification plugins, primarily written in Python.
Topics
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.

