Z-Wave-Fernbedienung soll immer schalten, nicht nur bei "changed from"

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
RES
Beiträge: 33
Registriert: 20. Aug 2020 14:38
Answers: 0
Wohnort: Innsbruck
Kontaktdaten:

Z-Wave-Fernbedienung soll immer schalten, nicht nur bei "changed from"

Beitrag von RES »

Guten Tag.

Ich verwende eine Z-Wave-Fernbedienung, um eine Aktion auszulösen.

Nun habe ich als Regel etwas wie:

Code: Alles auswählen

rule "Fernbedienung_Befehl"
when
 Item Fernbedienung_Befehl changed to 1
then
 Dachkuppeln_schliessen.sendCommand(ON)
end
Der Aufruf von "Dachkuppeln_schliessen" funktioniert bei dieser Konfiguration nur, wenn der Status von "Fernbedienung_Befehl" ungleich "1" war.

Wie muss openHAB konfiguriert werden, dass der Befehl auch dann funktioniert, wenn "Fernbedienung_Befehl" "1" ist, während auf der Fernbedienung "1" gedrückt wird?

Vielen Dank schon jetzt für Eure Hilfe.
von Tokamak » 6. Okt 2020 10:41
Es sieht so aus, als ob Fernbedienung_Befehl ein Number-Item ist.

Du kannst dann schreiben

Code: Alles auswählen

rule "Fernbedienung_Befehl"
when
   Item Fernbedienung_Befehl received update 1
then
   Dachkuppeln_schliessen.sendCommand(ON)
end
bzw.

Code: Alles auswählen

rule "Fernbedienung_Befehl"
when
   Item Fernbedienung_Befehl received command 1
then
   Dachkuppeln_schliessen.sendCommand(ON)
end
Gehe zur vollständigen Antwort
--
Rudolf E. Steiner
res-1@communicate.at

Tokamak
Beiträge: 183
Registriert: 20. Aug 2019 08:37
Answers: 4
Wohnort: Aachen

Re: Z-Wave-Fernbedienung soll immer schalten, nicht nur bei "changed from"

Beitrag von Tokamak »

Es sieht so aus, als ob Fernbedienung_Befehl ein Number-Item ist.

Du kannst dann schreiben

Code: Alles auswählen

rule "Fernbedienung_Befehl"
when
   Item Fernbedienung_Befehl received update 1
then
   Dachkuppeln_schliessen.sendCommand(ON)
end
bzw.

Code: Alles auswählen

rule "Fernbedienung_Befehl"
when
   Item Fernbedienung_Befehl received command 1
then
   Dachkuppeln_schliessen.sendCommand(ON)
end
Proxmox mit OH 4.2 und HABApp 24 im LXC-Container

Benutzeravatar
RES
Beiträge: 33
Registriert: 20. Aug 2020 14:38
Answers: 0
Wohnort: Innsbruck
Kontaktdaten:

Re: Z-Wave-Fernbedienung soll immer schalten, nicht nur bei "changed from"

Beitrag von RES »

Tokamak hat geschrieben: 6. Okt 2020 10:41 Du kannst dann schreiben

Code: Alles auswählen

rule "Fernbedienung_Befehl"
when
   Item Fernbedienung_Befehl received update 1
then
   Dachkuppeln_schliessen.sendCommand(ON)
end
Damit funktioniert es.

Vielen Dank für die Hilfe.
--
Rudolf E. Steiner
res-1@communicate.at

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

Re: Z-Wave-Fernbedienung soll immer schalten, nicht nur bei "changed from"

Beitrag von udo1toni »

Aber bevor Du nun für jede Taste eine eigene Rule anlegst...

Evtl. wäre es sinnvoller, mehrere Rules zusammenzufassen. Das sieht dann so aus:

Code: Alles auswählen

rule "Fernbedienung_Befehl"
when
   Item Fernbedienung_Befehl received update
then
    if(!(Fernbedienung_Befehl.state instanceof Number)) return;
    switch (Fernbedienung_Befehl.state as Number) {
        case 1: {
            Dachkuppeln_schliessen.sendCommand(ON)
        }
        case 2: {
            Dachkuppeln_oeffnen.sendCommand(ON)
        }
        // weitere case-Anweisungen...
        default: {
            logInfo("fernbedienung","Regel ausgeführt, aber Befehl nicht gefunden. {}",Fernbedienung_Befehl.state)
        }
    }
end
Der erste Befehl fängt z.B. NULL oder UNDEV ab.
Danach wird in Abhängigkeit zum empfangenen Update jeweils verzweigt. Es wird also immer genau der case-Blocks ausgeführt, der zum Status passt. Ist der Status nicht aufgeführt, so wird der default-Zweig ausgeführt (den kann man aber auch weg lassen, dann wird halt kein Zweig ausgeführt).
openHAB4.3.5 stable in einem Debian-Container (bookworm) (Proxmox 8.4.1, LXC), mit openHABian eingerichtet

Benutzeravatar
RES
Beiträge: 33
Registriert: 20. Aug 2020 14:38
Answers: 0
Wohnort: Innsbruck
Kontaktdaten:

Re: Z-Wave-Fernbedienung soll immer schalten, nicht nur bei "changed from"

Beitrag von RES »

udo1toni hat geschrieben: 7. Okt 2020 12:17 Aber bevor Du nun für jede Taste eine eigene Rule anlegst...
Evtl. wäre es sinnvoller, mehrere Rules zusammenzufassen. Das sieht dann so aus:
Vielen Dank.
--
Rudolf E. Steiner
res-1@communicate.at

Antworten