Externe Zeitvorgabe über Attribut oder perl Variable

Begonnen von Rewe2000, 12 November 2019, 20:19:24

Vorheriges Thema - Nächstes Thema

Rewe2000

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

Fhem 6.3 auf Raspberry Pi4 SSD mit Raspbian Bookworm, Homematic, Homematic IP, CCU3 mit RapberryMatic, WAGO 750-880, E3DC S10E Hauskraftwerk, E3DC Wallbox, my-PV AC ELWA-E Heizstab, Fritz!Box 7590, KIA Bluelinky

Damian

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
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF