gelöst: Wo werden Zustände innerhalb FHEM überal gespeichert?

Begonnen von duke-f, 26 November 2015, 22:01:34

Vorheriges Thema - Nächstes Thema

duke-f

Ich bin nicht sicher, ob dieses Phänomen wirklich mit DOIF zusammenhängt - hab aber keine Erklärung.

Im folgenden Code ist "Wecker" ein Dummy, der die Zustände "normal", "extra", "einmal off" oder "off" einnehmen kann.
"normal" startet um 06:58 werktags der Radio (Panasonic) und die Heizungspumpe für drei Minuten.
"extra" startet das ganze um 05:57, setzt dann "Wecker" wieder zurück auf "normal" und da dann der Radio um 06:058 wieder startet, wird er um 07:05 wieder ausgeschaltet.
"einmal off" schält nichts ein und setzt "Wecker" um 07:30 wieder auf "normal"
"off" macht gar nichts, ist für unbestimmt längeren Urlaub.


define Radio_Wecker DOIF ([06:58|8] and [?Wecker] eq "normal") (set Panasonic on,set Pumpe_Hz on-for-timer 180)
DOELSEIF ([05:57] and [?Wecker] eq "extra") (set Pumpe_Hz on-for-timer 180,set Panasonic on,set Wecker normal,define Pana_Cottbus_2 at 07:05 set Panasonic off)
DOELSEIF ([Wecker] eq "einmal_off") (define Wecker_zurueck at 07:30 set Wecker normal)



Das ganze hat über Monate nun perfekt funktioniert. Letzte Woche jedoch plötzlich nicht mehr. "Wecker" steht wegen Urlaub auf "off", trotzdem startet der Radio jeden Morgen um 06:58.
Jetzt hatte ich gestern das ganze so geändert, dass statt 06:58 im obigen Code 06:56 steht. Trotzdem startete heute morgen der Radio wieder um 06:58.
Ich habe die fhem.cfg, 99_myUtils.pm, fhem.save durchsucht, nirgends ist ein Eintrag, der diesen Schaltvorgang auslöst.

Bin jetzt hilflos. Hat jemand einen Tipp, wo ich noch suchen könnte? Die Suche ist recht langwierig, da ich jedesmal wieder bis morgens warten muss um zu sehen, was passiert.


EDIT:
Hat sich geklärt. Es war mein eigener Fehler und hatte weder mit DOIF im speziellen oder gar FHEM im Allgemeinen überhaupt irgendwas zu tun. Für die Neugierigen: Mein früheres System hatt aus welchem Grund auch immer einen Cronjob, den ich seinerzeit vor Monaten oder gar Jahren auf Start am 12.11.2015 gesetzt hatte statt ihn zu löschen beim Umstieg auf FHEM. Weiß der Teufel, was mich damals geritten hat... :P Meinetwegen könnte der Admin den kompletten Thread löschen.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Frank_Huber

vielleicht am ende noch ein doelseif für "ganz off" reinbasteln? so dass immer eins greift, auch im urlaub.

Damian

Zitat von: duke-f am 26 November 2015, 22:01:34
Ich bin nicht sicher, ob dieses Phänomen wirklich mit DOIF zusammenhängt - hab aber keine Erklärung.

Im folgenden Code ist "Wecker" ein Dummy, der die Zustände "normal", "extra", "einmal off" oder "off" einnehmen kann.
"normal" startet um 06:58 werktags der Radio (Panasonic) und die Heizungspumpe für drei Minuten.
"extra" startet das ganze um 05:57, setzt dann "Wecker" wieder zurück auf "normal" und da dann der Radio um 06:058 wieder startet, wird er um 07:05 wieder ausgeschaltet.
"einmal off" schält nichts ein und setzt "Wecker" um 07:30 wieder auf "normal"
"off" macht gar nichts, ist für unbestimmt längeren Urlaub.


define Radio_Wecker DOIF ([06:58|8] and [?Wecker] eq "normal") (set Panasonic on,set Pumpe_Hz on-for-timer 180)
DOELSEIF ([05:57] and [?Wecker] eq "extra") (set Pumpe_Hz on-for-timer 180,set Panasonic on,set Wecker normal,define Pana_Cottbus_2 at 07:05 set Panasonic off)
DOELSEIF ([Wecker] eq "einmal_off") (define Wecker_zurueck at 07:30 set Wecker normal)



Das ganze hat über Monate nun perfekt funktioniert. Letzte Woche jedoch plötzlich nicht mehr. "Wecker" steht wegen Urlaub auf "off", trotzdem startet der Radio jeden Morgen um 06:58.
Jetzt hatte ich gestern das ganze so geändert, dass statt 06:58 im obigen Code 06:56 steht. Trotzdem startete heute morgen der Radio wieder um 06:58.
Ich habe die fhem.cfg, 99_myUtils.pm, fhem.save durchsucht, nirgends ist ein Eintrag, der diesen Schaltvorgang auslöst.

Bin jetzt hilflos. Hat jemand einen Tipp, wo ich noch suchen könnte? Die Suche ist recht langwierig, da ich jedesmal wieder bis morgens warten muss um zu sehen, was passiert.

In den Readings des Moduls siehst du wie die Timer aktuell gesetzt sind. Ich halte es eher für ausgeschlossen, dass das Modul etwas zu einer anderen Zeit schaltet als in den gesetzten Timern in Readings zu sehen ist.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

duke-f

Besten Dank für die prompten Antworten.

Readings habe ich schon überprüft und es steht wirklich nichts anderes drin als die erwarteten Zeiten.

Vielleicht noch von Bedeutung: Letztes WE hat mein Cubie mit FHEM zum ersten Mal total gesponnen, woraufhin ich einen kompletten Neustart machte. Das Phänomen kommt seit dem. Ich hatte ein Update gemacht und neu gestartet, hat nichts geholfen. Es ist so, als ob irgendwo versteckt der Timer immer noch auf 06:58 versteckt enthalten ist. Gibt's außer fhem.cfh und fhem.save noch irgend eine Stelle, wo das stecken kann? Hab' jetzt mal für morgen "einmal off" gewählt, dass wirklich ein im DOIF definierter Zustand eintritt.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

Damian

Zitat von: duke-f am 26 November 2015, 22:28:23
Besten Dank für die prompten Antworten.

Readings habe ich schon überprüft und es steht wirklich nichts anderes drin als die erwarteten Zeiten.

Vielleicht noch von Bedeutung: Letztes WE hat mein Cubie mit FHEM zum ersten Mal total gesponnen, woraufhin ich einen kompletten Neustart machte. Das Phänomen kommt seit dem. Ich hatte ein Update gemacht und neu gestartet, hat nichts geholfen. Es ist so, als ob irgendwo versteckt der Timer immer noch auf 06:58 versteckt enthalten ist. Gibt's außer fhem.cfh und fhem.save noch irgend eine Stelle, wo das stecken kann? Hab' jetzt mal für morgen "einmal off" gewählt, dass wirklich ein im DOIF definierter Zustand eintritt.

Du könntest das Modul bis morgen um 06:58 Uhr per disable-Attribut deaktivieren, wenn es dann immer noch passiert, dann kann es nicht von diesem Modul kommen.

Gruß

Damian
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

duke-f

Okay, das mache ich statt "einmal off" zunächst.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

Mit "disable" hat er heute morgen sogar zweimal eingeschaltet:


2015.11.27 06:58:02 2: IT set Panasonic on
.
.
.
2015.11.27 06:58:33 2: IT set Panasonic on


Jetzt bin ich erst Mal ratlos. Mal sehen, was am WE passiert.
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite

duke-f

#7
Also am Wochenende ist der Radio bei "Wecker" auf "normal" wie gewünscht nicht gestartet. Heute morgen aber ist er wieder zweimal gestartet. Einmal um 06:56, wie im DOIF jetzt eingestellt, einmal um 06:58, wie es früher war.

Irgendwo in FHEM scheint das alte DOIF mit den früheren Einstellungen versteckt noch vorhanden zu sein. Wo kann ich noch suchen?
Cubietruck, 3 Raspberry Pis,
CUL868, RFXtrx433, CUL433, SCC868, HM-USB,
IRTrans, EZcontrol XS1, IguanaWorks USB IR Transceiver
ESPEasy, Fritz!Box, Samsung TV+BD, LMS, Squeezelite