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] wie mit sendTo History.0 Werte im Voraus übergeben?

    NEWS

    • Neues Video "KI im Smart Home" - ioBroker plus n8n

    • Neues Video über Aliase, virtuelle Geräte und Kategorien

    • Wir empfehlen: Node.js 22.x

    [gelöst] wie mit sendTo History.0 Werte im Voraus übergeben?

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

      @paul53 vielen lieben Dank Paul!

      @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

      Besser geeignet ist Beispiel 2

      so in der Art hätte ich mir mein Endergebnis vorgestellt und um 05:15 einmalig gestartet

      Dazu einige Fragen:
      ich muss natürlich entsprechend viele Stunden Forecast im Adapter freischalten, wie im Sommer die Sonne scheinen wird.
      Ist die Anzahl idiese Anzahl existierender Datenpunke?
      ist <10 die Anzahl der Sonnenstunden? EDIT: Das sind die führenden 0 bei einstelligen Namen!

      Werde ich so umsetzen!
      DANKE!

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

        @homoran sagte: Ist die Anzahl idiese Anzahl existierender Datenpunke?

        Ich habe angenommen, dass die ID die Stunde der Uhrzeit enthält? Deshalb i von 3 bis 22.

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @paul53 last edited by

          @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

          dass die ID die Stunde der Uhrzeit enthält?

          leider nein.
          die wird kontinuierlich geändert:
          0 = aktuelle Stunde
          1 = nächste Stunde
          usw...

          wenn ich das Skript um 05:15 laufen lasse, ist 00, die Stunde 05:00-05:59

          in dem jeweiligen Verzeichnis gibt es einen DP Timestamp.

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

            @homoran sagte: ist 00, die Stunde 05:00-05:59

            Dann lass i von 0 bis 16 laufen. Oder ist die Anzahl der Datenpunkte abhängig von der Jahreszeit?

            Blockly_temp.JPG

            Homoran 2 Replies Last reply Reply Quote 1
            • Homoran
              Homoran Global Moderator Administrators @paul53 last edited by Homoran

              @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

              Oder ist die Anzahl der Datenpunkte abhängig von der Jahreszeit?

              nein! die würde ich entsprechend dem maximal im Sommer benötigtem konfigurieren

              @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

              lass i von 0 bis 16

              das wäre 5:00-21:59 Uhr.
              das sollte passen
              Screenshot_20250919-114509_Firefox.jpg

              1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @paul53 last edited by Homoran

                @paul53 so, dann warte ich mal auf morgen!
                Screenshot_20250919-160947_Firefox.jpg
                Die Variable id lag noch rum, da hab ich sie recycelt 😉
                hourly 0...16 existieren

                Homoran 1 Reply Last reply Reply Quote 0
                • Homoran
                  Homoran Global Moderator Administrators @Homoran last edited by Homoran

                  @homoran das konnte ja nicht funktionieren! 😢

                  ich hatte doch das array für weitere Bearbeitung gesichert, da steht jetzt

                  [{"val":"brightsky.0.hourly.00.solar_estimate","ts":"brightsky.0.hourly.00.timestamp","ack":true},{"val":"brightsky.0.hourly.01.solar_estimate","ts":"brightsky.0.hourly.01.timestamp","ack":true},{"val":"brightsky.0.hourly.02.solar_estimate","ts":"brightsky.0.hourly.02.timestamp","ack":true},{"val":"brightsky.0.hourly.03.solar_estimate","ts":"brightsky.0.hourly.03.timestamp","ack":true},{"val":"brightsky.0.hourly.04.solar_estimate","ts":"brightsky.0.hourly.04.timestamp","ack":true},{"val":"brightsky.0.hourly.05.solar_estimate","ts":"brightsky.0.hourly.05.timestamp","ack":true},{"val":"brightsky.0.hourly.06.solar_estimate","ts":"brightsky.0.hourly.06.timestamp","ack":true},{"val":"brightsky.0.hourly.07.solar_estimate","ts":"brightsky.0.hourly.07.timestamp","ack":true},{"val":"brightsky.0.hourly.08.solar_estimate","ts":"brightsky.0.hourly.08.timestamp","ack":true},{"val":"brightsky.0.hourly.09.solar_estimate","ts":"brightsky.0.hourly.09.timestamp","ack":true},{"val":"brightsky.0.hourly.10.solar_estimate","ts":"brightsky.0.hourly.10.timestamp","ack":true},{"val":"brightsky.0.hourly.11.solar_estimate","ts":"brightsky.0.hourly.11.timestamp","ack":true},{"val":"brightsky.0.hourly.12.solar_estimate","ts":"brightsky.0.hourly.12.timestamp","ack":true},{"val":"brightsky.0.hourly.13.solar_estimate","ts":"brightsky.0.hourly.13.timestamp","ack":true},{"val":"brightsky.0.hourly.14.solar_estimate","ts":"brightsky.0.hourly.14.timestamp","ack":true},{"val":"brightsky.0.hourly.15.solar_estimate","ts":"brightsky.0.hourly.15.timestamp","ack":true},{"val":"brightsky.0.hourly.16.solar_estimate","ts":"brightsky.0.hourly.16.timestamp","ack":true}]
                  

                  Da hab ich auch ganz schnell meinen Fehler gefunden.
                  Schnell geändert:
                  Screenshot_20250920-090222_Firefox.jpg
                  Also noch bis morgen warten

                  EDIT:
                  Wird auch nicht klappen.
                  der Timestamp muss noch konvertiert werden

                  [{"val":0.527,"ts":"2025-09-20T07:00:00+00:00","ack":true},{"val":1.211,"ts":"2025-09-20T08:00:00+00:00","ack":true},{"val":1.993,"ts":"2025-09-20T09:00:00+00:00","ack":true},{"val":2.449,"ts":"2025-09-20T10:00:00+00:00","ack":true},{"val":2.532,"ts":"2025-09-20T11:00:00+00:00","ack":true},{"val":2.293,"ts":"2025-09-20T12:00:00+00:00","ack":true},{"val":1.823,"ts":"2025-09-20T13:00:00+00:00","ack":true},{"val":1.276,"ts":"2025-09-20T14:00:00+00:00","ack":true},{"val":0.78,"ts":"2025-09-20T15:00:00+00:00","ack":true},{"val":0.506,"ts":"2025-09-20T16:00:00+00:00","ack":true},{"val":0.178,"ts":"2025-09-20T17:00:00+00:00","ack":true},{"val":0,"ts":"2025-09-20T18:00:00+00:00","ack":true},{"val":0,"ts":"2025-09-20T19:00:00+00:00","ack":true}]
                  

                  da steht jetzt verständlicherweise NaN

                  1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators last edited by Homoran

                    Hab noch einiges geändert
                    Screenshot_20250920-093755_Firefox.jpg

                    obwohl das Array jetzt so aussieht

                    [{"val":527,"ts":1758351600000,"ack":true},{"val":1211,"ts":1758355200000,"ack":true},{"val":1993,"ts":1758358800000,"ack":true},{"val":2449,"ts":1758362400000,"ack":true},{"val":2532,"ts":1758366000000,"ack":true},{"val":2293,"ts":1758369600000,"ack":true},{"val":1823,"ts":1758373200000,"ack":true},{"val":1276,"ts":1758376800000,"ack":true},{"val":780,"ts":1758380400000,"ack":true},{"val":506,"ts":1758384000000,"ack":true},{"val":178,"ts":1758387600000,"ack":true},{"val":0,"ts":1758391200000,"ack":true},{"val":0,"ts":1758394800000,"ack":true}]
                    

                    wird jetzt nur noch der 9 Uhr Wert eingetragen.

                    den max. - Wert hab ich schon von 100 auf 10000 hochgesetzt

                    {
                      "common": {
                        "name": "clearSkyHourly",
                        "desc": "Manuell erzeugt",
                        "role": "state",
                        "type": "number",
                        "read": true,
                        "write": true,
                        "def": 0,
                        "custom": {
                          "history.0": {
                            "enabled": true,
                            "aliasId": "",
                            "debounceTime": 0,
                            "blockTime": 0,
                            "changesOnly": true,
                            "changesRelogInterval": 0,
                            "changesMinDelta": "0",
                            "ignoreBelowNumber": "",
                            "disableSkippedValueLogging": false,
                            "retention": "0",
                            "customRetentionDuration": 365,
                            "maxLength": "10",
                            "enableDebugLogs": false,
                            "debounce": "1000"
                          }
                        },
                        "min": 0,
                        "max": 10000
                      },
                      "type": "state",
                      "native": {},
                      "_id": "Messwerte.0.Solaranlage.Prognosen.clearSkyHourly",
                      "acl": {
                        "object": 1636,
                        "state": 1636,
                        "owner": "system.user.admin",
                        "ownerGroup": "system.group.administrator"
                      },
                      "from": "system.adapter.admin.0",
                      "user": "system.user.admin",
                      "ts": 1758353664668
                    }
                    

                    EDIT:
                    beim nächsten Start nach 10:00 wird wieder der erste Wert, also für 10:00 in die history eingetragen.

                    Ein neuer Testdatenpunkt, um auszuschließen dass es Probleme mit dem History.json gibt, wird genauso behandelt.

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

                      @homoran sagte: Start nach 10:00 wird wieder der erste Wert, also für 10:00 in die history eingetragen.

                      Hats du die Schleife entsprechend auf 0 bis <= 11 verkürzt?

                      @homoran sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                      Wert hab ich schon von 100 auf 10000 hochgesetzt

                      Der Datenpunkt wird hoffentlich nicht geschrieben? Die History wird mit sendTo() gefüllt.

                      Alternativ zu sendTo() kannst du es mal mit setState() versuchen, der um 5:15 Uhr 17 mal hintereinander den Datenpunkt schreibt:

                      Blockly_temp.JPG

                      Homoran 1 Reply Last reply Reply Quote 0
                      • Homoran
                        Homoran Global Moderator Administrators @paul53 last edited by Homoran

                        @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                        Hats du die Schleife entsprechend auf 0 bis <= 11 verkürzt?

                        ja!

                        @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                        Der Datenpunkt wird hoffentlich nicht geschrieben?

                        richtig!
                        hab ihn sogar gelöscht, neu angelegt. Da steht noch die initiale gelbe 0

                        @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                        Alternativ

                        wäre eine Möglichkeit.

                        Aber im Moment verstehe ich folgendes nicht:
                        gemäß der Historykonfiguration des Datenpunktes, Verlaufsdaten

                        zuerst wurde gar nichts geschrieben... ist klar, keine Zahlen
                        Anschließend (ohne timestamp-Konvertierung) standen alle Werte drin, mit Timestamp: Datum Uhrzeit .NaN für Millisekunden.
                        jetzt passt der Timestamp, aber nur der erste Wert wird in der History angezeigt!

                        ist seltsam

                        Achtung, es wird noch seltsamer
                        gerade sehe ich nochmal nach, da stehen alle Daten der vergangenen und der aktuellen Stunde drin, aber keine in der Zukunft!

                        Screenshot_20250920-122316_Firefox.jpg

                        Als ob das Array erst "zeitgerecht" abgearbeitet wird.... 🤔

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

                          @homoran sagte: da stehen alle Daten der vergangenen und der aktuellen Stunde drin

                          Die vergangenen Stunden stehen noch drin, oder hast du die History inzwischen gelöscht?

                          @homoran sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                          keine in der Zukunft!

                          Die Liste ist aber korrekt? Vielleicht lässt History mit sendTo() keine zukünftigen Daten zu?

                          Homoran 2 Replies Last reply Reply Quote 0
                          • Homoran
                            Homoran Global Moderator Administrators @paul53 last edited by

                            @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                            Die vergangenen Stunden stehen noch drin, oder hast du die History inzwischen gelöscht?

                            als ich das letzte mal teingesehen hatte standen nur 0900 und 1000 drin.
                            jetzt sind ohne weitere Aktivitäten meinerseits (war zwischenzeitlich Fliesen abschlagen 😉) die Werte von 1100 und 1200 aufgetaucht

                            1 Reply Last reply Reply Quote 0
                            • Homoran
                              Homoran Global Moderator Administrators @paul53 last edited by Homoran

                              @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                              Die Liste ist aber korrekt?

                              die um 10:07:59 geschriebene und gesendete Liste
                              Screenshot_20250920-123704_Firefox.jpg

                              [{"val":1253,"ts":1758355200000,"ack":true},{"val":1920,"ts":1758358800000,"ack":true},{"val":2368,"ts":1758362400000,"ack":true},{"val":2515,"ts":1758366000000,"ack":true},{"val":2293,"ts":1758369600000,"ack":true},{"val":1823,"ts":1758373200000,"ack":true},{"val":1299,"ts":1758376800000,"ack":true},{"val":790,"ts":1758380400000,"ack":true},{"val":513,"ts":1758384000000,"ack":true},{"val":185,"ts":1758387600000,"ack":true},{"val":0,"ts":1758391200000,"ack":true},{"val":0,"ts":1758394800000,"ack":true}]
                              

                              @paul53 sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                              Vielleicht lässt History mit sendTo() keine zukünftigen Daten zu?

                              @klassisch kann es aber 😢 mit js

                              EDIT:
                              das gleiche in dem einmalig testweise beschriebenen Datenpunkt
                              Screenshot_20250920-123954_Firefox.jpg

                              EDIT2:
                              damit liegen aber zumindest in flot die zukünftigen Daten vor
                              Screenshot_20250920-124219_Firefox.jpg

                              Möglicherweise ist doch das heutige json vom Original-DP durch diese Spielereien "verbrannt"
                              hab aber keine Lust mir das rauszusuchen und zu analysieren

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

                                @homoran sagte: das gleiche in dem einmalig testweise beschriebenen Datenpunkt

                                Schau dir mal die Endzeit an: Die zukünftigen Werte werden nur nicht angezeigt, sind aber in der .json-Datei enthalten?

                                Homoran 1 Reply Last reply Reply Quote 0
                                • Homoran
                                  Homoran Global Moderator Administrators @paul53 last edited by

                                  @paul53 siehe edit2 bitte!

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

                                    @homoran sagte: @klassisch kann es aber mit js

                                    Das ist die Version mit "steuere" ohne sendTo().

                                    Homoran 1 Reply Last reply Reply Quote 1
                                    • Homoran
                                      Homoran Global Moderator Administrators @paul53 last edited by

                                      @paul53 DANKE!
                                      ich warte mal ab, ob es morgen woeder klappt, sonst stell ich erstmalnauf den Test-DP um, und wenn das auch nicht stabil läuft mach ich das mit einzelnen Einträgen.

                                      Homoran 1 Reply Last reply Reply Quote 0
                                      • Homoran
                                        Homoran Global Moderator Administrators @Homoran last edited by

                                        @homoran sagte in wie mit sendTo History.0 Werte im Voraus übergeben?:

                                        ich warte mal ab, ob es morgen wieder klappt

                                        Tut es!
                                        Screenshot_20250921-083436_Firefox.jpg

                                        nochmals Danke @paul53

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

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        909
                                        Online

                                        32.1k
                                        Users

                                        80.7k
                                        Topics

                                        1.3m
                                        Posts

                                        2
                                        22
                                        265
                                        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