FHEM Forum

FHEM => Frontends => readingsGroup / readingsHistory => Thema gestartet von: DS_Starter am 22 Dezember 2021, 15:17:03

Titel: Attr commands - Kommandodefinition abhängig von weiterer Bedingung möglich?
Beitrag von: DS_Starter am 22 Dezember 2021, 15:17:03
Hallo zusammen,

ich habe in einer Readinggroup über das Attr 'commands' Drop-Down Listen generiert:

{
'eBusHeatingSet.sollcurvea'    => '1_RadiatorenHK_Heizkurve:selectnumbers,0.20,0.20,1.70,1,lin',
'eBusHeatingSet.solldaya'      => '1_RadiatorenHK_Tagtemperatur_Soll:selectnumbers,15.0,0.5,26.0,1,lin',
'eBusHeatingSet.sollnighta'    => '1_RadiatorenHK_Nachttemperatur_Soll:selectnumbers,10.0,1.0,22.0,1,lin',
'eBusHeatingSet.sollcurven'    => '1_FussbodenHK_Heizkurve:selectnumbers,0.20,0.20,1.70,1,lin',
'eBusHeatingSet.solldayn'      => '1_FussbodenHK_Tagtemperatur_Soll:selectnumbers,15.0,0.5,26.0,1,lin',
'eBusHeatingSet.sollnightn'    => '1_FussbodenHK_Nachttemperatur_Soll:selectnumbers,10.0,1.0,22.0,1,lin',
'eBusHeatingSet.sollwater'     => '1_Warmwasser_Solltemperatur:selectnumbers,40.0,1.0,60.0,1,lin',
'eBusHeatingSet.watermode'     => '1_Warmwasser_Modus:select,off,auto,day',
'eBusHeatingSet.heatingmode'   => '1_Heizen_Modus:select,off,auto,day,night',
'eBusHeatingSet.heatmodefbhk'  => '1_FussbodenHK_Heizen_Modus:select,off,auto,day,night',
'eBusHeatingSet.heatmoderadhk' => '1_RadiatorenHK_Heizen_Modus:select,off,auto,day,night',
'eBusHeatingSet.modefbhk'      => '1_FussbodenHK_AutoOffMode:eco,night',
'eBusHeatingSet.moderadhk'     => '1_RadiatorenHK_AutoOffMode:eco,night',
}

Mein Ziel ist es nun abhängig von einer weiteren Bedingung (z.B. wie ein Reading in einem Dummy gesetzt ist) entweder die oben dargestellten Drop-Downs anzuwenden oder alternativ einen festen Wert (z.B. "locked") anzuzeigen und somit keine Einstellungsänderungen über die RG zu erlauben.

Kennt jemand einen Weg über das Attr ?
Ich habe if/else Kontrukte wie in "valueFormat" möglich versucht, aber das hat nicht zum Ziel geführt, d.h. nicht funktioniert.


Grüße,
Heiko
Titel: Antw:Attr commands - Kommandodefinition abhängig von weiterer Bedingung möglich?
Beitrag von: DS_Starter am 25 Dezember 2021, 09:43:39
Nach einem Blick in den readingsGroup Code hat sich mir eine Lösung angeboten.
Das Attr 'commands'  wird nicht zur Laufzeit ausgewertet, sondern wird beim Setzen des Attributes ausgewertet und mit diesem Status in einen helper überführt.
Man muß zur Lösung dieses use cases nur die Auswertung/Überführung in den helper neu ausführen. Dadurch werden die Bedingungen in dem Attr neu ausgewertet und das Ergebnis in den helper geschrieben.
Damit klappt nun mein Use case.
Es ist mit (wenig) Coding in einem notify verbunden. Bei Bedarf kann ich meinen Ansatz gerne posten.

schöne Feiertage