Zeitschaltung mit Timer funktioniert nicht

Begonnen von odie13690, 29 April 2015, 08:14:43

Vorheriges Thema - Nächstes Thema

odie13690

Guten Morgen,

habe mich daran gemacht, deinen Code einzuarbeiten. Beim Versuch define di_repeat_cmd DOIF ([[du_begin]] or [[du_repeat:time]]) (set Aktor on-for-timer [du_duration], {set_repeat_time("du_repeat","du_interval")}) einzugeben, kommt diese Fehlermeldung di_repeat_cmd DOIF: reading does not exist: du_repeat:time: [du_repeat:time] die ich nicht nachvollziehen kann.

Meine Schritte der Einarbeitung:

  • Anlegen der 99_myUtils.pm und "Copy and Paste" der set_repeat_time Funktion
  • Dummys über die Eingabezeile definieren und jeweiligen Wert setzen
  • define di_repeat_cmd DOIF ([[du_begin]] or [[du_repeat:time]])
    (set Aktor on-for-timer [du_duration], {set_repeat_time("du_repeat","du_interval")}) über Eingabezeile definieren -> mit o. g. Fehlermeldung

Benötige ich noch du_event und die entsprechende Definition aus dem Thema: http://forum.fhem.de/index.php/topic,36814.0.html ?

odie13690

flurin

Zitat von: odie13690 am 07 Mai 2015, 09:13:06
di_repeat_cmd DOIF: reading does not exist: du_repeat:time: [du_repeat:time]

Damit die Fehlermeldung nicht kommt, kannst du im FHEM-Eingabefeld das Reading einmalig manuell eingeben:


setreading du_repeat time 00:00


das Reading wird dann von der Repeat-Funktion richtig gesetzt.

Gruss
flurin

odie13690

Hallo,

Nun habe ich keine Fehlermeldung mehr bekommen.

Benötige ich noch du_event und die entsprechende Definition aus dem Thema: http://forum.fhem.de/index.php/topic,36814.0.html ? oder wie starte ich die Funktion?

odie13690

flurin

#33
Zitat von: odie13690 am 07 Mai 2015, 10:51:15
Hallo,

Nun habe ich keine Fehlermeldung mehr bekommen.

Benötige ich noch du_event und die entsprechende Definition aus dem Thema: http://forum.fhem.de/index.php/topic,36814.0.html ? oder wie starte ich die Funktion?

odie13690

du_event brauchst du in deinem Fall nicht. Die Funktion wird zur "du_begin" Zeit gestartet; zum Testen kannst du eine aktuelle Zeit + 1 Minute eingeben (aktuelle Zeit 11:09 > Eingabe 11:10):


set du_begin 11:10

odie13690

Hallo Flurin,

habe mir das jetzt zwei Tage ausprobiert. Prinzipiell funktioniert alles wie es soll. Was allerdings komisch ist, dass die Funktion immer eine Wiederholung mehr macht als angegeben.

Dann wäre es schön, wenn die Funktion die Wiederholungen um 0.00 Uhr auf 0 setzt, unabhängig davon, ob schon alle Wiederholungen abgearbeitet sind.

Danke!

odie13690

flurin

Zitat von: odie13690 am 09 Mai 2015, 22:48:08
Was allerdings komisch ist, dass die Funktion immer eine Wiederholung mehr macht als angegeben.

Das habe ich am 7.5.2015 bereits korrigiert. Kopiere die Funktion nochmal, es sollte richtig zählen.

http://forum.fhem.de/index.php/topic,36814.0.html

Zitat
Dann wäre es schön, wenn die Funktion die Wiederholungen um 0.00 Uhr auf 0 setzt, unabhängig davon, ob schon alle Wiederholungen abgearbeitet sind.

Mal schauen, was man machen kann. ...

Gruss
flurin

flurin

#36
Zitat von: odie13690 am 09 Mai 2015, 22:48:08
Dann wäre es schön, wenn die Funktion die Wiederholungen um 0.00 Uhr auf 0 setzt, unabhängig davon, ob schon alle Wiederholungen abgearbeitet sind.

Versuchs mal mit einem zusätzlichen DOIF:


define di_reset_count DOIF ([00:00:05]) (setreading du_repeat time 00:00, setreading du_repeat count 0)
attr di_reset_count do always



odie13690

Hallo Flurin,

Danke! Habe es gerade eingearbeitet und werde testen :D

odie13690