"stateFormat" löst manchmal Reading nicht auf

Begonnen von Niko, 25 Juli 2013, 19:49:08

Vorheriges Thema - Nächstes Thema

Niko

Hallo,

ich benutze mit zunehmender Begeisterung das Attribut "stateFormat" um die Information in der Raumübersicht zu erweitern. Vor einigen Tagen hatte ich das Phänomen, dass ein Reading nicht aufgelöst, sondern der Name des Readings angezeigt wurde. Da es sich dabei aber um ein selbst erstelltes Modul handelte bin ich (auch weiterhin) der Meinung, dass ich hier etwas falsch gemacht habe.

Jetzt habe ich die gleiche Situation bei den Modul "Weather". Ich habe das Modul wie folgt definiert:

define Wetter Weather 691090 3600 de
attr Wetter stateFormat Außentemperatur: temperature, Prognose: fc1_high_c

Als Anzeige für State erhalte ich:

Außentemperatur: 25, Prognose: fc1_high_c

Das Reading "temperature" wird also korrekt umgesetzt, das Reading für "fc1_high_c" aber nicht.

Habe ich hier noch eine "Knoten im Hirn" :-) oder was stimmt hier nicht?

Viele Grüße aus dem sonnigen Münsterland
Niko


Dr. Boris Neubert

Zitat von: Niko schrieb am Do, 25 Juli 2013 19:49define Wetter Weather 691090 3600 de
attr Wetter stateFormat Außentemperatur: temperature, Prognose: fc1_high_c

Als Anzeige für State erhalte ich:

Außentemperatur: 25, Prognose: fc1_high_c

Das Reading "temperature" wird also korrekt umgesetzt, das Reading für "fc1_high_c" aber nicht.



mir scheint, daß Zeile 3178$st =~ s/\b([A-Za-z_\.-]+)\b/($r->{$1} ? $r->{$1}{VAL} : $1)/ge; in fhem.pl Readings mit Ziffern nicht als Readings akzeptiert. Kannst Du bitte mal in dieser Zeile in der eckigen Klammer [A-Za-z_\.-\d] das \d ergänzen und ausprobieren.

Grüße
Boris
Globaler Moderator, Developer, aktives Mitglied des FHEM e.V. (Marketing, Verwaltung)
Bitte keine unaufgeforderten privaten Nachrichten!

Niko

Hallo Boris,

vielen Dank für die schnelle Antwort. Ich habe Deine Änderung eingebaut und jetzt funktioniert es!

Die Perl Entwicklungsumgebung "Padre", mit der ich die Änderung vorgenommen habe, gibt allerdings noch folgende Warnung (nicht Fehler!) aus:

---------
False [] range "\.-\d" in regex; A character class range must start and end at a literal character, not another character class like C<\d> or C<[:alpha:]>. The "-"
in your false range is interpreted as a literal "-". Consider quoting the "-", "\-". The <-- HERE shows in the regular expression about where the problem was discovered. See L<perlre>.
---------

Ob dies eine Bedeutung hat kann ich mit meinen Anfänger Kenntnissen in Perl nicht beurteilen. Ich habe es hier vorsichtshalber einfach mit aufgeführt, wenn es bedeutungslos ist bitte einfach ignorieren.

Dir, aber auch allen anderen die hier im Forum aktiv sind und so kurzfristig und qualifiziert auf Fragen und Probleme eingehen auch an dieser Stelle nochmals vielen , vielen Dank.
Niko

rudolfkoenig

- an der letzten Stelle in Regexp bedeutet das - Zeichen selbst und kein Bereich.
Das \d vor dem - sein.

rudolfkoenig


Niko

Und abermals vielen Dank an allen Beteiligten! Ich bin immer wieder sehr beeindruckt wie schnell und gut Ihr reagiert.

Viele Grüße
Niko