Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Hausspeicher laden, dynamisch, tibberlink, Scripte

    NEWS

    • ioBroker goes Matter ... Matter Adapter in Stable

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    Hausspeicher laden, dynamisch, tibberlink, Scripte

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

      @babl said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

      @mtbsteve ich weiß auch ehrlich gesagt nicht wo die Timer ID herkommt, das ist mir ein Rätsel.

      Mit dem Pv-Forecast heute 9 Uhr, da hast du recht, daß gehört sich gleich unterhalb des Triggers. Da habe ich vorher innerhalb des Triggers den originalen Datenpunkt gehabt, damit es aber dann leichter wird und man nicht innerhalb des Triggers was ändern muß, habe ich eine Variable draus gemacht, die nur beim Start des Scripts abgefragt wird, das gleiche ist es bei der Variable mit dem Wirkungsgrad (wenn es jemand täglich ausrechnen lässt), deshalb müßte man diese 2 Variablen auch innerhalb des Triggers kopieren, man kann sie dann oberhalb löschen.
      Sorry.

      Aber trotzdem habe ich das mit der Timer ID noch nie gehört, da bin ich total überfragt.

      Hauptscript wurde auf Version 1 aktualisiert, die aktualisierten Versionen findet ihr immer in den 1. Posts.

      Danke. Habe die Änderungen von Dir eingebaut. Die TimerID scheint wohl was mit dem Debug Setting zu tun zu haben, seitdem ich das ausgeschaltet habe, isses weg.

      @mtbsteve im Script tibberjson

      bitte poste noch das tibberjson script - das fehlt (oder habe ich nicht gefunden)

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

        @mtbsteve das muss normal immer Tibber Hauptscript mit dabei sein,

        habe aber festgestellt, als ich das als Test importiert habe, daß der Block nicht mit dabei ist, also bitte aktuellste Version des Hauptscripts laden, oben im 3. Beitrag.

        Aktuellste Version ist die Version 1.

        Das mit der Timer ID wußte ich gar nicht, auch wieder was gelernt, danke dir.

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

          @blacksheep587

          zu 1. Weil bis 9 Uhr das Script läuft, ab dann gehe ich davon aus, daß die Sonne ihr weiteres macht, jeder kann hier seine besten Punkte hernehmen, wie er meint.

          Das Script rechnet bis 9 Uhr die Entladezeit hoch, sagen wir mal es ist 3 Uhr Früh, die Batterie hat eine Kapazität von 10000Watt, von 3 uhr bis 9 uhr sind 6 stunden mal 60 minuten sind 360 minuten, ist die entladezeit z.B. (200 Minuten) kleiner als die 360 minuten dann versucht er sowieso zwischen 0 und 9 uhr die batterie zu beladen.

          Ist die berechnete Beladezeit der Batterie unter 60 minuten sucht er sich den günstigsten Stundenblock, ist die Beladezeit länger als 60 bis 120 Minuten, dann setzt er die besten zusammenshängenden stundenblöcke zum laden, größer als 120 dann sucht er die besten 3 zusammenhängenden stundenblöcke.

          Sollte vor Mitternacht die Entladezeit bereits kleiner sein als die Zeit bis Mitternacht dann sucht er vor Mitternacht die besten Zeiten.

          So wäre mein Plan.

          Zu 2. Ich habe die Variable genommen um den User so wenig zum ändern innerhalb des Scripts zuzumuten. Ansonsten kannst du direkt den Datenpunkt auch nehmen. Kein Problem, habe ja oben geschrieben für die Cracks ist das Blockly wahrscheinlich ein Klacks, doch es gibt ja auch andere, die erst frisch mit iobroker angefangen haben.

          1 Reply Last reply Reply Quote 0
          • M
            mtbsteve last edited by

            @babl Danke - habs übernommen. Aktuell läuft alles soweit durch. Bin mal gespannt wie er die Ladeplanung macht 🙂

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

              @babl said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

              Dies siehst du wenn du den Datenpunkt 0_userdata.0.Test.Ladeprozente_Hausspeicher auf 90% änderst wie sich die Zeit in Minuten unter dem Datenpunkt 0_userdata.0.Test.Beladedauer_Hausspeicher ändert.
              !!!!!Achtung: aktuelle Einstellungen nur von 90 -100% möglich.

              Ich muß nochmal nachfragen, wie verhält sich das mit dem DP 0_userdata.0.Test.Ladeprozente_Hausspeicher

              Leg ich den selber fest, kommt der irgendwo her, so wie du beschrieben hast sind ja nur Werte zwischen 90-100% möglich, also leg ich das selber fest was ich da haben möchte?

              M 1 Reply Last reply Reply Quote 0
              • M
                mtbsteve @icebear last edited by

                @icebear ja, legst du selber fest.

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

                  @babl es scheint bei mir zu funktionieren, das laden wurde aber bisher noch nicht getriggert, das kann auch an meinen Einstellungen liegen.
                  Frage: wann werden die Werte für Tibber.Beste_Einzelstunden, Tibber.Beste_Kosten und Tibber.Beste_Stundenblöcke gesetzt? Siehe Screenshot.

                  Kann es sein, dass der Trigger für beste Kosten im Programm garnicht verwendet wird?

                  scriptfehler2.JPG

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

                    @mtbsteve zu weiter oben, ja legst du selbst fest, von 90 - 100% ist es möglich, habe das genommen weil vielleicht einige sagen sie wollen die Batterie nicht bis 100% laden.

                    Der Trigger ist immer sobald der User soc kleiner wird. Außer zwischen 9 Uhr und 15 Uhr, da wird nichts gemacht da ja hier eigentlich die Sonne ihren Dienst verrichten sollte.

                    Ich weiss jetzt nicht ganz genau, aber es werden nur 2 verschiedene Channel vom tibberlink aktiviert. Das wäre der für beladezeit unter 1 Stunde also der günstigste Preis und dann der Channel mit den stundenblöcken. Hier werden dann kommt auf die beladezeit und beladeleistung an die Stunden genommen die hier gebraucht werden = über 120min beladedauer der beste 3 h Block.

                    Was du natürlich auch noch berücksichtigen musst ist der Wirkungsgrad, da es ja wenn nur 5 Cent unterschied zwischen höchstpreis und Mindestpreis keinen Sinn macht bei einem Wirkungsgrad von 80% den Speicher zu laden

                    Beispiel: Höchstpreis 0.3€ Tiefstpreis 0.26€ Wirkungsgrad 80%

                    Nach diesem Beispiel müsste der Strompreis unter 0.24€ gehen wo sich das rentiert.

                    Obiges Beispiel mit Wirkungsgrad 90% da wäre dann der Preis unter 0.27€

                    Ich hoffe ich hab's so einigermaßen erklären können was mein Gedanke mit dem Beladen des Hausspeichers ist.

                    1 Reply Last reply Reply Quote 1
                    • B
                      blacksheep587 @icebear last edited by

                      @icebear
                      Bei mir siehts grad genauso aus. Läuft das jetzt bei dir?

                      B icebear 2 Replies Last reply Reply Quote 0
                      • B
                        babl @blacksheep587 last edited by

                        @blacksheep587 wo hakt es denn?

                        B 1 Reply Last reply Reply Quote 0
                        • icebear
                          icebear @blacksheep587 last edited by

                          @blacksheep587 said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

                          Bei mir siehts grad genauso aus. Läuft das jetzt bei dir?

                          Also wir nähern uns langsam an, die Tibber Geschichte funktioniert jetzt, und bei 'tibberlink' calculations hat er bei mir heute Morgen das erstemal was eingetragen.

                          senec_1.png

                          Senec_2.png

                          Ich werd weiter testen.

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

                            @babl @icebear
                            Tibberlink ist bei mir noch leer:
                            86866aab-bb70-4e85-967a-d19279b71952-image.png

                            Hier wird aber beschrieben:
                            8d57e637-c236-4752-a33c-7dfd6e54a7cd-image.png

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

                              @blacksheep587 bitte schreibt es rein was man besser machen muss, wo man die Doku verbessern muss usw. Ich kann schon mit Kritik wenn sie im Rahmen bleibt umgehen.

                              Ich habe halt Mal versucht irgendwie was zusammenzubauen was einigermaßen Kopf und Fuss hat, ich hoffe dass wir das zusammen so zum laufen bekommen dass sich vielleicht daraus mal jemand der "Cracks" annimmt und daraus einen Adapter baut. Natürlich sollten dazu die Verbesserungsvorschläge von uns dazu beitragen.

                              Aber nun schauen wir erstmal dass wir die Scripte so hinbekommen dass sie für jedermann leicht zu implementieren sind, und da bin ich eben auf euch angewiesen.

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

                                @icebear jetzt musst du dann nur noch schauen ob der Datenpunkt dann beschrieben wird wo er die eigentliche Ladung anstösst. Also der userdata.0.test.batterie_laden glaube ich heisst der dann schauen zu welcher Zeit er auf true geht und ob das mit der Logik so zutrifft

                                Es wäre dann vielleicht sinnvoll wenn man kurz die Variablen reinschreibt wann er laden sollte zu welchem Preis wie voll war der Speicher usw. So könnte man das vielleicht besser optimieren.

                                Für alle jene, bei denen die Batterie nur mit einer bestimmten Wattzahl läd, die sollten in den Faktoren dann nur als Zahl eine 1 verwenden, so Läd er immer mit der eingestellten Wattzahl z.b 3000.

                                Bei Sonnen Batteriesystemen kann man ja die Wattzahl bestimmen. Darum ist auch das beladescript so aufgebaut, dass man bei 0-5 und 90-95 mit Faktor 0.5 (Faktor 2 im Datenpunkt) und bei 95-100% mit Faktor 0.25(Faktor 4) um die Batterie zu schonen.

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

                                  @babl
                                  Ich habe keine Kritik, ich weiß gerade nicht wo es hakt. Ich bin selber in der "Try and Error"-Phase, und hätte es nicht hingebracht, ein Skript wie das deine zu erstellen. Von daher vielen Dank an deine Arbeit.

                                  Momentan bin ich noch kein Tibberkunde, der Vertrag beginnt erst im Januar. Ich habe aber Pulse laufen und im Skript alle Tokens durch meinen eigenen ersetzt. Deshalb war/ist meine Annahme, dass ich eigentlich alles laufen lassen kann, nur dass der Strom hald zu den Kosten meines aktuellen Vertrag bezogen wird...

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

                                    @blacksheep587 OK super, du musst eigentlich nur den Datenpunkt wo der Punkt ist für die Beladung überprüfen oder bestenfalls mit SQL History loggen dann siehst du genau wann es zu laden beginnen würde. Ohne dass es wirklich an der Batterie was macht. Praktisch einen "Dummy" Datenpunkt

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

                                      @babl said in Hausspeicher laden, dynamisch, tibberlink, Scripte:

                                      Für alle jene, bei denen die Batterie nur mit einer bestimmten Wattzahl läd, die sollten in den Faktoren dann nur als Zahl eine 1 verwenden,

                                      Danke für den Hinweis, hab ich jetzt grad mal gemacht, mal schauen was er jetzt macht.

                                      Jetzt wart ich mal drauf wann er den DP 'Batterie_Laden' auf true setzt.

                                      1 Reply Last reply Reply Quote 1
                                      • T
                                        timbo last edited by

                                        Moin,

                                        ich hänge noch an den Aliasen, habe ich bisher noch nie genutzt. Könnte einer in Kurzform erklären, wie die zu erstellen sind?

                                        Danke Euch & Gruß
                                        Timo

                                        B 1 Reply Last reply Reply Quote 0
                                        • icebear
                                          icebear last edited by

                                          @babl

                                          Wo werden den die DP für'Beste_Einzelstunden', 'Beste_Kosten' und 'Beste_Stundenbloecke'
                                          geändert?
                                          Das Script triggert ja auf ' wurde aktualisiert' aber wo passiert das, wer aktualisiert das.

                                          Screenshot 2023-11-10 085158.png

                                          Hintergrund der Frage ist, die Datenpunkte stehen bei mir immer auf 'false'

                                          DP.png

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

                                            @icebear im Hauptscript.

                                            Hauptscript, aktualisierung tibberlink datenpunkte.jpg

                                            Und das untere Script daß du da umgeschrieben hast, so kann das nicht funktionieren, wie du dir das vorstellst, er ändert im Hauptscript die Tibberlink Datenpunkte von beste Stunden, beste Kosten usw. und du triggerst dann im unteren script auf die Vis? Wenn du das auch so umgeschrieben hast mit den Datenpunkten dann klappt das auch nicht, oder woher soll der adapter wissen wenn er die Datenpunkte auf true stellen soll?

                                            Und damit du siehst daß es funktioniert hier aus dem sql history adapter für die besten Stunden einen Ausschnitt.

                                            tibberlink beste einzelstunden schaltung sql.jpg

                                            Damit du auch siehst, daß das mit den günstigen Preisen schon klappt hier der Auszug aus der Influx DB vom 4.11 bis 5.11.

                                            tibberlink influxdb strompreise total.jpg

                                            Am 4.11. um 23 Uhr hätte er laut dem Script und dem Preis das laden begonnen, am 5.11 um 0 uhr hätte er das Laden beendet, um 3 Uhr hätte er das Laden wieder begonnen und um 4 Uhr beendet. Rechts siehst du auch daß dies der Tibberlink Adapter dann macht.

                                            Natürlich wie oben bereits geschrieben muß da einiges zusammenspielen, 1. die Entladezeit muß kleiner sein als bis 9 Uhr oder 0 Uhr, die Preisdifferenz vom Höchstpreis zum Mindestpreis muss mit dem Wirkungsgrad passen. Bau dir doch einfach debug blöcke in das script ein dann siehst du ja genau was er macht.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            563
                                            Online

                                            31.6k
                                            Users

                                            79.5k
                                            Topics

                                            1.3m
                                            Posts

                                            blockly
                                            28
                                            187
                                            25087
                                            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