Ankündigung

Einklappen

Serverwartung 21.2.



Am 21.2. im Laufe des späten Abends wird eine Serverwartung durchgeführt. Das Forum ist dadurch für gut zwei Stunden nicht erreichbar.
Es wird eine Wartungsseite geschaltet.

Mehr anzeigen
Weniger anzeigen

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