Verbrauch berechnen mit Solaredge und SDM230

Allgemeine Informationen zum Nachbau und zum Forum.
PV-Monitorung / PV Überwachung

Moderator: Ulrich

StepSolar
Beiträge: 51
Registriert: So 9. Mai 2021, 16:02
Hat sich bedankt: 6 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von StepSolar »

TeamO hat geschrieben:
Sa 20. Nov 2021, 16:56
Hier schnell meine Datei auf Dich angepasst. Diese funktioniert bei mir ohne Probleme.
Wenn es bei Dir immer noch nicht geht liegt es entweder an Deinen ganzen Änderungen oder an Docker.

SDM230_meter_math.php
Was bedeutet das?

Dankeschön

Code: Alles auswählen

if ($Objekt == "Senec1"){

TeamO
Beiträge: 423
Registriert: Mo 22. Jun 2020, 08:58
Hat sich bedankt: 4 Mal
Danksagung erhalten: 66 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von TeamO »

Sorry, das war noch von meiner Installation zum testen.
Hier die korrekte Datei
SDM230_meter_math.php
(6.13 KiB) 7-mal heruntergeladen

StepSolar
Beiträge: 51
Registriert: So 9. Mai 2021, 16:02
Hat sich bedankt: 6 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von StepSolar »

TeamO hat geschrieben:
Di 23. Nov 2021, 17:35
Sorry, das war noch von meiner Installation zum testen.
Hier die korrekte Datei

SDM230_meter_math.php
jetzt funktioniert es danke

StepSolar
Beiträge: 51
Registriert: So 9. Mai 2021, 16:02
Hat sich bedankt: 6 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von StepSolar »

Hallo TeamO,
Ich habe Ihrer Datei andere Datenbanken hinzugefügt, aber jetzt bekomme ich einen Fehler.
Weil?
hier sind die dateien
SDM230_meter_math.php
(9.02 KiB) 7-mal heruntergeladen
eigenefunktionen.php
(3.6 KiB) 6-mal heruntergeladen

TeamO
Beiträge: 423
Registriert: Mo 22. Jun 2020, 08:58
Hat sich bedankt: 4 Mal
Danksagung erhalten: 66 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von TeamO »

Da waren mehrere Fehler in den Dateien enthalten.
Einerseits waren die Variablen nicht richtig definiert und beim schreiben in die neue Datenbank war auch ein Fehler.

Hier die angepassten, mit denen es gehen sollte.
SDM230_meter_math.php
(9 KiB) 6-mal heruntergeladen
eigenefunktionen.php
(3.6 KiB) 9-mal heruntergeladen

StepSolar
Beiträge: 51
Registriert: So 9. Mai 2021, 16:02
Hat sich bedankt: 6 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von StepSolar »

Vielen Dank für die Korrektur. Es klappt.
Aber jetzt habe ich einige Docker-Probleme, nach ca. 24h blockiert das System die SDM-Schütze und nur der Wechselrichter bleibt aktiv, tatsächlich funktioniert nur die Solarmonitor-Datenbank weiter, während die anderen unterbrochen werden. Die Lösung, die ich vorerst gefunden habe, besteht darin, mit Portainer "den Stack zu aktualisieren" und alles funktioniert wieder.
Was könnte das Problem sein?
und wie könnte ich es finden und lösen?
Ich glaube nicht, dass es an Ihrer Datei liegt, dass andere Änderungen nicht vorgenommen wurden.

Vielen Dank

TeamO
Beiträge: 423
Registriert: Mo 22. Jun 2020, 08:58
Hat sich bedankt: 4 Mal
Danksagung erhalten: 66 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von TeamO »

Da kann ich leider nichts dazu sagen, da ich nicht mit Docker arbeite. Tut mir leid.

StepSolar
Beiträge: 51
Registriert: So 9. Mai 2021, 16:02
Hat sich bedankt: 6 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von StepSolar »

TeamO hat versucht, Ihrer Datei den folgenden Code hinzuzufügen, aber ich bekomme das Ergebnis nicht.
Was mache ich falsch?

Code: Alles auswählen

$Datenbank4 = "SDM_SSP";
$Measurement4 = "Total_energy";
$ch = curl_init('http://localhost/query?db='.$Datenbank4.'&precision=s&q='.urlencode('select difference(last(*)) from '.$Measurement4.' WHERE time >= now() - 1h GROUP BY time(1d)'));

StepSolar
Beiträge: 51
Registriert: So 9. Mai 2021, 16:02
Hat sich bedankt: 6 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von StepSolar »

TeamO hat das Problem gelöst :D :idea:

Code: Alles auswählen

$Datenbank4 = "SDM_SSP";
$Measurement4 = "Total_energy";
//  $ch = curl_init('http://localhost/query?db='.$Datenbank4.'&precision=s&q='.urlencode('select * from '.$Measurement4.' order by time desc limit 1'));
$ch = curl_init('http://localhost/query?db='.$Datenbank4.'&precision=s&q='.urlencode('select difference(last(*)) from '.$Measurement4.' WHERE time >= now() - 1h GROUP BY time(1d)'));

//SELECT difference(last("Wh_Export")) FROM "Total_energy" WHERE time >= now() - 1h GROUP BY time(1d)

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_TIMEOUT, 15);           //timeout in second s
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 12);
curl_setopt($ch, CURLOPT_PORT, 8086);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

$Ergebnis4["result"] = curl_exec($ch);
$Ergebnis4["rc_info"] = curl_getinfo ($ch);
$Ergebnis4["JSON_Ausgabe"] = json_decode($Ergebnis4["result"],true,10);
$Ergebnis4["errorno"] = curl_errno($ch);

if ($Ergebnis4["rc_info"]["http_code"] == 200 or $Ergebnis4["rc_info"]["http_code"] == 204) {
  $Ergebnis4["Ausgabe"] = true;
}


curl_close($ch);
unset($ch);


if (!isset($Ergebnis4["JSON_Ausgabe"]["results"][0]["series"])) {
  log_schreiben("Es fehlt die Datenbank SDM_SSP mit dem Measurement Total_energy oder sie ist leer.","|- ",3);
  log_schreiben("Fehler: ".$Ergebnis4["JSON_Ausgabe"]["results"][0]["error"],"|- ",4);
}
else {
  for ($h = 1; $h < count($Ergebnis4["JSON_Ausgabe"]["results"][0]["series"][0]["columns"]); $h++) {
    $DB4[$Ergebnis4["JSON_Ausgabe"]["results"][0]["series"][0]["columns"][$h]] = $Ergebnis4["JSON_Ausgabe"]["results"][0]["series"][0]["values"][0][$h];
  }
  log_schreiben("Datenbank: SDM_SSP DB4 ".print_r($DB4,1),"  ",10);
}  
 
$eigeneDaten["Power"] = $DB1["Power"] + $DB2["Power"];
$eigeneDaten["Self_Consumption"] = $DB3["Wh_Today"] - $DB4["difference_Wh_Export"];

StepSolar
Beiträge: 51
Registriert: So 9. Mai 2021, 16:02
Hat sich bedankt: 6 Mal

Re: Verbrauch berechnen mit Solaredge und SDM230

Beitrag von StepSolar »

Hallo TeamO,
Ich habe noch eine Frage an dich.
Können die von Ihnen erstellten Dateien Daten in eine (externe) Cloud-Datenbank übertragen?
Was soll ich sonst hinzufügen?
Vielen Dank

Antworten