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.
