Those are new errors, but there is a clue in one of them: ValueError: could not convert string to float: ''
This implies that one of the values is a null string. Test for them: sqlite3 /var/lib/weewx/weewx.sdb sqlite> select dateTime, windDir, windGustDir from archive where windDir='' or windGustDir=''; This will show you any null strings for types windDir and windGustDir. There may also be null strings for other types. Set them to a real null as follows: sqlite> update archive set windDir=null where windDir=''; sqlite> update archive set windGustDir=null where windGustDir=''; Then drop and rebuild the daily summaries. On Tue, Dec 24, 2024 at 8:13 AM Auchtermuchty Weather <[email protected]> wrote: > I've done that, and at the same time more errors have popped up! > > On Tuesday, 24 December 2024 at 14:04:16 UTC Tom Keffer wrote: > >> I've included a version of xtypes.py that will tell us the value of >> "direction" when an exception occurs. Could you substitute it for your copy? >> >> >> >> On Tue, Dec 24, 2024 at 12:31 AM Auchtermuchty Weather < >> [email protected]> wrote: >> >>> OK ran some SQL and captured the output: >>> >>> WindDir.csv:|null|9 >>> WindDir.csv:|text|428413 >>> WindGust.csv:|text|2021 >>> WindGustDir.csv:|null|6 >>> WindGustDir.csv:|text|371698 >>> >>> However when I looked at the timestamps for the few rows with NULL, >>> they were all in December this year, and from well after the problem >>> started. >>> >>> I've had a look at the data - no over or under values in my view: >>> >>> sqlite> select min(windGustDir), max(windGustDir) from archive where >>> windGustDir <> "" ; >>> 0.0|359.0 >>> sqlite> select min(windDir), max(windDir) from archive where windDir <> >>> "" ; >>> 0.0|360.0 >>> >>> So nothing strange there either. >>> >>> On Tuesday, 24 December 2024 at 07:53:58 UTC Auchtermuchty Weather wrote: >>> >>>> SQLite. I was wondering that, but as "0" <> 0, selecting windGust, >>>> count(*) should bring back separate rows for each. >>>> >>>> On Monday, 23 December 2024 at 22:49:54 UTC Tom Keffer wrote: >>>> >>>>> I would guess that one of the fields in your database that you think >>>>> holds a number, actually holds a string. It could be a string for value >>>>> zero ('0'), instead of the actual value zero (0). >>>>> >>>>> The error occurred on a line that is doing queries in the main archive >>>>> table (not the daily summaries) using columns 'windDir' or 'windGustDir'. >>>>> >>>>> One more thing: what kind of database? Sqlite? >>>>> >>>>> >>>>> >>>>> On Mon, Dec 23, 2024 at 10:55 AM Auchtermuchty Weather < >>>>> [email protected]> wrote: >>>>> >>>>>> Sorry truncated the error report. I used cut to remove the stuff at >>>>>> the start of each line and put the output into a file, then used 'set >>>>>> number' in my text editor to make sure I pasted all the lines., >>>>>> >>>>>> 1 Caught unrecoverable exception in generator >>>>>> 'weewx.imagegenerator.ImageGenerator' >>>>>> 2 **** unsupported operand type(s) for -: 'float' and >>>>>> 'str' >>>>>> 3 **** Traceback (most recent call last): >>>>>> 4 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 109, in get_series >>>>>> 5 **** return xtype.get_series(obs_type, timespan, >>>>>> db_manager, aggregate_type, >>>>>> 6 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 7 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 1040, in get_series >>>>>> 8 **** return ArchiveTable.get_series(obs_type, >>>>>> timespan, db_manager, aggregate_type, >>>>>> 9 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 10 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 210, in get_series >>>>>> 11 **** agg_vt = get_aggregate(obs_type, stamp, >>>>>> do_aggregate, db_manager, >>>>>> 12 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 13 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 136, in get_aggregate >>>>>> 14 **** return xtype.get_aggregate(obs_type, >>>>>> timespan, aggregate_type, db_manager, >>>>>> 15 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 16 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 1168, in get_aggregate >>>>>> 17 **** xsum += mag * math.cos(math.radians(90.0 - >>>>>> direction)) >>>>>> 18 **** >>>>>> ~~~~~^~~~~~~~~~~ >>>>>> 19 **** TypeError: unsupported operand type(s) for -: >>>>>> 'float' and 'str' >>>>>> 20 **** >>>>>> 21 **** During handling of the above exception, another >>>>>> exception occurred: >>>>>> 22 **** >>>>>> 23 **** Traceback (most recent call last): >>>>>> 24 **** File >>>>>> "/usr/share/weewx/weewx/reportengine.py", line 248, in run >>>>>> 25 **** obj.start() >>>>>> 26 **** File >>>>>> "/usr/share/weewx/weewx/reportengine.py", line 465, in start >>>>>> 27 **** self.run() >>>>>> 28 **** File >>>>>> "/usr/share/weewx/weewx/imagegenerator.py", line 37, in run >>>>>> 29 **** self.gen_images(self.gen_ts) >>>>>> 30 **** File >>>>>> "/usr/share/weewx/weewx/imagegenerator.py", line 100, in gen_images >>>>>> 31 **** plot = self.gen_plot(plotgen_ts, >>>>>> 32 **** ^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 33 **** File >>>>>> "/usr/share/weewx/weewx/imagegenerator.py", line 236, in gen_plot >>>>>> 34 **** start_vec_t, stop_vec_t, data_vec_t = >>>>>> weewx.xtypes.get_series( >>>>>> 35 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 36 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 114, in get_series >>>>>> 37 **** return xtype.get_series(obs_type, timespan, >>>>>> db_manager, aggregate_type, >>>>>> 38 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 39 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 1040, in get_series >>>>>> 40 **** return ArchiveTable.get_series(obs_type, >>>>>> timespan, db_manager, aggregate_type, >>>>>> 41 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 42 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 210, in get_series >>>>>> 43 **** agg_vt = get_aggregate(obs_type, stamp, >>>>>> do_aggregate, db_manager, >>>>>> 44 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 45 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 136, in get_aggregate >>>>>> 46 **** return xtype.get_aggregate(obs_type, >>>>>> timespan, aggregate_type, db_manager, >>>>>> 47 **** >>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 48 **** File "/usr/share/weewx/weewx/xtypes.py", line >>>>>> 1168, in get_aggregate >>>>>> 49 **** xsum += mag * math.cos(math.radians(90.0 - >>>>>> direction)) >>>>>> 50 **** >>>>>> ~~~~~^~~~~~~~~~~ >>>>>> 51 **** TypeError: unsupported operand type(s) for -: >>>>>> 'float' and 'str' >>>>>> 52 **** Generator terminated >>>>>> 53 rand type(s) for -: 'float' and 'str' >>>>>> 54 rand type(s) for -: 'float' and 'str' >>>>>> >>>>>> On Monday, 23 December 2024 at 18:53:18 UTC Auchtermuchty Weather >>>>>> wrote: >>>>>> >>>>>>> I was getting errors. Process of elimination showed it was the >>>>>>> monthwindvec image causing them, though not the day, week or year >>>>>>> versions >>>>>>> of that images. >>>>>>> >>>>>>> I suspect data is at the bottom of this, but what data? Nothing odd >>>>>>> in archive.windGust or windGustDir. >>>>>>> >>>>>>> This is the latest WeeWx running on a Debian 12 virtual machine, and >>>>>>> the database has the extended schema. >>>>>>> >>>>>>> Turning on debugging didn't bring any extra information. >>>>>>> >>>>>>> Caught unrecoverable exception in generator >>>>>>> 'weewx.imagegenerator.ImageGenerator' >>>>>>> **** unsupported operand type(s) for -: 'float' and 'str' >>>>>>> **** Traceback (most recent call last): >>>>>>> **** File "/usr/share/weewx/weewx/xtypes.py", line 109, >>>>>>> in get_series >>>>>>> **** return xtype.get_series(obs_type, timespan, >>>>>>> db_manager, aggregate_type, >>>>>>> **** >>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>> **** File "/usr/share/weewx/weewx/xtypes.py", line 1040, >>>>>>> in get_series >>>>>>> **** return ArchiveTable.get_series(obs_type, timespan, >>>>>>> db_manager, aggregate_type, >>>>>>> **** >>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>> **** File "/usr/share/weewx/weewx/xtypes.py", line 210, >>>>>>> in get_series >>>>>>> **** agg_vt = get_aggregate(obs_type, stamp, >>>>>>> do_aggregate, db_manager, >>>>>>> **** >>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>> **** File "/usr/share/weewx/weewx/xtypes.py", line 136, >>>>>>> in get_aggregate >>>>>>> **** return xtype.get_aggregate(obs_type, timespan, >>>>>>> aggregate_type, db_manager, >>>>>>> **** >>>>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>>> **** File "/usr/share/weewx/weewx/xtypes.py", line 1168, >>>>>>> in get_aggregate >>>>>>> **** xsum += mag * math.cos(math.radians(90.0 - >>>>>>> direction)) >>>>>>> **** >>>>>>> ~~~~~^~~~~~~~~~~ >>>>>>> **** TypeError: unsupported operand type(s) for -: 'float' >>>>>>> and 'str' >>>>>>> **** >>>>>>> **** During handling of the above exception, another >>>>>>> exception occurred: >>>>>>> **** >>>>>>> **** Traceback (most recent call last): >>>>>>> **** File "/usr/share/weewx/weewx/reportengine.py", line >>>>>>> 248, in run >>>>>>> **** obj.start() >>>>>>> **** File "/usr/share/weewx/weewx/reportengine.py", line >>>>>>> 465, in start >>>>>>> >>>>>> -- >>>>>> 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 visit >>>>>> https://groups.google.com/d/msgid/weewx-user/e8d2f679-c9e7-46a2-9588-652cf0852a90n%40googlegroups.com >>>>>> <https://groups.google.com/d/msgid/weewx-user/e8d2f679-c9e7-46a2-9588-652cf0852a90n%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 visit >>> https://groups.google.com/d/msgid/weewx-user/456aeb45-2d77-4136-bea2-22b0ecfb2004n%40googlegroups.com >>> <https://groups.google.com/d/msgid/weewx-user/456aeb45-2d77-4136-bea2-22b0ecfb2004n%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 visit > https://groups.google.com/d/msgid/weewx-user/863b352f-18cd-47c5-9e7b-000a8f8c1755n%40googlegroups.com > <https://groups.google.com/d/msgid/weewx-user/863b352f-18cd-47c5-9e7b-000a8f8c1755n%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 visit https://groups.google.com/d/msgid/weewx-user/CAPq0zEBJZv%3DNSWf4xboT29WitmMP2CjWUtgJpz0zqBBEKOx%3DaA%40mail.gmail.com.
