Did you add "user.historygenerator.MyXSearch" to the search_list_extensions under [CheetahGenerator] in Belchertown skin.conf?
On Friday, 27 June 2025 at 19:13:49 UTC+1 Ton Karsten wrote: > Thanks for this information. > I copied the above information into weew.conf and into the records.inc > file. > Now I get the following error messages: > ~ $ sudo journalctl -u weewx -f > jun 27 19:58:18 Raspberry weewxd[783]: INFO weewx.restx: AWEKAS: Posting > not enabled. > Jun 27 19:58:18 Raspberry weewxd[783]: INFO user.wcloud: service version > is 0.13 > Jun 27 19:58:18 Raspberry weewxd[783]: INFO user.wcloud: Data will be > uploaded for id=110ae4fad479e3b3 > Jun 27 19:58:18 Raspberry weewxd[783]: INFO weewx.engine: 'pyephem' > detected, extended almanac data is available > Jun 27 19:58:18 Raspberry weewxd[783]: INFO __main__: Starting up weewx > version 5.0.2 > Jun 27 19:58:18 Raspberry weewxd[783]: INFO weewx.engine: Using binding > 'wx_binding' to database 'weewx.sdb' > Jun 27 19:58:18 Raspberry weewxd[783]: INFO weewx.manager: Starting > backfill of daily summaries > Jun 27 19:58:18 Raspberry weewxd[783]: INFO weewx.manager: Daily summaries > up to date > Jun 27 19:58:18 Raspberry weewxd[783]: INFO weewx.engine: Starting main > packet loop. > Jun 27 19:58:18 Raspberry weewxd.py[783]: weatherflowudp: MainThread: > Listening for UDP broadcasts to IP address <broadcast> on port 50222, with > timeout 90 and share_socket False... > Jun 27 19:59:01 Raspberry weewxd[783]: INFO weewx.manager: Added record > 2025-06-27 20:00:00 CEST (1751047200) to database 'weewx.sdb' > Jun 27 19:59:01 Raspberry weewxd[783]: INFO weewx.manager: Added record > 2025-06-27 20:00:00 CEST (1751047200) to daily summary in 'weewx.sdb' > Jun 27 19:59:01 Raspberry weewxd.py[783]: weatherflowudp: MainThread: > Listening for UDP broadcasts to IP address <broadcast> on port 50222, with > timeout 90 and share_socket False... > Jun 27 19:59:01 Raspberry weewxd[783]: INFO user.belchertown: version 1.3.1 > Jun 27 19:59:01 Raspberry weewxd[783]: INFO weewx.restx: PWSWeather: > Published record 2025-06-27 20:00:00 CEST (1751047200) > Jun 27 19:59:01 Raspberry weewxd[783]: INFO weewx.restx: WOW: Published > record 2025-06-27 20:00:00 CEST (1751047200) > Jun 27 19:59:01 Raspberry weewxd[783]: INFO weewx.restx: Wunderground-PWS: > Published record 2025-06-27 20:00:00 CEST (1751047200) > Jun 27 19:59:03 Raspberry weewxd[783]: ERROR weewx.restx: StationRegistry: > Failed to publish record 2025-06-27 20:00:00 CEST (1751047200): HTTP Error > 429: TOO MANY REQUESTS > Jun 27 19:59:06 Raspberry weewxd[783]: INFO weewx.restx: WeatherCloud: > Published record 2025-06-27 20:00:00 CEST (1751047200) > Jun 27 19:59:10 Raspberry weewxd[783]: ERROR weewx.cheetahgenerator: > Evaluation of template /etc/weewx/skins/Belchertown/records/index.html.tmpl > failed. > Jun 27 19:59:10 Raspberry weewxd[783]: ERROR weewx.cheetahgenerator: **** > Ignoring template /etc/weewx/skins/Belchertown/records/index.html.tmpl > Jun 27 19:59:10 Raspberry weewxd[783]: ERROR weewx.cheetahgenerator: **** > Reason: cannot find 'history_tables' > Jun 27 19:59:10 Raspberry weewxd[783]: ERROR weewx.cheetahgenerator: **** > To debug, try inserting '#errorCatcher Echo' at top of template > Jun 27 19:59:12 Raspberry weewxd[783]: INFO weewx.cheetahgenerator: > Generated 11 files for report Belchertown in 11.38 seconds > Jun 27 19:59:12 Raspberry weewxd[783]: INFO weewx.reportengine: Copied 41 > files to /var/www/html > The nice overview is not created. > What am I doing wrong? > This is my website: http://weerstationnibbixwoud.nl > Greetings, > Ton > > Op woensdag 25 juni 2025 om 16:14:17 UTC+2 schreef Jon B: > >> Yep, I've done that and it seems to work! Putting this here in case >> anyone else wants to do this - still need to finish customising it but this >> is what I added under [StdReport] [[Belchertown]]: >> >> * [[[HistoryColors]]]* >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> * # minvalues and colors and fontColors should contain the same number of >> elements. # # For example, the [min_temp] example below, if the minimum >> temperature measured in # a month is between -50 and -10 (degC) then the >> cell will be shaded in html color code #0029E5. # # colors = background >> color # fontColors = foreground color [optional, defaults to black if >> omitted] [[[[outTemp]]]] [[[[[degree_C]]]]] # These are for Celsius >> minvalues = -50, -30, -28, -26, -24, -22, -20, -18, -16, -14, -12, -10, -8, >> -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, >> 34, 36, 38, 40, 45 colors = "#404240", "#646664", "#8C8A8C", "#B4B2B4", >> "#CCCECC", "#E4E6E4", "#743274", "#AC32AC", "#CC32CC", "#FC32FC", >> "#FC9AFC", "#143dde", "#3466FC", "#349AFC", "#34CEFC", "#34FEFC", >> "#047604", "#049A04", "#04BA04", "#04DE04", "#04FE04", "#FCFE34", >> "#FCEE34", "#FCDE34", "#FCCE34", "#FCBA34", "#FCAA04", "#FC9A04", >> "#FC7604", "#FC0204", "#EC0204", "#CC0204", "#BC0204", "#AC0204", >> "#9C0204", "#8C0204", "#740204", "#5C0204" fontColors = "#bbbbbb", >> "#bbbbbb", "#333333", "#333333", "#333333", "#333333", "#bbbbbb", >> "#bbbbbb", "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", >> "#333333", "#333333", "#333333", "#bbbbbb", "#333333", "#333333", >> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >> "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb" >> [[[[[degree_F]]]]] # Use these for Fahrenheit minvalues = -60, 10, >> 20, 30, 40, 50, 60, 70, 80, 90, 100 colors = "#0029E5", "#0186E7", >> "#02E3EA", "#04EC97", "#05EF3D", "#2BF207", "#8AF408", "#E9F70A", >> "#F9A90B", "#FC4D0D", "#FF0F2D" fontColors = "#FFFFFF", "#FFFFFF", >> "#000000", "#000000", "#000000", "#000000", "#000000", "#000000", >> "#FFFFFF", "#FFFFFF", "#FFFFFF" [[[[rain]]]] [[[[[mm]]]]] # These are >> for mm minvalues = 0, 25, 50, 75, 100, 150, 200, 250, 300, 350 >> colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", "#6c6efc", "#5c5afc", >> "#fc02fc", "#d402d4", "#9c029c", "#6d016d" fontColors = "#333333", >> "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#333333", >> "#333333", "#bbbbbb", "#bbbbbb" # if the summary is to be calculated >> independently, specify here. [[[[[[summary]]]]]] * >> * minvalues = 600, 650, 700, 750, 800, 850, 900, 950, 1000, 1050* >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> * colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", "#6c6efc", >> "#5c5afc", "#fc02fc", "#d402d4", "#9c029c", "#6d016d" fontColors = >> "#333333", "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", >> "#333333", "#333333", "#bbbbbb", "#bbbbbb" [[[[[inch]]]]] # Use these >> instead for inches minvalues = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 colors >> = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", "#6c6efc", "#5c5afc", >> "#fc02fc", "#d402d4", "#9c029c", "#6d016d" fontColors = "#333333", >> "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#333333", >> "#333333", "#bbbbbb", "#bbbbbb" # if the summary is to be calculated >> independently, specify here. [[[[[[summary]]]]]] minvalues = >> 40, 44, 48, 52, 56, 60, 64, 68, 72, 76 colors = "#e6e5fc", >> "#cccafc", "#acaafc", "#8486fc", "#6c6efc", "#5c5afc", "#fc02fc", >> "#d402d4", "#9c029c", "#6d016d" fontColors = "#333333", "#333333", >> "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#333333", "#333333", >> "#bbbbbb", "#bbbbbb" [[[[rainRate]]]] [[[[[mm_per_hour]]]]] # These are >> for mm per hour minvalues = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 >> colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", "#6c6efc", "#5c5afc", >> "#fc02fc", "#d402d4", "#9c029c", "#6d016d" fontColors = "#333333", >> "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#333333", >> "#333333", "#bbbbbb", "#bbbbbb" [[[[[inch_per_hour]]]]] # Use these >> instead for inches per hour minvalues = 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, >> 4, 4.5 colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", "#6c6efc", >> "#5c5afc", "#fc02fc", "#d402d4", "#9c029c", "#6d016d" fontColors = >> "#333333", "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", >> "#333333", "#333333", "#bbbbbb", "#bbbbbb" [[[[rainDays]]]] [[[[[count]]]]] >> minvalues = 1, 5, 10, 15, 20, 25 colors = "#e6e5fc", "#cccafc", >> "#acaafc", "#8486fc", "#6c6efc", "#5c5afc" fontColors = "#333333", >> "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb" >> [[[[[[summary]]]]]] minvalues = 1, 100, 120, 140, 160, 180 >> colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", "#6c6efc", "#5c5afc" >> fontColors = "#333333", "#333333", "#333333", "#333333", "#bbbbbb", >> "#bbbbbb" * >> >> >> *[[[[frostDays]]]] [[[[[count]]]]] minvalues = 1, 3, 5, 7, 9, 11 * >> >> >> >> >> * colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", "#6c6efc", >> "#5c5afc" fontColors = "#333333", "#333333", "#333333", "#333333", >> "#bbbbbb", "#bbbbbb" [[[[[[summary]]]]]] * >> * minvalues = 3, 6, 9, 12, 15, 18* >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> * colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", "#6c6efc", >> "#5c5afc" fontColors = "#333333", "#333333", "#333333", "#333333", >> "#bbbbbb", "#bbbbbb" [[[[windGust]]]] [[[[[meter_per_second]]]]] >> minvalues = 0, 0.3, 1.5, 3.3, 5.4, 7.9, 10.7, 13.8, 17.1, 20.7, 24.4, 28.4, >> 32.6 colors = "#ffffff", "#72d475", "#10cd24", "#00b900", "#f1eea5", >> "#f6ef27", "#fed6d3", "#ffb6b3", "#ff9e9a", "#ff8281", "#ff6160", >> "#ff453c", "#ff200e" fontColors = "#333333", "#333333", "#333333", >> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >> "#333333", "#333333", "#333333", "#333333" [[[[[km_per_hour]]]]] >> minvalues = 0, 1, 5, 11, 19, 29, 39, 50, 61, 74, 88, 102, 118 colors = >> "#ffffff", "#72d475", "#10cd24", "#00b900", "#f1eea5", "#f6ef27", >> "#fed6d3", "#ffb6b3", "#ff9e9a", "#ff8281", "#ff6160", "#ff453c", "#ff200e" >> fontColors = "#333333", "#333333", "#333333", "#333333", "#333333", >> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >> "#333333", "#333333" [[[[[mile_per_hour]]]]] minvalues = 0, 1, 3, 7, >> 12, 18, 24, 31, 38, 46, 54, 63, 72 colors = "#ffffff", "#72d475", >> "#10cd24", "#00b900", "#f1eea5", "#f6ef27", "#fed6d3", "#ffb6b3", >> "#ff9e9a", "#ff8281", "#ff6160", "#ff453c", "#ff200e" fontColors = >> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", "#333333" >> [[[[[knot]]]]] minvalues = 0, 1, 3, 6, 10, 16, 21, 27, 33, 40, 47, 54, >> 63 colors = "#ffffff", "#72d475", "#10cd24", "#00b900", "#f1eea5", >> "#f6ef27", "#fed6d3", "#ffb6b3", "#ff9e9a", "#ff8281", "#ff6160", >> "#ff453c", "#ff200e" fontColors = "#333333", "#333333", "#333333", >> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >> "#333333", "#333333", "#333333", "#333333" [[[HistoryReport]]] # # Settings >> for the HTML month/year color coded summary table generator # # This list >> determines which tables will appear in the history report, as well as in >> which order. history_items = min_temp, avg_temp, max_temp, rain, rain_days, >> max_wind, NOAA # Restrict the size of the table by ignoring everything >> before startdate # Specify in unix epoch time. e.g. 1325376000 is >> 1-Jan-2012 # Note: whatever you specify as startdate, the whole year (or >> better: all # the values availlable for this year) this startdate is >> within, will be included in the table. #startdate = 1325376000 # The >> Raspberry Pi typically takes 15+ seconds to calculate all the summaries >> with a few years of weather date. # refresh_interval is how often in >> minutes the tables are calculated. refresh_interval = 5 [[[[min_temp]]]] >> obs_type = outTemp # obs_type can be any weewx reading >> aggregate_type = min # Any of these: 'sum', 'count', 'avg', >> 'max', 'min' summary_column = true # # You can also use these >> aggregate_types: 'max_ge', 'max_le', 'min_le', 'sum_ge' to count days # >> where an observation is ge: greater of equalto, or le: lessthan or equal to >> a threshold value # To specify this threshold, use: aggregate_threshold = >> [value], [units] # # e.g Specify temperature threshold of 20C: >> aggregate_threshold = 20, degree_C # [[[[avg_temp]]]] obs_type = outTemp >> aggregate_type = avg summary_column = true [[[[max_temp]]]] obs_type = >> outTemp aggregate_type = max summary_column = true * >> >> >> *"max_temp_tableheader_text" = "Maximum Temperature" [[[[rain]]]]* >> >> >> >> >> >> >> >> >> >> >> >> >> >> * obs_type = rain aggregate_type = sum summary_column = true >> [[[[rain_days]]]] obs_type = rain colors = rainDays, count # colors are >> derived from obs_type per default, specify colors from [Colors] to override >> units = "" # Override default table units label >> aggregate_type = sum_ge aggregate_threshold = 1, mm summary_column = true * >> >> >> *[[[[frost_days]]]] obs_type = outTemp colors = frostDays, count # colors >> are derived from obs_type per default, specify colors from [Colors] to >> override* >> >> >> * units = "" # Override default table units label * >> >> *aggregate_type = min_le aggregate_threshold = 0, degree_C* >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> * summary_column = true [[[[max_wind]]]] obs_type = windGust >> aggregate_type = max summary_column = true [[[[NOAA]]]] # # Creates a table >> of links to NOAA reports with the tag $NOAA_table # Comment out >> [[NOAATable]] if you do not need this. # # Where to find the NOAA files and >> how they are named # Uses Python datetime convention >> (docs.python.org/2/library/datetime.html >> <http://docs.python.org/2/library/datetime.html>): # %Y = YYYY, %y = YY, %m >> = MM, etc. # * >> >> >> *year_filename = ../NOAA/NOAA-%Y.txt month_filename = >> ../NOAA/NOAA-%Y-%m.txt* >> >> >> And then in /etc/weewx/skins/Belchertown/records.inc I have the following: >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> *#set $HistoryReport = { 'max_temp': 'Maximum Temperature', >> 'min_temp': 'Minimum Temperature', 'avg_temp': 'Average Temperature', >> 'rain': 'Rainfall Accumulation', 'rain_days': 'Days With At Least 1 mm >> Rainfall', 'frost_days': 'Days of Air Frost', 'max_wind': 'Maximum >> Wind Gust', 'NOAA': 'Month-by-month Data'}#for $key, $label in >> $HistoryReport.items() #if $key in $history_tables #set $table = >> $history_tables[$key] <h3 class="historyHeader">$label</h3> >> <table class="table historyTable text-center"> #if not $table.noaa >> <thead> <tr> <th >> class="head">$table.header.head</th> #for $headervalue >> in $table.header.values <th >> class="month">$gettext($headervalue)</th> #end for >> #if "summary" in $table.header <th >> class="year">$gettext($table.header.summary)</th> #end >> if </tr> </thead> <tbody> >> #for $line in $table.lines <tr> >> <th class="head">$line.head.value</th> #for >> $linevalue in $line.values #set $value = >> $linevalue.value if $linevalue.value else '-' >> #set $style = '' #if $linevalue.value >> #set $style = ' style="background-color:' + >> $linevalue.bgcolor + '; color:' + $linevalue.fontcolor + ';"' >> #end if <td >> class="month"$style>$value</td> #end for >> #if "summary" in $line #set $style = >> ' style="background-color:' + $line.summary.bgcolor + '; color:' + >> $line.summary.fontcolor + ';"' <td >> class="year"$style>$line.summary.value</td> #end if >> </tr> #end for </tbody> >> #else <!-- NOAA-specific rendering --> <thead> >> <tr> <th class="head">$table.header.head</th> >> #for $headervalue in $table.header.values >> <th>$gettext($headervalue)</th> #end for >> </tr> </thead> <tbody> #for >> $line in $table.lines <tr> <th >> class="noaa"> <a href="$line.head.url" >> class="btn btn-sm btn-primary primaryLive btnNOAA">$line.head.value</a> >> </th> #for $linevalue in >> $line.values #set $data = '-' >> #if $linevalue.value #set $data = >> '<a href="' + $linevalue.url + '" class="btn btn-sm btn-light primaryLight >> btnNOAA">' + $linevalue.value + '</a>' #end if >> <td class="noaa">$data</td> >> #end for </tr> #end for >> </tbody> #end if </table> <br> #end if#end for* >> >> >> Which produces this page: https://empslocal.ex.ac.uk/uoeweather/records/ >> >> I think the only other necessary change that I made was adding "version = >> 4.3" at the top of the Belchertown skin.conf file, but obviously this won't >> be necessary when you next update fuzzy-archer skin. >> >> Thanks for your help! >> On Wednesday, 25 June 2025 at 06:56:46 UTC+1 [email protected] wrote: >> >>> It should be possible to move everything you customized in skin.conf >>> under the corresponding sections below [StdReport]. For the "version", >>> which is just for information, I'll fix it in fuzzy-archer for the next >>> version, that it isn't required any more. >>> >>> Jon B schrieb am Dienstag, 24. Juni 2025 um 20:37:37 UTC+2: >>> >>>> Thanks again - I've now got it working. But yes, coding it that way is >>>> obviously not a good idea so I'll now work on implementing it in such a >>>> way >>>> that I don't need to edit the skin.conf >>>> >>>> On Tuesday, 24 June 2025 at 14:15:51 UTC+1 [email protected] wrote: >>>> >>>>> That's in line 18 >>>>> https://github.com/brewster76/fuzzy-archer/blob/master/skins/Bootstrap/skin.conf#L18 >>>>> But you obviously see how you are messing up your skin.conf that will >>>>> be overwritten with the next skin update. >>>>> >>>>> Jon B schrieb am Dienstag, 24. Juni 2025 um 14:46:09 UTC+2: >>>>> >>>>>> Thanks - I did have that there but had commented it out while I was >>>>>> testing things before! >>>>>> >>>>>> I'm now getting a different error, though: >>>>>> >>>>>> 2025-06-24T13:38:16.053220+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: Caught unrecoverable exception in generator >>>>>> 'weewx.cheetahgenerator.CheetahGenerator' >>>>>> 2025-06-24T13:38:16.053295+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** 'version' >>>>>> 2025-06-24T13:38:16.054253+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** Traceback (most recent call last): >>>>>> 2025-06-24T13:38:16.054305+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** File >>>>>> "/usr/share/weewx/weewx/reportengine.py", line 248, in run >>>>>> 2025-06-24T13:38:16.054348+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** obj.start() >>>>>> 2025-06-24T13:38:16.054392+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** File >>>>>> "/usr/share/weewx/weewx/reportengine.py", line 465, in start >>>>>> 2025-06-24T13:38:16.054461+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** self.run() >>>>>> 2025-06-24T13:38:16.054531+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** File >>>>>> "/usr/share/weewx/weewx/cheetahgenerator.py", line 163, in run >>>>>> 2025-06-24T13:38:16.054580+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** >>>>>> self.init_extensions(gen_dict[section_name]) >>>>>> 2025-06-24T13:38:16.054620+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** File >>>>>> "/usr/share/weewx/weewx/cheetahgenerator.py", line 196, in >>>>>> init_extensions >>>>>> 2025-06-24T13:38:16.054665+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** >>>>>> self.search_list_objs.append(klass(self)) >>>>>> 2025-06-24T13:38:16.054707+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** >>>>>> ^^^^^^^^^^^ >>>>>> 2025-06-24T13:38:16.054747+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** File >>>>>> "/etc/weewx/bin/user/historygenerator.py", line 62, in __init__ >>>>>> 2025-06-24T13:38:16.054794+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** >>>>>> self.search_list_extension['fuzzy_archer_version'] = >>>>>> generator.skin_dict['version'] >>>>>> 2025-06-24T13:38:16.054836+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** >>>>>> >>>>>> ~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^ >>>>>> 2025-06-24T13:38:16.054871+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** File >>>>>> "/usr/lib/python3/dist-packages/configobj/__init__.py", line 553, in >>>>>> __getitem__ >>>>>> 2025-06-24T13:38:16.054905+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** val = dict.__getitem__(self, key) >>>>>> 2025-06-24T13:38:16.054940+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >>>>>> 2025-06-24T13:38:16.054975+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** KeyError: 'version' >>>>>> 2025-06-24T13:38:16.055017+01:00 weewxd[3755918]: ERROR >>>>>> weewx.reportengine: **** Generator terminated >>>>>> >>>>>> On Tuesday, 24 June 2025 at 13:32:00 UTC+1 [email protected] wrote: >>>>>> >>>>>>> Here's how fuzzy-archer uses the history report: >>>>>>> https://github.com/brewster76/fuzzy-archer/blob/master/skins/Bootstrap/skin.conf >>>>>>> >>>>>>> First idea: add user.historygenerator.MyXSearch to the >>>>>>> search_list_extensions, just like in line 70: >>>>>>> https://github.com/brewster76/fuzzy-archer/blob/master/skins/Bootstrap/skin.conf#L70 >>>>>>> >>>>>>> >>>>>>> >>>>>>> Jon B schrieb am Dienstag, 24. Juni 2025 um 14:07:08 UTC+2: >>>>>>> >>>>>>>> I'm having a bit of trouble getting it to work. I thought I'd try >>>>>>>> to get it to work in the way that I had it set up before, by editing >>>>>>>> the >>>>>>>> Belchertown skin.conf (I know this is bad practice, but I wanted to >>>>>>>> get the >>>>>>>> new skin version working first before making the changes to weewx.conf >>>>>>>> instead). >>>>>>>> >>>>>>>> I installed the latest version of fuzzy-archer (4.3) and copied the >>>>>>>> following sections into the Belchertown skin.conf: >>>>>>>> >>>>>>>> >>>>>>>> [HistoryColors] >>>>>>>> # minvalues and colors and fontColors should contain the same >>>>>>>> number of elements. >>>>>>>> # >>>>>>>> # For example, the [min_temp] example below, if the minimum >>>>>>>> temperature measured in >>>>>>>> # a month is between -50 and -10 (degC) then the cell will be >>>>>>>> shaded in html color code #0029E5. >>>>>>>> # >>>>>>>> # colors = background color >>>>>>>> # fontColors = foreground color [optional, defaults to black if >>>>>>>> omitted] >>>>>>>> >>>>>>>> [[outTemp]] >>>>>>>> [[[degree_C]]] >>>>>>>> # These are for Celsius >>>>>>>> minvalues = -50, -30, -28, -26, -24, -22, -20, -18, >>>>>>>> -16, -14, -12, -10, -8, -6, -4, -2, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, >>>>>>>> 20, >>>>>>>> 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 45 >>>>>>>> colors = "#404240", "#646664", "#8C8A8C", "#B4B2B4", >>>>>>>> "#CCCECC", "#E4E6E4", "#743274", "#AC32AC", "#CC32CC", "#FC32FC", >>>>>>>> "#FC9AFC", "#143dde", "#3466FC", "#349AFC", "#34CEFC", "#34FEFC", >>>>>>>> "#047604", "#049A04", "#04BA04", "#04DE04", "#04FE04", "#FCFE34", >>>>>>>> "#FCEE34", "#FCDE34", "#FCCE34", "#FCBA34", "#FCAA04", "#FC9A04", >>>>>>>> "#FC7604", "#FC0204", "#EC0204", "#CC0204", "#BC0204", "#AC0204", >>>>>>>> "#9C0204", "#8C0204", "#740204", "#5C0204" >>>>>>>> fontColors = "#bbbbbb", "#bbbbbb", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#333333", >>>>>>>> "#333333", "#333333", "#bbbbbb", "#bbbbbb", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#333333", "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >>>>>>>> "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb", "#bbbbbb" >>>>>>>> [[[degree_F]]] >>>>>>>> # Use these for Fahrenheit >>>>>>>> minvalues = -60, 10, 20, 30, 40, 50, 60, 70, 80, 90, 100 >>>>>>>> colors = "#0029E5", "#0186E7", "#02E3EA", "#04EC97", >>>>>>>> "#05EF3D", "#2BF207", "#8AF408", "#E9F70A", "#F9A90B", "#FC4D0D", >>>>>>>> "#FF0F2D" >>>>>>>> fontColors = "#FFFFFF", "#FFFFFF", "#000000", >>>>>>>> "#000000", "#000000", "#000000", "#000000", "#000000", "#FFFFFF", >>>>>>>> "#FFFFFF", "#FFFFFF" >>>>>>>> >>>>>>>> [[rain]] >>>>>>>> [[[mm]]] >>>>>>>> # These are for mm >>>>>>>> minvalues = 0, 25, 50, 75, 100, 150, 200, 250, 300, 350 >>>>>>>> colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", >>>>>>>> "#6c6efc", "#5c5afc", "#fc02fc", "#d402d4", "#9c029c", "#6d016d" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#bbbbbb", "#333333", "#333333", "#bbbbbb", >>>>>>>> "#bbbbbb" >>>>>>>> # if the summary is to be calculated independently, >>>>>>>> specify here. >>>>>>>> [[[[summary]]]] >>>>>>>> minvalues = 1000, 1100, 1200, 1300, 1400, 1500, >>>>>>>> 1600, 1700, 1800, 1900 >>>>>>>> colors = "#e6e5fc", "#cccafc", "#acaafc", >>>>>>>> "#8486fc", "#6c6efc", "#5c5afc", "#fc02fc", "#d402d4", "#9c029c", >>>>>>>> "#6d016d" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#bbbbbb", "#333333", "#333333", "#bbbbbb", >>>>>>>> "#bbbbbb" >>>>>>>> [[[inch]]] >>>>>>>> # Use these instead for inches >>>>>>>> minvalues = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 >>>>>>>> colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", >>>>>>>> "#6c6efc", "#5c5afc", "#fc02fc", "#d402d4", "#9c029c", "#6d016d" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#bbbbbb", "#333333", "#333333", "#bbbbbb", >>>>>>>> "#bbbbbb" >>>>>>>> # if the summary is to be calculated independently, >>>>>>>> specify here. >>>>>>>> [[[[summary]]]] >>>>>>>> minvalues = 40, 44, 48, 52, 56, 60, 64, 68, 72, 76 >>>>>>>> colors = "#e6e5fc", "#cccafc", "#acaafc", >>>>>>>> "#8486fc", "#6c6efc", "#5c5afc", "#fc02fc", "#d402d4", "#9c029c", >>>>>>>> "#6d016d" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#bbbbbb", "#333333", "#333333", "#bbbbbb", >>>>>>>> "#bbbbbb" >>>>>>>> >>>>>>>> [[rainRate]] >>>>>>>> [[[mm_per_hour]]] >>>>>>>> # These are for mm per hour >>>>>>>> minvalues = 0, 10, 20, 30, 40, 50, 60, 70, 80, 90 >>>>>>>> colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", >>>>>>>> "#6c6efc", "#5c5afc", "#fc02fc", "#d402d4", "#9c029c", "#6d016d" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#bbbbbb", "#333333", "#333333", "#bbbbbb", >>>>>>>> "#bbbbbb" >>>>>>>> [[[inch_per_hour]]] >>>>>>>> # Use these instead for inches per hour >>>>>>>> minvalues = 0, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4, 4.5 >>>>>>>> colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", >>>>>>>> "#6c6efc", "#5c5afc", "#fc02fc", "#d402d4", "#9c029c", "#6d016d" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#bbbbbb", "#333333", "#333333", "#bbbbbb", >>>>>>>> "#bbbbbb" >>>>>>>> >>>>>>>> [[rainDays]] >>>>>>>> [[[count]]] >>>>>>>> minvalues = 1, 5, 10, 15, 20, 25 >>>>>>>> colors = "#e6e5fc", "#cccafc", "#acaafc", "#8486fc", >>>>>>>> "#6c6efc", "#5c5afc" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#bbbbbb" >>>>>>>> [[[[summary]]]] >>>>>>>> minvalues = 1, 100, 120, 140, 160, 180 >>>>>>>> colors = "#e6e5fc", "#cccafc", "#acaafc", >>>>>>>> "#8486fc", "#6c6efc", "#5c5afc" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#bbbbbb", "#bbbbbb" >>>>>>>> >>>>>>>> [[windGust]] >>>>>>>> [[[meter_per_second]]] >>>>>>>> minvalues = 0, 0.3, 1.5, 3.3, 5.4, 7.9, 10.7, 13.8, >>>>>>>> 17.1, 20.7, 24.4, 28.4, 32.6 >>>>>>>> colors = "#ffffff", "#72d475", "#10cd24", "#00b900", >>>>>>>> "#f1eea5", "#f6ef27", "#fed6d3", "#ffb6b3", "#ff9e9a", "#ff8281", >>>>>>>> "#ff6160", "#ff453c", "#ff200e" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333" >>>>>>>> [[[km_per_hour]]] >>>>>>>> minvalues = 0, 1, 5, 11, 19, 29, 39, 50, 61, 74, 88, >>>>>>>> 102, 118 >>>>>>>> colors = "#ffffff", "#72d475", "#10cd24", "#00b900", >>>>>>>> "#f1eea5", "#f6ef27", "#fed6d3", "#ffb6b3", "#ff9e9a", "#ff8281", >>>>>>>> "#ff6160", "#ff453c", "#ff200e" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333" >>>>>>>> [[[mile_per_hour]]] >>>>>>>> minvalues = 0, 1, 3, 7, 12, 18, 24, 31, 38, 46, 54, 63, >>>>>>>> 72 >>>>>>>> colors = "#ffffff", "#72d475", "#10cd24", "#00b900", >>>>>>>> "#f1eea5", "#f6ef27", "#fed6d3", "#ffb6b3", "#ff9e9a", "#ff8281", >>>>>>>> "#ff6160", "#ff453c", "#ff200e" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333" >>>>>>>> [[[knot]]] >>>>>>>> minvalues = 0, 1, 3, 6, 10, 16, 21, 27, 33, 40, 47, 54, >>>>>>>> 63 >>>>>>>> colors = "#ffffff", "#72d475", "#10cd24", "#00b900", >>>>>>>> "#f1eea5", "#f6ef27", "#fed6d3", "#ffb6b3", "#ff9e9a", "#ff8281", >>>>>>>> "#ff6160", "#ff453c", "#ff200e" >>>>>>>> fontColors = "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333", "#333333", "#333333", >>>>>>>> "#333333", "#333333", "#333333", "#333333" >>>>>>>> >>>>>>>> [HistoryReport] >>>>>>>> # >>>>>>>> # Settings for the HTML month/year color coded summary table >>>>>>>> generator >>>>>>>> # >>>>>>>> >>>>>>>> # This list determines which tables will appear in the history >>>>>>>> report, as well as in which order. >>>>>>>> history_items = min_temp, avg_temp, max_temp, rain, rain_days, >>>>>>>> max_wind, NOAA >>>>>>>> >>>>>>>> # Restrict the size of the table by ignoring everything before >>>>>>>> startdate >>>>>>>> # Specify in unix epoch time. e.g. 1325376000 is 1-Jan-2012 >>>>>>>> # Note: whatever you specify as startdate, the whole year (or >>>>>>>> better: all >>>>>>>> # the values availlable for this year) this startdate is >>>>>>>> within, will be included in the table. >>>>>>>> #startdate = 1325376000 >>>>>>>> >>>>>>>> # The Raspberry Pi typically takes 15+ seconds to calculate all >>>>>>>> the summaries with a few years of weather date. >>>>>>>> # refresh_interval is how often in minutes the tables are >>>>>>>> calculated. >>>>>>>> refresh_interval = 5 >>>>>>>> >>>>>>>> [[min_temp]] >>>>>>>> obs_type = outTemp # obs_type can be any >>>>>>>> weewx reading >>>>>>>> aggregate_type = min # Any of these: 'sum', >>>>>>>> 'count', 'avg', 'max', 'min' >>>>>>>> summary_column = true >>>>>>>> >>>>>>>> # >>>>>>>> # You can also use these aggregate_types: 'max_ge', 'max_le', >>>>>>>> 'min_le', 'sum_ge' to count days >>>>>>>> # where an observation is ge: greater of equalto, or le: >>>>>>>> lessthan or equal to a threshold value >>>>>>>> # To specify this threshold, use: aggregate_threshold = >>>>>>>> [value], [units] >>>>>>>> # >>>>>>>> # e.g Specify temperature threshold of 20C: >>>>>>>> aggregate_threshold = 20, degree_C >>>>>>>> # >>>>>>>> >>>>>>>> [[avg_temp]] >>>>>>>> obs_type = outTemp >>>>>>>> aggregate_type = avg >>>>>>>> summary_column = true >>>>>>>> >>>>>>>> [[max_temp]] >>>>>>>> obs_type = outTemp >>>>>>>> aggregate_type = max >>>>>>>> summary_column = true >>>>>>>> >>>>>>>> [[rain]] >>>>>>>> obs_type = rain >>>>>>>> aggregate_type = sum >>>>>>>> summary_column = true >>>>>>>> >>>>>>>> [[rain_days]] >>>>>>>> obs_type = rain >>>>>>>> colors = rainDays, count # colors are derived from obs_type >>>>>>>> per default, specify colors from [Colors] to override >>>>>>>> units = "" # Override default table >>>>>>>> units label >>>>>>>> aggregate_type = sum_ge >>>>>>>> aggregate_threshold = 1, mm >>>>>>>> summary_column = true >>>>>>>> >>>>>>>> [[max_wind]] >>>>>>>> obs_type = windGust >>>>>>>> aggregate_type = max >>>>>>>> summary_column = true >>>>>>>> >>>>>>>> [[NOAA]] >>>>>>>> # >>>>>>>> # Creates a table of links to NOAA reports with the tag >>>>>>>> $NOAA_table >>>>>>>> # Comment out [[NOAATable]] if you do not need this. >>>>>>>> # >>>>>>>> >>>>>>>> # Where to find the NOAA files and how they are named >>>>>>>> # Uses Python datetime convention ( >>>>>>>> docs.python.org/2/library/datetime.html): >>>>>>>> # %Y = YYYY, %y = YY, %m = MM, etc. >>>>>>>> # >>>>>>>> year_filename = NOAA/NOAA-%Y.txt >>>>>>>> month_filename = NOAA/NOAA-%Y-%m.txt >>>>>>>> >>>>>>>> >>>>>>>> In the Belchertown records.inc file I then reference the tables >>>>>>>> using, e.g.: >>>>>>>> >>>>>>>> <h3>$HistoryReport.max_temp</h3> $max_temp_table >>>>>>>> >>>>>>>> However I then get the following error in the logs: >>>>>>>> >>>>>>>> 2025-06-24T12:49:16.627475+01:00 weewxd[3747531]: ERROR >>>>>>>> weewx.cheetahgenerator: Evaluation of template >>>>>>>> /etc/weewx/skins/Belchertown/records/index.html.tmpl failed. >>>>>>>> 2025-06-24T12:49:16.627569+01:00 weewxd[3747531]: ERROR >>>>>>>> weewx.cheetahgenerator: **** Ignoring template >>>>>>>> /etc/weewx/skins/Belchertown/records/index.html.tmpl >>>>>>>> 2025-06-24T12:49:16.627595+01:00 weewxd[3747531]: ERROR >>>>>>>> weewx.cheetahgenerator: **** Reason: cannot find 'HistoryReport' >>>>>>>> 2025-06-24T12:49:16.627620+01:00 weewxd[3747531]: ERROR >>>>>>>> weewx.cheetahgenerator: **** To debug, try inserting '#errorCatcher >>>>>>>> Echo' >>>>>>>> at top of template >>>>>>>> >>>>>>>> >>>>>>>> Any ideas? >>>>>>>> On Monday, 23 June 2025 at 10:54:57 UTC+1 Jon B wrote: >>>>>>>> >>>>>>>>> I like how the default fuzzy-archer tables look, so I think I'll >>>>>>>>> likely just stick with that, at least initially. I'll do some digging >>>>>>>>> to >>>>>>>>> see if I can figure out how to incorporate it within the other skin. >>>>>>>>> If you >>>>>>>>> have any advice, that would be appreciated! >>>>>>>>> >>>>>>>>> On Monday, 23 June 2025 at 09:20:53 UTC+1 [email protected] >>>>>>>>> wrote: >>>>>>>>> >>>>>>>>>> If you are satisfied with what fuzzy-archer produces, you need to >>>>>>>>>> fin d a way to integrate it into the existing pages from >>>>>>>>>> Belchertown. There >>>>>>>>>> are probably many possible approaches. >>>>>>>>>> >>>>>>>>>> If you want to modify what fuzzy-archer produces, read it's >>>>>>>>>> customization guide: >>>>>>>>>> https://github.com/brewster76/fuzzy-archer/wiki/Customization >>>>>>>>>> >>>>>>>>>> Jon B schrieb am Sonntag, 22. Juni 2025 um 16:14:37 UTC+2: >>>>>>>>>> >>>>>>>>>>> I've installed the latest version of the fuzzy-archer skin >>>>>>>>>>> (v4.3, and removed the previous version, as suggested in the >>>>>>>>>>> upgrade >>>>>>>>>>> guide). What should I add to weewx.conf in order to generate the >>>>>>>>>>> coloured >>>>>>>>>>> tables inside the Belchertown skin? >>>>>>>>>>> On Thursday, 19 June 2025 at 22:04:07 UTC+1 Jon B wrote: >>>>>>>>>>> >>>>>>>>>>>> It's version 2.26 (I didn't realise it was so old!) - I'll try >>>>>>>>>>>> updating it and see if that helps. >>>>>>>>>>>> >>>>>>>>>>>> Someone else suggested editing skin.conf but I'll change that >>>>>>>>>>>> as well! >>>>>>>>>>>> On Thursday, 19 June 2025 at 20:09:09 UTC+1 [email protected] >>>>>>>>>>>> wrote: >>>>>>>>>>>> >>>>>>>>>>>>> First and most important advice: do not modify any skin.conf. >>>>>>>>>>>>> You can override any setting in your weewx.conf. >>>>>>>>>>>>> >>>>>>>>>>>>> Second: which version of the skin(s) are you using? >>>>>>>>>>>>> [BootstrapLabels] is from a version that is outdated probably for >>>>>>>>>>>>> years now. >>>>>>>>>>>>> >>>>>>>>>>>>> Jon B schrieb am Donnerstag, 19. Juni 2025 um 17:19:50 UTC+2: >>>>>>>>>>>>> >>>>>>>>>>>>>> I'm using part of the fuzzy-archer skin to generate history >>>>>>>>>>>>>> tables on the records page, in conjunction with the Belchertown >>>>>>>>>>>>>> skin. I'm >>>>>>>>>>>>>> using this on two sites, both of which I set up myself. For one >>>>>>>>>>>>>> site, these >>>>>>>>>>>>>> tables stopped updating at the end of last year. In the logs, I >>>>>>>>>>>>>> get this >>>>>>>>>>>>>> error: >>>>>>>>>>>>>> >>>>>>>>>>>>>> 2025-06-19T15:45:18.871571+01:00 weewxd[121035]: ERROR >>>>>>>>>>>>>> weewx.cheetahgenerator: Evaluation of template >>>>>>>>>>>>>> /etc/weewx/skins/Belchertown/records/index.html.tmpl failed. >>>>>>>>>>>>>> 2025-06-19T15:45:18.872969+01:00 weewxd[121035]: ERROR >>>>>>>>>>>>>> weewx.cheetahgenerator: **** Ignoring template >>>>>>>>>>>>>> /etc/weewx/skins/Belchertown/records/index.html.tmpl >>>>>>>>>>>>>> 2025-06-19T15:45:18.873193+01:00 weewxd[121035]: ERROR >>>>>>>>>>>>>> weewx.cheetahgenerator: **** Reason: cannot find >>>>>>>>>>>>>> 'BootstrapLabels' >>>>>>>>>>>>>> 2025-06-19T15:45:18.873288+01:00 weewxd[121035]: ERROR >>>>>>>>>>>>>> weewx.cheetahgenerator: **** To debug, try inserting >>>>>>>>>>>>>> '#errorCatcher Echo' >>>>>>>>>>>>>> at top of template >>>>>>>>>>>>>> >>>>>>>>>>>>>> I have defined 'BootstrapLabels' in the Belchertown skin.conf >>>>>>>>>>>>>> as follows: >>>>>>>>>>>>>> >>>>>>>>>>>>>> [BootstrapLabels] >>>>>>>>>>>>>> >>>>>>>>>>>>>> # >>>>>>>>>>>>>> # Labels specific to the Bootstrap template >>>>>>>>>>>>>> # >>>>>>>>>>>>>> >>>>>>>>>>>>>> [[headings]] >>>>>>>>>>>>>> front_page = The Weather >>>>>>>>>>>>>> stats = Stats >>>>>>>>>>>>>> history = History >>>>>>>>>>>>>> news = News >>>>>>>>>>>>>> about = About >>>>>>>>>>>>>> last_update = Last updated >>>>>>>>>>>>>> >>>>>>>>>>>>>> [[timespans]] >>>>>>>>>>>>>> day = Last 24 hours >>>>>>>>>>>>>> today = Today # today = any time since >>>>>>>>>>>>>> midnight >>>>>>>>>>>>>> week = This week >>>>>>>>>>>>>> month = This Month >>>>>>>>>>>>>> year = This Year >>>>>>>>>>>>>> ever = Since ever >>>>>>>>>>>>>> >>>>>>>>>>>>>> [[status]] >>>>>>>>>>>>>> latitude = Latitude: >>>>>>>>>>>>>> longitude = Longitude: >>>>>>>>>>>>>> altitude = Altitude: >>>>>>>>>>>>>> station_uptime = Station uptime: >>>>>>>>>>>>>> server_uptime = Server uptime: >>>>>>>>>>>>>> >>>>>>>>>>>>>> [[history_tables]] >>>>>>>>>>>>>> min_temp = Minimum Temperature >>>>>>>>>>>>>> max_temp = Maximum Temperature >>>>>>>>>>>>>> avg_temp = Average Temperature >>>>>>>>>>>>>> rain = Rainfall Accumulation >>>>>>>>>>>>>> rain_days = Days with at least 1 mm rainfall >>>>>>>>>>>>>> sunHours = Total sunshine hours >>>>>>>>>>>>>> max_wind_gust = Maximum Wind Gust >>>>>>>>>>>>>> NOAA = Month-by-month Data >>>>>>>>>>>>>> >>>>>>>>>>>>>> [[minmax]] >>>>>>>>>>>>>> min = Low >>>>>>>>>>>>>> max = High >>>>>>>>>>>>>> >>>>>>>>>>>>>> In the Belchertown records.inc file I then have the following: >>>>>>>>>>>>>> >>>>>>>>>>>>>> #encoding UTF-8 >>>>>>>>>>>>>> <div class="entry-content about-outer" itemprop="text"> >>>>>>>>>>>>>> <h3>$BootstrapLabels.history_tables.max_temp</h3> >>>>>>>>>>>>>> $max_temp_table >>>>>>>>>>>>>> <h3>$BootstrapLabels.history_tables.min_temp</h3> >>>>>>>>>>>>>> $min_temp_table >>>>>>>>>>>>>> <h3>$BootstrapLabels.history_tables.avg_temp</h3> >>>>>>>>>>>>>> $avg_temp_table >>>>>>>>>>>>>> <h3>$BootstrapLabels.history_tables.rain</h3> $rain_table >>>>>>>>>>>>>> <h3>$BootstrapLabels.history_tables.rain_days</h3> >>>>>>>>>>>>>> $rain_days_table >>>>>>>>>>>>>> <h3>$BootstrapLabels.history_tables.sunHours</h3> >>>>>>>>>>>>>> $sunHours_table >>>>>>>>>>>>>> <h3>$BootstrapLabels.history_tables.max_wind_gust</h3> >>>>>>>>>>>>>> $max_wind_gust_table >>>>>>>>>>>>>> <h3>$BootstrapLabels.history_tables.NOAA</h3> $NOAA_table >>>>>>>>>>>>>> </div> >>>>>>>>>>>>>> >>>>>>>>>>>>>> As far as I can tell, everything relating to the history >>>>>>>>>>>>>> tables and the fuzzy-archer skin is the same as in the working >>>>>>>>>>>>>> version that >>>>>>>>>>>>>> I have for the other site. I'm wondering if perhaps something >>>>>>>>>>>>>> updated which >>>>>>>>>>>>>> I'm not aware of (the broken site is my Dad's, and he may have >>>>>>>>>>>>>> run some >>>>>>>>>>>>>> updates without me realising). The broken site isn't publically >>>>>>>>>>>>>> available, >>>>>>>>>>>>>> but the other working one is here in case it's helpful to know >>>>>>>>>>>>>> what the >>>>>>>>>>>>>> setup looks like: >>>>>>>>>>>>>> https://empslocal.ex.ac.uk/uoeweather/records/ >>>>>>>>>>>>>> >>>>>>>>>>>>>> Any advice would be much appreciated! >>>>>>>>>>>>>> >>>>>>>>>>>>> -- 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/f1f0a4c8-bc4a-4daa-9503-1d54e46958b5n%40googlegroups.com.
