Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. (erledigt) TS im History ändern

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    (erledigt) TS im History ändern

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

      Hallo,
      wie kann ich in den History Daten den TS ändern?
      Da es sich zur Zeit noch um wenige Daten handelt kann ich das "zu Fuß" machen.
      Grund ist: Ich habe einige Daten in den Historie verloren. Diese kann ich aber wieder herstellen. Problem ist nur das dann die falsche Zeit (TS von aktuell) in den History Daten eingetragen wird. Dann passt natürlich nicht die zeitliche Reihenfolge.

      wcag22 haus-automatisierung 2 Replies Last reply Reply Quote 0
      • wcag22
        wcag22 @ubecker last edited by wcag22

        @ubecker
        Wenn es "zu Fuß" geht - so wie bei mir in seltenen Fällen - mache ich es wie folgt:

        Den korrekten Zeitstempel bekommst Du z. B. hier:
        Umrechnung TS

        Dann bitte 3 x Null anfügen, da in der history mit ms gewerkelt wird.
        Beispiel:
        history: 1746167038269
        real: 02.05.2025, 08:23:58 Uhr
        unix: 1746167038

        Dann schnappe ich mir eine json-Datei des betreffenden DP, bei der noch alle Daten vorhanden sind, als Vorlage.
        Dann die Daten innerhalb dieser Datei ändern und im richtigen Datumsordner ablegen.

        Falls Du mit den richtigen Rechten unterwegs bist, kannst Du natürlich auch gleich via ssh oder SFTP ändern.
        Daran denken: Punkt statt Dezimalkomma...

        Ich hoffe, meine Erinnerung hat mich nicht im Stich belassen und die Vorgehensweise ist richtig. Musste es schon längere Zeit nicht machen.

        Aber vlt. gehts ja auch anders, genügend Spezialisten gibts hier ja

        PS:
        Mir ist so, als wenn das auch direkt in der history geht (?), also im User Interface

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

          @ubecker sagte in TS im History ändern:

          Diese kann ich aber wieder herstellen.

          Wie würdest Du die Daten denn wiederherstellen? In welchem Format liegen diese vor?

          Du kannst auch ein Script bauen, welches die Daten schreibt (mit sendTo):
          https://github.com/ioBroker/ioBroker.history/blob/master/docs/de/README.md#storestate

          Da kann man den korrekten Zeitstempel direkt mitgeben.

          ubecker 1 Reply Last reply Reply Quote 0
          • ubecker
            ubecker @wcag22 last edited by

            @wcag22
            danke, so hatte ich das auch gedacht, da es den Datumsordner nicht gibt muss ich den auch noch dort anlegen.
            @haus-automatisierung
            Danke, das scheint der bessere Weg zu sein. Ich ändere ungern Strukturen (Datumsordner) wenn ich nicht genau weiß was ich da mache.
            Werde es dann mit sendTo probieren.

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

              @haus-automatisierung
              @wcag22
              habe jetzt doch den Weg über kopieren und editieren der daten direkt im History Verzeichnis genommen. Nachdem ich auf einem Testsystem da Versuche gemacht habe, war mir die Struktur klar.
              Mit sendTo bin ich nicht klargekommen, hatte immer Error falsche ID.

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

                @ubecker Zeig gerne dein sendTo und wir helfen

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

                  @haus-automatisierung said in (erledigt) TS im History ändern:

                  @ubecker Zeig gerne dein sendTo und wir helfen

                  hab es jetzt auch mit sendTo geschafft.

                  
                  const timestamp = 1746474026000
                  const value = 1234.46
                  
                  sendTo('history.0', 'storeState', 
                          {
                              'id': 'alias.0.Energie.Gas.Monat', 
                              'state': {'ts': timestamp, 'val': value, 'ack': true}
                          } 
                      , result => console.log('add'));
                  
                  

                  so wie in der doku geht es nicht

                  sendTo('history.0', 'storeState', [
                      id: 'mbus.0.counter.xxx',
                      state: {ts: 1589458809352, val: 123, ack: false, from: 'system.adapter.whatever.0', ...}
                  ], result => console.log('added'));
                  
                  
                  haus-automatisierung 1 Reply Last reply Reply Quote 0
                  • haus-automatisierung
                    haus-automatisierung Developer Most Active @ubecker last edited by haus-automatisierung

                    @ubecker Das ist doch exakt der gleiche Code?! Außer die drei Punkte am Ende, welche offensichtlich syntaktisch nicht korrekt sind und nur „usw…“ heißen sollen

                    Homoran ubecker 2 Replies Last reply Reply Quote 0
                    • Homoran
                      Homoran Global Moderator Administrators @haus-automatisierung last edited by

                      @haus-automatisierung ich sehe noch zusätzlich [ und ]
                      ob das was zu sagen hat, ??

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

                        @homoran sagte in (erledigt) TS im History ändern:

                        ob das was zu sagen hat

                        Ja, laut Doku kann man entweder einen einzelnen Wert übergeben, oder eine Liste (ein Array) von Werten. Auszug:

                        Die Nachricht kann eines der folgenden drei Formate haben:

                        • eine ID und ein Objektstatus
                        • eine ID und ein Array von Objektstatus
                        • Array von mehreren IDs mit Objektstatus
                        Homoran 1 Reply Last reply Reply Quote 0
                        • Homoran
                          Homoran Global Moderator Administrators @haus-automatisierung last edited by Homoran

                          @haus-automatisierung und das erste scheint nicht zu klappen.

                          wobei bei @ubecker die ID mit im array steht, also nur Fall3 zu funktionieren scheint

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

                            @homoran sagte in (erledigt) TS im History ändern:

                            und das erste scheint nicht zu klappen.

                            Dann am besten einen Issue im History-Adapter öffnen, mit Beispiel und Erklärung. Sonst gehen solche Reports wieder im Forum unter. Ich kann das gerade nicht ausführlich testen.

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

                              @haus-automatisierung said in (erledigt) TS im History ändern:

                              @ubecker Das ist doch exakt der gleiche Code?! Außer die drei Punkte am Ende, welche offensichtlich syntaktisch nicht korrekt sind und nur „usw…“ heißen sollen

                              kann schon sein das der code gleich ist (hab ich zu wenig Ahnung von)
                              nur das funktioniert

                              
                              const timestamp = 1746474026000
                              const value = 1234.46
                              
                              sendTo('history.0', 'storeState', 
                                      {
                                          'id': 'alias.0.Energie.Gas.Monat', 
                                          'state': {'ts': timestamp, 'val': value, 'ack': true}
                                      } 
                                  , result => console.log('add'));
                              
                              

                              und das nicht

                              /*
                              sendTo('history.0', 'storeState', [
                                  id: 'alias.0.Energie.Gas.Monat',
                                  state: {ts: 1746474026000, val: 123, ack: true}
                              ], result => console.log('added'));
                              */ 
                              

                              kleine Korrektur, hab das in Kommentar gesetzt.

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

                                @ubecker Okay, nochmal genauer nachgeschaut. Das kann ja so auch nicht gehen. Das ist syntaktisch falsch (Array und dann Eigenschaften übergeben? Gibt es nicht. Das müsste ein Objekt sein, wie Du schreibst):

                                // Falsche Syntax:
                                sendTo('history.0', 'storeState', [
                                    id: 'alias.0.Energie.Gas.Monat',
                                    state: { ts: 1746474026000, val: 123, ack: true }
                                ], result => console.log('added'));
                                

                                Das müsste sicherlich so lauten:

                                sendTo('history.0', 'storeState', {
                                    id: 'alias.0.Energie.Gas.Monat',
                                    state: { ts: 1746474026000, val: 123, ack: true }
                                }, result => console.log('added'));
                                

                                Die Anführungszeichen um die Attribute ändern jedenfalls nix. Kannst Du weg lassen.

                                https://github.com/ioBroker/ioBroker.history/pull/411

                                klein0r created this issue in ioBroker/ioBroker.history

                                open Fixed syntax error in docs (storeState) #411

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

                                Support us

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

                                692
                                Online

                                31.6k
                                Users

                                79.4k
                                Topics

                                1.3m
                                Posts

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