Wir möchten die Gelegenheit nutzen, Euch eine Funktionalität vorzustellen, die es bislang (soweit uns bekannt) noch in keiner ETS-Applikation gab: Den OpenKNX Konfigurationstransfer, der zum ersten Mal in der gestern erschienenen Version 1.0 von unserem Sound-Modul und der heute erscheinenden Version 3.3 vom Logikmodul enthalten ist.
Was ist das und was ist so toll daran?
Wer schon mal ein Update eines KNX-Gerätes gemacht hat und von der ETS gezuwungen wurde, alle Parameter manuell neu einzugeben, weiß, dass das sehr mühsam sein kann. OpenKNX-Geräte sind so gebaut, dass ein Update in der ETS ermöglicht wird (zumindest versuchen wird das immer zu erreichen).
Die ETS erlaubt es auch, alle Parameter von einem Gerät auf ein anderes zu kopieren. Das ist natürlich besser als nichts, aber doch sehr eingeschränkt im Nutzen.
Was man sich häufig wünscht, ist das Kopieren einer Vorlage, z.B. für einen Schaltkanal oder einen PM-Kanal, um anschließend nur geringe Änderungen bzw. Anpassungen vornehmen zu müssen. Oder beim Schaltaktor mal Kanal 4 auf Kanal 2 umzulegen, ohne alle Parameter manuell übertragen zu müssen.
Bei OpenKNX-Geräten ergeben sich durch das Modulkonzept noch deutlich mehr Möglichkeiten: So gibt es z.B. das Logikmodul, das Präsenzmodul, das Tastermodul oder das Binäreingangsmodul auf verschieden Geräten und man möchte vielleicht einfach die PM-Einstellungen von einem Gerät auf ein anderes transferieren, aber nur ein Kanal, weil die anderen bereits definiert sind.
Unser OpenKNX Konfigurationstransfer erlaubt solche Sachen.
Leider gibt es einige Dinge, die sich (nach unserem bisherigem Kenntnisstand) unter anderem durch die Möglichkeiten der ETS nicht, oder nur eingeschränkt realisieren lassen. Ich will jetzt nicht alle Details auflisten, die nicht gehen, das kann man in der Doku nachlesen, aber die wichtigsten Punkte wären:
Wer hat das gebaut?
Ich will mich nicht mir fremden Federn schmücken: Der OpenKNX-Konfigurationstransfer wurde von Cornelius Köpp (OpenKNX) entwickelt. Ich habe unser Werkzeug, mit dem wir die Applikationen bauen (OpenKNXProducer) so erweitert, dass er die benötigten Informationen zur Modul-Struktur in der ETS-Applikation einbettet.
Viel Spaß mit unserem neuen Konfigurationstransfer, der hilft schon bei einem Gerät (z.B. um Logikkanäle zu kopieren), aber bei mehreren Geräten entwickelt das Tool erst so richtig sein Potential.
Bei Fragen stehe ich erstmal als Ansprechpartner bereit. Eine erste Dokumentation zum Konfigurationstransfer findet ihr hier: https://github.com/OpenKNX/OFM-Confi...figTransfer.md
Und wer es gleich ausprobieren möchte: Importiert folgenden String in ein OpenKNX-Gerät mit Konfigurationstransfer und Logikmodul (z.B. auf dem gerade freigegebenen Logikmodul-Release-3.3):
und verbindet den Ausgang vom importierten Logikkanal mit einer GA (Der exportierte Logikkanal ist die 1, man kann aber in einen beiliebigen Kanal importieren).
Als Ergebnis wird alle 15 Sekunden ein "Hello World!" auf den KNX-Bus gesendet
.
Viele Grüße,
Cornelius und Waldemar
Was ist das und was ist so toll daran?
Wer schon mal ein Update eines KNX-Gerätes gemacht hat und von der ETS gezuwungen wurde, alle Parameter manuell neu einzugeben, weiß, dass das sehr mühsam sein kann. OpenKNX-Geräte sind so gebaut, dass ein Update in der ETS ermöglicht wird (zumindest versuchen wird das immer zu erreichen).
Die ETS erlaubt es auch, alle Parameter von einem Gerät auf ein anderes zu kopieren. Das ist natürlich besser als nichts, aber doch sehr eingeschränkt im Nutzen.
Was man sich häufig wünscht, ist das Kopieren einer Vorlage, z.B. für einen Schaltkanal oder einen PM-Kanal, um anschließend nur geringe Änderungen bzw. Anpassungen vornehmen zu müssen. Oder beim Schaltaktor mal Kanal 4 auf Kanal 2 umzulegen, ohne alle Parameter manuell übertragen zu müssen.
Bei OpenKNX-Geräten ergeben sich durch das Modulkonzept noch deutlich mehr Möglichkeiten: So gibt es z.B. das Logikmodul, das Präsenzmodul, das Tastermodul oder das Binäreingangsmodul auf verschieden Geräten und man möchte vielleicht einfach die PM-Einstellungen von einem Gerät auf ein anderes transferieren, aber nur ein Kanal, weil die anderen bereits definiert sind.
Unser OpenKNX Konfigurationstransfer erlaubt solche Sachen.
- Man kann gerätelokal arbeiten und z.B. einen Logikkanal auf einen anderen kopieren oder einen PM-Kanal auf einen anderen, um dann z.B. nur 2 Parameter noch anzupassen.
- Man kann z.B. beim Schaltaktor ein paar Kanäle hin und her kopieren, weim man die physikalischen Anschlüsse ändern möchte.
- Man kann einen Kanal exportieren und auf einem anderen OpenKNX-Gerät wieder importieren
- Man kann einen solchen Export veröffentlichen und anderen Usern als (produktives) Beispiel zur Verfügung stellen. Dieses Beispiel können die dann importieren und bekommen die Funktion ohne viel in der ETS parametrisieren zu müssen.
- Man kann auch den Export als eigenes Backup nutzen (einfach in einer Datei "wegspeichern").
- Oder mal einen Export machen, zwischenspeichern, etwas Neues ausprobieren und wenn das Neue nicht klappt, einfach den alten Stand wieder importieren - nur für den/die veränderten Kanäle, nicht gleich einen Export des ganzen ETS-Projekts.
- Man kann für ein Gerät die Applikation wechseln (hier erlaubt die ETS kein Upgrade, normalerweise heißt das wieder, alles manuell eintippen). Bei uns muss man nur die Konfiguration vor dem Wechsel exportieren und in der Zielapplikation wieder importieren.
Leider gibt es einige Dinge, die sich (nach unserem bisherigem Kenntnisstand) unter anderem durch die Möglichkeiten der ETS nicht, oder nur eingeschränkt realisieren lassen. Ich will jetzt nicht alle Details auflisten, die nicht gehen, das kann man in der Doku nachlesen, aber die wichtigsten Punkte wären:
- Wir können (derzeit) nur einzelne Kanäle exportieren (das wollen wir noch ändern, wir sind ja erst bei der ersten Version)
- Das Lesen und Schreiben der Konfigurationsparameter ist sehr langsam und kann bei Kanälen mit sehr vielen Parametern im Extremfall einige Minuten dauern in denen die ETS nicht mehr reagiert (das ist aber immer noch viel schneller, als eine manuelle Übertragung)
- Es können keine GA exportiert werden, die dem Kanal, den man exportiert, zugeordnet sind (die GA müssen also wie üblich manuell zugeordnet werden)
- Es gibt vereinzelte Parameter die sich nicht verarbeiten lassen. Bei unserer internen Test-Nutzung hatten diese Fälle kaum relevant. Dennoch empfiehlt sich gerade zu Beginn der Nutzung eine kurze Prüfung des Ergebnisses. Wir versuchen solche Fälle zu dokumentieren und sind dankbar für Hinweise auf bislang nicht bekannte Auffälligkeiten.
- Es gibt dann noch komplexere Fälle (z.B. im Logikmodul), aber die werden dann in dem entsprechenden Release-Thread besprochen.
Wer hat das gebaut?
Ich will mich nicht mir fremden Federn schmücken: Der OpenKNX-Konfigurationstransfer wurde von Cornelius Köpp (OpenKNX) entwickelt. Ich habe unser Werkzeug, mit dem wir die Applikationen bauen (OpenKNXProducer) so erweitert, dass er die benötigten Informationen zur Modul-Struktur in der ETS-Applikation einbettet.
Viel Spaß mit unserem neuen Konfigurationstransfer, der hilft schon bei einem Gerät (z.B. um Logikkanäle zu kopieren), aber bei mehreren Geräten entwickelt das Tool erst so richtig sein Potential.
Bei Fragen stehe ich erstmal als Ansprechpartner bereit. Eine erste Dokumentation zum Konfigurationstransfer findet ihr hier: https://github.com/OpenKNX/OFM-Confi...figTransfer.md
Und wer es gleich ausprobieren möchte: Importiert folgenden String in ein OpenKNX-Gerät mit Konfigurationstransfer und Logikmodul (z.B. auf dem gerade freigegebenen Logikmodul-Release-3.3):
Code:
OpenKNX,cv1,0xA030:0x33/LOG:0x33/1§f~Name=Hello%20World%20in%20KNX§f~Kommentar=Dieses%20Beispiel%20tut%20nichts%20sinnvolles%0A%0AEs%20zeigt%20nur%2C%20wie%20der%0AKonfigurationstransfer%20funktioner%2C%0Aindem%20es%20alle%2015%20Sekunden%20ein%0AHello%20World%20auf%20dem%20Bus%20schickt.§f~Logic=2§f~NameInput1=Einschalt-Trigger%20mit%20einer%201§f~E1=2§f~E1Default=2§f~E1DefaultEEPROM=1§f~NameOutput=Hello%20World%20senden§f~ORepeatOnBase=0§f~ORepeatOnTime=15§f~ORepeat=1§f~ODpt=8§f~OOnDpt16=Hello%20World!§f~OOff=0§f~OOffAll=0§;OpenKNX
Als Ergebnis wird alle 15 Sekunden ein "Hello World!" auf den KNX-Bus gesendet

Viele Grüße,
Cornelius und Waldemar
Kommentar