DDF-Handbuch / Teil A – Protokoll-DDF

Debugging

Neu (09.11.2026) – Parsefehler im Widget

Bei einer ungültigen SVGANIMATE-Formel zeigt das Widget bis zu drei Zeilen der Parser-Fehlermeldung in Rot in der Kachel an (Quelle: gSvg.cpp, paintFormula). Typische Ursache: fehlendes ; am Ende einer Anweisung. Bei ungültigem SVGEVENT erscheint keine solche Anzeige (Aussage Hartwig Weidacher, 09.11.2026).

Werkzeuge

Mittel Wirkung
DEBUG(var1, var2, …); schreibt : var1=<wert>, var2='<text>' als Debugmeldung. Strings werden in '…' ausgegeben, Zahlen mit %g.
$.SYS.DEBUG.<text> := 1; schreibt <text> ins Log, mit Präfix <Gerätename>[station.device]:
<ALIAS>.Q, .EC, .EN, .L Qualität, Fehlerzähler, Fehlernummer und Datenlänge einer Funktion
<ALIAS>.HTTP_CODE, .HTTP_DATA REST: Statuscode und Rohantwort
<ALIAS>.MQTT_DATA, .MQTT_CONNECTION MQTT: letzte Nachricht und Verbindungsstatus
<ALIAS>.URL / .LC zuletzt gesendete URL bzw. letztes Kommando

DeviceLib-Debugger

Wird der Geräte-Debugger aktiviert, sendet der Controller die Debugmeldungen als JSON (controllerID, messages[] mit timestamp, level = DEBUG/INFO/WARNING/ERROR und message) an den DeviceLib-Debugger-Server. Wie der Debugger im System eingeschaltet wird, ist zu klären. Der Bezug zu den *GENERAL-Keys DEV_DEBUG und DEBUGPORT ist im Code nicht belegt.

Vorgehen

  1. Erst die Verbindung prüfen: $.CONNECTSTATE, bei MQTT .MQTT_CONNECTION.
  2. Dann die Rohdaten: DEBUG(DATA.L, DATA.Q, DATA.EC);.
  3. Danach die Umrechnung: einzelne Zwischenvariablen per DEBUG(); ausgeben.
  4. Bei REST zusätzlich DEBUG(R.HTTP_CODE, R.URL);.

Tip

Debugausgaben in schnell pollenden Funktionen erzeugen viel Log. Nach der Inbetriebnahme sollten sie entfernt oder per Merker begrenzt werden.