linux
monitoring
raspberry-pi
automation
raspberrypi
mqtt
iot
internet-of-things
smarthome
dashboard
mqtt-hyperdash
control-systems
rule-engines
cockpit
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
123 lines
5.2 KiB
123 lines
5.2 KiB
+#. *# +###. #####+#####+ +* .# ++ ++ |
|
+#+ *# .#+.+#. *. *. +* .# ++ ++ |
|
+*# .*# ++ *+ *. *. +* .# *. *.+*##..*#*.+*#.##*+.###..##* +*##. |
|
++*.*.# *+ +* *. *. +##### +* #.+*.*+++.*++*.++.*+ .*+**. +*.*+ |
|
++++#.# ++ ..*+ *. *. *#*+* .# .#.* ++ .**###*++ *. ++.*##+.##*.++ ++ |
|
++.#* # .#++##. *. *. +* .# **. +*.*+++. ++ ++.*+**.*+ .#.++ ++ |
|
++ #+ # +####+ *. *. +* .# .# +*#*..*##.++ .*#*++##+*+##* ++ ++ |
|
.. .++ ++ |
|
+#. ++ |
|
|
|
|
|
|
|
VERSION 1.03 |
|
|
|
(C) 2019-2021 by Markus Hoffmann |
|
|
|
Name : MQTT-Hyperdash |
|
Version : 1.03 Vendor: Markus Hoffmann |
|
Group : Development/Languages License: GPL |
|
Packager : Markus Hoffmann <kollo@users.sourceforge.net> |
|
URL : https://codeberg.org/kollo/MQTT-Hyperdash |
|
Summary : A universal MQTT dashboard and rule engine framework. |
|
Description : |
|
|
|
MQTT-Hyperdash is a fast and efficient dashboard (GUI) for the MQTT framework. |
|
It uses the SDL library for graphics rendering, the paho.mqtt.c library for |
|
communication and the gtk2 framework for user input. The dashboard runs on |
|
Linux, but a port to other operating systems is possible. |
|
|
|
Special features: |
|
|
|
* Very simple and basic set of base elements. |
|
* animated analog input elements, potentiometers. |
|
* Fast update rates of 20 Hz are possible. |
|
* Easy to use: Each panel/dashboard is configured in a single .dash file. |
|
|
|
This repository contains following set of applications: |
|
|
|
|
|
hyperdash |
|
========= |
|
|
|
hyperdash runs a panel/dashboard, which has been defined in a dash file. It |
|
opens a window, draws all elements, updates with each new topic message and |
|
takes user input with the mouse to manipulate topics contents. |
|
|
|
|
|
dashdesign (HyperDash Dashboard Designer) |
|
========== |
|
|
|
Dashdesign is a graphical tool to create and edit the .dash files. |
|
|
|
|
|
hddashgen (HyperDash Dashboard-Generator) |
|
========= |
|
|
|
Making dashboard files by hand with a text editor can be a lot of annoying |
|
manual work. To help this, there is the tool hddashgen to automatically create |
|
dash files from topic lists, so one has a good starting point to work with. |
|
hddashgen will do this job in combination with mqtt-list-topics (see below). |
|
|
|
The default appearance is derived from the topics names, if they follow a naming |
|
convention. |
|
|
|
|
|
mqtt-list-topics |
|
================ |
|
|
|
A tool to connect to a mqtt broker and list all topics available there to |
|
stdout. |
|
|
|
mqtt-list-topics also performs a brief analysis on the topics content to |
|
classify the topic into binary, string, number, and integer. This classification |
|
is not perfect, since it is based on a single payload value only, but it can |
|
help making automatic dashboards for MQTT-Hyperdash. |
|
|
|
rule-engine sysmeasure and syslogger |
|
==================================== |
|
|
|
Rule engines are meant to be applications running completely in the background. |
|
They do not interact directly with user. Their function is to subscribe to a set |
|
of topics, watch their updates and trigger a routine, which calculates something |
|
based on the input topics and finally publish the result to output topics, which |
|
then can trigger other rules or rule engines. They also can perform actions on |
|
the machine they are running, like executing shell scripts when a topic content |
|
matches a certain pattern, or perform measurements by accessing local hardware |
|
components and publish the results to the mqtt network. |
|
|
|
With multiple rule engines running even on different computers using the same |
|
broker, one can implement a full automation control, which would create the |
|
Internet of Things. |
|
|
|
The concept of rule engines is not new and can be found in other automation |
|
concepts as well. This implementation is focused on high performance quick |
|
reaction, and reliability. And the realization is not very complicated. |
|
|
|
mqtt2serial |
|
=========== |
|
|
|
mqtt2serial connects to a mqtt broker and a serial (tty) device. This is a |
|
generic application (similar to the rule engine framework) to asynchronoulsy |
|
pass mqtt content to a serial line, and also accept asynchronously content from |
|
that line. |
|
|
|
This way, an arduino could be easily hooked to the serial line and pass its |
|
values and accept commands from it. |
|
|
|
Important Note: |
|
=============== |
|
|
|
This program is free software; you can redistribute it and/or modify |
|
it under the terms of the GNU General Public License as published by |
|
the Free Software Foundation; either version 2 of the License, or |
|
(at your option) any later version. |
|
|
|
This program is distributed in the hope that it will be useful, |
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|
GNU General Public License for more details. |
|
|
|
You should have received a copy of the GNU General Public License |
|
along with this program; if not, write to the Free Software |
|
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
|
|
|