Also,
die Daten der Froggit WH4000SE (Ecowitt WS2320E) nach weewx zu
importieren geht folgendermassen:
1. Daten in WeatherSmartIP/Weather Smart für WiFi selektieren und als CSV exportieren.
Beispielname der Datei WH4000SE_2019.csv
2. Achtung: folgende Fehlerquellen:
a) die Kopfzeile darf keine "°" Zeichen enthalten !
b) der Zeitstempel wird mit einem führenden Leerzeichen exportiert, was die Konvertierung durch das weewx Import-Programm verhindert => Leerzeichen entfernen.
Vorgehensweise mit Excel: WH4000SE_2019.csv laden, hinter dem Zeitstempel eine Spalte einfügen, neben dem ersten Eintrag in die leere Zelle "=TRIM(B2)" eingeben - das entfernt das führende (und ggf. auch nachstehende) Leerzeichen.
Zelle markieren, CTRL-C (kopieren), Zelle darunter markieren (mit Maus anklicken), dann die letzte Zelle der leeren Spalte mit gehaltener Shift-Taste anklicken (markiert die leeren Zellen) und danach mit CTRL-V den Inhalt des Clipboards markieren. Ergebnis: es gibt jetzt eine Spalte mit Zeitstempeln ohne führendes Leerzeichen. Jetzt die gesamte neue Spalte markieren (auf den Buchstaben, hier "C", über der Spalte klicken), mit CTRL-C kopieren, die Spalte B anklicken (markieren). Die markierte Spalte rechts-klicken und mit der (123)-Option einfügen. Jetzt ist die Zeitstempel-Spalte im richtigen Format. Die Spalte C kann jetzt wieder gelöscht werden.
In der Kopfzeile die "°"-Zeichen vor den Temperaturen (Innen-, Aussen-, Taupunkt, gefühlte Temperatur) entfernen.
Die Datei im CSV-Format (
!!) abspeichern ! (sonst fehlen die Trennzeichen [Semikolon]).
Datei WH4000SE_2019.csv - Beispiel
Code: Alles auswählen
NO.;Time;Interval;Indoor Temperature(C);Indoor Humidity(%);Outdoor Temperature(C);Outdoor Humidity(%);Relative Pressure(hpa);Absolute Pressure(hpa);Wind Speed(km/h);Gust(km/h);Wind Direction;DewPoint(C);WindChill(C);Day Rainfall(mm);Week Rainfall(mm);Month Rainfall(mm);Year Rainfall(mm);Total Rainfall(mm);Light(W/M2);UVI
1;03/26/19 02:34 AM; 5 M; 22.1;46; 5.0;72; 999.2; 999.2; 0.0; 0.0;336; 0.4; 5.0; 0.0; 0.0; 0.0; 0.0; 0.0; 0.00;0
2;03/26/19 02:39 AM; 5 M; 22.1;47; 4.9;72; 998.9; 998.9; 0.0; 0.0;336; 0.3; 4.9; 0.0; 0.0; 0.0; 0.0; 0.0; 0.00;0
3;03/26/19 02:44 AM; 5 M; 22.0;47; 4.8;72; 999.1; 999.1; 0.0; 0.0;336; 0.2; 4.8; 0.0; 0.0; 0.0; 0.0; 0.0; 0.00;0
4;03/26/19 02:49 AM; 5 M; 21.9;47; 4.7;72; 999.2; 999.2; 0.0; 0.0;336; 0.1; 4.7; 0.0; 0.0; 0.0; 0.0; 0.0; 0.00;0
5;03/26/19 02:54 AM; 5 M; 21.7;47; 4.7;72; 999.3; 999.3; 0.0; 0.0;336; 0.1; 4.7; 0.0; 0.0; 0.0; 0.0; 0.0; 0.00;0
6;03/26/19 02:59 AM; 5 M; 21.6;47; 4.6;73; 999.4; 999.4; 0.0; 0.0;336; 0.2; 4.6; 0.0; 0.0; 0.0; 0.0; 0.0; 0.00;0
3. Jetzt werden zwei Dateien benötigt. Die Konfigurationsdatei für wee_import (hier "import.conf" genannt) und die CSV-Datei (hier: "WH4000SE_2019"). Diese ins /var/lib/weewx-Verzeichnis kopieren, wo sich bei einer Dedian/RPi-Installation auch die weewx-Datenbank befindet. Bei anderen Installationen ist das /home/weewx
(Kann theoretisch irgendwo sein, der Pfad dorthin muss eben unter "file =" angegeben werden.)
Inhalt der import.conf:
Code: Alles auswählen
source = CSV
[CSV]
file = /var/lib/weewx/WH4000SE_2019.csv
raw_datetime_format = %m/%d/%y %I:%M %p
calc_missing = True
solar_sensor = True
UV_sensor = True
interval = 5
delimiter = ;
rain = cumulative
[[FieldMap]]
dateTime = Time
barometer = Relative Pressure(hpa), hPa
pressure = Absolute Pressure(hpa), hPa
inTemp = Indoor Temperature(C), degree_C
inHumidity = Indoor Humidity(%), percent
outTemp = Outdoor Temperature(C), degree_C
outHumidity = Outdoor Humidity(%), percent
windSpeed = Wind Speed(km/h), km_per_hour
windDir = Wind Direction, degree_compass
windGust = Gust(km/h), km_per_hour
rain = Day Rainfall(mm), mm
dewpoint = DewPoint(C), degree_C
windchill = WindChill(C), degree_C
radiation = Light(W/M2), watt_per_meter_squared
UV = UVI, uv_index
das weewx-Import Utility starten: (zuerst im Test-Modus = dry-run)
(Achtung - das weewx-Import-Utility sperrt die weewx-Datenbank - daher, wenn man keinen Datenverlust haben will, im Archiv-Intervall abspeichern - bei einem 5-Minuten-Intervall kann man mit einem RPi4 ca. 20 Tage mit 5-Minuten-Daten einspielen, bevor weewx wieder den nächsten Datensatz abspeichert)
Man kann natürlich auch weewx stoppen. Insbesondere, wenn es sich beim Import um größere Datenmengen handelt. Dann weewx herunterfahren. Die gesamte Datei einspielen. Weewx wieder neu starten. Die jetzt fehlenden Datensätze aus der WH4000SE-Konsole nochmals exportieren und während des Betriebes nachspielen.
Ein ganzes Jahr mit 5-minütigen Datensätzen (ca. 105.000) benötigte auf einem RPi4 (8GB) 35 Minuten zum Einspielen. Die jetzt fehlenden und nachzuspielenden aktuellen Daten sind 6-8 Datensätze, die in weniger als einer Sekunde nachgespielt werden können.
sudo wee_import --import-config=/var/lib/weewx/import.conf --config=/etc/weewx/weewx.conf --verbose --from=2019-10-01 --to=2019-10-20 --dry-run
--date= anstelle der --from= und --to= Parameter bedeutet die Daten des jeweiligen Tages, keine Angabe bedeutet alle Daten aus der Importdatei.
wenn der dry-run fehlerfrei durchläuft, den gleichen Befehl ohne "--dry-run" ausführen und dann "scheibchenweise" importieren, indem man den Datumsbereich ändert
obiger Befehl hätte (ohne --dry-run) folgende Ausgabe zur Folge:
Code: Alles auswählen
pi@raspberrypi:/usr/share/weewx $ sudo wee_import --import-config=/var/lib/weewx/import.conf --config=/etc/weewx/weewx.conf --verbose --from=2019-10-01 --to=2019-10-20
Using WeeWX configuration file /etc/weewx/weewx.conf
Starting wee_import...
A CSV import from source file '/var/lib/weewx/WH4000SE_2019.csv' has been requested.
The following options will be used:
config=/etc/weewx/weewx.conf, import-config=/var/lib/weewx/import.conf
source=/var/lib/weewx/WH4000SE_2019.csv, from=2019-10-01, to=2019-10-20
dry-run=None, calc_missing=True, ignore_invalid_data=True
tranche=250, interval=5, date/time_string_format=%m/%d/%y %I:%M %p
delimiter=';', rain=cumulative, wind_direction=[-360, 360]
UV=True, radiation=True
Using database binding 'wx_binding', which is bound to database 'weewx.sdb'
Destination table 'archive' unit system is '0x01' (US).
Missing derived observations will be calculated.
Observations timestamped after 2019-10-01 00:00:00 CEST (1569880800) and up to and
including 2019-10-21 00:00:00 CEST (1571608800) will be imported.
Starting import ...
Obtaining raw import data for period 1 ...
The following imported field-to-WeeWX field map will be used:
source field 'Time' --> WeeWX field 'dateTime'
source field 'Relative Pressure(hpa)' in units 'hPa' --> WeeWX field 'barometer'
source field 'Absolute Pressure(hpa)' in units 'hPa' --> WeeWX field 'pressure'
source field 'Indoor Temperature(C)' in units 'degree_C' --> WeeWX field 'inTemp'
source field 'Indoor Humidity(%)' in units 'percent' --> WeeWX field 'inHumidity'
source field 'Outdoor Temperature(C)' in units 'degree_C' --> WeeWX field 'outTemp'
source field 'Outdoor Humidity(%)' in units 'percent' --> WeeWX field 'outHumidity'
source field 'Wind Speed(km/h)' in units 'km_per_hour' --> WeeWX field 'windSpeed'
source field 'Wind Direction' in units 'degree_compass' --> WeeWX field 'windDir'
source field 'Gust(km/h)' in units 'km_per_hour' --> WeeWX field 'windGust'
source field 'Day Rainfall(mm)' in units 'mm' --> WeeWX field 'rain'
source field 'DewPoint(C)' in units 'degree_C' --> WeeWX field 'dewpoint'
source field 'WindChill(C)' in units 'degree_C' --> WeeWX field 'windchill'
source field 'Light(W/M2)' in units 'watt_per_meter_squared' --> WeeWX field 'radiation'
source field 'UVI' in units 'uv_index' --> WeeWX field 'UV'
Raw import data read successfully for period 1.
Mapping raw import data for period 1 ...
Mapped 5741 records.
Raw import data mapped successfully for period 1.
Saving mapped data to archive for period 1 ...
5741 records identified for import.
Proceeding will save all imported records in the WeeWX archive.
Are you sure you want to proceed (y/n)? y
Unique records processed: 5741; Last timestamp: 2019-10-20 23:57:00 CEST (1571608620)
Mapped data saved to archive successfully for period 1.
Calculating missing derived observations ...
Processing record: 5741; Last record: 2019-10-21 00:00:00 CEST (1571608800)
Recalculating daily summaries...
Records processed: 5000; time: 2019-10-18 10:00:00 CEST (1571385600)
Finished recalculating daily summaries
Finished calculating missing derived observations
Finished import
5741 records were processed and 5741 unique records imported in 179.78 seconds.
Those records with a timestamp already in the archive will not have been
imported. Confirm successful import in the WeeWX log file.