Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. JavaScript
  5. E3DC Hauskraftwerk steuern

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.3k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.4k

E3DC Hauskraftwerk steuern

Geplant Angeheftet Gesperrt Verschoben JavaScript
3.4k Beiträge 70 Kommentatoren 1.6m Aufrufe 61 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • A ArnoD

    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 Offline
    A Offline
    Abyss
    schrieb am zuletzt editiert von
    #23

    @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 Antwort Letzte Antwort
    0
    • A Offline
      A Offline
      ArnoD
      schrieb am zuletzt editiert von ArnoD
      #24

      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 Antwort Letzte Antwort
      0
      • A Offline
        A Offline
        Abyss
        schrieb am zuletzt editiert von
        #25

        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 Antwort Letzte Antwort
        0
        • A Offline
          A Offline
          Abyss
          schrieb am zuletzt editiert von
          #26

          @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 Antwort Letzte Antwort
          0
          • A Offline
            A Offline
            ArnoD
            schrieb am zuletzt editiert von
            #27

            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 Antwort Letzte Antwort
            1
            • A Offline
              A Offline
              Abyss
              schrieb am zuletzt editiert von
              #28

              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 Antwort Letzte Antwort
              0
              • A Offline
                A Offline
                ArnoD
                schrieb am zuletzt editiert von
                #29

                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 Antwort Letzte Antwort
                0
                • A Offline
                  A Offline
                  ArnoD
                  schrieb am zuletzt editiert von
                  #30

                  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 Antwort Letzte Antwort
                  0
                  • A Offline
                    A Offline
                    Abyss
                    schrieb am zuletzt editiert von
                    #31

                    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 Antwort Letzte Antwort
                    0
                    • A Offline
                      A Offline
                      ArnoD
                      schrieb am zuletzt editiert von
                      #32

                      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 Antwort Letzte Antwort
                      0
                      • A Offline
                        A Offline
                        ArnoD
                        schrieb am zuletzt editiert von
                        #33

                        Ok habe noch einen Fehler gefunden :confounded:
                        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 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          Abyss
                          schrieb am zuletzt editiert von
                          #34

                          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 Antwort Letzte Antwort
                          0
                          • S Offline
                            S Offline
                            stevie77
                            schrieb am zuletzt editiert von
                            #35

                            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 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              ArnoD
                              schrieb am zuletzt editiert von
                              #36

                              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 Antwort Letzte Antwort
                              0
                              • A ArnoD

                                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 Offline
                                S Offline
                                stevie77
                                schrieb am zuletzt editiert von
                                #37

                                @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 Antwort Letzte Antwort
                                0
                                • A Offline
                                  A Offline
                                  Abyss
                                  schrieb am zuletzt editiert von Abyss
                                  #38

                                  Bei mir laufen auch beide im Docker. Ich hab einfach im persistent Ordner des iobrokers einen Ordner E3DC-Control erzeugt. Dieser ist dann der persistent Ordner vom E3dc-control Docker. Somit können beide Docker die selbe config Datei sehen und schreiben. Funktioniert super.

                                  Wegen dem Sourceanalytix musst du evtl unter den Einstellungen noch den "Aktiver Verwahrungsort" auf latest umstellen.

                                  S 1 Antwort Letzte Antwort
                                  0
                                  • A Abyss

                                    Bei mir laufen auch beide im Docker. Ich hab einfach im persistent Ordner des iobrokers einen Ordner E3DC-Control erzeugt. Dieser ist dann der persistent Ordner vom E3dc-control Docker. Somit können beide Docker die selbe config Datei sehen und schreiben. Funktioniert super.

                                    Wegen dem Sourceanalytix musst du evtl unter den Einstellungen noch den "Aktiver Verwahrungsort" auf latest umstellen.

                                    S Offline
                                    S Offline
                                    stevie77
                                    schrieb am zuletzt editiert von
                                    #39

                                    @Abyss Ja, genau so hatte ich mir das auch gedacht, nachdem ich mich kurz in rsync eingelesen hatte. Lieber auf Synchronisation verzichten und dem ioBroker ein weiteres Host-Verzeichnis geben.
                                    Muss dann mal mein Dockercompose für ioBroker erweitern und neu ausführen. Ich hoffe, das klappt indem ich nur den ioBroker-Container entferne. Vermutlich muss ich aber auch noch den MySQL-Container und den phpMyAdmin-Container, die da beide auch mit drin hängen, auch zuvor löschen, sonst läuft das Skript ja wahrscheinlich nicht fehlerfrei durch.

                                    1 Antwort Letzte Antwort
                                    0
                                    • A Offline
                                      A Offline
                                      Abyss
                                      schrieb am zuletzt editiert von Abyss
                                      #40

                                      für den Docker von iobroker hab ich gar nichts geändert.
                                      ich habe einfach unter dem Docker Ordner von iobroker einen neuen Unterordner erstellt:
                                      /docker/iobroker_data (persistent mount-Ordner von iobroker)
                                      /docker/iobroker_data/E3DC-Control

                                      Und hier habe ich dann die beiden Ordner "config" und "logs" welche von deinem E3DC-Docker gemountet werden erstellt.
                                      /docker/iobroker_data/E3DC-Control/config ->/srv/git/E3DC-Control/program/conig
                                      /docker/iobroker_data/E3DC-Control/logs -> /srv/git/E3DC-Control/program/logs

                                      im Javascript von ArnoD musst du dann nur den Pfad zur E3DC-Config anpassen:
                                      const sPfadE3DC = "/opt/iobroker/E3DC-Control/config/e3dc.config.txt"

                                      Somit musst du eigentlich nur den Mount-Pfad von deinem E3DC-Control anpassen und am iobroker etc nichts ändern.

                                      Wegen Sourceanalytix nochmal:
                                      (Sourceanalytix.JPG

                                      Wie oben schon geschrieben unter den Haupteinstellungen mal auf "latest" umstellen.

                                      S 1 Antwort Letzte Antwort
                                      0
                                      • A Abyss

                                        für den Docker von iobroker hab ich gar nichts geändert.
                                        ich habe einfach unter dem Docker Ordner von iobroker einen neuen Unterordner erstellt:
                                        /docker/iobroker_data (persistent mount-Ordner von iobroker)
                                        /docker/iobroker_data/E3DC-Control

                                        Und hier habe ich dann die beiden Ordner "config" und "logs" welche von deinem E3DC-Docker gemountet werden erstellt.
                                        /docker/iobroker_data/E3DC-Control/config ->/srv/git/E3DC-Control/program/conig
                                        /docker/iobroker_data/E3DC-Control/logs -> /srv/git/E3DC-Control/program/logs

                                        im Javascript von ArnoD musst du dann nur den Pfad zur E3DC-Config anpassen:
                                        const sPfadE3DC = "/opt/iobroker/E3DC-Control/config/e3dc.config.txt"

                                        Somit musst du eigentlich nur den Mount-Pfad von deinem E3DC-Control anpassen und am iobroker etc nichts ändern.

                                        Wegen Sourceanalytix nochmal:
                                        (Sourceanalytix.JPG

                                        Wie oben schon geschrieben unter den Haupteinstellungen mal auf "latest" umstellen.

                                        S Offline
                                        S Offline
                                        stevie77
                                        schrieb am zuletzt editiert von stevie77
                                        #41

                                        @Abyss sagte in E3DC Hauskraftwerk steuern:

                                        Somit musst du eigentlich nur den Mount-Pfad von deinem E3DC-Control anpassen und am iobroker etc nichts ändern.

                                        Keine schlechte Idee. So herum ginge es natürlich auch. Ist wahrscheinlich weniger Aufwand... :-)

                                        Wegen Sourceanalytix nochmal:

                                        Wie oben schon geschrieben unter den Haupteinstellungen mal auf "latest" umstellen.

                                        Ich bin noch nicht so vertraut mit ioBroker - mit dem Tipp habe ich das nun tatsächlich gefunden. Wo ist der Unterschied bzw. was bedeutet das? Stelle ich danach lieber wieder auf default um?

                                        1 Antwort Letzte Antwort
                                        0
                                        • A Offline
                                          A Offline
                                          Abyss
                                          schrieb am zuletzt editiert von
                                          #42

                                          Lates ist einfach der aktuellste Updatepfad. Hier findest du mehr Adapter und auch die neuere Versionen. Also ich würde das einfach auf latest stehe lassen.

                                          S 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          353

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe