Hallo.
Ich habe in eine KNX Bibliothek für Entwickler entwickelt (Lizenz: GPLv3, Sprache: Java)
Die Bibliothek kann hier gefunden werden: https://github.com/pitschr/knx-link
Was kann die Bibliothek?
Anmerkung: Die Bibliothek folgt noch keiner Semantic Versioning , da ich zuerst mal Feedbacks hören möchte bevor die Klassen sowie Methoden-Signaturen etc. stabilisiert werden.
Welche Plugins wurden mitentwickelt?
Was ist/war meine Motivation?
Just 4 Fun, Beitrag zur Open Source & KNX Community.
Um klar zu machen, es ist eine Bibliothek für Entwickler, sie sollte kein Ersatz für z.B. CometVisu, EDOMI, OpenHAB, ... sein. Die "Konkurrenz" ist da eher das Calimero Projekt; meine Interesse/mein Fokus ist jedoch klar bei KNXnet/IP. Andere Sachen wie z.B. RF USB, USB, FT1.2, TP-UART, Device Management werden nicht unterstützt und sind auch nicht geplant.
Die Bibliothek könnte jedoch Mehrwert an Projekte wie z.B. CometVisu liefern, weil die Bibliothek mit KNX Projekt Datei arbeitet und zudem plugin-fähig ist (z.B. Audit). Falls die Gruppenadressen im KNX Projekt definiert sind, dann könnte die manuelle DPT Konfiguration gar entfallen und die Konvertierung von Werten könnte auch durch die Bibliothek übernommen werden was auch zur Stabilität beiträgt, weil die ETS Einstellungen eher richtig bzw. aktuell sind.
Demo Applikation
Mich würde vor allem interessieren ob die Demo Applikation bei euch auf Anhieb funktioniert. Die Demo-Applikation wurde für Linux (Terminal + Container Platformen) und MacOS (Terminal) geschrieben. Windows wird gar nicht unterstützt. Siehe: https://github.com/pitschr/knx-demo-tty-monitor
Getestet wurde die Applikation auf CentOS 8.1, CentOS 7.0, MacOS 10.14, Ubuntu 18.04, Alpine Linux 3.10 (Docker + Podman) mit MDT KNX Router.
Wichtig: Es ist nur eine Demo Applikation und keine vollwertige Applikation als Ersatz für z.B. ETS Gruppenmonitor.
Demo (Podman auf CentOS mit KNX Routing):
Bildschirmfoto 2020-01-29 um 22.14.07.png
Bildschirmfoto 2020-01-29 um 22.11.37.png
Falls ihr Fragen habt -> einfach melden!
Beste Grüsse aus Liechtenstein,
Christoph
Ich habe in eine KNX Bibliothek für Entwickler entwickelt (Lizenz: GPLv3, Sprache: Java)
Die Bibliothek kann hier gefunden werden: https://github.com/pitschr/knx-link
Was kann die Bibliothek?
- Kommunikation
- Auto-Discovery, Tunneling (+ NAT) -> Sucht im Netzwerk nach KNX Router / Interfaces und verbindet automatisch.
- IP-Addresse, Tunneling (+ NAT) -> Verbindet mit KNX Router / Interface per IP Adresse
- Routing -> nur für KNX Router
- Support für KNX Projekt (*.knxproj) -> Existierende KNX Projekt wird automatisch erkannt (im Arbeitsverzeichnis), geparst und die Informationen stehen dann zur Verfügung (z.B. richtige Datenpunkte)
- Support für Container Platformen (Docker, Podman)
- Support für Plugins
- Status Pooling -> Programme können immer auf die letzte Wert zugreifen ohne eine KNX Leseanfrage
- Entwicklerfreundlich
- State of the Art (Reaktiv, NIO, JPMS, ...)
- KNX Datenpunkt Typen (z.B. DPT1.SWITCH.toValue(true) )
- Flexibilität in Konfiguration (Standardwerte sind gemäss KNX Spezifikation)
- Open-Source (GPLv3)
- Keine weitere Abhängigkeiten (Dependencies) und damit keine weitere Lizenzprobleme
- Verfügbar auf Maven Repository
Anmerkung: Die Bibliothek folgt noch keiner Semantic Versioning , da ich zuerst mal Feedbacks hören möchte bevor die Klassen sowie Methoden-Signaturen etc. stabilisiert werden.
Welche Plugins wurden mitentwickelt?
- API (Webserver: Pippo)
- Audit
- Zeichnet auf welche KNX Pakete empfangen bzw. gesendet wurden inkl. Fehler (Daten, Programm, ...).
- Unterstütze Dateiformate: JSON und TSV
- Statistik
- Wie viele KNX Pakete insgesamt empfangen wurde und welche Service Typen (Search, Connect, Tunneling, Routing, ...)
- Unterstütze Dateiformate: JSON, TEXT und TSV
Was ist/war meine Motivation?
Just 4 Fun, Beitrag zur Open Source & KNX Community.
Um klar zu machen, es ist eine Bibliothek für Entwickler, sie sollte kein Ersatz für z.B. CometVisu, EDOMI, OpenHAB, ... sein. Die "Konkurrenz" ist da eher das Calimero Projekt; meine Interesse/mein Fokus ist jedoch klar bei KNXnet/IP. Andere Sachen wie z.B. RF USB, USB, FT1.2, TP-UART, Device Management werden nicht unterstützt und sind auch nicht geplant.
Die Bibliothek könnte jedoch Mehrwert an Projekte wie z.B. CometVisu liefern, weil die Bibliothek mit KNX Projekt Datei arbeitet und zudem plugin-fähig ist (z.B. Audit). Falls die Gruppenadressen im KNX Projekt definiert sind, dann könnte die manuelle DPT Konfiguration gar entfallen und die Konvertierung von Werten könnte auch durch die Bibliothek übernommen werden was auch zur Stabilität beiträgt, weil die ETS Einstellungen eher richtig bzw. aktuell sind.
Demo Applikation
Mich würde vor allem interessieren ob die Demo Applikation bei euch auf Anhieb funktioniert. Die Demo-Applikation wurde für Linux (Terminal + Container Platformen) und MacOS (Terminal) geschrieben. Windows wird gar nicht unterstützt. Siehe: https://github.com/pitschr/knx-demo-tty-monitor
Getestet wurde die Applikation auf CentOS 8.1, CentOS 7.0, MacOS 10.14, Ubuntu 18.04, Alpine Linux 3.10 (Docker + Podman) mit MDT KNX Router.
Wichtig: Es ist nur eine Demo Applikation und keine vollwertige Applikation als Ersatz für z.B. ETS Gruppenmonitor.
Demo (Podman auf CentOS mit KNX Routing):
Bildschirmfoto 2020-01-29 um 22.14.07.png
Bildschirmfoto 2020-01-29 um 22.11.37.png
Falls ihr Fragen habt -> einfach melden!
Beste Grüsse aus Liechtenstein,
Christoph
Kommentar