PV Anlage mit IPS verbinden

Ich bin nun auch Stolzer Besitzer einer PV Anlage „klein aber mein“.
Da das Thema hier schon sehr oft besprochen wurde und ich glaube nicht das richtige gefunden habe frage ich lieber nochmal.

Also erst mal was habe ich um Die PV Anlage mit IPS zu verbinden :

  • sunny Tripower mit Netzwerk Karte
  • Anbindung an sunny Portal Daten werden alle 5min übertragen
  • und ein sunny Beam

Habe ich damit die Möglichkeit alle Daten mit auszulesen und in Ips zu bekommen ?

Viele Grüße Torsten

Gesendet von meinem iPad mit Tapatalk HD

Kenne mich leider nicht mit den SMA Produkten aus, aber bei der Webbox besteht die Möglichkeit via FTP zuzugreifen. So kommt man an eine CSV Datei, die man dann relativ leicht bei IPS einlesen lassen kann.

Kann eine der von Dir eingesetzten Produkte FTP?

Alternativ hast Du Deine Daten im SunnyPortal?

wenn ja, dann schau mal auf folgende URL:
http://com.sunny-portal.de/SunnyPortalWebBoxBaseService/SunnyPortalWebBoxBaseService.asmx

Der Webservice sollte eigentlich auch via IPS auslesbar sein.

Kann eine der von Dir eingesetzten Produkte FTP?

nein leider nicht komme leider nicht auf den SMA obwohl ich die IP Adresse habe

Alternativ hast Du Deine Daten im SunnyPortal?

ja da sind alle Daten Abgelegt aber ich kann sie leider nicht abgreifen

So kommt man an eine CSV Datei, die man dann relativ leicht bei IPS einlesen lassen kann.

mein Sunny Beam erzeugt eine CSV Datei zeitnah aber wie kann ich die in Intervallen auslesen??

Mit dem SMA SunnyExplorer lassen sich ganz einfach die Daten (CSV) von den Wechselrichtern auslesen.
Hierzu einfach eine Dos-Batch erstellen und in den gewünschten Intervallen von einem IPS Skript aufrufen.

Die CSV Daten kannst Du dann mit einem weiteren IPS Skript entsprechend auslesen und weiterverarbeiten.
Ich mache das auch so und es funktioniert auch sehr zuverlässig. Zudem gebe ich die CSV-Daten der Wechselrichter auch noch separat über einen weiteren IPS-Webserver frei um die Daten mit der Android App „Solaranalyzer“ (genial !!!) auszuwerten. Mit dieser IPS Lösung kann man sich einen (teueren) Datenlogger sparen.

Hierzu einfach eine Dos-Batch erstellen .

Danke für die Super Info aber ob das so einfach ist :confused:

Kannst du mir vielleicht deine Skripte und den Batch zu Verfügung stellen wollte keine 500 für die Web Box ausgeben :mad:

Also zuerst mußt Du die SW „SMA SunnyExplorer“ installieren und eine funktionierende Konfiguration für Deine Anlage erstellen (Einstellungen in der *.sx2 Datei).

Am einfachsten ist es alles nur in einem IPS-Skript zu machen (Variante 2 im Skript, Variante 1 ist auskommentiert).
Das geht dann mit diesem Skript:


<?
// SETTINGS
 $sma_password = "0000";                                                                                         // Userpassword
 $sma_userlevel = "User";                                                                                        // "User" oder "Installer"
 $sma_sunnyexplorer_exe = "C:\Programme\SMA\Sunny Explorer\SunnyExplorer.exe";                  // Pfad zur ausfhrbaren Datei "SunnyExplorer.exe"
 $sma_sunnyexplorer_sx2 = "C:\PV-Anlage\PV-Anlage.sx2";                                         // Pfad zur Sunny Explorer Konfigurationsdatei (.sx2)
 $sma_sunnyexplorer_dir = "C:\Programme\IP-Symcon_v2\webfront\user\amcharts\PV-Anlage\SEXPLORER_TEMP"; // Export-Verzeichnis. Hier werden die CSV Dateien exportiert.
 $sma_sunnyexplorer_exp = "energy5min";                                                         // CSV Export Modus: energy5min, energydaily, events

// Bestimmung des aktuellen Datums
  $tag = date("d");
  $monat = date("m");
  $jahr = date("Y");

// Datum von gestern
  $gestern_tag = GetValueString(19937 );
  $gestern_monat = GetValueString(46404 );
  $gestern_jahr = GetValueString(45692 );

// Variante 1 (Externes DOS-Skript): CSV-Daten (Tageswerte / 5min-Werte) mit Sunny Explorer aus den Wechselrichter auslesen
 //IPS_Execute("./bin/sunnyexplorer/pv_energy5min_IPS.bat", "",  false, false);

// Variante 2 (PHP Skript): CSV-Daten (Tageswerte / 5min-Werte) mit Sunny Explorer aus den Wechselrichter auslesen
 IPS_Execute("$sma_sunnyexplorer_exe", "$sma_sunnyexplorer_sx2 -userlevel $sma_userlevel -password $sma_password -exportdir $sma_sunnyexplorer_dir -exportrange $gestern_jahr$gestern_monat$gestern_tag-$jahr$monat$tag -export $sma_sunnyexplorer_exp",  false, false);

?>

Wenn dann die CSV-Files von den Wechselrichtern ausgelesen wurde (etwa 2 Minuten nach starten des Exports) können die Werte ausgelesen werden.
Das hier sind nur die Code-Schnipsel (kein funktionierendes Skript) da Du hier Deine Anpassungen an Dein System machen musst. Je nach dem wieviele Wechselrichter Du in Deiner Anlage hast musst Du das Skript entsprechend anpassen. In meinem Beispiel werden drei WR ausgelesen.


 $line_number = "2";                                                                                     // Definiert die letzte Zeile in dem SunnyExplorer Logfile

 // gesamte Datei in einen String einlesen
 $file = file_get_contents("C:/Programme/IP-Symcon_v2/webfront/user/amcharts/PV-Anlage/SEXPLORER_TEMP/PV-Anlage-$jahr$monat$tag.csv");

 // String in Zeilen zerlegen und in ein Array schreiben
 $lines = explode("
", $file);

 // letzte Zeile extrahieren
 $lastentry = $lines[count($lines)-$line_number];

 // Daten in ein Array schreiben
 $data = explode(";", $lastentry);

 // CSV-Daten (Tagesdatei / 5min Werte) auslesen und in IPS Variablen schreiben
 $wr1_ertrag = doubleval(str_replace(',','.',trim(substr($data[5],0))));
 $wr1_leistung = doubleval(str_replace(',','.',trim(substr($data[6],0))));
 $wr2_ertrag = doubleval(str_replace(',','.',trim(substr($data[1],0))));
 $wr2_leistung = doubleval(str_replace(',','.',trim(substr($data[2],0))));
 $wr3_ertrag = doubleval(str_replace(',','.',trim(substr($data[3],0))));
 $wr3_leistung = doubleval(str_replace(',','.',trim(substr($data[4],0))));
 $ddMMyyyy_HHmm = strval(str_replace(',','.',trim(substr($data[0],0))));

 $HHmm = substr($ddMMyyyy_HHmm, 11, strrpos($ddMMyyyy_HHmm, ' '));            // Umwandlung von Datum+Uhrzeit in Uhrzeit.
 $ddMMyyyy = substr($ddMMyyyy_HHmm, 0, strrpos($ddMMyyyy_HHmm, ' '));        // Umwandlung von Datum+Uhrzeit in Datum.

Ich hoffe die Infos helfen Dir weiter.
Allein schon mit dem ersten Skript zum holen der CSV Files kannst Du mit dem kostenpflichtigen „Solaranalyzer“ Tool (gibt’s für Android und PC Windows/Linux) alle Daten auswerten und hast eine vollwertige Webbox. Da der IPS Server sowieso bei den meisten rund um die Uhr läuft kann man sich die 500€ für eine extra Webbox sparen.

Update:
Der Batch Export funktioniert mit: 1.02.7, 1.03.4 und 1.05.0
Der Btach Export funktioniert NICHT mit: 1.04.21 (Plant login failed!)
Das waren zumindest die aktuellen Versionen welche ich zum Testen hatte.

Bis einschließlich 1.03.4 ist nur eine Verbindung via Bluetooth möglich.
Ab Version 1.04.21 ist eine Verbindung mit Bluetooth und Speedwire möglich.

Somit sollte die derzeit aktuelle Version (stand heute: 1.05.0) funktionieren.
Allerdings hat sich das Zeitformat von hh:mm mit der Version 1.05.0 nach hh:mm:ss geändert.
Bei Bedarf dies evtl. anpassen.

Hallo mr_cg

Deshalb im Download Archiv nach einer Version kleiner 1.05.00 suchen!!!

da habe ich leider ein sehr großes Problem suche jetzt seit zwei Tagen im Netz aber jeder link von SE Version kleiner als 1.05
führt ins nix.

Hast du vielleicht noch eine zur Hand ??

Viele Grüße Torsten

Hallo Thorsten,

Software gibt es bei SMA nach kostenloser registerierung. Es gibt dort die aktuelle Version und ein Archiv mit älteren Versionsständen. https://www.sma.de/service/downloads.html ( Klappt wie gesagt nur nach Registierung ).
Kannst Du ja mal versuchen. Ansonsten müsste ich meine alte mal raussuchen ( auf Anhieb habe ich sie nicht gefunden… )

Da ich aber im Moment vor genau dem gleichen Probleme stehe ( Verbindung eines SMA TRIPOWER 8000 mit IP-Symcon ) habe ich mir die Skripte von mr_cg einmal näher angeschaut. Im Prinzip ist das eine super Lösung. Habe hierzu noch ein paar Anmerkungen und ein großes Problem.

Eigentlich müsste die Datumsabfrage auch einfach mit $heute = date( „Ymd“ ); bzw. $gestern = date(„Ymd“, mktime(0, 0, 0, date(„m“), date(„d“)-1, date(„Y“))); erzeugt werden können, dann braucht man später in den Parametern nur $gestern-$heute anzugeben.

Was bei mir komischerweise nich funktioniert ist der IPS_Execute Aufruf. Ich kann mit IPS_Execute eine Batchdatei direkt auf C: aufrufen. Sobald der Pfad aber etwas komplexer wird ( Hier zum testen : „C:\Program Files\SMA\Sunny Explorer est.bat“ ) ignoriert er den Befehl einfach. Hat da vielleicht jemand eine Idee zu. Es wäre blöd jetzt auf C:\ eine Batchdatei abzulegen die an einem anderen Ord bzw. Pfad ein anderes Programm aufruft…

In der Hoffnung das jemand eine gute Idee hat.

Grüße
Thomas

Ich habe den Beitrag #6 bezüglich der Sunny Explorer Versionen korrigiert und aktualisiert. (Siehe oben)

@tom80
Evtl. machen die Leerzeichen im Filenamen Probleme?
Wenn Batch direkt ausgeführt wird … geht der Export dann?
Kommen Fehler in der IPS Console wenn das Skript direkt in der Console gestartet wird?

Hallo mr_cg,

vielen Dank für die gigantisch schnelle Antwort.
In folgender Konfiguration funktioniert das Skript:


<?
// SETTINGS
 $sma_password = "0000";         																					// Userpassword
 $sma_userlevel = "user";        																						// "User" oder "Installer"
 $sma_sunnyexplorer_exe = "C:\\Program Files\\SMA\\Sunny Explorer\\sunnyexplorer.exe";  						// Pfad zur ausfhrbaren Datei "SunnyExplorer.exe"
 $sma_sunnyexplorer_sx2 = '"C:\Users\IPSYM\Documents\SMA\Sunny Explorer\Meine PV-Anlage 1.sx2"';         // Pfad zur Sunny Explorer Konfigurationsdatei (.sx2)
 $sma_sunnyexplorer_dir = '"C:\IP-Symcon\Export\PV_CSV_TEMP"'; 														// Export-Verzeichnis. Hier werden die CSV Dateien exportiert.
 $sma_sunnyexplorer_exp = "energy5min";                                             							// CSV Export Modus: energy5min, energydaily, events

 // Bestimmung des aktuellen Datums
 $heute = date( "Ymd" );
 $gestern = date("Ymd", mktime(0, 0, 0, date("m"), date("d")-1, date("Y")));
 $parameter = $sma_sunnyexplorer_sx2. " -userlevel ".  $sma_userlevel . " -password " . $sma_password ." -exportdir ". $sma_sunnyexplorer_dir." -exportrange ". $gestern."-".$heute . " -export ". $sma_sunnyexplorer_exp;
 
 // Meldung zum debuggen - inkl. Anzeige der Parameter
 IPS_LogMessage($_IPS['SELF']," PV EXP:".$sma_sunnyexplorer_exe." ".$parameter);
 
 // CSV-Daten (Tageswerte / 5min-Werte) mit Sunny Explorer aus den Wechselrichter auslesen
 IPS_EXECUTE("$sma_sunnyexplorer_exe","$parameter",false,false);
?>


Wieso wird der Backslash im Programmpfad als Maskierungszeichen interpretiert und bei den Parameterdaten nicht ?
So wirklich verstanden habe ich das noch nicht.

Auf jeden Fall werden die Daten jetzt mit o.g. Skript sauber exportiert.

Mal sehen ob ich jetzt die Daten auch noch in IPSymcon importieren kann.
Ich werde berichten.

Gruß Thomas

Hallo,

ich habe problemen mit das auslesen und anzeigen von die Daten.
Kann jemand helfe?



echo $daten;


hiermit getan. (Im Rahmen der Möglichkeiten, die Du durch Deine ausführliche Beschreibung gegeben hast)

Sehr witzig, aber echt.
Thema: PV Anlage mit IPS verbinden

Das exportieren von das CSV Datei klappt, aber wie kriege ich die Daten In IPS, und kann ich das auch in ein Grafik sehen lassen?

Ich würde mich über sinnige Antworten freuen

In IPS können keine Daten importiert werden. Was hast du vor?

Gruß

Burkhard

Und ich über aussagekräftige Beiträge, mit Beschreibung des Ist-Zustandes, der Fehlermeldung und ggfls. auch noch was man denn alles schon probiert hat.

Bringt es ja auf den Punkt!

Und bezüglich Anzeige von Daten empfehle ich das Studium der Anleitung:

http://www.ip-symcon.de/service/dokumentation/komponenten/visualisierungen/webfront/struktur/graph/

Ich habe ein Sunny Tripower und will die Daten in IPS angezeigt haben. Mit das Skript von diese Beitrag werden die Daten von Sunny Explorer exportiert in ein CSV Datei.

soweit alles gut.

Jetzt will ich die Daten in IPS angezweigt haben aber wie?

kann mir dann keiner helfe?

Bei was helfen ???

Gruß
Bruno

Hallo,

Ich würde den Ansatz über die Highcharts probieren. Sollte funktionieren indem man bei der Aufbereitung die Daten mitgibt.

Viele Grüße

Burkhard

Mir ist jetzt aber noch immer nicht deutlich wie ich die Daten aud mein Sunny Tripower in IPS zeigen kann