NEWS
[Gelöst] Daten für neuen Datenpunkt verarbeiten
-
@c1olli sagte in Daten für neuen Datenpunkt verarbeiten:
so jetzt im Experten Modus
du weisst, dass alle globalen Skripte vor jedem anderen Skript ausgeführt werden?
die angemeckerte Zeile 24 existiert nämlich gar nicht in deinem Skript!warum hast du überhaupt globale Skripte wenn du fragen musst, was das ist?
-
@homoran
Wahrscheinlich weil ich die einfach so eingetragen habe, da ich mich nicht so gut mit der Materie auskenne.
Aber ich habe das Ganze jetzt umstrukturiert. Ich hoffe so ist es ok.
-
@c1olli sagte in Daten für neuen Datenpunkt verarbeiten:
da ich mich nicht so gut mit der Materie auskenne.
und für solche User ist der global Ordner extra versteckt!
ist der jetzt leer?
-
Jepp, nun ist er leer.
Ich hatte den Experten Modus an um einen Test Adapter zu installieren, danach hatte ich mich an das Script gemacht, so ist da wahrscheinlich was im falschen Ordner gelandet.
-
Also eine Fehlermeldung kommt nicht mehr, nur die Berechnung passt noch nicht ganz.
Kann das eventuell durch die Addition eines negativen Wertes kommen? -
@homoran sagte: warum hast du überhaupt globale Skripte wenn du fragen musst, was das ist?
Ich sehe im offenen Ordner "global" keine Skripte. Die Skripte darunter sind in der Wurzel angesiedelt.
-
@c1olli sagte: die Berechnung passt noch nicht ganz.
Bis auf
pvout
ändern sich die Variablen nach dem Skriptstart nicht mehr, sondern bleiben konstant. Dann kann die Berechnung natürlich nicht stimmen. -
@paul53 Danke! Da hab ich schief geguckt
-
@paul53
Ob sich die Variablen ändern kommt ja darauf an, wie die Umstände gerade sind.
Wie kann man es den besser machen? -
@homoran
Macht ja nichts, nachdem ich jetzt die Scripte neu eingeordnet habe gibt es keine Fehlermeldung mehr. -
@c1olli sagte Wie kann man es den besser machen?
4 weitere Trigger, in denen die jeweils zugeordnete Variable aktualisiert wird. Beispiel:
on(idVerb, function(dp) { verb = dp.state.val; });
-
@paul53
also so?// aktuellen PV-Ueberschuss für Wattpilot berechnen // PV Erzeugung - Akt Verbrauch - Speicher Entladung - Speicher Ladung + Wattpilot const idPVout = 'energymanager.0.Standort_(Standort_1).PowerProduced'; const idVerb = 'fronius.0.powerflow.P_Load'; const idBattin = 'energymanager.0.Standort_(Standort_1).PowerBuffered'; const idBattout = 'energymanager.0.Standort_(Standort_1).PowerConsumedFromStorage'; const idWatt = 'fronius-wattpilot.0.power'; const idPVload = '0_userdata.0.PVload' var pvout = getState(idPVout).val; var verb = getState(idVerb).val; var battin = getState(idBattin).val; var battout = getState(idBattout).val; var watt = getState(idWatt).val; var aktuell = Math.round((pvout - (verb * -1) - battin - battout + (watt * 1000)) * 100) / 100; if(existsState(idPVload)) setState(idPVload, aktuell, true); else createState(idPVload, aktuell, {type: 'number', name: 'PV_Ueberschuss', unit: 'W', role: 'value'}); on(idVerb, function(dp) { verb = dp.state.val; }); on(idBattin, function(dp) { battin = dp.state.val; }); on(idBattout, function(dp) { battout = dp.state.val; }); on(idWatt, function(dp) { watt = dp.state.val; }); on(idPVout, function(dp) { pvout = dp.state.val; aktuell = Math.round((pvout - (verb * -1) - battin - battout + (watt * 1000)) * 100) / 100; setState(idPVload, aktuell, true); });
-
@c1olli sagte: also so?
Ja, so werden zumindest die Werte zur Berechnung aktualisiert. Ob
idPVout
der optimale Trigger für den Berechnungszeitpunkt ist, kann ich nicht beurteilen.battin und battout werden beide subtrahiert?
-
@paul53
Ja, beide werden abgezogen. Battout macht auf den ersten Blick keinen Sinn, aber da ich nicht will, dass der Speicher vom Haus leer gesaugt wird wird der Wert von der zur Ladung verfügbaren Energie abgezogen.
Bei Battin wird sicher gestellt, dass erst der Speicher und dann erst das Auto geladen wird.
Das funktioniert auch jetzt so wie es soll. Die Werte werden gut angepasst und die Ladung nimmt jetzt nur den PV Überschuss.Hintergrund ist, dass die Wallbox zwar mit dem Wechselrichter kommuniziert, aber den Speicher nicht mit einbezieht.
PVout ist die PV Erzeugung, wenn sich da was ändert muß der Rest reagieren - so meine Herangehensweise.