Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Persistieren von Object Daten in InfluxDB

    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

    Persistieren von Object Daten in InfluxDB

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

      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

      arteck 1 Reply Last reply Reply Quote 0
      • arteck
        arteck Developer Most Active @Malte85 last edited by

        @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 1 Reply Last reply Reply Quote 0
        • M
          Malte85 @arteck last edited by

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

          MartinP paul53 2 Replies Last reply Reply Quote 0
          • MartinP
            MartinP @Malte85 last edited by

            @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 1 Reply Last reply Reply Quote 0
            • M
              Malte85 @MartinP last edited by

              @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)?

              MartinP 1 Reply Last reply Reply Quote 0
              • MartinP
                MartinP @Malte85 last edited by

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

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

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

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

                  Support us

                  ioBroker
                  Community Adapters
                  Donate

                  842
                  Online

                  31.9k
                  Users

                  80.3k
                  Topics

                  1.3m
                  Posts

                  4
                  7
                  161
                  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