Seite 1 von 1

Rule - Abschalten wenn vorher Status = OFF

Verfasst: 21. Feb 2020 17:48
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!!!

Re: Rule - Abschalten wenn vorher Status = OFF

Verfasst: 21. Feb 2020 18:07
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

Re: Rule - Abschalten wenn vorher Status = OFF

Verfasst: 21. Feb 2020 19:47
von EMaster
Danke!!!
Es funktioniert.
Man lernt eben nie aus!