Ich habe einen Teichfilter mit WLAN Anschluss. Dieser stellt ein Rest-Interface zur Verfügung um diverse Operationen auszuführen. Eine davon ist z.B. die Teichbeleuchtung zu schalten. Mir ist es gelungen ein entsprechendes Item zu konfigurieren:
Type switch-control : TeichLichtSchaltenKnx "Light" [ga="1/0/80+<1/0/81"]
Aber wie verbinde ich nun das HTTP Item mit dem KNX Thing?
Ich hab im Internet ein Beispiel gefunden, da wurde ein KNX Schalter mit einer Phillips Hue Lampe verbunden. Dabei wurde im Item zwei Channels angegeben.
Aber ich habe für das HTTP Item keinen Channel oder?
Aber beim Schalten des KNX-Schalters passiert nichts.
Auch beim Schalten des Schalters in der Sitemap wird auf den KNX-Bus kein Signal gesendet (überprüft mit dem Diagnose-Tool in ETS).
Also erstmal: switch-control bedeutet, dass openhAB gegenüber dem knx-System die Rolle eines Aktor übernimmt. Das bedeutet, dass openHAB den Status an knx liefert. knx sendet dafür Befehle an openHAB. Bei den anderen Cahnneln (also ohne -control) ist es genau andersrum.
Für *-control Channel gilt weiterhin die knx-Regel, dass ausschließlich auf der 1. GA gesendet wird.
Das bedeutet für Deine Konfiguration oben:
1. das < wird ignoriert.
2. openHAB empfängt Befehle auf 1/0/80 und 1/0/81
3. openHAB sendet den Status auf 1/0/80
Wenn Du zwei Bindings über ein Item miteinander verlinkst, kann es sein, dass Du das Profil follow setzen musst. Schau Dir dazu bitte die offizielle Doku an, da ist das erklärt.
Wenn es partout nicht über den Item-Link funktionieren will, kannst Du einfach zwei Rules anlegen, die eine reagiert auf received command auf dem knx-control Item, die andere reagiert auf changed für das http Item.
Beide Rules steuern dann jeweils das andere Item, wobei das changed-Ereignis per postUpdate(!!!) an knx weitergeleitet wird, während das received command Ereignis per sendCommand an das http Item geschickt wird.
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.9 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte
Vielen Dank für den Tipp, das Vertauschen der zwei Gruppenadressen im GA des switch-control hat geholfen.
Hier nochmal die komplette Konfiguration zu Dokumentationszwecken:
Am KNX Bus habe ich folgende Gruppenadressen:
1/0/80 Teichlicht schalten
1/0/81 Teichlicht Status
In der knx.things Datei ein switch-control definieren. Dabei ist wichtig, dass der erste Parameter auf die "Status"-Gruppenadresse zeigt und der zweite Parameter auf die "Schalten"-Gruppenadresse:
Das follow Profile würde im Item gesetzt, falls notwendig. Ist auch irgendwie logisch, da es ja um die Verbindung zweier Bindings über das Item geht und nichts mit knx im Besonderen zu tun hat.
openHAB5.1.3 stable in einem Debian-Container (trixie, OpenJDK 21 headless runtime - LXC, 4 Kerne, 3 GByte RAM)
Hostsystem Proxmox VE 9.1.9 - AMD Ryzen 5 3600 6 Kerne, 12 Threads - 64 GByte RAM - ZFS Pools: Raid Z1, 3 x 20 TB HDD -> 40 TByte und Raid Z0-Mirrored 4 x 1 TByte NVMe -> 2 TByte