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.

Reply via email to