I think i found it. I must have been editing the graphs to change the new annual totals, etc after year end.
I found a typo on line 570 of the graphs.conf file. Now that it is fixed, things are a bit better. but I am digging into the graphs.conf file to see where I may have broken something. Here is the latest syslog:
Feb 15 13:30:33 weatherpi weewx[10773] INFO weewx.restx: MQTT: Published record 2021-02-15 13:30:33 MST (1613421033)
Feb 15 13:30:33 weatherpi weewx[10773] INFO weewx.restx: Windy: Published record 2021-02-15 13:30:00 MST (1613421000)
Feb 15 13:30:33 weatherpi weewx[10773] INFO weewx.restx: Wunderground-PWS: Published record 2021-02-15 13:30:00 MST (1613421000)
Feb 15 13:30:33 weatherpi weewx[10773] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Belchertown/skin.conf for report 'Belchertown'
Feb 15 13:30:33 weatherpi weewx[10773] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras', u'user.belchertown.getData']
Feb 15 13:30:33 weatherpi weewx[10773] DEBUG weewx.manager: Daily summary version is 4.0
Feb 15 13:30:34 weatherpi weewx[10773] INFO user.belchertown: New forecast file downloaded to /var/www/html/weewx/belchertown/json/darksky_forecast.json
Feb 15 13:30:35 weatherpi weewx[10773] INFO user.belchertown: Update Checker: New GitHub Version file downloaded to /var/www/html/weewx/belchertown/json/github_version.json
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: Caught unrecoverable exception in generator 'weewx.cheetahgenerator.CheetahGenerator'
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** argument of type 'NoneType' is not iterable
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** Traceback (most recent call last):
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 196, in run
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** obj.start()
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 281, in start
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** self.run()
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 150, in run
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** ngen = self.generate(gen_dict[section_name], self.gen_ts)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 220, in generate
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** ngen += self.generate(section[subsection], gen_ts)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 220, in generate
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** ngen += self.generate(section[subsection], gen_ts)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 309, in generate
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** default_binding)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 385, in _getSearchList
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** searchList += obj.get_extension_list(timespan, db_lookup)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/user/belchertown.py", line 836, in get_extension_list
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** obs_output = getattr(current, obs)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/tags.py", line 506, in __getattr__
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** vt = weewx.xtypes.get_scalar(obs_type, self.record, db_manager)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/xtypes.py", line 71, in get_scalar
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** return xtype.get_scalar(obs_type, record, db_manager)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/wxxtypes.py", line 89, in get_scalar
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** return getattr(self, 'calc_%s' % obs_type)(obs_type, record, db_manager)
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/wxxtypes.py", line 127, in calc_cloudbase
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** if 'outTemp' not in data or 'outHumidity' not in data:
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** TypeError: argument of type 'NoneType' is not iterable
Feb 15 13:30:35 weatherpi weewx[10773] ERROR weewx.reportengine: **** Generator terminated
Feb 15 13:30:35 weatherpi weewx[10773] INFO weewx.reportengine: Copied 2 files to /var/www/html/weewx/belchertown
Feb 15 13:30:35 weatherpi weewx[10773] DEBUG weewx.manager: Daily summary version is 4.0
F