Seite 1 von 1

Probleme beim x-csv import mit UNIX Zeit

Verfasst: 19 Feb 2013 17:52
von herwig
Hallo Zusammen,
ich habe ein Problem mit dem x-csv Import einer Datei mit Unixzeit.
Meine Programmversion ist 2.96.0 (sollte also funktionieren).
Beim Versuch zu imortieren bekomme ich den Fehler:

Time: 14:13:00 must be hh:mm!

Die Zeit entspricht der Zeit des ersten Datensatzes.
Die relevanten Zeilen aus der wswin_x-csv_import.cfg sind:
[Config]
XCSVRem=
XCSVDate=zzzzzzzzzzzz
XCSVTime=
XCSVStartLinie=0
XCSVSeparator=44

Der erste Importdatensatz ist:
1361196780,19.40,43,2.00,89,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,1020.7,NULL,5,0,11,0.0,0.0,2.7,329

Wenn ich das Datumsformat in ddmmyyyyhhnn ändere (und natürlich den Importdatensatz anpasse) funktioniert der Import ohne Probleme.

Ich könnte jetzt natürlich in einem Skript das Datenformat anpassen. Wenns mit der Unixtime klappt wäre es aber bequemer.
Schon im Voraus vielen Dank für die Hilfe.
Gruß
Herwig

PS: Habe jetzt noch ein update auf die neuste Version 2.96.10 gemacht - ohne Erfolg.

Verfasst: 19 Feb 2013 19:02
von weneu
Hallo,
Du kannst nicht davon ausgehen, das Du einfach ein Zeitformat selbst definieren könntest (in Deinem Fall "XCSVDate=zzzzzzzzzzzz ")
Wie soll WSWIN daraus ein gültige Zeit erkennen?
Das hat nichts mit der WSWIN-Version zu tun.

Verfasst: 19 Feb 2013 20:04
von Werner
Hallo,

da Du nicht die komplette Config-Datei angegeben hast (z.B. [Fields] - Einträge fehlen) und die Fehlermeldung auch darauf hindeutet,
stimmt etwas mit dem Zeitfeld nicht.
Bei der Unixzeit gibt es ja keinen extra Zeiteintrag.
Ausserdem sollten (müssen?) die Datum-Zeit-Definitionen in "zzzzzzzzzzzz" eingeschlossen sein.
ID1=102 ist ausserdem Voraussetzung!


Werner

Verfasst: 19 Feb 2013 20:18
von herwig
Hallo,
vielen Dank für die schnelle Antwort.
Der Fieldseintrag 102 ist vorhanden:
[Config]
XCSVRem=
XCSVDate=zzzzzzzzzzzz
XCSVTime=
XCSVStartLinie=0
XCSVSeparator=44
XCSVFillChar=0
XCSVPreChar=0
XCSVUTC=1
ImpPath=D:\Benutzer\herwig\Documents\tmp\
ImportFName=EXPORT.CSV
[Fields]
ID1=102
U1=0
ID2=1
U2=0
ID3=17
U3=0

Wie gesagt, wenn ich das Datumsformat ändere funktiionierts. Aus dem Eintrag in der Hilfe
"Beispiel zzzzzzzzzzzz = UnixEpochZeit (unixepoch)"
habe geschlossen, dass zzzzzzzzzzzz die Definition für einen Unixzeitstempel ist. Ist dem nicht so??

In der Info.txt steht ähnliches zur Version 2.95.7:
"erlaubt bei X-CSV-Import jetzt auch das Unix-Datum/Zeit-Format (Sekunden seit 01.01.1970 00:00:00)
-> als Formatart muss Datum+Zeit gewählt und als Formatstring muss "zzzzzzzzzz" eingetragen werden"

Habe ich da etwas falsch verstanden?

Gruß

Herwig

Verfasst: 19 Feb 2013 22:27
von weneu
Hallo,
kann Dein Fehler vielleicht darin bestehen, dass Du die Zahl der "z" nicht richtig eingehalten hast?
Es müssten, wenn ich mich nicht täusche, zehn "z" sein, Du hast in Deinem Beispiel aber mehr angegeben.
Und ID2 müsste doch auch gleich Null sein.
Ich hoffe, dass ich mich da nicht täusche.
Nachtrag: Wenn der Wert 19.40 natürlich die Innnentemperatur sein sollte, dann stimmt Dein Wert schon.

Verfasst: 19 Feb 2013 22:32
von Werner
Hallo,

schicke mir einmal Deine x-CSV_cfg-Datei und eine Import-Datei,
dann kontrolliere ich es.

... ist schon so lange her.

Werner

Verfasst: 22 Feb 2013 21:04
von herwig
Hallo,

dank Werners schneller Hilfe wird der Import so wie in der Hilfe (also mit 12 z) beschrieben in Version 2.97.0 funktionieren.
Noch kurz zum Hintergrund des ganzen. Seit kurzem habe ich einen Server mit Debian laufen (im Augenblich noch ein altes Notebook. Wird demnächst durch ein RaspberryPi ersetzt). Der liest im Minutentakt mit dem Programm von http://te923.fukz.org/ (Vielen Dank an den Author!) die Wetterdaten aus einer Conrad TE831X (Baugleich mit Mebus T923 und etlichen anderen). Vorläufig werden die Daten nur in einer MySQL Datenbank gespeichert und zum Export in wswin in eine Textdatei. Auf wswin möchte ich erstmal nicht verzichten. Bietet doch viele Möglichkeiten - läut aber leider nicht unter Linux.

Nochmal vielen Dank an Werner!

Grüße aus der Altmark

Herwig