NEWS
[gelöst] History (sql) zu neuem Datenpunkt "verschieben"
-
Also auch die alten Daten aus dem alten Datenpunkt die über die ID eingebunden wurden bleiben dann im Alias erhalten?
Werden Daten durch die ID zum Alias kopiert oder zusätzlich aus der SQL Datenbank gelesen (dort verbleiben die Daten ja glaube, wenn man einen Datenpunkt löscht)?
-
@david-g sagte: Also auch die alten Daten aus dem alten Datenpunkt die über die ID eingebunden wurden bleiben dann im Alias erhalten?
Ja, wenn die SQL Alias-ID die alte DP-ID ist.
@david-g sagte in History (sql) zu neuem Datenpunkt "verschieben":
Werden Daten durch die ID zum Alias kopiert oder zusätzlich aus der SQL Datenbank gelesen
Nein, sie werden nur unter der Alias-ID in der DB gespeichert.
-
Okay,
muss ich die Protokollierung dann in beiden Datenpunkten aktivieren?
Hab sie eben im Quelldatenpunkt abgeschaltet.
Jetzt wird im Alias auch nichts mehr aufgezeichnet.Nachdem ich es in der Quelle vom Alias wieder eingeschaltet habe, loggt das Alias auch wieder.
Allerdings sehe ich dann jeden Wert 2x mit einem Zeitversatz von 1ms.Dann kann man den Quelldatenpunkt wohl doch nicht löschen, wenn man einen neuen hat.
Zumindest legt es dieses Verhalten nahe oder? -
@david-g sagte: muss ich die Protokollierung dann in beiden Datenpunkten aktivieren?
Nein, nur im Alias-DP.
-
Aber wie gesagt, dann loggt er bei mir nicht mehr.
Hab es ggad mehrfach getestet.EDIT
Hab grad nochwas getestet.
Wenn der Quelldatenpunkt noch angeschaltet war zur archivierung, wenn man es beim Alias einschaltet, loggt dieses auch nicht mehr wenn man in der Quelle abschaltet.Schaltet man die Quelle erst aus und dann im Alias an klappt es.
Und er hat doppelt geloggt, bis ich den SQL Adapter neugestartet habe.
-
Hab grad im Log gesehen, dass bei jedem Eintrag dieser Fehler geschrieben wird:
Cannot insert INSERT INTO `iobroker`.ts_number (id, ts, val, ack, _from, q) VALUES (79, 1673715046681, 1094.9127, 1, 17, 0);: Error: Duplicate entry '79-1673715046681' for key 'PRIMARY' (id: mqtt.0.wasserzaehler.main.value)
Liegt das an einer Einstellung von mir oder eher ein Issue?
Sql ist nur im Alias aktiv:
{ "type": "state", "common": { "name": "wasserzaehler/main/value", "role": "variable", "type": "number", "read": true, "write": true, "alias": { "id": "mqtt.0.wasserzaehler.main.value" }, "custom": { "sourceanalytix.0": { "enabled": true, "selectedUnit": "m³", "start_day": 1094.2587, "start_week": 1091.7458, "start_month": 1085.881, "start_quarter": 1085.881, "start_year": 1085.881, "costs": true, "consumption": true, "basicRate": true, "selectedPrice": "Wasser", "alias": "Wasserzaehler", "valueAtDeviceReset": 0, "valueAtDeviceInit": 1094.8234 }, "sql.0": { "enabled": true, "storageType": "", "counter": false, "aliasId": "mqtt.0.wasserzaehler.main.value", "debounceTime": 0, "blockTime": 0, "changesOnly": true, "changesRelogInterval": "0", "changesMinDelta": "0", "ignoreBelowNumber": "", "disableSkippedValueLogging": false, "retention": "31536000", "customRetentionDuration": 365, "maxLength": 0, "enableDebugLogs": false, "debounce": "1000" } } }, "_id": "alias.0.Zaehler.Wasser.Zaehlerstand", "native": {}, "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1673704305985 }
{ "_id": "mqtt.0.wasserzaehler.main.value", "common": { "name": "wasserzaehler/main/value", "write": true, "read": true, "role": "variable", "desc": "mqtt server variable", "type": "number" }, "native": { "topic": "wasserzaehler/main/value" }, "type": "state", "acl": { "object": 1636, "state": 1636, "owner": "system.user.admin", "ownerGroup": "system.group.administrator" }, "from": "system.adapter.admin.0", "user": "system.user.admin", "ts": 1673704263580 }
-
@david-g sagte: Liegt das an einer Einstellung von mir oder eher ein Issue?
Keine Ahnung, denn ich nutze den SQL-Adapter nicht. Der History-Adapter macht das nicht.
-
Hab es mal was gesucht. Scheint es schon ein paar mal gegeben zu haben.
Ging wohl durch wildes aktivieren deaktivieren etc wieder weg. Aber das ist ja keine Lösung
Starte gleich den Rechner mal neu.
EDIT
Reboot hat es gerichtet. -
@david-g sagte in [gelöst] History (sql) zu neuem Datenpunkt "verschieben":
Reboot hat es gerichtet.
Ich bräuchte bitte deine Hilfe! Ich stehe vor dem gleichen Dilema wie du seinerzeit. Jahrelang Daten über SQL direkt gesammelt, hab ich vor kurzem sämtliche Strommessdevices mit Script von @paul53 auf Alias umgestellt und würde gerne die alten direkten SQL-Daten zum neuen Alias verschieben oder kopieren.
@david-g sagte in [gelöst] History (sql) zu neuem Datenpunkt "verschieben":
Habs rausgefunden. Geht über die Alias-ID.
In der SQL Datenbank gibt es ja mehrere Tabellen, Verbindungs-Schlüssel ist immer eine nummerische ID. Nur diese sehe ich nicht in den RAW Daten des DP:
WO hast du das herausgefunden, kannst du mir da bitte einen Hint geben? Möchte es auch gerne machen und stehe aber noch im Wald.
-
Oh, schön so lange her.
Musste man nicht einfach bei Alias ID den alten DP reinschreiben wo die Werte vorher waren? -
@david-g sagte in [gelöst] History (sql) zu neuem Datenpunkt "verschieben":
icht einfach bei Alias ID den alten DP reinschreiben wo die
Ich finde nix zum Nachvollziehen, wahrscheinlich bin ich nur zu blöd zum Suchen oder verwende die falschen Suchbegriffe.
-
-
@david-g Lieben Dank, werde ich in einer ruhigeren Minute probieren.
-
@david-g sagte in [gelöst] History (sql) zu neuem Datenpunkt "verschieben":
https://forum.iobroker.net/topic/37395/history-adapter-alias-id-richtig-verwenden
Das hat sehr geholfen! Perfekt, nochmals danke!