Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. E3DC Hauskraftwerk steuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    E3DC Hauskraftwerk steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • S
      stevie77 @ArnoD last edited by stevie77

      @ArnoD Hat sich erledigt. habe deinen Beitrag nicht genau genug gelesen.

      S 1 Reply Last reply Reply Quote 0
      • S
        stevie77 @stevie77 last edited by stevie77

        @ArnoD Der falsch ermittelte Speicher-SoC von 0 % anstatt richtig 26 % gestern lag vielleicht an einem Update des Modbus-Adapters zuvor (möglicherweise < 24 h vorher). Deswegen ist bei mir dann unload auf 0 gesetzt worden. Ich hab den Code jetzt wie von dir beschrieben an der entsprechenden Stelle geändert und UnloadSoC benutzt. Dummerweise deinen Text nicht genau gelesen oder verstanden heute Nacht und jetzt eben selbst gedebugt und gefunden wo das Problem ist. 😉
        Muss ich halt in Zukunft daran denken nach jedem Update des Skripts selbst noch die Zeile zu ändern.

        05:15:00.369	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Gepeichert wurde Prognose forecast 2/2 : 24115 :24445
        05:45:00.006	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 12 Uhr Proplanta 12.5
        05:45:00.007	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 15 Uhr Proplanta 12.5
        05:45:00.009	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Prognose Forecast in kWh = 100.971
        05:45:00.009	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Prognose Proplanta in kWh = 97.66950000000001
        05:45:00.010	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Globalstrahlung Proplante = 6.9
        05:45:00.010	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: AktSpeicherSoC in % = 0
        05:45:00.010	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: FreieKapBatterie_kWh = 11.7
        05:45:00.010	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Prognose_kWh für Berechnung = 87.90255
        05:45:00.011	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Ueberschuss in kWh = 64.20255
        05:45:00.011	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Ueberschuss in Prozent = 100
        05:45:00.011	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Berechneter Unload SoC ist = -100
        05:45:00.011	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: Einstellung 2 aktiv
        05:45:00.019	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei gespeichert!
        05:45:01.023	info	javascript.0 (1770) script.js.e3dc-control.handleE3DCControl: E3DC Config Datei eingelesen!
        
        1 Reply Last reply Reply Quote 0
        • A
          ArnoD last edited by

          Hat eigentlich das Speichern der History Daten Juli bei euch funktioniert ?
          Bei mir wurden die Daten nicht gespeichert.
          Da ich aber gestern einige Tests durchgeführt habe, kann es sein das mit dem ständigen stoppen und starten vom Script nur bei mir das speichern nicht funktioniert hat.

          S 1 Reply Last reply Reply Quote 0
          • S
            stevie77 @ArnoD last edited by

            @ArnoD sagte in E3DC Hauskraftwerk steuern:

            Hat eigentlich das Speichern der History Daten Juli bei euch funktioniert ?
            Bei mir wurden die Daten nicht gespeichert.

            Ist das denn zum Monatsende ein anderes Speichern als das jeden Tag abends um 22 Uhr? Bei mir wurde jeder einzelne Tag gespeichert und ist auch noch da, wenn ich zu August und wieder zurück zum Juli wechsle...

            faeee0a3-f7ba-4125-9feb-6dc6db4e40c9-image.png

            1 Reply Last reply Reply Quote 0
            • A
              ArnoD last edited by

              Ja, am Monatsende wird nur das Json Objekt kopiert und ansonsten wird das Json Ojekt aus den States laufend neu geschrieben.

              1 Reply Last reply Reply Quote 0
              • A
                ArnoD last edited by

                Ich habe soeben die Version 0.2.0 hochgeladen.
                ACHTUNG !! Anpassungen in VIS erforderlich, da sich States geändert haben.
                Bitte unter den Objekten die ID 0_userdata_0.E3DC-Control.Allgemein manuell löschen und vom Script neu anlegen lassen.

                Änderungen:

                • Abfrage Globalstrahlung von Proplanta integriert. Typescript Proplanta wird nicht mehr benötigt.
                  Bei der Prognose Proplanta wird jetzt eine Vorschau für vier Tage im Diagramm angezeigt.
                  Leider gibt es hier keine API, somit musste ich aus der HTML Seite die benötigten Daten filtern.
                  Sollte sich an der Proplanta Seite was an den im Script verwendetet Suchwörter ändern, kann es natürlich sein das das Script ins leere läuft. Es wird jetzt auch das jeweilige Datum der abgerufenen Prognosewerte in eigenen State gespeicher, sodass man dieses in Vis anzeigen und prüfen kann.

                • Neuer State für die Summe von Leistungsmesser 0 und Leistungsmesser 1, um diesen in Vis anzuzeigen.

                • Nur noch ein Korrekturfaktor in %, um die berechneten Prognosewerte anzugleichen.

                • Diagramm wird jetzt bei Änderungen der PV-Leistung regelmäßig aktualisiert.

                Script optimiert und aufgeräumt. Neue State Struktur erstellt, um das Ganze übersichtlicher zu gestalten.

                S smartboart 2 Replies Last reply Reply Quote 0
                • S
                  stevie77 @ArnoD last edited by

                  @ArnoD Ich hab mal den Wechsel versucht...was mir aufgefallen ist:

                  • nKorrWert_PV_Leistung scheint ein toter Parameter zu sein, eine Textsuche findet nur die Deklarierung des Werts.
                  • Der Fehler "javascript.0 (32733) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad_12 oder Bewölkungsgrad_15 wurde nicht abgerufen. 12=200 15=200" scheint ein erwarteter Fehler zu sein?! Taucht der jetzt nur auf, weil beim Start des Skripts nicht wirklich eine Abfrage durchgeführt wird? Finde ich etwas nervig, dass jedes Mal, wenn ich das Skript anklicke und unten das Log aufgebaut wird, eine rote Fehlermeldung angezeigt bekomme...

                  Ob tatsächlich alles funktioniert wird sich wohl erst im Verlauf von 1-2 Tagen zeigen... 🙂

                  A 1 Reply Last reply Reply Quote 0
                  • S
                    stevie77 @ArnoD last edited by stevie77

                    @ArnoD Der erwähnte Fehler =200 scheint nun weg zu sein, seit um 5:15 Uhr der erste richtige Wetterabruf war.

                    Andere Sache: Seit ich dein Programm benutze hat die Automatik immer Einstellung 2 gewählt. Heute erstmals Einstellung 1. Hat das mit der Zeile

                    // 2 Prognose PV-Leistung höher als benötigter Eigenverbrauch,Batterie laden und Überschuss ins Netz einspeisen.
                    // keine Bewölkung > 80% 
                    if (Ueberschuss > 0 && Bedeckungsgrad12 < 90 && Bedeckungsgrad15 < 90)// && AutomatikAnwahl == true)
                    

                    zu tun? In der letzten Skriptversion war Automatik nicht auskommentiert...
                    Mit den 5 Einstellungsmöglichkeiten bin ich eh noch überfordert, momentan habe ich überall dieselben Werte hinterlegt, die sich als passend für die meisten Wettersituationen erwiesen haben. Bin noch in der Beobachtungsphase, was wann gewählt wird...

                    Jetzt steige ich noch weniger durch: Die Prognose ist 47,7 kWh, aber es wird Überschuss 0 kWh errechnet. Einstellung 1 wäre doch die Schlechtwetter-Einstellung, wo man fast keine Sonne erwartet?! Also läuft jetzt irgendwas schief, ne?

                    05:45:00.006	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 12 Uhr Proplanta 62.5
                    05:45:00.006	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 15 Uhr Proplanta 62.5
                    05:45:00.009	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose Forecast in kWh = 53.058
                    05:45:00.009	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose Proplanta in kWh = 86.3455
                    05:45:00.010	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose_kWh_heute für Berechnung = 47.7522
                    05:45:00.011	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: AktSpeicherSoC in % = 30
                    05:45:00.011	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: FreieKapBatterie_kWh = 8.19
                    05:45:00.011	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Ueberschuss in kWh = 0
                    05:45:00.011	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Ueberschuss in Prozent = 0
                    05:45:00.013	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Berechneter Unload SoC ist = 30
                    05:45:00.014	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Einstellung 1 aktiv
                    

                    Definiert habe ich const nEigenverbrauchTag = 12.0. FreieKapBatterie_kWh würde ich sagen ist mit 8,19 kWh richtig berechnet.
                    Also müsste Ueberschuss_kWh =(Prognose_kWh-nEigenverbrauchTag)-FreieKapBatterie_kWh; wie folgt zu rechnen sein: 47,7 - 12 - 8,2 = 27,5 kWh. Tatsächlich kommt da aber 0 raus im Log. Irgendeine Idee?

                    1 Reply Last reply Reply Quote 0
                    • S
                      stevie77 @ArnoD last edited by

                      @ArnoD Hmm, jetzt habe ich noch ein bisschen die Kommentare zu den Einstellungen ergänzt und die Zahlen 80<>90 Prozent korrigiert und dann gespeichert. Da lief das Skript nochmals durch und hat nun auf den ersten Blick alles richtig gemacht (im Gegensatz zu davor):

                      06:40:31.589	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 12 Uhr Proplanta 62.5
                      06:40:31.590	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad 15 Uhr Proplanta 62.5
                      06:40:31.593	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose Forecast in kWh = 53.058
                      06:40:31.593	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose Proplanta in kWh = 86.3455
                      06:40:31.594	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Prognose_kWh_heute für Berechnung = 47.7522
                      06:40:31.596	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: AktSpeicherSoC in % = 26
                      06:40:31.596	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: FreieKapBatterie_kWh = 8.66
                      06:40:31.596	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Ueberschuss in kWh = 27.092200000000002
                      06:40:31.597	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Ueberschuss in Prozent = 100
                      06:40:31.599	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Berechneter Unload SoC ist = -74
                      06:40:31.599	info	javascript.0 (556) script.js.e3dc-control.handleE3DCControl: Einstellung 2 aktiv
                      

                      Kann es sein, dass vielleicht irgendein State noch nicht richtig initialisiert war oder so? Aber es war ja eigentlich auch beim ersten falschen Lauf alles da womit gerechnet wird...versteh' ich nicht.

                      1 Reply Last reply Reply Quote 0
                      • A
                        ArnoD @stevie77 last edited by

                        • nKorrWert_PV_Leistung scheint ein toter Parameter zu sein, eine Textsuche findet nur die Deklarierung des Werts.

                        Ja, kommt erst mit der nächsten Version. Hatte ich für mich schon mal vorbereitet. 😊

                        • Der Fehler "javascript.0 (32733) script.js.e3dc-control.handleE3DCControl: Bewölkungsgrad_12 oder Bewölkungsgrad_15 wurde nicht abgerufen. 12=200 15=200" scheint ein erwarteter Fehler zu sein?! Taucht der jetzt nur auf, weil beim Start des Skripts nicht wirklich eine Abfrage durchgeführt wird? Finde ich etwas nervig, dass jedes Mal, wenn ich das Skript anklicke und unten das Log aufgebaut wird, eine rote Fehlermeldung angezeigt bekomme...

                        Sollte nur auftauchen wenn keine Werte enthalten sind.
                        Ist beim ersten Script Start natürlich der Fall, muss mal prüfen ob ich das beim ersten Start abfangen kann.

                        smartboart 1 Reply Last reply Reply Quote 0
                        • smartboart
                          smartboart @ArnoD last edited by

                          @ArnoD sagte in E3DC Hauskraftwerk steuern:

                          Ist kein Problem, kannst du gerne machen.
                          Ich brauche die Seite nur für das Finanzamt, habe mich deswegen nicht weiter darum gekümmert.
                          Wenn jemand eine ansprechende HTML Seite daraus machen kann, würde ich mich freuen

                          Hallo Arno,
                          habe mal nen Threat eröffnet...
                          https://forum.iobroker.net/topic/35659/stromzählerscript-pv-anlage-finanzamt-in-json-oder-html

                          1 Reply Last reply Reply Quote 0
                          • smartboart
                            smartboart @ArnoD last edited by smartboart

                            @ArnoD

                            Hallo Arno,

                            ä und ae vertauscht?

                            nDachflaechen und
                            let nDachflächen = 2

                            1 Reply Last reply Reply Quote 0
                            • smartboart
                              smartboart @ArnoD last edited by smartboart

                              EDIT:
                              erledigt...oben schon beantwortet

                              1 Reply Last reply Reply Quote 0
                              • S
                                stevie77 @ArnoD last edited by stevie77

                                @ArnoD Das ist jetzt ein bisschen komisch...nachts um 2 Uhr wird PV-Leistung für den 4. August angezeigt, obwohl die Sonne noch gar nicht aufgegangen ist:

                                be5228dd-a0b8-4e9b-aa9b-ce4b133686ef-image.png

                                Der Wert kommt da her: 0_userdata.0.E3DC-Control.Allgemein.IstSummePvLeistung_kWh

                                7569c44e-fd45-461b-9480-aa9164e0e56a-image.png

                                Müsste der Wert vielleicht zum Tagesende gelöscht werden? Andererseits weiß ich gar nicht, was das für ein Wert sein soll, also wo die Zahl herkommt...am Vortag (3. August) war die Summe aus Anlage 1 und 2 viel höher (korrekt im Diagramm)...
                                Hat das damit zu tun, dass das Diagramm jetzt öfters aktualisiert wird und nicht nur nachts um 22 Uhr wie früher?

                                Edit: Um 6 Uhr morgens hab ich eben draufgesehen, da hatte sich das Problem wieder gelöst. Ich kann jetzt nicht sagen, ob es mit dem Neuzeichnen des Diagramms (wegen aktualisierter Wetterprognose) um/ab 6 Uhr zu tun hat, oder ob relativ zeitgleich der Start der PV-Erzeugung den State auf 0 gesetzt hat...oder beides...jedenfalls passt es (spätestens) wieder, sobald ab ca. 6 Uhr neuer Strom erzeugt wird. Wäre aber vielleicht trotzdem schön, wenn das Diagramm keinen Phantomstrom anzeigen würde. 😉

                                smartboart A 2 Replies Last reply Reply Quote 0
                                • smartboart
                                  smartboart @stevie77 last edited by

                                  @ArnoD
                                  Hi Arno,
                                  ich habe gestern auch umgestellt.
                                  Der Istwert in der Prognose aus Source Analytics ( welchen ich mit meinem eigen Zähler füttere) ist schön mitgewachsen und wurde auch richtig angezeigt. Leider ist der Baken heute weg.
                                  Ich finde im Script keinen chron, wann du den Wert speicherst: Ich setze meinen Tageszähler um 23:58 wieder auf 0...
                                  Wann holst du den letzten wert ab?

                                  A 2 Replies Last reply Reply Quote 0
                                  • A
                                    ArnoD @stevie77 last edited by

                                    @stevie77
                                    0_userdata.0.E3DC-Control.Allgemein.IstSummePvLeistung_kWh ist die Summe von PV-Leistung Leistungsmesser 0 (sPvLeistung_kWh) und Leistungsmesser 1 (sEinspeiserLeistung_kWh).
                                    Dieser Wert wird immer aktualisiert wenn sich bei Leistungsmesser 0 was ändert. In meinem Fall also bei dem Wert von sourceanalytix .
                                    Da muss sich anscheinend bei dir der Wert um 2 Uhr geändert haben. Ob jetzt einer der beiden Zähler dann 21 kWh angezeigt hat oder beide kann ich dir so leider nicht sagen, aber getriggert wird immer auf Leistungsmesser 0 das ist die Variable sPvLeistung_kWh.
                                    Sourceanalytix löscht die Werte automatisch um 0:00 Uhr und Zählt wierder von 0 kWh, sodass eigentlich nichts gelöscht werden muss.

                                    1 Reply Last reply Reply Quote 0
                                    • A
                                      ArnoD @smartboart last edited by

                                      @smartboart
                                      Vermutlich selbes Problem wie stevie77 wenn du den Tageszähler vor 0:00:01 zurücksetzt wird der Wert von gestern gelöscht.
                                      Der Wert wird ständig bei Änderung für den aktuellen Tag gespeichert.
                                      Beispiel:
                                      Wenn du am 04.08.2020 um 23:58 auf 0 setzt wird 0 noch für den 04.08.2020 gespeichert.

                                      smartboart 1 Reply Last reply Reply Quote 0
                                      • A
                                        ArnoD @smartboart last edited by

                                        @smartboart sagte in E3DC Hauskraftwerk steuern:

                                        Ich finde im Script keinen chron, wann du den Wert speicherst: Ich setze meinen Tageszähler um 23:58 wieder auf 0...
                                        Wann holst du den letzten wert ab?

                                        Ab Zeile 1207 im Script:
                                        on({id: sPvLeistung_kWh,change: "ne"}, function (obj){

                                        1 Reply Last reply Reply Quote 0
                                        • A
                                          ArnoD last edited by

                                          Habe mal eine Frage an euch. 🙂
                                          Welche Prognose trifft bei euch eher zu, die von Proplanta oder Forecast ?
                                          Ich habe mir die Diagramme vom Juni/Juli mal angeschaut und Proplanta hat eine bessere Trefferquote als Forecast, jedenfalls bei mir.

                                          S smartboart 2 Replies Last reply Reply Quote 0
                                          • S
                                            stevie77 @ArnoD last edited by stevie77

                                            @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                            Habe mal eine Frage an euch. 🙂
                                            Welche Prognose trifft bei euch eher zu, die von Proplanta oder Forecast ?
                                            Ich habe mir die Diagramme vom Juni/Juli mal angeschaut und Proplanta hat eine bessere Trefferquote als Forecast, jedenfalls bei mir.

                                            Da die Zählweise von Sourceanalytix so ungenau ist, ist das Diagramm nicht so besonders aussagekräftig. Heute 7 kWh Abweichung. Dazu wurde lange die 2. Anlage nicht gezählt. Ich hab da also kaum belastbare Daten. Tendenziell liegen beide gleich oft richtig oder daneben. Am ehesten trifft es die Prognose Auto...

                                            Ich glaube dieser Wert, der da bei mir falsch angezeigt wird, ist der Anteil meiner 2. PV-Anlage. Warum ist mir noch nicht ganz klar...
                                            Hatte seither kurz vor 22 Uhr einen Korrekturfaktor auf das Ist-Ergebnis losgelassen (1.088 trifft es meist ganz gut), aber das klappt jetzt mit der neuen Version nicht mehr. Mal sehen, ob ich das gefixt bekomme.

                                            PS: Da jetzt also bei Änderung des PV-Werts das Diagramm aktualisiert wird, wird die bisherige Aktualisierung um 22 Uhr wahrscheinlich weggefallen sein? Vermutlich wird deshalb das Diagramm nicht mehr mit meinem korrigierten Ist-Wert aktualisiert (schedule({hour: 21, minute: 58}, function(){...}). Könntest du das evtl. wieder einbauen, dass das um 22 Uhr nochmals passiert? Schadet ja nicht... 😉
                                            Ich kann die Funktion leider nicht von außen mit meinem Skript aufrufen. Oder ist das viel Code um das Diagramm einmal neu aufzubauen?

                                            Dass nur Anlage 1 das triggert ist auch deswegen problematisch, weil meine 2. Anlage in West manchmal etwas länger läuft als Süd und dann ein (wenn auch kleiner) Teil der Erzeugung fehlen könnte. Ich habe eine Funktion geschrieben um mir die Gesamtleistung und -erzeugung beider Anlagen in ner Statuszeile anzuzeigen, da habe ich zwei Trigger definiert, so dass Änderungen an beiden Anlagen die Werte neu berechnen.

                                            smartboart S 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            731
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3331
                                            1362116
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo