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

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

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

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

    @da_hood sagte in E3DC Hauskraftwerk steuern:

    Hast du einen Link zu dem Heizstab Script?

    https://github.com/ArnoD15/iobroker_E3DC

    D Offline
    D Offline
    DA_HOOD
    schrieb am zuletzt editiert von
    #3168

    @arnod

    Achsoo, das ist da mit drin bei dir …. Ja da kann ich lange wo anders suchen 😂…
    Sorry und Danke!

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

      @ArnoD
      Das Script funktioniert bisher einwandfrei. :-)

      Ich würde gerne auch einmal manuell die Speicherladung anstoßen, schaffe es manchmal mit der Veränderung der Konfiguration aber nicht.

      Ist es möglich einen Haken (Batterie manuell laden) einzubauen, der mir die Möglichkeit gibt, unabhängig vom Preis einfach zu laden?
      Aktuell ist es ja so, dass der Haken "Batterie laden ein" automatisch wieder vom Script zurück gestellt wird, außer ich beende das Script komplett.
      Danke dir schonmal.

      A 1 Antwort Letzte Antwort
      0
      • P psrelax

        @ArnoD
        Das Script funktioniert bisher einwandfrei. :-)

        Ich würde gerne auch einmal manuell die Speicherladung anstoßen, schaffe es manchmal mit der Veränderung der Konfiguration aber nicht.

        Ist es möglich einen Haken (Batterie manuell laden) einzubauen, der mir die Möglichkeit gibt, unabhängig vom Preis einfach zu laden?
        Aktuell ist es ja so, dass der Haken "Batterie laden ein" automatisch wieder vom Script zurück gestellt wird, außer ich beende das Script komplett.
        Danke dir schonmal.

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

        @psrelax
        Möglich ist alles :-)
        Ich schaue mir das mal an.

        Nachtrag:
        Ich kann dir eine neue Objekt ID anlegen "Tibber_manuell" oder so ähnlich und damit die Funktion tibberSteuerungHauskraftwerk() nicht mehr aufrufen.
        Das würde aber bedeuten, dass vom Skript nichts mehr gesteuert wird und du verantwortlich bist die Ladefreigabe zu setzen und wieder zu entfernen, wenn nicht mehr geladen werden soll.
        Wenn dir das reicht, kann ich es schnell umsetzen.

        P 1 Antwort Letzte Antwort
        0
        • A ArnoD

          @psrelax
          Möglich ist alles :-)
          Ich schaue mir das mal an.

          Nachtrag:
          Ich kann dir eine neue Objekt ID anlegen "Tibber_manuell" oder so ähnlich und damit die Funktion tibberSteuerungHauskraftwerk() nicht mehr aufrufen.
          Das würde aber bedeuten, dass vom Skript nichts mehr gesteuert wird und du verantwortlich bist die Ladefreigabe zu setzen und wieder zu entfernen, wenn nicht mehr geladen werden soll.
          Wenn dir das reicht, kann ich es schnell umsetzen.

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

          @arnod
          Ich denke das müsste passen. :-)

          Nachtrag:
          Ich will nochmal kurz auf den Grund meiner Anfrage eingehen.
          Ich hatte es jetzt schon 2 mal, dass am Stromnetz in der nähe gearbeitet wurde und das Haus vom Strom getrennt wurde (angekündigt). Darum würde ich gerne vorher den Speicher voll laden, um die Zeit auch bei wenig PV-Ertrag überbrücken zu können.

          1 Antwort Letzte Antwort
          0
          • A ArnoD

            @da_hood sagte in E3DC Hauskraftwerk steuern:

            Hast du einen Link zu dem Heizstab Script?

            https://github.com/ArnoD15/iobroker_E3DC

            D Offline
            D Offline
            DA_HOOD
            schrieb am zuletzt editiert von
            #3172

            @arnod

            Ich bin jetzt immer noch verwirrt, das Script für den Heizstab hast aber schon du geschrieben oder?

            Ich habe da leider viele Fehler:

            javascript.0 18:43:45.243 error script.js.common.Heizstab: State Wallbox_Leistung is null or undefined
            javascript.0 18:43:45.244 error script.js.common.Heizstab: State LeistungHeizstab is null or undefined
            javascript.0 18:43:45.244 error script.js.common.Heizstab: State IstTempHeizstab is null or undefined
            javascript.0 18:43:45.244 error script.js.common.Heizstab: State MaxTempHeizstab is null or undefined
            javascript.0 18:43:45.244 error script.js.common.Heizstab: State SollLeistungHeizstab is null or undefined
            javascript.0 18:43:45.244 error script.js.common.Heizstab: State LeistungWP is null or undefined
            javascript.0 18:43:45.244 error script.js.common.Heizstab: Fehler bei der Aktualisierung der Heizstab-Leistung:
            javascript.0 18:43:45.244 error script.js.common.Heizstab: Error: One or more states are null or undefined at fetchAndUpdateHeizstabLeistung (script.js.common.Heizstab:82:19) at runNextTicks (node:internal/process/task_queues:65:5) at processImmediate (node:internal/timers:479:9)
            Modbus.jpg

            Ich komme nicht drauf wo der Fehler liegt. Der Adapter ist modbus1 wie im Script ja hinterlegt, und die Werte sind eigentlich da ...

            A 1 Antwort Letzte Antwort
            0
            • D DA_HOOD

              @arnod

              Ich bin jetzt immer noch verwirrt, das Script für den Heizstab hast aber schon du geschrieben oder?

              Ich habe da leider viele Fehler:

              javascript.0 18:43:45.243 error script.js.common.Heizstab: State Wallbox_Leistung is null or undefined
              javascript.0 18:43:45.244 error script.js.common.Heizstab: State LeistungHeizstab is null or undefined
              javascript.0 18:43:45.244 error script.js.common.Heizstab: State IstTempHeizstab is null or undefined
              javascript.0 18:43:45.244 error script.js.common.Heizstab: State MaxTempHeizstab is null or undefined
              javascript.0 18:43:45.244 error script.js.common.Heizstab: State SollLeistungHeizstab is null or undefined
              javascript.0 18:43:45.244 error script.js.common.Heizstab: State LeistungWP is null or undefined
              javascript.0 18:43:45.244 error script.js.common.Heizstab: Fehler bei der Aktualisierung der Heizstab-Leistung:
              javascript.0 18:43:45.244 error script.js.common.Heizstab: Error: One or more states are null or undefined at fetchAndUpdateHeizstabLeistung (script.js.common.Heizstab:82:19) at runNextTicks (node:internal/process/task_queues:65:5) at processImmediate (node:internal/timers:479:9)
              Modbus.jpg

              Ich komme nicht drauf wo der Fehler liegt. Der Adapter ist modbus1 wie im Script ja hinterlegt, und die Werte sind eigentlich da ...

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

              @da_hood

              Das Script ist nicht von mir, ich habe es aber angepasst, wenn Fehler aufgezeigt wurden.

              Deine Fehlermeldungen kommen einfach daher, dass du die ganzen Pfade im Script nicht an dein System angepasst hast.
              In dem Script musst du die Anpassungen direkt im Script machen.
              Also nicht nur "modbus.1" sondern auch den Rest vom Pfad prüfen.
              const sID_LeistungHeizstab_W = ${instanzHeizstab_Modbus}.holdingRegisters.1000_Power; // Current power consumption of heating element in W

              müsste bei dir so aussehen:
              const sID_LeistungHeizstab_W = ${instanzHeizstab_Modbus}.holdingRegisters.1.1000_Power; // Current power consumption of heating element in W

              Da fehlt z.B ".1" im Pfad.

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

                Neue Version Charge-Control auf GitHub hochgeladen.
                Version: 1.5.16
                Änderungen:

                • (Issues #17) Die Objekt ID 0_userdata.0.Charge_Control.Allgemein.Autonomiezeit wurde aufgeteilt in Autonomiezeit und AutonomiezeitDurchschnitt und dafür eine neue Objekt ID 0_userdata.0.Charge_Control.Allgemein.AutonomiezeitDurchschnitt angelegt.

                Bitte erst nach dem Update vom e3dc-rscp Adapter auf Version 1.4.1 verwenden.

                In VIS muss die View "E3DC_Uebersicht" angepasst werden, wenn man wie bis jetzt beide Werte angezeigt haben will. Auf Github gibt es dafür die Importdatei iobroker_VIS_View_E3DC_Uebersicht.js

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

                  Tibber Skript,
                  Version: 1.3.16 auf Github hochgeladen.

                  Änderungen:

                  • Neue Objekt ID 0_userdata.0.TibberSkript.USER_ANPASSUNGEN.ScriptAktiv um das Script in VIS zu stoppen und wieder zu aktivieren. Damit ist es möglich manuell die Batterie zu laden, ohne dass vom Script die Anwahl "BatterieLaden" wieder geändert wird.
                  1 Antwort Letzte Antwort
                  1
                  • A ArnoD

                    @da_hood

                    Das Script ist nicht von mir, ich habe es aber angepasst, wenn Fehler aufgezeigt wurden.

                    Deine Fehlermeldungen kommen einfach daher, dass du die ganzen Pfade im Script nicht an dein System angepasst hast.
                    In dem Script musst du die Anpassungen direkt im Script machen.
                    Also nicht nur "modbus.1" sondern auch den Rest vom Pfad prüfen.
                    const sID_LeistungHeizstab_W = ${instanzHeizstab_Modbus}.holdingRegisters.1000_Power; // Current power consumption of heating element in W

                    müsste bei dir so aussehen:
                    const sID_LeistungHeizstab_W = ${instanzHeizstab_Modbus}.holdingRegisters.1.1000_Power; // Current power consumption of heating element in W

                    Da fehlt z.B ".1" im Pfad.

                    D Offline
                    D Offline
                    DA_HOOD
                    schrieb am zuletzt editiert von DA_HOOD
                    #3176

                    @arnod said in E3DC Hauskraftwerk steuern:

                    @da_hood

                    Das Script ist nicht von mir, ich habe es aber angepasst, wenn Fehler aufgezeigt wurden.

                    Deine Fehlermeldungen kommen einfach daher, dass du die ganzen Pfade im Script nicht an dein System angepasst hast.
                    In dem Script musst du die Anpassungen direkt im Script machen.
                    Also nicht nur "modbus.1" sondern auch den Rest vom Pfad prüfen.
                    const sID_LeistungHeizstab_W = ${instanzHeizstab_Modbus}.holdingRegisters.1000_Power; // Current power consumption of heating element in W

                    müsste bei dir so aussehen:
                    const sID_LeistungHeizstab_W = ${instanzHeizstab_Modbus}.holdingRegisters.1.1000_Power; // Current power consumption of heating element in W

                    Da fehlt z.B ".1" im Pfad.

                    Vielen Dank, das wusste ich nicht bin davon ausgegangen dass es passt weil ja weiter oben bereits modbus1 definiert wurde. Leider geht es aber immer noch nicht wegen der Wallbox. Ich habe keine Wallbox und er will da unbedingt einen Wert. Leer lassen geht nicht. Ein "Fake" Objekt mit Wert "0" funktioniert auch nicht. Und mir ist aufgefallen dass Charge Control bei aktuell berechneter Ladeleistung immer über 12000 Watt meldet obwohl der Akku bereits voll ist. Das wird auch zu Fehlberechnungen führen da dies ja mitgerechnet wird?

                    Was kann ich da machen?

                    const sID_Wallbox_Leistung = modbus.1.inputRegisters.120_Leistung_aktuell; // Wallbox power

                    @arnod said in E3DC Hauskraftwerk steuern:

                    Neue Version Charge-Control auf GitHub hochgeladen.
                    Version: 1.5.16
                    Änderungen:

                    • (Issues #17) Die Objekt ID 0_userdata.0.Charge_Control.Allgemein.Autonomiezeit wurde aufgeteilt in Autonomiezeit und AutonomiezeitDurchschnitt und dafür eine neue Objekt ID 0_userdata.0.Charge_Control.Allgemein.AutonomiezeitDurchschnitt angelegt.

                    Bitte erst nach dem Update vom e3dc-rscp Adapter auf Version 1.4.1 verwenden.

                    In VIS muss die View "E3DC_Uebersicht" angepasst werden, wenn man wie bis jetzt beide Werte angezeigt haben will. Auf Github gibt es dafür die Importdatei iobroker_VIS_View_E3DC_Uebersicht.js

                    Mega, danke dir fürs umsetzen!! :)

                    A 1 Antwort Letzte Antwort
                    0
                    • A ArnoD

                      Neue Version Charge-Control auf GitHub hochgeladen.
                      Version: 1.5.16
                      Änderungen:

                      • (Issues #17) Die Objekt ID 0_userdata.0.Charge_Control.Allgemein.Autonomiezeit wurde aufgeteilt in Autonomiezeit und AutonomiezeitDurchschnitt und dafür eine neue Objekt ID 0_userdata.0.Charge_Control.Allgemein.AutonomiezeitDurchschnitt angelegt.

                      Bitte erst nach dem Update vom e3dc-rscp Adapter auf Version 1.4.1 verwenden.

                      In VIS muss die View "E3DC_Uebersicht" angepasst werden, wenn man wie bis jetzt beide Werte angezeigt haben will. Auf Github gibt es dafür die Importdatei iobroker_VIS_View_E3DC_Uebersicht.js

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

                      @arnod sagte in E3DC Hauskraftwerk steuern:

                      Danke fürs schnelle umsetzen :-)

                      iobroker_VIS_View_E3DC_Uebersicht.js

                      Ist aber nicht aktuell vorhanden.

                      Noch eine Bitte habe ich.
                      Kannst du bitte z.B. den Programmablauf als "Info" ausgeben, damit in den Logs nicht immer "Fehler" gekennzeichnet werden?

                      Nachtrag:
                      Ich habe das Script jetzt einmal getestet. Funktioniert soweit einwandfrei. :+1:
                      Kann es sein, dass die maximale Ladeleistung, die man einstellen kann mittlerweile generell ignoriert wird?
                      Auch wenn ich die Script Steuerung an lasse und kurz die Ladung starte (hält ja ca. 1 Minute), startet die Ladung immer mit voller Leistung.

                      A 3 Antworten Letzte Antwort
                      0
                      • D DA_HOOD

                        @arnod said in E3DC Hauskraftwerk steuern:

                        @da_hood

                        Das Script ist nicht von mir, ich habe es aber angepasst, wenn Fehler aufgezeigt wurden.

                        Deine Fehlermeldungen kommen einfach daher, dass du die ganzen Pfade im Script nicht an dein System angepasst hast.
                        In dem Script musst du die Anpassungen direkt im Script machen.
                        Also nicht nur "modbus.1" sondern auch den Rest vom Pfad prüfen.
                        const sID_LeistungHeizstab_W = ${instanzHeizstab_Modbus}.holdingRegisters.1000_Power; // Current power consumption of heating element in W

                        müsste bei dir so aussehen:
                        const sID_LeistungHeizstab_W = ${instanzHeizstab_Modbus}.holdingRegisters.1.1000_Power; // Current power consumption of heating element in W

                        Da fehlt z.B ".1" im Pfad.

                        Vielen Dank, das wusste ich nicht bin davon ausgegangen dass es passt weil ja weiter oben bereits modbus1 definiert wurde. Leider geht es aber immer noch nicht wegen der Wallbox. Ich habe keine Wallbox und er will da unbedingt einen Wert. Leer lassen geht nicht. Ein "Fake" Objekt mit Wert "0" funktioniert auch nicht. Und mir ist aufgefallen dass Charge Control bei aktuell berechneter Ladeleistung immer über 12000 Watt meldet obwohl der Akku bereits voll ist. Das wird auch zu Fehlberechnungen führen da dies ja mitgerechnet wird?

                        Was kann ich da machen?

                        const sID_Wallbox_Leistung = modbus.1.inputRegisters.120_Leistung_aktuell; // Wallbox power

                        @arnod said in E3DC Hauskraftwerk steuern:

                        Neue Version Charge-Control auf GitHub hochgeladen.
                        Version: 1.5.16
                        Änderungen:

                        • (Issues #17) Die Objekt ID 0_userdata.0.Charge_Control.Allgemein.Autonomiezeit wurde aufgeteilt in Autonomiezeit und AutonomiezeitDurchschnitt und dafür eine neue Objekt ID 0_userdata.0.Charge_Control.Allgemein.AutonomiezeitDurchschnitt angelegt.

                        Bitte erst nach dem Update vom e3dc-rscp Adapter auf Version 1.4.1 verwenden.

                        In VIS muss die View "E3DC_Uebersicht" angepasst werden, wenn man wie bis jetzt beide Werte angezeigt haben will. Auf Github gibt es dafür die Importdatei iobroker_VIS_View_E3DC_Uebersicht.js

                        Mega, danke dir fürs umsetzen!! :)

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

                        @da_hood
                        Da musst du das Script an deine Bedürfnisse anpassen :-)

                        Hier mal ohne Wallbox:

                        // Script my-pv Heizstab Version 1.0.2 
                        // defintion which instances has to be used 
                        const instanzE3DC_RSCP       = 'e3dc-rscp.0' 
                        const instanzHeizstab_Modbus = 'modbus.1'
                        
                        // E3DC Komponenten Definition 
                        const sID_PV_Leistung       = `${instanzE3DC_RSCP}.EMS.POWER_PV`; // PV power
                        const sID_Netz_Leistung     = `${instanzE3DC_RSCP}.EMS.POWER_GRID`; // Grid power
                        const sID_Batterie_Leistung = `${instanzE3DC_RSCP}.EMS.POWER_BAT`; // Battery power
                        const sID_Power_Mode        = `${instanzE3DC_RSCP}.EMS.MODE`; // Power mode state
                        const sID_Batterie_Status   = `${instanzE3DC_RSCP}.EMS.BAT_SOC`; // Battery status state
                        const sID_Bat_Charge_Limit  = `${instanzE3DC_RSCP}.EMS.SYS_SPECS.maxBatChargePower`;// Batterie Ladelimit
                        
                        // selbst definierte Variablen
                        const sID_Eigenverbrauch    = '0_userdata.0.Charge_Control.Allgemein.Hausverbrauch'; 					// Household consumption power
                        const sID_M_Power_W         = '0_userdata.0.Charge_Control.Allgemein.Akt_Berechnete_Ladeleistung_W'; 	// Calculated required charging power
                        const sID_LeistungLW_Pumpe_W = 'modbus.2.holdingRegisters.40104_Leistung_aller_WP';                     // Pfad zu den Leistungswerte Wärmepumpe eintragen ansonsten leer lassen
                        
                        // Heistab Modbus Variablen 
                        const sID_LeistungHeizstab_W        = `${instanzHeizstab_Modbus}.holdingRegisters.1000_Power`; // Current power consumption of heating element in W
                        const sID_Soll_LeistungHeizstab_W   = `${instanzHeizstab_Modbus}.holdingRegisters.1000_Power`; // Target heating element power
                        const sID_IstTempHeizstab           = `${instanzHeizstab_Modbus}.holdingRegisters.1001_Temp1`; // Current temperature at the heating element
                        const sID_MaxTempHeizstab           = `${instanzHeizstab_Modbus}.holdingRegisters.1002_WW1_Temp_max`; // Maximum temperature
                        
                        // Heistab states manuell zu erstellen für Statistikwerte
                        const sID_previousHeizstabLeistung_W    = '0_userdata.0.Heizung.E3DC.previousHeizstabLeistung'; // Previous heating element load power
                        const sID_Heizstab_Gesamtenergie        = '0_userdata.0.Heizung.E3DC.Heizstab_Gesamtenergie'; // Cumulative energy
                        const sID_Heizstab_LetzteAktualisierung = '0_userdata.0.Heizung.E3DC.Heizstab_LetzteAktualisierung'; // Last update
                        
                        // Defintion von Heizstabparametern und Sicherheitsmechanismen
                        const debounceInterval          = 3000; // Minimum interval between updates in milliseconds
                        const temperatureBuffer         = 3;    // Buffer in degrees Celsius to prevent frequent on/off cycling
                        const minimumHeizstabLeistung   = 300;  // Minimum power for heating element
                        const sicherheitspuffer         = 300;  // Safety buffer to avoid frequent switching
                        const MaximalLeistungHeizstab_W = 3000; // Maximum power in watt of the heating element
                        
                        let debounceTimer;
                        
                        async function fetchAndUpdateHeizstabLeistung() {
                            try {
                                // Zustände abfragen
                                const states = await Promise.all([
                                    getStateAsync(sID_Netz_Leistung),
                                    getStateAsync(sID_LeistungHeizstab_W),
                                    getStateAsync(sID_Eigenverbrauch),
                                    getStateAsync(sID_M_Power_W),
                                    getStateAsync(sID_Batterie_Leistung),
                                    getStateAsync(sID_IstTempHeizstab),
                                    getStateAsync(sID_MaxTempHeizstab),
                                    getStateAsync(sID_PV_Leistung),
                                    getStateAsync(sID_Soll_LeistungHeizstab_W),
                                    getStateAsync(sID_Power_Mode),
                                    getStateAsync(sID_Batterie_Status),
                                    getStateAsync(sID_Bat_Charge_Limit),
                        			sID_LeistungLW_Pumpe_W ? getStateAsync(sID_LeistungLW_Pumpe_W) : Promise.resolve({ val: 0 })
                                ]);
                        
                                const [
                                    Netz_Leistung, LeistungHeizstab, Eigenverbrauch, M_Power, Batterie_Leistung,
                                    IstTempHeizstab, MaxTempHeizstab, PV_Leistung, SollLeistungHeizstab, 
                                    Power_Mode, Batterie_Status, Bat_Charge_Limit, LeistungWP
                                ] = states;
                        
                                // Ensure all states are fetched correctly
                                const stateNames = [
                                    'Netz_Leistung', 'LeistungHeizstab', 'Eigenverbrauch', 'M_Power', 'Batterie_Leistung',
                                    'IstTempHeizstab', 'MaxTempHeizstab', 'PV_Leistung', 'SollLeistungHeizstab',
                                    'Power_Mode', 'Batterie_Status', 'Bat_Charge_Limit', 'LeistungWP'
                                ];
                        
                                stateNames.forEach((name, index) => {
                                    if (states[index] === null || states[index] === undefined) {
                                        console.error(`State ${name} is null or undefined`);
                                    }
                                });
                        
                                if (states.some(state => state === null || state === undefined)) {
                                    throw new Error('One or more states are null or undefined');
                                }
                        
                                // Werte extrahieren
                                let [
                                    NetzLeistung_W, LeistungHeizstab_W, Hausverbrauch_W, M_Power_W, BatterieLeistung_W,
                                    IstTemp, MaxTemp, PV_Leistung_W, SollLeistungHeizstab_W, 
                                    PowerMode, BatterieStatus, Charge_Limit, LeistungWP_W
                                ] = states.map(state => state.val);
                        
                                console.log(`Zustände abgefragt: Netz=${NetzLeistung_W}W, PV=${PV_Leistung_W}W, Hausverbrauch=${Hausverbrauch_W}W, LeistungHeizstab=${LeistungHeizstab_W}W, Batterie=${BatterieLeistung_W}W, IstTemp=${IstTemp}°C, MaxTemp=${MaxTemp}°C, SollLeistungHeizstab=${SollLeistungHeizstab_W}W, PowerMode=${PowerMode}, BatterieStatus=${BatterieStatus}, Charge_Limit=${Charge_Limit}, M_Power_W=${M_Power_W}W, LeistungWP = ${LeistungWP}W`);
                        
                                // Bedingungen prüfen
                                if (PowerMode === 2) {
                                    if (Charge_Limit === M_Power_W && NetzLeistung_W < -Math.abs(minimumHeizstabLeistung + 500)) {
                                        M_Power_W = BatterieLeistung_W;
                                    }
                                } else {
                                    M_Power_W = 0;
                                }
                        
                                // Verfügbaren Überschuss berechnen
                                let verfuegbarerUeberschuss_W = PV_Leistung_W - Hausverbrauch_W - M_Power_W- LeistungWP_W - sicherheitspuffer; // Verfügbarer Überschuss unter Berücksichtigung von PV-Leistung, Hausverbrauch, Wärmepumpe, Soll-Ladeleistung und Sicherheitspuffer
                                verfuegbarerUeberschuss_W = Math.max(verfuegbarerUeberschuss_W, 0); // Stellen Sie sicher, dass der Wert nicht negativ wird
                        
                                if (M_Power_W !== 0) {
                                    verfuegbarerUeberschuss_W -= sicherheitspuffer;
                                }
                        
                                // Heizstab-Leistung bestimmen
                                let HeizstabLadeleistung_W = 0;
                                if (IstTemp < MaxTemp - temperatureBuffer && verfuegbarerUeberschuss_W >= minimumHeizstabLeistung) { // Stellen Sie sicher, dass die Temperaturbedingung mit Puffer erfüllt ist und die Mindestleistung verfügbar ist
                                    HeizstabLadeleistung_W = Math.min(verfuegbarerUeberschuss_W, MaximalLeistungHeizstab_W); // Begrenzen Sie auf 3000W oder verfügbare Energie
                                } else {
                                    HeizstabLadeleistung_W = 0; // Heizstab ausschalten, wenn die Bedingungen nicht erfüllt sind
                                }
                                await setStateAsync(sID_Soll_LeistungHeizstab_W, HeizstabLadeleistung_W);
                        
                                // Aktualisiere den vorherigen Wert der Heizstabladeleistung
                                await setStateAsync(sID_previousHeizstabLeistung_W, HeizstabLadeleistung_W);
                        
                                // Kumulierte Energieberechnung, Aktualisierung und Logging
                                const jetzt = Date.now();
                                const letzteAktualisierung = await getStateAsync(sID_Heizstab_LetzteAktualisierung);
                                const vergangeneZeitInStunden = (jetzt - (letzteAktualisierung.val || 0)) / (1000 * 60 * 60);
                                const verbrauchteEnergie = (LeistungHeizstab_W * vergangeneZeitInStunden) / 1000; // In kWh umrechnen
                                const aktuelleGesamtenergie = (await getStateAsync(sID_Heizstab_Gesamtenergie)).val || 0;
                                const neueGesamtenergie = aktuelleGesamtenergie + verbrauchteEnergie;
                        
                                await setStateAsync(sID_Heizstab_Gesamtenergie, neueGesamtenergie);
                                await setStateAsync(sID_Heizstab_LetzteAktualisierung, jetzt);
                        
                                console.log(`Update: Netz=${NetzLeistung_W}W, PV=${PV_Leistung_W}W, Heizstab=${HeizstabLadeleistung_W}W, Überschuss=${verfuegbarerUeberschuss_W}W`);
                            } catch (error) {
                                // @ts-ignore
                                console.error('Fehler bei der Aktualisierung der Heizstab-Leistung:', error.message);
                                console.error(error.stack);
                            }
                        }
                        
                        function debounceUpdate() {
                            if (debounceTimer) return;
                            fetchAndUpdateHeizstabLeistung();
                            debounceTimer = setTimeout(() => {
                                debounceTimer = null;
                            }, debounceInterval);
                        }
                        
                        // Register listeners for relevant state changes
                        const ids = [
                            sID_PV_Leistung,
                            sID_Netz_Leistung,
                            sID_Eigenverbrauch,
                            sID_Batterie_Leistung,
                            sID_LeistungHeizstab_W,
                            sID_M_Power_W,
                            sID_Power_Mode,
                            sID_Batterie_Status
                        ];
                        
                        ids.forEach(id => {
                            on({ id, change: "ne" }, debounceUpdate);
                            console.log(`Listener registered for ${id}`);
                        });
                        
                        // Initial call
                        fetchAndUpdateHeizstabLeistung();
                        
                        D 1 Antwort Letzte Antwort
                        0
                        • A Offline
                          A Offline
                          ArnoD
                          schrieb am zuletzt editiert von
                          #3179

                          @da_hood sagte in E3DC Hauskraftwerk steuern:

                          Und mir ist aufgefallen dass Charge Control bei aktuell berechneter Ladeleistung immer über 12000 Watt meldet obwohl der Akku bereits voll ist. Das wird auch zu Fehlberechnungen führen da dies ja mitgerechnet wird?

                          Das Spielt keine Rolle, da dieser Wert nur verwendet wird, wenn e3dc-rscp.0.EMS.MODE = 2 ist.

                          1 Antwort Letzte Antwort
                          0
                          • P psrelax

                            @arnod sagte in E3DC Hauskraftwerk steuern:

                            Danke fürs schnelle umsetzen :-)

                            iobroker_VIS_View_E3DC_Uebersicht.js

                            Ist aber nicht aktuell vorhanden.

                            Noch eine Bitte habe ich.
                            Kannst du bitte z.B. den Programmablauf als "Info" ausgeben, damit in den Logs nicht immer "Fehler" gekennzeichnet werden?

                            Nachtrag:
                            Ich habe das Script jetzt einmal getestet. Funktioniert soweit einwandfrei. :+1:
                            Kann es sein, dass die maximale Ladeleistung, die man einstellen kann mittlerweile generell ignoriert wird?
                            Auch wenn ich die Script Steuerung an lasse und kurz die Ladung starte (hält ja ca. 1 Minute), startet die Ladung immer mit voller Leistung.

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

                            @psrelax sagte in E3DC Hauskraftwerk steuern:

                            Ist aber nicht aktuell vorhanden.

                            Die ist bereits etwas älter, weil ich die View schon zum Testen mal geändert hatte.

                            Kannst du bitte z.B. den Programmablauf als "Info" ausgeben, damit in den Logs nicht immer "Fehler" gekennzeichnet werden?

                            Fehler wäre ja error und nicht warn. Aber das kann ich jetzt generell deaktivieren, war nur zum Fehlersuchen wichtig.

                            Kann es sein, dass die maximale Ladeleistung, die man einstellen kann mittlerweile generell ignoriert wird?
                            Auch wenn ich die Script Steuerung an lasse und kurz die Ladung starte (hält ja ca. 1 Minute), startet die Ladung immer mit voller Leistung.

                            Sollte nicht sein. Ist es auch in der aktuellen Version von Charge-Control der Fall?
                            Muss ich mir bei Gelegenheit mal ansehen.

                            Nachtrag:
                            Habe es bei mir getestet und konnte dein Problem nicht nachstellen. Bei mir wird die Eingestellte max. Ladeleistung berücksichtigt.

                            P 1 Antwort Letzte Antwort
                            1
                            • P psrelax

                              @arnod sagte in E3DC Hauskraftwerk steuern:

                              Danke fürs schnelle umsetzen :-)

                              iobroker_VIS_View_E3DC_Uebersicht.js

                              Ist aber nicht aktuell vorhanden.

                              Noch eine Bitte habe ich.
                              Kannst du bitte z.B. den Programmablauf als "Info" ausgeben, damit in den Logs nicht immer "Fehler" gekennzeichnet werden?

                              Nachtrag:
                              Ich habe das Script jetzt einmal getestet. Funktioniert soweit einwandfrei. :+1:
                              Kann es sein, dass die maximale Ladeleistung, die man einstellen kann mittlerweile generell ignoriert wird?
                              Auch wenn ich die Script Steuerung an lasse und kurz die Ladung starte (hält ja ca. 1 Minute), startet die Ladung immer mit voller Leistung.

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

                              1 Antwort Letzte Antwort
                              0
                              • P psrelax

                                @arnod sagte in E3DC Hauskraftwerk steuern:

                                Danke fürs schnelle umsetzen :-)

                                iobroker_VIS_View_E3DC_Uebersicht.js

                                Ist aber nicht aktuell vorhanden.

                                Noch eine Bitte habe ich.
                                Kannst du bitte z.B. den Programmablauf als "Info" ausgeben, damit in den Logs nicht immer "Fehler" gekennzeichnet werden?

                                Nachtrag:
                                Ich habe das Script jetzt einmal getestet. Funktioniert soweit einwandfrei. :+1:
                                Kann es sein, dass die maximale Ladeleistung, die man einstellen kann mittlerweile generell ignoriert wird?
                                Auch wenn ich die Script Steuerung an lasse und kurz die Ladung starte (hält ja ca. 1 Minute), startet die Ladung immer mit voller Leistung.

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

                                Doppelter Eintrag

                                1 Antwort Letzte Antwort
                                0
                                • A ArnoD

                                  @da_hood
                                  Da musst du das Script an deine Bedürfnisse anpassen :-)

                                  Hier mal ohne Wallbox:

                                  // Script my-pv Heizstab Version 1.0.2 
                                  // defintion which instances has to be used 
                                  const instanzE3DC_RSCP       = 'e3dc-rscp.0' 
                                  const instanzHeizstab_Modbus = 'modbus.1'
                                  
                                  // E3DC Komponenten Definition 
                                  const sID_PV_Leistung       = `${instanzE3DC_RSCP}.EMS.POWER_PV`; // PV power
                                  const sID_Netz_Leistung     = `${instanzE3DC_RSCP}.EMS.POWER_GRID`; // Grid power
                                  const sID_Batterie_Leistung = `${instanzE3DC_RSCP}.EMS.POWER_BAT`; // Battery power
                                  const sID_Power_Mode        = `${instanzE3DC_RSCP}.EMS.MODE`; // Power mode state
                                  const sID_Batterie_Status   = `${instanzE3DC_RSCP}.EMS.BAT_SOC`; // Battery status state
                                  const sID_Bat_Charge_Limit  = `${instanzE3DC_RSCP}.EMS.SYS_SPECS.maxBatChargePower`;// Batterie Ladelimit
                                  
                                  // selbst definierte Variablen
                                  const sID_Eigenverbrauch    = '0_userdata.0.Charge_Control.Allgemein.Hausverbrauch'; 					// Household consumption power
                                  const sID_M_Power_W         = '0_userdata.0.Charge_Control.Allgemein.Akt_Berechnete_Ladeleistung_W'; 	// Calculated required charging power
                                  const sID_LeistungLW_Pumpe_W = 'modbus.2.holdingRegisters.40104_Leistung_aller_WP';                     // Pfad zu den Leistungswerte Wärmepumpe eintragen ansonsten leer lassen
                                  
                                  // Heistab Modbus Variablen 
                                  const sID_LeistungHeizstab_W        = `${instanzHeizstab_Modbus}.holdingRegisters.1000_Power`; // Current power consumption of heating element in W
                                  const sID_Soll_LeistungHeizstab_W   = `${instanzHeizstab_Modbus}.holdingRegisters.1000_Power`; // Target heating element power
                                  const sID_IstTempHeizstab           = `${instanzHeizstab_Modbus}.holdingRegisters.1001_Temp1`; // Current temperature at the heating element
                                  const sID_MaxTempHeizstab           = `${instanzHeizstab_Modbus}.holdingRegisters.1002_WW1_Temp_max`; // Maximum temperature
                                  
                                  // Heistab states manuell zu erstellen für Statistikwerte
                                  const sID_previousHeizstabLeistung_W    = '0_userdata.0.Heizung.E3DC.previousHeizstabLeistung'; // Previous heating element load power
                                  const sID_Heizstab_Gesamtenergie        = '0_userdata.0.Heizung.E3DC.Heizstab_Gesamtenergie'; // Cumulative energy
                                  const sID_Heizstab_LetzteAktualisierung = '0_userdata.0.Heizung.E3DC.Heizstab_LetzteAktualisierung'; // Last update
                                  
                                  // Defintion von Heizstabparametern und Sicherheitsmechanismen
                                  const debounceInterval          = 3000; // Minimum interval between updates in milliseconds
                                  const temperatureBuffer         = 3;    // Buffer in degrees Celsius to prevent frequent on/off cycling
                                  const minimumHeizstabLeistung   = 300;  // Minimum power for heating element
                                  const sicherheitspuffer         = 300;  // Safety buffer to avoid frequent switching
                                  const MaximalLeistungHeizstab_W = 3000; // Maximum power in watt of the heating element
                                  
                                  let debounceTimer;
                                  
                                  async function fetchAndUpdateHeizstabLeistung() {
                                      try {
                                          // Zustände abfragen
                                          const states = await Promise.all([
                                              getStateAsync(sID_Netz_Leistung),
                                              getStateAsync(sID_LeistungHeizstab_W),
                                              getStateAsync(sID_Eigenverbrauch),
                                              getStateAsync(sID_M_Power_W),
                                              getStateAsync(sID_Batterie_Leistung),
                                              getStateAsync(sID_IstTempHeizstab),
                                              getStateAsync(sID_MaxTempHeizstab),
                                              getStateAsync(sID_PV_Leistung),
                                              getStateAsync(sID_Soll_LeistungHeizstab_W),
                                              getStateAsync(sID_Power_Mode),
                                              getStateAsync(sID_Batterie_Status),
                                              getStateAsync(sID_Bat_Charge_Limit),
                                  			sID_LeistungLW_Pumpe_W ? getStateAsync(sID_LeistungLW_Pumpe_W) : Promise.resolve({ val: 0 })
                                          ]);
                                  
                                          const [
                                              Netz_Leistung, LeistungHeizstab, Eigenverbrauch, M_Power, Batterie_Leistung,
                                              IstTempHeizstab, MaxTempHeizstab, PV_Leistung, SollLeistungHeizstab, 
                                              Power_Mode, Batterie_Status, Bat_Charge_Limit, LeistungWP
                                          ] = states;
                                  
                                          // Ensure all states are fetched correctly
                                          const stateNames = [
                                              'Netz_Leistung', 'LeistungHeizstab', 'Eigenverbrauch', 'M_Power', 'Batterie_Leistung',
                                              'IstTempHeizstab', 'MaxTempHeizstab', 'PV_Leistung', 'SollLeistungHeizstab',
                                              'Power_Mode', 'Batterie_Status', 'Bat_Charge_Limit', 'LeistungWP'
                                          ];
                                  
                                          stateNames.forEach((name, index) => {
                                              if (states[index] === null || states[index] === undefined) {
                                                  console.error(`State ${name} is null or undefined`);
                                              }
                                          });
                                  
                                          if (states.some(state => state === null || state === undefined)) {
                                              throw new Error('One or more states are null or undefined');
                                          }
                                  
                                          // Werte extrahieren
                                          let [
                                              NetzLeistung_W, LeistungHeizstab_W, Hausverbrauch_W, M_Power_W, BatterieLeistung_W,
                                              IstTemp, MaxTemp, PV_Leistung_W, SollLeistungHeizstab_W, 
                                              PowerMode, BatterieStatus, Charge_Limit, LeistungWP_W
                                          ] = states.map(state => state.val);
                                  
                                          console.log(`Zustände abgefragt: Netz=${NetzLeistung_W}W, PV=${PV_Leistung_W}W, Hausverbrauch=${Hausverbrauch_W}W, LeistungHeizstab=${LeistungHeizstab_W}W, Batterie=${BatterieLeistung_W}W, IstTemp=${IstTemp}°C, MaxTemp=${MaxTemp}°C, SollLeistungHeizstab=${SollLeistungHeizstab_W}W, PowerMode=${PowerMode}, BatterieStatus=${BatterieStatus}, Charge_Limit=${Charge_Limit}, M_Power_W=${M_Power_W}W, LeistungWP = ${LeistungWP}W`);
                                  
                                          // Bedingungen prüfen
                                          if (PowerMode === 2) {
                                              if (Charge_Limit === M_Power_W && NetzLeistung_W < -Math.abs(minimumHeizstabLeistung + 500)) {
                                                  M_Power_W = BatterieLeistung_W;
                                              }
                                          } else {
                                              M_Power_W = 0;
                                          }
                                  
                                          // Verfügbaren Überschuss berechnen
                                          let verfuegbarerUeberschuss_W = PV_Leistung_W - Hausverbrauch_W - M_Power_W- LeistungWP_W - sicherheitspuffer; // Verfügbarer Überschuss unter Berücksichtigung von PV-Leistung, Hausverbrauch, Wärmepumpe, Soll-Ladeleistung und Sicherheitspuffer
                                          verfuegbarerUeberschuss_W = Math.max(verfuegbarerUeberschuss_W, 0); // Stellen Sie sicher, dass der Wert nicht negativ wird
                                  
                                          if (M_Power_W !== 0) {
                                              verfuegbarerUeberschuss_W -= sicherheitspuffer;
                                          }
                                  
                                          // Heizstab-Leistung bestimmen
                                          let HeizstabLadeleistung_W = 0;
                                          if (IstTemp < MaxTemp - temperatureBuffer && verfuegbarerUeberschuss_W >= minimumHeizstabLeistung) { // Stellen Sie sicher, dass die Temperaturbedingung mit Puffer erfüllt ist und die Mindestleistung verfügbar ist
                                              HeizstabLadeleistung_W = Math.min(verfuegbarerUeberschuss_W, MaximalLeistungHeizstab_W); // Begrenzen Sie auf 3000W oder verfügbare Energie
                                          } else {
                                              HeizstabLadeleistung_W = 0; // Heizstab ausschalten, wenn die Bedingungen nicht erfüllt sind
                                          }
                                          await setStateAsync(sID_Soll_LeistungHeizstab_W, HeizstabLadeleistung_W);
                                  
                                          // Aktualisiere den vorherigen Wert der Heizstabladeleistung
                                          await setStateAsync(sID_previousHeizstabLeistung_W, HeizstabLadeleistung_W);
                                  
                                          // Kumulierte Energieberechnung, Aktualisierung und Logging
                                          const jetzt = Date.now();
                                          const letzteAktualisierung = await getStateAsync(sID_Heizstab_LetzteAktualisierung);
                                          const vergangeneZeitInStunden = (jetzt - (letzteAktualisierung.val || 0)) / (1000 * 60 * 60);
                                          const verbrauchteEnergie = (LeistungHeizstab_W * vergangeneZeitInStunden) / 1000; // In kWh umrechnen
                                          const aktuelleGesamtenergie = (await getStateAsync(sID_Heizstab_Gesamtenergie)).val || 0;
                                          const neueGesamtenergie = aktuelleGesamtenergie + verbrauchteEnergie;
                                  
                                          await setStateAsync(sID_Heizstab_Gesamtenergie, neueGesamtenergie);
                                          await setStateAsync(sID_Heizstab_LetzteAktualisierung, jetzt);
                                  
                                          console.log(`Update: Netz=${NetzLeistung_W}W, PV=${PV_Leistung_W}W, Heizstab=${HeizstabLadeleistung_W}W, Überschuss=${verfuegbarerUeberschuss_W}W`);
                                      } catch (error) {
                                          // @ts-ignore
                                          console.error('Fehler bei der Aktualisierung der Heizstab-Leistung:', error.message);
                                          console.error(error.stack);
                                      }
                                  }
                                  
                                  function debounceUpdate() {
                                      if (debounceTimer) return;
                                      fetchAndUpdateHeizstabLeistung();
                                      debounceTimer = setTimeout(() => {
                                          debounceTimer = null;
                                      }, debounceInterval);
                                  }
                                  
                                  // Register listeners for relevant state changes
                                  const ids = [
                                      sID_PV_Leistung,
                                      sID_Netz_Leistung,
                                      sID_Eigenverbrauch,
                                      sID_Batterie_Leistung,
                                      sID_LeistungHeizstab_W,
                                      sID_M_Power_W,
                                      sID_Power_Mode,
                                      sID_Batterie_Status
                                  ];
                                  
                                  ids.forEach(id => {
                                      on({ id, change: "ne" }, debounceUpdate);
                                      console.log(`Listener registered for ${id}`);
                                  });
                                  
                                  // Initial call
                                  fetchAndUpdateHeizstabLeistung();
                                  
                                  D Offline
                                  D Offline
                                  DA_HOOD
                                  schrieb am zuletzt editiert von DA_HOOD
                                  #3183

                                  @arnod said in E3DC Hauskraftwerk steuern:

                                  Da musst du das Script an deine Bedürfnisse anpassen

                                  Das hätte ich im nächsten Schritt versucht, aber ob ich das so hinbekommen hätte... :D

                                  Vielen Dank für deine Hilfe bisher, ist echt geil von dir...

                                  Nun sieht es so aus aktuell:

                                  javascript.0 12:11:35.801 info script.js.common.Heizstab: Zustände abgefragt: Netz=-14695W, PV=18635W, Hausverbrauch=0W, LeistungHeizstab=0W, Batterie=990W, IstTemp=84.6°C, MaxTemp=85°C, SollLeistungHeizstab=0W, PowerMode=2, BatterieStatus=66, Charge_Limit=12480, M_Power_W=1002W, LeistungWP = [object Object]W
                                  influxdb.0 12:11:35.803 silly States user redis pmessage */modbus.1.holdingRegisters.1.1000_Power:{"val":0,"ack":false,"ts":1743675095801,"q":0,"c":"script.js.common.Heizstab","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1743675001621}
                                  javascript.0 12:11:35.804 warn at fetchAndUpdateHeizstabLeistung (script.js.common.Heizstab:118:15)
                                  javascript.0 12:11:35.805 error script.js.common.Heizstab: Fehler bei der Aktualisierung der Heizstab-Leistung:
                                  javascript.0 12:11:35.805 error script.js.common.Heizstab: undefined

                                  Dass er derzeit nicht heizt ist ok, ist ja schon warm. Aber wie du siehst meldet Charge Control den Hausverbrauch nicht. Da steht leider immer "0". Ich könnte jetzt natürlich hier das Modbus Objekt nehmen, aber darüber läuft ja auch die Leistung des Heizstabes dann, wird also von der Berechnung nicht klappen oder? Woher ziehst du dir den Punkt Hausverbauch ohne Heizstab und Wärmepumpe? Da wäre ja Theoretisch ein zusätzlicher Leistungsmesser notwendig.
                                  Oder soll ich via Blockly den gesamten Hausverbrauch nehmen und die Heizstab Leistung wegrechnen lassen?
                                  Die Frage ist aber warum funktioniert dieses Objekt in Charge Control nicht? Ich hab es auch schon mal gelöscht dass es neu angelegt wird - ändert leider nichts.
                                  Und warum meldet JavaScript den error bei der Aktualisierung der Heizstableistung? Tatsächlich aktualisiert er den Wert schon, bringt aber den Fehler dennoch.

                                  Vielen Dank dir, für deine tolle Hilfe!

                                  Edit:
                                  Ich hab den Hausverbrauch jetzt zum testen mal via Blockly berechnet also Modbus Hausverbrauch abzüglich Heizstab power.
                                  Funktionieren tut das ganze ... naaajja.. ich verstehe z.B. nicht warum er über 2000 Watt ins Netz haut anstatt in den Heizstab. Denn Sicherheitspuffer habe ich auf 300 belasssen.

                                  Aussehen tut das so:
                                  javascript.0 16:47:47.091 info script.js.common.Heizstab: Zustände abgefragt: Netz=-2672W, PV=8525W, Hausverbrauch=2548W, LeistungHeizstab=1562W, Batterie=1743W, IstTemp=82.5°C, MaxTemp=85°C, SollLeistungHeizstab=1562W, PowerMode=2, BatterieStatus=96, Charge_Limit=12480, M_Power_W=1792W, LeistungWP = [object Object]W

                                  Er meldet also selbst ein Haufen Netzeinspeisung, regelt die Heizstab Leistung nicht hoch. Ich konnte auch kein "Schema" erkennen. manchmal ist es soviel wie jetzt, manchmal nur 1000 Watt. Dass er sich an die 300 Watt Puffer annähert passiert aber gar nicht.

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

                                    @da_hood sagte in E3DC Hauskraftwerk steuern:

                                    Aber wie du siehst meldet Charge Control den Hausverbrauch nicht.

                                    Welche Version von Charge Control hast du?
                                    Existiert bei dir die Objekt-ID 0_userdata.0.Charge_Control.Allgemein.Hausverbrauch und hat diese auch den Wert 0 ?
                                    Hast du im Script Charge Control auch den Pfad zu deinem Heizstab eingetragen?

                                    const sID_LeistungHeizstab_W = ``;                                                                      // Pfad zu den Leistungswerte Heizstab eintragen ansonsten leer lassen
                                    
                                    D 1 Antwort Letzte Antwort
                                    0
                                    • A ArnoD

                                      @psrelax sagte in E3DC Hauskraftwerk steuern:

                                      Ist aber nicht aktuell vorhanden.

                                      Die ist bereits etwas älter, weil ich die View schon zum Testen mal geändert hatte.

                                      Kannst du bitte z.B. den Programmablauf als "Info" ausgeben, damit in den Logs nicht immer "Fehler" gekennzeichnet werden?

                                      Fehler wäre ja error und nicht warn. Aber das kann ich jetzt generell deaktivieren, war nur zum Fehlersuchen wichtig.

                                      Kann es sein, dass die maximale Ladeleistung, die man einstellen kann mittlerweile generell ignoriert wird?
                                      Auch wenn ich die Script Steuerung an lasse und kurz die Ladung starte (hält ja ca. 1 Minute), startet die Ladung immer mit voller Leistung.

                                      Sollte nicht sein. Ist es auch in der aktuellen Version von Charge-Control der Fall?
                                      Muss ich mir bei Gelegenheit mal ansehen.

                                      Nachtrag:
                                      Habe es bei mir getestet und konnte dein Problem nicht nachstellen. Bei mir wird die Eingestellte max. Ladeleistung berücksichtigt.

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

                                      @arnod sagte in E3DC Hauskraftwerk steuern:

                                      Nachtrag:
                                      Habe es bei mir getestet und konnte dein Problem nicht nachstellen. Bei mir wird die Eingestellte max. Ladeleistung berücksichtigt.

                                      Ich habe es gerade noch einmal getestet
                                      Test 1
                                      ScriptAktiv ist aus -> BatterieLaden ist ein -> maxLadeleistung steht auf ca. 450W -> Lädt mit ca. 8600W den Speicher

                                      Test 2
                                      ScriptAktiv ist ein-> BatterieLaden ist ein (nur kurz bevor es wieder inaktiv ist) -> maxLadeleistung steht auf ca. 450W -> Lädt mit ca. 8600W den Speicher

                                      Hier noch die Log von Test 1

                                      2025-04-03 22:15:38.112 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript Version 1.3.16 *******************
                                      2025-04-03 22:15:40.689 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal maxLadeleistung wurde in 447 geändert ====-
                                      2025-04-03 22:15:40.689 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Tibber: -==== User Parameter maxLadeleistung wurde in 447 geändert ====-
                                      2025-04-03 22:15:40.872 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Tibber: ************************************************************************************
                                      
                                      
                                      2025-04-03 22:24:20.944 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Tibber: -==== User Parameter ScriptAktiv wurde in false geändert ====-
                                      2025-04-03 22:24:21.735 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieLaden wurde in true geändert ====-
                                      2025-04-03 22:24:21.735 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieLaden wurde in true geändert ====-
                                      2025-04-03 22:24:21.735 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieLaden wurde in true geändert ====-
                                      2025-04-03 22:24:21.735 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieLaden wurde in true geändert ====-
                                      2025-04-03 22:24:27.134 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: ******************* Debug LOG Charge-Control *******************
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 10_Offset_sunriseEnd = 1
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 10_minWertPrognose_kWh = 0
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 10_maxEntladetiefeBatterie = 90
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 10_Systemwirkungsgrad = 88
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 40_minPvLeistungTag_kWh = 3
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 40_maxPvLeistungTag_kWh = 100
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 40_KorrekturFaktor = -5
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 40_WirkungsgradModule = 19
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikAnwahl =true
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikRegelung =true
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Einstellungen =2
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Start Regelzeitraum = 07:20
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ende Regelzeitraum= 13:20
                                      2025-04-03 22:24:27.135 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ladeende= 15:49
                                      2025-04-03 22:24:27.185 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Unload = 100
                                      2025-04-03 22:24:27.191 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ladeende = 80
                                      2025-04-03 22:24:27.197 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ladeende2 = 98
                                      2025-04-03 22:24:27.206 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ladeschwelle = 70
                                      2025-04-03 22:24:27.218 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Unterer Ladekorridor = 0
                                      2025-04-03 22:24:27.228 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelbeginn = 06:00
                                      2025-04-03 22:24:27.245 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelende = 00:00
                                      2025-04-03 22:24:27.262 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Offset Ladeende = 04:00
                                      2025-04-03 22:24:27.275 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom min = 0
                                      2025-04-03 22:24:27.296 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom Sockel = 0
                                      2025-04-03 22:24:27.297 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Verbrauch für night am Donnerstag: 979 Wh
                                      2025-04-03 22:24:27.297 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Eigenverbrauch Nacht = 979 Wh
                                      2025-04-03 22:24:27.425 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Power_Home_W (Hausverbrauch & Wallbox) = 7357W
                                      2025-04-03 22:24:27.447 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Batterie Leistung = -2082 W
                                      2025-04-03 22:24:27.452 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: PV Leistung = 0 W
                                      2025-04-03 22:24:27.452 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Speichergroesse = 15kWh
                                      2025-04-03 22:24:27.504 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Batterie SoC = 66 %
                                      2025-04-03 22:24:27.504 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_Proz= 0 %
                                      2025-04-03 22:24:27.504 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_erreicht = false
                                      2025-04-03 22:24:27.504 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bNotstromVerwenden =false
                                      2025-04-03 22:24:27.504 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bNotstromAusNetz =false
                                      2025-04-03 22:24:27.546 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_Status = 2
                                      2025-04-03 22:24:27.547 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bM_Notstrom = false
                                      2025-04-03 22:24:27.547 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: M_Power = 9000
                                      2025-04-03 22:24:27.547 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Set_Power_Value_W = 0
                                      2025-04-03 22:24:27.547 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: ProgrammAblauf = 1,36,
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: ******************* Debug LOG Charge-Control *******************
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 10_Offset_sunriseEnd = 1
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 10_minWertPrognose_kWh = 0
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 10_maxEntladetiefeBatterie = 90
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 10_Systemwirkungsgrad = 88
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 40_minPvLeistungTag_kWh = 3
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 40_maxPvLeistungTag_kWh = 100
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 40_KorrekturFaktor = -5
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: 40_WirkungsgradModule = 19
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikAnwahl =true
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bAutomatikRegelung =true
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Einstellungen =2
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Start Regelzeitraum = 07:20
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ende Regelzeitraum= 13:20
                                      2025-04-03 22:24:36.044 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ladeende= 15:49
                                      2025-04-03 22:24:36.087 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Unload = 100
                                      2025-04-03 22:24:36.089 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ladeende = 80
                                      2025-04-03 22:24:36.091 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ladeende2 = 98
                                      2025-04-03 22:24:36.092 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Ladeschwelle = 70
                                      2025-04-03 22:24:36.093 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Unterer Ladekorridor = 0
                                      2025-04-03 22:24:36.095 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelbeginn = 06:00
                                      2025-04-03 22:24:36.096 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Offset Regelende = 00:00
                                      2025-04-03 22:24:36.097 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Offset Ladeende = 04:00
                                      2025-04-03 22:24:36.099 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom min = 0
                                      2025-04-03 22:24:36.100 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom Sockel = 0
                                      2025-04-03 22:24:36.101 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Verbrauch für night am Donnerstag: 979 Wh
                                      2025-04-03 22:24:36.101 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Eigenverbrauch Nacht = 979 Wh
                                      2025-04-03 22:24:36.143 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Power_Home_W (Hausverbrauch & Wallbox) = 3552W
                                      2025-04-03 22:24:36.144 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Batterie Leistung = 8670 W
                                      2025-04-03 22:24:36.146 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: PV Leistung = 0 W
                                      2025-04-03 22:24:36.147 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Speichergroesse = 15kWh
                                      2025-04-03 22:24:36.187 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Batterie SoC = 66 %
                                      2025-04-03 22:24:36.188 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_Proz= 0 %
                                      2025-04-03 22:24:36.188 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_SOC_erreicht = false
                                      2025-04-03 22:24:36.188 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bNotstromVerwenden =false
                                      2025-04-03 22:24:36.188 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bNotstromAusNetz =false
                                      2025-04-03 22:24:36.229 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Notstrom_Status = 2
                                      2025-04-03 22:24:36.230 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: bM_Notstrom = false
                                      2025-04-03 22:24:36.230 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: M_Power = 9000
                                      2025-04-03 22:24:36.230 - info: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: Set_Power_Value_W = 0
                                      2025-04-03 22:24:36.230 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: ProgrammAblauf = 1,36,
                                      2025-04-03 22:24:38.576 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Tibber: -==== User Parameter ScriptAktiv wurde in true geändert ====-
                                      2025-04-03 22:24:38.718 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieLaden wurde in false geändert ====-
                                      2025-04-03 22:24:38.718 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieLaden wurde in false geändert ====-
                                      2025-04-03 22:24:38.718 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieLaden wurde in false geändert ====-
                                      2025-04-03 22:24:38.719 - warn: javascript.0 (399) script.js.E3DC_ChargeControl.Charge_Control: -==== Tibber output signal BatterieLaden wurde in false geändert ====-
                                      
                                      
                                      1 Antwort Letzte Antwort
                                      0
                                      • A ArnoD

                                        @da_hood sagte in E3DC Hauskraftwerk steuern:

                                        Aber wie du siehst meldet Charge Control den Hausverbrauch nicht.

                                        Welche Version von Charge Control hast du?
                                        Existiert bei dir die Objekt-ID 0_userdata.0.Charge_Control.Allgemein.Hausverbrauch und hat diese auch den Wert 0 ?
                                        Hast du im Script Charge Control auch den Pfad zu deinem Heizstab eingetragen?

                                        const sID_LeistungHeizstab_W = ``;                                                                      // Pfad zu den Leistungswerte Heizstab eintragen ansonsten leer lassen
                                        
                                        D Offline
                                        D Offline
                                        DA_HOOD
                                        schrieb am zuletzt editiert von
                                        #3186

                                        @arnod

                                        Ich nutze die aktuellste Version 1.5.16

                                        @arnod said in E3DC Hauskraftwerk steuern:

                                        Existiert bei dir die Objekt-ID 0_userdata.0.Charge_Control.Allgemein.Hausverbrauch und hat diese auch den Wert 0 ?

                                        ja diesen Wert habe ich und der steht immer auf 0, das hatte ich ja oben geschrieben.
                                        Ich habe mir da ersatzweise jetzt derweil mit einem anderen berechneten Hausverbrauchswert beholfen via Blockly (Modbus hausverbrauch - Heizstab Power)

                                        Den Pfad bei Charge Control habe ich auch eingetragen.

                                        Und zwar so:
                                        const sID_LeistungHeizstab_W = modbus1.holdingRegisters.1000_Power;

                                        oder muss das auch so sein?

                                        const sID_LeistungHeizstab_W = modbus1.holdingRegisters.1.1000_Power;

                                        Charge Control meldet folgendes:

                                        javascript.0 08:27:13.128 info script.js.common.Charge_Control: Fehler bei der Berechnung des reinen Hausverbrauchs: Cannot read properties of null (reading 'val')
                                        javascript.0 08:27:15.002 info script.js.common.Charge_Control: Fehler bei der Berechnung des reinen Hausverbrauchs: Cannot read properties of null (reading 'val')

                                        Beim Heizstab Script gibt es einen weiteren Fehler:

                                        Er lässt den Heizstab sogar Heizen, obwohl die eingestellten 60% der Batterie noch nicht erreicht sind (bis zu dieser Schwelle ist E3DC das Laden überlassen und er sollte die volle Leistung in den Akku stecken)

                                        javascript.0 08:29:54.519 info script.js.common.Heizstab: Zustände abgefragt: Netz=-14W, PV=7585W, Hausverbrauch=1089W, LeistungHeizstab=2622W, Batterie=3879W, IstTemp=59.1°C, MaxTemp=85°C, SollLeistungHeizstab=2622W, PowerMode=0, BatterieStatus=44, Charge_Limit=12480, M_Power_W=12480W, LeistungWP = [object Object]W
                                        influxdb.0 08:29:54.529 silly States user redis pmessage */modbus.1.holdingRegisters.1.1000_Power:{"val":6196,"ack":false,"ts":1743748194519,"q":0,"c":"script.js.common.Heizstab","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1743748194519}
                                        javascript.0 08:29:54.530 warn at fetchAndUpdateHeizstabLeistung (script.js.common.Heizstab:118:15)
                                        javascript.0 08:29:54.530 error script.js.common.Heizstab: Fehler bei der Aktualisierung der Heizstab-Leistung:
                                        javascript.0 08:29:54.530 error script.js.common.Heizstab: undefined

                                        Ich hoffe du kannst mir da irgendwie helfen, dass das vernünftig läuft, denn die Nutzung von Charge Control steht und fällt auch mit der Funktion des Heizstabs. Wenn das nicht vernünftig läuft kann ich Charge Control nicht nutzen da sonst je nach Bedingungen die Ladeleistung permanent an und ausgeht und das kann ich meinen Akkus nicht antun :)

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

                                          @psrelax sagte in E3DC Hauskraftwerk steuern:

                                          ScriptAktiv ist aus -> BatterieLaden ist ein -> maxLadeleistung steht auf ca. 450W -> Lädt mit ca. 8600W den Speicher

                                          Habe mir das Script noch mal angesehen. Ich weiß nicht, wo bei dir hier die 8600 W herkommen.
                                          Das Script kann nur die eingestellten Werte vom Tibber Script verwenden.
                                          Dieser Wert wird direkt an den Adapter e3dc.rscp übertragen.
                                          Eventuell hast du da ein Problem.
                                          Prüfe mal, was beim Adapter e3dc-rscp unter .EMS.SET_POWER_VALUE für Werte eingetragen werden.

                                          P 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

                                          790

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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