Hallo,
ich habe ein kleines Problem und habe einen Hänger:
Ich möchte in einer ReadingsGroup den valueSuffix für ein Reading anpassen. Die Readings haben immer die gleiche Struktur: OsterFerien, SommerFerien, usw. Ausgegeben wird ein Zahlenwert
Jetzt möchte ich als Suffix das Wort "Tage" anhängen.
Das habe ich so gemacht: attr Device ValueSuffix {OsterFerien=> " Tage"}
Ich möchte das jetzt für alle Readings einstellen und nicht alle Readings einzeln aufführen. Das klappt aber mit dem Wildcard *ferien nicht. Wie funzt das unter Perl?
Danke,
Spartacus
Versuch mal
.*Ferien
Hi CoolTux,
das hatte ich schon probiert. Das geht leider nicht. Irgendwie scheint das bei ReadingsGroup wohl anders zu funktionieren...
Teste das gerade mit meinem Abfallkalender:
geht
attr Device ValueSuffix {cal01AF_Restmuell_tage=> " Tage"}
geht nicht:
attr Device ValueSuffix {.*tage=> " Tage"}
Christian
Du bekommst doch sicher eine Fehlermeldung. Nur als Idee: Warum liest du sie nicht und setzt um, was sie sagt?
Es gibt kein Attribut ValueSuffix. Es heißt valueSuffix.
Moin marvin78,
keine Ahnung was Du meinst. Ich benutze valueSuffix und nicht ValueSuffix. Und im Log gibt es keine Fehlermeldung.
Die Syntax ist in Ordnung
2016.03.09 17:42:54 5: Cmd: >attr rgAbfall valueSuffix {'.*tage' => " Tage" }<
2016.03.09 17:42:54 5: Triggering global (1 changes)
2016.03.09 17:42:54 5: Notify loop for global ATTR rgAbfall valueSuffix {'.*tage' => " Tage" }
2016.03.09 17:42:54 5: ABFALL_Notify(myAbfall) - Device: global
Christian
Nachtrag:
uups, mein Fehler: habe es hier fälschlicherweise als "ValueSuffix" gepostet. Im Code habe ich es aber richtig verwendet. Ich frage mal im ReadingsGroup-Forum nach.
Du wirst sicher verstehen, dass ich natürlich auf den offensichtlichen Fehler hinweise. Meine Empfehlung ist Copy&Paste.
der key in einem hash ist immer nur ein string. keine regex.
wenn es wirklich für alle readings gelten soll kannst du entweder wie dokumentiert einen leeren string "" als key verwenden oder du einfache version ohne hash benutzen.
attr <rg> valueSuffix Tage
gruss
andre
Zitat von: justme1968 am 09 März 2016, 20:51:23
der key in einem + ist immer nur ein string. keine regex.
+hash-Wert
ja
Hallo,
danke für den Hinweis. Es gibt schon unterschiedliche Readings in der RG aber alle, die auf *.tage enden, sollen das Anhängsel "Tage" bekommen. die anderen Readings in der Guppe sollen den Suffix nicht bekommen.
Wenn ich das jetzt richtig verstanden habe, geht das nur, indem ich die Readings einzeln aufführe.
Christian
das einfachste ist die {...} perl code variante:attr <rg> valueSuffix {return ' Tage' if( $READING =~ m/tage$/ );}
gruss
andre
Hallo,
super, vielen Dank! Das funzt und hilft mir bei einem anderen Problem weiter...
Danke,
Christian