Ich habe gerade bei mir den Fehler für die fehlenden Daten des String 1 gefunden.
Ich habe mit php absolut nichts am Hut, aber kann zumindest ansatzweise verstehen was hier gewollt ist.
Im file /var/www/html/fronius_symo_serie.php gibt es folgende Passage:
Code: Alles auswählen
$URL = "solar_api/v1/GetInverterRealtimeData.cgi";
$URL .= "?Scope=Device";
$URL .= "&DeviceID=".$WR_Adresse;
$URL .= "&DataCollection=CommonInverterData";
$JSON_Daten = $funktionen->read($WR_IP, $WR_Port, $URL);
if (isset($JSON_Daten["Head"]["Status"]["Code"]) and $JSON_Daten["Head"]["Status"]["Code"] == 0) {
// Es handelt sich um gültige Daten
$funktionen->log_schreiben("GetInverterRealtimeData ".print_r($JSON_Daten, 1), " ", 10);
if (isset($JSON_Daten["Body"]["Data"]["FAC"]["Value"])) {
$aktuelleDaten["AC_Ausgangsfrequenz"] = $JSON_Daten["Body"]["Data"]["FAC"]["Value"];
$aktuelleDaten["AC_Wirkleistung"] = $JSON_Daten["Body"]["Data"]["PAC"]["Value"];
$aktuelleDaten["AC_Ausgangsstrom"] = $JSON_Daten["Body"]["Data"]["IAC"]["Value"];
$aktuelleDaten["AC_Ausgangsspannung"] = $JSON_Daten["Body"]["Data"]["UAC"]["Value"];
$aktuelleDaten["Solarstrom"] = $JSON_Daten["Body"]["Data"]["IDC"]["Value"];
$aktuelleDaten["Solarspannung"] = $JSON_Daten["Body"]["Data"]["UDC"]["Value"];
if (isset($JSON_Daten["Body"]["Data"]["UDC_1"]["Value"])) {
$aktuelleDaten["Solarspannung_String_1"] = $JSON_Daten["Body"]["Data"]["UDC"]["Value"];
$aktuelleDaten["Solarstrom_String_1"] = $JSON_Daten["Body"]["Data"]["IDC"]["Value"];
}
if (isset($JSON_Daten["Body"]["Data"]["UDC_2"]["Value"])) {
$aktuelleDaten["Solarspannung_String_2"] = $JSON_Daten["Body"]["Data"]["UDC_2"]["Value"];
$aktuelleDaten["Solarstrom_String_2"] = $JSON_Daten["Body"]["Data"]["IDC_2"]["Value"];
}
}
if ($aktuelleDaten["Gen24"] == false) {
$aktuelleDaten["Geraetestatus"] = $JSON_Daten["Body"]["Data"]["DeviceStatus"]["StatusCode"];
$aktuelleDaten["ErrorCodes"] = $JSON_Daten["Body"]["Data"]["DeviceStatus"]["ErrorCode"];
}
}
else {
break;
Code: Alles auswählen
if (isset($JSON_Daten["Body"]["Data"]["UDC_1"]["Value"])) {
Code: Alles auswählen
{
"Body" : {
"Data" : {
"DAY_ENERGY" : {
"Unit" : "Wh",
"Value" : null
},
"DeviceStatus" : {
"ErrorCode" : 0,
"InverterState" : "Running",
"StatusCode" : 7
},
"FAC" : {
"Unit" : "Hz",
"Value" : 50.012004852294922
},
"IAC" : {
"Unit" : "A",
"Value" : 12.227632522583008
},
"IDC" : {
"Unit" : "A",
"Value" : 0.93537229299545288
},
"IDC_2" : {
"Unit" : "A",
"Value" : 5.1116251945495605
},
"IDC_3" : {
"Unit" : "A",
"Value" : null
},
"PAC" : {
"Unit" : "W",
"Value" : 2896.94921875
},
"SAC" : {
"Unit" : "VA",
"Value" : 2897.127197265625
},
"TOTAL_ENERGY" : {
"Unit" : "Wh",
"Value" : 8239347.8911111113
},
"UAC" : {
"Unit" : "V",
"Value" : 236.2628173828125
},
"UDC" : {
"Unit" : "V",
"Value" : 531.4876708984375
},
"UDC_2" : {
"Unit" : "V",
"Value" : 481.8865966796875
},
"UDC_3" : {
"Unit" : "V",
"Value" : null
},
"YEAR_ENERGY" : {
"Unit" : "Wh",
"Value" : null
}
}
},
"Head" : {
"RequestArguments" : {
"DataCollection" : "CommonInverterData",
"DeviceId" : "1",
"Scope" : "Device"
},
"Status" : {
"Code" : 0,
"Reason" : "",
"UserMessage" : ""
},
"Timestamp" : "2021-10-01T06:54:14+00:00"
}
}
Ich hoffe ich konnte hierbei helfen.