Damit die Daten aus dem SRNE TOYO SR-ML2440 MPPT Solar Laderegler auch in meine Hausautomatisierung (IP-Symcon) einfließen, habe ich ein kleines PHP Script geschrieben, welches die Werte der CSV-Datei – erstellt durch Solar Station Manager – in Variablen von IP-Symcon schreibt.
<?
// Ausgabedatei auslesen und auswerten
$datei = 'C:\Program Files (x86)\Solar Station Monitor\Laderegler\1.csv'; //hier den Dateinamen anpassen
$array = file ( $datei ); // Datei einlesen
$daten = end ($array); // letzen Satz übernehmen
$elemente = explode(",", $daten); // letzen Satz in einzelne Elemente aufteilen
$battCurrent = "$elemente[12],$elemente[13]";
//echo $battCurrent;
SetValueFloat(57487 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Batterie Ampere]*/, $battCurrent);
$battVolt = "$elemente[9],$elemente[10]";
//echo $battVolt;
SetValueFloat(34322 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Batterie Volt]*/, $battVolt);
$battTemp = "$elemente[11]";
//echo $battTemp;
SetValueFloat(35436 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Batterie Temperatur]*/, $battTemp);
$Modus = "$elemente[8]";
//echo $Modus;
SetValueString(27620 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Modus]*/, $Modus);
$SolarWatt = "$elemente[7]";
//echo $SolarWatt;
SetValueFloat(55116 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Solar Watt]*/, $SolarWatt);
$SolarVolt = "$elemente[5],$elemente[6]";
//echo $SolarVolt;
SetValueFloat(48487 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Solar Volt]*/, $SolarVolt);
$SolarAmpere = "$elemente[3],$elemente[4]";
//echo $SolarAmpere;
SetValueFloat(20902 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Solar Ampere]*/, $SolarAmpere);
$BattSOC = "$elemente[14]";
//echo $BattSOC;
SetValueInteger(32628 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Batterie SOC]*/, $BattSOC);
$TempDevice = "$elemente[20]";
//echo $TempDevice;
SetValueFloat(10435 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Temperatur Gerät]*/, $TempDevice);
$BatterieStatus = "$elemente[22]";
//echo $BatterieStatus;
SetValueString(50828 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Batterie Status]*/, $BatterieStatus);
$Arbeitsstatus = "$elemente[23]";
//echo $Arbeitsstatus;
SetValueString(55648 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\Arbeitsstatus]*/, $Arbeitsstatus);
$unbekannt = "$elemente[21]";
//echo $unbekannt;
SetValueString(33670 /*[Geräte und Funktionen\Scripte\Solar\Laderegler\SR-ML2440\noch unbekannt]*/, $unbekannt);
?>
