Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Testscript: Hausspeicher dyn. laden nach Tibberpreisen uvm.

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Testscript: Hausspeicher dyn. laden nach Tibberpreisen uvm.

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @babl last edited by

      @babl sagte: Script 1 Höchst und Mindestpreis

      Die Blocklys kann man sich sparen, wenn die Preise sortiert sind (siehe Skript). Der Mindestpreis steht im ersten Element, der Höchstpreis im letzten Element.

      B 1 Reply Last reply Reply Quote 0
      • B
        babl @paul53 last edited by

        @paul53 ja habe ich gesehen, daß du da auf die schnelle ein script gezaubert hast, darf ich das verwenden?

        paul53 1 Reply Last reply Reply Quote 0
        • paul53
          paul53 @babl last edited by

          @babl sagte: darf ich das verwenden?

          Ja, natürlich. Das Forum ist öffentlich.

          B 1 Reply Last reply Reply Quote 0
          • B
            babl @paul53 last edited by

            @paul53 danke, aber eigentlich braucht man ja den ganzen tag nciht, da ich eigentlich noch keinen tag erlebt habe, wo die preise unterm tag tiefer waren als in der nacht, eigentlich sind die 19-23 und 0 - 5 uhr interessant. und dann ergibt es gleich andere werte der mindest und höchstpreise

            paul53 1 Reply Last reply Reply Quote 0
            • paul53
              paul53 @babl last edited by paul53

              @babl sagte: andere werte der mindest und höchstpreise

              Nur Höchstpreise sollten sich unterscheiden.

              @babl sagte in Testscript: Hausspeicher dyn. laden nach Tibberpreisen uvm.:

              eigentlich sind die 19-23 und 0 - 5 uhr interessant.

              Das Array einzugrenzen sollte doch kein Problem sein?

              1 Reply Last reply Reply Quote 1
              • paul53
                paul53 @babl last edited by paul53

                @babl sagte: Script 1 Höchst und Mindestpreis von 0-5 Uhr

                Du nimmst die Werte von "PricesToday". Ist das korrekt? Müssten es nicht die Werte von "PricesTomorrow" sein? Etwa so?

                schedule('57 18 * * *', function() {
                    const preise = [];
                    for(let i = 19; i < 24; i++) {
                        let obj = {};
                        let idStart = tibber + 'PricesToday.' + i + '.startsAt';
                        let idPreis = tibber + 'PricesToday.' + i + '.total';
                        obj.start = new Date(getState(idStart).val).getHours();
                        obj.preis = getState(idPreis).val;
                        preise.push(obj);
                    }
                    for(let i = 0; i < 6; i++) {
                        let obj = {};
                        let idStart = tibber + 'PricesTomorrow.' + i + '.startsAt';
                        let idPreis = tibber + 'PricesTomorrow.' + i + '.total';
                        obj.start = new Date(getState(idStart).val).getHours();
                        obj.preis = getState(idPreis).val;
                        preise.push(obj);
                    }
                    preise.sort(sortPreis);
                    setState(idSort, preise, true);
                });
                
                B 1 Reply Last reply Reply Quote 0
                • B
                  babl @paul53 last edited by

                  @paul53 ja da ich vor mitternacht meinen Hausspeicher laden will und ab 0 Uhr kommen ja bereits die morgigen Preise als heutige Preise und Tomorrow bleibt ja dann bis 13Uhr oder später leer.

                  Ich habe bei meinem Script die Solarprognose als falls block miteingebaut falls morgiger Tag mehr als 10kw Ertrag prognostiziert werden soll er den Speicher nicht laden, da ja in der Nacht die Preise eigentlich sowieso niedrig sind, ist der prognostizierte Ertrag unter 10 soll er den Hausspeicher laden.

                  paul53 1 Reply Last reply Reply Quote 0
                  • paul53
                    paul53 @babl last edited by paul53

                    @babl sagte: ab 0 Uhr kommen ja bereits die morgigen Preise als heutige Preise und Tomorrow bleibt ja dann bis 13Uhr oder später leer.

                    Deshalb sollte man nicht auf die Datenpunkte triggern, sondern nur einmal am Tag kurz bevor man die Preise auswertet (z.B. 18:57 Uhr). Andernfalls stehen vor Mitternacht nicht die richtigen Preise von nach Mitternacht für einen Vergleich / eine Sortierung zur Verfügung.

                    B 1 Reply Last reply Reply Quote 1
                    • B
                      babl @paul53 last edited by

                      @paul53 ok und wie könnte man sowas jetzt lösen wenn ich nun 10 Punkte habe und trotzdem irgendwie eine zusammenhängende Zeit nutzen will.

                      z.B von 0 - 4 Uhr sind die Preise am günstigsten, dann kommt 23 Uhr dazwischen und dann geht es wieder mit 5 Uhr weiter und dann 22 Uhr, 21 und 20 Uhr. Hast du da eine Idee?

                      Wenn ich z.B für den Speicher mehr als 1 Stunde brauche um zu laden dann sollten die besten 2 Stunden zusammenhängend sein oder was denkst du oder würdest du einfach dann um als beispiel um 21 uhr laden um 22 uhr nicht laden und 23 uhr wieder laden

                      paul53 1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 @babl last edited by paul53

                        @babl sagte: mehr als 1 Stunde brauche um zu laden dann sollten die besten 2 Stunden zusammenhängend sein

                        Dann braucht man aber eine chronologische Sortierung und muss den Startzeitpunkt für die minimale Summe über zwei aufeinanderfolgende Werte ermitteln, ähnlich wie hier.

                        Wenn es dem Akku nicht schadet, sind natürlich die beiden günstigsten Stunden wirtschaftlicher (Sortierung nach Preis).

                        B 1 Reply Last reply Reply Quote 0
                        • B
                          babl @paul53 last edited by

                          @paul53 ok, das muß ich mir morgen mal ansehen, ich danke dir einstweilen, mir raucht eh schon der kopf.

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 @babl last edited by

                            @babl sagte: Script 3 ist zu lang hier es reinzukopieren.

                            Ganz schön unübersichtlich und wenn man die Bedeutung verschiedener Datenpunkte nicht kennt, auch nicht nachzuvollziehen.
                            Was gar nicht geht: Der 8-s-Zeitplan innerhalb der Funktion Hausspeicher_laden!!
                            Das Hauptprogramm läuft doch schon mit einem stündlichen Trigger.

                            B 1 Reply Last reply Reply Quote 0
                            • B
                              babl @paul53 last edited by

                              @paul53 es läuft aber so seit Wochen ich kann das aber dann gern in einem extra Script unterbringen

                              paul53 1 Reply Last reply Reply Quote 0
                              • paul53
                                paul53 @babl last edited by

                                @babl sagte: es läuft aber so seit Wochen

                                Es sind zu viele 8-s-Zeitpläne, da jede Stunde nachts ein neuer erstellt wird und alles darin mehrfach hintereinander ausgeführt wird. Irgendwann wird das System dadurch überlastet.

                                B 1 Reply Last reply Reply Quote 0
                                • B
                                  babl @paul53 last edited by

                                  @paul53 das kann sein denn seit Wochen habe ich auch kleinere Probleme mit den Admin subscribes und unsubscribes, dann kann das hinkommen, ich wüsste aber nicht wie ich das sonst machen sollte denn der Datenpunkt muss alle 8 Sekunden beschrieben werden

                                  paul53 1 Reply Last reply Reply Quote 0
                                  • paul53
                                    paul53 @babl last edited by paul53

                                    @babl sagte: der Datenpunkt muss alle 8 Sekunden beschrieben werden

                                    Welcher Datenpunkt?

                                    B 1 Reply Last reply Reply Quote 0
                                    • B
                                      babl @paul53 last edited by

                                      @paul53 der charging Punkt der Sonnenbatterie damit das laden funktioniert, sobald nicht mehr beschrieben wird geht der Speicher in den normalen Modus über.

                                      paul53 1 Reply Last reply Reply Quote 0
                                      • paul53
                                        paul53 @babl last edited by paul53

                                        @babl sagte: charging Punkt der Sonnenbatterie damit das laden funktioniert

                                        Dann setze in der Funktion eine Variable mit dem zu schreibenden Wert und schreibe den Variablenwert alle 8 s in den Datenpunkt.

                                        Bild_2023-01-04_203844287.png

                                        Das verbraucht auch viel weniger Ressourcen.

                                        B 1 Reply Last reply Reply Quote 0
                                        • B
                                          babl @paul53 last edited by

                                          @paul53 ok

                                          paul53 1 Reply Last reply Reply Quote 0
                                          • paul53
                                            paul53 @babl last edited by paul53

                                            @babl
                                            Anstelle der Funktion verwende einen Trigger auf "sonnen.0.status.userSoc", denn darauf muss reagiert werden.

                                            Blockly_temp.JPG

                                            Gesteuert wird es über den Datenpunkt "0_userdata.0.SB_10_manuell_laden".

                                            Bild_2023-01-04_221529588.png

                                            B 2 Replies Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            534
                                            Online

                                            31.7k
                                            Users

                                            79.6k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            6
                                            60
                                            3353
                                            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