[gelöst] Regel mit Wartezeit

Einrichtung der openHAB Umgebung und allgemeine Konfigurationsthemen.

Moderatoren: seppy, udo1toni

Antworten
Benutzeravatar
leupy
Beiträge: 83
Registriert: 21. Nov 2018 19:43
Answers: 0
Wohnort: Saarlouis

[gelöst] Regel mit Wartezeit

Beitrag von leupy »

Hallo,
ich habe Problem mit einer Regel mit Wartezeit.
Ich will bedingt wenn ein Dummy Schalter (Feuer) eingeschalte ist eine zuvor eingeschaltet Lampe (RFKey1) nach 1sec ausschalten und wieder nach 1 sec einschalten.
Damit schalte ich in der Außenlampe (RFKey1) die LED Leuchtmittel in den Feuermodus.

Code: Alles auswählen

rule "Feuer"
when 

        Item RFKey1 changed from ON
then 
        if
        (Feuer.state != ON) return;  // wenn Schalter aus(nicht an) , keine Aktionen

        else if
        Thread::sleep(10000)            //Warten 1 sec
                sendCommand (RFKey1, OFF)       //Außenlampe aus
        Thread::sleep(10000)            //Warten 1 sec   
                sendCommand (RFKey1, ON)        //Außenlampe ein     
end
im voraus Danke für eure Hilfe
Zuletzt geändert von leupy am 28. Okt 2019 18:16, insgesamt 1-mal geändert.
Saarländer
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2

Benutzeravatar
leupy
Beiträge: 83
Registriert: 21. Nov 2018 19:43
Answers: 0
Wohnort: Saarlouis

Re: Regel mit Wartezeit

Beitrag von leupy »

Hallo wieder,
hier meine zweite Variante die aber auch nicht Funktioniert. :(

Code: Alles auswählen

rule "Feuer"
when 

        Item RFKey1 changed from OFF to ON 
then       
        if (Feuer.state == ON)                                                  //  wenn Schalter aus , keine Aktionen
        createTimer(now.plusSeconds(1)) [| sendCommand (RFKey1, OFF) ) ]        //Warten 1 sec Außenlampe aus          
                     
        createTimer(now.plusSeconds(1)) [| sendCommand (RFKey1, On) )  ]        //Warten 1 sec  Außenlampe ein 
else 
        return
end     
Saarländer
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2

eiGelbGeek
Beiträge: 226
Registriert: 11. Aug 2019 06:39
Answers: 4

Re: Regel mit Wartezeit

Beitrag von eiGelbGeek »

Kann so ja auch nicht funktionieren ;-) du erstellst 2 Timer mit jeweils 1 Sekunde .... die rule läuft komplett durch und hat dann 2 Timer die nach 1 Sekunde auslösen sollen.... heisst das nach einer Sekunde gleichzeitig ein OFF und ON kommt ;-) zusätzlich kommt das ON nicht durch ... weil du On und nicht ON geschrieben hast ;-)

Versuche es mal so :-)

Code: Alles auswählen

rule "Feuer"
when 
  Item RFKey1 changed from OFF to ON 
then
  if (Feuer.state == ON) {
    createTimer(now.plusSeconds(1)) [| RFKey1.sendCommand(OFF) ]
    createTimer(now.plusSeconds(2)) [| RFKey1.sendCommand(ON) ]
  }
end

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

Re: Regel mit Wartezeit

Beitrag von udo1toni »

Sauberer wäre es, das Ganze mit einem Timer zu erledigen:

Code: Alles auswählen

var Timer tFeuer = null

rule "Feuer"
when 
    Item RFKey1 changed from OFF to ON 
then
    if(Feuer.state != ON || tFeuer !== null) return;
    tFeuer = createTimer(now.plusSeconds(1), [| 
        if(RFKey1.state == ON) {
            RFKey1.sendCommand(OFF)
            tFeuer.reschedule(now.plusSeconds(1))
        } else {
            RFKey1.sendCommand(ON)
            tFeuer = null
        }
    ])
end
Der Timer wird nur angelegt, wenn der Schalter Feuer den Status ON hat und der Timer nicht läuft.
Der Timer wird nach einer Sekunde ausgeführt. Für den Fall, dass RFKey1 auf ON steht, schaltet es auf OFF und startet den Timer neu, sonst schaltet es auf ON und löscht den Zeiger auf den Timer.
Der vorliegende Code kann nicht aus Versehen mehrfach getriggert werden - im Gegensatz zur einfacheren Variante mit zwei unkontrollierten Timern.
openHAB4.3.3 stable in einem Debian-Container (bookworm) (Proxmox 8.3.5, LXC), mit openHABian eingerichtet

Benutzeravatar
leupy
Beiträge: 83
Registriert: 21. Nov 2018 19:43
Answers: 0
Wohnort: Saarlouis

Re: Regel mit Wartezeit

Beitrag von leupy »

Danke für die schnelle Hilfe,
es läuft.
Saarländer
Raspberry Pi 3 & 4 openHAB3.2
Asus Touchscreen Wandeinbau
Win 10 Rechner zum Visualisieren
Sonoff Aktoren mit Tasmota
Sonoff RF Bridge
MiLight
Shelly 1 und 2

Antworten