Hallo zusammen,
meine allererste Scriptbastelstunde hat mich zu einer Erweiterung des Scriptes von Steiner um einen Hochrechnung für die Verbrauchssensibilisierung geführt.
Im dritten Teil, erfolgt die Berechnung des täglichen Verbrauches. Dieser Teil sollte nur ausgeführt werden wenn der Mitternachtsevent ausgeführt wird.
Leider klappt das nicht wie gewünscht und dieser Wert wird ebenfalls alle 15 Min. aktualisiert. Habe ich hier Mist gebaut - aber WO?
Danke, Stromer
<?
$imp_kw = 1000; // Impulse pro kw/h
$counter = GetValue(16994 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter aktuelle Leistungsaufnahme]*/); // EKM Counter aktuell
// 15 minütlicher Verbrauch
// echo "Counter: $counter
"; Anzeige aktueller Counter
$delta = $counter - GetValue(50509 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter old 15 Min]*/); // delta = Zählerdelta 15 Min.
// echo "Delta: $delta
"; // Anzeige Differenz Delta Counter
$data = IPS_GetVariable(50509 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter old 15 Min]*/);
$delta_t =time()-($data['VariableUpdated']); // Zeitdiff = aktuelle Zeit - Zeit wo die Var zuletzt upgedatet wurde
// echo "delta_t: $delta_t Sekunden
"; // Delta Zeit
SetValue(50509 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter old 15 Min]*/, $counter); // setzen Conter old 15 min mit dem aktuellen Wert
$delta = (double)($delta * 3600 / $delta_t / $imp_kw);
SetValue(53656 /*[12 Stromzähler\EKM-868 (Counter) Z1\durchschnittlicher Verbrauch /h letzte 15 Min]*/,$delta); // setzen Var für durchschn. Verbrauch je Stunde
// echo "Verbrauch: ".$delta ." kW/h
";
// 15 minütlicher Verbrauch auf ein Jahr hochgerechnet
$delta_kj = $delta * 8760;
SetValue(13040 /*[12 Stromzähler\EKM-868 (Counter) Z1\1 Jahr Hochrechnung letzte 15 Min kW/h]*/,$delta_kj);
// 15 minütlicher Verbrauch Kosten
$delta_k = $delta * GetValue(52385 /*[12 Stromzähler\EKM-868 (Counter) Z1\epreis_kwh]*/); // durschn Verbrauch letzte 15 Min * Preis je kWh
echo "Kosten letzte 15 Min.: ".$delta_k ." €";
SetValue(26415 /*[12 Stromzähler\EKM-868 (Counter) Z1\Kosten letzte 15 Min]*/,$delta_k); // Kosten letzte 15 Min -> Variable setzen
// 15 minütlicher Verbrauch Kosten auf ein Jahr hochgerechnet
$delta_kj = GetValue(26415 /*[12 Stromzähler\EKM-868 (Counter) Z1\Kosten letzte 15 Min]*/) * 8760; // Kosten hochgerechnet auf ein Jahr 35040 viertel Stunden
echo "1 Jahr Hochrechnung letzte 15 Min.: ".$delta_kj ." €";
SetValue(46329 /*[12 Stromzähler\EKM-868 (Counter) Z1\1 Jahr Hochrechnung letzte 15 Min €/h]*/,$delta_kj); // 1 Jahr Hochrechnung der Kosten letzte 15 Min -> Variable setzen
// stündlicher Verbrauch
$data = IPS_GetVariable(15850 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter old 60 Min]*/); // Counter letzte 60 min
$delta_t =time()-($data['VariableUpdated']);
if ($delta_t >= 3600){ // wenn delta > 3600 sekunden dann
$delta = $counter - GetValue(15850 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter old 60 Min]*/); // neuer counter - conter vor 60 min
SetValue(15850 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter old 60 Min]*/, $counter ); // neuer wert in counter setzen für die nächste berechnung
$delta = (double)($delta * 3600 / $delta_t / $imp_kw); //
SetValue(11067 /*[12 Stromzähler\EKM-868 (Counter) Z1\durchschnittlicher Verbrauch /h letzte 60 Min]*/,$delta);
//stündliche Kosten
$delta_k = $delta * GetValue(52385 /*[12 Stromzähler\EKM-868 (Counter) Z1\epreis_kwh]*/);
SetValue(33278 /*[12 Stromzähler\EKM-868 (Counter) Z1\Kosten letzte 60 Min]*/,$delta_k);
// stündliche Hochrechnung Verbrauch
$delta_vj = GetValue(11067 /*[12 Stromzähler\EKM-868 (Counter) Z1\durchschnittlicher Verbrauch /h letzte 60 Min]*/) * 8760; // Kosten hochgerechnet auf ein Jahr 8760 Stunden
SetValue(20786 /*[12 Stromzähler\EKM-868 (Counter) Z1\1 Jahr Hochrechnung letzte 60 Min kW/h]*/,$delta_vj);
// stündliche Hochrechnung Kosten (Gesamtmenge * kW Preis)
$delta_kj = GetValue(20786 /*[12 Stromzähler\EKM-868 (Counter) Z1\1 Jahr Hochrechnung letzte 60 Min kW/h]*/) * GetValue(52385 /*[12 Stromzähler\EKM-868 (Counter) Z1\epreis_kwh]*/);
SetValue(27917 /*[12 Stromzähler\EKM-868 (Counter) Z1\1 Jahr Hochrechnung letzte 60 Min €/]*/,$delta_kj);
}
// Tages-Verbrauch
$id_event = $IPS_EVENT;
if ($id_event = 51639 /*[12 Stromzähler\EKM-868 (Counter) Z1\MomentanVerbrauchsberechnung Z1\]*/){
$delta = $counter - GetValue(26131 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter old Midnight]*/); // Counter um Mitternacht
SetValue(26131 /*[12 Stromzähler\EKM-868 (Counter) Z1\Counter old Midnight]*/, $counter );
$delta = (double)($delta / 24 / $imp_kw);
SetValue(43107 /*[12 Stromzähler\EKM-868 (Counter) Z1\durchschnittlicher Verbrauch Gestern]*/,$delta);
// Kosten gestern (Verbrauch gestern * kW Preis)
$delta_k = $delta * GetValue(52385 /*[12 Stromzähler\EKM-868 (Counter) Z1\epreis_kwh]*/);
SetValue(10208 /*[12 Stromzähler\EKM-868 (Counter) Z1\Kosten Gestern]*/,$delta_k);
// Tag Hochrechnung Verbrauch
$delta_vj = GetValue(43107 /*[12 Stromzähler\EKM-868 (Counter) Z1\durchschnittlicher Verbrauch Gestern]*/) * 365; // Verbrauch hochgerechnet auf ein Jahr 365 Tage
SetValue(29219 /*[12 Stromzähler\EKM-868 (Counter) Z1\1 Jahr Hochrechnung letzter Tag kW/h]*/,$delta_vj);
// Tag Hochrechnung Kosten (Gesamtmenge * kW Preis)
$delta_kj = GetValue(29219 /*[12 Stromzähler\EKM-868 (Counter) Z1\1 Jahr Hochrechnung letzter Tag kW/h]*/) * GetValue(52385 /*[12 Stromzähler\EKM-868 (Counter) Z1\epreis_kwh]*/);
SetValue(10711 /*[12 Stromzähler\EKM-868 (Counter) Z1\1 Jahr Hochrechnung letzter Tag €/h]*/,$delta_kj);
}
?>