Ankündigung

Einklappen
Keine Ankündigung bisher.

KNX Monitor als Website (Python/Linux [Windows])

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KNX Monitor als Website (Python/Linux [Windows])

    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.
    Angehängte Dateien
    Zuletzt geändert von GLoCKE; Heute, 11:50.

    #2
    Hier mal noch ein paar weitere Beispielbilder des Monitor:
    KNX-Monitor_v1_4_Auswertung_Verkehr_Beispiel.png
    KNX-Monitor_v1_4_Auswertung_Verkehr_Zeitlich_Gruppen.png KNX-Monitor_v1_4_Auswertung_Diagnose_Sendeintervalle.png
    Zuletzt geändert von GLoCKE; Heute, 09:21.

    Kommentar


      #3
      Sieht recht gut aus, danke fürs Teilen!

      Kommentar


        #4
        Es gibt x verschiedene KNX Monitore. wir sollten einen neunen machen der alles vereint.

        1 Tag später
        Es gibt x+1 verschiedene KNX Monitore. wir sollten einen neuen machen der alles vereint.

        woeder 3 stunde später

        es gibt …
        OpenKNX www.openknx.de | OpenKNX-Wiki (Beta)

        Kommentar


          #5
          Ich hab noch zwei Ergänzungen eingenaut. Bei der Gruppenadressenansicht gibt es jetzt noch ein Baumdiagramm, welches die Hierarchy des importierten Projekts darstellt und dann ein paar Deteils zur verbundenen Objekt zeigt.

          KNX-Monitor_v1_4_Gruppenadressen_Baumansicht.png

          In der Zusammenhänge Ansicht ist jetzt unten noch ein Netzdiagramm hinzugekommen (Verbindungen ermitteln man erst rechts im Diagramm auswählen, damit es startet). Damit kann man sehen wer von wem etwas empfängt.

          KNX-Monitor_v1_4_Zusammenhänge_Sender_Empfänger.png

          Außerdem hab ich jetzt noch ein Windows Installationsskript erstellen lassen. Der monitor wird dann als Windows Service installiert und startet mit dem Systemstart.
          Das ist allerdings ungetestet und hab ich nur erstellen lassen, weil ggf. Nutzer hier eher Windows als Linux nutzen.


          Die aktuelle zip Datei hängt jetzt dran. Viel Spass bei der Nutzung, ich hoffe das ist hilfreich für den ein oder anderen.
          Angehängte Dateien

          Kommentar


            #6
            Zitat von traxanos Beitrag anzeigen
            Es gibt x verschiedene KNX Monitore. wir sollten einen neunen machen der alles vereint.

            1 Tag später
            Es gibt x+1 verschiedene KNX Monitore. wir sollten einen neuen machen der alles vereint.

            woeder 3 stunde später

            es gibt …
            Sie können das gern machen. Ich wollte lediglich meine Arbeit zur Verfügung stellen. Wenn Sie da ein Projekt draus machen wollen, dann gehen Sie gern voran.
            Ich empfinde Ihre Antwort eher als destruktiv, da Sie mit einer pauschalen Herabwürdigung beginnt.

            Ich verstehe das mit KI jetzt jeder seine eigenen Lösungen bauen kann, dennoch wollte ich das Ergebnis teilen, da ich es für gut befand ... ich möchte aber nicht ein aufwendiges Projekt betreiben.

            Kommentar


              #7
              Was war deine Motivation, einen weiteren KNX Monitor zu implementieren? Warum nicht einen vorhandenen erweitern oder ergänzen?

              Kommentar


                #8
                Zitat von Noschvie Beitrag anzeigen
                Was war deine Motivation, einen weiteren KNX Monitor zu implementieren? Warum nicht einen vorhandenen erweitern oder ergänzen?
                Was ist das Ziel solcher Diskussionen?
                Ich finde solche Fragen nicht förderlich, weil Sie implizieren ich hätte hier der Gemeinschaft etwas schlechtes getan.

                Dennoch möchte ich Ihre Frage beantworten:
                1) Mein Ziel war es meinen Bus zu analysieren.
                2) Ich wollte eine einfache Lösung ohne Docker sonsitges.
                3) Ich wollte ausprobieren was ich zusammen mit Claude Code zustanden bekomme und ob ich überhaupt sauber an den Bus komme.
                4) Ich wollte eine Lösung welche leichtgewichtig ist und schonend mit den Systemresourcen umgeht. Daher auch die Optimierung der Schreibvorgäng und der Datenhaltung.
                5) Ich hatte nicht vor ein offenes Projekt zu erstellen und das öffentlich zu diskutieren.
                6) Ich wollte flexibel sein in dem was meine/die Lösung kann. Ich kann diese jederzeit nach meinen Bedürfnissen anpassen.
                7) Ich hab keine aktuelle Recherche gemacht welche KNX Monitore jetzt vorhanden sind.

                Als die Lösung für mich nun "fertig" war, und ich Sie seit ca. 1 Woche laufen hab, dachte ich mir das Ergebnis ist durchaus brauchbar.
                Eine brauchbare Lösung der Gemeinschaft bereitzustellen ist keine schlechte Idee. Ob diese Lösung jemand adaptiert ist mir "egal", weil ich ja niemanden dazu zwingen möchte meine Lösung zu nutzen oder gut zu finden.

                Wenn Sie sich davon belästigt fühlen, dass ich hier meine Lösung vergestellt habe, ohne die Auffoderrung das jemand testen soll oder ohne die Ansage das die jemand nutzen soll, dann verstehe ich das nicht. Mein Ziel war es etwas geschaffenes zu teilen und Menschen die es nutzvoll finden das kostenfrei zur Verfügung zu stellen.

                Ich hab gedacht ich erhöhe den Mehrwert meiner Lösung, wenn ich auch ein Windows Install Skript bereitstelle, obwohl ich das nicht benötige. Die Token hab ich also für die Gemeinschaft ausgegeben ohne das ich dafür etwas zurück haben möchte.

                Wenn das für einige Mitglieder hier ein problematsches Verhalten ist, dann tut mir das Leid.
                Meine Lösung werde ich trotzdem teilen.
                Ob ich zukünftig Lösungen anbieten werde .. muss ich mir überlegen, da es offensichtlich nicht erwünscht ist Alternativen anzubieten.

                Sie können mir gern einige der aus Ihrer Sicht geeigneten KNX Monitore teilen, dann können andere Mitglieder leicht entscheiden welchen sie zukünftig nutzen möchten.
                Zuletzt geändert von GLoCKE; Heute, 13:26.

                Kommentar


                  #9
                  Ich bleibe mal beim Du. Ich hoffe das ist okay.

                  Ich glaube, der Punkt ist einfach der Punkt 7.

                  Das ist jetzt mindestens der 7. Bus Monitor in den letzten 12 Monaten und der zweite der letzten Woche.

                  Es wäre einfach schöner, wenn man sich auf einen konzentriert und diesen voranbringt.

                  Kommentar


                    #10
                    Zitat von henfri Beitrag anzeigen
                    Ich bleibe mal beim Du. Ich hoffe das ist okay.

                    Ich glaube, der Punkt ist einfach der Punkt 7.

                    Das ist jetzt mindestens der 7. Bus Monitor in den letzten 12 Monaten und der zweite der letzten Woche.

                    Es wäre einfach schöner, wenn man sich auf einen konzentriert und diesen voranbringt.
                    Ich hätte diesen Monitor sowieso geschrieben. Das ich ihn hier teile war einfach ein Gedanke heute nach dem Aufstehen am Morgen.
                    Ich verstehe, das man sich "als jemand der Dinge nur nutzt" wünscht das sich Ersteller von Lösungen alle zusammentun und etwas noch viel besseres erstellen.
                    Man muß aber als ein solcher "Jemand" auch verstehen, das dies Aufwand bedeutet und das für viele Ersteller sich dieser Aufwand nicht lohnt.
                    Ich nutze auch andere Projekte (z.B. openHab) und freue mich natürlich wenn es dort gemeinsam vorran geht und nicht jede Woche eine neue Home Automationslösung kommt, aber verlangen kann ich da gar nix. Ich freu mich einfach wenn Leute das Produkt maintainen ... und wenn dem morgen nicht mehr so ist, dann muss ich eben umziehen. Dafür ist die Lösung aber kostenfrei und ich freu mich wenn Menschen da Dinge teilen.

                    Daher meine Aussage - das Thema einfach ignorierenm, wenn man kein Interesse daran hat. Man muss nicht alles mögen und auch nicht zu jedem Thema seine Meinung äußern.
                    Ich möchte hier weder Support von jemanden, noch irgendjemanden die Lösung aufschwatzen.
                    Mein Ziel war es lediglich
                    1) die Lösung zur Nutzung anzubieten.
                    2) Vielleicht jemanden anderen Inspieration zur Erweiterung seiner App zu geben.

                    Ich finde es toll andere Ideen zu sehen und mich davon inspirieren zu lassen.

                    ... und noch ein positiver Gedanke zum Schluß - wenn es tatsächlich 7 KNX Monitor Lösungen in den vergangen 12 Monaten gab welche neu entstanden sind, dann zeigt es wohl auch, dass es hierfür einen Bedarf gibt und das dank KI man sich jetzt schnell eine eigene Lösung bauen kann.

                    In diesem Sinne schauen Sie positiv auf die Welt und freuen Sie sich, dass Menschen etwas erschaffen.
                    Zuletzt geändert von GLoCKE; Heute, 14:25.

                    Kommentar


                      #11
                      Zitat von GLoCKE Beitrag anzeigen
                      wenn es tatsächlich 7 KNX Monitor Lösungen in den vergangen 12 Monaten gab welche neu entstanden sind, dann zeigt es wohl auch, dass es hierfür einen Bedarf
                      Sind halt zwei verschiedene Sachen. Gibt es Bedarf? Ja! Gibt es Bedarf 100 Stück zu bauen? Nein. Jeder soll machen was er möchte. Es zeigt halt das typische Verhalten der Menschheit. Lampen werden Sparsamer. Egebnis: Man macht mehr Beleuchtung und verbraucht mehr Engerie als je zuvor. Jetzt hat jeder KI. Also bauen wir 100x das Gleiche.

                      Was halt hilfreich wäre wenn man jedem Monitor Namen geben würde, damit man zumindest weiß welche der vielen Monitor gerade gemeint ist.

                      PS: Ist auch nichts gegen dich. Mein Kommentar hätte auch unter einem der anderen x Monitor-Beiträge stehen können.
                      OpenKNX www.openknx.de | OpenKNX-Wiki (Beta)

                      Kommentar

                      Lädt...
                      X