Hallo ich hänge (mal wieder) am JsonMod
irgendwie schaffe ich die folgende Keys nicht in readings zu verarbeiten
{
"result": {
"watts": {
"2025-01-10 07:53:32": 0,
"2025-01-10 08:00:00": 97,
"2025-01-10 08:30:00": 185,
"2025-01-10 09:00:00": 295,
"2025-01-10 09:30:00": 405,
versucht habe ich schon einiges
aber irgendwie weiss ich nicht wie ich den Wert bekomme die readings werden mir angelegt.
multi(jsonPath('$.result.watts.*'), node(), property('.'));
ich vermute ich brauche statt dem property('.') irgendwas anderes.
Und auch für den namen wäre es irgendwie gut, wenn ich den etwas umformatieren könnte?
Hilfreich wäre ein Beispiel, wie Du Dir das gewünschte reading bezüglich seines Namens und seines Wertes am Ende vorstellst.
Beides kannst Du Dir in multi() nahezu beliebig gestalten.
also das ziel wäre dann sowas zb
watts_20250110_075332 : 0
watts_20250110_080000 : 97
Einfachste Variante:
defmod watts JsonMod file:///tmp/watts.json
attr watts readingList complete()
liefert:
setstate watts 2025-01-10 13:02:19 result.watts.2025-01-10_075332 0
setstate watts 2025-01-10 13:02:19 result.watts.2025-01-10_080000 97
setstate watts 2025-01-10 13:02:19 result.watts.2025-01-10_083000 185
setstate watts 2025-01-10 13:02:19 result.watts.2025-01-10_090000 295
setstate watts 2025-01-10 13:02:19 result.watts.2025-01-10_093000 405
Zur Variante mit multi() komme ich jetzt nicht sofort.
ja das mit complete habe ich schon gesehen, nur es sind halt sehr sehr viele andere Readings da auch drinnen die ich nicht wirklich haben will wenn es geht.
(Zur Not würd ich es so machen)
aber lieber wäre es mir mit dem multi
ich pushe hier mal - vielleicht hat wer noch mehr infos
Im Moment geht das scheinbar nicht ohne weiteres. Die Namen zu konstruieren, ist kein Problem, aber an die Werte zu kommen.
Deshalb hatte ich diesen Thread aufgemacht und hoffe, dass der Modulautor eine Idee hat: https://forum.fhem.de/index.php?topic=140365.0