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.

Reply via email to