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

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    (erledigt) TS im History ändern

    This topic has been deleted. Only users with topic management privileges can see it.
    • 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

                              closed 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

                              482
                              Online

                              31.9k
                              Users

                              80.2k
                              Topics

                              1.3m
                              Posts

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