open-meteo forecast via dwd for belchertown skin

101 views
Skip to first unread message

Jim Munro

unread,
May 5, 2026, 11:15:58 AM (6 days ago) May 5
to weewx-user
Good morning
Using docker image mitct02/weewx:5.1.0-6 with belchertown 1.3b2,  mqttsubscribe and weewx 5.1.0.  I have the belchertown skin running and updating.  I am trying to get the forecast working with dwd.  I have used the config from a previous setup that has been working with weewx 4.9.1.  Here are some snippets if anyone can help when I run dwd from /etc/crontab.hourly.  Also used dwd files from previous version working with weewx 4.9.1

weewx@myweewx:/etc/cron.hourly$ ./dwd
Using configuration file /etc/weewx/weewx.conf
successfully downloaded https://api.open-meteo.com/v1/gem?latitude=48.372&longitude=-89.3115&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.372--89.3115-gem" name "48.372 -89.3115"
calculate daily forecast
calculate 3hr forecast
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
'T5cm'
'VV'
'R101'
belchertown
now 09:01:07 timestep 10:00:00
Traceback (most recent call last):
  File "/home/weewx/weewx-venv/bin/dwd-mosmix", line 2452, in <module>
    dwd.forecast_all(mmos,output,options.dry_run,lang=options.lang)
  File "/home/weewx/weewx-venv/bin/dwd-mosmix", line 2077, in forecast_all
    self.forecast_placemark(placemark, mos['ForecastTimeSteps'], issue, output, dryrun, lang)
  File "/home/weewx/weewx-venv/bin/dwd-mosmix", line 2053, in forecast_placemark
    self.belchertown(placemark,days,recs3hr,timesteps,daynights,issue,dryrun)
  File "/home/weewx/weewx-venv/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'

snippet from weewx.conf

[[Belchertown]]
        skin = Belchertown
        HTML_ROOT = public_html/belchertown
        enable = true

        [[[Extras]]]


            # For help refer to the docs at https://github.com/poblabs/weewx-be>

            #--- General Options ---
             belchertown_debug = 0
#            belchertown_locale = auto
#            theme = light
#            theme_toggle_enabled = 1
#            logo_image = "https://www.your-domain-name.com/images/logo_light.p>
#            logo_image_dark = "https://www.your-domain-name.com/images/logo_da>
#            site_title = Your New Weather WebSite
#            station_observations = barometer, dewpoint, outHumidity, rainWithR>
            beaufort_categoty = 1
            webpage_autorefresh = 300000
#            manifest_name = your-domain-name.com
#            manifest_short_name = WEATHER
#            aeris_map = 0
            # radar_html = ''   #  (default seems to center on your lat/lon)
            # radar_html_dark = None
            radar_zoom = 10
            radar_marker = 1
            almanac_extras = 1
            highcharts_enabled = 1
            graph_page_show_all_button = 1
            graph_page_default_graphgroup = day
            highcharts_homepage_graphgroup = day
            highcharts_decimal = auto
            highcharts_thousands = auto
            #googleAnalyticsId = ""
            # pi_kiosk_bold = "false"
            # pi_theme = "auto"
#            webpage_autorefresh = 300000
            reload_hook_images = 1
            reload_images_radar = 300
            # reload_images_hook_asi = -1
            reload_images_hook_af = 1
            # reload_images_hook_as = -1
            # reload_images_hook_ac = -1
            # show_last_updated_alert = 1
            # last_updated_alert_threshold = 1800

            #--- Common Titles under Labels Section to Change ---
#            home_page_header = "Current Station Weather Conditions"
#            graphs_page_header = Weather Observation Graphs
#            reports_page_header = NOAA Climate Reports
#            records_page_header = Station Records

#            about_page_header = About your-domain-name.com
#            powered_by = Observations are powered by a <a href="/about" target>
             powered_by = Observations are powered by a Pi Pico Weather Station
#            footer_copyright_text = 2018 - 2022 Your-Domain-Name.com
#            footer_disclaimer_text = Never make important decisions based on i>

             #--- MQTT Websockets (for Real Time Streaming) Options ---
            mqtt_websockets_enabled = 0
            #mqtt_websockets_host = wxsocket.your-domain-name.com
            #mqtt_websockets_port = 443
            #mqtt_websockets_ssl = 1
            #mqtt_websockets_topic = weather/loop
            #disconnect_live_website_visitor = 1800000

            #--- Forecast Options ---
            forecast_enabled = 1
            #forecast_provider = aeris
            #forecast_api_id = replace_me
            #forecast_api_secret = replace_me
            #forecast_units = us
            #forecast_lang = en
            forecast_stale = 86400
            #forecast_aeris_use_metar = 1
            #forecast_interval_hours = 24
            forecast_alert_enabled = 1
            #forecast_alert_limit = 3
            #forecast_show_daily_forecast_link = 1
            #forecast_daily_forecast_link = https://open-meteo.com/
            #aqi_enabled = 1
            #aqi_location_enabled = 1

            #--- Earthquake Options ---
            earthquake_enabled = 0
            #earthquake_maxradiuskm = 300
            #earthquake_stale = 10700
            #earthquake_server = USGS
            #geonet_mmi = 4

            #--- Social Options ---
            facebook_enabled = 0
            twitter_enabled = 0
            twitter_owner = "you"
            twitter_hashtags = "weewx #weather"
            social_share_html = "https://www.your-domain-name.com"
            twitter_text = "Check out my website: your-domain-name.com"

            #-------------------------------------------------------------
            #---
            #--- python's ConfigObj has a limitation in how it processes
            #--- comments, so we need to define an 'unused' variable below
            #--- to ensure that this whole stanza makes it into weewx.conf
            #---
            #--- please ignore the following 'unused' variable
            #---
            #-------------------------------------------------------------
            work_around_ConfigObj_limitations = true

...

##############################################################################
[DeutscherWetterdienst]
    [[warning]]
        icons='../dwd/warn_icons_50x50'
#        states='AB'
#        [[[counties]]]
#              'Whitecourt' = 'TB'
#        [[[cities]]]
#              'Whitecourt' = 'TB'
    [[Belchertown]]
        section = Belchertown
        warnings = None
        forecast = openmeteo-48.372--89.3115-gem
#       forecast = openmeteo-48.22-89.19-gem
        compass_lang = 'en'
[WeatherServices]
    path='/home/weewx/skins/Belchertown/dwd'
    [[current]]
        [[[ThisStation]]]
            # actual readings out of the forecast for the location of this stat>
            enabled = True
#            prefix = om
            debug = 3
            log_success = True
            log_failure = True
            provider = Open-Meteo
    [[forecast]]
        icons='home/weewx/skins/Belchertown/images'
        orientation=h,v
        #show_obs_symbols = True # optional
        #show_obs_description = False # optional
        #show_placemark = True # optional
    # warnings
    [[warning]]
        # examples
        [[[1]]]
            provider = MSC # Canada
            office = 048100 # Code of the issuing office (try without if unsure)
            county = 'Thunder Bay'
            file = warn_try
#############################################################################

Hope someone can help.
Thanks
Jim



Jim Munro

unread,
May 5, 2026, 9:39:43 PM (6 days ago) May 5
to weewx-user
nstalled new dwd package manually.

weewx@myweewx:/etc/cron.hourly$ ./dwd
Using configuration file /etc/weewx/weewx.conf
INFO successfully downloaded https://api.open-meteo.com/v1/gem?latitude=48.372&longitude=-89.3115&hourly=temperature_2m,relativehumidity_2m,dewpoint_2m,pressure_msl,cloudcover,cloudcover_low,cloudcover_mid,cloudcover_high,windspeed_10m,winddirection_10m,windgusts_10m,weathercode,precipitation&timeformat=unixtime
INFO what to output: ['belchertown']
INFO start loop over placemarks
INFO process placemark id "openmeteo-48.372--89.3115-gem" name "48.372 -89.3115"
INFO calculate daily forecast
{'timestamp': 1778025600, 'day': '05.05.', 'weekday': 1, 'weekdayshortname': 'Di', 'weekdaylongname': 'Dienstag', 'TN': 1.7, 'TX': 3.0, 'Tdmin': -8.3, 'Tdmax': -5.5, 'windchill': -1.6334190058167568, 'heatindex': None, 'count': 5, 'SunD1': 0.0, 'RR1c': 0.0, 'ww': [3], 'FX1max': 43.2, 'VVmin': 100000000000.0, 'Rad1hsum': 0.0, 'TM': 2.26, 'Tdavg': -7.0200000000000005, 'FFavg': 13.959999999999999, 'DDavg': 295.4, 'PPPPavg': 1010.5599999999998, 'Navg': 89.8, 'Neffavg': 89.8, 'VVavg': None, 'icon': 'home/weewx/weewx-data/skins/Belchertown/images/mostly-cloudy-day.png', 'icontitle': 'Bewölkung zunehmend 90%'}
{'timestamp': 1778043600, 'day': '06.05.', 'weekday': 2, 'weekdayshortname': 'Mi', 'weekdaylongname': 'Mittwoch', 'TN': -0.4, 'TX': 5.7, 'Tdmin': -7.2, 'Tdmax': -5.7, 'windchill': -4.0974126474887544, 'heatindex': None, 'count': 24, 'SunD1': None, 'RR1c': 0.0, 'ww': [3, 2], 'FX1max': 36.7, 'VVmin': 100000000000.0, 'Rad1hsum': 0.0, 'TM': 2.7916666666666674, 'Tdavg': -6.6000000000000005, 'FFavg': 12.362499999999999, 'DDavg': 292.0833333333333, 'PPPPavg': 1013.3000000000001, 'Navg': 84.125, 'Neffavg': 84.125, 'VVavg': None, 'icon': 'home/weewx/weewx-data/skins/Belchertown/images/mostly-cloudy-day.png', 'icontitle': 'Bewölkung zunehmend 84%'}
{'timestamp': 1778130000, 'day': '07.05.', 'weekday': 3, 'weekdayshortname': 'Do', 'weekdaylongname': 'Donnerstag', 'TN': -1.3, 'TX': 6.9, 'Tdmin': -5.7, 'Tdmax': -0.6, 'windchill': -2.9127391465727115, 'heatindex': None, 'count': 24, 'SunD1': None, 'RR1c': 0.35000000000000003, 'ww': [3, 51, 1], 'FX1max': 26.3, 'VVmin': 100000000000.0, 'Rad1hsum': 0.0, 'TM': 2.729166666666666, 'Tdavg': -3.6583333333333337, 'FFavg': 6.166666666666665, 'DDavg': 274.6666666666667, 'PPPPavg': 1011.1833333333334, 'Navg': 72.58333333333333, 'Neffavg': 72.58333333333333, 'VVavg': None, 'icon': 'home/weewx/weewx-data/skins/Belchertown/images/drizzle.png', 'icontitle': 'durchgehend leichter Sprühregen'}
{'timestamp': 1778216400, 'day': '08.05.', 'weekday': 4, 'weekdayshortname': 'Fr', 'weekdaylongname': 'Freitag', 'TN': -6.6, 'TX': 12.0, 'Tdmin': -8.2, 'Tdmax': -0.1, 'windchill': -9.511666593638681, 'heatindex': None, 'count': 24, 'SunD1': None, 'RR1c': 0.0, 'ww': [2, 1], 'FX1max': 40.3, 'VVmin': 100000000000.0, 'Rad1hsum': 0.0, 'TM': 3.995833333333333, 'Tdavg': -3.8249999999999997, 'FFavg': 8.658333333333333, 'DDavg': 287.2916666666667, 'PPPPavg': 1006.3416666666666, 'Navg': 13.291666666666666, 'Neffavg': 13.291666666666666, 'VVavg': None, 'icon': 'home/weewx/weewx-data/skins/Belchertown/images/mostly-clear-day.png', 'icontitle': 'Bewölkung unverändert 13%'}
{'timestamp': 1778302800, 'day': '09.05.', 'weekday': 5, 'weekdayshortname': 'Sa', 'weekdaylongname': 'Sonnabend', 'TN': -0.3, 'TX': 8.1, 'Tdmin': -5.0, 'Tdmax': 0.5, 'windchill': -2.82272451804125, 'heatindex': None, 'count': 24, 'SunD1': None, 'RR1c': 0.0, 'ww': [1, 2], 'FX1max': 20.5, 'VVmin': 100000000000.0, 'Rad1hsum': 0.0, 'TM': 4.3, 'Tdavg': -1.6250000000000002, 'FFavg': 5.420833333333333, 'DDavg': 184.54166666666666, 'PPPPavg': 1005.9333333333334, 'Navg': 30.208333333333332, 'Neffavg': 30.208333333333332, 'VVavg': None, 'icon': 'home/weewx/weewx-data/skins/Belchertown/images/mostly-clear-day.png', 'icontitle': 'Bewölkung unverändert 30%'}
{'timestamp': 1778389200, 'day': '10.05.', 'weekday': 6, 'weekdayshortname': 'So', 'weekdaylongname': 'Sonntag', 'TN': 1.6, 'TX': 6.0, 'Tdmin': -1.1, 'Tdmax': 1.8, 'windchill': 0.655856805053114, 'heatindex': None, 'count': 24, 'SunD1': None, 'RR1c': 0.6000000000000001, 'ww': [1, 2, 3, 51], 'FX1max': 28.4, 'VVmin': 100000000000.0, 'Rad1hsum': 0.0, 'TM': 3.9875000000000003, 'Tdavg': 0.22499999999999995, 'FFavg': 6.3875, 'DDavg': 175.91666666666666, 'PPPPavg': 1015.975, 'Navg': 47.708333333333336, 'Neffavg': 47.708333333333336, 'VVavg': None, 'icon': 'home/weewx/weewx-data/skins/Belchertown/images/drizzle.png', 'icontitle': 'durchgehend leichter Sprühregen'}
{'timestamp': 1778475600, 'day': '11.05.', 'weekday': 0, 'weekdayshortname': 'Mo', 'weekdaylongname': 'Montag', 'TN': -0.2, 'TX': 7.0, 'Tdmin': -2.2, 'Tdmax': -0.5, 'windchill': -3.2769295079666882, 'heatindex': None, 'count': 24, 'SunD1': None, 'RR1c': 0.0, 'ww': [1], 'FX1max': 22.7, 'VVmin': 100000000000.0, 'Rad1hsum': 0.0, 'TM': 3.5500000000000003, 'Tdavg': -1.3208333333333333, 'FFavg': 8.512499999999998, 'DDavg': 238.91666666666666, 'PPPPavg': 1022.5875000000001, 'Navg': 10.625, 'Neffavg': 10.625, 'VVavg': None, 'icon': 'home/weewx/weewx-data/skins/Belchertown/images/mostly-clear-day.png', 'icontitle': 'Bewölkung abnehmend 11%'}
{'timestamp': 1778562000, 'day': '12.05.', 'weekday': 1, 'weekdayshortname': 'Di', 'weekdaylongname': 'Dienstag', 'TN': 0.7, 'TX': 6.1, 'Tdmin': -2.4, 'Tdmax': 4.9, 'windchill': 0.15459102789210988, 'heatindex': None, 'count': 19, 'SunD1': None, 'RR1c': 8.8, 'ww': [1, 2, 51, 61], 'FX1max': 32.0, 'VVmin': 100000000000.0, 'Rad1hsum': 0.0, 'TM': 3.689473684210527, 'Tdavg': -0.015789473684210516, 'FFavg': 9.621052631578946, 'DDavg': 123.47368421052632, 'PPPPavg': 1016.6578947368421, 'Navg': 57.63157894736842, 'Neffavg': 57.63157894736842, 'VVavg': None, 'icon': 'home/weewx/weewx-data/skins/Belchertown/images/drizzle.png', 'icontitle': 'durchgehend leichter Sprühregen'}
INFO calculate 3hr forecast
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO 3hr-forecast available observations ['PPPP', 'TTT', 'Td', 'DD', 'FF', 'N', 'Neff', 'windchill']
INFO belchertown
INFO geo file '/home/weewx/weewx-data/skins/Belchertown/dwd/geo-openmeteo-48.372--89.3115-gem.json' succuessfully loaded
INFO now 21:18:12 timestep 22:00:00
INFO write Belchertown JSON file to /home/weewx/weewx-data/skins/Belchertown/dwd/forecast-openmeteo-48.372--89.3115-gem-belchertown.json
INFO placemark id "openmeteo-48.372--89.3115-gem" processed
INFO end loop over placemarks
weewx@myweewx:/etc/cron.hourly$

It created a new json file in the skins/Belchertown/dwd directory
 -rw-rw-rw- 1 1001 1001 73792 May  5 21:18 forecast-openmeteo-48.372--89.3115-gem-belchertown.json

But still no forecast displayed in the skin

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Karen K

unread,
May 6, 2026, 7:16:51 AM (5 days ago) May 6
to weewx-user
Please move the [[Belchertown]] section from [DeutscherWetterdienst] to [WeatherServices]. I am not sure whether that is the problem in this case, but the sub-section belongs there.

It should also create a file named forecast.json in public_html/belchertown/json. Is the file there? 

Jim Munro

unread,
May 6, 2026, 10:30:07 AM (5 days ago) May 6
to weewx-user
Thank you Karen
Your advise was right on.
Had to create a sym link to public_html also.
public_html -> /home/weewx/weewx-data/public_html
Forecast now working.
:)

Jim Munro

unread,
May 8, 2026, 8:54:35 AM (3 days ago) May 8
to weewx-user
just a fyi. If using the docker image mitct02/weewx:latest
you will likely need a sym link in /bin

lrwxrwxrwx 1 root root 22 May  8 08:30 python3 -> /usr/local/bin/python3

otherwise dwd-mosmix will throw a  dwd-dosmix: cannot execute: required file not found

Jim
Reply all
Reply to author
Forward
0 new messages