+ Antworten
Ergebnis 1 bis 3 von 3
  1. #1
    Registriert seit
    Oct 2006
    Beiträge
    8

    Thumbs up WR Kostal PIKO 5.5 auslesen

    Hi

    Hier ein Script zum auslesen der Webseite des Kostal PIKO 5.5

    einfach die Url anpassen und los gehts

    PHP-Code:
    <?
    <?
    /*
    *******************************
     IP-SYMCON Event Scripting
    *******************************
    File     : PV_WR.ips.php
    Trigger  : 
    Interval : 
               Kostal piko 5.5


    */

       
    $url "http://pvserver:pvwr@192.168.4.170";  // Hier die Webseite vom Websever eintragen pvserver = user und pvwr = Password

     // Varialen anlegen
    /*
       IPS_CreateVariable("AC-Leistung_aktuell", "Float");
       IPS_CreateVariable("AC-Leistung_Status", "String");
       
       IPS_CreateVariable("Energie_Gesamtertrag", "Float");
       IPS_CreateVariable("Energie_Gesamtertrag_Tag", "Float");
       
       IPS_CreateVariable("PV-Generator_String1_Spannung", "Float");
       IPS_CreateVariable("PV-Generator_String1_Strom", "Float");
       IPS_CreateVariable("PV-Generator_String2_Spannung", "Float");
       IPS_CreateVariable("PV-Generator_String2_Strom", "Float");
       IPS_CreateVariable("PV-Generator_String3_Spannung", "Float");
       IPS_CreateVariable("PV-Generator_String3_Strom", "Float");
       
       IPS_CreateVariable("Ausgangsleistung_L1_Spannung", "Float");
       IPS_CreateVariable("Ausgangsleistung_L1_Leistung", "Float");
       IPS_CreateVariable("Ausgangsleistung_L2_Spannung", "Float");
       IPS_CreateVariable("Ausgangsleistung_L2_Leistung", "Float");
       IPS_CreateVariable("Ausgangsleistung_L3_Spannung", "Float");
       IPS_CreateVariable("Ausgangsleistung_L3_Leistung", "Float");
    */

       
    $zeit date("H:i"time());

       if (
    $zeit == "23:59"){
       
    SetValueFloat('Energie_Gesamtertrag_Tag'0);
       }


       
    $Ausgabe file_get_contents("$url""r");
       
       
    $pos1 strpos($Ausgabe,"aktuell</td>");
       
    $pos2 strpos($Ausgabe,"</td>",$pos1+20);
       
    $data substr($Ausgabe,($pos1+65),$pos2-$pos1-65);
       
    $data1 = (float) $data;
       
    SetValueFloat('AC-Leistung_aktuell'$data1);
       echo 
    "AC-Leistung_aktuell: ";
       echo 
    $data1;
       echo 
    "\n";
       
       
    //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('AC-Leistung_Status'$data);
       echo 
    "AC-Leistung_Status: ";
       echo 
    $data;
       echo 
    "\n";
       
       
    //Energie_Gesamtertrag

       
    $pos1 strpos($Ausgabe,"Gesamtertrag</td>");
       
    $pos2 strpos($Ausgabe,"</td>",$pos1+30);
       
    $data substr($Ausgabe,($pos1+70),$pos2-$pos1-70);
       
    $data1 = (float) $data;
       
    SetValueFloat('Energie_Gesamtertrag'$data1);
       echo 
    "Energie_Gesamtertrag: ";
       echo 
    $data1;
       echo 
    "\n";
       
       
    //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('PV-Generator_String1_Spannung'$data1);
       echo 
    "PV-Generator_String1_Spannung: ";
       echo 
    $data1;
       echo 
    "\n";
       
       
    //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('Ausgangsleistung_L1_Spannung'$data1);
       echo 
    "Ausgangsleistung_L1_Spannung: ";
       echo 
    $data1;
       echo 
    "\n";
       
       
    //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('PV-Generator_String1_Strom'$data1);
       echo 
    "PV-Generator_String1_Strom: ";
       echo 
    $data1;
       echo 
    "\n";

       
    //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('Ausgangsleistung_L1_Leistung'$data1);
       echo 
    "Ausgangsleistung_L1_Leistung: ";
       echo 
    $data1;
       echo 
    "\n";
       
       
    //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('PV-Generator_String2_Spannung'$data1);
       echo 
    "PV-Generator_String2_Spannung: ";
       echo 
    $data1;
       echo 
    "\n";

       
    //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('Ausgangsleistung_L2_Spannung'$data1);
       echo 
    "Ausgangsleistung_L2_Spannung: ";
       echo 
    $data1;
       echo 
    "\n";

       
    //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('PV-Generator_String2_Strom'$data1);
       echo 
    "PV-Generator_String2_Strom: ";
       echo 
    $data1;
       echo 
    "\n";

       
    //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('Ausgangsleistung_L2_Leistung'$data1);
       echo 
    "Ausgangsleistung_L2_Leistung: ";
       echo 
    $data1;
       echo 
    "\n";
       
       
    //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('PV-Generator_String3_Spannung'$data1);
       echo 
    "PV-Generator_String3_Spannung: ";
       echo 
    $data1;
       echo 
    "\n";

       
    //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('Ausgangsleistung_L3_Spannung'$data1);
       echo 
    "Ausgangsleistung_L3_Spannung: ";
       echo 
    $data1;
       echo 
    "\n";

       
    //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('PV-Generator_String3_Strom'$data1);
       echo 
    "PV-Generator_String3_Strom: ";
       echo 
    $data1;
       echo 
    "\n";

       
    //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('Ausgangsleistung_L3_Leistung'$data1);
       echo 
    "Ausgangsleistung_L3_Leistung: ";
       echo 
    $data1;
       echo 
    "\n";
       
       
    // Tagesertrag
       
       
    $aktull GetValueFloat("AC-Leistung_aktuell");
       
    $Tag GetValueFloat("Energie_Gesamtertrag_Tag");
       
       
    //$aktull = $aktull / 1000;
       
       
    $Tagneu = ($aktull 60) + $Tag;
       
       
    SetValueFloat('Energie_Gesamtertrag_Tag'$Tagneu);
       
    /*
    Quelltext der Pv-Server Seite

    <br />
    <b>Warning</b>:  Unable to locate IPSVariable: AC-Leistung_Status in <b>C:\Programme\IP-Symcon\scripts\.currentscript</b> on line <b>54</b><br />
    <!DOCtype HTML PUBLIC "-//W3C//Dtd HTML 4.0 Transitional//EN">
    <html>
    <head>
    <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
    <meta name="Generator" CONTENT="ChrisB">
    <title>PV Webserver</title>
    </head>
    <body nof="(MB=(DefaultMasterborder, 65, 60, 150, 10), L=(HomeLayout, 700, 600))" bgcolor="#EAF7F7" text="#000000" link="#0033CC" vlink="#990099" alink="#FF0000" topmargin=0 leftmargin=0 marginwidth=0 marginheight=0>
    <form method="post" action="">

    <table cellspacing="0" cellpadding="0" width="770" nof="ly">
    <tr><td height="5"></td></tr>
    <tr><td width="190" height="55"></td>
    <td width="400">
      <font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif" size="+3">
      PIKO 5.5
    <br><font size="+1">
      Ziege_one_WR (1)
    </font>
    </font>
    </td>
    <td><img alt="Logo" height="42" width="130" src="KSE.gif"></td>
    </tr>
    </table>

    <font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif">
    <table Border="0" width="100%"><tr>
    <td width="150"></td>
    <td> <hr> </td>
    </tr></table>
    <table cellspacing="0" cellpadding="0" width="770">
    <tr><td></td></tr>
    <tr>
    <td width="190"></td>
    <td colspan="2">
      <b>AC-Leistung</b></td>
    <td>&nbsp</td>
    <td>
      <b>Energie</b></td></tr>
    <tr><td height="10"></td></tr>

    <tr>
    <td width="190"></td>
    <td width="100">
      aktuell</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      642</td>
    <td width="140">&nbsp W</td>
    <td width="100">
      Gesamtertrag</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      28</td>
    <td width="50">&nbsp kWh</td>
    <td>&nbsp</td></tr>
    <tr height="5"><td></td></tr>
    <tr>
    <td width="190"></td>
    <td width="100">
      Status</td>
    <td colspan="4">
      Einspeisen MPP</td>
    <td>&nbsp</td></tr>
    <tr height="8"><td></td></tr>
    <tr><td colspan="7">
    <table align="top" width="100%"><tr>
    <td width="182"></td>
    <td><hr size="1"></font></td>
    </tr><tr><td height="5"></td></tr></table>
    </td></tr>

    <tr>
    <td width="190"></td>
    <td colspan="2">
      <b>PV-Generator</b></td>
    <td width="140">&nbsp</td>
    <td colspan="2">
      <b>Ausgangsleistung</b></td>
    <td width="30">&nbsp</td>
    <td>&nbsp</td></tr>
    <tr><td height="10"></td></tr>
    <tr>
    <td width="190"></td>
    <td width="100">
      <u>String 1</u></td>
    <td width="70">&nbsp</td>
    <td width="140">&nbsp</td>
    <td width="95">
      <u>L1</u></td>
    <td width="70">&nbsp</td>
    <td width="30">&nbsp</td>
    <td>&nbsp</td></tr>
    <tr>
    <td width="190"></td>
    <td width="100">
      Spannung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      344</td>
    <td width="140">&nbsp V</td>
    <td width="100">
      Spannung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      232</td>
    <td width="30">&nbsp V</td>
    <td>&nbsp</td></tr>
    <tr height="2"><td></td></tr>
    <tr valign="top" align="left">
    <td width="190">&nbsp</td>
    <td width="100">
      Strom</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      1.03</td>
    <td width="140">&nbsp A</td>
    <td width="100">
      Leistung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      208</td>
    <td width="30">&nbsp W</td>
    <td>&nbsp</td></tr>
    <tr height="22"><td></td></tr>
    <tr>
    <td width="190"></td>
    <td width="100">
      <u>String 2</u></td>
    <td width="70">&nbsp</td>
    <td width="140">&nbsp</td>
    <td width="100">
      <u>L2</u></td>
    <td width="70">&nbsp</td>
    <td width="30">&nbsp</td>
    <td>&nbsp</td></tr>
    <tr>
    <td width="190"></td>
    <td width="100">
      Spannung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      348</td>
    <td width="140">&nbsp V</td>
    <td width="100">
      Spannung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      235</td>
    <td width="30">&nbsp V</td>
    <td>&nbsp</td></tr>
    <tr height="2"><td></td></tr>
    <tr valign="top" align="left">
    <td width="190">&nbsp</td>
    <td width="100">
      Strom</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      0.99</td>
    <td width="140">&nbsp A</td>
    <td width="100">
      Leistung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      219</td>
    <td width="30">&nbsp W</td>
    <td>&nbsp</td></tr>
    <tr height="22"><td></td></tr>
    <tr>
    <td width="190"></td>
    <td width="100">
      <u>String 3</u></td>
    <td width="70">&nbsp</td>
    <td width="140">&nbsp</td>
    <td width="100">
      <u>L3</u></td>
    <td width="70">&nbsp</td>
    <td width="30">&nbsp</td>
    <td>&nbsp</td></tr>
    <tr>
    <td width="190"></td>
    <td width="100">
      Spannung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      0</td>
    <td width="140">&nbsp
      V</td>
    <td width="95">
      Spannung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      236</td>
    <td width="30">&nbsp V</td>
    <td>&nbsp</td></tr>
    <tr height="2"><td></td></tr>
    <tr valign="top" align="left">
    <td width="190">&nbsp</td>
    <td width="95">
      Strom</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      0.00</td>
    <td width="140">&nbsp
    A</td>
    <td width="95">
      Leistung</td>
    <td width="70" align="right" bgcolor="#FFFFFF">
      214</td>
    <td width="30">&nbsp W</td>
    <td>&nbsp</td></tr>

    <tr><td height="15"></td></tr>
    <tr><td colspan="7">
    <table align="top" width="100%">
    <tr><td width="182"></td>
    <td><hr size="1"></font></td>
    </tr><tr><td height="5"></td></tr></table>
    </td></tr></table>
    <table cellspacing="0" cellpadding="0" width="770">
    <tr><td width="190"></td>
    <td><font face="Arial,Helvetica,Geneva,Sans-serif">
    <b>RS485 Kommunikation</b></td></tr>
    <tr><td height="8"></td></tr>
    <tr><td width="190"></td>
    <td><font face="Arial,Helvetica,Geneva,Sans-serif">
    Wechselrichter&nbsp
    <input type="Text" name="edWrNr" value="1" size="3" maxlength="3">
    <input type="submit" value="Anzeigen/Aktualisieren">
    </td></tr><tr><td height="10"></td></tr>
    </table>
    </td></tr></table></font>

    <hr>
    <font face="Arial,Helvetica,Geneva,Sans-serif,sans-serif">
    <table cellspacing="0" cellpadding="0" width="770">
    <tr><td height="5"></td></tr>
    <tr><td width="190"></td>
    <td width="330">
    <a href="LogDaten.dat">Historie</a>
    &nbsp &nbsp &nbsp
    <a href="Info.fhtml">Infoseite</a></td>
    <td align="right">
    <a href="Solar2.fhtml">Einstellungen</a></td>
    <td width="50"></td>
    </tr></table></font>
    </form>
    </body>
    </html>
    */


    ?>
    mfG Ziege-One
    Geändert von Ziege-One (13.10.09 um 23:15 Uhr)

  2. #2
    Registriert seit
    Dec 2009
    Beiträge
    1

    Standard Skript fuer Piko 5.5

    Hallo,

    bei mir gibts da den folgenden Fehler:

    Fatal error: Call to undefined function SetValueFloat() in /shares/www/piko/piko.php on line 52


    Was mache ich falsch ?

    Gruss
    Frank

  3. #3
    Registriert seit
    Aug 2005
    Ort
    Fürstenfeldbruck-Aich (Bayern)
    Beiträge
    4,048

    Tja mein Freund,

    so wie es aussieht läßt Du das Skript auf einem externen Server laufen auf dem IPS nicht installiert ist.

    SetValue ist ein IPS-Befehl, deshalb ist das Skript auch im IP-Symcon-Forum.
    Gruß
    Werner

    Komponenten:: Homematic(CCU) 250DP, EATON-MOELLER, 1-Wire, WMRS200, 15" Touchdisplay
    Software::
    IPS V4.x, iMobile, WebFront, Logitech Media Server 7.8.x, SONOS
    Hardware:: IPS-Server: ESXi 6.x, Windows 10 Ent, 4 Kerne, 8GB RAM

Ähnliche Themen

  1. Temperaturwerte schnell auslesen!!!
    Von crezs im Forum Allgemeine Diskussion
    Antworten: 3
    Letzter Beitrag: 13.11.06, 08:46
  2. [neuling] wie elv fht auslesen und steuern
    Von pleibling im Forum Allgemeine Diskussion
    Antworten: 7
    Letzter Beitrag: 21.12.05, 11:31