FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: gent am 10 März 2016, 21:15:48

Titel: DOIF Beispiel in der CommandRef
Beitrag von: gent am 10 März 2016, 21:15:48
Hi,

folgendes Beispiel aus der DOIF CommandRef funktioniert bei mir nicht:

Angabe eines Readings als Zeitangabe. Beispiel: Schalten anhand eines Twilight-Readings:
define di_time DOIF ([[myTwilight:ss_weather]])(set lamp on)


Selbstverständlich liefert das Twilight Modul das korrekte reading. Ich hab' auch ein logfile dazu:

2016-03-10_17:43:52 myTwilight aktEvent: ss_weather

Aber die Lampe hat nicht geschaltet. Bis vor kurzen hatte ich dafür ein notify verwendet und damit lief es einwandfrei.

Ist da ein Fehler im DOIF Modul?

Viele Grüße
Titel: Antw:DOIF Beispiel in der CommandRef
Beitrag von: Ellert am 11 März 2016, 07:29:38
Welche DOIF-Version ist geladen?
version DOIF
Titel: Antw:DOIF Beispiel in der CommandRef
Beitrag von: gent am 11 März 2016, 15:26:11
Hier der Output:

98_DOIF.pm 10962 2016-02-28 20:12:04Z damian-s

Viele Grüße
Titel: Antw:DOIF Beispiel in der CommandRef
Beitrag von: gent am 11 März 2016, 15:32:10
Habe gerade mal ein Update gemacht. Nun ist es Version 10985 vom 3.3.2016

Wenn ich nachher heim komme und die Lampe an ist, lag es wohl daran?

Viele Grüße
Titel: Antw:DOIF Beispiel in der CommandRef
Beitrag von: Damian am 11 März 2016, 15:49:08
Zitat von: gent am 11 März 2016, 15:32:10
Habe gerade mal ein Update gemacht. Nun ist es Version 10985 vom 3.3.2016

Wenn ich nachher heim komme und die Lampe an ist, lag es wohl daran?

Viele Grüße

Wenn du im DOIF-Modul nur einen Zweig mit Zeitangabe hast, dann musst du das Attribut do always setzen, sonst wird der Befehl nur einmal ausgeführt.

Gruß

Damian
Titel: Antw:DOIF Beispiel in der CommandRef
Beitrag von: gent am 11 März 2016, 17:40:26
Hallo zusammen,

jetzt ist die Lampe an. Das "do always" hatte ich noch nicht gesetzt, um nicht zwei Dinge gleichzeitig zu ändern. Scheint also wirklich an der Version gelegen zu haben. Jetzt schalte ich noch das "do always" attribut dazu, dann sollte die Lampe morgen Abend ja auch angehen.

Vielen Dank erstmal und viele Grüße.
Titel: Antw:DOIF Beispiel in der CommandRef
Beitrag von: Damian am 11 März 2016, 19:20:10
Zitat von: gent am 11 März 2016, 17:40:26
Hallo zusammen,

jetzt ist die Lampe an. Das "do always" hatte ich noch nicht gesetzt, um nicht zwei Dinge gleichzeitig zu ändern. Scheint also wirklich an der Version gelegen zu haben. Jetzt schalte ich noch das "do always" attribut dazu, dann sollte die Lampe morgen Abend ja auch angehen.

Vielen Dank erstmal und viele Grüße.

Wer macht die Lampe wieder aus? Der Grundgedanke beim Einsatz des DOIF-Moduls lautet: "Wer die Lampe einschaltet, soll sie auch wieder ausschalten"

Damit behält man Überblick in seinem System und muss nicht lange nach Abhängigkeiten suchen ;)

Gruß

Damian
Titel: Antw:DOIF Beispiel in der CommandRef
Beitrag von: gent am 11 März 2016, 19:30:11
Hi Damian,

das ist ja erstmal nur ein Test. Derzeit habe ich diese DOIF Definition:

([[myTwilight:ss_weather]])(set WZ_Lampe1 on-till 22:00)

Damit geht die Lampe mal um 22:00 Uhr wieder aus. Richtig ist das sicherlich nicht. Aber man sieht ja schon an meinem Testaufbau hier, dass es alles noch recht provisorisch zugeht...

Titel: Antw:DOIF Beispiel in der CommandRef
Beitrag von: Damian am 11 März 2016, 19:47:02
Zitat von: gent am 11 März 2016, 19:30:11
Hi Damian,

das ist ja erstmal nur ein Test. Derzeit habe ich diese DOIF Definition:

([[myTwilight:ss_weather]])(set WZ_Lampe1 on-till 22:00)

Damit geht die Lampe mal um 22:00 Uhr wieder aus. Richtig ist das sicherlich nicht. Aber man sieht ja schon an meinem Testaufbau hier, dass es alles noch recht provisorisch zugeht...

Oder so:

([[myTwilight:ss_weather]])(set WZ_Lampe1 on) DOELSEIF ([22:00]) (set WZ_Lampe1 off)

Damit hat man mehr Möglichkeiten, insbesondere dynamische Ausschaltzeiten zu definieren und weitere Bedingungen hinzuzufügen, wie z. B. Wochentag- Abhängigkeiten. Es sind ja genügend Beispiele in der Commandref zu diesem Thema.