Hello again, Tom, OK, that worked! It ended up that it was in graphs.conf, which makes sense when you look at my first post here :) Brilliant - thank you again.
One issue, I now have this when generating a report with: sudo weectl report run Belchertown: Traceback (most recent call last): File “/usr/share/weewx/weewx/reportengine.py”, line 248, in run obj.start() File “/usr/share/weewx/weewx/reportengine.py”, line 465, in start self.run() File “/etc/weewx/bin/user/belchertown.py”, line 2948, in run series_data = self.get_observation_data( ^^^^^^^^^^^^^^^^^^^^^^^^^^ File “/etc/weewx/bin/user/belchertown.py”, line 3722, in get_observation_data time_start_vt, time_stop_vt, obs_vt, start_ts, end_ts, aggregate_interval ^^^^^^^^^^^^^ UnboundLocalError: cannot access local variable ‘time_start_vt’ where it is not associated with a value So, I will try to figure this one out now! Cheers :) On Monday, February 16, 2026 at 10:04:56 PM UTC O S wrote: > Hello Tom, > > Many thanks and that is very helpful indeed - and I have learned something > new regarding the exception stack and stack trace. Good to know that the > salient piece (for me) is at the end of these. > > OK, I reckon this is the skin.conf or weewx.conf file, so will go and have > a look. > > Thank you again and I'll let you know... > > Nick. > > On Monday, February 16, 2026 at 9:54:53 PM UTC Tom Keffer wrote: > >> What you are looking at is an exception stack. The actual error is the >> last entry "Duplicate section name." The entries above it are the stack >> trace: which function called which function which ended up causing the >> error. They are useful for figuring out how the software got into its >> predicament, but for the moment you can ignore them. You just need to focus >> on the last item, the duplicate section name error. >> >> The duplicate section name is in the *configuration file*, not the >> function reading it. Belchertown has its own way of doing things, but one >> of your configuration files, probably the one you last edited, has a >> duplicate section name at line 350. This means it looks something like: >> >> [SomeEntry] >> [[SubEntry]] >> ... >> [[SubEntry]] >> >> Note how "SubEntry" appears twice. For a configuration file, it can only >> appear once. >> >> By convention, configuration files end in the suffix ".conf". Check line >> 350 of all of them. You'll find the culprit. >> >> Hope this helps. >> >> -tk >> >> On Mon, Feb 16, 2026 at 1:40 PM O S <[email protected]> wrote: >> >>> Many thanks and is there any chance that you would be able to offer >>> something a little less cryptic? Perhaps you'd explain how you arrived at >>> the conclusion you did and how I might go about fixing it? >>> >>> This group is where you have directed me to more than once when I have >>> posted on the wxforum, saying that if I *"... want quality help the >>> best place to ask is in the place where the thousands of users and the sw >>> devs hang out, which is in the google group for this particular piece of >>> software." *So, here I am. >>> >>> The error output that I posted above appears to the untrained eye to >>> have lots of errors, but you have only highlighted the last one, so I >>> wonder why this is and what those other messages mean*.* I have >>> navigated to /usr/lib/python3/dist-packages/configobj and executed: sudo >>> nano -l __init.py and I find this at line 350: >>> >>> # Back in interpolate(), all we have to do is kick off the >>> recursive >>> >>> It appears to exist only once. >>> >>> So, as it turns out, not really that obvious at all, unless you know >>> markedly more than I do, which it appears that you do, and which makes me >>> wonder why you'd not be a little more forthcoming with some assistance. >>> >>> Not trying to be obtuse here, just a genuine question and i apologise if >>> what appear to be basic questions irritate you. >>> >>> Thanks, >>> Nick. >>> >>> On Sunday, February 15, 2026 at 10:21:00 PM UTC Vince Skahan wrote: >>> >>>> > configobj.DuplicateError: Duplicate section name at line 350 >>>> >>>> Doesn't get much more obvious than this one.... >>>> >>>> On Sunday, February 15, 2026 at 2:05:41 PM UTC-8 O S wrote: >>>> >>>>> Hello all, >>>>> >>>>> i have been experimenting with adding new observations and graphs >>>>> today and everything has worked as expected. I just noticed that the >>>>> Belchertown skin is not updating so I ran a report manually and I'm >>>>> getting >>>>> the errors below - I have no idea why, Can anyone help? >>>>> >>>>> The Seasons skin is still working fine. The only other thing i did >>>>> today was to set up a few scripts and cron jobs to make hourly, weekly, >>>>> monthly backups using rsync. >>>>> >>>>> Thanks, >>>>> Nick. >>>>> >>>>> Using configuration file /etc/weewx/weewx.conf >>>>> All enabled reports will be run. >>>>> Generating as of last timestamp in the database. >>>>> Traceback (most recent call last): >>>>> File “/usr/share/weewx/weewx/reportengine.py”, line 248, in run >>>>> obj.start() >>>>> File “/usr/share/weewx/weewx/reportengine.py”, line 465, in start >>>>> self.run() >>>>> File “/usr/share/weewx/weewx/cheetahgenerator.py”, line 166, in run >>>>> ngen = self.generate(gen >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> *dict[sectionname], sectionname, self.gents) >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File >>>>> “/usr/share/weewx/weewx/cheetahgenerator.py”, line 226, in generate ngen >>>>> += >>>>> self.generate(section[subsection], subsection, gents) >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File >>>>> “/usr/share/weewx/weewx/cheetahgenerator.py”, line 226, in generate ngen >>>>> += >>>>> self.generate(section[subsection], subsection, gents) >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File >>>>> “/usr/share/weewx/weewx/cheetahgenerator.py”, line 309, in generate >>>>> searchList = self.getSearchList(encoding, timespan, >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File >>>>> “/usr/share/weewx/weewx/cheetahgenerator.py”, line 401, in getSearchList >>>>> searchlist += obj.getextensionlist(timespan, dblookup) >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File >>>>> “/etc/weewx/bin/user/belchertown.py”, line 403, in get_extension_list >>>>> chart_dict = configobj.ConfigObj(chart_config_path, file_error=True) >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File >>>>> “/usr/lib/python3/dist-packages/configobj/__init.py”, line 1229, in >>>>> __init >>>>> self._load(infile, configspec) File >>>>> “/usr/lib/python3/dist-packages/configobj/__init.py”, line 1318, in _load >>>>> raise errorconfigobj.DuplicateError: Duplicate section name at line >>>>> 350.Traceback (most recent call last): File >>>>> “/usr/share/weewx/weewx/reportengine.py”, line 248, in run obj.start() >>>>> File >>>>> “/usr/share/weewx/weewx/reportengine.py”, line 465, in start self.run() >>>>> File “/etc/weewx/bin/user/belchertown.py”, line 2308, in run >>>>> self.chart_dict = configobj.ConfigObj(chart_config_path, file_error=True) >>>>> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File >>>>> “/usr/lib/python3/dist-packages/configobj/__init.py”, line 1229, in >>>>> __init >>>>> self._load(infile, configspec) File >>>>> “/usr/lib/python3/dist-packages/configobj/__init*.py”, line 1318, in >>>>> _load >>>>> raise error >>>>> configobj.DuplicateError: Duplicate section name at line 350 >>>>> >>>>> >>>> -- >>> 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/c65cf470-cd04-4833-af03-78a23addf88fn%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/weewx-user/c65cf470-cd04-4833-af03-78a23addf88fn%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/1f706e6e-a689-404c-a244-b76204663003n%40googlegroups.com.
