Beladungssteuerung KACO/EnergyDepot Centurio Hybrid Wechselrichter

Auch wenn ich keinerlei Info und Antwort von seitens KACO seit Dezember 2018 erhalten habe, möchte ich anderen diese Infos zum Abrufen der Daten (hier im Beispiel mit IpSymcon) nicht vorenthalten:

<?php

$api_url = "http://"IP von Primus (Raspberry):8084/rest/channel/";

        // API-URL		            // Symcon-ID
$apis = array(
   "meter0/ActivePower"		  	     => 42437 ,
	"meter0/ActivePowerL1"		     => 30925 ,
	"meter0/ActivePowerL2" 		     => 31362 ,
	"meter0/ActivePowerL3" 		     => 15890 ,
	"meter0/Frequency"                   => 25781 ,
	"meter0/ReactivePower"               => 31485 ,
	"meter0/ReactivePowerL1"             => 12107 ,
   "meter0/ReactivePowerL2"                  => 18857 ,
   "meter0/ReactivePowerL3"                  => 38027 ,
// "meter0/ActiveProductionEnergy" =>  , (gibt keine Werte aus...)
// "meter0/ActiveConsumptionEnergy"=>  , (gibt keine Werte aus...)
	"meter1/ActivePower"                 => 53352 , //PV
	"ess0/Soc"		 	     => 57269 , //Batterie
   "ess0/ActivePower"                        => 45750 , //Batterie
	);

     foreach ($apis as $channel => $symcon_id) {
	// Werte über die Rest-API abfragen
	$curl = curl_init($api_url.$channel);
	curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
	curl_setopt($curl, CURLOPT_TIMEOUT,        60);
	$data = curl_exec($curl);
	curl_close($curl);
	if ($var = json_decode($data)) {
		// Hier nur weiter machen, wenn Antwort $data wirklich im JSON-Format ist...
		$wert = is_numeric($var->value) ? $var->value : 0;
		if ($channel ==  "ess0/ActivePower") $wert *= -1;           //Vorzeichen vertauschen
		// Übergabe an Symcon
	SetValueInteger($symcon_id, $wert);
	} else {
		//echo("Unerwartete Antwort $data von $api_url$channel erhalten");
		}
	}
	
?>
1 Like