[gelöst] DOIF: Relative Zeitangaben

Begonnen von flurin, 18 März 2015, 14:05:39

Vorheriges Thema - Nächstes Thema

flurin

#15
Aktualisierung:

Ich habe heute mein Mac mini nach einem Update booten müssen. Ich vermute, dass irgendwas gesetzt war.

Zumindest funktioniert es jetzt ohne repeatesame!

Mit repeatsame geht es jedoch nicht.

Edit:

Ich vermute, es liegt am:


my $last_cmd=ReadingsVal($pn,"cmd_nr",0)-1;


Beim Start ist ReadingsVal($pn,"cmd_nr",0) = 1 => $last_cmd = 0

Im Betrieb ist ReadingsVal($pn,"cmd_nr",0) = 0 => $last_cmd = -1


Damian

#16
Zitat von: flurin am 21 März 2015, 12:15:13
Aktualisierung:

Ich habe heute mein Mac mini nach einem Update booten müssen. Ich vermute, dass irgendwas gesetzt war.

Zumindest funktioniert es jetzt ohne repeatesame!

Mit repeatsame geht es jedoch nicht.

Edit:

Ich vermute, es liegt am:


my $last_cmd=ReadingsVal($pn,"cmd_nr",0)-1;


Beim Start ist ReadingsVal($pn,"cmd_nr",0) = 1 => $last_cmd = 0

Im Betrieb ist ReadingsVal($pn,"cmd_nr",0) = 0 => $last_cmd = -1

Dass nach dem Neustart mit repeatsame etwas nicht ausgeführt wird, ist ganz normal (es wurde ja bereits wiederholt). Genauso, wie der letzte Zustand auch nicht wiederholt wird, wenn du kein do always definiert hast.

Wenn du das Modul beim Neustart initialisieren möchtest, musst du das Attribut initialize benutzen ;)

Gruß

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

flurin

Zitat von: Damian am 21 März 2015, 14:51:25
Dass nach dem Neustart mit repeatsame etwas nicht ausgeführt wird, ist ganz normal (es wurde ja bereits wiederholt). Genauso, wie der letzte Zustand auch nicht wiederholt wird, wenn du kein do always definiert hast.

Wenn du das Modul beim Neustart initialisieren möchtest, musst du das Attribut initialize benutzen ;)

Gruß

Damian

Okay, und warum hast Du nicht schon früher darauf hingewiesen, wenn das normal ist  ;)

Gruss
flurin

Damian

Zitat von: flurin am 21 März 2015, 16:11:56
Okay, und warum hast Du nicht schon früher darauf hingewiesen, wenn das normal ist  ;)

Gruss
flurin

Wir reden jetzt seit drei Tagen über ein Problem, was offenbar keins ist. Warum hast du heute erst zum ersten Mal repeatsame erwähnt?

Gruß

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

flurin

Zitat von: Damian am 21 März 2015, 16:37:40
Wir reden jetzt seit drei Tagen über ein Problem, was offenbar keins ist. Warum hast du heute erst zum ersten Mal repeatsame erwähnt?

Gruß

Damian

1.
Zitat
Grundsätzlich: wenn das Problem nur bei mir ist, dann lohnt es sich nicht, Zeit aufzuwenden.

2.
Zitat
Wenn sich sonst niemand mit einem ähnlichen Verhalten meldet, würde ich es nicht weiterverfolgen.

Ich hatte am Anfang bei mir ein Problem auch ohne repeatsame!!!

Danke anyway. Ich habe schon lange eine andere Lösung  :)

Gruss
flurin

Damian

Zitat von: flurin am 21 März 2015, 17:42:22
1.
2.
Ich hatte am Anfang bei mir ein Problem auch ohne repeatsame!!!

Danke anyway. Ich habe schon lange eine andere Lösung  :)

Gruss
flurin

OK. Dann ist es für mich dennoch unerklärbar, wie sich dieses Problem in Luft auflösen kann, wenn wir vom Anfang an von der gleichen Version des Moduls reden.

Wenn es wieder ohne repeatsame nicht funktioniert, dann musst du dich noch mal melden.

Gruß

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

flurin

Zitat von: Damian am 21 März 2015, 18:48:30
... wie sich dieses Problem in Luft auflösen kann, ...

Eine Begründung habe ich doch gegeben:

Zitat
Ich habe heute mein Mac mini nach einem Update booten müssen. Ich vermute, dass irgendwas gesetzt war.

Eine Erklärung habe ich nicht aber die Tücken der Betriebssysteme (Linux, OS X, Windows usw.) sind allgemein bekannt.
Oft geht es nur nach einem Restart des Betriebssystems.

Zudem ist es für mich immer noch ein Rätsel, warum es mit einem "at" von Anfang an funktioniert hat (siehe oben).

Gruss
flurin

Damian

Zitat von: flurin am 21 März 2015, 20:50:05
Eine Begründung habe ich doch gegeben:

Eine Erklärung habe ich nicht aber die Tücken der Betriebssysteme (Linux, OS X, Windows usw.) sind allgemein bekannt.
Oft geht es nur nach einem Restart des Betriebssystems.

Zudem ist es für mich immer noch ein Rätsel, warum es mit einem "at" von Anfang an funktioniert hat (siehe oben).

Gruss
flurin

Ich gehe inzwischen eher von einem Verständnisproblem aus, denn im ersten list z. B. hast du kein do always angegeben und da gilt das Gleiche wie bei repeatsame: Bei modify über DEF-Editor wird das Modul initialisiert (der kommende Trigger führt zur Ausführung), beim Reboot dagegen nicht, deswegen wird in diesem Fall im Gegensatz zu at ein Befehl nicht erneut ausgeführt.

Gruß

Damian


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

flurin

Zitat von: Damian am 21 März 2015, 21:05:44
Ich gehe inzwischen eher von einem Verständnisproblem aus, denn im ersten list z. B. hast du kein do always angegeben und da gilt das Gleiche wie bei repeatsame: Bei modify über DEF-Editor wird das Modul initialisiert (der kommende Trigger führt zur Ausführung), beim Reboot dagegen nicht, deswegen wird in diesem Fall im Gegensatz zu at ein Befehl nicht erneut ausgeführt.

Gruß

Damian

Was das Verständnisproblem anbelangt, verweise ich auf mein erstes Posting in diesem Thread. Da steht auch ein Satz über "do always". So wie ich es sehe, ist die Lösung nicht so trivial, sonst wärst du bereits bei der ersten Antwort auf "initialize" gekommen.

Gruss
flurin

Damian

Zitat von: flurin am 22 März 2015, 16:22:13
Was das Verständnisproblem anbelangt, verweise ich auf mein erstes Posting in diesem Thread. Da steht auch ein Satz über "do always". So wie ich es sehe, ist die Lösung nicht so trivial, sonst wärst du bereits bei der ersten Antwort auf "initialize" gekommen.

Gruss
flurin

Doch ein Verständnisproblem. Bei do always ohne irgendwelche Übersteuerung brauchst du kein initialize!. Beide lists die du geliefert hast, passen nicht zum Problem, da entweder kein do always oder repeatsame, welches do always übersteuert. Daher verhielt sich das Modul bei beiden Nachweisen korrekt wie programmiert.

Gruß

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

flurin

OK. Ich werde es nochmals untersuchen, wenn ich das ursprüngliche Verhalten reproduzieren kann.

Gruss
flurin