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

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

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    15
    1
    877

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    685

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.9k

E3DC Hauskraftwerk steuern

Geplant Angeheftet Gesperrt Verschoben JavaScript
3.5k Beiträge 70 Kommentatoren 1.6m Aufrufe 62 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.
  • P psrelax

    @ArnoD
    Korrektur zu meiner vorherigen Aussage.
    Die Fehlermeldung hat heute wieder begonnen.
    Ich habe allerdings die eine von dir genannte Zeile auskommentiert gelassen aber anscheinend ohne Erfolg.

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

    @psrelax
    Wenn die Zeile auskommentiert ist, dann wird die Funktion nur noch aufgerufen, wenn die Objekt ID e3dc-rscp.0.EMS.POWER_BAT sich ändert und der Wert <0 ist, also negativ und somit, nur wenn die Batterie entladen wird.

    Mir fehlt gerade die Fantasie, wie dieser Fehler dann noch auftreten kann.

    Kannst du bei dir zum Testen mal diese beiden LOG Zeilen in der Funktion calculateBatteryRange() Zeile 2131 einfügen:
    log(currentConsumptionW1 = ${currentConsumptionW},'warn')
    log(currentConsumptionW2 = ${currentConsumptionW},'warn')

    Das würde dann so aussehen:

    // Funktion zur Berechnung der Reichweite basierend auf dem aktuellen Verbrauch oder dem Durchschnittsverbrauch
    async function calculateBatteryRange(currentConsumptionW) {
        // Setze currentConsumptionW auf 0, wenn es null, undefined oder kleiner als 0 is
        log(`currentConsumptionW1 = ${currentConsumptionW}`,'warn')
        currentConsumptionW = (currentConsumptionW == null || currentConsumptionW >= 0) ? 0 : currentConsumptionW;
        log(`currentConsumptionW2 = ${currentConsumptionW}`,'warn')
        const akt_Autonomiezeit = (await getState(sID_Autonomiezeit)).val
        if (!homeAverage) {
            console.error('Keine Daten im homeAverage vorhanden.');
            return;
        }
    

    Eigentlich kann es nur noch passieren, wenn der Wert e3dc-rscp.0.EMS.POWER_BAT null oder undefined ist.

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      psrelax
      schrieb am zuletzt editiert von psrelax
      #3458

      @ArnoD
      currentConsumptionW1 und currentConsumptionW2 gibt es nicht. Muss die Variable nicht vorher definiert werden?
      Wird auf jeden Fall nicht kompiliert.

      Edit1: Es ist oben bei dir falsch drin gestanden. jetzt funktioniert es.

      Edit2: Hier das Ergebnis der Ausgabe:
      58b6a068-b1c4-483f-8ae1-462e552a6b16-image.png

      A 1 Antwort Letzte Antwort
      0
      • P psrelax

        @ArnoD
        currentConsumptionW1 und currentConsumptionW2 gibt es nicht. Muss die Variable nicht vorher definiert werden?
        Wird auf jeden Fall nicht kompiliert.

        Edit1: Es ist oben bei dir falsch drin gestanden. jetzt funktioniert es.

        Edit2: Hier das Ergebnis der Ausgabe:
        58b6a068-b1c4-483f-8ae1-462e552a6b16-image.png

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

        @psrelax
        Hätte jetzt was anderes erwartet.
        Kannst du bitte noch weiter unten ab Zeile 2175 diesen LOG Eintrag "log(`consumption = ${JSON.stringify(consumption)}`,'warn');" hinzufügen:
        Bitte die LOG Zeile aus dem Codefeld kopieren und bei dir einfügen.

        const consumption = {
                currentDayNightW: homeAverage[currentDay]?.['night'] ?? currentConsumptionW ?? 0,
                nextDayDayW: homeAverage[nextDayString]?.['day'] ?? currentConsumptionW ?? 0,
                nextDayNightW: homeAverage[nextDayString]?.['night'] ?? currentConsumptionW ?? 0,
                currentDayDayW: homeAverage[currentDay]?.['day'] ?? currentConsumptionW ?? 0,
                lastDayNightW: homeAverage[lastDayString]?.['night'] ?? currentConsumptionW ?? 0
            };
            log(`consumption = ${JSON.stringify(consumption)}`,'warn');
            // Prüfen, ob einer der Werte 0 ist und die Funktion beenden
            if (Object.values(consumption).some(value => value === 0)) {
                console.error('Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.');
                return;
            }
        

        Welche Javascript und Node.js Version hast du ?

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          psrelax
          schrieb am zuletzt editiert von
          #3460

          @ArnoD

          Hier bitte die Ausgabe (mehr Fehler wurden nicht produziert):
          a7daab0b-32ef-4358-ba66-04118a0aad39-image.png

          Ich habe..
          Nodejs 20.19.1
          Javascript Controller 7.0.7
          Javascript Adapter 8.9.2

          Thomas BraunT A 2 Antworten Letzte Antwort
          0
          • P psrelax

            @ArnoD

            Hier bitte die Ausgabe (mehr Fehler wurden nicht produziert):
            a7daab0b-32ef-4358-ba66-04118a0aad39-image.png

            Ich habe..
            Nodejs 20.19.1
            Javascript Controller 7.0.7
            Javascript Adapter 8.9.2

            Thomas BraunT Online
            Thomas BraunT Online
            Thomas Braun
            Most Active
            schrieb am zuletzt editiert von
            #3461

            @psrelax sagte in E3DC Hauskraftwerk steuern:

            Nodejs 20.19.1

            Losgelöst vom Problem:
            Updaten.

            Linux-Werkzeugkasten:
            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
            NodeJS Fixer Skript:
            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

            P 1 Antwort Letzte Antwort
            0
            • P psrelax

              @ArnoD

              Hier bitte die Ausgabe (mehr Fehler wurden nicht produziert):
              a7daab0b-32ef-4358-ba66-04118a0aad39-image.png

              Ich habe..
              Nodejs 20.19.1
              Javascript Controller 7.0.7
              Javascript Adapter 8.9.2

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

              @psrelax
              Ich muss mir das später noch mal genauer ansehen.

              Kannst du mal diesen Teil:

              const consumption = {
                      currentDayNightW: homeAverage[currentDay]?.['night'] ?? currentConsumptionW ?? 0,
                      nextDayDayW: homeAverage[nextDayString]?.['day'] ?? currentConsumptionW ?? 0,
                      nextDayNightW: homeAverage[nextDayString]?.['night'] ?? currentConsumptionW ?? 0,
                      currentDayDayW: homeAverage[currentDay]?.['day'] ?? currentConsumptionW ?? 0,
                      lastDayNightW: homeAverage[lastDayString]?.['night'] ?? currentConsumptionW ?? 0
                  };
              

              Durch diesen Code ersetzen:

              
              const consumption = {
                  currentDayNightW: (homeAverage[currentDay]?.['night'] === 0 || homeAverage[currentDay]?.['night'] == null)
                      ? currentConsumptionW ?? 0
                      : homeAverage[currentDay]?.['night'],
              
                  nextDayDayW: (homeAverage[nextDayString]?.['day'] === 0 || homeAverage[nextDayString]?.['day'] == null)
                      ? currentConsumptionW ?? 0
                      : homeAverage[nextDayString]?.['day'],
              
                  nextDayNightW: (homeAverage[nextDayString]?.['night'] === 0 || homeAverage[nextDayString]?.['night'] == null)
                      ? currentConsumptionW ?? 0
                      : homeAverage[nextDayString]?.['night'],
              
                  currentDayDayW: (homeAverage[currentDay]?.['day'] === 0 || homeAverage[currentDay]?.['day'] == null)
                      ? currentConsumptionW ?? 0
                      : homeAverage[currentDay]?.['day'],
              
                  lastDayNightW: (homeAverage[lastDayString]?.['night'] === 0 || homeAverage[lastDayString]?.['night'] == null)
                      ? currentConsumptionW ?? 0
                      : homeAverage[lastDayString]?.['night']
              };
              
              

              damit sollte es dann funktionieren.

              1 Antwort Letzte Antwort
              0
              • P Offline
                P Offline
                psrelax
                schrieb am zuletzt editiert von
                #3463

                @ArnoD

                Danke, scheint erst einmal zu funktionieren.
                5bc1e7e6-6556-4bd9-b325-8c3647dc2f53-image.png

                1 Antwort Letzte Antwort
                0
                • Thomas BraunT Thomas Braun

                  @psrelax sagte in E3DC Hauskraftwerk steuern:

                  Nodejs 20.19.1

                  Losgelöst vom Problem:
                  Updaten.

                  P Offline
                  P Offline
                  psrelax
                  schrieb am zuletzt editiert von
                  #3464

                  @Thomas-Braun sagte in E3DC Hauskraftwerk steuern:

                  Losgelöst vom Problem:
                  Updaten.

                  Danke für den Tipp.
                  Sollte aber ohne ein Update auch funktionieren, meine ich.

                  Thomas BraunT 1 Antwort Letzte Antwort
                  0
                  • P psrelax

                    @Thomas-Braun sagte in E3DC Hauskraftwerk steuern:

                    Losgelöst vom Problem:
                    Updaten.

                    Danke für den Tipp.
                    Sollte aber ohne ein Update auch funktionieren, meine ich.

                    Thomas BraunT Online
                    Thomas BraunT Online
                    Thomas Braun
                    Most Active
                    schrieb am zuletzt editiert von Thomas Braun
                    #3465

                    @psrelax sagte in E3DC Hauskraftwerk steuern:

                    Sollte aber ohne ein Update auch funktionieren, meine ich.

                    nodejs 20 ist auf der Palliativ-Station. Update es jetzt, solange das noch gepflegt wird.
                    Warum scheut ihr eigentlich immer wie der Teufel das Weihwasser updates auf die aktuell vorgesehene, empfohlene und noch halbwegs gepflegte Version?

                    Linux-Werkzeugkasten:
                    https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                    NodeJS Fixer Skript:
                    https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                    iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                    1 Antwort Letzte Antwort
                    1
                    • P Offline
                      P Offline
                      psrelax
                      schrieb am zuletzt editiert von
                      #3466

                      @Thomas-Braun

                      Man tut sich hald nicht so leicht sich zu entscheiden, ein Update durchzuführen, wenn man nur ein Produktivsystem besitzt :-)

                      Ich habe jetzt die neueste IOBroker Version V11 inkl. NodeJS

                      @ArnoD
                      Ich habe die Änderungen wieder rückgängig gemacht und beobachte, ob die Fehlermeldung noch auftritt.

                      Thomas BraunT 1 Antwort Letzte Antwort
                      0
                      • P psrelax

                        @Thomas-Braun

                        Man tut sich hald nicht so leicht sich zu entscheiden, ein Update durchzuführen, wenn man nur ein Produktivsystem besitzt :-)

                        Ich habe jetzt die neueste IOBroker Version V11 inkl. NodeJS

                        @ArnoD
                        Ich habe die Änderungen wieder rückgängig gemacht und beobachte, ob die Fehlermeldung noch auftritt.

                        Thomas BraunT Online
                        Thomas BraunT Online
                        Thomas Braun
                        Most Active
                        schrieb am zuletzt editiert von Thomas Braun
                        #3467

                        @psrelax sagte in E3DC Hauskraftwerk steuern:

                        Man tut sich hald nicht so leicht sich zu entscheiden, ein Update durchzuführen, wenn man nur ein Produktivsystem besitzt :-)

                        Naja, andersherum: GERADE das einzige System musste ja dann auch am leben halten. Per Updates...

                        IOBroker Version V11

                        ??? Was soll das sein?

                        Linux-Werkzeugkasten:
                        https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                        NodeJS Fixer Skript:
                        https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                        iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                        P 1 Antwort Letzte Antwort
                        0
                        • Thomas BraunT Thomas Braun

                          @psrelax sagte in E3DC Hauskraftwerk steuern:

                          Man tut sich hald nicht so leicht sich zu entscheiden, ein Update durchzuführen, wenn man nur ein Produktivsystem besitzt :-)

                          Naja, andersherum: GERADE das einzige System musste ja dann auch am leben halten. Per Updates...

                          IOBroker Version V11

                          ??? Was soll das sein?

                          P Offline
                          P Offline
                          psrelax
                          schrieb am zuletzt editiert von
                          #3468

                          @Thomas-Braun sagte in E3DC Hauskraftwerk steuern:

                          ??? Was soll das sein?

                          Das Docker Image
                          buanet/iobroker:latest-v11

                          Thomas BraunT 1 Antwort Letzte Antwort
                          0
                          • P psrelax

                            @Thomas-Braun sagte in E3DC Hauskraftwerk steuern:

                            ??? Was soll das sein?

                            Das Docker Image
                            buanet/iobroker:latest-v11

                            Thomas BraunT Online
                            Thomas BraunT Online
                            Thomas Braun
                            Most Active
                            schrieb am zuletzt editiert von
                            #3469

                            @psrelax

                            Okay, das ist die Version des Containers, nicht vom ioBroker.
                            Da sind wir bei js-controller 7.x.y

                            Linux-Werkzeugkasten:
                            https://forum.iobroker.net/topic/42952/der-kleine-iobroker-linux-werkzeugkasten
                            NodeJS Fixer Skript:
                            https://forum.iobroker.net/topic/68035/iob-node-fix-skript
                            iob_diag: curl -sLf -o diag.sh https://iobroker.net/diag.sh && bash diag.sh

                            P 1 Antwort Letzte Antwort
                            0
                            • A Offline
                              A Offline
                              ArnoD
                              schrieb am zuletzt editiert von ArnoD
                              #3470

                              Neue Version Charge-Control auf GitHub hochgeladen.

                              Version: 1.6.6
                              Änderungen:

                              • Initialisierung der Arrays korrigiert
                              • Speicherung der Hausverbrauchs-Werte ← optimiert
                              • Fallback-Logik für Durchschnittswerte Hausverbrauch korrigiert.
                              1 Antwort Letzte Antwort
                              1
                              • Thomas BraunT Thomas Braun

                                @psrelax

                                Okay, das ist die Version des Containers, nicht vom ioBroker.
                                Da sind wir bei js-controller 7.x.y

                                P Offline
                                P Offline
                                psrelax
                                schrieb am zuletzt editiert von
                                #3471

                                @Thomas-Braun
                                Ok dann hald so :-)

                                Sollte jetzt aber passen mit den Versionen, bzw. sollte jetzt alles aktuell sein.

                                1 Antwort Letzte Antwort
                                0
                                • P Offline
                                  P Offline
                                  psrelax
                                  schrieb am zuletzt editiert von psrelax
                                  #3472

                                  @ArnoD

                                  Ich habe mich gerade gewundert, warum das Tibber Script nicht wirklich lädt.
                                  In der Log habe ich folgendes gefunden:

                                  javascript.0	00:42:05.162	error	
                                  function bestLoadTime: Kein Eintrag gefunden dateStartTime=Wed Nov 26 2025 00:42:05 GMT+0100 (Mitteleuropäische Normalzeit) dateEndTime=Wed Nov 26 2025 00:42:05 GMT+0100 (Mitteleuropäische Normalzeit)
                                  javascript.0	00:42:05.163	error	
                                  Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of null (reading 'zeit')
                                  

                                  Kann es sein dass ich mit der neuen NodeJS / JavaScript Version jetzt das Problem habe?

                                  Für den Fehler habe ich grad den richtigen Zeitpunkt erwischt, da die Strompreis grad astronomisch sind :-(

                                  Nachtrag:
                                  Ich bin jetzt wieder auf die alte Version von NodeJS und Java gegangen. Hier reagiert das Tibberscript wenigstens auf Änderungen. Ich denke, das Script muss erst noch an die neuen Versionen angepasst werden.

                                  A 1 Antwort Letzte Antwort
                                  0
                                  • P psrelax

                                    @ArnoD

                                    Ich habe mich gerade gewundert, warum das Tibber Script nicht wirklich lädt.
                                    In der Log habe ich folgendes gefunden:

                                    javascript.0	00:42:05.162	error	
                                    function bestLoadTime: Kein Eintrag gefunden dateStartTime=Wed Nov 26 2025 00:42:05 GMT+0100 (Mitteleuropäische Normalzeit) dateEndTime=Wed Nov 26 2025 00:42:05 GMT+0100 (Mitteleuropäische Normalzeit)
                                    javascript.0	00:42:05.163	error	
                                    Fehler in Funktion tibberSteuerungHauskraftwerk: Cannot read properties of null (reading 'zeit')
                                    

                                    Kann es sein dass ich mit der neuen NodeJS / JavaScript Version jetzt das Problem habe?

                                    Für den Fehler habe ich grad den richtigen Zeitpunkt erwischt, da die Strompreis grad astronomisch sind :-(

                                    Nachtrag:
                                    Ich bin jetzt wieder auf die alte Version von NodeJS und Java gegangen. Hier reagiert das Tibberscript wenigstens auf Änderungen. Ich denke, das Script muss erst noch an die neuen Versionen angepasst werden.

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

                                    @psrelax
                                    Du bist etwas zu schnell mit deinen Entscheidungen :-)
                                    Der Fehler hat nichts mit der NodeJS zu tun, sondern mit den treueren Tibber Preisen.

                                    Den Fehler hatte ich gestern auch und es liegt einfach daran das kein Zeitfenster gefunden wurde innerhalb der Batteriereichweite was günstig war.
                                    Das sollte natürlich nicht zu einem Fehler führen.
                                    Wenn du das Skript neu startest, dann läuft es erstmal wieder.
                                    Ich werde mir das bei Gelegenheit mal anschauen.

                                    1 Antwort Letzte Antwort
                                    0
                                    • P Offline
                                      P Offline
                                      psrelax
                                      schrieb am zuletzt editiert von
                                      #3474

                                      @ArnoD

                                      So verkehrt war das nicht :-)
                                      Mit dem alten Stand konnte ich den Speicher manuell laden, wo der neue Stand nicht einmal auf meine Einstellungen reagiert hat.
                                      Jetzt habe ich wenigstens einen vollen Speicher.
                                      Ich glaube für das nächste Update meinses Systems suche ich mir eine Zeit mit viel Solar :-)
                                      Das neue ChargeControl habe ich aber in Betrieb! Bisher ohne Probleme.

                                      1 Antwort Letzte Antwort
                                      0
                                      • A Offline
                                        A Offline
                                        as
                                        schrieb am zuletzt editiert von
                                        #3475

                                        bei mir lädt es zu ungünstigen Zeiten- womöglich da immer nur aktueller Tag in Diagramm angezeigt u genutzt wird somit wird abends vor Mitternacht bereits geladen trotz deutlich teures als am morgen des Folgetages , Akkustand würde noch ausreichen bis nächsten morgen
                                        aber kann wohl durch den fehlenden Folgetag nicht berechnet u berücksichtigt werden

                                        A 1 Antwort Letzte Antwort
                                        0
                                        • A as

                                          bei mir lädt es zu ungünstigen Zeiten- womöglich da immer nur aktueller Tag in Diagramm angezeigt u genutzt wird somit wird abends vor Mitternacht bereits geladen trotz deutlich teures als am morgen des Folgetages , Akkustand würde noch ausreichen bis nächsten morgen
                                          aber kann wohl durch den fehlenden Folgetag nicht berechnet u berücksichtigt werden

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

                                          @as
                                          Welches Diagramm verwendest du?
                                          Es gibt drei Diagramme, eins für heute, eins für Morgen und eins wo beide Tage drauf sind.
                                          Das Skript berücksichtig beide Tage.

                                          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

                                          536

                                          Online

                                          32.6k

                                          Benutzer

                                          82.0k

                                          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