NEWS
E3DC Hauskraftwerk steuern
-
@michael74
Was steht den bei dir im LOG ?
Dort sollte es den Eintrag Rueckmeldung geben.Mann kann sicher noch mehr Dachflächen abrufen, bei der kostenlosen Version von Forecast sind maximal 12 Abrufe pro Stunde und IP Adresse möglich.
Du must die function InterrogateForecast() erweitern und die Variablen Forecast in den User Einstellungen.Muss aber sagen, dass sich der Aufwand nicht lohnen wird, da Forecast sehr ungenau ist, zumindest bei mir.
-
@smartboart
Habe jetzt eine Rückmeldung von E3DC wegen den Batterieaussetzer.
Sie haben bei mir ein Update aufgespielt und beobachten das Ganze die nächsten Tage. -
@ArnoD
Im Protokoll finden ich nur einen Eintrag für Dachfläche 2
Sonst keine Einträge.javascript.0 2020-09-11 06:10:05.008 info (1575) script.js.common.E3DC.E3DC-Control_0_2_13: Prognose Proplanta in kWh = 68.2182 javascript.0 2020-09-11 06:10:05.007 info (1575) script.js.common.E3DC.E3DC-Control_0_2_13: Prognose Forecast in kWh = 0 javascript.0 2020-09-11 06:10:00.382 info (1575) script.js.common.E3DC.E3DC-Control_0_2_13: Gespeichert wurde Dachfläche =2/2 : 30346 :29826 javascript.0 2020-09-11 06:10:00.382 info (1575) script.js.common.E3DC.E3DC-Control_0_2_13: Rueckmeldung :{"result":{"2020-09-11":30346,"2020-09-12":29826},"message":{"code":0,"type":"success","text":"","info":{"place":"36251 Bad Hersfeld, H javascript.0 2020-09-11 05:10:05.008 info (1575) script.js.common.E3DC.E3DC-Control_0_2_13: Berechneter Unload SoC ist = -44 javascript.0 2020-09-11 05:10:05.008 info (1575) script.js.common.E3DC.E3DC-Control_0_2_13: Bewölkungsgrad 15 Uhr Proplanta 0 javascript.0 2020-09-11 05:10:05.008 info (1575) script.js.common.E3DC.E3DC-Control_0_2_13: Bewölkungsgrad 12 Uhr Proplanta 0 javascript.0 2020-09-11 05:10:05.007 info (1575) script.js.common.E3DC.E3DC-Control_0_2_13: Ueberschuss in Prozent = 100
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@smartboart
Habe jetzt eine Rückmeldung von E3DC wegen den Batterieaussetzer.
Sie haben bei mir ein Update aufgespielt und beobachten das Ganze die nächsten Tage.krass.... bei mir gabs auch ein update aber weil ich ein ticket aufgemacht habe, weil mein display dunkel blieb...Nach dem update war es wieder gut...
Mein Ticket wegen Batterie ist noch offen... -
@smartboart Du hast also schon das Update für das Update, das die Batterieprobleme lösen soll und Displayprobleme geschaffen hat?! Ist das dann vermutlich höher als .... oh, seit heute habe ich auch P10_2020_066, gerade beim Nachsehen bemerkt (alt 064). Hatte ich Glück, bei mir fiel das Display nicht aus und Batterieruckler habe ich auch nicht mehr, seit bei mir das Kabel getauscht wurde.
@ArnoD Was sagt die 10:00 Uhr hier eigentlich genau aus? Die scheint gefühlt immer da zu stehen, wenn ich drauf sehe...
Noch ne Frage zur Berechnungsgrundlage: Datum und Uhrzeit geben den Zeitpunkt der Hochrechnung an, nehme ich mal stark an, die Berechnungsgrundlage ist die angepasste zu der Uhrzeit? Also abzüglich der bis dato an dem Tag schon erzeugten Leistung (da die Auto-Prognose nochmals höher ist und den gesamten Tag betrifft)?
-
@michael74 sagte in E3DC Hauskraftwerk steuern:
@ArnoD
Im Protokoll finden ich nur einen Eintrag für Dachfläche 2
Sonst keine Einträge.Hast du am Script was geändert ?
Vor Dachfläche2 wird immer Dachfläche1 abgerufen wenn die Variable nDachflaechen = 2 ist.Kopier bitte nochmal das Script aus meinem ersten Post nach der Zeile Ende User Anpassungen.
-
@stevie77 sagte in E3DC Hauskraftwerk steuern:
Was sagt die 10:00 Uhr hier eigentlich genau aus? Die scheint gefühlt immer da zu stehen, wenn ich drauf sehe...
Hat da wieder jemand was gelöscht
Das ist die Zeit von Proplanta wann ihre Webseite das nächste mal aktualisiert wird.
Sollte eigentlich so aussehen:
Noch ne Frage zur Berechnungsgrundlage: Datum und Uhrzeit geben den Zeitpunkt der Hochrechnung an, nehme ich mal stark an, die Berechnungsgrundlage ist die angepasste zu der Uhrzeit? Also abzüglich der bis dato an dem Tag schon erzeugten Leistung (da die Auto-Prognose nochmals höher ist und den gesamten Tag betrifft)?
Richtig
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
Hat da wieder jemand was gelöscht
Ach, hast ja recht...
Gerade nochmal das Original importiert, da sieht das so aus:Da hab' ich das wohl dummerweise entfernt, weil es mich optisch gestört hat, ohne bei der Nachtaktion über dessen tiefere Bedeutung im Sinne der möglichen neuen Funktionalität nachzudenken.
Jetzt wird's insgesamt langsam klarer...gerade SourceAnaytix entfernt und meine Summenfunktion auch (speichere jetzt nen eigenen State, der deinen State 0_userdata.0.E3DC-Control.Allgemein.IstSummePvLeistung_kWh auf eine Nachkommastelle kürzt zur Anzeige in meiner Statuszeile).
Gefällt mir sehr gut, wie das jetzt alles funktioniert! Bin mal gespannt, ob ich dieses Jahr nochmals Einstellung 2 aktiviert bekomme, momentan nur 4 und 5, was vor meinem Urlaub gar nie der Fall war. -
@ArnoD Hab das Script nochmal neu kopiert. Hat leider auch keine Änderung gebracht. Dann hatte ich den Aufruf der Dachfläche 2 auskommentiert in Bereich
// Daten Forecast einmal beim Programmstart aktualisieren case=2
jetzt kam Dachfläche 1
Dann habe ich die Zeile mit Dachfläche in folgende geändert, jetzt läuft essetTimeout(function(){InterrogateForecast (1,2);;}, 2000);
javascript.0 2020-09-13 16:56:34.834 info (6611) script.js.common.E3DC.E3DC-Control_0_2_13: Prognose Forecast in kWh = 24.727 javascript.0 2020-09-13 16:56:32.033 info (6611) script.js.common.E3DC.E3DC-Control_0_2_13: Gespeichert wurde Dachfläche =1/2 : 9949 :9251 javascript.0 2020-09-13 16:56:32.032 info (6611) script.js.common.E3DC.E3DC-Control_0_2_13: Rueckmeldung :{"result":{"2020-09-13":9949,"2020-09-14":9251},"message":{"code":0,"type":"success","text":"","info":{"place":"36251 Bad Hersfeld, Her javascript.0 2020-09-13 16:56:30.057 info (6611) script.js.common.E3DC.E3DC-Control_0_2_13: Gespeichert wurde Dachfläche =2/2 : 14778 :12162 javascript.0 2020-09-13 16:56:30.054 info (6611) script.js.common.E3DC.E3DC-Control_0_2_13: Rueckmeldung :{"result":{"2020-09-13":14778,"2020-09-14":12162},"message":{"code":0,"type":"success","text":"","info":{"place":"36251 Bad Hersfeld, H javascript.0 2020-09-13 16:56:29.836 info (6611) script.js.common.E3DC.E3DC-Control_0_2_13: registered 19 subscriptions and 7 schedules javascript.0 2020-09-13 16:56:29.823 info (6611) script.js.common.E3DC.E3DC-Control_0_2_13: Jetzt sind alle States abgearbeitet
-
Hier noch mal ein Hinweis:
if (nDachflaechen == 2 && ForecastDach1_heute != 0 && ForecastDach2_heute !=0 ){ PrognoseForecas_kWh_heute = ForecastDach1_heute + ForecastDach2_heute; PrognoseForecas_kWh_morgen = ForecastDach1_morgen + ForecastDach1_morgen; }
In der Zeile Prognose_kwh_morgen muss es da nicht am Ende ForecastDach2_morgen heißen
-
@michael74 sagte in E3DC Hauskraftwerk steuern:
Dann habe ich die Zeile mit Dachfläche in folgende geändert, jetzt läuft es
Kannst du mal die Zeilen die du geändert hast hier posten. Bin mir nicht sicher ob ich deine Änderung richtig verstanden habe.
-
@michael74 sagte in E3DC Hauskraftwerk steuern:
In der Zeile Prognose_kwh_morgen muss es da nicht am Ende ForecastDach2_morgen heißen
Ja da hast du recht, ist ein Kopierfehler. Habe ich geändert.
Danke. -
@ArnoD Wollte den Code eigentlich kopiert haben...
// Daten Forecast einmal beim Programmstart aktualisieren if(getState(sID_PrognoseAnwahl).val != 1) { switch (nDachflaechen){ case 1: InterrogateForecast (1,2); setTimeout(function(){main();},5000);//Zeit geben bevor main ausgeführt wird break; case 2: //InterrogateForecast (1,2); setTimeout(function(){InterrogateForecast (1,2);;}, 2000); InterrogateForecast (2,2); setTimeout(function(){main();},5000);//Zeit geben bevor main ausgeführt wird break; };
Änderung nur in Zeile 10. Muss jetzt noch in dem Bereich Timer die gleiche Änderung machen.
-
@michael74
OK konnte den Fehler reproduzieren.
Würde gerne beide Aufrufe etwas verzögern.
Kannst du mal bei dir folgende Änderung testen:// Daten Forecast einmal beim Programmstart aktualisieren if(getState(sID_PrognoseAnwahl).val != 1) { switch (nDachflaechen){ case 1: InterrogateForecast (1,2); setTimeout(function(){main();},5000);//Zeit geben bevor main ausgeführt wird break; case 2: setTimeout(function(){InterrogateForecast (1,2);},1000); setTimeout(function(){InterrogateForecast (2,2);},2000); setTimeout(function(){main();},5000);//Zeit geben bevor main ausgeführt wird break; }; }
-
@ArnoD sagte in E3DC Hauskraftwerk steuern:
@michael74
OK konnte den Fehler reproduzieren.
Würde gerne beide Aufrufe etwas verzögern.
Kannst du mal bei dir folgende Änderung testen:// Daten Forecast einmal beim Programmstart aktualisieren if(getState(sID_PrognoseAnwahl).val != 1) { switch (nDachflaechen){ case 1: InterrogateForecast (1,2); setTimeout(function(){main();},5000);//Zeit geben bevor main ausgeführt wird break; case 2: setTimeout(function(){InterrogateForecast (1,2);},1000); setTimeout(function(){InterrogateForecast (2,2);},2000); setTimeout(function(){main();},5000);//Zeit geben bevor main ausgeführt wird break; }; }
Mit dieser Lösung sehe ich jetzt auch erstmals Dachfläche 1 im Log ("Gespeichert wurde Dachfläche =1/2 : 29494 :64200")...
-
@ArnoD Ja so funktioniert es.
-
Danke euch beiden für die Rückmeldung.
Neue Version: 0.2.14 hochgeladen.
Änderungen: Fehler in der Function Prognosen_kWh_Berechnen() korrigiert. Verzögerung für Aufruf der Function InterrogateForecast(). Danke an michael74.
-
@ArnoD Heute mal endlich wieder mit 73,3 kWh ne nennenswerte Produktion. Es zeigt sich: Auch bei 3/4 der möglichen maximalen Erzeugung meiner PV-Anlagen geht der Produktionszähler über dein Skript mit nur 0,3 kWh Abweichung gegenüber dem Portal verdammt genau. Bei 100 kWh erwarte ich dann nicht mehr als 0,4 kWh Abweichung. Naja, nächstes Jahr dann wieder.
Das führt mich zu der Frage, ob es für dich vielleicht Sinn macht evtl. auch die Netzeinspeisung (modbus.0.holdingRegisters.40074_Netz_Leistung) und den Hausverbrauch (modbus.0.holdingRegisters.40072_Hausverbrauch_Leistung) über die entsprechenden Modbus-Register aufzusummieren, auch wenn sie nicht direkt nötig sind zur Steuerung von E3DC-Control. Ich würde die beiden Werte gerne in meiner immer sichtbaren Statuszeile visualisieren.
Falls diese Zusatzfunktion am Rande Sinn macht in dein Skript aufzunehmen, würde ich mich freuen, ansonsten müsste ich wohl on(sID_PvLeistungLM0_W, function(obj) {..} und function Wh_Leistungsmesser0(){..} kopieren und adaptieren, korrekt?
-
Der Scriptteil Produktionszähler kommt von smartboart, habe ich nur übernommen.
Ich will nicht zu viel in das Script integrieren, um es nicht unnötig aufzublasen.
Das Script soll ja nicht sourceanalytix ersetzen, was generell für genau diese Aufgabe gedacht ist und auch dafür besser geeignet ist.Aber es steht natürlich jedem frei das Script nach seinen Wünschen anzupassen.
ansonsten müsste ich wohl on(sID_PvLeistungLM0_W, function(obj) {..} und function Wh_Leistungsmesser0(){..} kopieren und adaptieren, korrekt?
Ja das ist richtig.
-
@stevie77
https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/393
hier kannst es rauskopieren... Dann musst du es nicht aus Arnos Script entflechten.