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?
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
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.
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.