NEWS
Durchschnittswerte errechnen
-
Hallo,
da ich gezwungen bin etwas gegen hohe Stromkosten zu tun und ich eine PV-Anlage auf dem Dach habe, würde ich jetzt gern feststellen inwiefern sich eine Erweiterung auf die Kosten auswirkt.
Im folgenden Script wird eine größere Anlage simuliert aus Daten die die bisherige Anlage liefert.
// Objekt erstellen createState('PV_Anlage.PV-Leistung-Sim',0, { name: 'PV-Anlage: PV-Leistung-Sim', desc: 'aktuelle PV-Leistung Simuliert', read: true, write: true, type: 'number', unit: 'Watt' }); createState('PV_Anlage.Bezug-Sim',0, { name: 'PV-Anlage: Bezug-Sim', desc: 'aktueller Bezug Simuliert', read: true, write: true, type: 'number', unit: 'Watt' }); createState('PV_Anlage.Einspeisung-Sim',0, { name: 'PV-Anlage: Einspeisung-Sim', desc: 'aktuelle Einspeisung Simuliert', read: true, write: true, type: 'number', unit: 'Watt' }); createState('PV_Anlage.Gesamtverbrauch',0, { name: 'PV-Anlage: Gesamtverbrauch', desc: 'Gesamtverbrauch im Haus', read: true, write: true, type: 'number', unit: 'Watt' }); var PVfestLeistung=2.5, // <- Hier Daten ändern PVSimuliertLeistung=8.5; // <- Hier Daten ändern var idPVLeistungSim = 'PV_Anlage.PV-Leistung-Sim', idBezugSim='PV_Anlage.Bezug-Sim', idEinspeisungSim='PV_Anlage.Einspeisung-Sim', idGesamtVerbrauch='PV_Anlage.Gesamtverbrauch', idPVLeistung = 'modbus.0.inputRegisters.30775_PVLeistung', idNetzbezug = 'modbus.0.inputRegisters.30865_Bezug'; // Berechnung Gesamtverbrauch vom Haus on({ id: idNetzbezug, change: 'ne', valGt: 0 }, function (data) { var gesa = getState(idNetzbezug).val + getState(idPVLeistung).val; if (getState(idNetzbezug).val > 0 && getState(idPVLeistung).val > 0) setState("PV_Anlage.Gesamtverbrauch", gesa); }); on({ id: idPVLeistung, change: 'ne', valGt: 0 }, function (data) { var quot = PVSimuliertLeistung / PVfestLeistung; var pvsim = getState(idPVLeistung).val * quot; var bezug = getState(idGesamtVerbrauch).val - pvsim if (pvsim <bezug) (einsp="0);" if/(getstate(idpvleistung).val="">0) setState("PV_Anlage.PV-Leistung-Sim", pvsim); if (bezug >0) setState("PV_Anlage.Bezug-Sim", bezug); if (bezug <0) setState("PV_Anlage.Bezug-Sim", 0); if (pvsim>bezug) var einsp=pvsim-bezug; setState("PV_Anlage.Einspeisung-Sim", einsp); });</bezug)>
Jetzt müsste ich zur Erfassung den heutigen Durchschnittswert von "PV_Anlage.PV-Leistung-Sim", "PV_Anlage.Bezug-Sim" und "Einspeisung-Sim" bilden um daraus die kWh Stunden von heute zu erfahren. Kann mir da jemand helfen?
Gruß und Danke
Marco
-
Das könnte gehen indem Du für die Datenpunkte einen der History-Adapter aktivierst. Damit werden alle Werte geloggt.
Dann kannst Du per "GetHistory" (Anleitung/Beispielcode auf den Github-Seiten der Adapter) Daten Abfragen und auch sowas wie "average" und so nutzen
-
Du kannst sicherlich die Energiewerte (Einspeisung, Verbrauch) täglich zu einer festen Uhrzeit (schedule) abfragen. Die durchschnittliche Leistung eines Tages lässt sich daraus einfach berechnen:
24-h-Durchschnitts-Leistung = (Energie_heute - Energie_gestern) / 24 h