roe-dl / weewx-dwd Goto Github PK
View Code? Open in Web Editor NEWDarstellung von Wettersymbolen in WeeWX sowie Vorhersage- und Warndaten herunterladen und für WeeWX und Web-Darstellung aufbereiten
License: GNU General Public License v3.0
Darstellung von Wettersymbolen in WeeWX sowie Vorhersage- und Warndaten herunterladen und für WeeWX und Web-Darstellung aufbereiten
License: GNU General Public License v3.0
Hallo, nach kurzem Test (mein Internet ist gerade ausgefallen) sieht alles sehr gut aus. Bisher ist mir nur aufgefallen, das Zeile 1183
in dwd-mosmix
eine Spalte zu viel erzeugt. Bei Änderung auf idx>=15
dann die gewünschten 16 Spalten.
Ich teste bei funktionierendem Internet weiter.
Viele Grüsse
Henry
Kurze Frage nebenbei, würde das den Fehler beheben / erklären?
message repeated 15 times: [ ERROR user.belchertown: Error getting AQI from Aeris weather. The error was: string indices must be integers]
ERROR user.belchertown: Error getting AQI from Aeris weather. The error was: string indices must be integers
Originally posted by @c0by85 in #10 (reply in thread)
Regards, Michael
Kann evtl. noch eine Option mit eingebaut werden, das man vll. mit --hide-placemark
o.ä., den Ortsnamen / Placemark beim Wetterbericht ausblenden kann? Aktuelle kommentiere ich immer folgende Zeile aus.
s += '<p itemscope itemtype="https://schema.org/Place"><strong itemprop="name">%s</strong></p>\n' % placemark['description']
Traceback (most recent call last):
File "/usr/local/bin/dwd-mosmix", line 2571, in
lat = float(loc[0])
ValueError: could not convert string to float: 'Döbeln'
what can i do to get it right
Wie angefragt, hier das Issue für den Bug.
dwd-mosmix --weewx --hide-placemark --belchertown --html --json
--open-meteo=icon_d2 "51.x,14.x" --hourly --daily
Using configuration file /etc/weewx/weewx.conf
Traceback (most recent call last):
File "dwd-mosmix", line 2448, in <module>
dwd.forecast_all(mmos,output,options.dry_run,lang=options.lang)
File "dwd-mosmix", line 2073, in forecast_all
self.forecast_placemark(placemark, mos['ForecastTimeSteps'], issue,
output, dryrun, lang)
File "dwd-mosmix", line 2022, in forecast_placemark
recs3hr =
self.calculate_3hr_forecast(placemark,timesteps,daynights,lang=lang)
File "dwd-mosmix", line 1806, in calculate_3hr_forecast
if placemark['Forecast']['ww3'][idx] is not None:
KeyError: 'ww3'
dwd-mosmix --weewx --hide-placemark --html --json --open-meteo=gfs "51.x,14.x" --hourly --daily
Using configuration file /etc/weewx/weewx.conf
Traceback (most recent call last):
File "dwd-mosmix", line 2448, in <module>
dwd.forecast_all(mmos,output,options.dry_run,lang=options.lang)
File "dwd-mosmix", line 2073, in forecast_all
self.forecast_placemark(placemark, mos['ForecastTimeSteps'], issue, output, dryrun, lang)
File "dwd-mosmix", line 2022, in forecast_placemark
recs3hr = self.calculate_3hr_forecast(placemark,timesteps,daynights,lang=lang)
File "dwd-mosmix", line 1806, in calculate_3hr_forecast
if placemark['Forecast']['ww3'][idx] is not None:
KeyError: 'ww3'
Originally posted by hoetzgit January 5, 2023
@roe-dl
Hallo,
ich wünsche noch ein gesundes neues Jahr.
Nun habe ich auch den Service installiert, eine schöne Sache. Ich füge hier mal meine Rückmeldungen ein. Die Angaben sind sehr spärlich, da ich nicht genau weiß, welche Informationen für die Analyse notwendig sind. Gerne kann ich diese nachträglich liefern.
Beispiele Log Meldungen:
Jan 5 10:48:08 weewx weewx[3008558] ERROR user.DWD: thread 'DWD-CDC-05397': other table KeyError (1672909200, 'unix_epoch', 'group_time')
Jan 5 11:07:11 weewx weewx[3015695] ERROR user.DWD: thread 'DWD-POI-10688': TypeError - tuple indices must be integers or slices, not str
Bei der CDC Abfrage werden folgende Werte gebildet:
cdc_Altimeter = 30.125972518674676
cdc_Barometer = 30.15589163272085
alle anderen cdc_xxx
/poi_xxx
Werte scheinen plausibel.
Meine Konfiguration
[DeutscherWetterdienst]
path = /home/weewx/skins/weewx-wdc/dwd
log_success = False
log_failure = True
[[warning]]
icons = ../dwd/warn_icons
states = Bayern
[[[counties]]]
Kreis Neustadt a.d. Waldnaab = NEW
[[[cities]]]
Mitgliedsgemeinde in Verwaltungsgemeinschaft Weiherhammer = WEIHERHAMMER
[[forecast]]
icon_set = dwd
icons = ../dwd/weather_icons
orientation = h, v
[[Belchertown]]
section = Weiherhammer
warnings = WEIHERHAMMER
forecast = 10688
include_advance_warnings = 14400
aqi_source = uba509
compass_lang = de
[[BBK]]
icons = ""
logos = ""
log_success = True
log_failure = True
[[[counties]]]
090000000000 = BY
093740000000 = NEW
093630000000 = WEN
[[POI]]
[[[stations]]]
[[[[10688]]]]
prefix = poi_
icon_set = dwd
log_success = True
log_failure = True
[[CDC]]
[[[stations]]]
[[[[05397]]]]
prefix = cdc_
observations = air,wind,gust,precipitation,solar
icon_set = dwd
log_success = True
log_failure = True
Viele Grüße
Henry
Ich erhalte die Wettervorhersage über mosmix von DWD und Open-Meteo.
Im Webbrowser am PC wird die Tabelle entsprechend dargestellt.
Auf dem iPhone (egal ob mit Safari oder FireFox) wird die Tabelle nicht dargestellt obwohl die Orientierung für beide Richtungen (h, v) angegeben ist.
[WeatherServices] path = /etc/weewx/skins/Belchertown/dwd [[current]] safe = True [[forecast]] icons = ../images orientation = h, v
Was mache ich falsch? Oder habe ich etwas missverstanden?
weewx kann aus Wetterdaten abgeleitete Größen berechnen wie z.B. windchill. Die berechneten Daten werden in der weewx-sqlite-Datenbank gespeichert (und nicht dynamisch bei Bedarf berechnet).
Daher meine Anregung: Bitte in die forecast-sqlite-Datenbank auch die "berechenbaren" Größen mit aufnehmen, konkret wäre das vermutlich nur windchill. Die Formeln dafür sind in bin/weewx/wxformulas.py. Ich hatte versucht, in skin.conf die Berechnung durchzuführen, aber Python-Routinen kann man dort nicht aufrufen.
successfully downloaded https://api.open-meteo.com/v1/gem?latitude=48.22&longitude=-89.19&hourly=temperature_2m,relativehumidity_2m,dewpoint_2m,pressure_msl,cloudcover,cloudcover_low,cloudcover_mid,cloudcover_high,windspeed_10m,winddirection_10m,windgusts_10m,weathercode&timeformat=unixtime
what to output: ['belchertown']
start loop over placemarks
process placemark id "openmeteo-48.22--89.19-gem" name "48.22 -89.19"
...
belchertown
geo file '/home/weewx/skins/Belchertown/dwd/geo-openmeteo-48.22--89.19-gem.json' succuessfully loaded
now 19:29:38 timestep 20:00:00
Traceback (most recent call last):
File "/usr/local/bin/dwd-mosmix", line 2452, in
dwd.forecast_all(mmos,output,options.dry_run,lang=options.lang)
File "/usr/local/bin/dwd-mosmix", line 2077, in forecast_all
self.forecast_placemark(placemark, mos['ForecastTimeSteps'], issue, output, dryrun, lang)
File "/usr/local/bin/dwd-mosmix", line 2053, in forecast_placemark
self.belchertown(placemark,days,recs3hr,timesteps,daynights,issue,dryrun)
File "/usr/local/bin/dwd-mosmix", line 1334, in belchertown
'windDir':compass(nround(placemark['Forecast']['DD'][idx]),self.belchertown_compasslang,False),
AttributeError: 'DwdMosmix' object has no attribute 'belchertown_compasslang'
weewx.conf (snippet)
################################################################################
[DeutscherWetterdienst]
[WeatherServices]
path='/home/weewx/skins/Belchertown/dwd'
[[current]]
[[[ThisStation]]]
# actual readings out of the forecast for the location of this station
debug = 3
provider = Open-Meteo
model = gem_regional
prefix = om
[[forecast]]
icons='../images'
orientation=h,v
show_obs_symbols = True # optional
show_obs_description = False # optional
show_placemark = True # optional
##############################################################################
Any tips or pointers?
Hallo, beim Aufruf mit aktuellem Code erscheint folgende Meldung.
Aufruf:
/usr/local/bin/weewx-DWD/dwd-mosmix --config=/home/weewx/weewx.conf --verbose --belchertown 10688
Ausgabe:
Using configuration file /home/weewx/weewx.conf
-- configuration data ----------------------------------
log success: True
log failure: True
target path: /home/weewx/skins/Belchertown/dwd
horiz. tab: True
vertical tab: True
icon set: 4
station location: lat 49.63227 lon 12.056186 alt 394.0
--------------------------------------------------------
successfully downloaded https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/10688/kml/MOSMIX_L_LATEST_10688.kmz
-- MOSMIX_L_2022022403_10688.kml --
processing KML file
KML file processed, 1 placemarks found
what to output: ['belchertown']
start loop over placemarks
process placemark id "10688" name "WEIDEN"
calculate daily forecast
calculate 3hr forecast
<ephem.Observer date='1970/1/1 00:00:14' epoch='1970/1/1 00:00:14' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:13' epoch='1970/1/1 00:00:13' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:23' epoch='1970/1/1 00:00:23' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:32' epoch='1970/1/1 00:00:32' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:37' epoch='1970/1/1 00:00:37' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:42' epoch='1970/1/1 00:00:42' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:45' epoch='1970/1/1 00:00:45' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:43' epoch='1970/1/1 00:00:43' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:34' epoch='1970/1/1 00:00:34' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:34' epoch='1970/1/1 00:00:34' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:33' epoch='1970/1/1 00:00:33' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:31' epoch='1970/1/1 00:00:31' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:28' epoch='1970/1/1 00:00:28' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:21' epoch='1970/1/1 00:00:21' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:27' epoch='1970/1/1 00:00:27' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:13' epoch='1970/1/1 00:00:13' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:16' epoch='1970/1/1 00:00:16' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:21' epoch='1970/1/1 00:00:21' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:25' epoch='1970/1/1 00:00:25' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:24' epoch='1970/1/1 00:00:24' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:19' epoch='1970/1/1 00:00:19' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:13' epoch='1970/1/1 00:00:13' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:13' epoch='1970/1/1 00:00:13' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:12' epoch='1970/1/1 00:00:12' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:14' epoch='1970/1/1 00:00:14' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:20' epoch='1970/1/1 00:00:20' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:26' epoch='1970/1/1 00:00:26' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:29' epoch='1970/1/1 00:00:29' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:25' epoch='1970/1/1 00:00:25' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:16' epoch='1970/1/1 00:00:16' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:10' epoch='1970/1/1 00:00:10' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:15' epoch='1970/1/1 00:00:15' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:24' epoch='1970/1/1 00:00:24' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:22' epoch='1970/1/1 00:00:22' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:17' epoch='1970/1/1 00:00:17' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:12' epoch='1970/1/1 00:00:12' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:12' epoch='1970/1/1 00:00:12' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:19' epoch='1970/1/1 00:00:19' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:21' epoch='1970/1/1 00:00:21' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:21' epoch='1970/1/1 00:00:21' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:17' epoch='1970/1/1 00:00:17' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:10' epoch='1970/1/1 00:00:10' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:08' epoch='1970/1/1 00:00:08' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:08' epoch='1970/1/1 00:00:08' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:16' epoch='1970/1/1 00:00:16' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:20' epoch='1970/1/1 00:00:20' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:14' epoch='1970/1/1 00:00:14' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:08' epoch='1970/1/1 00:00:08' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:08' epoch='1970/1/1 00:00:08' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:14' epoch='1970/1/1 00:00:14' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:09' epoch='1970/1/1 00:00:09' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:09' epoch='1970/1/1 00:00:09' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:19' epoch='1970/1/1 00:00:19' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:14' epoch='1970/1/1 00:00:14' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:09' epoch='1970/1/1 00:00:09' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:09' epoch='1970/1/1 00:00:09' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:16' epoch='1970/1/1 00:00:16' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:18' epoch='1970/1/1 00:00:18' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:16' epoch='1970/1/1 00:00:16' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:13' epoch='1970/1/1 00:00:13' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:10' epoch='1970/1/1 00:00:10' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:08' epoch='1970/1/1 00:00:08' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:09' epoch='1970/1/1 00:00:09' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
<ephem.Observer date='1970/1/1 00:00:11' epoch='1970/1/1 00:00:11' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
belchertown
now 09:51:49 timestep 10:00:00
<ephem.Observer date='2022/2/24 09:00:00' epoch='2022/2/24 09:00:00' lon='12:10:48.0' lat='49:40:12.0' elevation=438.00000000000006m horizon=0:00:00.0 temp=15.0C pressure=1010.0mBar>
Traceback (most recent call last):
File "/usr/local/bin/weewx-DWD/dwd-mosmix", line 1720, in <module>
dwd.forecast_all(mmos,output,options.dry_run,lang=options.lang)
File "/usr/local/bin/weewx-DWD/dwd-mosmix", line 1580, in forecast_all
self.forecast_placemark(placemark, mos['ForecastTimeSteps'], issue, output, dryrun, lang)
File "/usr/local/bin/weewx-DWD/dwd-mosmix", line 1561, in forecast_placemark
self.belchertown(placemark,days,recs3hr,timesteps,issue,dryrun)
File "/usr/local/bin/weewx-DWD/dwd-mosmix", line 1132, in belchertown
'distanceKM':nround(rel_dist.km,1),
AttributeError: 'NoneType' object has no attribute 'km'
aktuelle Konfiguration:
[DeutscherWetterdienst]
path = '/home/weewx/skins/Belchertown/dwd'
[[warning]]
icons = '../dwd/warn_icons_50x50'
states = 'Bayern'
`[[[counties]]]`
'Kreis Neustadt a.d. Waldnaab' = 'NEW'
[[[cities]]]
'Mitgliedsgemeinde in Verwaltungsgemeinschaft Weiherhammer' = 'WEIHERHAMMER'
[[forecast]]
icons = '../images'
[[Belchertown]]
section = 'Belchertown'
warnings = 'WEIHERHAMMER'
forecast = 10688
Hallo, ich glaube es fehlt der entsprechende Wert für den Niederschlag in der forecast.json
für die 3H Ansicht.
Fehlerlog:
Using configuration file /home/RasPi Username/weewx-data/weewx.conf
INFO successfully downloaded https://opendata.dwd.de/weather/local_forecasts/mos/MOSMIX_L/single_stations/XXXXX/kml/MOSMIX_L_LATEST_XXXXX.kmz
Traceback (most recent call last):
File "/usr/local/bin/dwd-mosmix", line 2949, in
dwd.forecast_all(mmos,output,options.dry_run,lang=options.lang)
File "/usr/local/bin/dwd-mosmix", line 2512, in forecast_all
self.forecast_placemark(placemark, mos['ForecastTimeSteps'], issue, output, dryrun, lang)
File "/usr/local/bin/dwd-mosmix", line 2483, in forecast_placemark
self.write_database(placemark,timesteps,issue)
File "/usr/local/bin/dwd-mosmix", line 2390, in write_database
self.dbm_open(placemark['id'],columns)
File "/usr/local/bin/dwd-mosmix", line 2543, in dbm_open
self.connection = sqlite3.connect(fn)
^^^^^^^^^^^^^^^^^^^
sqlite3.OperationalError: unable to open database file
Die Ergänzungen in dwd.py und extensions.py wurden gemäss Anleitung vorgenommen und XXXXX durch Mosmix ID ersetzt.
Wie kann ich die Datenbank 'dwd-forecast-XXXXX.sdb' erstellen?
sudo weectl extension install master.zip
Using configuration file /etc/weewx/weewx.conf
Install extension 'master.zip' (y/n)? y
Extracting from zip archive master.zip
Traceback (most recent call last):
File "/usr/share/weewx/weectl.py", line 74, in
main()
File "/usr/share/weewx/weectl.py", line 66, in main
namespace.func(namespace)
File "/usr/share/weewx/weectllib/init.py", line 121, in dispatch
namespace.action_func(config_dict, namespace)
File "/usr/share/weewx/weectllib/extension_cmd.py", line 116, in install_extension
ext.install_extension(namespace.source, no_confirm=namespace.yes)
File "/usr/share/weewx/weecfg/extension.py", line 138, in install_extension
extension_name = self._install_from_file(extension_path, filetype)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/weewx/weecfg/extension.py", line 168, in _install_from_file
extension_name = self.install_from_dir(extension_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/weewx/weecfg/extension.py", line 179, in install_from_dir
installer_path, installer = weecfg.get_extension_installer(extension_dir)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/share/weewx/weecfg/init.py", line 714, in get_extension_installer
import('install')
File "/tmp/tmp17882ax5/weewx-DWD-master/install.py", line 67
}
^
SyntaxError: closing parenthesis '}' does not match opening parenthesis '(' on line 29
Ungefähr zwischen 11:00Uhr und 12:00Uhr ist die Variable $current.biowetterIssued (regelmäßig) undefiniert.
Ggf. als Hinweis: In der Fußnote der Biowetter-Tabelle liegt die Vorhersage-Zeit einige Minuten VOR der Herausgabe-Zeit, z.B.
herausgegeben vom [DWD](https://www.dwd.de/) am 03.08.2024 11:00 | Vorhersage erstellt am 03.08.2024 10:58
Bei der Pollen-Tabelle tritt dieses Problem nicht auf.
Hallo, ich probiere gerade etwas mit dwd-mosmix
und glaube, dass in der Funktion forecast_placemark
die Definition der Variable days
fehlt. Es kommt zu einer entsprechenden Fehlermeldung bei Verwendung des Parameters --hourly
. Bin aber kein Python Experte, es kommt jedoch nach der Definition keine Fehlermeldung mehr.
Viele Grüße
Henry
Hallo, bei mir wird seit dem Nachmittag keine Aktualisierung mehr durchgeführt.
Im Logfile habe ich folgendes gefunden:
https://www.dwd.de/DWD/warnungen/warnapp/json/warnings.json Auflösen des Hostnamens www.dwd.de (www.dwd.de)… 141.38.3.62 Verbindungsaufbau zu www.dwd.de (www.dwd.de)|141.38.3.62|:443 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 404 Not Found 2023-06-23 00:17:22 FEHLER 404: Not Found.
Wie kann der Fehler behoben werden?
Danke!
Originally posted by timi35 July 18, 2023
Hallo,
ich bin Anfänger bei der Nutzung von weewx bzw. dem DWD Plugin.
Ich bin nach Aneleitung vorgegangen erhalte abe beim Einbinden von:
[Engine]
[[Services]]
data_services = user.weatherservices.DWDservice
Folgenden Fehler:
Jul 17 15:43:28 raspberrypi python3[8254]: weewx[8254] CRITICAL main: **** obj = weeutil.weeutil.get_object(svc)(self, config_dict)
Jul 17 15:43:28 raspberrypi python3[8254]: weewx[8254] CRITICAL main: **** File "/usr/share/weewx/user/weatherservices.py", line 1532, in init
Jul 17 15:43:28 raspberrypi python3[8254]: weewx[8254] CRITICAL main: **** self._create_poi_thread(location, station, location_dict)
Jul 17 15:43:28 raspberrypi python3[8254]: weewx[8254] CRITICAL main: **** File "/usr/share/weewx/user/weatherservices.py", line 1563, in _create_poi_th>
Jul 17 15:43:28 raspberrypi python3[8254]: weewx[8254] CRITICAL main: **** log_success=weeutil.weeutil.to_bool(station_dict.get('log_success',False)) >
Jul 17 15:43:28 raspberrypi python3[8254]: weewx[8254] CRITICAL main: **** AttributeError: 'DWDservice' object has no attribute 'verbose'
Jul 17 15:43:28 raspberrypi python3[8254]: weewx[8254] CRITICAL main: **** Exiting.
Jul 17 15:43:28 raspberrypi systemd[1]: weewx.service: Main process exited, code=exited, status=1/FAILURE
Jul 17 15:43:28 raspberrypi systemd[1]: weewx.service: Failed with result 'exit-code'.
Jul 17 15:43:28 raspberrypi systemd[1]: weewx.service: Consumed 2.284s CPU time.
Was habe ich falsch gemacht? Was habe ich evtl. übersehen?
Gibt es irgendwo eine Anleitung für Anfänger? Die bei Github scheint etwas zu "springen", was es für Anfänger nicht gerade einfach macht.
Vielen Dank!
VG Tim
Hallo,
ich habe eine Anpassung in der html2ent.ansi
vorgenommen. Der DWD hatte heute in seinen Vorhersagetexten eine konkrete Temperatur, dadurch auch das °
(Grad) Symbol.
In der html2ent.ansi
habe ich deshalb eine entsprechende zusätzliche Konvertierung eingebaut.
Der WeeWX cheetahgenerator lieferte bspw. folgende Meldung:
"UnicodeDecodeError: 'utf-8' codec can't decode byte 0xb0 in position 491: invalid start byte
"
Templates haben bei mir "#encoding UTF-8
"
Du kannst ja mal prüfen, ob dies allgemein relevant sein könnte und nicht nur auf meine Installation beschränkt ist.
Offenbar unterschiedliche Schreibweisen
Hallo,
wenn ich für die Luftqualität eine UBA Station verwende, kann es zu folgendem Verhalten kommen. Voraussetzung für meine Rückmeldung ist hier, dass ich dwd-mosmix
Zeile 1765
richtig interpretiert habe und immer das letzte Element aus data
für die jeweilige Station im UBA JSON benutzt wird.
Es ist tatsächlich so, dass der data
Teil nicht (immer) aufsteigend nach Messdatum sortiert ist. Unten ein konkretes Beispiel von heute. Es werden dann durch dwd-mosmix
"falsche" Ergebnisse erzeugt.
Abfrage:
https://www.umweltbundesamt.de/api/air_data/v2/airquality/json?date_from=2023-02-06&date_to=2023-02-07&lang=de&station=509
Result (erst aufsteigend, im unteren Teil jedoch 2 Elemente mit vorhergehendem Zeitstempel):
{
"request": {
"station": "509",
"date_from": "2023-02-06",
"date_to": "2023-02-07",
"lang": "de",
"index": "id",
"time_from": "12:00:00",
"datetime_from": "2023-02-06 11:00:00",
"time_to": "12:00:00",
"datetime_to": "2023-02-07 11:00:00"
},
"data": {
"509": {
"2023-02-06 11:00:00": [
"2023-02-06 12:00:00",
1,
1,
[
3,
5,
0,
"0.083"
],
[
5,
28,
1,
"1.368"
]
],
"2023-02-06 12:00:00": [
"2023-02-06 13:00:00",
1,
1,
[
3,
9,
0,
"0.150"
],
[
5,
29,
1,
"1.421"
]
],
"2023-02-06 13:00:00": [
"2023-02-06 14:00:00",
1,
1,
[
3,
20,
0,
"0.333"
],
[
5,
23,
1,
"1.105"
]
],
"2023-02-06 14:00:00": [
"2023-02-06 15:00:00",
1,
1,
[
3,
15,
0,
"0.250"
],
[
5,
31,
1,
"1.526"
]
],
"2023-02-06 15:00:00": [
"2023-02-06 16:00:00",
1,
1,
[
3,
11,
0,
"0.183"
],
[
5,
38,
1,
"1.895"
]
],
"2023-02-06 16:00:00": [
"2023-02-06 17:00:00",
2,
1,
[
3,
6,
0,
"0.100"
],
[
5,
44,
2,
"2.051"
]
],
"2023-02-06 17:00:00": [
"2023-02-06 18:00:00",
1,
1,
[
3,
16,
0,
"0.267"
],
[
5,
39,
1,
"1.947"
]
],
"2023-02-06 18:00:00": [
"2023-02-06 19:00:00",
2,
1,
[
3,
15,
0,
"0.250"
],
[
5,
43,
2,
"2.034"
]
],
"2023-02-06 19:00:00": [
"2023-02-06 20:00:00",
1,
1,
[
3,
19,
0,
"0.317"
],
[
5,
33,
1,
"1.632"
]
],
"2023-02-06 20:00:00": [
"2023-02-06 21:00:00",
1,
1,
[
3,
20,
0,
"0.333"
],
[
5,
31,
1,
"1.526"
]
],
"2023-02-06 21:00:00": [
"2023-02-06 22:00:00",
1,
1,
[
3,
10,
0,
"0.167"
],
[
5,
39,
1,
"1.947"
]
],
"2023-02-06 22:00:00": [
"2023-02-06 23:00:00",
1,
1,
[
3,
13,
0,
"0.217"
],
[
5,
36,
1,
"1.789"
]
],
"2023-02-06 23:00:00": [
"2023-02-06 24:00:00",
1,
1,
[
3,
6,
0,
"0.100"
],
[
5,
38,
1,
"1.895"
]
],
"2023-02-07 00:00:00": [
"2023-02-07 01:00:00",
1,
1,
[
3,
24,
0,
"0.400"
],
[
5,
23,
1,
"1.105"
]
],
"2023-02-07 01:00:00": [
"2023-02-07 02:00:00",
1,
1,
[
3,
19,
0,
"0.317"
],
[
5,
27,
1,
"1.316"
]
],
"2023-02-07 02:00:00": [
"2023-02-07 03:00:00",
1,
1,
[
3,
15,
0,
"0.250"
],
[
5,
29,
1,
"1.421"
]
],
"2023-02-07 03:00:00": [
"2023-02-07 04:00:00",
1,
1,
[
3,
13,
0,
"0.217"
],
[
5,
29,
1,
"1.421"
]
],
"2023-02-07 04:00:00": [
"2023-02-07 05:00:00",
1,
1,
[
3,
3,
0,
"0.050"
],
[
5,
39,
1,
"1.947"
]
],
"2023-02-07 05:00:00": [
"2023-02-07 06:00:00",
2,
1,
[
3,
1,
0,
"0.017"
],
[
5,
41,
2,
"2.000"
]
],
"2023-02-07 08:00:00": [
"2023-02-07 09:00:00",
2,
1,
[
3,
4,
0,
"0.067"
],
[
5,
41,
2,
"2.000"
]
],
"2023-02-07 09:00:00": [
"2023-02-07 10:00:00",
1,
1,
[
3,
15,
0,
"0.250"
],
[
5,
30,
1,
"1.474"
]
],
"2023-02-07 10:00:00": [
"2023-02-07 11:00:00",
1,
1,
[
3,
14,
0,
"0.233"
],
[
5,
26,
1,
"1.263"
]
],
"2023-02-07 06:00:00": [
"2023-02-07 07:00:00",
2,
1,
[
5,
45,
2,
"2.068"
]
],
"2023-02-07 07:00:00": [
"2023-02-07 08:00:00",
2,
1,
[
5,
51,
2,
"2.169"
]
]
}
},
"indices": {
"data": {
"station id": {
"date start (CET)": [
"date end (CET)"
],
"date start": {
"1": "total index",
"2": "data incomplete",
"3": [
"component id",
"value",
"index",
"y-value"
]
}
}
}
},
"count": 1
}
Habe gerade entdeckt, daß es eine Reihe neuer Features in weewx-DWD gibt. Leider ist mir unklar, wohin die Python-Skripte installiert werden sollen. Wenn ich weewx-5.0 richtig verstanden habe, liegen die User-Erweiterungen unter /etc/weewx/bin/user und nicht mehr unter /usr/share/weewx/user (letztere Directory gibts auch nicht mehr). Daher habe ich z.B. weatherservicesradar.py nach /etc/weewx/bin/user kopiert. Rufe ich dieses Skript direkt manuell auf, gibts die Fehlermeldung
python3 ./weatherservicesradar.py --help Traceback (most recent call last): File "/etc/weewx/bin/user/./weatherservicesradar.py", line 130, in <module> from user.weatherservicesutil import wget, BaseThread ModuleNotFoundError: No module named 'user'
Im src findet sich die Zeile
sys.path.append('/usr/share/weewx')
die auf die weewx-Installation an sich verweist. Wenn ich hier /etc/weewx/bin (bewußt ohne user) eintrage, wird (logischerweise) weewx nicht gefunden.
Wohin sollen user-Erweiterungen ab weewx-5.0 installiert werden?
Als workaround habe ich /usr/shared/weewx/user als symbolic link verfügbar gemacht.
Beim Aufruf von dwd-mosmix
dwd-mosmix --hourly --daily --icon-set=dwd --weewx K2714
gibts immer Fehlermeldungen bzgl. Belchertown, das ich nicht nutze (und somit auch nicht in weew.conf konfiguriert habe). Mit der alten Version von dwd_mosmix tuts.
In weewx.conf ist DWD wie folgt konfiguriert (leider wird Code nicht als Code übernommen:-():
`# settings for DWD
[DeutscherWetterdienst]
path = /etc/weewx/skins/Seasons_DWD/dwd
[[warning]]
icons = icons/warn
states = Baden-Württemberg
[[[counties]]]
Kreis Ludwigsburg = KL
[[[cities]]]
Stadt Ludwigsburg = SL
[[forecast]]
icons = icons/wetter
orientation = h
`
Die Fehlermeldung lautet:
Using configuration file /etc/weewx/weewx.conf
ERROR Belchertown config KeyError WeatherServices
Ich habe dann versucht (wie im README beschrieben), VOR den forecast-Eintrag einen WeatherServices-Eintrag zu machen:
`[WeatherServices]
Verzeichnis, in das die Dateien gespeichert werden sollen
path=/etc/weewx/skins/Seasons_DWD/dwd
# Stuttgart-Echterdingen
[[current]]
[[[04931]]] n
provider = DWD
model = CDC
prefix = observation_type_prefix_for_station
# equipment of the weather station (optional)
observations = air,wind,gust,precipitation,solar
`
so daß forecast dann unterhalb von WeatherServices steht. Gibt eine ähnliche Fehlermeldung, dann mit KeyError section.
Was mache ich falsch?
Mein Ziel ist eigentlich nur, erstmal das neue dwd_mosmix mit den alten Settings ans Laufen zu kriegen. Danach will ich die Option --database dazunehmen. Die Erwartung wäre, daß in der Datenbank Vorhersagedaten für K2714 abgelegt werden. D.h. ich will eigentlich gar keine Daten vom Stuttgarter Flughafen abrufen.
Aktuell nutzt die von biowetter erzeugte Tabelle Style-Elemente von Belcherton. Daher sollte man den Style-File dwd.css wie folgt ergänzen:
.records-header {
text-align:center;
background:#D7D7D7;
color:#000;
font-weight:400;
}
.table-striped {
tr:nth-child(even) {background-color: #f2f2f2;}
}
Ggf. die Doku hier entsprechend erweitern.
Hoffentlich sitzt der Fehler nicht wieder vor dem Bildschirm:-) - aber ich kriege keine Pollen-Daten. Im weewx.conf steht (aber richtig eingerückt):
[WeatherServices]
path = /etc/weewx/skins/Seasons_DWD/dwd
[[download]]
[[[Schilder]]]
provider = DWD
model = warning-map-with-symbols
area = SU
[[forecast]]
icons = icons/wetter
icon_set = dwd
orientation = h
[[[K2714]]]
provider = DWD
model = MOSMIX
[[[Baden-Württemberg]]]
provider = DWD
model = text
area = DWSG
[[[Health]]]
provider = DWD
model = biowetter
area = 'I'
file = 'I'
prefix = ''
[[[Pollen]]]
provider = DWD
model = pollen
area = 110
file ='110'
prefix = ''
Habe auch mal versucht, area als String mit quotes anzugeben - ohne Erfolg. Es wird keine Datei in der Subdirectory dwd/health-pollen-110.inc erzeugt.
Wenn ich im Skin
<p class="widget_forecast">Pollen von $current.pollenIssued.</p>
ausgebe, gibts eine passende Fehlermeldung im HTML
Pollen von ?'pollenIssued'?.
biowetter hingegen funktioniert mit den analogen Einstellungen problemlos - da wird der passende Zeitstempel ausgegeben, und die erwartete Datei im Ordner dwd angelegt [abenr mit dem Layout der erzeugten biowetter-Tabelle muß ich noch was experimentieren].
Ich habe gerade "nur" diese Datei upgedatet und ins richtige Verzeichnis geschoben.
Nach einem Neustart von weewx bekomme ich folgenden Fehler:
Aug 6 11:06:27 WXvm weewxd[577558]: INFO user.gw1000: GatewayCollector thread has been terminated Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: Caught unrecoverable exception: Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** invalid character '·' (U+00B7) (weatherserviceshealth.py, line 127) Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** Traceback (most recent call last): Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "/usr/share/weewx/weewxd.py", line 121, in main Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** engine = weewx.engine.StdEngine(config_dict) Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "/usr/share/weewx/weewx/engine.py", line 89, in __init__ Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** self.loadServices(config_dict) Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "/usr/share/weewx/weewx/engine.py", line 157, in loadServices Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** obj = weeutil.weeutil.get_object(svc)(self, config_dict) Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** module = importlib.import_module(module_name) Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** return _bootstrap._gcd_import(name[level:], package, level) Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 1050, in _gcd_import Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 1027, in _find_and_load Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 688, in _load_unlocked Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "<frozen importlib._bootstrap_external>", line 883, in exec_module Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "/etc/weewx/bin/user/weatherservices.py", line 257, in <module> Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** import user.weatherserviceshealth Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** File "/etc/weewx/bin/user/weatherserviceshealth.py", line 127 Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** <title>weewx-DWD/bin/user/weatherserviceshealth.py at master · roe-dl/weewx-DWD · GitHub</title> Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** ^ Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** SyntaxError: invalid character '·' (U+00B7) Aug 6 11:06:27 WXvm weewxd[577558]: CRITICAL __main__: **** Exiting. Aug 6 11:06:27 WXvm weewxd[577558]: Traceback (most recent call last): Aug 6 11:06:27 WXvm weewxd[577558]: File "/usr/share/weewx/weewxd.py", line 226, in <module> Aug 6 11:06:27 WXvm weewxd[577558]: main() Aug 6 11:06:27 WXvm weewxd[577558]: File "/usr/share/weewx/weewxd.py", line 121, in main Aug 6 11:06:27 WXvm weewxd[577558]: engine = weewx.engine.StdEngine(config_dict) Aug 6 11:06:27 WXvm weewxd[577558]: File "/usr/share/weewx/weewx/engine.py", line 89, in __init__ Aug 6 11:06:27 WXvm weewxd[577558]: self.loadServices(config_dict) Aug 6 11:06:27 WXvm weewxd[577558]: File "/usr/share/weewx/weewx/engine.py", line 157, in loadServices Aug 6 11:06:27 WXvm weewxd[577558]: obj = weeutil.weeutil.get_object(svc)(self, config_dict) Aug 6 11:06:27 WXvm weewxd[577558]: File "/usr/share/weewx/weeutil/weeutil.py", line 1404, in get_object Aug 6 11:06:27 WXvm weewxd[577558]: module = importlib.import_module(module_name) Aug 6 11:06:27 WXvm weewxd[577558]: File "/usr/lib/python3.10/importlib/__init__.py", line 126, in import_module Aug 6 11:06:27 WXvm weewxd[577558]: return _bootstrap._gcd_import(name[level:], package, level) Aug 6 11:06:27 WXvm weewxd[577558]: File "<frozen importlib._bootstrap>", line 1050, in _gcd_import Aug 6 11:06:27 WXvm weewxd[577558]: File "<frozen importlib._bootstrap>", line 1027, in _find_and_load Aug 6 11:06:27 WXvm weewxd[577558]: File "<frozen importlib._bootstrap>", line 1006, in _find_and_load_unlocked Aug 6 11:06:27 WXvm weewxd[577558]: File "<frozen importlib._bootstrap>", line 688, in _load_unlocked Aug 6 11:06:27 WXvm weewxd[577558]: File "<frozen importlib._bootstrap_external>", line 883, in exec_module Aug 6 11:06:27 WXvm weewxd[577558]: File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed Aug 6 11:06:27 WXvm weewxd[577558]: File "/etc/weewx/bin/user/weatherservices.py", line 257, in <module> Aug 6 11:06:27 WXvm weewxd[577558]: import user.weatherserviceshealth Aug 6 11:06:27 WXvm weewxd[577558]: File "/etc/weewx/bin/user/weatherserviceshealth.py", line 127 Aug 6 11:06:27 WXvm weewxd[577558]: <title>weewx-DWD/bin/user/weatherserviceshealth.py at master · roe-dl/weewx-DWD · GitHub</title> Aug 6 11:06:27 WXvm weewxd[577558]: ^ Aug 6 11:06:27 WXvm weewxd[577558]: SyntaxError: invalid character '·' (U+00B7) Aug 6 11:06:27 WXvm systemd[1]: weewx.service: Main process exited, code=exited, status=1/FAILURE
Ich schaue mal, ob ich den "invalid character" selber berichtigen kann ...
dwd-mosmix
dwd-warnings
Diese Module importieren 'configobj', was einen Fehler ergibt.
Ist die Erweiterung weewx-DWD mit WeeWX v5 kompatibel und lauffähig?
Originally posted by hoetzgit March 11, 2022
Hallo, ich probiere etwas mit dem "uba Mod", aber meine Python Kenntnisse reichen nicht.
Bei Aufruf:
/usr/local/bin/weewx-DWD/dwd-mosmix --config=/home/weewx/weewx.conf --print-uba=aqi --dry-run 509
kommt der JSON String immer zusätzlich mit der Ausgabe:
successfully downloaded https://www.umweltbundesamt.de/api/air_data/v2/airquality/json?date_from=2022-03-10&date_to=2022-03-11&lang=de&station=509
[
{
...
Da ich diese Ausgabe für meinen Zweck in diesem Moment nicht möchte, habe ich kein --verbose
angegeben und debug
mit 0
sowie log_success
überall mit False
konfiguriert. Zum Eingrenzen des "Problems" habe ich den Code in download_uba
testweise mit zwei prints so verändert:
...
if reply.status_code==200:
print('self.log_success is ', self.log_success)
print('self.verbose is ', self.verbose)
if self.log_success or self.verbose:
loginf('successfully downloaded %s' % reply.url)
...
Ausgabe mit beiden Werten False aber trotzdem successfully ...
:
self.log_success is False
self.verbose is False
successfully downloaded https://www.umweltbundesamt.de/api/air_data/v2/airquality/json?date_from=2022-03-10&date_to=2022-03-11&lang=de&station=509
[
{
...
Ändere ich aber zum Test mal so und setze die Variablen:
...
if reply.status_code==200:
self.log_success = False
self.verbose = False
print('self.log_success is ', self.log_success)
print('self.verbose is ', self.verbose)
if self.log_success or self.verbose:
loginf('successfully downloaded %s' % reply.url)
...
dann ist die Ausgabe wie erwartet ohne successfully ...
:
self.log_success is False
self.verbose is False
[
{
...
Kann es sein, dass z.B. diese Zuweisung:
self.log_success = forecast_dict.get('log_success',config_dict['DeutscherWetterdienst'].get('log_success',config_dict.get('log_success',False)))
keinen "echten" Boolean erzeugt?
Viele Grüße und ein schönes Wochenende
Henry
Ergänzung:
ist in der weewx.conf
log_success
nirgends definiert, ist die Ausgabe auch korrekt, da dann der default False
in der Zuweisung den Boolean offensichtlich korrekt setzt.
Eigentlich kein neues Problem, konnte ich aber bislang in wget_dwd selber mit sed-Pattern fixen. Jetzt erfolgt der Download (praktischerweise) direkt durch dwd-mosmix, und dann habe ich dieses Leerraumproblem wieder zurück:
Wenn ich die textuelle Wettervorhersage mittels
#include raw "dwd/VHDL50_DWSG_LATEST.html"
(oder auch ohne raw) einbinde, werden die Leerräume aus dem HTML-File (richtigerweise) mitgerendert. Die HTML-Datei beginnt aber z.B. mit einer Leerzeile und hat rund um die Überschrift im <strong> weitere Leerzeilen, so daß der Text unschön nach unten rutscht
`Leerzeile
<strong>
Nachts im Norden ...
</strong>
Leerzeile
Text
Leerzeile`
Auch das Visualisieren hier ist mühsam, da der Markdown (bei mir?) Code nicht umbricht, solange ich nur ein Linefeed benutze - das ist aber ein Github-Problem.
Hier im Screenshot sieht man die unschönen Leerzeilen:
Hauptursache wird sein, daß die Datei eine DOS-Datei mit aus Linux-Sicht falschem CR/LF ist. iconv/recode lösen leider nicht das Leerzeilen-Problem.
Was tun?
You have closed my last report, while you have "fixed" the error, but here is the new error:
Using configuration file /etc/weewx/weewx.conf
Install extension 'weewx-dwd.zip' (y/n)? y
Extracting from zip archive weewx-dwd.zip
Traceback (most recent call last):
File "/usr/share/weewx/weectl.py", line 74, in
main()
File "/usr/share/weewx/weectl.py", line 66, in main
namespace.func(namespace)
File "/usr/share/weewx/weectllib/init.py", line 121, in dispatch
namespace.action_func(config_dict, namespace)
File "/usr/share/weewx/weectllib/extension_cmd.py", line 116, in install_extension
ext.install_extension(namespace.source, no_confirm=namespace.yes)
File "/usr/share/weewx/weecfg/extension.py", line 138, in install_extension
extension_name = self._install_from_file(extension_path, filetype)
File "/usr/share/weewx/weecfg/extension.py", line 168, in _install_from_file
extension_name = self.install_from_dir(extension_dir)
File "/usr/share/weewx/weecfg/extension.py", line 212, in install_from_dir
save_config |= installer.configure(self)
File "/tmp/tmp5kts_gke/weewx-DWD-master/install.py", line 83, in configure
KeyError: 'USER_ROOT'
Eigentlich nicht Dein Problem - die pre Icons scheinen in "warnicons_nach_stufen_50x50_zip.zip" (File hat im Download wirklich den doppelten zip im Dateinamen) zu fehlen - ging mir im Sommer mit gewitter_pre auch schon so.
Habe für mich einfach warn_icons_eis_3.png kopiert auf warn_icons_eis_pre.png
Grüßle aus dem verschneiten Süden, Michael
Kaum gibt es ein neues Feature (Darstellung der DWD-Vorhersagen als Diagramm), schon kommen die Anwender-Begehrlichkeiten:-)
Statt die Vorhersagen als zusätzliche Grafiken zu generieren, fände ich es toll, wenn die bereits existierenden Diagramme um die Vorhersagedaten "verlängert" werden könnten. Vorstellen könnte ich mir z.B. die Verbreiterung aller Diagramme um 3 Einheiten (Stunden oder Tage), wo die Vorhersagedaten etwa gestrichelt angehängt werden.
Aktuell könnte man ja schon die Vorhersage-Grafiken rechts hinter den Diagrammen mit den aktuellen Meßwerten rendern. Das hätte einen ähnlichen Effekt, allerdings vermutlich leider mit anderer, vertikaler Skalierung (da andere min/max-Werte). D.h. vielleicht wäre es schon hinreichend, wenn die vertikale Skalierung von den Diagrammen mit den Meßwerten übernommen werden könnten.
BTW ich nutze den Standard-Seasons-Skin (da Belcherton zu langsam auf meinem Tablet rendert).
Hi, the system works fine last weeks but now we have warnings (in warnings.json) but they are not displayed. Is these a general issue?
Thank you.
Regards,
Martin
dwd:
/usr/local/bin/dwd-warnings 2>/dev/null >/dev/null
[DeutscherWetterdienst]
path = /etc/weewx/skins/neowx-material/dwd
[[warning]]
icons = ../neo/dwd/warn_icons_50x50
states = Bayern
[[[counties]]]
Kreis Miltenberg = BY
Ich nutze ja seit Mitte Oktober 2023 das DWD forecast Modul auf meinem Raspberry pi3. Da ich gestern ein komisches Problem mit den GPIOs hatte, habe ich seit Langem mal wieder ins journalctl geguckt. Bzgl. GPIO gabs keine Fehlermeldungen, wohl aber bzgl. weewx-DWD. Die Fehler treten zeitabhängig auf, und zwar an JEDEM Tag immer exakt zwischen Mitternacht und 05:15 in 5min Abstand - unten nur ein Fehlerblock von journalctl als Beispiel
[Sorry - wieder cut&paste-Problem mit UNIX-ASCII ohne CR - aber immerhin lesbar]
Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: Caught unrecoverable exception in generator 'weewx.imagegenerator.ImageGenerator' Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** no such table: forecast_day_wind Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** Traceback (most recent call last): Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weedb/sqlite.py", line 39, in guarded_fn Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** return fn(*args, **kwargs) Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weedb/sqlite.py", line 233, in execute Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** return sqlite3.Cursor.execute(self, *args, **kwargs) Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** sqlite3.OperationalError: no such table: forecast_day_wind Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** During handling of the above exception, another exception occurred: Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** Traceback (most recent call last): Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 197, in run Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** obj.start() Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 385, in start Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** self.run() Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/imagegenerator.py", line 44, in run Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** self.gen_images(self.gen_ts) Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/imagegenerator.py", line 109, in gen_images Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** plot = self.gen_plot(plotgen_ts, Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/imagegenerator.py", line 248, in gen_plot Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** start_vec_t, stop_vec_t, data_vec_t = weewx.xtypes.get_series( Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/xtypes.py", line 100, in get_series Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** return xtype.get_series(obs_type, timespan, db_manager, aggregate_type, Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/xtypes.py", line 920, in get_series Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** return ArchiveTable.get_series(obs_type, timespan, db_manager, aggregate_type, Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/xtypes.py", line 167, in get_series Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** agg_vt = get_aggregate(obs_type, stamp, do_aggregate, db_manager) Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/xtypes.py", line 127, in get_aggregate Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** return xtype.get_aggregate(obs_type, timespan, aggregate_type, db_manager, Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/xtypes.py", line 1102, in get_aggregate Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** row = db_manager.getSql(sql, timespan) Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/manager.py", line 579, in getSql Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** _cursor.execute(sql, sqlargs) Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** File "/usr/share/weewx/weedb/sqlite.py", line 47, in guarded_fn Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** raise weedb.NoTableError(e) Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** weedb.NoTableError: no such table: forecast_day_wind Nov 13 00:00:33 imurr9 python3[579]: weewx[579] ERROR weewx.reportengine: **** Generator terminated
Es sieht für mich so aus, als ob in der DWD forecast sqlite DB jeweils in dem Zeitraum die Tabelle forecast_day_wind fehlen würde, und nur die. Datenlücken habe ich aber trotzdem nicht, da ich mir die Wind-Vorhersagen nachts noch nie angeguckt habe. Tagsüber ist der Fehler weg, die Windvorhersagen sehen plausibel aus.
Das Ganze tritt seit Anfang November auf. journalctl-Einträge aus der Zeit davor habe ich leider nicht, da aufgrund eines kurzen Stromausfalls Anfang November mein Raspi abgestürzt ist, aber problemlos wieder gebootet hat. D.h. gut möglich, daß mein DWD-Problem irgendeine Datei beschädigt haben könnte. Aber warum funktioniert die DWD-Vorhersage vollkommen fehlerfrei zwischen 5:15 und Mitternacht??
Ratlos, Michael
Ich grüße Sie,
ich versuche gerade, Ihr Paket der Wetterwarnungen in meine weewx Installation zu implementieren. Ich bin bis zu dem Punkt erfolgreich angelangt, wo die die weewx.conf gepflegt werden muss.
Ich habe nun schon einige Stellen versucht, jedoch startet weewx nicht mehr, wenn ich die weewx.conf um:
[DeutscherWetterdienst]
....
erweitere. An welcher Stelle haben Sie Ihre weewx.conf gepflegt?
Würde mich über eine Antwort sehr freuen.
Viele Grüße aus Bonn,
Nubi
Just a minor issue... Currently there is a pre warning for heavy rain. But the corresponding icon is missing within warn icons (as linked within the main description. The missing file is warn_icons_gewitter_pre.png.
Please update the warn icon zip file.
mosmix scheint AQI über Aeris abzurufen.
INFO successfully downloaded https://api.aerisapi.com/airquality/closest?p=52.152493,9.929383&format=json&radius=50mi&limit=1&client_id=zyx&client_secret=xyz
Hier werden wohl die fixen Koordinaten der Wetterstation verwendet.
Kann man dies in dem dwd-mosmix-call.sh.tmpl
fixen? [Edit: habe eben # command 'aqi' converts to Belchertown format
in dwd-mosmix
gefunden und damit denke ich ... nein]
Oder sollte man etwas in dwd-mosmix
verändern?
def download_aeris(self, what):
if what=='aqi':
url = (
"https://api.aerisapi.com/airquality/closest?p=%s,%s&format=json&radius=50mi&limit=1&client_id=%s&client_secret=%s"
% (self.latitude, self.longitude, self.forecast_api_id, self.forecast_api_secret)
)
else:
return []
Ich glaube, dies ist das erste Mal das self.latitude
auftaucht:
# almanac
stn = config_dict.get('Station',dict())
self.latitude = float(stn.get('latitude'))
self.longitude = float(stn.get('longitude'))
Originally posted by @teffi71 in #30 (reply in thread)
dwd-cap-warnings ist ja ein Link, bei mir
ln -s /usr/share/weewx/user/capwarnings.py /etc/weewx/scripts/dwd-cap-warnings
Die Konfiguration in /etc/weewx.conf sieht so aus:
`[DeutscherWetterdienst]
path = /etc/weewx/skins/Seasons_DWD/dwd
[[warning]]
icons = icons/warn
states = Baden-Württemberg
[[[counties]]]
Kreis Ludwigsburg = KL
[[[cities]]]
Stadt Ludwigsburg = SL
`
Wenn ich dwd-cap-warnings wie im README beschrieben aufrufe, wird der zip-Dateiname als Dateiname für die Warnmeldung genutzt, d.h. ich bekomme zwei Dateien
`
/etc/weewx/scripts/dwd-cap-warnings --weewx --resolution=city Z_CAP_C_EDZW_LATEST_PVW_STATUS_PREMIUMCELLS_COMMUNEUNION_DE.zip
-rw-r--r-- 1 root root 2 10. Mär 08:44 warn-Z_CAP_C_EDZW_LATEST_PVW_STATUS_PREMIUMCELLS_COMMUNEUNION_DE.zip.json
-rw-r--r-- 1 root root 167 10. Mär 08:44 warn-Z_CAP_C_EDZW_LATEST_PVW_STATUS_PREMIUMCELLS_COMMUNEUNION_DE.zip.inc
`
aber keine zip-Datei an sich. Die .json/.inc enthalten die Warnungen für Stadt Ludwigsburg.
Laut Beschreibung sollte es auch möglich sein, feiner granularer Wettermeldungen auf Basis der WarncellID zu bekommen - wäre in meinem Fall 808118054;Gemeinde Murr;Murr;;BW Aber mir ist unklar, wie das z.B. in weewx.conf zu konfigurieren ist.
PS: Mir gelingt es nicht, hier im GIT-Text Code-Fragmente mit <> sauber einzugeben. Da fehlen immer die CRs. Als "workaround" füge ich manuell einzelne CRs ein, was den Code-Text immerhin etwas leserlicher macht.
Habe am Abend die Daten für DWD POI/CDC auf meiner Seite verglichen. Dabei ist mir aufgefallen, dass evtl. die Zuordnung Icon zu Wetterbedingung fehlerhaft ist. In meinem Beispiel war es bedeckt und ein Schneefallicon.
Ich hänge mal Screenshots an. Zeitlich ist es bei mir heute evtl. etwas eng, sonst hätte ich mehr Voranalyse gemacht. Ich schreib's hier trotzdem, evtl. siehst Du ja das Problem sofort. Sonst schaue ich, dass ich mehr Infos geben kann wenn ich wieder da bin.
Konfiguration ist: icon_list = belchertown
Hallo, bei mir wird in der 3H Ansicht der Vorhersage keine maximale Windgeschwindigkeit angezeigt (Platzhalter Wert "NaN").
Ein testweises Einfügen in dwd-mosmix
z.B. nach Zeile 1120
von 'windGustKPH':rec['FFmax'],
behebt den Fehler.
ach ja, und bitte nicht denken ich meckere über noch nicht fertigen Code, ich möchte nur unterstützen ;-)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.