Beladungssteuerung KACO/EnergyDepot Centurio Hybrid Wechselrichter

Hallo Herr Hummelsberger (KACO),

Es geht um eine Einbindung meines KACO/EnergyDepot Centurio Hybrid Wechselrichter in meine Hausautomatition (IPSymcon).
Ich würde die Ladesteuerung (Vorgabe der Beladeleistung) gerne selbst über IPSymcon erledigen.

“Um Wertvorgaben an den Primus zu setzten, müsste erstens eine Konfiguration im OpenEMS gesetzt werden, dass der Centurio nicht mehr im “Read-Only”-Modus eingebunden wird. Zweitens müsste dann der OpenEMS-Eigenverbrauchsoptimierungscontroller aktiviert werden. Dieser kann dann mit den Less/Greater-Channels von extern (z. B. aus PHP/IpSymcon) beschränkt werden.
Die Änderungen im OpenEMS kann auf dem Primus leider nur KACO selbst machen.”

Können Sie mir hierzu weiter helfen?

Mit freundlichen Grüßen

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");
		}
	}
	
?>

Und hier das Script zum Setzten eines der Parameter:

<?php
//    ----    IPSymcon-Variable
$Power = GetValue (49527);
$curl = curl_init("http://IP:8084/rest/channel/ess0/SetActivePowerEquals");
// /channel/ess0/SetReactivePowerEquals");  // andere getestete mögliche Parameter
// /channel/ess0/SetActivePowerLessOrEquals"); // andere getestete mögliche Parameter 
// /channel/ess0/SetActivePowerGreaterOrEquals"); // andere getestete mögliche Parameter
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($curl, CURLOPT_TIMEOUT,        60);
        curl_setopt($curl, CURLOPT_POST,		   true);
        curl_setopt($curl, CURLOPT_POSTFIELDS, 	   json_encode(array('value' => $Power, "type" => "INTEGER")));
        $antwort = curl_exec($curl);
        curl_close($curl);
    ?>
1 Like

Im Primus (Raspberry) unter “IP Primus”:8080/System/console (admin:admin) unter OSGi -> Log Service kann kontrolliert werden ob die Übergabe funktioniert oder es noch Fehlermeldungen gibt.

Viel Spass damit

Grüße Willi

Hallo,

ich war bis 27.05. in Elternzeit.
Falls Sie noch Fragen haben stehe ich gern zur Verfügung.

Mit freundlichen Grüßen
Andreas Hummelsberger

Hallo Herr Hummelsberger,

gibt es denn die Möglichkeit weitere Werte auszulesen, wie zum Beispiel die Spannungen von PV1 und PV2 sowie der Batterie? Über ETerm werden diese ja auch angezeigt…

Und die kWh Werte des Tages?

Wann ist die Notstromoption (Software) endlich fertig?

Mit freundlichen Grüßen