Uwe! Mit der Docker Variante hast du schneller und einfacher eine Instanz am Laufen
Ankündigung
Einklappen
Keine Ankündigung bisher.
KNX Monitor als Website (Python/Linux [Windows])
Einklappen
X
-
naja, Windows kenn ich mich aus Docker nutze ich bisher (leider) nur in form von fertigen TrueNAS Apps. Docker müsste ich mich erst mal bisschen einarbeiten. Reihenfolge für mich zum Testen daher erstmal Windows, das bekomme ich hin, dann eine eigene virtuelle Linux-Kiste in TrueNAS und langfristig wäre es sinnvoll da ne Custom-App draus zu bauen oder drauf zu hoffen, dass es im App-Store landetZitat von Noschvie Beitrag anzeigenDocker Variante hast du schneller....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!
Kommentar
-
FYI - Kurze Info zur Plattenbelegung - der KNK Monitor läuft jetzt seit 12.09. und hat seitdem 1.7 Millionen Telegramme aufgezeichnet was ca. 90 Telegrammen pro Minute entspricht - die Datenbank liegt bei knappen 65 MB - wird also vermutlich bei meinen 120 Tagen Vorhaltedauer auch 650 MB anwachsen und sich dann da stabilisieren. Das ist weniger als ich ursprünglich überschlagen hatte und klingt auch für schwächere Systeme als verkraftbar.
Mit den Daten kann dann jeder für seine eigene Last überschlagen was das bedeutet:
Hier das Diagramm dazu was man via Auswertung -> Verkehr -> klick auf die angezeigten Datenbank MB angezeigt jetzt bekommt:
image.png
Kommentar
-
FYI, ich habe eine exe daraus gebaut.
Dafür musste ich nur zwei Dateien ändern und ein powershell-Skript erzeugen.
Anbei die Dateien. Für den Entwickler (@glocke):
oderCode:# Prüfen: git apply --check knx-monitor-changes.patch # Anwenden: git apply knx-monitor-changes.patch
Für alle Anderen: einfach die Dateien überschreiben :-) die Exe wird mit build_exe.ps1 gebaut.Code:patch -p1 < knx-monitor-changes.patch
Die Exe kann ich auch gerne bereitstellen, aber nur nach deinem Ok, GLoCKE
Gruß,
Hendrik
Angehängte Dateien
- Likes 1
Kommentar
-
Bin der Author => ja ist .NET. Wollte damals eine schnelle, lokal gehostete oder Portable UI-Lösung mit NULL Abhängigkeiten, um mal kurz auf den Bus zu schauen, mit moderater History etc. Es sollte vor allem auf dem Smartphone-Browser oder Tablet, d.h. responsive perfekt funktionieren.Zitat von henfri Beitrag anzeigen...- knx-ng-monitor - hab ich mich nicht mit befasst, da doppelt, nach meinem daführhalten. Wohl in .NET geschrieben
...
Das war initial und ist immer noch mein primärer Anwendungsfall. Als ich letztes Jahr Herbst begonnen hatte gab es etwas in dieser Richtung oder auch speziell Spectrum noch nicht. Als ich es dann diesen Sommer soweit hatte und hier bewerben wollte, entdeckte ich erst Spectrum. Hätte ich das früher gekannt, hätte ich mein Frontend KnowHow evtl. dort mit eingebracht und kein zweites ähnliches Tool gebaut. auch wenn ich auf den Stack dort keinen Bock gehabt hätte (was mit AI Support aber ja etwas nebensächlicher wurde) 😉
- Likes 1
Kommentar
-
Klar gerne, wenn das die Nutzung einfacher macht, dann gern doch die *.exe anhängen.Zitat von henfri Beitrag anzeigen
(FYI - Ich werde wahrscheinlich dieses Wochenende noch mind. eine neue Version bereitstellen, da ist der Code nochmal überarbeitet worden (aufsplitten der großen Dateien für bessere Wartbarkeit.)
Kommentar
-
Ja, ich hab deinen Code jetzt integrieren lassen.Zitat von henfri Beitrag anzeigenHallo,
Wenn du das ganze bei Github hostest, kann ich einen PR machen. Ansonsten würde ich vorschlagen, dass ud meinen Code vor weiteren Änderungen einpflegst - es sind nur kleine Änderungen.
Gruß,
Hendrik
Einen Test der erstellten *.exe müsste dann jemand machen der das auf Windows und als *.exe laufen lassen will.
Kommentar
-
ich bekomme beim import der .knxproj einen Fehler
Code:Projekt konnte nicht gelesen werden: Out of Memory Error: failed to pin block of size 256.0 KiB (244.1 MiB/244.1 MiB used) Possible solutions: * Reducing the number of threads (SET threads=X) * Disabling insertion-order preservation (SET preserve_insertion_order=false) * Increasing the memory limit (SET memory_limit='...GB') See also https://duckdb.org/docs/stable/guides/performance/how_to_tune_workloads
....und versuchen Sie nicht erst anhand der Farbe der Stichflamme zu erkennen, was Sie falsch gemacht haben!
Kommentar
-
Die DuckDB wurde speichertechnisch auf 256 MB limitiert um auf relativ kleinen Systemen laufen zu können.
Die Änderung dieses Parameters auf einen höheren Wert würde das Problem sicher lösen, ich versuch aber mal zu prüfen on man das noch besser hinbekommt.
Darf ich fragen wie groß die Projektdatei ist ... damit ich einen Vergleich zu meiner habe (welche sicher eher klein ist mit ~ 4 MB).
Schnelle Lösung wäre diese - in der config.yaml die Grenze anheben, storage.memory_limit_mb: 1024
setzen.
Fix ist in Arbeit & kommt Sonntag.Zuletzt geändert von GLoCKE; Gestern, 23:50.
Kommentar
-
KNX Monitor 1.17 – Änderungen seit 1.14
Hallo zusammen,
es gibt eine neue Version von KNX Monitor: 1.17.20260927.81. Hier die Änderungen seit 1.14 im Überblick.
1.17 – Große ETS-Projekte lassen sich importieren- Beim Import großer .knxproj-Dateien kam „Out of Memory Error: failed to pin block of size 256.0 KiB“. Ursache: Der Import schrieb jede Gruppenadresse einzeln, und jede Adresse, die noch nie auf dem Bus war, belegte bis zum Abschluss rund 330 KB. Ein Projekt mit ein paar tausend solcher Adressen überschritt so die Vorgabe von 256 MB.
- Jetzt schreibt der Import Gruppenadressen, Gruppennamen und Geräte jeweils in einem Schritt. 20.000 Adressen brauchen rund 25 MB und etwa 2 Sekunden, auch wenn nebenher Auswertungen laufen.
- Der Import bleibt „ganz oder gar nicht“. Von Hand eingetragene Räume und Gerätenamen bleiben erhalten.
- Wer noch eine ältere Version hat: in der config.yaml storage.memory_limit_mb: 1024 setzen, Dienst neu starten, importieren, danach wieder auf 256 zurück.
1.16 – Windows-EXE und Suche auf allen Netzwerkkarten
Beigetragen von Hendrik (henfri) – vielen Dank!- KNX Monitor gibt es unter Windows jetzt auch als einzelne knx-monitor.exe, ohne Python und ohne Installation. Ein Doppelklick startet ihn in einem Konsolenfenster, die Oberfläche steht unter http://<rechner>:8099/. Die EXE richtet keinen Dienst ein und startet nicht mit Windows, dafür bleibt install.ps1 der Weg.
- Die Suche nach der KNX-Schnittstelle läuft auf allen Netzwerkkarten gleichzeitig, auch neben VPN- oder virtuellen Adaptern. Verbunden wird über die Karte, auf der die Schnittstelle gefunden wurde. bus.local_ip legt beides auf eine Karte fest.
- Unter Windows liegen Konfiguration und Datenbank standardmäßig im Arbeitsverzeichnis.
1.15 – Zuverlässigkeit nach einem Code-Review- Verdichtung: Ein Zeitfenster wird erst zusammengefasst, wenn alle seine Telegramme in der Datenbank stehen. Vorher konnten Telegramme, die beim Wartungslauf noch im Speicher lagen, in den Stunden- und Minutenwerten fehlen. Der erste Start rechnet die Verdichtung einmal aus den vorhandenen Telegrammen nach.
- Schreibfehler verlieren nichts mehr: Ein gescheiterter Block wird mit wachsendem Abstand (1 bis 60 Sekunden) erneut geschrieben.
- „In DB sichern“ wartet auf genau die eigenen Telegramme.
- „Dauerhaft speichern“ in den Einstellungen funktioniert auch bei der Installation mit --system. Kommentare, Besitzer und Dateirechte der config.yaml bleiben erhalten, ein ungültiger Port wird abgelehnt.
- Diagnosedaten zu einem Telegramm: Der Pfeil auf den Zeitpunkt erscheint auch am rechten Rand, die Senderliste reicht bis zum angeklickten Telegramm, die Beschriftungen sind verständlicher.
- Ein zurückgezogenes Aufziehen im Diagramm hinterlässt kein Rechteck mehr.
- Das Testprotokoll der Installation heißt jetzt tests.log.
Außerdem- Neue Schritt-für-Schritt-Anleitung für die Windows-Installation aus der ZIP-Datei (Anleitung-Windows-Zip-File-Installation.md). Sie ist für KNX-Techniker ohne IT-Hintergrund gedacht und beschreibt auch die Python-Installation.
- Intern aufgeräumt: Große Quelldateien sind nach Themen aufgeteilt, an Funktion und Oberfläche ändert sich nichts.
- Unter Linux ist install.sh nach dem Entpacken wieder direkt ausführbar.
Download und Update
Die ZIP-Datei knx-monitor-1.17.20260927.82-komplett.zip (<- Google drive link) enthält die Quellen und die fertige knx-monitor.exe- Windows mit Dienst: ZIP entpacken und im neuen Ordner install.ps1 als Administrator ausführen (siehe Anleitung im ZIP).
- Windows ohne Installation: knx-monitor.exe aus dem ZIP starten.
- Linux: ZIP entpacken und im neuen Ordner ./install.sh ausführen
Einstellungen, ETS-Daten und Aufzeichnung bleiben beim Update erhalten. Danach im Browser einmal Strg+F5 drücken.Angehängte DateienZuletzt geändert von GLoCKE; Heute, 00:18.
Kommentar


Kommentar