mqttwarn
A highly configurable MQTT message router, where the routing targets are notification plugins, primarily written in Python.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (11.4%) to scientific vocabulary
Keywords
acquisition
mosquitto
mqtt
mqtt-client
mqtt-forwarder
mqtt-protocol
mqtt-publisher
mqtt-publishing
mqtt-router
mqtt-subscriber
notification
notification-plugin
notification-service
notifications
notifications-plugin
transformation
Keywords from Contributors
cryptocurrencies
algorithmic-trading
freqtrade
telegram-bot
trade
trading-bot
Last synced: 6 months ago
·
JSON representation
·
Repository
A highly configurable MQTT message router, where the routing targets are notification plugins, primarily written in Python.
Basic Info
- Host: GitHub
- Owner: mqtt-tools
- License: epl-2.0
- Language: Python
- Default Branch: main
- Homepage: https://mqttwarn.readthedocs.io/
- Size: 2.97 MB
Statistics
- Stars: 972
- Watchers: 72
- Forks: 182
- Open Issues: 48
- Releases: 0
Topics
acquisition
mosquitto
mqtt
mqtt-client
mqtt-forwarder
mqtt-protocol
mqtt-publisher
mqtt-publishing
mqtt-router
mqtt-subscriber
notification
notification-plugin
notification-service
notifications
notifications-plugin
transformation
Created about 12 years ago
· Last pushed about 1 year ago
Metadata Files
Readme
Changelog
License
Citation
README.rst
########
mqttwarn
########
.. image:: https://cloud.githubusercontent.com/assets/2345521/6320105/4dd7a826-bade-11e4-9a61-72aa163a40a9.png
To *warn*, *alert*, or *notify*.
.. image:: https://raw.githubusercontent.com/mqtt-tools/mqttwarn/main/assets/google-definition.jpg
******
Status
******
.. image:: https://github.com/mqtt-tools/mqttwarn/workflows/Tests/badge.svg
:target: https://github.com/mqtt-tools/mqttwarn/actions?workflow=Tests
.. image:: https://codecov.io/gh/mqtt-tools/mqttwarn/branch/main/graph/badge.svg
:target: https://codecov.io/gh/mqtt-tools/mqttwarn
.. image:: https://img.shields.io/pypi/pyversions/mqttwarn.svg
:target: https://pypi.org/project/mqttwarn/
|
.. image:: https://img.shields.io/pypi/l/mqttwarn.svg
:target: https://pypi.org/project/mqttwarn/
.. image:: https://img.shields.io/pypi/status/mqttwarn.svg
:target: https://pypi.org/project/mqttwarn/
.. image:: https://img.shields.io/pypi/v/mqttwarn.svg
:target: https://pypi.org/project/mqttwarn/
.. image:: https://pepy.tech/badge/mqttwarn/month
:target: https://pepy.tech/project/mqttwarn
|
`GitHub `_
| `PyPI `_
| `Documentation `_
| `Issues `_
| `Changelog `_
*****
About
*****
mqttwarn - subscribe to MQTT topics and notify pluggable services.
Description
===========
*mqttwarn* subscribes to any number of MQTT topics and publishes received
payloads to one or more notification services after optionally applying
sophisticated transformations.
A picture says a thousand words.
.. image:: https://raw.githubusercontent.com/mqtt-tools/mqttwarn/main/assets/mqttwarn.png
:target: #
Notification service coverage
=============================
*mqttwarn* comes with **over 70 notification handler plugins**, covering a
wide range of notification services and is very open to further contributions.
You can enjoy the alphabetical list of plugins on the `mqttwarn notifier
catalog`_ page.
On top of that, it integrates with the excellent `Apprise`_ notification
library. `Apprise notification services`_ has a complete list of the **80+
notification services** supported by Apprise.
*************
Documentation
*************
The `mqttwarn documentation`_ is the right place to read all about *mqttwarn*'s
features and integrations, and how you can leverage all its framework components
for building custom applications. Its service plugins can be inspected on the
`mqttwarn notifier catalog`_ page.
************
Installation
************
Using pip
=========
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`_.
OCI container image
===================
For running ``mqttwarn`` on a container infrastructure like Docker or
Kubernetes, corresponding images are automatically published to the
GitHub Container Registry (GHCR).
- ``ghcr.io/mqtt-tools/mqttwarn-standard:latest``
- ``ghcr.io/mqtt-tools/mqttwarn-full:latest``
To learn more about this topic, please follow up reading the `Using the OCI image
with Docker or Podman`_ documentation section.
*************
Configuration
*************
In order to learn how to configure mqttwarn, please head over to the documentation
section about the `mqttwarn configuration`_.
*****
Usage
*****
Interactive service
===================
Just launch ``mqttwarn``::
# Run mqttwarn
mqttwarn
To supply a different configuration file or log file, optionally use::
# Define configuration file
export MQTTWARNINI=/etc/mqttwarn/acme.ini
# Define log file
export MQTTWARNLOG=/var/log/mqttwarn.log
# Run mqttwarn
mqttwarn
System daemon
=============
There are different ways to run mqttwarn as a system daemon. There are examples
for systemd, traditional init, OpenRC, and Supervisor_ in the ``etc`` directory
of this repository, for example `supervisor.ini`_ (Supervisor) and
`mqttwarn.service`_ (systemd).
Standalone
==========
In order to directly invoke notification plugins from custom programs, or for
debugging them, see `Running notification plugins standalone`_.
Development sandbox
===================
For hacking on mqttwarn, please install it in development mode, using a
`mqttwarn development sandbox`_ installation.
*******************
Project information
*******************
About
=====
These links will guide you to the source code of *mqttwarn* and its documentation.
- `mqttwarn on GitHub `_
- `mqttwarn on the Python Package Index (PyPI) `_
- `mqttwarn documentation `_
Requirements
============
You will need at least the following components:
* Python 3.x or PyPy 3.x.
* An MQTT broker. We recommend `Eclipse Mosquitto`_.
* For invoking specific service plugins, additional Python modules may be required.
See ``setup.py`` file.
Contributing
============
We are always happy to receive code contributions, ideas, suggestions
and 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 or
spelling mistake, and then send us a pull request or create an `issue`_.
Thank you in advance for your efforts, we really appreciate any help or feedback.
License
=======
mqttwarn is copyright © 2014-2023 Jan-Piet Mens and contributors. All
rights reserved.
It is and will always be **free and open source software**.
Use of the source code included here is governed by the `Eclipse Public License
2.0 `_, see LICENSE_ file for details. Please also recognize the
licenses of third-party components.
***************
Troubleshooting
***************
If you encounter any problems during setup or operations or if you have further
suggestions, please let us know by `opening an issue on GitHub`_. Thank you
already.
************
Attributions
************
Acknowledgements
================
Thanks to all the contributors of *mqttwarn* who helped to conceive it in one
way or another. You know who you are.
Legal stuff
===========
"MQTT" is a trademark of the OASIS open standards consortium, which publishes the
MQTT specifications. "Eclipse Mosquitto" is a trademark of the Eclipse Foundation.
************
Supported by
************
.. image:: https://resources.jetbrains.com/storage/products/company/brand/logos/jetbrains.svg
:target: https://jb.gg/OpenSourceSupport
Special thanks to the people at JetBrains s.r.o. for supporting us with
excellent development tooling.
----
Have fun!
.. _Apprise: https://github.com/caronc/apprise
.. _Apprise notification services: https://github.com/caronc/apprise/wiki#notification-services
.. _backlog: https://github.com/mqtt-tools/mqttwarn/blob/main/doc/backlog.rst
.. _Eclipse Mosquitto: https://mosquitto.org
.. _EPL-2.0: https://www.eclipse.org/legal/epl-2.0/
.. _hacking: https://github.com/mqtt-tools/mqttwarn/blob/main/doc/hacking.rst
.. _How do your servers talk to you?: https://jpmens.net/2014/04/03/how-do-your-servers-talk-to-you/
.. _Installing mqttwarn with pip: https://mqttwarn.readthedocs.io/en/latest/usage/pip.html
.. _issue: https://github.com/mqtt-tools/mqttwarn/issues/new
.. _LICENSE: https://github.com/mqtt-tools/mqttwarn/blob/main/LICENSE
.. _MQTTwarn\: Ein Rundum-Sorglos-Notifier: https://web.archive.org/web/20140611040637/http://jaxenter.de/news/MQTTwarn-Ein-Rundum-Sorglos-Notifier-171312
.. _mqttwarn configuration: https://mqttwarn.readthedocs.io/en/latest/configure/
.. _mqttwarn development sandbox: https://mqttwarn.readthedocs.io/en/latest/workbench/sandbox.html
.. _mqttwarn documentation: https://mqttwarn.readthedocs.io/
.. _mqttwarn notifier catalog: https://mqttwarn.readthedocs.io/en/latest/notifier-catalog.html
.. _mqttwarn.service: https://github.com/mqtt-tools/mqttwarn/blob/main/etc/mqttwarn.service
.. _opening an issue on GitHub: https://github.com/mqtt-tools/mqttwarn/issues/new
.. _Running notification plugins standalone: https://mqttwarn.readthedocs.io/en/latest/usage/standalone.html
.. _Schwarmalarm using mqttwarn: https://hiveeyes.org/docs/system/schwarmalarm-mqttwarn.html
.. _Supervisor: https://jpmens.net/2014/02/13/in-my-toolbox-supervisord/
.. _supervisor.ini: https://github.com/mqtt-tools/mqttwarn/blob/main/etc/supervisor.ini
.. _Using the OCI image with Docker or Podman: https://mqttwarn.readthedocs.io/en/latest/usage/oci.html
Citation (CITATION.cff)
---
cff-version: 1.2.0
message: If you use this software, please cite it using these metadata.
title: mqttwarn
url: https://mqttwarn.readthedocs.org/
abstract: mqttwarn - subscribe to MQTT topics and notify pluggable services
authors:
- name: Jan-Piet Mens
email: jpmens@gmail.com
- name: Ben Jones
email: ben.jones12@gmail.com
- name: Andreas Motl
email: andreas.motl@panodata.org
date-published: 2014-02-09
date-released: 2023-04-13
type: software
license: EPL
license-url: https://github.com/mqtt-tools/mqttwarn/blob/main/LICENSE
repository-code: https://github.com/mqtt-tools/mqttwarn
keywords:
- acquisition
- data
- engine
- notification
- plugins
- push
- transformation
- mosquitto
- mqtt
- mqttwarn
GitHub Events
Total
- Issues event: 3
- Watch event: 15
- Issue comment event: 9
- Push event: 1
- Pull request event: 1
- Fork event: 1
Last Year
- Issues event: 3
- Watch event: 15
- Issue comment event: 9
- Push event: 1
- Pull request event: 1
- Fork event: 1
Committers
Last synced: 9 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Andreas Motl | a****l@p****g | 546 |
| Jan-Piet Mens | j****s@g****m | 268 |
| Ben Jones | b****2@g****m | 97 |
| Fabian Affolter | m****l@f****h | 23 |
| Morten Høybye Frederiksen | m****n@m****k | 19 |
| Rodney Gitzel | r****l@g****m | 18 |
| Justin Graham | j****m@g****m | 14 |
| psyciknz | g****b@a****z | 13 |
| Michael Brougham | j****e@g****m | 13 |
| Diogo Gomes | d****s@u****t | 11 |
| Nyíri Gábor | n****i@h****u | 9 |
| Christian Kniep | c****n@q****g | 8 |
| Kevin Siml | a****r | 8 |
| Rob de Jonge | r****e@g****m | 8 |
| Ben Jones | b****n@w****a | 8 |
| Daniel Lindner | a****3@g****m | 7 |
| clach04 | c****4@g****m | 7 |
| przemas75 | p****5@g****m | 7 |
| David | d****7@g****m | 6 |
| Artem Alexandrov | q****l@t****u | 5 |
| Dan Langille | d****n@l****g | 5 |
| Koen Vervloesem | k****n@v****u | 5 |
| Marcel | m****v | 5 |
| jfarcher | j****r@y****m | 4 |
| Philipp Adelt | i****o@p****t | 4 |
| Matthew Bordignon | m****w@b****t | 4 |
| Josh Wyse | j****h@j****m | 4 |
| Bram Hendrickx | y****u@e****m | 4 |
| joerggollnick | g****n@w****e | 4 |
| Lennart Buhl | g****t@h****e | 3 |
| and 58 more... | ||
Committer Domains (Top 20 + Academic)
ua.pt: 2
wurzelbenutzer.de: 2
beta.int.nayr.us: 1
devexperts.com: 1
gearheadsw.com: 1
puppet.(none): 1
wide-net.org: 1
hackmate.de: 1
joshwyse.com: 1
bordignons.net: 1
philipp.adelt.net: 1
vervloesem.eu: 1
langille.org: 1
tem4uk.ru: 1
qnib.org: 1
halacs.hu: 1
andc.co.nz: 1
mfd-consult.dk: 1
fabian-affolter.ch: 1
tobru.ch: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 122
- Total pull requests: 79
- Average time to close issues: 7 months
- Average time to close pull requests: 4 days
- Total issue authors: 37
- Total pull request authors: 17
- Average comments per issue: 5.57
- Average comments per pull request: 2.08
- Merged pull requests: 69
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 3
- Pull requests: 1
- Average time to close issues: 2 days
- Average time to close pull requests: N/A
- Issue authors: 2
- Pull request authors: 1
- Average comments per issue: 1.67
- Average comments per pull request: 2.0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- jpmens (25)
- matbor (17)
- sumnerboy12 (14)
- amotl (13)
- ghost (6)
- codebude (3)
- binarybucks (3)
- dlangille (2)
- ChristianKniep (2)
- zoic21 (2)
- Matthias84 (2)
- powermik (2)
- pdt590 (2)
- psyciknz (2)
- cranky-coder (2)
Pull Request Authors
- amotl (45)
- fabaff (6)
- otdftr (4)
- matbor (4)
- dgomes (4)
- gbeine (2)
- appzer (2)
- mcdamo (2)
- sumnerboy12 (2)
- sigio (1)
- jpbarraca (1)
- juzam (1)
- ChristianKniep (1)
- jhakonen (1)
- gumm (1)
Top Labels
Issue Labels
enhancement (30)
service plugin (11)
help wanted (11)
bug (9)
documentation (6)
feature (3)
sandbox-and-shipping (3)
question (3)
quality (2)
Pull Request Labels
documentation (5)
quality (2)
service plugin (1)
enhancement (1)
core (1)
Packages
- Total packages: 1
-
Total downloads:
- pypi 214 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 42
- Total maintainers: 2
pypi.org: mqttwarn
mqttwarn - subscribe to MQTT topics and notify pluggable services
- Homepage: https://github.com/mqtt-tools/mqttwarn
- Documentation: https://mqttwarn.readthedocs.io/
- License: EPL 2.0
-
Latest release: 0.35.0
published over 2 years ago
Rankings
Stargazers count: 2.1%
Forks count: 3.7%
Dependent packages count: 10.0%
Average: 10.9%
Downloads: 17.1%
Dependent repos count: 21.8%
Last synced:
6 months ago