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.