[KNX] 1-bit in 2-bit GA umwandeln

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16

[KNX] 1-bit in 2-bit GA umwandeln

Beitrag von Ezeqeel »

Hallo,

für das Sperren eines einzelnen Rollladen über einen KNX Jalousieaktor bin ich auf der Suche nach einer Lösung das vorhandene 1-bit Objekt "ON" vom Reed-Kontakt in ein 2-bit Objekt "2" umzuwandeln, welches der Aktor zwingend für die Zwangsstellung braucht.

Ich habe ein item, welches den Status vom Reed erhält:

Code: Alles auswählen

Switch Rollo_zwang1bit_KG_Hobby { channel="knx:device:bridge:KNX_Jalousieaktor_1_101:Rollo_zwang1bit_KG_Hobby" }
Ein zweites item für die 2-bit Ausgabe funktioniert aber schon nicht, weil ein Switch ja keine 2 bits erhalten kann.
Was muss ich da für einen item type verwenden?

Die Regel sieht wie folgt aus:

Code: Alles auswählen

rule "Rollo Zwang Hobbyraum"
when
    Item Rollo_zwang1bit_KG_Hobby received command
then
    if (Rollo_zwang1bit_KG_Hobby.state==ON) {
        logInfo("TEST", "TEST-ON")
        Rollo_zwang2bit_KG_Hobby.sendCommand(2)
    }
    if (Rollo_zwang1bit_KG_Hobby.state==OFF) {
        logInfo("TEST", "TEST-OFF")
        Rollo_zwang2bit_KG_Hobby.sendCommand(0)
    }
end
Kann mir da jemand einen Tipp geben?

Vielen Dank!
von udo1toni » 5. Nov 2020 12:29
Prima. Die Rule geht noch etwas eleganter :)

Code: Alles auswählen

rule "Rollo Zwang Hobbyraum"
when
    Item Rollo_zwang1bit_KG_Hobby received command
then
    Rollo_zwang2bit_KG_Hobby.sendCommand(if(receivedCommand == ON) 2 else 0)
end
Gehe zur vollständigen Antwort

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von udo1toni »

Vermutlich musst Du einen Number Channel mit DPT 2.001 definieren. Ausprobiert habe ich das aber nicht.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von Ezeqeel »

Ich bin ein klein wenig weitergekommen. Aber mit dem Format der Ausgabe komme ich immer noch nicht klar.

Meins KNX Things:

Code: Alles auswählen

Type switch-control : Rollo_zwang1bit_KG_Hobby			"Shade"		[ ga="7/1/20" ]
Type number : Rollo_zwang2bit_KG_Hobby			"Shade"		[ ga="7/1/21" ]
Meine KNX Items:

Code: Alles auswählen

Switch Rollo_zwang1bit_KG_Hobby { channel="knx:device:bridge:KNX_Jalousieaktor_1_101:Rollo_zwang1bit_KG_Hobby" }
Number Rollo_zwang2bit_KG_Hobby { channel="knx:device:bridge:KNX_Jalousieaktor_1_101:Rollo_zwang2bit_KG_Hobby" }
Und meine Regel, die auch getriggert wird und den Wert auf den Bus schickt.

Code: Alles auswählen

rule "Rollo Zwang Hobbyraum 1"
when
    Item Rollo_zwang1bit_KG_Hobby received command
then
    if (Rollo_zwang1bit_KG_Hobby.state==ON) {
        logInfo("TEST", "TEST-ON")
        Rollo_zwang2bit_KG_Hobby.sendCommand(2)
    }
    if (Rollo_zwang1bit_KG_Hobby.state==OFF) {
        logInfo("TEST", "TEST-OFF")
        Rollo_zwang2bit_KG_Hobby.sendCommand(0)
    }
end
In der ETS habe ich das 2bit Objekt als Typ 23.003 "Auf/Ab Aktion" gesetzt.
Schicke ich aus dem Gruppenmonitor eine 2 in der 7/1/21 funktioniert das Sperren des Kanals.
Schickt openHab die 2, wird im Gruppenmonitor daraus aber ein hex 00 c8|2 was aber 200 und nicht 2 ist.

Wie kriege ich denn die 2 ins richtige Format?

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von udo1toni »

2-Bit-Sperrobjekte haben gewöhnlich den Haupt DPT 2, nicht 23. Welche Hardware willst Du denn steuern?
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von Ezeqeel »

Der Jalousieaktor ist ein Jung 2316.
Wenn ich die GA im Gruppenmonitor sende funktioniert die Zwangsstellung auch.
Am Aktor scheint es also nicht zu liegen.
Ich hab wohl noch ein Problem mit dem Format der "2" die mir openhab auf den Bus schickt.
Hab einen Screenshot angehängt, in dem man als erstes den Wert von openhab und als zweites den funktionierenden Wert vom Gruppenmonitor gesendet sieht.
Zwangsstellung_openhab.jpg
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von udo1toni »

Und wie ist der Channel definiert?
So sollte es aussehen:

Code: Alles auswählen

Type number : Rollo_zwang2bit_KG_Hobby			"Shade"		[ ga="2.001:7/1/21" ]
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von Ezeqeel »

Im channel hab ich schon alles durch, was sich auch nur halbwegs logisch angehört hat.
Deinen Vorschlag habe ich gerade gestern Abend noch einmal probiert. Das Resultat ändert sich im Gruppenmonitor aber nicht.
Es wird immer 00CB ausgegeben, was in dez. 200 wäre. Wenn ich eine 1 von openhab ausgeben lasse, krieg ich den hex Wert für 100 im Gruppenmonitor.

Oder frisst openhab so eine Änderung der GA erst nach einem service restart? Das hab ich wahrscheinlich nicht gemacht, weil das update der things datei immer ordentlich im log angezeigt wurde.

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von udo1toni »

Natürlich musst Du openHAB nicht neu starten, wohl aber das knx Addon. Am einfachsten und langwierigsten) geht das tatsächlich über dem kompletten Neustart von openHAB. Du kannst das Addon einzeln mittels der karaf Konsole neustarten, indem Du Dich in die Karaf Konsole einloggst und dort
bundle:restart org.openhab.binding.knx eingibst.
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Ezeqeel
Beiträge: 31
Registriert: 27. Okt 2020 08:16

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von Ezeqeel »

Hut ab, war das was....aber jetzt funktioniert alles wie es soll!

Vielen Dank, udo1toni für deine Hilfe!

Am Ende lag es bei dem GA Type wirklich "nur" am Neustart, dass das Format übernommen wurde.
Die Syntax meiner Regel hat aber auch noch nicht gepasst. Ein abgewandeltes Beispiel aus der openhab Doku hat aber geholfen.

Code: Alles auswählen

rule "Rollo Zwang Hobbyraum"
when
    Item Rollo_zwang1bit_KG_Hobby received command
then
    if(receivedCommand == ON) Rollo_zwang2bit_KG_Hobby.sendCommand(2)
    else Rollo_zwang2bit_KG_Hobby.sendCommand(0)
end
KNX items:

Code: Alles auswählen

Switch Rollo_zwang1bit_KG_Hobby { channel="knx:device:bridge:KNX_Jalousieaktor_1_101:Rollo_zwang1bit_KG_Hobby" }
Number Rollo_zwang2bit_KG_Hobby { channel="knx:device:bridge:KNX_Jalousieaktor_1_101:Rollo_zwang2bit_KG_Hobby" }
KNX Thing:

Code: Alles auswählen

Thing device KNX_Jalousieaktor_1_101 "Jalousieaktor-1" @ "KNX" [ address="1.0.101", fetch=false ] {
	Type switch-control : Rollo_zwang1bit_KG_Hobby	"Shade"		[ ga="7/1/20" ]
	Type number : Rollo_zwang2bit_KG_Hobby		"Shade"		[ ga="2.001:7/1/21" ]
}

Benutzeravatar
udo1toni
Beiträge: 13864
Registriert: 11. Apr 2018 18:05
Answers: 222
Wohnort: Darmstadt

Re: [KNX] 1-bit in 2-bit GA umwandeln

Beitrag von udo1toni »

Prima. Die Rule geht noch etwas eleganter :)

Code: Alles auswählen

rule "Rollo Zwang Hobbyraum"
when
    Item Rollo_zwang1bit_KG_Hobby received command
then
    Rollo_zwang2bit_KG_Hobby.sendCommand(if(receivedCommand == ON) 2 else 0)
end
openHAB4.1.2 stable in einem Debian-Container (bookworm) (Proxmox 8.1.5, LXC), mit openHABian eingerichtet

Antworten