Fehlermeldung bei Script für SMA Sunny Webbox

Hallo

Seit dem Update auf IP Symcon 5 habe ich beim SMA Webbox Script Probleme.
Ich bekomme keine Daten mehr rein, und folgende Fehler werden angezeigt.

Kann mir da bitte wer helfen?
Habe schon bei der Migration von 4.3 auf 5 nachgesehen, aber da ich im Programmierennicht
so bewandert bin :banghead: und nur diverse Script abändern kann,
ist mir das einfach zu hoch.

Vielen Dank im voraus!
Chris

Mein Webbox Script

 <?

//IP der Webbox (SMA hat übrigends eine WebBox zu Demozwecken im Internet)
$webboxip = "192.168.0.168";
$timeout = 15;
include("JSON.ips.php");
$json = new Services_JSON();

//JSON Request im PHP Array Format (wird später umgewandelt durch die in PHP5 vvorhandene json_encode/decode Funktion)

$GetPlantOverView = array(
    'version'=>"1.0",
    'proc'=>"GetPlantOverview",
    'id'=>"1",
    'format'=>"JSON"
    );

$GetDevices = array(
    'version'=>"1.0",
    'proc'=>"GetDevices",
    'id'=>"1",
    'format'=>"JSON"
    );


//Wechselrichter SBU 5000 (Device Key SBU500EI:1260025183)
$device="SBU500EI:1260025183";
$GetProcessDataWR2 = '{
"version": "1.0",
"proc": "GetProcessData",
"id": "1",
"format": "JSON",
"params":
{
"devices":
[
{
"key": "'.$device.'",
"channels": null
}
]
}
}';

//Sensorbox (Device Key SENS0710:17671)
$device="SENS0710:17671";
$GetProcessDataWR2 = '{
"version": "1.0",
"proc": "GetProcessData",
"id": "1",
"format": "JSON",
"params":
{
"devices":
[
{
"key": "'.$device.'",
"channels": null
}
]
}
}';

//Aufruf der Funktion REQUEST mit GetPlantInfo
$requestarray = $GetPlantOverView;
request($webboxip,$requestarray);
//print_r($response);

//$zustand=($response->result->overview[3]->value);
//    SetValue(30309   , $zustand);

//$meldung=($response->result->overview[4]->value);
//    if ($meldung == "") $meldung="Keine Nachrichten.";
//    SetValue(39090 /*[PHOTOVOLTAIK\Meldung]*/ , $meldung);

//$watt=($response->result->overview[0]->value);
//if ($watt > 0 or GetValue(15236 /*[PHOTOVOLTAIK\Momentanleistung]*/ )<>0)
{
//    Setvalue (15236 /*[PHOTOVOLTAIK\Momentanleistung]*/, $watt);
}

 $tagesertrag=(str_replace(".", ",", $response->result->overview[1]->value));
 SetValue(37028 /*[PHOTOVOLTAIK\Gesamter Tagesertrag]*/ , $tagesertrag);

 $gesamtertrag=(str_replace(".", ",", $response->result->overview[2]->value));
 SetValue(51613 /*[PHOTOVOLTAIK\Gesamter Ertrag]*/ , $gesamtertrag);


// Abfrage SBU 5000
    $device_WR = "SBU500EI:1260025183";
    $aw = channels_data_all($webboxip,$device_WR,$json);

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[3]->value));
    if ($value < 0) $value=0;
    SetValue(40580 /*[PHOTOVOLTAIK\SPEICHERSYSTEM\HOPPECKE\Batterie Betriebszustand ]*/  , $value); //3 BatChrgOp

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[7]->value));
    if ($value < 0) $value=0;
    SetValue(47918 /*[PHOTOVOLTAIK\SPEICHERSYSTEM\HOPPECKE\Ladezustand Batterien]*/ , $value); // in %

	 $value = str_replace(".", ",",($aw->result->devices[0]->channels[8]->value));
    if ($value < 0) $value=0;
    SetValue(44261 /*[PHOTOVOLTAIK\SPEICHERSYSTEM\HOPPECKE\Geschätzter Fehler des Ladezustands]*/    , $value); //8 BatSocErr

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[9]->value));
    if ($value < 0) $value=0;
    SetValue(27703 /*[PHOTOVOLTAIK\SPEICHERSYSTEM\HOPPECKE\Batterietemperatur]*/  , $value); //9 BatTmp

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[10]->value));
    if ($value < 0) $value=0;
    SetValue(39857 /*[PHOTOVOLTAIK\SPEICHERSYSTEM\HOPPECKE\Batterie Spannung]*/   , $value); //10 BatVtg

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[11]->value));
    if ($value < 0) $value=0;
    SetValue(12081 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Statusmeldung der SD-Karte]*/     , $value); //11 CardStt

//    $value = str_replace(".", ",",($aw->result->devices[0]->channels[16]->value));
//    if ($value < 0) $value=0;
//    SetValue(40862 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Aufgenommene Energie des Inselnetz-Wechselrichters]*/     , $value); //16 EgyCntIn

//    $value = str_replace(".", ",",($aw->result->devices[0]->channels[17]->value));
//    if ($value < 0) $value=0;
//    SetValue(26696 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Abgegebene Energie des Inselnetz-Wechselrichters]*/     , $value); //17 EgyCntOut

//    $value = str_replace(".", ",",($aw->result->devices[0]->channels[35]->value));
//    if ($value < 0) $value=0;
//    SetValue(38025 /*[PHOTOVOLTAIK\STROMVERSORGER\STROMVERSORGER\Netz Spannung]*/     , $value); //35 ExtVtg

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[43]->value));
    if ($value < 0) $value=0;
    SetValue(10420 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Heutiger Netzbezug]*/       , $value); //42 GdCsmpEgyTdy

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[44]->value));
    if ($value < 0) $value=0;
    SetValue(15972 /*[PHOTOVOLTAIK\STROMVERSORGER\STROMVERSORGER\Aktueller Netzbezug]*/      , $value); //44 GdCsmpPwrAt

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[46]->value));
    if ($value < 0) $value=0;
    SetValue(12758 /*[PHOTOVOLTAIK\STROMVERSORGER\STROMVERSORGER\Netz Einspeisezähler]*/     , $value); //46 GdEgyCntIn

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[47]->value));
    if ($value < 0) $value=0;
    SetValue(44353 /*[PHOTOVOLTAIK\STROMVERSORGER\STROMVERSORGER\Netz Bezugszähler]*/     , $value); //47 GdEgyCntOut

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[49]->value));
    if ($value < 0) $value=0;
    SetValue(51760 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Heutige Netzeinspeisung]*/       , $value); //49 GdFeedEgyTdy

//    $value = str_replace(".", ",",($aw->result->devices[0]->channels[63]->value));
//    if ($value < 0) $value=0;
//    SetValue(28359 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Strom des Inselnetz-Wechselrichters]*/     , $value); //63 InvCur

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[68]->value));
    if ($value < 0) $value=0;
    SetValue(20310 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Betriebszustand]*/   , $value); //68 InvOpStt

//    $value = str_replace(".", ",",($aw->result->devices[0]->channels[80]->value));
//    if ($value < 0) $value=0;
//    SetValue(22695 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\AC Spannung Wechselrichter]*/      , $value); //80 InvVtg

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[88]->value));
    if ($value < 0) $value=0;
    SetValue(58495 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Mode]*/    , $value); //88 Mode

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[90]->value));
    if ($value < 0) $value=0;
    SetValue(21909 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Betriebsstunden]*/   , $value); //

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[95]->value));
    if ($value < -5000) $value=0;
    SetValue(51640 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Aktuelle Batterie Be u Entladung]*/      , $value); //95 GdCsmpPwrAt

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[101]->value));
    if ($value < 0) $value=0;
    SetValue(41785 /*[PHOTOVOLTAIK\STROMVERSORGER\STROMVERSORGER\Netzversorgung Vorhanden]*/    , $value); //101 Rly1Stt

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[118]->value));
    if ($value < 0) $value=0;
    SetValue(44798 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Gesamter Eigenverbrauch]*/     , $value); //122 SlfCsmpEgy

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[119]->value));
    if ($value < 0) $value=0;
    SetValue(41352 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Gesamte Eigenverbrauchsoptimierung]*/     , $value); //119 SlfCsmpIncEgy

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[131]->value));
    if ($value < 0) $value=0;
    SetValue(22797 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Gesamtverbrauch]*/     , $value); //131 TotLodEgyCnt

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[133]->value));
    if ($value < 0) $value=0;
    SetValue(44452 /*[PHOTOVOLTAIK\STROMVERSORGER\STROMVERSORGER\Aktueller Verbrauch]*/      , $value); //133 TotLodPwrAt

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[135]->value));
    if ($value < 0) $value=0;
    SetValue(45073 /*[PHOTOVOLTAIK\SUNNY BACKUP 5000\SUNNY BACKUP 5000\Momentan Erzeugte PV-Leistung]*/      , $value); //140 TotPvPwrAt

// Abfrage Sensorbox
    $device_WR = "SENS0710:17671";
    $aw = channels_data_all($webboxip,$device_WR,$json);

	 $value = str_replace(".", ",",($aw->result->devices[0]->channels[1]->value));
    if ($value < 0) $value=0;
    SetValue(24377 /*[PHOTOVOLTAIK\SMA SENSORBOX\Sonneneinstrahlung]*/  , $value); // 2   Watt / m2

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[4]->value));
    if ($value < -300) $value=0;
    SetValue(42775 /*[PHOTOVOLTAIK\SMA SENSORBOX\PV Modultemperatur]*/  , $value); // 5  in °C

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[3]->value));
    if ($value < -300) $value=0;
    SetValue(36405 /*[PHOTOVOLTAIK\SMA SENSORBOX\Umgebungs Temperatur]*/  , $value); // 4  in °C

    $value = str_replace(".", ",",($aw->result->devices[0]->channels[5]->value));
    if ($value < 0) $value=0;
    SetValue(58118 /*[PHOTOVOLTAIK\SMA SENSORBOX\Windeschwindigkeit]*/  , $value); //  6 in  m/s



//$requestarray = $GetDevices;
//request($webboxip,$requestarray);
//print_r($response);



// ANFANG FUNKTION DATEN AUS SUNNY WEBBOX ABRUFEN
function request($webboxip,$requestarray) {
   Global $timeout;
   Global $response;
    //codieren in JSON
    $request = json_encode($requestarray);

    // Hier der JSON request
    $request = 'RPC='.rawurlencode($request);

    $ch=curl_init();
    curl_setopt($ch, CURLOPT_URL, "http://".$webboxip."/rpc");
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION,1);
    curl_setopt($ch, CURLOPT_HEADER , 0);
    curl_setopt($ch, CURLOPT_POST, 1 );
    curl_setopt($ch, CURLOPT_POSTFIELDS, $request);

    // Hier das Ergebnis
    $response = curl_exec ($ch);

    if (curl_errno($ch)) {
        $err=1;
         $errtext = curl_error($ch);
    }

    curl_close($ch);

    //Decodieren der Antwort
    $response = json_decode($response);
}

function request2($webboxip,$requestarray,$json) {

$request = $json->encode($requestarray);
$request = $requestarray;

// Hier der JSON request
$request = 'RPC='.rawurlencode($request);

$timeout=180;
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, "http://".$webboxip."/rpc");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION,0);
curl_setopt($ch, CURLOPT_HEADER , 0);
curl_setopt($ch, CURLOPT_POST, 1 );
curl_setopt($ch, CURLOPT_POSTFIELDS, $request);

// Hier das Ergebnis
$response = curl_exec ($ch);

if (curl_errno($ch)) {
    $err=1;
      $errtext = curl_error($ch);
}

curl_close($ch);

$response = $json->decode($response);

return($response);
}
function channels_data_all($webboxip,$device,$json)
{

$requestarray4 = '{
"version": "1.0",
"proc": "GetProcessData",
"id": "1",
"format": "JSON",
"params":
{
"devices":
[
{
"key": "'.$device.'",
"channels": null
}
]
}
}';

$response4 = request2($webboxip,$requestarray4,$json);

return($response4);
}
function channels_data($webboxip,$device,$value,$json)
{

$requestarray3 = '{
"version": "1.0",
"proc": "GetProcessData",
"id": "1",
"format": "JSON",
"params":
{
"devices":
[
{
"key": "'.$device.'",
"channels":
[
"'.$value.'"
]
}
]
}
}';

$response3 = request($webboxip,$requestarray3,$json);

return($response3);
}
function channels($webboxip,$device,$json)
{

$requestarray2 = '{
"version": "1.0",
"proc": "GetProcessDataChannels",
"id": "1",
"format": "JSON",
"params":
{
"device": "'.$device.'"
}
}';

$response2 = request($webboxip,$requestarray2,$json);

return($response2);
}

function getdevice($webboxip,$json)
{
$requestarray1 = '{
"version": "1.0",
"proc": "GetDevices",
"id": "1",
"format": "JSON"
}';

$response1 = request($webboxip,$requestarray1,$json);

return($response1);
}

function overview($webboxip,$json)
{
$requestarray0 = '{
"version": "1.0",
"proc": "GetPlantOverview",
"id": "1",
"format": "JSON"
}';


$response0 = request($webboxip,$requestarray0,$json);

return($response0);
}


// ====== ENDE FUNKTION DATEN AUS SUNNY WEBBOX ABRUFEN ======



?>

Hat sich erledigt, habe es gefunden link

Chris