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/CAPq0zED2xY42bby-icSQUjntV%2BGyx%2BTS%3D58PtcKXmmczP4bx8Q%40mail.gmail.com.

Reply via email to