Here's my log. I've lost track of how many times I've reinstalled Cheetah. Any idea as to what is going wrong?
pi@ubuntu:/var/log $ cat weewx.log
weewx[36134] INFO __main__: Initializing weewx version 4.9.1
weewx[36134] INFO __main__: Using Python 3.9.2 (default, Jan 4 2023, 21:11:01)
[GCC 10.2.1 20210110]
weewx[36134] INFO __main__: Located at /bin/python3
weewx[36134] INFO __main__: Platform Linux-5.15.84-v8+-aarch64-with-glibc2.31
weewx[36134] INFO __main__: Locale is 'en_GB.UTF-8'
weewx[36134] INFO __main__: Using configuration file /etc/weewx/weewx.conf
weewx[36134] INFO __main__: Debug is 1
weewx[36134] INFO __main__: PID file is /var/run/weewx.pid
weewx[36137] DEBUG __main__: Initializing engine
weewx[36137] INFO weewx.engine: Loading station type SDR (user.sdr)
weewx[36137] INFO user.sdr: driver version is 0.87
weewx[36137] INFO user.sdr: model is SDR
weewx[36137] INFO user.sdr: sensor map is {'outTemp': 'temperature.02BC.AcuriteAtlasPacket', 'outHumidity': 'humidity.02BC.AcuriteAtlasPacket', 'windSpeed': 'wind_speed.02BC.AcuriteAtlasPacket', 'windDir': 'wind_dir.02BC.AcuriteAtlasPacket', 'UV': 'uv.02BC.AcuriteAtlasPacket', 'radiation': 'lux.02BC.AcuriteAtlasPacket', 'lux': 'lux.02BC.AcuriteAtlasPacket', 'Atlas_rain_total': 'rain_total.02BC.AcuriteAtlasPacket', 'strikes_total': 'strike_count.02BC.AcuriteAtlasPacket', 'lightning_distance': 'strike_distance.02BC.AcuriteAtlasPacket', 'windBatteryStatus': 'battery.02BC.AcuriteAtlasPacket', 'extraTemp1': 'temperature.161C.AcuriteTowerPacketV2', 'extraTemp2': 'temperature.2D1D.AcuriteTowerPacketV2'}
weewx[36137] INFO user.sdr: deltas is {'rain': 'Atlas_rain_total', 'lightning_strike_count': 'strikes_total'}
weewx[36137] INFO user.sdr: startup process 'sudo /usr/bin/rtl_433 -M utc -F json -Y autolevel'
weewx[36137] DEBUG user.sdr: start async reader for stdout-thread
weewx[36137] DEBUG user.sdr: start async reader for stderr-thread
weewx[36137] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
weewx[36137] DEBUG weewx.engine: Loading service user.MQTTSubscribe.MQTTSubscribeService
weewx[36137] DEBUG user.MQTTSubscribe: (Service) Using weewx version 4.9.1
weewx[36137] DEBUG user.MQTTSubscribe: (Service) Using Python 3.9.2 (default, Jan 4 2023, 21:11:01)
[GCC 10.2.1 20210110]
weewx[36137] DEBUG user.MQTTSubscribe: (Service) Platform Linux-5.15.84-v8+-aarch64-with-glibc2.31
weewx[36137] DEBUG user.MQTTSubscribe: (Service) Locale is 'en_GB.UTF-8'
weewx[36137] INFO user.MQTTSubscribe: (Service) Version is 2.2.2
weewx[36137] INFO user.MQTTSubscribe: (Service) Log level: 0
weewx[36137] INFO user.MQTTSubscribe: (Service) Log debug setting: 1
weewx[36137] INFO user.MQTTSubscribe: (Service) Log console: False
weewx[36137] INFO user.MQTTSubscribe: (Service) Log file: None
weewx[36137] DEBUG user.MQTTSubscribe: (Service) sanitized configuration removed ['password']
weewx[36137] DEBUG user.MQTTSubscribe: (Service) MQTTSUBscriber sanitized_service_dict is {'topics': {'unit_system': 'METRIC', 'indoor/BME280_pressure': {'name': 'pressure', 'ignore': 'false'}}, 'archive_interval': '180', 'port': '1883', 'ignore_end_time': 'true', 'message_callback': {'type': 'individual'}, 'enable': 'true', 'host': 'localhost', 'binding': 'loop', 'username': 'None', 'keepalive': '10'}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager self.collect_wind_across_loops is True
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager self.collect_observations is False
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager single_queue is False
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager single_queue is False
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager self.subscribed_topics is {"indoor/BME280_pressure": {"ignore": false, "subscribe": true, "conversion_func": {"source": "lambda x: to_float(x)", "compiled": "<function <lambda> at 0x7fafe9f040>"}, "unit_system": 16, "msg_id_field": null, "qos": 0, "topic_tail_is_fieldname": false, "use_server_datetime": false, "datetime_format": null, "offset_format": null, "ignore_msg_id_field": [], "fields": {"indoor/BME280_pressure": {"name": "pressure", "ignore": false, "contains_total": false, "total_wrap_around": false, "conversion_func": {"source": "lambda x: to_float(x)", "compiled": "<function <lambda> at 0x7fafe770d0>"}, "conversion_type": "float", "conversion_error_to_none": false}}, "queue": {"name": "indoor/BME280_pressure", "type": "normal", "ignore_start_time": false, "ignore_end_time": false, "adjust_start_time": 0.0, "adjust_end_time": 0.0, "max_size": 9223372036854775807, "data": "deque([])"}, "filters": {}, "message-1673512917.989539": {}}, "1673512917.993647-windGust-windGustDir-windDir-windSpeed": {"subscribe": false, "message-1673512917.989539": {}, "unit_system": 16, "qos": 0, "topic_tail_is_fieldname": false, "use_server_datetime": false, "datetime_format": null, "offset_format": null, "queue": {"name": "1673512917.993647-windGust-windGustDir-windDir-windSpeed", "type": "collector", "ignore_start_time": false, "ignore_end_time": false, "adjust_start_time": 0.0, "adjust_end_time": 0.0, "max_size": 9223372036854775807, "data": "deque([])"}}}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager self.cached_fields is {}
weewx[36137] INFO user.MQTTSubscribe: (Service) message_callback_provider_name is user.MQTTSubscribe.MessageCallbackProvider
weewx[36137] INFO user.MQTTSubscribe: (Service) clientid is MQTTSubscribe-5234
weewx[36137] INFO user.MQTTSubscribe: (Service) client_session is True
weewx[36137] INFO user.MQTTSubscribe: (Service) host is localhost
weewx[36137] INFO user.MQTTSubscribe: (Service) port is 1883
weewx[36137] INFO user.MQTTSubscribe: (Service) keepalive is 10
weewx[36137] INFO user.MQTTSubscribe: (Service) username is None
weewx[36137] INFO user.MQTTSubscribe: (Service) min_delay is 1
weewx[36137] INFO user.MQTTSubscribe: (Service) max_delay is 120
weewx[36137] INFO user.MQTTSubscribe: (Service) password is set
weewx[36137] INFO user.MQTTSubscribe: (Service) Archive topic is None
weewx[36137] INFO user.MQTTSubscribe: (Service) binding is loop
weewx[36137] DEBUG user.MQTTSubscribe: (Service) Starting loop
weewx[36137] INFO user.MQTTSubscribe: (Service) Waiting for MQTT connection.
weewx[36137] INFO user.MQTTSubscribe: (Service) Connected with result code 0
weewx[36137] INFO user.MQTTSubscribe: (Service) Connected flags {'session present': 0}
weewx[36137] INFO user.MQTTSubscribe: (Service) Subscribing to indoor/BME280_pressure has a mid 1 and rc 0
weewx[36137] INFO user.MQTTSubscribe: (Service) Subscribed to mid: 1 is size 1 has a QOS of 0
weewx[36137] INFO user.MQTTSubscribe: (Service) MQTT initialization complete.
weewx[36137] DEBUG weewx.engine: Finished loading service user.MQTTSubscribe.MQTTSubscribeService
weewx[36137] DEBUG weewx.engine: Loading service weewx.engine.StdConvert
weewx[36137] INFO weewx.engine: StdConvert target unit is 0x1
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
weewx[36137] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
weewx[36137] DEBUG weewx.engine: Loading service weewx.engine.StdQC
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
weewx[36137] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
weewx[36137] INFO weewx.wxservices: StdWXCalculate will use data binding wx_binding
weewx[36137] DEBUG weewx.manager: Daily summary version is 4.0
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
weewx[36137] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes
weewx[36137] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker
weewx[36137] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater
weewx[36137] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta
weewx[36137] DEBUG weewx.engine: Loading service weewx.engine.StdArchive
weewx[36137] INFO weewx.engine: Archive will use data binding wx_binding
weewx[36137] INFO weewx.engine: Record generation will be attempted in 'hardware'
weewx[36137] INFO weewx.engine: Using archive interval of 60 seconds (specified in weewx configuration)
weewx[36137] DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive
weewx[36137] DEBUG weewx.engine: Loading service weewx.restx.StdStationRegistry
weewx[36137] INFO weewx.restx: StationRegistry: Station will be registered.
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.restx.StdStationRegistry
weewx[36137] DEBUG weewx.engine: Loading service weewx.restx.StdWunderground
weewx[36137] DEBUG weewx.restx: WU essentials: {}
weewx[36137] INFO weewx.restx: Wunderground-PWS: Data for station KCARAMON46 will be posted
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.restx.StdWunderground
weewx[36137] DEBUG weewx.engine: Loading service weewx.restx.StdPWSweather
weewx[36137] INFO weewx.restx: PWSWeather: Data for station RAMONAWEST will be posted
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.restx.StdPWSweather
weewx[36137] DEBUG weewx.engine: Loading service weewx.restx.StdCWOP
weewx[36137] INFO weewx.restx: CWOP: Data for station EW5918 will be posted
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.restx.StdCWOP
weewx[36137] DEBUG weewx.engine: Loading service weewx.restx.StdWOW
weewx[36137] INFO weewx.restx: WOW: Data for station 815878d0-9d1d-e811-90ce-0003ff597a79 will be posted
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.restx.StdWOW
weewx[36137] DEBUG weewx.engine: Loading service weewx.restx.StdAWEKAS
weewx[36137] INFO weewx.restx: AWEKAS: Data will be uploaded for user kevink619e
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.restx.StdAWEKAS
weewx[36137] DEBUG weewx.engine: Loading service user.owm.OpenWeatherMap
weewx[36137] INFO user.owm: service version is 0.9
weewx[36137] INFO user.owm: Data will be uploaded for 6178965b09e7430001ba0b74
weewx[36137] DEBUG weewx.engine: Finished loading service user.owm.OpenWeatherMap
weewx[36137] DEBUG weewx.engine: Loading service user.mqtt.MQTT
weewx[36137] INFO user.mqtt: service version is 0.24
weewx[36137] INFO user.mqtt: binding to archive
weewx[36137] INFO user.mqtt: data_binding is wx_binding
weewx[36137] INFO user.mqtt: topic is weather
weewx[36137] INFO user.mqtt: data will be uploaded to mqtt://localhost:1883
weewx[36137] DEBUG weewx.engine: Finished loading service user.mqtt.MQTT
weewx[36137] DEBUG weewx.engine: Loading service weewx.engine.StdPrint
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.engine.StdPrint
weewx[36137] DEBUG weewx.engine: Loading service weewx.engine.StdReport
weewx[36137] INFO weewx.engine: 'pyephem' not detected, extended almanac data is not available
weewx[36137] DEBUG weewx.manager: Daily summary version is 4.0
weewx[36137] DEBUG weewx.engine: Finished loading service weewx.engine.StdReport
weewx[36137] INFO __main__: Starting up weewx version 4.9.1
weewx[36137] DEBUG weewx.engine: Station does not support reading the time
weewx[36137] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
weewx[36137] INFO weewx.manager: Starting backfill of daily summaries
weewx[36137] DEBUG weewx.manager: Daily summary version is 4.0
weewx[36137] INFO weewx.manager: Daily summaries up to date
weewx[36137] DEBUG weewx.manager: Daily summary version is 4.0
weewx[36137] INFO weewx.engine: Starting main packet loop.
weewx[36137] DEBUG weewx.manager: Daily summary version is 4.0
weewx[36137] DEBUG weewx.manager: Daily summary version is 4.0
weewx[36137] DEBUG weewx.manager: Daily summary version is 4.0
weewx[36137] DEBUG weewx.manager: Daily summary version is 4.0
weewx[36137] DEBUG user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming topic: indoor/BME280_pressure, QOS: 0, retain: 0, payload: b'971.56'
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> incoming indoor/BME280_pressure: 'pressure': '971.56'
weewx[36137] DEBUG user.sdr: packet={'extraTemp2': 35.24, 'dateTime': 1673512933, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> outgoing indoor/BME280_pressure: 'dateTime': '1673512920.368209', 'pressure': '971.56', 'usUnits': '16'
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> outgoing accumulated indoor/BME280_pressure: 'dateTime': '1673512933.0', 'pressure': '28.6901546555', 'usUnits': '1'
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:13 PST (1673512933): 'dateTime': '1673512933.0', 'extraTemp2': '35.24', 'pressure': '28.6901546555', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp2': 35.24, 'dateTime': 1673512933, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:13 PST (1673512933): 'dateTime': '1673512933', 'extraTemp2': '35.24', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'windDir': 269.0, 'Atlas_rain_total': 2.44, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512937, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:17 PST (1673512937): 'Atlas_rain_total': '2.44', 'dateTime': '1673512937', 'lightning_distance': '0', 'lightning_strike_count': 'None', 'rain': 'None', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windDir': '269.0', 'windSpeed': '0.0'
weewx[36137] DEBUG weewx.reportengine: Running reports for latest time in the database.
weewx[36137] DEBUG weewx.reportengine: Running report 'SeasonsReport'
weewx[36137] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Seasons/skin.conf for report 'SeasonsReport'
weewx[36137] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.cheetahgenerator.CheetahGenerator'
weewx[36137] ERROR weewx.reportengine: **** No module named 'Cheetah'
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 180, in run
weewx[36137] ERROR weewx.reportengine: **** obj = weeutil.weeutil.get_object(generator)(
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1335, in get_object
weewx[36137] ERROR weewx.reportengine: **** mod = __import__(module)
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 69, in <module>
weewx[36137] ERROR weewx.reportengine: **** import Cheetah.Filters
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'Cheetah'
weewx[36137] ERROR weewx.reportengine: **** Generator ignored
weewx[36137] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.imagegenerator.ImageGenerator'
weewx[36137] ERROR weewx.reportengine: **** No module named 'Image'
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeplot/genplot.py", line 15, in <module>
weewx[36137] ERROR weewx.reportengine: **** from PIL import Image, ImageDraw
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'PIL'
weewx[36137] ERROR weewx.reportengine: ****
weewx[36137] ERROR weewx.reportengine: **** During handling of the above exception, another exception occurred:
weewx[36137] ERROR weewx.reportengine: ****
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 180, in run
weewx[36137] ERROR weewx.reportengine: **** obj = weeutil.weeutil.get_object(generator)(
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1335, in get_object
weewx[36137] ERROR weewx.reportengine: **** mod = __import__(module)
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/imagegenerator.py", line 19, in <module>
weewx[36137] ERROR weewx.reportengine: **** import weeplot.genplot
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeplot/genplot.py", line 17, in <module>
weewx[36137] ERROR weewx.reportengine: **** import Image, ImageDraw
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'Image'
weewx[36137] ERROR weewx.reportengine: **** Generator ignored
weewx[36137] INFO weewx.reportengine: Copied 5 files to /var/www/html/weewx
weewx[36137] DEBUG weewx.reportengine: Running report 'SmartphoneReport'
weewx[36137] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Smartphone/skin.conf for report 'SmartphoneReport'
weewx[36137] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.cheetahgenerator.CheetahGenerator'
weewx[36137] ERROR weewx.reportengine: **** No module named 'Cheetah'
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 180, in run
weewx[36137] ERROR weewx.reportengine: **** obj = weeutil.weeutil.get_object(generator)(
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1335, in get_object
weewx[36137] ERROR weewx.reportengine: **** mod = __import__(module)
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 69, in <module>
weewx[36137] ERROR weewx.reportengine: **** import Cheetah.Filters
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'Cheetah'
weewx[36137] ERROR weewx.reportengine: **** Generator ignored
weewx[36137] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.imagegenerator.ImageGenerator'
weewx[36137] ERROR weewx.reportengine: **** No module named 'Image'
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeplot/genplot.py", line 15, in <module>
weewx[36137] ERROR weewx.reportengine: **** from PIL import Image, ImageDraw
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'PIL'
weewx[36137] ERROR weewx.reportengine: ****
weewx[36137] ERROR weewx.reportengine: **** During handling of the above exception, another exception occurred:
weewx[36137] ERROR weewx.reportengine: ****
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 180, in run
weewx[36137] ERROR weewx.reportengine: **** obj = weeutil.weeutil.get_object(generator)(
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1335, in get_object
weewx[36137] ERROR weewx.reportengine: **** mod = __import__(module)
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/imagegenerator.py", line 19, in <module>
weewx[36137] ERROR weewx.reportengine: **** import weeplot.genplot
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeplot/genplot.py", line 17, in <module>
weewx[36137] ERROR weewx.reportengine: **** import Image, ImageDraw
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'Image'
weewx[36137] ERROR weewx.reportengine: **** Generator ignored
weewx[36137] INFO weewx.reportengine: Copied 6 files to /var/www/html/weewx/smartphone
weewx[36137] DEBUG weewx.reportengine: Running report 'MobileReport'
weewx[36137] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Mobile/skin.conf for report 'MobileReport'
weewx[36137] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.cheetahgenerator.CheetahGenerator'
weewx[36137] ERROR weewx.reportengine: **** No module named 'Cheetah'
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 180, in run
weewx[36137] ERROR weewx.reportengine: **** obj = weeutil.weeutil.get_object(generator)(
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1335, in get_object
weewx[36137] ERROR weewx.reportengine: **** mod = __import__(module)
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 69, in <module>
weewx[36137] ERROR weewx.reportengine: **** import Cheetah.Filters
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'Cheetah'
weewx[36137] ERROR weewx.reportengine: **** Generator ignored
weewx[36137] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.imagegenerator.ImageGenerator'
weewx[36137] ERROR weewx.reportengine: **** No module named 'Image'
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeplot/genplot.py", line 15, in <module>
weewx[36137] ERROR weewx.reportengine: **** from PIL import Image, ImageDraw
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'PIL'
weewx[36137] ERROR weewx.reportengine: ****
weewx[36137] ERROR weewx.reportengine: **** During handling of the above exception, another exception occurred:
weewx[36137] ERROR weewx.reportengine: ****
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 180, in run
weewx[36137] ERROR weewx.reportengine: **** obj = weeutil.weeutil.get_object(generator)(
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1335, in get_object
weewx[36137] ERROR weewx.reportengine: **** mod = __import__(module)
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/imagegenerator.py", line 19, in <module>
weewx[36137] ERROR weewx.reportengine: **** import weeplot.genplot
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeplot/genplot.py", line 17, in <module>
weewx[36137] ERROR weewx.reportengine: **** import Image, ImageDraw
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'Image'
weewx[36137] ERROR weewx.reportengine: **** Generator ignored
weewx[36137] INFO weewx.reportengine: Copied 2 files to /var/www/html/weewx/mobile
weewx[36137] DEBUG weewx.reportengine: Running report 'StandardReport'
weewx[36137] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Standard/skin.conf for report 'StandardReport'
weewx[36137] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.cheetahgenerator.CheetahGenerator'
weewx[36137] ERROR weewx.reportengine: **** No module named 'Cheetah'
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 180, in run
weewx[36137] ERROR weewx.reportengine: **** obj = weeutil.weeutil.get_object(generator)(
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1335, in get_object
weewx[36137] ERROR weewx.reportengine: **** mod = __import__(module)
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 69, in <module>
weewx[36137] ERROR weewx.reportengine: **** import Cheetah.Filters
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'Cheetah'
weewx[36137] ERROR weewx.reportengine: **** Generator ignored
weewx[36137] ERROR weewx.reportengine: Unable to instantiate generator 'weewx.imagegenerator.ImageGenerator'
weewx[36137] ERROR weewx.reportengine: **** No module named 'Image'
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeplot/genplot.py", line 15, in <module>
weewx[36137] ERROR weewx.reportengine: **** from PIL import Image, ImageDraw
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'PIL'
weewx[36137] ERROR weewx.reportengine: ****
weewx[36137] ERROR weewx.reportengine: **** During handling of the above exception, another exception occurred:
weewx[36137] ERROR weewx.reportengine: ****
weewx[36137] ERROR weewx.reportengine: **** Traceback (most recent call last):
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/reportengine.py", line 180, in run
weewx[36137] ERROR weewx.reportengine: **** obj = weeutil.weeutil.get_object(generator)(
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeutil/weeutil.py", line 1335, in get_object
weewx[36137] ERROR weewx.reportengine: **** mod = __import__(module)
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weewx/imagegenerator.py", line 19, in <module>
weewx[36137] ERROR weewx.reportengine: **** import weeplot.genplot
weewx[36137] ERROR weewx.reportengine: **** File "/usr/share/weewx/weeplot/genplot.py", line 17, in <module>
weewx[36137] ERROR weewx.reportengine: **** import Image, ImageDraw
weewx[36137] ERROR weewx.reportengine: **** ModuleNotFoundError: No module named 'Image'
weewx[36137] ERROR weewx.reportengine: **** Generator ignored
weewx[36137] INFO weewx.reportengine: Copied 14 files to /var/www/html/weewx
weewx[36137] DEBUG weewx.reportengine: Report 'FTP' not enabled. Skipping.
weewx[36137] DEBUG weewx.reportengine: Report 'RSYNC' not enabled. Skipping.
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'UV': 0, 'radiation': 0, 'lux': 0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512947, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:27 PST (1673512947): 'dateTime': '1673512947', 'lightning_distance': '0', 'lightning_strike_count': '0', 'lux': '0', 'radiation': '0', 'strikes_total': '2', 'usUnits': '1', 'UV': '0', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'UV': 0, 'radiation': 0, 'lux': 0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512947, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:27 PST (1673512947): 'dateTime': '1673512947', 'lightning_distance': '0', 'lightning_strike_count': '0', 'lux': '0', 'radiation': '0', 'strikes_total': '2', 'usUnits': '1', 'UV': '0', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'UV': 0, 'radiation': 0, 'lux': 0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512947, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:27 PST (1673512947): 'dateTime': '1673512947', 'lightning_distance': '0', 'lightning_strike_count': '0', 'lux': '0', 'radiation': '0', 'strikes_total': '2', 'usUnits': '1', 'UV': '0', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'extraTemp2': 35.24, 'dateTime': 1673512949, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:29 PST (1673512949): 'dateTime': '1673512949', 'extraTemp2': '35.24', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp2': 35.24, 'dateTime': 1673512949, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:29 PST (1673512949): 'dateTime': '1673512949', 'extraTemp2': '35.24', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp2': 35.24, 'dateTime': 1673512949, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:29 PST (1673512949): 'dateTime': '1673512949', 'extraTemp2': '35.24', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512954, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:34 PST (1673512954): 'dateTime': '1673512954', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512954, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:34 PST (1673512954): 'dateTime': '1673512954', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512954, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:34 PST (1673512954): 'dateTime': '1673512954', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'outTemp': 40.8, 'outHumidity': 99.0, 'windSpeed': 0.0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512958, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:38 PST (1673512958): 'dateTime': '1673512958', 'lightning_distance': '0', 'lightning_strike_count': '0', 'outHumidity': '99.0', 'outTemp': '40.8', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'outTemp': 40.8, 'outHumidity': 99.0, 'windSpeed': 0.0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512958, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:38 PST (1673512958): 'dateTime': '1673512958', 'lightning_distance': '0', 'lightning_strike_count': '0', 'outHumidity': '99.0', 'outTemp': '40.8', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'outTemp': 40.8, 'outHumidity': 99.0, 'windSpeed': 0.0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512958, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:38 PST (1673512958): 'dateTime': '1673512958', 'lightning_distance': '0', 'lightning_strike_count': '0', 'outHumidity': '99.0', 'outTemp': '40.8', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'windDir': 269.0, 'Atlas_rain_total': 2.44, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512968, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:48 PST (1673512968): 'Atlas_rain_total': '2.44', 'dateTime': '1673512968', 'lightning_distance': '0', 'lightning_strike_count': '0', 'rain': '0.0', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windDir': '269.0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'windDir': 269.0, 'Atlas_rain_total': 2.44, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512968, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:48 PST (1673512968): 'Atlas_rain_total': '2.44', 'dateTime': '1673512968', 'lightning_distance': '0', 'lightning_strike_count': '0', 'rain': '0.0', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windDir': '269.0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'windDir': 269.0, 'Atlas_rain_total': 2.44, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512968, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:48 PST (1673512968): 'Atlas_rain_total': '2.44', 'dateTime': '1673512968', 'lightning_distance': '0', 'lightning_strike_count': '0', 'rain': '0.0', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windDir': '269.0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512970, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:50 PST (1673512970): 'dateTime': '1673512970', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512970, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:50 PST (1673512970): 'dateTime': '1673512970', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512970, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:50 PST (1673512970): 'dateTime': '1673512970', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.MQTTSubscribe: (Service) MessageCallbackProvider data-> incoming topic: indoor/BME280_pressure, QOS: 0, retain: 0, payload: b'971.53'
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> incoming indoor/BME280_pressure: 'pressure': '971.53'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'UV': 0, 'radiation': 0, 'lux': 0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512979, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> outgoing accumulated indoor/BME280_pressure:
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:59 PST (1673512979): 'dateTime': '1673512979', 'lightning_distance': '0', 'lightning_strike_count': '0', 'lux': '0', 'radiation': '0', 'strikes_total': '2', 'usUnits': '1', 'UV': '0', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'UV': 0, 'radiation': 0, 'lux': 0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512979, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> outgoing accumulated indoor/BME280_pressure:
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:59 PST (1673512979): 'dateTime': '1673512979', 'lightning_distance': '0', 'lightning_strike_count': '0', 'lux': '0', 'radiation': '0', 'strikes_total': '2', 'usUnits': '1', 'UV': '0', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'windSpeed': 0.0, 'UV': 0, 'radiation': 0, 'lux': 0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512979, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> outgoing accumulated indoor/BME280_pressure:
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:42:59 PST (1673512979): 'dateTime': '1673512979', 'lightning_distance': '0', 'lightning_strike_count': '0', 'lux': '0', 'radiation': '0', 'strikes_total': '2', 'usUnits': '1', 'UV': '0', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'extraTemp2': 35.24, 'dateTime': 1673512981, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> outgoing indoor/BME280_pressure: 'dateTime': '1673512979.6808412', 'pressure': '971.53', 'usUnits': '16'
weewx[36137] DEBUG user.MQTTSubscribe: (Service) TopicManager data-> outgoing accumulated indoor/BME280_pressure: 'dateTime': '1673512981.0', 'pressure': '28.689268755875', 'usUnits': '1'
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:01 PST (1673512981): 'dateTime': '1673512981.0', 'extraTemp2': '35.24', 'pressure': '28.689268755875', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp2': 35.24, 'dateTime': 1673512981, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:01 PST (1673512981): 'dateTime': '1673512981', 'extraTemp2': '35.24', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp2': 35.24, 'dateTime': 1673512981, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:01 PST (1673512981): 'dateTime': '1673512981', 'extraTemp2': '35.24', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512986, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:06 PST (1673512986): 'dateTime': '1673512986', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512986, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:06 PST (1673512986): 'dateTime': '1673512986', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'extraTemp1': 3.5599999999999987, 'dateTime': 1673512986, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:06 PST (1673512986): 'dateTime': '1673512986', 'extraTemp1': '3.5599999999999987', 'usUnits': '1'
weewx[36137] DEBUG user.sdr: packet={'outTemp': 40.8, 'outHumidity': 99.0, 'windSpeed': 0.0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512989, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:09 PST (1673512989): 'dateTime': '1673512989', 'lightning_distance': '0', 'lightning_strike_count': '0', 'outHumidity': '99.0', 'outTemp': '40.8', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'outTemp': 40.8, 'outHumidity': 99.0, 'windSpeed': 0.0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512989, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:09 PST (1673512989): 'dateTime': '1673512989', 'lightning_distance': '0', 'lightning_strike_count': '0', 'outHumidity': '99.0', 'outTemp': '40.8', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] DEBUG user.sdr: packet={'outTemp': 40.8, 'outHumidity': 99.0, 'windSpeed': 0.0, 'strikes_total': 2, 'lightning_distance': 0, 'windBatteryStatus': 0, 'dateTime': 1673512989, 'usUnits': 1}
weewx[36137] DEBUG user.MQTTSubscribe: (Service) data-> final packet is 2023-01-12 00:43:09 PST (1673512989): 'dateTime': '1673512989', 'lightning_distance': '0', 'lightning_strike_count': '0', 'outHumidity': '99.0', 'outTemp': '40.8', 'strikes_total': '2', 'usUnits': '1', 'windBatteryStatus': '0', 'windSpeed': '0.0'
weewx[36137] INFO __main__: Received signal TERM (15).
weewx[36137] INFO weewx.engine: Main loop exiting. Shutting engine down.
weewx[36137] INFO weewx.engine: Shutting down StdReport thread
weewx[36137] DEBUG weewx.engine: StdReport thread has been terminated
weewx[36137] DEBUG weewx.restx: Shut down MQTT thread.
weewx[36137] DEBUG weewx.restx: Shut down OWM thread.
weewx[36137] DEBUG weewx.restx: Shut down AWEKAS thread.
weewx[36137] DEBUG weewx.restx: Shut down WOW thread.
weewx[36137] DEBUG weewx.restx: Shut down CWOP thread.
weewx[36137] DEBUG weewx.restx: Shut down PWSWeather thread.
weewx[36137] DEBUG weewx.restx: Shut down Wunderground-PWS thread.
weewx[36137] DEBUG weewx.restx: Shut down StationRegistry thread.
weewx[36137] INFO user.MQTTSubscribe: (Service) Disconnected with result code 0
weewx[36137] INFO user.sdr: shutdown process sudo /usr/bin/rtl_433 -M utc -F json -Y autolevel
weewx[36137] DEBUG user.sdr: close stdout
weewx[36137] DEBUG user.sdr: close stderr
weewx[36137] DEBUG user.sdr: shutdown stdout-thread
weewx[36137] DEBUG user.sdr: shutdown stderr-thread
weewx[36137] INFO user.sdr: shutdown complete
weewx[36137] INFO __main__: Terminating weewx version 4.9.1
weewx[36137] DEBUG __main__: **** Traceback (most recent call last):
weewx[36137] DEBUG __main__: **** File "/usr/share/weewx/weewxd", line 154, in main
weewx[36137] DEBUG __main__: **** engine.run()
weewx[36137] DEBUG __main__: **** File "/usr/share/weewx/weewx/engine.py", line 208, in run
weewx[36137] DEBUG __main__: **** for packet in self.console.genLoopPackets():
weewx[36137] DEBUG __main__: **** File "/usr/share/weewx/user/sdr.py", line 3296, in genLoopPackets
weewx[36137] DEBUG __main__: **** for lines in self._mgr.get_stdout():
weewx[36137] DEBUG __main__: **** File "/usr/share/weewx/user/sdr.py", line 282, in get_stdout
weewx[36137] DEBUG __main__: **** line = self.stdout_queue.get(True, 3).decode()
weewx[36137] DEBUG __main__: **** File "/usr/lib/python3.9/queue.py", line 180, in get
weewx[36137] DEBUG __main__: **** self.not_empty.wait(remaining)
weewx[36137] DEBUG __main__: **** File "/usr/lib/python3.9/threading.py", line 316, in wait
weewx[36137] DEBUG __main__: **** gotit = waiter.acquire(True, timeout)
weewx[36137] DEBUG __main__: **** File "/usr/share/weewx/weewxd", line 245, in sigTERMhandler
weewx[36137] DEBUG __main__: **** raise Terminate
weewx[36137] DEBUG __main__: **** Terminate
pi@ubuntu:/var/log $