NEWS
Wie? Solar Produktion über Json Monatlich berechnen
-
So weit habe ich das gemacht, aber ich kann bis jetzt keine Daten sehen.
Habe ich irgend etwas falsch gemacht?
@machamster [sagte]: Habe ich irgend etwas falsch gemacht?
idJson enthält keine Datenpunkt-ID, sondern eine URL.
EDIT: Eine URL muss man pollen (Intervall):
const url = ''; // URL eintragen! // Datenpunkte vom Typ "Zahl" unter "0_userdata.0.PV" erstellen! const idPower = '0_userdata.0.PV.Leistung'; // kW const idEnergy = '0_userdata.0.PV.Energie'; // kWh const idAct = '0_userdata.0.PV.aktueller_Monat'; // kWh const idLast = '0_userdata.0.PV.letzter_Monat'; // kWh const idMonth = '0_userdata.0.PV.Stand_Monat'; // kWh var stand = getState(idEnergy).val; // Zählerstand var energy = 100 * stand; // 10 Wh setInterval(function() { httpGet(url, (err, response) => { if (!err) { const status = JSON.parse(response.data).ESSRealtimeStatus; setState(idPower, status.PvPw, true); } }); }, 5000); // alle 5 s on(idPower, function(dp) { energy += dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 36000; stand = Math.round(energy) / 100; // Zählerstand kWh setState(idEnergy, stand, true); setState(idAct, stand - getState(idMonth).val, true); }); schedule('55 59 23 28-31 * *', function() { if(new Date(Date.now() + 10000).getDate() == 1) { // letzter Monatstag setState(idLast, stand - getState(idMonth).val, true); setState(idMonth, stand, true); setState(idAct, 0, true); } });Bitte Code in Code tags posten, damit man daraus kopieren kann.
Verpasse den Datenpunkten noch Einheiten (kW / kWh) und setze sie auf "read only" mit der Rolle "value.power".Beachte bitte, dass ich um eine globale Variable stand ergänzt habe, die den berechneten Zählerstand auf zwei Nachkommastellen gerundet enthält.
-
OK ?? Was müsste ich da den Eintragen?
Ich habe ein Skript am laufen was die Anlage ausliest.
Muss ich da den Punkt eintragen?


-
OK ?? Was müsste ich da den Eintragen?
Ich habe ein Skript am laufen was die Anlage ausliest.
Muss ich da den Punkt eintragen?


@machamster [sagte]: Ich habe ein Skript am laufen was die Anlage ausliest.
Dort gibt es bereits den Datenpunkt "PvPw" mit der Leistung.
Dadurch vereinfacht sich die Ermittlung der Energiewerte:const idPower = '0_userdata.0.Solar.PvPw'; // kW const idEnergy = '0_userdata.0.PV.Energie'; // kWh const idAct = '0_userdata.0.PV.aktueller_Monat'; // kWh const idLast = '0_userdata.0.PV.letzter_Monat'; // kWh const idMonth = '0_userdata.0.PV.Stand_Monat'; // kWh var stand = getState(idEnergy).val; // Zählerstand var energy = 100 * stand; // 10 Wh on(idPower, function(dp) { energy += dp.oldState.val * (dp.state.lc - dp.oldState.lc) / 36000; stand = Math.round(energy) / 100; // Zählerstand kWh setState(idEnergy, stand, true); setState(idAct, stand - getState(idMonth).val, true); }); schedule('55 59 23 28-31 * *', function() { if(new Date(Date.now() + 10000).getDate() == 1) { // letzter Monatstag setState(idLast, stand - getState(idMonth).val, true); setState(idMonth, stand, true); setState(idAct, 0, true); } }); -

Ist das so richtig?
-

Ist das so richtig?
@machamster [sagte]: Ist das so richtig?
Ja.
-

Stand_Monat und letzter_ Monat werden wahrscheinlich dann erst mit Ablauf der Zeit gefüllt?
-

Stand_Monat und letzter_ Monat werden wahrscheinlich dann erst mit Ablauf der Zeit gefüllt?
@machamster [sagte]: Stand_Monat und letzter_ Monat werden wahrscheinlich dann erst mit Ablauf der Zeit gefüllt?
Ja, am Monatsende.
-
Mega mega gut. Viel viel viel Dank für deine Hilfe. Wirklich Klasse!!!!! Habe eben gesehen das du mir damals auch schon helfen konntest!!!

-
Für mich war das viel mehr als ein kleines Skript. Vielen Dank dafür 😘😘. Den anderen Adapter werde ich mir mal anschauen 😁. Dazu muss ich wahrscheinlich den Stromzähler Auslesen?
-
Für mich war das viel mehr als ein kleines Skript. Vielen Dank dafür 😘😘. Den anderen Adapter werde ich mir mal anschauen 😁. Dazu muss ich wahrscheinlich den Stromzähler Auslesen?
@machamster [sagte]: Dazu muss ich wahrscheinlich den Stromzähler Auslesen?
Nein. In Sourceanalytix wird auch der DP "0_userdata.0.Solar.PvPw" ausgewertet.
-
Ok super. Vielen Dank. Werde mir das morgen mal in Ruhe anschauen 😎
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden