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/e72176ae-d3bf-4b44-9bef-9798b3ac9104n%40googlegroups.com.

Reply via email to