Jump to content

Fronis JSON API Ausgabe Wert filtern und in Registry schreiben


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Geschrieben

Hallo zusammen,

 

wie ich schonmal in einem anderen Fall geschrieben habe bin ich leider kein Skript-Profi.

Ich habe hier einen PV-Wechselrichter von Fronius deren Daten ich per JSON auslesen kann. Der direkte HTTP Aufruf via

http://192.168.178.60/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData

spuckt mit nachfolgenden Content aus:

{
   "Body" : {
      "Data" : {
         "DAY_ENERGY" : {
            "Unit" : "Wh",
            "Value" : 1138.5
         },
         "DeviceStatus" : {
            "ErrorCode" : 0,
            "LEDColor" : 2,
            "LEDState" : 0,
            "MgmtTimerRemainingTime" : -1,
            "StateToReset" : false,
            "StatusCode" : 7
         },
         "FAC" : {
            "Unit" : "Hz",
            "Value" : 49.979999999999997
         },
         "IAC" : {
            "Unit" : "A",
            "Value" : 2.98
         },
         "IDC" : {
            "Unit" : "A",
            "Value" : 1.49
         },
         "PAC" : {
            "Unit" : "W",
            "Value" : 674
         },
         "TOTAL_ENERGY" : {
            "Unit" : "Wh",
            "Value" : 154984
         },
         "UAC" : {
            "Unit" : "V",
            "Value" : 225.5
         },
         "UDC" : {
            "Unit" : "V",
            "Value" : 491.5
         },
         "YEAR_ENERGY" : {
            "Unit" : "Wh",
            "Value" : 154984.29999999999
         }
      }
   },
   "Head" : {
      "RequestArguments" : {
         "DataCollection" : "CommonInverterData",
         "DeviceClass" : "Inverter",
         "DeviceId" : "1",
         "Scope" : "Device"
      },
      "Status" : {
         "Code" : 0,
         "Reason" : "",
         "UserMessage" : ""
      },
      "Timestamp" : "2019-12-15T12:03:57+01:00"
   }
}

 

Über das zugehörige Handbuch habe ich keine Lösung gefunden einen Einzelwert direkt abzufragen. Interessant wäre diese Ausgabe zu reduzieren bzw. benötige ich lediglich den Wert von "PAC", also in diesem Fall 674 was der aktuellen Leistung entspricht. Die Einheit benötige ich auch nicht. Dieser Wert müsste dann in die Windows Registry geschrieben werden. Das Ganze würde ich in Zeitabständen von 60 Sekunden laufen lassen.

 

Vielen Dank für Tipps und Ratschläge!

Geschrieben
$json=Invoke-WebRequest "http://192.168.178.60/solar_api/v1/GetInverterRealtimeData.cgi?Scope=Device&DeviceID=1&DataCollection=CommonInverterData"
$aktuelleleistung=$json|ConvertFrom-Json |select " Body" -ExpandProperty "Body" | select "Data" -ExpandProperty "Data" | select "PAC" -ExpandProperty "PAC" | select "Value" -ExpandProperty "Value"
Set-ItemProperty -Path “HKCU:\Software\FinalWire\AIDA64\ImportValues” DW1 -Value $aktuelleleistung –Force
exit

Mit diesem Skript ist mir gelungen wonach ich gesucht habt. Vielen Dank!

Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...