Hallo,
ich habe ein Problem bei der Verwendung des Attributs stateFormat. Meine Readings haben folgendes Format (Beispiel):
KL-AZ-TH:1.TEMPERATURE
Der entsprechend attr Befehl sieht so aus:
attr xyz stateFormat T: KL-AZ-TH:1.TEMPERATURE H: KL-AZ-TH:1.HUMIDITY
Leider werden die beiden Readings nicht durch Werte ersetzt (ja, die Readings existieren). Ich behelfe mir derzeit mit sprintf / ReadingsVal Konstrukten, was aber schnell unübersichtlich wird.
Code-Tags würden der Übersichtlichkeit dienen.
Ich könnte mir vorstellen, dass es an den Doppelpunkten und/oder in den Readings liegt. Hast du versucht, die Zeichen zu escapen (bin nicht sicher ob das funktioniert). Der Umweg über ein userReading könnte hilfreich sein. stateFormat als Perl-(sub) ({}) könnte auch hilfreich sein.
Zitat von: marvin78 am 16 Dezember 2015, 12:35:42
Ich könnte mir vorstellen, dass es an den Doppelpunkten und/oder in den Readings liegt. Hast du versucht, die Zeichen zu escapen (bin nicht sicher ob das funktioniert). Der Umweg über ein userReading könnte hilfreich sein. stateFormat als Perl-(sub) ({}) könnte auch hilfreich sein.
Danke! Es ist der Doppelpunkt. Escapen bringt nichts. Könnte man Zeile 3858 in fhem.pl etwas abändern?
Statt
$st =~ s/\b([A-Za-z\d_\.-]+)\b/($r->{$1} ? $r->{$1}{VAL} : $1)/ge;
wäre folgendes hilfreich (\: eingefügt):
$st =~ s/\b([A-Za-z\d_\.\:-]+)\b/($r->{$1} ? $r->{$1}{VAL} : $1)/ge;
Die Frage solltest du in einem Forum stellen, in dem Rudi mitliest. Am besten in dem, dass in der maintainer.tx für die fhem.pl benannt ist.