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

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.5k

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

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

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.
  • A Offline
    A Offline
    ArnoD
    schrieb am zuletzt editiert von ArnoD
    #3451

    Könnt ihr bitte diese Änderung mal testen. Die Zeile "await calculateBatteryRange(0);" beim listener[18] ab Zeile 2653 im Code mit //auskommentieren. Eine Aktualisierung der Reichweite bei SOC Änderung mit 0W macht da keinen Sinn und ich denke das daher der Fehler auch kommt.
    Der Abschnitt sollte dann so aussehen:

    // Batterie Kapazität in kWh berechnen wenn sich der SOC in % ändert
        listeners[18] = on({id: sID_Batterie_SOC, change: "ne"}, async function (obj) {
            let BatSoc = obj.state.val;   
            await setStateAsync(sID_BatSoc_kWh,Math.round((Speichergroesse_kWh*(Systemwirkungsgrad_Pro/100) * BatSoc))/100,true);
            //await calculateBatteryRange(0);
        });
    
    1 Antwort Letzte Antwort
    0
    • bluebeanB Offline
      bluebeanB Offline
      bluebean
      schrieb am zuletzt editiert von
      #3452

      Der listener sollte in der Version 1.6.5 ab Zeile 2653 stehen, damit keine Irritationen aufkommen :)

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

        Danke, für die Korrektur. :-)

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          Modulo-N
          schrieb am zuletzt editiert von
          #3454

          Hatte jetzt keine Meldungen mehr gesehen (irgendwann kamen keine Fehler mehr), aber ich habe den Fix trotzdem mal gemacht... Vielen Dank für die schnelle Antwort!

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

            @ArnoD
            Ich muss mich hier @Modulo-N anschließen.
            Seit heute ca. 18:30 Uhr ist die Fehlermeldung nicht mehr aufgetaucht und kann somit nicht verifizieren, ob die Änderung etwas gebracht hat.

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

              @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 1 Antwort Letzte Antwort
              0
              • 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 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 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 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 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 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 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 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 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 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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          574

                                          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