Mit openHAB 2.3 wurde auch eine neue Version des KNX Bindings vorgestellt. Mit dem KNX 2 Binding wird KNX auch Paper UI fähig. Leider ist es mit der Installation des neuen Bindings nicht getan. Der Aufbau hat sich etwas geändert, so dass einige Anpassungen notwendig sind. Im ersten Moment erscheint alles etwas verwirrend. Wo ursprünglich eine knx.items Datei genügt hat, ist nun eine knx.things UND eine knx.items Datei notwendig.

Vorbereitung

Je nach Größe der KNX Installation bedeutet die Migration auch eine ordentliche Portion Schreibarbeit. Damit die ganze Haustechnik über mehrere Tage offline ist, habe ich die Vorarbeiten für die Migration offline durchgeführt. Hierzu benötigst du aus der laufenden Installation deine knx.items Datei, in der deine KNX Zuordnungen enthalten sind. Lege eine Kopie davon lokal auf deinem Computer ab.

Nun erstellst du lokal auf deinem Computer eine zweite Datei mit dem Namen knx.things. Idealerweise nutzt du für alle weiteren Schritte VS Code.
Öffne beide Dateien in VS Code in jeweils eigenen Fenstern und zeige sie, soweit möglich, nebeneinander an. Ich nutze einen 2. Bildschirm hierfür.

Eine grundsätzliche Entscheidung ist noch zu treffen. Möchtest du alle Du kannst alle deine Channels unter einem Thing/Device anlegen, oder möchtest du deine KNX Hardware (Aktoren, etc.) entsprechend in der Software abbilden. Als Thing kannst du beispielsweise einen Aktor in deinem Schaltschrank betrachten. Auf diese Weise habe ich es gelöst. Hierzu habe ich mir die ETS zur Hilfe genommen, habe mir die Aktoren mit ihren physikalischen Adressen herausgesucht und dann die Channels mit den dazugehörigen Gruppenadressen in openHAB im jeweiligen Device abgebildet.

Die knx.things Datei des KNX 2 Binding

Mit dem KNX 2 Binding verschwindet auch die knx.cfg Datei, in der bisher die Schnittstelle eingetragen wurde. Stattdessen wird alles zentral in der knx.things eingetragen. Die Basiskonfiguration für eine IP Schnittstelle im Tunnel Mode sieht folgendermaßen aus.

Nähere Informationen zu den Konfigurationsmöglichkeiten der Schnittstelle findest du in der entsprechenden openHAB Dokumentation

Bennenung bei existierendem KNX 1 Projekt

Es wäre natürlich toll, wenn man alle bestehenden Regeln etc. in openHAB nach der Umstellung auf KNX 2 einfach weiter verwenden könnte. Das ist problemlos möglich. Dazu ist es ratsam die Objekte in der knx.things Datei einfach entsprechend der bisherigen knx.items zu bennenen, bzw. den Channel einfach dem gleichen Item in der knx.items zuzuordnen.

 

Benennung in der „alten“ knx.items

Nun wird in der neuen knx.things Datei am Beispiel des „aktor 1“ ein entsprechender Channel angelegt:

Damit du später die openHAB Installation mit allen Regeln und Einstellungen für KNX ohne Probleme weiterverwenden kannst, wird jetzt in der knx.items Datei einfach der Teil {knx=“1/2/2+<11/2/2″} durch die neue Channel Verlinkung ersetzt. Das sieht dann so aus:

Wenn du mehrere Diveces in der knx.things anlegst, ist zu beachten, dass sich neben dem Channel selbst (hier: licht_UG_Schlafen_Wand) auch die Angabe davor (hier: aktor1) in der Zuordnung ändern kann.

Auf diese Weise habe ich in der items Datei alle KNX Zuordnungen, durch die neuen Channel Zuordnungen ersetzt. Damit bleiben alle Items erhalten und auch Verknüpfungen in Regeln und der Sitemap sind vom Umstieg auf KNX2 nich betroffen und können wie gewohnt weitergenutzt werden.

Installation des KNX 2 Bindings

Sobald die Vorbereitungen abgeschlossen sind, kann die Umstellung von KNX 1 auf KNX 2 erfolgen. Hierzu wird im ersten Schritt in der Paper UI unter „Add-ons – Bindings“ das KNX 1 Binding deinstalliert und das KNX 2 Binding installiert.

KNX 2 Binding openHAB installieren

KNX 2 Binding openHAB installieren

Wenn das KNX 2 Binding installiert ist, müssen noch die neu angelegte knx.things und die geänderte knx.items Datei eingebunden werden. Hierfür öffnest du den VS Code Editor und ziehst die Dateien in die entsprechenden Ordner. Die knx.things kommt in den things Ordner, die knx.items kommt in den items Ordner. Falls hier noch die frühere knx.items liegt muss diese entweder überschrieben oder vorher gelöscht werden.

items und things Dateien hochladen

items und things Dateien hochladen

Fertig 🙂

Jetzt sollte alles funktionieren. Ich habe das System einmal neu gestartet, damit alle Dienste sauber gestartet werden. Der Umstieg hat in meinem Fall super funktioniert. Ein paar Tippfehler haben zwar dazu geführt, dass der ein oder andere Switch erst einmal außer Betrieb war – bei mehr als 100 KNX Channels gehört das aber wohl dazu.