Hier entsteht die neue Dokmentations- und Hilfeseite für das Hotspot Dashboard von DL3EL


Releasenotes (09.10.2025 bis 24.03.2026, V5.34)

1. Einleitung

2. Installation

3. Beschreibung Dashboard

3.1 Hauptmenü erste Zeile

3.1a Dropdown Variante Hauptmenü

3.1.1 Dashboard / Classic

3.1.2 Talkgroups

3.1.3 MonitorCalls

3.1.4 Echolink

3.1.5 FM-Relais

3.1.6 DX-Cluster (optional)

3.1.7 OHC (OpenHamClock)

3.1.8 OpenWebRX (optional)

3.1.9 VoiceFMN (WebTG, optional)

3.1.10 FMN WebChat

3.1.11 SVXCube (optional)

3.1.12 Backup/Restore

3.1.13 WiFi

3.1.14 Log

3.1.15 Authorise

3.2 Hauptmenü zweite Zeile

3.2.1 Expert/Normal

3.2.2 FullScreen Editor

3.2.3 SVXLink, MetarInfo, NodeInfo

3.2.4 Echolink Konfiguration

3.2.5 APRS Konfiguration

3.2.6 PHP Konfiguration: config.php

3.2.7 AMixer

3.2.8 Radio

3.2.9 Power

3.3 Hauptmenü dritte Zeile

3.4 Profile

3.5 Statusübersicht

3.6 LastHeard Liste

3.7 LiveDashboard

3.8 untere Buttonleiste

3.9 Systeminfo

3.10. PTT

3.11. RX Monitor

4. Einträge in der config.php, die bisher nicht beschrieben wurden

5. Einstellungen für Sysops


Einleitung

Das Dashboard, ursprünglich als Bediengsmöglichkeit für den lokalen Hotspot gedacht, wurde immer mehr zu einer Oberfäche für den Funkamateur daheim entwickelt.

Es ist hardwareunabhängig (läuft in jedem Browser) und bietet folgende Funktionen:

  • Visualisierung des aktuelle Status
  • Änderung von TGs im Hotspot
  • Änderung der Konfigurationn weitgehend ohne die Notwendigkeit, sich mit Unix zu befassen (integrierter Editor)
  • Log Dateien lesen
  • Anzeige aller "offiziellen" Talkgroups
  • Übersicht über die Teilnehmer in den abonierten Talkgroups
  • Echolink Zugang
  • Information zu FM Relais (DL3EL Relaislisten)
  • OpenWebRX einbinden (optional)
  • DX-Cluster integriert
  • OpenHamClock
  • WebTG von Jens, DJ1JAY
  • WebInterface zum SVXCube von Jens, DJ1JAY
  • Backup und Restore der wichtigsten Dateien
  • Programmierung des Radios (Shari oder RF-Guru)
  • neustarten von Prozessen
  • Updates über Github
  • Soundeinstellungen
  • APRS Nachrichten senden und empfangen
  • APRS Daten mitlesen
  • selbstkonfigrierte externe WebSeiten einbinden
  • Live FM_Funknetz Dashboard
  • FM Funknetz QSOs lokal wiedergegben


  • Hinweis: zur Zeit läuft das Dashboard nur mit einem Aufruf über "http".
    Bei einem Aufruf mit "https" wird nicht alles korrekt angezeigt


    Ein ziemlich voll konfiguriertes Dashboard sieht in der Grundansicht so aus:



    Zurück nach oben


    Installation

    Wenn man das Raspberry Image von Michael, DC9VQ, nutzt, dann ist das Dashboard vorinstalliert. Es empfiehlt sich nur, möglichst zeitnah nach Inbetriebnahme ein Update auf die neueste Version durchzuführen.

    Bei einer eigenen Installation setzt das Dashboard eine normale Installation von SVXLink voraus. Die Vorgehensweise ist ausführlich bei Github beschrieben.
    Besondere Voraussetzung gibt es keine, ein normaler Raspberry 3B mit 1GB reicht aus.

    Zurück nach oben

    Hauptmenü



    Das Hauptmenu zeigt im blauen Balken das Rufzeichen, mit dem der Hotspot im FM-Funknetz angemeldet ist. Darunter steht der Reflektor, mit dem der Hostpot verbinden ist und die aktuelle Version des Dashboards. Hinter der Versionsnummer verbirgt sich ein Link zur Github Seite des Dashboards.

    Ganz rechts steht das Logo vom FM-Funknetz mit einem Link zum Wiki des Systems.

    In den nächsten drei Zeilen (im Classic Menü) stehen die Menüpunkte für alle Funktionen im Dashboard. Per Default sind nicht alle möglichen Einträge sichtbar, sie müssen zum Teil über einen neuen Eintrag in der config.php eingeschaltet (d.h. auch hinzugefügt) werden.



    Dropdown

  • Dropdown Menü
  • Es gibt neben dem Classic Menü auch die Auswahl zu einem Dropdown Menü.
    Dieses kann über den Punkt "dropdown" in der zweiten Zeile aktiviert werden. Zuvor muß aber in der config.php
    dieser Eintrag über die Variable  define("DL4EM_TOPMENU", "yes");   freigeschaltet werden.
    Im Classic Menü sowie im Dropdown Menü kann jederzeit zwischen beiden Ansichten gewechselt werden.



      Im Dropdown Menü gibt es alle bisher bekannten Funktionen des Classic Menüs
      Die einzelnen Funktionen erreicht man durch Aufklappen der einzelnen Menüpunkte
      zum Beispiel DISPLAY



      Hier findet man alle Menüpunkte wieder, die auch im Classic Menü unter Display zu finden waren.
      Im Classic Menü besteht die Möglichkeit externe Web Seiten einzubinden,
      gleiches gilt auch für das Dropdown Menü. Je nach dem ob diese Seiten in das Dashboard
      eingebunden werden sollen oder in einem neuen Browserfenster angezeigt werden sollen,
      kann das in bekannter Weise in der config.php festgelegt werden.

      Web Seiten die in einem neuen Browserfenster dargestellt werden sollen, findet man dann
      im Menüpunkt EXT LINKS

      Im Dropdown Menü gibt es folgende Menüpunte (Detail in der Beschreibung zum Classic Menü):
      HilfeHinweise und Versionshinweis Button (blau)
      DashboardButton dient der Anzeige des Dashboards mit Lastheard Liste (Standartanzeige)
      DISPLAYAnzeige z.B. Talk Groups, Monitor Calls, Echolink, FM Relais usw. im Dashboard
      EXT LINKSAnzeige von Web Seiten in neuem Browserfenster
      SYSTEMAnzeige von systemnahen Funktionen, z.B. WiFi, Network, Backup 6 Restore
      NORMAL EDITAnzeige diverser Editoren für Config Dateien, dieser Menüpunkt ist nur sichtbar, wenn Button NORMAL gewählt wurde.
      EXPERT EDITAnzeige diverser Editoren für Config Dateien, dieser Menüpunkt ist nur sichtbar, wenn Button EXPERT gewählt wurde.
      REF CONFIGAnzeige der Konfiguration von Profilen(bis zu 4 Stück)
      LOG FILESAnzeige von Log Dateien z.B. SVXLink Log
      EXPERTButton dient der Umschaltung von Expert- zu Normaleditoren.
      NORMALButton dient der Umschaltung von Normal- zu Experteditoren.
      AuthoriseButton zur Anzeige des Menüs zur Authorisierung
      PowerButton zur Anzeige des Power Menüs und ggf. Update des Dashboards



    Zurück nach oben




  • Classic Menü
  • Es gibt im Classic Menü nun die Auswahl zu einem Dropdown Menü,
    dass in der config.php mit der Variablen  define("DL4EM_TOPMENU", "yes");   aktiviert werden kann.
    Im Classic Menü sowie im Dropdown Menü kann jederzeit zwischen beiden Ansichten gewechselt werden.







    Zurück nach oben


    erste Zeile:


    Display: Dashboard | Talk Groups | MonitorCalls | Echolink | FM Relais | DX | OHC | OWR | Voice FMN | FMN WebChat | SVXCube | Backup/Restore | Wifi | Network | Log | Authorise
  • Dashboard zeigt die Grundansicht (komlettes Bild siehe weiter oben)

  • Talk Groups zeigt alle im FM-Funknetz definierten offizielln TGs an. Jede Zeile sieht so aus:

  •   Ein Klick auf das Lautsprechersymbol abonniert die ausgewählte TGs als Monitor TG
      Ein Klick auf das Antennensymbol abonniert die ausgewählte TGs als aktive TG



    Zurück nach oben




  • MonitorCalls zeigt alle Rufzeichen die ebenfalls eine der gebuchten TGs aboniert haben, So bekommt man ein Gefühl für die Reichweite der eigenen Aussendungen

  •   Ein Klick auf eine TG abonniert diese als aktive TG
      Ein Klick auf ein Call zeigt die Detailinformationen aus dem FM-Funknetz für dieses Call an



    Zurück nach oben

  • Echolink zeigt alle Echolink Stationen, beginnend mit dem eingegeben Prefix, an. Zum Erzeugen der Liste muss "Query" gedrückt werden

  •   Ein Klick auf ein Call startet das Echolinkmodul und versucht die gewählte Station zu erreichen.
      Wird als Prefix "DL" eingegeben, so werden alle deutschen Stationen angezeigt.



    Zurück nach oben


  • FM-Relais
  • Hier werden alle Relais mit Echolink oder FM-Funknetz Zugang angezeigt. Beim Aufruf über das Menü wird zuerst das Ergebnis vom letzen Aufruf angezeigt (damit es schneller geht)



      Man kann den Bezugspunkt der Abfrage entweder durch ein APRS Rufzeichen oder einen QTH LOcator angeben und dann die Abfrage mit "Query" auslösen. Wird beides angegeben, so gewinnt der Locator.
      Wenn in der APRS Konfig der Parameter aprs_follow gesetzt ist, so wird automatisch die Position dieses Rufzeichens als Bezugspunkt genommen. Aber nur, wenn die letze Position jünger als 12h ist.
      Die Anzeige enthält die von den DARC Relaislisten bekannten Daten.
      Ein Klick auf die TG bzw. die Echolink-Nummer abonniert entweder die FM-Funknetz TG oder startet das Echolink-Modul und versucht das Call damit zu erreichen.

      Am Ende der Liste wird der aktuelle Wetterbericht des nächsten Flughafens ausgegeben. Nähere Informationen zum METAR Format.
      Wenn man mit der Maus über den Wetterbericht fährt, wird er übersetzt angezeigt.



    Zurück nach oben


  • DX-Cluster (optional)
  • Anzeige der aktuellen DX-Cluster Daten. Die Liste wird laufend aktualisiert.



      Um den Menüeintrag zu aktivieren muß in der config.php die Variable define("DL3EL_DXCLUSTER", "yes"); gesetzt sein.
      Ist in der config.php die Variable define("DL3EL_DXCLUSTER_CONT", "EU"); gesetzt, so werden nur Clustermeldungen angezeigt, die aus Europa gemeldet wurden.

      Herlichen Dank an Jörg, DJ7NT für die Bereitstellung der Daten.



    Zurück nach oben


  • OpenHamClock (OHC)

  •   Anzeige von OpenHamClock im Dashboard Layout. Beim ersten Aufruf müssen die Settings konfiguriert werden,
      diese werden im Browser gespeichert.
      Um den Menüeintrag zu deaktivieren muß in der config.php die Variable define("DL3EL_OPENHAMCLOCK", "no"); gesetzt sein.
      Wenn man eine eigene Instanz von OpenHamClock gebaut hat, so kann man in der Variable anstatt "no" die Adresse der Instanz
      angeben. Dann wird diese angezeigt.

      Es empfiehlt sich in den Settings von OpenHamClock beim Layout "dockable" auszuwählen. Dann lässt sich die Größe der Boxen
      indviduell einstellen
      Im Moment gibt es Schwierigkeiten, openhamclock im Dashboard Layout anzuzeigen. Falls das auftritt, bitte die Variable   define("DL3EL_OPENHAMCLOCK_TAB", "new");   setzen. Dann wir die WebSeite in einem neuen Tab angezeigt.

      Da die externen WebSeiten durchaus recht breit werden können, ist im Moment eine Defaultbreite von 1500px für den
      Mittelteil eingestellt.
      Wenn das zu breit ist, kann man dies über die Variable define("DL3EL_EXTERNWEB_WIDTH", "1000"); in der config.php einstellen,
      je nach Bildschirmgröße. Es findet keine Fehlerprüfung statt, die Größe ist in "px", das "px" darf nicht angegeben werden.



    Zurück nach oben


  • OpenWebRX (optional)
  • Wenn in der config.php die Variable define("DL3EL_OPENWEBRX", "https://websdr.z-05.de/#freq=144800000,mod=empty,secondary_mod=packet,sql=-150"); zum Beispiel so gefüllt ist, dann wird die Webseite im Layout aufgerufen. Existiert die Variable nicht, wird der Menüeintrag "OWR" nicht angezeigt.




  • VoiceFMN (WebTG, optional)

  •   Anzeige des WebSDR von Jens, DJ1JAY, mit dem man alle Stream des FM-Funknetz hören kann
      Dieser Eintrag ist optional und kann mit der Variablen define("DL3EL_FMFUNKNETZ", "yes"); aktiviert werden



    Zurück nach oben


  • WebChat

  •   Vor kurzem hat Jens, DJ1JAY einen weiteren Zugang zum FM-Funknetz gebaut, JaY-TrX-Link
      In diesem Client ist ein FM-Funknetz interner Chat enthalten. Es gibt jetzt einen Zugang in diesen Chat direkt vom Dashboard aus.
      Das bedeutet, dass man jetzt direkt aus dem Dashboard heraus mit Nutzen von JaYTrX-LinK, aber auch mit anderen
      Dashboard Nutzern chatten kann. Beim Aufruf über den Menüpunkt in der ersten Zeile des Hauptmenüs, wird das Chatfenster geöffnet
      und das aktuelle Rufzeichen wird im allgemeinen Chat angemedet

      Stellt das Dashboard fest, dass die MQTT Unterstützung installiert ist, so wird unterhalb der Lastheardliste, eine Detailansicht
      der aktiven/Default TG mit den Abonnenten der TG angezeigt. Sobald hier eine aktive TG angezeigt wird, gibt es einen neuen Punkt:



      FMN WebChat mit der entsprechenden TG in der Überschrift. Ein Klick darauf öffnet ebenfals den WebChat,
      aber gleich im Chatraum der aktiven TG. Ausserdem werden Einladungen an alle Teilnehmer geschickt, die in dieser TG sind.

       Mit der Variablen define("DL3EL_WEBCHAT", "no"); kann der Eintrag zum WebChat unterdrückt werden



    Zurück nach oben


  • SVXCube (optional)

  •   Anzeige der WebSeite des SVXCube von Jens, DJ1JAY, der Teile des Dashboards auf einem M5-Stack visiualisiert.
      Dieser Eintrag ist optional und kann mit der Variablen define("DL3EL_SVXCUBE", "http://192.168.x.x"); aktiviert werden



    Zurück nach oben


  • Backup/Restore

  •   Alle wichtigen Dateien der Installation werden in einer ZipDatei auf dem Rechner, auf dem man das Dashboard sieht (nicht dem Raspberry)
      gespeichert. und können von da wieder zurückgeladen werden
      Aus technischen Gründen sieht das Bildschirmlayout bei dieser Funktion etwas anders aus



    Zurück nach oben


  • WiFi
  • Hier wird Beschrieben wie ein neues WLAN-Netzwerk eingerichtet werden kann



      Voraussetzung ist eine bestehende Verbindung zum Rasberry Pi, ideal mittels LAN-Anschluss.
      Dann kann mit dem WiFi Configurator eine Verbindung zu einem gewünschten WLAN-Netzwerk
      hergestellt werden.

      Zu beachten:
      Bei bestehender WLAN-Verbindung wird nach Verbindung mit dem neuen Netz die bestehende WLAN-Verbindung
      getrennt und der Raspberry Pi ist nur noch über die neue Verbindung erreichbar.

      Im Screen Fenster werden Rückmeldungen des Raspberry Pi angezeigt.

      Einrichtung eines neuen WLAN-Netzwerks:
        1. Im Input Feld „SSID (network name)“ den Namen des gewünschten WLAN-Netzwerks
            eingeben.
        2. Das Passwort des WLAN-Netzwerks eintragen und mittels
            „Add Network & Connect“ Die Einträge absenden.

      Bei korrekter Eingabe der Daten wird im Screen Fenster
          „Device 'wlan0' successfully activated“
      angezeigt. Damit ist die Verbindung zum WLAN- Netzwerk hergestellt.

      Weitere Funktionen (Action Felder)
      AIR ScanAuflistung der verfügbaren WLAN-Netzwerke einschl. Funkkanal und Datenrate
      Conn Listlistet alle LAN und WLAN-Verbindungen auf einschl. Name, UUID und Typ
      WiFi StatusHard- u. Software enabled, disabled Hilfe zur möglichen Fehlersuche
      Switch to SSIDWechsel des WLAN-Netzwerks sofern mehrere zuvor definiert wurden
      Delete SSIDlöschen von zuvor definierten WLAN-Netzwerken
      WiFi onEinschalten von WLAN des Raspberry Pi



    Zurück nach oben



  • Log

  •   Ursprüngliches Livelog



    Zurück nach oben


  • Authorise

  •   Dieser Menüpunkt ist in erster Linie für Sysop von Relais mit einem öffentlichen Hotspot-Dashboard interessant.

      Wird das Dashboard im gesicherten Netzwerk daheim betrieben, kann auf einen Authorisierung verzichtet werden. Das erfolgt über die Variable:
      define("DL3EL_NOAUTH", "yes");
      Im Image von DC9VQ ist das voreingestellt.
      Ansonsten kann man sich hier mit userid und Passwort anmelden. Die notwendigen Daten werden in der Datei include/config.inc.php hinterlegt.



    Zurück nach oben



    zweite Zeile:


    Neues in v5.30c (Expert/Normal) [Full] Edit | SVXLink | EchoLink | MetarInfo | NodeInfo | aprs.conf | config.php | Power

  • Expert/Normal
  • Expert/Normal schaltet zwischen zwei Modi zum Editieren der .conf Dateien um.

    Historisch gibt es in dem Dashboard einen Editor für die wichtigsten Konfigurationsdateien mit einer groben Syntaxprüfung, der den Benutzer vor Unfällen bewahrt. Der hat aber auch Nachteile. So müssen neue Parameter z.B. erstmalig per ssh und Editor auf Unixebene in die Datei eingetragen werden.
    Im "Normal" Modus, wird dieser Editor verwendet.

    Im "Expert" Modus wird ein Fullscreen Editor verwendet, der ein Ändern der Konfigurationsdateien ohne Einschränkungen (und ohne Fehlerprüfungen) erlaubt. Für den Fall, dass doch etwas richtig schief geht, wird bei jeder Änderung der alte Zustand gesichert (Dateiame plus Datum/Uhrzeit). Eine Wiederherstellung der alten Version ist nur auf Unixebene möglich.



  • [Full] Edit
  • Hier wird angezeigt, ob man den Fullscreen oder den normalen (alten) Editor benutzt



    Zurück nach oben



  • Fullscreen Editor



  •   Diese Hinweise gelten allgemein für den Fullscreen Editor, die einzelnen Menüpukte dieser Zeile ändern nur die zu ändernde Datei.
      Grundsätzlich arbeitet der Editor, wie jeder bekannte Seiteneditor (delete/copy/paste). Wir arbeiten hier in einem PHP-System, das, soweit es geht, PHP-Fuktionen nutzt.
      So auch zum späteren lesen und verarbeiten von .conf Dateien. Sollte man in der svxlink.conf innerhalb einer [section] den gleichen Eintrag mehrfach verwendet haben,
      so gilt immer der letzte. Egal ob als Kommentar gekennzeichnet oder nicht. Das ist vor allem dann wichtig, wenn später Skripte darauf aufsetzen (z.B. bei den verschiedenen Profilen.
      Es empfiehlt sich also niemals einen alten Eintrag als KOmmentar stehen zu lassen. Wenn das unbedingt sein muss, dann nur oberhalb des letztendlich gültigen Eintrages. Sollte eine .conf Datei
      später einmal maschinell geändert werden, werden solche Mehrfacheinträge gelöscht (bis auf den letzten, egal ob auskommentiert oder nicht),





      Unterhalb des Editorfenster gibt es die Möglichkeiten, die Änderungen abzubrechen, zu speichern oder zu speichern und den Prozess neu zu starten
      Das System erkennt um welche Datei es sich handelt und startet den richtigen Prozess (svxlink, aprs). Wird die config.php geändert, ist kein Neustart notwendig,
      es reicht ein Reload des Dashboards im Browser.



    Zurück nach oben


  • SVXLink, MetarInfo, NodeInfo
  • Editor für die entsprechenden.conf Dateien. Bei einer Standard SvxLink Installation handelt es sich um folgende Dateien:
    /etc/svxlink/svxlink.conf
    /etc/svxlink/svxlink.d/ModuleMetarInfo.conf
    /etc/svxlink/node_info.json

    Sollte eine eigene SvxLink Installation mit anderen Verzeicnissen haben, so müsen diese Verzeichnisse in der config.php entsprechend eingestellt werden:
    // Path and file name of confguration
    define("SVXCONFPATH", "/etc/svxlink/");
    define("SVXCONFIG", "svxlink.conf");
    define("MODULEPATH", "/etc/svxlink/svxlink.d/");
    define("ECHOLINKCONFIG", "ModuleEchoLink.conf");
    define("METARINFO", "ModuleMetarInfo.conf");
    // Path and file name of log
    define("SVXLOGPATH", "/var/log/");
    define("SVXLOGPREFIX", "svxlink.log");


  • Echolink
  • Der Editor für Echolink funktioniert ohne Einschränkungen, es gibt jedoch zwei Dinge zu beachten.
    Geändert wird: /etc/svxlink/svxlink.d/ModuleEchoLink.conf

    Echolink Proxy

    Wenn man für seine Echolink Installation keine eindeutige und routbare IPv4 Adresse hat, benötigt man einen Proxy.

    Eine "eindeutige" IP Adresse bedeutet, dass sich hinter einem IPv4 Anschluss immer nur genau einen Echolink Client geben darf.
    Der muss im Router entsprechend eingetragen sein.
    Eine "routbare" IPv4 Adresse ist eine Adresse ausserhalb der Bereiche 10.0.0.0/8, 172.16.0.0/12 und 192.168.0.0/16.
    Solche Adresse bekommt an z.B. wenn der Provider einen Internet Anschluss über DS-Lite zur Verfügung stellt.
    In diesen Fällen benötigt man einen Echolinkproxy.

    Wenn man die öffentlichen Proxies für Echolink nutzen möchte, reicht es jetzt in der Datei
      /etc/svxlink/svxlink.d//ModuleEchoLink.conf
      als Proxy PUBLIC einzutragen:
      PROXY_SERVER = PUBLIC
      es wird dann automatisch ein freier Proxy gesucht. Dessen Adresse ersetz dann PUBLIC in
      der .conf Datei. Achtung, damit die Konfig korrekt gespeichert wird, müssen auch in
      diesem Fall die Einträge
      PROXY_PASSWORD =
      PROXY_PORT =
      in der Datei vorhanden sein (siehe Version 4.54). Der Inhalt rechts vom = ist egal und wird
      durch die korrekten Werte überschrieben.
      Diese Vorgehensweise ist aber nur dann notwendig, wenn man das System komplett neu aufsetzt
      oder von einem privaten Proxy zu einem öffentlichen Proxy wechseln möchte. In einer laufenden
      Installation muss man diese Funktion nicht benutzen.

    Inhalt von ModuleEcholink.conf prüfen

    Wenn man eine eigene SvxLink Installaion hat oder mal einen Update macht, kann es sein, dass die Datei /etc/svxlink/svxlink.d/ModuleEchoLink.conf
    die folgenden Inhalt hat:
    DESCRIPTION="You have connected to a SvxLink node,\n"
    "a voice services system for Linux with EchoLink\n"
    "support.\n"
    "Check out http://svxlink.sf.net/ for more info\n"
    "\n"
    "QTH: My_QTH\n"
    "QRG: Simplex link on ???.??? MHz\n"
    "CTCSS: My_CTCSS_fq_if_any Hz\n"
    "Trx: My_transceiver_type\n"
    "Antenna: My_antenna_brand/type/model\n"

    Die Standardfunktion in PHP zum Einlesen und Verarbeiten von .ini oder .conf Dateien ist
    parse_ini_file(). Das verwendete Format ist mit dieser Funktion nicht kompatibel und nicht erlaubt.
    Leider wird dieses Format nicht nur mit einer Warnung bestraft, sondern die Funktion wird an
    der Stelle auch abgebrochen. Daher verwende ich jetzt eine ähnliche Routine, unabhängig von der PHP
    Standardbibliothek. Jetzt wird der Fehler abgefangen und korrigiert.
    "Abgefangen" bedeutet, die Funktion funktioiert wie erwartet
    "korrigiert" bedeutet, dass die Zeilen, die nicht mit DESCRIPTION=" beginnen, gelöscht werden.
    Es beleibt also von dem Beispiel ob nur die Zeile
    DESCRIPTION="You have connected to a SvxLink node,\n"
    übrig. er Rest wird gelöscht. übrig. er Rest wird gelöscht.



    Zurück nach oben

    APRS

  • APRS Konfiguration
  • Das Dashboard kann APRS Nachrichten senden und empfangen.
    Damit das funktioniert muss das mitgelieferte Programm aprs-is-msg.pl als Hintergrundtask laufen.
    Diese sind im Image Version 1.30 von DC9VQ bereits enthalten.

    Sobald die Konstante
    define("DL3EL_APRS_MSG", "yes");
    gesetzt ist, prüft das Dashboard, ob der APRS Task läuft und startet diesen, wenn notwendig.
    Dieser Task lauscht auf dem APRS Backbone und filtert die eigenen Nachrichten heraus.
    Sobald eine neue Nachricht empfangen wurde, wird oben im Statusfenster der Hinweis "Neue APRS Nachricht"
    eingeblendet. Man kommt direkt durch einen Klick darauf zum APRS Fenster. Ansonsten kann dies jederzeit
    über den Link in der dritten Menuzeile oben erreicht werden.
    Der Task prüft beim Start ob eine Konfiurationsdatei vorhanden ist und genutzt werden kann. Wenn nicht, wird mit Defaultwerten gearbeitet.
    Die Konfigurationsdatei ist /var/www/html/FM-Funknetz/dl3el/aprs-is-msg.conf
    Ist diese nicht vorhanden, wird sie mit den Defaultwerten aus der Datei /var/www/html/FM-Funknetz/dl3el/aprs-is-msg.conf erstellt

    Parameter der Datei (Defaultwerte):
    aprs_login = "N0CALL"
      Wenn hier etwas ungleich "N0CALL" eingetragen ist, so wird das als Login Call verwendet
      Falls nicht, wird das in der svxlink.conf für FM-Funknetz eingetragene Call genutzt.
      Danach wird geprüft, ob die SSID im Bereich von -1 bis -15 ist.
      Ist sie nicht numerisch, wird als SSID -15 genutzt, ist sie größer als -15 wird -14 verwendet.

    aprs_passwd = "-1"
      Hier kann das aprs Passwort eingetragen werden. Fehlt es, wird es automatisch berechnet.

    aprs_msg_call = "N0CALL"
      Hier kann das Rufzeichen eingegeben werden, das Nachrichten empfangen soll. Fehlt es, wird aprs_login verwendet.
      Hat das Rufzeichen keine SSID und endet mit einem *, so werden alle Nachrichten für dieses Rufzeichen empfangen.

    aprs_lat = "5001.00N"
    aprs_lon = "00800.00E"
      Wenn ein korrekter Standort eingetragen ist, so wird dieser mit einer Bake beim APRS Start und beim keepalive ausgesendet.
      Bitte unbedingt dieses Format verwenden, andere Formate sind nicht gültig und funktionieren nicht.
      Das APRS-Koordinatenformat basiert auf Graden und Dezimalminuten (DDMM.mm).
      Das Standardformat für Positionen lautet: DDMM.mmN DDDMM.mmW   DDMM.mmN: Breite (Latitude) – 2 Ziffern Grad, 2 Ziffern Minuten, Punkt, Dezimalminuten, N (North) oder S (South).
      DDDMM.mmW: Länge (Longitude) – 3 Ziffern Grad, 2 Ziffern Minuten, Punkt, Dezimalminuten, E (East) oder W (West).
      Beispiele: 5045.20N 00705.50E
      Wichtige Details   Keine Leerzeichen: Zwischen den Zahlen, dem Punkt und dem Kennbuchstaben (N/S/E/W) dürfen keine Leerzeichen stehen.
      Führende Nullen: Die Breitengrade müssen immer zweistellig (00-90), die Längengrade dreistellig (000-180) eingegeben werden.
      Umrechnung von Sekunden: Sekunden werden in Dezimalminuten umgerechnet, indem man die Sekunden durch 60 teilt.

    aprs_sym = "-"
      Es werden zur Zei tnur Symbole aus der primären Basistabelle unterstützt. Dei Symbole werden z.B. bei aprs.fi dargestellt.
      Hinweis: wenn man daheim mehere APRS Statinen betreint und alle die exakt glechen KOodrianten haben, dann sieht man auf der KArte immer
      nur die Station, die sich zuletzt gemeldet hat.

    aprs_filter = "m/50"
      Es werden nur Nachrichten empfangen, die in den Filter passen, in diesem Fall aus einem Umkreis von 50km.

    aprs_follow = ""
      Im Statusfenster wird links unten der aktuelle Standort des Dashboard s angezeigt. Die Information wird aus dieser Konfig-Datei genommen.
      Wenn man einem mobilen Gerät folgen möchte, z.B. weil man den Hotspot im Auto verbaut hat, so kann man das APRS-Rufzeichen des Autos hier eintragen.
      Dann ändert sich der Standort des Dasboards dynmisch mit dem Auto. Ausserdem wird der Standort dann für die Abfrage der Relais verwendet.

    Eine Bake wird alle 30 Minuten oder bei Wechsel der TG verschickt.

    Wenn man ein Radio (Shari oder RFGuru) eingetragen hat, wird die Frequenz und der CTCSS Ton in der Bake angegeben.
    Hat man kein Radio angeschlossen, kann man über die Variable
    define("DL3EL_RADIO", "SC (no Radio, 145.750MHz)");
    den Text der Bake beeinflussen.
    besondere APRS Nachrichten

    Das APRS Interface kann spezielle Nachrichten empfangen, Zur Zeit ?wx? und ?rp?

    ?wx? Wann man per APRS an seine eigene Station per mobilen APRS Gerät den Befehl ?wx? schickt, dann wird der Wetterbereicht des
    nächstgelegenen Flughafens im Metar Format an das APRS Gerät geschickt. Es werden Flughäfen
    im Umkreis von 50km um das anfragende Gerät berücksichtigt.
    Eine Erklärung zum Metar Format gibt es hier: https://de.wikipedia.org/wiki/METAR


    ?rp? Mit dem Befehl ?rp? bekommt man die nächstgelegenen Relais mit Echolink oder FM-Funknetzanbindung an das APRS Gerät geschickt.
    Da die meisten Geräte nur 67 Bytes Nutzlast empfangen können und das i.d.R. nur zwei Relais sind, werden
    zwei Pakete mit jeweils zwei Relaisinformationen verschickt. Pakete mit mehr als 67 Byte Nutzlast, werden von den Geräten meist ignoriert.
    Die Ausgabe sieht dann etwa so aus, genereller Aufbau:
    Call;Frequenz,CTCSS,Entfernung,Systemb>
    Die Frequenz ist auf 3 Nachkommastellen begrenzt
    Die Entfernung gilt ab dem Standort, von dem die Anfrage kam
    Das System "E" ist Echolink und "FR" ist FM-Funknetz

    Beispiel:
    DB0HTV;145,750;;2.02km;FR
    DB0HTV-R;145,750;67,0Hz;2.06km;E

    zweiter Antwortframe
    DB0HTV-XLX;145,750;;2.30km;FR
    DK1ML-L;145,337;;6.32km;E

    Da ich ein FT2D für portablen APRS Betrieb habe, kann ich spezielle Funkgeräteanpassungen
    am einfachsten an diesem Gerätetyp machen. Der Empfänger kann APRS Nachrichten mit einer
    maximalen Länge von 67 Zeichen darstellen. Verteit auf 3 Zeilen a 20 Byte und eine mit dem Rest.
    Die zuletzt empfangene Nachricht ist immer die oberste. Daher gibt es jetzt eine spezielle
    Ausgabe für das FT2D (und vergleichbare Geräte) wenn man den Befehl "?rp?" auf "?r" verkürzt.
    Die Ausgabe sieht dann etwa so aus, genereller Aufbau:
    (Call);Frequenz,CTCSS,Entfernung,System
    Die Frequenz ist auf 2 Nachkommastellen begrenzt
    Die Entfernung gilt ab dem Standort, von dem die Anfrage kam
    Das System "E" ist Echolink und "F" ist FM-Funknetz

    Erste Gruppe (zweiter empfangener Frame, oberster in der Anzeige)
    DB0HTV:145.75;; 2;F Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt
    145.75;67,0Hz; 2;E
    DB0HTV:145.75;; 2;F Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt
    Zweite Gruppe (erster empfangener Frame, zweiter in der Anzeige)
    DK1ML:145.34;; 6;E Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt
    DB0PX:439.38;; 7;E Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt
    IW0RQJ:144.00;; 9;E Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt



    Zurück nach oben

    PHP Konfiguration: config.php

  • PHP Konfiguration
  • Die wichtigste Konfigurationsdatei ist config.php
    Hier werden alle individuellen Systemeinstellung gemacht. Bei Anpassungen ist es sehr wichtig, das Format beizubehalten und sehr genau hinzuschauen.
    Ein fehlendes ";" oder " kann dazu führen, dass das Dashboard nicht mehr startet. Auch gilt, dass der Editor vor dem Abpseichern der Änderung eine Sicherheitskopie erstellt.
    Die Einträge sind in der config.php beschrieben oder bei Punkten hier in dieser Hilfe.



    Zurück nach oben


  • AMixer

  •   Über diese Maske kann das Soundverhalten des Shari bzw. RFGuru eingestellt werden. Die Felder sind selbsterklärend.
      Wenn man eine passende Einstellung gefunden hat, empfiehlt es sich, diese mit der Funktion "Save Sound Settings" zu sichern.
      Ein Restore ist jederzeit möglich.
      Manchmal verändert der alsamixer ohne Eingriff die Einstellungen der Soundkarte des Shari. Es gibt jetzt unter
      dem Menupunkt "AMixer" zwei weitere Buttons.
      "Save ..." sichert die aktuellen Einstellungen
      "Restore ..." stellt die gesicherten Einstellungen wieder her.
      Wenn man seinen Sound (Lautstärke) ändern möchte, geht das über die Felder im Oben Teil der Maske. Mit Apply
      werden die Einstellungen aktiviert (aber nicht gesichert). Wenn man eine gute Einstellung gefunden hat, so
      sollte man die mit "Save.." sichern, dann kann man später wieder darauf zurückgreifen.

      Damit der Menupunkt AMixer angezeigt wird, muss zwingend ein Radio oder eine Soundkarte in der config.php
      eingestellt werden. Dafür sind folgende Konstanten wichtig:

      define("DL3EL_RADIO", "SC (no Radio)"); // kein Radio angeschlossen, Soundkarte vorhanden, Audiomixer verfügbar
      define("DL3EL_RADIO", "no Radio"); // kein Radio, keine Sound angeschlossen
      define("DL3EL_RADIO", "Shari"); // Shari angeschlossen
      define("DL3EL_RADIO", "RFGuru"); // RFGuru

      Für die Erkennung und Anzeige des Audiomixermenüs werden die ersten drei Zeichen auf "SC " geprüft.

      Die letzten beiden Buttons sind links zu den Parrots im FM-Funknetz, TG9990 und TG9998. Hier werden die eigenen Aussendungen wiederholt
      Über die MQTT Schnittstelle, sendet das Netz Qualitätsparameter der empfangenen AUssendung zurück, diese werden unter den Buttons dargestellt.
      Im Moment werden die letzen 1000 Nachrichten der eingegangen MQTT Nachrichten nach diesen Rückmeldungen untersucht, die jüngste wird angezeigt.
      Solange, bis sie nicht mehr innerhalb der letzten 1000 ist.


  • radio

  •   Über diese Maske kann das Radio konfiguriert werden. Voraussetzung ist, dass in der config.php ein Radio
      eingestellt werden. Dafür sind folgende Konstanten wichtig:

      define("DL3EL_RADIO", "Shari"); // Shari angeschlossen
      define("DL3EL_RADIO", "RFGuru"); // RFGuru


    Beim Starten der Maske wird eine Abfrage an das Radio gestellt (daher dauert es einen Moment, bis die Maske angezeigt wird.
    Sollten dabei Abweichungen zu den intern gespeicherten Werten festgstellt werden, so gibt es oben am Bildschirm entsprechende Fehlermeldungen.
    Bei einem neuinstallierten Dashboard, auch wenn das Image von DC9VQ genutzt wird, empfiehlt es sich, die Maske einmal aufzurufen, in jedem Abschnitt
    die korrekten Daten einzugeben und jeden Abschnitt zu sichern. Dann werden die Daten auch korrekt im Statusfenster angezeigt.



    Zurück nach oben


  • Power

  •   In diesem Menü kann man den SvxLink Service anhalten oder neustarten, den APRS Service neustarten und den Raspberry abschalten oder neu starten.
      Die wichtigste Funktion in diesem Menü ist aber die Möglichkeit des Updates. Das System prüft einmal am Tag, ob ein Update vorliegt. Wenn das positiv festgestellt wird,
      dann erscheint der grüne Balken und der Update kann ausgeführt werden.

    An dieser Stelle ein paar Hintergründe zum Update. Es wird das "ganz normale" Verfahren mit "git pull" genutzt. Das bedeutet, dass Informationen über die Dateistruktur des Raspberry unterhab des git Verzeichnises (normalerweise "/var/www/html") und die verwendetetn Dateien gesammelt werden. Diese Dateien dürfen zwischen zwei Updates nicht verändert werdn, sonst wird der Update abgebrochen. Das geschieht aus Sicherheitsgründen, denn das System möchte eventuelle Nutzeränderung nicht überschreiben. Sollte jemand etwas am Code ändern wollen, so empfiehlt es sich, vor der Änderung die enstprechende Datei zu sichern und vor dem nächsten Update sie genauso wieder herzustellen. Die "harte" Alternative (falls man das vergessen hat) ist, die verursachende Datei zu löschen. Das kann u.U. den Nachteil haben, dass das Dashboard dann nicht mehr läuft und deshalb den Update nicht ausführen kann. Kurz gesagt: wenn man etwas ändert, sollte man genau wissen was man tut.

    Dieses Verhalten ist auch der Grund, warum die config-Dateien nicht teil des Updates sind, sondern nur die ".example" Dateien.



    Zurück nach oben



    dritte Zeile:

    Display: APRS Monitor | APRS Log | SVX Log | Extern1 Full Edit | Reflector1.conf

  • APRS Monitor
  • Der APRS Monitor ist dreigeteilt. Teil 1 zeigt die eigenen eingegangenen Nachrichten:



      Teil 2 zeigt die allgemeinen NAchrichten im definierten Umkreis:



      Im Teil 3 kann man selbst Nachrichten verschicken:



      Die Aussendung erfolgt durch klicken des Buttons "senden"

  • APRS Log
  • zeigt das APRS Logging, hilft beim Debuggen, wenn mal was nicht funktioniert.

  • SVX Log
  • zeigt das SvxLink Log. Das Log wird umgekehrt dargestellt, d.h., die aktuellste Zeile ist oben. Das Log wird in dieser Ansicht nicht automatisch aktualisiert.

  • Extern 1
  • ist ein Platzhalter für bis zu vier extere WebSeiten, die hier eingebunden werden können
    Dazu müssen pro Eintrag in der config.php jeweils folgende Zeilen ausgefüllt werden:
    define("DL3EL_EXTERN1", "http://Adresse/");
    define("DL3EL_EXTERN1_NAME", "Name");
    define("DL3EL_EXTERN1_TAB", "new"); [optuional]
    wobei Adresse die anzuzeigende WebSeite und Name der Name des Links in der Menuzeile ist.
    wenn bei ...TAB der Wert "new" eingetragen ist, wird das Fenster in einem neuen Broswertab geöffnet
    Selbstverständlich steht die "1" am Ende für den ersten Eintrag und müss für die nächsten Einträge hochgezählt werden.

  • Reflector1.conf
  • Der FullScreen Editor für die Profilkonfguration



    Zurück nach oben

    Profile

    Man kann insgesamt vier verschiedene Profile (hier FMN DL, HAMNet FMN, usw.) konfigurieren und auf Knopfdruck wechseln.



      Das ist z.B. sinnvoll, wenn jemand mit mehreren Netzen arbeitet (FM-Funknetz, UK-Wide, etc) oder
      wenn man für sein Netz verschieden MonitorTGs hat, zwischen den schnell hin- und her geschaltet werden
      soll.

    Um diese verschiedenen Profile nutzen (= wechseln) zu können, muss im image etwas geändert werden.
    Zunächst sollten im Dashboard die entsprechenden Buttons erscheinen, da die im unbearbeiteten image noch nicht zu sehen sind im Dashboard.
    Es gibt bereits 4 vorgefertigte Beispiel-Konfigurationsdateien.
    Diese befinden sich i. d. R. (insbesondere beim image von DC9VQ) im Verzeichnis /var/www/html/dl3el.

    Es handelt sich um die Dateien:
    "reflector1.conf.example"
    "reflector2.conf.example"
    "reflector3.conf.example" sowie
    "reflector4.conf.example"

    Von diesen 4 Dateien muß MINDESTENS 1 Datei kopiert werden in:
    "reflector1.conf"

    Sobald die Datei "reflector1.conf" im o. g. Verzeichnis vom System gefunden wird, werden die entsprechenden Buttons im Dashboard auch angezeigt.
    Diese Dateien lassen sich dann - wie gewohnt - über den Fullscreeneditor bearbeiten. Es handelt sich um die Einträge aus dem Abschnitt [ReflectorLogic] aus der bekannten svxlink.conf (i d.R. im Verzeichnis /etc/svxlink/ mit denen der Zugang zu dem gewünschten Netz geregelt wird.
    TIP: Kopiert die entsprechenden Einträge aus dem Abschnitt [ReflectorLogic] der bekannten svxlink.conf und fügt diese mit den notwendigen neuen Zugangsdaten für ein alternatives Netz ein oder ohne neue Zugangsdaten, sofern in ein und demselben Netz (z. B. FM Funknetz) nur ein weiteres Profil angelegt werden soll (z. B. nur mit anderen Monitor TG´s).

    Der Aufbau der "reflector1.conf" (und der anderen .conf Dateien) ist in der jeweiligen Beispiel-Konfigurationsdatei aber auch nochmal beschrieben, wie folgt:

    [ReflectorLogic]
    # hier gehört das Netz hin, meist (reflector-network.eu)
    DNS_DOMAIN = reflector-network.de
    # IP-Adresse:Port (braucht man normalerweise nicht)
    #HOSTS = IP-Adresse:Port
    # Call: das eigene Rufzeichen, welches für das Netz oben freigeschaltet ist
    CALLSIGN = Call
    # "das Passwort" welchen vom Netzbetreiber übermittelt wurde
    AUTH_KEY = "das Passwort"
    # die Default TG, z.B. 9
    DEFAULT_TG = 9
    # die Monitor TGs, z.B. 777 und 26269
    MONITOR_TGS = 777, 26269

    Wichtig: wenn bei einer .conf Datei eine weitere Zeile eingefügt wird, z.B.:
    HOST_PRIO = 100
    so muss dieser Eintrag auch in allen anderen Reflectorx.conf Dateien existieren


    Die Regeln des Fullscreen Editors und der .conf Dateien gelten auch hier. Diese .conf Dateien dürfen nur den Abschnitt beinhalten.

    Die verschiedenen Profile können individuell beschriftet werden
    Über Variablen in der include/config.php können jetzt Texte für die Buttons zum Reflectorwechsel individuell
    eingestellt werden, Beispiel:
    define("DL3EL_REF1_BUTTON", "FMN");
    define("DL3EL_REF2_BUTTON", "HAMNET");
    define("DL3EL_REF3_BUTTON", "FMN 1TG");
    define("DL3EL_REF4_BUTTON", "");

    Bei dem Image 1.30 von DC9VQ ist das für zwei Profile schon gemacht worden.

    Ich habe eine erste Unterstützung für DTMF Befehle an das Dashboad implementiert. Man kann jetzt mit den Befehlen D21 - D24
    direkt zu dem jeweiligen Profil (1 - 4) umschalten. Das Dashboard muss aktiv laufen.
    Um die Fehlermeldung "Operation failed" vom SVXLink zu vermeiden, so muß in die svxlink.conf in der Macro Section
      21 = :#
      22 = :#
      23 = :#
      24 = :#
    eingetragen werden.



    Zurück nach oben

    StatusübersichtListe">

    Links auf dem Bildschirm ist die Statusübersicht. Hier sieht man die aktuellen Einstellungen des Shari / RFGuru

      Im Bereich "Active Logics" sind die in der SvxLink konfiguriertren Logiken aufgeführt, s.a. SvxLink

      Der Abschnitt "Modules Loaded" zeigt die aktuell geladenen SvxLink Module. Wenn ein Modul aktiv ist, dann ist es mit
      einem grünen Balken hinterlegt.
      APRS ist so ein Beispiel. Das APRS Modul ist im Moment das einzge Modul, welches nicht über die svxlink.conf
      eingetragen wird, da es kein eigentliches SvxLink Modul ist. Inhaltlich passt es aber in diese Anzeige.

      Der nächste Abschnitt zeigt den konfigurierten Reflektor und dessen Status.
      Bei Installationen die länger laufen und viel Betrieb haben, kann es passieren, dass an Stelle von
      "connected" oder "disconnected" dort "no Status" steht. Das kann passieren, wenn in den letzten
      10000 Zeilen der Logdatei keine Meldung der Reflektorverbindung zu findenist.
      Das ist reine Optik, ein Restart von svxlik behebt das Problem.

      Der nächste Abschnitt zeigt selbsterklärend die verwendeten TGs und den Status im Hotspot.



      Der Abschnitt "Radio Status" zeigt selbsterklärend den Status des Radios (oder der Soundkarte, falls kein Raio vorhanden)



      Der Abschnitt "Echolink Users" zeigt selbsterklärend den Status der Echolink Verbindung



      Der Abschnitt "Echolink Proxy" zeigt selbsterklärend den Status der Echolink Proxy Verbindung



      Der Abschnitt "SystemInfo" zeigt im ersten Teil den Zeitpunkt des letzten Bootens der Maschine
      Der zweite Teil kann mit der Variable
      define("DL3EL_RADIO", "SC (no Radio, 145.750MHz)");
      individuell befüllt werden, wie hier gezeigt.



      Ist eine Radio vorhanden und dieses korrekt in der config php einegtragen:
      define("DL3EL_RADIO", "Shari");
      werden an dieser Stelle die wichtigsten Radiodaten angezeigt.



      Der letzte Abschnitt zeigt die aktuelle IP Adresse mit der man im DAshboard eingeloggt ist und den vom Dashboard
      verwendeten Standort. Ist ein aprs_follower konfiguriert, wird dieser ebenfalls hier angezeigt.





    Zurück nach oben

    LastHeard Liste

    In der Bildschirmmitte ist die Liste der zuletzt gehörten Station zu sehen:



      Ein Klick auf ein Call zeigt die Detailinformationen für dieses Call an. Ist in der config.php die Variable define("DL3EL_LH_DETAIL", "FMN");
      gesetzt, so werden die Dateilinformationen aus dem FM-Funknetz angezeigt, ansonsten wird die qrz.com Seite des Calls verlinkt.

      Ein Klick auf die TG abonniert diese als aktive TG.



    LiveDashboard

    Das LiveDashboard bietet einen "Blick" in das FM-Funknetz. Im oberen Abschnitt werden die gerade aktuell senden Stationen und TGs
    angezeigt, darunter die zuletzt gehörten



      Ein Klick auf eine TG abonniert diese TG als aktive TG. Die Farben der Buttons lassen sich in der config.php mit
      define ("SVXMQTT_COLOR_active", "green");
      define ("SVXMQTT_COLOR_passive", "blue");
      einstellen


    Dieses Modul basiert auf einer MQTT implementierung in JavaScript. Für zukünftige Erweiterungen ist einen Kombination Perl / PHP für mich einfacher.
    Dafür habe ich jetzt ein Perlskrip erstellt, welches die MQTT Aufgaben erledigt. Im Moment hat das (neue) Livedashboard die gleiche Funktionalität
    und ist nur durch kleine optische Änderungen zu erkennen:



    Das neue Dashboard wird von einem Perlscript mit Daten gefüttert. Dafür muss auf dem Raspberry ein neues Modul
    installiert werden. Das wird durch den Aufruf von
    sudo cpan Net::MQTT::Simple
    gemacht. Der Vorgang dauert etwa 1 Minute. Es wird eine Frage gestellt:
    Would you like to configure as much as possible automatically? Die sollte mit [yes] beantwortet werden.
    Installationen, die etwas knapp an Speicher sind (z.B. Raspberry Zeor und Debian 13) und schauf Debian 13 (Trixiw) laufen, können das Paket auch über die Paketverwaltung installieren:
    sudo apt update
    sudo apt install libnet-mqtt-simple-perl

    Initial gestartet wird der Hintergrund Task nach einer Weile., wenn man das gleich sehen möchte, kann man über den Eintrag
    define("DL3EL_MQTT", "yes");
    die neue Funktion erzwingen. Mit
    define("DL3EL_MQTT", "no");
    wird immer das "alte" LiveDB genutzt.
    Wenn man danach das Dashboard neu lädt, dann sollte die neue Version rechts sichtbar sein (siehe Beschreibung)
    Im System ist aktuell eingestellt, dass das neue Dashboard genutzt wird, wenn erkannt wird, dass das Perlscript funktioniert.
    Optisch wird das durch ein grünes MQTT Modul in der Modulliste angezeigt.
    Im neuen LiveDashboard gibt eine "Freundesliste". Dazu muss in der config.php die Liste entsprechend gefüllt werden define("DL3EL_FRIENDS", "DL3EL,DL4EM,DJ1JAY");
    Die Anzahl ist zur Zeit nicht begrenzt. Die gefundenen Zeilen werden im LiveDB farblich hervorgehoben
    Die Farbe der Markierung lässt sich in der config.php mit
    define ("SVXMQTT_COLOR_friends", "orange");
    einstellen


    Die Position des LiveDB lässt sich beeinflussen:

  • define("DL3EL_LIVEDB", "no"); schaltet das LiveDB komplett aus
  • define("DL3EL_LIVEDB", "top"); erzeugt einen Link zum LiveDB im Hauptmenu, die Anzeige erfolgt dann mittig auf dem Bildschirm
  • define("DL3EL_LIVEDB", "right"); zeigt das LiveDB rechts neben dem normalen Inhalt
  • wenn die Variable "DL3EL_LIVEDB" nicht definiert ist, wird das LiveDB rechts neben dem normalen Inhalt angezeigt


  • Die untere Buttonleist Zurück nach oben



    untere Buttonleiste

    Die untere Buttonleiste bietet bis zu 20 Buttons, für die Kommandos in der config.php hinterlegt werden können



      Einträge in der config.php
      // syntax: 'KEY number,'Description','DTMF code','color button'.
      define("KEY1", array(' F49 ','*91262649#','green'));
      define("KEY2", array(' HE/RLP ','*9126269#','green'));
      define("KEY3", array(' 777 ','*91777#','green'));


      Es empfiehlt sich, sofern gewünscht, die SvxLink Macros:
      [Macros]
      1 = :*91262649#
      2 = :*9126269#
      in der gleichen Reihenfolge zu konfigurieren. Das erleichtert die spätere Bedienng

      Über das Eingabefeld "DTMF Command..." können beliebige DTMF Kommandos eingegeben werden



    Zurück nach oben

    Systeminfo



    Der Abschnitt "Hardware Info" zeigt selbsterklärend wichtige Statusinformationen zum Raspberry



      Unter Umständen werden sehr viele IP Adressen bei Hardware Info angezeigt. Wenn man das auf eine Adresse
      einschränken möchte, so muss in der config.php eine neue Konstante definiert werden:
      define("DL3EL_SHOW_ONLY_ONE_IP", "yes");
      Fehlt diese Konstate oder steht sie auf "no", werden, wie bisher, alle IP Adressen des Rechners angezeigt.



    Zurück nach oben

    PTT



    PTT Button

    Wenn kein Radio angeschlossen ist, der Raspberry aber eine Soundkarte mit Lautsprecher und Mikrofon hat,
    so kann man über den Eintrag:
    define("SHOWPTT","TRUE");
    eine PTT Taste freischalten.



      

    die LautstärkeRegelung rechts daneben ist selbsterklärend.



    externes Mike QX-18

    Das Dashboard unterstützt die Nutzung der physischen PTT-Taste an externen USB-Mikrofonen (z. B. Jieli Technology / QX-18). Hierzu wird automatisch ein Hintergrunddienst installiert, der die Taste überwacht und den Status mit der Weboberfläche synchronisiert (PTT-Button wird rot).

    Nach erfolgreichem Update, muss noch in der svxlink.conf das Mikrofon als Eingabegeräte eingetragen werden. Dazu bitte mit dem Befehl aplay -l feststellen, wie der Devicename ist. Beim QX-18 ist das z.B.:
    Karte 3: UACDemoV10 [UACDemoV1.0], Gerät 0: USB Audio [USB Audio]
    Sub-Geräte: 1/1
    Sub-Gerät #0: subdevice #0
    also: UACDemoV10b>
    Der Eintrag unter RX1 lautet dann also:
    AUDIO_DEV = alsa:plughw:CARD=UACDemoV10,DEV=0
    Bitte nicht vergessen, den alten Eintrag zu löschen.

    In der config.php müssen noch folgende VAriablen ergänzt werden:
    define("DL3EL_MIKE_ID", "UACDemoV10");
    define("DL3EL_MIKE_TYPE","QX18");
    define("DL3EL_MIKE_NAME","UACDemoV1.0");
    Bitte speichern, jetzt sollte das Mikrofon beutzbar sein.



    Zurück nach oben

    RX Monitor



    RX Monitor

    Mit dem RX Monitor kann man empfangene Signale aus dem FM-Funknetz lokal am PC absopielen.
    In dem Image V1.30 von DC9VQ sind die systemseitigen Voraussetzungen schon enthalten. Die für eine eigene Installation
    notwendigen Schritte sind in den ReleaseNotes zur Version 5.00 erklärt.



      

    die LautstärkeRegelung links daneben ist selbsterklärend.





    Zurück nach oben

    Einträge in der config.php, die bisher nicht beschrieben wurden

  • define("DL3EL_DARK_MODE", "yes"); aktiviert die Farbuntertstützung für den Dark Mode
  • Es gibt für einige Browser Add-Ons, die die WebSeiten dann im Dark Mode darstellen. Damit das einigermassen aussieht
    müssen ein paar Farbeinstellungen im Dashboard geändert werden. Das erreichtman durch Einfügen dieser Definition:
    in der config.php.

    Firefox

    Für den Browser Firefox heisst das Add-On "Dark Reader" und wird über den Browser instaliert.
    Einstellungen —> Erweiterungen & Themen —> im Suchfeld "Dark Reader" eingeben. Wenn gefunden —> installieren.

    Sollte in der Symbolleiste kein Symbol für das ADDON entstehen (Firefox fragt aber bei der Installation danach)
    kann das auch nachträglich erfolgen über das Puzzle Symbol



    MS Edge

    Einstellungen —> Erweiterungen —> Suchfeld "Dark Reader" eingeben —> installieren


    auch hier nachträgliches Einblenden des Symbols über das Puzzle Symbol in der Symbolleiste




    Das Add-On gibt es auch als eine Bezahlversion, ist nicht undebingt notwendig. Bitte an den
    Einstellungen des Addons nichts verändern! Unbedarftes Einstellen führt zu Falschfarben. Das Add-On kann jederzeit über die
    Einstellungen des Addons aktiviert bzw. deaktiviert werden.





    Wenn jemand ähnliche Add-Ons
    für andere Browser kennt, so würde ich mich über eine Info freuen.



  • include_once DL3EL_BASE ."include/config.inc.php";
  • ?>
  • Diese beiden Zeilen bilden den Abschluß der config.php und sollten nicht geändert werden.
    Es dürfen auch keine Einträge nach der letzten Zeile erfolgen.







    wird ergänzt




    Zurück nach oben

    Einstellungen für Sysops

    kommt nocht



    Zurück nach oben

    ReleaseNotes

    Neues in der Version 5.34 (24.03.2026)
    - Wetterinformationen integriert
      Wenn beim Dashboard die APRS Funktion aktiviert ist, so wird jetzt der aktuell über APRS empfangene Wetterbericht
      in der blauen Kopfzeile angezeigt

      Wenn man dort die Wetterdaten einer bestimmten Station sehen möchte, so muss in der config.php folgendes eingefügt werden:
      define("DL3EL_WX_STN", "DC9VQ-13");
      DC9VQ-13 ist in diesem Fall das Rufzeichen der WX-Station.

      Gibt es diesen Eintrag nicht, so wird aus den empfangegen Wetterdaten die räumlich nächste Station ermittelt.
      Da es recht viele gibt, aber nur wenige alle Daten liefern, wird die Station von den nächsten ausgewählt, die die meisten Daten
      liefert. Die "meisten" im Sinne von: Temperatur, Luftdruck, Luftfeuchte, Windgeschwindigkeit, usw.

      Wenn die automatische Auswahl nicht passt, dann bitte im aprs.log nachschauen und eine passsende Station heraussuchen.

      Nach diesem Update kann es ein paar Minuten dauern, bis die Wetterdaten angezeigt werden, sie müssen erst per
      APRS empfangen werden


    Neues in der Version 5.33a (22.03.2026)
    - Service Release
      Verschiedene Dinger haben im AMIxer nicht richtig funktioniert. Ich habe den Code entsprechend geändert und die
      Elenata Unterstützung verbessert.   In diesem Zusammenhang musste ich eine neue www-data.sudoers verteilen
      Diese Datei muss vom Nutzer aktiviert werden. Dazu bitte:

      - eine Shell zum Raspberry öffnen
      - in das Dashboard Rootverzeichnis gehen (normalerweise cd /var/www/html
      - sudo ./upd_sudoer.sh aufrufen

      danach kann die Shell wieder geschlossen werden. Im nächsten Image von DC9VQ, wird das enthalten sein.

      Es scheint so zu sen, dass das Elenata Board nach dem Reboot des Raspberries mit einem Aufnahme Volume von 100% startet.
      Um das zu beheben kann man die Datei dl3el/sa818/override.conf in das von Root neu angelegte Verzeichnis
      /etc/systemd/system/svxlink.service.d kopiert und svxlink neu startet. Hier wird eine Aufnahmelautstärke von gut 50% vorbelegt

      Die Lautstärkeregler für die lokale Soundwiedergabe werden jetzt nur angezeigt, wenn
      define("SHOWPTT","TRUE");
      eingestellt ist. Sie beziehen sich auf den lokalen Lautsprecher am Raspberry, der ist meist nicht vorhanden
      wenn keine lokale PTT genutzt wird.

      Sollte jemand ein Seitup ohne lokales Mikrofon aber mit lokalem Lautsprecher haben, so bitte ich um eine kurze Nachricht via Telegram

      Wenn man sich mit einem anderen netz verbindet, so kann es sein, dass dieses Netz ein anderes Format der node_info.json
      erwartet (z.B. UK). Diese Datei muss dan unter einem neuen Namen entsprechend erstellt/angepasst
      und in der svxlink.conf eingetragen werden.
      Da die Umschaltung zwischen diesen Netz normalerweise über Profile erfolgt, kannman das auch dort eintragen. Bitte die Hinweise
      dazu im entsprechenden Kaiptel beachten
      Der Menüpunkt "NodeInfo" zeigt immer die zum aktuellen Netz passende Datei an.


    Neues in der Version 5.33 (16.03.2026)
    - Unterstützung für das Elenata Board eingebaut
      Neben dem RF-Guru und Shari unterstützt das Dashboard jetzt das Elenataboard. Das ist meist bei Relais im Einsatz, ist jetzt aber auch
      mehr bei Hotspots in Betrieb. Damit das Elenata Board richtig unterstützt wird, müssen in der config.php zwei neue
      Einträge gemacht werden:

      define("DL3EL_RADIO", "Elenata");
      define("DL3EL_SC_STRING", "Audio");


      Bei Hotspots findet man oft das Elenata Board auf einem Raspberry Zero montiert. Dieser hat keine LAN Schnittstelle. Ich habe
      dafür ein paar Informationen zusammengestellt, wie man den Raspberry so konfiguriert, dss er einen einen eigenen Hotspot startet,
      sollte er keine Netzwerkverbindung finden. Die Datei liegt im Root-Verzeichnis des Dasjboards und heisst elenata.txt


    Neues in der Version 5.32e (14.03.2026)
    - Bugfix
      In der Version 5.32d hatte sich im DropDownMenu ein Fehler eingeschlichen. Wenn die Systemvariable DL3EL_SVXCUBE nicht gesetzt war
      Ist das Dashboard bei Einschalten vom DropDownMenu sofort gecrasht.
      Hilfe, falls jemand auf Funk davon hört: Mit einem Unix Editor in der config.php den Eintrag
      define("DL3EL_SVXCUBE", "http://192.168.1.1");
      ergänzen. Dei IP Adresse ist egal. Abspeichern und Dashboard neu laden. Danach auf 5.32d updaten. Anschliessend kann der Eintrag,
      falls gewünscht, wieder gelöscht werden

    Neues in der Version 5.32d (13.03.2026)
    - Erweiterung im internationalen Betrieb
      Ich habe mal am Beispiel von UK beschrieben, wie man sich mit anderen Netzen verbindet.
      Das Dashboard kennt jetzt neben dem FM-Funknetz noch das beschriebene UK-Wide Netz. Wird dieses Netz ausgewählt, so wird
      die Anzeige der Talkgroups auf die UK Talkgruppen umgeschaltet. Ausserdem verbirgt sich dann hinter der Monitortaste,
      die Übersichtsseite des englsichen Netzes. Ein LiveDB dieses Netzes wird wie gewohnt ganz recht angezeigt.

      Zwei Hinweise nch zur Konfiguration des Profils:

      Es ist wichtig, dass das Netz über den Host Eintrag definiert wird, es ist keine DNS_DOMAIN:
      HOSTS=uk.wide.svxlink.uk
      Die Portnummer muss auch eingetragen werden:
      HOST_PORT=35300
      Ausserdem müssen diese Beiden Zeilen in den anderen Dateien "Reflectorx.conf" enthalten sein.
      Wenn sie dort nicht aktiv benutzt werden, dann als Kommentar:
      #HOSTS=no network
      #HOST_PORT=no port

      Derzeit ist es noch so, dass man nach dem Umschalten zum UK Netzwerk links oben auf den Link "Dashboard" klicken musss,
      um die Anzeigen auf die neuen Werte einzustellen. Ich habe noch keine Lösung gefunden, das zu automatisieren
      Wenn ein SVXCube zusammen mit der Installation genutzt wird, so zeigt diese die Station als Offline an. Das lässt sich nicht ändern,
      aus Sicht vom FM-Funknetz ist die Station wirklich offline. In DL gemonitorte TGs werden auch nicht empfangen.


    - Suche nach Echolink Stationen jetzt mit WildCard "?"
      Viel der im UK Netz verfügbaren TGs sind mit Strukturen in den USA vernetzt, die ihrerseits direkt oder über AllStar einen
      Echolinkzugang haben. Die verwendeten Namen erschliessen sich nicht immer. Daher kann man jetzt über das Eingabefeld
      im Echolinkmenü nach Teilen suchen. Wenn man im Suchfeld "?east" eingibt und dann query klickt, werden alle Einträge
      aufgelistet, die ein "east" im Namen haben. So findet man z.B.den Echolinkzugang zum EastCoast Reflector, TG9050




    Neues in der Version 5.32c (12.03.2026)
    - SyntaxCheck für die config.php
      Beim Speichern der config.php wird jetzt die Syntax geprüft. Wird ein Fehler festgestellt, werden alle Änderungen
      rückgängig gemacht und der usprünglich Inhalt wieder angezeigt.
      
    - externes Mike QX-18 wird jetzt unterstützt/b>
      
    - aktuelle Uhrzeit rechts oberhalb des Livedashboards
      
    - die Anzahl der externen Links und Profile habe ich jetzt variabel gestaltet
      Sollte Bedarf an mehr als jeweils 4 bestehen, kann ich das über eine Variable steuerbar machen
    - erste Implementation von DTMF befehlen an das Dashboard
      Ich habe eine erste Unterstützung für DTMF Befehle an das Dashboad implementiert. Man kann jetzt mit den Befehlen D21 - D24
      direkt zu dem jeweiligen Profil (1 - 4) umschalten. Das Dashboard muss aktiv laufen.
      Um die Fehlermeldung "Operation failed" vom SVXLink zu vermeiden, so muß in die svxlink.conf in der Macro Section
      21 = :#
      22 = :#
      23 = :#
      24 = :#
    eingetragen werden.

    Neues in der Version 5.32b (10.03.2026)
    - Service Release
      Wir haben einen fehler im Dropdown Menü gefunden, der das Dashborad crashen lies. Das ist jetzt behoben
      
      Ich habe mich etwas mit anderen Netzwerken befasst. Interessant ist für mich das
      UK-Wide Network. Wenn man sich Zugangsdaten besorgt und das Netz in einem der
      Profile hinterlegt, wird auf Knopfdruck dahin umgeschaltet.
      Services wie MQTT gbt es dort nicht, aber die Lastheardliste passt und die Talkgroupliste wird auch korrekt angezeigt.



    Neues in der Version 5.32a (10.03.2026)
    - Service Release
      - manche Versionen vom RF-Guru verlieren nach dem Neustart die komoplette Konfiguration.
      Das Dashboard erkennt das jetzt und bietet dem Nutzer im Radio Menü an, eine zuvor
      gespeicherte Konfiguration wieder ins Radio zu laden
      Als Vorraussetzung müssen einmal alle Abschnitte des Radio Menüs korrekt befüllt und einzeln abgespeichert werden.
      Ausserdem muss in der config.php eingetragen sein, dass das Radio ein RF-Guru (dort "RFGuru") ist.
      Ich bedanke mich bei Dirk, DL4DP, der mich darauf aufmerksam gemacht hat und als Testpartner geholfen hat, das zu bauen.

      - Die Default und Monitor TGs im linken Statusfenster können jetzt per Mausklick ausgeählt und zur aktiven TG gemacht werden.

      - An dieser Stelle möchte ich mich ausdrücklich bei Frank, DJ7FG, bedanken. Er hat diese Hilfeinformation gelesen,
      viele Fehler entdeckt und mir wertvolle Tips zur besseren Formulierung gegeben


    Neues in der Version 5.32 (03.03.2026)
    - neues Dropdown Menü
    Frank, DL4EM, hat ein neues Dropdown Menu entwickelt. Die bestehenden Menueinträge sind etwas anders sortiert un übersichtlicher

    - neuer WebChat
    Es gibt jetzt aus dem Dashboard direkt einen Zugang zu dem WebChat von JaY-TrX-LinK


    Neues in der Version 5.31d (28.02.2026)
    - Service Release
    Fehler beim Update aus Version 5.31a: es gibt vereinzelt Fälle in denen bei der Version 5.31a der Update nicht mehr funktioniert.
    Es gibt keine Fehlermeldung, es kommt nach Drücken der Updatetaste die die Grundansicht. Mit oder ohne Lastheardliste. Die Versiosnnummer ändert sich nicht.
    In diesen Fällen bitte in einem neuen Browser Tab: http://192.168.x.y/power/index.php aufrufen. Vorher natürlich die korrekte IP Adresse einsetzen. Der Update auf die aktuellste Version sollte jetzt funktionieren.

    Neues in der Version 5.31c (27.02.2026)
    - QSOLink Cockpit
    mit Freigabe der Version 2.0 hat Cedric ein Dashboard für die Nutzer von QSOLink freigegeben. Wenn die Variable:
    define("DL3EL_QSOLINK", "yes");
    gesetzt ist, wird ein entsprechender Link in der obersten Menuleiste eingeblendet.

    - Service Release
    Echolink: es können jetzt auch Konferenzräume gesucht und direkt über die Funktion Echolink verbunden werden.
    Main Dashboard: Bugfix. Unter Umständen wurde die korrekte Anzeige der Lastheardliste und/oder des LiveDB verhindert.

    Neues in der Version 5.31b (26.02.2026)
    - MonitorCalls überarbeitet
    Wie schont erwähnt, gibt es durch der Nutzung von MQTT mehr Möglichkeiten. Die Daten, die bei
    3.1.3 MonitorCalls angezeigt werden, werden jetzt 1x pro Minute aktualisiert

    - Anzeige der Abonnenten der aktive TG.
    Im Lastheard Fenster werden jetzt unter der LH Liste die Teilnehmer der aktiven TG angezeigt
    Ist das System im Ruhezustand (keine TG Aktiv), dann werden die Teilnehmer der Default TG angezeigt.
    Nach einem Update wird der Task jetzt auch neu gestartet.

    Beide Funktionen setzen vorraus dass MQTT Daten empfangen werden können, wie im Update 5.31 beschrieben

    - APRS-Monitor jetzt mit Link
    Hinter dem Rufzeichen verbirgt sich jetzt ein Link, der aprs.fi in einem neuen Tab öffnet und die Station dort anzeigt.

    Neues in der Version 5.31a (24.02.2026)
    - MQTT Restart
    Im PowerMenu gibt es jetzt die Möglichkeit, den MQTT Task neu zu starten
    Nach einem UPdate wird der TAsk jetzt auch neu gestartet.

    - Link zum FM-Funknetz Dashboard im Titel vom LiveDB

    Neues in der Version 5.31 (23.02.2026)
    - MQTT, neuer Service, erweiterte Funktionen
    Interne Verbesserungen an der MQTT Schnittstelle. Diese wurde in einen Perl Task verlagert und das LiveDB neu gebaut.
    Es wird mit dem neuen LiveDB zukünftig neue Funktionen geben. Leider muss dafür auf dem Raspberry ein neues Modul
    installiert werden. Das sollte normalerweise einfach durch den Aufruf von
    sudo cpan Net::MQTT::Simple
    geschehen. Der Vorgang dauert etwa 1 Minute. Wenn man danach das Dashboard neu lädt, dann sollte die neue Version rechts
    sichtbar sein (siehe Beschreibung)

    Eine der ersten neuen Funktionen im neuen LiveDashboard ist die "Freundliste". Dazu muss in der config.php die Liste
    entsprechend gefüllt werden
    define("DL3EL_FRIENDS", "DL3EL,DL4EM,DJ1JAY");
    Die Anzahl ist zur Zeit nicht begrenzt. Die gefundenen Zeilen werden im LiveDB farblich hervorgehoben
    Die Farbe der Markierung lässt sich in der config.php mit
    define ("SVXMQTT_COLOR_friends", "orange");
    einstellen

    - Update Audiomixer
    Der Audiomixer liefert jetzt objektive Angaben zur Modulatin zurück, wenn man über den FM-Funknetz Parrot testet.
    Es gibt zwei Parrots: TG9990 und TG9998, einer von beiden sollte immer laufen

    - Cell-Tower in LH Liste entfernt
    Der Link um eine TG aus der LH Liste zu abonniere, ist jetzt direkt hinter der TG versteckt.

    Neues in der Version 5.30g (16.02.2026)
    - Servicerelease Verbesserungen bei den Zugriffsrechten. Jetzt können Funktionen, die eine Anmeldung verlangen, nicht mehr
    durch den dirkten Aufruf der WebSeite ausgeführt werden
    Die Hilfe Datei (diese hier) wird jetzt auch im nicht angemeldeten Zustand gezeigt

    Neues in der Version 5.30f (15.02.2026)
    - Servicerelease Es gibt für einige Browser Add-Ons, die die WebSeiten dann im Dark Mode darstellen. Damit das einigermassen aussieht
    müssen ein paar Farbeinstellungen im Dashboard geändert werden. Das erreichtman durch Einfügen der Definition:
    define("DL3EL_DARK_MODE", "yes");
    in der config.php.
    Für den Browser Firefox heisst das Add-On "Dark Reader" und wird über den Browser instaliert. Wenn jemand ähnliche Add-Ons
    für andere Browser kennt, so würde ich mich über eine Info freuen.

    Neues in der Version 5.30e (15.02.2026)
    - Servicerelease Korrektur eines Links zur Anzeige von APRS Nachrichten

    Neues in der Version 5.30d (14.02.2026)
    - Servicerelease Es wurde eine neue komplette Doku erstellt, sie ist jetzt über den blauen Button "Hilfe" früher "Neues in.." zu
    erreichen. Der erste Link in der Anzeige führt zu den bekannten Releasenotes, die den letzen Update beschreiben.
    Danach folgt eine strukturierte Beschreibung des kompletten Dashboards.

    Im Moment funktioniert die integrierte Darstellung von openhamclock nicht mehr. Ich bin mit den Entwicklern im Kontakt.
    Ich habe daher jetzt erstmal eine Option eingebaut, die externen Seiten in einem neuen Browsertab anzuzeigen. B.a.w. bitte dies
    für openhamclock benutzen
    define("DL3EL_OPENHAMCLOCK_TAB", "new");

    Das gleiche Verfahren gilt auch für die 4 möglichen externen Links

    Neues in der Version 5.30c (11.02.2026)
    - Servicerelease
    Nach dem Abschluss der großen Änderungen vom vergangenen Wochende ist es jetzt dringend notwendig, die Dokumentation
    zu aktualisieren. Das ist ein andauernder Prozess, den ich so gestaltet habe, dass nicht für jede Änderung oder Ergänzung
    ein Update gemacht werden muss. Ich werde jetzt nach und nach alle Funktionen und Menuepunkte beschrieben (d.h., aktuell
    ist die Dokumentation nochnicht vollständig).
    Die Releasenotes werde ich beibehalten, damit man auf einen Blick die Änderungen des aktuellen Updates erfährt.

    Neues in der Version 5.30b (10.02.2026)
    - Servicerelease
    Nach viel Debuggen ist es mir endlich gelungen die Funktionen MinitorCalls, Echolink und FM_Relais in das
    neue Design einzubauen. Ausserdem passen jetzt die in den EIngabfelder stehenden Werte (Call, bzw. Locator)
    zur angezeigten Auflistung.

    - Openhamclock jetzt auch lokal aufrufbar
    Man kann openhamclock auch lokal, z.B. auf einem Raspberry installieren. Wenn man diese Funktion nutzen
    möchte, so muss die IP Adresse (oder der DNS Name) in die entsprechende Variable eingetragen sein:
    define("DL3EL_OPENHAMCLOCK", "http://192.168.1.1:3030/");
    Ganz allgmein gilt:
    DL3EL_OPENHAMCLOCK fehlt: openhamclock.com wird verlinkt
    DL3EL_OPENHAMCLOCK hat lokale Adresse: lokale Installation von openhamclock wird verlinkt
    define("DL3EL_OPENHAMCLOCK", "no"): der Link zu openhamclock wird unterdrückt.

    Neues in der Version 5.30a (09.02.2026)
    - Link zum SVXCube Controller
    im neuen Image von Michael, DC9VQ, wird ja der SVXCube von Jens, DJ1JAY unterstützt. Wenn das System erkennt
    das der Controller vorhanden ist, wird im Hauptmenu ein Pukt "SVXCube" eingefügt, der zum Dashboard des
    Controlelrs führt.
    Wer die Unterstützung für den SVXCube nicht installiert aber einen SVXCUbe hat, kann die Seite erreichen
    in dem die Variable
    define("DL3EL_SVXCUBE", "http://192.168.1.1");
    mit der richtigen IP Adresse versorgt wird.
    - individuelle externe Links eintragen
    es ist jetzt möglich in der letzen Zeile des Hauptmenues bis zu 4 individuelle Links einzutragen. Dafür müssen
    die Variablen
    define("DL3EL_EXTERNx", "http://44.149.162.ip/");
    define("DL3EL_EXTERNx_NAME", "Link1");
    define("DL3EL_EXTERNx_TAB", "new");
    das "x" muss durch die Zahlen 1 - 4 ersetzt werden. DNS Namen sind auch möglich
    wenn bei ...TAB der Wert "new" eingetragen ist, wird das Fenster in einem neuen Broswertab geöffnet

    - Servicerelease
    die Logik für das FM-Funknetz LiveDashboard wurde noch einmal umgestellt:
    - die Variable "DL3EL_LIVEDB_AUTO" wird jetzt nicht mehr ausgewertet
    - define("DL3EL_LIVEDB", "no"); schaltet das LiveDB komplett aus
    - define("DL3EL_LIVEDB", "top"); erzeugt einen Link zum LiveDB im Hauptmenu, die Anzeige erfolgt
    dann mittig auf dem Bildschirm
    - define("DL3EL_LIVEDB", "right"); zeigt das LiveDB rechts neben dem normalen Inhalt
    - wen die Variable "DL3EL_LIVEDB" nicht definiert ist, wird das LiveDB rechts neben dem normalen Inhalt
    angezeigt

    Neues in der Version 5.30 (08.02.2026)
    - openhamclock jetzt komplett ins Bildschirmlayout integriert
    Es ist m.E. sinnvoller die Daten von openhamclock zusätzlich zu den Statusdaten und dem Livedashboard
    zu sehen. Daher habe ich, nach Rücksprache mit Chris, K0CJH, (dem Author von openhamclock) die Webseite
    jetzt komplett in mein Dashboard integriert.
    Dazu war es nötig, das gesamte Layout zu überarbeiten, das habe ich die letzten Tage zusammen mit
    Frank, DL4EM, umgesetzt. Die wesentlichen Änderungen sind jetzt:
    - wann immer möglich und sinnvoll wird jetzt am linken Rand das Statusfenster angezeigt
    - wann immer möglich und sinnvoll wird jetzt am rechten Rand das LibeDashboard vom FM-Funknetz angezeigt
    - das LiveDB ist jetzt in das Browserfenster integriert. Es gab Probleme mit bestimmten Browser
    im Apple Umfeld, das ist damit hoffentlich erledigt
    - wir können jetzt mit variablen Bildschirmbrieten arbeiten, d.h. bei der Anzeige von openhamclock wird mehr
    Bildschirmplatz verwendet, als bei andere Anzeigen
    - für die beiden Menus Echolink und Relais funktioniert das leider noch nicht: work in progress.
    - wenn die Anzeige vom Livedashboard nicht erwünscht ist, kann man das durch die Variable
    define("DL3EL_LIVEDB_AUTO", "no");
    abschalten. Nur wenn diese Variable oder alteranativ "DL3EL_LIVEDB" auf "yes" stehen, wird das
    LiveDB angezeigt.
    - der "WebSDR" von Jens, DJ1JAY, mit dem man alle Stream des FM-Funknetz hören kann ist jetzt ebenfalls integriert
    und über den Menuepunkt "Voice FMN" erreichbar, Dafür muss
    define("DL3EL_FMFUNKNETZ", "yes");
    in der config.php eingetragen sein.

    - man kann jetzt in der config.php einen OpenWebRX Empfänger eintragen, z.B.:
    define("DL3EL_OPENWEBRX", "https://websdr.z-05.de/#freq=144800000,mod=empty,secondary_mod=packet,sql=-150");
    Nach dem Reload des Dashboards, ist dieser WebSDR über den Menuepunkt "OWR" erreichbar
    - da die externen WebSeiten durchaus recht breit werden können, ist im Moment eine Defaultbreite von 1500px eingestellt.
    Wenn das zu breit ist, kann man dies über die Variable
    define("DL3EL_EXTERNWEB_WIDTH", "1000");
    in der config.php einstellen, je nach Bildschirmgröße. Es findet keine Fehlerprüfung statt, die Größe
    ist in "px", das "px" darf nicht angegeben werden.

    Neues in der Version 5.29a (06.02.2026)
    - Servicerelease
    im LiveDB wird jetzt die Anzahl der Verbundenen Stationen wieder koorekt angegeben
    die Anzeige der Vornamen in der Hauptansicht wurde verbessert, es werden jetzt
    bei DL oder OE Calls nicht nur Vornamen von Stationen mit einer DMR ID angezeit.
    Wenn die Option DX-Cluster eingestellt ist (define("DL3EL_DXCLUSTER", "yes");) gibt es jetzt
    direkt rechts daneben einen mit "OHC" gekennzeichneten Link. Dieser öffnet ein neues
    Browserfenster und startet OpenHamClock (https://openhamclock.com/), ein wirklich tolles Tool
    für Funkamateure.
    Speziell für den Einsatz bei Relais mit öffentlichen Dashboard wurden die Anzeigemöglichkeiten
    überarbeitet: Nur wenn
    define("MENUTOP", "FULL");
    eingestellt ist, wird die komplette Menuleiste angezeigt. Ansonsten nur die Einträge, die
    rein zur Information dienen und nichts am System verändern könne. Wenn
    define("DL3EL_DXCLUSTER", "yes");
    zusätzlich gewählt wird auch der Link zur DX-Cluster Sicht angezeigt
    Unverändert wird über
    //define("MENUTOPAUTH", "yes");
    define("MENUTOPAUTH", "no");
    eingestellt, ob der Link zum Authorisierungsdialog angezeigt werden soll oder nicht.

    Neues in der Version 5.29 (31.01.2026)
    - diese Version wird mit dem neuen Image von Michael, DC9VQ, verteilt. In dem Release des Images
    sind zwei Profile vorkonfiguriert
    ist die Möglichkeit zum Mithören des FM-Funknetz Verkehrs installiert und aktiviert
    ist APRS Messaging installiert und aktiviert

    Neues in der Version 5.28b (24.01.2026)
    - APRS conf Datei jetzt in die Sicherung integriert

    Neues in der Version 5.28a (15.01.2026)
    - APRS Login Call jetzt im Statusfenster
    Da das APRS Call vom FM-Funknetz Call abweicht, wenn eine nicht numerische SSID
    verwendet wird, wird das Call jetzt im Statusfenster, zusammen mit dem APRS Modul
    angezeigt.
    Ausserdem gibt es kosmetische Änderungen um die Position des Dashboards
    (wenn APRS aktiv ist) und mehr Logging in svxlink.log.

    Neues in der Version 5.28 (12.01.2026)
    - APRS MSG ist jetzt der APRS Monitor
    Es gibt jetzt den APRS Monitor, der Positionsmeldungen der Stationen im Umkreis des
    eigenen Standortes anzeigt. Im Prinzip sind es die gleichen DAten die bisher über den
    Menupunkt "APRS MSG" zu sehen waren, nur mit besserer Optik :-)
    Der Umkreis wird über die arps.conf mit einem Filter eingestellt:
    aprs_filter = "m/50";
    So werden Meldungen im UMkreis von 50km angezeigt.

    Neues in der Version 5.27a (10.01.2026)
    - Dashboard jetzt mit aktuellen Koordinaten möglich
    Die APRS Erweiterung bringt einiges an zusätzlichen Möglchkeiten. Man das das Dashboard
    jetzt so konfigurieren, dass es seine eigenen Koordinaten kennt. Für die hier beschriebenen
    Funktionen muss in der config.php die Konstante:
    define("DL3EL_APRS_MSG", "yes");
    gesetzt sein. Wer das jetzt neu macht, der sollte sich auch die Releasenotes zu den
    vorangegangen Updates durclesen.
    Die einfachste und statische Möglichkeit ist, wenn in der aprs-is-msg.conf die Koordinaten
    eingetragen werden:
    aprs_lat = "5009.25N";
    aprs_lon = "00839.46E";
    aprs_sym = "-";
    Ist das geschehen so wird beim Login, alle 30 Minuten und immer dann, wenn sich die
    TG ändert eine APRS Bake mit dem Standort ausgesendet (ähnlich wie bei QSO Link).
    Im Statusfenster unten links werden die aktuellen Koordinaten im APRS Format angezeigt.

    Neues in der Version 5.26a (06.01.2026)
    - Servicerelease
    Da die beiden Funktionen ?wx? und ?rp? vor allem von portablen oder mobilen APRS Geräten
    genutzt werden, ist es wichtig, ein Call zu nutzen, welches per Funk erreicht werden kann.
    In der APRS Spezifikation ist beschrieben, dass SSIDs nur im Bereich von -1 bis -15
    gültig sind. Daher habe ich jetzt folgende Vorgehensweise eingebaut.
    Zuerst wird geprüft, ob in der aprs-is-msg.conf ein etwas ungleich "N0CALL" eingetragen ist.
    Falls nicht, wird das in der svxlink.conf für FM-Funknetz eingetragene Call genutzt.
    Danach wird geprüft, ob die SSID im Bereich von -1 bis -15 ist.
    Ist sie nicht numerisch, wird als SSID -15 genutzt, ist sie größer als -15 wird
    -14 verwendet.
    Wenn in der aprs-is-msg.conf ein Standort eingetragen ist:
    aprs_lat = "5000.00N";
    aprs_lon = "00800.00E";
    so wird dieser mit der Bake beim APRS Start und beim keepalive ausgesendet. Ansonsten nicht.
    Die Koordinaten bitte anpassen. Sollte der Defaultwert aus der aprs-is-msg.conf.example
    nicht geändert werden, wird auch keine Bake verschickt.

    Da ich ein FT2D für portablen APRS Betrieb habe, kann ich spezielle Funkgeräteanpassungen
    am einfachsten an diesem Gerätetyp machen. Der Empfänger kann APRS Nachrichten mit einer
    maximalen Länge von 67 Zeichen darstellen. Verteit auf 3 Zeilen a 20 Byte und eine mit dem Rest.
    Die zuletzt empfangene Nachricht ist immer die oberste. Daher gibt es jetzt eine spezielle
    Ausgabe für das FT2D (und vergleichbare Geräte) wenn man den Befehl "?rp?" auf "?r" verkürzt.
    Die Ausgabe sieht dann etwa so aus, genereller Aufbau:
    (Call);Frequenz,CTCSS,Entfernung,System
    Die Frequenz ist auf 2 Nachkommastellen begrenzt
    Die Entfernung gilt ab dem Standort, von dem die Anfrage kam
    Das System "E" ist Echolink und "F" ist FM-Funknetz

    Erste Gruppe (zweiter empfangener Frame, oberster in der Anzeige)
    DB0HTV:145.75;; 2;F Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt
    145.75;67,0Hz; 2;E
    DB0HTV:145.75;; 2;F Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt
    Zweite Gruppe (erster empfangener Frame, zweiter in der Anzeige)
    DK1ML:145.34;; 6;E Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt
    DB0PX:439.38;; 7;E Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt
    IW0RQJ:144.00;; 9;E Da die Daten ohne Call weniger als 14 Byte sind, wird das Call ergänzt

    Anpassung bei ?wx?
    Bei den heutigen Wetterverhältnissen waren die MEtar Infos vom Frankfurter Flughafen sehr
    lang. Es können jetzt max. 134 Zeichen verteilt auf zwei Datenpakete empfangen werden. Die
    Aussendung erfolgt in der Reihenfolge des Textes. Bei Geräten wie dem FT2D muss die zweite
    empfangene Nachricht zuerst gelesen werden.

    Wenn mir jemand Detailinfos zu seinem Gerät schickt, versuche ich das entsprechend zu
    berücksichtigen.

    Änderungen der aktiven TG werden jetzt als Bake per APRS verschickt, sofern die Koordinaten
    eingegeben sind.

    Neues in der Version 5.26 (06.01.2026)
    - Relaisinformationen über APRS abrufbar
    Der APRS Prozess kennt jetzt den Befehl ?rp?. Wann jemand per APRS an seine eigene Station
    per mobilen APRS Gerät den Befehl ?rp? schickt, dann werden die nächstgelegenen Relais mit
    Echolink oder FM-Funknetzanbindung an das APRS Gerät geschickt. Da die meisten Geräte
    nur 67 Bytes Nutzlast empfangen können und das i.d.R. nur zwei Relais sind, werden
    zwei Pakete mit jeweils zwei Relaisinformationen verschickt.
    Pakete mit mehr als 67 Byte Nutzlast, werden von den Geräten meist ignoriert.
    Die Ausgabe sieht dann etwa so aus, genereller Aufbau:
    Call;Frequenz,CTCSS,Entfernung,System
    Die Frequenz ist auf 3 Nachkommastellen begrenzt
    Die Entfernung gilt ab dem Standort, von dem die Anfrage kam
    Das System "E" ist Echolink und "FR" ist FM-Funknetz

    erster Antwortframe
    DB0HTV;145,750;;2.02km;FR
    DB0HTV-R;145,750;67,0Hz;2.06km;E

    zweiter Antwortframe
    DB0HTV-XLX;145,750;;2.30km;FR
    DK1ML-L;145,337;;6.32km;E


    Neues in der Version 5.25 (05.01.2026)
    - Wetterinformationen über APRS abrufbar
    Der APRS Prozess kennt jetzt den Befehl ?wx?. Wann jemand per APRS an seine eigene Station
    per mobilen APRS Gerät den Befehl ?wx? schickt, dann wird der Wetterbereicht des
    nächstgelegenen Flughafens im Metar Format an das APRS Gerät geschickt. Es werden Flughäfen
    im Umkreis von 50km um das anfragende Gerät berücksichtigt.
    Eine Erklärung zum Metar Format gibt es hier: https://de.wikipedia.org/wiki/METAR

    Neues in der Version 5.24 (04.01.2026)
    - Optimierung im APRS Interface
    Der APRS Prozess wurde überarbeitet und empfängt jetzt Gruppennachrichten. Damit ist es möglich, dass
    Dashboard Installationen über APRS informiert werden, dass es einen neuen Update gibt.
    Ich werde jetzt immer, wenn ich einen Update bereitstelle, zusätzlich eine Nachtricht wie z.B:
    DL3EL>APNFMN,TCPIP*,qAC,T2PERTH::FMNUPD :v5.24
    verschicken. Das Dashboard reagiert und blendet einen entsprechenden Hinweis ein.
    Der Hinweis wird gelöscht, sobald der Update durchgeführt wurde. Der Update muss weiterhin manuell
    gestartet werden. Sollte das jemand misbrauchen, kann nicht viel passieren, da beim Update Prozess
    zuerst geprüft wird, ob eine aktuellere SW als die instalierte vorhanden ist. Nur wenn das so ist,
    wird etwas aktualisiert.
    Alfred, DL3MX, hat mir die Änderung zukommen lassen, dass die APRS Info rot blinkt, danke dafür.

    Ich finde die Art des Informationsaustausches sehr interessant, da sie das jeweilige System nicht
    sehr belastet und schnell ist. Dafür muss aber der APRS Prozess gestartet werden, d.h. der Eintrag
    define("DL3EL_APRS_MSG", "yes");
    muss so in der config.php sein. Ich habe jetzt den APRS Prozess so erweitert, dass das APRS Password
    nicht mehr angegeben werden muss, der Prozess berechnet es selbstständig. Deshalb könnte ich die
    Funktion auch ohne Nutzereingriff aktivieren. Dazu hätte ich gerne mal Eure Meinung:
    "Ist es ok, wenn das FM Funknetz Dashboard sich autmatisch bei APRS anmeldet und Nachrichten empangen kann,
    auch wenn der Nutzer das nicht explizit eingeschaltet hat?".
    Ein Opt-Out wäre dann immer mit
    define("DL3EL_APRS_MSG", "no");
    möglich.
    Antworten bitte an dl3el@darc.de oder per Telegram.

    Neues in der Version 5.23 (02.01.2026)
    - Optimierung im APRS Interface
    Der APRS Prozess wurde überarbeitet und optimiert. Die wesentliche Änderung ist, das jetzt
    die Konfigdatei nicht mehr ausgefüllt werden muss. Wenn ohne eine angepasste Konfig Datei
    gearbeitet wird, wird als APRS Login Rufzeichen, das Call des Dashboards ohne Suffix
    verwendet. Dieses Call wird auch zum Filtern der Nachrichten verwendet.
    Das Passwort wird jetzt automatisch berechnet. Wenn gewünscht, kann die
    Konfigurationsdatei, wie beim Release 5.20 beschrieben, geändert werden.

    Neues in der Version 5.22 (01.01.2026)
    - AMixer überarbeitet
    Manchmal verändert der alsamixer ohne Eingriff die Einstellungen der Soundkarte des Shari. Es gibt jetzt unter
    dem Menupunkt "AMixer" zwei weitere Buttons.
    "Save ..." sichert die aktuellen Einstellungen
    "Restore ..." stellt die gesicherten Einstellungen wieder her.
    Wenn man seinen Sound (Lautstärke) ändern möchte, geht das über die Felder im Oben Teil der Maske. Mit Apply
    werden die Einstellungen aktiviert (aber nicht gesichert). Wenn man eine gute Einstellung gefunden hat, so
    sollte man die mit "Save.." sichern, dann kann man später wieder darauf zurückgreifen.

    Damit der Menupunkt AMixer angezeigt wird, muss zwingend ein Radio oder eine Soundkarte in der config.php
    eingestellt werden. Dafür sind folgende KOnstanten wichtig:

    define("DL3EL_RADIO", "SC (no Radio)"); // kein Radio angeschlossen, aber eine Soundkarte, die benutzt wird
    define("DL3EL_RADIO", "no Radio"); // kein Radio, keine Sound angeschlossen
    define("DL3EL_RADIO", "Shari"); // Shari angeschlossen
    define("DL3EL_RADIO", "RFGuru"); // RFGuru

    Neues in der Version 5.21 (31.12.2025)
    - Silvesterrelease
    Empfangene APRS Nachrichten können jetzt auch direkt aus dem Dashboard beantwortet werden :-)
    Der Versand der Nachrichten wird in der Datei svxlink.log protokolliert. Ausserdem habe ich eine Möglichkeit
    gefunden, auf den Eintrag in der crontab zu verzichten. Ich habe die Beschreibung bei der
    Version 5.20 (unten) entsprechend angepasst.

    Neues in der Version 5.20a (29.12.2025)
    - Servicerelease
    Weitere Tests haben gezeigt, dass der Empfang der APRS Nachrichten nur stabil funktioniert, wenn das
    dafür notwendige Perlskript unter dem Nutzer svxlink läuft. Ich habe die Beschreibung der V5.20
    entsprechend angepasst.

    Neues in der Version 5.20 (28.12.2025)
    - Empfang von APRS Nachrichten
    In der V1.40 von QSOLink hat Cedric die Möglichkeit eingebaut, APRS Nachrichten zu versenden. Mein Dashboard
    kann diese Nachrichten jetzt empfangen und darstellen. Damit das funktioniert, sind ein paar kleine zusätzliche
    Befehle notwendig.
    Damit das funktioniert muss das mitgelieferte Programm aprs-is-msg.pl als Hintergrundtask laufen.
    Sobald die Konstante
    define("DL3EL_APRS_MSG", "yes");
    gesetzt ist, prüft das Dashboard, ob der APRS Task läuft und startet dieen, wenn notwendig.
    Dieser Task lauscht auf dem APRS Backbone und filtert die eigenen Nachrichten heraus.
    Sobald eine neue Nachricht empfangen wurde, wird oben im Statusfenster der Hinweis "Neue APRS Nachricht"
    eingeblendet. Man kommt direkt durch einen Klick darauf zum APRS Fenster. Ansonsten kann dies jederzeit
    über den Link in der zweiten Menuzeile oben erreicht werden.
    Vorher muss aber der Task noch konfiguriert werden. Dazu gibt es jetzt im Fullscreen Editor gibt es
    einen Eintrag für die Datei aprs-is-msg.conf. Diese wird beim ersten Aufruf initial durch
    Kopieren us der Datei aprs-is-msg.conf.example erstellt.
    Hier müssen die für den Nachrichtenempfang notwendigen Daten eingetragen werden. Also das LoginCall beim APRS-IS
    (z.B: wie bei APRSDROID ohne SSID) und das entsprechende Passwort. Wer das nicht weiß kann es sich dort
    https://www.darc.de/der-club/distrikte/o/ortsverbaende/aprspasscode/
    ausrechnen lassen. Ausserdem muss das Call eingetragen werden, auf das für die Nachrichten gefiltert werden
    soll. Datei abspeichern bitte nicht vergessen.

    Neues in der Version 5.19 (25.12.2025)
    - Erweiterung des Loggings
    Dieser Update ist eher für Relaisbetreiber interessant, die ein öffentliches Dashboard für ihr Relais anbieten.
    Jetzt werden in die svxlink.log die DTMF Kommandos geloggt, so dass man erkennen kann, ob die über das Dashboard
    oder über Funk kamen.

    Neues in der Version 5.18 (23.12.2025)
    - Weihnachtsrelease
    Nach dem Update auf diese Verison, wird zukünftig ein möglicher Update direkt auf der Startseite angezeigt.
    Wenn die enstprechende Nachricht erscheint, kann der Update wie gewohnt über das Power-Menu ausgeführt
    werden.

    Neues in der Version 5.17 (20.12.2025)
    - Servicerelease
    Manchmal ist es auch für das Dashboard sinnvoll, LogInfos zu haben. Im ersten Schritt sind jetzt
    zwei Möglichkeiten eingebaut.
    a) wird die config Variable "debug" auf 1 gesetzt, werden ein paar Sachen in die DAtei dl3el/db.log geloggt
    b) wenn das Dashboard gestartet oder das Powermenu aufgerufen wird, so werden diese Events immer im SVXLink
    Log geloggt.
    c) in beiden Fällen bleibt das Log lokal auf dem Hotspot. Die svxlonk.log wird täglich mit Logrotate
    bearbeitet, die Date dl3el/db.log wird dl3el/db.log.bak umbenannt, wenn sie zum Zeitpunkt des
    täglichen Crontab Laufes größer als 100k ist.

    Neues in der Version 5.16 (07.12.2025)
    - internes Cleanup optimiert
    mit der Version 4.76 vom 31.10.2025 wurde das interne Cleanup als Alternative zum crontab-job
    eingeführt. Bei dieser Funktion wird u.a. eine recht große Datei aktualisert, die für die Anzeige
    der Vornamen benötigt wird. Bisher war das Dashboard während des Downloads nicht nutzbar und
    "hat gehangen". Ich habe das jetzt parallelisiert und das Dashboard sollte in der Zeit des
    Downloads ohne Einschränkungen weiterlaufen

    Neues in der Version 5.15 (06.12.2025)
    - Nikolausrelease
    - Wenn man zu lange (>23 Zeichen) DNS oder Hostnamen verwendet, werden diese jetzt für die Anzeige
    im Statusfenster gekürzt. Es wird nur Teil bis zum ersten "." angezeigt.

    Neues in der Version 5.14o (05.12.2025)
    - Servicerelease
    - Wenn die config.php und die config.inc.php nicht dem aktuellen Stand der jeweiligen .example Dateien
    entsprechen, wird das aktuelle Funknetz nicht angezeigt. Die Änderung in V5.14i haben nicht alle Fälle
    behoben, nächster Versuch. Komplett neuer Ansatz. Ich habe noch weitere Variatinen von svxlink.conf gesehen
    und auch versucht, diese Inhalte abzufangen. Dehalb die neue Version. Bitte Feedback bei Auffälligkeiten.

    Neues in der Version 5.14g (28.11.2025)
    - Servicerelease
    - Wenn die config.php und die config.inc.php nicht dem aktuellen Stand der jeweiligen .example Dateien
    entsprechen, wird das aktuelle Funknetz nicht angezeigt. Die Änderung in V5.13f haben nicht alle Fälle
    behoben, nächster Versuch.
    - Die Weiterleitung bei der Auswahl des parallel angezeigten LiveDasboards scheint stabil zu funktionieren.
    Es gibt lediglich Probleme auf IPADs, mit der Browserkennung:
    Macintosh, Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.1 Safari/605.1.15
    Ddg/26.1'
    da funktioniert es einfach nicht, der Bildschirm bleibt weiß.

    Neues in der Version 5.14f (27.11.2025)
    - neue DNS Namen bei FM-Funknetz
    - spätestens zum 01.01.2026 müssen die neuen DNS Namen vom FM-Funknetz benutzt werden. Diese müssen bis
    dahin in die svxlink.conf, bzw. in die reflectorx.conf eingetragen sein.
    Details dazu gibt es dort: https://wiki.fm-funknetz.de/doku.php?id=reflectorlogic_setup
    - Da die Namen (1.reflector-network.eu bzw. 2.reflector-network.eu) recht lang für die Statusleiste
    sind, werden sie mit dieser Version dort verkürzt dargestellt. Im oberen Banner werden sie
    vollqualifiziert, so wie in der svxlink.conf eingetragen, dargestellt.

    Neues in der Version 5.14e (26.11.2025)
    - Servicerelease
    - Es gibt weiterhin noch Probleme mit der Weiterleitung. Für die meisten Situation sollte das mit dieser
    Version funktionieren .. more to come ..

    Neues in der Version 5.14c (26.11.2025)
    - Servicerelease
    - In seltenen Fällen hat die Weiterleitung der URL nicht funktioniert, das sollte jetzt behoben sein

    Neues in der Version 5.14c (26.11.2025)
    - Servicerelease
    - In seltenen Fällen hat die Weiterleitung der URL nicht funktioniert, das sollte jetzt behoben sein

    Neues in der Version 5.14a (26.11.2025)
    - Servicerelease
    - Das Größenverhältnis des LiveDB hat nicht ganz gepasst.
    - ein Hinweis noch zum ein- oder Ausschalten der Automatik. Nach Änderung/Speicherung in der config.php muss
    der Bildschirm per Browserrefresh neu initialisiert werden.
    Sollte das nicht reichen, um die gewünschte ANzeige zu bekommen, bitte prüfen, ob in der Adressleiste
    "index1.php" steht. In diesem Fall das bitte in "index.php" ändern und aufrufen.

    Neues in der Version 5.14 (26.11.2025)
    - Live Dashboard jetzt auf Wunsch auch dauerhaft anzeigbar
    - Frank, DL4EM, hat mal wieder gezaubert. Auf Wunsch kann das Live Dashboard jetzt permanent rechts neben
    dem Hauptdashboard des eigenen Hotspots angezeigt werden. Dazu muss in der config.php folgender Eintrag
    gemacht werden:
    define("DL3EL_LIVEDB_AUTO", "yes");
    Fehlt dieser Eintrag, bleibt alles wie bisher. Da diese neue Möglichkeit viel Platz auf dem Bildschirm
    benötigt, wird das LiveDB nicht angezeigt, wenn als Browser ein Handy erkannt wird.
    Wird das LiveDB parallel angezeigt, entfällt der Menuepunkt LiveDB. Sollte die Handyerkennung nicht
    funktionieren, so bitte ich um Info per Telegram oder Mail.
    - eine Info für die Sysops von Relais mit öffentlich erreichbaren Dahboards. Wenn es die Infrastruktur erlaubt,
    dass die Nutzer eindeutig an der IP Adresse zu erkennen sind, gibt es eine Möglichkeit zur vereinfachten
    Authorisierung. Wer Interesse hat, bitte melden.

    Neues in der Version 5.13f (22.11.2025)
    - Servicerelease
    - Wenn die config.php und die config.inc.php nicht dem aktuellen Stand der jeweiligen .example Dateien
    entsprechen, wird das aktuelle Funknetz nicht angezeigt. Das soll behoben werden.

    Neues in der Version 5.13d (21.11.2025)
    - Servicerelease
    - In seltenen Fällen klappt die Erkennung einer neuen Verion bei github nicht. Ich habe jetzt
    einen Backup Server eingebaut

    Neues in der Version 5.13c (20.11.2025)
    - Servicerelease
    - In der Übersicht der aktuellen TGs (MonitorCalls) fehlte der TG Name der aktuellen TG, sofern
    diese nicht in der Mnitorliste war

    Neues in der Version 5.13 (19.11.2025)
    - Detailinfo vom FM-Funknetz jetzt wählbar
    - In der Lastheard Liste (Haupt-Dashboard) ist bislang hinter dem Rufzeichen ein Link zum qrz.com
    Eintrag verlinkt. Bei vielen Relais gibt es jedoch keinen Eintrag. Wenn die Systemvariabale
    define("DL3EL_LH_DETAIL", "FMN");
    gesetzt wird, so wird anstelle der qrz Seite, die Detailseite vom FM-Funknettz Dashboard für diese
    Station aufgerufen. Das gilt für alle Einträge in der Liste.

    Neues in der Version 5.12 (19.11.2025)
    - Servicerelease
    - Es gibt ein ziemlich gutes Wiki zum FM-Funknetz. Das ist jetzt direkt über das FM-Funknetz Icon im
    obersten Banner verlinkt.

    Neues in der Version 5.11 (17.11.2025)
    - Servicerelease
    - im Hauptdashboard stand noch "UTC" hinter der Zeit, obwohl es die Lokalzeit war. Jetzt nicht mehr.

    Neues in der Version 5.10 (17.11.2025)
    - Servicerelease
    wegen der Serveränderungen im FM-Funknetz, musste das Dashboard angepasst werden:
    - die Namen der TGs in der Liveansicht sind wieder verfügbar
    - wenn mehrere Hosts eingetrage sind, wird im obersten Seitenbanner immer nur der erste Eintrag angezeigt
    Werden trotzdem mehrere Namen angezeigt, bitte die config.inc.php an die Vorgaben der
    config.inc.php.example anpassen. Ist das bisher noch nie passiert und setzt man kein aktueles Image von
    DC9VQ ein, so empfiehlt sich das auch für die Datei config.php. Eine korrekte config erkennt man i.d.R. daran,
    das im obersten Seitenbanner der Server des aktuell ausgewählten Funknetzes angezeigt wird.
    - wenn die Verbindung ins FM-Funknetz über HAMNet hergestellt wird, so wird links im Statusfenster nicht
    der Servername, sondern HAMNet angezeigt. Der aktuell gewählte DNS Name ist zu lang.

    Neues in der Version 5.09 (13.11.2025)
    - diesmal gibt es nichts Neues, aber eine wichtige Info
    Peter Fahlbusch, DG7AA, hat neue HAMNet Adressen bekommen. Alle Nutzer, die FM-Funknetz per HAMNet nutzen
    muss ganz dringend, bis spätestens 16.11.2025 ihre svxlink.conf ändern. Mit diesem Dashboard geht das recht
    einfach über den Fullscreen Editor.

    HOSTS=1.fm-funknetz.hamnet.cloud,3.fm-funknetz.hamnet.cloud,2.fm-funknetz.hamnet.cloud
    HOST_PORT=5308
    HOST_PRIO=100
    HOST_PRIO_INC=1
    HOST_WEIGHT=10

    Lt Peter muss die Reihenfolge genau so eingehalten werden.

    Die Nutzer, die die Reflektorwechselfunktion nutzen, müssen das natürlich ggf. in den Dateien Reflectorx.conf
    ebenfalls machen. Bitte daran denken, dass es in der Datei mit dem FM-Funknetzreflector dann entsprechened
    kommentierte Zeile, mit den Werten oben eingefügt werden.

    Da der Eintrag bei HOSTS jetzt etwas länger geworden ist, sieht das auf dem Dashboard etwas blöd aus.
    Abhilfe schafft eine Anpassung der include/config.inc.php auf das, was in der Datei
    include/config.inc.php.example steht. Hier sind nur die Zeilen 71 -73 interessant, sie müssen so aussehen:
    $fmnetwork_all = isset($svxconfig[$section]['HOSTS']) ? $svxconfig[$section]['HOSTS'] : $svxconfig[$section]['DNS_DOMAIN'];
    $fmnetwork_arry = explode(",", $fmnetwork_all);
    $fmnetwork = $fmnetwork_arry[0];

    Es gibt für mich derzeit leider keine Möglichkeit, das im Rahmen eines Updates automatisch zu ändern


    Neues in der Version 5.07 (12.11.2025)
    - ReflectorButton jetzt in Farbe
    die aktuell ausgewählte Reflectorconfig wird jetzt mit grünem, der Rest mit blauem Hintergrund
    dargestellt.

    Neues in der Version 5.06 (12.11.2025)
    - Servicerelease
    für die Umschaltmöglichkeiten für verschiedene Reflektoren ist jetzt eine Authorisierung notwendig

    Neues in der Version 5.05 (12.11.2025)
    - Servicerelease
    Beschreibung unten verbessert
    fehlerhafter Menueintrg korrigiert

    Neues in der Version 5.04 (12.11.2025)
    - Reflectorverbindungen können jetzt individuell beschriftet werden
    Über Variablen in der include/config.php können jetzt Texte für die Buttons zum Reflectorwechsel individuell
    eingestellt werden, Beispiel:
    define("DL3EL_REF1_BUTTON", "FMN");
    define("DL3EL_REF2_BUTTON", "HAMNET");
    define("DL3EL_REF3_BUTTON", "FMN 1TG");
    define("DL3EL_REF4_BUTTON", "");

    Neues in der Version 5.03 (10.11.2025)
    - Unterstützung verschiedener Reflectorverbindungen
    Über Buttons ist es jetzt möglich, zwischen bis zu vier verschiednen Reflectorkonfigurationen zu wäheln
    Das ist z.B. sinnvoll, wenn jemand mit mehreren Netzen arbeitet (FM-Funknetz, Lausitzlink, etc) oder
    wenn man für sein Netz verschieden MOnitorTGs hat, zwischen den schnell hin- und her geschaltet werden
    soll.
    Auch für diese Funktion muss auf der Linux Shell des Rechners etwas gemachtg werden, man sollte sich dass
    also zutrauen. Es ist aber alles nur dann n otwendig, wenn zwischen verschiedenen Reflektorverbindungen
    wechseln möchte.
    Im Rahmen des Updates werden 4 Dateien im Verzeichnis dl3el neu ausgeliefert:
    Reflector1.conf.example
    Reflector2.conf.example
    Reflector3.conf.example
    Reflector4.conf.example
    Aus diesen Dateien muss jeweils eine Datei Reflectorx.conf (also ohne .example) erstellt werden.
    Das muss nicht für alle Dateien geschehen. Es funktionjiert auch nur mit 2 oder 3 Dateien.
    Sobald die Datei dl3el/Reflector1.conf gefunden wird, werden die entsprechenden Buttons im Dashboard
    angezeigt. Ändern lassen sich diese Datein, wie gewohnt über den Fullscreen Editor.
    Am besten erzeugt man den Inhalt der Dateien in dem man die entsprechenden Einträge aus der
    /etc/svxlink/svxlink.conf mit den neuen passenden Werten dort einträgt
    Es gibt folgendes zu beachten
    - Im Moment kann nur eine [section] bearbeitet werden, diese muss zu Beginn der Reflectorx.conf eingetragen
    sein und exakt der gewünschten [section] aus der svxlink.conf entsprechen
    - sollte man in der svxlink.conf innerhalb einer [section] den gleichen Eintrag mehrfach verwendet haben,
    so gilt immer der letzte. Egal ob als Kommentar gekennzeichnet oder nicht. Durch dieses Skript werden
    solche Mehrfacheinträge gelöscht (bis auf den letzten egal ob auskommentiert oder nicht),
    das ist leider nicht zu vermeiden.
    - wenn man einen Wert in einer Konfig braucht (z.B. HOSTS) in anderen aber nicht, so muss der in denen,
    wo er nicht benötigt wird, mit # versehen werden. Bevor man beginnt, muss der Eintrag entsprechend
    auch in der svxlink.conf vorhanden sein.
    - nach dem Ende der Funktion wir die Reflektorverbindung neu gestartet

    Neues in der Version 5.01 (10.11.2025)
    - Servicerelease
    es ist aufgefallen, dass sich der Player beim beenden oder verlassen der WebSeite nicht komplett beendet.
    Das kann u.U. dazufühen, dass nach ein paar Stunden der Sound einfach nichtmehr funktioniert. Für diesen
    Fall gibt es jetzt ganz unten auf der Seite einen Button "Restart Player", der sollte das Probem beheben.
    Wir arbeiten an einer automatischen Lösung.

    Neues in der Version 5.00 (10.11.2025)
    - komplexer Systemupdate für Fortgeschrittene
    Dieser Update kann von jedem ausgeführt werden. Nur allein die von Github verteilten Dateien, bringen das System
    auf den neuesten Stand, ermöglichen aber keine zusätzlichen Funktionen.
    Nur Nutzer, die ohne zusätzliche Erklärungen zum Folgenden wissen, was sie tun müssen und sich auf der
    Unix Shell wohlfühlen, sollten die nachstehendnen Aktionen umsetzen.
    Danach kann über das Dashboard (also im Browserfenster) der Ton des Hotspots (also die aktiven QSOs)
    abgehört werden. Chris, G4NAB/F5VMR hat gezeigt, wie das geht und ich habe das in mein Dashboard integriert. Wer
    unsicher ist, lässt das am besten. In einer der nächsten Versionen wird das
    zentraler Bestandteil vom DC9VQ Image sein.
    Die versierten Unix-Nutzer arbeiten bitte nach dem erfolgreichen Github Update folgendes ab:
    - Die Datei /etc/svxlink.conf zum ändern öffnen (z.B.: sudo nano /etc/svxlink/svxlink.conf)
    es ist egal ob [SimplexLogic] oder [RepeaterLogic] genutzt wird, die Vorgehensweise ist gleich.
    Dort wo
    TX=Tx1
    steht, muss das durch
    TX = MultiTx
    ersetzt werden
    Dann bitte zum Abschnitt [Tx1] vorblättern
    und direkt darüber die Abschnitte Multitx und TxStream einfügen:
    [MultiTx]
    TYPE = Multi
    TRANSMITTERS = Tx1,TxStream

    [TxStream]
    TYPE = Local
    AUDIO_DEV = alsa:plughw:CARD=Loopback,DEV=0
    AUDIO_CHANNEL = 0
    PTT_TYPE = NONE
    TIMEOUT = 7200
    TX_DELAY = 0
    PREEMPHASIS = 0
    anschliessend die Datei bite speichern und schliessen.

    - Dann muss noch das Loopback Interface angelegt werden, dazu bitte
    cp [dir]/dl3el/asound.conf /etc/asound.conf
    aurufen, wobei [dir] durch das aktuelle Verzeichnis der FM-Funknetz Dashboard Dateien zu ersetzten ist.
    - In der "crontab" muss auch noch ein Eintrag gemacht werden (sudo crontab -e):
    @reboot sudo modprobe snd-aloop
    dann speichern und beenden
    - nach diesen Aktionen muss noch die Datei upgrade_sound.sh
    cd [dir]
    ./upgrade_sound.sh
    ([dir] wieder durch das aktuelle Verzeichnis der FM-Funknetz Dashboard Dateien ersetzten)
    - anschliessend das System bitte neu starten
    - sollte der Button RX Monitor sichtbar sein, wenn aktiviert, wird der Sopund vom svxlink auf dem PC
    Lautsprecher ausgegeben

    Neues in der Version 4.90 (07.11.2025)
    - bessere Quelle für Namen von Talkgroups
    die im Dashboard angezeigten Namen von TGs werden jetzt aus einer Datei geholt, die alle 24h vom
    FM-Funknetz Server aktualisiert wird. Die nächste Aktualisierung erfolgt mit dem LAuf des
    nächsten Cron-Jobs

    Neues in der Version 4.89 (07.11.2025)
    - Timer sichtbar
    das System für alle 24h wichtige Update und Aufräumarbeiten durch
    - die Datei mit den TGs wird aktualisiert
    - die Datei mit den Vornamen für die LH Liste wird aktualisiert
    - ältere Sicherungskopien werden gelöscht
    Diese Dinge dauern ein paar Sekunden udn vermitteln den EIndruck, ds System würde "hängen".
    Um das etwas transparenter zu machen, wird jetzt in den letzen 10 Minuten vor einer der Aktionen eine
    entsprechende Mail oberhalb der LH Liste im Main Dashboard angezeigt. Wenn man die Anzeipe permanent
    haben möchte, so muss in der config.php die Variable
    define("DL3EL_SHOW_NEXT_RUN", "yes");
    eingetragen werden.
    Wenn das Dashboard eine Weile nicht benutzt wurde (und in der Zwischenzeit die 24h abgelaufen sind),
    kann es sein, dass direkt beim Aufruf, diese Aktionen durchgeführt werden. In diesem Fall kann es
    dazu kommen, dass die Meldungen nicht angezeigt werden sondern es einfach eine Weile dauert, bis
    das Dashboard verfügbar ist.

    Neues in der Version 4.88 (05.11.2025)
    - Servicerelease
    wenn ein KEY in der config.php als Kommatar gekennzeichnet wurde, fehlte anschliessend das
    Systemmenu ganz unten. Jetzt nicht mehr.

    Neues in der Version 4.87 (05.11.2025)
    - Servicerelease
    verständlichere Meldungen beim Update (ist natürlich erst beim nächsten Update sichtbar :-)

    Neues in der Version 4.85 (05.11.2025)
    - Servicerelease
    ich suche noch die optimale Stelle, um die u.a. Daten zu schicken. Die erste Position war nicht optimal.
    Jetzt sollte das Dashboard wieder schneller starten

    Neues in der Version 4.84 (04.11.2025)
    - Servicerelease
    wie bei der Version 4.62 (18.10.2025) beschrieben haben sich die config.php und die config.inc.php stark
    geändert. Dieses Dashboard ist ja keine Neuentwicklung sondern im Kern einige Jahre alt. Da hatte sich
    jede Menge Ballast angesammelt, den wir entfernt haben. Die Idee war, dass jeder selbst die Dateien bei
    sich lt. der Anleitung unten bereinigt. Beide Dateien können nicht per Github verteilt werden können.
    Einige Fehlermeldungen in den letzten Tagen haben mir gezeigt, dass das anscheinend nicht fuktioniert.
    Daher habe ich jetzt eine Routine gebaut, die diese Bereiigung automatisch macht. Änderungen an den
    beiden Dateien sind aber nicht ungefährlich. Daher möchte ich folgendermassen vorgehen:
    Mit dieser Version sammelt das Dashboard als Test drei Paranmeter ein (Rufzeichen der Installation,
    Versionsnummer und Name des genutze Funknetzes). Diese Infos werden auf einem meiner Server gespeichert.
    Wenn ich sicher bin dass das vernünftig funktioniert und nicht zu viel Last erzeugt, dann wird das dahingehend
    erweitert, das auch noch die config.php an den Server geschickt wird. Ich werde dann versuchen alle
    Besonderheiten der Dateien zu berücksichtigen, bevor ich die Bereinigungsroutine verteile. Sollte jemand
    mit der Vorgehensweise nicht einverstanden sein, so möge er sich bei mir melden, ich kann
    durchaus ein "opt out" einbauen.

    Neues in der Version 4.83 (03.11.2025)
    - Farbauswahl für die Butons beim FM-Funknetz Dashboard jetzt konfigurierbar
    Frank, DL4EM, hat sich noch einmal mit dem LiveDAshboard befasst. Die Farben der
    Buttons (zum Auswählen der TG) können jetzt über die config.php konfiguriert werden. Dazu sind zwei neue
    Varablen notwendig:
    define ("SVXMQTT_COLOR_active", "green");
    define ("SVXMQTT_COLOR_passive", "blue");
    SVXMQTT_COLOR_active ist der Butto der gerade aktive TG
    SVXMQTT_COLOR_passive ist der Butto der gerade TG aus der LH Liste
    Schöne Farben sind green, silver oder blue. Es findet keine Systaxprüfung statt, d.h. alle Farben
    können probiert werden. Es wird auch der HEX Code akzepitiert:
    define ("SVXMQTT_COLOR_passive", "#CECECE");

    Neues in der Version 4.81 (02.11.2025)
    - Verbesserungen für Relaisbetreiber
    Die Relaisbetreiber, die deses Dashboard öffentlich einsetzen, können jetzt die Zugriffsrechte granular steuern.
    Das erfolgt im Einzelnen über Einträge in der config.php
    define("KEY6", array('Spenden Info','*992#','purple','auth'));
    der letzte Parameter ist entweder 'auth' oder nicht vorhanden. Ist er 'auth', so wird der Button nur
    angezeigt wenn der aktuelle Benutzer authorisiert ist
    define("DTMF", "auth");
    Mit DTMF wird vorgegeben ob die Eingabezeile für die freie DTMF Eingabe immer oder nur für einen
    authorisierten Nutzer angezeigt werden soll.
    define("MENUTOPAUTH", "yes");
    define("MENUTOPAUTH", "no");
    Hier wird eingestellt, ob der Button zur Authorizierung überhaupt angezeigt werden soll
    define("MENUTOP", "FULL");
    define("MENUTOP", "INFO");
    Hier kann der Umfang der obersten Menuleiste eingestellt werden. Bei Auswahl von "INFO" wird nur
    "Dashboard | LIVE DB | Talk Groups | MonitorCalls " angezeigt

    Neues in der Version 4.80 (02.11.2025)
    - Verbesserungen bei Backup/Restore
    Die im Dashboard eingebaute Sicherungsfunktion berücksichtigt jetzt die aktuellen Verzeichnis, wie in der
    config.php eingetragen.

    Neues in der Version 4.79 (02.11.2025)
    - Änderung in der URL im FM-Funknetz
    Im FM-Funknetz hat sich eine URL im Zuge der Umstellung auf php geändert. Die V4.79 berücksichtigt das

    Neues in der Version 4.78 (01.11.2025)
    - weniger IP Adressen in der Anzeige Hardware Info möglich
    Unter Umständen werden sehr viele IP Adressen bei Hardware Info angezeigt. Wenn man das auf eine Adresse
    einschränken möchte, so muss in der config.php eine neue Konstante definiert werden:
    define("DL3EL_SHOW_ONLY_ONE_IP", "yes");
    Fehlt diese Konstate oder steht sie auf "no", werden, wie bisher, alle IP Adressen des Rechnefrs angezeigt.

    Neues in der Version 4.77 (01.11.2025)
    - bessere IPv6 Unterstützung
    Nach einem Hinweis inkl. Codeschnipsel von Kim, DG9VH, konnte ich die Darstellung von iPv6 Adressen im
    Statusbereich verbessern. Wenn der Browser auf einem IPv6 Client läuft steht dort IPV6,
    die eigentliche Adresse ist jetzt im Tooltip.und sprengt nicht mehr die Breite des Fensters.

    Neues in der Version 4.76 (31.10.2025)
    - internes Cleanup eingeführt
    bislang musst bei der Installation vom Dashboard ein manueller Eintrag in der Crontab erstellt werden,
    um ein Skript zu starten, welches regelmässig alte Backups löscht. Nutzer des Images von DC9VQ
    brauchen sich nicht darum zu kümmern, das war bereits enthalten und richtig konfiguriert.
    Wir haben jetzt diese Funktionm das Dashboard verlagert, das Script "cleanup.sh" ist jetzt nicht
    mehr notwendig. Sofern das Dashboard läuft, wird die "Cleanup" Funktion wird automatisch alle 24 Stunden
    aufgerufen. Läuft das DB nicht, z.B. über Nacht, so wird die Funktion beim nächsten Aufruf gestartet
    (sofern 24h seit dem letzten Aufruf vergangen sind).
    Aktuell werden bis auf 10 Versionen alle Sicherungskopien der config.php, svxlink.conf,
    ModuleMetarInfo.conf und ModuleEchoLink.conf gelöscht.
    Ausserdem werden aus dem Verzeichnis "backups" alle Datien entfernt, die älter als 7 Tage sind.

    Neues in der Version 4.74 (29.10.2025)
    - Info nur für Nutzer des Dashboard mit einer eigenen Installation von SVXLink oder älteren Versionen des
    Images von DC9VQ: In der Github Version von svxlink wird
    die Datei /etc/svxlink/svxlink.d/ModuleEchoLink.conf mit einer Variablen "Description" ausgeliefert,
    die folgenden Inhalt hat:
    DESCRIPTION="You have connected to a SvxLink node,\n"
    "a voice services system for Linux with EchoLink\n"
    "support.\n"
    "Check out http://svxlink.sf.net/ for more info\n"
    "\n"
    "QTH: My_QTH\n"
    "QRG: Simplex link on ???.??? MHz\n"
    "CTCSS: My_CTCSS_fq_if_any Hz\n"
    "Trx: My_transceiver_type\n"
    "Antenna: My_antenna_brand/type/model\n"
    Die Standardfunktion in PHP zum Einlesen und Verarbeiten von .ini oder .conf Dateien ist
    parse_ini_file(). Das verwendete Format ist mit dieser Funktion nicht kompatibel und nicht erlaubt.
    Leider wird dieses Format nicht nur mit einer Warnung bestraft, sondern die Funktion wird an
    der Stelle auch abgebrochen. Daher verwende ich jetzt eine ähnliche Routine, unabhängig von der PHP
    Standardbibliothek. Jetzt wird der Fehler abgefangen und korrigiert.
    "Abgefangen" bedeutet, die Funktion funktioiert wie erwartet
    "korrigiert" bedeutet, dass die Zeilen, die nicht mit DESCRIPTION=" beginnen, gelöscht werden.

    Neues in der Version 4.72 (27.10.2025)
    - Änderung bei der Auswahl von EcholinkProxies
    wenn man die öffentlichen Proxies für Echolink nutzen möchte, reicht es jetzt in der Datei
    /etc/svxlink/svxlink.d//ModuleEchoLink.conf
    als Proxy PUBLIC einzutragen:
    PROXY_SERVER = PUBLIC
    es wird dann automatisch ein freier Proxy gesucht. Dessen Adresse ersetz dann PUBLIC in
    der .conf Datei. Achtung, damit die Konfig korrekt gespeichert wird, müssen auch in
    diesem Fall die Einträge
    PROXY_PASSWORD =
    PROXY_PORT =
    in der Datei vorhanden sein (siehe Version 4.54). Der Inhalt rechts vom = ist egal und wird
    durch die korrekten Werte überschrieben.
    Diese Vorgehensweise ist aber nur dann notwendig, wenn man das System komplett neu aufsetzt
    oder von einem privaten Proxy zu einem öffentlichen Proxy wechseln möchte. In einer laufenden
    Installation muss man diese Funktion nicht benutzen.

    Neues in der Version 4.71 (26.10.2025)
    - MQTT Livemap jetzt mit klickbarer Talkgroup
    Frank, DL4EM, hat mir bei dem Problem geholfen, die angezeigten Talkgroups in der LiveDB Ansicht per Klick anzuwähen. Er hat mir vorhin den Code geschickt,
    den ich jetzt in die Version 4.71 integriert habe. Danke Frank.

    Neues in der Version 4.68(23.10.2025)
    - DX-Cluster Interface jetzt mit Filter auf Herkunft
    Die angezeigten Clustermeldungen können jetzt, mit einer Einstellung in der config.php, auf
    Meldungen aus Europa (oder AS, SA,AF und NA) eingeschränkt werden.
    Dazu muss die Konstante
    define("DL3EL_DXCLUSTER_CONT", "EU");
    eingefügt und auf den geünschten Kontinent eingestellt werden. Ansonsten werden alle Meldungen angezeigt

    Neues in der Version 4.66 (22.10.2025)
    - DX-Cluster Interface implementiert
    Jörg, DJ7NT, bekannt als Entwickler von Wavelog, bietet eine leicht zu bedienende API, mit der
    DX-Meldungen in Anwendungen integriert werden können. Da ich das Dashboard langsam dahin entwickeln
    möchte, dass alle wichtigen Amateurfunk Informationen im Shack dort abrufbar sind, habe ich dieses
    Interface implementiert. Auch hier muss die Funktion erst wieder in config.php durch Eintragen der Konstante
    define("DL3EL_DXCLUSTER", "yes");
    aktiviert werden. Die Seite aktualisiert sich alle 15 Sekunden.

    Neues in der Version 4.64 (21.10.2025)
    - Weitere Aufräumaktionen im Code
    - erster Versuch einer MQTT Implementierung des Live Dashboards von Jens, DJ1JAY. Im Moment wird
    sein Code mit etwas angepasst Farben verwendet. Leider geht das direkte Auswählen
    einer TG noch nicht. Für diese Funktion muss in der config.php die Konstante
    DL3EL_LIVEDB auf yes gesetzt werden:
    define("DL3EL_LIVEDB", "yes");
    Da dieses eine neue Konstante ist, muss die Zeile oben, falls gewünscht, in die config.php
    eingefügt werden. Am einfachsten geht das über den Editor im Expert Mode.
    Dabei wird auch eine Sicherheitskopie der config.php erstellt.

    Neues in der Version 4.62 (18.10.2025)
    - Im Rahmen einer Aufräumaktion vor der Bereitstellung des Iamges (V1.20d) von Michael, DC9VQ sind die beiden Dateien
    include/config.inc.php und config.php ziemlich aufgeräumt worden. Die Größe wurde fast halbiert,
    alle nicht mehr notwendigen Konstanten wurden entfernt.
    Alle Einträge die der normale Nutzer nicht anfassen muss sind jetzt in der config.inc.php.
    Ausnahme sind UserId und Passwort, die sind auch dort,
    weil andere Skripte darauf zugreifen und diese Infos beim Backup nicht mit gesichert werden sollen.
    Alle Nutzer des Images 1.20d von DC9VQ können jetzt aufhören zu lesen, dort sind die neuen config
    Versionen schon aktiv.
    Alle anderen müssen das jetzt leider manuell nachziehen. Meine Möglichkeiten das zu automatisieren
    sind sehr übersichtlich.
    Folgende Vorgehensweise wird empfohlen:
    1) include/config.inc.php
    - Backup der Datei erstellen
    - Inhalt von
    define("PHP_AUTH_USER", "xxxx");
    define("PHP_AUTH_PW", "xxxx");
    merken.
    - die Datei komplett mit dem Inhalt von include/config.inc.php.example überschreiben
    - den gemerkten Inhalt von
    define("PHP_AUTH_USER", "xxxx");
    define("PHP_AUTH_PW", "xxxx");
    wieder in die neue include/config.inc.php eintragen und diese abspeichern. Fertig.
    2) include/config.inc.php
    - Backup der Datei erstellen
    - Inhalt von
    define("KEYnn",...
    define("SVXCONFPATH",...
    define("SVXCONFIG",...
    define("SVXLOGPATH",...
    define("SVXLOGPREFIX",...
    define("MODULEPATH",...
    define("ECHOLINKCONFIG",...
    define("METARINFO",...
    define("TclVoiceMail",...
    define("URLSVXRAPI",...
    define("CPU_TEMP_OFFSET",...
    define("MENUBUTTON",...
    define("SHOWPTT",...
    define("DL3EL_EXPERT",...
    define("DL3EL_NOAUTH",...
    define("DL3EL_SSH",...
    define("DL3EL_RADIO",...
    define("DL3EL_SPEC_TG",...
    define("DL3EL_DMRTG",...
    define("DL3EL_VERSION",...
    define("DL3EL_SC_CHANGE",...
    define("DL3EL_SC_STRING",...
    define("DL3EL_GIT_UPDATE",...
    define("DL3EL_APRS_MSG",...
    merken.
    - die Datei komplett mit dem Inhalt von include/config.php.example überschreiben
    - den gemerkten Inhalte in der neuen Datei wieder einsetzen und diese abspeichern. Fertig.
    3) nach Abschluss der Arbeiten reicht ein Neuladen des Dashboards. Sollte irgendetwas nicht
    richtig funktionieren, bitte die beiden geänderten Datein sichern, die beiden Backups
    wieder einspielen und Kontak zu mir aufnehmen

    Neues in der Version 4.60 (16.10.2025)
    - Die Dateien, die vom Github Update angefasst, dürfen auf keinen Fall lokal geändert werden. Wenn das trotzdem
    passiert, dann wird der Update abgebrochen. Es ist jetzt ein kleiner Workaround eingebaut, der in genau
    diesem Fall, die betroffenen Daten in .bak umbebennt und dann darum bittet, den Update noch einmal
    auszuführen. In den meisten Fällen hilft das.

    Neues in der Version 4.58 (16.10.2025)
    - Nachdem die automatische Proxy Einstellung bei Echolink so gut angekommen ist, habe ich mit Jonathan, K1RFD,
    gesprochen. Er hat mir jetzt eine Seite zur Verfügung gestellt, die die Proxyinformationen in XML beinhaltet.
    Dadurch konnte ich einerseits den Code wesentlich schlanker und schneller machen und zusätzlich noch einen
    Zufallsmechanismus einführen. Jetzt wird also nicht der erste freie Proxy genommen, sondern aus der Menge
    der freien Proxies wird einer per Zufall ausgewählt.

    Neues in der Version 4.55 (15.10.2025)
    - jetzt gibt es diese Infos :-)

    Neues in der Version 4.54 (14.10.2025)
    - automatischer Echolink Proxy. Wenn man in der Echolink Konfiguration (/etc/svxlink/svxlink.d//ModuleEchoLink.conf)
    einen öffentlichen Proxy ausgewählt hat
    PROXY_SERVER = 192.68.17.154 (Beispiel)
    PROXY_PORT = 8100 (Pflicht)
    PROXY_PASSWORD = PUBLIC (Pflicht)
    dann wählt das Dashboard jetzt automatisch einen freien Proxy aus
    den Erfolg sieht man links unten im Statusfenster unter "Echolink Proxy"

    Neues in der Version 4.49 (12.10.2025)
    - Unterstützung von DCS bei den Radios. Vor Nutzung bitte den Artikel von Michael dazu lesen:
    https://dc9vq.de/erfahrungen-mit-ctcss-und-dcs-mit-meinen-svxlink-hotspots/

    Neues in der Version 4.46 (11.10.2025)
    - Vorbereitung für den Einsatz bei Relais.
    wenn Nutzern die Steuerung des FM-Funknetzteils eines Relais gestattet wird (z.B. Auswahl von TGs),
    dann gibt es jetzt die Möglichkeit die Buttons am unteren Dashboardrand
    pro Button frei anzuzeigen oder durch das Adminpasswort zu schützen
    Das geschieht über den zusätzlichen Parameter "auth" inder config.php
    define("KEY2", array(' 26269 ','*9126269#','green','auth'));

    Neues in der Version 4.45 (10.10.2025)
    - Anzeige der Talkgroup Namen in der Anzeige "Monitorcalls"
    für die abonnierten TGs wird jetzt zuätzlich zur TG Nummer noch der vom FM-Funknetz gelieferte Name angezeigt

    Neues in der Version 4.34 (10.10.2025)
    - Unterstützung von RFGuru
    in der config.php kann jetzt
    define("DL3EL_RADIO", "Shari");
    oder
    define("DL3EL_RADIO", "RFGuru");
    eingetragen werden. Beide Radios können über eine Maske im Dashboard konfiguriert werden
    - RSSI Wert des empfangenen Signal im linken Statusfenster
    es ist nur ein numerischer Wert, der die Stäkre des empfangenen SIgnals anzeigt
    wenn das Radio kein Signal empfängt, wird das Grundrauschen angezeigt, Signale die ab etwa 15
    darüber liegen werden gut ins Funknetz übergeben.
    Normalerweise sollte der RSSI Wert ohne empfangenes Signal unter 20 liegen. Ist er deutlich
    höher (z.B. wenn das Radio an eine gfute Antenne angeschlossen ist, empfiehlt sich der Einsatz
    einen zusätzlichen Bandfilters

    Neues in der Version 4.32 (09.10.2025)
    - Dashboard ist jetzt ein Teil vom DC9CQ FM-Funknetz Image - die wichtigsten Erweiterungen sind hier beschrieben: https://26269.de/neues-dashboard-bei-db0htv/


    DL3EL © 2004-2026