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 $



On Sunday, January 8, 2023 at 2:12:58 PM UTC-8 [email protected] wrote:

> Could be, but he did a package install.
>
> On Sun, Jan 8, 2023 at 2:10 PM vince <[email protected]> wrote:
>
>> You didn't say which os/version you are on, but it might be a "pip" (v2) 
>> versus "pip3" (v3) issue.
>>
>> Do 'pip list' and 'pip3 list' and compare the two.  I suspect only one 
>> has the modules you're looking for.
>>  
>>
>> -- 
>>
> 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 on the web visit 
>> https://groups.google.com/d/msgid/weewx-user/5e117d3e-02e9-485e-bada-a5396b5dd80en%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/5e117d3e-02e9-485e-bada-a5396b5dd80en%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 on the web visit 
https://groups.google.com/d/msgid/weewx-user/1a5689e5-dd92-4a4a-857b-d5babd46a062n%40googlegroups.com.

Reply via email to