Neues Wetterstation für weewx

Kaufberatung für Wetterstationen und Zubehör
nixda
Offline
Beiträge: 5
Registriert: 25 Okt 2021, 16:58

Re: Neue Wetterstation für weewx

#41

Beitrag von nixda »

Hallo Zusammen,
ich bin hier neu und hab den Thread studiert und die Tipps übernommen
Meine WH4000SE funktioniert mit weeWX jetzt wunderbar.
Nun habe ich allerdings zwei RASPIs im Einsatz. Kann jedoch immer nur mit einem die Basisstation abfragen, weil dieser dort mit der IP Adresse hinterlegt ist. Ich möchte jedoch mit beiden Raspis dies tun.
Also meine Basisstation hat die 192.168.1.46 mit dem Port 8000.
Meine erster Raspi hat die 192.168.1.51. Die Übertragung dorthin funktioniert perfekt.
Nun will ich mit einem weitern Raspi (IP 192.168.1.52) ebenfalls die Basisstation anzapfen. Da hier allerdings die Ip vom ersten Raspi hinterlegt ist wird das so nicht funktionieren.

Den Link zum Netzwerktreiber kenne ich https://github.com/matthewwall/weewx-interceptor, jedoch reichen meine Kenntisse nicht aus um die passenden Einstellungen zu übernehmen.

Nun meine Frage: Was und wie muß ich eintragen, dass mir dies gelingt?
Für Eure Hilfe wäre ich dankbar.
Grüße
Robert
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: Neues Wetterstation für weewx

#42

Beitrag von olicat »

Hi!
Kann jedoch immer nur mit einem die Basisstation abfragen, weil dieser dort mit der IP Adresse hinterlegt ist.
Grundsaetzlich:
Du fragst nicht die Wetterstation ab! Vielmehr konfigurierst Du die Wetterstation, von sich aus im Intervall die Daten auch an ein externes Ziel (eben Dein Raspi) zu versenden.
Du suchst also offenbar eine Loesung, um die Daten der Wetterstation an zwei unterschiedliche Ziele zu senden.
Das geht ohne weitere Software leider nicht. Die Station kennt genau EIN konfigurierbares Ziel.
Wenn Du Deine Station jedoch derart konfigurierst, das diese die Daten an z.B. FOSHKplugin sendet, kann FOSHKplugin diese Daten an beliebige andere Ziele versenden.
Auf den FOSHKplugin-Webseiten habe ich das im Rezept redistribute the Ecowitt stream of a GW1000 to several weewx naeher beschrieben.

Zusammengefasst:
Du installierst Dir FOSHKplugin auf dem Raspi 192.168.1.51. Dabei wird die Wetterstation WH4000 so konfiguriert, dass diese die Daten im Intervall an 192.168.1.51:8080 sendet.
FOSHKplugin empfaengt auf 192.168.1.51:8080 und sendet mit diesen Forwards:

Code: Alles auswählen

[Forward-1]
FWD_URL = http://192.168.1.51:8000           # URL of destination
FWD_TYPE = RAWEW                             # RAWEW: Ecowitt untouched

[Forward-2]
FWD_URL = http://192.168.1.52:8000           # URL of destination
FWD_TYPE = RAWEW                             # RAWEW: Ecowitt untouched
die eingehenden Daten automatisch an Port 8000 des lokalen Raspi sowie zusaetzlich an Port 8000 des zweiten Raspi mit der IP 192.168.1.52.

Oliver
nixda
Offline
Beiträge: 5
Registriert: 25 Okt 2021, 16:58

Re: Neues Wetterstation für weewx

#43

Beitrag von nixda »

olicat hat geschrieben: 25 Okt 2021, 20:28 Hi!
Kann jedoch immer nur mit einem die Basisstation abfragen, weil dieser dort mit der IP Adresse hinterlegt ist.
Grundsaetzlich:
Du fragst nicht die Wetterstation ab! Vielmehr konfigurierst Du die Wetterstation, von sich aus im Intervall die Daten auch an ein externes Ziel (eben Dein Raspi) zu versenden.
Sorry hatte mich falsch ausgedrückt
Du suchst also offenbar eine Loesung, um die Daten der Wetterstation an zwei unterschiedliche Ziele zu senden.
Stimmt
Das geht ohne weitere Software leider nicht. Die Station kennt genau EIN konfigurierbares Ziel.
Wenn Du Deine Station jedoch derart konfigurierst, das diese die Daten an z.B. FOSHKplugin sendet, kann FOSHKplugin diese Daten an beliebige andere Ziele versenden.
...
Oliver
Danke für die anschauliche Anleitung
Ich werde versuchen das auf die Reihe zu bingen.
Grüße
Robert
nixda
Offline
Beiträge: 5
Registriert: 25 Okt 2021, 16:58

Re: Neues Wetterstation für weewx

#44

Beitrag von nixda »

Ich hätte da noch ein Problem.
In der weewx.config ist die ftp Übertragung auf 1 Minute eingestellt

Code: Alles auswählen

[StdArchive]   
    # archive_interval = 300
    archive_interval = 60
    record_generation = hardware
Die Übertragung findet jedoch nur ca. alle 4 Minuten statt.
In dem Logfile unter 18:02:16 und 18:06:01 zu finden
Ein ändern der Einstellungen bewirkt überhaupt nichts.

Code: Alles auswählen

Oct 30 18:02:11 raspberrypi weewx[4103] INFO weewx.cheetahgenerator: Generated 12 files for report StandardReport in 155.62 seconds
Oct 30 18:02:11 raspberrypi weewx[4103] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Oct 30 18:02:16 raspberrypi weewx[4103] INFO weewx.reportengine: ftpgenerator: Ftp'd 33 files in 4.72 seconds
Oct 30 18:02:25 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:02:00 CEST (1635609720) to database 'weewx.sdb'
Oct 30 18:02:26 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:02:00 CEST (1635609720) to daily summary in 'weewx.       sdb'
Oct 30 18:02:34 raspberrypi weewx[4103] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 7.80 seconds
Oct 30 18:03:20 raspberrypi weewx[4103] INFO weewx.imagegenerator: Generated 45 images for report SeasonsReport in 45.97 seconds
Oct 30 18:03:20 raspberrypi weewx[4103] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Oct 30 18:03:28 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:03:00 CEST (1635609780) to database 'weewx.sdb'
Oct 30 18:03:28 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:03:00 CEST (1635609780) to daily summary in 'weewx.sdb'
Oct 30 18:03:28 raspberrypi weewx[4103] INFO weewx.engine: Launch of report thread aborted: existing report thread still running
Oct 30 18:04:30 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:04:00 CEST (1635609840) to database 'weewx.sdb'
Oct 30 18:04:30 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:04:00 CEST (1635609840) to daily summary in 'weewx.sdb'
Oct 30 18:04:32 raspberrypi weewx[4103] INFO weewx.engine: Launch of report thread aborted: existing report thread still running
Oct 30 18:05:32 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:05:00 CEST (1635609900) to database 'weewx.sdb'
Oct 30 18:05:32 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:05:00 CEST (1635609900) to daily summary in 'weewx.sdb'
Oct 30 18:05:32 raspberrypi weewx[4103] INFO weewx.engine: Launch of report thread aborted: existing report thread still running
Oct 30 18:05:55 raspberrypi weewx[4103] INFO weewx.cheetahgenerator: Generated 12 files for report StandardReport in 154.49 seconds
Oct 30 18:05:55 raspberrypi weewx[4103] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Oct 30 18:06:01 raspberrypi weewx[4103] INFO weewx.reportengine: ftpgenerator: Ftp'd 59 files in 5.91 seconds
Oct 30 18:06:33 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:06:00 CEST (1635609960) to database 'weewx.sdb'
Oct 30 18:06:34 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:06:00 CEST (1635609960) to daily summary in 'weewx.sdb
An welcher Schraube muß ich den drehen um jede Minute einen ftp-Job anzustoßen?

Hardware = raspi-zero
Software
Raspi buster
weewx 4.5.1

Danke
Grüße
Robert
Benutzeravatar
Gyvate
Offline
Beiträge: 2479
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 375 mal
Kontaktdaten:

Re: Neues Wetterstation für weewx

#45

Beitrag von Gyvate »

Wie sehen denn die Einträge in weewx.conf für die
[StdReport]
[[FTP]]
Stanza aus ?
Die Antwort könnte allerdings auch in diesen Syslog-Einträgen stehen:

Oct 30 18:04:32 raspberrypi weewx[4103] INFO weewx.engine: Launch of report thread aborted: existing report thread still running
Oct 30 18:05:32 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:05:00 CEST (1635609900) to database 'weewx.sdb'
Oct 30 18:05:32 raspberrypi weewx[4103] INFO weewx.manager: Added record 2021-10-30 18:05:00 CEST (1635609900) to daily summary in 'weewx.sdb'
Oct 30 18:05:32 raspberrypi weewx[4103] INFO weewx.engine: Launch of report thread aborted: existing report thread still running

Es reicht ja nicht nur nicht für FTP Übertragung sondern ebenfalls nicht für die Erzeugung eines minütlichen Seasons Report ...

Ich vermute mal, dass der RPi-zero zu "schwach auf der Brust" ist, um mit der Report-Erzeugung innerhalb einer Minute nachzukommen. Der FTP "Report" kommt erst nach dem Standard und Seasons Report an die Reihe.

Vielleicht ist ja genug Memory (RAM) verhanden, um die Reports auf eine RAM-Disk zu schieben/schreiben. Sollte die Verarbeitungsgeschwindigkeit verkürzen. Ob's ausreicht, musst Du ausprobieren.


Ich würde mal folgendes versuchen (RAM Disk Größe 20 MB einrichten und für die Reports benutzen):

1. einen Eintrag in der File-System-Tabelle fstab vornehmen :

Code: Alles auswählen

 echo "weewx_reports /var/weewx/reports tmpfs size=20M,noexec,nosuid,nodev 0 0" | sudo tee -a /etc/fstab
2. ein neues temporäres Verzeichnis anlegen und das File System (RAM Disk) mounten

Code: Alles auswählen

sudo mkdir -p /var/weewx/reports
    sudo mount -a
3. die weewx.conf Datei auf das neue Verzeichnis zeigen lassen

Code: Alles auswählen

 sudo sed -i -e 's%HTML_ROOT =.*%HTML_ROOT = /var/weewx/reports%' /etc/weewx/weewx.conf
4. einen symbolischen Link einrichten, so dass der Webserver die Reports findet

Code: Alles auswählen

sudo ln -s /var/weewx/reports /var/www/html/weewx
5. dem Webserver Leserechte auf das Report-Verzeichnis geben:

Code: Alles auswählen

 sudo chmod -R 755 /var/www/html/weewx
Danach natürlich weewx neu starten 8-)

z.B.

Code: Alles auswählen

sudo /etc/init.d/weewx restart
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
nixda
Offline
Beiträge: 5
Registriert: 25 Okt 2021, 16:58

Re: Neues Wetterstation für weewx

#46

Beitrag von nixda »

Der RPI-Zero hat laut Hersteller 512Mb

Nach dem ich deine Vorschläge umgesetzt habe, sieht es so aus

Code: Alles auswählen

proc            /proc           proc    defaults          0       0
PARTUUID=07ea43e6-01  /boot           vfat    defaults          0       2
PARTUUID=07ea43e6-02  /               ext4    defaults,noatime  0       1
# a swapfile is not a swap partition, no line here
#   use  dphys-swapfile swap[on|off]  for that
weewx_reports /var/weewx/reports tmpfs size=20M,noexec,nosuid,nodev 0 0

Code: Alles auswählen

root@raspberrypi:/home/pi# df
Dateisystem    1K-Blöcke Benutzt Verfügbar Verw% Eingehängt auf
/dev/root        7305144 1661420   5313844   24% /
devtmpfs          187196       0    187196    0% /dev
tmpfs             220176       0    220176    0% /dev/shm
tmpfs             220176    3108    217068    2% /run
tmpfs               5120       0      5120    0% /run/lock
tmpfs             220176       0    220176    0% /sys/fs/cgroup
weewx_reports      20480    7200     13280   36% /var/weewx/reports
/dev/mmcblk0p1    258095   49241    208854   20% /boot
tmpfs              44032       0     44032    0% /run/user/1000
Eine Veränderung ist kaum merkbar.

Code: Alles auswählen

Oct 31 07:36:54 raspberrypi weewx[427] INFO weewx.reportengine: Copied 0 files to /var/weewx/reports
Oct 31 07:37:00 raspberrypi weewx[427] INFO weewx.reportengine: ftpgenerator: Ftp'd 29 files in 5.26 seconds
Oct 31 07:38:10 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:38:00 CET (1635662280) to database 'weewx.sdb'
Oct 31 07:38:11 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:38:00 CET (1635662280) to daily summary in 'weewx.sdb'
Oct 31 07:38:20 raspberrypi weewx[427] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 8.10 seconds
Oct 31 07:38:27 raspberrypi weewx[427] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 7.20 seconds
Oct 31 07:38:27 raspberrypi weewx[427] INFO weewx.reportengine: Copied 0 files to /var/weewx/reports
Oct 31 07:40:15 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:40:00 CET (1635662400) to database 'weewx.sdb'
Oct 31 07:40:15 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:40:00 CET (1635662400) to daily summary in 'weewx.sdb'
Oct 31 07:40:16 raspberrypi weewx[427] INFO weewx.engine: Launch of report thread aborted: existing report thread still running
Oct 31 07:41:03 raspberrypi weewx[427] INFO weewx.cheetahgenerator: Generated 12 files for report StandardReport in 155.21 seconds
Oct 31 07:41:03 raspberrypi weewx[427] INFO weewx.reportengine: Copied 0 files to /var/weewx/reports
Oct 31 07:41:07 raspberrypi weewx[427] INFO weewx.reportengine: ftpgenerator: Ftp'd 29 files in 4.41 seconds
Oct 31 07:41:16 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:41:00 CET (1635662460) to database 'weewx.sdb'
Oct 31 07:41:17 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:41:00 CET (1635662460) to daily summary in 'weewx.sdb'
Oct 31 07:41:25 raspberrypi weewx[427] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 8.02 seconds
Oct 31 07:41:32 raspberrypi weewx[427] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 7.24 seconds
Oct 31 07:41:32 raspberrypi weewx[427] INFO weewx.reportengine: Copied 0 files to /var/weewx/reports
Oct 31 07:42:20 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:42:00 CET (1635662520) to database 'weewx.sdb'
Oct 31 07:42:20 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:42:00 CET (1635662520) to daily summary in 'weewx.sdb'
Oct 31 07:42:21 raspberrypi weewx[427] INFO weewx.engine: Launch of report thread aborted: existing report thread still running
Oct 31 07:43:21 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:43:00 CET (1635662580) to database 'weewx.sdb'
Oct 31 07:43:21 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:43:00 CET (1635662580) to daily summary in 'weewx.sdb'
Oct 31 07:43:21 raspberrypi weewx[427] INFO weewx.engine: Launch of report thread aborted: existing report thread still running
Oct 31 07:44:09 raspberrypi weewx[427] INFO weewx.cheetahgenerator: Generated 12 files for report StandardReport in 156.63 seconds
Oct 31 07:44:09 raspberrypi weewx[427] INFO weewx.reportengine: Copied 0 files to /var/weewx/reports
Oct 31 07:44:14 raspberrypi weewx[427] INFO weewx.reportengine: ftpgenerator: Ftp'd 29 files in 4.46 seconds
Oct 31 07:44:22 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:44:00 CET (1635662640) to database 'weewx.sdb'
Oct 31 07:44:23 raspberrypi weewx[427] INFO weewx.manager: Added record 2021-10-31 07:44:00 CET (1635662640) to daily summary in 'weewx.sdb'
Oct 31 07:44:31 raspberrypi weewx[427] INFO weewx.cheetahgenerator: Generated 8 files for report SeasonsReport in 8.02 seconds
Oct 31 07:44:38 raspberrypi weewx[427] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 7.24 seconds
Oct 31 07:44:38 raspberrypi weewx[427] INFO weewx.reportengine: Copied 0 files to /var/weewx/reports
Ich habe auf einem RPI 3 die identische weewx.conf laufen und da funktioniert die ftp Übertragung alle 60 Sekunden.
Wie du schon festgestellt hast, wird wohl der Proz nicht mehr hergeben.
Im Grunde kann ich damit leben. Die Daten von der Basisstation kommen ja zuverlässig am RPI-Zero an.
Dachte anfangs dass ich einen Fehler beim aufsetzen des RPIs gemacht habe.
Grüße
Robert
Benutzeravatar
Gyvate
Offline
Beiträge: 2479
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 375 mal
Kontaktdaten:

Re: Neues Wetterstation für weewx

#47

Beitrag von Gyvate »

wie gesagt, dann ist der RPi-zero zu schwach. :roll:

Aber, mit der RAM-Disk entlastest Du jetzt Deine microSD-Karte und vergrößerst damit ihre Lebenserwartung, da ja hier dauernd auf die Karte geschrieben wurde. 8-)
Denn ich glaube eher nicht, dass Du eine SLC industrial microSD im Einsatz hast. Dann wäre es egal.
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
Benutzeravatar
Gyvate
Offline
Beiträge: 2479
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 375 mal
Kontaktdaten:

Re: Neues Wetterstation für weewx

#48

Beitrag von Gyvate »

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.
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
nixda
Offline
Beiträge: 5
Registriert: 25 Okt 2021, 16:58

Re: Neues Wetterstation für weewx

#49

Beitrag von nixda »

Gyvate hat geschrieben: 02 Nov 2021, 02:43 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

[/code]
Sorry, ich komme mit der Anleitung nicht klar. Gehöre nicht zu den Nutzern welche Microsoft-Office-Produkte auf dem Rechner haben. Bei OpenOffice ist schon die erste Hürde zu nehmen. Keine Ahnung welche Parameter man einstellen muß um erfolgreich diese csv Datei einzulesen. Bilder mit den oben beschriebenen Einstellungen wären hilfreich gewesen.

Tastenkombinationen, wie (CTRL-C) sind zwar ein nettes Gimmig, nur helfen sie nicht wirklich weiter. Wer die Vorgehensweise nicht versteht, braucht auch keinen Kurs um auf seine Maus zu verzichten können. Was ist eigentlich unter dem Zeitstempel zu verstehen? Time vielleicht oder doch Intervall? Wo soll die leere Zeile sein oder das führende Leerzeichen? Dies alles mag für jene kein Problem sein, welche dies alles schon mal durchexziert haben - für mich sind das spanische Dörfer, Trotzdem danke für den Ansatz!
Benutzeravatar
Gyvate
Offline
Beiträge: 2479
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 375 mal
Kontaktdaten:

Re: Neues Wetterstation für weewx

#50

Beitrag von Gyvate »

nixda hat geschrieben: 27 Dez 2021, 06:49 Sorry, ich komme mit der Anleitung nicht klar. Gehöre nicht zu den Nutzern welche Microsoft-Office-Produkte auf dem Rechner haben. Bei OpenOffice ist schon die erste Hürde zu nehmen. Keine Ahnung welche Parameter man einstellen muß um erfolgreich diese csv Datei einzulesen. Bilder mit den oben beschriebenen Einstellungen wären hilfreich gewesen.

Tastenkombinationen, wie (CTRL-C) sind zwar ein nettes Gimmig, nur helfen sie nicht wirklich weiter. Wer die Vorgehensweise nicht versteht, braucht auch keinen Kurs um auf seine Maus zu verzichten können. Was ist eigentlich unter dem Zeitstempel zu verstehen? Time vielleicht oder doch Intervall? Wo soll die leere Zeile sein oder das führende Leerzeichen? Dies alles mag für jene kein Problem sein, welche dies alles schon mal durchexziert haben - für mich sind das spanische Dörfer, Trotzdem danke für den Ansatz!
a) das Beispiel war eben für MS Excel - ich gehöre nicht zu den Personen, die OpenOffice auf ihrem Rechner haben. Daher kann ich dazu keine Anleitung geben. Für die Wahl seiner benutzten Programme ist jeder selbst verantwortlich. MS Excel ist eben weit verbreitet und keine Rarität. Aber für OpenOffice gibt es bestimmt Handbücher oder Anleitungen, wie man CSV-Dateien einlesen kann. Und wenn man kein MS Excel benutzt bzw. kennt, helfen wahrscheinlich auch keine Bilder ...
und da ich OpenOffice nicht benutze/kenne, kann ich dazu auch nichts sagen (könnte mich aber sicher, wenn nötig, darin einarbeiten - und sehr wahrschenlich ist die Tabellenverarbeitung dort sehr, sehr ähnlich wie in MS Excel)-

b) Zeitstempel ist Datum + Zeit, z.B. das, was als Dateieigenschaft bei jeder Datei unter Datum erzeugt, geändert etc. im Windows-Explorer zu sehen ist. Wenn es sich um "Intervall" gehandelt hätte, hätte ich "Intervall" geschrieben.
Der Zeitstempel wird halt dummerweise von WeatherSmartIP mit einem führenden Leerzeichen exportiert - ist eben so. Ist aber nicht hilfreich, da wee_import für das Datum keine führenden Leerzeichen verträgt. Bricht mit einer Fehlermeldung ab.

Was ist ein führendes Leerzeichen ? Ein Leerzeichen vor dem ersten sichtbaren Zeichen, Ein Leerzeichen ist z.B. der Zwischenraum zwischen zwei Wörtern. EDV-technisch aber trotzdem ein Zeichen:
Zeitstempel mit führendem Leerzeichen: " 02/26/19 10:11 AM"
Zeitstempel ohne führendes Leerzeichen: "02/26/19 10:11 AM"

Es ist auch keine leere Zeile, sondern eine leere Zelle (mit 2 "L") - in der Tabellenverarbeitung. Da hast Du wohl nicht genau hingeschaut beim Lesen. Wenn neben einer Spalte der Tabellenverarbeitung (die aus übereinanderliegenden Zellen besteht), eine neue, leere Spalte rechts daneben eingefügt wird, dann ist die Zelle rechts neben der gefüllten Zelle eine leere Zelle.

Am Ende des Tages geht es darum, das führende Leerzeichen zu entfernen. 8-) Meine Anleitung zeigt, wie das unter MS Excel geht. In der OpenOffice Community gibt es sicherlich Hinweise (Google oder andere Suchmaschine), wie so etwas unter OpenOffice geht. Sicher auch dazu, wie man die passende Komma-getrennte-Werte (CSV - comma separated values) Datei erzeugt, dass dort die passenden Trennzeichen ("," und nicht ";") stehen.
Ecowitt WS2320E,HP2553,HP3501,GW2001,GW1100, GW1000,WH2650,WN1910,WN1980, Meteobridge RPi4B-2GB/(16)32GB SLC 3165, Weewx 4.5.1/4.10.2, CumulusMX 3.28.4 b3282, Barani MeteoShield Pro, MetSpecRad02, Personal Weather Tablet(PWT) - http://meshka.eu
Antworten