Thanks Jonis, The following log extract captures the error along with a few extra details from tags.py, in particular the timespan being used by the $week.wind.avg call that caused the error
Nov 13 12:31:52 SkyWeather weewx[17639]: ObservationBinder._do_query: timespan=[2018-11-03 00:00:00 -03 (1541214000) -> 2018-11-04 01:00:00 -02 ( 1541300400)] aggregate_type=avg val=None Nov 13 12:31:52 SkyWeather weewx[17639]: ObservationBinder._do_query: data_binding=None Nov 13 12:31:52 SkyWeather weewx[17639]: ObservationBinder._do_query: first_timestamp=1527810600 last_timestamp=1542119400 Nov 13 12:31:52 SkyWeather weewx[17639]: cheetahgenerator: Generate failed with exception '<class 'weedb.NoColumnError'>' Nov 13 12:31:52 SkyWeather weewx[17639]: cheetahgenerator: **** Ignoring template /etc/weewx/skins/Belchertown/NOAA/NOAA-YYYY-MM.txt.tmpl Nov 13 12:31:52 SkyWeather weewx[17639]: cheetahgenerator: **** Reason: ( 1054, "Unknown column 'wind' in 'field list'") Nov 13 12:31:52 SkyWeather weewx[17639]: **** Traceback (most recent call last): Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 330, in generate Nov 13 12:31:52 SkyWeather weewx[17639]: **** print >> _file, compiled_template Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1005, in __str__ Nov 13 12:31:52 SkyWeather weewx[17639]: **** rc = getattr(self, mainMethName)() Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "_etc_weewx_skins_Belchertown_NOAA_NOAA_YYYY_MM_txt_tmpl.py", line 451, in respond Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "_etc_weewx_skins_Belchertown_NOAA_NOAA_YYYY_MM_txt_tmpl.py", line 224, in __errorCatcher23 Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "<string>", line 1, in <module> Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/share/weewx/weewx/tags.py", line 332, in __getattr__ Nov 13 12:31:52 SkyWeather weewx[17639]: **** return self._do_query( aggregate_type) Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/share/weewx/weewx/tags.py", line 350, in _do_query Nov 13 12:31:52 SkyWeather weewx[17639]: **** val=val, **self. option_dict) Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/share/weewx/weewx/wxmanager.py", line 60, in getAggregate Nov 13 12:31:52 SkyWeather weewx[17639]: **** return weewx.manager. DaySummaryManager.getAggregate(self, timespan, obs_type, aggregateType, ** option_dict) Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/share/weewx/weewx/manager.py", line 1249, in getAggregate Nov 13 12:31:52 SkyWeather weewx[17639]: **** **option_dict) Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/share/weewx/weewx/manager.py", line 458, in getAggregate Nov 13 12:31:52 SkyWeather weewx[17639]: **** _row = self.getSql(select_stmt % interpolate_dict) Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/share/weewx/weewx/manager.py", line 394, in getSql Nov 13 12:31:52 SkyWeather weewx[17639]: **** _cursor.execute(sql, sqlargs) Nov 13 12:31:52 SkyWeather weewx[17639]: **** File "/usr/share/weewx/weedb/mysql.py", line 48, in guarded_fn Nov 13 12:31:52 SkyWeather weewx[17639]: **** raise klass(e) Nov 13 12:31:52 SkyWeather weewx[17639]: **** NoColumnError: (1054, "Unknown column 'wind' in 'field list'") At first glance the timespan appears wrong 00:00:00 -> 00:01:00, but that agrees with the dateTime filed in archive_day_wind (dateTime fields are midnight values calculated by weeWX): MariaDB [weewx]> SELECT dateTime,max FROM archive_day_wind ORDER BY dateTime DESC LIMIT 32; +------------+---------------+ | dateTime | max | +------------+---------------+ | 1542074400 | 27.9085344298 | | 1541988000 | 25.0258600554 | | 1541901600 | 24.9870900035 | | 1541815200 | 27.5289972104 | | 1541728800 | 29.3639762739 | | 1541642400 | 25.3571126701 | | 1541556000 | 25.0108380298 | | 1541469600 | 26.9323996768 | | 1541383200 | 26.3870808852 | | 1541300400 | 24.9563264287 | | 1541214000 | 29.2825768668 | | 1541127600 | 65.639768948 | Unfortunately, when weeWX determines whether to use the daily summaries or archive for an aggregate one of the conditions that is checked (in this case) is whether the start and stop timestamps of that timespan are on midnight boundaries. According to the weeWX isMidnight function the timestamp 1541300400 is not a 'midnight'. Thus weeWX determines that it cannot use the daily summaries for $day.wind.avg for 3 November and tries to hit the archive and consequently we get the field not found error. So that is the mechanism that is occurring in this case, as for a fix that is a little more problematic. Simply rebuilding the daily summaries will have no effect, as weeWX will continue to use 1541300400 as the midnight timestamp on 4 November and at the same time isMidnight will continue to say that 1541300400 is not a 'midnight'. I suspect the issue is tied to the fact that the Brazilian changeover time for daylight saving is midnight and linux/python gets a little confused with the 12:00/01:00 issue. I had hoped that perhaps a linux update tzdata update may solve the issue but my up-to-date Stretch 9.6 VM exhibits the same error when I run the simulator in generator mode over the 3/4 November period. The problem I can't fathom is why has this not happened before, the error is not one that silently disappears in the hour after changeover, this error will continue as long as weeWX is run with data in a database covering 3/4 November. It also doesn't explain why a fresh install suffered the same issue, unless somehow the old database was still being used, though the log extract does not support this. Still confused. TOM !? Gary On Wednesday, 14 November 2018 00:36:12 UTC+10, Jonis Maurin Ceará wrote: > > Gary, I've sent logs direct to you. > > > Em seg, 12 de nov de 2018 às 23:17, gjr80 <[email protected] > <javascript:>> escreveu: > >> Tom is the author/developer, the rest of us just help out where/when we >> can. >> >> I have attached a version of tags.py with some extra logging to >> hopefully give us a clue why things are happening. What I would like you to >> do on your problem install is: >> >> 1. rename /usr/share/weewx/weewx/tags.py as tags_orig.py >> >> $ sudo mv /usr/share/weewx/weewx/tags.py /usr/share/weewx/weewx/tags_orig >> .py >> >> 2. download/copy the attached tags.py to /usr/share/weewx/weewx >> >> 3. restart weeWX. >> >> 4. Post the log from weeWX startup through until the error occurs. >> >> 5. Start a MySQL/Mariadb shell and run the following commands: >> >> > USE weewx; >> > SELECT dateTime,max FROM archive_day_wind ORDER BY dateTime DESC LIMIT >> 32; >> >> 6. Post the output from the above commands. >> >> To revert the tags.py changes just delete tags.py and rename tags_orig.py >> back to tags.py and restart weeWX. >> >> Gary >> >> On Tuesday, 13 November 2018 09:18:48 UTC+10, Jonis Maurin Ceará wrote: >>> >>> I'm not sure who is the mais author/developer, but I can give you access >>> to my station. It's in use right now, but is not imperative to keep online >>> 24/7, so you can access and check/test. The only thing is that I'm using my >>> old mysql database....but. like I said before, I've made tests with clean >>> and new database (sqlite and mysql). If you like, you can test and >>> re-create those databases again......just don't delete my old mysql >>> database :) >>> >>> >>> Em seg, 12 de nov de 2018 às 20:43, gjr80 <[email protected]> escreveu: >>> >>>> Tom, yes knew that was going on as soon as I saw the error message. >>>> Just having a trouble finding out why. Somewhere a timestamp must be >>>> missing a day boundary but I haven't yet worked out which. Particularly >>>> confusing when a clean database exhibits the same problem immediately. >>>> Also >>>> odd that week.html.tmpl throws the error but month.html.tmpl and >>>> year.html.tmpl do not which suggests week.wind is the culprit. Really want >>>> to see some of the timestamps being used to try and work out what is being >>>> used and why. >>>> >>>> Gary >>>> >>>> -- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "weewx-user" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/weewx-user/llOh8p8emYY/unsubscribe. >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >> You received this message because you are subscribed to a topic in the >> Google Groups "weewx-user" group. >> To unsubscribe from this topic, visit >> https://groups.google.com/d/topic/weewx-user/llOh8p8emYY/unsubscribe. >> To unsubscribe from this group and all its topics, send an email to >> [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > -- 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]. For more options, visit https://groups.google.com/d/optout.
