Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. E3DC Hauskraftwerk steuern

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    E3DC Hauskraftwerk steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ArnoD @jans_ios last edited by

      @jans_ios sagte in E3DC Hauskraftwerk steuern:

      Grundsätzlich wäre es ganz cool, wenn das Skript in einem Datenpunkt die "für anderes" verwendbare Energie in Watt angeben würde. Da könnte man dann bspw. ein Skript für eine Wärmepumpe anhängen oder aber auch wie in meinem Fall den Heizstab. Das müsste doch recht einfach realisierbar sein, oder?

      Das ist dann die Einspeiseleistung, das ist der Rest, was aktuell nicht benötigt wird.

      J 1 Reply Last reply Reply Quote 0
      • J
        jans_ios @ArnoD last edited by

        @arnod
        Das ist richtig - wenn ich die jedoch "aufsauge" und in Heizstab, Wärmepumpe o.ä. schicke, so dass die Einspeisung so gering wie möglich ist, bricht Charge-Control ab, weil zu wenig Strom zum Verwalten da ist. Daher dachte ich, Charge-Control könnte bspw. einen Strom per ioBroker-Objekt "zur Verfügung stellen", in einen weiteren Datenpunkt sollten dann die Abnehmer genau diesen Teils des Stroms reinschreiben, was sie nutzen. Daraus könnte Charge-Control dann errechnen, was wirklich verfügbar ist etc.

        Quasi eine kleine Schnittstelle, über die sonst eingespeister Strom kontrolliert zur Verfügung gestellt wird.

        Ich hoffe, ich konnte es einigermaßen erklären.

        A 1 Reply Last reply Reply Quote 0
        • J
          jans_ios @jans_ios last edited by

          @ArnoD
          So, hier nochmal zur Bestätigung: Klappt seitdem top!

          1 Reply Last reply Reply Quote 0
          • J
            jans_ios last edited by jans_ios

            Ich habe noch ein anderes "Problem": Der Energieverbrauch des Wallbox-Skripts wird lt. Log um 23:58 Uhr erfolgreich gespeichert:

            2022-09-22 23:58:00.017  - info: javascript.0 (475) script.js.Eigene_Skripte.Energie.E3DC_Wallbox: Tagesertragswert gespeichert
            

            An dem Tag habe ich ca. 12kWh in meinen Hybrid geladen. Ich würde jetzt erwarten, dass im Objekt

            0_userdata.0.E3DC_Wallbox.Stromverbrauch.Verbrauch_E-Auto_kWh_Tag22

            genau diese ca. 12kWh auftauchen, dort steht aber eine glatte 0, zuletzt geändert am 13.09., allerdings mit Zeitstempel passend zum obigen Log 22.09. 28:58 Uhr:

            1e627aa8-c6f1-4d77-a789-be6cb82f445d-image.png

            Auch das Objekt "History.JSON" scheint nicht befüllt zu werden, hier ist sogar der Zeitstempel der 13.09.:
            d748d38b-6a11-4106-8301-67ee7d60256f-image.png

            Am 13.09. habe ich das Skript übrigens in Betrieb genommen, da wurden dann die Objekte erstellt, daher dieses Datum.

            Im View ist dadurch logischerweise auch alles leer:

            92a4c4ec-deda-4793-bfb4-99cca17b2c6b-image.png
            Was läuft hier wo falsch?

            Danke!

            Einen Download-Link zum kompletten Log des 22.09. schicke ich Dir per Chat, @ArnoD

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

              @arnod
              ja, beide Flächen und den APIkey aus Solcast kopiert.

              Screenshot 2022-09-29 at 13-27-33 Solcast API Toolkit.png

              Ich habe einen Blackout.

              1 Reply Last reply Reply Quote 0
              • J
                jans_ios last edited by

                @freudi
                Da ich das hinbekommen habe, hier Hinweise, wo genau was zu finden ist. Auf der Solcast Website findest Du in Deinem Account (Manage Account) das Feld API Key, in dem Du Dir nach Klick auf "Show API Key" Deinen API-Key anzeigen lassen oder durch "Copy Key" in die Zwischenablage übernehmen kannst.
                7fb64247-0031-4594-8447-ccde39360700-image.png
                Im Bereich "Live and Forecast" findest Du die IDs Deiner beiden Dachflächen:
                93a2328f-482f-43b1-9c5b-3fc35b2ff987-image.png
                Und damit sollte es dann klappen.

                F 1 Reply Last reply Reply Quote 0
                • F
                  Freudi @jans_ios last edited by

                  @jans_ios

                  Super Danke. Ich habe "https://api.solcast.com.au/rooftop_sites......" kopiert.

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

                    @jans_ios sagte in E3DC Hauskraftwerk steuern:

                    Das ist richtig - wenn ich die jedoch "aufsauge" und in Heizstab, Wärmepumpe o.ä. schicke, so dass die Einspeisung so gering wie möglich ist, bricht Charge-Control ab, weil zu wenig Strom zum Verwalten da ist. Daher dachte ich, Charge-Control könnte bspw. einen Strom per ioBroker-Objekt "zur Verfügung stellen", in einen weiteren Datenpunkt sollten dann die Abnehmer genau diesen Teils des Stroms reinschreiben, was sie nutzen. Daraus könnte Charge-Control dann errechnen, was wirklich verfügbar ist etc.

                    Das ist dann aber das gleiche wie, wenn gleich die Einspeiseleistung verwendet wird.
                    Das Script Charge-Control regelt die Batterieladung natürlich nur so lange, wie auch was zum Regeln da ist.
                    Wenn jetzt mit 1000W in das Netz eingespeist wird, kann jeder Verbraucher 900W verwenden, ohne dass es Charge-Control beeinflusst. Wenn allerdings mehr verbraucht wird, dann wird Charge-Control nicht mehr regeln, weil ja nicht ausreichend Leistung vorhanden ist. Daran ändert aber ein eigenes Objekt auch nichts, sondern nur eine intelligente Steuerung (Script) was dafür sorg das eben nur 900W verbraucht werden oder wenn das nicht ausreicht, der Verbraucher nicht eingeschalten wird.

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

                      @jans_ios sagte in E3DC Hauskraftwerk steuern:

                      An dem Tag habe ich ca. 12kWh in meinen Hybrid geladen. Ich würde jetzt erwarten, dass im Objekt
                      0_userdata.0.E3DC_Wallbox.Stromverbrauch.Verbrauch_E-Auto_kWh_Tag22
                      genau diese ca. 12kWh auftauchen, dort steht aber eine glatte 0, zuletzt geändert am 13.09., allerdings mit Zeitstempel passend zum obigen Log 22.09. 28:58

                      Das Script verwendet den Zähler modbus.1.inputRegisters.128_total_kwh und speichert den Wert in 0_userdata.0.E3DC_Wallbox.Stromverbrauch.ZaehlerstandTagAlt.
                      Jeden Tag vergleicht es den aktuellen Zählerstand mit dem alten gespeicherten Zählerstand und speichert die Differenz in 0_userdata.0.E3DC_Wallbox.Stromverbrauch.Verbrauch_E-Auto_kWh_Tagxx.
                      Wenn bei dir immer 0 eingetragen wird, dann prüfe mal, ob über Modbus der Zählerstand richtig übertragen wird.

                      J 1 Reply Last reply Reply Quote 0
                      • J
                        jans_ios @ArnoD last edited by

                        @arnod
                        Tatsächlich steht hier eine aktuell eine 0, obwohl heute schon ca. 5kWh in mein Auto geladen wurden - woran kann das liegen? Der Ladevorgang läuft aktuell noch.
                        05234eff-70e5-4b7e-bbba-0ced4b74d780-image.png

                        A 3 Replies Last reply Reply Quote 0
                        • A
                          ArnoD @jans_ios last edited by

                          @jans_ios
                          kann sein das deine Wallbox keinen Zähler hat, was ich nicht glaube oder aber das Modbus Register bei dir ein anderes ist.

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

                            @jans_ios
                            Schau mal was bei dir verbaut ist, sollte so aussehen:
                            20201226_131239.jpg

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

                              @jans_ios
                              Was steht bei dir in modbus.1.holdingRegisters.904_Energiezähler_Total drin ? Zählt der bei dir richtig ?
                              Dann könnte ich das im Script umstellen.

                              J 1 Reply Last reply Reply Quote 0
                              • J
                                jans_ios @ArnoD last edited by

                                @arnod
                                Dieses Holdingregister wird bei mir gar nicht abgefragt. Ich habe Deine Datei von Github importiert, da ist es nicht enthalten. Ist die Datei nicht komplett?

                                A 1 Reply Last reply Reply Quote 0
                                • J
                                  jans_ios last edited by jans_ios

                                  @arnod
                                  Beim Wallbox-Skript habe ich einen Fehler entdeckt. Wenn das Hauskraftwerk sein Ladeziel erreicht hat und die Ladeleistung auf 0 geht, wird im Lademodus 1 nicht die Wallbox mit Strom versorgt, sondern eingespeist. Dies kommt aus folgendem Skript-Teil zustande, da die 0 irgendwie nicht als Option angenommen wird:

                                          // Prüfen ob Werte Netz oder Batterie negativ sind
                                          if (NetzLeistung_W <= -500 && BatterieLeistung_W < 0){
                                              AutoLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W-NetzLeistung_W)-2070;
                                          }else if (NetzLeistung_W > -500 && BatterieLeistung_W < 0) {
                                              AutoLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W)-2070;                 // 2070 W Trägheitsreserve bei Netzbezug
                                          }else if (NetzLeistung_W > -500 && BatterieLeistung_W > 0) {
                                              AutoLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W);                                    // 2070 W Trägheitsreserve bei Netzbezug
                                          }else if (NetzLeistung_W <= -500 && BatterieLeistung_W > 0){
                                              AutoLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W-NetzLeistung_W);
                                          }                  
                                  

                                  Ergänze ich in der ersten Prüfzeile ein = startet der Ladevorgang - ich weiß nur nicht so recht, ob das logisch richtig ist:

                                  if (NetzLeistung_W <= -500 && BatterieLeistung_W <= 0){
                                  

                                  Was meinst Du dazu? Ist das = hier richtig?

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

                                    @arnod sorry war off

                                    ja, das würde überall passen, außer bei Limit ist Vorzeichen anders

                                    @arnod sagte in E3DC Hauskraftwerk steuern:

                                    @Chilihead
                                    Aktuell könnte ich
                                    e3dc-rscp.0.EMS.SYS_SPECS.maxDischargePower4500W
                                    e3dc-rscp.0.EMS.USED_DISCHARGE_LIMIT-4500W
                                    e3dc-rscp.0.EMS.SYS_SPECS.maxStartDischargePower4500W
                                    verwenden.

                                    Dem Namen nach würde e3dc-rscp.0.EMS.SYS_SPECS.maxStartDischargePower am besten passen.
                                    Wie sieht es da bei dir aus, würde da die max. Batterie Entladeleistung passen?

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

                                      @jans_ios sagte in E3DC Hauskraftwerk steuern:

                                      Dieses Holdingregister wird bei mir gar nicht abgefragt. Ich habe Deine Datei von Github importiert, da ist es nicht enthalten. Ist die Datei nicht komplett?

                                      Ja, stimmt. Hatte das bei mir getestet und bei mir wurde hier nichts Sinnvolles übertragen.
                                      Kannst es ja mal bei dir versuchen, ob es da anders aussieht.
                                      Bei Holding-Register neue Adresse 904 Typ: Unsigned 32 bit (Big Endian) Faktor= 0.001

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

                                        @jans_ios sagte in E3DC Hauskraftwerk steuern:

                                        Ergänze ich in der ersten Prüfzeile ein = startet der Ladevorgang - ich weiß nur nicht so recht, ob das logisch richtig ist:
                                        if (NetzLeistung_W <= -500 && BatterieLeistung_W <= 0){

                                        Was meinst Du dazu? Ist das = hier richtig?

                                        Ja, das ist richtig. Danke 🙂
                                        Das kann aber in zwei if abfragen eingetragen werden, da es für die Berechnung bei 0 keine Rolle spielt, ob diese ein positives oder negatives Vorzeichen hat.

                                        Werde das korrigieren und eine neue Version hochladen.

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

                                          Neue Version 0.4.2 E3DC_Wallbox Script hochgeladen.

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

                                            @arnod
                                            Ich habe das Register ergänzt. Aktuell steht der Wert auf 3684499.46

                                            Ich beobachte mal, brauche dafür aber etwas Sonne 😉

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            1.0k
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3330
                                            1341037
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo