Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [gelöst] Änderung Timestamp

    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

    [gelöst] Änderung Timestamp

    This topic has been deleted. Only users with topic management privileges can see it.
    • haus-automatisierung
      haus-automatisierung Developer Most Active @DGR last edited by

      @dgr Achso - wie genau wird denn der Wert geschrieben? Per JavaScript (im JavaScript-Adapter) kann man den Timestamp auch manuell mitgeben.

      setState('0_userdata.0.beispiel', { val: 42, ts: 1734424585000 });
      
      D 1 Reply Last reply Reply Quote 1
      • D
        DGR @haus-automatisierung last edited by

        @haus-automatisierung
        ich muss leider zugeben, dass ich mich mit JavaScript nicht so auskenne.. Ich mache das alles mit Blockly.
        Beispiel: aktualisiere xyz mit Wert von abc

        haus-automatisierung 1 Reply Last reply Reply Quote 0
        • haus-automatisierung
          haus-automatisierung Developer Most Active @DGR last edited by

          @dgr Für Blockly gibt es momentan keinen Baustein wo man einen Zeitstempel manuell übergeben kann. Das soll ja einfach gehalten sein.

          Aber stell doch mal eine konkrete Frage wo es am Verständnis hängt. Du musst Dich ja nicht mit JavaScript auskennen, sondern nur die Objekt-ID anpassen und den Zeitstempel.

          Ich dachte, hier geht es um eine einmalige Sache um einen Wert in die Datenbank zu bekommen. Für doch Dein Problem mal ganz genau aus - dann kann man auch konkreter helfen. Gerade, wenn Detailwissen fehlt.

          S D 2 Replies Last reply Reply Quote 0
          • S
            Siggi0904 @haus-automatisierung last edited by

            @haus-automatisierung ich hatte mir sowas auch einmal gewünscht, da ich alte Zählerstände einlesen wollte. Da bin ich dann auch an den Zeitstempeln gescheitert.

            haus-automatisierung 1 Reply Last reply Reply Quote 0
            • haus-automatisierung
              haus-automatisierung Developer Most Active @Siggi0904 last edited by haus-automatisierung

              @siggi0904 Woran denn genau? Klappt der vorgeschlagene Weg von mir nicht?

              Das kann ja beliebig flexibel ausgestaltet werden. Man muss halt nur darauf achten, dass man das Datum in der richtigen Zeitzone definiert. Sonst landet man schnell bei UTC und hat 1-2 Stunden (je nachdem ob MEZ/MESZ) Abweichung.

              // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/Date
              const d = new Date('2024-12-17T15:34:00Z'); // UTC!!
              setState('0_userdata.0.beispiel', { val: 42, ts: d.getTime() });
              
              S 1 Reply Last reply Reply Quote 0
              • S
                Siggi0904 @haus-automatisierung last edited by

                @haus-automatisierung naja mangels richtigen Workflow die Datensätze in die Datenbank zu bekommen, hatte ich das aufgegeben.

                Ich hätte das gern per Blockly realisiert.

                1 Reply Last reply Reply Quote 0
                • D
                  DGR @haus-automatisierung last edited by

                  @haus-automatisierung
                  es ist kein wirkliches Problem für mich. Es geht eigentlich um die Darstellung in Grafana. Ich zeige dort den Gasverbrauch der letzten 7 Tage anhand der Daten um jeweils 23:59 des Vortages. Diese Darstellung ging bisher logischerweise nich aktuell für den laufenden Tag. Hier ändern sich die Werte nach einer von mir vorgegebenen Zeit. Ich habe für die tagesaktuellen Werte einen eigenen Datenpunkt mit Übergabe an influxdb2v erstellt, in den ich die aktuellen Werte des Tages eintrage. Für die Darstellung in Grafana lösche ich diese Datenbank mit dem Wert und trage anschließend den neuen aktuellen Wert ein. In Grafana wird dieser Wert natürlich nur als Punkt dargestellt, da es keinen Bezug zu einem vorhergehenden Wert gibt. Dieser vorhergehende Wert wäre der Wert des Vortages um 23:59 Uhr. Wenn ich diesen Wert und zusätzlich den jeweils aktuellen Wert in diese Datenbank eintrage, dann wird der Zeitstempel des Werts vom Vortag in den Zeitstempel des Eintrags geändert. Damit ist es so nicht möglich, eine Verbindungslinie zwischen dem letzten Wert (Vortag) zum aktuellen Wert darzustellen.

                  Wie gesagt, es ist nicht wirklich ein richtiges Problem.
                  Gasverbrauch.JPG

                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @DGR last edited by

                    @dgr sagte in Änderung Timestamp:

                    Ich habe für die tagesaktuellen Werte einen eigenen Datenpunkt mit Übergabe an influxdb2v erstellt, in den ich die aktuellen Werte des Tages eintrage.

                    In dem Fall könntest Du entweder immer nur den letzten Wert je aggregiertem Zeitraum auswählen (last) oder den Wert immer wieder überschreiben. Das macht InfluxDB ja dann automatisch. Also den Zeitstempel für das Ende des Tages berechnen und diesen immer wieder setzen.

                    @dgr sagte in Änderung Timestamp:

                    In Grafana wird dieser Wert natürlich nur als Punkt dargestellt, da es keinen Bezug zu einem vorhergehenden Wert gibt.

                    Werte in InfluxDB stehen generell nie in Bezug zueinander. Oder was verstehe ich falsch.

                    D 1 Reply Last reply Reply Quote 0
                    • D
                      DGR @haus-automatisierung last edited by

                      @haus-automatisierung
                      Mit "Bezug zueinander" meinte ich nur, dass eine Linie vom vorhergehenden Wert zum folgenden Wert dargestellt wird in Grafana.
                      Meine Abfrage in Grafana sieht so aus:

                      from(bucket: "iobroker_all")
                        |> range(start: v.timeRangeStart, stop: v.timeRangeStop)
                        |> filter(fn: (r) => r["_measurement"] == "ViessmannGas" or r["_measurement"] == "Gasverbr" or r["_measurement"] == "Gas-aktuellerStand")
                        |> filter(fn: (r) => r["_field"] == "value")
                        |> truncateTimeColumn(unit: 1d) 
                      

                      Wobei hier "ViessmannGas" z.Zt. nicht dargestellt wird. Die gelbe Linie kommt von den Daten aus "Gasverbr" und der einzelne Punkt aus "Gas-aktuellerStand"

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        DGR @DGR last edited by DGR

                        @dgr
                        ich möchte das Thema zum Abschluss bringen. Ich lösche jetzt alle 20min. Den aktuellen Stand mit influx delete und schreibe den Wert neu in den Datenpunkt. Im Ergebnis sieht das dann so aus (jetzt mit Balkendiagramm) :
                        Screenshot_20250202_232157_Chrome_1.jpg

                        mickemup 1 Reply Last reply Reply Quote 0
                        • mickemup
                          mickemup @DGR last edited by

                          @dgr
                          in Grafana gehen so Sachen elegant mit der aggregatewindow funktion.
                          Da musst du nichts löschen usw...

                          https://docs.influxdata.com/flux/v0/stdlib/universe/aggregatewindow/

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

                          Support us

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

                          751
                          Online

                          31.9k
                          Users

                          80.2k
                          Topics

                          1.3m
                          Posts

                          4
                          14
                          376
                          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