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.7k

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 ArnoD

    Neue Version Charge-Control auf GitHub hochgeladen.

    Version: 1.6.5
    Änderungen:

    • Die Logik der Funktion Ladesteuerung() wurde angepasst, um das Zusammenspiel zwischen EVCC und Charge-Control zu verbessern.
      Neue Logik:
      Die Laderegelung von Charge-Control wird jetzt angehalten, wenn: EVCC im Schnelllademodus ist (sMode_evcc === 'now') und der State vom Tibber-Skript BatterieLaden = false ist.
    P Offline
    P Offline
    psrelax
    schrieb am zuletzt editiert von
    #3439

    @arnod
    Deine Änderungen funktionieren bei mir soweit gut. Danke fürs ändern. :-)

    Ich weiß nicht ob du am "nach Plan" laden noch dran bist aber ich habe eine für mich praktikable Lösung eingefügt, die bis jetzt ihren Dienst tut, auch wenn sie ein hässlicher Workaround ist. Ich lade sehr oft nach Plan, da hier die günstigste Zeit zum Laden verwendet wird.
    Vielleicht kannst du so etwas auch bauen, wenn mein Vorschlag über MQTT von weiter oben nicht funktionieren sollte.

    Iststand von dir:

    schedule('*/3 * * * * *', async function() {
        // Vor Regelung Skript Startdurchlauf erst abwarten  
        //log(`bCharging_evcc = ${bCharging_evcc} sMode_evcc = ${sMode_evcc}`)
        if((!bStart && bAutomatikRegelung && !bManuelleLadungBatt && !bBattTraining && (!bCharging_evcc || sMode_evcc !== 'now')) || (!bStart && !bManuelleLadungBatt && !bBattTraining && bTibberLaden)){await Ladesteuerung();}
    });
    

    Meine Änderung:

    schedule('*/3 * * * * *', async function() {
        if (bStart) return; // während Startphase nichts tun
    
        // aktuelle Ladeleistung aus EVCC holen
        const wallboxState = await getStateAsync('evcc.0.loadpoint.1.status.chargePower');
        const WallboxPower = wallboxState?.val ?? 0;
    
        // optional: Grenzwert konfigurierbar machen
        const WallboxLimit = 10500; // Watt
    
        // Debug-Ausgabe (optional)
        //if (bDebugAusgabe) logChargeControl(`EVCC Mode=${sMode_evcc}, WallboxPower=${WallboxPower}W`);
    
        // Bedingung: Ladesteuerung nur aktivieren, wenn erlaubt
        if (
            (bAutomatikRegelung && !bManuelleLadungBatt && !bBattTraining
             && (!bCharging_evcc || sMode_evcc !== 'now')
             && !(sMode_evcc === 'pv' && WallboxPower > WallboxLimit))
            ||
            (!bManuelleLadungBatt && !bBattTraining && bTibberLaden)
        ) {
            await Ladesteuerung();
        }
    });
    
    A 1 Antwort Letzte Antwort
    0
    • P psrelax

      @arnod
      Deine Änderungen funktionieren bei mir soweit gut. Danke fürs ändern. :-)

      Ich weiß nicht ob du am "nach Plan" laden noch dran bist aber ich habe eine für mich praktikable Lösung eingefügt, die bis jetzt ihren Dienst tut, auch wenn sie ein hässlicher Workaround ist. Ich lade sehr oft nach Plan, da hier die günstigste Zeit zum Laden verwendet wird.
      Vielleicht kannst du so etwas auch bauen, wenn mein Vorschlag über MQTT von weiter oben nicht funktionieren sollte.

      Iststand von dir:

      schedule('*/3 * * * * *', async function() {
          // Vor Regelung Skript Startdurchlauf erst abwarten  
          //log(`bCharging_evcc = ${bCharging_evcc} sMode_evcc = ${sMode_evcc}`)
          if((!bStart && bAutomatikRegelung && !bManuelleLadungBatt && !bBattTraining && (!bCharging_evcc || sMode_evcc !== 'now')) || (!bStart && !bManuelleLadungBatt && !bBattTraining && bTibberLaden)){await Ladesteuerung();}
      });
      

      Meine Änderung:

      schedule('*/3 * * * * *', async function() {
          if (bStart) return; // während Startphase nichts tun
      
          // aktuelle Ladeleistung aus EVCC holen
          const wallboxState = await getStateAsync('evcc.0.loadpoint.1.status.chargePower');
          const WallboxPower = wallboxState?.val ?? 0;
      
          // optional: Grenzwert konfigurierbar machen
          const WallboxLimit = 10500; // Watt
      
          // Debug-Ausgabe (optional)
          //if (bDebugAusgabe) logChargeControl(`EVCC Mode=${sMode_evcc}, WallboxPower=${WallboxPower}W`);
      
          // Bedingung: Ladesteuerung nur aktivieren, wenn erlaubt
          if (
              (bAutomatikRegelung && !bManuelleLadungBatt && !bBattTraining
               && (!bCharging_evcc || sMode_evcc !== 'now')
               && !(sMode_evcc === 'pv' && WallboxPower > WallboxLimit))
              ||
              (!bManuelleLadungBatt && !bBattTraining && bTibberLaden)
          ) {
              await Ladesteuerung();
          }
      });
      
      A Offline
      A Offline
      ArnoD
      schrieb am zuletzt editiert von
      #3440

      @psrelax
      Entschuldige bitte, dass ich erst jetzt antworte, aber bei mir ist die vermeintlich ruhige Zeit alles andere als ruhig. 😊

      Warum möchtest du im "pv" Modus einen Grenzwert für die Wallbox setzen? Das lässt sich doch bereits in EVCC einstellen, oder?

      P 1 Antwort Letzte Antwort
      0
      • A ArnoD

        @psrelax
        Entschuldige bitte, dass ich erst jetzt antworte, aber bei mir ist die vermeintlich ruhige Zeit alles andere als ruhig. 😊

        Warum möchtest du im "pv" Modus einen Grenzwert für die Wallbox setzen? Das lässt sich doch bereits in EVCC einstellen, oder?

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

        @arnod
        Kein Problem. :-)
        Ich kann maximal mit 11KW laden. Darum habe ich den Grenzwert auf 10500KW gesetzt.
        Wenn jetzt eine Ladung per Plan startet, wird die Ladeleistung den Grenzwert überschreiten und ChargeControl wird die Laderegelung anhalten, auch wenn weiterhin PV eingestellt ist.

        Wenn ich das nicht so geändert hätte, würde bei einer Ladung nach Plan die Laderegelung nicht gestoppt, da du sowas ja bisher nicht berücksichtigen kannst.
        Das hat zur Folge, dass EVCC die Entladung des Akkus unterbindet und ChargeControl sie wieder erlaubt, usw...

        1 Antwort Letzte Antwort
        0
        • M Offline
          M Offline
          MaLei
          schrieb am zuletzt editiert von
          #3442

          Werden in deiner Steuerung reduzierte Netzentgelte (Modul 3 § 14a EnWG) berücksichtigt bzw. kann die Steuerung entsprechend erweitert werden?

          Im Grunde müsste dann jeder die von seinem Netzbetreiber festgelegten Zeiten und Netzentgelte manuell eingeben.

          A 1 Antwort Letzte Antwort
          0
          • M MaLei

            Werden in deiner Steuerung reduzierte Netzentgelte (Modul 3 § 14a EnWG) berücksichtigt bzw. kann die Steuerung entsprechend erweitert werden?

            Im Grunde müsste dann jeder die von seinem Netzbetreiber festgelegten Zeiten und Netzentgelte manuell eingeben.

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

            @malei
            Da muss ich nichts berücksichtigen, da das automatisch durch den Stromlieferanten berücksichtigt werden muss.
            Bedeutet das Tibber je nach Modul das entsprechende Netzentgelt berechnen muss. Bei den Brutto Tibber Preisen sollte das dann auch enthalten sein.
            Testen kann ich das aber nicht, da ich noch nicht unter die neue Regelung falle und erst ab 01.01.2029 umstellen muss.

            M 1 Antwort Letzte Antwort
            0
            • A ArnoD

              @malei
              Da muss ich nichts berücksichtigen, da das automatisch durch den Stromlieferanten berücksichtigt werden muss.
              Bedeutet das Tibber je nach Modul das entsprechende Netzentgelt berechnen muss. Bei den Brutto Tibber Preisen sollte das dann auch enthalten sein.
              Testen kann ich das aber nicht, da ich noch nicht unter die neue Regelung falle und erst ab 01.01.2029 umstellen muss.

              M Offline
              M Offline
              MaLei
              schrieb am zuletzt editiert von
              #3444

              @arnod

              Ja, die Abrechnung erfolgt durch den Netzbetreiber über den Stromanbieter. Aber ich (bzw. die Steuerung) muss die Zeiten berücksichtigen. Das macht ja nicht Tibber (oder welcher Stromanbieter auch immer).

              Die Steuerung müsste bei mir z. B. jetzt im Winter immer zwischen 0 und 4 Uhr den Batteriespeicher und ggf. das Auto laden ...

              A 1 Antwort Letzte Antwort
              0
              • M MaLei

                @arnod

                Ja, die Abrechnung erfolgt durch den Netzbetreiber über den Stromanbieter. Aber ich (bzw. die Steuerung) muss die Zeiten berücksichtigen. Das macht ja nicht Tibber (oder welcher Stromanbieter auch immer).

                Die Steuerung müsste bei mir z. B. jetzt im Winter immer zwischen 0 und 4 Uhr den Batteriespeicher und ggf. das Auto laden ...

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

                @MaLei said in E3DC Hauskraftwerk steuern:

                Die Steuerung müsste bei mir z. B. jetzt im Winter immer zwischen 0 und 4 Uhr den Batteriespeicher und ggf. das Auto laden ...

                Wenn dann der Strompreis inklusive der Netzentgelte am günstigsten ist, wird das ja auch gemacht.

                Aber ich (bzw. die Steuerung) muss die Zeiten berücksichtigen. Das macht ja nicht Tibber (oder welcher Stromanbieter auch immer).

                Indirekt ja, indem der Strompreis dann ja günstiger sein müsste.

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

                  @ArnoD
                  Ich musste meine Diskstation neu starten und bekomme jetzt folgenden Fehler, kann aber nicht herausfinden, an was es liegt.
                  Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.

                  2025-11-20 19:50:15.394  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: *******************  Debug LOG Charge-Control  *******************
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_Offset_sunriseEnd = 1
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_minWertPrognose_kWh = 0
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_maxEntladetiefeBatterie = 100
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_Systemwirkungsgrad = 100
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_minPvLeistungTag_kWh = 3
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_maxPvLeistungTag_kWh = 100
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_KorrekturFaktor = 0
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_WirkungsgradModule = 19
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikAnwahl =true
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikRegelung =true
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Einstellungen =1
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Start Regelzeitraum = 06:03
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ende Regelzeitraum= 12:03
                  2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende= 10:33
                  2025-11-20 19:50:15.792  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Unload = 100
                  2025-11-20 19:50:15.872  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende = 95
                  2025-11-20 19:50:15.874  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende2 = 100
                  2025-11-20 19:50:15.876  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeschwelle = 80
                  2025-11-20 19:50:15.878  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Unterer Ladekorridor = 0
                  2025-11-20 19:50:15.881  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelbeginn = 06:00
                  2025-11-20 19:50:15.882  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelende = 00:00
                  2025-11-20 19:50:15.884  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Ladeende = 06:00
                  2025-11-20 19:50:15.885  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom min = 2
                  2025-11-20 19:50:15.886  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom Sockel = 2
                  2025-11-20 19:50:15.887  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauch für night am Donnerstag: 1520 Wh
                  2025-11-20 19:50:15.887  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Eigenverbrauch Nacht = 1520 Wh
                  2025-11-20 19:50:15.930  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Power_Home_W (Hausverbrauch & Wallbox) = 1642W
                  2025-11-20 19:50:15.931  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Batterie Leistung = -1662 W
                  2025-11-20 19:50:15.933  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: PV Leistung = 0 W
                  2025-11-20 19:50:15.933  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Speichergroesse = 17kWh 
                  2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Batterie SoC = 25 %
                  2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_Proz= 2 %
                  2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_erreicht = false
                  2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bNotstromVerwenden =false
                  2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bNotstromAusNetz =false
                  2025-11-20 19:50:16.017  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_Status = 2
                  2025-11-20 19:50:16.017  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bM_Notstrom = false
                  2025-11-20 19:50:16.017  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: M_Power = 9000
                  2025-11-20 19:50:16.018  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Set_Power_Value_W = 0
                  2025-11-20 19:50:16.018  - warn: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ProgrammAblauf = 1,6,4,7,10,34, 
                  2025-11-20 19:50:16.064  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ueberschuss = -10642 hystereseWatt = 2000 bRegelungAktiv = false M_Power=9000
                  2025-11-20 19:50:16.360  - error: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.
                  2025-11-20 19:50:18.087  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ueberschuss = -10669 hystereseWatt = 2000 bRegelungAktiv = false M_Power=9000
                  2025-11-20 19:50:18.496  - error: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.
                  2025-11-20 19:50:20.913  - error: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.
                  
                  A 1 Antwort Letzte Antwort
                  0
                  • P psrelax

                    @ArnoD
                    Ich musste meine Diskstation neu starten und bekomme jetzt folgenden Fehler, kann aber nicht herausfinden, an was es liegt.
                    Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.

                    2025-11-20 19:50:15.394  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: *******************  Debug LOG Charge-Control  *******************
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_Offset_sunriseEnd = 1
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_minWertPrognose_kWh = 0
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_maxEntladetiefeBatterie = 100
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 10_Systemwirkungsgrad = 100
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_minPvLeistungTag_kWh = 3
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_maxPvLeistungTag_kWh = 100
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_KorrekturFaktor = 0
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: 40_WirkungsgradModule = 19
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikAnwahl =true
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikRegelung =true
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Einstellungen =1
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Start Regelzeitraum = 06:03
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ende Regelzeitraum= 12:03
                    2025-11-20 19:50:15.395  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende= 10:33
                    2025-11-20 19:50:15.792  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Unload = 100
                    2025-11-20 19:50:15.872  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende = 95
                    2025-11-20 19:50:15.874  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeende2 = 100
                    2025-11-20 19:50:15.876  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Ladeschwelle = 80
                    2025-11-20 19:50:15.878  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Unterer Ladekorridor = 0
                    2025-11-20 19:50:15.881  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelbeginn = 06:00
                    2025-11-20 19:50:15.882  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelende = 00:00
                    2025-11-20 19:50:15.884  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Offset Ladeende = 06:00
                    2025-11-20 19:50:15.885  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom min = 2
                    2025-11-20 19:50:15.886  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom Sockel = 2
                    2025-11-20 19:50:15.887  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauch für night am Donnerstag: 1520 Wh
                    2025-11-20 19:50:15.887  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Eigenverbrauch Nacht = 1520 Wh
                    2025-11-20 19:50:15.930  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Power_Home_W (Hausverbrauch & Wallbox) = 1642W
                    2025-11-20 19:50:15.931  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Batterie Leistung = -1662 W
                    2025-11-20 19:50:15.933  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: PV Leistung = 0 W
                    2025-11-20 19:50:15.933  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Speichergroesse = 17kWh 
                    2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Batterie SoC = 25 %
                    2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_Proz= 2 %
                    2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_erreicht = false
                    2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bNotstromVerwenden =false
                    2025-11-20 19:50:15.975  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bNotstromAusNetz =false
                    2025-11-20 19:50:16.017  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_Status = 2
                    2025-11-20 19:50:16.017  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: bM_Notstrom = false
                    2025-11-20 19:50:16.017  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: M_Power = 9000
                    2025-11-20 19:50:16.018  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Set_Power_Value_W = 0
                    2025-11-20 19:50:16.018  - warn: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ProgrammAblauf = 1,6,4,7,10,34, 
                    2025-11-20 19:50:16.064  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ueberschuss = -10642 hystereseWatt = 2000 bRegelungAktiv = false M_Power=9000
                    2025-11-20 19:50:16.360  - error: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.
                    2025-11-20 19:50:18.087  - info: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: ueberschuss = -10669 hystereseWatt = 2000 bRegelungAktiv = false M_Power=9000
                    2025-11-20 19:50:18.496  - error: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.
                    2025-11-20 19:50:20.913  - error: javascript.0 (254) script.js.E3DC_ChargeControl.Charge_Control: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.
                    
                    A Offline
                    A Offline
                    ArnoD
                    schrieb am zuletzt editiert von
                    #3447

                    @psrelax
                    Kommt die Meldung jedes Mal oder nur wenn sich der Batterie SOC ändert?
                    Was steht bei dir in der Objekt ID 0_userdata.0.Charge_Control.Allgemein.arrayHausverbrauchDurchschnitt ?

                    Die Fehlermeldung wird angezeigt, wenn die Objekt ID 0_userdata.0.Charge_Control.Allgemein.arrayHausverbrauchDurchschnitt für den entsprechenden Tag/Zeitintervall keinen Wert liefert, also 0 oder undefined ist und der Fallbackwert aktuelle Batterieentladeleistung auch 0 oder undefined ist, was eine sinnvolle Berechnung der Reichweite unmöglich macht.

                    Hast du das Script einmal angehalten und neu gestartet?

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

                      @ArnoD
                      Ich hab schon das Script neu gestartet, ein neues ChargeControl geladen, E3DC RSCP neu erstellt, die Diskstation nochmal neu gestartet.

                      Das kommt alle paar Sekunden.
                      d55f26d4-42aa-4811-a015-4fe5873ff4c3-image.png

                      Im arrayHausverbrauchDurchschnitt steht:

                      {"Montag":{"night":0,"day":0},"Dienstag":{"night":0,"day":0},"Mittwoch":{"night":0,"day":0},"Donnerstag":{"night":0,"day":0},"Freitag":{"night":0,"day":1883},"Samstag":{"night":0,"day":0},"Sonntag":{"night":0,"day":0}}
                      
                      1 Antwort Letzte Antwort
                      0
                      • M Offline
                        M Offline
                        Modulo-N
                        schrieb am zuletzt editiert von Modulo-N
                        #3449

                        @ArnoD
                        Hallo Arno,
                        ich habe nahezu exakt das gleiche Problem nach einem Neustart meines IOBroker-RaspPi (SD-Karte war abgeraucht :( ). Der oben gezeigte Fehler taucht bei mir alle 5 sec auf und auch das Array sieht fast genauso aus wie bei @psrelax ...
                        Skriptversion ist 1.6.5, Version des RSCP ist 1.4.3 ...

                        2025-11-22 10:48:36.698 - warn: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: ProgrammAblauf = 1,6,4,7,9,18,19,21,34,
                        2025-11-22 10:48:36.797 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: ueberschuss = -5222 hystereseWatt = 2000 bRegelungAktiv = false M_Power=4500
                        2025-11-22 10:48:39.237 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: ueberschuss = -5222 hystereseWatt = 2000 bRegelungAktiv = false M_Power=4500
                        2025-11-22 10:48:40.900 - error: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Verbrauchswert ist 0. Die Reichweite kann nicht berechnet werden.
                        2025-11-22 10:48:42.049 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: ******************* Debug LOG Charge-Control *******************
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 10_Offset_sunriseEnd = 60
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 10_minWertPrognose_kWh = 0
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 10_maxEntladetiefeBatterie = 90
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 10_Systemwirkungsgrad = 92
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 40_minPvLeistungTag_kWh = 3
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 40_maxPvLeistungTag_kWh = 105
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 40_KorrekturFaktor = 10
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: 40_WirkungsgradModule = 21
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bAutomatikAnwahl =true
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bAutomatikRegelung =true
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Einstellungen =2
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Start Regelzeitraum = 08:04
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ende Regelzeitraum= 16:04
                        2025-11-22 10:48:42.050 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ladeende= 15:03
                        2025-11-22 10:48:42.083 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Unload = 100
                        2025-11-22 10:48:42.090 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ladeende = 80
                        2025-11-22 10:48:42.097 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ladeende2 = 100
                        2025-11-22 10:48:42.142 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Ladeschwelle = 50
                        2025-11-22 10:48:42.186 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Unterer Ladekorridor = 150
                        2025-11-22 10:48:42.230 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Offset Regelbeginn = 04:00
                        2025-11-22 10:48:42.274 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Offset Regelende = 04:00
                        2025-11-22 10:48:42.318 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Offset Ladeende = 01:30
                        2025-11-22 10:48:42.362 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom min = 40
                        2025-11-22 10:48:42.406 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom Sockel = 30
                        2025-11-22 10:48:42.407 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Verbrauch für night am Samstag: 671 Wh
                        2025-11-22 10:48:42.407 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Eigenverbrauch Nacht = 671 Wh
                        2025-11-22 10:48:42.455 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Power_Home_W (Hausverbrauch & Wallbox) = 812W
                        2025-11-22 10:48:42.498 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Batterie Leistung = -735 W
                        2025-11-22 10:48:42.543 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: PV Leistung = 74 W
                        2025-11-22 10:48:42.543 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Speichergroesse = 13kWh
                        2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Batterie SoC = 74 %
                        2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom_SOC_Proz= 39 %
                        2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom_SOC_erreicht = false
                        2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bNotstromVerwenden =false
                        2025-11-22 10:48:42.590 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bNotstromAusNetz =false
                        2025-11-22 10:48:42.638 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Notstrom_Status = 2
                        2025-11-22 10:48:42.638 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: bM_Notstrom = false
                        2025-11-22 10:48:42.638 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: M_Power = 4500
                        2025-11-22 10:48:42.638 - info: javascript.0 (194) script.js.E3DC-Control.Charge-Control-1_6_5: Set_Power_Value_W = 0
                        
                        Wert:
                        {"Montag":{"night":0,"day":0},"Dienstag":{"night":0,"day":0},"Mittwoch":{"night":0,"day":0},"Donnerstag":{"night":0,"day":0},"Freitag":{"night":799,"day":0},"Samstag":{"night":671,"day":934},"Sonntag":{"night":0,"day":0}}
                        Typ:
                        string
                        Zeitstempel:
                        a few seconds ago
                        Bestätigt:
                        Befehl (false)
                        Zuletzt geändert:
                        2 minutes ago
                        Qualität:
                        0x00 - good
                        Von:
                        system.adapter.javascript.0
                        Benutzer:
                        system.user.admin
                        Kommentar:
                        script.js.E3DC-Control.Charge-Control-1_6_5
                        

                        Gruß

                        Michael

                        Update: ein erneuter Neustart des RaspPi (IOBroker läuft dort unter Docker) hat den Fehler verschwinden lassen... Warum? Keine Ahnung!

                        Update2: und doch wieder da, allerdings nur noch all 2-3 min (wahrscheinlich bei SOC-Level-Änderung)

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

                          Ich habe hier ein Denkfehler. Die Situation, dass es noch keinen gespeicherten Durchschnittsverbrauch gibt (beim ersten Start vom Skript für die erste Woche) und dass auch keine Entladeleistung vorhanden ist (z.B. weil die Batterie gerade geladen wird) kann natürlich öfter vorkommen. Das darf dann nicht in einem Fehler enden. Ich muss mir, das genauer anschauen, was es für Auswirkungen hätte, wenn dann die Reichweite der Batterie 0 h beträgt. Eventuell nehme ich in so einer Situation einen festen Wert "Basisverbrauch", der in den User_Anpassungen eingetragen werden kann.

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          753

                                          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