forecast 3.3.2 config question

142 views
Skip to first unread message

René Schulze

unread,
Apr 6, 2019, 6:12:02 AM4/6/19
to weewx-user
Hello,

Up to the 22. March i used WU as provider for forecast with the setting num_periods = 72 in skin.conf This setting works for forecast_table.inc from version 3.2.0 included in index.html.tmpl from weewx version 3.8.2. Since WU shut down the old Api i try to use Open Weather Map an Dark Sky cause NWS has no data für Germany.


first i set in weewx conf only the API keas for OWM an DS

In version 3.2.0 OWM raises an error in /log/message.

Apr  4 11:25:24 unimatrix-rasp weewx[16878]: forecast: OWMThread: OWM: download forecast from 'http://api.openweathermap.org/data/2.5/forecast?APPID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXdbcf&lat=48.2537213&lon=11.4547994'
Apr  4 11:25:24 unimatrix-rasp weewx[16878]: forecast: OWMThread: OWM: got 40 forecast records
Apr  4 11:25:35 unimatrix-rasp weewx[16878]: Traceback (most recent call last):
Apr  4 11:25:35 unimatrix-rasp weewx[16878]:   File "/usr/share/weewx/user/forecast.py", line 1187, in do_forecast
Apr  4 11:25:35 unimatrix-rasp weewx[16878]:     self.db_max_tries, self.db_retry_wait)
Apr  4 11:25:35 unimatrix-rasp weewx[16878]:   File "/usr/share/weewx/user/forecast.py", line 1237, in save_forecast
Apr  4 11:25:35 unimatrix-rasp weewx[16878]:     raise Exception('save failed after %d attempts' % max_tries)
Apr  4 11:25:35 unimatrix-rasp weewx[16878]: Exception: save failed after 1 attempts


So i do an update to weewx 3.9.1 and forecast 3.3.2. Now i see in message for the OWM Thread   

Apr  4 18:21:01 unimatrix-rasp weewx[18529]: forecast: OWMThread: OWM: download forecast from 'http://api.openweathermap.org/data/2.5/forecast?APPID=XXXXXXXXXXXXXXXXXXXXXXXXXXXX1385&lat=48.2537213&lon=11.4547994'
Apr  4 18:21:01 unimatrix-rasp weewx[18529]: forecast: OWMThread: OWM: got 40 forecast records

and nothing else, also no errors,

i set in skin.conf
[[forecast_table_settings]]
        source = OWM
        num_periods = 72


but the table on the website shows "No Data for OWM forecast" 

then i try the API from Dark Sky

in weewx.conf i set also

    [[DS]]
    api_key = XXXXXXXXXXXXXXXXXXXXXXXXXXXX162f
    interval = 3600
    max_age = 604800

now i see in messages for example:

Apr  5 13:00:51 unimatrix-rasp weewx[19283]: forecast: DSThread: DS: downloading forecast from 'https://api.darksky.net/forecast/XXXXXXXXXXXXXXXXXXXXXXXXXXXX162f/48.2534,11.4551?exclude=currently,minutely,hourly,alerts,flags&lang=en&units=us'
Apr  5 13:00:51 unimatrix-rasp weewx[19283]: forecast: DSThread: DS: got 8 forecast records
Apr  5 13:00:52 unimatrix-rasp weewx[19283]: forecast: DSThread: DS: saved 8 forecast records
Apr  5 13:00:52 unimatrix-rasp weewx[19283]: forecast: DSThread: DS: deleted forecasts prior to 1553857252

i set in skin.conf
[[forecast_table_settings]]
        source = DS
        num_periods = 72


the table shows now 7 days forecast in the table, num_periods seems not working

i can reduce this to 4 or 3 days by using

num_days = 4 (or 3)

But, the forecast starts everytimes from tomorrow. With data from WU and num_periods = 72 in the first row it shows the forecast from today in row 1 + 2 Days in rows 2 and 3. From 8pm to 12pm it shows today in row 1 + 3 days in rows 2 to 4.
With data from DS it shows i row 1 forecast for tomorrow.

you can see this on my webpage (www.balkonwetter-dachau.de)

2 Questions:

How can i configure that DS shows the forecast starting from today and not from tommorow

What's wrong that OWM dont work? It seems from OWM weewx gets data but dont store them.

My setup:

weewx 3.9.1 with forecast 3.3.2 runs on a Raspberry Pi. The data storage is a mySQL Database that runs on my Webserver (a VPS from contabo.de).

Greetings René

René Schulze

unread,
Jan 1, 2020, 10:27:08 AM1/1/20
to weewx-user
Hello,

Now i found the problem cause DS also won't store the received data. In debugmode 1 i saw a error like "data to long for field qsf". After i set manually in the database the fields qsf and qpf to varchar(30) both forecast providers working fine. In the database i can find values like "0.0149606299212598" in these datafields.
I used the api call in a browser and in the responding json i couln't found the values. It seems to be a foult data or wrong calculation.

greetings René
Reply all
Reply to author
Forward
0 new messages