Hallo zusammen,
ich konnte mich nicht mehr an den ursprünglichen Beitrag zum Skript von „Ziege-One“ hängen. Also habe ich einen Neuen Beitrag geschrieben.
Ich habe das Skript um eine Funktion für das Auslesen der aktuellen Tagesenergie ergänzt und das Skript IPS 2.5 kompatibel gemacht.
Nach dem Anlegen der Variablen müssen im Skript die Variablen IDs geändert werden.
Grüße
Markus
?
/*
File : Piko Solar.php
Trigger :
Interval :
Kostal piko 5.5
*/
$url = "http://pvserver:pvwr@xxx.xxx.xxx.xxx"; // Hier die Webseite vom Websever eintragen pvserver = user und pvwr = Password
$Ausgabe = file_get_contents("$url", "r");
//AC-Leistung_Aktuel
$pos1 = strpos($Ausgabe,"aktuell</td>");
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+65),$pos2-$pos1-65);
$data1 = (float) $data;
SetValueFloat(13812 /*[Photovoltaik\AC-Leistung_Aktuell]*/, $data1);
echo "AC_Leistung_Aktuell: ";
echo $data1;
echo "
";
//AC_Leistung_Status
$pos1 = strpos($Ausgabe,"Status</td>");
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+33),$pos2-$pos1-33);
//$data1 = (float) $data;
SetValueString(13325 /*[Photovoltaik\AC-Leistung_Status]*/, $data);
echo "AC_Leistung_Status: ";
echo $data;
echo "
";
//Energie_Gesamtertrag
$pos1 = strpos($Ausgabe,"Gesamtenergie</td>");
$pos2 = strpos($Ausgabe,"</td>",$pos1+30);
$data = substr($Ausgabe,($pos1+70),$pos2-$pos1-70);
$data1 = (float) $data;
SetValueFloat(37729 /*[Photovoltaik\Energie_Gesamtertrag]*/, $data1);
echo "Energie_Gesamtertrag: ";
echo $data1;
echo "
";
//Energie_Tagesertrag_Aktuell
$pos1 = strpos($Ausgabe,"Tagesenergie</td>");
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+70),$pos2-$pos1-70);
$data1 = (float) $data;
SetValueFloat(56744 /*[Photovoltaik\Energie_Tagesertrag_Aktuell]*/,$data1);
echo "Energie_Tagesertrag_Aktuell: ";
echo $data1;
echo "
";
//PV_Generator_String1_Spannung
$pos1 = strpos($Ausgabe,"Spannung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(10873 /*[Photovoltaik\PV-Generator_String1_Spannung]*/, $data1);
echo "PV_Generator_String1_Spannung: ";
echo $data1;
echo "
";
//Ausgangsleistung_L1_Spannung
$pos1 = strpos($Ausgabe,"Spannung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(22705 /*[Photovoltaik\Ausgangsleistung_L1_Spannung]*/, $data1);
echo "Ausgangsleistung_L1_Spannung: ";
echo $data1;
echo "
";
//PV_Generator_String1_Strom
$pos1 = strpos($Ausgabe,"Strom</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+63),$pos2-$pos1-63);
$data1 = (float) $data;
SetValueFloat(49567 /*[Photovoltaik\PV-Generator_String1_Strom]*/, $data1);
echo "PV_Generator_String1_Strom: ";
echo $data1;
echo "
";
//Ausgangsleistung_L1_Leistung
$pos1 = strpos($Ausgabe,"Leistung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(34679 /*[Photovoltaik\Ausgangsleistung_L1_Leistung]*/, $data1);
echo "Ausgangsleistung_L1_Leistung: ";
echo $data1;
echo "
";
//PV_Generator_String2_Spannung
$pos1 = strpos($Ausgabe,"Spannung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(55218 /*[Photovoltaik\PV-Generator_String2_Spannung]*/, $data1);
echo "PV_Generator_String2_Spannung: ";
echo $data1;
echo "
";
//Ausgangsleistung_L2_Spannung
$pos1 = strpos($Ausgabe,"Spannung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(26528 /*[Photovoltaik\Ausgangsleistung_L2_Spannung]*/, $data1);
echo "Ausgangsleistung_L2_Spannung: ";
echo $data1;
echo "
";
//PV_Generator_String2_Strom
$pos1 = strpos($Ausgabe,"Strom</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+63),$pos2-$pos1-63);
$data1 = (float) $data;
SetValueFloat(54377 /*[Photovoltaik\PV-Generator_String2_Strom]*/, $data1);
echo "PV_Generator_String2_Strom: ";
echo $data1;
echo "
";
//Ausgangsleistung_L2_Leistung
$pos1 = strpos($Ausgabe,"Leistung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(19114 /*[Photovoltaik\Ausgangsleistung_L2_Leistung]*/, $data1);
echo "Ausgangsleistung_L2_Leistung: ";
echo $data1;
echo "
";
//PV_Generator_String3_Spannung
$pos1 = strpos($Ausgabe,"Spannung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(57986 /*[Photovoltaik\PV-Generator_String3_Spannung]*/, $data1);
echo "PV_Generator_String3_Spannung: ";
echo $data1;
echo "
";
//Ausgangsleistung_L3_Spannung
$pos1 = strpos($Ausgabe,"Spannung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(46833 /*[Photovoltaik\Ausgangsleistung_L3_Spannung]*/, $data1);
echo "Ausgangsleistung_L3_Spannung: ";
echo $data1;
echo "
";
//PV_Generator_String3_Strom
$pos1 = strpos($Ausgabe,"Strom</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+63),$pos2-$pos1-63);
$data1 = (float) $data;
SetValueFloat(35947 /*[Photovoltaik\PV-Generator_String3_Strom]*/, $data1);
echo "PV_Generator_String3_Strom: ";
echo $data1;
echo "
";
//Ausgangsleistung_L3_Leistung
$pos1 = strpos($Ausgabe,"Leistung</td>",$pos2);
$pos2 = strpos($Ausgabe,"</td>",$pos1+20);
$data = substr($Ausgabe,($pos1+66),$pos2-$pos1-66);
$data1 = (float) $data;
SetValueFloat(18457 /*[Photovoltaik\Ausgangsleistung_L3_Leistung]*/, $data1);
echo "Ausgangsleistung_L3_Leistung: ";
echo $data1;
echo "
";
?>