filelog get - Ergebnis als json

Begonnen von HCS, 29 Oktober 2014, 21:24:46

Vorheriges Thema - Nächstes Thema

HCS

Ich möchte gerne Daten aus einem filelog als json bekomen.

.../fhem?XHR=1&cmd=get FileLog_TX29DTH_Cellar_Hobby - - 2014-10-29 2:::

liefert

2014-10-29_00:00:33 TX29DTH_Cellar_Hobby values: T: 18.3 H: 71.2
2014-10-29_00:01:41 TX29DTH_Cellar_Hobby values: T: 18.3 H: 71.2
2014-10-29_00:03:22 TX29DTH_Cellar_Hobby values: T: 18.3 H: 71.2
2014-10-29_00:04:30 TX29DTH_Cellar_Hobby values: T: 18.3 H: 71.2
usw.
usw.


Gibt es eine Möglichkeit, das als json zu bekommen?

betateilchen

Letztendlich kann die Rückgabe eines get Filelog ja einfach als Hash betrachtet werden: Ein Array mit Datenzeilen, wobei man jede Zeile wieder als Array verarbeiten kann.

http://stackoverflow.com/questions/8463919/how-to-convert-a-simple-hash-to-json-in-perl
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!

HCS

Danke für den Tip. Ich hatte die Hoffnung, dass FHEM es vielleicht schon als json liefern kann und ich es nur noch nicht entdeckt habe.

Dann muss ich mich wohl ans Werk machen und es umwandeln.

betateilchen

Man könnte sowas einfach als attributgesteuerte Option in FileLog_Get einbauen und einen patch für die 92_FileLog.pm daraus bereitstellen. Allzuviel zu tun ist das nicht, ich hab das vorhin während der ICE Fahrt von Düsseldorf nach Mannheim mal getestet.

Allerdings sollte man unbedingt abfragen, ob JSON als perl Modul zur Verfügung steht, damit es nicht zu einem gnadenlosen Systemabsturz kommt.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!