FHEM Forum

FHEM => Automatisierung => DOIF => Thema gestartet von: m8ichael am 11 März 2016, 23:14:13

Titel: Problem mit DOIF
Beitrag von: m8ichael am 11 März 2016, 23:14:13
Hallo Gemeinde,

ich habe seit kurzem das Problem, dass mein DOIF- Befehl irgendwie nicht sauber abgearbeitet wird:
Internals: DEF ([{sunset_abs("HORIZON=-2.0")}-22:45])
((set eg.fl.Eingang.Stimmungsbeleuchtung,div.Schalter2 on))
DOELSE
((set eg.fl.Eingang.Stimmungsbeleuchtung,div.Schalter2 off))

NAME di.Eingangsbeleuchtung NR 136 NTFY_ORDER 50-di.Eingangsbeleuchtung
STATE cmd_2 TYPE DOIF Readings: 2016-03-04 22:45:00 cmd_event timer_2 2016-03-04 22:45:00 cmd_nr 2 2016-03-04 22:45:00 state cmd_2 2016-03-11 22:54:22 timer_1_c1 12.03.2016 18:29:01 2016-03-11 22:54:22 timer_2_c1 12.03.2016 22:45:00 Condition: 0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") Days: Devices: Do: 0: 0 (set eg.fl.Eingang.Stimmungsbeleuchtung,div.Schalter2 on) 1: 0 (set eg.fl.Eingang.Stimmungsbeleuchtung,div.Schalter2 off) Helper: globalinit 1 last_timer 2 sleeptimer -1 Interval: 0 -1 1 0 Itimer: Localtime: 0 1457803741 1 1457819100 Realtime: 0 18:29:01 1 22:45:00 Regexp: State: Time: 0 {sunset_abs("HORIZON=-2.0")} 1 22:45:00 Timecond: 0 0 1 0 Timer: 0 0 1 0 Timers: 0 0 1 Triggertime: 1457803741: localtime 1457803741 Hash: 1457819100: localtime 1457819100 Hash: Attributes:


So werden die Lampen pünktlich eingeschaltet (zum Sonnenuntergang), jedoch nicht wieder ausgeschaltet. Kurios ist, dass der Status im Webfrontend dabei wechselt (Lampen sind dann aus), es erfolgt jedoch kein Schaltvorgang. Im Log (verbose 3) wird ebenfalls nichts protokolliert (kein Fehler, aber auch kein Schaltvorgang).

Habe ich hier etwas übersehen? Oder muss ich mal wieder Verbose 5 aktivieren?

Viele Grüße

Michael
Titel: Antw:Problem mit DOIF
Beitrag von: rudolfkoenig am 12 März 2016, 13:27:51
Gibt es einen Grund, dass das Problem in diesem Bereich (ZWave) gepostet wurde? Fuer mich schaut es nach einem DOIF Thema aus, ich habe von DOIF keine Ahnung, und der DOIF Maintainer liest diesen Forumsbereich vermutlich nicht. Vorschlag: Thema ins richtige Bereich (siehe MAINTAINER.txt (http://fhem.de/MAINTAINER.txt)) verschieben.
Titel: Antw:Problem mit DOIF
Beitrag von: CoolTux am 12 März 2016, 15:21:45
Verschiebe das mal bitte nach Automatisierung und nimm den Screen raus und stattdessen ein list vom Device rein.



Danke
Titel: Antw:Problem mit DOIF
Beitrag von: Damian am 12 März 2016, 19:59:26
Zitat von: m8ichael am 11 März 2016, 23:14:13
Hallo Gemeinde,

ich habe seit kurzem das Problem, dass mein DOIF- Befehl irgendwie nicht sauber abgearbeitet wird:
Internals: DEF ([{sunset_abs("HORIZON=-2.0")}-22:45])
((set eg.fl.Eingang.Stimmungsbeleuchtung,div.Schalter2 on))
DOELSE
((set eg.fl.Eingang.Stimmungsbeleuchtung,div.Schalter2 off))

NAME di.Eingangsbeleuchtung NR 136 NTFY_ORDER 50-di.Eingangsbeleuchtung
STATE cmd_2 TYPE DOIF Readings: 2016-03-04 22:45:00 cmd_event timer_2 2016-03-04 22:45:00 cmd_nr 2 2016-03-04 22:45:00 state cmd_2 2016-03-11 22:54:22 timer_1_c1 12.03.2016 18:29:01 2016-03-11 22:54:22 timer_2_c1 12.03.2016 22:45:00 Condition: 0 DOIF_time($hash,$hash->{realtime}{0},$hash->{realtime}{1},$wday,$hms,"") Days: Devices: Do: 0: 0 (set eg.fl.Eingang.Stimmungsbeleuchtung,div.Schalter2 on) 1: 0 (set eg.fl.Eingang.Stimmungsbeleuchtung,div.Schalter2 off) Helper: globalinit 1 last_timer 2 sleeptimer -1 Interval: 0 -1 1 0 Itimer: Localtime: 0 1457803741 1 1457819100 Realtime: 0 18:29:01 1 22:45:00 Regexp: State: Time: 0 {sunset_abs("HORIZON=-2.0")} 1 22:45:00 Timecond: 0 0 1 0 Timer: 0 0 1 0 Timers: 0 0 1 Triggertime: 1457803741: localtime 1457803741 Hash: 1457819100: localtime 1457819100 Hash: Attributes:


So werden die Lampen pünktlich eingeschaltet (zum Sonnenuntergang), jedoch nicht wieder ausgeschaltet. Kurios ist, dass der Status im Webfrontend dabei wechselt (Lampen sind dann aus), es erfolgt jedoch kein Schaltvorgang. Im Log (verbose 3) wird ebenfalls nichts protokolliert (kein Fehler, aber auch kein Schaltvorgang).

Habe ich hier etwas übersehen? Oder muss ich mal wieder Verbose 5 aktivieren?

Viele Grüße

Michael

Hast du aktuelle Version von DOIF?

# $Id: 98_DOIF.pm 10985 2016-03-03 17:25:24Z damian-s $

Gruß

Damian

Titel: Antw:Problem mit DOIF
Beitrag von: m8ichael am 13 März 2016, 15:11:26
ZitatHast du aktuelle Version von DOIF?

# $Id: 98_DOIF.pm 10985 2016-03-03 17:25:24Z damian-s $

Ja, die wurde per Update installiert.
Titel: Antw:Problem mit DOIF
Beitrag von: Ellert am 13 März 2016, 16:49:36
ZitatJa, die wurde per Update installiert.

Und wurde nach dem Update ein "shutdown restart" durchgeführt?

Wenn im Frontend die Lampen den Status "aus" anzeigen und DOIF STATE cmd_2 zeigt, dann hat vermutlich der physikalische Aktor das Signal nicht erhalten.

Sind Gerätestati von "Eingang.Stimmungsbeleuchtung" und "div.Schalter2" auch auf "aus"?
Gibt es eine Rückmeldung vom Aktor?
Titel: Antw:Problem mit DOIF
Beitrag von: m8ichael am 13 März 2016, 17:01:29
Halllo!

ZitatUnd wurde nach dem Update ein "shutdown restart" durchgeführt?

Aber klar!  ;)

ZitatWenn im Frontend die Lampen den Status "aus" anzeigen und DOIF STATE cmd_2 zeigt, dann hat vermutlich der physikalische Aktor das Signal nicht erhalten.

Ich nutze ZWave-Geräte. Bisher haben die dann immer im Log gemeldet, wenn ein Befehl nicht durchgegangen ist. Tatsächlich finde ich zum Ausschaltzeitpunkt überhaupt keinen Log-Eintrag. Wenn ich die dann manuell über das Frontend schalte, werden die Vorgänge auch ohne Verzögerung ausgeführt. Im Frontend selbst haben die den State "off", obwohl sie nicht geschaltet wurden...

Problematisch ist, dass der Fehler nicht direkt reproduzierbar ist. Vorgestern ist wiederholt der Fehler aufgetreten, gestern lief offenbar alles so, wie es soll...  :-[
Titel: Antw:Problem mit DOIF
Beitrag von: Ellert am 13 März 2016, 17:59:29
Z-Wave kenne ich nicht.
Allgemein sieht die Abarbeitung eines Befehls etwa so aus:

DOIF Bedingung wahr --> set Gerät off --> Gerät setzt den Funkbefehl ab, wartet auf Rückmeldung und STATE/state wird auf off gesetzt --> Aktualisierung des Frontend und anzeigen des STATE Icon.

Wenn das STATE-Icon sich ändert, hat DOIF den Befehl gesendet und im Gerät hat sich STATE auch geändert.

Da hilft nur probieren:

Du könntest den Befehl zeitlich entzerren mit wait.
oder versuchsweise nur einen Befehl senden
und den Befehlszweig des DOIF mitloggen
DOELSE (set eg.fl.Eingang.Stimmungsbeleuchtung off) (set div.Schalter2 off, ({Log 1, "DOELSE hat geschaltet"}))

wait 0:0,1
Titel: Antw:Problem mit DOIF
Beitrag von: Damian am 13 März 2016, 19:24:38
Was mich irritiert ist, dass die letzte Ausführung vom 04.03 ist aber die Timer weiter aktualisiert werden.

STATE cmd_2 TYPE DOIF Readings:
2016-03-04 22:45:00 cmd_event timer_2
2016-03-04 22:45:00 cmd_nr 2
2016-03-04 22:45:00 state cmd_2
2016-03-11 22:54:22 timer_1_c1 12.03.2016 18:29:01


Das sieht aus, als wenn sich das Modul per set disable im disable-Zustand befände.

Gruß

Damian