What this tells us is which Python executable you are using: /bin/python3.
This is unusual. Usually it's /usr/bin/python3.

See which versions of Python are available:

*which python3.*


Try them all. For example,

*/bin/python3 -c "import Cheetah"*

*/usr/bin/python3 -c "import Cheetah"*


I suspect the problem is that you're installing into one version of
python3, but executing weewxd using a different version.

-tk

On Thu, Jan 12, 2023 at 12:48 AM Kevin Key <[email protected]> wrote:

> 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
> <https://groups.google.com/d/msgid/weewx-user/1a5689e5-dd92-4a4a-857b-d5babd46a062n%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/CAPq0zEArZ4cofP1Ntk2kifYi9ArTU%3DaKh3Wv_zoQ%3DKLCRNEQXg%40mail.gmail.com.

Reply via email to