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.
Weewx und Ecowitt Stationen/Geräte
- Gyvate
- 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
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
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
-
- 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
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.
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
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

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.
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
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
- Gyvate
- 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
steht als $current kurzzeitig für eine mögliche Verwendung im Report zur Verfügung und wird mit Beginn des neuen Loops verworfen1.) Was passiert nun mit dem Wert? Wird er verworfen? Steht er $current zur Verfügung?
genau - [StdCalibrate] [[Corrections]]2.) Mit Einträgen unter [StdCalculate] bzw. [StdCalibrate] kann man dann den wert von drehzahl noch einer vorhandenen Datenbankspalte zuweisen?
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
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