Hallo Alex,
OK. Ist ja auch eine Art S0-Counter. Genau auf dieser Basis läuft die neue Version meine Visualisierung und zwar genau seit gestern.
Einziger Unterschied, ich arbeit halt mit S0-Countern die mir je kW/h 2000Impulse liefert. Aus diesen Impulsen errechne ich mir zu jedem Abfragezyklus (bei mir 2 Minuten) die aktuelle Leistung, den Tages- sowie den Monatsertrag und schreibe ihn mir mit den DUG-Tools (bei Aktualisierung) in die DB.
Nach dem gleich Schema kannst Du mit dem Zählerrad arbeiten. Wieviel Umdrehung per kW/h ist den Counterwert.
Mit dem Counterwert sowie einigen Hilfsvariablen zur Berechnung und zur endgültigen Ausgabe hast Du dann alle Daten zur Visualisierung in IPS und somit in Webfront.
Habe Dir mal ein Skript anghängt das ich freundlicherweise von andrge zur Verfügung gestellt bekommen habe. Nach ein wenig Einarbeitung wirst Du sicherlich damit klarkommen (ist bei fremden Skripten halt so). Ist im Prinzip ein einfacher Dreisatz.
<?
//PV-Ertrag
//Digitaler Stomzähler 2000 Impulse = 1KW
$Zaehlerfaktor = 0.0005 ; //Digitaler Stomzähler 800 Impulse = 1KW, kleinste Einheit = 0,5W
$Auslesefaktor = 30; // 1min = 60, 2min = 30, 5min = 12, 10min = 6
//Aktuelle Leistung
//**********************************************************************
$counter_neu = GetValueInteger(56123 /*[Keller\Serverraum\Zähler PV 1 und 2\Zähler 1]*/); // aktueller Zaehlerstand (Zähler 2) einlesen
$counter_alt = GetValueInteger(45275 /*[Keller\Serverraum\Zähler PV 1 und 2\Zähler 1 Zwischen]*/); //alter Zählerwert
$delta = $counter_neu - $counter_alt; //alter Wert von neuen Wert abziehen
SetValueInteger(45275 /*[Keller\Serverraum\Zähler PV 1 und 2\Zähler 1 Zwischen]*/ , $counter_neu ); //aktueller Zählerwert ablegen
SetValueInteger(51940 /*[Keller\Serverraum\Zähler PV 1 und 2\Zähler 1 Diff]*/, $delta ); //Ausgabe Differenz
//Berechung Verbrauch
//**********************************************************************
$deltaKWh = ($delta * $Zaehlerfaktor) * $Auslesefaktor ; // Verbrauch Impulse = 1KW * Faktor der Auslesung
if ($deltaKWh < 10) //Wenn die aktuelle Leistung kleiner als 10KW, dann Ausgabe Freigabe für Anzeige
{
$round_deltaKWh = round ($deltaKWh, 3); // auf 2 Stellen runden
SetValueFloat(11943 /*[Status\PV-Anlage\Anlage 1\Aktueller Ertrag PV 1]*/ , $round_deltaKWh); // Ausgabe Stromeinspeisung pro Std.
}
//Tagesleistung
//**********************************************************************
//Aufaddieren Summe Tag, Integer
//****************************************************************
$Solar_Tagesleistung = GetValueInteger(44039 /*[Status\PV-Anlage\Anlage 1\Zähler Tagesleistung PV 1]*/ ); //Solar Tagesleistung Summe einlesen
$Solar_Tagesleistung_neu = $Solar_Tagesleistung + $delta; //neue Tagesleistung berechnen
SetValueInteger(44039 /*[Status\PV-Anlage\Anlage 1\Zähler Tagesleistung PV 1]*/ , $Solar_Tagesleistung_neu);
//Monatsleistung
//**********************************************************************
//Aufaddieren Summe Monat, Integer
//****************************************************************
$Solarstrom_Mon_Summe = GetValueInteger(30547 /*[Status\PV-Anlage\Anlage 1\Zähler Monatsleistung PV 1]*/ );
$Solarstrom_Mon_Summe_neu = $Solarstrom_Mon_Summe + $delta ;
SetValueInteger(30547 /*[Status\PV-Anlage\Anlage 1\Zähler Monatsleistung PV 1]*/ , $Solarstrom_Mon_Summe_neu); //
if ($deltaKWh < 50.0) //Wenn die aktuelle Leistung kleiner als 50KW, Werte zum Tages- und Monatsertrag dazu zählen
{
//Anzeige Tagesleistung
//*************************************************************
$Solar_Tagesleistung_KW = $Solar_Tagesleistung_neu * $Zaehlerfaktor;
$Round_Solar_Tagesleistung = round ($Solar_Tagesleistung_KW, 2); // auf 2 Stellen runden
SetValueFloat (50871 /*[Status\PV-Anlage\Anlage 1\Tagesertrag PV 1 kW/h]*/ , $Round_Solar_Tagesleistung);
//Anzeige Monatswerte
//*************************************************************
$Solarstrom_Mon_Summe_neu_1 = $Solarstrom_Mon_Summe_neu * $Zaehlerfaktor;
$Round_Solarstrom_Mon_Summe_neu_1 = round ($Solarstrom_Mon_Summe_neu_1, 2); // auf 2 Stellen runden
SetValueFloat ( 39624 /*[Status\PV-Anlage\Anlage 1\Monatsertrag PV 1 kW/h]*/ , $Round_Solarstrom_Mon_Summe_neu_1);
}
else
{
}
?>
Mit Sicherheit gibt es auch noch einen einfacheren Weg aber es funktioniert.
Zu den Graphen:
Der PV_Leistung ist ja nur eine einfache Liniengrafik
Der PV_Ertrag ist als Balkendiagramm mit einem Intervall von 24 Stunden und dem Max-Wert