Rule - Abschalten wenn vorher Status = OFF

Für welche Projekte verwendet Ihr OpenHAB? Was habt Ihr automatisiert? Stellt eure Projekte hier vor.

Moderatoren: Cyrelian, seppy

Antworten
EMaster
Beiträge: 92
Registriert: 13. Dez 2018 21:02
Answers: 2

Rule - Abschalten wenn vorher Status = OFF

Beitrag von EMaster »

Servus Zusammen,

ich hab mal wieder ein Rule, wo ich nicht weiterkomme.

Folgendes soll realisiert werden.
Von Mo - Fr um 8.10Uhr soll Swi_TVundCo einschalten und nach 100 Minuten wieder ausschalten.
Dies soll aber nur passieren, wenn Swi_TVundCo vorher den Status OFF hatte!
Wenn er vorher den Staus ON hatte soll er nicht ausschalten.

Code: Alles auswählen

//Wenn Status von Swi_TVundCo OFF, dann schalte um 8.10Uhr (Mo-Fr) EIN und nach 100 Minuten wieder AUS.

rule "Multimedia Timer EIN"

when
    Time cron "0 10 08 ? * MON,TUE,WED,THU,FRI"
then
    if(now.getDayOfWeek <=5)        // Nur von Mo - Fr (Evtl. nicht nötig, da schon im Time cron definiert!)
    if(Swi_TVundCo.state == OFF)    // Statusabfrage OFF
    Swi_TVundCo.sendCommand(ON)     // Einschaltbefehl
    createTimer(now.plusMinutes(100), [ | Swi_TVundCo.sendCommand(OFF) ] )    // Ausschaltbefehl nach 100 Minuten
end
Vielen Dank für Eure Hilfe!!!
openHAB 4.0.4 im Docker@Synology (DSM7)

Darkwin101
Beiträge: 424
Registriert: 6. Mär 2019 11:19
Answers: 14

Re: Rule - Abschalten wenn vorher Status = OFF

Beitrag von Darkwin101 »

Code: Alles auswählen

rule "Multimedia Timer EIN"

when
    Time cron "0 10 08 ? * MON,TUE,WED,THU,FRI"
then
    if(Swi_TVundCo.state == OFF){    // Statusabfrage OFF
    Swi_TVundCo.sendCommand(ON)     // Einschaltbefehl
    createTimer(now.plusMinutes(100), [ | Swi_TVundCo.sendCommand(OFF) ] ) }   // Ausschaltbefehl nach 100 Minuten
end
Du musst die Befehle auch der If Abfrage zuordnen das Geschieht mit den {} Klammern sonst hat die if abfrage keine Wirkung und alle befehle werden einfach nacheinander ausgeführt

EMaster
Beiträge: 92
Registriert: 13. Dez 2018 21:02
Answers: 2

Re: Rule - Abschalten wenn vorher Status = OFF

Beitrag von EMaster »

Danke!!!
Es funktioniert.
Man lernt eben nie aus!
openHAB 4.0.4 im Docker@Synology (DSM7)

Antworten