NEWS
E3DC Hauskraftwerk steuern
-
@arnod
Vielen DankIch hätte noch einen Vorschlag.
könntest du einen DP mit der Versionsnummer des Script anlegen?Iss jetzt kein großes ding, kann man auch jedes mal manuell nachpflegen. Könnte mir aber vorstellen, dass dies doch einige nutzen würden.
Alleine wegen der Übersichtlichkeit, weil du extrem schnell auf Probleme ein Update bringst.
So kann man in der Übersicht anzeigen lassen welche aktuell läuft und hat einen Fehler Indikator wenn mal 2 Versionen gleichzeitig laufen --> vorausgesetzt der DP wird jedes mal geschrieben wenn das script durchrennt.
Man könnte es sogar auf die Spitze Treiben und dann per Script nach einem Update auf Git suchen lassen ....... falls man mal nicht die Zeit hat ins Forum zu guggen bekommt man es dann immerhin mit -
@arnod E3DC hat wahrscheinlich nachjustiert (ohne Info). Die starken Schwankungen der Batt sind verschwunden. Ein Wert in Modbus war im Sommer mal ewig falsch gewesen (Notstrom). Der ist jetzt auch wieder auf 0. Allerdings schaltet das Relais immer noch beim Aktivieren der CC-Laderegelung iVm Notstromreserve zyklisch weiter. In den Registern konnte ich keine Änderungen sehen. Standby ist möglich aber nicht aktiv.
-
@zelkin
kann ich ja mal auf meine To-do-Liste schreiben. Aktuell habe ich aber nur wenig Zeit für mein Hobby. -
@jh537
Das Script verwendet die Modbus Schnittstelle nicht mehr, sondern nur noch e3dc-rscp Adapter.
Was meinst du mit Standby ist möglich aber nicht aktiv? -
@arnod Modbus schon klar, ich meinte nur, dass der Wert halt korrigiert wurde, ich nutze Modbus zum Auslesen der Werte. Standby: Standby schalten ist freigeschaltet aber nicht aktiv. Ich hatte heute nacht wieder CC laufen.
Das schalten kommt sehr wahrscheinlich tatsächlich vom Powersave, man sieht es in der App und im Display. Dazu gibt es aber keinen Wert der sich ändert.
e3dc-rscp.0.EMS.POWERSAVE_ENABLED sagt ja nur ob es möglich ist oder verhindert wird. Vielleicht gibt es ja doch Unterschiede in der Hardware. -
@arnod
Vielen Dank schon mal.
Mein ELWA-2 ist heut gekommen und muss nur noch angeschlossen werden.
Aktuell warte ich noch auf die Infos zum Holding-Register von MYPV um den dann in den iobroker zu bringen.
Sollte das irgenwann laufen und mal wieder die Sonne scheinen, werde ich dein Script testen und berichten.Bis dahin Grüße und schönen Abend.
-
@ArnoD
Der Heizstab ist mittlerweile angeschlossen um im iobroker integriert.
Erstes Feedback zu deinem Script:- bei zu niedriger PV-Leistung (aktuell schlechtes Wetter) werden Minuswerte errechnet und der Heizstab ständig mit Minuswerten beschrieben welcher der Heizstab dann mit 0-Werten gegenregelt.
- sobald die Batterieleistung =0 wird auch nichts mehr in den Heizstab umgeleitet sondern alles eingespeißt. Das tritt auf sobald die Batterie =100% oder eben die Be-/Entladung der Batterie durch E3DC oder Charge-Control verhindert wird.
Ich habe mal versucht mit meinen Anfänger-Scripting-Skills dein Script dahingehend anzupassen, dass:
- Minuswerte abgefangen werden und dafür eine 0 geschrieben wird.
- im Script Ausschlusswerte definiert, wann keine Energie in den Heizstab fließen darf:
a: PV-Leistung ist zu gering
b: Netzeinspeisung ist zu gering
c : Batterie wird gerade entladen
d: MaxTemp ist bereits erreicht
Ist der Ansatz plausibel oder habe ich hier irgendwo einen Denkfehler bzw. etwas nicht bedacht?
Script würde dann so aussehen:
const sID_LeistungHeizstab_W = 'modbus.1.holdingRegisters.41001_Power' // Aktueller Verbrauch Heizstab in W const sID_PV_Leistung = 'e3dc-rscp.0.EMS.POWER_PV'; // PV_Leistung const sID_Eigenverbrauch = 'e3dc-rscp.0.EMS.POWER_HOME'; // Hausverbrauch_Leistung const sID_Netz_Leistung = 'e3dc-rscp.0.EMS.POWER_GRID'; // Einspeiseleistung const sID_Batterie_Leistung = 'e3dc-rscp.0.EMS.POWER_BAT'; // Batterie_Leistung const sID_Soll_LeistungHeizstab_W = 'modbus.1.holdingRegisters.41001_Power' // Soll Leistung Heizstab an Schnittstelle const sID_IstTempHeizstab = 'modbus.1.holdingRegisters.41002_Temp1' // Aktuelle Temperatur am Heizstab const sID_MaxTempHeizstab = 'modbus.1.holdingRegisters.41003_WW1_Temp_max' // Maximal-Temperatur lt. Drehregler am Heizstab, Skript peil 5 Grad weniger an, da Heizstab sonst selbst abregelt und sich Skript und Heizstab streiten on({id: sID_PV_Leistung, change: "ne"}, async function (obj) { let BatterieLeistung_W = (await getStateAsync(sID_Batterie_Leistung)).val; let PV_Leistung_W = (await getStateAsync(sID_PV_Leistung)).val; let LeistungHeizstab_W = (await getStateAsync(sID_LeistungHeizstab_W)).val; let Hausverbrauch_W = (await getStateAsync(sID_Eigenverbrauch)).val let HeizstabLadeleistung_W= 0; let NetzLeistung_W = (await getStateAsync(sID_Netz_Leistung)).val; let MaxTempHeizstab = (await getStateAsync(sID_MaxTempHeizstab)).val; let IstTempHeizstab = (await getStateAsync(sID_IstTempHeizstab)).val; Hausverbrauch_W =Hausverbrauch_W - LeistungHeizstab_W; //Hausverbrauch ohne Leistung Heizstab // Prüfen ob Werte PV-Leistung und Netzeinspeißung zu gering, Batterie wird entladen oder MaxTemp erreicht; Ansonsten leite alles in Heizstab if (PV_Leistung_W < 100 || BatterieLeistung_W < 0 || NetzLeistung_W > -100 || IstTempHeizstab >= MaxTempHeizstab-5){ HeizstabLadeleistung_W = 0; }else { HeizstabLadeleistung_W = PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W -10; } // Prüfen ob HeizstabLadeleistung_W > 3500W ist if (HeizstabLadeleistung_W > 3500){HeizstabLadeleistung_W = 3500} // Prüfen ob HeizstabLadeleistung_W < 0W ist if (HeizstabLadeleistung_W < 0){HeizstabLadeleistung_W = 0} // Prüfen ob MaxTempHeizstab - 5 Grad Reserve erreicht sind if (IstTempHeizstab >= MaxTempHeizstab-5){HeizstabLadeleistung_W = 0} // Vorgabe Heizleistung an Schnittstelle übermitteln await setStateAsync(sID_Soll_LeistungHeizstab_W,HeizstabLadeleistung_W); //log(HeizstabLadeleistung_W); });
Mir fehlt aktuell noch das passende Wetter um das ganze in der Realität zu sehen ob das funktioniert oder nicht.
Grüße - bei zu niedriger PV-Leistung (aktuell schlechtes Wetter) werden Minuswerte errechnet und der Heizstab ständig mit Minuswerten beschrieben welcher der Heizstab dann mit 0-Werten gegenregelt.
-
Das sieht doch gut aus
Da ich keinen Heizstab habe um das zu testen, habe ich ein paar Fragen zur Funktionsweise.
-
Wofür wird die Max und Ist-Temperatur benötigt? Schaltet der Heizstab nicht ab, wenn die eingestellte Temperatur erreicht ist? Dachte das der Heizstab dann alle Werte über Modbus ignoriert, wenn die eingestellte Temperatur erreicht ist.
-
Was passiert, wenn größere Werte als 3500 W über Modbus an den Heizstab übertragen werden? Werden die dann ignoriert?
-
Was passiert, wenn als letzter Wert vom Script in das Register modbus.1.holdingRegisters.41001_Power z.B 1000 W eingetragen wird und dann keine neuen Werte geschrieben werden? Läuft dann der Heizstab ständig mit 1000W oder muss dieser Eintrag alle x Sek. wiederholt werden?
So wie es jetzt programmiert ist, wird der Heizstab ständig ein und ausschalten bei Bewölkung oder wenn die Batterie mal ausgleichen muss, wenn der Hausverbrauch kurz ansteigt, ich denke, dass es nicht gut ist für den Heizstab.
Hier mal dein Script mit einer Haltezeit:
const sID_LeistungHeizstab_W = 'modbus.1.holdingRegisters.41001_Power' // Aktueller Verbrauch Heizstab in W const sID_PV_Leistung = 'e3dc-rscp.0.EMS.POWER_PV'; // PV_Leistung const sID_Eigenverbrauch = 'e3dc-rscp.0.EMS.POWER_HOME'; // Hausverbrauch_Leistung const sID_Netz_Leistung = 'e3dc-rscp.0.EMS.POWER_GRID'; // Einspeiseleistung const sID_Batterie_Leistung = 'e3dc-rscp.0.EMS.POWER_BAT'; // Batterie_Leistung const sID_Soll_LeistungHeizstab_W = 'modbus.1.holdingRegisters.41001_Power' // Soll Leistung Heizstab an Schnittstelle const sID_IstTempHeizstab = 'modbus.1.holdingRegisters.41002_Temp1' // Aktuelle Temperatur am Heizstab const sID_MaxTempHeizstab = 'modbus.1.holdingRegisters.41003_WW1_Temp_max' // Maximal-Temperatur lt. Drehregler am Heizstab, Skript peil 5 Grad weniger an, da Heizstab sonst selbst abregelt und sich Skript und Heizstab streiten const Haltezeit = 10 // Haltezeit in min. let HaltezeitHeizstab = null; clearTimeout(HaltezeitHeizstab); on({id: sID_PV_Leistung, change: "ne"}, async function (obj) { let BatterieLeistung_W = (await getStateAsync(sID_Batterie_Leistung)).val; let PV_Leistung_W = (await getStateAsync(sID_PV_Leistung)).val; let LeistungHeizstab_W = (await getStateAsync(sID_LeistungHeizstab_W)).val; let Hausverbrauch_W = (await getStateAsync(sID_Eigenverbrauch)).val let HeizstabLadeleistung_W= 0; let NetzLeistung_W = (await getStateAsync(sID_Netz_Leistung)).val; let MaxTempHeizstab = (await getStateAsync(sID_MaxTempHeizstab)).val; let IstTempHeizstab = (await getStateAsync(sID_IstTempHeizstab)).val; Hausverbrauch_W =Hausverbrauch_W - LeistungHeizstab_W; //Hausverbrauch ohne Leistung Heizstab // Prüfen ob Werte PV-Leistung und Netzeinspeißung zu gering, Batterie wird entladen oder MaxTemp erreicht; Ansonsten leite alles in Heizstab if (IstTempHeizstab >= MaxTempHeizstab-5 || (PV_Leistung_W < 100 || BatterieLeistung_W < 0 || NetzLeistung_W > -500) && !HaltezeitHeizstab){ HeizstabLadeleistung_W = 0; }else { HeizstabLadeleistung_W = PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W -10; if (HaltezeitHeizstab){clearTimeout(HaltezeitHeizstab)} HaltezeitHeizstab = setTimeout(function () {HaltezeitHeizstab = null;}, Haltezeit*60000); // Prüfen ob HeizstabLadeleistung_W > 3500W ist if (HeizstabLadeleistung_W > 3500){HeizstabLadeleistung_W = 3500} // Prüfen ob HeizstabLadeleistung_W < 0W ist if (HeizstabLadeleistung_W < 0){HeizstabLadeleistung_W = 0} } await setStateAsync(sID_Soll_LeistungHeizstab_W,HeizstabLadeleistung_W); //log(HeizstabLadeleistung_W); });
-
-
Neue Version Charge-Control auf GitHub hochgeladen.
Version: 1.3.0Änderungen:
- Script musste an die neue Version vom Adapter e3dc-rscp 1.2.5 angepasst werden. Bitte zuerst den Adapter e3dc-rscp 1.2.5 installieren und nur dann diese Script Version verwenden.
-
@arnod
Danke für dein Feedback.
Aktuell warte ich immer noch auf den ersten sonnigen Tag um das ganze mal im Einsatz zu sehen.
Aber was ich bis jetzt schon gesehen habe verhält sich der Heizstab wie folgt.- Maxtemperatur wird am Heizstab eingestellt und wird vom Heizstab genutzt um sich bei der Erreichung der Max Temp dann abzuschalten.
- wenn Werte größer 3500W geschrieben werden regelt der Heizstab automatisch auf seine erlaubte W runter.
Man kann den Heizstab in %-Schritte begrenzen. Diese Werte verwendet er dann und nicht das was vom Modbus übermittelt wird.
Sprich die im Heizstab eingestellten Werte gewinnen am Ende, egal was vom Modbus kommt.
Wenn kein Wert mehr an den Heizstab übermittelt wird, dann fährt er auf 0 runter. Sprich er benötigt ständig Werte über Modbus um aktiv zu bleiben.
Zumindest verhält es sich so über den 41001_Power Register.
Man kann im Heizstab selbst im Webinterface auch auf einen "Knopf" drücken für die Warmwassersicherstellung, dann heizt der permanent mit voller erlaubter Leistung drauf los bis MaxTemp erreicht ist.
Welcher HoldingRegister das aber wäre hab ich noch nicht gefunden.Mein Hintergedanke bei der ganzen Sache war, dass wenn soviel PV-Leistung vorhanden ist, dass die Anlage das Einspeisen anfängt, dann möchte ich die Einspeisung in den Heizstab umleiten bis das Wasser die MaxTemp erreicht hat.
Ich pfleg mal deine Haltezeit bei mir direkt mit ein und hoffe auf etwas mehr Sonne.
Danke für deine Unterstützung.
Grüße -
@abyss
Jetzt kommen wir der Sache schon näher
Es reicht somit dem Heizstab den Überschuss mitzuteilen und man muss sich nicht um Temperaturen oder sonstige Begrenzungen kümmern, da es der Heizstab sowieso bereits macht.
Jetzt habe ich noch drei Fragen- Wie groß darf der Zeitabstand sein, vom letzten übermittelten Wert, bis der Heizstab wieder auf 0 regelt?
- Regelt der Heizstab von 0W bis 3500W stufenlos oder in z. B. 100W Schritten.
- Was wird an min. Leistung benötigt, damit überhaupt eine spürbare Heizleistung erzeugt wird. Wenn der Heizstab nur mit 5W laufen würde, vermute ich das er dann nicht wirklich was aufheizen kann.
-
Moin Ihr beiden!
Ich habe in dem Skript die am Heizstab eingestellte Max-Temp ausgelesen und abzgl. einer Reserve dann weiter verwendet - wenn man sie im Skript nicht berücksichtigt und ggfs. über den eingestellten Max-Wert steuert, kommt es zu einem wilden hin-und-her - Das Script sagt "Heize", der Heizstab sagt "Heize nicht". Er geht dann immer wieder an und aus, das kann nicht gut sein. Daher würde ich davon abraten, den Wert nicht zu nutzen.
Der Heizstab regelt stufenlos von 0 bis 3000W. (MyPV Elwa-E), der neuere von Abysss scheint 3500W zu können.
Das mit den Ausschlüssen muss ich mir mal ansehen, da arbeite ich im Kopf auch schon länger dran. Ich hatte mal versucht, mir den Wert "M_Power" in eine Variable unter 0_userdata.0.Charge_Control.Allgemein zu schreiben, um ihn im Heizstab-Skript verwenden zu können - dann wird immer so viel von der PV-Leistung "reserviert" wie für die Akku-Ladung sinnvoll ist. Im Falle des Falles, dass einfach alles in den Akku soll (wenig PV-Leistung zu erwarten), steht der Wert dann ja auf der max. Ladeleistung des HKW - in meinem Fall 9000.
Viele Grüße erstmal, Jan
-
Ach und eins noch - teilt man dem Heizstab den am HKW auslesbaren Überschuss direkt mit, springt der Heizstab an und der Überschuss wird geringer, da er ja auch nur ein Stromverbraucher ist. Liegen bspw. 2800W Überschuss vor und man steuern den Heizstab direkt damit an, steigt der Hausverbrauch um 2800W, der Überschuss ist 0 und der Heizstab wird wieder abgeschaltet - danach beginnt das Spiel von vorn.
-
Das kann eigentlich nur passieren, wenn man vom Hausverbrauch die aktuelle Leistung vom Heizstab nicht abzieht.
Der Heizstab darf die Leistung, über die er gesteuert wird, natürlich nicht beeinflussen.Das mit der Max Temp Heizstab habe ich noch nicht verstanden, wenn über das Script immer die Überschussleistung an den Heizstab übermittelt wird, muss dieser doch solange heizen, bis die eingestellte Temperatur erreicht ist.
Nachdem die eingestellte Temperatur erreicht ist, sollte dieser doch automatisch abschalten und die Leistungsvorgaben über die Modbus Schnittstelle ignorieren, wenn das nicht der Fall ist, muss natürlich die eingestellte Temperatur mit ausgewertet werden. -
@arnod
Das mit der Max-Temperatur SOLLTE so sein wie Du es beschreibst, in der Praxis war es jedoch anders, daher habe ich diesen Abzug mit eingebaut. Der Heizstab setzt den ihm per Modbus genannten Wert erstmal stumpf um, springt an und stellt dann fest, dass die eingestellte Max-Temp bereits erreicht ist. Dann schaltet seine eigene Logik halt wieder ab - dann kommt unser Skript ggfs. wieder und schaltet wieder ein.Das mit dem Hausverbrauch ist richtig - daher habe ich ja selbst versucht den sinnvollen Überschuss zu berechnen und nicht einfach den Einspeisewert des HKW verwendet. Dazu muss ich von der PV-Leistung den Hausverbrauch (bereinigt um den aktuellen Heizstab-Verbrauch), den Wallbox-Verbrauch und den nach E3DC-Control sinnvollen Ladewert (M_Power) abziehen. Daher habe ich ja versucht, mir den M_Power über eine Variable nutzbar zu machen.
-
@arnod
soo, heute mal paar neue Erkenntnisse gesammelt, aber erstmal zu deinen Fragen:- Zeitabstand kann ich dir nicht beantworten sieht aber sehr dynamisch aus. Wirkt für mich so als ob er im Sekundentakt regelt.
- Regelung erfolgt stufenlos, beim alten ELWA bis 3000W, bei meinem neuen ELWA-2 bis 3500W
- der Heizstab würde auch mit 5W laufen, erzeugt dadurch aber natürlich keinen Wärme. Aber um das ständige Ein- und Ausschalten zu unterbinden könnte man ihn im Regelzeitraum ständig mit 5W am "heizen" halten.
Wäre zumindest eine Überlegung wert?!
Was mir heute aufgefallen ist, dass die Temperatur sehr sensibel/dynamisch ist.
Sobald genug Leistung anliegt ist der innerhalb von ein paar Minuten über die 55° was sehr schnell zum Abriegeln durch das Script geführt hat. Da die Temp auch sehr schnell wieder fällt hat man hier direkt den Jojo-Effekt.
Ich habe die -5 Begrenzung direkt entfernt. Dadurch wurde es etwas ruhig, aber bei voller Leistung hat er auch die MaxTemp 60° sehr schnell erreicht und das Ein-Aus Spiel beginnt von vorne.
Grün die W und rot die Temp.
hier nochmal mit besserem Zoom:
Um die Mittagszeit sieht man schön das hoch und runter heute.Auch hat die Abfrage mit "NetzLeistung_W > -500" irgendwie keine Auswirkung.
Ich hätte das so verstanden, dass erst ab 500W Einspeisung die Umleitung in den Heizstab beginnt. Aber man sieht in der Grafik schön, dass auch Werte von nur 10W etc. übermittelt werden.@jans_ios
Die Abfrage für den Hausverbrauch ohne Heizstab funktioniert aber super von ArnoD:Hausverbrauch_W =Hausverbrauch_W - LeistungHeizstab_W; //Hausverbrauch ohne Leistung Heizstab
somit wird die Heizstableistung sauber rausgerechnet und die Umleitung der Einspeisung in den Heizstab läuft sauber weiter.
Man müsste jetzt dieses Temperatur-Jojo noch irgendwie in den Griff bekommen.
-
@abyss sagte in E3DC Hauskraftwerk steuern:
Auch hat die Abfrage mit "NetzLeistung_W > -500" irgendwie keine Auswirkung.
Das muss ich mir noch mal in Ruhe anschauen
Reicht der Temperaturabfall von ca. 5 °C bereits aus, dass sich der Heizstab wieder einschaltet?
-
@arnod
Ja sobald der wieder unterhalb der MaxTemp ist legt das Script wieder los und befeuert den Heizstab -
Versuche mal das folgende Script.
Ich reduziere da mit steigender Wassertemperatur die Heizleistung.
Im Log sollten alle Werte angezeigt werden, um nachvollziehen zu können, wenn was falsch berechnet wird.
Die LOG Zeile kann, wenn alles funktioniert, auskommentiert werden.const sID_LeistungHeizstab_W = 'modbus.1.holdingRegisters.41001_Power' // Aktueller Verbrauch Heizstab in W const sID_PV_Leistung = 'e3dc-rscp.0.EMS.POWER_PV'; // PV_Leistung const sID_Eigenverbrauch = 'e3dc-rscp.0.EMS.POWER_HOME'; // Hausverbrauch_Leistung const sID_Netz_Leistung = 'e3dc-rscp.0.EMS.POWER_GRID'; // Einspeiseleistung const sID_Batterie_Leistung = 'e3dc-rscp.0.EMS.POWER_BAT'; // Batterie_Leistung const sID_Soll_LeistungHeizstab_W = 'modbus.1.holdingRegisters.41001_Power' // Soll Leistung Heizstab an Schnittstelle const sID_IstTempHeizstab = 'modbus.1.holdingRegisters.41002_Temp1' // Aktuelle Temperatur am Heizstab const sID_MaxTempHeizstab = 'modbus.1.holdingRegisters.41003_WW1_Temp_max' // Maximal-Temperatur lt. Drehregler am Heizstab const Haltezeit = 10 // Haltezeit in min. const MaxHeizstableistung_W = 3500 // Maximale Heizstableistung let HaltezeitHeizstab = null; clearTimeout(HaltezeitHeizstab); on({id: sID_PV_Leistung, change: "ne"}, async function (obj) { let BatterieLeistung_W = (await getStateAsync(sID_Batterie_Leistung)).val; let PV_Leistung_W = (await getStateAsync(sID_PV_Leistung)).val; let LeistungHeizstab_W = (await getStateAsync(sID_LeistungHeizstab_W)).val; let Hausverbrauch_W = (await getStateAsync(sID_Eigenverbrauch)).val let NetzLeistung_W = (await getStateAsync(sID_Netz_Leistung)).val; let MaxTempHeizstab = (await getStateAsync(sID_MaxTempHeizstab)).val; let IstTempHeizstab = (await getStateAsync(sID_IstTempHeizstab)).val; let HeizstabLadeleistung_W = 0; Hausverbrauch_W =Hausverbrauch_W - LeistungHeizstab_W; //Hausverbrauch ohne Leistung Heizstab // Prüfen ob Werte Netz oder Batterie negativ sind um Überschuss richtig zu berechnen if (NetzLeistung_W <= -500 && BatterieLeistung_W <= 0){ HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W-NetzLeistung_W); }else if (NetzLeistung_W > -500 && BatterieLeistung_W <= 0) { HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W); }else if (NetzLeistung_W > -500 && BatterieLeistung_W > 0) { HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W); }else if (NetzLeistung_W <= -500 && BatterieLeistung_W > 0){ HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W-NetzLeistung_W); } // lineare Interpolation Leistung Heizstab let LinIntp_HeizstabLadeleistung_W = MaxHeizstableistung_W+(0-MaxHeizstableistung_W)*((IstTempHeizstab-25)/(MaxTempHeizstab-25)) log(`NetzLeistung_W = ${NetzLeistung_W} Hausverbrauch_W = ${Hausverbrauch_W}LeistungHeizstab_W = ${LeistungHeizstab_W} PV_Leistung_W =${PV_Leistung_W} BatterieLeistung_W = ${BatterieLeistung_W} IstTempHeizstab = ${IstTempHeizstab} MaxTempHeizstab = ${MaxTempHeizstab} HeizstabLadeleistung_W = ${HeizstabLadeleistung_W} Interpolation Leistung = ${LinIntp_HeizstabLadeleistung_W}`); if (HeizstabLadeleistung_W > LinIntp_HeizstabLadeleistung_W){ HeizstabLadeleistung_W = LinIntp_HeizstabLadeleistung_W; if (HaltezeitHeizstab){clearTimeout(HaltezeitHeizstab)} HaltezeitHeizstab = setTimeout(function () {HaltezeitHeizstab = null;}, Haltezeit*60000); }else if (HeizstabLadeleistung_W <= 0 && HaltezeitHeizstab){ HeizstabLadeleistung_W = LinIntp_HeizstabLadeleistung_W; } // Prüfen ob HeizstabLadeleistung_W > 3500W ist if (HeizstabLadeleistung_W > MaxHeizstableistung_W){HeizstabLadeleistung_W = MaxHeizstableistung_W} // Prüfen ob HeizstabLadeleistung_W < 0W ist if (HeizstabLadeleistung_W < 0){HeizstabLadeleistung_W = 0} await setStateAsync(sID_Soll_LeistungHeizstab_W,HeizstabLadeleistung_W); });
-
@peterk34 dann versteh ich nicht warum es bei mir sofort wieder zurück schaltet auf entladen . so als wenn das E3DC system Fremdsteuerung übersteuert