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.
  • S stevie77

    @smartboart sagte in E3DC Hauskraftwerk steuern:

    @stevie77 was muss ich da machen? Bräuchte nen schnellen Test wo ich sehe, das die analge reagiert..

    https://hub.docker.com/repository/docker/stehada/e3dc-control

    Zuvor Docker installieren, was je nach Umgebung unterschiedlich ist (Raspi, Windows, Synology). Bei meinem Raspi so:

    Docker-Installation: https://www.dahlen.org/2019/06/docker-und-raspbian-auf-einem-raspberry-pi/

    sudo apt update
    sudo apt full-upgrade
    sudo rpi-update
    echo -n "$(head -n1 /boot/cmdline.txt) cgroup_enable=cpuset cgroup_enable=memory" | sudo tee /boot/cmdline.txt
    sudo apt remove docker docker-engine docker.io containerd runc
    curl -fsSL https://get.docker.com -o - | sudo sh
    sudo usermod -aG docker $(id -un)
    docker run --rm hello-world
    
    smartboartS Offline
    smartboartS Offline
    smartboart
    schrieb am zuletzt editiert von smartboart
    #601

    @stevie77 Danke für die Infos...Bei mir laüft es direkt unter debian Buster..
    ich denke ich habs aber hinbekommen. muss morgen mal auf dem display schauen.
    Zumindest läuft jetzt unter htop wieder .erdc-control..
    ich hatte 2 instanzen attached unter screen -ls mit mit screen -r xxxnummer habe ich die instanzen mit ctrl a und k gekillt ...innerhalbs screen konnte ich sehen das er probleme mit der E3DC.sh hatte....Beim Update wohl zerschossen..
    Datei angepasst und mit
    screen -dmS E3DC /home/pi/E3DC-Control/E3DC.sh gestartet und gegen gecheckt...lief wieder...nach neustart immer noch gut...mal sehen was morgen passiert.

    1 Antwort Letzte Antwort
    0
    • A ArnoD

      @smartboart sagte in E3DC Hauskraftwerk steuern:

      @stevie77 sagte in E3DC Hauskraftwerk steuern:

      Es gab jetzt noch ein Tool-Update, wo die Werte besser angezeigt werden. Bei 100 % Ladeanzeige am Gerät sind die Werte bei mir echt übel.

      SoC-BAT0.jpg

      so sieht es bei mir aus...
      Unbenannt.JPG

      Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.

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

      @ArnoD sagte in E3DC Hauskraftwerk steuern:

      Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.

      Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
      In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
      SOH state of health...

      A S 2 Antworten Letzte Antwort
      1
      • smartboartS smartboart

        @ArnoD sagte in E3DC Hauskraftwerk steuern:

        Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.

        Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
        In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
        SOH state of health...

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

        @smartboart
        Ok, danke :+1:

        1 Antwort Letzte Antwort
        0
        • smartboartS smartboart

          @ArnoD sagte in E3DC Hauskraftwerk steuern:

          Was zeigt mir eigentlich der SOH Wert bei der Batterie ? ist bei mir je nach Modul zwischen 96.8% und 99.5%. Wobei die neusten Module 99.5% haben ca. 6 Monate alt und die älteren 96.8% ca. 11 Monate alt.

          Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
          In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
          SOH state of health...

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

          @smartboart sagte in E3DC Hauskraftwerk steuern:

          Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
          In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
          SOH state of health...

          Ja, so sehe ich das auch. Und dann wundert mich nix mehr, dass mein PRO 3-4 kWh verloren hat und nicht mehr als 8 kWh reinlädt. Weil die Batterien bei mir mit SoH 88 % nach 1,5 Jahren schon bedeutend schlechter aussieht.
          Die Frage ist nun auch, ob der bei mir maximal erreichbare SoC von real nur noch 75 % zwangsläufig aus dem schlechten SoH resultiert...

          smartboartS 1 Antwort Letzte Antwort
          0
          • S stevie77

            @smartboart sagte in E3DC Hauskraftwerk steuern:

            Also ich vermute, dass von möglichen 100 % Kapazität bei einer neuen Batterie du nur noch bei der einen 96,8% und den anderen 99,5 % Kapazität hast.
            In den einem Fall wäre das eine Degeneration ( Alterung ) von 3,2% in 11 Monaten.
            SOH state of health...

            Ja, so sehe ich das auch. Und dann wundert mich nix mehr, dass mein PRO 3-4 kWh verloren hat und nicht mehr als 8 kWh reinlädt. Weil die Batterien bei mir mit SoH 88 % nach 1,5 Jahren schon bedeutend schlechter aussieht.
            Die Frage ist nun auch, ob der bei mir maximal erreichbare SoC von real nur noch 75 % zwangsläufig aus dem schlechten SoH resultiert...

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

            @stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...

            S 2 Antworten Letzte Antwort
            0
            • A Offline
              A Offline
              ArnoD
              schrieb am zuletzt editiert von
              #606

              Neue Version 0.2.17 hochgeladen.

              Änderungen:
              Version: 0.2.17 Neue E3DC-Control Version von Eberhard, die Parameter "wbminlade" und "wbmode" integriert. Es sind auch Änderungen in VIS erforderlich, um diese in Vis zu ändern.
              Version: 0.2.16 Problem dass bei Prognoseanwahl Änderung Proplanta Forcast oder beide die json nicht gleich aktualisiert wird behoben.Danke an smartboart.

              Neue View E3DC-Control Stand 04.10.2020 habe ich auch hochgeladen.

              S 1 Antwort Letzte Antwort
              0
              • smartboartS smartboart

                @stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...

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

                @smartboart sagte in E3DC Hauskraftwerk steuern:

                @stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...

                77,8 % und 88,8 % SoH. Der SoC dazu ist bei beiden gleich niedrig bei leicht unter 75 %.

                1 Antwort Letzte Antwort
                0
                • A ArnoD

                  Neue Version 0.2.17 hochgeladen.

                  Änderungen:
                  Version: 0.2.17 Neue E3DC-Control Version von Eberhard, die Parameter "wbminlade" und "wbmode" integriert. Es sind auch Änderungen in VIS erforderlich, um diese in Vis zu ändern.
                  Version: 0.2.16 Problem dass bei Prognoseanwahl Änderung Proplanta Forcast oder beide die json nicht gleich aktualisiert wird behoben.Danke an smartboart.

                  Neue View E3DC-Control Stand 04.10.2020 habe ich auch hochgeladen.

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

                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

                  Neue Version 0.2.17 hochgeladen.

                  Neue View E3DC-Control Stand 04.10.2020 habe ich auch hochgeladen.

                  Cool. :-) Bei dem Skript kann man ja immer ganz gut mit Textvergleich arbeiten, bei Vis schwierig. Kannst du evtl. beschreiben, was sich da geändert hat? Neue Felder für die neuen Parameter, nehme ich mal an, noch mehr?

                  A 1 Antwort Letzte Antwort
                  0
                  • S stevie77

                    @ArnoD sagte in E3DC Hauskraftwerk steuern:

                    Neue Version 0.2.17 hochgeladen.

                    Neue View E3DC-Control Stand 04.10.2020 habe ich auch hochgeladen.

                    Cool. :-) Bei dem Skript kann man ja immer ganz gut mit Textvergleich arbeiten, bei Vis schwierig. Kannst du evtl. beschreiben, was sich da geändert hat? Neue Felder für die neuen Parameter, nehme ich mal an, noch mehr?

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

                    Cool. :-) Bei dem Skript kann man ja immer ganz gut mit Textvergleich arbeiten, bei Vis schwierig. Kannst du evtl. beschreiben, was sich da geändert hat? Neue Felder für die neuen Parameter, nehme ich mal an, noch mehr?

                    Nein nur die neuen Felder für die neuen Parameter.

                    smartboartS 1 Antwort Letzte Antwort
                    0
                    • A ArnoD

                      Cool. :-) Bei dem Skript kann man ja immer ganz gut mit Textvergleich arbeiten, bei Vis schwierig. Kannst du evtl. beschreiben, was sich da geändert hat? Neue Felder für die neuen Parameter, nehme ich mal an, noch mehr?

                      Nein nur die neuen Felder für die neuen Parameter.

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

                      @ArnoD Also meine Kiste regelt wieder...
                      Die Portfreigaben in meinem Router mussten neu gesetzt werden. Durch den downgrade meines routers und dem einspielen der gesicherten config war die portfreigabe weg...Hatte das backup wohl vorher erstellt... Wie dumm...

                      1 Antwort Letzte Antwort
                      0
                      • smartboartS smartboart

                        @stevie77 ja, deshalb bin ja so gespannt was bei deinem Ticket raus kommt.
                        Ich denke der eine oder andere wird sich das windows tool RSCP Tool auch noch mal anschauen...Mal sehen was die so für Werte haben...
                        Ich hatte auf die Infinity Variante gesetzt, weil hier biz zu 5 Jahre Batterie nachgerüstet werden kann...Da sollte das eigentlich nicht passieren...
                        Vorgänger können glaube ich nur 1 Jahr nachrüsten...keine Ahnung was da anders ist an den Anlagen..Ab Juli war die Infinity verfügbar weshalb ich gewartet habe...

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

                        @smartboart sagte in E3DC Hauskraftwerk steuern:

                        @stevie77 ja, deshalb bin ja so gespannt was bei deinem Ticket raus kommt.

                        Heute Vormittag bekam ich eine Mail von E3/DC, eine der Batterien hätte womöglich ein Produktionsfehler (aufgefallen im Monitoring - naja, nachdem die Facebook-Gruppe vor Beschwerden glühte g), weswegen beide demnächst getauscht werden. Hörte sich etwas nach Standard an, zumal bei mir ja beide Batterien einen gleich schlechten SoH haben.
                        Ach so, das war allerdings eine Mail mit einer Oktober-Ticketnummer; ich habe mein Ticket noch im September erstellt. Vermutlich bekommen die Mail mehrere Benutzer...

                        Ich denke der eine oder andere wird sich das windows tool RSCP Tool auch noch mal anschauen...Mal sehen was die so für Werte haben...
                        Ich hatte auf die Infinity Variante gesetzt, weil hier biz zu 5 Jahre Batterie nachgerüstet werden kann...Da sollte das eigentlich nicht passieren...

                        Aber Moment mal, dann hast du gar keinen PRO? Ich dachte, der Infinity liege zwischen normalem S10 E und dem PRO? Also Batterien wie der PRO, nur etwas weniger Lade- und Entladeleistung? Dann wären unsere Systeme ja doch nicht so vergleichbar...

                        Vorgänger können glaube ich nur 1 Jahr nachrüsten...keine Ahnung was da anders ist an den Anlagen..Ab Juli war die Infinity verfügbar weshalb ich gewartet habe...

                        Das hat nun was gutes, ich kriege nach eineinhalb Jahren frische neue Batterien, die dann theoretisch auch noch so viel länger als 10 Jahre halten müssten. :)
                        Wie du sagst, war bei mir die Zeit einer Aufrüstungsmöglichkeit schon abgelaufen als ich die neue zweite PV-Anlage in Betrieb nahm; die habe ich nun wieder, habe ich extra nachgefragt. Ich glaube ich werde nun noch auf 19,5 kWh aufrüsten, dann bin ich wieder ca. 1:1 PC zu Speicher. Dann fühlt sich mein Solateur vielleicht auch eher bemüßigt das zu machen, springt ja etwas mehr Umfang und Gewinn raus...

                        Nicht geklärt ist momentan, was es mit der Kapazitätsreduktion generell auf sich hat. Fehler? Bewusste Änderung? Dazu ist mein Ticket noch offen...

                        smartboartS 1 Antwort Letzte Antwort
                        0
                        • S stevie77

                          @smartboart sagte in E3DC Hauskraftwerk steuern:

                          @stevie77 ja, deshalb bin ja so gespannt was bei deinem Ticket raus kommt.

                          Heute Vormittag bekam ich eine Mail von E3/DC, eine der Batterien hätte womöglich ein Produktionsfehler (aufgefallen im Monitoring - naja, nachdem die Facebook-Gruppe vor Beschwerden glühte g), weswegen beide demnächst getauscht werden. Hörte sich etwas nach Standard an, zumal bei mir ja beide Batterien einen gleich schlechten SoH haben.
                          Ach so, das war allerdings eine Mail mit einer Oktober-Ticketnummer; ich habe mein Ticket noch im September erstellt. Vermutlich bekommen die Mail mehrere Benutzer...

                          Ich denke der eine oder andere wird sich das windows tool RSCP Tool auch noch mal anschauen...Mal sehen was die so für Werte haben...
                          Ich hatte auf die Infinity Variante gesetzt, weil hier biz zu 5 Jahre Batterie nachgerüstet werden kann...Da sollte das eigentlich nicht passieren...

                          Aber Moment mal, dann hast du gar keinen PRO? Ich dachte, der Infinity liege zwischen normalem S10 E und dem PRO? Also Batterien wie der PRO, nur etwas weniger Lade- und Entladeleistung? Dann wären unsere Systeme ja doch nicht so vergleichbar...

                          Vorgänger können glaube ich nur 1 Jahr nachrüsten...keine Ahnung was da anders ist an den Anlagen..Ab Juli war die Infinity verfügbar weshalb ich gewartet habe...

                          Das hat nun was gutes, ich kriege nach eineinhalb Jahren frische neue Batterien, die dann theoretisch auch noch so viel länger als 10 Jahre halten müssten. :)
                          Wie du sagst, war bei mir die Zeit einer Aufrüstungsmöglichkeit schon abgelaufen als ich die neue zweite PV-Anlage in Betrieb nahm; die habe ich nun wieder, habe ich extra nachgefragt. Ich glaube ich werde nun noch auf 19,5 kWh aufrüsten, dann bin ich wieder ca. 1:1 PC zu Speicher. Dann fühlt sich mein Solateur vielleicht auch eher bemüßigt das zu machen, springt ja etwas mehr Umfang und Gewinn raus...

                          Nicht geklärt ist momentan, was es mit der Kapazitätsreduktion generell auf sich hat. Fehler? Bewusste Änderung? Dazu ist mein Ticket noch offen...

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

                          @stevie77 Doch...es ist die S10E Pro..Nur die Änderungen sind eben nicht so gravierend wie bei den S10E wo sich beim Serienwechsel mehr getan hat....Bei der S10E Pro zur S10 E Pro infinity hat sich nichts geändert, ausser die Möglichkeit bis 5 Jahre Batterien nachzurüsten...Was auch immer dadurch anders ist....
                          MKT1150210000_Flyer_INFINITY_Hauskraftwerke_2020-04-16.pdf

                          S 1 Antwort Letzte Antwort
                          0
                          • smartboartS smartboart

                            @stevie77 Doch...es ist die S10E Pro..Nur die Änderungen sind eben nicht so gravierend wie bei den S10E wo sich beim Serienwechsel mehr getan hat....Bei der S10E Pro zur S10 E Pro infinity hat sich nichts geändert, ausser die Möglichkeit bis 5 Jahre Batterien nachzurüsten...Was auch immer dadurch anders ist....
                            MKT1150210000_Flyer_INFINITY_Hauskraftwerke_2020-04-16.pdf

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

                            @smartboart Jein. Du hast zwar das "Infinity-Konzept" in deinem "neuen PRO", aber trotzdem keinen INFINITY. Es gibt laut Flyer nur "S10 E INFIFNITY und S10 E PRO". Deshalb, wenn einer sagt, er habe den Infinity, dann ist das ein Gerät von der Leistung her zwischen dem alten S10 E und dem PRO.

                            smartboartS 1 Antwort Letzte Antwort
                            0
                            • S stevie77

                              @smartboart Jein. Du hast zwar das "Infinity-Konzept" in deinem "neuen PRO", aber trotzdem keinen INFINITY. Es gibt laut Flyer nur "S10 E INFIFNITY und S10 E PRO". Deshalb, wenn einer sagt, er habe den Infinity, dann ist das ein Gerät von der Leistung her zwischen dem alten S10 E und dem PRO.

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

                              @stevie77 ok....aber wegen der 5 jahres Geschichte, habe ich die Llieferung der S10EPro extra um 3 Monate verzögert...Wobei ich wahrscheinlich schon balt noch wenigstens den Schrank voll mache und noch eine nachrüste..

                              1 Antwort Letzte Antwort
                              0
                              • smartboartS smartboart

                                @stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...

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

                                @smartboart sagte in E3DC Hauskraftwerk steuern:

                                @stevie77 ja, vlt...hast du ne schlechte charge erwischt..Interessant waere ob beide batterien so schlecht sind oder nur die eine...vlt. ist es ja auch ein FW Thema...Auf die antwort bin ich gespannt...

                                So, gestern war der Austausch der Batterien. Testweise habe ich mit bis zu 6 kW laden können, auch kurzzeitig mal gegen Ende (das Drosseln auf weniger betrifft wohl nicht die LG-Batterien). Die Werte sehen nun geradezu perfekt aus bei vollem Akku: 100 % SoH, 100 % SoC, verfügbar 90 % (Entladetiefe).
                                Allerdings sind laut Portal nur 11,1 kWh reingegangen. 11,5 kWh hätte ich erwartet (rechnerisch 11,7 kWh). Vielleicht wird's ja noch mehr wenn sich das nach dem Batterietraining eingependelt hat?!

                                voll.jpg

                                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
                                  #616

                                  @ArnoD So, jetzt bin ich auch endlich wieder auf dem neuesten Stand (Skript und Vis-View). Wallbox sollte theoretisch Anfang April kommen, passend zur neuen Förderung... :-)
                                  Eine Kleinigkeit (vermutlich - denke mal, dass trotzdem alles funktioniert) ist mir noch aufgefallen: Beim Loggen wird Dachfläche 4/2 etc. ausgegeben, aber das beeinflusst wohl nicht die Funktionalität - zumindest stehen in den 4 entsprechenden States jeweils unterschiedliche Werte...

                                  Zeile 150 ungefähr, fixe Anzahl 2:

                                  function CallForecast() {
                                      InterrogateForecast (i,2);
                                      i--;
                                  
                                  00:23:12.523	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 4005, "2020-10-19": 3944 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "w497n78y" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                  00:23:12.526	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =3/2 : 4005 :3944
                                  00:23:17.530	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 4101, "2020-10-19": 4030 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "696jaq87" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                  00:23:17.532	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =2/2 : 4101 :4030
                                  00:23:22.514	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 46105, "2020-10-19": 45589 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "eca5qdr4" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                  00:23:22.515	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =1/2 : 46105 :45589
                                  
                                  A 2 Antworten 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
                                    #617

                                    Noch eine Frage: Ich hab' erst gestern entdeckt, dass in der Vis-View ja auch noch ein Icon auf den Status modbus.0.holdingRegisters.40087_EMS_CTRL eingebaut ist. Allerdings scheint das Register bei mir immer 0 anzuzeigen, auch 4 Minuten vor Ende Regelzeitraum. Nun frage ich mich, müsste das Flag auch auf 1 umspringen, wenn ich mit dem RSCPGui-Tool zum HKW verbinde (um das außerhalb des Regelzeitraums testen zu können)? Dieser Wert ist doch plain, also muss nicht noch bitweise berechnet werden wie beispielsweise modbus.0.holdingRegisters.40085_EMS_Status?

                                    A 1 Antwort Letzte Antwort
                                    0
                                    • smartboartS smartboart

                                      @ArnoD Hi Arno, habe das Script Autonomiezeit weiter gepflegt und um aktivierbaren und deaktivierbaren Lastabwurf erweitert ..Falls interesse besteht.....

                                      /*
                                      E3DC dynamische Autonomiezeitberechnung inkl. Lastabwurf vor Erreichen der Notstrom Reserve 
                                      von Smartboard 
                                      28.09.2020
                                      V0.0.1  -Dynamische Berechnung der Batterie  Autonomiezeit bei Entladung anhand der Modbusinformationen 
                                              BatSoc und Batterie_Leistung unter Berücksichtigung der Notstromreserve.   
                                              Für anzeige in Vis..
                                              Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit Diese nur bei Entnahme angezeigt wird.
                                              BatSoc in kwh   
                                      29.09.2020
                                      V0.0.2 -Berechnung auf Durchschnittswert der Autonomiezeit erweitert,  dadurch wird die Zeitanzeige ruhiger und gibt einen gemittelten 
                                             Wert wieder, welcher auch aussagekräftiger ist.
                                             - Notstromreserve wird nun aus Sript E3DC Control von ArnoD eingelesen. Sowie unterscheidung zur manuellen Eingabe  falls in E3DC eine 
                                             Notstromreserve hinterlegt wurde. Somit bleibt die Autonomie Berechnung automatisch aktuell sollte in E3DC Control etwas angepasst werden.        
                                      30.09.2020
                                      V0.0.3- Autonomiezeit Anzeige in Minuten wenn < 1 Stunde . State Autonomiezeit geändert von type numnber zu string.
                                      03.10.2020
                                      V0.0.4- Logging überarbeitet für Anzeige im Log Adapter
                                      04.10.2020
                                      V0.0.5 - Lastabwurf von Verbrauchern integriert
                                      07.10.2020
                                      V0.0.6 - Berechnungsfehler, welche -Werte erzeugten wurden behoben.
                                               Ausgabe der 1. Autonomiezeitberechnung sofort anzeigen dann wird auf Durchschnittswert umgeschalte
                                      20.10.2020
                                      V0.0.7 - Hinweis stevie77 Wirkungsgrad in Berechnung einbeziehen. laut Datenblatt: max. Systemwirkungsgrad inkl. Batterie (%) > 88
                                      Bei 13 KW 13 / 100 * 88 = 11.44 Bemerkung .Vermutlich kann hier 1 eingetragen werden, da im Verbrauchswert Watt schon die die Verluste inkludiert sind.
                                      21.10.2020
                                      V0.0.7 - Hinweis stevie77 Tiefenentladeschutz bei 10 % mit  in Berechnung einbeziehen. 
                                      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).
                                      */        
                                      
                                      //Konfiguration
                                      var logging = true;
                                      var debug = false;
                                      var Speicherbrutto = 13; // kw/h hier die Speichergröße in kwh 
                                      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
                                      var E3DCReserve = 0; // % eingestellte Notstromreserve in Prozent bei E3dC. Wenn diese nicht verwendet wird dan 0 eintragen.
                                      var cron1 = 10; // hier die Schedulezeit - Triggerhäufigkeit alle x Sekunden für Zeitberechnung eintragen
                                      var counter = 24; // Hier die Anzahl der Zeitberechnungen eintragen um einen Durchschnitswert zu ermitteln
                                      var Rest = 5; // Wert in % gibt die Rest Batterieladung an. Dieser Wert wird der Notstromreserve hinzuadiert, und ist der Wert bei welcher die Last abgeworfen werden soll
                                      var AbwurfReset = 15; // Wert in % gibt die  Batterieladung an bei welcher wieder  die abgeworfene Last wieder zugeschaltet wird. Dieser Wert wird der Notstromreserve hinzuadiert.
                                      
                                      //Aktoren für den Lastabwurf 
                                      const idWaschmaschine = 'sonoff.0.Steckdose_Waschmaschine.POWER'/*Waschmaschine*/;
                                      const idSpuelmaschine = 'sonoff.0.Steckdose_Spuelmaschine.POWER'/*Steckdose Spuelmaschine*/;
                                      const idTrockner = 'sonoff.0.Steckdose_Trockner.POWER'/*Trockner*/;
                                      
                                      const fC = false;
                                      const Statepfad = 'javascript.' + instance + '.PVAnlage.Autonomie.';
                                      
                                      //Berechnungsgrundlage
                                      const idBatEntnahme = 'modbus.1.holdingRegisters.40070_Batterie_Leistung'/*Batterie-Leistung in Watt*/;
                                      const idBatSoc = 'modbus.1.holdingRegisters.40083_Batterie_SOC'/*Batterie-SOC in Prozent*/;
                                      const idHTSockel = 'javascript.1.PVAnlage.E3DC-Control.Parameter.HTsockel';
                                      const idHTon = 'javascript.1.PVAnlage.E3DC-Control.Parameter.HTon';
                                      const idHToff = 'javascript.1.PVAnlage.E3DC-Control.Parameter.HToff'; 
                                      const idNotstrombetrieb = 'modbus.1.holdingRegisters.40084_Emergency_Power_Status'/*Emergency-Power Status*/;
                                      
                                      //hier muss nichts geändert werden
                                      
                                      //Variable für Cronjob start stop
                                      var Timer = null;
                                      //Variable Hilfsmerker
                                      var Merker = true;
                                      //Variable zur Berechnung der Zeit
                                      var Autonomiezeit = 0;
                                      //Variable für Berechnung 
                                      var Reserve = 0;
                                      // Variablen für Durchschnittsberechnung
                                      var count = 0;
                                      var Summe = 0;
                                      // Wert gleich anzeigen
                                      var Anzeige = false;
                                      // Variable für Bat Soc in kwh abzüglich Notstromreserve
                                      var BatSockWh = null;
                                      var Entnahme = null;
                                      var BatSoc = null;
                                      
                                      
                                      //states to create Ergebnisse
                                      const idAutonomiezeit = Statepfad + 'Autonomiezeit';   
                                      const idBatSockWh = Statepfad + 'Batteriekapazitaet';  
                                      const idAbwurfAutomatik = Statepfad + 'Lastabwurfatuomatik';
                                      const idLastabwurf = Statepfad + 'Lastabwurf';
                                      
                                      //states create
                                      // Autonomiezeit in Vis auf Sichtbarkeit bei != 0 einstellen damit nur Sichtbar bei Entnahme
                                      createState(idAutonomiezeit, 0, fC, { type: 'string', name: 'Autonomiezeit',role:'text'});
                                      createState(idBatSockWh, 0, fC, { type: 'number', name: 'Batteriekapazität',role:'value', unit: ' kWh'});
                                      createState(idAbwurfAutomatik, true, fC, {type: 'boolean', name: 'Abwurfautomatik',role:'switch'});
                                      createState(idLastabwurf,false,fC , {type : 'boolean', name: 'Lastabwurf', role:'state'});
                                      if(fC && logging)log('force Creation Aktiv States angelegt oder überschrieben');
                                      
                                      //Scriptstart
                                      var Batterie = Speicherbrutto*Wirkungsgrad; 
                                      var Speicher = Speicherbrutto*Wirkungsgrad*Entladetiefe; 
                                      setState(idAutonomiezeit, '0' ,true);  
                                      if (logging)log('Batterie E3DC: Die Speichergröße ist ' + Speicherbrutto + ' kWh. abzüglich Wirkungsgrad ' + Batterie + ' kWh und abzüglich des Tiefenentladeschutz bleiben Netto '+ Speicher+ ' kWh.')
                                      setTimeout( function(){
                                      Berechnung();
                                      },500);
                                      
                                      
                                      
                                      //Bei Abwahl Lastabwurfautomatik Verbraucher wieder zuschalten
                                      on(idAbwurfAutomatik,function(dp){
                                      if(dp.state.val){
                                      if(logging)log('Batterie E3DC: Lastabwurf Automatik wurde aktiviert.');     
                                      }else{
                                      setState (idTrockner,true);
                                      setState (idWaschmaschine,true);
                                      setState (idSpuelmaschine,true);
                                      setState (idLastabwurf,false,true);
                                      if(logging)log('Batterie E3DC: Lastabwurf Automatik wurde deaktiviert. Aktoren werden wieder eingeschaltet.');    
                                      }
                                      });
                                      
                                      // Trigger Berechnung Aktueller Bat Soc in kwh und Reset Lastabwurf
                                      on(idBatSoc, function(dp) { 
                                      var Abwurf = getState(idLastabwurf).val;  
                                      BatSoc = dp.state.val; 
                                      var EinBedingung = Reserve + AbwurfReset; 
                                      if(debug)log('Batterie E3DC: Trigger BatSoc aktiv. BatSoc beträgt: '+ BatSoc +' %. Einbedingung nach Abwurf ist ' + EinBedingung + ' %'); 
                                      Berechnung();
                                      if(BatSoc > EinBedingung && Abwurf){
                                      if(logging)log('Batterie E3DC: Lastabwurf zurück gesetzt, Aktoren wieder eingeschaltet. BatSoc beträgt: '+BatSoc+ ' %');
                                      setState (idTrockner,true);
                                      setState (idWaschmaschine,true);
                                      setState (idSpuelmaschine,true);
                                      setState (idLastabwurf,false,true);
                                      }
                                      });
                                      
                                      //Berechnung Aktueller Bat Soc in kwh und Wert in State schreiben
                                      function Berechnung(){    
                                      BatSoc = getState(idBatSoc).val;    
                                      setState(idBatSockWh,Math.round(((Speicher/100) * BatSoc)*100)/100,true);  
                                      if(debug)log('Batterie E3DC: Die Aktuell verfügbare Netto Speicherkapazität ist: '+ getState(idBatSockWh).val+' kWh'); 
                                      }
                                      
                                      // Schedule Berechnung Autonomiezeit starten bei Entnahme
                                      on(idBatEntnahme, function(dp) {
                                          if(dp.state.val < 0 ){
                                          if(Merker)schedulestart();
                                          Merker = false;
                                          if(debug)log('Batterie E3DC: Aktuelle Entnahmeleistung: ' + dp.state.val +' Watt');
                                          }
                                      });
                                      
                                      //Berechnung Autonomiezeit
                                      function schedulestart(){
                                      if(debug)log('Batterie E3DC: Funktion Schedulestart aktiv');  
                                      var cronjob = "*/"+cron1+" * * * * *";  
                                      Timer = schedule(cronjob, function(){   
                                      if(debug)log('Batterie E3DC: Schedule cronjob aktiv');       
                                      Entnahme = getState (idBatEntnahme).val;
                                      BatSockWh = getState (idBatSockWh).val;
                                      var Sockel = parseFloat(getState (idHTSockel).val);
                                      var HToff = getState (idHToff).val;
                                      var HTon = getState (idHTon).val;
                                      var Notstrombetrieb = getState(idNotstrombetrieb).val;
                                      if (HTon === HToff && E3DCReserve === 0 && Notstrombetrieb === 2){
                                          Reserve = Sockel;
                                          if(debug)log('Batterie E3DC: Die Notstrom Reserve entsprichte der Einstellung in E3DC Control und beträgt: ' + Reserve +' %');
                                      }
                                      if (E3DCReserve >0 && Notstrombetrieb === 2){
                                          Reserve = E3DCReserve;
                                          if(debug)log('Batterie E3DC: Die Notstrom Reserve entspricht der User Konfig Einstellun und beträgt'+ Reserve + ' %');
                                      }
                                      if ((HTon != HToff && E3DCReserve === 0) || Notstrombetrieb !=2){
                                          Reserve=0;
                                          if(debug)log('Batterie E3DC: Es wird keine Notstrom Reserve bei der Berechnung berücksichtigt. Wert auf ' + Reserve +' % gesetzt.');
                                      }
                                      setTimeout(function(){
                                      if(Entnahme<0){
                                      BatSockWh = Math.round(BatSockWh - (Speicher/100*Reserve*100)/100);
                                      if(debug)log('Batterie E3DC: aktuelle Netto Gesamtkapazität abzüglich der Notstromreserve ist:  '+ BatSockWh + ' kWh.');
                                      setTimeout(function(){
                                      var Abwurf = getState(idLastabwurf).val;
                                      Autonomiezeit = Math.round(BatSockWh*1000/Entnahme*-1*100)/100;    
                                      Durchschnitt();
                                      if (Abwurf === false){
                                          Lastabwurf();
                                          if(debug)log('Batterie E3DC: Lastabwurfprüfung aktiv');
                                      }
                                      // gleich Anzeigen
                                      if(Anzeige === false && Autonomiezeit >0){
                                      setState(idAutonomiezeit, Autonomiezeit +' h',true);
                                      Anzeige = true;
                                      }
                                      if(debug)log('Batterie E3DC: Autonomiezeit neu berechnet auf:  '+ Autonomiezeit + ' h.');
                                      },100);
                                      }else{
                                      //Berechnung stoppen bei Entnahme 0 und Autonomiezeit auf 0 setzen
                                              if(Entnahme >=0){
                                              clearSchedule(Timer);
                                              Merker = true;
                                              if(debug)log('Batterie E3DC: Schedule cronjob gestoppt weil keine Entnahme');
                                              setState(idAutonomiezeit,'0',true);
                                              Anzeige = false;
                                                      }
                                                  }
                                              },100);   
                                          });
                                      }
                                      
                                      // Zaehlem für Durchschnittsberechnung
                                      
                                      function Durchschnitt(){
                                      count ++
                                      Summe = Summe + Autonomiezeit;
                                      if(debug)log ('Summe: ' + Summe + ' Zaehler: '+count+ ' Addition: + ' + Autonomiezeit);
                                      if(count===counter){
                                      var Zeit= Summe/count;
                                      setTimeout(function(){
                                      if(logging)log('Batterie E3DC: Aktuelle Netto Speicherkapazität beträgt: '+ getState(idBatSockWh).val+' kWh, abzüglich der Notstromreserve '+BatSockWh+ ' kWh' );     
                                      if(Zeit>=1){    
                                      setState(idAutonomiezeit,+ Math.round(Zeit*100)/100 +' h',true);  
                                      if(logging)log('Batterie E3DC: Autonomiezeit beträgt: '+ Math.round(Zeit*10)/10 + ' h');
                                          }
                                      if(Zeit<1 && Zeit >0){       
                                      setState(idAutonomiezeit, + Math.round((Zeit*60)*100/100)+' min',true);
                                      if(logging)log('Batterie E3DC: Autonomiezeit bis Notstromreserve beträgt: '+Math.round((Zeit*60)*100/100) +' min.');
                                          }
                                      if(Zeit < 0){
                                      setState(idAutonomiezeit, '0' ,true);
                                      if(logging)log('Batterie E3DC: Autonomiezeit beträgt: 0 min.');
                                          }
                                      count=0;
                                      Summe=0;
                                      if(debug)log('Batterie E3DC: Reset: Count =  '+ count+ ' Summe = ' + Summe);
                                              },100);  
                                          }
                                      }
                                      
                                      function Lastabwurf(){
                                      var Automatik = getState(idAbwurfAutomatik).val;
                                      var Bedingung = Reserve + Rest;
                                      if(debug)log('Batterie E3DC: Trigger Lastabwurf aktiv. BatSoc beträgt: '+ BatSoc +' %. Abwurfbedingung ist ' + Bedingung + ' %');
                                      if(BatSoc <= Bedingung && Automatik){   
                                      if(logging)log('Batterie E3DC: Lastabwurf. BatSoc beträgt: '+ BatSoc +' % und ist <= Abwurfbedingung mit ' + Bedingung + ' %');
                                      setState (idTrockner,false);
                                      setState (idWaschmaschine,false);
                                      setState (idSpuelmaschine,false);
                                      setState (idLastabwurf,true,true);
                                          }  
                                      }
                                      
                                      
                                      S Offline
                                      S Offline
                                      stevie77
                                      schrieb am zuletzt editiert von stevie77
                                      #618

                                      @smartboart sagte in E3DC Hauskraftwerk steuern:

                                      @ArnoD Hi Arno, habe das Script Autonomiezeit weiter gepflegt und um aktivierbaren und deaktivierbaren Lastabwurf erweitert ..Falls interesse besteht.....

                                      Ich hab' mal versucht dein Skript anzupassen und in Betrieb zu nehmen. Den Lastabwurf hab' ich wieder rausoperiert, da relativ speziell und ich auch keine Geräte habe, die ich einfach so ausschalten wollen würde. Hast du keine Angst, dass dir Spül- und Waschmaschine kaputt gehen, wenn du sie einfach irgendwo zwischendrin abbrichst? Tut das dem Geschirr oder der Wäsche gut, wenn sie irgendwann weiter bearbeitet werden (falls deine Geräte dort fortsetzen, wo sie gerade in ihrem Programm gestoppt wurden)?

                                      Aber nun zu den eigentlichen Fragen:

                                      1. Ruckeln sich die Werte (nach jedem Skriptstart) so nach und nach zurecht, je länger das Skript läuft? Bis eben blieb die Autonomiezeit leer und die Batteriekapazität war mal 0 und mal ein einigermaßen plausibler Wert.
                                      2. Die Batteriekapazität scheint von den parametrierten 13 kWh Bruttokapazität gerechnet zu sein. Bei mir gerade 13 * 88% = 11,44 kWh. Im State steht 11,31 kWh, was ja ungefähr zusammen passt. Aber das ist doch eigentlich falsch, weil mit der Nettokapazität 11,7 kWh gerechnet werden müsste - schließlich steht ja auch nur die Nettokapazität zur Verfügung...oder werden die 10 % Unterschied noch bei der Berechnung der Restzeit abgezogen?

                                      Edit: Hab' jetzt eben mal beide Zahlen nachgerechnet; bei Berechnung der Reststunden werden die 10 % Abzug von Brutto- zu Nennkapazität auch nicht abgezogen. Von daher sind die 13 kWh, die im Skript standen, falsch (bei einem PRO in der niedrigsten Ausbaustufe, wie wir sie haben). Falls du die verwendest, müsste der Akku eigentlich immer früher leer sein als berechnet.

                                      smartboartS 1 Antwort Letzte Antwort
                                      0
                                      • S stevie77

                                        @ArnoD So, jetzt bin ich auch endlich wieder auf dem neuesten Stand (Skript und Vis-View). Wallbox sollte theoretisch Anfang April kommen, passend zur neuen Förderung... :-)
                                        Eine Kleinigkeit (vermutlich - denke mal, dass trotzdem alles funktioniert) ist mir noch aufgefallen: Beim Loggen wird Dachfläche 4/2 etc. ausgegeben, aber das beeinflusst wohl nicht die Funktionalität - zumindest stehen in den 4 entsprechenden States jeweils unterschiedliche Werte...

                                        Zeile 150 ungefähr, fixe Anzahl 2:

                                        function CallForecast() {
                                            InterrogateForecast (i,2);
                                            i--;
                                        
                                        00:23:12.523	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 4005, "2020-10-19": 3944 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "w497n78y" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                        00:23:12.526	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =3/2 : 4005 :3944
                                        00:23:17.530	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 4101, "2020-10-19": 4030 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "696jaq87" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                        00:23:17.532	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =2/2 : 4101 :4030
                                        00:23:22.514	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 46105, "2020-10-19": 45589 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "eca5qdr4" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                        00:23:22.515	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =1/2 : 46105 :45589
                                        
                                        A Offline
                                        A Offline
                                        ArnoD
                                        schrieb am zuletzt editiert von
                                        #619

                                        @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                        @ArnoD So, jetzt bin ich auch endlich wieder auf dem neuesten Stand (Skript und Vis-View). Wallbox sollte theoretisch Anfang April kommen, passend zur neuen Förderung... :-)
                                        Eine Kleinigkeit (vermutlich - denke mal, dass trotzdem alles funktioniert) ist mir noch aufgefallen: Beim Loggen wird Dachfläche 4/2 etc. ausgegeben, aber das beeinflusst wohl nicht die Funktionalität - zumindest stehen in den 4 entsprechenden States jeweils unterschiedliche Werte...

                                        Zeile 150 ungefähr, fixe Anzahl 2:

                                        function CallForecast() {
                                            InterrogateForecast (i,2);
                                            i--;
                                        
                                        00:23:12.523	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 4005, "2020-10-19": 3944 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "w497n78y" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                        00:23:12.526	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =3/2 : 4005 :3944
                                        00:23:17.530	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 4101, "2020-10-19": 4030 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "696jaq87" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                        00:23:17.532	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =2/2 : 4101 :4030
                                        00:23:22.514	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Rueckmeldung :{ "result": { "2020-10-18": 46105, "2020-10-19": 45589 }, "message": { "code": 0, "type": "success", "text": "", "info": { "place": "21368 Dahlenburg, Landkreis L\u00fcneburg, Niedersachsen, DE", "timezone": "Europe/Berlin", "distance": 0, "pid": "eca5qdr4" }, "ratelimit": { "limit": 12, "remaining": 11 } } }
                                        00:23:22.515	info	javascript.0 (10985) script.js.Strom.handleE3DCControl: Gespeichert wurde Dachfläche =1/2 : 46105 :45589
                                        

                                        Stehe gerade auf dem Schlauch, was ist den jetzt genau das Problem :-)
                                        Die Ausgabe ist ja richtig wenn du drei Dachflächen hast oder hast du nDachflaechen=4 und es werden nur drei im LOG ausgegeben.

                                        1 Antwort Letzte Antwort
                                        0
                                        • S stevie77

                                          Noch eine Frage: Ich hab' erst gestern entdeckt, dass in der Vis-View ja auch noch ein Icon auf den Status modbus.0.holdingRegisters.40087_EMS_CTRL eingebaut ist. Allerdings scheint das Register bei mir immer 0 anzuzeigen, auch 4 Minuten vor Ende Regelzeitraum. Nun frage ich mich, müsste das Flag auch auf 1 umspringen, wenn ich mit dem RSCPGui-Tool zum HKW verbinde (um das außerhalb des Regelzeitraums testen zu können)? Dieser Wert ist doch plain, also muss nicht noch bitweise berechnet werden wie beispielsweise modbus.0.holdingRegisters.40085_EMS_Status?

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

                                          @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                          Noch eine Frage: Ich hab' erst gestern entdeckt, dass in der Vis-View ja auch noch ein Icon auf den Status modbus.0.holdingRegisters.40087_EMS_CTRL eingebaut ist. Allerdings scheint das Register bei mir immer 0 anzuzeigen, auch 4 Minuten vor Ende Regelzeitraum. Nun frage ich mich, müsste das Flag auch auf 1 umspringen, wenn ich mit dem RSCPGui-Tool zum HKW verbinde (um das außerhalb des Regelzeitraums testen zu können)? Dieser Wert ist doch plain, also muss nicht noch bitweise berechnet werden wie beispielsweise modbus.0.holdingRegisters.40085_EMS_Status?

                                          Der Status ändert sich nur wen von extern gerade gesteuert wird. Das bedeutet wenn E3DC-Control nichts ändert an der Steuerung auch wärend dem Regelzeitpunkt, dann bleibt der Status 0.
                                          Wenn du dich nur verbindest mit dem RSCPGui-Tool wird der Status 0 bleiben, erst wenn du einen Wert ändern würdest, also schreibend auf die Schnittstelle zugreifst wird der Status 1.

                                          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

                                          579

                                          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