NEWS
PV überschuss Heizen
-
@andibr Schau dir mal das Video an https://www.youtube.com/watch?v=ZCf9FN_inus
Ich habe mir nach diesem Video mein Blockly zusammengebastelt und es funktioniert wunderbar -
-
@paul53
Wow, danke, ich baue mir das morgen gleich mal nach und schaue wie weit ich komme. Genau das mit dem Stufe hoch und runter habe ich irgendwie nicht begriffen. Aber hier scheint es ja einfacher zu verstehen zu sein.Edit:
Für alle die meine komlizierte Lösung sehen wollen, hier noch das aktuelle:
Aber es ist wirklich sehr aufwendig und funktioniert nur teilweise, darum will ich einen neuen Ansatz dafür realisieren.
-
Hallo Paul53
Vieleicht stelle ich mich da jetzt etwas doof an, aber es funktioniert so nicht.
Der Einspeisewert (Gesamtwirkleistung) liegt bei Netzrückspeisung als positive Zahl vor. Kann es sein das es daran scheitert?
-
@andibr sagte: es funktioniert so nicht.
Dann logge mal die Variablenwerte und den SOC, um zu sehen, woran es hapert.
Übrigens muss die Gesamtwirkleistung mind. 5 Minuten lang über 2500 W betragen, damit hochgeschaltet wird.
Die Temperaturgrenzwerte passen so?@andibr sagte in PV überschuss Heizen:
meine komlizierte Lösung sehen wollen
Ist nicht entzifferbar.
-
javascript.0 14:11:20.260 info Überschuss5356.947 Temperatur72.5 SOC99 javascript.0 14:11:21.251 info Überschuss5482.259 Temperatur72.5 SOC99
Ich habe nun folgendes deaktiviert
Wenn ich das "nicht verzögerung Delay....." aktiviere geht es nicht mehr.
-
@andibr sagte: Wenn ich das "nicht verzögerung Delay....." aktiviere geht es nicht mehr.
Das ist erforderlich, um einen Mehrfachstart des Timers zu verhindern, der sich dann nicht mehr stoppen lässt. Aktiviere es wieder, selektiere nochmal delayOn und zeige den erzeugten Javascript-Code ohne die letzte Zeile in Code tags.
Du verwendest jetzt einen anderen Trigger-Datenpunkt, der negativ bei Netzeinspeisung ist?
Das macht man besser so: -
on({ id: 'alias.0.VisuPVA.Rueckspeisung' /* Rueckspeisung */, change: 'ne' }, async (obj) => { let value = obj.state.val; let oldValue = obj.oldState.val; temp = getState('alias.0.Heizung.Speicher_oben').val; ueberschuss = getState('alias.0.VisuPVA.Rueckspeisung').val * -1; if (ueberschuss < 2500) { (() => { if (delayOn) { clearTimeout(delayOn); delayOn = null; }})(); } else if ((temp < 75) && (getState('alias.0.VisuPVA.Pytes_SOC').val > 85) && (!delayOn)) { delayOn = setTimeout(async () => { delayOn = null; if (!getState('alias.0.Heizung.Hz_Speicher_L1').val) { setState('alias.0.Heizung.Hz_Speicher_L1' /* Heizung_L1 */, true); } else if (!getState('alias.0.Heizung.Hz_Speicher_L2').val) { setState('alias.0.Heizung.Hz_Speicher_L2' /* Heizung_L2 */, true); } else if (!getState('alias.0.Heizung.Hz_Speicher_L3').val) { setState('alias.0.Heizung.Hz_Speicher_L3' /* Heizung_L3 */, true); } }, 60000); } if ((temp < 80) && (ueberschuss > 200)) { (() => { if (delayOff) { clearTimeout(delayOff); delayOff = null; }})(); } else if (!delayOff) { delayOff = setTimeout(async () => { delayOff = null; if (getState('alias.0.Heizung.Hz_Speicher_L3').val) { setState('alias.0.Heizung.Hz_Speicher_L3' /* Heizung_L3 */, false); } else if (getState('alias.0.Heizung.Hz_Speicher_L2').val) { setState('alias.0.Heizung.Hz_Speicher_L2' /* Heizung_L2 */, false); } else if (getState('alias.0.Heizung.Hz_Speicher_L1').val) { setState('alias.0.Heizung.Hz_Speicher_L1' /* Heizung_L1 */, false); } }, 120000); } });
Richtig, ich habe mir via Alias den Datenpunkt vom Shelly neu eingebunden, um die ganze Sache für mich verständlich zu machen, habe ich da jetzt eben die Umformung auf eine positiv Zahl mit reingepakt (Zeile 5)
Einfach um ganz sicher zu sein, dass da nicht noch irgendwas vom alten Müll mit läuft habe ich jetzt mal Iob neu gebootet, logisch das alte Skript vorher deaktiviert. Jetzt hat er zumindest mal eingeschaltet (Stufe 1). -> also läuft es doch irgendwie. Muss dann die Zeit wieder auf 5min stellen, ist mir klar.
Wenn ich da jetzt noch die Whirlpool zusätzlich mit dem 1.8kW Heizelement einbinden möchte, muss ich den einfach als 4 Heizung einfügen?
-
@andibr sagte: also läuft es doch
Alles andere hätte mich gewundert, denn der Javascript-Code ist korrekt.
@andibr sagte in PV überschuss Heizen:
Whirlpool zusätzlich mit dem 1.8kW Heizelement einbinden möchte, muss ich den einfach als 4 Heizung einfügen?
Ja, als 4. Stufe, wenn der Pufferspeicher Priorität haben soll. Allerdings könnte die Auswertung der Speichertemperatur zum Problem werden.
-
@paul53
Stimmt, der Pool hat natürlich eine ganz andere Temperatur. Mal schauen wie sich das ganze in den kommenden Tagen verhält. Vor allem auch, ob sich das mit dem ausschalten auch richtig verhält.Die kommende Woche scheint ja genau das Wetter zum ganzen zu sein, da wird es etliche Schaltzyklen geben.
Ich werde das jetzt mal eine Weile beobachten
Vielen herzlichen Dank für deine Bemühungen.
Andi