Benutzt jemand set_Exec-Funktion mit <parameter> ?

Begonnen von Damian, 15 September 2020, 20:49:06

Vorheriges Thema - Nächstes Thema

Damian

Ich bin dabei set_Exec-Funktion um eine bedingte Wiederholung zu erweitern siehe: https://forum.fhem.de/index.php/topic,114252.0.html

Die Funktion wird um einen weiteren Parameter <condition> erweitert.

set_Exec(<timerName>, <seconds>, <perlCode>, <parameter>,<condition>)

Dummerweise ist zuvor <parameter> definiert, der vermutlich von keinem benutzt wird, weil man den direkt mit der Funktion direkt übergeben kann.

statt

set_Exec ("timer",10, 'myfunction', 'bla')

wird vermutlich immer die Funktion mit dem Parameter übergeben:

set_Exec ("timer",10, 'myfunction("bla")')

Wenn ohnehin keiner den vierten Parameter nutzt, dann würde ich diesen gegen <condition> ersatzlos ersetzen, also

set_Exec(<timerName>, <seconds>, <perlCode>,<condition>)

Damit bräuchte man zukünftig für Wiederholungen, nicht jedes mal undef als dritten Parameter übergeben.

also statt

set_Exec("timer",5,'fhem_set("lampe on")',undef,'$count<3')}

nur

set_Exec("timer",5,'fhem_set("lampe on")','$count<3')}

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

weini

Voll erwischt....
Zum Glück ist der Umbau simpelst, wenn man die Ursache für das Problem mal gefunden hat.

Damian

Zitat von: weini am 30 Oktober 2020, 10:58:57
Voll erwischt....
Zum Glück ist der Umbau simpelst, wenn man die Ursache für das Problem mal gefunden hat.

Dann benutzen es bereits mehr Leute, als ich gedacht habe - das ist gut :)
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF

cwagner

Tatsächlich halte auch ich, der viermal set_exec's benutzt den Vorschlag für gut. Der "Rückbau" auf drei Parameter ist ja in der Frage schon beschrieben :-)

Und mit einer Wiederholung könnte ich der Druckerhöhungspumpe für die adiabatische Kühlung in der Lüftung ihre ED-Pausen auf einfachere Weise gönnen.

Also: Nur zu!

Christian
PI 2B+/5 Raspbian 12, Perl 5.36.0, FHEM 6.3: 295 Module in ConfigDB: Steuerung Heizkessel, FBH, Solarthermie, kontr. Lüftung mit WRG. Smarthome u.a. HMCUL, 1-Wire (FT232RL ; DS2480B), EnOcean (TCM EPS3), MQTT2. DOIF, PID20, Threshold, OWX; Micropelt IRTV, Volkszähler, SolarForecast; MariaDB

Damian

Zitat von: cwagner am 01 November 2020, 15:01:23
Tatsächlich halte auch ich, der viermal set_exec's benutzt den Vorschlag für gut. Der "Rückbau" auf drei Parameter ist ja in der Frage schon beschrieben :-)

Und mit einer Wiederholung könnte ich der Druckerhöhungspumpe für die adiabatische Kühlung in der Lüftung ihre ED-Pausen auf einfachere Weise gönnen.

Also: Nur zu!

Christian

Die neue Syntax ist schon vor längerer Zeit in die aktive Version eingeflossen.
Programmierte FHEM-Module: DOIF-FHEM, DOIF-Perl, DOIF-uiTable, THRESHOLD, FHEM-Befehl: IF