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

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

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


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          541

                                          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