Hallo,
da beim Doif sehr viel möglich ist, ist es wahrscheinlich, dass ich da irgendwo einen Fehler mache.
Externe Zeitvorgaben (hier nur Sekunden) funktionieren über eine Dummy (LaufzeitSec) oder über ein Reading problemlos.
{[+[LaufzeitSec]];
Log 3, "Doif wurde bearbeitet"}
Ist es aber auch möglich die Zeitvorgabe über eine Perl Variable vorzugeben oder ggf. von einem Attribut eines Device zu beziehen?
Wenn ja, wie muss ich die Zeit angeben, damit diese auch als Zeit erkannt wird.
{my $Laufzeitvorgabe = 300;
[+[$Laufzeitvorgabe]];
Log 3, "Doif wurde bearbeitet"}
Obiges Beispiel bringt die Fehlermeldung:
error: Wrong timespec : either HH:MM:SS or {perlcode}
Das Modul ist vorbildlich dokumentiert, mit sehr vielen Beispielen, doch irgendwie hab ich das nicht gefunden, wonach ich gesucht habe.
Danke für eure Hilfe
Gruß Reinhard
Zitat von: Rewe2000 am 12 November 2019, 20:19:24
Hallo,
da beim Doif sehr viel möglich ist, ist es wahrscheinlich, dass ich da irgendwo einen Fehler mache.
Externe Zeitvorgaben (hier nur Sekunden) funktionieren über eine Dummy (LaufzeitSec) oder über ein Reading problemlos.
{[+[LaufzeitSec]];
Log 3, "Doif wurde bearbeitet"}
Ist es aber auch möglich die Zeitvorgabe über eine Perl Variable vorzugeben oder ggf. von einem Attribut eines Device zu beziehen?
Wenn ja, wie muss ich die Zeit angeben, damit diese auch als Zeit erkannt wird.
{my $Laufzeitvorgabe = 300;
[+[$Laufzeitvorgabe]];
Log 3, "Doif wurde bearbeitet"}
Obiges Beispiel bringt die Fehlermeldung:
error: Wrong timespec : either HH:MM:SS or {perlcode}
Das Modul ist vorbildlich dokumentiert, mit sehr vielen Beispielen, doch irgendwie hab ich das nicht gefunden, wonach ich gesucht habe.
Danke für eure Hilfe
Gruß Reinhard
Du kannst Laufzeiten über Perlvariablen im Perl-Modus nutzen, siehe: https://fhem.de/commandref_DE.html#DOIF_set_Exec