Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. ioBroker Allgemein
  4. Abruf CSV von sehr vielen History-Daten eines Datenpunktes

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    16
    1
    265

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

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

Abruf CSV von sehr vielen History-Daten eines Datenpunktes

Scheduled Pinned Locked Moved ioBroker Allgemein
4 Posts 2 Posters 399 Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • T Offline
    T Offline
    Thias
    wrote on last edited by
    #1

    Ich zeichne die Vor- und Nachlauftemp. unserer Heizung auf und benötige jetzt die Daten für das erste Halbjahr. Über die History-Abfrage des Datenpunktes bekomme ich nur wenige Tage angezeigt (über 500 Datenpunkte). Jetzt habe ich ein Java-Script gesehen, mit dem Datenpunkte eine gewisse Zeit (eher Stunden als Tage) abgerufen werden können. Das hilft mir hier auch nicht weiter. Andere Beiträge dazu habe ich nicht gefunden.

    Mein Frage also:
    Wie würdet ihr die Daten vom 01.01. bis zum 30.06. eines (genauer gesagt von zwei Datenpunkten) auslesen, damit ihr eine CSV-Datei Datei erhaltet. Ich rechne mit ca 30.000 bis 50.000 Werten pro Datenpunkt.

    Danke für eure Hilfe!

    OliverIOO 1 Reply Last reply
    0
    • T Thias

      Ich zeichne die Vor- und Nachlauftemp. unserer Heizung auf und benötige jetzt die Daten für das erste Halbjahr. Über die History-Abfrage des Datenpunktes bekomme ich nur wenige Tage angezeigt (über 500 Datenpunkte). Jetzt habe ich ein Java-Script gesehen, mit dem Datenpunkte eine gewisse Zeit (eher Stunden als Tage) abgerufen werden können. Das hilft mir hier auch nicht weiter. Andere Beiträge dazu habe ich nicht gefunden.

      Mein Frage also:
      Wie würdet ihr die Daten vom 01.01. bis zum 30.06. eines (genauer gesagt von zwei Datenpunkten) auslesen, damit ihr eine CSV-Datei Datei erhaltet. Ich rechne mit ca 30.000 bis 50.000 Werten pro Datenpunkt.

      Danke für eure Hilfe!

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      wrote on last edited by
      #2

      @thias

      Der history Adapter hat einen Befehl mit dem man die Daten abrufen kann

      https://github.com/ioBroker/ioBroker.history/blob/master/docs/de/README.md#zugriff-auf-history-werte-mit-javascript

      Da bekommst du dann ein JavaScript Array zurück.
      Entweder schreibst du die Datei selber. Csv ist ja nicht so schwer
      Oder du nimmst eine extra Bibliothek, die dir das sehr einfach erledigt.

      https://www.npmjs.com/package/csv-stringify

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      T 1 Reply Last reply
      0
      • OliverIOO OliverIO

        @thias

        Der history Adapter hat einen Befehl mit dem man die Daten abrufen kann

        https://github.com/ioBroker/ioBroker.history/blob/master/docs/de/README.md#zugriff-auf-history-werte-mit-javascript

        Da bekommst du dann ein JavaScript Array zurück.
        Entweder schreibst du die Datei selber. Csv ist ja nicht so schwer
        Oder du nimmst eine extra Bibliothek, die dir das sehr einfach erledigt.

        https://www.npmjs.com/package/csv-stringify

        T Offline
        T Offline
        Thias
        wrote on last edited by
        #3

        @oliverio said in Abruf CSV von sehr vielen History-Daten eines Datenpunktes:

        https://www.npmjs.com/package/csv-stringify

        Vielen Dank, den Eintrag zum Javascript hast ich schon gesehen, habe aber keine Ahnung, wie ich da meinen Zeitraum (01.01.-30.06.) auswähle und wo das Script das Ergebnis speichert...

        OliverIOO 1 Reply Last reply
        0
        • T Thias

          @oliverio said in Abruf CSV von sehr vielen History-Daten eines Datenpunktes:

          https://www.npmjs.com/package/csv-stringify

          Vielen Dank, den Eintrag zum Javascript hast ich schon gesehen, habe aber keine Ahnung, wie ich da meinen Zeitraum (01.01.-30.06.) auswähle und wo das Script das Ergebnis speichert...

          OliverIOO Offline
          OliverIOO Offline
          OliverIO
          wrote on last edited by OliverIO
          #4

          @thias

          welcher teil?
          der folgende beispielcode ruft die daten der letzen 60 Minuten ab.
          Zeitangabe erfolgt in Millisekunden, daher Date.now()-1000*60*60 == 3.600.000
          start und ende wird per start und end definiert.
          die daten werden dann im callback zurückgegebeen.
          im beispiel die funktion die als funktionsparameter definiert ist, die daten sind dann in result enthalten und kann damit daann weiterverarbeitet werden.
          bisher also nur in einer variable.
          den genauen aufbau der variable/objekt weiß ich nicht, da musst dir das ergebnis dann mal ausgeben lassen (am besten während der entwicklung noch nicht ganz soviele daten ausgeben lassen)
          im beispiel ist ja schon eine ausgabe auf die console enthalten.

          var end = Date.now();
          sendTo('history.0', 'getHistory', {
              id: 'system.adapter.admin.0.memRss',
              options: {
                  start:      end - 3600000,
                  end:        end,
                  aggregate: 'onchange'
              }
          }, function (result) {
              for (var i = 0; i < result.result.length; i++) {
                  console.log(result.result[i].val + ' ' + new Date(result.result[i].ts).toISOString());
              }
          });
          

          im nächsten schritt nimmst du die daten und bereitest die für csv auf und schreibst sie mit fs.writeFile in eine datei auf deiner festplatte
          https://nodejs.org/api/fs.html#fswritefilesyncfile-data-options
          hier noch ein beispiel
          https://www.geeksforgeeks.org/node-js-fs-writefilesync-method/

          Meine Adapter und Widgets
          TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
          Links im Profil

          1 Reply Last reply
          0
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          Support us

          ioBroker
          Community Adapters
          Donate
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          621

          Online

          32.7k

          Users

          82.5k

          Topics

          1.3m

          Posts
          Community
          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
          ioBroker Community 2014-2025
          logo
          • Login

          • Don't have an account? Register

          • Login or register to search.
          • First post
            Last post
          0
          • Home
          • Recent
          • Tags
          • Unread 0
          • Categories
          • Unreplied
          • Popular
          • GitHub
          • Docu
          • Hilfe