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. Einsteigerfragen
  4. Persistieren von Object Daten in InfluxDB

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.5k

Persistieren von Object Daten in InfluxDB

Geplant Angeheftet Gesperrt Verschoben Einsteigerfragen
7 Beiträge 4 Kommentatoren 200 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.
  • M Offline
    M Offline
    Malte85
    schrieb am zuletzt editiert von
    #1

    Hallo,

    ich habe eine ioBroker Instanz am Laufen, die Daten über MQTT erhält und in der InfluxDB speichert. Von dort hole ich dann die Daten und visualisiere alles in Grafana. Die Datenpunkte, die ich in Objects ablege (und für die Persistierung in der InfluxDB) aktiviere, sind einzelne Werte (z.B. ein Temperaturwert) und diese werden dann mit dem Timestamp vom Zeitpunkt der Speicherung, in der InfluxDB abgelegt.

    Ich habe nun ein neues Geräte, welches mir Datenpunkte liefert, die aber eine eigenen Timestamp haben, d.h. ich möchte nun, den Timestamp, den sie in der InfluxDB bekommen selber definieren können.

    Kann mir jemand sagen, wie man das in ioBroker machen kann? Ich habe gesehen, dass man Rollen für Datenpunkte definieren kann (JSON, value.time, ...) und ich habe damit versucht z.B. ein JSON Objekt mit Attributen "timestamp" und "value" zu übergeben, in der Hoffnung der InfluxDB Adapter würde dann diese Werte so auch in der Datenbank ablegen. Das war leider nicht erfolgreich und mir fehlt einfach das Grundwissen, wie man das macht und in der Dokumentation habe ich keine klärenden Information gefunden.

    Kann mir jemand hier weiterhelfen oder sagen, wo die entsprechenden Infos bekommen kann?

    Vielen Dank und Grüsse, Malte

    arteckA 1 Antwort Letzte Antwort
    0
    • M Malte85

      Hallo,

      ich habe eine ioBroker Instanz am Laufen, die Daten über MQTT erhält und in der InfluxDB speichert. Von dort hole ich dann die Daten und visualisiere alles in Grafana. Die Datenpunkte, die ich in Objects ablege (und für die Persistierung in der InfluxDB) aktiviere, sind einzelne Werte (z.B. ein Temperaturwert) und diese werden dann mit dem Timestamp vom Zeitpunkt der Speicherung, in der InfluxDB abgelegt.

      Ich habe nun ein neues Geräte, welches mir Datenpunkte liefert, die aber eine eigenen Timestamp haben, d.h. ich möchte nun, den Timestamp, den sie in der InfluxDB bekommen selber definieren können.

      Kann mir jemand sagen, wie man das in ioBroker machen kann? Ich habe gesehen, dass man Rollen für Datenpunkte definieren kann (JSON, value.time, ...) und ich habe damit versucht z.B. ein JSON Objekt mit Attributen "timestamp" und "value" zu übergeben, in der Hoffnung der InfluxDB Adapter würde dann diese Werte so auch in der Datenbank ablegen. Das war leider nicht erfolgreich und mir fehlt einfach das Grundwissen, wie man das macht und in der Dokumentation habe ich keine klärenden Information gefunden.

      Kann mir jemand hier weiterhelfen oder sagen, wo die entsprechenden Infos bekommen kann?

      Vielen Dank und Grüsse, Malte

      arteckA Offline
      arteckA Offline
      arteck
      Developer Most Active
      schrieb am zuletzt editiert von
      #2

      @malte85 sagte in Persistieren von Object Daten in InfluxDB:

      Ich habe nun ein neues Geräte, welches mir Datenpunkte liefert, die aber eine eigenen Timestamp haben, d.h. ich möchte nun, den Timestamp, den sie in der InfluxDB bekommen selber definieren können.

      du willst das der DP als Wert 5 bekommt aber nicht sofort in der Influx landet sonder sagen wir mal in 2 stunden erst ??

      hab ich das richtig verstaden?

      zigbee hab ich, zwave auch, nuc's genauso und HA auch

      M 1 Antwort Letzte Antwort
      0
      • arteckA arteck

        @malte85 sagte in Persistieren von Object Daten in InfluxDB:

        Ich habe nun ein neues Geräte, welches mir Datenpunkte liefert, die aber eine eigenen Timestamp haben, d.h. ich möchte nun, den Timestamp, den sie in der InfluxDB bekommen selber definieren können.

        du willst das der DP als Wert 5 bekommt aber nicht sofort in der Influx landet sonder sagen wir mal in 2 stunden erst ??

        hab ich das richtig verstaden?

        M Offline
        M Offline
        Malte85
        schrieb am zuletzt editiert von
        #3

        @arteck

        Nein nicht genau, aber meine Frage war auch nicht besonders gut formuliert. ;-)

        Ich möchte irgendwie im ioBroker einen Datenpunkt ablegen, wo ich zusätzlich
        zum eigentlichen Wert auch den Zeitpunkt definieren kann, wann dieser in der
        Vergangenheit aufgezeichnet wurde.

        Konkret zeichnet mein Gerät unabhängig Werte auf und wenn dieses dann mit
        dem ioBroker verbunden ist oder eine Verbindung hat, kommen quasi Werte aus
        der Vergangenheit, z.B. vom vorherigen Tag. Diese dann abgelegten Werte sollten
        dann in der InfluxDB nicht mit dem aktuellen Timestamp abgespeichert werden,
        sondern den Timestamp vom vorherigen Tag bekommen.

        Hier mit einem Beispiel erklärt, was ich gerne machen würde:

        Ich möchte einfach als ioBroker Object "mqtt.0.temperatur" den Wert z.B. als
        JSON Dokument ablegen:

        {
            "timestamp": 1556813561098000000,
            "value": 21.5
        }
        

        und der InfluxDB Adapter würde den Wert (21.5) dann in der InfluxDB mit diesem
        entsprechenden Timestamp ablegen. Dies würde im Line Protocol von InfluxDB
        diesem entsprechen:

        mqtt.0.temperature value=21.5 1556813561098000000
        

        Irgendwo glaube ich gelesen zu haben, dass man als ioBroker Object Value
        auch etwas in der Form "21.5;1556813561098000000" ablegen könnte und der
        InfluxDB Adapter würde das dann so interpretieren. Meine Tests waren aber
        leider nicht erfolgreich, was aber auch an der Konfiguration liegen kann.

        MartinPM paul53P 2 Antworten Letzte Antwort
        0
        • M Malte85

          @arteck

          Nein nicht genau, aber meine Frage war auch nicht besonders gut formuliert. ;-)

          Ich möchte irgendwie im ioBroker einen Datenpunkt ablegen, wo ich zusätzlich
          zum eigentlichen Wert auch den Zeitpunkt definieren kann, wann dieser in der
          Vergangenheit aufgezeichnet wurde.

          Konkret zeichnet mein Gerät unabhängig Werte auf und wenn dieses dann mit
          dem ioBroker verbunden ist oder eine Verbindung hat, kommen quasi Werte aus
          der Vergangenheit, z.B. vom vorherigen Tag. Diese dann abgelegten Werte sollten
          dann in der InfluxDB nicht mit dem aktuellen Timestamp abgespeichert werden,
          sondern den Timestamp vom vorherigen Tag bekommen.

          Hier mit einem Beispiel erklärt, was ich gerne machen würde:

          Ich möchte einfach als ioBroker Object "mqtt.0.temperatur" den Wert z.B. als
          JSON Dokument ablegen:

          {
              "timestamp": 1556813561098000000,
              "value": 21.5
          }
          

          und der InfluxDB Adapter würde den Wert (21.5) dann in der InfluxDB mit diesem
          entsprechenden Timestamp ablegen. Dies würde im Line Protocol von InfluxDB
          diesem entsprechen:

          mqtt.0.temperature value=21.5 1556813561098000000
          

          Irgendwo glaube ich gelesen zu haben, dass man als ioBroker Object Value
          auch etwas in der Form "21.5;1556813561098000000" ablegen könnte und der
          InfluxDB Adapter würde das dann so interpretieren. Meine Tests waren aber
          leider nicht erfolgreich, was aber auch an der Konfiguration liegen kann.

          MartinPM Online
          MartinPM Online
          MartinP
          schrieb am zuletzt editiert von
          #4

          @malte85 Wahrscheinlich ist es da am Sinnvollsten, am Influxdb Adapter vorbei mit Javascript zu arbeiten.

          https://docs.influxdata.com/influxdb/cloud/api-guide/client-libraries/nodejs/write/?t=Node.js

          Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
          Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
          Linux pve 6.17.9-1-pve
          6 GByte RAM für den Container
          Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
          Remote-Access über Wireguard der Fritzbox

          M 1 Antwort Letzte Antwort
          0
          • MartinPM MartinP

            @malte85 Wahrscheinlich ist es da am Sinnvollsten, am Influxdb Adapter vorbei mit Javascript zu arbeiten.

            https://docs.influxdata.com/influxdb/cloud/api-guide/client-libraries/nodejs/write/?t=Node.js

            M Offline
            M Offline
            Malte85
            schrieb am zuletzt editiert von
            #5

            @martinp Meinst du damit dann auch an den ioBroker/MQTT vorbei? Oder kann ich eine Javascript Funktion am Object Tree als Callback hängen, welcher aufgerufen wird, wenn dort neue Daten ankommen (in meinem Beispiel auf mqtt.0.temperature)?

            MartinPM 1 Antwort Letzte Antwort
            0
            • M Malte85

              @martinp Meinst du damit dann auch an den ioBroker/MQTT vorbei? Oder kann ich eine Javascript Funktion am Object Tree als Callback hängen, welcher aufgerufen wird, wenn dort neue Daten ankommen (in meinem Beispiel auf mqtt.0.temperature)?

              MartinPM Online
              MartinPM Online
              MartinP
              schrieb am zuletzt editiert von
              #6

              @malte85 Ja, so schwebt mir das vor ...

              @haus-automatisierung hatte mal ein Video, wie er solche Dinge ohne influx-Adapter mit Javascript schreibt ...

              Da ging es wohl darum, Datenpunkte zu haben, die alle zeitlich synchron sind.

              Das geht aber über meine Javascript-Kenntnisse hinaus ... müsste auch schauen, dass ich mich da anhand Quellcode einlese ..

              Intel(R) Celeron(R) CPU N3000 @ 1.04GHz 8G RAM 480G SSD
              Virtualization : unprivileged lxc container (debian 13) on Proxmox 9.1.5)
              Linux pve 6.17.9-1-pve
              6 GByte RAM für den Container
              Fritzbox 6591 FW 8.20 (Vodafone Leih-Box)
              Remote-Access über Wireguard der Fritzbox

              1 Antwort Letzte Antwort
              0
              • M Malte85

                @arteck

                Nein nicht genau, aber meine Frage war auch nicht besonders gut formuliert. ;-)

                Ich möchte irgendwie im ioBroker einen Datenpunkt ablegen, wo ich zusätzlich
                zum eigentlichen Wert auch den Zeitpunkt definieren kann, wann dieser in der
                Vergangenheit aufgezeichnet wurde.

                Konkret zeichnet mein Gerät unabhängig Werte auf und wenn dieses dann mit
                dem ioBroker verbunden ist oder eine Verbindung hat, kommen quasi Werte aus
                der Vergangenheit, z.B. vom vorherigen Tag. Diese dann abgelegten Werte sollten
                dann in der InfluxDB nicht mit dem aktuellen Timestamp abgespeichert werden,
                sondern den Timestamp vom vorherigen Tag bekommen.

                Hier mit einem Beispiel erklärt, was ich gerne machen würde:

                Ich möchte einfach als ioBroker Object "mqtt.0.temperatur" den Wert z.B. als
                JSON Dokument ablegen:

                {
                    "timestamp": 1556813561098000000,
                    "value": 21.5
                }
                

                und der InfluxDB Adapter würde den Wert (21.5) dann in der InfluxDB mit diesem
                entsprechenden Timestamp ablegen. Dies würde im Line Protocol von InfluxDB
                diesem entsprechen:

                mqtt.0.temperature value=21.5 1556813561098000000
                

                Irgendwo glaube ich gelesen zu haben, dass man als ioBroker Object Value
                auch etwas in der Form "21.5;1556813561098000000" ablegen könnte und der
                InfluxDB Adapter würde das dann so interpretieren. Meine Tests waren aber
                leider nicht erfolgreich, was aber auch an der Konfiguration liegen kann.

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

                @malte85 sagte: Werte aus der Vergangenheit, z.B. vom vorherigen Tag.

                Wie sehen diese Werte aus?

                Man kann bei setState() auch den Zeitstempel mitgeben.

                setState(id, {val: value, ts: timestamp, ack: true});
                

                Ich weiß aber nicht, ob der InfluxDB-Adapter diesen Zeitstempel übernimmt oder selbst den Zeitstempel bildet.

                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

                645

                Online

                32.7k

                Benutzer

                82.4k

                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