Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. (gelöst) Awattar: 8 günstigsten Stunden von 6-21 Uhr

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

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

    • ioBroker goes Matter ... Matter Adapter in Stable

    (gelöst) Awattar: 8 günstigsten Stunden von 6-21 Uhr

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

      @muckel
      Ansatz ohne Adapter mit API-Abfrage und eigener Sortierungsfunktion sortObjNum(arr, attr):

      function sortAttr(a, b) {
          return parseFloat(a[attr]) - parseFloat(b[attr]);
      }
      arr.sort(sortAttr);
      

      Blockly_temp.JPG

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

        @paul53
        Danke für deine Unterstützung.
        Ich werde beide mal ausprobieren.
        lg. Erich

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

          @paul53
          In der Liste von (awattar.0.pricesOrdered.) sind auch die Tage von Morgen drinnen.
          Für 48 Stunden vom billigsten bis zum teuersten. 0-47
          Wie kann ich die Liste nur für den heutigen Tag einspielen? Die Liste ist momentan gemixt.
          11:00, 12:00, und 14:00 sind von heute und morgen

          {"start":"14:00:00","price":0.056999999999999995},
          {"start":"11:00:00","price":0.086},
          {"start":"12:00:00","price":0.091},
          {"start":"13:00:00","price":0.11000000000000001},
          {"start":"10:00:00","price":1.0050000000000001},
          {"start":"15:00:00","price":2.957},
          {"start":"09:00:00","price":3},
          {"start":"13:00:00","price":3.032},
          {"start":"14:00:00","price":3.129},
          {"start":"08:00:00","price":5.220000000000001},
          {"start":"15:00:00","price":5.535},
          {"start":"12:00:00","price":5.561999999999999},
          {"start":"11:00:00","price":5.6049999999999995},
          {"start":"16:00:00","price":5.974}
          

          Gibt es eine Abfrage mit nur "heute"?

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

            @muckel sagte: Gibt es eine Abfrage mit nur "heute"?

            Dann muss man zusätzlich das Datum ("startDate") prüfen.

            Die Version mit der API hat das Problem nicht, da die Liste mit der Stunde, in der die Werte geholt werden, beginnt.

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

              @paul53
              Das dachte ich mir schon, aber wie prüfe ich startdate auf "heute" ab ?

              Ich versuche morgen die http liste auch noch.
              danke für die info

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

                @muckel sagte: wie prüfe ich startdate auf "heute" ab ?

                Z.B. so:

                Blockly_temp.JPG

                M 2 Replies Last reply Reply Quote 0
                • M
                  muckel @paul53 last edited by

                  @paul53
                  Bin erst jetzt nach hause gekommen.
                  Danke schön!

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

                    @paul53

                    Guten Morgen Paul
                    Funktioniert alles perfekt.
                    Was noch nicht funktioniert ist:
                    Wenn ich das script neu starte, dann werden die listen erst generiert, wenn der Trigger CRON Zeitpunkt (05:59) gekommen ist.
                    ich kann natürlich das script nochmals außerhalb vom CRON laufen lassen (ohne Trigger), dann werden die Listen beim Start einmalig geladen. Danach wird die CRON Regel schlagend.
                    Ich denke mir allerdings, dass dies eleganter auch gehen muss.
                    Hast du da einen Tip für mich?
                    lg. erich

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

                      @muckel sagte: werden die listen erst generiert, wenn der Trigger CRON Zeitpunkt (05:59) gekommen ist.

                      Welche Version?
                      Die zweite Version funktioniert nur zwischen 5:00 Uhr und 5:59 Uhr.
                      Wenn in der ersten Version die Listen nach 6 Uhr eingelesen werden, kann natürlich nur noch ein geringerer Zeitraum genutzt werden.
                      Um bei Skriptstart und um 5:59 Uhr einzulesen, packt man alles in eine Funktion und ruft die Funktion im CRON-Trigger und bei Skriptstart auf.

                      Blockly_temp.JPG

                      M 2 Replies Last reply Reply Quote 0
                      • M
                        muckel @paul53 last edited by

                        @paul53
                        Danke für den Input.
                        Ich hab gewusst, dass du eine elegantere Lösung hast. 😂

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

                          @paul53

                          Weil alles so perfekt funktioniert, hätte ich noch eine Frage:

                          Ich möchte die vom günstigsten Tarif an sortierte Liste (24h) als Text (Pushover) verschicken. Natürlich schön leserlich, Zeile für Zeile.
                          Startzeit SS:MM = Preis xx,xxx+13,223
                          Ich habe mich vorher noch nie mit Listen beschäftigt und werkle schon Stunden ergebnislos herum.

                          Liebe Grüße Erich
                          und Danke nochmals für deine Hilfe

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

                            @muckel sagte: Zeile für Zeile.
                            Startzeit SS:MM = Preis xx,xxx+13,223

                            Blockly_temp.JPG

                            M 2 Replies Last reply Reply Quote 0
                            • M
                              muckel @paul53 last edited by

                              @paul53
                              Bin schon am nachbauen. Danke schön.

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

                                @paul53
                                Funktioniert ebenfalls perfekt.
                                Jetzt wo ich verstanden habe, wie man so eine Liste generiert, hab ich noch ein paar optische Änderungen eingebaut. Ohne deine Hilfe hätte ich das nie geschafft.
                                Danke schön

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

                                  @paul53
                                  Darf ich dich nochmals um eine Lösung bitten?

                                  Ich würde gerne den aktuellen Strompreis stündlich in einen Datenpunkt schreiben um ihn mit History und E-Charts mitschreiben.
                                  Ich wollte dafür deine Liste nehmen, aber so richtig funktioniert das nicht.
                                  Hast du für das auch eine schöne Lösung parat?
                                  Liebe Grüße Erich

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

                                    @muckel sagte: aktuellen Strompreis stündlich in einen Datenpunkt schreiben um ihn mit History und E-Charts mitschreiben.

                                    Schreibe ihn zur jeden vollen Stunde in einen DP, der aufgezeichnet wird.

                                    Blockly_temp.JPG

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

                                      @paul53

                                      Auf das wäre ich niemals draufgekommen. Danke.
                                      Datenpunkt muss "number" oder "string" sein?
                                      "hour" ist eine Variable?!

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

                                        @muckel sagte: "hour" ist eine Variable?!

                                        hour ist die Variable, die schon in der Schleife verwendet wird. Sie enthält die Stunde der aktuellen Uhrzeit.

                                        @muckel sagte in (gelöst) Awattar: 8 günstigsten Stunden von 6-21 Uhr:

                                        Datenpunkt muss "number" oder "string" sein?

                                        "number"

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

                                          @paul53 sagte in (gelöst) Awattar: 8 günstigsten Stunden von 6-21 Uhr:

                                          @muckel sagte

                                          alles klar!
                                          ich hab deine vorlage genommen ohne der variablen "hour".
                                          habs sie jetzt eingebaut.
                                          so wie ich dich kenne, wird es jetzt passen.
                                          herzlichen dank.

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

                                            @paul53

                                            Da ich die Preise im Awattar adapter immer erst um 23:59 hole, habe ich die preise ab 00:00 immer vom Vortag drinnen stehen. Macht ja auch nichts. Die Steuerung funktioniert ja, da die Auswertung auch nach datum funktioniert.
                                            ich habe bei deiner abfrage einfach "hour+24" genommen, jetzt passt es.
                                            Danke nochmal

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            693
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

                                            2
                                            42
                                            1767
                                            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