Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Praktische Anwendungen (Showcase)
    4. Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben

    NEWS

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben

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

      @thegrinch
      Ich muss ein wenig schmunzeln gerade.
      Ich verstehe Dich und bin auch bei Dir.
      Das Thema hatte ich Ende letzten Jahres.
      Wir haben durch zusammenziehen 2 Waschmaschinen und 2 Trockner.
      99% der Wäsche landet im Trockner und ich habe vor 1,5 Jahren schon Sonoff Pow in den Zuleitungen zu den einzelnen Geräten angeschlossen, um den jeweiligen Verbrauch zu messen. (Bitte jetzt nichts über Messgenauigkeit etc., mir geht es hier nicht um den Euro genau).
      Jetzt war es natürlich einfach, da ich bisher einen "festen" Strompreis hatte (Tibber ab 1.3.2023).
      Und ich habe ihr auch immer gesagt, trockne doch mal an der Luft, das kostet zuviel Strom...

      Was soll ich sagen, am Jahresende kam sie auf mich zu, fragte, was haben wir denn im Jahr verbraucht an kWh für die Trockner und was hat es gekostet... Ich war selber erstaunt, für beide Trockner hatten wir knapp über 150€ im Jahr an Stromkosten..
      Da fing sie an zu lachen und sagte mir nur, dann gebe ich dir 10€ im Monat extra, dafür habe ich die Arbeit mit aufhängen etc nicht .. puff meine Argumentationskette war weg...
      Um ehrlich zu sein, hatte ich auch mit mehr gerechnet, aber ich musste ihr Recht geben.

      Was ich jetzt schon gemacht habe, ich habe eine Monitor im Flur hängen als Visualisierung, da sieht man sofort den stündlichen Strompreis von Tibber und ab März gehts los.
      Sie hat es verstanden, dass sie etwas darauf achten wird, wann sie die Waschmaschinen und Co anschmeisst. Aber ich bin auch ehrlich, ich erwarte nicht, dass sie den Timer auf nachts stellt und morgens vor der Arbeit noch alles ausräumt, einsortiert etc.. dazu hätte ich auch keine Lust.
      Man sollte da auch die Kirche im Dorf lassen. Für mich geht es nicht, immer den tiefsten Punkt zu treffen, dass kann ich nachts mit e-Auto laden machen, der Rest sollte zweckmäßig und im Alltag integrierbar sein.
      Und wenn ich dann mal statt für unter 20Cent, mal für knapp über 30Cent wasche, bin ich trotzdem noch günstiger als die mindestens 40Cent woanders.
      Interessant ist ja schon mal der Verbrauch wie @ThomKast schon schrieb.
      Im Zweifel kann man in so einem Fall händisch ausrechnen.
      Allerdings wenn jemand eine einfache Formel/Blockly/Script dafür hat, bin ich offen dafür 😉

      T 1 Reply Last reply Reply Quote 1
      • T
        theGrinch @tugsi last edited by

        @tugsi Touché würde ich sagen.

        Ich hab das Skript aktuell für den Geschirrspüler im Einsatz und in den vis (Handy und Monitor) ein Dropdown für die einzelnen Nutzungsarten - sowie einen Shelly button1 der auch auf "sofort" schaltet. Damit lässt sich das echt gut nutzen.

        WM kommt als nächstes, beim Trockner wird's bei uns scheitern weil die nasse Wäsche nicht so lange drin liegen soll.

        tugsi 1 Reply Last reply Reply Quote 0
        • tugsi
          tugsi @theGrinch last edited by

          @thegrinch Abgesehen von dem, was ich oben geschrieben habe, hat sie gesehen, was die PS4 verbraucht hat in dem Jahr... 😄 da sollte man(n) dann manchmal die Klappe halten *lach
          Ich bin Elektriker und wir haben bei uns in der Industrieanlage quasi jeden Verbraucher erfasst und so ähnlich möchte ich auch, zumindestens so Verbrauchergruppen erfassen, einfach der Neugierde/Spieltrieb heraus, was fliesst wohin.
          Ich denke nächste Woche hänge ich einen Shelly 3EM an den Durchlauferhitzer, meiner Meinung nach, der Hauptverbraucher, bei 2 Frauen im Hause, die gerne duschen und baden...

          1 Reply Last reply Reply Quote 1
          • S
            shellyrulestheworld @ThomKast last edited by

            @thomkast Ich habe jetzt das Blockly ein bisschen auf meine Bedürfnisse angepasst. Mit der Spümaschine kämpfe ich gerade noch ein bisschen wegen der Endeleistung und Dauer.

            Das ist das Profil:
            Screenshot 2023-01-23 151825.png Screenshot 2023-01-23 151750.png

            das Ende zu bestimmen ist echt schwierig. Weil davor bleibt die Leistung ja öfters mal bei 0 und am Ende steht sie dann komplett auf 0. Und bei 0 wird halt nichts mehr aktualisiert und die Prüfung kommt dann nicht mehr rein.
            Screenshot 2023-01-23 152258.png

            Das hier waren meine ersten Versuchswerte:
            Screenshot 2023-01-23 152326.png

            tugsi 1 Reply Last reply Reply Quote 0
            • tugsi
              tugsi @shellyrulestheworld last edited by

              @shellyrulestheworld said in Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben:

              das Ende zu bestimmen ist echt schwierig. Weil davor bleibt die Leistung ja öfters mal bei 0 und am Ende steht sie dann komplett auf 0. Und bei 0 wird halt nichts mehr aktualisiert und die Prüfung kommt dann nicht mehr rein.

              Ich hab ein Blockly hier mal im Forum gefunden, der setzt einen Zähler, der alle 10s um einen erhöht wird und wenn dann der Wert über eine bestimmte Wattzahl geht, wird der Zähler wieder zurückgesetzt.
              Wenn der Wert des Zählers X erreicht hat (x mal 10s), dann kommt die Meldung, Maschine fertig.
              Ich habe das bei der Waschmaschine und Trockner, klappt recht gut, ausser bei bestimmten Programmen, wo lange Leerlaufzeiten sind, aber selbst die kannst ja mit dem Zählerwert anpassen.
              Hier mal das Beispiel mit der Spülmaschine, nicht wundern über die Wattzahl, meine Spülmaschine verbraucht 3-4W wenn das Display an ist und es geht erst dann aus, wenn sie fertig ist, also hier bräuchte ich noch nicht mal den Zähler.
              Bildschirm­foto 2023-01-24 um 00.22.54.png

              1 Reply Last reply Reply Quote 1
              • H
                homecineplexx last edited by

                Hallo
                da ich mit Blockly wirklich sehr wenig anfange, hab ich sie mir runtergeladen, importiert und in JavaScript konvertieren lassen.
                da gibs eine Funktion jsonataExpression, kann mir jemand kurz erklären was die so macht?

                T 1 Reply Last reply Reply Quote 0
                • T
                  ThomKast @homecineplexx last edited by

                  @homecineplexx
                  Wie wäre es mal mit Tante Google? Z. B. Jasonata.Org

                  H 1 Reply Last reply Reply Quote 0
                  • H
                    homecineplexx @ThomKast last edited by

                    @thomkast danke für diesen konstruktiven beitrag..hab ich gemacht

                    T 1 Reply Last reply Reply Quote 0
                    • T
                      theGrinch last edited by

                      Okay, neue Frage.
                      Ich hatte es gerade zum 2. Mal, dass ich in einer günstigen Stunde (22 Uhr 06) den Geschirrspüler anstelle und er jetzt aber (mutmaßlich bis 23 Uhr) wartet um loszulegen.

                      Ich habe das Skript nicht genug durchdrungen, aber prüft es evtl nicht ob JETZT grad günstig ist?

                      Sonst funktioniert es übrigens so super, dass ich demnächst tibber die Steuerung mei er easee wallbox entziehen und das auch über das Skript lösen werde.

                      T 1 Reply Last reply Reply Quote 0
                      • T
                        ThomKast @theGrinch last edited by ThomKast

                        @thegrinch
                        Moinsen 🙂 Und Du hast das Script schon richtig verstanden...

                        Wenn die Betriebsart bereits auf "epex" steht und die SM eingeschaltet wird, wird beim Erkennen des Spülbeginns erstmal die TSD abgeschaltet. Da nur stündlich auf die "günstigen Stunden" geprüft wird, beginnt der Reinigungsvorgang erst zur nächsten vollen Stunde.

                        Das ist unglücklich. Sehe ich auch so. Hat mich bislang nicht gestört, da die Spülmaschine meist gegen 2200 eingeräumt ist und gestartet wird und die günstigen Stunden meist erst ab 2300 oder in den ersten Morgenstunden auftreten. Aber Du hast Recht... je nachdem wie groß der %-tuale Aufschlag ausfällt oder wann die SM eingeschaltet wird, kann auch eine aktuelle Stunde eine "günstige Stunde" sein.

                        Wenn Du möchtest kannst Du gerne folgende Script-Erweiterung an 2 Stellen einbringen:

                        1. Beim Prüfen auf einen Betriebsartwechsel:
                          1b0b5afc-4298-4c3e-b1ec-e25c55311c97-image.pngDas ist für den Fall nötig, dass die SM bereits angelaufen ist und die TSD abgeschaltet wurde und erst danach in die Betriebsart "epex" gewechselt wird.

                        2. Beim prüfen der TSD-Abschaltung:
                          278ce8f1-bff9-4dd5-8b2e-0a0a836060da-image.png Das ist für die Fälle, in denen bereits die Betriebsart "epex" gesetzt ist und die SM in einer "günstigen Stunde" eingeschaltet wird. Dadurch wird direkt auf die "günstigen Stunden" geprüft.

                        Du kannst nun entweder die Ergänzungen selbst einbauen, oder im ersten Thread das angepasst Geräte-Script runterladen.

                        Ein Sichern des alten Scripts kann evtl. nicht schaden 😁 bf0b67d0-2a91-4b85-b800-63424a5ad9ce-image.png

                        Vielen Dank für Deine Anregung und beste Grüße, Thomas

                        T 1 Reply Last reply Reply Quote 0
                        • T
                          ThomKast @homecineplexx last edited by ThomKast

                          @homecineplexx

                          Ich kann Dir hier nicht die Grundlagen von JSON erklären. Grob gesagt ist es so was wie eine Adressierung. Ich vermute aber mal, Du meinst diese Stelle im Script...
                          98ee9aa7-3b42-4772-bf13-f1475ef0feef-image.png

                          In aller Kürze!..!

                          Du hast die Preisinformationen im Datenpunkt: 0_userdata.0.Tibber.Stundenpreise_heute und die sehen unter "Objekte" so aus:
                          d511999a-6563-468a-b30d-e544f9b202ec-image.png

                          In der ersten Zeile erkennst Du schon den Aufbau
                          0679af59-6adc-44ba-ba07-96705e037501-image.png
                          Erst "data", dann "viewer", dann "homes" aber homes hat eine eckige Klammer "[" also wird "homes" durchnummeriert, dann "priceInfo", dann "tomorrow"" und "today", wobei "today" wieder eine eckige Klammer "[" hat, also wieder durchgezählt wird.

                          Mit JSONATA-Ausdruck kannst Du nun auf die einzelnen Informationen in JSON-String quasi "adressieren". Ein Bsp mit vereinfachtem String:

                          {"data":{"viewer":{"priceInfo":{"today":[{"total":0.3427,"energy":0.1548,"tax":0.1879,"startsAt":"2023-01-29T00:00:00.000+01:00"},{"total":0.3127,"energy":0.1297,"tax":0.183,"startsAt":"2023-01-29T01:00:00.000+01:00"}]}}}}

                          Da die "total"-Werte mehrfach und in "[" enthalten sind, werden diese durchgezählt. Der erste Werte mit "0", der nächste mit "1" usw. - im Bsp. also nur 0 + 1.
                          Um also den Gesamtpreis "total" in der ersten Stunde - also Stunde 00:00:00 bis 00:59:59 - abzufragen benutzt man JSONATA mit data.viewer.priceInfo.[0].total

                          04bc00a8-246d-49a3-9156-b67f5563c81b-image.png

                          Dieser Aufruf liefert den Wert "0,3427".

                          Über 0e386903-1dc7-4082-9dbc-6dca063ea906-image.png würdest Du den reinen Aufschlag "tax" der zweiten Stunde - also von 01:00:00 bis 01:59:59) abfragen und damit "0,183" erhalten.

                          Da wir mit JSON-Strings arbeiten, aber mit die Preis-Informationen als Zahlen benötigen, muss noch die "Wandlung nach ZAHL" erfolgen.

                          Hoffe, es wird Dir damit etwas klarer. Für Grundlagen kann ich die Kurse von @haus-automatisierung empfehlen. Dort wird auch JSON erstklassig erläutert.
                          Von Matthias habe ich 90% meines Wissens erlernt 👍

                          H 1 Reply Last reply Reply Quote 1
                          • H
                            homecineplexx @ThomKast last edited by

                            @thomkast danke danke...ich kenn mich mit JSON aus, nur hab ich den JSONATA noch nie gesehen davor.
                            und ja jetzt ist es klar.
                            ich verwende ja auch nicht Tibber, sondern Awattar und da schaut die JSON struktur natürlich anders aus. daher versuch ich das ganze auf meine probleme anzuwenden

                            danke nochmals

                            haus-automatisierung 1 Reply Last reply Reply Quote 0
                            • haus-automatisierung
                              haus-automatisierung Developer Most Active @homecineplexx last edited by

                              @homecineplexx sagte in Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben:

                              ich verwende ja auch nicht Tibber, sondern Awattar

                              Für Awattar gibts doch sogar einen Adapter.

                              H 1 Reply Last reply Reply Quote 0
                              • H
                                homecineplexx @haus-automatisierung last edited by homecineplexx

                                @haus-automatisierung ja, danke das weiß ich und den verwende ich auch, allerdings bringt der dir die Daten und wenn du die zeit eingibst in der dich die stunden interessieren, kommen die auch nicht korrekt, aber gut, das brauch ich ja auch nicht!

                                plus es kommt ja dann auch noch die PV-Vorhersage dazu

                                ___manalishi 1 Reply Last reply Reply Quote 0
                                • T
                                  theGrinch @ThomKast last edited by

                                  @thomkast danke. Hab's eben angepasst und funktioniert! (aktuelle Stunde einfach dreist im Objekt dazugetragen zum Testen)

                                  1 Reply Last reply Reply Quote 1
                                  • H
                                    HD666 @ThomKast last edited by

                                    @thomkast Hallo, erst einmal Danke für die Arbeit. Es hat alles erst ohne Fehler funktioniert. Nun habe ich zwei Probleme. 1. Die Daten werden über den Zeitplan abgeholt und richtig unter Stundenpreise_heute und _morgen abgelegt. Jedoch werden die Daten nicht gesplittet und kopiert. Ich bekomme nur (null). 2. Ich kann keine Daten manuell abholen.

                                    18:55:01.835	info	javascript.0 (23598) script.js.Tibber.Tibber_Script: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                    18:55:39.571	info	javascript.0 (23598) Stop script script.js.Tibber.Tibber_Script
                                    18:55:39.576	info	javascript.0 (23598) Start javascript script.js.Tibber.Tibber_Script
                                    18:55:39.578	info	javascript.0 (23598) script.js.Tibber.Tibber_Script: registered 2 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                    
                                    T 1 Reply Last reply Reply Quote 0
                                    • T
                                      ThomKast @HD666 last edited by

                                      @hd666 sagte in Geräte zu Stundenpreisen (EPEX) oder PV-Überschuss betreiben:

                                      Dazu bedarf es ein paar mehr Informationen...
                                      Der Ausgangspunkt wäre, wenn die JSON-Informationen in den beiden Datenpunkten

                                      • 0_userdata.0.Tibber.Stundenpreise_morgen
                                      • 0_userdata.0.Tibber.Stundenpreise_morgen

                                      liegen. Aber auch genau dort....
                                      Dann könntest Du im Script im 2. Abschnitt die ersten beiden objekte "aktivieren"

                                      c0e496b6-da58-4dba-b534-4aae0b8a6c27-image.png

                                      Sobald Du das Script speicherst, werden zuerst im 1. Abschnitt die Variablen geladen und dann die Preise aufgeteilt. Mit "heute" oder "morgen" entscheidest Du, welche Preise aufgeteilt werden sollen.

                                      Um noch weiter zu kontrollieren, könntest Du einen "DEBUG" in die Funktion 6.2 einbauen. So wie hier abgebildet:
                                      7a89ab2c-6f0e-48bf-bee8-61c87ee3a90c-image.png
                                      Damit kannst Du im LOG schauen, welche Stundenwerte geschrieben wurden.

                                      H 1 Reply Last reply Reply Quote 0
                                      • H
                                        HD666 @ThomKast last edited by HD666

                                        @thomkast vielen Dank für die schnelle Antwort.

                                        JSON von 0_userdata.0.Tibber.Stundenpreise_heute (keine Änderung bei Aktivierung der ersten beiden Objekte im 2.Abschnitt), ebenso bei _morgen

                                        {"data":{"viewer":{"homes":[{"currentSubscription":null},{"currentSubscription":{"priceInfo":{"today":[{"total":0.3353,"energy":0.1083,"tax":0.227,"startsAt":"2023-02-03T00:00:00.000+01:00"},{"total":0.3257,"energy":0.1003,"tax":0.2254,"startsAt":"2023-02-03T01:00:00.000+01:00"},{"total":0.3181,"energy":0.0938,"tax":0.2243,"startsAt":"2023-02-03T02:00:00.000+01:00"},{"total":0.3109,"energy":0.0878,"tax":0.2231,"startsAt":"2023-02-03T03:00:00.000+01:00"},{"total":0.3064,"energy":0.084,"tax":0.2224,"startsAt":"2023-02-03T04:00:00.000+01:00"},{"total":0.3123,"energy":0.089,"tax":0.2233,"startsAt":"2023-02-03T05:00:00.000+01:00"},{"total":0.3257,"energy":0.1003,"tax":0.2254,"startsAt":"2023-02-03T06:00:00.000+01:00"},{"total":0.3346,"energy":0.1077,"tax":0.2269,"startsAt":"2023-02-03T07:00:00.000+01:00"},{"total":0.3378,"energy":0.1104,"tax":0.2274,"startsAt":"2023-02-03T08:00:00.000+01:00"},{"total":0.3373,"energy":0.11,"tax":0.2273,"startsAt":"2023-02-03T09:00:00.000+01:00"},{"total":0.3227,"energy":0.0977,"tax":0.225,"startsAt":"2023-02-03T10:00:00.000+01:00"},{"total":0.3287,"energy":0.1028,"tax":0.2259,"startsAt":"2023-02-03T11:00:00.000+01:00"},{"total":0.3278,"energy":0.102,"tax":0.2258,"startsAt":"2023-02-03T12:00:00.000+01:00"},{"total":0.3244,"energy":0.0992,"tax":0.2252,"startsAt":"2023-02-03T13:00:00.000+01:00"},{"total":0.3229,"energy":0.0979,"tax":0.225,"startsAt":"2023-02-03T14:00:00.000+01:00"},{"total":0.3278,"energy":0.102,"tax":0.2258,"startsAt":"2023-02-03T15:00:00.000+01:00"},{"total":0.3346,"energy":0.1077,"tax":0.2269,"startsAt":"2023-02-03T16:00:00.000+01:00"},{"total":0.3402,"energy":0.1124,"tax":0.2278,"startsAt":"2023-02-03T17:00:00.000+01:00"},{"total":0.3415,"energy":0.1135,"tax":0.228,"startsAt":"2023-02-03T18:00:00.000+01:00"},{"total":0.335,"energy":0.1081,"tax":0.2269,"startsAt":"2023-02-03T19:00:00.000+01:00"},{"total":0.3298,"energy":0.1037,"tax":0.2261,"startsAt":"2023-02-03T20:00:00.000+01:00"},{"total":0.3289,"energy":0.103,"tax":0.2259,"startsAt":"2023-02-03T21:00:00.000+01:00"},{"total":0.3411,"energy":0.1132,"tax":0.2279,"startsAt":"2023-02-03T22:00:00.000+01:00"},{"total":0.3347,"energy":0.1078,"tax":0.2269,"startsAt":"2023-02-03T23:00:00.000+01:00"}]}}}]}}}
                                        
                                        {"data":{"viewer":{"homes":[{"currentSubscription":null},{"currentSubscription":{"priceInfo":{"tomorrow":[{"total":0.3246,"energy":0.0994,"tax":0.2252,"startsAt":"2023-02-04T00:00:00.000+01:00"},{"total":0.3328,"energy":0.1062,"tax":0.2266,"startsAt":"2023-02-04T01:00:00.000+01:00"},{"total":0.3411,"energy":0.1132,"tax":0.2279,"startsAt":"2023-02-04T02:00:00.000+01:00"},{"total":0.3513,"energy":0.1218,"tax":0.2295,"startsAt":"2023-02-04T03:00:00.000+01:00"},{"total":0.3556,"energy":0.1254,"tax":0.2302,"startsAt":"2023-02-04T04:00:00.000+01:00"},{"total":0.3581,"energy":0.1274,"tax":0.2307,"startsAt":"2023-02-04T05:00:00.000+01:00"},{"total":0.3698,"energy":0.1373,"tax":0.2325,"startsAt":"2023-02-04T06:00:00.000+01:00"},{"total":0.3924,"energy":0.1563,"tax":0.2361,"startsAt":"2023-02-04T07:00:00.000+01:00"},{"total":0.4018,"energy":0.1642,"tax":0.2376,"startsAt":"2023-02-04T08:00:00.000+01:00"},{"total":0.4085,"energy":0.1698,"tax":0.2387,"startsAt":"2023-02-04T09:00:00.000+01:00"},{"total":0.4017,"energy":0.1641,"tax":0.2376,"startsAt":"2023-02-04T10:00:00.000+01:00"},{"total":0.3925,"energy":0.1564,"tax":0.2361,"startsAt":"2023-02-04T11:00:00.000+01:00"},{"total":0.3835,"energy":0.1488,"tax":0.2347,"startsAt":"2023-02-04T12:00:00.000+01:00"},{"total":0.3651,"energy":0.1334,"tax":0.2317,"startsAt":"2023-02-04T13:00:00.000+01:00"},{"total":0.366,"energy":0.1341,"tax":0.2319,"startsAt":"2023-02-04T14:00:00.000+01:00"},{"total":0.3749,"energy":0.1416,"tax":0.2333,"startsAt":"2023-02-04T15:00:00.000+01:00"},{"total":0.3913,"energy":0.1554,"tax":0.2359,"startsAt":"2023-02-04T16:00:00.000+01:00"},{"total":0.4091,"energy":0.1703,"tax":0.2388,"startsAt":"2023-02-04T17:00:00.000+01:00"},{"total":0.4256,"energy":0.1842,"tax":0.2414,"startsAt":"2023-02-04T18:00:00.000+01:00"},{"total":0.4206,"energy":0.18,"tax":0.2406,"startsAt":"2023-02-04T19:00:00.000+01:00"},{"total":0.4062,"energy":0.1679,"tax":0.2383,"startsAt":"2023-02-04T20:00:00.000+01:00"},{"total":0.3946,"energy":0.1581,"tax":0.2365,"startsAt":"2023-02-04T21:00:00.000+01:00"},{"total":0.3877,"energy":0.1524,"tax":0.2353,"startsAt":"2023-02-04T22:00:00.000+01:00"},{"total":0.369,"energy":0.1367,"tax":0.2323,"startsAt":"2023-02-04T23:00:00.000+01:00"}]}}}]}}}
                                        

                                        Nutze ich den Zeitplan, der die Daten aktualisiert.

                                        {"data":{"viewer":{"homes":[{"currentSubscription":null},{"currentSubscription":{"priceInfo":{"today":[{"total":0.3246,"energy":0.0994,"tax":0.2252,"startsAt":"2023-02-04T00:00:00.000+01:00"},{"total":0.3328,"energy":0.1062,"tax":0.2266,"startsAt":"2023-02-04T01:00:00.000+01:00"},{"total":0.3411,"energy":0.1132,"tax":0.2279,"startsAt":"2023-02-04T02:00:00.000+01:00"},{"total":0.3513,"energy":0.1218,"tax":0.2295,"startsAt":"2023-02-04T03:00:00.000+01:00"},{"total":0.3556,"energy":0.1254,"tax":0.2302,"startsAt":"2023-02-04T04:00:00.000+01:00"},{"total":0.3581,"energy":0.1274,"tax":0.2307,"startsAt":"2023-02-04T05:00:00.000+01:00"},{"total":0.3698,"energy":0.1373,"tax":0.2325,"startsAt":"2023-02-04T06:00:00.000+01:00"},{"total":0.3924,"energy":0.1563,"tax":0.2361,"startsAt":"2023-02-04T07:00:00.000+01:00"},{"total":0.4018,"energy":0.1642,"tax":0.2376,"startsAt":"2023-02-04T08:00:00.000+01:00"},{"total":0.4085,"energy":0.1698,"tax":0.2387,"startsAt":"2023-02-04T09:00:00.000+01:00"},{"total":0.4017,"energy":0.1641,"tax":0.2376,"startsAt":"2023-02-04T10:00:00.000+01:00"},{"total":0.3925,"energy":0.1564,"tax":0.2361,"startsAt":"2023-02-04T11:00:00.000+01:00"},{"total":0.3835,"energy":0.1488,"tax":0.2347,"startsAt":"2023-02-04T12:00:00.000+01:00"},{"total":0.3651,"energy":0.1334,"tax":0.2317,"startsAt":"2023-02-04T13:00:00.000+01:00"},{"total":0.366,"energy":0.1341,"tax":0.2319,"startsAt":"2023-02-04T14:00:00.000+01:00"},{"total":0.3749,"energy":0.1416,"tax":0.2333,"startsAt":"2023-02-04T15:00:00.000+01:00"},{"total":0.3913,"energy":0.1554,"tax":0.2359,"startsAt":"2023-02-04T16:00:00.000+01:00"},{"total":0.4091,"energy":0.1703,"tax":0.2388,"startsAt":"2023-02-04T17:00:00.000+01:00"},{"total":0.4256,"energy":0.1842,"tax":0.2414,"startsAt":"2023-02-04T18:00:00.000+01:00"},{"total":0.4206,"energy":0.18,"tax":0.2406,"startsAt":"2023-02-04T19:00:00.000+01:00"},{"total":0.4062,"energy":0.1679,"tax":0.2383,"startsAt":"2023-02-04T20:00:00.000+01:00"},{"total":0.3946,"energy":0.1581,"tax":0.2365,"startsAt":"2023-02-04T21:00:00.000+01:00"},{"total":0.3877,"energy":0.1524,"tax":0.2353,"startsAt":"2023-02-04T22:00:00.000+01:00"},{"total":0.369,"energy":0.1367,"tax":0.2323,"startsAt":"2023-02-04T23:00:00.000+01:00"}]}}}]}}}
                                        

                                        Hier noch der Log von heute inkl. manueller Abholung, Zeitplan und DEBUG. Ich hab es bei den Punkten _heute und _morgen _4 - _23 ein bisschen eingedampft.

                                        4.2.2023, 12:58:28.897	[info ]: javascript.0 (23598) Start javascript script.js.Tibber.Tibber_Script
                                        4.2.2023, 12:58:28.906	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis, timerId=undefined) => {"val":null,"ack":true,"ts":1675465320007,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675465320007}
                                        4.2.2023, 12:58:28.906	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis_Stunde, timerId=undefined) => {"val":0,"ack":true,"ts":1675465320007,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250817251}
                                        4.2.2023, 12:58:28.906	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese, timerId=undefined) => {"val":10,"ack":true,"ts":1675366195204,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675280410393}
                                        4.2.2023, 12:58:28.906	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese_Stunden, timerId=undefined) => {"val":"","ack":true,"ts":1675465320012,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250843001}
                                        4.2.2023, 12:58:28.906	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Abholzeit, timerId=undefined) => {"val":"21:02","ack":false,"ts":1675454382655,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675454382655}
                                        4.2.2023, 12:58:28.906	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_heute, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"today\":[{\"total\":0.3353,\"energy\":0.1083,\"tax\":0.227,\"startsAt\":\"2023-02-03T00:00:00.000+01:00\"},{\"total\":0.3257,\"energy\":0.1003,\"tax\":0.2254,\"startsAt\":\"2023-02-03T01:00:00.000+01:00\"},{\"total\":0.3181,\"energy\":0.0938,\"tax\":0.2243,\"startsAt\":\"2023-02-03T02:00:00.000+01:00\"},{\"total\":0.3109,\"energy\":0.0878,\"tax\":0.2231,\"startsAt\":\"2023-02-03T03:00:00.000+01:00\"},{\"total\":0.3064,\"energy\":0.084,\"tax\":0.2224,\"startsAt\":\"2023-02-03T04:00:00.000+01:00\"},{\"total\":0.3123,\"energy\":0.089,\"tax\":0.2233,\"startsAt\":\"2023-02-03T05:00:00.000+01:00\"},{\"total\":0.3257,\"energy\":0.1003,\"tax\":0.2254,\"startsAt\":\"2023-02-03T06:00:00.000+01:00\"},{\"total\":0.3346,\"energy\":0.1077,\"tax\":0.2269,\"startsAt\":\"2023-02-03T07:00:00.000+01:00\"},{\"total\":0.3378,\"energy\":0.1104,\"tax\":0.2274,\"startsAt\":\"2023-02-03T08:00:00.000+01:00\"},{\"total\":0.3373,\"energy\":0.11,\"tax\":0.2273,\"startsAt\":\"2023-02-03T09:00:00.000+01:00\"},{\"total\":0.3227,\"energy\":0.0977,\"tax\":0.225,\"startsAt\":\"2023-02-03T10:00:00.000+01:00\"},{\"total\":0.3287,\"energy\":0.1028,\"tax\":0.2259,\"startsAt\":\"2023-02-03T11:00:00.000+01:00\"},{\"total\":0.3278,\"energy\":0.102,\"tax\":0.2258,\"startsAt\":\"2023-02-03T12:00:00.000+01:00\"},{\"total\":0.3244,\"energy\":0.0992,\"tax\":0.2252,\"startsAt\":\"2023-02-03T13:00:00.000+01:00\"},{\"total\":0.3229,\"energy\":0.0979,\"tax\":0.225,\"startsAt\":\"2023-02-03T14:00:00.000+01:00\"},{\"total\":0.3278,\"energy\":0.102,\"tax\":0.2258,\"startsAt\":\"2023-02-03T15:00:00.000+01:00\"},{\"total\":0.3346,\"energy\":0.1077,\"tax\":0.2269,\"startsAt\":\"2023-02-03T16:00:00.000+01:00\"},{\"total\":0.3402,\"energy\":0.1124,\"tax\":0.2278,\"startsAt\":\"2023-02-03T17:00:00.000+01:00\"},{\"total\":0.3415,\"energy\":0.1135,\"tax\":0.228,\"startsAt\":\"2023-02-03T18:00:00.000+01:00\"},{\"total\":0.335,\"energy\":0.1081,\"tax\":0.2269,\"startsAt\":\"2023-02-03T19:00:00.000+01:00\"},{\"total\":0.3298,\"energy\":0.1037,\"tax\":0.2261,\"startsAt\":\"2023-02-03T20:00:00.000+01:00\"},{\"total\":0.3289,\"energy\":0.103,\"tax\":0.2259,\"startsAt\":\"2023-02-03T21:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-03T22:00:00.000+01:00\"},{\"total\":0.3347,\"energy\":0.1078,\"tax\":0.2269,\"startsAt\":\"2023-02-03T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675454520199,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675454520199}
                                        4.2.2023, 12:58:28.906	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_morgen, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"tomorrow\":[{\"total\":0.3246,\"energy\":0.0994,\"tax\":0.2252,\"startsAt\":\"2023-02-04T00:00:00.000+01:00\"},{\"total\":0.3328,\"energy\":0.1062,\"tax\":0.2266,\"startsAt\":\"2023-02-04T01:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-04T02:00:00.000+01:00\"},{\"total\":0.3513,\"energy\":0.1218,\"tax\":0.2295,\"startsAt\":\"2023-02-04T03:00:00.000+01:00\"},{\"total\":0.3556,\"energy\":0.1254,\"tax\":0.2302,\"startsAt\":\"2023-02-04T04:00:00.000+01:00\"},{\"total\":0.3581,\"energy\":0.1274,\"tax\":0.2307,\"startsAt\":\"2023-02-04T05:00:00.000+01:00\"},{\"total\":0.3698,\"energy\":0.1373,\"tax\":0.2325,\"startsAt\":\"2023-02-04T06:00:00.000+01:00\"},{\"total\":0.3924,\"energy\":0.1563,\"tax\":0.2361,\"startsAt\":\"2023-02-04T07:00:00.000+01:00\"},{\"total\":0.4018,\"energy\":0.1642,\"tax\":0.2376,\"startsAt\":\"2023-02-04T08:00:00.000+01:00\"},{\"total\":0.4085,\"energy\":0.1698,\"tax\":0.2387,\"startsAt\":\"2023-02-04T09:00:00.000+01:00\"},{\"total\":0.4017,\"energy\":0.1641,\"tax\":0.2376,\"startsAt\":\"2023-02-04T10:00:00.000+01:00\"},{\"total\":0.3925,\"energy\":0.1564,\"tax\":0.2361,\"startsAt\":\"2023-02-04T11:00:00.000+01:00\"},{\"total\":0.3835,\"energy\":0.1488,\"tax\":0.2347,\"startsAt\":\"2023-02-04T12:00:00.000+01:00\"},{\"total\":0.3651,\"energy\":0.1334,\"tax\":0.2317,\"startsAt\":\"2023-02-04T13:00:00.000+01:00\"},{\"total\":0.366,\"energy\":0.1341,\"tax\":0.2319,\"startsAt\":\"2023-02-04T14:00:00.000+01:00\"},{\"total\":0.3749,\"energy\":0.1416,\"tax\":0.2333,\"startsAt\":\"2023-02-04T15:00:00.000+01:00\"},{\"total\":0.3913,\"energy\":0.1554,\"tax\":0.2359,\"startsAt\":\"2023-02-04T16:00:00.000+01:00\"},{\"total\":0.4091,\"energy\":0.1703,\"tax\":0.2388,\"startsAt\":\"2023-02-04T17:00:00.000+01:00\"},{\"total\":0.4256,\"energy\":0.1842,\"tax\":0.2414,\"startsAt\":\"2023-02-04T18:00:00.000+01:00\"},{\"total\":0.4206,\"energy\":0.18,\"tax\":0.2406,\"startsAt\":\"2023-02-04T19:00:00.000+01:00\"},{\"total\":0.4062,\"energy\":0.1679,\"tax\":0.2383,\"startsAt\":\"2023-02-04T20:00:00.000+01:00\"},{\"total\":0.3946,\"energy\":0.1581,\"tax\":0.2365,\"startsAt\":\"2023-02-04T21:00:00.000+01:00\"},{\"total\":0.3877,\"energy\":0.1524,\"tax\":0.2353,\"startsAt\":\"2023-02-04T22:00:00.000+01:00\"},{\"total\":0.369,\"energy\":0.1367,\"tax\":0.2323,\"startsAt\":\"2023-02-04T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675454522228,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675454522228}
                                        4.2.2023, 12:58:28.906	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_0, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:58:28.907	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_0, state={"val":null,"ack":true,"ts":1675511908906,"q":0,"from":"system.adapter.javascript.0","lc":1675511908906,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 12:58:28.907	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_1, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:58:28.907	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_1, state={"val":null,"ack":true,"ts":1675511908907,"q":0,"from":"system.adapter.javascript.0","lc":1675511908907,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 12:58:28.907	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_2, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:58:28.907	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_2, state={"val":null,"ack":true,"ts":1675511908907,"q":0,"from":"system.adapter.javascript.0","lc":1675511908907,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 12:58:28.907	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_3, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:58:28.907	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_3, state={"val":null,"ack":true,"ts":1675511908907,"q":0,"from":"system.adapter.javascript.0","lc":1675511908907,"c":"script.js.Tibber.Tibber_Script"})
                                        
                                        4.2.2023, 12:58:28.920	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:58:28.920	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet, state={"val":null,"ack":true,"ts":1675511908920,"q":0,"from":"system.adapter.javascript.0","lc":1675511908920,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 12:58:28.920	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                        4.2.2023, 12:58:28.920	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Preis_Hysterese","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 12:58:28.920	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Abholzeit","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 12:58:28.922	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=02 21 * * *)
                                        4.2.2023, 12:58:28.923	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=2 0 * * *)
                                        4.2.2023, 12:59:12.780	[info ]: javascript.0 (23598) Stop script script.js.Tibber.Tibber_Script
                                        4.2.2023, 12:59:12.784	[info ]: javascript.0 (23598) Start javascript script.js.Tibber.Tibber_Script
                                        4.2.2023, 12:59:12.790	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis, timerId=undefined) => {"val":null,"ack":true,"ts":1675465320007,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675465320007}
                                        4.2.2023, 12:59:12.790	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis_Stunde, timerId=undefined) => {"val":0,"ack":true,"ts":1675465320007,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250817251}
                                        4.2.2023, 12:59:12.790	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese, timerId=undefined) => {"val":10,"ack":true,"ts":1675366195204,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675280410393}
                                        4.2.2023, 12:59:12.790	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese_Stunden, timerId=undefined) => {"val":"","ack":true,"ts":1675465320012,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250843001}
                                        4.2.2023, 12:59:12.790	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Abholzeit, timerId=undefined) => {"val":"21:02","ack":false,"ts":1675454382655,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675454382655}
                                        4.2.2023, 12:59:12.791	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_heute, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"today\":[{\"total\":0.3353,\"energy\":0.1083,\"tax\":0.227,\"startsAt\":\"2023-02-03T00:00:00.000+01:00\"},{\"total\":0.3257,\"energy\":0.1003,\"tax\":0.2254,\"startsAt\":\"2023-02-03T01:00:00.000+01:00\"},{\"total\":0.3181,\"energy\":0.0938,\"tax\":0.2243,\"startsAt\":\"2023-02-03T02:00:00.000+01:00\"},{\"total\":0.3109,\"energy\":0.0878,\"tax\":0.2231,\"startsAt\":\"2023-02-03T03:00:00.000+01:00\"},{\"total\":0.3064,\"energy\":0.084,\"tax\":0.2224,\"startsAt\":\"2023-02-03T04:00:00.000+01:00\"},{\"total\":0.3123,\"energy\":0.089,\"tax\":0.2233,\"startsAt\":\"2023-02-03T05:00:00.000+01:00\"},{\"total\":0.3257,\"energy\":0.1003,\"tax\":0.2254,\"startsAt\":\"2023-02-03T06:00:00.000+01:00\"},{\"total\":0.3346,\"energy\":0.1077,\"tax\":0.2269,\"startsAt\":\"2023-02-03T07:00:00.000+01:00\"},{\"total\":0.3378,\"energy\":0.1104,\"tax\":0.2274,\"startsAt\":\"2023-02-03T08:00:00.000+01:00\"},{\"total\":0.3373,\"energy\":0.11,\"tax\":0.2273,\"startsAt\":\"2023-02-03T09:00:00.000+01:00\"},{\"total\":0.3227,\"energy\":0.0977,\"tax\":0.225,\"startsAt\":\"2023-02-03T10:00:00.000+01:00\"},{\"total\":0.3287,\"energy\":0.1028,\"tax\":0.2259,\"startsAt\":\"2023-02-03T11:00:00.000+01:00\"},{\"total\":0.3278,\"energy\":0.102,\"tax\":0.2258,\"startsAt\":\"2023-02-03T12:00:00.000+01:00\"},{\"total\":0.3244,\"energy\":0.0992,\"tax\":0.2252,\"startsAt\":\"2023-02-03T13:00:00.000+01:00\"},{\"total\":0.3229,\"energy\":0.0979,\"tax\":0.225,\"startsAt\":\"2023-02-03T14:00:00.000+01:00\"},{\"total\":0.3278,\"energy\":0.102,\"tax\":0.2258,\"startsAt\":\"2023-02-03T15:00:00.000+01:00\"},{\"total\":0.3346,\"energy\":0.1077,\"tax\":0.2269,\"startsAt\":\"2023-02-03T16:00:00.000+01:00\"},{\"total\":0.3402,\"energy\":0.1124,\"tax\":0.2278,\"startsAt\":\"2023-02-03T17:00:00.000+01:00\"},{\"total\":0.3415,\"energy\":0.1135,\"tax\":0.228,\"startsAt\":\"2023-02-03T18:00:00.000+01:00\"},{\"total\":0.335,\"energy\":0.1081,\"tax\":0.2269,\"startsAt\":\"2023-02-03T19:00:00.000+01:00\"},{\"total\":0.3298,\"energy\":0.1037,\"tax\":0.2261,\"startsAt\":\"2023-02-03T20:00:00.000+01:00\"},{\"total\":0.3289,\"energy\":0.103,\"tax\":0.2259,\"startsAt\":\"2023-02-03T21:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-03T22:00:00.000+01:00\"},{\"total\":0.3347,\"energy\":0.1078,\"tax\":0.2269,\"startsAt\":\"2023-02-03T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675454520199,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675454520199}
                                        4.2.2023, 12:59:12.791	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_morgen, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"tomorrow\":[{\"total\":0.3246,\"energy\":0.0994,\"tax\":0.2252,\"startsAt\":\"2023-02-04T00:00:00.000+01:00\"},{\"total\":0.3328,\"energy\":0.1062,\"tax\":0.2266,\"startsAt\":\"2023-02-04T01:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-04T02:00:00.000+01:00\"},{\"total\":0.3513,\"energy\":0.1218,\"tax\":0.2295,\"startsAt\":\"2023-02-04T03:00:00.000+01:00\"},{\"total\":0.3556,\"energy\":0.1254,\"tax\":0.2302,\"startsAt\":\"2023-02-04T04:00:00.000+01:00\"},{\"total\":0.3581,\"energy\":0.1274,\"tax\":0.2307,\"startsAt\":\"2023-02-04T05:00:00.000+01:00\"},{\"total\":0.3698,\"energy\":0.1373,\"tax\":0.2325,\"startsAt\":\"2023-02-04T06:00:00.000+01:00\"},{\"total\":0.3924,\"energy\":0.1563,\"tax\":0.2361,\"startsAt\":\"2023-02-04T07:00:00.000+01:00\"},{\"total\":0.4018,\"energy\":0.1642,\"tax\":0.2376,\"startsAt\":\"2023-02-04T08:00:00.000+01:00\"},{\"total\":0.4085,\"energy\":0.1698,\"tax\":0.2387,\"startsAt\":\"2023-02-04T09:00:00.000+01:00\"},{\"total\":0.4017,\"energy\":0.1641,\"tax\":0.2376,\"startsAt\":\"2023-02-04T10:00:00.000+01:00\"},{\"total\":0.3925,\"energy\":0.1564,\"tax\":0.2361,\"startsAt\":\"2023-02-04T11:00:00.000+01:00\"},{\"total\":0.3835,\"energy\":0.1488,\"tax\":0.2347,\"startsAt\":\"2023-02-04T12:00:00.000+01:00\"},{\"total\":0.3651,\"energy\":0.1334,\"tax\":0.2317,\"startsAt\":\"2023-02-04T13:00:00.000+01:00\"},{\"total\":0.366,\"energy\":0.1341,\"tax\":0.2319,\"startsAt\":\"2023-02-04T14:00:00.000+01:00\"},{\"total\":0.3749,\"energy\":0.1416,\"tax\":0.2333,\"startsAt\":\"2023-02-04T15:00:00.000+01:00\"},{\"total\":0.3913,\"energy\":0.1554,\"tax\":0.2359,\"startsAt\":\"2023-02-04T16:00:00.000+01:00\"},{\"total\":0.4091,\"energy\":0.1703,\"tax\":0.2388,\"startsAt\":\"2023-02-04T17:00:00.000+01:00\"},{\"total\":0.4256,\"energy\":0.1842,\"tax\":0.2414,\"startsAt\":\"2023-02-04T18:00:00.000+01:00\"},{\"total\":0.4206,\"energy\":0.18,\"tax\":0.2406,\"startsAt\":\"2023-02-04T19:00:00.000+01:00\"},{\"total\":0.4062,\"energy\":0.1679,\"tax\":0.2383,\"startsAt\":\"2023-02-04T20:00:00.000+01:00\"},{\"total\":0.3946,\"energy\":0.1581,\"tax\":0.2365,\"startsAt\":\"2023-02-04T21:00:00.000+01:00\"},{\"total\":0.3877,\"energy\":0.1524,\"tax\":0.2353,\"startsAt\":\"2023-02-04T22:00:00.000+01:00\"},{\"total\":0.369,\"energy\":0.1367,\"tax\":0.2323,\"startsAt\":\"2023-02-04T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675454522228,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675454522228}
                                        4.2.2023, 12:59:12.791	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_0, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:59:12.791	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_0, state={"val":null,"ack":true,"ts":1675511952791,"q":0,"from":"system.adapter.javascript.0","lc":1675511952791,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 12:59:12.791	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_1, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:59:12.791	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_1, state={"val":null,"ack":true,"ts":1675511952791,"q":0,"from":"system.adapter.javascript.0","lc":1675511952791,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 12:59:12.792	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_2, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:59:12.792	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_2, state={"val":null,"ack":true,"ts":1675511952792,"q":0,"from":"system.adapter.javascript.0","lc":1675511952792,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 12:59:12.792	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_3, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:59:12.792	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_3, state={"val":null,"ack":true,"ts":1675511952792,"q":0,"from":"system.adapter.javascript.0","lc":1675511952792,"c":"script.js.Tibber.Tibber_Script"})
                                        
                                        4.2.2023, 12:59:12.799	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: 0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_24
                                        4.2.2023, 12:59:12.799	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 12:59:12.799	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet, state={"val":null,"ack":true,"ts":1675511952799,"q":0,"from":"system.adapter.javascript.0","lc":1675511952799,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 12:59:12.799	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: registered 0 subscriptions, 0 schedules, 0 messages, 0 logs and 0 file subscriptions
                                        4.2.2023, 12:59:12.800	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Preis_Hysterese","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 12:59:12.800	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Abholzeit","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 12:59:12.800	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=02 21 * * *)
                                        4.2.2023, 12:59:12.800	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=2 0 * * *)
                                        4.2.2023, 13:15:51.012	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: clearSchedule() => cleared
                                        4.2.2023, 13:15:51.012	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=17 13 * * *)
                                        4.2.2023, 13:16:05.921	[info ]: javascript.0 (23598) Stop script script.js.Tibber.Tibber_Script
                                        4.2.2023, 13:16:05.925	[info ]: javascript.0 (23598) Start javascript script.js.Tibber.Tibber_Script
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis, timerId=undefined) => {"val":null,"ack":true,"ts":1675465320007,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675465320007}
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis_Stunde, timerId=undefined) => {"val":0,"ack":true,"ts":1675465320007,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250817251}
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese, timerId=undefined) => {"val":10,"ack":true,"ts":1675366195204,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675280410393}
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese_Stunden, timerId=undefined) => {"val":"","ack":true,"ts":1675465320012,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250843001}
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Abholzeit, timerId=undefined) => {"val":"13:17","ack":false,"ts":1675512951011,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675512951011}
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_heute, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"today\":[{\"total\":0.3353,\"energy\":0.1083,\"tax\":0.227,\"startsAt\":\"2023-02-03T00:00:00.000+01:00\"},{\"total\":0.3257,\"energy\":0.1003,\"tax\":0.2254,\"startsAt\":\"2023-02-03T01:00:00.000+01:00\"},{\"total\":0.3181,\"energy\":0.0938,\"tax\":0.2243,\"startsAt\":\"2023-02-03T02:00:00.000+01:00\"},{\"total\":0.3109,\"energy\":0.0878,\"tax\":0.2231,\"startsAt\":\"2023-02-03T03:00:00.000+01:00\"},{\"total\":0.3064,\"energy\":0.084,\"tax\":0.2224,\"startsAt\":\"2023-02-03T04:00:00.000+01:00\"},{\"total\":0.3123,\"energy\":0.089,\"tax\":0.2233,\"startsAt\":\"2023-02-03T05:00:00.000+01:00\"},{\"total\":0.3257,\"energy\":0.1003,\"tax\":0.2254,\"startsAt\":\"2023-02-03T06:00:00.000+01:00\"},{\"total\":0.3346,\"energy\":0.1077,\"tax\":0.2269,\"startsAt\":\"2023-02-03T07:00:00.000+01:00\"},{\"total\":0.3378,\"energy\":0.1104,\"tax\":0.2274,\"startsAt\":\"2023-02-03T08:00:00.000+01:00\"},{\"total\":0.3373,\"energy\":0.11,\"tax\":0.2273,\"startsAt\":\"2023-02-03T09:00:00.000+01:00\"},{\"total\":0.3227,\"energy\":0.0977,\"tax\":0.225,\"startsAt\":\"2023-02-03T10:00:00.000+01:00\"},{\"total\":0.3287,\"energy\":0.1028,\"tax\":0.2259,\"startsAt\":\"2023-02-03T11:00:00.000+01:00\"},{\"total\":0.3278,\"energy\":0.102,\"tax\":0.2258,\"startsAt\":\"2023-02-03T12:00:00.000+01:00\"},{\"total\":0.3244,\"energy\":0.0992,\"tax\":0.2252,\"startsAt\":\"2023-02-03T13:00:00.000+01:00\"},{\"total\":0.3229,\"energy\":0.0979,\"tax\":0.225,\"startsAt\":\"2023-02-03T14:00:00.000+01:00\"},{\"total\":0.3278,\"energy\":0.102,\"tax\":0.2258,\"startsAt\":\"2023-02-03T15:00:00.000+01:00\"},{\"total\":0.3346,\"energy\":0.1077,\"tax\":0.2269,\"startsAt\":\"2023-02-03T16:00:00.000+01:00\"},{\"total\":0.3402,\"energy\":0.1124,\"tax\":0.2278,\"startsAt\":\"2023-02-03T17:00:00.000+01:00\"},{\"total\":0.3415,\"energy\":0.1135,\"tax\":0.228,\"startsAt\":\"2023-02-03T18:00:00.000+01:00\"},{\"total\":0.335,\"energy\":0.1081,\"tax\":0.2269,\"startsAt\":\"2023-02-03T19:00:00.000+01:00\"},{\"total\":0.3298,\"energy\":0.1037,\"tax\":0.2261,\"startsAt\":\"2023-02-03T20:00:00.000+01:00\"},{\"total\":0.3289,\"energy\":0.103,\"tax\":0.2259,\"startsAt\":\"2023-02-03T21:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-03T22:00:00.000+01:00\"},{\"total\":0.3347,\"energy\":0.1078,\"tax\":0.2269,\"startsAt\":\"2023-02-03T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675454520199,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675454520199}
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_morgen, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"tomorrow\":[{\"total\":0.3246,\"energy\":0.0994,\"tax\":0.2252,\"startsAt\":\"2023-02-04T00:00:00.000+01:00\"},{\"total\":0.3328,\"energy\":0.1062,\"tax\":0.2266,\"startsAt\":\"2023-02-04T01:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-04T02:00:00.000+01:00\"},{\"total\":0.3513,\"energy\":0.1218,\"tax\":0.2295,\"startsAt\":\"2023-02-04T03:00:00.000+01:00\"},{\"total\":0.3556,\"energy\":0.1254,\"tax\":0.2302,\"startsAt\":\"2023-02-04T04:00:00.000+01:00\"},{\"total\":0.3581,\"energy\":0.1274,\"tax\":0.2307,\"startsAt\":\"2023-02-04T05:00:00.000+01:00\"},{\"total\":0.3698,\"energy\":0.1373,\"tax\":0.2325,\"startsAt\":\"2023-02-04T06:00:00.000+01:00\"},{\"total\":0.3924,\"energy\":0.1563,\"tax\":0.2361,\"startsAt\":\"2023-02-04T07:00:00.000+01:00\"},{\"total\":0.4018,\"energy\":0.1642,\"tax\":0.2376,\"startsAt\":\"2023-02-04T08:00:00.000+01:00\"},{\"total\":0.4085,\"energy\":0.1698,\"tax\":0.2387,\"startsAt\":\"2023-02-04T09:00:00.000+01:00\"},{\"total\":0.4017,\"energy\":0.1641,\"tax\":0.2376,\"startsAt\":\"2023-02-04T10:00:00.000+01:00\"},{\"total\":0.3925,\"energy\":0.1564,\"tax\":0.2361,\"startsAt\":\"2023-02-04T11:00:00.000+01:00\"},{\"total\":0.3835,\"energy\":0.1488,\"tax\":0.2347,\"startsAt\":\"2023-02-04T12:00:00.000+01:00\"},{\"total\":0.3651,\"energy\":0.1334,\"tax\":0.2317,\"startsAt\":\"2023-02-04T13:00:00.000+01:00\"},{\"total\":0.366,\"energy\":0.1341,\"tax\":0.2319,\"startsAt\":\"2023-02-04T14:00:00.000+01:00\"},{\"total\":0.3749,\"energy\":0.1416,\"tax\":0.2333,\"startsAt\":\"2023-02-04T15:00:00.000+01:00\"},{\"total\":0.3913,\"energy\":0.1554,\"tax\":0.2359,\"startsAt\":\"2023-02-04T16:00:00.000+01:00\"},{\"total\":0.4091,\"energy\":0.1703,\"tax\":0.2388,\"startsAt\":\"2023-02-04T17:00:00.000+01:00\"},{\"total\":0.4256,\"energy\":0.1842,\"tax\":0.2414,\"startsAt\":\"2023-02-04T18:00:00.000+01:00\"},{\"total\":0.4206,\"energy\":0.18,\"tax\":0.2406,\"startsAt\":\"2023-02-04T19:00:00.000+01:00\"},{\"total\":0.4062,\"energy\":0.1679,\"tax\":0.2383,\"startsAt\":\"2023-02-04T20:00:00.000+01:00\"},{\"total\":0.3946,\"energy\":0.1581,\"tax\":0.2365,\"startsAt\":\"2023-02-04T21:00:00.000+01:00\"},{\"total\":0.3877,\"energy\":0.1524,\"tax\":0.2353,\"startsAt\":\"2023-02-04T22:00:00.000+01:00\"},{\"total\":0.369,\"energy\":0.1367,\"tax\":0.2323,\"startsAt\":\"2023-02-04T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675454522228,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675454522228}
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Preis_Hysterese","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 13:16:05.931	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Abholzeit","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 13:16:05.932	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=17 13 * * *)
                                        4.2.2023, 13:16:05.932	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: registered 2 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                        4.2.2023, 13:16:05.932	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=2 0 * * *)
                                        4.2.2023, 13:17:00.003	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: exec: curl \-H "Authorization: Bearer XXXXX" \-H "Content-Type: application/json" \-d  '{ "query": "{viewer {homes {currentSubscription {priceInfo {today {total energy tax startsAt }}}}}}" }' https://api.tibber.com/v1-beta/gql
                                        4.2.2023, 13:17:00.012	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setTimeout(ms=2000)
                                        4.2.2023, 13:17:00.201	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Stundenpreise_heute, state={"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"today\":[{\"total\":0.3246,\"energy\":0.0994,\"tax\":0.2252,\"startsAt\":\"2023-02-04T00:00:00.000+01:00\"},{\"total\":0.3328,\"energy\":0.1062,\"tax\":0.2266,\"startsAt\":\"2023-02-04T01:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-04T02:00:00.000+01:00\"},{\"total\":0.3513,\"energy\":0.1218,\"tax\":0.2295,\"startsAt\":\"2023-02-04T03:00:00.000+01:00\"},{\"total\":0.3556,\"energy\":0.1254,\"tax\":0.2302,\"startsAt\":\"2023-02-04T04:00:00.000+01:00\"},{\"total\":0.3581,\"energy\":0.1274,\"tax\":0.2307,\"startsAt\":\"2023-02-04T05:00:00.000+01:00\"},{\"total\":0.3698,\"energy\":0.1373,\"tax\":0.2325,\"startsAt\":\"2023-02-04T06:00:00.000+01:00\"},{\"total\":0.3924,\"energy\":0.1563,\"tax\":0.2361,\"startsAt\":\"2023-02-04T07:00:00.000+01:00\"},{\"total\":0.4018,\"energy\":0.1642,\"tax\":0.2376,\"startsAt\":\"2023-02-04T08:00:00.000+01:00\"},{\"total\":0.4085,\"energy\":0.1698,\"tax\":0.2387,\"startsAt\":\"2023-02-04T09:00:00.000+01:00\"},{\"total\":0.4017,\"energy\":0.1641,\"tax\":0.2376,\"startsAt\":\"2023-02-04T10:00:00.000+01:00\"},{\"total\":0.3925,\"energy\":0.1564,\"tax\":0.2361,\"startsAt\":\"2023-02-04T11:00:00.000+01:00\"},{\"total\":0.3835,\"energy\":0.1488,\"tax\":0.2347,\"startsAt\":\"2023-02-04T12:00:00.000+01:00\"},{\"total\":0.3651,\"energy\":0.1334,\"tax\":0.2317,\"startsAt\":\"2023-02-04T13:00:00.000+01:00\"},{\"total\":0.366,\"energy\":0.1341,\"tax\":0.2319,\"startsAt\":\"2023-02-04T14:00:00.000+01:00\"},{\"total\":0.3749,\"energy\":0.1416,\"tax\":0.2333,\"startsAt\":\"2023-02-04T15:00:00.000+01:00\"},{\"total\":0.3913,\"energy\":0.1554,\"tax\":0.2359,\"startsAt\":\"2023-02-04T16:00:00.000+01:00\"},{\"total\":0.4091,\"energy\":0.1703,\"tax\":0.2388,\"startsAt\":\"2023-02-04T17:00:00.000+01:00\"},{\"total\":0.4256,\"energy\":0.1842,\"tax\":0.2414,\"startsAt\":\"2023-02-04T18:00:00.000+01:00\"},{\"total\":0.4206,\"energy\":0.18,\"tax\":0.2406,\"startsAt\":\"2023-02-04T19:00:00.000+01:00\"},{\"total\":0.4062,\"energy\":0.1679,\"tax\":0.2383,\"startsAt\":\"2023-02-04T20:00:00.000+01:00\"},{\"total\":0.3946,\"energy\":0.1581,\"tax\":0.2365,\"startsAt\":\"2023-02-04T21:00:00.000+01:00\"},{\"total\":0.3877,\"energy\":0.1524,\"tax\":0.2353,\"startsAt\":\"2023-02-04T22:00:00.000+01:00\"},{\"total\":0.369,\"energy\":0.1367,\"tax\":0.2323,\"startsAt\":\"2023-02-04T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675513020201,"q":0,"from":"system.adapter.javascript.0","lc":1675513020201,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:00.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_0, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:00.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_0, state={"val":null,"ack":true,"ts":1675513020202,"q":0,"from":"system.adapter.javascript.0","lc":1675513020202,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:00.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_1, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:00.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_1, state={"val":null,"ack":true,"ts":1675513020202,"q":0,"from":"system.adapter.javascript.0","lc":1675513020202,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:00.203	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_2, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:00.203	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_2, state={"val":null,"ack":true,"ts":1675513020203,"q":0,"from":"system.adapter.javascript.0","lc":1675513020203,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:00.203	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_3, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:00.203	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_3, state={"val":null,"ack":true,"ts":1675513020203,"q":0,"from":"system.adapter.javascript.0","lc":1675513020203,"c":"script.js.Tibber.Tibber_Script"})
                                        
                                        4.2.2023, 13:17:00.210	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: 0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_24
                                        4.2.2023, 13:17:00.210	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:00.210	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet, state={"val":null,"ack":true,"ts":1675513020210,"q":0,"from":"system.adapter.javascript.0","lc":1675513020210,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:02.013	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: exec: curl \-H "Authorization: Bearer XXXXX" \-H "Content-Type: application/json" \-d  '{ "query": "{viewer {homes {currentSubscription {priceInfo {tomorrow {total energy tax startsAt }}}}}}" }' https://api.tibber.com/v1-beta/gql
                                        4.2.2023, 13:17:02.027	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Geringster_Preis, state={"val":null,"ack":true,"ts":1675513022027,"q":0,"from":"system.adapter.javascript.0","lc":1675513022027,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:02.027	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Geringster_Preis_Stunde, state={"val":0,"ack":true,"ts":1675513022027,"q":0,"from":"system.adapter.javascript.0","lc":1675250817251,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:02.031	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Preis_Hysterese_Stunden, state={"val":"","ack":true,"ts":1675513022031,"q":0,"from":"system.adapter.javascript.0","lc":1675250843001,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:02.201	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Stundenpreise_morgen, state={"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"tomorrow\":[]}}}]}}}\n","ack":true,"ts":1675513022201,"q":0,"from":"system.adapter.javascript.0","lc":1675513022201,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:02.201	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_0, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:02.201	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_0, state={"val":null,"ack":true,"ts":1675513022201,"q":0,"from":"system.adapter.javascript.0","lc":1675513022201,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:02.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_1, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:02.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_1, state={"val":null,"ack":true,"ts":1675513022202,"q":0,"from":"system.adapter.javascript.0","lc":1675513022202,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:02.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_2, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:02.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_2, state={"val":null,"ack":true,"ts":1675513022202,"q":0,"from":"system.adapter.javascript.0","lc":1675513022202,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:17:02.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_3, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:02.202	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_3, state={"val":null,"ack":true,"ts":1675513022202,"q":0,"from":"system.adapter.javascript.0","lc":1675513022202,"c":"script.js.Tibber.Tibber_Script"})
                                        
                                        4.2.2023, 13:17:02.208	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: 0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_24
                                        4.2.2023, 13:17:02.208	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:17:02.208	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet, state={"val":null,"ack":true,"ts":1675513022208,"q":0,"from":"system.adapter.javascript.0","lc":1675513022208,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:28:14.705	[info ]: javascript.0 (23598) Stop script script.js.Tibber.Tibber_Script
                                        4.2.2023, 13:28:14.711	[info ]: javascript.0 (23598) Start javascript script.js.Tibber.Tibber_Script
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis, timerId=undefined) => {"val":null,"ack":true,"ts":1675513022027,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675513022027}
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis_Stunde, timerId=undefined) => {"val":0,"ack":true,"ts":1675513022027,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250817251}
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese, timerId=undefined) => {"val":10,"ack":true,"ts":1675366195204,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675280410393}
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese_Stunden, timerId=undefined) => {"val":"","ack":true,"ts":1675513022031,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250843001}
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Abholzeit, timerId=undefined) => {"val":"13:17","ack":false,"ts":1675512951011,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675512951011}
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_heute, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"today\":[{\"total\":0.3246,\"energy\":0.0994,\"tax\":0.2252,\"startsAt\":\"2023-02-04T00:00:00.000+01:00\"},{\"total\":0.3328,\"energy\":0.1062,\"tax\":0.2266,\"startsAt\":\"2023-02-04T01:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-04T02:00:00.000+01:00\"},{\"total\":0.3513,\"energy\":0.1218,\"tax\":0.2295,\"startsAt\":\"2023-02-04T03:00:00.000+01:00\"},{\"total\":0.3556,\"energy\":0.1254,\"tax\":0.2302,\"startsAt\":\"2023-02-04T04:00:00.000+01:00\"},{\"total\":0.3581,\"energy\":0.1274,\"tax\":0.2307,\"startsAt\":\"2023-02-04T05:00:00.000+01:00\"},{\"total\":0.3698,\"energy\":0.1373,\"tax\":0.2325,\"startsAt\":\"2023-02-04T06:00:00.000+01:00\"},{\"total\":0.3924,\"energy\":0.1563,\"tax\":0.2361,\"startsAt\":\"2023-02-04T07:00:00.000+01:00\"},{\"total\":0.4018,\"energy\":0.1642,\"tax\":0.2376,\"startsAt\":\"2023-02-04T08:00:00.000+01:00\"},{\"total\":0.4085,\"energy\":0.1698,\"tax\":0.2387,\"startsAt\":\"2023-02-04T09:00:00.000+01:00\"},{\"total\":0.4017,\"energy\":0.1641,\"tax\":0.2376,\"startsAt\":\"2023-02-04T10:00:00.000+01:00\"},{\"total\":0.3925,\"energy\":0.1564,\"tax\":0.2361,\"startsAt\":\"2023-02-04T11:00:00.000+01:00\"},{\"total\":0.3835,\"energy\":0.1488,\"tax\":0.2347,\"startsAt\":\"2023-02-04T12:00:00.000+01:00\"},{\"total\":0.3651,\"energy\":0.1334,\"tax\":0.2317,\"startsAt\":\"2023-02-04T13:00:00.000+01:00\"},{\"total\":0.366,\"energy\":0.1341,\"tax\":0.2319,\"startsAt\":\"2023-02-04T14:00:00.000+01:00\"},{\"total\":0.3749,\"energy\":0.1416,\"tax\":0.2333,\"startsAt\":\"2023-02-04T15:00:00.000+01:00\"},{\"total\":0.3913,\"energy\":0.1554,\"tax\":0.2359,\"startsAt\":\"2023-02-04T16:00:00.000+01:00\"},{\"total\":0.4091,\"energy\":0.1703,\"tax\":0.2388,\"startsAt\":\"2023-02-04T17:00:00.000+01:00\"},{\"total\":0.4256,\"energy\":0.1842,\"tax\":0.2414,\"startsAt\":\"2023-02-04T18:00:00.000+01:00\"},{\"total\":0.4206,\"energy\":0.18,\"tax\":0.2406,\"startsAt\":\"2023-02-04T19:00:00.000+01:00\"},{\"total\":0.4062,\"energy\":0.1679,\"tax\":0.2383,\"startsAt\":\"2023-02-04T20:00:00.000+01:00\"},{\"total\":0.3946,\"energy\":0.1581,\"tax\":0.2365,\"startsAt\":\"2023-02-04T21:00:00.000+01:00\"},{\"total\":0.3877,\"energy\":0.1524,\"tax\":0.2353,\"startsAt\":\"2023-02-04T22:00:00.000+01:00\"},{\"total\":0.369,\"energy\":0.1367,\"tax\":0.2323,\"startsAt\":\"2023-02-04T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675513020201,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675513020201}
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_morgen, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"tomorrow\":[]}}}]}}}\n","ack":true,"ts":1675513022201,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675513022201}
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Preis_Hysterese","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 13:28:14.717	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Abholzeit","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 13:28:14.719	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=17 13 * * *)
                                        4.2.2023, 13:28:14.719	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: registered 2 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                        4.2.2023, 13:28:14.719	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=2 0 * * *)
                                        4.2.2023, 13:28:16.215	[info ]: javascript.0 (23598) Stop script script.js.Tibber.Tibber_Script
                                        4.2.2023, 13:28:16.223	[info ]: javascript.0 (23598) Start javascript script.js.Tibber.Tibber_Script
                                        4.2.2023, 13:28:16.225	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis, timerId=undefined) => {"val":null,"ack":true,"ts":1675513022027,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675513022027}
                                        4.2.2023, 13:28:16.226	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Geringster_Preis_Stunde, timerId=undefined) => {"val":0,"ack":true,"ts":1675513022027,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250817251}
                                        4.2.2023, 13:28:16.226	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese, timerId=undefined) => {"val":10,"ack":true,"ts":1675366195204,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675280410393}
                                        4.2.2023, 13:28:16.226	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Preis_Hysterese_Stunden, timerId=undefined) => {"val":"","ack":true,"ts":1675513022031,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675250843001}
                                        4.2.2023, 13:28:16.226	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Abholzeit, timerId=undefined) => {"val":"13:17","ack":false,"ts":1675512951011,"q":0,"from":"system.adapter.admin.0","user":"system.user.admin","lc":1675512951011}
                                        4.2.2023, 13:28:16.226	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_heute, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"today\":[{\"total\":0.3246,\"energy\":0.0994,\"tax\":0.2252,\"startsAt\":\"2023-02-04T00:00:00.000+01:00\"},{\"total\":0.3328,\"energy\":0.1062,\"tax\":0.2266,\"startsAt\":\"2023-02-04T01:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-04T02:00:00.000+01:00\"},{\"total\":0.3513,\"energy\":0.1218,\"tax\":0.2295,\"startsAt\":\"2023-02-04T03:00:00.000+01:00\"},{\"total\":0.3556,\"energy\":0.1254,\"tax\":0.2302,\"startsAt\":\"2023-02-04T04:00:00.000+01:00\"},{\"total\":0.3581,\"energy\":0.1274,\"tax\":0.2307,\"startsAt\":\"2023-02-04T05:00:00.000+01:00\"},{\"total\":0.3698,\"energy\":0.1373,\"tax\":0.2325,\"startsAt\":\"2023-02-04T06:00:00.000+01:00\"},{\"total\":0.3924,\"energy\":0.1563,\"tax\":0.2361,\"startsAt\":\"2023-02-04T07:00:00.000+01:00\"},{\"total\":0.4018,\"energy\":0.1642,\"tax\":0.2376,\"startsAt\":\"2023-02-04T08:00:00.000+01:00\"},{\"total\":0.4085,\"energy\":0.1698,\"tax\":0.2387,\"startsAt\":\"2023-02-04T09:00:00.000+01:00\"},{\"total\":0.4017,\"energy\":0.1641,\"tax\":0.2376,\"startsAt\":\"2023-02-04T10:00:00.000+01:00\"},{\"total\":0.3925,\"energy\":0.1564,\"tax\":0.2361,\"startsAt\":\"2023-02-04T11:00:00.000+01:00\"},{\"total\":0.3835,\"energy\":0.1488,\"tax\":0.2347,\"startsAt\":\"2023-02-04T12:00:00.000+01:00\"},{\"total\":0.3651,\"energy\":0.1334,\"tax\":0.2317,\"startsAt\":\"2023-02-04T13:00:00.000+01:00\"},{\"total\":0.366,\"energy\":0.1341,\"tax\":0.2319,\"startsAt\":\"2023-02-04T14:00:00.000+01:00\"},{\"total\":0.3749,\"energy\":0.1416,\"tax\":0.2333,\"startsAt\":\"2023-02-04T15:00:00.000+01:00\"},{\"total\":0.3913,\"energy\":0.1554,\"tax\":0.2359,\"startsAt\":\"2023-02-04T16:00:00.000+01:00\"},{\"total\":0.4091,\"energy\":0.1703,\"tax\":0.2388,\"startsAt\":\"2023-02-04T17:00:00.000+01:00\"},{\"total\":0.4256,\"energy\":0.1842,\"tax\":0.2414,\"startsAt\":\"2023-02-04T18:00:00.000+01:00\"},{\"total\":0.4206,\"energy\":0.18,\"tax\":0.2406,\"startsAt\":\"2023-02-04T19:00:00.000+01:00\"},{\"total\":0.4062,\"energy\":0.1679,\"tax\":0.2383,\"startsAt\":\"2023-02-04T20:00:00.000+01:00\"},{\"total\":0.3946,\"energy\":0.1581,\"tax\":0.2365,\"startsAt\":\"2023-02-04T21:00:00.000+01:00\"},{\"total\":0.3877,\"energy\":0.1524,\"tax\":0.2353,\"startsAt\":\"2023-02-04T22:00:00.000+01:00\"},{\"total\":0.369,\"energy\":0.1367,\"tax\":0.2323,\"startsAt\":\"2023-02-04T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675513020201,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675513020201}
                                        4.2.2023, 13:28:16.226	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: getState(id=0_userdata.0.Tibber.Stundenpreise_morgen, timerId=undefined) => {"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"tomorrow\":[]}}}]}}}\n","ack":true,"ts":1675513022201,"q":0,"c":"script.js.Tibber.Tibber_Script","from":"system.adapter.javascript.0","user":"system.user.admin","lc":1675513022201}
                                        4.2.2023, 13:28:16.226	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Preis_Hysterese","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 13:28:16.226	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: subscribe: {"pattern":{"id":"0_userdata.0.Tibber.Abholzeit","change":"ne","q":0},"name":"script.js.Tibber.Tibber_Script"}
                                        4.2.2023, 13:28:16.228	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=17 13 * * *)
                                        4.2.2023, 13:28:16.228	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: registered 2 subscriptions, 1 schedule, 0 messages, 0 logs and 0 file subscriptions
                                        4.2.2023, 13:28:16.229	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=2 0 * * *)
                                        4.2.2023, 13:28:58.461	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: clearSchedule() => cleared
                                        4.2.2023, 13:28:58.461	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: schedule(cron=30 13 * * *)
                                        4.2.2023, 13:30:00.003	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: exec: curl \-H "Authorization: Bearer XXXXX" \-H "Content-Type: application/json" \-d  '{ "query": "{viewer {homes {currentSubscription {priceInfo {today {total energy tax startsAt }}}}}}" }' https://api.tibber.com/v1-beta/gql
                                        4.2.2023, 13:30:00.010	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setTimeout(ms=2000)
                                        4.2.2023, 13:30:00.684	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Stundenpreise_heute, state={"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"today\":[{\"total\":0.3246,\"energy\":0.0994,\"tax\":0.2252,\"startsAt\":\"2023-02-04T00:00:00.000+01:00\"},{\"total\":0.3328,\"energy\":0.1062,\"tax\":0.2266,\"startsAt\":\"2023-02-04T01:00:00.000+01:00\"},{\"total\":0.3411,\"energy\":0.1132,\"tax\":0.2279,\"startsAt\":\"2023-02-04T02:00:00.000+01:00\"},{\"total\":0.3513,\"energy\":0.1218,\"tax\":0.2295,\"startsAt\":\"2023-02-04T03:00:00.000+01:00\"},{\"total\":0.3556,\"energy\":0.1254,\"tax\":0.2302,\"startsAt\":\"2023-02-04T04:00:00.000+01:00\"},{\"total\":0.3581,\"energy\":0.1274,\"tax\":0.2307,\"startsAt\":\"2023-02-04T05:00:00.000+01:00\"},{\"total\":0.3698,\"energy\":0.1373,\"tax\":0.2325,\"startsAt\":\"2023-02-04T06:00:00.000+01:00\"},{\"total\":0.3924,\"energy\":0.1563,\"tax\":0.2361,\"startsAt\":\"2023-02-04T07:00:00.000+01:00\"},{\"total\":0.4018,\"energy\":0.1642,\"tax\":0.2376,\"startsAt\":\"2023-02-04T08:00:00.000+01:00\"},{\"total\":0.4085,\"energy\":0.1698,\"tax\":0.2387,\"startsAt\":\"2023-02-04T09:00:00.000+01:00\"},{\"total\":0.4017,\"energy\":0.1641,\"tax\":0.2376,\"startsAt\":\"2023-02-04T10:00:00.000+01:00\"},{\"total\":0.3925,\"energy\":0.1564,\"tax\":0.2361,\"startsAt\":\"2023-02-04T11:00:00.000+01:00\"},{\"total\":0.3835,\"energy\":0.1488,\"tax\":0.2347,\"startsAt\":\"2023-02-04T12:00:00.000+01:00\"},{\"total\":0.3651,\"energy\":0.1334,\"tax\":0.2317,\"startsAt\":\"2023-02-04T13:00:00.000+01:00\"},{\"total\":0.366,\"energy\":0.1341,\"tax\":0.2319,\"startsAt\":\"2023-02-04T14:00:00.000+01:00\"},{\"total\":0.3749,\"energy\":0.1416,\"tax\":0.2333,\"startsAt\":\"2023-02-04T15:00:00.000+01:00\"},{\"total\":0.3913,\"energy\":0.1554,\"tax\":0.2359,\"startsAt\":\"2023-02-04T16:00:00.000+01:00\"},{\"total\":0.4091,\"energy\":0.1703,\"tax\":0.2388,\"startsAt\":\"2023-02-04T17:00:00.000+01:00\"},{\"total\":0.4256,\"energy\":0.1842,\"tax\":0.2414,\"startsAt\":\"2023-02-04T18:00:00.000+01:00\"},{\"total\":0.4206,\"energy\":0.18,\"tax\":0.2406,\"startsAt\":\"2023-02-04T19:00:00.000+01:00\"},{\"total\":0.4062,\"energy\":0.1679,\"tax\":0.2383,\"startsAt\":\"2023-02-04T20:00:00.000+01:00\"},{\"total\":0.3946,\"energy\":0.1581,\"tax\":0.2365,\"startsAt\":\"2023-02-04T21:00:00.000+01:00\"},{\"total\":0.3877,\"energy\":0.1524,\"tax\":0.2353,\"startsAt\":\"2023-02-04T22:00:00.000+01:00\"},{\"total\":0.369,\"energy\":0.1367,\"tax\":0.2323,\"startsAt\":\"2023-02-04T23:00:00.000+01:00\"}]}}}]}}}\n","ack":true,"ts":1675513800684,"q":0,"from":"system.adapter.javascript.0","lc":1675513020201,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:00.684	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_0, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:00.684	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_0, state={"val":null,"ack":true,"ts":1675513800684,"q":0,"from":"system.adapter.javascript.0","lc":1675513800684,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:00.685	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_1, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:00.685	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_1, state={"val":null,"ack":true,"ts":1675513800685,"q":0,"from":"system.adapter.javascript.0","lc":1675513800685,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:00.685	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_2, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:00.685	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_2, state={"val":null,"ack":true,"ts":1675513800685,"q":0,"from":"system.adapter.javascript.0","lc":1675513800685,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:00.685	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_3, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:00.685	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_3, state={"val":null,"ack":true,"ts":1675513800685,"q":0,"from":"system.adapter.javascript.0","lc":1675513800685,"c":"script.js.Tibber.Tibber_Script"})
                                        
                                        4.2.2023, 13:30:00.692	[error]: javascript.0 (23598) script.js.Tibber.Tibber_Script: 0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_24
                                        4.2.2023, 13:30:00.692	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:00.693	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet, state={"val":null,"ack":true,"ts":1675513800693,"q":0,"from":"system.adapter.javascript.0","lc":1675513800693,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:02.010	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: exec: curl \-H "Authorization: Bearer XXXXX“ \-H "Content-Type: application/json" \-d  '{ "query": "{viewer {homes {currentSubscription {priceInfo {tomorrow {total energy tax startsAt }}}}}}" }' https://api.tibber.com/v1-beta/gql
                                        4.2.2023, 13:30:02.022	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Geringster_Preis, state={"val":null,"ack":true,"ts":1675513802022,"q":0,"from":"system.adapter.javascript.0","lc":1675513802022,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:02.022	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Geringster_Preis_Stunde, state={"val":0,"ack":true,"ts":1675513802022,"q":0,"from":"system.adapter.javascript.0","lc":1675250817251,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:02.027	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Preis_Hysterese_Stunden, state={"val":"","ack":true,"ts":1675513802027,"q":0,"from":"system.adapter.javascript.0","lc":1675250843001,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:02.207	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.Stundenpreise_morgen, state={"val":"{\"data\":{\"viewer\":{\"homes\":[{\"currentSubscription\":null},{\"currentSubscription\":{\"priceInfo\":{\"tomorrow\":[]}}}]}}}\n","ack":true,"ts":1675513802207,"q":0,"from":"system.adapter.javascript.0","lc":1675513022201,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:02.208	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_0, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:02.208	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_0, state={"val":null,"ack":true,"ts":1675513802208,"q":0,"from":"system.adapter.javascript.0","lc":1675513802208,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:02.208	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_1, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:02.208	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_1, state={"val":null,"ack":true,"ts":1675513802208,"q":0,"from":"system.adapter.javascript.0","lc":1675513802208,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:02.209	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_2, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:02.209	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_2, state={"val":null,"ack":true,"ts":1675513802209,"q":0,"from":"system.adapter.javascript.0","lc":1675513802209,"c":"script.js.Tibber.Tibber_Script"})
                                        4.2.2023, 13:30:02.209	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_3, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:02.209	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_3, state={"val":null,"ack":true,"ts":1675513802209,"q":0,"from":"system.adapter.javascript.0","lc":1675513802209,"c":"script.js.Tibber.Tibber_Script"})
                                        
                                        4.2.2023, 13:30:02.215	[error]: javascript.0 (23598) script.js.Tibber.Tibber_Script: 0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_24
                                        4.2.2023, 13:30:02.215	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setStateDelayed(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet, state=NaN, isAck=true, delay=NaN, clearRunning=false)
                                        4.2.2023, 13:30:02.215	[info ]: javascript.0 (23598) script.js.Tibber.Tibber_Script: setForeignState(id=0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet, state={"val":null,"ack":true,"ts":1675513802215,"q":0,"from":"system.adapter.javascript.0","lc":1675513802215,"c":"script.js.Tibber.Tibber_Script"})
                                        

                                        Ich kann daraus leider nicht erkennen, warum es nicht funktioniert.

                                        Ich habe im Skript keine Änderungen außer dem Tibber Token vorgenommen.

                                        T 1 Reply Last reply Reply Quote 0
                                        • T
                                          ThomKast @HD666 last edited by

                                          @hd666
                                          Irgendwie habe ich Dein Problem noch nicht ganz verstanden...

                                          Du schreibst heute: "JSON von 0_userdata.0.Tibber.Stundenpreise_heute (keine Änderung bei Aktivierung der ersten beiden Objekte im 2.Abschnitt), ebenso bei _morgen" und zeigst die Inhalte der Datenpunkte "Stundenpreise_heute" und "Stundenpreise_morgen".

                                          Gestern schreibst Du "1. Die Daten werden über den Zeitplan abgeholt und richtig unter Stundenpreise_heute und _morgen abgelegt. Jedoch werden die Daten nicht gesplittet und kopiert."

                                          Wenn das Abholen der Preise von Tibber doch funktioniert... warum zeigst Du mir dann die beiden Datenpunkte Datenpunkte "Stundenpreise_heute" und "Stundenpreise_morgen"?

                                          Ich dachte, es geht Dir um die Verteilung der Daten auf die einzelnen Stunden? Das LOG zum Script kenne ich so leider auch gar nicht.

                                          Ich habe bei mir den DEBUG noch um den Wert ergänzt. Sieht jetzt so aus:

                                          24b4321d-9792-40fc-8419-d7b0398bc81d-image.png

                                          Dazu wird im Blockly-Editor direkt unter dem Script folgendes angezeigt:

                                          18f7f0c8-f88b-4e91-b1e0-050ff3b576c2-image.png
                                          Und daran könntest Du erkennen, ob die Stunden einzeln durchlaufen werden und welche Werte ermittelt wurden.

                                          1 Reply Last reply Reply Quote 0
                                          • H
                                            HD666 last edited by

                                            @thomkast im ersten Teil hab ich dich warscheinlich mißverstanden.

                                            Ich hatte die Debug Optionen auf ausführlich zu stehen.

                                            Ich habe debug erweitert, es scheint so als ob das script gar nicht ausgeführt wird. Ich bekomme nur diese eine Zeile

                                            script.js.Tibber.Tibber_Script: 0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_24wertNaN
                                            
                                            

                                            Hier das Script, so wie ich es bei mir habe. Vielleicht hat dort doch ein Fehler eingeschlichen.

                                            var geringster_preis, TIBBERpreise_abholen, preisdurchschnitt, stunde, geringster_preis_stunde, stundenpreise, preis_hysterese_stunden, preis_hysterese, zeitraum, stundenpreise_heute, zeitraum_json, stundenpreise_morgen, preis__1, max_preis, abholzeit, wert, result, abholzeit_merker, preis_0;
                                            
                                            // Beschreibe diese Funktion …
                                            async function preise_holen() {
                                              TIBBERpreise_abholen = schedule((abholzeit.slice(3, 5)).toString().trim() + ' ' + (abholzeit.slice(0, 2)).toString().trim() + ' ' + '*'.toString().trim() + ' ' + '*'.toString().trim() + ' ' + '*'.toString().trim(), async function () {
                                                // Preise von "today" abholen
                                                // Anstatt der 5 ***** ist das TIBBER-Token einzusetzen.
                                                exec((['curl \\','-H "Authorization: Bearer XXXXX" \\','-H "Content-Type: application/json" \\','-d  \'{ "query": "{viewer {homes {currentSubscription {priceInfo {today {total energy tax startsAt }}}}}}" }\' https://api.tibber.com/v1-beta/gql'].join('')), async function (error, result, stderr) {
                                                    stundenpreise_heute = result;
                                                  abholzeit_merker = abholzeit;
                                                  setState("0_userdata.0.Tibber.Stundenpreise_heute"/*stündliche Preise von heute*/, result, true);
                                                  zeitraum = 'heute';
                                                  await stundenpreise_splitten();
                                                });
                                                console.debug("exec: " + (['curl \\','-H "Authorization: Bearer XXXXX" \\','-H "Content-Type: application/json" \\','-d  \'{ "query": "{viewer {homes {currentSubscription {priceInfo {today {total energy tax startsAt }}}}}}" }\' https://api.tibber.com/v1-beta/gql'].join('')));
                                                await wait(2000);
                                                // Preise von "tomorrow" abholen
                                                // Die Preise vom kommenden Tag könnten auch abgeholt werden.
                                                // Ist aber im Anwendungsfall nicht relevant und daher deaktiviert.
                                                // Anstatt der 5 ***** ist das TIBBER-Token einzusetzen.
                                                exec((['curl \\','-H "Authorization: Bearer XXXXX" \\','-H "Content-Type: application/json" \\','-d  \'{ "query": "{viewer {homes {currentSubscription {priceInfo {tomorrow {total energy tax startsAt }}}}}}" }\' https://api.tibber.com/v1-beta/gql'].join('')), async function (error, result, stderr) {
                                                    stundenpreise_morgen = result;
                                                  setState("0_userdata.0.Tibber.Stundenpreise_morgen"/*stündliche Preise von morgen*/, result, true);
                                                  zeitraum = 'morgen';
                                                  await stundenpreise_splitten();
                                                });
                                                console.debug("exec: " + (['curl \\','-H "Authorization: Bearer XXXXX" \\','-H "Content-Type: application/json" \\','-d  \'{ "query": "{viewer {homes {currentSubscription {priceInfo {tomorrow {total energy tax startsAt }}}}}}" }\' https://api.tibber.com/v1-beta/gql'].join('')));
                                                await guenstigster_preis();
                                                await guenstige_stunden();
                                              });
                                            }
                                            
                                            // Beschreibe diese Funktion …
                                            async function stundenpreise_splitten() {
                                              preisdurchschnitt = 0;
                                              // Im TIBBER-JSON wird heute/morgen mit "today"/"tomorrow" geschrieben.
                                              // Die Datenpunkte unterscheiden aber in "heute/morgen". Beim Auslesen
                                              // des JSON muss daher das englische Wort verwendet werden :-(
                                              //
                                              // Schlechtes Anfangsdesign! Ich hätte die Datenpunkte
                                              // ebenfalls mit "today"/"tomorrow" unterscheiden
                                              // müssen, dann wäre diese Abfrage überflüssig.
                                              if (zeitraum == 'heute') {
                                                stundenpreise = stundenpreise_heute;
                                                zeitraum_json = 'today';
                                              } else {
                                                stundenpreise = stundenpreise_morgen;
                                                zeitraum_json = 'tomorrow';
                                              }
                                              for (stunde = 0; stunde <= 23; stunde++) {
                                                // Hier wird das englische Wort benötigt.
                                                wert = parseFloat(jsonataExpression((function () { try {return JSON.parse(stundenpreise);} catch(e) {return {};}})(),(['data.viewer.homes[0].currentSubscription.priceInfo.',zeitraum_json,'[',('' + stunde),'].total'].join(''))));
                                                preisdurchschnitt = parseFloat(preisdurchschnitt) + wert;
                                                setStateDelayed((['0_userdata.0.Tibber.EPEX_Spot_DE_',zeitraum,'.ESDE_',zeitraum,'_',stunde].join('')), wert, true, parseInt(((0) || "").toString(), 10), false);
                                              }
                                              console.error((['0_userdata.0.Tibber.EPEX_Spot_DE_',zeitraum,'.ESDE_',zeitraum,'_',stunde,'wert',wert].join('')));
                                              preisdurchschnitt = Math.round((parseFloat(preisdurchschnitt) / 24)*10000)/10000;
                                              setStateDelayed((['0_userdata.0.Tibber.EPEX_Spot_DE_',zeitraum,'.ESDE_',zeitraum,'_Mittel_ungewichtet'].join('')), preisdurchschnitt, true, parseInt(((0) || "").toString(), 10), false);
                                            }
                                            
                                            // Zuerst wird der geringste Preis und damit die günstigste Stunde ermittelt.
                                            // Beide Werte müssten nicht als Datenpunkt in den Objekten
                                            // abgebildet werden. Habe ich nur gemacht, um das Ergebnis zu sehen.
                                            async function guenstigster_preis() {
                                              if (zeitraum == 'heute') {
                                                stundenpreise = stundenpreise_heute;
                                                zeitraum_json = 'today';
                                              } else {
                                                stundenpreise = stundenpreise_morgen;
                                                zeitraum_json = 'tomorrow';
                                              }
                                              stunde = 0;
                                              // Hier wird das englische Wort benötigt.
                                              preis__1 = parseFloat(jsonataExpression((function () { try {return JSON.parse(stundenpreise);} catch(e) {return {};}})(),(['data.viewer.homes[0].currentSubscription.priceInfo.',zeitraum_json,'[',('' + stunde),'].total'].join(''))));
                                              for (stunde = 1; stunde <= 23; stunde++) {
                                                // Hier wird das englische Wort benötigt.
                                                preis_0 = parseFloat(jsonataExpression((function () { try {return JSON.parse(stundenpreise);} catch(e) {return {};}})(),(['data.viewer.homes[0].currentSubscription.priceInfo.',zeitraum_json,'[',('' + stunde),'].total'].join(''))));
                                                // Der Vergleich der Stundenpreise (Schleife) fängt mit
                                                // der 1ten Stunde an - 01:00 bis 01:59 -, da zur 0ten
                                                // Stunde kein vorheriger Vergleichspreis vorliegt. Daher
                                                // muss aber die 0'te Stunde separat behandelt werden.
                                                //
                                                if (stunde == 1) {
                                                  if (preis_0 < preis__1) {
                                                    geringster_preis = preis_0;
                                                    geringster_preis_stunde = 1;
                                                  } else {
                                                    geringster_preis = preis__1;
                                                    geringster_preis_stunde = 0;
                                                  }
                                                } else {
                                                  if (preis_0 < geringster_preis) {
                                                    geringster_preis = preis_0;
                                                    geringster_preis_stunde = stunde;
                                                  }
                                                }
                                              }
                                              setState("0_userdata.0.Tibber.Geringster_Preis"/*Geringster_Preis*/, geringster_preis, true);
                                              setState("0_userdata.0.Tibber.Geringster_Preis_Stunde"/*günstigste Stunde*/, geringster_preis_stunde, true);
                                            }
                                            
                                            // Mit dem vorab ermittelten geringsten Stundenpreis + Hysterese, wird
                                            // jeder Stundenpreis verglichen und die günstigen Stunden ermittelt.
                                            // Diese günstigen Stunden werden als Datenpunkt weggeschrieben,
                                            // um für die EPEX-Freigabe im Geräte-Script herangezogen zu werden.
                                            async function guenstige_stunden() {
                                              if (zeitraum == 'heute') {
                                                stundenpreise = stundenpreise_heute;
                                                zeitraum_json = 'today';
                                              } else {
                                                stundenpreise = stundenpreise_morgen;
                                                zeitraum_json = 'tomorrow';
                                              }
                                              preis_hysterese_stunden = [];
                                              max_preis = parseFloat((parseFloat(geringster_preis) * (parseFloat(100) + preis_hysterese))) / 100;
                                              for (stunde = 0; stunde <= 23; stunde++) {
                                                preis_0 = parseFloat(jsonataExpression((function () { try {return JSON.parse(stundenpreise);} catch(e) {return {};}})(),(['data.viewer.homes[0].currentSubscription.priceInfo.',zeitraum_json,'[',('' + stunde),'].total'].join(''))));
                                                if (preis_0 <= max_preis) {
                                                  preis_hysterese_stunden.push(stunde);
                                                }
                                              }
                                              setState("0_userdata.0.Tibber.Preis_Hysterese_Stunden"/*Stunden mit günstigen Preisen*/, ('' + preis_hysterese_stunden), true);
                                            }
                                            
                                            // Beschreibe diese Funktion …
                                            async function epex_preise_kopieren() {
                                              for (stunde = 0; stunde <= 23; stunde++) {
                                                setStateDelayed(('0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_' + String(stunde)), getState(('0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_' + String(stunde))).val, true, parseInt(((0) || "").toString(), 10), false);
                                              }
                                              setState("0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_Mittel_ungewichtet"/*ESDE_heute_Mittel_ungewichtet*/, getState("0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet").val, true);
                                              setState("0_userdata.0.Tibber.EPEX_Spot_DE_morgen.ESDE_morgen_Mittel_ungewichtet"/*ESDE_morgen_Mittel_ungewichtet*/, 0, true);
                                            }
                                            
                                            
                                            // 1. Variablen einmalig bei Start setzen.
                                            geringster_preis = getState("0_userdata.0.Tibber.Geringster_Preis").val;
                                            geringster_preis_stunde = getState("0_userdata.0.Tibber.Geringster_Preis_Stunde").val;
                                            preis_hysterese = getState("0_userdata.0.Tibber.Preis_Hysterese").val;
                                            preis_hysterese_stunden = getState("0_userdata.0.Tibber.Preis_Hysterese_Stunden").val;
                                            abholzeit = getState("0_userdata.0.Tibber.Abholzeit").val;
                                            stundenpreise_heute = getState("0_userdata.0.Tibber.Stundenpreise_heute").val;
                                            stundenpreise_morgen = getState("0_userdata.0.Tibber.Stundenpreise_morgen").val;
                                            // 2. Für manuellen Aufruf
                                            // !! nach der manuellen Nutzung die Bausteine wieder deaktivieren !!
                                            //
                                            // Durch eintragen von "heute" oder "morgen" wird entschieden,
                                            // aus welchem Datenpunkt die Preise verarbeitet werden:
                                            // - "heute" --> 0_userdata.0.Tibber.Stundenpreise_heute
                                            // - "morgen" --> 0_userdata.0.Tibber.Stundenpreise_morgen
                                            // Ebenso wie entschieden, in welche Datenpunkte die Preise gesplittet werden sollen:
                                            // - "heute" --> 0_userdata.0.Tibber.EPEX_Spot_DE_heute.ESDE_heute_1 (bis 23)
                                            // - "morgen" --> 0_userdata.0.Tibber.EPEX_Spot_DE_morgen_ESDE_morgen_1 (bis 23)
                                            zeitraum = 'heute';
                                            await stundenpreise_splitten();
                                            // Durch das Aktualisieren der Werte nach einer Änderung,
                                            // kann das Script durchlaufen und muss nicht neu
                                            // gestartet werden, um aktuelle Werte zu berücksichtigen.
                                            // 3. Werte bei Änderung neu ermitteln
                                            on({id: "0_userdata.0.Tibber.Preis_Hysterese"/*%tualer Aufschlag*/, change: "ne"}, async function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              preis_hysterese = (obj.state ? obj.state.val : "");
                                              // Die Änderung des Aufschlags kann vor oder nach Abholen der TIBBER-Preise erfolgen.
                                              // Erfolgt die Änderung vor der Preis-Aktualisierung finden
                                              // sich die aktuellen Preise in "stundenpreise_morgen".
                                              // Erfolgt die Änderung nach der Preis-Aktualisierung finden
                                              // sich die aktuellen Preise in "stundenpreise_heute".
                                              if (compareTime(abholzeit, null, "<", null)) {
                                                zeitraum = 'morgen';
                                              } else {
                                                zeitraum = 'heute';
                                              }
                                              await guenstige_stunden();
                                            });
                                            on({id: "0_userdata.0.Tibber.Abholzeit"/*wann Preise abgeholt werden - nicht vor 14:30 ( hh:mm )*/, change: "ne"}, async function (obj) {
                                              var value = obj.state.val;
                                              var oldValue = obj.oldState.val;
                                              abholzeit = (obj.state ? obj.state.val : "");
                                              (function () {if (TIBBERpreise_abholen) {clearSchedule(TIBBERpreise_abholen); TIBBERpreise_abholen = null;}})();
                                              await preise_holen();
                                            });
                                            // 4. um "abholzeit" Preise von Tibber abholen
                                            // Preise von "today" und "tomorrow" abholen
                                            //    und auf Tage und Stunden splitten
                                            await preise_holen();
                                            // 5. zu Tagesbeginn aktuelle Werte ermitteln
                                            schedule("2 0 * * *", async function () {
                                              // Die Preis-/Stunden-Ermittlung findet zu Beginn des
                                              // neuen Tages statt. zu diesem Zeitpunkt befinden
                                              // sich sie TIBBER-Preise in "stundenpreise_morgen".
                                              zeitraum = 'morgen';
                                              await guenstigster_preis();
                                              await guenstige_stunden();
                                              await epex_preise_kopieren();
                                            });
                                            
                                            // 6. ausgelagerte Routinen
                                            // 6.1 Abrufen der TIBBER-JSON-Daten
                                            
                                            // 6.2 Neue Preise auf Tage und Stunden aufsplitten - für VIS
                                            
                                            // 6.3. Geringsten Stundenpreis ermitteln
                                            
                                            // 6.4. Stunden mit günstigen Preisen ermitteln
                                            
                                            // 6.5. Bei Tageswechsel Werte umziehen
                                            
                                            H 1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            833
                                            Online

                                            31.7k
                                            Users

                                            79.7k
                                            Topics

                                            1.3m
                                            Posts

                                            awattar billig börse epex günstig strompreis stündlich tibber
                                            24
                                            156
                                            22295
                                            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