Ich habe mehrer S300TH im Einsatz und man sieht nie wann die Letzte Messung oder Aktuallisierung übertragen wurde. Deshalb wollte ich gerne hinter jeder Anzeige Zeile gerne die Zeit der letzten Meldung einfügen.
Folgendes habe ich versuchsweise bei der Definition des S300TH im Büro probiert:
TH_Diele_2.Etage:,<Temperatur>,temperature,<Luftfeuchte>,humidity TH_Wohnzimmer_EG:,<Temperatur>,temperature,<Luftfeuche>,humidity TH_Toepferei:,<Temperatur>,temperature,<Luftfeuchte>,humidity TH_Garten:,<Temperatur>,temperature,<Luftfeuchte>,humidity TH_Partyraum:,<Temperatur>,temperature,<Luftfeuchte>,humidity TH_Buero_1.Etage:,<Temperatur>,temperature,<Luftfeuchte>,humidity,<Zeit>,{ ReadingsTimestamp("TH_Buero_1.Etage","state",0) }
Ich habe auch alle Schreibmöglichkeiten laut Wiki und im Board ausprobiert, zb: Die 0 in "0" oder so"" zu ändern. Auch verschiedene Schreibmöglichkeiten mit und ohne den Klammern probiert. Mit CUL_TIME hat es auch nicht funktioniert. Hinter dem Feld <Zeit> erscheint nichts oder bei manchen Versuchen stürtzt FHEM ab oder hängt.
Weiß jemand wie hier die richtige Schreibweise ist?
Gruß aus Köln
Norbert
Ich würde einfach state in der DEF schreiben, und dann es mit valueFormat formattieren:
valueFormat { if ($READING eq "state") {ReadingsTimestamp($DEVICE,"state",0)::}
Vielen Dank für Deine Antwort. Funktioniert auf Anhieb noch nicht. Folgende Fehlermeldung erscheint:
syntax error at (eval 14044) line 1, near ")::"
Missing right curly or square bracket at (eval 14044) line 1, at end of line
syntax error at (eval 14044) line 1, at EOF
Setze ich ans Ende die wohl fehlende Klammer:
valueFormat { if ($READING eq "state") {ReadingsTimestamp($DEVICE,"state",0)::}}
erscheint diese Meldung:
syntax error at (eval 14092) line 1, near ")::"
Naja, hab von der Arbeit aus geschrieben
:: ist natürlich ;;
und ja, es fehlte eine Klammer.
Prima funktioniert super. Danke. Habe dann aber probiert dieses ValueFormat in die Zeile mit meinen bisherigen ValueFormat zu integrieren.
Die Zeit wird weiterhin ausgegeben, aber mein ValueFormat mit "C" und "%" ist verschwunden - liegt wahrscheinlich an dem Trennungszeichen zwischen beiden Formatierungen.
{temperature => "%.1f C", humidity => "%.1f %%" , {if ($READING eq "state") {ReadingsTimestamp($DEVICE,"state",0);;}}}
Ich habe auch andere Zeichen und Klammern probiert. Es kommt entweder Error oder es wird wie vorher im Zeitfeld nur der "state" angezeigt.
Kannst du mir sagen, was ich da falsch mache?
Gruß
Norbert
Du kannst nicht Hash und Perl in valueFormat mischen
{if ($READING eq "state") {ReadingsTimestamp($DEVICE,"state",0);;}
elsif ($READING eq "temperature") {"%.1f C"}
elsif ($READING eq "humidity") {"%.1f %%"}}
@ amenomade
Das hat wunderbar geklappt. So tief stecke ich nicht in der Materie drin, das ich das so auf Anhieb gemerkt oder hin bekommen hätte.
Teilweise finde ich hier im Forum Anleitungen und Hinweise wie es funktioniert. Aber zu diesem Fall habe ich auch bei intensiver Suche nichts gefunden.
Also, nochmals danke für deinen Tip.
Gruß aus Köln
Norbert