Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. JSON aus mehreren DP´s mit getHistory befüllen

    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

    JSON aus mehreren DP´s mit getHistory befüllen

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

      Ich schaffe es aus einem DP mit getHistory eine JSON für eine Tabelle zu erzeugen und möchte diese nun um weitere Spalten erweitern.
      Kann mir jemand kurz auf die Sprünge helfen wie ich das Blockly erweitern muss, damit mehrere Spalten täglich mit "füge ein als letztes" funktioniert?

      Aktuell hab ich folgendes Setup:
      5d6abb3b-3f64-4107-8cca-fbc5c0f76d4d-image.png

      Der DP hat dann folgenden Inhalt:

      [{"Tag":"02/12","kWh":14.4},{"Tag":"02/11","kWh":23.3},{"Tag":"02/10","kWh":21.4},{"Tag":"02/09","kWh":25.1},{"Tag":"02/08","kWh":28.1},{"Tag":"02/07","kWh":24.9},{"Tag":"02/06","kWh":8.1},{"Tag":"02/05","kWh":11},{"Tag":"02/04","kWh":7.8},{"Tag":"02/03","kWh":18},{"Tag":"02/02","kWh":14.6},{"Tag":"02/01","kWh":21.1},{"Tag":"01/31","kWh":13.1},{"Tag":"01/30","kWh":24.5},{"Tag":"01/29","kWh":18.3},{"Tag":"01/28","kWh":12.3},{"Tag":"01/27","kWh":20.3},{"Tag":"01/26","kWh":4.9},{"Tag":"01/25","kWh":19.3},{"Tag":"01/24","kWh":14.5},{"Tag":"01/23","kWh":4.9},{"Tag":"01/22","kWh":6.5},{"Tag":"01/21","kWh":4.3},{"Tag":"01/20","kWh":16.1},{"Tag":"01/19","kWh":18.2},{"Tag":"01/18","kWh":18.3},{"Tag":"01/17","kWh":10.9},{"Tag":"01/16","kWh":13.1},{"Tag":"01/15","kWh":0.4},{"Tag":"01/14","kWh":14.2},{"Tag":"01/13","kWh":7.2},{"Tag":"01/12","kWh":3.9},{"Tag":"01/11","kWh":7.8},{"Tag":"01/10","kWh":12.8},{"Tag":"01/09","kWh":13.2},{"Tag":"01/08","kWh":8.5},{"Tag":"01/07","kWh":4.3},{"Tag":"01/06","kWh":3.8},{"Tag":"01/05","kWh":1.5},{"Tag":"01/04","kWh":12},{"Tag":"01/03","kWh":8.9},{"Tag":"01/02","kWh":8.7},{"Tag":"01/01","kWh":5.4},{"Tag":"12/31","kWh":4.2},{"Tag":"12/30","kWh":3},{"Tag":"12/29","kWh":13.6},{"Tag":"12/28","kWh":12.3},{"Tag":"12/27","kWh":13.9},{"Tag":"12/26","kWh":4.6},{"Tag":"12/25","kWh":16.7},{"Tag":"12/24","kWh":9.8},{"Tag":"12/23","kWh":5.5},{"Tag":"12/22","kWh":2.6},{"Tag":"12/21","kWh":6.9},{"Tag":"12/20","kWh":2.5},{"Tag":"12/19","kWh":6.9},{"Tag":"12/18","kWh":9.7},{"Tag":"12/17","kWh":3.4},{"Tag":"12/16","kWh":3.1},{"Tag":"12/15","kWh":4.4}]
      

      In der VIS sieht es so aus:
      6cd56aac-ee4d-4060-b6c4-d8c3e8d36a59-image.png

      Und nun hätte ich jetzt gerne mehrere Spalten mit zB Einspeisung, Eigenverbrauch, Einsparung, etc. - es gibt zu allen natürlich einen DP mit den Tageswerten und aktiviertem History logging.

      Codierknecht David G. 2 Replies Last reply Reply Quote 0
      • Codierknecht
        Codierknecht Developer Most Active @rtwl last edited by Codierknecht

        @rtwl
        Das komplett auszuformulieren würde hier den Rahmen sprengen, darum nur das Prinzip. Den Rest kriegst Du sicher hin.
        Bedingung ist, dass tatsächlich aus der History die gleiche Menge an Werten in der gleichen Reihenfolge geliefert wird. Sonst wird's deutlich aufwändiger, da man dann den passenden Tag erst suchen muss.
        Man eiert dann einfach nacheinander die einzelnen Ergebnislisten durch und erweitert sukzessive das Objekt.
        Erst am Ende schreibt man die (jetzt komplette) Liste in den DP.

        56b6ae1b-a240-4b5d-b861-e782685c756e-image.png

        rtwl 1 Reply Last reply Reply Quote 0
        • David G.
          David G. @rtwl last edited by David G.

          @rtwl
          Du könntest auch in die entsprechenden DPs mit der Historyabfrage in eine Schleife packen die 60x durchläuft und anhand der der Durchlaufnummer das Datum berechnet (Vor der Schleife einmal Beginn und Ende des aktuellen Tages ausrechnen und bei der History Abfrage dann diese Werte abzüglich "Durchlauf x 86400000 ").

          1 Reply Last reply Reply Quote 0
          • rtwl
            rtwl @Codierknecht last edited by

            @codierknecht danke! Muss ich mir am Abend anschauen, aber so recht verstehe ich noch nicht wie ich die einzelnen dp Werte dann den Attributen zuordnen kann.

            zusätzlich noch als Info. Die insgesamt 7 dp's werden per Skript täglich um 23:59 befüllt und per History geloggt. Ich hab also immer die gleiche Anzahl und den selben Zeitpunkt (Abweichung vermutlich nur im ms Bereich). Ich könnte also auch anstellen des Zeitraumes auch die Anzahl der letzten 14 Einträge abfragen.

            für einen dp ja kein Problem. Nur bei mehreren verstehe ich gerade nicht wie ich die Werte aus der ersten Schleife in die nächste bekomme.

            Codierknecht paul53 2 Replies Last reply Reply Quote 0
            • Codierknecht
              Codierknecht Developer Most Active @rtwl last edited by Codierknecht

              @rtwl sagte in JSON aus mehreren DP´s mit getHistory befüllen:

              aber so recht verstehe ich noch nicht wie ich die einzelnen dp Werte dann den Attributen zuordnen kann

              So

              673ef3ba-84ef-450b-a876-785cdb26a0ef-image.png

              Im Objekt tag hast Du die einzelnen Elemente der Liste.
              Den Wert val daraus trägst Du in objekt ein.

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

                @rtwl sagte: 7 dp's werden per Skript täglich um 23:59 befüllt

                Dann kannst du doch die Tabelle in diesem Skript erzeugen und auf 14 Zeilen begrenzen. Nur zu Anfang hat du dann keine 14 Zeilen.

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

                Support us

                ioBroker
                Community Adapters
                Donate

                911
                Online

                31.9k
                Users

                80.2k
                Topics

                1.3m
                Posts

                4
                6
                204
                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