Skip to content
dh5danPublic

About

Dashboard für MeshCom. MeshDash-SQL web-based Meshcom Client.

Resources

Stars

8 stars

Watchers

1 watching

Forks

Latest commit

 

History

245 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MeshDash-SQL

Was ist MeshDash-SQL?

MeshDash-SQL ist eine webbasierte Client-Anwendung zur Anzeige und Verwaltung von Nachrichten
auf Geräten mit der Firmware MeshCom.
Die Datenverarbeitung und -speicherung erfolgt über SQLite3, daher der Zusatz "SQL".

MeshDash ist bewusst als PHP-basierte Web-Appliance gebaut.
Installation und Betrieb sollen ohne Linux-Kenntnisse über
die Weboberfläche möglich sein. Darum werden Hintergrundprozesse,
Zeitsteuerung, Updates, Backups und Diagnose innerhalb des PHP/Apache-Kontexts verwaltet.

Dieses Projekt basiert ursprünglich auf der Arbeit von DL4QB.
Mit seiner tatkräftigen Unterstützung wurde daraus dieses Projekt entwickelt.
Es handelt sich um ein Freizeit-Hobbyprojekt, das die Anwendung und Bedienung von MeshCom
auf eine webbasierte Plattform bringen soll.

RELEASE

MeshDash-SQL wurde primär für den Einsatz auf einem Raspberry Pi mit Linux entwickelt.
Es ist aber auch auf jedem Debian-OS in einer VM bis einschließlich Trixie und sogar Docker lauffähig.
Unter Windows ist MeshDash auch lauffähig mit etwas fundierten kenntnissen über Apache/PHP.
Benötigt werden u.a. die PHP-Module: socket, sqlite3, curl, zip und unzip.

Zu MeshDash auf Docker gibt es im letzten Abschnitt weitere Infos.

⚠️ Hinweis

Ab v1.10.84 ist PHP >= 8.x Voraussetzung!


Einige Highlight-Funktionen von MeshDash:

Sollten Probleme auftreten, bitte im GitHub-Issue-Bereich melden – falls das Problem
noch nicht dort beschrieben ist. Es gibt außerdem eine Telegram-Gruppe zu MeshDash.
Den Link zur Einladung senden wir auf Anfrage gerne zu.


Wo finde ich die Releases?

Die aktuellen Releases von MeshDash findest du auf der GitHub-Seite unter dem Reiter „Releases“:
https://github.com/dh5dan/meshdash/releases

Dort stehen jeweils die aktuellen Versionen als ZIP-Dateien zum Download bereit.

Hier ist "Latest" anzuklicken!

RELEASE

🔴 Wichtiger Hinweis für neue Benutzer:

Die Dateien befinden sich unter Assets – bitte darauf klicken, um die Liste auszuklappen!

ASSETS


In MeshDash ist nun ein Abruf der aktuellen Release-Version möglich.

Die aktuelle Version kann direkt über MeshDash geladen werden, um auf dem neuesten Stand zu bleiben.

Der Changelog ist ebenfalls direkt abrufbar.

FILES

Hier wird das Changelog in einem Dialog-Fenster angezeigt.

FILES

Für die Installation sind nur folgende Dateien relevant:
Hier mal ein Beispiel:

  • meshdash-sql_Vx.xx.xx.zip - Das Hauptprogramm
  • install.sh - Installationsskript (bei Neuinstallation)
  • update_5d.sh - Update-Skript - (optional, da Webupdate möglich)
  • Manual-MeshDas-SQL.pdf - Ausführliches Benutzerhandbuch
  • Optional eine Autostart-Funktion von MeshDash (kein einmaliger Browseraufruf mehr nötig).

FILES


Restore-Funktion eines zuvor angelegten Backups

MeshDash-SQL bietet die Möglichkeit, zuvor erstellte Backups wiederherzustellen.
So kannst du bei Problemen oder nach einem Update den vorherigen Zustand einfach zurückspielen.

Wichtig:
Die Datensicherheit ist nur gewährleistet, wenn auch die Datenbank mitgesichert wurde.
Der Restore erfolgt über das Webinterface oder manuell, je nach Bedarf. FILES


Die Ansicht kann nun auch im Bubble-Style dargestellt werden

Das Layout zeigt Nachrichten nun als Sprechblasen, ähnlich wie bei Messenger-Apps,
was für eine bessere Übersicht und ein moderneres Design sorgt. FILES


Was steht in der Manual-Mesh-Dash-SQL.pdf?

Die frühere Kurzanleitung.pdf wurde durch eine umfassende Anleitung ersetzt: die Manual-Mesh-Dash-SQL.pdf.

Diese enthält:

  • Eine Installationsanleitung mit den wichtigsten Schritten zur Einrichtung von MeshDash.
  • Ein detailliertes Benutzerhandbuch mit Screenshots der Weboberfläche und Erläuterungen zu den Menüpunkten.
  • Einen Troubleshooting-Guide mit Tipps zur Fehleranalyse.

Das Manual unterstützt dabei, MeshDash schnell zu installieren und effektiv zu nutzen.
Es wird regelmäßig aktualisiert.


MeshDash mit Dark-Mode-Ansicht

MeshDash unterstützt nun ab V 1.10.70 auch die Dark-Mode-Ansicht

Nachrichten-Fenster FILES

Aktivierung des Dark-Mode in den Basiseinstellungen FILES


Hier noch ein paar Bilder aus den Menüpunkten:

FILES

FILES

FILES

FILES

FILES

FILES

FILES

FILES

Hier mit ausgeklappter Favoritenliste.
Diese kann individuell an die eigenen Bedürfnisse angepasst werden.
FILES

Komplette Kommandoliste mit Funktionsbeschreibung FILES


Mehrsprachenunterstützung von MeshDash

MeshDash ist nun in 6 Sprachen verfügbar:
Deutsch, Englisch, Französisch Spanisch, Niederländisch und Italienisch.
Die Übersetzungen wurde mithilfe einer KI erstellt und können ggf. noch unvollständig sein.
In Meshdash besteht jedoch die Möglichkeit, diese Übersetzungen individuell anzupassen.

FILES

FILES

FILES


Debug-Informationen sofort auf einen Blick

Ideal zur Fehleranalyse als Screenshot.
Hier können außerdem unkompliziert Logdateien heruntergeladen werden,
die zusätzliche hilfreiche Informationen liefern.

FILES

FILES


Byte-Counter Anzeige

Die Byte-Anzeige berücksichtigt das UTF-8-Format,
da UTF-8-Zeichen mehr als 1 Byte belegen können.
Die maximale Textlänge ist aktuell auf 150 Zeichen begrenzt.

FILES


Emoji einfügen

Über ein Drop-Down-Menü kann aus einer Auswahl gängiger Emojis gewählt werden. FILES


Suchfunktion über die gesamte Nachrichtendatenbank

Über das Lupen-Symbol wird der Suchdialog geöffnet, in dem verschiedene Suchkriterien ausgewählt werden können. FILES


Datums- und Zeit-Dialogfenster.

Ein Klick auf ein Datumsfeld öffnet einen Datums- und Zeit-Dialog zur einfachen Auswahl. FILES


Tab-Benachrichtigungen bei neuen Nachrichten.

Die Hintergrundfarbe der Tabs sowie Soundbenachrichtigungen lassen sich individuell pro Tab-Gruppe einstellen. FILES


HF-Reichenweitentest via Intervall-Baken.

Wir können über Intervall-Baken nun auch einen HF-Reichweitentest ausführen.
Einstellbar sind Intervallzeiten/Stop-Count sowie ein Freitext.
Gesendet wird im Präfix der Counter wie auch die eingestellte Intervallzeit.
Die Bake kann auch aus der Ferne über ein OTP (One-Time-Password) gestartet werden. FILES FILES


Notizfunktion für Calls.

FILES


Grafische Anzeige der MHEARD

Die Anzeige ist auch als Fullsize-Map verfügbar.
Ein-/Ausblenden von Verbindungen oder aller indirekten Nodes (via Repeater).
Filtermöglichkeit über das Datum (nur in Fullsize-Map).
Eine Legende über die Bedeutung der farblichen Node-Icons.
PopUp zu jedem Icon/Verbindung mit weiteren Informationen sofern verfügbar.

FILES


NINA-Api Abfrage

Seit Version 1.10.98 ist die NINA-API in MeshDash integriert.
Aktuell werden ausschließlich Abfragen der einzelnen Warnkategorien unterstützt.
Die zuletzt verwendete ARS-Eingabe wird gespeichert.

Hinweis zum amtlichen Regionalschlüssel (12 Stellen):
Die NINA-API stellt Daten ausschließlich auf Kreisebene bereit.
Bei manueller Eingabe wird der ARS automatisch mit Nullen auf 12 Stellen ergänzt. FILES

Die Suche der ARS-Region verfügt über eine Autovervollständigung,
die ab dem dritten eingegebenen Buchstaben aktiviert wird.
Die zugrunde liegende Datenbank basiert auf dem Stand vom 31.07.2021. FILES

Die Erläuterungen zu den Warnkategorien werden über ein Pop-up angezeigt.
Durch Klick auf eine Warnkategorie öffnet sich die entsprechende Beschreibung. FILES

Hier eine Beispielabfrage der Warnkategorie NINA für Rosenheim
inklusive der Warnkategorie MOWAS. FILES


Mobile Ansicht auf einem Smartphone

FILES


Sensordaten-Diagramm

Sensordaten können nun grafisch als Diagramm dargestellt werden.

FILES FILES


MeshDash auf Docker

Es ist möglich MeshDash auch in einer Docker-Umgebung laufen zu lassen.
Ich habe dies experimentell mal auf einer Synology DS1522+ eingerichtet.
Zum Einsatz kommen 2 Image-Container: PHP + nginx (Webserver).
Version nginx: nginx:1.29.1-bookworm-perl (oder höher) Version php : php:8.4.12-fpm-trixie (oder höher)

Es gibt 3 Mountpoints:

  • html (für den Webinhalt)
  • conf.d (für die nginx konfiguration)
  • logs (Logfile des nginx Webserver. Optional aber vielleicht von Interesse)

Port-Mapping:

Nginx: 8080:80 host:container/protokoll (tcp ist default)
PHP: 1799:1799/udp host:container/protokoll

Es gibt insgesamt 3 Dateien die zum Einsatz kommen.

  • docker-compose.yml (baut den eigentlichen Docker Container mit allen Einstellungen)
  • Dockerfile (baut ein Docker-PHP Image mit zusätzlichen Modulen socket,zip etc..)
  • default.conf (Konfigurationsdatei für den nginx Webserver)

Je nach System kann der Name der "docker-compose.yml" anders heißen.
Synology nennt sie zwar "docker-compose.yml" speichert sie aber als "compose.yaml" ab.
Das "Dockerfile" welches die Information zum Bauen des PHP-Images beinhaltet,
liegt bei mir in einem Sub-verzeichnis "php-addon".
Man kann es aber auch auf einer Ebene (./) legen. Hier muss man dann aber bei
"build" den Pfad herausnehmen.

Die Quell-Pfade für Mountpoints müssen an die persönlichen lokalen
Gegebenheiten angepasst werden. Auch ist es wichtig die jeweiligen
Datei-/Verzeichnisrechte korrekt zu setzten, damit Docker auch schreiben/Lesen kann.
Das ist eines der meisten Ursachen, wenn etwas nicht wie erwartet funktioniert.

Seht diese Dateien als Hilfestellung/Template an, um euch besser orientieren zu können.

docker-compose.yml (compose.yaml)

services:

  web:
    image: nginx:1.29.1-bookworm-perl
    container_name: nginx 
    volumes:
      - /volume1/backup/docker-syno/meshdash-sql/html:/usr/share/nginx/html # place your files for web here
      - /volume1/docker/meshdash-sql/nginx/nginx-conf:/etc/nginx/conf.d # place provided nginx.conf here
      - /volume1/backup/docker-syno/meshdash-sql/nginx/logs:/var/log/nginx
    restart: unless-stopped
    ports:
      - 8080:80    # Port-Mapping external:internal
    expose:
      - 80
    depends_on:
      - php        # Erst starten wenn PHP Up and ready ist
      
  php:
    build: ./php-addon   # <- Ordner, in dem deine Dockerfile liegt
    container_name: php
    volumes:
      - /volume1/backup/docker-syno/meshdash-sql/html:/usr/share/nginx/html # must be same path as above in nginx
    restart: unless-stopped
    working_dir: /usr/share/nginx/html
    ports:
      - "1799:1799/udp"   # UDP für MeshDash
    expose:
      - 9000              # nur intern für nginx (optional)
    

Hinweis:

Der Name "Dockerfile" ist Groß-/kleinschrift abhängig.
Das "D" muss hier großgeschrieben werden.
Die Datei liegt im Sub-Verzeichnis zur compose.yaml in /php-addon

hier werden die Module Sockets, Zip, Unzip und Netzwerk-Tools installiert,
welche MeshDash benötigt.

Dockerfile

FROM php:8.4.12-fpm-trixie

# Installiere procps (für pgrep) + Sockets Extension + ggf. andere Basics
# procps für pgrep
RUN apt-get update && apt-get install -y procps net-tools libzip-dev unzip && rm -rf /var/lib/apt/lists/*

# PHP-Sockets installieren
RUN docker-php-ext-install sockets zip calendar

WORKDIR /usr/share/nginx/html

Nginx default.conf

server {
    listen 80;
    server_name localhost;
    client_max_body_size 50M;

    root /usr/share/nginx/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass php:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
}

Features und Bugs

Alle aktuellen Features und gemeldeten Bugs sind im GitHub-Bereich ISSUES
dokumentiert und können dort verfolgt werden.

About

Dashboard für MeshCom. MeshDash-SQL web-based Meshcom Client.

Resources

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages