Hallo allerseits,
ich habe hier gelegentlich mal fragen gestellt, weil ich aktiv am KNX Treiber für das Apache PLC4X (https://plc4x.apache.org) Projekt arbeite. Generell läuft der normale KNX support bei uns schon ziemlich gut (in Java und in Go). Momentan arbeite ich mit dem Rest der Community an dem Thema Auto-Discovery (Welche Geräte habe ich?) und Browsing (Welche Datenpunkte hat ein Gerät?). Hier bin ich vor allem beim Go Treiber bei KNX sehr gut voran gekommen.
Der Java-Treiber benötigt momentan noch ein knxproj-File, beim Go Treiber sind wir aber dabei alles so zu machen, dass es komplett ohne auskommen soll. Sowie das dann in Go geht, soll auch der Java (und alle anderen Treiber) davon profitieren.
Hier finden wir jetzt schon KNX Gateways automatisch und können uns verbinden. Auch kann ich automatisch KNX Geräte auf meinem Bus finden, die konfigurierten Gruppenadressen und deren Attribute auslesen (Lesen, Schreiben, Übertragen, Com-Objekt Basis-Typen). Hier eine kleine Demo: https://www.youtube.com/watch?v=Q5LGdAD_6Es
Leider gibt es immer wieder Edge-Cases, bei denen etwas nicht so 100% funktioniert. Daher wären wir sehr dankbar für Freiwillige, die hier ein wenig mit helfen könnten. Das muss auch nicht Hilfe in form von Programmierung sein, sondern vor allem Hilfe im Verständnis des KNX Protokolls. Ich denke es würden indirekt viele andere (Open-Source) Projekte davon profitieren, wenn wir das wirklich solide hin bekommen.
Momentan arbeite ich daran die genauen Datentypen der Com-Objects zu berechnen. Hierzu muss ich allerdings die Konfiguration des Geräts kennen. Da die Parameter ja ihre daten aus den Code Blocks bekommen, war meine Idee: Die benötigten Speicherbereiche auszulesen und dann auf Basis dessen zu rekonstruieren, wie das Gerät genau konfiguriert ist und welche genauen Datentypen die Com-Objects haben.
Würde mich sehr freuen,
Chris
ich habe hier gelegentlich mal fragen gestellt, weil ich aktiv am KNX Treiber für das Apache PLC4X (https://plc4x.apache.org) Projekt arbeite. Generell läuft der normale KNX support bei uns schon ziemlich gut (in Java und in Go). Momentan arbeite ich mit dem Rest der Community an dem Thema Auto-Discovery (Welche Geräte habe ich?) und Browsing (Welche Datenpunkte hat ein Gerät?). Hier bin ich vor allem beim Go Treiber bei KNX sehr gut voran gekommen.
Der Java-Treiber benötigt momentan noch ein knxproj-File, beim Go Treiber sind wir aber dabei alles so zu machen, dass es komplett ohne auskommen soll. Sowie das dann in Go geht, soll auch der Java (und alle anderen Treiber) davon profitieren.
Hier finden wir jetzt schon KNX Gateways automatisch und können uns verbinden. Auch kann ich automatisch KNX Geräte auf meinem Bus finden, die konfigurierten Gruppenadressen und deren Attribute auslesen (Lesen, Schreiben, Übertragen, Com-Objekt Basis-Typen). Hier eine kleine Demo: https://www.youtube.com/watch?v=Q5LGdAD_6Es
Leider gibt es immer wieder Edge-Cases, bei denen etwas nicht so 100% funktioniert. Daher wären wir sehr dankbar für Freiwillige, die hier ein wenig mit helfen könnten. Das muss auch nicht Hilfe in form von Programmierung sein, sondern vor allem Hilfe im Verständnis des KNX Protokolls. Ich denke es würden indirekt viele andere (Open-Source) Projekte davon profitieren, wenn wir das wirklich solide hin bekommen.
Momentan arbeite ich daran die genauen Datentypen der Com-Objects zu berechnen. Hierzu muss ich allerdings die Konfiguration des Geräts kennen. Da die Parameter ja ihre daten aus den Code Blocks bekommen, war meine Idee: Die benötigten Speicherbereiche auszulesen und dann auf Basis dessen zu rekonstruieren, wie das Gerät genau konfiguriert ist und welche genauen Datentypen die Com-Objects haben.
Würde mich sehr freuen,
Chris
Kommentar