Ich möchte mir von einem Windsensor seine Werte und den letzten Zeitstempel als State anzeigen lassen. Dafür, so dachte ich, gibt es das Attribut stateFormat.
Letzte Meldung: [$name:wind:t]
ergibt Letzte Meldung: 2017-10-09 18:48:09. Prima. Hier wird "wind" nicht durch das Reading ersetzt.
Wind: wind km/h, Richtung: wind_direction °
ergibt Wind: 4.3 km/h, Richtung: 355 °. Wunderbar.
Jetzt also die Kombination:
Wind: wind km/h, Richtung: wind_direction °, letzte Meldung: [$name:wind:t]
ergibt Wind: wind km/h, Richtung: wind_direction °, letzte Meldung: 2017-10-09 18:48:09
Ähm .... ???
Ersetze ich im Code das $name durch den Namen des Gerätes:
Wind: wind km/h, Richtung: wind_direction °, letzte Meldung: ["CUL_WS_37":wind:t]
bekomme ich als Ausgabe Wind: 4.3 km/h, Richtung: 355 °, letzte Meldung: ["CUL_WS_37":4.3:t]
Ah ja, die Anführungszeichen sind falsch. Wenn ich sie aber weglasse, entspricht die Ausgabe dem zweiten Ergebnis.
Das ist dann wieder einer der Momente, wo man nach fast drei Jahren FHEM sich wieder wie ein besch...eidener Anfänger fühlt. Gibt es eine halbwegs plausible Erklärung dafür warum FHEM hier mal das eine, mal das andere, aber nicht beides gleichzeitig ersetzt - und wie kann man es besser machen?
Hi,
ich würde mal annehmen, dass man entweder überall die []-Syntax verwendet oder überall nicht. D.h. das hier müsste eigentlich funktionieren:
Wind: [$name:wind] km/h, Richtung: [$name:wind_direction] °, letzte Meldung: [$name:wind:t]
Gruß,
Thorsten
Richtig angenommen. Auf die Syntax bin ich auch erst im Forum gekommen. Zitat commandref:
ZitatSonst werden alle Wörter im Wert des Attributes durch das entsprechende Reading des Gerätes ersetzt (soweit vorhanden). ...Die hier beschriebene "set magic" wird auch angewendet.
Nein, nicht auch, sondern entweder-oder. "set magic" musste ich auch erst einmal nachschlagen und kam mir dann aus meinen DOIFS gleich bekannt vor...
Danke für die Augenöffung, jetzt tut es.