Thanks for your quick reply. But why does my setup work fine after 5:15 all 
over the day? From my perspective a wrong configuration should fail always. 

Tom Keffer schrieb am Mittwoch, 15. November 2023 um 14:12:31 UTC+1:

> Imagegenerator is trying to calculate a wind vector. This typically 
> happens for a plot with a spec that looks something like this:
>
>
>
> *[[[weekwindvec]]]    [[[[windvec]]]]        plot_type = vector*
>
> Normally, it uses the "wx_binding" database binding to do this, which is 
> normally pointed at the "archive" table. For whatever reason, your 
> installation is attempting to do this with the "forecast" table. It could 
> be that you are using the wrong binding, or it could be that the wx_binding 
> is pointing to the "forecast" table.
>
>
>
> On Wed, Nov 15, 2023 at 1:12 AM 'Michael Waldor' via weewx-user <
> [email protected]> wrote:
>
>> I seem to have a very specific problem due to my complex changes within 
>> weewx. First I'll shortly describe my problem, then I'll explain my weewx 
>> environment:
>>
>> My problem: weewx 4.10.2 is working fine during daytimes, but 
>> imagegenerator fails daily between 0:00 and 5:15 all 5min with the same set 
>> of error messages, e.g.
>>
>> 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
>>
>> My weewx environment:
>> I'm using the current weewx version 4.10.2 with a highly customized 
>> Seasons skin on a raspberry pi 3 with current bullseye linux.
>> I also use the German DWD forecast module to get local forecasts, being 
>> stored within a separate sqlite DB (updated each hour by cron).
>>
>> I want to see the forecast data within the same diagrams as the measured 
>> data, i.e. those diagrams contain data from 2 sqlite databases. Sadly there 
>> seeme to be no standard mechanism to extend the x-axis (time) into the 
>> "future". Thus I've tweaked the function scaletime within utities.py to 
>> include an optional parameter offset. This offset is forwarded from 
>> skin.conf to extend the x-axis by 10h (for daily reports) resp. 5days (for 
>> weekly reports).
>>
>> This complicated setup works fine - except every neight between 0:00 and 
>> 5:15. I have noticed that exactly after 5:15 the forecast DB no longer 
>> contains data from the previous day, i.e. exactly after midnight the 
>> current time and the first data within forecast DB are from different dates.
>>
>> At first I've asked the same question within the German GIT project 
>> https://github.com/roe-dl/weewx-DWD/issues/57, but that module does not 
>> access a table named forecast_day_wind. (The DWD sqlite table is named 
>> forecast).
>>
>> Then I've tried to debug my code changes of scaletime by
>>
>> cd /usr/share/weewx/weeplot
>> PYTHONPATH=/usr/share/weewx python3 -i utilities.py
>>
>> and calling scaletime step by step at some critical dates after midnight. 
>> But my modifications to extend the time interval exactly work as intended 
>> (and I see completly correct images during daytime including all lnes from 
>> both sqlite DBs).
>>
>> I've checked the created forecast DB - it's fine all over the day, 
>> especially nightly.
>>
>> Of course I might post my changes if you ask for. But it would make my 
>> current post even more unreadable:-) . Here only 2 code lines from 
>> utilities.py (I do more)
>>
>> def scaletime(tmin_ts, tmax_ts, offset=0):
>> ...
>>     tmax_dt = datetime.datetime.fromtimestamp(tmax_ts + offset)
>> ...
>>
>> Any ideas?
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "weewx-user" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/weewx-user/2baf8c90-d283-4e06-9d33-1daa7a6f50can%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/2baf8c90-d283-4e06-9d33-1daa7a6f50can%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/b39ac44e-25cf-4983-8f12-860eb479473bn%40googlegroups.com.

Reply via email to