NEWS
History Adapter - exportieren / migrieren nach InfluxDB
-
@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 ;-)@jensmaehn Das glaube ich eher ... es werden halt viele Daten an den "neuen" adapter gesendet ... das generiert durchaus CPU Last. mehr aber auch nicht
-
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 callAber 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
@davipet Dann zeige bitte mal ein verzeichnislisting (bzw Auszug) von dem angegebenen History Datenverzeichnis. Sie da Verzeichnisse in "Datumsform" drin? yyyymmdd und am besten auch mal den Inhalt von einem davon und dann die zwei json Files die er in der vorbereitung angelegt hat.
Weil an sich sieht der Start des Skripts gut aus ... AM besten ruf es doch jetzt mal ohne einen Datumsparameter im Aufruf auf bzw dort eine 0. Was passiert dann?
PS: Die eine Logzeile "We start earliest at ..." ist am Ende genau falsch ... Die muss "We only process values before ...". Also mit 1970 kommt deshalb nix ...aber mit Datum von heute sollte mehr passieren :-) Am Ende ist da eine "0" aber das beste weil dann ermittelt er den "end wert" aus den gesammelten Daten
-
@davipet Dann zeige bitte mal ein verzeichnislisting (bzw Auszug) von dem angegebenen History Datenverzeichnis. Sie da Verzeichnisse in "Datumsform" drin? yyyymmdd und am besten auch mal den Inhalt von einem davon und dann die zwei json Files die er in der vorbereitung angelegt hat.
Weil an sich sieht der Start des Skripts gut aus ... AM besten ruf es doch jetzt mal ohne einen Datumsparameter im Aufruf auf bzw dort eine 0. Was passiert dann?
PS: Die eine Logzeile "We start earliest at ..." ist am Ende genau falsch ... Die muss "We only process values before ...". Also mit 1970 kommt deshalb nix ...aber mit Datum von heute sollte mehr passieren :-) Am Ende ist da eine "0" aber das beste weil dann ermittelt er den "end wert" aus den gesammelten Daten
Verzeichnislisting vom Datenverzeichnis
root@ioBroker:/opt/iobroker/iobroker-data/history# ls -la total 28 drwxrwxr-x+ 845 iobroker iobroker 20480 Dec 25 00:01 ' ' drwxrwxr-x+ 3 iobroker iobroker 4096 Dec 21 09:17 . drwxrwxr-x+ 10 iobroker iobroker 4096 Dec 25 05:48 .. root@ioBroker:/opt/iobroker/iobroker-data/history#ich glaube da könnte auch schon dass Problem sein aber im iobroker ist genau dieses verzeichnis im Adapter hinterlegt

-
Verzeichnislisting vom Datenverzeichnis
root@ioBroker:/opt/iobroker/iobroker-data/history# ls -la total 28 drwxrwxr-x+ 845 iobroker iobroker 20480 Dec 25 00:01 ' ' drwxrwxr-x+ 3 iobroker iobroker 4096 Dec 21 09:17 . drwxrwxr-x+ 10 iobroker iobroker 4096 Dec 25 05:48 .. root@ioBroker:/opt/iobroker/iobroker-data/history#ich glaube da könnte auch schon dass Problem sein aber im iobroker ist genau dieses verzeichnis im Adapter hinterlegt

@spoeh-man was ist das denn für ein Verzeichnis da mit einem Leerzeichen? Ist vllt in der Konfiguration da auch ein Space am Ende?sind die files dort? Wenn ja setze beim Aufruf den Pfad mal in Anführungszeichen und hänge auch ein Leerzeichen noch an.
-
@spoeh-man was ist das denn für ein Verzeichnis da mit einem Leerzeichen? Ist vllt in der Konfiguration da auch ein Space am Ende?sind die files dort? Wenn ja setze beim Aufruf den Pfad mal in Anführungszeichen und hänge auch ein Leerzeichen noch an.
Ich glaube das war es woher auch immer dass Leerzeichen stammt hätte nur noch keine Zeit zur Migration musste zur Arbeit
-
Ich glaube das war es woher auch immer dass Leerzeichen stammt hätte nur noch keine Zeit zur Migration musste zur Arbeit
@spoeh-man also alle Speiseöle oben sind ohne Anführungszeichen um den odad und ohne Leerzeichen am Ende beim Aufruf des convert Skripts.
-
@spoeh-man also alle Speiseöle oben sind ohne Anführungszeichen um den odad und ohne Leerzeichen am Ende beim Aufruf des convert Skripts.
Was für Speiseöle?. Irgendwie kann ich es trotz mehrmaligen Lesens nicht genau deuten was die frage ist aber das script tut gerade seinen dienst. Vielen Lieben dank für eure Hilfe
-
Hallo zusammen,
ich wollte meine Datenbank auch zu Influx migrieren.
Habe die Skripte soweit befolgt. Die laufen auch ohne Fehlermeldung durch. Allerdings werden keine Daten aus dem Datenbestand vom History Adapter kopiert.
Meine Vermutung liegt im Timestamp der Daten im History Adapter.
Beim Blick in die .json-Datei vom Analyse-Skript werden für die frühesten Datensätze allesamt Timestamps angezeigt, die weit in der Zukunft liegen. Beim Durchlaufen des Migriervorgangs kann er dann natürlich keine Daten finden, die zwischen dem frühesten Timestamp und heute liegen.Nachfolgend noch der Inhalt aus der earliestDBValues.json
Bei Diagrammen, die ich mit Flot oder ECharts erstelle passen die Zeiten. Auch die Ordnerstruktur im History Ordner auf dem Pi passt. Da ist für jeden Tag ein Ordner nach dem muster YYYYMMDD erstellt.
Habt ihr ne Ahnung woran das liegen könnte und wie man das abstellen kann?
Vielen Dank schonmal
Edit wegen Typo
-
Hallo zusammen,
ich wollte meine Datenbank auch zu Influx migrieren.
Habe die Skripte soweit befolgt. Die laufen auch ohne Fehlermeldung durch. Allerdings werden keine Daten aus dem Datenbestand vom History Adapter kopiert.
Meine Vermutung liegt im Timestamp der Daten im History Adapter.
Beim Blick in die .json-Datei vom Analyse-Skript werden für die frühesten Datensätze allesamt Timestamps angezeigt, die weit in der Zukunft liegen. Beim Durchlaufen des Migriervorgangs kann er dann natürlich keine Daten finden, die zwischen dem frühesten Timestamp und heute liegen.Nachfolgend noch der Inhalt aus der earliestDBValues.json
Bei Diagrammen, die ich mit Flot oder ECharts erstelle passen die Zeiten. Auch die Ordnerstruktur im History Ordner auf dem Pi passt. Da ist für jeden Tag ein Ordner nach dem muster YYYYMMDD erstellt.
Habt ihr ne Ahnung woran das liegen könnte und wie man das abstellen kann?
Vielen Dank schonmal
Edit wegen Typo
@saarlanduhu Wenn ich einen mit history erzeugten timestamp in https://www.epochconverter.com/ gebe und "timestamp to human date" drücke, kommt die richtige Zeit raus mit dem Hinweis "assuming timestamp in ms".
Lösche ich die letzten 3 Stellen, dann kommt auch wieder das gleiche Datum raus mit dem Hinweis "assuming timestamp in s".
Es scheinen also 2 Formate für epoch üblich zu sein, im ms und in s.
Vielleicht gibt es da Misverständnisse bei der konvertierung? -
@saarlanduhu Wenn ich einen mit history erzeugten timestamp in https://www.epochconverter.com/ gebe und "timestamp to human date" drücke, kommt die richtige Zeit raus mit dem Hinweis "assuming timestamp in ms".
Lösche ich die letzten 3 Stellen, dann kommt auch wieder das gleiche Datum raus mit dem Hinweis "assuming timestamp in s".
Es scheinen also 2 Formate für epoch üblich zu sein, im ms und in s.
Vielleicht gibt es da Misverständnisse bei der konvertierung?@klassisch, danke dir.
das erklärt zumindest mal warums an den anderen Stellen dann passt.
Leider bringt mich das bei der Migration der Daten nicht weiter. Bzw. Zumindest weiß ich nicht wie ich die Info für mein Problem nutzen könnte. 🤔 -
@klassisch, danke dir.
das erklärt zumindest mal warums an den anderen Stellen dann passt.
Leider bringt mich das bei der Migration der Daten nicht weiter. Bzw. Zumindest weiß ich nicht wie ich die Info für mein Problem nutzen könnte. 🤔@saarlanduhu sagte in History Adapter - exportieren / migrieren nach InfluxDB:
Zumindest weiß ich nicht wie ich die Info für mein Problem nutzen könnte. 🤔Ich leider auch nicht. Vielleicht kann man bei InfluxDB (was ich nicht habe und nicht kenne) etwas konfigurieren?
-
Ookkk.die timestamps sollte er selbst behandeln. Also. Bitte zeig mal wie du es ausführst und was die Ausgabe ist.
@apollon77
so führe ichs aus
und das ist das Ergebnis (gekürzt, damit es nicht zu lange wird....geht in ähnlicher weise zurück bis zum 20221011)
-
Das Analyseskript funktioniert bei mir und schreibt auch die drei json files. Wenn ich dann history2db.js starte, kommt das hier:
Send Data to influxdb.0 Start at 20161001 Use historyDir /opt/iobroker/hist/ Use Delay multiplicator 2 Log changes only once per 30 minutes existingDBValues initialized from cache: 71 earliesDBValues initialized from cache 71 earliesDBValues overwritten with 1685612931206 ExistingDBTypes initialized from cache 71 Started processFiles with 71 known db values We start earliest at 20161001 DONEEs werden aber keine Werte kopiert.
-
Das Analyseskript funktioniert bei mir und schreibt auch die drei json files. Wenn ich dann history2db.js starte, kommt das hier:
Send Data to influxdb.0 Start at 20161001 Use historyDir /opt/iobroker/hist/ Use Delay multiplicator 2 Log changes only once per 30 minutes existingDBValues initialized from cache: 71 earliesDBValues initialized from cache 71 earliesDBValues overwritten with 1685612931206 ExistingDBTypes initialized from cache 71 Started processFiles with 71 known db values We start earliest at 20161001 DONEEs werden aber keine Werte kopiert.
-
@apollon77 Ich glaube ich habe day-to-start falsch verstanden. Wenn ich den heutigen Tag nehme, passiert etwas.
-
@apollon77 Ich glaube ich habe day-to-start falsch verstanden. Wenn ich den heutigen Tag nehme, passiert etwas.
@bambulko Ja, es läuft jetzt, aber ich bekomme ständig Fehlermeldungen:
Check: 20230530 / pos -1 datapoints reduced from 202 --> 117 type mismatch number vs. string: fixed=false --> null type mismatch number vs. string: fixed=false --> null type mismatch number vs. string: fixed=false --> null sorted out 3 values 3 errors happened while storing data DONE -
@bambulko Ja, es läuft jetzt, aber ich bekomme ständig Fehlermeldungen:
Check: 20230530 / pos -1 datapoints reduced from 202 --> 117 type mismatch number vs. string: fixed=false --> null type mismatch number vs. string: fixed=false --> null type mismatch number vs. string: fixed=false --> null sorted out 3 values 3 errors happened while storing data DONE -
@bambulko naja dann schau mal die rohdaten an was es sein kann. History Ost-Berlin Datentypen egal aber bei influxdb ist der wichtig.
@apollon77 Irgendwie verstehe ich das immer noch nicht. Manchmal macht er ein paar Tage, meistens jedoch nur einen Tag. Das konvertieren scheint dann zu klappen. Aber das für jeden Tag neu starten ist doch etwas mühsam.
Dies ist der Befehl, den ich verwende.
/opt/iobroker/node_modules/iobroker.history/converter/history2db.js influxdb.0 info 20230513 /opt/iobroker/hist/ 2 --logChangesOnly 30 --processNonExistingValuesOnly