Guten Abend,
ich habe verschiedene komplexere DOIFs im Rahmen meiner Heizungssteuerung im Einsatz - die schwanken zwischen 7-12 Möglichkeiten und entsprechend vielen DO(ELSE)IF-Zweigen. Zusätzlich verwende ich globale Dummies, die einige Zustände angeben (Heizperiode, Anwesenheit usw.).
Möchte ich jetzt einen solchen Dummy in einem der komplexen DOIF-Anweisungen benutzen, müßte ich ihn nach meinem Verständnis in jedem Zweig mit [DUMMY] eq "on" oder [DUMMY:"on"] einbinden. Das wird nicht wirklich schön...
Darf ich daher vorschlagen, ein DOIF-Attribut names "AutoDisableInitialize" einzubauen, daß als Parameter eine Perl-Funktion oder Abfragen in der DOIF-Syntax erlaubt - und ist der Rückgabewert WAHR werden die DOIF-Anweisungen ausgeführt, bei FALSCH jedoch das Modul deaktiviert. Quasi ein automatisches disable und initialize im DOIF anstelle eines zweiten DOIFs...
Damit könnte man z.B. die Heizungssteuerung mit 12 Zweigen mit dem AutoDisableInitialize-Attribut auf [Heizperiode:"on"] verbinden...
Sollte es sowas bereits geben verzeiht mir bitte mein Unwissen.
Danke, -MN
Zitat von: Morgennebel am 19 Mai 2017, 19:04:57
Guten Abend,
ich habe verschiedene komplexere DOIFs im Rahmen meiner Heizungssteuerung im Einsatz - die schwanken zwischen 7-12 Möglichkeiten und entsprechend vielen DO(ELSE)IF-Zweigen. Zusätzlich verwende ich globale Dummies, die einige Zustände angeben (Heizperiode, Anwesenheit usw.).
Möchte ich jetzt einen solchen Dummy in einem der komplexen DOIF-Anweisungen benutzen, müßte ich ihn nach meinem Verständnis in jedem Zweig mit [DUMMY] eq "on" oder [DUMMY:"on"] einbinden. Das wird nicht wirklich schön...
Darf ich daher vorschlagen, ein DOIF-Attribut names "AutoDisableInitialize" einzubauen, daß als Parameter eine Perl-Funktion oder Abfragen in der DOIF-Syntax erlaubt - und ist der Rückgabewert WAHR werden die DOIF-Anweisungen ausgeführt, bei FALSCH jedoch das Modul deaktiviert. Quasi ein automatisches disable und initialize im DOIF anstelle eines zweiten DOIFs...
Damit könnte man z.B. die Heizungssteuerung mit 12 Zweigen mit dem AutoDisableInitialize-Attribut auf [Heizperiode:"on"] verbinden...
Sollte es sowas bereits geben verzeiht mir bitte mein Unwissen.
Danke, -MN
Ich meine so etwas hatten wir schon siehe hier: https://forum.fhem.de/index.php/topic,55785.msg479000.html#msg479000