Ankündigung

Einklappen
Keine Ankündigung bisher.

jsonread: Fallback falls Wert nicht gefunden

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    jsonread: Fallback falls Wert nicht gefunden

    Ich lese meinen Wechselrichter der PV-Anlage mit dem jsonread-Plugin aus.
    Unter anderem habe ich mir dafür diese Items angelegt:
    Code:
    AC_Power_W:
        type: num
        jsonread_filter@fronius_inv: .Body.Data.PAC.Value
    DC_Current_A:
        type: num
        jsonread_filter@fronius_inv: .Body.Data.IDC.Value
    DC_Voltage_V:
        type: num
        jsonread_filter@fronius_inv: .Body.Data.UDC.Value
    Blöderweise fehlt in dem abgefragten JSON das Objekt "PAC" (also für das Item AC_Power_W) falls der Wechselrichter eben keine Leistung abgibt.
    Das Item bleibt dann auf Dauer auf seinem letzten Wert hängen, da dafür kein Update mehr getriggert wird.

    Wie setze ich das am bestem um, dass das Item auf 0 gesetzt wird, falls dem JSON das zugeordnete Objekt fehlt?
    Das Plugin scheint keinen Parameter dafür zu haben, kann man das irgendwie auf einfache Weise per eval umsetzen? (Meine Idee wäre, das irgendwie über update_age() zu machen, aber vielleicht kennt ja jemand eine elegantere Lösung)

    #2
    Sorry, ich glaub den Thread kann man gleich wieder dicht machen. Ist das schon eine sinnvolle Lösung?
    Code:
    AC_Power_W:
        type: num
        jsonread_filter@fronius_inv: .Body.Data.PAC.Value // 0
    Value dürfte hier ja null sein und ich bekomme meine 0, falls das Objekt nicht existiert.

    Kommentar

    Lädt...
    X