Seite 1 von 1

[gelöst] Mischen Binding v1 und v2

Verfasst: 1. Sep 2020 19:01
von trauni
Hi Leute,

die Frage ist mag den einen oder anderen vielleicht komisch vorkommen, ich stehe aber vor einem Problem.
Ich bin noch immer mit dem v1 knx binding unterwegs, ebenso das für milight. KNX wollte ich nun endlich mal auf v2 bringen, und hat bis jetzt auch keinerlei Probleme gehabt. Nun funktioniert aber etwas gar nicht so wie es soll. Nämlich folgende items definition

Code: Alles auswählen

Switch   lightWall     {knx="9/0/1", milight="milight1;5;rgbw"}
Ich habe einen KNX Taster der ist progarmmiert als Schalter, und sendet eben an 9/0/1. Daran hängt allerdings kein Aktor sonder eben nur senden. Obige Zeile hat dann knx und milight verknüpft

Für mich also ganz klar, ich brauche mit dem v2 binding folgende Definition

Code: Alles auswählen

Switch   lightWall     {channel="knx:device:bridge:Lights:livingRoomWall",  milight="milight1;5;rgbw"}
das funktioniert aber nicht. Wenn ich von openhab aus schalte geht es. Der Klick aufn Taster. Oder ein "ON/OFF" auf die GA aus der ETS heraus funktioniert nicht.

Weiß jemand was ich falsch mache?

Re: Mischen Binding v1 und v2

Verfasst: 2. Sep 2020 04:53
von udo1toni
Die Frage ist, wie Du den Channel definiert hast :) Der Channel muss in diesem Fall nämlich als switch-control definiert sein, damit erzeugt die GA 9/0/1 dann ein sendCommand() auf dem openHAB BUS.
Es kann sein, dass das nicht ausreichend ist, dann müsstest Du noch zusätzlich das Profile auf "follow" setzen. Siehe https://www.openhab.org/docs/configurat ... l#profiles Aber zuerst musst Du den knx Channel auf switch-control ändern, falls noch nicht passiert.

Re: Mischen Binding v1 und v2

Verfasst: 2. Sep 2020 07:38
von Tokamak
Um beim V2-Binding mit sendCommand() ein Kommando von OH auf den KNX-Bus zu senden, brauchst du ein Item, das auf einen Channel vom - in deinem Fall - Typ "switch" basiert.
Um ein Kommando vom KNX-Bus empfangen und in einer Rule mit "when lightWall received command" reagieren zu können, benötigst du einen "switch-control"-Channel. Das ist eines der Mysterien des KNX-V2-Binding.

Also:

In .things:

Code: Alles auswählen

Type switch-control: lw_ctrl [ ga="9/0/1" ]
In .items

Code: Alles auswählen

Switch lightWall {channel="...:lw_ctrl"}
In .rules

Code: Alles auswählen

when
    Item lightWall received command
Wenn du was auf den KNX-Bus senden möchtest, muss man das anders machen. Eine Item, das auf einem control-Channel basiert, sendet bei sendCommand() nichts auf den KNX-Bus, nur bei postUpdate().

Re: Mischen Binding v1 und v2

Verfasst: 2. Sep 2020 10:44
von trauni
Danke euch erstmal. Das hilft mir schonmal. Ich habe den Channel als switch und nicht als switch-control definiert

Re: [gelöst] Mischen Binding v1 und v2

Verfasst: 3. Sep 2020 21:17
von trauni
Danke für den Tipp. Mit der richtigen Channel Definition funktioniert es