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.
    • D
      DGR last edited by DGR

      Hallo, wie ist es möglich den Timestamp-Wert zu ändern ?

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

        @dgr Am einfachsten indem der gleich Wert erneut geschrieben wird.

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

          @haus-automatisierung
          ich habe mich nicht korrekt ausgedrückt. Ich möchte einen Wert von gestern mit dem originalen Timestamp in eine andere Datenbank übernehmen. Wenn ich einfach nur den Wert übernehme, dann wird der Timestamp in die Zeit der Übernahme geändert.

          haus-automatisierung 1 Reply Last reply Reply Quote 0
          • 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

                                898
                                Online

                                31.9k
                                Users

                                80.2k
                                Topics

                                1.3m
                                Posts

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