Hallo, für meine Klima gibt es eine Zeit- und Anwesenheitsabhängige Steuerung. Zusätzlich möchte ich einen Dummy-Button haben, der die Klima für nur 2 Stunden anschaltet und von der ersteren Steuerung "überschrieben" werden kann.
Ich bin der Meinung, meine Logik stimmt ;) .... trotzdem stört der 2-Stunden-Button das andere DOIF
define Container_XTENDER_Schalter_KLIMAAnAusDOIF DOIF ([{sunrise(18000,"06:00","11:00")}-{sunset(-7200,"17:00","22:00")}] and [Anwesenheit:state] eq "present" and [Container_SENSOR_XtenderTransfer:sensor] eq "closed" and [Container_TEMPFEUCHTESENSOR:temperature] > 24) (set ZirkusOben_KLIMA on) DOELSE (set ZirkusOben_KLIMA off)
attr Container_XTENDER_Schalter_KLIMAAnAusDOIF devStateIcon disabled:general_aus@red:initialize initialized:general_an@yellow:disable cmd_2:general_an@yellow:disable cmd_1:general_an@green:disable initialize:general_an@yellow:disable
attr Container_XTENDER_Schalter_KLIMAAnAusDOIF group XtenderHeizungKLIMA
attr Container_XTENDER_Schalter_KLIMAAnAusDOIF initialize initialized
attr Container_XTENDER_Schalter_KLIMAAnAusDOIF room Anwesenheit
attr Container_XTENDER_Schalter_KLIMAAnAusDOIF wait 600:0
ist das erste DOIF
define KLIMA2StundenDummy dummy
attr KLIMA2StundenDummy icon frost
attr KLIMA2StundenDummy room ZirkusOben
attr KLIMA2StundenDummy setList on off
define KLIMA2StundenDOIF DOIF ([KLIMA2StundenDummy:state] eq "on") (set ZirkusOben_KLIMA on) (set ZirkusOben_KLIMA off, set KLIMA2StundenDummy off) DOELSEIF ([Container_XTENDER_Schalter_KLIMAAnAusDOIF] eq "cmd_1" or [ZirkusOben_KLIMA:state] eq "off" or [KLIMA2StundenDummy:state] eq "off") (set KLIMA2StundenDummy off)
attr KLIMA2StundenDOIF do resetwait
attr KLIMA2StundenDOIF room ZirkusOben
attr KLIMA2StundenDOIF wait 0,7200,0
der 2-Stunden Button.
ich logge das Anschalten der Klima mit und habe folgendes Problem
2016-07-19_10:19:16 ZirkusOben_KLIMA set_on
2016-07-19_10:19:16 ZirkusOben_KLIMA working: off
2016-07-19_10:19:16 ZirkusOben_KLIMA on
2016-07-19_10:20:12 ZirkusOben_KLIMA set_off
2016-07-19_10:20:12 ZirkusOben_KLIMA working: off
2016-07-19_10:20:12 ZirkusOben_KLIMA off
2016-07-19_10:33:14 ZirkusOben_KLIMA set_on
2016-07-19_10:33:14 ZirkusOben_KLIMA working: off
2016-07-19_10:33:14 ZirkusOben_KLIMA on
bedeutet, er macht die Klima entsprechend des ersten DOIF´s an, dann aus und kurz danach wieder an. Ohne das 2-Stunden-DOIF funktioniert alles tadellos.
Jemand eine Idee wie das zweite DOIF (der Dummy-2-Stunden-Button wird nicht gedrückt, also das zweite DOIF wird nicht aktiviert) in das erste reinpfuscht?
Danke und Gruß
H.
Das erste DOIF triggert den DOELSEIF-Zweig des zweiten über
[ZirkusOben_KLIMA:state].
Diese Bedingung selbst ist dann zwar nicht wahr, aber wenn eine der beiden anderen or-verknüpften Bedingungen wahr ist, wird der DOELSEIF-Zweig ausgeführt:
Zitat([Container_XTENDER_Schalter_KLIMAAnAusDOIF] eq "cmd_1" or [ZirkusOben_KLIMA:state] eq "off" or [KLIMA2StundenDummy:state] eq "off") (set KLIMA2StundenDummy off)
Hallo Brockmann, aber der DOELSEIF vom zweiten DOIF schaltet ja nur den Dummy (KLIMA2StundenDummy ) wieder aus, nicht die Klima (denke ich) .... und das was du beschreibst ist genau meine Intention:
Wenn das erste DOIF einschaltet soll eine etwäige 2 Stunden-Schaltung keine Auswirkung mehr haben (die Klima zB nicht weil noch 20 Minuten der 2 Stunden Laufzeit übrig sind dann trotzdem ausschalten) und der 2 Stunden Button wird resettet.
Ich verstehe nicht, warum nach knapp 1 Minute die Klima morgens nochmal ausgeschaltet wird.
Zitat von: holle75 am 20 Juli 2016, 17:30:04
aber der DOELSEIF vom zweiten DOIF schaltet ja nur den Dummy (KLIMA2StundenDummy ) wieder aus, nicht die Klima (denke ich)
Ja, hast Recht. Da habe ich nicht richtig hingeschaut. War nur die einzige Verbindung zwischen den beiden DOIFs, die ich so gesehen habe.
Ich denke auch immer noch, dass es da eine Wechselwirkung geben kann, wg. des resetwait. Aber das würde nicht die ca. 1 Minute Wartezeit erklären.
Da muss noch was anderes im Spiel sein. Vielleicht kannst Du erstmal feststellen, welches DOIF nun eigentlich ausgeschaltet hat (am Timestamp der Readings).
Dann mal direkt nach dem unerwarteten Verhalten ein list <Name des DOIFs> machen. Dann kannst Du ablesen, was getriggert hat und warum geschaltet wurde.
Außerdem müsste das wait-Attribut etwas anders aussehen, oder?
Zitatattr KLIMA2StundenDOIF wait 0,7200:0
Ich denke aber nicht, dass das hier eine Rolle spielt.
Ich werde morgen früh mal ein paar lists machen und mich wieder melden.
Ich hatte das wait so verstanden, dass alle Ausführungs-Befehle in der Kette von vorne nach hinten mit Kommata getrennt sind?
define KLIMA2StundenDOIF DOIF ([KLIMA2StundenDummy:state] eq "on") (set ZirkusOben_KLIMA on) (set ZirkusOben_KLIMA off, set KLIMA2StundenDummy off) DOELSEIF ([Container_XTENDER_Schalter_KLIMAAnAusDOIF] eq "cmd_1" or [ZirkusOben_KLIMA:state] eq "off" or [KLIMA2StundenDummy:state] eq "off") (set KLIMA2StundenDummy off)
1 (set ZirkusOben_KLIMA on) -> 0 sek
2 (set ZirkusOben_KLIMA off, set KLIMA2StundenDummy off) -> 7200 sek
3 (set KLIMA2StundenDummy off) -> 0 sek
attr KLIMA2StundenDOIF wait 0,7200,0
Du könntest die Ereignisse der DOIF im Log protokollieren, in dem Du ein DOIF darauf ansetzt. Dann ist es leichter zu sehen, wer wann und warum schaltet.
define listDOIF DOIF (["^Container_XTENDER_Schalter_KLIMAAnAusDOIF$|^KLIMA2StundenDOIF$"]) (({Log 1, "listDOIF: Gerät: $DEVICE:[$DEVICE] --> Events: $EVENTS"}))
top. wird gleich gemacht. DANKE.
error: Wrong timespec "^Container_XTENDER_Schalter_KLIMAAnAusDOIF$: either HH:MM:SS or {perlcode}
bekomme ich im Reading
Was liefert "version DOIF" ?
# $Id: 98_DOIF.pm 9913 2015-11-16 19:34:36Z damian-s $
mmh, ich weiss, wird mal Zeit. Wollte demnächst mal auf 5.7 und dann auch alle Module updaten .... keine Zeit für den Rundumschlag
Ja, daran liegt es, es geht auch mit notify
define listnotify notify (Container_XTENDER_Schalter_KLIMAAnAusDOIF|KLIMA2StundenDOIF):.* {Log 1, "listnotify: Gerät: $NAME --> Events: $EVENT"}
Notify verwende ich selten, daher kann die Syntax fehlerhaft sein.
so scheint er es zu mögen
define listnotify notify Container_XTENDER_Schalter_KLIMAAnAusDOIF:.*|KLIMA2StundenDOIF:.* {Log 1, "listnotify: Gerät: $NAME --> Events: $EVENT"}
mal schauen, was ich morgen im Log habe. Danke
Zitat von: holle75 am 20 Juli 2016, 20:16:52
Ich hatte das wait so verstanden, dass alle Ausführungs-Befehle in der Kette von vorne nach hinten mit Kommata getrennt sind?
Ich war von der aktuellen DOIF-Version ausgegangen, da wird es anders gemacht:
http://fhem.de/commandref_DE.html#DOIF_wait
Bei der von Dir eingesetzten Version war das vermutlich noch anders..
Jo, glaube deine Definition ist die Richtige.
Gegen 10:21 sollte ich bezüglich des anderen Fehlers mehr wissen. Laut Log jetzt über die Nacht vermute ich eine addlog-Problematik. Mal schauen dann.
... wieder ein Stück weiter. Das Problem tritt nur auf, wenn ich Nachts den 2-Stunden-Button mal gedrückt und die Klima hab laufen lassen. Das werde ich jetzt heute Nacht dann machen.
Bis jetzt sieht der log so aus
......
2016.07.21 06:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 06:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 07:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 07:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 07:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 07:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 07:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 07:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 08:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 08:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 08:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 08:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 08:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 08:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 09:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 09:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 09:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 09:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 09:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 09:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 10:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 10:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 10:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: Container_XTENDER_Schalter_KLIMAAnAusDOIF
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 10:21:19 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_nr: 1
2016.07.21 10:21:19 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_event: timer_1
2016.07.21 10:21:19 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_1
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 10:21:19 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 10:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 10:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 10:31:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 11:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 11:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 11:01:36 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
......
die halbstündigen Einträge kommen von einem addlog auf Container_XTENDER_Schalter_KLIMAAnAusDOIF worauf KLIMA2StundenDOIF reagiert.
Na Prima, Murphys Law hat zugeschlagen. Heute Nacht/Morgen hats natürlich top funktioniert.
Ob es jetzt doch was mit dem
wait 0,7200:0 statt wait 0,7200,0 zu tun hat???
Um 00:13 habe ich den 2-Stunden-Button aktiviert. 2 Stunden später geht die Klima brav aus. Trotzdem kein Problem am Morgen
der (bereinigte) Log
2016.07.21 22:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 22:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 22:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 22:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.21 22:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 22:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 22:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 22:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.21 23:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 23:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 23:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 23:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.21 23:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.21 23:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.21 23:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.21 23:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 00:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 00:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 00:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 00:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 00:13:29 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: set_on
2016.07.22 00:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 1
2016.07.22 00:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_seqnr: 1
2016.07.22 00:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: KLIMA2StundenDummy
2016.07.22 00:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_1_1
2016.07.22 00:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: wait_timer: 22.07.2016 02:13:29 cmd_1_2 KLIMA2StundenDummy
2016.07.22 00:13:29 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: working: off
2016.07.22 00:13:29 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on
2016.07.22 00:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on << addLog
2016.07.22 01:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on << addLog
2016.07.22 01:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on << addLog
2016.07.22 02:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on << addLog
2016.07.22 02:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: wait_timer: no timer
2016.07.22 02:13:29 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: set_off
2016.07.22 02:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 1
2016.07.22 02:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_seqnr: 2
2016.07.22 02:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: KLIMA2StundenDummy
2016.07.22 02:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_1
2016.07.22 02:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 02:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 02:13:29 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 02:13:29 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: working: off
2016.07.22 02:13:29 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off
2016.07.22 02:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 02:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 02:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 02:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 03:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 03:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 03:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 03:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 03:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 03:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 03:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
.......
2016.07.22 08:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 08:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 08:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 08:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 08:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 09:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 09:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 09:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 09:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 09:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 09:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 09:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 09:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 10:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 10:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 10:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 10:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 10:22:22 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: set_on
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: Container_XTENDER_Schalter_KLIMAAnAusDOIF
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 10:22:22 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_nr: 1
2016.07.22 10:22:22 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_event: timer_1
2016.07.22 10:22:22 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_1
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 10:22:22 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 10:22:22 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: working: off
2016.07.22 10:22:22 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on
2016.07.22 10:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 10:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 10:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 10:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on << addLog
2016.07.22 11:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 11:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 11:05:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 11:05:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on << addLog
2016.07.22 11:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.22 11:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.22 11:35:04 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.22 11:35:04 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on << addLog
und keine knapp einminütige Abschaltung nach dem morgendlichen Anschalten.
Ich werde heute Nacht nochmal rumspielen.
Falls euch etwas am Log auffällt, lasst es mich gerne wissen
... ein paar Tage rumprobiert und bis jetzt keine Probleme mehr. Vielleicht war es das wait 0,7200:0 statt wait 0,7200,0.
Vielen Dank an Brockmann und Ellert!
H.
Oh nee, jetzt habe ich mal wieder einen dieser sporadisch, unnachvollziehbaren Fehler. Das Problem ist doch nicht gelöst!
2016.07.27 06:20:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 06:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 06:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 06:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 06:50:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 07:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 07:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 07:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 07:20:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 07:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 07:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 07:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 07:50:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 08:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 08:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 08:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 08:20:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 08:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 08:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 08:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 08:50:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 09:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 09:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 09:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 09:20:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 09:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 09:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 09:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 09:50:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 09:57:34 1: FHEMWEB SSL/HTTPS error: Connection reset by peer
2016.07.27 09:58:40 1: FHEMWEB SSL/HTTPS error: Connection reset by peer
2016.07.27 09:58:48 1: FHEMWEB SSL/HTTPS error: Connection reset by peer
2016.07.27 09:59:28 1: FHEMWEB SSL/HTTPS error: Connection reset by peer
2016.07.27 09:59:44 1: FHEMWEB SSL/HTTPS error: Connection reset by peer
2016.07.27 10:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 10:20:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:20:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off << addLog
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:27:47 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: set_on
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: Container_XTENDER_Schalter_KLIMAAnAusDOIF
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:27:47 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_nr: 1
2016.07.27 10:27:47 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_event: timer_1
2016.07.27 10:27:47 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_1
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 10:27:47 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:27:47 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: working: off
2016.07.27 10:27:47 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:28:03 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: set_off
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: Container_XTENDER_Schalter_KLIMAAnAusDOIF
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:28:03 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_nr: 2
2016.07.27 10:28:03 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_event: Anwesenheit
2016.07.27 10:28:03 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_2
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 10:28:03 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:28:03 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: working: off
2016.07.27 10:28:03 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: off
2016.07.27 10:29:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:29:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: Container_XTENDER_Schalter_KLIMAAnAusDOIF
2016.07.27 10:29:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:29:49 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: wait_timer: 27.07.2016 10:39:48 cmd_1 Container_TEMPFEUCHTESENSOR
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: Container_XTENDER_Schalter_KLIMAAnAusDOIF
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:39:49 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: wait_timer: no timer
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:39:49 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: set_on
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: Container_XTENDER_Schalter_KLIMAAnAusDOIF
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:39:49 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_nr: 1
2016.07.27 10:39:49 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_event: Container_TEMPFEUCHTESENSOR
2016.07.27 10:39:49 1: listnotify: Geraet: Container_XTENDER_Schalter_KLIMAAnAusDOIF --> Events: cmd_1
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 10:39:49 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:39:49 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: working: off
2016.07.27 10:39:49 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on
2016.07.27 10:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_nr: 2
2016.07.27 10:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_event: ZirkusOben_KLIMA
2016.07.27 10:50:43 1: listnotify: Geraet: KLIMA2StundenDOIF --> Events: cmd_2
2016.07.27 10:50:43 1: listnotify: Geraet: ZirkusOben_KLIMA --> Events: on << addLog
Um 10:27:47 stellt Container_XTENDER_Schalter_KLIMAAnAusDOIF die Klima an, entsprechend timer.
Um 10:28:03 stellt scheinbar (und hier verstehe ich es nicht) Container_XTENDER_Schalter_KLIMAAnAusDOIF wegen (nicht)-Anwesenheit wieder ab (ich/jemand ist aber laut entsprechendem logfile immer da).
Um 10:29:49 stellt dann Container_XTENDER_Schalter_KLIMAAnAusDOIF (nach der wait Zeit) wieder an durch einen der Trigger (Container_TEMPFEUCHTESENSOR).
Danach läuft alles sauber durch.
Es hat also scheinbar nichts mit dem zweiten DOIF zu tun, wie ich ursprünglich vermutete. (und da es sporadisch auftritt ist es mir vielleicht vor dem zweiten DOIF nicht aufgefallen?)
Log Anwesenheit:
2016-07-27_10:18:15 Holle_Anwesenheit present
2016-07-27_10:28:03 Holle_Anwesenheit present
2016-07-27_10:31:42 Holle_Anwesenheit present
2016-07-27_10:37:16 Holle_Anwesenheit present
und das DOIF vom Anwesenheit Dummy:
define Anwesenheit_Schalter DOIF ([Holle_Anwesenheit:state] eq "present" or [Nic_Anwesenheit:state] eq "present" or [GAST_Anwesenheit:state] eq "present") (set Anwesenheit present) DOELSE (set Anwesenheit absent)
attr Anwesenheit_Schalter do always
attr Anwesenheit_Schalter group Anwesenheit
Zitat von: holle75 am 27 Juli 2016, 11:15:40
Um 10:28:03 stellt scheinbar (und hier verstehe ich es nicht) Container_XTENDER_Schalter_KLIMAAnAusDOIF wegen (nicht)-Anwesenheit wieder ab (ich/jemand ist aber laut entsprechendem logfile immer da).
Dein Log besagt nur, das Anwesenheit der Trigger war, der das DOIF ausgelöst hat. Es sagt nichts darüber, wie die anderen Bedingungen in dem Moment ausgesehen haben. Du müsstest in dem Moment ein list <Name des DOIFs> machen. Oder Du definierst Dir ein Filelog, was alle Events von diesem DOIF loggt. Dann kannst Du auch im Nachhinein feststellen, welche Bedingung wann warum erfüllt war.
dann nehme ich jetzt mal das Anwesenheit DOIF in dieses Konstrukt mit auf
define listnotify notify Container_XTENDER_Schalter_KLIMAAnAusDOIF:.*|Anwesenheit_Schalter:.*|ZirkusOben_KLIMA:.* {Log 1, "listnotify: Geraet: $NAME --> Events: $EVENT"}