FHEM Forum

FHEM => Anfängerfragen => Thema gestartet von: zap am 16 Dezember 2015, 12:31:03

Titel: stateFormat ersetzt Reading nicht
Beitrag von: zap am 16 Dezember 2015, 12:31:03
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.


Titel: Antw:stateFormat ersetzt Reading nicht
Beitrag von: marvin78 am 16 Dezember 2015, 12:35:42
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.
Titel: Antw:stateFormat ersetzt Reading nicht
Beitrag von: zap am 16 Dezember 2015, 13:02:18
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;

Titel: Antw:stateFormat ersetzt Reading nicht
Beitrag von: marvin78 am 16 Dezember 2015, 13:05:05
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.