Guten Morgen,
cool vielen dank.
ich schau mir das mal an
Gibt aufjedenfall schon mal mehr Details
Danke
mfinkbeiner:
Hallo,
hier das Skript. Ich führe es alle 5 Minuten aus, da dies das max. ist was SolarEdge zulässt. Ich berechne zusätzlich noch die Zeit die ich Autark bin. Außerdem habe ich nach meinen Bedürfnissen ein Parameter „Versorgungsart“ berechnet (Zustand aus PV, Speicher Leistung, Speicher Ladung und Hausverbrauch). Diesen verwende ich dann für die Steuerung von Verbrauchern.
Ich habe dir noch Screenshots der Gesamten Energieübersicht beigefügt.
<?
// ------
// ------
// ------ Werte für Zukauf oder Eigenproduktion - Zeit berechnen
// ------
// ------
$con1=getValue(29300);
$con2=getValue(21901);
$con3=getValue(52436);
if ($con1=="GRID->Load" or $con2=="GRID->Load" or $con3=="GRID->Load")
{
$zeit_grid=GetValue(15041);
$zeit_grid=$zeit_grid+5;
setvalue(15041,$zeit_grid);
}
else
{
$zeit_eigen=GetValue(59351);
$zeit_eigen=$zeit_eigen+5;
setvalue(59351,$zeit_eigen);
}
// Prozent Wert für Eigenverbrauch berechnen
$zeit_grid=GetValue(15041);
$zeit_eigen=GetValue(59351);
$zeit_gesamt=$zeit_grid+$zeit_eigen;
$zeit_gesamt_prozent=$zeit_eigen/$zeit_gesamt;
setvalue(34949,$zeit_gesamt_prozent);
// ------
// ------
// ------ SolarEdge API Abfrage
// ------
// ------
$APIkey = "XXXX";
$ID = "XXX";
$Speicherleistung=9300; //Wh
$content = Sys_GetURLContent("https://monitoringapi.solaredge.com/site/".$ID."/currentPowerFlow?api_key=".$APIkey );
$json=json_decode($content);
// PV-Anlage abfragen
$PV_Status=$json->siteCurrentPowerFlow->PV->status; // PV - Status
$PV_Leistung=$json->siteCurrentPowerFlow->PV->currentPower*1000; // PV - Current Power
// Speicher abfragen
$Speicher_Status=$json->siteCurrentPowerFlow->STORAGE->status; // Storage - Status
$Speicher_Leistung=$json->siteCurrentPowerFlow->STORAGE->currentPower*1000; // Storage - Current Power
$Speicher_Ladung=$json->siteCurrentPowerFlow->STORAGE->chargeLevel; // Storage - Charge Level
$Speicher_Kritisch=$json->siteCurrentPowerFlow->STORAGE->critical; // Storage - Critical
$Speicher_Gespeicherte_Leistung=($Speicher_Ladung/100)*$Speicherleistung; // Storage - Current Power
// Vorzeichen korrigieren
if ($Speicher_Status=="Charging")
{
$Speicher_Leistung=$Speicher_Leistung*-1;
}
$Renewables_Sum=$PV_Leistung+$Speicher_Leistung;
// Haus abfragen
$Haus_Status=$json->siteCurrentPowerFlow->LOAD->status; // Load - Status
$Haus_Leistung=$json->siteCurrentPowerFlow->LOAD->currentPower*-1000; // Load - Current Power
$Haus_Sum=$Renewables_Sum+$Haus_Leistung;
// Netz abfragen
$Netz_Status=$json->siteCurrentPowerFlow->GRID->status; // Grid - Status
$Netz_Leistung= $json->siteCurrentPowerFlow->GRID->currentPower*1000; // Grid - Current Power
$Netz_Leistung_berechnet=$Haus_Sum*-1;
// ------
// ------ Werte schreiben
SetValue(21980,$PV_Status); // PV - Status
SetValue(45624,$PV_Leistung); // PV - Current Power
SetValue(35748,$Speicher_Status); // Storage - Status
SetValue(50588,$Speicher_Leistung); // Storage - Current Power
SetValue(17520,$Speicher_Ladung); // Storage - Charge Level
SetValue(29172,$Speicher_Kritisch); // Storage - Critical
SetValue(38117,$Speicher_Gespeicherte_Leistung); // Storage - Current Power
SetValue(52367,$Renewables_Sum); // Haus - Summe aus PV & Speicher
SetValue(40290,$Haus_Status); // Load - Status
SetValue(28391,$Haus_Leistung); // Load - Current Power
SetValue(58537,$Haus_Sum); // Haus - Summe aus Haus & Renewables
SetValue(31205,$Netz_Status); // Grid - Status
SetValue(11495,$Netz_Leistung); // Grid - Current Power
SetValue(35901,$Netz_Leistung_berechnet); // Grid - Current Power
//if ($anz_connections>=1)
//{
$con1_von=$json->siteCurrentPowerFlow->connections[0]->from; // Connections - From LOAD
$con1_nach=$json->siteCurrentPowerFlow->connections[0]->to; // Connections - From LOAD
$con1=$con1_von;
$con1 .="->";
$con1 .=$con1_nach;
SetValue(29300,$con1);
//}
//if ($anz_connections>=2)
//{
$con2_von=$json->siteCurrentPowerFlow->connections[1]->from; // Connections - From LOAD
$con2_nach=$json->siteCurrentPowerFlow->connections[1]->to; // Connections - From LOAD
$con2=$con2_von;
$con2 .="->";
$con2 .=$con2_nach;
SetValue(21901,$con2);
//}
//else/
//{
//SetValue(21901,"");
//}
//if ($anz_connections==3)
//{
$con3_von=$json->siteCurrentPowerFlow->connections[2]->from; // Connections - From LOAD
$con3_nach=$json->siteCurrentPowerFlow->connections[2]->to; // Connections - From LOAD
$con3=$con3_von;
$con3 .="->";
$con3 .=$con3_nach;
SetValue(52436,$con3);
//}
//else
//{
//SetValue(52436,"");
//}
// ------
// ------
// ------ Werte für Zukauf oder Eigenproduktion - Variable Autark setzten
// ------
// ------
if ($con1=="GRID->Load" or $con2=="GRID->Load" or $con3=="GRID->Load")
{
setvalue(13194,false);
}
else
{
setvalue(13194,true);
}
// ------
// ------
// ------ Versorgungsart errechenen
// ------
// ------
$Versorgungsart=10;
// Versorgungsart 1
if ($PV_Leistung<50 and $Speicher_Leistung==0 and $Speicher_Ladung<13 and $Netz_Leistung_berechnet>0)
{
$Versorgungsart=1;
}
// Versorgungsart 2
if ($PV_Leistung<100 and $Speicher_Leistung>0 and $Speicher_Ladung<100 and $Netz_Leistung_berechnet>=0)
{
$Versorgungsart=2;
}
// Versorgungsart 3
if ($PV_Leistung>0 and $Speicher_Leistung<=0 and $Speicher_Ladung<=30 and $Netz_Leistung_berechnet>=0)
{
$Versorgungsart=3;
}
// Versorgungsart 4
if ($PV_Leistung>0 and $Speicher_Ladung<=30 and $Netz_Leistung_berechnet<=500)
{
$Versorgungsart=4;
}
// Versorgungsart 5
if ($PV_Leistung>0 and $Speicher_Ladung>30 and $Netz_Leistung_berechnet<2000)
{
$Versorgungsart=5;
}
// Versorgungsart 6
if ($PV_Leistung>2000 and $Speicher_Leistung<-1000 and $Speicher_Ladung<=30 and $Netz_Leistung_berechnet<=500)
{
$Versorgungsart=6;
}
// Versorgungsart 7
if ($PV_Leistung>4000 and $Speicher_Leistung<-2000 and $Speicher_Ladung<=30 and $Netz_Leistung_berechnet<=500)
{
$Versorgungsart=7;
}
// Versorgungsart 8
if ($PV_Leistung>2000 and $Speicher_Leistung>-5100 and $Speicher_Ladung>30 and $Netz_Leistung_berechnet<=100)
{
$Versorgungsart=8;
}
// Versorgungsart 9
if ($PV_Leistung>3000 and $Speicher_Leistung>-5100 and $Speicher_Ladung>=90)
{
$Versorgungsart=9;
}
print $PV_Leistung;
print "/";
setvalue(36820,$Versorgungsart);
?>
Funktioniert die Abfrage des Solaredge Portals noch?
Ich möchte die Solaredge Anlage meiner Mutter bei mir in IPS mit einbinden, damit ich die Anlage überwachen kann, ohne ne weitere APP auf meinem Handy installieren zu müssen.
Danke schon mal…
Hi,
kann man auch den Smart-Energy Manager damit auf On setzten?
An meinem WR hängt ein Schalter der bei Energie Überschuss meine WP anschmeißt.
Ich würde dies gern aber über Symcon schalten wollen.
Also Symcon liest aktuellen PV Strom Erzeugung aus.
Wenn PV Strom größer 3Kwh dann schalte den Schalter für die WP ein.
Bei mir geht die Abfrage ohne Probleme. Läuft jetzt schon sein Nov. 2017.
Hier noch eine Übersicht über die Variablen und die Typen.
Hallo Zusammen,
ich habe noch ein paar Infos in den oberen Webfont Screenshots von anderen Quellen als SolarEdge.
[ul]
[li]Frequenz - von HomematicIP Messdose
[/li][li]Spannung - von HomematicIP Messdose
[/li][li] PV Leistung max. - wird über folgendes Script ermittelt und mit einem Ereignis (bei Veränderung) gestartet
[/li][/ul]
<?
$aktueller_wert=GetValue(45624); // aktuellen PV Leistung einlesen
$max_wert=getvalue(43248); // max PV Leistung einlesen
if ($aktueller_wert>$max_wert)
{
setvalue(43248,$aktueller_wert); // schreiben des neuen max. Wertes
}
?>