Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Blockly
  5. JSON aus mehreren DP´s mit getHistory befüllen

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    16
    1
    1.1k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    716

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.0k

JSON aus mehreren DP´s mit getHistory befüllen

Geplant Angeheftet Gesperrt Verschoben Blockly
6 Beiträge 4 Kommentatoren 375 Aufrufe 3 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • rtwlR Offline
    rtwlR Offline
    rtwl
    schrieb am zuletzt editiert von
    #1

    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.

    -Peter

    CodierknechtC David G.D 2 Antworten Letzte Antwort
    0
    • rtwlR rtwl

      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.

      CodierknechtC Online
      CodierknechtC Online
      Codierknecht
      Developer Most Active
      schrieb am zuletzt editiert von Codierknecht
      #2

      @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

      "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

      Proxmox 9.1.1 LXC|8 GB|Core i7-6700
      HmIP|ZigBee|Tasmota|Unifi
      Zabbix Certified Specialist
      Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

      rtwlR 1 Antwort Letzte Antwort
      0
      • rtwlR rtwl

        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.

        David G.D Online
        David G.D Online
        David G.
        schrieb am zuletzt editiert von David G.
        #3

        @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 ").

        Zeigt eure Lovelace-Visualisierung klick
        (Auch ideal um sich Anregungen zu holen)

        Meine Tabellen für eure Visualisierung klick

        1 Antwort Letzte Antwort
        0
        • CodierknechtC 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

          rtwlR Offline
          rtwlR Offline
          rtwl
          schrieb am zuletzt editiert von
          #4

          @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.

          -Peter

          CodierknechtC paul53P 2 Antworten Letzte Antwort
          0
          • rtwlR rtwl

            @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.

            CodierknechtC Online
            CodierknechtC Online
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von Codierknecht
            #5

            @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.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            1 Antwort Letzte Antwort
            0
            • rtwlR rtwl

              @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.

              paul53P Offline
              paul53P Offline
              paul53
              schrieb am zuletzt editiert von
              #6

              @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.

              Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
              Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

              1 Antwort Letzte Antwort
              0
              Antworten
              • In einem neuen Thema antworten
              Anmelden zum Antworten
              • Älteste zuerst
              • Neuste zuerst
              • Meiste Stimmen


              Support us

              ioBroker
              Community Adapters
              Donate

              588

              Online

              32.6k

              Benutzer

              82.0k

              Themen

              1.3m

              Beiträge
              Community
              Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
              ioBroker Community 2014-2025
              logo
              • Anmelden

              • Du hast noch kein Konto? Registrieren

              • Anmelden oder registrieren, um zu suchen
              • Erster Beitrag
                Letzter Beitrag
              0
              • Home
              • Aktuell
              • Tags
              • Ungelesen 0
              • Kategorien
              • Unreplied
              • Beliebt
              • GitHub
              • Docu
              • Hilfe