NEWS
(erledigt) TS im History ändern
-
@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#storestateDa kann man den korrekten Zeitstempel direkt mitgeben.
-
@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. -
@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. -
@ubecker Zeig gerne dein sendTo und wir helfen
-
@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'));
-
@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
-
@haus-automatisierung ich sehe noch zusätzlich [ und ]
ob das was zu sagen hat, ?? -
@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
-
@haus-automatisierung und das erste scheint nicht zu klappen.
wobei bei @ubecker die ID mit im array steht, also nur Fall3 zu funktionieren scheint
-
@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.
-
@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 funktioniertconst 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.
-
@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.