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

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    • Save The Date: ioBroker@Smart Living Forum Solingen, 14.06.

    E3DC Hauskraftwerk steuern

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

      Hallo Arno Habe auf 1.52 upgedatet
      mir fehlen im View Chargecontrol 2 Werte

      Der Wert Eigenverbrauch ist bei mir 0 und eigenverbrauch durchschnitt gibt es nicht.
      habe ich da einen Fehler oder sind die umbenannt

      Gruß Stephan

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

        @malei sagte in E3DC Hauskraftwerk steuern:

        @arnod

        Kannst du bei einem nächsten Update mal schauen, dass die Notstromreserve nicht kleiner als 0 sein darf. Danke!

        Ist in der nächsten Version behoben. Danke für den Hinweis.

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

          @stephan61
          eingestellter Eigenverbrauch sollte die Objekt ID 0_userdata.0.Charge_Control.Allgemein.EigenverbrauchTag enthalten.
          Eigenverbrauch durchschnitt hast du recht, der ist mit der Umstellung abhandengekommen.
          Ist mir nicht aufgefallen, da ich das über das Tibber Script noch mal angezeigt bekomme.
          Werde ich mit der nächsten Version wieder hinzufügen. Danke für den Hinweis.

          P 1 Reply Last reply Reply Quote 0
          • P
            psrelax @ArnoD last edited by psrelax

            @arnod
            Ich habe jetzt mal die Tibber VIS und das Script soweit eingerichtet.
            Im Script habe ich das folgende verändert, was evtl. Sinnvoll ist:

            const TibberID = 'xxx'
            

            und dann überall die Variable statt der ID hinterlegt.
            Besser wäre aber das in den "User_Anpassungen" einzupflegen.

            Das Script läuft soweit ohne Fehler.
            Wenn ich über Vis die Steuerung aktiviere, erhalte ich folgendes:

            javascript.0	21:01:57.482	warn	script.js.E3DC_ChargeControl.Charge_Control: ##{"from":"Charge-Control", "message":"-==== User Parameter 10_ScriptTibber wurde in true geändert ====-"}##
            javascript.0	21:01:57.500	error	script.js.E3DC_ChargeControl.Charge_Control: TypeError: Cannot read properties of null (reading 'val')
            javascript.0	21:01:57.501	error	at CheckState (script.js.E3DC_ChargeControl.Charge_Control:363:85)
            javascript.0	21:01:57.501	error	at Object.<anonymous> (script.js.E3DC_ChargeControl.Charge_Control:2251:5)
            javascript.0	21:03:17.038	warn	script.js.E3DC_ChargeControl.Charge_Control: ##{"from":"Charge-Control", "message":"-==== User Parameter 10_ScriptTibber wurde in false geändert ====-"}##
            

            Aus der Bedienung in Vis werde ich noch nicht so ganz schlau.
            "Batterie aus Netz laden bis SOC" -> Ist aktuell noch ein fester Wert, bis wohin geladen werden soll, wenn der Preis stimmt
            "max. Ladeleistung Batterie" -> Ladeleistung für die Ladung
            "min. Strompreis ab dem geladen wird" -> Strompreis, welcher niedriger oder gleich sein muss, um die Ladung zum obigen SOC zu starten -> würde ich eher Maximaler Strompreis nennen
            Die Funktion von "Entladesperre", "Batterie Laden" und "E-Auto Laden" ergibt für mich noch keinen Sinn, kommt aber vll. noch.
            Die "Prognose Ladezeit Batterie" passt meiner Meinung nach nicht, da ich für ca. 2%, 5 Std. angezeigt bekomme.
            "Bester Ladezeitraum innerhalb Reichweite" sieht gut aus.
            Die Daten aus Tibber Puls hab ich noch nicht gemacht, da sie ja nicht nötig sind. Wollte jetzt nicht an meiner Bridge herumdoktern.

            Hier noch die Debug Ausgabe des Tibber Scripts.

            javascript.0	21:17:26.477	info	script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript *******************
            javascript.0	21:17:26.477	info	script.js.E3DC_ChargeControl.Tibber: timerIds1 = 48794938 timerIds2 = 48795017
            javascript.0	21:17:26.478	info	script.js.E3DC_ChargeControl.Tibber: timerTarget1 = Thu Aug 22 2024 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit) timerTarget2 = Fri Aug 23 2024 00:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)
            javascript.0	21:17:26.478	info	script.js.E3DC_ChargeControl.Tibber: blockpreisTimer = 0.18402
            javascript.0	21:17:26.478	info	script.js.E3DC_ChargeControl.Tibber: billigsterEinzelpreisBlock = Infinity
            javascript.0	21:17:26.478	info	script.js.E3DC_ChargeControl.Tibber: minStrompreis_48h = 0.181
            javascript.0	21:17:26.478	info	script.js.E3DC_ChargeControl.Tibber: minStrompreisUser = 0.45
            javascript.0	21:17:26.478	warn	script.js.E3DC_ChargeControl.Tibber: ProgrammAblauf = 0,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,4,3,3,1,2,5,1,2,4,3,3,1,2,4,3,3,
            
            A 1 Reply Last reply Reply Quote 0
            • A
              ArnoD @psrelax last edited by ArnoD

              @psrelax sagte in E3DC Hauskraftwerk steuern:

              Im Script habe ich das folgende verändert, was evtl. Sinnvoll ist:

              Wofür benötigst du die Konstante TibberID='xxx' ? Das habe ich nicht verstanden.

              Wenn ich über Vis die Steuerung aktiviere, erhalte ich folgendes:
              javascript.0 21:01:57.500 error script.js.E3DC_ChargeControl.Charge_Control: TypeError: Cannot read properties of null (reading 'val')

              Das deutet darauf hin, dass versucht wird ein Wert zu lesen, wo der Pfad, also die ID nicht stimmt.
              ChargeControl verwendet feste Pfade für die Tibber Skript Schnittstelle, bitte diese nicht ändern oder auch im Skript ChargeControl anpassen.
              Für die Ladefreigabe und Ladesperre wird 0_userdata.0.Tibber.OutputSignal verwendet.
              Das Objekt BatterieEntladesperre um das entladen zu sperren (im Tibber Skript noch nicht umgesetzt)
              BatterieLaden für die Ladefreigabe (im Tibber Skript nur zum Teil umgesetzt)
              eAutoLaden für die Freigabe der Wallbox (im Tibber Skript noch nicht umgesetzt)

              Aus der Bedienung in Vis werde ich noch nicht so ganz schlau.
              "Batterie aus Netz laden bis SOC" -> Ist aktuell noch ein fester Wert, bis wohin geladen werden soll, wenn der Preis stimmt

              Richtig, ist bereits umgesetzt und sollte funktionieren.

              "max. Ladeleistung Batterie" -> Ladeleistung für die Ladung

              Richtig.

              "min. Strompreis ab dem geladen wird" -> Strompreis, welcher niedriger oder gleich sein muss, um die Ladung zum obigen SOC zu starten -> würde ich eher Maximaler Strompreis nennen

              Richtig, war erst anders geplant und wird umbenannt.

              Die "Prognose Ladezeit Batterie" passt meiner Meinung nach nicht, da ich für ca. 2%, 5 Std. angezeigt bekomme.

              Die Prognose Ladezeit berechnet den Batterie SOC anhand dem Durchschnittsverbrauch Tag/Nacht bei Erreichen der Ladezeit und zeigt an, wie lange es dann dauern würde, die Batterie auf den eingestellten max. SOC zu laden.
              Wird benötigt, um dann den entsprechend günstigsten zusammenhängenden Stundenblock zu finden.

              P 1 Reply Last reply Reply Quote 0
              • P
                psrelax @ArnoD last edited by

                @arnod sagte in E3DC Hauskraftwerk steuern:

                @psrelax sagte in E3DC Hauskraftwerk steuern:

                Im Script habe ich das folgende verändert, was evtl. Sinnvoll ist:

                Wofür benötigst du die Konstante TibberID='xxx' ? Das habe ich nicht verstanden.
                Im Tibber Script ist deine Tibberlink-ID. Diese musste ich ersetzen. Da sie an mehreren Stellen enthalten ist, sollte sie als Variable definiert werden, bzw. bei User Anpassungen.

                Wenn ich über Vis die Steuerung aktiviere, erhalte ich folgendes:
                javascript.0 21:01:57.500 error script.js.E3DC_ChargeControl.Charge_Control: TypeError: Cannot read properties of null (reading 'val')

                Das deutet darauf hin, dass versucht wird ein Wert zu lesen, wo der Pfad, also die ID nicht stimmt.
                ChargeControl verwendet feste Pfade für die Tibber Skript Schnittstelle, bitte diese nicht ändern oder auch im Skript ChargeControl anpassen.
                Da ich den Teilbaum "Tibber" bereits anderweitig verwenden, habe ich ihn im Tibber-Script abgeändert.. Nachdem ich es auch im ChargeControl-Script geändert hatte, hat es funktioniert.
                Für die Ladefreigabe und Ladesperre wird 0_userdata.0.Tibber.OutputSignal verwendet.
                Ok, das bezieht sich auf die Wallbox Funktion. Da ich keine E3DC Wallbox habe, kann ich das nicht testen.
                Das Objekt BatterieEntladesperre um das entladen zu sperren (im Tibber Skript noch nicht umgesetzt)
                BatterieLaden für die Ladefreigabe (im Tibber Skript nur zum Teil umgesetzt)
                eAutoLaden für die Freigabe der Wallbox (im Tibber Skript noch nicht umgesetzt)

                Aus der Bedienung in Vis werde ich noch nicht so ganz schlau.
                "Batterie aus Netz laden bis SOC" -> Ist aktuell noch ein fester Wert, bis wohin geladen werden soll, wenn der Preis stimmt

                Richtig, ist bereits umgesetzt und sollte funktionieren.

                "max. Ladeleistung Batterie" -> Ladeleistung für die Ladung

                Richtig.

                "min. Strompreis ab dem geladen wird" -> Strompreis, welcher niedriger oder gleich sein muss, um die Ladung zum obigen SOC zu starten -> würde ich eher Maximaler Strompreis nennen

                Richtig, war erst anders geplant und wird umbenannt.

                Die "Prognose Ladezeit Batterie" passt meiner Meinung nach nicht, da ich für ca. 2%, 5 Std. angezeigt bekomme.

                Die Prognose Ladezeit berechnet den Batterie SOC anhand dem Durchschnittsverbrauch Tag/Nacht bei Erreichen der Ladezeit und zeigt an, wie lange es dann dauern würde, die Batterie auf den eingestellten max. SOC zu laden.
                Wird benötigt, um dann den entsprechend günstigsten zusammenhängenden Stundenblock zu finden.

                Ich denke der Programmablauf stimmt noch nicht so ganz, oder?

                javascript.0	19:44:16.628	warn	script.js.E3DC_ChargeControl.Tibber: ProgrammAblauf = 0,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,4,3,3,1,2,5,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,6,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,
                javascript.0	19:44:54.299	warn	script.js.E3DC_ChargeControl.Tibber: -==== User Parameter minStrompreis wurde in 0.71 geändert ====-
                javascript.0	19:44:54.341	warn	script.js.E3DC_ChargeControl.Tibber: Timer gelöscht
                javascript.0	19:44:54.341	info	script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript *******************
                javascript.0	19:44:54.341	info	script.js.E3DC_ChargeControl.Tibber: timerIds1 = undefined timerIds2 = undefined
                javascript.0	19:44:54.341	info	script.js.E3DC_ChargeControl.Tibber: timerTarget1 = undefined timerTarget2 = undefined
                javascript.0	19:44:54.341	info	script.js.E3DC_ChargeControl.Tibber: blockpreisTimer = 0.18712857142857145
                javascript.0	19:44:54.341	info	script.js.E3DC_ChargeControl.Tibber: billigsterEinzelpreisBlock = Infinity
                javascript.0	19:44:54.341	info	script.js.E3DC_ChargeControl.Tibber: minStrompreis_48h = 0.181
                javascript.0	19:44:54.341	info	script.js.E3DC_ChargeControl.Tibber: minStrompreisUser = 0.71
                javascript.0	19:44:54.342	warn	script.js.E3DC_ChargeControl.Tibber: ProgrammAblauf = 0,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,4,3,3,1,2,5,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,6,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,4,3,3,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,1,2,5,
                

                Mit der folgenden Einstellung startet die Ladung des Akkus nicht:
                307f0847-68bf-456b-8960-7694b901611f-image.png

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

                  @psrelax
                  Ich habe eine neue Version hochgeladen, wo einige Fehler bereits korrigiert sind.
                  Ich habe die Objekt-ID jetzt von Tibber in TibberSkript geändert, sonst musst du jedes Mal die Änderungen aufs neue machen und werde das auch in ChargeControl und in der VIS anpassen.

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

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

                    • Kleinere Optimierungen und Fehler behoben für das Tibber Skript.
                    • Neues Objekt 0_userdata.0.Charge_Control.Allgemein.EigenverbrauchDurchschnitt erstellt, für die Anzeige vom Durchschnittsverbrauch Tag / Nacht in VIS.
                    • Fehler behoben, dass die Berechnung Notstromreserve <0 sein konnte. (Danke an @MaLei für den Hinweis)
                    M P A A 4 Replies Last reply Reply Quote 0
                    • M
                      MaLei @ArnoD last edited by

                      @arnod

                      Habe nach Update auf 1.5.3 wieder den Fehler

                      javascript.0 17:45:31.220 info script.js.common.E3DC.Charge_Control: Fehler bei der Berechnung des reinen Hausverbrauchs: Cannot read properties of null (reading 'val')

                      1 Reply Last reply Reply Quote 0
                      • P
                        psrelax @ArnoD last edited by

                        @arnod
                        Danke für die Vereinfachungen 🙂

                        Hab beide Scripte und auch Vis übernommen.
                        Soweit läuft alles.
                        Die Ladung startet allerdings nicht von alleine.
                        9edced78-7dd5-4aba-83b2-7507c0548e73-image.png

                        Wenn ich manuell "0_userdata.0.TibberSkript.OutputSignal.BatterieLaden" auf true setze, startet die Ladung.
                        Bei welcher Bedingung wird es normalerweise auf true gesetzt?

                        Ich habe jetzt auch mal den Schedule auf "jede Minute" gestellt, damit ich nicht so lange warten muss, wenn ich was ändere.

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

                          @malei sagte in E3DC Hauskraftwerk steuern:

                          Fehler bei der Berechnung des reinen Hausverbrauchs: Cannot read properties of null (reading 'val')

                          Vermutlich auch hier eine Objekt-ID eingetragen, die ins Leere führt.
                          Prüfe mal bitte alle ID's im Script unter USER ANPASSUNGEN, ob die bei dir auch vorhanden sind.

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

                            @psrelax
                            Wenn nach Wetterprognose, ausreichend PV-Leistung am Tag vorhanden ist, um die Batterie zu laden wird der Timer gelöscht.
                            Setze mal die Option "PV Module schneebedeckt." dann wir die Prognose ignoriert und 'BatterieLaden' sollte auf true gesetzt werden.

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              psrelax @ArnoD last edited by

                              @arnod

                              Schneebedekt hat keine Auswirkung.
                              In der Debug Ausgabe wird trotz Schneebedekt=true folgendes ausgegeben (false):

                              javascript.0	01:00:00.271	info	script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript *******************
                              javascript.0	01:00:00.271	info	script.js.E3DC_ChargeControl.Tibber: timerIds1 = 158107952 timerIds2 = 158107971
                              javascript.0	01:00:00.271	info	script.js.E3DC_ChargeControl.Tibber: timerTarget1 = Sat Aug 24 2024 14:00:00 GMT+0200 (Mitteleuropäische Sommerzeit) timerTarget2 = Sat Aug 24 2024 15:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)
                              javascript.0	01:00:00.271	info	script.js.E3DC_ChargeControl.Tibber: blockpreisTimer = Infinity
                              javascript.0	01:00:00.272	info	script.js.E3DC_ChargeControl.Tibber: billigsterEinzelpreisBlock = Infinity
                              javascript.0	01:00:00.272	info	script.js.E3DC_ChargeControl.Tibber: minStrompreis_48h = 0.1336
                              javascript.0	01:00:00.272	info	script.js.E3DC_ChargeControl.Tibber: minStrompreisUser = 0.33
                              javascript.0	01:00:00.272	info	script.js.E3DC_ChargeControl.Tibber: schneeBedeckt = false
                              javascript.0	01:00:00.272	warn	script.js.E3DC_ChargeControl.Tibber: ProgrammAblauf = 1,4,3,3,
                              

                              "minStrompreisUser " hab ich mal ganz hoch und mal ganz niedrig gesetzt.

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

                                @psrelax
                                Ok habe vergessen die ID anzupassen in Zeile 575, bitte bei 'id: /\Tibber' TibberSkript eintragen.
                                Werde das noch ändern, dass die Variable PfadEbene1 verwendet wird.
                                Sollte so aussehen:

                                on({id: /\TibberSkript.USER_ANPASSUNGEN/, change: "ne"}, async function (obj){	
                                    if (bLock) return;
                                    bLock = true;
                                    setTimeout(() => bLock = false, 100);
                                    log(`-==== User Parameter ${obj.id.split('.')[4]} wurde in ${obj.state.val} geändert ====-`,'warn')
                                    if (obj.id.split('.')[4] == 'maxSOC_Batterie' ){maxBatterieSoC = obj.state.val}
                                    if (obj.id.split('.')[4] == 'maxLadeleistung' ){maxLadeleistungUser_W = obj.state.val}
                                    if (obj.id.split('.')[4] == 'minStrompreis' ){maxStrompreisUser = obj.state.val}
                                    if (obj.id.split('.')[4] == 'pvSchneebedeckt' ){schneeBedeckt = obj.state.val}
                                    await tibberSteuerungHauskraftwerk(); 
                                    await createDiagramm();
                                });
                                

                                Nachtrag:

                                bitte so abändern:

                                // Wird aufgerufen wenn sich an den States Tibber.User_Anpassungen was ändert
                                const regexPatternTibber = new RegExp(`${PfadEbene1}.${PfadEbene2[3]}`);
                                on({id: regexPatternTibber, change: "ne"}, async function (obj){	
                                    if (bLock) return;
                                    bLock = true;
                                    setTimeout(() => bLock = false, 100);
                                    log(`-==== User Parameter ${obj.id.split('.')[4]} wurde in ${obj.state.val} geändert ====-`,'warn')
                                    if (obj.id.split('.')[4] == 'maxSOC_Batterie' ){maxBatterieSoC = obj.state.val}
                                    if (obj.id.split('.')[4] == 'maxLadeleistung' ){maxLadeleistungUser_W = obj.state.val}
                                    if (obj.id.split('.')[4] == 'minStrompreis' ){maxStrompreisUser = obj.state.val}
                                    if (obj.id.split('.')[4] == 'pvSchneebedeckt' ){schneeBedeckt = obj.state.val}
                                    await tibberSteuerungHauskraftwerk(); 
                                    await createDiagramm();
                                });
                                
                                P 1 Reply Last reply Reply Quote 0
                                • P
                                  psrelax @ArnoD last edited by

                                  @arnod
                                  Die Ladung startet immer noch nicht.
                                  841b3f5a-4ac0-49d9-8c38-098692949760-image.png
                                  Aufgefallen ist, der "minstrompreisuser" ändert sich nur wenn ich das Script neu starte.

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

                                    @psrelax

                                    Bitte diesen code bei dir einfügen:

                                    // Wird aufgerufen wenn sich an den States Tibber.User_Anpassungen was ändert
                                    const regexPatternTibber = new RegExp(`${PfadEbene1}.${PfadEbene2[3]}`);
                                    on({id: regexPatternTibber, change: "ne"}, async function (obj){	
                                        if (bLock) return;
                                        bLock = true;
                                        setTimeout(() => bLock = false, 100);
                                        log(`-==== User Parameter ${obj.id.split('.')[4]} wurde in ${obj.state.val} geändert ====-`,'warn')
                                        if (obj.id.split('.')[4] == 'maxSOC_Batterie' ){maxBatterieSoC = obj.state.val}
                                        if (obj.id.split('.')[4] == 'maxLadeleistung' ){maxLadeleistungUser_W = obj.state.val}
                                        if (obj.id.split('.')[4] == 'maxStrompreisUser' ){maxStrompreisUser = obj.state.val}
                                        if (obj.id.split('.')[4] == 'pvSchneebedeckt' ){schneeBedeckt = obj.state.val}
                                        await tibberSteuerungHauskraftwerk(); 
                                        await createDiagramm();
                                    });
                                    

                                    Habe hier die Änderung min zu maxStrompreisUser übersehen.

                                    P 1 Reply Last reply Reply Quote 0
                                    • P
                                      psrelax @ArnoD last edited by psrelax

                                      @arnod
                                      minStrompreisUser wird immer noch nicht aktualisiert, wenn das Script nicht neu gestartet wird.
                                      Zumindest startet das Laden nach dem Neustart.

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

                                        @psrelax
                                        Habe eine neue Version 1.0.2 hochgeladen, bitte diese mal testen.
                                        Die View hat sich auch noch mal geändert.
                                        In der View ist jetzt für die Testphase im unteren Bereich ein Flot Diagramm, was die Zustände von BatterieLaden, eAutoLaden und BatterieEntladesperre im zeitlichen Verlauf anzeigt.
                                        So kann man schnell erkennen, ob das Skript richtig funktioniert.

                                        Die Batterie Entladesperre sollte jetzt auch funktionieren.
                                        Dafür ist eine neue Konstante im Skript Bereich User Anpassungen hinzugekommen "stromgestehungskosten" um den Selbstkostenpreis PV Strom berechnen zu können. (alle Kosten, die innerhalb der vorgesehenen Laufzeit (20 Jahre) entstehen addiert, dividiert durch den Ertrag an Solarstrom).
                                        Es ist auch eine neue Objekt ID 0_userdata.0.TibberSkript.USER_ANPASSUNGEN. Systemwirkungsgraderstellt worden um den Systemwirkungsgrad mit Batterie in % eintragen zu können. Bei mir z.B 88%

                                        Wenn alles richtig funktioniert, sollte das Entladen der Batterie immer dann verhindert werden (BatterieEntladesperre = true), wenn der berechnete Strompreis Batterie mit Speicherverluste höher ist als der aktuelle Strompreis Tibber.

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

                                          @psrelax sagte in E3DC Hauskraftwerk steuern:

                                          @arnod
                                          minStrompreisUser wird immer noch nicht aktualisiert, wenn das Script nicht neu gestartet wird.
                                          Zumindest startet das Laden nach dem Neustart.

                                          Ok, habe den Fehler auch korrigiert und das Skript noch mal hochgeladen. 😉

                                          P 1 Reply Last reply Reply Quote 0
                                          • P
                                            psrelax @ArnoD last edited by psrelax

                                            @arnod
                                            Lädt nicht. 😕
                                            64e0a32a-a760-4422-9964-6325c412b30e-image.png

                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: ******************* Debug LOG Tibber Skript Version 1.0.2 *******************
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: timerIds1 = 199184573 timerIds2 = 199184598
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: timerTarget1 = Sun Aug 25 2024 13:00:00 GMT+0200 (Mitteleuropäische Sommerzeit) timerTarget2 = Sun Aug 25 2024 14:00:00 GMT+0200 (Mitteleuropäische Sommerzeit)
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: blockpreisTimer = 0.2814
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: billigsterEinzelpreisBlock = 0
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: minStrompreis_48h = 0.1623
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: maxStrompreisUser = 0.8
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: schneeBedeckt = true
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: strompreisBatterie = undefined
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: bruttoPreisBatterie = undefined
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: aktuellerPreisTibber = 0.295
                                            javascript.0	19:44:00.077	info	script.js.E3DC_ChargeControl.Tibber: bEntladenSperren = false
                                            javascript.0	19:44:00.078	warn	script.js.E3DC_ChargeControl.Tibber: ProgrammAblauf = 1,4,3,3,
                                            

                                            Die Stromgestehungskosten sind mir noch nicht ganz klar.
                                            Du hast 0.1057 eingetragen. Ich würde auf 0,53 kommen.
                                            Rechnung: 30000€ (ca.) / 56831,56kWh (bis heute)
                                            Der Ertrag Solarstrom ändert sich allerdings täglich, wodurch das dann automatisch berechnet werden müsste.
                                            Für was willst du die Stromgestehungskosten verwenden?

                                            Bezüglich des Flot Diagramms, bin ich noch recht ahnungslos, da ich es nicht verwende. Hab es mir jetzt installiert.
                                            Gibts da vielleicht etwas fertiges zum importieren? Oder einen 2-Zeiler Crashkurs mit Screenshot von deiner Config? 😊

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            915
                                            Online

                                            31.6k
                                            Users

                                            79.4k
                                            Topics

                                            1.3m
                                            Posts

                                            70
                                            3272
                                            1104635
                                            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