Hard to say. Plots are regenerated only as often as their aggregation interval. Perhaps it is the "year" windvec plot that is failing: it would be regenerated only once a day.
Just guessing. You have a complicated configuration and we haven't seen your configuration files. On Wed, Nov 15, 2023 at 7:10 AM 'Michael Waldor' via weewx-user < [email protected]> wrote: > 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 > <https://groups.google.com/d/msgid/weewx-user/b39ac44e-25cf-4983-8f12-860eb479473bn%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/CAPq0zEC_XhMPTAe0qNA_yuzQnPLTTp%2BmZvh0pqMfdgFbOyVhCw%40mail.gmail.com.
