JSON- Abfrage

Liebe Gemeinde,

ich nutze, nach eurer Hilfe, sehr gerne das JSON- Protokoll zur Einbindung meiner PV- Anlage. Jetzt haben wir eine Batterie installiert und ich möchte gerne ein paar mehr Werte abfragen. Das klappt auch ganz gut, aber:

{
   "Body" : {
      "Data" : {
         "Inverters" : {
            "1" : {
               "Battery_Mode" : "normal",
               "DT" : 99,
               "E_Day" : 21263,
               "E_Total" : 74830,
               "E_Year" : 74830,
               "P" : 143,
               "SOC" : 99.199996948242188
            }
         },
         "Site" : {
            "BackupMode" : false,
            "BatteryStandby" : false,
            "E_Day" : 21263,
            "E_Total" : 74830,
            "E_Year" : 74830,
            "Meter_Location" : "grid",
            "Mode" : "bidirectional",
            "P_Akku" : 0,
            "P_Grid" : -296.94999999999999,
            "P_Load" : 153.94999999999999,
            "P_PV" : 194.69,
            "rel_Autonomy" : 100,
            "rel_SelfConsumption" : 0
         },
         "Version" : "12"
      }
   },
   "Head" : {
      "RequestArguments" : {},
      "Status" : {
         "Code" : 0,
         "Reason" : "",
         "UserMessage" : ""
      },
      "Timestamp" : "2019-08-31T18:31:57+02:00"
   }
}

Was auch immer ich eingebe, ich kann alles unter „Body“, „Data“, „Inverters“,„1“ nicht abfragen.
Alles unter „Site“ ist kein Problem mit:

<?

$content = file_get_contents("http://XXX.XXX.XXX.XXX/solar_api/v1/GetPowerFlowRealtimeData.fcgi");
Scope=Device&DeviceID=2&DataCollection=CommonInverterData");

$json = json_decode($content);


$PBat = $json->Body->Data->Site->P_Akku;
$EinspNet = $json->Body->Data->Site->P_Grid;
$AC_Symo = $json->Body->Data->Site->P_PV;
$Autonomie = $json->Body->Data->Site->rel_Autonomy;


SetValue(36786,$PBat);
SetValue(14777,$EinspNet);
SetValue(19853,$AC_Symo);
SetValue(49538,$Autonomie);


?>

wenn ich aber

$LZBat = $json->Body->Data->Inverters->1->SOC;

eingebe kommt folgende Fehlermeldung:

Parse error: syntax error, unexpected ‚1‘ (T_LNUMBER), expecting identifier (T_STRING) or variable (T_VARIABLE) or ‚{‘ or ‚$‘ in C:\IP-Symcon\scripts\15597.ips.php on line 32
Abort Processing during Fatal-Error: syntax error, unexpected ‚1‘ (T_LNUMBER), expecting identifier (T_STRING) or variable (T_VARIABLE) or ‚{‘ or ‚$‘
Error in Script C:\IP-Symcon\scripts\15597.ips.php on Line 32

Ich habe alles versucht. Sicherlich ein dummer Fehler, aber ich gebe auf.
Freue mich über jede Hilfe.

Liebe Grüße
Lieschen

Das sollte funktionieren:
$LZBat = $json->Body->Data->Inverters->{‚1‘}->SOC;
Michael

Das war es! Einfach, wenn man es kennt … Die Klammern hatte ich natürlich nicht versucht :banghead:

Lieben Dank!
Lieschen