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.
    • smartboart
      smartboart @smartboart last edited by smartboart

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

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

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

        @smartboart
        Ok super, werd ich gleich mal testen 🙂

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

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

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

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

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

            So sollte es funktionieren.

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

              @ArnoD sagte in E3DC Hauskraftwerk steuern:

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

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

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

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

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

                  @ArnoD sagte in E3DC Hauskraftwerk steuern:

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

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

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

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

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

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

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

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

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

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

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

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

                          @stevie77 sagte in E3DC Hauskraftwerk steuern:

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

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

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

                            @smartboart sagte in E3DC Hauskraftwerk steuern:

                            2 10 * * *

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

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

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

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

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

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

                                  Ich komm jetzt auch endlich mal wieder dazu eure Scripte auf den aktuellen Stand zu bringen...

                                  Was ich nicht ganz rauslesen konnte:
                                  Ist das Autonomiezeitscript jetzt in Arnos Script mit integriert, oder muss ich mir das als eigenständiges Script zusätzlich mit anlegen?

                                  Danke schonmal

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

                                    @Abyss sagte in E3DC Hauskraftwerk steuern:

                                    Ich komm jetzt auch endlich mal wieder dazu eure Scripte auf den aktuellen Stand zu bringen...

                                    Was ich nicht ganz rauslesen konnte:
                                    Ist das Autonomiezeitscript jetzt in Arnos Script mit integriert, oder muss ich mir das als eigenständiges Script zusätzlich mit anlegen?

                                    Danke schonmal

                                    Ist ein eigenständiges script...

                                    smartboart 1 Reply Last reply Reply Quote 0
                                    • smartboart
                                      smartboart @smartboart last edited by

                                      Habe heute entdeckt, dass ich nen neue Firmware / Update erhalten habe. Muss irgendwann zwischen letzter und dieser Woche passiert sein..
                                      P10_2020_068
                                      Muss mal ne Pushnachicht aktivieren für das Objekt...

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

                                        @smartboart sagte in E3DC Hauskraftwerk steuern:

                                        Habe heute entdeckt, dass ich nen neue Firmware / Update erhalten habe. Muss irgendwann zwischen letzter und dieser Woche passiert sein..
                                        P10_2020_068
                                        Muss mal ne Pushnachicht aktivieren für das Objekt...

                                        Ich hab's seit 28.10.2020 02:04:25.
                                        Oder so...und wie funktioniert ne Push-Nachricht? Mit nem Mail-Adapter o.ä.?

                                        // Speichert zum Zeitpunkt eines Firmware-Updates das Datum des Updates und die alte Versionsnummer.
                                        const lastFirmwareUpdate = 'javascript.0.e3dc.lastFirmwareUpdate';
                                        const lastFirmware = 'javascript.0.e3dc.lastFirmware';
                                        createState(lastFirmwareUpdate);
                                        createState(lastFirmware);
                                        const firmware = 'modbus.0.holdingRegisters.40052_Firmware';
                                        
                                        on(firmware, function(obj){
                                            var actualDate = new Date();
                                            var actualDateString = formatDate(actualDate, "DD.MM.YYYY hh:mm:ss");
                                            setState(lastFirmwareUpdate, actualDateString);
                                            setState(lastFirmware, obj.oldState.val);
                                        });
                                        
                                        smartboart 1 Reply Last reply Reply Quote 0
                                        • smartboart
                                          smartboart @stevie77 last edited by smartboart

                                          @stevie77
                                          Unbenannt.JPG
                                          Unbenannt.JPG

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

                                            @stevie77 sagte in E3DC Hauskraftwerk steuern:

                                            Ich hab's seit 28.10.2020 02:04:25.

                                            Wo hast du eigentlich das Datum auslesen können ?
                                            Wenn ich mir das Änderungsdatum im Adapter ansehe ist dort der 05.11.2020 eingetragen, was eigentlich nicht sein kann.
                                            In der Übersicht im E3DC sehe ich nur das Datum der einzelnen Versionen und dort ist das aktuellste Datum der 23.10.2020 und 28.10.2020
                                            und geändert wurden:
                                            libSanyoBattery 23.10.2020
                                            libTimeSource 23.10.2020
                                            libNetworkService 23.10.2020
                                            libP10BatteryDetector 23.10.2020
                                            libP10StorageEntity 23.10.2020
                                            libBatteryToDatabase 28.10.2020

                                            @smartboart
                                            Die Lösung funktioniert für Telegram für Pushover kann folgende function verwendet werden:

                                            
                                            function send_pushover (device, message, titel, prio) {
                                               sendTo("pushover.0", { 
                                                    device: device,
                                                    message: message, 
                                                    title: titel, 
                                                    priority: prio,
                                                    retry: 30,
                                                    expire: 3600,
                                                    html: 1
                                                }); 
                                            }
                                            

                                            @stevie77
                                            Es gibt verschiedene Adapter im IoBroker mit denen Push Nachrichten möglich sind.
                                            Eine gute Auflistung der Vor und Nachteile findest du hier:
                                            Link Text

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            731
                                            Online

                                            31.7k
                                            Users

                                            79.8k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3331
                                            1362827
                                            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