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.4k

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

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

E3DC Hauskraftwerk steuern

Geplant Angeheftet Gesperrt Verschoben JavaScript
3.5k 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.
  • smartboartS smartboart

    @ArnoD sagte in E3DC Hauskraftwerk steuern:

    Ich nutze natürlich heimlich auch dein Script
    Würde mich über updates hier freuen.

    Hab meine letzte aktuelle Version hier aktualisiert.

    Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
    Bei 13 KW 13 / 100 * 88 = 11.44
    einfach bei

    var Speicher = 11.44; // kw/h hier die Speichergröße in kwh abzüglich des Systemwirkungsgrad eintragen Bei 13 KW 13 / 100 * 88 = 11.44
    
    

    eintragen.

    https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/591

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

    @smartboart sagte in E3DC Hauskraftwerk steuern:

    Hab meine letzte aktuelle Version hier aktualisiert.

    Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
    Bei 13 KW 13 / 100 * 88 = 11.44

    Ähmm, irgendwie bin ich noch nicht zu dir durchgedrungen, meine aber richtig zu liegen. ;-)

    Du darfst nicht von 13 kWh ausgehen, sondern nur von 11,7 kWh (10 % weniger, weil diese 10 % nie nutzbar sind wegen der 90 % Entladetiefe der Batterien). Dein Speicher ist real nur 11,7 kWh groß und davon musst du dann die 88 % Wirkungsgrad/Verluste abziehen, also 11,7 / 100 * 88 = 10,3 kWh.
    Das werde ich nun mal bei mir eintragen. Testen kann/will ich es aber noch nicht, da ich mit den neuen Batterien nun wieder über die Nacht komme. Naja, irgendwann wird das Wetter dann doch mal so schlecht werden, dass es nicht mehr reicht, dann kann ich die Zahl testen. :-)

    smartboartS 2 Antworten Letzte Antwort
    0
    • S stevie77

      @smartboart sagte in E3DC Hauskraftwerk steuern:

      Hab meine letzte aktuelle Version hier aktualisiert.

      Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
      Bei 13 KW 13 / 100 * 88 = 11.44

      Ähmm, irgendwie bin ich noch nicht zu dir durchgedrungen, meine aber richtig zu liegen. ;-)

      Du darfst nicht von 13 kWh ausgehen, sondern nur von 11,7 kWh (10 % weniger, weil diese 10 % nie nutzbar sind wegen der 90 % Entladetiefe der Batterien). Dein Speicher ist real nur 11,7 kWh groß und davon musst du dann die 88 % Wirkungsgrad/Verluste abziehen, also 11,7 / 100 * 88 = 10,3 kWh.
      Das werde ich nun mal bei mir eintragen. Testen kann/will ich es aber noch nicht, da ich mit den neuen Batterien nun wieder über die Nacht komme. Naja, irgendwann wird das Wetter dann doch mal so schlecht werden, dass es nicht mehr reicht, dann kann ich die Zahl testen. :-)

      smartboartS Offline
      smartboartS Offline
      smartboart
      schrieb am zuletzt editiert von smartboart
      #628

      @stevie77 sagte in E3DC Hauskraftwerk steuern:

      @smartboart sagte in E3DC Hauskraftwerk steuern:

      @ArnoD sagte in E3DC Hauskraftwerk steuern:

      Ich nutze natürlich heimlich auch dein Script
      Würde mich über updates hier freuen.

      Hab meine letzte aktuelle Version hier aktualisiert.

      Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
      Bei 13 KW 13 / 100 * 88 = 11.44

      Ähmm, irgendwie bin ich noch nicht zu dir durchgedrungen, meine aber richtig zu liegen. ;-)

      Du darfst nicht von 13 kWh ausgehen, sondern nur von 11,7 kWh (10 % weniger, weil diese 10 % nie nutzbar sind wegen der 90 % Entladetiefe der Batterien). Richtig wäre also: 11,7 / 100 * 88 = 10,3 kWh.
      Das werde ich nun mal bei mir eintragen. Testen kann/will ich es aber noch nicht, da ich mit den neuen Batterien nun wieder über die Nacht komme. Naja, irgendwann wird das Wetter dann doch mal so schlecht werden, dass es nicht mehr reicht, dann kann ich die Zahl testen. :-)

      OK, jetzt verstehe ich... Ja die maximale entladetiefe habe ich nicht berücksichtigt..
      Ich bin mir aber auch nicht sicher ob der Wirkungsgrad hier eine Rolle spielt... Weil die Watt werte ja schon die Verluste / Wirkungsgrad beinhalten... Somit könnten die 11.44 dennoch rechnerisch passen. Da ich keine lineare last habe wie die meisten... Wird es schwer die Zeit exakt zu kontrollieren. Diese Probleme haben auch namenhafte usv hersteller da fällt es besonders Mit abnehmender batteriespannung auf, das dann ganz schnell die Zeit runter laueft. ...
      Aber super wenn du mal auf die Uhr schaust und unterstützt... Je genauer es wird desto besser..

      1 Antwort Letzte Antwort
      0
      • S stevie77

        @smartboart sagte in E3DC Hauskraftwerk steuern:

        Hab meine letzte aktuelle Version hier aktualisiert.

        Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
        Bei 13 KW 13 / 100 * 88 = 11.44

        Ähmm, irgendwie bin ich noch nicht zu dir durchgedrungen, meine aber richtig zu liegen. ;-)

        Du darfst nicht von 13 kWh ausgehen, sondern nur von 11,7 kWh (10 % weniger, weil diese 10 % nie nutzbar sind wegen der 90 % Entladetiefe der Batterien). Dein Speicher ist real nur 11,7 kWh groß und davon musst du dann die 88 % Wirkungsgrad/Verluste abziehen, also 11,7 / 100 * 88 = 10,3 kWh.
        Das werde ich nun mal bei mir eintragen. Testen kann/will ich es aber noch nicht, da ich mit den neuen Batterien nun wieder über die Nacht komme. Naja, irgendwann wird das Wetter dann doch mal so schlecht werden, dass es nicht mehr reicht, dann kann ich die Zahl testen. :-)

        smartboartS Offline
        smartboartS Offline
        smartboart
        schrieb am zuletzt editiert von smartboart
        #629

        @stevie77 im Prinzip denke ich würde es reichen nur die entladetiefe zu berücksichtigen also die 10 Prozent abzuziehen... Wie erwähnt werden die Verluste über die Leistung erfasst..400 Watt aus der Batterie sind 300 Watt im eigenen messgeraet / hausverbrauch bei mir.

        smartboartS 1 Antwort Letzte Antwort
        0
        • smartboartS smartboart

          @stevie77 im Prinzip denke ich würde es reichen nur die entladetiefe zu berücksichtigen also die 10 Prozent abzuziehen... Wie erwähnt werden die Verluste über die Leistung erfasst..400 Watt aus der Batterie sind 300 Watt im eigenen messgeraet / hausverbrauch bei mir.

          smartboartS Offline
          smartboartS Offline
          smartboart
          schrieb am zuletzt editiert von smartboart
          #630

          script nochmal aktualisiert ...auf grund der letzten Diskussion habe ich Wirkungsgrad und Tiefenentladeschutz mit in die Berechnung einbezogen und somit die Erkenntnisse einfliessen lassen. Beide Werte sind nun konfigurierbar. Hinweise dahinter beachten...

          var Wirkungsgrad = 0.88; // Faktor Systemwirkungsgrad > 88% beiS10 E Pro Beispiel 13 KW 13 / 100 * 88 = 11.44
          var Entladetiefe = 0.9; // Faktor Tiefenentladeschutz 90% Nutzbar weil Tiefenentladungsschutz von E3DC 11.44 / 100 * 90 = 10,296
          
          

          https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/591

          A A 2 Antworten Letzte Antwort
          0
          • smartboartS smartboart

            script nochmal aktualisiert ...auf grund der letzten Diskussion habe ich Wirkungsgrad und Tiefenentladeschutz mit in die Berechnung einbezogen und somit die Erkenntnisse einfliessen lassen. Beide Werte sind nun konfigurierbar. Hinweise dahinter beachten...

            var Wirkungsgrad = 0.88; // Faktor Systemwirkungsgrad > 88% beiS10 E Pro Beispiel 13 KW 13 / 100 * 88 = 11.44
            var Entladetiefe = 0.9; // Faktor Tiefenentladeschutz 90% Nutzbar weil Tiefenentladungsschutz von E3DC 11.44 / 100 * 90 = 10,296
            
            

            https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/591

            A Offline
            A Offline
            ArnoD
            schrieb am zuletzt editiert von
            #631

            @smartboart
            Hallo smartboart,

            für was ist eigentlich die Variable "Anzeige" in deinem Script gedacht ?
            Wenn ich die auf true setze wird ja erstmal nichts mehr angezeigt.
            Erst wenn die Entnahme >=0 ist wird diese Variable im Script wieder auf false gesetz.

            smartboartS 1 Antwort Letzte Antwort
            0
            • A ArnoD

              @smartboart
              Hallo smartboart,

              für was ist eigentlich die Variable "Anzeige" in deinem Script gedacht ?
              Wenn ich die auf true setze wird ja erstmal nichts mehr angezeigt.
              Erst wenn die Entnahme >=0 ist wird diese Variable im Script wieder auf false gesetz.

              smartboartS Offline
              smartboartS Offline
              smartboart
              schrieb am zuletzt editiert von smartboart
              #632

              @ArnoD sagte in E3DC Hauskraftwerk steuern:

              @smartboart
              Hallo smartboart,

              für was ist eigentlich die Variable "Anzeige" in deinem Script gedacht ?
              Wenn ich die auf true setze wird ja erstmal nichts mehr angezeigt.
              Erst wenn die Entnahme >=0 ist wird diese Variable im Script wieder auf false gesetz.

              Hallo Arno, die Variable Anzeige dient als Verriegelung...
              Ich möchte ja sofort bei Batteriebetrieb eine Anzeige der Autonomiezeit erreichen und dann erst in die Glättung der Anzeige gehen.
              Ansonsten würde beim Starten des Batteriebetrieb erst nach der konfigurierten Zeit und Counter ( erst nach Durchschnittsberenung ) die Anzeiger der Autonomiezeit erfolgen.

              Im Prinzip realisiere ich damit eine sofortige Berechnung und Anzeige der Zeit und verriegle dann die Sofortberechnung. Die nächste Aktualisierung erfolgt dann erst nach der Durchschnittsberechnung.

              smartboartS 1 Antwort Letzte Antwort
              0
              • smartboartS smartboart

                @ArnoD sagte in E3DC Hauskraftwerk steuern:

                @smartboart
                Hallo smartboart,

                für was ist eigentlich die Variable "Anzeige" in deinem Script gedacht ?
                Wenn ich die auf true setze wird ja erstmal nichts mehr angezeigt.
                Erst wenn die Entnahme >=0 ist wird diese Variable im Script wieder auf false gesetz.

                Hallo Arno, die Variable Anzeige dient als Verriegelung...
                Ich möchte ja sofort bei Batteriebetrieb eine Anzeige der Autonomiezeit erreichen und dann erst in die Glättung der Anzeige gehen.
                Ansonsten würde beim Starten des Batteriebetrieb erst nach der konfigurierten Zeit und Counter ( erst nach Durchschnittsberenung ) die Anzeiger der Autonomiezeit erfolgen.

                Im Prinzip realisiere ich damit eine sofortige Berechnung und Anzeige der Zeit und verriegle dann die Sofortberechnung. Die nächste Aktualisierung erfolgt dann erst nach der Durchschnittsberechnung.

                smartboartS Offline
                smartboartS Offline
                smartboart
                schrieb am zuletzt editiert von smartboart
                #633

                Habe das Script nochmal aktualisiert und den Notstrombetrieb integriert.
                V0.0.8 - Berücksichtung Notstrombetrieb:
                Im Normalbetrieb erfolgt die Autonomierzeitberechnung
                bis zur Notstromreserve . Im Notstrombetrieb wird die Autonomiezeit nun weiter berechnet und die Berechnung erfolgt dann bis zur Nettokapazitätsgrenze (Entladeschutz). Die Anzeige in kWh zeigt immer die Nettokapazität bis zum Entladeschutz.

                https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/592

                A 1 Antwort Letzte Antwort
                0
                • smartboartS smartboart

                  Habe das Script nochmal aktualisiert und den Notstrombetrieb integriert.
                  V0.0.8 - Berücksichtung Notstrombetrieb:
                  Im Normalbetrieb erfolgt die Autonomierzeitberechnung
                  bis zur Notstromreserve . Im Notstrombetrieb wird die Autonomiezeit nun weiter berechnet und die Berechnung erfolgt dann bis zur Nettokapazitätsgrenze (Entladeschutz). Die Anzeige in kWh zeigt immer die Nettokapazität bis zum Entladeschutz.

                  https://forum.iobroker.net/topic/32976/e3dc-hauskraftwerk-steuern/592

                  A Offline
                  A Offline
                  ArnoD
                  schrieb am zuletzt editiert von
                  #634

                  @smartboart
                  Ok super, werd ich gleich mal testen :-)

                  1 Antwort Letzte Antwort
                  0
                  • A ArnoD

                    Ich habe dieses Topic eröffnet, um gemeinsam an einer Überschusssteuerung des E3DC Hauskraftwerks in ioBroker zu arbeiten.
                    Dankeschön an dieser Stelle an Eberhard und sein Programm E3DC-Control, ohne ihn wäre das alles nicht möglich gewesen.
                    Großes Lob und Danke auch an Uli, der den Adapter e3dc-rscp programmiert hat, über den die Steuerung im ioBroker erst möglich wurde.

                    Ziel der Steuerung ist:
                    Mit der Steuerung soll erreicht werden, dass der Batteriespeicher möglichst schonend geladen wird, um die Lebensdauer zu erhöhen.

                    • Speicher soll nie längere Zeit auf 100 % geladen werden oder auf 0 % entladen werden.
                    • Möglichst gleichmäßige Ladeleistung beim Laden.
                    • PV-Überschuss soll gespeichert werden, um nicht in die 70 % Abriegelung zu kommen.
                    • Bei Überschreitung WR Begrenzung soll Überschuss in die Batterie gespeichert werden.

                    ioBroker
                    Es werden folgende Adapter benötigt:

                    • Javascript (NPM-Module: axios, is-it-bst)
                    • e3dc-rscp

                    Für die View Beispiele in VIS werden noch folgende Adapter benötigt:

                    • vis-hqwidgets
                    • vis-materialdesign
                    • vis-timeandweather

                    Beispiel View zum Importieren und das Skript Charge-Control, sowie eine Anleitung findet ihr auf GitHub:
                    https://github.com/ArnoD15/iobroker_E3DC

                    Einstellbare Parameter:
                    Unload: Wenn der SoC Wert der Batterie > Wert „Unload“ ist, wird der Batteriespeicher mit Beginn Solarproduktion bis Beginn Regelzeitraum, auf SOC Wert Parameter "Unload" entladen. Ist Unload < Ladeschwelle wird bis Ladeschwelle geladen und Unload ignoriert.

                    Ladeschwelle: Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen. Danach wird bis SOC Wert „Ladeende“ gleichmäßig geladen, mit Ausnahme, wenn die PV-Leistung das Einspeiselimit oder die WR-Maxleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder WR-Limit einhalten zu können. Bei unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird wieder mit neu berechneter Ladeleistung, gleichmäßig bis „Ladeende" geladen. Bei großem Überschuss kann die gleichmäßige Ladeleistung bis auf 0 abgesenkt werden. Parameter "Ladeschwelle" hat Vorrang vor "Unload", d.h. "Unload" wird ignoriert, falls "Ladeschwelle" größer sein sollte als „Unload“.

                    Ladeende: SoC Wert Speicher, der zum Ende des Regelzeitraums erreicht werden soll.

                    Ladeende2: SoC Wert Speicher, der zum Ende Sommer Ladeende erreicht werden sollten.

                    Unterer Ladekorridor: Der „Untere Ladekorridor“ definiert nur den min. Wert, ab dem mit dem Laden der Batterie gestartet wird. Erst wenn die berechnetet Ladeleistung den Wert „unteren Ladekorridor“ übersteigt, wird mit dem Laden der Batterie gestartet.

                    Offset Regelbeginn Zeit in hh:mm, die von der Astro Zeit "solarNoon" (höchster Sonnenstand) abgezogen wird.

                    Offset Regelende Zeit in hh:mm, die zu der Astro Zeit "solarNoon" (höchster Sonnenstand) dazu addiert wird.

                    Offset Ladeende Zeit in hh:mm, die von der Astro Zeit "sunset" (Sonnenuntergang) abgezogen wird.

                    70c4baad-fc5b-45bb-8c02-45b0b14f89ea-grafik.png
                    Eigenverbrauch: Der geschätzte Eigenverbrauch pro Tag in kWh. Wird für die Überschussberechnung der Prognose verwendet.

                    Notstrom min.: Speicherreserve in % bei Wintersonnenwende 21.12

                    Notstrom Sockel: min. SOC Wert bei Tag-/Nachtgleiche 21.3./21.9.

                    Berechnung Notstrom: 21.12 (Wintersonnenwende) ist der Bezugs-SoC = Wert „Notstrom min“ und wird bis zum 21.3 (Tag-/Nachtgleiche) auf Wert „Notstrom Sockel“ reduziert und bis zum 20.06 (Sommersonnenwende) um ca. weitere 10% reduziert. Ab dem 20.06 (Sommersonnenwende) steigt der Bezugs-SoC wieder bis zum 21.09 (Tag-/Nachtgleiche) auf den Wert „Notstrom Sockel“ und bis zum 21.12 (Wintersonnenwende) auf den Wert „Notstrom min“. Je Monat ändert sich somit der SoC um ca. +- 3,3%. Mit Notstrom min. und Notstrom Sockel kann man eine Dynamische Notstromreserve vorhalten, Vorteil ist, dass der Speicher nicht alle 3 Wochen entladen wird wie bei der Notstromreserve von E3DC.

                    Starten wir am 21.12 (Wintersonnenwende) der kürzeste Tag, da wird der Speicher bis auf Notstrom min = 20% entladen.
                    Ab jetzt werden die Tage immer länger, bis zum 21.3 (Tag-/Nachtgleiche) wo die Tage und Nächte gleich lang sind.
                    Das bedeutet deine Speicherreserve kann immer geringer werden je länger die Tage sind, da ja mehr PV-Leistung zur Verfügung steht. Es wird somit jeden Monat die Speichergrenze um ca.3,33% reduziert bis zum 21.03 auf den Wert Notstrom Sockel = 10%.

                    Ab dem 21.03 werden die Tage immer länger bis zum 20.06 (Sommersonnenwende) dem längsten Tag im Jahr.
                    Es wird also die Speichergrenze weiter jeden Monat um ca. 3,33% reduziert bis zum 20.06 auf 0%,
                    Ab diesem Zeitpunkt werden die Tage wieder kürzer bis zum 21.9 (Tag-/Nachtgleiche) wo die Tage und Nächte wieder gleich lang sind und die Speicherreserve wird jeden Monat um ca. 3,33% erhöht auf Notstrom Sockel = 10%.
                    Die Tage werden immer kürzer bis zum 21.12 (Wintersonnenwende) und die Speichergrenze wird weiter jeden Monat um ca. 3,33% erhöht auf den Wert Notstrom min = 20%

                    Notstrom Sockel ist somit der min. SOC Wert, wenn die Tage und Nächte gleich lang sind, also am 21.3 und 21.09 und
                    Notstrom min wenn die Tage am kürzesten sind am 21.12 .

                    Laderegelung:
                    Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen oder bis zum SOC Wert Unload entladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen.

                    Mit Start Regelzeitraum wird die benötigte Ladeleistung berechnet, um den SOC Ladeende bis zum Ende Regelzeitraum zu erreichen.

                    Bei Überschreitung der Zeit, Ende Regelzeitraum wird die benötigte Ladeleistung neu berechnet, um den SOC Ladeende2 bis zur Zeit Ladeende zu erreichen.

                    Wenn die Zeit Ladeende erreicht ist und die Batterie noch nicht den SOC Ladeende2 erreicht hat, wird das Laden mit maximal noch zur Verfügung stehender PV-Leistung freigegeben.

                    Ausnahme: Wenn die PV-Leistung das Einspeiselimit oder die maximale Wechselrichterleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder die maximale Wechselrichterleistung einhalten zu können. Bei Unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird mit neu berechneter Ladeleistung, gleichmäßig geladen.

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

                    Mal ne Frage: Da ich ja mal dieses Modbus-Register modbus.0.holdingRegisters.40087_EMS_CTRL in Aktion sehen wollte (weil das Austauschen des Bildes bei mir möglicherweise nicht funktioniert bzw. ich es noch nicht gesehen hatte bisher), habe ich jetzt mal in der Zeit des Regelzeitraums auf mein HKW geschaut und sehe den gelben Balken nicht. E3DC-Control läuft, die Zeit müsste passen. Was mache ich falsch? Liegt es daran, dass E3DC-Control zur Zeit bei schlechtem Wetter bei meiner Einstellung 1 mit Ladeschwelle = 100 überhaupt nicht regelnd eingreift?

                    05d92303-307f-467a-898b-6a212bbbddfe-image.png

                    A 1 Antwort Letzte Antwort
                    0
                    • S stevie77

                      Mal ne Frage: Da ich ja mal dieses Modbus-Register modbus.0.holdingRegisters.40087_EMS_CTRL in Aktion sehen wollte (weil das Austauschen des Bildes bei mir möglicherweise nicht funktioniert bzw. ich es noch nicht gesehen hatte bisher), habe ich jetzt mal in der Zeit des Regelzeitraums auf mein HKW geschaut und sehe den gelben Balken nicht. E3DC-Control läuft, die Zeit müsste passen. Was mache ich falsch? Liegt es daran, dass E3DC-Control zur Zeit bei schlechtem Wetter bei meiner Einstellung 1 mit Ladeschwelle = 100 überhaupt nicht regelnd eingreift?

                      05d92303-307f-467a-898b-6a212bbbddfe-image.png

                      A Offline
                      A Offline
                      ArnoD
                      schrieb am zuletzt editiert von
                      #636

                      @stevie77
                      richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.
                      Ich verwende beim Basic-Image Widget die Eigenschaft Signalbilder mit folgenden Einstellungen:
                      Bild1.png

                      So sollte es funktionieren.

                      S 2 Antworten Letzte Antwort
                      0
                      • A ArnoD

                        @stevie77
                        richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.
                        Ich verwende beim Basic-Image Widget die Eigenschaft Signalbilder mit folgenden Einstellungen:
                        Bild1.png

                        So sollte es funktionieren.

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

                        @ArnoD sagte in E3DC Hauskraftwerk steuern:

                        @stevie77
                        richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.

                        Hmm, ich hatte versucht E3DC-Control während der Regelungszeit versucht zum Steuern zu motivieren, aber hab' nur unload und ladeschwelle niedriger gesetzt. Hätte wohl besser das ladeende darunter gesetzt, fiel mir nach dem Mittagessen ein. Jetzt ist es natürlich zu spät. Naja, nächstes Wochenende dann vielleicht (davor bin ich nicht zu Hause)... ;-)

                        smartboartS 1 Antwort Letzte Antwort
                        0
                        • S stevie77

                          @ArnoD sagte in E3DC Hauskraftwerk steuern:

                          @stevie77
                          richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.

                          Hmm, ich hatte versucht E3DC-Control während der Regelungszeit versucht zum Steuern zu motivieren, aber hab' nur unload und ladeschwelle niedriger gesetzt. Hätte wohl besser das ladeende darunter gesetzt, fiel mir nach dem Mittagessen ein. Jetzt ist es natürlich zu spät. Naja, nächstes Wochenende dann vielleicht (davor bin ich nicht zu Hause)... ;-)

                          smartboartS Offline
                          smartboartS Offline
                          smartboart
                          schrieb am zuletzt editiert von
                          #638

                          @stevie77
                          logge den Status doch einfach mal mit dem History Adapter oder mit SQL ...
                          Hatte mich auch lange voppen lassen. Geregelt wird natürlich nur innerhalb der Regelzeit, welche jetzt schon früh zu ende geht...

                          1 Antwort Letzte Antwort
                          0
                          • A ArnoD

                            @stevie77
                            richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.
                            Ich verwende beim Basic-Image Widget die Eigenschaft Signalbilder mit folgenden Einstellungen:
                            Bild1.png

                            So sollte es funktionieren.

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

                            @ArnoD sagte in E3DC Hauskraftwerk steuern:

                            @stevie77
                            richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.
                            So sollte es funktionieren.

                            Ja, so funktioniert es, ich hatte dieselben Einstellungen (heute mal mit Teamviewer von der Firma aus drauf geschaut). Das warf allerdings eine neue Frage auf: Warum ist das Register außerhalb der Regelzeit aktiv? Screenshot um 10:18 Uhr erstellt (ganz selten wird die Jahreszahl vierstellig anstatt wie parametriert zweistellig dargestellt), d.h. über eine Stunde vor Regelbeginn...

                            65023b47-0998-4dd0-9130-ad380311a49f-image.png

                            A 1 Antwort Letzte Antwort
                            0
                            • S stevie77

                              @ArnoD sagte in E3DC Hauskraftwerk steuern:

                              @stevie77
                              richtig, wenn E3DC-Control nichts macht bleibt dieser Modbus-Register auf 0.
                              So sollte es funktionieren.

                              Ja, so funktioniert es, ich hatte dieselben Einstellungen (heute mal mit Teamviewer von der Firma aus drauf geschaut). Das warf allerdings eine neue Frage auf: Warum ist das Register außerhalb der Regelzeit aktiv? Screenshot um 10:18 Uhr erstellt (ganz selten wird die Jahreszahl vierstellig anstatt wie parametriert zweistellig dargestellt), d.h. über eine Stunde vor Regelbeginn...

                              65023b47-0998-4dd0-9130-ad380311a49f-image.png

                              A Offline
                              A Offline
                              ArnoD
                              schrieb am zuletzt editiert von
                              #640

                              @stevie77
                              Das wird dir aus der Ferne keiner beantworten können.
                              Es hängt ja auch nicht direkt mit der Regelzeit zusammen ob gerade von E3DC-Control was geändert wird.

                              S 1 Antwort Letzte Antwort
                              0
                              • A ArnoD

                                @stevie77
                                Das wird dir aus der Ferne keiner beantworten können.
                                Es hängt ja auch nicht direkt mit der Regelzeit zusammen ob gerade von E3DC-Control was geändert wird.

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

                                @ArnoD Ich dachte bisher vor Beginn der Regelzeit würde sich E3DC-Control gar nicht einmischen, also keine Steuerbefehle an das Hauskraftwerk senden und der Speicher einfach mit volle Pulle (heute zwischen 4 und 5 kW) laden bis Ladeschwelle (bei mir heute 100 %) erreicht ist? Und erst bei Erreichen von Ladeschwelle wird so weitergeladen (und geregelt), dass zum Ladeende der Zielwert erreicht ist? Andererseits wurde aber möglicherweise auch schon geregelt um den Sockel zu erreichen (muss ja z.B. falls Unload noch nicht erfüllt wurde bis Regelbeginn). Ich bin verwirrt...im Sommer war das einfacher festzustellen, als die Zeitpunkte viel weiter auseinander lagen... :-)

                                Jedenfalls gehe ich also falsch in der ursprünglichen Annahme, dass E3DC-Control immer nur im Zeitfenster Start und Ende Regelzeitraum regelt. Wäre mir vielleicht besser aufgefallen, wenn es im Sommer schon die Zeitangaben übersichtlich in ioBroker gegeben hätte... ;-)

                                1 Antwort Letzte Antwort
                                0
                                • A ArnoD

                                  Ich habe dieses Topic eröffnet, um gemeinsam an einer Überschusssteuerung des E3DC Hauskraftwerks in ioBroker zu arbeiten.
                                  Dankeschön an dieser Stelle an Eberhard und sein Programm E3DC-Control, ohne ihn wäre das alles nicht möglich gewesen.
                                  Großes Lob und Danke auch an Uli, der den Adapter e3dc-rscp programmiert hat, über den die Steuerung im ioBroker erst möglich wurde.

                                  Ziel der Steuerung ist:
                                  Mit der Steuerung soll erreicht werden, dass der Batteriespeicher möglichst schonend geladen wird, um die Lebensdauer zu erhöhen.

                                  • Speicher soll nie längere Zeit auf 100 % geladen werden oder auf 0 % entladen werden.
                                  • Möglichst gleichmäßige Ladeleistung beim Laden.
                                  • PV-Überschuss soll gespeichert werden, um nicht in die 70 % Abriegelung zu kommen.
                                  • Bei Überschreitung WR Begrenzung soll Überschuss in die Batterie gespeichert werden.

                                  ioBroker
                                  Es werden folgende Adapter benötigt:

                                  • Javascript (NPM-Module: axios, is-it-bst)
                                  • e3dc-rscp

                                  Für die View Beispiele in VIS werden noch folgende Adapter benötigt:

                                  • vis-hqwidgets
                                  • vis-materialdesign
                                  • vis-timeandweather

                                  Beispiel View zum Importieren und das Skript Charge-Control, sowie eine Anleitung findet ihr auf GitHub:
                                  https://github.com/ArnoD15/iobroker_E3DC

                                  Einstellbare Parameter:
                                  Unload: Wenn der SoC Wert der Batterie > Wert „Unload“ ist, wird der Batteriespeicher mit Beginn Solarproduktion bis Beginn Regelzeitraum, auf SOC Wert Parameter "Unload" entladen. Ist Unload < Ladeschwelle wird bis Ladeschwelle geladen und Unload ignoriert.

                                  Ladeschwelle: Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen. Danach wird bis SOC Wert „Ladeende“ gleichmäßig geladen, mit Ausnahme, wenn die PV-Leistung das Einspeiselimit oder die WR-Maxleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder WR-Limit einhalten zu können. Bei unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird wieder mit neu berechneter Ladeleistung, gleichmäßig bis „Ladeende" geladen. Bei großem Überschuss kann die gleichmäßige Ladeleistung bis auf 0 abgesenkt werden. Parameter "Ladeschwelle" hat Vorrang vor "Unload", d.h. "Unload" wird ignoriert, falls "Ladeschwelle" größer sein sollte als „Unload“.

                                  Ladeende: SoC Wert Speicher, der zum Ende des Regelzeitraums erreicht werden soll.

                                  Ladeende2: SoC Wert Speicher, der zum Ende Sommer Ladeende erreicht werden sollten.

                                  Unterer Ladekorridor: Der „Untere Ladekorridor“ definiert nur den min. Wert, ab dem mit dem Laden der Batterie gestartet wird. Erst wenn die berechnetet Ladeleistung den Wert „unteren Ladekorridor“ übersteigt, wird mit dem Laden der Batterie gestartet.

                                  Offset Regelbeginn Zeit in hh:mm, die von der Astro Zeit "solarNoon" (höchster Sonnenstand) abgezogen wird.

                                  Offset Regelende Zeit in hh:mm, die zu der Astro Zeit "solarNoon" (höchster Sonnenstand) dazu addiert wird.

                                  Offset Ladeende Zeit in hh:mm, die von der Astro Zeit "sunset" (Sonnenuntergang) abgezogen wird.

                                  70c4baad-fc5b-45bb-8c02-45b0b14f89ea-grafik.png
                                  Eigenverbrauch: Der geschätzte Eigenverbrauch pro Tag in kWh. Wird für die Überschussberechnung der Prognose verwendet.

                                  Notstrom min.: Speicherreserve in % bei Wintersonnenwende 21.12

                                  Notstrom Sockel: min. SOC Wert bei Tag-/Nachtgleiche 21.3./21.9.

                                  Berechnung Notstrom: 21.12 (Wintersonnenwende) ist der Bezugs-SoC = Wert „Notstrom min“ und wird bis zum 21.3 (Tag-/Nachtgleiche) auf Wert „Notstrom Sockel“ reduziert und bis zum 20.06 (Sommersonnenwende) um ca. weitere 10% reduziert. Ab dem 20.06 (Sommersonnenwende) steigt der Bezugs-SoC wieder bis zum 21.09 (Tag-/Nachtgleiche) auf den Wert „Notstrom Sockel“ und bis zum 21.12 (Wintersonnenwende) auf den Wert „Notstrom min“. Je Monat ändert sich somit der SoC um ca. +- 3,3%. Mit Notstrom min. und Notstrom Sockel kann man eine Dynamische Notstromreserve vorhalten, Vorteil ist, dass der Speicher nicht alle 3 Wochen entladen wird wie bei der Notstromreserve von E3DC.

                                  Starten wir am 21.12 (Wintersonnenwende) der kürzeste Tag, da wird der Speicher bis auf Notstrom min = 20% entladen.
                                  Ab jetzt werden die Tage immer länger, bis zum 21.3 (Tag-/Nachtgleiche) wo die Tage und Nächte gleich lang sind.
                                  Das bedeutet deine Speicherreserve kann immer geringer werden je länger die Tage sind, da ja mehr PV-Leistung zur Verfügung steht. Es wird somit jeden Monat die Speichergrenze um ca.3,33% reduziert bis zum 21.03 auf den Wert Notstrom Sockel = 10%.

                                  Ab dem 21.03 werden die Tage immer länger bis zum 20.06 (Sommersonnenwende) dem längsten Tag im Jahr.
                                  Es wird also die Speichergrenze weiter jeden Monat um ca. 3,33% reduziert bis zum 20.06 auf 0%,
                                  Ab diesem Zeitpunkt werden die Tage wieder kürzer bis zum 21.9 (Tag-/Nachtgleiche) wo die Tage und Nächte wieder gleich lang sind und die Speicherreserve wird jeden Monat um ca. 3,33% erhöht auf Notstrom Sockel = 10%.
                                  Die Tage werden immer kürzer bis zum 21.12 (Wintersonnenwende) und die Speichergrenze wird weiter jeden Monat um ca. 3,33% erhöht auf den Wert Notstrom min = 20%

                                  Notstrom Sockel ist somit der min. SOC Wert, wenn die Tage und Nächte gleich lang sind, also am 21.3 und 21.09 und
                                  Notstrom min wenn die Tage am kürzesten sind am 21.12 .

                                  Laderegelung:
                                  Mit Beginn Solarproduktion wird die Batterie mit der maximalen Ladeleistung bis zum Wert Ladeschwelle geladen oder bis zum SOC Wert Unload entladen. Erst wenn der Batterie SOC den Wert Ladeschwelle erreicht, wird mit dem geregelten Laden begonnen.

                                  Mit Start Regelzeitraum wird die benötigte Ladeleistung berechnet, um den SOC Ladeende bis zum Ende Regelzeitraum zu erreichen.

                                  Bei Überschreitung der Zeit, Ende Regelzeitraum wird die benötigte Ladeleistung neu berechnet, um den SOC Ladeende2 bis zur Zeit Ladeende zu erreichen.

                                  Wenn die Zeit Ladeende erreicht ist und die Batterie noch nicht den SOC Ladeende2 erreicht hat, wird das Laden mit maximal noch zur Verfügung stehender PV-Leistung freigegeben.

                                  Ausnahme: Wenn die PV-Leistung das Einspeiselimit oder die maximale Wechselrichterleistung übersteigt, wird die Ladeleistung um den Wert erhöht, um das Einspeiselimit oder die maximale Wechselrichterleistung einhalten zu können. Bei Unterschreiten von dem Wert Einspeiselimit oder WR-Limit, wird mit neu berechneter Ladeleistung, gleichmäßig geladen.

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

                                  Mal was anderes: Ihr (@ArnoD und @smartboart) habt ja deutlich mehr Erfahrung mit ioBroker als ich. Ich hab' hier ne Funktion durch den Scheduler ausgelöst, die läuft einige Tage gut genau um 10:02 Uhr, dann jedoch gibt es irgendwann einen Tag und es passiert nichts. Ich müsste im Log unterhalb des Skripts wenigstens eine Logausgabe sehen. Selbst im heruntergeladen Log für den vollständigen heutigen Tag taucht der Name des Skripts nicht auf, also keine Logausgabe.

                                  Habt ihr das auch mal festgestellt, dass der Scheduler nicht mehr auslöst? Anders kann ich mir die fehlenden Logausgaben im Log nicht erklären...

                                  // Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne
                                  // geschlossen, um 10:02 Uhr kann frühestens die Teichbewässerung starten.
                                  schedule('{"time":{"exactTime":true,"start":"10:02"},"period":{"days":1}}', function(){
                                      log("Scheduler Pondwaterlevel am " + new Date());
                                      if (getState(pondWaterLevelAutomaticStateId).val){
                                          checkAndFillPondWithWater();
                                      } else {
                                          log("Automatischer Wasserausgleichausgleich für den Teich ist ausgeschaltet, keine Bewässerung.");
                                      }
                                  });
                                  
                                  smartboartS 1 Antwort Letzte Antwort
                                  0
                                  • S stevie77

                                    Mal was anderes: Ihr (@ArnoD und @smartboart) habt ja deutlich mehr Erfahrung mit ioBroker als ich. Ich hab' hier ne Funktion durch den Scheduler ausgelöst, die läuft einige Tage gut genau um 10:02 Uhr, dann jedoch gibt es irgendwann einen Tag und es passiert nichts. Ich müsste im Log unterhalb des Skripts wenigstens eine Logausgabe sehen. Selbst im heruntergeladen Log für den vollständigen heutigen Tag taucht der Name des Skripts nicht auf, also keine Logausgabe.

                                    Habt ihr das auch mal festgestellt, dass der Scheduler nicht mehr auslöst? Anders kann ich mir die fehlenden Logausgaben im Log nicht erklären...

                                    // Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne
                                    // geschlossen, um 10:02 Uhr kann frühestens die Teichbewässerung starten.
                                    schedule('{"time":{"exactTime":true,"start":"10:02"},"period":{"days":1}}', function(){
                                        log("Scheduler Pondwaterlevel am " + new Date());
                                        if (getState(pondWaterLevelAutomaticStateId).val){
                                            checkAndFillPondWithWater();
                                        } else {
                                            log("Automatischer Wasserausgleichausgleich für den Teich ist ausgeschaltet, keine Bewässerung.");
                                        }
                                    });
                                    
                                    smartboartS Offline
                                    smartboartS Offline
                                    smartboart
                                    schrieb am zuletzt editiert von smartboart
                                    #643

                                    @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                    // Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne

                                    nein meine schedule funktionieren zuverlässig....
                                    baue die auch anders auf...
                                    probier mal den schedule...
                                    '2 10 * * *'
                                    schedule('2 10 * * *', function(){

                                    S 1 Antwort Letzte Antwort
                                    0
                                    • smartboartS smartboart

                                      @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                      // Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne

                                      nein meine schedule funktionieren zuverlässig....
                                      baue die auch anders auf...
                                      probier mal den schedule...
                                      '2 10 * * *'
                                      schedule('2 10 * * *', function(){

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

                                      @smartboart sagte in E3DC Hauskraftwerk steuern:

                                      2 10 * * *

                                      Probier' ich mal parallel. Mal sehen, welche Funktion die nächsten Tage länger loggt...
                                      Das Komische ist ja, es funktioniert ja einige Tage lang und dann setzt es irgendwann aus. Ist aber offiziell über die Skriptfunktion rechts oben im ioBroker generiert (auf die Arno glaub' ich irgendwann mal hier hingewiesen hatte), sollte ja schon eigentlich passen. Einige andere Schedules, die so ähnlich sind, laufen auch lange zuverlässig.

                                      smartboartS 1 Antwort Letzte Antwort
                                      0
                                      • S stevie77

                                        @smartboart sagte in E3DC Hauskraftwerk steuern:

                                        2 10 * * *

                                        Probier' ich mal parallel. Mal sehen, welche Funktion die nächsten Tage länger loggt...
                                        Das Komische ist ja, es funktioniert ja einige Tage lang und dann setzt es irgendwann aus. Ist aber offiziell über die Skriptfunktion rechts oben im ioBroker generiert (auf die Arno glaub' ich irgendwann mal hier hingewiesen hatte), sollte ja schon eigentlich passen. Einige andere Schedules, die so ähnlich sind, laufen auch lange zuverlässig.

                                        smartboartS Offline
                                        smartboartS Offline
                                        smartboart
                                        schrieb am zuletzt editiert von smartboart
                                        #645

                                        @stevie77
                                        ja aber du hast ein wizard konfiguriert und kein cron...
                                        Was auch immer der unterschied ist...
                                        ich würde es auch so schreiben...

                                        // Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne
                                        
                                        // geschlossen, um 10:02 Uhr kann frühestens die Teichbewässerung starten.
                                        
                                        schedule('2 10 * * *', function(){
                                        log("Scheduler Pondwaterlevel am " + new Date());
                                        var Automatic = getState(pondWaterLevelAutomaticStateId).val;
                                        if (Automatic){
                                        checkAndFillPondWithWater();
                                        } else {
                                        log("Automatischer Wasserausgleichausgleich für den Teich ist ausgeschaltet, keine Bewässerung.");
                                            }
                                        });
                                        
                                        S 1 Antwort Letzte Antwort
                                        0
                                        • smartboartS smartboart

                                          @stevie77
                                          ja aber du hast ein wizard konfiguriert und kein cron...
                                          Was auch immer der unterschied ist...
                                          ich würde es auch so schreiben...

                                          // Ablauf: Um 10:00 Uhr beendet die Wasserpumpe die Gartenbewässerung, um 10:01 Uhr werden die beiden Motorkugelhähne
                                          
                                          // geschlossen, um 10:02 Uhr kann frühestens die Teichbewässerung starten.
                                          
                                          schedule('2 10 * * *', function(){
                                          log("Scheduler Pondwaterlevel am " + new Date());
                                          var Automatic = getState(pondWaterLevelAutomaticStateId).val;
                                          if (Automatic){
                                          checkAndFillPondWithWater();
                                          } else {
                                          log("Automatischer Wasserausgleichausgleich für den Teich ist ausgeschaltet, keine Bewässerung.");
                                              }
                                          });
                                          
                                          S Offline
                                          S Offline
                                          stevie77
                                          schrieb am zuletzt editiert von
                                          #646

                                          @smartboart Mir ist der Unterschied zwischen cron und wizard nicht wirklich klar. Und 5 min googeln brachte auch keine Erhellung. Werden die Daten im ioBroker-Skript nicht über den Wizard ebenfalls in einen cron-Job umgesetzt? Kann natürlich sein, dass der Wizard teilweise buggy ist, aber ich hätte jetzt vermutet, dass er im Hintergrund ebenfalls einen cron-Job anlegt und es dann aufs gleiche raus kommt (da es ja einige Tage funktioniert).

                                          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

                                          737

                                          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