NEWS
History Adapter - exportieren / migrieren nach InfluxDB
-
Hallo Gemeinde,
ich möchte gerne von Flot auf Grafana umsteigen.
Jedoch bietet Grafana alles mögliche an DB an, nur nur nicht die Iobroker History.Gibt es eine Möglichkeit meine vorhandenen Datensätze aus History zu exportieren um sie danach in Influx zu importieren.
Leider haben google und co, mich nicht weitergebracht.
Danke für eure Unterstützung. -
-
@OstfrieseUnterwegs Danke für den Hinweis...
Nach einigem Hin und Her klappt die Datenmigration nun.
Bei mir war der entscheidende Hinweis: Alle Adapter bis auf Admin, web, history und influxdb zu deaktivieren, sonst hatte ich nur Abbrüche und Systemaufhänger... -
@jensmaehn sagte in History Adapter - exportieren / migrieren nach InfluxDB:
Bei mir war der entscheidende Hinweis: Alle Adapter bis auf Admin, web, history und influxdb zu deaktivieren, sonst hatte ich nur Abbrüche und Systemaufhänger..
Danke für den Hinweis, werde das in die Beschreibung übernehmen.
Woher hast du die Info? -
@FredF said in History Adapter - exportieren / migrieren nach InfluxDB:
@jensmaehn sagte in History Adapter - exportieren / migrieren nach InfluxDB:
Bei mir war der entscheidende Hinweis: Alle Adapter bis auf Admin, web, history und influxdb zu deaktivieren, sonst hatte ich nur Abbrüche und Systemaufhänger..
Danke für den Hinweis, werde das in die Beschreibung übernehmen.
Woher hast du die Info?Viel Try & Error
-
@jensmaehn said in History Adapter - exportieren / migrieren nach InfluxDB:
@FredF said in History Adapter - exportieren / migrieren nach InfluxDB:
@jensmaehn sagte in History Adapter - exportieren / migrieren nach InfluxDB:
Bei mir war der entscheidende Hinweis: Alle Adapter bis auf Admin, web, history und influxdb zu deaktivieren, sonst hatte ich nur Abbrüche und Systemaufhänger..
Danke für den Hinweis, werde das in die Beschreibung übernehmen.
Woher hast du die Info?Viel Try & Error
Liebt aber auch vielliecht daran, dass mein Setup mit Raspi 3 schon an seinen Grenzen läuft...
Der Wechsel auf Raspi 4 steht nun unmittelbar bevor -
Hallo,
wahrscheinlich bin ich einfach zu blöd ... ich frage trotzdem.
Ich will meine history Daten in eine influxdb übertragen. Installiert ist influxdb und auch das logging der Daten von history ist auf influxdb umgestellt. Ich wollte jetzt die Migration der Daten mit dem Skript starten, die Adapter sind wie von @jensmaehn beschrieben soweit gestoppt.
Ich bin in der Konsole im Verzeichnis und will mit nodejs das skript starten
pi@iobrokerhost:/opt/iobroker/node_modules/iobroker.history/converter $ nodejs history2db.js influxdb.0 info 0 /iobroker-data/history-data 2 --logChangesOnly 30 --processNonExistingValuesOnly -bash: nodejs: command not found
Was mache ich da falsch?
-
@kiste01 said in History Adapter - exportieren / migrieren nach InfluxDB:
Was mache ich da falsch?
Versuche das Script mal mit node zu starten und nicht mit nodejs!
-
-
Hi,
ich versuche grade die Daten von etwa einem Jahr Histroy zu influx zu migrieren.
Es sind wirklich ziemlich viele Daten.Ich habe die Influx Datenbank ganz frisch aufgesetzt und wollte einfach alle Daten migrieren ohne das Analyse-script durchlaufen zu lassen. Bekomme aber immer nur ein "ignore" bei allen Datenpunkten. Wie kommt das?
Und: Wenn ich das Analyse-script starte bekomme ich:
Do deep analysis to find holes in data Invalid call
Aber danach keinen Promt. Also passiert irgend etwas?
Es werden in dem Converter-Ordner aber keine Dateien angelegt.
Ich habe das Fenster nun schon fast 48h offen - meint ihr da passiert noch etwas?Danke!
Gruß
David
-
Stehe gerade vor genau dem selben Problem. Analyse Script gerade eben gestartet und Invalid Call angezeigt bekommen.
Konntest du eine Lösung dafür finden?
-
Irgendwie schaffe ich es auch nicht meine History Daten zu migrieren es läuft alles durch und endet mit done aber es ist kein einziger wert übertragen worden
Send Data to influxdb.0 Start at 20221221 Use historyDir /opt/iobroker/iobroker-data/history/ earliesDBValues initialized from cache 16 earliesDBValues overwritten with 1671646285896 ExistingDBTypes initialized from cache 16 Started processFiles with 16 known db values We start earliest at 20221221 DONE
Was mache ich nur Falsch ich habe damit gestartet
node history2db.js influxdb.0 info 20221221 /opt/iobroker/iobroker-data/history/ --ignoreExistingDBValues
-
@spoeh-man sagte in History Adapter - exportieren / migrieren nach InfluxDB:
20221221
Hi,
willst Du wirklich nur die Daten von heute?
Soweit ich den Adapter verstanden habe, siehe Doku Datenübernahme kannst Du da 0 oder ein Datum schreiben und ab da werden die Daten Konvertiert. So Du auch die Analyse vorher gemacht hast. Ablauf steht aber im Link gut beschrieben.VG
Bernd -
@dp20eic Es ist tatsächlich egal was ich da eintrage habe es schon mit 0 und auch mit Daten von vor 3 Jahren probiert Ergebnis ist irgendwie immer gleich
-
Ich habe das noch nicht gemacht, oder gebraucht. Nur nach der von mir verlinkten Seite sind das ja mehrere Punkte, die Du machen musst.
Wenn ich mir die Meldung von Dir, in Rot, anschaue dann hat er nur 16 Werte gefunden und mit einem Wert1671646285896
Überschrieben, wenn das ein Unix Zeitstempel ist dann liegt der in der Zukunft.Kannst Du nach dem ersten Schritt, einmal in die erzeugten
.json
Files schauen was da so drin steht. Ansonsten müsste ich mir mal den history adapter installieren ein paar Stunden Daten sammeln und das dann auch mal versuchen.Schritt 1
Schritt 2
VG
Bernd -
@dp20eic said in History Adapter - exportieren / migrieren nach InfluxDB:
node analyzeinflux.js influxdb.0 info --deepAnalyze
Ja die Dateien sind nahezu leer das heisst dass er die Datenpunkte vom History schon nicht korrekt lesen kann aber im IObroker am Datenpunkt mit dem Zahnrad sehe ich werte ohne ende
-
Gibt es irgend ein Log-File, das du uns hier zeigen kannst, von den jeweiligen Kommandos?
VG
Bernd -
@dp20eic
Klaro
root@ioBroker:/opt/iobroker/node_modules/iobroker.history/converter# node analyzeinflux.js influxdb.0 info --deepAnalyze Do deep analysis to find holes in data InfluxDB-Configuration: {"debounce":1000,"retention":0,"dbname":"iobroker","host":"192.168.179.66","protocol":"http","path":"","port":8086,"user":"","organization":"Privat","round":4,"seriesBufferMax":0,"seriesBufferFlushInterval":600,"changesRelogInterval":0,"changesMinDelta":0,"reconnectInterval":10000,"pingInterval":15000,"requestTimeout":30000,"validateSSL":true,"dbversion":"2.x","usetags":false,"pingserver":true,"blockTime":0,"debounceTime":0,"disableSkippedValueLogging":false,"enableLogging":false,"customRetentionDuration":365,"relogLastValueOnStart":true} Query Data from instance "influxdb.0" (Version 2, Bucket iobroker) Datapoints found: 16 FirstVal ID: 0_userdata.0.Aquarium.PH_Sollwert, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:37.842243322Z","_time":"2022-12-21T12:42:50.907Z","_value":7.1,"_field":"value","_measurement":"0_userdata.0.Aquarium.PH_Sollwert","ts":1671626570907}] --> Wed Dec 21 2022 12:42:50 GMT+0000 (Coordinated Universal Time) DayVals ID: 0_userdata.0.Aquarium.PH_Sollwert: [20221222] ValType ID: 0_userdata.0.Aquarium.PH_Sollwert: "number" FirstVal ID: 0_userdata.0.Stromzähler.Jahresverbrauch, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:37.99657047Z","_time":"2022-12-21T12:44:03.749Z","_value":3776.586,"_field":"value","_measurement":"0_userdata.0.Stromzähler.Jahresverbrauch","ts":1671626643749}] --> Wed Dec 21 2022 12:44:03 GMT+0000 (Coordinated Universal Time) DayVals ID: 0_userdata.0.Stromzähler.Jahresverbrauch: [20221222,20221222] ValType ID: 0_userdata.0.Stromzähler.Jahresverbrauch: "number" FirstVal ID: 0_userdata.0.Stromzähler.Verbrauch_Abrechnungperiode, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:38.168296659Z","_time":"2022-12-21T12:45:03.386Z","_value":929.594,"_field":"value","_measurement":"0_userdata.0.Stromzähler.Verbrauch_Abrechnungperiode","ts":1671626703386}] --> Wed Dec 21 2022 12:45:03 GMT+0000 (Coordinated Universal Time) DayVals ID: 0_userdata.0.Stromzähler.Verbrauch_Abrechnungperiode: [20221222,20221222] ValType ID: 0_userdata.0.Stromzähler.Verbrauch_Abrechnungperiode: "number" FirstVal ID: Testdatenpunkt, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:38.325955045Z","_time":"2022-12-21T12:14:56.267Z","_value":40,"_field":"value","_measurement":"Testdatenpunkt","ts":1671624896267}] --> Wed Dec 21 2022 12:14:56 GMT+0000 (Coordinated Universal Time) DayVals ID: Testdatenpunkt: [20221222] ValType ID: Testdatenpunkt: "number" FirstVal ID: shelly.0.SHEM-3#84CCA8AD96DA#1.Total.ConsumedPower, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:38.480358464Z","_time":"2022-12-21T12:45:04.531Z","_value":7696383.1,"_field":"value","_measurement":"shelly.0.SHEM-3#84CCA8AD96DA#1.Total.ConsumedPower","ts":1671626704531}] --> Wed Dec 21 2022 12:45:04 GMT+0000 (Coordinated Universal Time) DayVals ID: shelly.0.SHEM-3#84CCA8AD96DA#1.Total.ConsumedPower: [20221222,20221222] ValType ID: shelly.0.SHEM-3#84CCA8AD96DA#1.Total.ConsumedPower: "number" FirstVal ID: shelly.0.SHEM-3#84CCA8AD96DA#1.Total.InstantPower, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:38.638267956Z","_time":"2022-12-21T12:45:24.458Z","_value":436.45,"_field":"value","_measurement":"shelly.0.SHEM-3#84CCA8AD96DA#1.Total.InstantPower","ts":1671626724458}] --> Wed Dec 21 2022 12:45:24 GMT+0000 (Coordinated Universal Time) DayVals ID: shelly.0.SHEM-3#84CCA8AD96DA#1.Total.InstantPower: [20221222,20221222] ValType ID: shelly.0.SHEM-3#84CCA8AD96DA#1.Total.InstantPower: "number" FirstVal ID: sonoff.0.Aquarium_PH.ANALOG_pH0, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:38.857229274Z","_time":"2022-12-21T12:50:25.252Z","_value":7.13,"_field":"value","_measurement":"sonoff.0.Aquarium_PH.ANALOG_pH0","ts":1671627025252}] --> Wed Dec 21 2022 12:50:25 GMT+0000 (Coordinated Universal Time) DayVals ID: sonoff.0.Aquarium_PH.ANALOG_pH0: [20221222,20221222] ValType ID: sonoff.0.Aquarium_PH.ANALOG_pH0: "number" FirstVal ID: sonoff.0.Solaranlage.ENERGY_Power, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:39.023154755Z","_time":"2022-12-21T12:50:42.816Z","_value":2,"_field":"value","_measurement":"sonoff.0.Solaranlage.ENERGY_Power","ts":1671627042816}] --> Wed Dec 21 2022 12:50:42 GMT+0000 (Coordinated Universal Time) DayVals ID: sonoff.0.Solaranlage.ENERGY_Power: [20221222,20221222] ValType ID: sonoff.0.Solaranlage.ENERGY_Power: "number" FirstVal ID: sonoff.0.Solaranlage.ENERGY_Total, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:39.193313178Z","_time":"2022-12-21T12:50:51.15Z","_value":604.922,"_field":"value","_measurement":"sonoff.0.Solaranlage.ENERGY_Total","ts":1671627051150}] --> Wed Dec 21 2022 12:50:51 GMT+0000 (Coordinated Universal Time) DayVals ID: sonoff.0.Solaranlage.ENERGY_Total: [20221222,20221222] ValType ID: sonoff.0.Solaranlage.ENERGY_Total: "number" FirstVal ID: stromzaeler, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:39.346660386Z","_time":"2022-12-21T12:43:52.117Z","_value":47082.578,"_field":"value","_measurement":"stromzaeler","ts":1671626632117}] --> Wed Dec 21 2022 12:43:52 GMT+0000 (Coordinated Universal Time) DayVals ID: stromzaeler: [20221222,20221222] ValType ID: stromzaeler: "number" FirstVal ID: zigbee.0.00158d0001e8a0af.humidity, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:39.50877007Z","_time":"2022-12-21T12:48:43.618Z","_value":51.51,"_field":"value","_measurement":"zigbee.0.00158d0001e8a0af.humidity","ts":1671626923618}] --> Wed Dec 21 2022 12:48:43 GMT+0000 (Coordinated Universal Time) DayVals ID: zigbee.0.00158d0001e8a0af.humidity: [20221222,20221222] ValType ID: zigbee.0.00158d0001e8a0af.humidity: "number" FirstVal ID: zigbee.0.00158d0001e8a0af.temperature, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:39.662470987Z","_time":"2022-12-21T12:48:50.792Z","_value":22.12,"_field":"value","_measurement":"zigbee.0.00158d0001e8a0af.temperature","ts":1671626930792}] --> Wed Dec 21 2022 12:48:50 GMT+0000 (Coordinated Universal Time) DayVals ID: zigbee.0.00158d0001e8a0af.temperature: [20221222,20221222] ValType ID: zigbee.0.00158d0001e8a0af.temperature: "number" FirstVal ID: zigbee.0.00158d00020245b3.humidity, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:39.815973012Z","_time":"2022-12-21T12:49:06.266Z","_value":50.31,"_field":"value","_measurement":"zigbee.0.00158d00020245b3.humidity","ts":1671626946266}] --> Wed Dec 21 2022 12:49:06 GMT+0000 (Coordinated Universal Time) DayVals ID: zigbee.0.00158d00020245b3.humidity: [20221222,20221222] ValType ID: zigbee.0.00158d00020245b3.humidity: "number" FirstVal ID: zigbee.0.00158d00020245b3.temperature, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:39.965729664Z","_time":"2022-12-21T12:49:13.932Z","_value":22.28,"_field":"value","_measurement":"zigbee.0.00158d00020245b3.temperature","ts":1671626953932}] --> Wed Dec 21 2022 12:49:13 GMT+0000 (Coordinated Universal Time) DayVals ID: zigbee.0.00158d00020245b3.temperature: [20221222,20221222] ValType ID: zigbee.0.00158d00020245b3.temperature: "number" FirstVal ID: zigbee.0.00158d00025ea014.humidity, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:40.114570292Z","_time":"2022-12-21T12:49:27.074Z","_value":92.81,"_field":"value","_measurement":"zigbee.0.00158d00025ea014.humidity","ts":1671626967074}] --> Wed Dec 21 2022 12:49:27 GMT+0000 (Coordinated Universal Time) DayVals ID: zigbee.0.00158d00025ea014.humidity: [20221222,20221222] ValType ID: zigbee.0.00158d00025ea014.humidity: "number" FirstVal ID: zigbee.0.00158d00025ea014.temperature, Rows: [{"result":"_result","table":0,"_start":"1970-01-01T00:00:00Z","_stop":"2022-12-22T13:18:40.264161074Z","_time":"2022-12-21T12:49:34.375Z","_value":8.42,"_field":"value","_measurement":"zigbee.0.00158d00025ea014.temperature","ts":1671626974375}] --> Wed Dec 21 2022 12:49:34 GMT+0000 (Coordinated Universal Time) DayVals ID: zigbee.0.00158d00025ea014.temperature: [20221222,20221222] ValType ID: zigbee.0.00158d00025ea014.temperature: "number" Writing files to /opt/iobroker/node_modules/iobroker.history/converter ... - saved /opt/iobroker/node_modules/iobroker.history/converter/existingDBValues.json - saved /opt/iobroker/node_modules/iobroker.history/converter/existingDBTypes.json - saved /opt/iobroker/node_modules/iobroker.history/converter/earliestDBValues.json
-
Ok, das war die Analyse. Soweit ich das jetzt verstehe, schaut die in die Influxdb Instanz, und Du hast dort nur diese 16 Datenpunkte, welche auch in den
.json
Files zu finden sein sollten.Jetzt wäre noch ein Log vom zweiten Schritt hilfreich, denn der sollte ja diese Information aus den drei Files nehmen und alles was noch nicht in der InfluxDB vorhanden ist reinkloppen, jedenfalls die Datenpunkte die dort in den
.json
Files vorhanden sind.
Frage sind das die 16 Datenpunkte, die Du auch im History Adapter sicherst?Wie gesagt, ich habe mich nicht mit der Konvertierung beschäftigt, ich habe weggeschmissen und neu angefangen, daher vielleicht auch Dumme Fragen dabei!
VG
Bernd -
@dp20eic
Ja das sind die 16 Datenpunkte die ich Im History sichere. Das mit den Json dateien ist eben dass problem dort steht fast nichts drinnen ausser die Datenpunkte wenn ich aber dass 2. script laufen lassen kommt als Ausgabe: (ich habe es extra mal mit möglichst wenigen Parametern laufen lassen) 2. Ausgabe mal mit Datum von 1970
node history2db.js influxdb.0 info 20211201 /opt/iobroker/iobroker-data/history/ Send Data to influxdb.0 Start at 20211201 Use historyDir /opt/iobroker/iobroker-data/history/ earliesDBValues initialized from cache 16 ExistingDBTypes initialized from cache 16 Started processFiles with 16 known db values We start earliest at 20211201 DONE node history2db.js influxdb.0 info 19700101 /opt/iobroker/iobroker-data/history/ Send Data to influxdb.0 Start at 19700101 Use historyDir /opt/iobroker/iobroker-data/history/ earliesDBValues initialized from cache 16 ExistingDBTypes initialized from cache 16 Started processFiles with 16 known db values We start earliest at 19700101 DONE
aber übernommen wird leider nichts