Sorry for the delayed reply. It seems that I'm already running the latest version of the Belchertown skin. weectl extension list returns Version 1.3.1
On Sunday, 26 October 2025 at 08:22:08 UTC-6 Tom Keffer wrote: > Try upgrading the Belchertown skin. > > On Sat, Oct 25, 2025 at 8:14 PM Jon B <[email protected]> wrote: > >> My dad recently upgraded weewx for his Davis Vantage Pro2 to version 5.2 >> and it's not fully working any more. He's using the Belchertown skin on >> Ubuntu (I think). Here is a section from the logs: >> >> 2025-10-23T23:10:15.901050+01:00 weewxd[4698]: DEBUG >> weewx.drivers.vantage: Getting archive packets since 2025-10-23 23:05:00 >> BST (1761257100) >> 2025-10-23T23:10:16.408056+01:00 weewxd[4698]: DEBUG >> weewx.drivers.vantage: Successfully woke up Vantage console >> 2025-10-23T23:10:16.429478+01:00 weewxd[4698]: DEBUG >> weewx.drivers.vantage: Retrieving 1 page(s); starting index= 4 >> 2025-10-23T23:10:16.572128+01:00 weewxd[4698]: INFO user.sunduration: >> Sunshine duration from loop packets = 0.000000 min >> 2025-10-23T23:10:16.624541+01:00 weewxd[4698]: INFO weewx.manager: Added >> record 2025-10-23 23:10:00 BST (1761257400) to database 'weewx.sdb' >> 2025-10-23T23:10:16.654449+01:00 weewxd[4698]: INFO weewx.manager: Added >> record 2025-10-23 23:10:00 BST (1761257400) to daily summary in 'weewx.sdb' >> 2025-10-23T23:10:16.687827+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Running reports for latest time in the database. >> 2025-10-23T23:10:16.688035+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Report 'SeasonsReport' not enabled. Skipping. >> 2025-10-23T23:10:16.688166+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Report 'SmartphoneReport' not enabled. Skipping. >> 2025-10-23T23:10:16.688293+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Report 'MobileReport' not enabled. Skipping. >> 2025-10-23T23:10:16.688424+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Report 'StandardReport' not enabled. Skipping. >> 2025-10-23T23:10:16.688560+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Running report 'Belchertown' >> 2025-10-23T23:10:16.702619+01:00 weewxd[4698]: DEBUG >> weewx.drivers.vantage: Requesting 200 LOOP packets. >> 2025-10-23T23:10:16.713309+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Found configuration file /etc/weewx/skins/Belchertown/skin.conf for report >> 'Belchertown' >> 2025-10-23T23:10:16.726182+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Running generators for report 'Belchertown' in directory >> '/etc/weewx/skins/Belchertown' with locale 'en_GB.UTF-8' >> 2025-10-23T23:10:16.731197+01:00 weewxd[4698]: DEBUG >> weewx.cheetahgenerator: Using search list ['user.belchertown.getData', >> 'user.historygenerator.MyXSearch', 'weewx.cheetahgenerator.Almanac', >> 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.DisplayOptions', >> 'weewx.cheetahgenerator.Extras', 'weewx.cheetahgenerator.Gettext', >> 'weewx.cheetahgenerator.JSONHelpers', 'weewx.cheetahgenerator.PlotInfo', >> 'weewx.cheetahgenerator.SkinInfo', 'weewx.cheetahgenerator.Station', >> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo'] >> 2025-10-23T23:10:16.731584+01:00 weewxd[4698]: DEBUG >> user.historygenerator: Navigation: No historygenerator.py specific labels >> found >> 2025-10-23T23:10:16.731697+01:00 weewxd[4698]: DEBUG >> user.historygenerator: StationInfo: No historygenerator.py specific labels >> found >> 2025-10-23T23:10:16.731791+01:00 weewxd[4698]: DEBUG >> user.historygenerator: TranslationLinks: No historygenerator.py specific >> labels found >> 2025-10-23T23:10:16.731869+01:00 weewxd[4698]: DEBUG >> user.historygenerator: ImageGenerator: No historygenerator.py specific >> labels found >> 2025-10-23T23:10:16.731967+01:00 weewxd[4698]: DEBUG >> user.historygenerator: BootstrapLabels: No historygenerator.py specific >> labels found >> 2025-10-23T23:10:16.732047+01:00 weewxd[4698]: DEBUG >> user.historygenerator: JSONGenerator: No historygenerator.py specific >> labels found >> 2025-10-23T23:10:16.732139+01:00 weewxd[4698]: DEBUG >> user.historygenerator: LiveGauges: No historygenerator.py specific labels >> found >> 2025-10-23T23:10:16.732216+01:00 weewxd[4698]: DEBUG >> user.historygenerator: Stats: No historygenerator.py specific labels found >> 2025-10-23T23:10:16.732336+01:00 weewxd[4698]: DEBUG >> user.historygenerator: News: No historygenerator.py specific labels found >> 2025-10-23T23:10:16.732415+01:00 weewxd[4698]: DEBUG >> user.historygenerator: LiveCharts: No historygenerator.py specific labels >> found >> 2025-10-23T23:10:16.732523+01:00 weewxd[4698]: DEBUG >> user.historygenerator: locale: No historygenerator.py specific labels found >> 2025-10-23T23:10:16.737843+01:00 weewxd[4698]: DEBUG weewx.manager: >> Daily summary version is 4.0 >> 2025-10-23T23:10:16.772512+01:00 weewxd[4698]: ERROR weewx.reportengine: >> Caught unrecoverable exception in generator >> 'weewx.cheetahgenerator.CheetahGenerator' >> 2025-10-23T23:10:16.772686+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** 'group_sun' >> 2025-10-23T23:10:16.802108+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** Traceback (most recent call last): >> 2025-10-23T23:10:16.802315+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/reportengine.py", line 248, in >> run >> 2025-10-23T23:10:16.802412+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** obj.start() >> 2025-10-23T23:10:16.802489+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/reportengine.py", line 465, in >> start >> 2025-10-23T23:10:16.802561+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** self.run() >> 2025-10-23T23:10:16.802632+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line >> 166, in run >> 2025-10-23T23:10:16.802709+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** ngen = self.generate(gen_dict[section_name], >> section_name, self.gen_ts) >> 2025-10-23T23:10:16.802780+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.802853+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line >> 226, in generate >> 2025-10-23T23:10:16.802943+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** ngen += self.generate(section[subsection], subsection, >> gen_ts) >> 2025-10-23T23:10:16.803017+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.803089+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line >> 226, in generate >> 2025-10-23T23:10:16.803161+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** ngen += self.generate(section[subsection], subsection, >> gen_ts) >> 2025-10-23T23:10:16.803232+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.803330+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line >> 309, in generate >> 2025-10-23T23:10:16.803411+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** searchList = self._getSearchList(encoding, timespan, >> 2025-10-23T23:10:16.803483+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.803554+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line >> 401, in _getSearchList >> 2025-10-23T23:10:16.803628+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** search_list += obj.get_extension_list(timespan, db_lookup) >> 2025-10-23T23:10:16.803701+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.803773+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/etc/weewx/bin/user/belchertown.py", line 797, in >> get_extension_list >> 2025-10-23T23:10:16.803843+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** sun_unit = converter.group_unit_dict["group_sun"] >> 2025-10-23T23:10:16.803919+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.803985+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/lib/python3.12/collections/__init__.py", line >> 1015, in __getitem__ >> 2025-10-23T23:10:16.804053+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** return self.__missing__(key) # support >> subclasses that define __missing__ >> 2025-10-23T23:10:16.804120+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** ^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.804180+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** File "/usr/lib/python3.12/collections/__init__.py", line >> 1007, in __missing__ >> 2025-10-23T23:10:16.804280+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** raise KeyError(key) >> 2025-10-23T23:10:16.804360+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** KeyError: 'group_sun' >> 2025-10-23T23:10:16.804428+01:00 weewxd[4698]: ERROR weewx.reportengine: >> **** Generator terminated >> 2025-10-23T23:10:16.806325+01:00 weewxd[4698]: Traceback (most recent >> call last): >> 2025-10-23T23:10:16.807242+01:00 weewxd[4698]: File >> "/usr/share/weewx/weewx/reportengine.py", line 248, in run >> 2025-10-23T23:10:16.807474+01:00 weewxd[4698]: obj.start() >> 2025-10-23T23:10:16.807584+01:00 weewxd[4698]: File >> "/usr/share/weewx/weewx/reportengine.py", line 465, in start >> 2025-10-23T23:10:16.807665+01:00 weewxd[4698]: self.run() >> 2025-10-23T23:10:16.807739+01:00 weewxd[4698]: File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 166, in run >> 2025-10-23T23:10:16.807873+01:00 weewxd[4698]: ngen = >> self.generate(gen_dict[section_name], section_name, self.gen_ts) >> 2025-10-23T23:10:16.807958+01:00 weewxd[4698]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.808040+01:00 weewxd[4698]: File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate >> 2025-10-23T23:10:16.808121+01:00 weewxd[4698]: ngen += >> self.generate(section[subsection], subsection, gen_ts) >> 2025-10-23T23:10:16.808204+01:00 weewxd[4698]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.808315+01:00 weewxd[4698]: File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 226, in generate >> 2025-10-23T23:10:16.808398+01:00 weewxd[4698]: ngen += >> self.generate(section[subsection], subsection, gen_ts) >> 2025-10-23T23:10:16.808480+01:00 weewxd[4698]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.808610+01:00 weewxd[4698]: File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 309, in generate >> 2025-10-23T23:10:16.808704+01:00 weewxd[4698]: searchList = >> self._getSearchList(encoding, timespan, >> 2025-10-23T23:10:16.808818+01:00 weewxd[4698]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.808908+01:00 weewxd[4698]: File >> "/usr/share/weewx/weewx/cheetahgenerator.py", line 401, in _getSearchList >> 2025-10-23T23:10:16.808992+01:00 weewxd[4698]: search_list += >> obj.get_extension_list(timespan, db_lookup) >> 2025-10-23T23:10:16.809071+01:00 weewxd[4698]: >> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.809150+01:00 weewxd[4698]: File >> "/etc/weewx/bin/user/belchertown.py", line 797, in get_extension_list >> 2025-10-23T23:10:16.809231+01:00 weewxd[4698]: sun_unit = >> converter.group_unit_dict["group_sun"] >> 2025-10-23T23:10:16.809340+01:00 weewxd[4698]: >> ~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.809426+01:00 weewxd[4698]: File >> "/usr/lib/python3.12/collections/__init__.py", line 1015, in __getitem__ >> 2025-10-23T23:10:16.809509+01:00 weewxd[4698]: return >> self.__missing__(key) # support subclasses that define >> __missing__ >> 2025-10-23T23:10:16.809592+01:00 weewxd[4698]: >> ^^^^^^^^^^^^^^^^^^^^^ >> 2025-10-23T23:10:16.809804+01:00 weewxd[4698]: File >> "/usr/lib/python3.12/collections/__init__.py", line 1007, in __missing__ >> 2025-10-23T23:10:16.809983+01:00 weewxd[4698]: raise KeyError(key) >> 2025-10-23T23:10:16.810116+01:00 weewxd[4698]: KeyError: 'group_sun' >> 2025-10-23T23:10:16.810832+01:00 weewxd[4698]: INFO weewx.reportengine: >> Copied 3 files to /var/www/html/weewx/belchertown >> 2025-10-23T23:10:16.833554+01:00 weewxd[4698]: DEBUG weewx.manager: >> Daily summary version is 4.0 >> 2025-10-23T23:10:17.220871+01:00 weewxd[4698]: DEBUG >> weewx.drivers.vantage: Successfully woke up Vantage console >> 2025-10-23T23:10:17.283215+01:00 weewxd[4698]: DEBUG user.sunduration: >> Calculated LOOP sunshine_time = 1.000000, based on radiation = 0.000000, >> and threshold = 0.000000 >> 2025-10-23T23:10:17.894062+01:00 weewxd[4698]: DEBUG user.sunduration: >> Calculated LOOP sunshine_time = 1.000000, based on radiation = 0.000000, >> and threshold = 0.000000 >> 2025-10-23T23:10:17.951423+01:00 weewxd[4698]: INFO weewx.restx: WOW: >> Published record 2025-10-23 23:10:00 BST (1761257400) >> 2025-10-23T23:10:18.176479+01:00 weewxd[4698]: INFO weewx.restx: >> Wunderground-PWS: Published record 2025-10-23 23:10:00 BST (1761257400) >> 2025-10-23T23:10:19.894694+01:00 weewxd[4698]: DEBUG user.sunduration: >> Calculated LOOP sunshine_time = 2.000000, based on radiation = 0.000000, >> and threshold = 0.000000 >> 2025-10-23T23:10:20.435013+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Report 'FTP' not enabled. Skipping. >> 2025-10-23T23:10:20.435195+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Running report 'RSYNC' >> 2025-10-23T23:10:20.436971+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Found configuration file /etc/weewx/skins/Rsync/skin.conf for report 'RSYNC' >> 2025-10-23T23:10:20.443733+01:00 weewxd[4698]: DEBUG weewx.reportengine: >> Running generators for report 'RSYNC' in directory '/etc/weewx/skins/Rsync' >> with locale 'en_GB.UTF-8' >> 2025-10-23T23:10:20.443910+01:00 weewxd[4698]: DEBUG >> weeutil.rsyncupload: rsyncupload: cmd: [['rsync', '--archive', '--stats', >> '-e', 'ssh', '/var/www/html/weewx/', 'server@server:/server/path']] >> 2025-10-23T23:10:21.895922+01:00 weewxd[4698]: DEBUG user.sunduration: >> Calculated LOOP sunshine_time = 2.000000, based on radiation = 0.000000, >> and threshold = 0.000000 >> 2025-10-23T23:10:23.580487+01:00 weewxd[4698]: INFO weeutil.rsyncupload: >> rsync'd 13 files (3,471,491 bytes) in 3.14 seconds >> 2025-10-23T23:10:23.895215+01:00 weewxd[4698]: DEBUG user.sunduration: >> Calculated LOOP sunshine_time = 2.000000, based on radiation = 0.000000, >> and threshold = 0.000000 >> >> Seemingly it's an error related to the sunshine hours variable that I >> added using this: https://github.com/Jterrettaz/sunduration. I'm in a >> different country to my dad so it's a bit difficult for me to debug it, so >> I thought I'd see if anyone can suggest something obvious that would be >> causing it. It didn't seem like any of the main files in /etc/weewx/ or >> /usr/share/weewx/ had been modified recently by the upgrade but I could >> have missed it. He chose the option to keep the existing weewx.conf when >> prompted, so I've already had him make the change to "schema = >> weewx.schemas.wview_extended.schema" >> in that in case that's necessary. >> >> -- >> > 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/3c0ef64d-c84a-4915-adcd-6bfa5342d9dan%40googlegroups.com >> >> <https://groups.google.com/d/msgid/weewx-user/3c0ef64d-c84a-4915-adcd-6bfa5342d9dan%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> > -- 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/8a137f06-d43a-483f-98f3-6aee17896601n%40googlegroups.com.
