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.

Reply via email to