Ankündigung

Einklappen
Keine Ankündigung bisher.

jsonread - items werden nicht aktualisiert

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

    jsonread - items werden nicht aktualisiert

    Hi,

    Ich hab nun meinen Fronius WR aktiv und API aktiviert.

    Plugin
    Code:
    Fronius:
        plugin_name: jsonread
        url: http://192.168.0.41/solar_api/v1/GetInverterRealtimeData.cgi
        instance: realtime
        cycle: 30​
    Item
    Code:
    Fronius:
    
        current:
            type: num
            jsonread_filter@realtime: .Body.Data.PAC.Values.1
            database: 'init'
            cache: 'yes'
    
        total_W:
            type: num
            jsonread_filter@realtime: .Body.Data.TOTAL_ENERGY.Values.1
            database: 'init'
            cache: 'yes'​
    LOG
    Code:
    2023-02-24  13:40:06 ERROR    plugins.jsonread    realtime@: jq filter failed: jq: error: syntax error, unexpected LITERAL, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
    .Body.Data.PAC.Values.1                    
    jq: 1 compile error'
    2023-02-24  13:40:06 ERROR    plugins.jsonread    realtime@: jq filter failed: jq: error: syntax error, unexpected LITERAL, expecting $end (Unix shell quoting issues?) at <top-level>, line 1:
    .Body.Data.TOTAL_ENERGY.Values.1                              
    jq: 1 compile error'​
    Die Syntax sollte aber meiner Meinung nach stimmen. Oder macht die 1 am Ende das Problem?

    Hat jemand rat?

    mfg
    Markus
    Angehängte Dateien

    #2
    Update:

    Ich verwende jetzt eine andere URL
    Code:
    http://192.168.0.41/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DataCollection=CommonInverterData​
    mit folgender Item Struktur
    Code:
        current:
            type: num
            jsonread_filter@realtime: .Body.Data.PAC.Value
            database: 'init'
            cache: 'yes'​
    Damit klappt es nun.

    Kommentar


      #3
      Was funktionieren könnte wäre an dieser Stelle, wenn Du es mit Anführungszeichen einschließt. Das ging zumindest bei mir gerade nach langen Versuchen

      + Ganzer Filter Ausdruck in ' einschließen (Beispiel '.Body.Data."0".Current_AC_Sum')
      + Die Zahlen bzw. geschützten Schlüsselwerte in " einschließen (Beispiel: "0")

      Bei mir sieht das so aus
      Code:
      jsonread_filter@realtime: '.Body.Data."0".Current_AC_Sum'

      Bei Dir wäre das dann
      Code:
      jsonread_filter@realtime: '.Body.Data.PAC.Values."1"'

      Damit sollte es auch möglich sein Keys mit Punkten zu verarbeiten.

      Beispiel:
      Code:
      {
        "Body" : {
          "Data" : {
            "SCHLUESSEL.MIT.PUNKTEN" : {
              "Current_AC_Sum" : -26.5,
            }
          }
        }
      }​


      Auslesen dann mit
      Code:
      jsonread_filter@realtime: '.Body.Data."SCHLUESSEL.MIT.PUNKTEN".Current_AC_Sum'

      Kommentar

      Lädt...
      X