Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. JavaScript
    5. E3DC Hauskraftwerk steuern

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    E3DC Hauskraftwerk steuern

    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      ArnoD last edited by

      Ich habe heute versucht, die Wallbox über den e3dc-rscp Adapter zu steuern.
      Das Ergebnis ist, dass es nicht funktioniert und wahrscheinlich auch nie möglich sein wird, außer E3DC ändert noch mal die Schnittstelle.

      Mit e3dc-rscp.0.WB.WB_0.Control.PowerLimitation kann man zwar die Ladeleistung begrenzen, aber ich befürchte das jede Änderung auf die SSD geschrieben wird, um die Einstellung zu sichern.
      Damit hätte man das gleiche Problem wie mit e3dc-rscp.0.EMS.MAX_CHARGE_POWER wo E3DC davon abgeraten hat diesen Wert ständig zu ändern, da es die Lebensdauer der SSD verkürzt.

      Zweites Problem ist, dass man das Laden nicht stoppen kann, wenn es mal gestartet wurde. Wenn man e3dc-rscp.0.WB.WB_0.Control.PowerLimitation auf 0 setzt, wird das ignoriert und eine andere Möglichkeit habe ich nicht gefunden.

      Ich werde somit erstmal beim Modbus Adapter bleiben, was die Wallbox betrifft.

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

        @jans_ios sagte in E3DC Hauskraftwerk steuern:

        @arnod
        Wenn die Wallbox nicht am HKW angemeldet ist und wie bei Dir per Modbus gesteuert wird, dann landet der Wallbox-Verbrauch im Hausverbrauch. Wird die Wallbox vom HKW gesteuert, taucht der Verbrauch nicht im Hausverbrauch auf, sondern wird separat erfasst.

        Ja, da war was 🙂

        @Georg-Hermann
        Da das Script Charge_Control der Master ist, berücksichtige ich die Ladeleistung der Wallbox nicht.
        Das Script E3DC_Wallbox passt die Ladeleistung Wallbox der Einspeiseleistung an, deswegen muss ich das bei Charge_Control nicht berücksichtigen.

        1 Reply Last reply Reply Quote 0
        • J
          jans_ios @ArnoD last edited by

          @arnod
          Hallo Arno!

          Cool, das geht in die richtige Richtung 😉 Der Heizstab selbst regelt gar nichts, der würde jetzt stumpf die übermittelte Wattzahl einsetzen und Warmwasser bereiten - das wiederum erhöht jedoch dann den Hausverbrauch und verringert logischerweise die Einspeisung. Das wiederum kommt zu einem geringeren Wert, der jetzt an den Heizstab übermittelt wird und den Hausverbrauch sinken und die Einspeisung erhöhen würde - dann ginge es wieder hoch mit dem Wert für den Heizstab.

          Irgendwie müsste man also den aktuell bereits am Heizstab anliegenden Wert berücksichtigen, also quasi einen um die Heizleistung des Heizstabs korrigierten Überschuss berechnen, verstehst Du?

          Danke!

          Viele Grüße, Jan

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

            @jans_ios sagte in E3DC Hauskraftwerk steuern:

            Irgendwie müsste man also den aktuell bereits am Heizstab anliegenden Wert berücksichtigen, also quasi einen um die Heizleistung des Heizstabs korrigierten Überschuss berechnen, verstehst Du?

            Müsste so funktionieren, aber nicht getestet:

            const sID_LeistungHeizstab_W = ``                                   // Aktueller Verbrauch Heizstab in W
            const sID_PV_Leistung = 'e3dc-rscp.0.EMS.POWER_PV';                 // PV_Leistung
            const sID_Eigenverbrauch = 'e3dc-rscp.0.EMS.POWER_HOME';            // Hausverbrauch_Leistung
            const sID_Netz_Leistung = 'e3dc-rscp.0.EMS.POWER_GRID';             // Einspeiseleistung            
            const sID_Batterie_Leistung = 'e3dc-rscp.0.EMS.POWER_BAT';	    // Batterie_Leistung
            const sID_Soll_LeistungHeizstab_W = ``                              // Soll Leistung Heizstab an Schnittstelle
            
            on({id: sID_PV_Leistung, change: "ne"}, async function (obj) {
                let BatterieLeistung_W = (await getStateAsync(sID_Batterie_Leistung)).val; 
                let PV_Leistung_W = (await getStateAsync(sID_PV_Leistung)).val;
                let LeistungHeizstab_W = (await getStateAsync(sID_LeistungHeizstab_W)).val;
                let Hausverbrauch_W = (await getStateAsync(sID_Eigenverbrauch)).val 
                let HeizstabLadeleistung_W= 0;
                let NetzLeistung_W = (await getStateAsync(sID_Netz_Leistung)).val;
                Hausverbrauch_W =Hausverbrauch_W - LeistungHeizstab_W; //Hausverbrauch ohne Leistung Heizstab
                    
                // Prüfen ob Werte Netz oder Batterie negativ sind
                if (NetzLeistung_W <= -500 && BatterieLeistung_W <= 0){
                    HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W-NetzLeistung_W);
                }else if (NetzLeistung_W > -500 && BatterieLeistung_W <= 0) {
                    HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W);                 
                }else if (NetzLeistung_W > -500 && BatterieLeistung_W > 0) {
                    HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W);                                    
                }else if (NetzLeistung_W <= -500 && BatterieLeistung_W > 0){
                    HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W-NetzLeistung_W);
                }                  
                // Prüfen ob HeizstabLadeleistung_W > 3000W ist
                if (HeizstabLadeleistung_W > 3000){HeizstabLadeleistung_W = 3000}    
                // Vorgabe Heizleistung an Schnittstelle übermitteln
                await setStateAsync(sID_Soll_LeistungHeizstab_W,HeizstabLadeleistung_W);
            });
            
            1 Reply Last reply Reply Quote 0
            • J
              jans_ios last edited by

              @ArnoD
              Erstmal: Danke Dir mal wieder für den Einsatz. Eine Kiste Bier ging per Paypal an Dich 😉 Dein Ansatz hilft mir sehr weiter, mich auch mal in Richtung JS weiter zu entwickeln!

              Ich habe das Skript minimal um die Höchsttemperatur ergänzt, die am Heizstab über einen Drehregler einzustellen ist und natürlich die Parameter für die Wattzahl ergänzt:

              const sID_LeistungHeizstab_W = 'modbus.2.holdingRegisters.1000_Power'       // Aktueller Verbrauch Heizstab in W
              const sID_PV_Leistung = 'e3dc-rscp.0.EMS.POWER_PV';                         // PV_Leistung
              const sID_Eigenverbrauch = 'e3dc-rscp.0.EMS.POWER_HOME';                    // Hausverbrauch_Leistung
              const sID_Netz_Leistung = 'e3dc-rscp.0.EMS.POWER_GRID';                     // Einspeiseleistung            
              const sID_Batterie_Leistung = 'e3dc-rscp.0.EMS.POWER_BAT';	                // Batterie_Leistung
              const sID_Soll_LeistungHeizstab_W = 'modbus.2.holdingRegisters.1000_Power'  // Soll Leistung Heizstab an Schnittstelle
              const sID_IstTempHeizstab = 'modbus.2.holdingRegisters.1001_Temp1'          // Aktuelle Temperatur am Heizstab
              const sID_MaxTempHeizstab = 'modbus.2.holdingRegisters.1002_WW1_Temp_max'   // Maximal-Temperatur lt. Drehregler am Heizstab, Skript peil 5 Grad weniger an, da Heizstab sonst selbst abregelt und sich Skript und Heizstab streiten
               
              on({id: sID_PV_Leistung, change: "ne"}, async function (obj) {
                  let BatterieLeistung_W = (await getStateAsync(sID_Batterie_Leistung)).val; 
                  let PV_Leistung_W = (await getStateAsync(sID_PV_Leistung)).val;
                  let LeistungHeizstab_W = (await getStateAsync(sID_LeistungHeizstab_W)).val;
                  let Hausverbrauch_W = (await getStateAsync(sID_Eigenverbrauch)).val 
                  let HeizstabLadeleistung_W= 0;
                  let NetzLeistung_W = (await getStateAsync(sID_Netz_Leistung)).val;
                  let MaxTempHeizstab = (await getStateAsync(sID_MaxTempHeizstab)).val;
                  let IstTempHeizstab = (await getStateAsync(sID_IstTempHeizstab)).val;
                  Hausverbrauch_W =Hausverbrauch_W - LeistungHeizstab_W; //Hausverbrauch ohne Leistung Heizstab
                      
                  // Prüfen ob Werte Netz oder Batterie negativ sind
                  if (NetzLeistung_W <= -500 && BatterieLeistung_W <= 0){
                      HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W-NetzLeistung_W);
                  }else if (NetzLeistung_W > -500 && BatterieLeistung_W <= 0) {
                      HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W);                 
                  }else if (NetzLeistung_W > -500 && BatterieLeistung_W > 0) {
                      HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W);                                    
                  }else if (NetzLeistung_W <= -500 && BatterieLeistung_W > 0){
                      HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W-NetzLeistung_W);
                  }                  
                  // Prüfen ob HeizstabLadeleistung_W > 3000W ist
                  if (HeizstabLadeleistung_W > 3000){HeizstabLadeleistung_W = 3000}    
                  // Prüfen ob MaxTempHeizstab - 5 Grad Reserve erreicht sind
                  if (IstTempHeizstab >= MaxTempHeizstab-5){HeizstabLadeleistung_W = 0}
                  // Vorgabe Heizleistung an Schnittstelle übermitteln
                  await setStateAsync(sID_Soll_LeistungHeizstab_W,HeizstabLadeleistung_W);
              });
              
              

              Jedoch führt das jetzt dazu, dass ChargeControl quasi "die Macht" verliert. Den Effekt habe ich auch mit meiner Blockly-Lösung. Der Heizstab bekommt dann ordentlich Strom und die Ladesteuerung von CC wird unterbrochen, sobald der dann noch verfügbare Überschuss unter der geplanten Ladeleistung für das HKW liegt. Sobald das Temp-Limit des Heizstabs erreicht wird und er auf 0 geht, lädt CC den Akku wieder geplant weiter. Der Akku wird nicht priorisiert geladen, anbei das Log dazu:

              28.6.2023, 16:00:45.008	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 3 M_Power:677 = Math.round(((Ladeende2_Proz:95 - Batterie_SOC_Proz:81)* Speichergroesse_kWh:18 * 10 * 3600)/(tSommerladeende_milisek:1687974255963 - Zeit_aktuell_milisek:1687960845001)) ====- "}##
              28.6.2023, 16:00:45.052	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
              28.6.2023, 16:00:48.007	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 3 M_Power:677 = Math.round(((Ladeende2_Proz:95 - Batterie_SOC_Proz:81)* Speichergroesse_kWh:18 * 10 * 3600)/(tSommerladeende_milisek:1687974255963 - Zeit_aktuell_milisek:1687960848000)) ====- "}##
              28.6.2023, 16:00:48.052	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
              28.6.2023, 16:00:51.006	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 3 M_Power:677 = Math.round(((Ladeende2_Proz:95 - Batterie_SOC_Proz:81)* Speichergroesse_kWh:18 * 10 * 3600)/(tSommerladeende_milisek:1687974255963 - Zeit_aktuell_milisek:1687960851001)) ====- "}##
              28.6.2023, 16:00:51.051	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
              28.6.2023, 16:00:54.008	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 3 M_Power:677 = Math.round(((Ladeende2_Proz:95 - Batterie_SOC_Proz:81)* Speichergroesse_kWh:18 * 10 * 3600)/(tSommerladeende_milisek:1687974255963 - Zeit_aktuell_milisek:1687960854001)) ====- "}##
              28.6.2023, 16:00:54.054	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Laderegelung wird gestoppt ====- "}##
              28.6.2023, 16:00:57.007	[info ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":" -==== 3 M_Power:677 = Math.round(((Ladeende2_Proz:95 - Batterie_SOC_Proz:81)* Speichergroesse_kWh:18 * 10 * 3600)/(tSommerladeende_milisek:1687974255963 - Zeit_aktuell_milisek:1687960857000)) ====- "}##
              28.6.2023, 16:00:57.062	[warn ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie laden. Schritt = 3 LadenStoppen = false Set_Power_Mode = 3 laden Set_Power_Value_W = 677 M_Power = 677 ====-"}##
              28.6.2023, 16:01:03.111	[warn ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie laden. Schritt = 3 LadenStoppen = false Set_Power_Mode = 3 laden Set_Power_Value_W = 677 M_Power = 677 ====-"}##
              28.6.2023, 16:01:09.160	[warn ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie laden. Schritt = 3 LadenStoppen = false Set_Power_Mode = 3 laden Set_Power_Value_W = 677 M_Power = 677 ====-"}##
              28.6.2023, 16:01:15.190	[warn ]: javascript.0 (243) script.js.Eigene_Skripte.Energie.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie laden. Schritt = 3 LadenStoppen = false Set_Power_Mode = 3 laden Set_Power_Value_W = 677 M_Power = 677 ====-"}##
              

              Hast Du da eine Idee, wie man die Prio klar auf den Akku legen kann? Ich möchte ja wirklich ausschließlich das, was ich sonst einspeisen würde, in den Heizstab jagen...

              Danke!

              Gruß, Jan

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

                @arnod

                @arnod sagte in E3DC Hauskraftwerk steuern:

                Ich habe heute versucht, die Wallbox über den e3dc-rscp Adapter zu steuern.
                Das Ergebnis ist, dass es nicht funktioniert und wahrscheinlich auch nie möglich sein wird, außer E3DC ändert noch mal die Schnittstelle.

                Mit e3dc-rscp.0.WB.WB_0.Control.PowerLimitation kann man zwar die Ladeleistung begrenzen, aber ich befürchte das jede Änderung auf die SSD geschrieben wird, um die Einstellung zu sichern.
                Damit hätte man das gleiche Problem wie mit e3dc-rscp.0.EMS.MAX_CHARGE_POWER wo E3DC davon abgeraten hat diesen Wert ständig zu ändern, da es die Lebensdauer der SSD verkürzt.

                Zweites Problem ist, dass man das Laden nicht stoppen kann, wenn es mal gestartet wurde. Wenn man e3dc-rscp.0.WB.WB_0.Control.PowerLimitation auf 0 setzt, wird das ignoriert und eine andere Möglichkeit habe ich nicht gefunden.

                Ich werde somit erstmal beim Modbus Adapter bleiben, was die Wallbox betrifft.

                Über den Datenpunkt "e3dc-rscp.0.WB.WB_0.Control.ToggleChargingType2" kann man umschalten zwischen Laden und nicht-Laden. Einmal auf YES umstellen ändert den Zustand von Laden auf Entladen oder andersherum, das geht.

                Das mit dem Schreiben auf die SSD kann ich nicht beurteilen - wo könnte man die Info herbekommen?

                Danke!

                Gruß, Jan

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

                  @jans_ios

                  Danke für die Feierabend-Halbe oder bayrisch Feierabend-Hoibe 😉
                  Die einfachste Möglichkeit ist, immer wenn die Batterie entladen wird, also BatterieLeistung_W <= 0, die berechnete LeistungHeizstab_W um 3000W zu reduzieren.
                  Dann wird im Grenzbereich, wo die PV-Leistung gerade noch für den Heizstab reichen würde, die Leistung für die Batterie reserviert.

                  Das würde dann so aussehen:

                  const sID_LeistungHeizstab_W = 'modbus.2.holdingRegisters.1000_Power'       // Aktueller Verbrauch Heizstab in W
                  const sID_PV_Leistung = 'e3dc-rscp.0.EMS.POWER_PV';                         // PV_Leistung
                  const sID_Eigenverbrauch = 'e3dc-rscp.0.EMS.POWER_HOME';                    // Hausverbrauch_Leistung
                  const sID_Netz_Leistung = 'e3dc-rscp.0.EMS.POWER_GRID';                     // Einspeiseleistung            
                  const sID_Batterie_Leistung = 'e3dc-rscp.0.EMS.POWER_BAT';	                // Batterie_Leistung
                  const sID_Soll_LeistungHeizstab_W = 'modbus.2.holdingRegisters.1000_Power'  // Soll Leistung Heizstab an Schnittstelle
                  const sID_IstTempHeizstab = 'modbus.2.holdingRegisters.1001_Temp1'          // Aktuelle Temperatur am Heizstab
                  const sID_MaxTempHeizstab = 'modbus.2.holdingRegisters.1002_WW1_Temp_max'   // Maximal-Temperatur lt. Drehregler am Heizstab, Skript peil 5 Grad weniger an, da Heizstab sonst selbst abregelt und sich Skript und Heizstab streiten
                  
                  on({id: sID_PV_Leistung, change: "ne"}, async function (obj) {
                      let BatterieLeistung_W = (await getStateAsync(sID_Batterie_Leistung)).val; 
                      let PV_Leistung_W = (await getStateAsync(sID_PV_Leistung)).val;
                      let LeistungHeizstab_W = (await getStateAsync(sID_LeistungHeizstab_W)).val;
                      let Hausverbrauch_W = (await getStateAsync(sID_Eigenverbrauch)).val 
                      let HeizstabLadeleistung_W= 0;
                      let NetzLeistung_W = (await getStateAsync(sID_Netz_Leistung)).val;
                      let MaxTempHeizstab = (await getStateAsync(sID_MaxTempHeizstab)).val;
                      let IstTempHeizstab = (await getStateAsync(sID_IstTempHeizstab)).val;
                      Hausverbrauch_W =Hausverbrauch_W - LeistungHeizstab_W; //Hausverbrauch ohne Leistung Heizstab
                  
                      // Prüfen ob Werte Netz oder Batterie negativ sind
                      if (NetzLeistung_W <= -500 && BatterieLeistung_W <= 0){
                          HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W-NetzLeistung_W) - 3000;
                      }else if (NetzLeistung_W > -500 && BatterieLeistung_W <= 0) {
                          HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W+BatterieLeistung_W) - 3000;                 
                      }else if (NetzLeistung_W > -500 && BatterieLeistung_W > 0) {
                          HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W);                                    
                      }else if (NetzLeistung_W <= -500 && BatterieLeistung_W > 0){
                          HeizstabLadeleistung_W = (PV_Leistung_W-Hausverbrauch_W-BatterieLeistung_W-NetzLeistung_W);
                      }                  
                      // Prüfen ob HeizstabLadeleistung_W > 3000W ist
                      if (HeizstabLadeleistung_W > 3000){HeizstabLadeleistung_W = 3000}    
                      // Prüfen ob MaxTempHeizstab - 5 Grad Reserve erreicht sind
                      if (IstTempHeizstab >= MaxTempHeizstab-5){HeizstabLadeleistung_W = 0}
                      // Vorgabe Heizleistung an Schnittstelle übermitteln
                      await setStateAsync(sID_Soll_LeistungHeizstab_W,HeizstabLadeleistung_W);
                  });
                  
                  
                  
                  1 Reply Last reply Reply Quote 0
                  • A
                    ArnoD @jans_ios last edited by

                    @jans_ios sagte in E3DC Hauskraftwerk steuern:

                    Das mit dem Schreiben auf die SSD kann ich nicht beurteilen - wo könnte man die Info herbekommen?

                    Mit Sicherheit von E3DC.
                    Bin mir aber ziemlich sicher, dass es so ist, denn sonst würde beim Ausschalten der eingestellte Wert verloren gehen.

                    J 1 Reply Last reply Reply Quote 0
                    • J
                      jans_ios @ArnoD last edited by

                      @arnod
                      Tatsächlich wird sich das Schalten auf YES nicht gemerkt - der Wert ist sofort wieder NO. Das ist wie das Drücken eines Tasters, nicht wie das Schalten eines klassischen Schalters.

                      Danke für die Skripterei, das sehe ich mir morgen näher an!

                      Gruß, Jan

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

                        @jans_ios sagte in E3DC Hauskraftwerk steuern:

                        @arnod
                        Tatsächlich wird sich das Schalten auf YES nicht gemerkt - der Wert ist sofort wieder NO. Das ist wie das Drücken eines Tasters, nicht wie das Schalten eines klassischen Schalters.

                        Meinte auch 'e3dc-rscp.0.WB.WB_0.Control.PowerLimitation' der Wert wird bei E3DC auf SSD gespeichert.
                        Da er eigentlich dafür gedacht ist, die Ladeleistung zu begrenzen und nicht ständig zu regeln.

                        1 Reply Last reply Reply Quote 0
                        • Georg Hermann
                          Georg Hermann @ArnoD last edited by

                          @arnod @jans_ios
                          Hm, das verhalten ist hier nach dem Update des HKWs anders. Mit laufendem CC wird in der Zeit zwischen erreichen der Ladeschwelle und Regelbeginn der Akku nicht zur Unterstützung (z.B. Haltezeit) dazu geschaltet/freigegeben.
                          Die WB ist wg. RFID/Abrechnung natürlich am HKW angemeldet und wird nicht per Modbus gesteuert.

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

                            @georg-hermann
                            Kannst du mal bitte prüfen, ob deine Ladeleistung der WB unter e3dc-rscp.0.EMS.POWER_WB_ALLnoch richtig angezeigt wird.
                            Habe das Update immer noch nicht, um das zu testen.

                            Georg Hermann 1 Reply Last reply Reply Quote 0
                            • Timmerx
                              Timmerx last edited by Timmerx

                              Hi,

                              an meiner E3DC S10 (3000W Lade/-Entladeleistung) war der Ladewechselrichter defekt.
                              Da dieser wohl nicht mehr hergestellt wird hat mir der freundliche Servicemitarbeiter einen Ladewechselrichter von einem Pro Gerät mit einer Leistung von 4500W (hat er mir so gesagt, was das Foto auch bestätigt) eingebaut.

                              Ich hab natürlich sofort versucht mithilfe von den Werten MAX_CHARGE_POWER und MAX_DISCHARGE_POWER die 4500W einzustellen leider erfolglos.

                              Bei Return Code hieß es dann "Value out of Range -1".

                              f6443a0a-e2a3-441d-93ec-7d5693dd7730-image.png

                              e893294d-c769-4711-b4cf-35c15a130d81-image.png

                              5808bd09-3dae-4dce-b4e2-c7054bea776f-image.png

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

                                @timmerx
                                Warum soll deine Batterie auf einmal mehr Lade/Entladeleistung schaffen?
                                Da wurde doch nichts geändert.
                                Der Wechselrichter mag mehr können, aber deine Batterie nicht.

                                1 Reply Last reply Reply Quote 0
                                • Georg Hermann
                                  Georg Hermann @ArnoD last edited by

                                  @arnod
                                  Klar, mache ich, wenn ich aus dem Urlaub zurück bin…

                                  1 Reply Last reply Reply Quote 0
                                  • jh537
                                    jh537 last edited by

                                    Hallo, leider heute morgen starkes Takten der Regelung: Habe dann den E3DC-Adapter neu gestartet und dann lief es wieder-habe leider nur den kleinen Log-Auszug, aber man sieht da eine sonst nicht zu sehende Meldung:

                                    javascript.0
                                    2023-07-05 08:36:12.006 warn script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538972001- ZeitE3DC_SetPowerAlt_ms = 1688538966001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    

                                    72201497-a8aa-4a18-9674-8a7269a61f15-image.png

                                    444e662e-ec10-4850-bbc0-170d9e75142c-image.png

                                    javascript.0
                                    	2023-07-05 08:37:06.013	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:37:00.030	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:54.013	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:48.015	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:42.014	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:36.013	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:30.014	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:24.013	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:18.055	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 1 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:18.045	info	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":" -==== Vor Regelbeginn ====- "}##
                                    javascript.0
                                    	2023-07-05 08:36:18.003	warn	script.js.common.Charge_Control: Ladesteuerung: Notstrom_SOC_erreicht= false NotstromVerwenden= false Batterie_SOC_Proz= 69 Notstrom_SOC_Proz= 5
                                    javascript.0
                                    	2023-07-05 08:36:15.007	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538975001- ZeitE3DC_SetPowerAlt_ms = 1688538972001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:36:12.009	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:12.006	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538972001- ZeitE3DC_SetPowerAlt_ms = 1688538966001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:36:09.005	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538969000- ZeitE3DC_SetPowerAlt_ms = 1688538966001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:36:06.007	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:06.004	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538966001- ZeitE3DC_SetPowerAlt_ms = 1688538960000 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:36:03.007	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538963001- ZeitE3DC_SetPowerAlt_ms = 1688538960000 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:36:00.058	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:36:00.055	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538960000- ZeitE3DC_SetPowerAlt_ms = 1688538954001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:57.007	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538957001- ZeitE3DC_SetPowerAlt_ms = 1688538954001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:54.032	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:35:54.006	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538954001- ZeitE3DC_SetPowerAlt_ms = 1688538948000 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:51.006	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538951001- ZeitE3DC_SetPowerAlt_ms = 1688538948000 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:48.005	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:35:48.002	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538948000- ZeitE3DC_SetPowerAlt_ms = 1688538942000 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:45.007	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538945001- ZeitE3DC_SetPowerAlt_ms = 1688538942000 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:42.005	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:35:42.002	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538942000- ZeitE3DC_SetPowerAlt_ms = 1688538936001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:39.007	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538939001- ZeitE3DC_SetPowerAlt_ms = 1688538936001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:36.009	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:35:36.005	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538936001- ZeitE3DC_SetPowerAlt_ms = 1688538930001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:33.009	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538933002- ZeitE3DC_SetPowerAlt_ms = 1688538930001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:30.011	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:35:30.006	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538930001- ZeitE3DC_SetPowerAlt_ms = 1688538924002 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:27.006	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538927000- ZeitE3DC_SetPowerAlt_ms = 1688538924002 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:24.013	warn	script.js.common.Charge_Control: ##{"from":"Charge-Control", "message":"-==== Batterie entladen stoppen (0 W). Schritt = 0 LadenStoppen = true SET_POWER_MODE = 1 idle ====-"}##
                                    javascript.0
                                    	2023-07-05 08:35:24.008	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538924002- ZeitE3DC_SetPowerAlt_ms = 1688538918002 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    javascript.0
                                    	2023-07-05 08:35:21.007	warn	script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538921000- ZeitE3DC_SetPowerAlt_ms = 1688538918002 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true
                                    
                                    A 1 Reply Last reply Reply Quote 0
                                    • jh537
                                      jh537 last edited by

                                      Wenn ich das richtig beobachte: Unterer Ladekorridor bspw. 500W, Wenn erreicht lädt die Regelung. Wenn die Kapa schneller steigt als berechnet bricht das Laden ab, da die Ladeleistung wieder unter den Korridor fällt. Kann man das nicht besser machen? Habe aber auch grad keine Idee... Festgestellt zb. heute beim Profil 4

                                      c61e6068-5e17-45f1-9382-14d7733f5aac-image.png
                                      7930aa6d-c1d5-42d3-bf96-0738f73bb124-image.png

                                      log 5.7.23

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

                                        @jh537 sagte in E3DC Hauskraftwerk steuern:

                                                                                                                                                                    javascript.0                                                                                                                                                                            2023-07-05 08:36:12.006 warn script.js.common.Charge_Control: Ladesteuerung:-=== Entladen der Batterie stoppen ===-dAkt.getTime() =1688538972001- ZeitE3DC_SetPowerAlt_ms = 1688538966001 M_Power_alt= 0 NotstromVerwenden= false Notstrom_SOC_erreicht= true                                            
                                        

                                        Diese Meldung kommt wenn der Notstrom SOC erreicht wurde und dann das entladen der Batterie verhindert wird.
                                        Das pulsen sollte eigentlich nicht mehr vorkommen.
                                        Kannst du mal testen wie weit dein Batterie SOC schwankt wenn das entladen gestoppt wird. Hatte bei mir das Problem, das dann der Batterie SOC um 1 % wieder ansteigt und dann vom Script das entladen wieder freigegeben wurde.
                                        Daraufhin habe ich das im Script geändert so das der Batterie SOC um min. 2% ansteigen muss, bevor das entladen freigegeben wird.

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

                                          @arnod Eigentlich schwankt sie nur 1 % mehr habe ich noch nicht gesehen-ich will die Bat heute mal vollmachen, habe das Gefühl, dass sie das mal braucht.

                                          1 Reply Last reply Reply Quote 0
                                          • G
                                            goelectric last edited by

                                            Ich habe seit einiger Zeit eine Warnmeldung mit der ich nicht viel anfangen kann!
                                            Fehler.png
                                            Hat jemand ähnliche Hinweise oder kann mir jemand einen Tipp geben was die Ursache ist?
                                            Ich weiss Warnungen sind nicht unbedingt Fehler, aber die Log-Dateien füllen sich trotzdem.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            991
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3276
                                            1133594
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo