Weewx und Ecowitt Stationen/Geräte

Für Geräte von froggit
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: 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 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
speerwerfer
Offline
Beiträge: 130
Registriert: 21 Dez 2020, 22:07
Wohnort: zwischen Osnabrück und Bremen
Hat sich bedankt: 6 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) 301 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: 2479
Registriert: 10 Aug 2021, 23:41
Wohnort: Saarbrücken
Hat sich bedankt: 12 mal
Danksagung erhalten: 375 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 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