Hallo Forum,
ich habe mir mit Claude Code einen KNX Monitor gebaut. Dieser kann so konfiguriert werden, dass er sich im Tunneling Mode oder Routing Mode mit einer KNX IP Schnittstelle verbindet (meine von MDT bietet 4 Verbindungen an, so das ich das im Tunneling Mode nutze). Bei mir hat auch die automatische Detektion dieser funktioniert, man kann aber auch via Einstellungen Tab (oder config Datei) die gewünschte IP und Portnummer angeben.
Ich hab mir eine Live Ansicht erstellt, welche einen ein "Gefühl" für den Busverkehr gibt, es wird aber auch in eine DuckDB geschrieben, damit langfristigere Betrachtungen möglich sind. Man kann die Aufhebefristen konfigurieren. Ich habe auch absichtlich eingebaut, das nur nach einer konfigurierbaren Zeit die Daten persistiert werden. Damit versuche ich die Schreiblast auf der Platte gering zu halten. Damit die DB nicht irgendwann "überläuft" oder unhandlich groß wird, werden die Daten nach und nach kompaktiert. Bei ca. 100 Bustelegrammen pro Minute kommen so lt. Berechnung 2 GB an Größe zustande, wobei die gröbsten Daten (bei mir) für 1450 Tage aufgehoben werden. Die Detaildaten werden für 120 Tage aufgehoben. Das ist alles konfigurierbar. In 1 Woche hat meine DB eine Größe von ca. 35 MB erreicht. Sie sollte noch ca. 120 Tage lang wachsen und dann eher eine konstante Größe behalten, da ab dann erste Daten gelöscht werden (bei meinen Einstellungen).
Man entpackt sich das Projekt in einen Ordner X auf einer Linux Maschine und folgt dann den Schritten der Install.md Datei. Es wird Python 3.11 oder höher benötigt. Die Schritte zur installation sind ebenfalls beschrieben. Danach lässt man die Install.sh durchlaufen, welche einen Ordner ../knx-monitor/ anlegt eine virutelle Umgebung für Python anlegt und die App started incl. autostart via systemctl (Ubuntu Linux). Man kann wenn man möchte in der config.yaml noch den Port (und IP) festlegen wie die App erreicht werden soll. Wenn man defaults lässt dann erreicht man die app auf Port 8099 der lokalen IP (es werden alle Interfaces des Hosts gebunden per default).
Nach der installation geht man auf die Webseite http://<your IP>:8099 - geht zum Reiter Einstellungen und kann dort seine ETS Projektdatei hochladen. Damit werden alle bekannten Daten, Gruppen etc aus der ETS übernommen und man kann überall die Namen finden, die man auch in ETS vergeben hat. Es ist weiterhin möglich jede Gruppenadresse auch noch eigenen Gruppen hinzuzufügen oder die erkannten Gruppen anzupassen. Da mein Projekt ein Haus ist, ist bei mir Etage und Raum ebenfalls eine Gruppierung die ich fest in dem Monitor verbaut habe. Ich musste allerdings viele Angaben da händisch anpassen, da mein ETS Projekt da scheinbar nicht gut genug war.
Hier nochmal ein Überblick:
Hört auf dem KNX-Bus mit, zeichnet jedes Telegramm auf und macht den Verkehr im Haus sichtbar – ohne selbst etwas auf den Bus zu schreiben.
Live – jedes Telegramm im Moment seiner Ankunft, die Busaktivität als mitlaufende Kurve und jede Adresse als LED.
Auswertung – Verkehr, Werte, Schaltzeiten, Energie, auffällige Tage und Diagnose über Stunden bis Jahre.
Zusammenhänge – welche Adressen im Gleichtakt laufen und welches Gerät auf welche Adresse schreibt.
ETS-Projekt – Namen, Gruppenhierarchie, Räume und Etagen aus der .knxproj.
Schonend – gebündeltes Schreiben und gestaffelte Verdichtung schonen SSD oder SD-Karte.
Hier ein paar Bilder:KNX-Monitor_v1_4_Live_View.png
KNX-Monitor_v1_4_Auswertung_Werte_Beispiel.png
KNX-Monitor_v1_4_Gruppenadressen_Beispiel.png
Wenn es da Interesse gibt, kann ich gern das zip Archiv teilen.
Das Projekt liegt zwar auch bei GitHub, ich würde das aber gern privat lassen.
Ich werde auch nicht groß weiter den dem Projekt ändern, kann also als "as is" benutzt werden, aber ich werde es nicht ständig maintainen.
Die Zip Datei .. hängt wieder dran in neuer Version 1.8.
ich habe mir mit Claude Code einen KNX Monitor gebaut. Dieser kann so konfiguriert werden, dass er sich im Tunneling Mode oder Routing Mode mit einer KNX IP Schnittstelle verbindet (meine von MDT bietet 4 Verbindungen an, so das ich das im Tunneling Mode nutze). Bei mir hat auch die automatische Detektion dieser funktioniert, man kann aber auch via Einstellungen Tab (oder config Datei) die gewünschte IP und Portnummer angeben.
Ich hab mir eine Live Ansicht erstellt, welche einen ein "Gefühl" für den Busverkehr gibt, es wird aber auch in eine DuckDB geschrieben, damit langfristigere Betrachtungen möglich sind. Man kann die Aufhebefristen konfigurieren. Ich habe auch absichtlich eingebaut, das nur nach einer konfigurierbaren Zeit die Daten persistiert werden. Damit versuche ich die Schreiblast auf der Platte gering zu halten. Damit die DB nicht irgendwann "überläuft" oder unhandlich groß wird, werden die Daten nach und nach kompaktiert. Bei ca. 100 Bustelegrammen pro Minute kommen so lt. Berechnung 2 GB an Größe zustande, wobei die gröbsten Daten (bei mir) für 1450 Tage aufgehoben werden. Die Detaildaten werden für 120 Tage aufgehoben. Das ist alles konfigurierbar. In 1 Woche hat meine DB eine Größe von ca. 35 MB erreicht. Sie sollte noch ca. 120 Tage lang wachsen und dann eher eine konstante Größe behalten, da ab dann erste Daten gelöscht werden (bei meinen Einstellungen).
Man entpackt sich das Projekt in einen Ordner X auf einer Linux Maschine und folgt dann den Schritten der Install.md Datei. Es wird Python 3.11 oder höher benötigt. Die Schritte zur installation sind ebenfalls beschrieben. Danach lässt man die Install.sh durchlaufen, welche einen Ordner ../knx-monitor/ anlegt eine virutelle Umgebung für Python anlegt und die App started incl. autostart via systemctl (Ubuntu Linux). Man kann wenn man möchte in der config.yaml noch den Port (und IP) festlegen wie die App erreicht werden soll. Wenn man defaults lässt dann erreicht man die app auf Port 8099 der lokalen IP (es werden alle Interfaces des Hosts gebunden per default).
Nach der installation geht man auf die Webseite http://<your IP>:8099 - geht zum Reiter Einstellungen und kann dort seine ETS Projektdatei hochladen. Damit werden alle bekannten Daten, Gruppen etc aus der ETS übernommen und man kann überall die Namen finden, die man auch in ETS vergeben hat. Es ist weiterhin möglich jede Gruppenadresse auch noch eigenen Gruppen hinzuzufügen oder die erkannten Gruppen anzupassen. Da mein Projekt ein Haus ist, ist bei mir Etage und Raum ebenfalls eine Gruppierung die ich fest in dem Monitor verbaut habe. Ich musste allerdings viele Angaben da händisch anpassen, da mein ETS Projekt da scheinbar nicht gut genug war.
Hier nochmal ein Überblick:
Hört auf dem KNX-Bus mit, zeichnet jedes Telegramm auf und macht den Verkehr im Haus sichtbar – ohne selbst etwas auf den Bus zu schreiben.
Live – jedes Telegramm im Moment seiner Ankunft, die Busaktivität als mitlaufende Kurve und jede Adresse als LED.
Auswertung – Verkehr, Werte, Schaltzeiten, Energie, auffällige Tage und Diagnose über Stunden bis Jahre.
Zusammenhänge – welche Adressen im Gleichtakt laufen und welches Gerät auf welche Adresse schreibt.
ETS-Projekt – Namen, Gruppenhierarchie, Räume und Etagen aus der .knxproj.
Schonend – gebündeltes Schreiben und gestaffelte Verdichtung schonen SSD oder SD-Karte.
Hier ein paar Bilder:KNX-Monitor_v1_4_Live_View.png
KNX-Monitor_v1_4_Auswertung_Werte_Beispiel.png
KNX-Monitor_v1_4_Gruppenadressen_Beispiel.png
Wenn es da Interesse gibt, kann ich gern das zip Archiv teilen.
Das Projekt liegt zwar auch bei GitHub, ich würde das aber gern privat lassen.
Ich werde auch nicht groß weiter den dem Projekt ändern, kann also als "as is" benutzt werden, aber ich werde es nicht ständig maintainen.
Die Zip Datei .. hängt wieder dran in neuer Version 1.8.


Kommentar