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. ioBroker Allgemein
  4. Abruf CSV von sehr vielen History-Daten eines Datenpunktes

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    14
    1
    428

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    1.8k

Abruf CSV von sehr vielen History-Daten eines Datenpunktes

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
4 Beiträge 2 Kommentatoren 366 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.
  • T Offline
    T Offline
    Thias
    schrieb am zuletzt editiert von
    #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 Antwort Letzte Antwort
    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
      schrieb am zuletzt editiert von
      #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 Antwort Letzte Antwort
      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
        schrieb am zuletzt editiert von
        #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 Antwort Letzte Antwort
        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
          schrieb am zuletzt editiert von 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 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
          FAQ Cloud / IOT
          HowTo: Node.js-Update
          HowTo: Backup/Restore
          Downloads
          BLOG

          479

          Online

          32.6k

          Benutzer

          81.9k

          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