FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: riker1 am 20 Januar 2020, 16:33:25

Titel: Dummy Wert schreiben mit min aus {List::Util::min()} klappt irgendwie nicht
Beitrag von: riker1 am 20 Januar 2020, 16:33:25
Hallo,

hätte eine Frage.

Will im notify ein dummy setzen. Klappt aber leider nicht.

Scheinbar falsch geklammert oder die Ebene falsch?

Kann mir jemand einen Tipp geben?

Danke VG T




defmode Max_Min_Value notifyMAX_HT_.* {fhem("set MAX_Temp_Dummy_Min {List::Util::min(ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188949_MAX_0270b9','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_09bd6f','temperature',''))}")}



Im dummy steht immer nur die Syntax und nicht der Wert.




Titel: Antw:Dummy Wert schreiben mit min aus {List::Util::min()} klappt irgendwie nicht
Beitrag von: Beta-User am 20 Januar 2020, 16:46:08
Versuch's mal damit:
defmode Max_Min_Value notify MAX_HT_.* {my $minimal = List::Util::min(ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188949_MAX_0270b9','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_09bd6f','temperature',''));;  fhem("set MAX_Temp_Dummy_Min $minimal")}
Im Zweifel ist es mit dem iterativen Vorgehen über die Variable einfacher, das zu testen. Du kannst den Teil mit der Ermittlung des Werts dann einfach in der Kommandzeile testen:
{List::Util::min(ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188949_MAX_0270b9','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_09bd6f','temperature',''))}
Titel: Antw:Dummy Wert schreiben mit min aus {List::Util::min()} klappt irgendwie nicht
Beitrag von: riker1 am 20 Januar 2020, 17:03:37
Zitat von: Beta-User am 20 Januar 2020, 16:46:08
Versuch's mal damit:
defmode Max_Min_Value notify MAX_HT_.* {my $minimal = List::Util::min(ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188949_MAX_0270b9','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_09bd6f','temperature',''));;  fhem("set MAX_Temp_Dummy_Min $minimal")}
Im Zweifel ist es mit dem iterativen Vorgehen über die Variable einfacher, das zu testen. Du kannst den Teil mit der Ermittlung des Werts dann einfach in der Kommandzeile testen:
{List::Util::min(ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188949_MAX_0270b9','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_09bd6f','temperature',''))}

Hallo, danke

das mit der Kommandozeile hatte ich schon versuche und das klappt. in der Form:

{List::Util::min(ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_HT_JEQ0187040_MAX_025f8c','temperature',''),ReadingsVal('MAX_HT_JEQ0188949_MAX_0270b9','temperature',''),ReadingsVal('MAX_HT_JEQ0188720_MAX_026f74','temperature',''),ReadingsVal('MAX_09bd6f','temperature',''))}")}

Werde es später dann mal mit der Variablen probieren.   VG T