EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

Für Geräte von froggit
nuredo
Offline
Beiträge: 58
Registriert: 31 Jan 2021, 08:57
Hat sich bedankt: 16 mal
Danksagung erhalten: 2 mal

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#31

Beitrag von nuredo »

2. Was hast du als Wetterstation in Wswin eingestellt?
Das wird schon ein Fehler sein. Hier steht noch meine alte Cresta angeklickt!
Was muss man denn auswählen für die Ecowitt HP2551C ?
Benutzeravatar
herbiy
Offline
Beiträge: 188
Registriert: 07 Dez 2020, 19:17
Wohnort: 1140 Wien Hackinger Straße 42-44
Hat sich bedankt: 7 mal
Danksagung erhalten: 27 mal
Kontaktdaten:

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#32

Beitrag von herbiy »

Davis Pro
Herbiy's Wetternetzwerk www.herbiy.at
Benutzeravatar
Werner
Offline
Beiträge: 115
Registriert: 07 Dez 2020, 18:23
Wohnort: Lackenhäuser
Danksagung erhalten: 30 mal
Kontaktdaten:

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#33

Beitrag von Werner »

Jetzt muss ich mich doch einmal einschalten.

Natürlich wird eine CSV-Datei, wenn in der ersten Zeile nur und schon die Indexe stehen, importiert.
Voraussetzung ist nur der Dateiname:
Beim Importieren (wenn es das eigene Wswin-Import-Format ist) ist zwingend diese Dateinamensgebung notwendig:
EXPmm_jj.csv
mm muss sich auf das Monat beziehen, wo die Daten beginnen
und jj auf das zweistellige Jahr.
Ein Import über mehrere Monate und auch Jahre ist damit auch möglich.
Z.B. die Daten beginnen am 21.09.2021
dann muss der Dateiname zwingend EXP09_21.CSV lauten
Wenn man diese Dateinamens-Gebung nicht einhält, lehnt Wswin den Import mit "ungültige Import-Datei" ab.
Wenn man via XCV-Importiert, ist jeder möglicher Dateiname möglich!
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#34

Beitrag von olicat »

Vielen Dank, Werner!

Ich habe das jetzt auch nochmal im ersten Beitrag erwaehnt:
Die von EWCSVmerge erzeugte Dateien für WSWin mit den Indexen in der ersten Zeile (bei Start von EWCSVmerge mit dem Parameter -wswin) sind für die Dateiüberwachung bestimmt. Dabei wird WSWin derart konfiguriert, das es in Intervallen oder beim Start nach Dateien in einem konfigurierten Verzeichnis sucht und diese ggf. automatisch einliest.
Alternativ lässt sich diese Datei auch über die Import-Funktion von WSWin einzulesen, wenn der Dateiname einer bestimmten Form entspricht:

Der Name der CSV muss EXPmm_jj.csv entsprechen, wobei mm der Monat und jj das Jahr ist, mit denen die im CSV enthaltenen Daten beginnen (!).
Wird diese Dateinamenvorgabe nicht eingehalten, verweigert WSWin den Import mit der Fehlermeldung "ungültige Import-Datei".

Ein Import auf diesem Wege ist auch über mehrere Monate oder Jahre möglich - einzig der Dateiname muss der oben erläuterten Namensgebung entsprechen.

Beispiel:
Die im CSV enthaltenen Daten beginnen am 18.12.2019. Somit muss der Dateiname für diese Datei zwingend EXP12_19.csv heißen.

Zusätzlich sollte als Typ der Wetterstation im WSWin die Davis Pro eingestellt sein.
Ich hoffe, damit wird die Integration der von EWCSVmerge erzeugten Dateien einer HP2551C in WSWin etwas verstaendlicher.

Oliver
nuredo
Offline
Beiträge: 58
Registriert: 31 Jan 2021, 08:57
Hat sich bedankt: 16 mal
Danksagung erhalten: 2 mal

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#35

Beitrag von nuredo »

Genau das war die Lösung für mein Problem. :thumbup:
Ich mußte nur die erzeugte Datei "WSWIN-SDKarte-1.csv" umbenennen in "EXP10_21.csv" (bei mir war der erste Tag der Wetteraufzeichnung der 09.10.2021).
WSWIN auf Wetterstation "Davis Pro" eingestellt und ruckzuck wurden die Daten eingelesen.
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#36

Beitrag von olicat »

Hi!

Vermutlich mit Firmware v1.7.6 zur HP2551C hat Ecowitt den Aufbau der CSV-Dateien (hinterruecks!) geaendert. Zwar hatte ich mehrfach Hinweise zu einer Aenderung der CSV-Architektur gegeben aber nie eine positive Rueckmeldung erhalten. Ich habe auch keine Infos dazu in den Changelogs gesehen oder anderweitig etwas darueber gelesen.
Mit den neuen Dateien (es sind offenbar nur noch jeweils zwei pro Monat!) kommt die aktuelle Version von EWCSVmerge nicht klar und bricht mit einem Laufzeitfehler ab - die Dateien koennen vorerst nicht konvertiert werden.
Ich kuemmere mich demnaechst um eine neue Version.
Sorry!

Aktuell sieht es wohl so aus, das nur noch zwei Dateien pro Monat geschrieben werden:

YYYYMMA.CSV - Standard-Werte der Wetterstation

Code: Alles auswählen

Zeit,Temperatur Innen(℃),Luftfeuchtigkeit Innen(%),Temperatur Aussen(℃),Luftfeuchtigkeit Aussen(%),Taupunkt(℃),Gefühlte Temperatur(℃),Wind(km/h),Böe(km/h),Windrichtung(°),Abs. Luftdruck(hpa),Rel. Luftdruck(hpa),Sonneneinstrahlung(w/m2),UVI,Regen/Stunde(mm),Regen Event(mm),Regen/Tag(mm),Regen/Wochen(mm),Regen/Monat(mm),Regen/Jahre(mm),Pm2.5(ug/m3)
YYYYMMAllsensors_A.CSV - Werte der erweiterten Sensoren

Code: Alles auswählen

Zeit,CH1 Temperature(℃),CH1 Taupunkt(℃),CH1 Wärmeindex(℃),CH1 Luftfeuchtigkeit(%),CH2 Temperature(℃),CH2 Taupunkt(℃),CH2 Wärmeindex(℃),CH2 Luftfeuchtigkeit(%),CH3 Temperature(℃),CH3 Taupunkt(℃),CH3 Wärmeindex(℃),CH3 Luftfeuchtigkeit(%),CH4 Temperature(℃),CH4 Taupunkt(℃),CH4 Wärmeindex(℃),CH4 Luftfeuchtigkeit(%),CH5 Temperature(℃),CH5 Taupunkt(℃),CH5 Wärmeindex(℃),CH5 Luftfeuchtigkeit(%),CH6 Temperature(℃),CH6 Taupunkt(℃),CH6 Wärmeindex(℃),CH6 Luftfeuchtigkeit(%),CH7 Temperature(℃),CH7 Taupunkt(℃),CH7 Wärmeindex(℃),CH7 Luftfeuchtigkeit(%),CH8 Temperature(℃),CH8 Taupunkt(℃),CH8 Wärmeindex(℃),CH8 Luftfeuchtigkeit(%),WN35CH1hum(%),WN35CH2hum(%),WN35CH3hum(%),WN35CH4hum(%),WN35CH5hum(%),WN35CH6hum(%),WN35CH7hum(%),WN35CH8hum(%),Blitzanzahl,Blitzentfernung,WH45 Temperatur(℃),WH45 Luftfeuchtigkeit(%),WH45 CO2(ppm),WH45 Pm2.5(ug/m3),WH45 Pm10(ug/m3),BodenfeuchteKA1(%),BodenfeuchteKA2(%),BodenfeuchteKA3(%),BodenfeuchteKA4(%),BodenfeuchteKA5(%),BodenfeuchteKA6(%),BodenfeuchteKA7(%),BodenfeuchteKA8(%),LeckenAuf KA1,LeckenAuf KA2,LeckenAuf KA3,LeckenAuf KA4,Pm2.5KA1(ug/m3),Pm2.5KA2(ug/m3),Pm2.5KA3(ug/m3),Pm2.5KA4(ug/m3),WN34KA1(℃),WN34KA2(℃),WN34KA3(℃),WN34KA4(℃),WN34KA5(℃),WN34KA6(℃),WN34KA7(℃),WN34KA8(℃)
Soweit scheinen auf den ersten Blick alle aktuell verfuegbaren Sensoren enthalten zu sein.
Grundsaetzlich begruesse ich den neuen Aufbau - er vereinfacht das Dateihandling enorm.
Aber eine Info haette man darueber ja auch mal geben koennen ...
:-#

Koennt ihr mal bitte nachsehen, ob ihr auch noch andere Dateinamen auf der SD-Karte habt?
Welchen Inhalt haben diese Dateien?

Achtung!
Bereits geschriebene CSV-Dateien werden ganz sicher nicht durch die Station geaendert. Wenn Eure SD-Karte also auch mit einer anderen Version der Firmware (vorher) genutzt wurde, sind auch Dateien des alten Namensschemas erwartbar.
Ich arbeite ja mit 2 SD-Karten, die nur bei einem Firmware-Update gewechselt werden und die ich vor dem Wiedereinstecken immer leere.

Oliver
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#37

Beitrag von olicat »

Moin!

Auf meine erste Anfrage bzgl. der Aenderungen an den CSV-Files antwortete Ecowitt, das es keinerlei Aenderungen gegeben haette.
Als ich daraufhin insistierte, hat man wohl doch mal bei den Entwicklern nachgefragt. Hier die Antwort:
You are right we changed this after 1.7.4 version.
we are checking the mid night double data set problem.
we will prepare a file to describe the csv file data content. Thanks for the reminding.
Bei dem angesprochenen "mid night double data set problem" handelt es sich um einen von mir gemeldeten Fehler, das in manchen Faellen (nicht immer!) in beiden CSV-Dateien jeweils um 23:59 oder um 00:00 Zeilen mit gleichem Zeitstempel aber unterschiedlichen Daten geschrieben werden.
Es gibt also manchmal (bei mir im Monat Dezember 17) Faelle, wo es in der einen oder anderen CSV-Datei eine Zeile mit der gleichen Uhrzeit - aber anderen Daten - gibt. Gemeinerweise bedeutet eine doppelte Zeile aber nicht, das diese auch in der anderen Datei doppelt enthalten ist. So habe ich z.B. auch den Fall, das in der YYYYMMA.CSV 2 Zeilen von 23:59 sind und in der YYYYMMA.CSV jedoch zwei Zeilen von 00:00.
Das Verhalten hatte ich auch vor v1.7.6 schon bemerkt und ziemliche Verrenkungen angestellt, das zu korrigieren.
Waere ja schoen, wenn Ecowitt/Fine Offset das im Grundsatz beheben wuerde.
Auch schoen waere es, wenn es tatsaechlich ein verbindliches Dokument gaebe, das Namen, Aufbau und Inhalt der CSVs beschreibt.
Ich bin gespannt.

Oliver
Binx
Offline
Beiträge: 32
Registriert: 25 Jun 2021, 18:21
Hat sich bedankt: 1 mal
Danksagung erhalten: 1 mal

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#38

Beitrag von Binx »

Hallo

Ich besitze eine neue HP1000SE und möchte meine Daten mittel SD Karte in WsWin importieren
Leider scheitereich schon bei der Zusammenführung der CSV Dateien.
Ich habe die Batch Datei lt. Anleitung erstellt aber leider kann ich im Eport Order keine Daten finden.
1x hatte die CSV Datein im Ordner aber ohne Daten.
Nach dem löschen und neu versuchen finde ich den Ordner immer leer.
Vielleicht kann mir jemand einen Tipp geben
Die Batch Datei habe ich aus der Anleitung kopiert und auf mein Verzeichnis angepasst.
Danke
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#39

Beitrag von olicat »

Moin,

in einem der letzten Firmware-Updates wurde das Format der CSV-Dateien der Station geändert. Mit dem neuen Aufbau kommt EWCSVmerge jedoch noch nicht klar.
Jetzt, wo FOSHKplugin v0.09 endlich freigegeben ist, finde ich sicher die Zeit, diese Probleme zu beheben.
Ich schau mal, wie schnell ich das hinbekomme ...
Bis gleich!

Oliver
Benutzeravatar
olicat
Offline
Beiträge: 2003
Registriert: 07 Dez 2020, 20:33
Wohnort: Hohen Neuendorf
Hat sich bedankt: 26 mal
Danksagung erhalten: 411 mal
Kontaktdaten:

Re: EWCSVmerge - Zusammenführen der CSV-Dateien von der HP2551C/HP1000SE Pro für WSWin und Excel etc.

#40

Beitrag von olicat »

Hi!

Ich habe da jetzt mal auf die Schnelle eine Loesung fuer CSV-Dateien der HP255x mit Firmware >= v1.7.6 gebastelt.
Vielleicht mag das jemand testen?
Danke!

Oliver

Phantasoft EWCSVmerge2
======================

Vorwort
-------
Die Konsole HP2551C von Ecowitt kann sämtliche Daten aller Sensoren in CSV-Files auf einer optionalen SD-Karte abspeichern.
Diese Dateien können per SD-Karte dann auf anderen Rechnern verarbeitet werden.
Leider speichert die Konsole die Daten nicht in einer Datei, sondern - seit der Firmware-Version v1.7.6 - in zwei verschiedene:

YYYYMM?.CSV = enthält Standardsensorik - monatlich
YYYYMMAllsensors_?.CSV = enthält sämtliche Zusatzsensoren (seit v1.7.6) - wird vermutlich fortlaufend erweitert - monatlich

EWCSVmerge2 sammelt diese Daten ein und verknüpft sie in eine Einzeldatei. Somit stehen in EINER Datei sämtliche Daten zur Weiterverarbeitung (etwa per X-CSV in WSWin) zur Verfügung.
Auch wenn per Excel irgendwelche Auswertungen getätigt werden oder die Daten in eine Datenbank eingelesen werden sollen, macht sich dies mit einer Einzeldatei deutlich besser.

Achtung!
Es gibt auch ein Programm EWCSVmerge (ohne 2), das nur CSV-Dateien der Station verarbeiten kann, die VOR dem Update der HP2551C-Geräte-Firmware v1.7.6 von der Station erzeugt wurden.
Vielleicht finde ich irgendwann auch noch die Zeit, beide Versionen zu kombinieren. Jetzt wollte ich aber erstmal eine schnelle Lösung.

Arbeitsweise
------------
Die hier beschriebenen Schritte werden durch EWCSVmerge2 automatisch vorgenommen und dienen hier nur zur Erklärung der Arbeitsweise des Programms.

1. Schritt jeweils zusammenkopieren, dabei unnötige Headerzeilen entfernen
YYYYMM?.CSV --> default.csv
YYYYMMAllsensors_?.CSV --> allsensors.csv

EWCSVmerge2 setzt eine "2" als ersten Zeichen der Namen der Eingangsdateien voraus.

2. Zusammenführen
zeilenweise default.csv durchgehen
anfügen der zur Zeit passenden Werte der allsensors.csv

Die zusammenkopierten Dateien default.csv und allsensors.csv werden mit im Ausgabeverzeichnis abgelegt.
Zur Weiterverarbeitung empfiehlt sich jedoch die Datei, die mit im outdir benannt wurde oder (wenn nicht vorgegeben) dem Schema YYMMDDhhmmss-EWCSVmerge2.csv entspricht. Dabei handelt es sich um die finale Ausgabedatei.
Wird die Option -wswin angegeben, erfolgt parallel dazu die Ausgabe einer weiteren CSV-Datei im speziellen WSWin-Format, das ohne X-CSV direkt in WSWin importiert werden kann.
Der Dateiname ist identisch zum übergebenen Dateinamen, außer das diese Datei mit "WSWin-" beginnt. Wurde kein Name als Parameter übergeben, erfolgt die Ausgabe im out-Verzeichnis als YYMMDDHHMMSS-WSWinImport.csv.

Ablauf
------
Als Nutzer kopiert man den Inhalt der SD-Karte in ein beliebiges Verzeichnis (etwa C:\WSWin\Import\) und startet dann eine Batchdatei, die so aussehen könnte:
@echo off
EWCSVmerge2.exe c:\wswin\import\ c:\wswin\export\SDKarte-1.csv -csv -wswin -empty

Nach Start dieser Batchdatei (oder dem nauellen Start mit obigen Parametern) sollten im Exportverzeichnis c:\wswin\export\ verschiedene Dateien erzeugt worden sein:

default.csv enthält alle Werte der Standard-CSV der Wetterstation (WH65, WH40, WS80, WS68, WH32)
allsensors.csv Werte aller zusätzlichen Sensoren (WH57, WH45, WH51, WH55, WH41/WH43, WN34, ...)
SDKarte-1.csv das komplette Excel-kompatible CSV mit allen Werten aller obigen Dateien
WSWin-SDKarte-1.csv die WSWin-Datei zum Import in WSWin mit allen Sensoren, die WSWin unterstützt

Download
--------
Die jeweils aktuelle Version von EWCSVmerge2 kann hier bezogen werden.

Aufruf
------
Es handelt sich bei EWCSVmerge2 um ein Konsolenprogramm für Windows, um in Batchdateien automatisch zu arbeiten.
Es gibt keine Bedienoberfläche aber ein paar Parameter, die dem Programm übergeben werden können.

Dem Programm muss zumindest das Eingangsverzeichnis (indir) in dem die von der SD-Karte stammenden CSV-Dateien liegen, als Parameter übergeben werden.
Als zweiter Parameter wird ein Ausgabeverzeichnis (outdir) bzw. der Name der Ausgabedatei inklusive des Ausgabepfades akzeptiert.
Aus Sicherheits- wie auch aus Performance-Gründen empfehle ich dringend, die Ausgabe nicht auf die SD-Karte erfolgen zu lassen.
Über das Flag -csv werden die Ausgabezeilen dahingehend verändert, das sämtliche Kommas durch ein Semikolon sowie alle Punkte durch ein Komma ersetzt werden.
Diese Art des CSV kann zumindest die deutschsprachige Version von Excel ohne Rückfragen korrekt verarbeiten.
Mit -empty werden alle Felder, die von der Wetterstation mit "--" als leer deklariert werden, in "" umbenannt.
Der Schalter -debug gibt ein paar zusätzliche Informationen zu Problemen bei der Verarbeitung aus.
Alle Parameter müssen mit einem Leerzeichen getrennt werden.

Usage: EWCSVmerge2.exe indir [outdir] [-wswin -csv -empty -debug]

[-wswin] = create a optional WSWin-CSV
[-csv] = output to Excel/CSV with separator ";" and , as point
[-empty] = use "" instead of "--" (empty value)
[-debug] = show extended debug information

If outdir is not specified, the output is saved in the start directory.
If outdir does not exist, it will be created.
You may specify a file name with outdir to define the output file. If a WSWin
file is also generated, it is given the same name, but preceded by "WSWin-".

Die aktuelle Wetterstationsfirmware hat ein paar Eigenheiten, die von EWCSVmerge2 umschifft werden müssen.
So sind teilweise Zeilen mit identischer Zeit enthalten. EWCSVmerge2 überspringt eine Zeile, wenn deren Zeitstempel identisch zum vorhergehenden ist.
Derartige Zeilen werden als Fehler klassifiziert und in der Debug-Ausgabe auch mit Zeilennummern der jeweiligen Dateien ausgegeben.
Weiterhin kann es (aus mir unklaren Gründen) Lücken in den Zusatzdateien geben.
EWCSVmerge2 nimmt die default.csv als Master und versucht zu den dort enthaltenen Zeiten passende Zeilen in den anderen Dateien zu finden.
Auch hier erfolgt ggf. eine Fehlerausschrift.

Excel-Import
------------
Die von der Wetterstation kommenden CSV-Files sind zumindest mit dem deutschen Excel nicht per Doppelklick einfach zu öffnen. Denn das setzt das Semikolon als Separator und ein Komma als Dezimalpunkt voraus.
Mit dem Parameter -csv kann eine Excel-kompatible CSV-Datei erzeugt werden, die die Spaltenaufteilung automatisch vornimmt.

WSWin-Import
------------
Für das Einlesen der normalen CSV EWCSVmerge2.csv sind im WSWin ein paar Handgriffe nötig - die Erstellung einer eigenen X-CSV. Die Erzeugung einer solchen Datei ist sehr gut in einem Video von Werner Neudeck erklärt: https://www.pc-wetterstation.de/filme/x ... tellen.mp4
Einfacher ist das Einlesen der WSWin-Import-Datei, die über den Parameter -wswin erzeugt wird, da die Zuordnung der SensorIDs zu den Spalten im CSV bereits intern hinterlegt ist.
Auch die Konvertierung der u.U. von der Wetterstation in falscher Einheit gelieferten Werte (mph, m/s, knot, ft/s, bft, °F, in, inHg, mmHg, lux, fc) in das für WSWin erforderliche metrische System erfolgt automatisch.
Die Erstellung einer X-CSV kann somit entfallen.

Hinweis
-------
Ich übernehme keine Garantie für die Funktionsfähigkeit des Programms für den gewünschten Zweck.
Die Nutzung erfolgt auf eigene Gefahr.
Das Programm EWCSVmerge2.exe ist in der vorliegenden Form kostenlos und darf frei genutzt und verteilt werden.

Support
-------
Im Wetterstationsforum gibt es einen Support-Thread für Fragen und Probleme zu/mit diesem Programm:
viewtopic.php?f=21&t=417
Auch im englischsprachigen WXForum gibt es dazu einen Supportthread:
https://www.wxforum.net/index.php?topic=42045.0

known issues
------------
Sonderzeichen (UTF-8) in der Headerzeile werden ggf. im Excel falsch dargestellt. Das ist unschön aber sollte die Funktionalität nicht groß stören.

Changelog
---------
v0.1 02.04.22 - initial
Antworten