(Vorschlag) Attribut-Abfrage für alle DOIF/DOIFELSE-Zweige

Begonnen von Morgennebel, 19 Mai 2017, 19:04:57

Vorheriges Thema - Nächstes Thema

Morgennebel

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
Einziger Spender an FHEM e.V. mit Dauerauftrag seit >= 24 Monaten

FHEM: MacMini/ESXi, 2-3 FHEM Instanzen produktiv
In-Use: STELLMOTOR, VALVES, PWM-PWMR, Xiaomi, Allergy, Proplanta, UWZ, MQTT,  Homematic, Luftsensor.info, ESP8266, ESERA

Damian

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