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

      @ArnoD Hmm, bei mir hat sich das jetzt nach 2-3x Umschalten so aufgehängt, dass auch nach 2 Minuten Warten keine Aktualisierung der Kurve mehr erfolgt. Aber ist ja auch nicht so wichtig, im Normalfall stellt man das ja nicht um wenn man sich mal für eine Variante entschieden hat.

      2a9229b3-19ff-4d48-b411-9eac9955d4e6-image.png

      1 Reply Last reply Reply Quote 0
      • M
        michael74 last edited by

        Hallo, hab mir das ganze mal in meiner iobroker Installation hinzugefügt. Sieht auch schon sehr gut aus. Ein Lob an Euch super gemacht.
        Bei mir kommt in der Wetterabfrage forcecast leider nur die Dachfläche 2. Dachfläche 1 bleibt bei 0, somit auch die Tageswerte bei 0. Wenn ich die Anzahl Dachflächen auf 1 setzte kommt die Dachfläche 1. Somit sollten die Werte OK sein. Wo kann mein Fehler sein?
        Im zweiten Schritt brächte ich noch weitere drei Dachflächen, hab hinter dem E3DC noch drei WR hängen, die Abregelung steuert aber der E3DC. "Einfach" alle Scriptbereiche mit forcecast um 3 erweitern, oder hab ich was übersehen.

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

          @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.

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

            @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.

            smartboart 2 Replies Last reply Reply Quote 0
            • M
              michael74 @ArnoD last edited by

              @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
              
              A 1 Reply Last reply Reply Quote 0
              • smartboart
                smartboart @ArnoD last edited by

                @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...

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

                  @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...

                  6fa8f0a6-f35d-44bb-a465-0849dcbaa602-image.png

                  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)?

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

                    @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.

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

                      @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:
                      1.png

                      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

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

                        @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:

                        14ed2313-7121-4d35-af07-368b1934be84-image.png

                        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.

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

                          @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 es

                          setTimeout(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
                          
                          A 1 Reply Last reply Reply Quote 0
                          • M
                            michael74 last edited by

                            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

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

                              @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.

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

                                @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.

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

                                  @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.

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

                                    @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;
                                            };
                                        }
                                    
                                    S M 2 Replies Last reply Reply Quote 0
                                    • S
                                      stevie77 @ArnoD last edited by

                                      @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")...

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

                                        @ArnoD Ja so funktioniert es.

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

                                          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.

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

                                            @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?

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            835
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3331
                                            1363287
                                            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