NEWS
Altdaten über CSV-Datei in die InfluxDB2 einlesen
-
Hallo,
ich lese die Zählerdaten über die optische Schnittstelle aus. Zunächst hatte ich den Poweropti, bei dem dann irgendwann die Verbindung mit der Cloud nicht mehr funktionierte. Ich habe das Ganze dann über Tasmota-Lesegerät und iobroker mit Sonoff-Adapter in die Influxdb2 im Synology-Docker abgebildet. Funktioniert soweit.
Nun möchte ich die Altdaten aus dem Powerfox in Form einer csv-Datei in die Influxdb nachtragen. InfluxDB2-CLI scheitert bei der Authentifizierung und Influx-csv.from() schreibt die Daten offenbar nur in eine Dashboard-Cell, aber nicht in das Bucket. Irgendwo habe ich ergooglet dass InfluxDB2 (Im Gegensatz zu DB1) generell das direkte Schreiben oder Ändern von Datenpunkten nicht mehr zulässt.
Die nächsten Versuche wären entweder über Telegraf oder über einen Iobroker-Adapter z.B. über die github-csv-to-influx-Phyton-Bibliotheken, wobei ich noch gar nicht weiß ob und wie ich diese Phyton-Routinen in der Synology-Root oder im Container-Terminal laufen lasse. Lässt sich mit Trial-and-Error sicherlich alles lösen, aber schon die Telegraf-Installation im Docker erfordert langwierige Detailarbeit.
Daher die Frage ob jemand schon csv-Daten in die Influxdb2 geschrieben hat und welcher Weg zielführend ist?
Vielen Dank für eure Bemühungen.
Chris
-
@chr-hu sagte in Altdaten über CSV-Datei in die InfluxDB2 einlesen:
Daher die Frage ob jemand schon csv-Daten in die Influxdb2 geschrieben hat und welcher Weg zielführend ist?
Moin,
diese Wege ⇒ https://docs.influxdata.com/influxdb/v2/write-data/developer-tools/csv/#use-files-to-inject-headers, hast Du schon probiert?
@chr-hu sagte in Altdaten über CSV-Datei in die InfluxDB2 einlesen:
InfluxDB2-CLI scheitert bei der Authentifizierung
Dann solltest Du uns zeigen, sagen, was nicht geht!
Ich könnte Dir noch
Chronograf
anbieten ⇒ https://www.influxdata.com/time-series-platform/chronograf/VG
Bernd -
@chr-hu
Es gibt aus meiner Sicht mindestens zwei einfache Wege ohne Programmierung:-
Über die CLI, hier muss du einen Header mitgeben, in welchem der Aufbau der CSV beschrieben ist. Das Vorgehen ist hier beschrieben. Dein Authentifizierungs-Problem lässt sich sicher lösen.
-
Über die GUI. Dazu musst du vorher manuell die Daten deiner CSV in das Line Protocol überführen. Das Line Protocol ist ganz simpel aufgebaut:
<Mesurementname> <Feldname>=<Feldvalue> <timestamp> <Mesurementname> <Feldname>=<Feldvalue2> <timestamp2> <Mesurementname> <Feldname>=<Feldvalue3> <timestamp3>
Also z.B.
Elektrozaehler Stand=1234.5 1556813561098000000 Elektrozaehler Stand=1235.6 1556813561100000000 Elektrozaehler Stand=1236.7 1556813561200000000
Die Werte kannst du dann per GUI importieren.
Edit: @dp20eic: dieses Mal war ich zu langsam ...
-
-
Nunja, vielen Dank, aber diese beiden einfachen Varianten hatte ich ja bereits beschrieben.
Die Erweiterung bzw. Button unter Data->Source für den File-Upload gibt es bei mir nicht in Version 2. influx-write scheitert an der Berechtigung (ich glaube der Admin kann nicht updaten) und beim csv.from landen die Daten zwar im Dashboard, aber nicht im Bucket, wie das auch immer zusammenhängt.
Ich finde aber offenbar niemanden, der tatsächlich schon mal eine csv-Datei in ein Bucket geladen hat?
Mfg
Chris
-
@chr-hu sagte in Altdaten über CSV-Datei in die InfluxDB2 einlesen:
ch finde aber offenbar niemanden, d
Moin,
doch, nur Du erzählst nur, zeigst aber nichts, also keine Logs, oder das, was Du auf der Kommandozeile eingegeben hast, wie soll man dann helfen?
@chr-hu sagte in Altdaten über CSV-Datei in die InfluxDB2 einlesen:
(ich glaube der Admin kann nicht updaten)
Welcher
Admin
?VG
BerndP.S.: hatte ich Dir auch noch gesagt, dass man mit
Chronograf
CSV uploaden kann! -
Sorry, ich bin erst am Feiertag wieder im Home-Netz. Dann zeige ich Line-Protocol und write. Hatte ich schon verworfen.
"Chronograf is the complete interface for the InfluxDB 1.x Platform". Bei Version 1 und 2 gibt es offenbar größere Unterschiede, auch diese direkten File-Uploads in den Sources sind in Version2 nicht mehr auffindbar https://forum.iobroker.net/assets/uploads/files/1684307206551-c50c1bef-a62e-4348-a9fb-ac8807604c8a-grafik.png
MfG
Chris
-
@chr-hu sagte in Altdaten über CSV-Datei in die InfluxDB2 einlesen:
"Chronograf is the complete interface for the InfluxDB 1.x Platform".
Moin,
stimmt nicht, einfach mal mehr und tiefer einlesen
https://docs.influxdata.com/chronograf/v1/guides/write-to-influxdb/#CopyrightUnd hier so wie es dann in real aussieht
Oder Du schreibst direkt die Zeilen
Das, was man natürlich machen muss, ist, seine Daten in das Line-Protokoll zu bringen, wie @Marc-Berg weiter oben schon gesagt hat.
VG
Bernd -
Danke für deine Bemühungen, Bernd, aber ich habe jetzt den Flux-Import über den Table-Stream verstanden. Der Table-Stream aus dem csv.from() wird logischerweise mit |> in die to()-Funktion weitergeleitet.
Die Struktur habe ich mit dem (auch bei mir vorhandenen) CSV-Export vorher exportiert und mit den neuen Daten gefüllt. So kommen die Daten jetzt ins Bucket:
import "csv"
csvData=
"
#group,false,false,true,true,false,false,true,true
#datatype,string,long,dateTime:RFC3339,dateTime:RFC3339,dateTime:RFC3339,double,string,string
#default,mean,,,,,,,
,result,table,_start,_stop,_time,_value,_field,_measurement
,,1,2023-08-31T18:00:00Z,2023-08-31T18:14:00Z,2023-08-31T18:14:00Z,50.47,value,sonoff.0.DVES_555192.SML_total_kwh
,,1,2023-08-31T18:15:00Z,2023-08-31T18:16:00Z,2023-08-31T18:16:00Z,50.62,value,sonoff.0.DVES_555192.SML_total_kwh
,,1,2023-08-31T18:30:00Z,2023-08-31T18:39:59Z,2023-08-31T18:39:59Z,50.72,value,sonoff.0.DVES_555192.SML_total_kwh
,,1,2023-08-31T18:45:00Z,2023-08-31T18:59:04Z,2023-08-31T18:59:04Z,50.84,value,sonoff.0.DVES_555192.SML_total_kwh.....
,,0,,,2023-10-07T02:14:59Z,432.21,value,sonoff.0.DVES_555192.SML_Total_out
,,0,,,2023-10-07T02:29:59Z,432.21,value,sonoff.0.DVES_555192.SML_Total_out
,,0,,,2023-10-07T02:44:59Z,432.21,value,sonoff.0.DVES_555192.SML_Total_out
,,0,,,2023-10-07T02:59:59Z,432.21,value,sonoff.0.DVES_555192.SML_Total_out
,,0,,,2023-10-07T03:01:27Z,432.21,value,sonoff.0.DVES_555192.SML_Total_out
"csv.from(csv: csvData)
|> to (bucket: "Powerfox")_Start und _Stop sind Dummy-Werte, die will er aber drin haben weil er sonst Nil-Werte im Zeitfeld anmeckert.
Deine Screenshot, Bernd, ist vermutlich immer noch V1. Bei mir sieht das so aus
Oder es liegt an der Synology-Version, das weiß ich nicht.
Jedenfalls: Danke allerseits für die Bemühungen.
Chris
-
@chr-hu sagte in Altdaten über CSV-Datei in die InfluxDB2 einlesen:
Deine Screenshot, Bernd, ist vermutlich immer noch V1. Bei mir sieht das so aus
Moin,
meine Screenshots sind von der Applikation
chronograf
, hatte ich auch geschrieben!VG
Bernd