FHEM Forum

FHEM => Sonstiges => Thema gestartet von: peterk_de am 12 Januar 2020, 23:26:13

Titel: STATE darf nicht mit einem Zeitstempel anfangen
Beitrag von: peterk_de am 12 Januar 2020, 23:26:13
Erkenntnis nach mehrstündigem Knobeln:

Man sollte sich mit dem Attribut stateFormat keinen STATE für ein Device basteln, der direkt mit einem FHEM-Zeitstempel anfängt und danach noch weiteren Text mit Leerzeichen enthält. Ansonsten hat man nach einem FHEM-Neustart merkwürdige Readings im Device, die aus Fragmenten dieses eigenen STATEs bestehen (Readingname = Erstes Wort nach dem Zeitstempel im eigenen STATE; Readingswert = Alles danach).

Hintergrund ist die Syntax des Statefiles von FHEM bzw. vom Befehl setstate.

Da das nirgendwo dokumentiert und schwer herauszufinden ist, halte ich es einmal hier fest - ein Hinweis in der Commandref (idealerweise beim Attribut
stateFormat) wäre aber sicher auch gut :)
Titel: Antw:STATE darf nicht mit einem Zeitstempel anfangen
Beitrag von: CoolTux am 13 Januar 2020, 05:03:21
Kannst Du bitte ein nachvollziehbares Beispiel Posten.
Titel: Antw:STATE darf nicht mit einem Zeitstempel anfangen
Beitrag von: rudolfkoenig am 13 Januar 2020, 09:18:44
Ist nicht noetig, das Problem ist mir bekannt, ich habe es jetzt in der commandref setstate ergaenzt:
ZitatAchtung: setstate wird verwendet, um Readings im statefile zu speichern, in diesem Fall wird vor dem Wert ein Zeitstempel geschrieben. Als Seiteneffekt ist es nicht möglich, ein Status, was mit einem Zeitstempel der Form YYYY-MM-DD HH:MM:SS beginnt, korrekt zu speichern.