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.
    • A
      ArnoD last edited by

      Richtig.
      Es werden die werte Globalstrahlung von Proplanta und Forecast abgerufen.
      Von den beiden Prognosen wird der niedrigere Wert verwendet, habe bei mir festgestellt, dass so die Prognose ziemlich genau zutrifft bis auf ein paar Ausreiser.
      Bei klarem Himmel im Sommer hat meine PV- Anlage nie über 100 kWh pro Tag geliefert, so das ich als "nMaxPvLeistungTag_kWh" 100 eingestellt habe. Wenn die Prognose über 100 kWh ist, wird von 100 kWh ausgegangen und alles darüber ignoriert. Das Gleiche kann man mit "nMinPvLeistungTag_kWh" für die niedrigste PV-Leistung bei stark bewölktem Himmel einstellen. Da ich auch da noch mindestens 12 kWh erreiche, habe ich hier im Script 12 eingetragen.
      Aber das muss jeder für sich ermitteln.

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

        Vielen Dank für die Aufklärung.
        den Wert für MaxPvLeistung hab ich gefunden und angepasst.
        Der Wert "nMinPvLeistung" ist im Javascript aber nicht vorhanden?!?

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

          Ups, stimmt.
          Habe die neue Version noch nicht hochgeladen 🙂
          Soeben erledigt, Version 0.1.6 ist online.

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

            Ich habe gestern das aktuelle Script 0.1.6 hinzugefügt und anschließend die Automatik eingeschalten.
            Allerdings setzt mir die Automatik auch alle deine Werte, welche bei meiner normalen S10 leider nicht passen.
            Folgende Werte musste ich manuell zurückändern:

            • max Ladeleistung (S10 hat hier max. 3000W, wurde aber auf 12000W gesetzt)
            • min Ladeleistung
            • oberer Ladekorridor
            • unterer Ladekorridor
            • Speichergröße
            • Einspeiselimit

            Einspeiselimit und Speichergröße sollten durch die Automatik gar nicht verändert werden. Bei der Ladeleistung und Korridor sollte die verwendete Anlage berücksichtigt werden, oder die Werte auch unverändert bleiben.
            Ich denke die Hauptsächliche Beeinflussung findet ja sowieso über die Ladezeiten und Ladeende statt, oder?

            Gruß Abyss 😎

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

              Ich muss noch die Variablen der 5 möglichen Automatikprogramme in den User Bereich eintragen.
              Hatte das bis jetzt noch nicht erledigt, da ich mit dem Experimentiern der richtigen Einstellung beschäftigt war.
              Werde ich am Wochenende machen und dann wieder online stellen.
              Die Parameter Speichergröße und Einspeiselimit werden aber auch benötigt, da man mit diesen die Ladekurve beeinflussen kann.
              Als Beispiel kann man bei Speichergröße einen geringeren Wert eingeben, um mit einer höheren Ladeleistung beim Regelbegin zu starten und somit eine gleichmäßige Ladekurve zu erreichen.

              Gruß Arno

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

                @ArnoD
                Vielen Dank für die neuen Skripte.
                Auch die überarbeiteten Views sind super.
                Könntest du die neue View "Prognose History" vielleich noch etwas genauer Beschreiben. Sprich welche Datenpunkte geloggt werden müssen, history oder sourceanalytix etc.
                Wäre super, danke!!

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

                  Für die Prognose werden die Daten aus dem Script Proplanta, Globalstrahlung D0 und D1 verwendet und aus dem E3DC-Control Script die Prognosewerte von Forecast verwendet. Die tägliche PV-Leistung wird vom SourceAnalytix Adapter Version 0.3.0 (Version 0.4.2 funktioniert aktuell leider noch nicht) berechnet und von meinem Script täglich um 21:00 Uhr ausgelesen und gespeichert.

                  Aus dem Script Proplanta:
                  sGlobalstrahlung = 'javascript.0.wetter.proplanta.d0.Globalstrahlung';
                  sGlobalstrahlungMorgen = 'javascript.0.wetter.proplanta.d1.Globalstrahlung';

                  mein Script berechnet daraus die Prognose in kWh mit den Variablen "nModulFlaeche" und "nWirkungsgradModule" und speichert diesen Wert im State "PrognoseProp_kWh_datum" mit dem aktuellen Datum ab. Also für heute "PrognoseProp_kWh_28".
                  Täglich um 5:10 Uhr werden von meinem Script die Prognosewerte von Forecast in W abgerufen und in kWh unter "PrognoseFore_kWh_datum" als Summe täglich gespeichert.Wenn in Vis der Schalter Automatik =true ist wird auch die
                  Prognose mit Korrekturfaktor berechnet und unter "PronoseAuto_kWh_" täglich gespeichert.
                  Mit dem Modul Sourceanalytix, wird die PV-Leistung was von der Modbus Schnittstelle übertragen wird, der Tageswert in kWh berechnet.
                  sPvLeistung_kWh = 'sourceanalytix.0.modbus__0__holdingRegisters__40068_PV_Leistung.delivery.01_current_day';
                  Diesen Wert lese ich täglich um 21:00 Uhr aus und speichere ihn im State "IstPvLeistung_kWh_datum".

                  Aus diesen Werten
                  PronoseAuto_kWh_
                  IstPvLeistung_kWh_
                  PrognoseProp_kWh_
                  PrognoseFore_kWh_
                  erstellt die Funktion makeJson() einen Json String für das Materialdesign-JSON Chart und Speichert diesen unter dem State "HistoryJSON" ab.
                  Ab der Script Version 0.1.10 die ich gerade teste, wird der Json String für jedes Monat gespeichert, so das man 1 Jahr zurückverfolgen kann.

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

                    Danke für die Erklärung.
                    hab jetzt mal Sourceanalytix auf 3.0 downgegraded, das Script 0.1.9 eingespielt und die Automatik aktiviert...mal kucken was passiert. 😉

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

                      @ArnoD said in E3DC Hauskraftwerk steuern:

                      Aus dem Script Proplanta:
                      sGlobalstrahlung = 'javascript.0.wetter.proplanta.d0.Globalstrahlung';
                      sGlobalstrahlungMorgen = 'javascript.0.wetter.proplanta.d1.Globalstrahlung';

                      mein Script berechnet daraus die Prognose in kWh mit den Variablen "nModulFlaeche" und "nWirkungsgradModule" und speichert diesen Wert im State "PrognoseProp_kWh_datum" mit dem aktuellen Datum ab. Also für heute "PrognoseProp_kWh_28".
                      Täglich um 5:10 Uhr werden von meinem Script die Prognosewerte von Forecast in W abgerufen und in kWh unter "PrognoseFore_kWh_datum" als Summe täglich gespeichert.

                      Muss ich hier noch irgendwo einen Trigger oder Cron setzen damit dies passiert? Mir ist gerade aufgefallen, dass ich nur an dem Tag als ich das Script hinterlegt habe aktuelle Werte bekommen habe und seitdem stehen immer die gleichen Werte in
                      0_userdata.0.E3DC-Control.Allgemein.PrognoseFore_kWh_heute
                      0_userdata.0.E3DC-Control.Allgemein.PrognoseProb_kWh_heute

                      Drum bleibt auch die vis Prognose leer, da ich keine Prognosewerte habe....die PV-Leistung hat er mir gestern schon mal visualisiert.

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

                        Nein , das macht das Script automatisch.
                        Es muss nur der State Automatik = true sein.
                        Im Log sollte beim Start dann folgendes stehen:
                        script.js.common.E3DC_Control: registered 4 subscriptions and 6 schedules

                        1 Reply Last reply Reply Quote 1
                        • A
                          Abyss last edited by

                          Dann fehlt da wohl etwas.
                          Ich hab grad das Script nochmal von den Settings angepasst und gespeichert, dann stand das unten im Log:
                          "javascript.0 (982) script.js.VIS-Script.E3DC-Control: registered 3 subscriptions and 5 schedules"

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

                            Stimmt du hast ja noch Version 0.1.9, habe die Version 0.1.10 in meinem ersten post eingestellt.
                            Schau mal ob es mit der funktioniert.

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

                              Habe eine neue Version 0.1.11 hochgeladen und die View Prognose aktualisiert.
                              Man hat jetzt die Möglichkeit in der View, das Monat auszuwählen und sich das Prognosediagramm von dem Monat anzeigen zu lassen.
                              Ich habe auch den Rechtschreibfehler beim State PronoseAuto_kWh_ in PrognoseAuto_kWh_ korrigiert.
                              Bitte die State PronoseAuto_kWh_ manuell löschen.
                              Es wurde auch der Fehler behoben, dass sich das Diagramm nur aktualisiert hat, wenn man ein anderes Monat angewählt hat.

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

                                Ich habe soeben auf die 0.1.11 geändert und die view_Prognose neu gemacht.
                                Jetzt werd ich mal testen.
                                Ich hab den kompletten Objekte-Ordner "History" gelöscht und mit dem Script neu anlegen lassen. (waren eh keine Werte bei mir drin)
                                aktuell ist 0_userdata.0.E3DC-Control.History.HistoryJSON leer.
                                Ich lass das ganze jetzt mal laufen bis morgen und kucke ob Werte reinkommen. 😉

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

                                  Es wäre gut wenn du im Script die Variable LogAusgabe = true setzen würdest und mir dann die Log Ausgabe von 5:10 Uhr mir per PN posten würdest oder selber mal nachschaust ob die Werte von Forecast richtig abgerufen werden.
                                  Um 5:10 Uhr solltest du einen Eintrag im Log finden der in etwa so aussieht:
                                  info: javascript.1 (5917) script.js.common.E3DC_Control: Rueckmeldung :{"result":"2020-07-04":59600,"2020-07-05":57642},
                                  result sollte zwei Werte enthalten, Prognose in W für heute und Morgen.
                                  Weiter unten im Log sollte noch die Zeile info: javascript.1 (5917) script.js.common.E3DC_Control: Gepeichert wurde Prognose forecast 2/2 : 22982 :40349
                                  stehen. Hier kann man erkenne ob beide Werte im ersten Durchlauf abgerufen wurden oder im zweiten und welche Werte gespeichert wurden.
                                  2/2 bedeutet zweite Dachfläche im zweiten Durchlauf, was darauf hinweist das bei der ersten Abfrage keine Werte übermittelt wurden.

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

                                    Ok habe noch einen Fehler gefunden 😖
                                    Habe diesen in der Version 0.1.12 behoben.
                                    Entweder Script vom ersten Post kopieren oder nur die Funktion getCurrentDate im Script überschreiben:

                                    // Liefert das Datum im Format yyyy-mm-dd
                                    function getCurrentDate(date) {
                                        if (!date) {
                                    	    date = new Date();
                                    	}
                                    	let today = date;
                                    	let dd = today.getDate();
                                    	let mm = today.getMonth() + 1; //January is 0!
                                        let yyyy = today.getFullYear();
                                    	let DD = zeroPad(dd,2);
                                        let MM = zeroPad(mm,2);
                                        return yyyy + '-' + MM + '-' + DD;
                                    }
                                    
                                    

                                    Habe beim Monat übersehen das ja auch hier bei einstelligen Zahlen eine 0 vorangestellt werden muss um das richtige Datumsformat für Forecast zu erhalten.

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

                                      Heute morgen kam die Prognose rein.
                                      Auch die PV-Produktion von Gestern war in der View.
                                      Aktuell sieht es gut aus.
                                      Habe soeben noch das Script auf 0.1.12 upgedated und lasse das jetzt noch ein paar Tage laufen.
                                      Vielen Dank nochmal für deine Mühe!!

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

                                        Ich versuche das jetzt auch mal...schreiben und lesen der Datei geht schon, auch wenn ich Probleme habe, weil ioBroker bei mir im Docker-Container läuft und E3DC-Control auch. Jetzt muss ich die beiden Mountverzeichnisse auf dem Host irgendwie synchronisieren. Aber das ist ein anderes Problem...
                                        Weswegen ich schreibe: Wo bekommt man dieses SourceAnalytix her? Wenn ich im ioBroker unter Adapter danach filtere wird nichts gefunden. Eine Volltextsuche ohne Filter hat auch keine Treffer...

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

                                          Bei mir laufen beide im selben Docker-Container, da ist das entwas einfacher.
                                          SourceAnalytix solltest du im IoBroker unter den Adapter finden, ansonsten aus dem GitHub manuell installieren: https://github.com/iobroker-community-adapters/ioBroker.sourceanalytix.
                                          Wichtig ist nur das du die Version 0.3.0 verwendest, da es bei der 0.4.2 noch Probleme gibt.

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

                                            @ArnoD sagte in E3DC Hauskraftwerk steuern:

                                            SourceAnalytix

                                            In welcher Kategorie der Adapter sollte das denn zu finden sein? Vielleicht heißt es irgendwie anders oder wird leicht anders geschrieben? Wobei Volltextsuche nach Source oder Analytix auch nichts findet...

                                            54a0ec29-231f-47ca-8082-53272ada2ecb-image.png

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            705
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3330
                                            1344561
                                            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