wget https://github.com/poblabs/weewx-belchertown/archive/weewx-belchertown-0.1.tar.gz
sudo wee_extension --install weewx-belchertown-0.1.tar.gz
Configure weewx.conf with your options
Restart weewx
--
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 weewx-user+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
--
Highest Temperature | 21.1 °C | August 19, 2018 at 9:56 AM | August 19, 2018 at 9:56 AM | 21.1 °C |
Lowest Temperature | -1.1 °C | August 18, 2018 at 4:58 PM | August 18, 2018 at 4:58 PM | -1.1 °C |
Highest Heat Index | 21.1 °C | August 19, 2018 at 9:56 AM | August 19, 2018 at 9:56 AM | 21.1 °C |
Lowest Wind Chill | 21.1 °C | August 19, 2018 at 9:56 AM | August 19, 2018 at 9:56 AM | August 19, 2018 at 9:56 AM |
Largest Daily Temperature Range | 40.0 °F | August 19, 2018 (Min: 30.0°F - Max: 70.0°F ) | August 19, 2018 (Min: 30.0°F - Max: 70.0°F ) | 40.0 °F |
Smallest Daily Temperature Range | 5.9 °F | August 18, 2018 (Min: 30.0°F - Max: 35.9°F ) | August 18, 2018 (Min: 30.0°F - Max: 35.9°F ) | 5.9 °F |
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/GSrKZEiPqsc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.
Visibility | 3.84 miles |
Highest Daily Rainfall | 0.2 in | August 19, 2018 | August 19, 2018 at 12:00 AM | 0.2 in |
Highest Daily Rainfall Rate | 0.3 mm | August 19, 2018 at 12:00 AM | August 19, 2018 at 12:00 AM | 0.3 mm |
Month with Highest Total Rainfall | 1.0 in | August | August, 2018 | 1.0 in |
Total Rainfall for | 2018 | 25.4 mm | 2018 | 25.4 mm |
forecast_url = "https://api.darksky.net/forecast/%s/%s,%s?units=%s" % ( darksky_secret_key, latitude, longitude, darksky_units )
Visibility | 5.44 $visibility_unit . |
--
Aug 24 00:51:48 wxnuc weewx[10832]: **** default_binding) Aug 24 00:51:48 wxnuc weewx[10832]: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 372, in _getSearchList Aug 24 00:51:48 wxnuc weewx[10832]: **** searchList += obj.get_extension_list(timespan, db_lookup) Aug 24 00:51:48 wxnuc weewx[10832]: **** File "/usr/share/weewx/user/belchertown_highchartsSearchX.py", line 88, in get_extension_list Aug 24 00:51:48 wxnuc weewx[10832]: **** (time_start_vt, time_stop_vt, outTemp_vt) = db_lookup().getSqlVectors(TimeSpan(_start_ts, timespan.stop), 'outTemp') Aug 24 00:51:48 wxnuc weewx[10832]: **** File "/usr/share/weewx/weeutil/weeutil.py", line 315, in __new__ Aug 24 00:51:48 wxnuc weewx[10832]: **** raise ValueError("start time (%d) is greater than stop time (%d)" % (args[0], args[1])) Aug 24 00:51:48 wxnuc weewx[10832]: **** ValueError: start time (1535065200) is greater than stop time (1483228800) Aug 24 00:51:48 wxnuc weewx[10832]: **** Generator terminated Aug 24 00:51:48 wxnuc weewx[10832]: copygenerator: copied 22 files to /var/www/html/weewx/belchertown
I have tried it both on an existing WeeWX installation and a clean install. Rig is a RaspberyPi 3+ with Debian Stretch installed.
Highest Temperature | 0.4 °C | August 24, 2018 at 4:09 PM | August 24, 2018 at 4:09 PM | 0.4 °C |
Lowest Temperature | 0.2 °C | August 24, 2018 at 4:24 PM | August 24, 2018 at 4:24 PM | 0.2 °C |
Highest Heat Index | 0.4 °C | August 24, 2018 at 4:09 PM | August 24, 2018 at 4:09 PM | 0.4 °C |
Lowest Wind Chill | 0.2 °C | August 24, 2018 at 4:24 PM | August 24, 2018 at 4:24 PM | 0.2 °C |
Largest Daily Temperature Range | 0.3 °C | August 24, 2018 (Min: 32.4 °C - Max: 32.7 °C ) | August 24, 2018 (Min: 32.4 °C - Max: 32.7 °C ) | 0.3 °C |
Smallest Daily Temperature Range | 0.3 °C | August 24, 2018 (Min: 32.4 °C - Max: 32.7 °C ) | August 24, 2018 (Min: 32.4 °C - Max: 32.7 °C ) | 0.3 °C |
The timespan parameter that is used in the SLE signatures is a TimeSpan object covering the period of the report. For [[ToDate]] reports this is typically the period covered by the current archive record, for example the last 5 minutes. However, the [[SummaryByMonth]] and [[SummaryByYear]] reports are generated by iterating over all the months and years of data in the archive, so the period covered varies as the cheetahgenerator iterates over the months and/or years. For example, the January 2014 NOAA report will use a timespan of midnight 1 January 2014 until midnight 1 February 2014.
The way the SLEs work is that all listed SLEs are evaluated for each report in a skin, irrespective of whether they are [[SummaryByMonth]], [[SummaryByYear]] or [[ToDate]] reports. So when the January 2014 NOAA report is generated the highchartsDay SLE is evaluated using a timespan of midnight 1 January 2014 until midnight 1 February 2014. Midnight today (24 August 2018) is used as the start time and midnight 1 February 2014 is used as the stop time. Consequently the error hits.
So why does this affect some people some of the time? The answer is in how the [[SummaryByMonth]] and [[SummaryByYear]] reports are generated. Normally only the current year and current month reports are generated, these will not produce the error. However, if a user deletes all of the generated [[SummaryByMonth]] and [[SummaryByYear]] reports then all of the reports are regenerated and the error will bite when a historical report is generated. Same for any one with a clean install with data from more than 1 month in their archive.
Solutions, well a couple come to mind:
1. Create a second skin to generate the [[SummaryByMonth]] and [[SummaryByYear]] reports so you can limit the SLE used.
2. It seems your [[SummaryByMonth]] and [[SummaryByYear]] reports are just the NOAA format reports, perhaps the Standard skin versions could be used, but this may be more complex.
3. Still thinking of number 3.
Gary
Gsry
Can't comment further without seeing a good couple of archive periods of a log extract that includes the full error trace.
Gsry
--
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/GSrKZEiPqsc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.
Gary
Aug 25 00:10:16 stretch21 weewx[26121]: highchartsSearchX: timespan=[2016-01-01 00:00:00 AEST (1451570400) -> 2017-01-01 00:00:00 AEST (1483192800)] _start_ts=1535119200 _end_ts=1535205599
Aug 25 00:10:16 stretch21 weewx[26121]: reportengine: Caught unrecoverable exception in generator weewx.cheetahgenerator.CheetahGenerator
Aug 25 00:10:16 stretch21 weewx[26121]: **** start time (1535119200) is greater than stop time (1483192800)
Aug 25 00:10:16 stretch21 weewx[26121]: **** Traceback (most recent call last):
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/reportengine.py", line 239, in run
Aug 25 00:10:16 stretch21 weewx[26121]: **** obj.start()
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/reportengine.py", line 273, in start
Aug 25 00:10:16 stretch21 weewx[26121]: **** self.run()
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 158, in run
Aug 25 00:10:16 stretch21 weewx[26121]: **** ngen = self.generate(gen_dict[section_name], self.gen_ts)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 232, in generate
Aug 25 00:10:16 stretch21 weewx[26121]: **** ngen += self.generate(section[subsection], gen_ts)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 232, in generate
Aug 25 00:10:16 stretch21 weewx[26121]: **** ngen += self.generate(section[subsection], gen_ts)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 320, in generate
Aug 25 00:10:16 stretch21 weewx[26121]: **** default_binding)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 372, in _getSearchList
Aug 25 00:10:16 stretch21 weewx[26121]: **** searchList += obj.get_extension_list(timespan, db_lookup)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/user/belchertown_highchartsSearchX.py", line 90, in get_extension_list
Aug 25 00:10:16 stretch21 weewx[26121]: **** (time_start_vt, time_stop_vt, outTemp_vt) = db_lookup().getSqlVectors(TimeSpan(_start_ts, timespan.stop), 'outTemp')
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weeutil/weeutil.py", line 315, in __new__
Aug 25 00:10:16 stretch21 weewx[26121]: **** raise ValueError("start time (%d) is greater than stop time (%d)" % (args[0], args[1]))
Aug 25 00:10:16 stretch21 weewx[26121]: **** ValueError: start time (1535119200) is greater than stop time (1483192800)
Aug 25 00:10:16 stretch21 weewx[26121]: **** Generator terminated
I'm convinced. Home now so set up a VM running 3.8.2 with no data in the db. Runs fine. Download user.belchertown_highchartsSearchX.highchartsDay and add a search_list_extensions option to Standard skin.conf using user.belchertown_highchartsSearchX.highchartsDay as the only SLE. Runs without issue (expected). Stop WeeWX, swap in a db with a few months of simulated data and restart WeeWX and the error occurs:
Aug 25 00:10:16 stretch21 weewx[26121]: highchartsSearchX: timespan=[2016-01-01 00:00:00 AEST (1451570400) -> 2017-01-01 00:00:00 AEST (1483192800)] _start_ts=1535119200 _end_ts=1535205599
Aug 25 00:10:16 stretch21 weewx[26121]: reportengine: Caught unrecoverable exception in generator weewx.cheetahgenerator.CheetahGenerator
Aug 25 00:10:16 stretch21 weewx[26121]: **** start time (1535119200) is greater than stop time (1483192800)
Aug 25 00:10:16 stretch21 weewx[26121]: **** Traceback (most recent call last):
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/reportengine.py", line 239, in run
Aug 25 00:10:16 stretch21 weewx[26121]: **** obj.start()
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/reportengine.py", line 273, in start
Aug 25 00:10:16 stretch21 weewx[26121]: **** self.run()
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 158, in run
Aug 25 00:10:16 stretch21 weewx[26121]: **** ngen = self.generate(gen_dict[section_name], self.gen_ts)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 232, in generate
Aug 25 00:10:16 stretch21 weewx[26121]: **** ngen += self.generate(section[subsection], gen_ts)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 232, in generate
Aug 25 00:10:16 stretch21 weewx[26121]: **** ngen += self.generate(section[subsection], gen_ts)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 320, in generate
Aug 25 00:10:16 stretch21 weewx[26121]: **** default_binding)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weewx/cheetahgenerator.py", line 372, in _getSearchList
Aug 25 00:10:16 stretch21 weewx[26121]: **** searchList += obj.get_extension_list(timespan, db_lookup)
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/user/belchertown_highchartsSearchX.py", line 90, in get_extension_list
Aug 25 00:10:16 stretch21 weewx[26121]: **** (time_start_vt, time_stop_vt, outTemp_vt) = db_lookup().getSqlVectors(TimeSpan(_start_ts, timespan.stop), 'outTemp')
Aug 25 00:10:16 stretch21 weewx[26121]: **** File "/home/weewx/bin/weeutil/weeutil.py", line 315, in __new__
Aug 25 00:10:16 stretch21 weewx[26121]:<span style="color: #000;" cl
Gary
There is no conflict/issue with the template, the issue is how SLEs work when used with reports that iterate over a timespan.
Gary
I'm assuming if this is only affecting the highchartsDay class - and not the others - that there's a way to make the day charts play nice with the other SLEs?
My problem is, as follows.
Aug 25 01:10:24 OptiPlex weewx[23765]: acurite: Found station at
bus=002 device=006
Aug 25 01:10:24 OptiPlex weewx[23765]: acurite: next read in 12
seconds
Aug 25 01:10:24 OptiPlex weewx[23765]: cheetahgenerator: using
search list ['weewx.cheetahgenerator.Almanac',
'weewx.cheetahgenerator.Station',
'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats',
'weewx.cheetahgenerator.UnitInfo',
'weewx.cheetahgenerator.Extras', 'user.belchertown.getAllStats',
'user.belchertown.getForecast', 'user.belchertown.getEarthquake',
'user.belchertown.getNOAAdata', 'user.belchertown.getSocialShare',
'user.belchertown_highchartsSearchX.highchartsDay',
'user.belchertown_highchartsSearchX.highchartsWeek',
'user.belchertown_highchartsSearchX.highchartsMonth',
'user.belchertown_highchartsSearchX.highchartsYear']
Aug 25 01:10:24 OptiPlex weewx[23765]: manager: Daily summary
version is 2.0
Aug 25 01:10:24 OptiPlex weewx[23765]: restx: Wunderground-PWS:
Published record 2018-08-25 01:10:00 CDT (1535177400)
Aug 25 01:10:24 OptiPlex weewx[23765]: restx: PWSWeather:
Published record 2018-08-25 01:10:00 CDT (1535177400)
Aug 25 01:10:24 OptiPlex weewx[23765]:
reportengine: Caught unrecoverable exception in generator
weewx.cheetahgenerator.CheetahGenerator
Aug 25 01:10:24 OptiPlex weewx[23765]: **** Error
writing forecast info to public_html/json/darksky_forecast.json.
Reason: [Errno 2] No such file or directory:
'public_html/json/darksky_forecast.json'
Aug 25 01:10:24 OptiPlex weewx[23765]: **** Traceback
(most recent call last):
Aug 25 01:10:24 OptiPlex weewx[23765]: **** File
"/home/weewx/bin/weewx/reportengine.py", line 239, in run
Aug 25 01:10:24 OptiPlex weewx[23765]: ****
obj.start()
Aug 25 01:10:24 OptiPlex weewx[23765]: **** File
"/home/weewx/bin/weewx/reportengine.py", line 273, in start
Aug 25 01:10:24 OptiPlex weewx[23765]: ****
self.run()
Aug 25 01:10:24 OptiPlex weewx[23765]: **** File
"/home/weewx/bin/weewx/cheetahgenerator.py", line 158, in run
Aug 25 01:10:24 OptiPlex weewx[23765]: **** ngen =
self.generate(gen_dict[section_name], self.gen_ts)
Aug 25 01:10:24 OptiPlex weewx[23765]: **** File
"/home/weewx/bin/weewx/cheetahgenerator.py", line 232, in
generate
Aug 25 01:10:24 OptiPlex weewx[23765]: **** ngen +=
self.generate(section[subsection], gen_ts)
Aug 25 01:10:24 OptiPlex weewx[23765]: **** File
"/home/weewx/bin/weewx/cheetahgenerator.py", line 232, in
generate
Aug 25 01:10:24 OptiPlex weewx[23765]: **** ngen +=
self.generate(section[subsection], gen_ts)
Aug 25 01:10:24 OptiPlex weewx[23765]: **** File
"/home/weewx/bin/weewx/cheetahgenerator.py", line 320, in
generate
Aug 25 01:10:24 OptiPlex weewx[23765]: ****
default_binding)
Aug 25 01:10:24 OptiPlex weewx[23765]: **** File
"/home/weewx/bin/weewx/cheetahgenerator.py", line 372, in
_getSearchList
Aug 25 01:10:24 OptiPlex weewx[23765]: ****
searchList += obj.get_extension_list(timespan, db_lookup)
Aug 25 01:10:24 OptiPlex weewx[23765]: **** File
"/home/weewx/bin/user/belchertown.py", line 311, in
get_extension_list
Aug 25 01:10:24 OptiPlex weewx[23765]: **** raise
ValueError( "Error writing forecast info to %s. Reason: %s" % (
forecast_file, e) )
Aug 25 01:10:24 OptiPlex weewx[23765]: **** ValueError:
Error writing forecast info to
public_html/json/darksky_forecast.json. Reason: [Errno 2] No
such file or directory: 'public_html/json/darksky_forecast.json'
Aug 25 01:10:24 OptiPlex weewx[23765]: **** Generator
terminated
Aug 25 01:10:24 OptiPlex weewx[23765]: copygenerator: copied 1
files to /home/weewx/public_html
Aug 25 01:10:24 OptiPlex weewx[23765]: reportengine: Running
report FTP
Aug 25 01:10:24 OptiPlex weewx[23765]: reportengine: Found
configuration file /home/weewx/skins/Ftp/skin.conf for report FTP
Aug 25 01:10:24 OptiPlex weewx[23765]: ftpupload: Attempting
connection to ftp.w0avq.org
Aug 25 01:10:25 OptiPlex weewx[23765]: ftpupload: Connected to
ftp.w0avq.org
Aug 25 01:10:26 OptiPlex weewx[23765]: ftpupload: Uploaded file
/weather/style.css
Aug 25 01:10:27 OptiPlex weewx[23765]: ftpupload: Made directory
/weather/json/darksky_forecast.json
Aug 25 01:10:28 OptiPlex weewx[23765]: ftpgenerator: ftp'd 1 files
in 3.64 seconds
Aug 25 01:10:28 OptiPlex weewx[23765]: reportengine: Running
report RSYNC
Aug 25 01:10:28 OptiPlex weewx[23765]: reportengine: Found
configuration file /home/weewx/skins/Rsync/skin.conf for report
RSYNC
Aug 25 01:10:28 OptiPlex weewx[23765]: rsyncgenerator: rsync
upload not requested. Skipped.
Aug 25 01:10:36 OptiPlex weewx[23765]: acurite: Found station at
bus=002 device=006
--
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/GSrKZEiPqsc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+unsubscribe@googlegroups.com.
--
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/GSrKZEiPqsc/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.
Thanks Pat. I moved the options into weewx.conf after reading that suggestion.
OK, I will try that and see if that gets the rest going.
The Belchertown skin for weewx is now available. This skin is modeled after https://belchertownweather.comThe skin features
- Real time streaming updates on the front page without needing to reload the site (weewx-mqtt extension required)
- Forecast data updated every hour without needing to reload (a free DarkSky API key required)
- Information on your closest Earthquake updated automatically every 3 hours
- Weather station observation graphs which update without needing to reload
- Weather records for the current year, and for all time
- A mobile and iPad ready display. You could use an iPad as a "2nd console".
There are dozens of options to configure within the skin. Please view the readme on GitHub for a detailed explanation.The GitHub page: https://github.com/poblabs/weewx-belchertownDirect download of v0.1: https://github.com/poblabs/weewx-belchertown/archive/weewx-belchertown-0.1.tar.gzQuick install:
wget https://github.com/poblabs/weewx-belchertown/archive/weewx-belchertown-0.1.tar.gz
sudo wee_extension --install weewx-belchertown-0.1.tar.gz
Configure weewx.conf with your options
Restart weewxOut of the box, it is a very basic theme. Make sure to check out the readme for all options available!This is my first skin, and I've done all I could to test it out in various environments to iron out any initial bugs. If you do find something that's a little off, or room for improvement, please let me know!
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 weewx-user+...@googlegroups.com.
--
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 weewx-user+...@googlegroups.com.