Hallo Forum,
in einem anderen aktuellen Thread ist das Logging der KNX-Telegramme ein Thema, insbesondere zur Fehlersuche. Einigkeit scheint zu bestehen, was den Gruppenmonitor der ETS betrifft: niemand mag ihn wirklich.
Ein Ärgernis: Das Filtern von Telegrammen über die Suchfunktion (Lupe oben rechts) ist von der Performance übel, wenn man einige tausend Telegramme hat, und auch recht unflexibel. Deshalb: bessere Alternative gesucht. Und auch gefunden!
Man findet erstaunlich wenig Dokumentation dazu, was mit dem Gruppenmonitor möglich ist. Heute habe ich ihn mir endlich mal etwas näher angeschaut und nützliche Funktionen entdeckt, die mir bisher entgangen waren. Vielleicht können wir hier einiges zusammentragen an Tipps & Tricks.
Langzeitaufzeichnung
Was früher ein kostenpflichtiges Feature war gibt es seit ETS 5.6.5 nun ohne Kosten: den Langzeitrekorder, um den Gruppenmonitor permanent laufen zu lassen und die Telegramme auf Platte zu schreiben, für spätere Auswertung:
https://support.knx.org/hc/de/articl...en-Busmonitors
Triggerbedingungen
Heute habe ich endlich kapiert, daß man hier recht einfach eigene Bedingungen definieren kann, wann der Gruppenmonitor eine Aufzeichnung beginnt und wieviele Telegramme die ETS jeweils aufzeichnet/darstellt. Oder beim Laden aus einer aufgezeichneten Datei: welche der in der Datei aufgezeichneten Telegramme dargestellt werden.
Hierzu geht man auf das Register Bedingungen und - das hatte ich bisher übersehen - erzeugt sich mit dem grünen + einfach eine neue Bedingung. Hier stehen unterschiedliche Eigenschaften zur Verfügung, unter anderem Quelladresse (sprich: physikalische Adresse) und Zieladresse (sprich: Gruppenadresse).
In meinem Screenshot unten sieht man die Bedingung für Aktivierung einer Beschattung: Zieladresse ist 3/5/43 und Wert ist 1.
Je nach Aufgabenstellung kann man hier mit UND bzw. ODER Abfragen definieren. Nicht beliebig flexibel, aber ganz brauchbar.
Die oberen Bedingungen in der Liste sind vordefiniert in der ETS, die beiden letzten Einträge (Beschattung ein bzw. aus) habe ich für dieses Beispiel hinzugefügt.
diag_bedingungen.jpg
Capture Trigger Bedingung
Nachdem wir so eine Bedingung erzeugt haben können wir sie als Trigger definieren. Das bedeutet, daß die ETS nicht alle Telegramme anzeigt sondern gezielt die Telegramme anzeigt, wenn diese Bedingung erfüllt ist. Hier kann unsere selbst erstellte Bedingung nun ausgewählt werden.
diag_trigger_dropdown.jpg
Und damit der Zusammenhang erkennbar ist kann man angeben, wieviele vorhergehende Telegramme und nachfolgende Telegramme angezeigt werden.
diag_trigger.jpg
Der unscheinbare Haken unten würde bewirken, daß der Trigger auch beim Laden von aufgezeichnete Daten (Langzeitaufzeichnung) genutzt wird. Hier kann man also gezielt nachträglich die Telegramme auswerten, die man aus einer Datei lädt!
Capture Filter Bedingung
Im gleichen Dialog findet man auch "Capture Filter". Der Unterschied zum "Capture Trigger" ist, daß man mit dem Filter nur genau das eine Telegramm herausfiltert, das die Bedingung erfüllt. Beim Trigger gibt's zusätzlich die benachbarten Telegramme kurz vorher & kurz danach.
Einfärbung
Im Beispiel habe ich aber Daten erstmal live aufgezeichnet. Um das auslösende Telegramm auch optisch herauszuheben können wir es einfärben. Nach Klick auf "Hinzufügen" kann man die selbst definierte Bedingung wählen und ihre Darstellung ändern.
diag_farbe.jpg
Und so sieht das Ergebnis aus: wie eingestellt haben wir 5 Telegramme vor der auslösenden Bedingung und 100 danach, dann wartet die Diagnose bis zum nächsten Trigger.
diag_ergebnis.jpg
Wenn man diese Daten nun in eine Datei speichert so enthält die Datei nur diese angezeigten Telegramme.
Erstmal alles aufzeichnen, nachträglich gezielt auswerten
Wie oben beschrieben kann man aber auch erstmal alle Telegramme aufzeichnen lassen (Triggerbedingung auf "keine" setzen) als Langzeitaufzeichnung, dies in eine Datei speichern, dann den Trigger nach Wunsch einstellen und die Datei laden.
Wenn das Häkchen gesetzt ist bei "Trigger-Bedingung verwenden beim Laden aus Datei" so bekommt man dann beim Laden aus der aufgezeichneten Datenmenge genau die einstellten Telegramme angezeigt.
Und im Gegensatz zur Suchfunktion (Lupe oben rechts) funktioniert das alles auch mit vernünftiger Performance.
Soweit meine Entdeckungen im Gruppenmonitor, Ergänzungen und Kommentare erwünscht!
in einem anderen aktuellen Thread ist das Logging der KNX-Telegramme ein Thema, insbesondere zur Fehlersuche. Einigkeit scheint zu bestehen, was den Gruppenmonitor der ETS betrifft: niemand mag ihn wirklich.
Ein Ärgernis: Das Filtern von Telegrammen über die Suchfunktion (Lupe oben rechts) ist von der Performance übel, wenn man einige tausend Telegramme hat, und auch recht unflexibel. Deshalb: bessere Alternative gesucht. Und auch gefunden!
Man findet erstaunlich wenig Dokumentation dazu, was mit dem Gruppenmonitor möglich ist. Heute habe ich ihn mir endlich mal etwas näher angeschaut und nützliche Funktionen entdeckt, die mir bisher entgangen waren. Vielleicht können wir hier einiges zusammentragen an Tipps & Tricks.
Langzeitaufzeichnung
Was früher ein kostenpflichtiges Feature war gibt es seit ETS 5.6.5 nun ohne Kosten: den Langzeitrekorder, um den Gruppenmonitor permanent laufen zu lassen und die Telegramme auf Platte zu schreiben, für spätere Auswertung:
https://support.knx.org/hc/de/articl...en-Busmonitors
Triggerbedingungen
Heute habe ich endlich kapiert, daß man hier recht einfach eigene Bedingungen definieren kann, wann der Gruppenmonitor eine Aufzeichnung beginnt und wieviele Telegramme die ETS jeweils aufzeichnet/darstellt. Oder beim Laden aus einer aufgezeichneten Datei: welche der in der Datei aufgezeichneten Telegramme dargestellt werden.
Hierzu geht man auf das Register Bedingungen und - das hatte ich bisher übersehen - erzeugt sich mit dem grünen + einfach eine neue Bedingung. Hier stehen unterschiedliche Eigenschaften zur Verfügung, unter anderem Quelladresse (sprich: physikalische Adresse) und Zieladresse (sprich: Gruppenadresse).
In meinem Screenshot unten sieht man die Bedingung für Aktivierung einer Beschattung: Zieladresse ist 3/5/43 und Wert ist 1.
Je nach Aufgabenstellung kann man hier mit UND bzw. ODER Abfragen definieren. Nicht beliebig flexibel, aber ganz brauchbar.
Die oberen Bedingungen in der Liste sind vordefiniert in der ETS, die beiden letzten Einträge (Beschattung ein bzw. aus) habe ich für dieses Beispiel hinzugefügt.
diag_bedingungen.jpg
Capture Trigger Bedingung
Nachdem wir so eine Bedingung erzeugt haben können wir sie als Trigger definieren. Das bedeutet, daß die ETS nicht alle Telegramme anzeigt sondern gezielt die Telegramme anzeigt, wenn diese Bedingung erfüllt ist. Hier kann unsere selbst erstellte Bedingung nun ausgewählt werden.
diag_trigger_dropdown.jpg
Und damit der Zusammenhang erkennbar ist kann man angeben, wieviele vorhergehende Telegramme und nachfolgende Telegramme angezeigt werden.
diag_trigger.jpg
Der unscheinbare Haken unten würde bewirken, daß der Trigger auch beim Laden von aufgezeichnete Daten (Langzeitaufzeichnung) genutzt wird. Hier kann man also gezielt nachträglich die Telegramme auswerten, die man aus einer Datei lädt!
Capture Filter Bedingung
Im gleichen Dialog findet man auch "Capture Filter". Der Unterschied zum "Capture Trigger" ist, daß man mit dem Filter nur genau das eine Telegramm herausfiltert, das die Bedingung erfüllt. Beim Trigger gibt's zusätzlich die benachbarten Telegramme kurz vorher & kurz danach.
Einfärbung
Im Beispiel habe ich aber Daten erstmal live aufgezeichnet. Um das auslösende Telegramm auch optisch herauszuheben können wir es einfärben. Nach Klick auf "Hinzufügen" kann man die selbst definierte Bedingung wählen und ihre Darstellung ändern.
diag_farbe.jpg
Und so sieht das Ergebnis aus: wie eingestellt haben wir 5 Telegramme vor der auslösenden Bedingung und 100 danach, dann wartet die Diagnose bis zum nächsten Trigger.
diag_ergebnis.jpg
Wenn man diese Daten nun in eine Datei speichert so enthält die Datei nur diese angezeigten Telegramme.
Erstmal alles aufzeichnen, nachträglich gezielt auswerten
Wie oben beschrieben kann man aber auch erstmal alle Telegramme aufzeichnen lassen (Triggerbedingung auf "keine" setzen) als Langzeitaufzeichnung, dies in eine Datei speichern, dann den Trigger nach Wunsch einstellen und die Datei laden.
Wenn das Häkchen gesetzt ist bei "Trigger-Bedingung verwenden beim Laden aus Datei" so bekommt man dann beim Laden aus der aufgezeichneten Datenmenge genau die einstellten Telegramme angezeigt.
Und im Gegensatz zur Suchfunktion (Lupe oben rechts) funktioniert das alles auch mit vernünftiger Performance.
Soweit meine Entdeckungen im Gruppenmonitor, Ergänzungen und Kommentare erwünscht!
Kommentar