Weewx und Ecowitt Stationen/Geräte

Für Geräte von froggit
Benutzeravatar
Gyvate
Offline
Beiträge: 3722
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 14 mal
Danksagung erhalten: 534 mal
Kontaktdaten:

Re: Weewx und Ecowitt Stationen/Geräte

#21

Beitrag von Gyvate »

Nun, das Mapping ist ein Thema des jeweiligen Treibers.
Die datenbank-relevanten Infos finden sich unter https://weewx.com/docs/customizing.htm#archive_database
Für's Mapping muss man sich die jeweilige Treiber-Doku anschauen, da dieses ja auch in der jeweiligen Treiber-Stanza stattfindet:
z.B.
[GW1000]
[[field_map_extensions]]

manchmal (nicht im Ecowitt-Umfeld) heisst das Ganze auch
...
[[sensor_map]]
mal unter https://weewx.com/docs/usersguide.htm#weewxconf nachlesen
dort gibt es einige Beispiele für "Standard"-Treiber (i.d.R. mittlerweile [Ur-]Alt-Treiber - aber trotzdem lehrreich

Für den Ecowitt Gateway Treiber ist die Dokumentation eher kurz ausgefallen:
https://github.com/gjr80/weewx-gw1000/wiki/Field-map
Ein Beispiel für eine komplett neue (eigene) Field Map ist noch nicht fertiggestellt - aber Werners Beispiel sollte genügen.
Ecowitt Konsolen und Sensoren
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
speerwerfer
Offline
Beiträge: 138
Registriert: 21 Dez 2020, 22:07
Wohnort: zwischen Osnabrück und Bremen
Hat sich bedankt: 7 mal
Danksagung erhalten: 2 mal

Re: Weewx und Ecowitt Stationen/Geräte

#22

Beitrag von speerwerfer »

Es tut mir wirklich leid, aber ich will es verstehen :-)

Ich hab mir jetzt mal das Beispiel FileParser aus dem WeeWX Paket angesehen. Ich kenne mich mit Python nicht aus, aber ich glaube ich hab es zum Teil verstanden. Hier mal der Code, der da relevant sein dürfte.
weewx_fileparse_mapping.png
weewx_fileparse_mapping.png (111.68 KiB) 719 mal betrachtet

1. Hier bekommt der Treiber scheinbar den Teil der weewx.conf als Dictionary der den Treiber betrifft. Also in diesem Fall alles unterhalb von [FileParse].
2. Hier wird aus diesem Dict aus Punkt 1. ein darin eingebettetes Dict [[label_map]] zurückgegeben und in 3. gespeichert.
3. eigenes Dict, welches die label_map aus weewx.conf enthält.
4. Hier wird das Loop gebaut. Ebenfalls ein Dictionary. Als erstes Uhrzeit und Einheitensystem.
5. Dann werden die Werte aus der eingelesenen Datei dem Loop angehängt. Hier wird mit dem Key aus der Datei in der label_map gesucht. Gibt es einen Treffe, wird der Key gegen den Bezeichner aus der label_map getauscht - wenn nicht wird der key aus der Datei genommen und der Wert zugewiesen.

Soweit so gut. Jetzt mal folgendes Szenario: In der Datei die der File Parser überwachen soll steht eine Zeile

Code: Alles auswählen

drehzahl=3422
Es gibt in der label_map in der weewx.conf keinen Eintrag für drehzahl. Dann würde im Loop ein Eintrag drehzahl 3422 auftauchen. In der WeeWX Datenbank gibt es keine Spalte drehzahl in den Datenbanktabellen.
1.) Was passiert nun mit dem Wert? Wird er verworfen? Steht er $current zur Verfügung?
2.) Mit Einträgen unter [StdCalculate] bzw. [StdCalibrate] kann man dann den wert von drehzahl noch einer vorhandenen Datenbankspalte zuweisen?

Ich hoffe das ist soweit richtig und ich habs jetzt kapiert :-)

Martin
Benutzeravatar
Gyvate
Offline
Beiträge: 3722
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 14 mal
Danksagung erhalten: 534 mal
Kontaktdaten:

Re: Weewx und Ecowitt Stationen/Geräte

#23

Beitrag von Gyvate »

1.) Was passiert nun mit dem Wert? Wird er verworfen? Steht er $current zur Verfügung?
steht als $current kurzzeitig für eine mögliche Verwendung im Report zur Verfügung und wird mit Beginn des neuen Loops verworfen
2.) Mit Einträgen unter [StdCalculate] bzw. [StdCalibrate] kann man dann den wert von drehzahl noch einer vorhandenen Datenbankspalte zuweisen?
genau - [StdCalibrate] [[Corrections]]
Ecowitt Konsolen und Sensoren
WS2320E, HP2553, HP3501, WN1910, WN1980, WN1820, WS3800, WS3910, WH2810,
GW1000, GW1100, GW1200, GW2000, GW3000, WH2650,WS6210,
WS68, WS69, WS80, WS85, WS90,
WN30, WH31[EP], WH32[EP], WN32P, WN34L, WN34S,WN34D, WN35, WH41, WH45, WH46D, WH51, WH55, WH57, LDS01
Meteobridge Pro, MB RPi (2), MB VM, Weewx v4, CumulusMX v3, CumulusMX v4
Barani MeteoShield Pro (G2 + G3), MetSpec Rad02, SIAP SMarTCELLino,
Personal Weather Tablet(PWT), FOSHKplugin, Dracal BAR20
Weather Landing page: http://meshka.eu
Ecowitt WiKi Englisch: http://meshka.eu/Ecowitt/dokuwiki
Antworten