Can't get weewx to log lightning from Acurite Atlas

145 views
Skip to first unread message

Kevin Key

unread,
Sep 27, 2021, 6:45:14 PM9/27/21
to weewx-user
Hi,

I'm unable to get Weewx to light lightning - even with a clean install of 4.5.1.

My lightning sensor is the one that fits inside the Acurite Atlas 7 in 1 sensor.

I'm intercepting the data via a BME280 plugin. 

In sdr.py, I've modified the AcuriteAtlasPacket class to include the below additional lines that reference lightning:

        if 'lux' in obj:
            pkt['lux'] = Packet.get_int(obj, 'lux')
        if 'strike_count' in obj:
            pkt['strike_count'] = obj.get('strike_count')
        if 'strike_distance' in obj:
            pkt['strike_distance'] = obj.get('strike_distance')
        pkt['battery'] = 1 if Packet.get_int(obj, 'battery_ok') == 0 else 0


In weewx.conf:

    [[sensor_map]]
        outTemp = temperature.02BC.AcuriteAtlasPacket
        outHumidity = humidity.02BC.AcuriteAtlasPacket
        windSpeed = wind_speed.02BC.AcuriteAtlasPacket
        windDir = wind_dir.02BC.AcuriteAtlasPacket
        UV = uv.02BC.AcuriteAtlasPacket
        #rain_total = rain_total.02BC.AcuriteAtlasPacket
        radiation = lux.02BC.AcuriteAtlasPacket
        lux = lux.02BC.AcuriteAtlasPacket
        Atlas_rain_total = rain_total.02BC.AcuriteAtlasPacket

        strikes_total = strike_count.02BC.AcuriteAtlasPacket
        strike_dist = strike_distance.02BC.AcuriteAtlasPacket

        windBatteryStatus = battery.02BC.AcuriteAtlasPacket

    [[deltas]]
        rain = Atlas_rain_total
        lightningStrikes = strikes_total
        lightningDistance = strike_dist


What the heck am I doing wrong?


gjr80

unread,
Sep 27, 2021, 7:42:52 PM9/27/21
to weewx-user
I don’t see any obvious issues but we need to see the log to see what is being received, decoded and mapped by sdr.
Could you edit weewx.conf, set debug=1 and restart WeeWX. Let WeeWX run for 10 minutes or so then post a log extract covering the full WeeWX startup and the next 10 or so minutes.

Gary

Kevin Key

unread,
Sep 27, 2021, 11:55:24 PM9/27/21
to weewx-user
Thanks Gary. Here's a snippet of my weewx log:

Sep 27 18:40:26 RaspberryPi4 weewx[552] INFO __main__: Initializing weewx version 4.5.1
Sep 27 18:40:26 RaspberryPi4 weewx[552] INFO __main__: Using Python 3.7.3 (default, Jan 22 2021, 20:04:44) #012[GCC 8.3.0]
Sep 27 18:40:26 RaspberryPi4 weewx[552] INFO __main__: Platform Linux-5.10.60-v7l+-armv7l-with-debian-10.10
Sep 27 18:40:26 RaspberryPi4 weewx[552] INFO __main__: Locale is 'en_US'
Sep 27 18:40:26 RaspberryPi4 weewx[552] INFO __main__: PID file is /var/run/weewx.pid
Sep 27 18:40:26 RaspberryPi4 weewx[660] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Sep 27 18:40:26 RaspberryPi4 weewx[660] INFO __main__: Debug is 1
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG __main__: Initializing engine
Sep 27 18:40:26 RaspberryPi4 weewx[660] INFO weewx.engine: Loading station type SDR (user.sdr)
Sep 27 18:40:26 RaspberryPi4 weewx[444]: Starting weewx weather system: weewx.
Sep 27 18:40:26 RaspberryPi4 weewx[660] INFO user.sdr: driver version is 0.78
Sep 27 18:40:26 RaspberryPi4 weewx[660] 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', 'strike_dist': 'strike_distance.02BC.AcuriteAtlasPacket', 'windBatteryStatus': 'battery.02BC.AcuriteAtlasPacket'}
Sep 27 18:40:26 RaspberryPi4 weewx[660] INFO user.sdr: deltas is {'rain': 'Atlas_rain_total', 'lightningStrikes': 'strikes_total', 'lightningDistance': 'strike_dist'}
Sep 27 18:40:26 RaspberryPi4 weewx[660] INFO user.sdr: startup process 'sudo /usr/local/bin/rtl_433 -M utc -F json'
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG user.sdr: start async reader for stdout-thread
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG user.sdr: start async reader for stderr-thread
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service user.bme280wx.Bme280wx
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service user.bme280wx.Bme280wx
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdConvert
Sep 27 18:40:26 RaspberryPi4 weewx[660] INFO weewx.engine: StdConvert target unit is 0x1
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdQC
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
Sep 27 18:40:26 RaspberryPi4 weewx[660] INFO user.sdr: shutdown process sudo /usr/local/bin/rtl_433 -M utc -F json
Sep 27 18:40:26 RaspberryPi4 weewx[660] DEBUG user.sdr: waiting for stdout-thread
Sep 27 18:40:29 RaspberryPi4 weewx[660] DEBUG user.sdr: waiting for stderr-thread
Sep 27 18:40:39 RaspberryPi4 weewx[660] INFO user.sdr: timed out waiting for stderr-thread
Sep 27 18:40:39 RaspberryPi4 weewx[660] DEBUG user.sdr: close stdout
Sep 27 18:40:39 RaspberryPi4 weewx[660] DEBUG user.sdr: close stderr
Sep 27 18:40:45 RaspberryPi4 weewx[660] DEBUG user.sdr: kill process
Sep 27 18:40:45 RaspberryPi4 weewx[660] CRITICAL __main__: Database connection exception: (2002, "Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)")
Sep 27 18:40:45 RaspberryPi4 weewx[660] CRITICAL __main__:     ****  Waiting 60 seconds then retrying...
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO __main__: retrying...
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO __main__: Debug is 1
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG __main__: Initializing engine
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.engine: Loading station type SDR (user.sdr)
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.sdr: driver version is 0.78
Sep 27 18:42:01 RaspberryPi4 weewx[660] 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', 'strike_dist': 'strike_distance.02BC.AcuriteAtlasPacket', 'windBatteryStatus': 'battery.02BC.AcuriteAtlasPacket'}
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.sdr: deltas is {'rain': 'Atlas_rain_total', 'lightningStrikes': 'strikes_total', 'lightningDistance': 'strike_dist'}
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.sdr: startup process 'sudo /usr/local/bin/rtl_433 -M utc -F json'
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG user.sdr: start async reader for stdout-thread
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG user.sdr: start async reader for stderr-thread
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdTimeSynch
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdTimeSynch
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service user.bme280wx.Bme280wx
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service user.bme280wx.Bme280wx
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdConvert
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.engine: StdConvert target unit is 0x1
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdConvert
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdCalibrate
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdCalibrate
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdQC
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdQC
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.wxservices.StdWXCalculate
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.manager: Daily summary version is 4.0
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.wxservices.StdWXCalculate
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service user.weather34.Weather34RealTime
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.weather34: service version is 0.0.5
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.weather34: 'None' values will be displayed as NULL
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.weather34: units will be displayed as METRICWX
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.weather34: zambretti forecast: False
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.weather34: Web Service: aq is running
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG user.weather34: CloudCover Url 1 https://api.sat24.com/crop?type=visual5hdcomplete&lat=33.032&lon=-116.889&width=300&height=300&zoom=1.00&continent=ana
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG user.weather34: CloudCover service has started
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG user.weather34: CloudCover Url 2 https://api.sat24.com/crop?type=infraPolair&lat=33.032&lon=-116.889&width=300&height=300&zoom=1.00&continent=ana
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.weather34: Cannot write to weewxserverinfo.txt due to error [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/weewxserverinfo.txt'
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG user.weather34: CloudCover File 1 /tmp/weather34/sat1.png
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG user.weather34: CloudCover File 2 /tmp/weather34/sat2.png
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG user.weather34: excluding fields: {'rain'}
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.weather34: Weather34 Weather34RealTime in cache is: True
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service user.weather34.Weather34RealTime
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service user.w34_db_backup.W34_DB_Backup
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.w34_db_backup: Version is 2.0
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.w34_db_backup: database /home/weewx/archive/weewx.sdb will be backup to [your_backup_path]/weewx_backup.sdb at time 00:00
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO user.w34_db_backup: database /home/weewx/archive/another.sdb will be backup to [your_backup_path]/home/pi/another_backup.sdb at time 00:00
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service user.w34_db_backup.W34_DB_Backup
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdWXXTypes
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdWXXTypes
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdPressureCooker
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdPressureCooker
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdRainRater
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdRainRater
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.wxxtypes.StdDelta
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.wxxtypes.StdDelta
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdArchive
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.engine: Archive will use data binding wx_binding
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.engine: Record generation will be attempted in 'hardware'
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.engine: Using archive interval of 120 seconds (specified in weewx configuration)
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Use LOOP data in hi/low calculations: 1
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdArchive
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.restx.StdStationRegistry
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.restx: StationRegistry: Station will not be registered: no station_url specified.
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.restx.StdStationRegistry
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.restx.StdWunderground
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.restx: WU essentials: {}
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-PWS: Data for station KCARAMON46 will be posted
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Data for station KCARAMON46 will be posted
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.restx.StdWunderground
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.restx.StdPWSweather
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.restx: PWSWeather: Data for station RAMONAWEST will be posted
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.restx.StdPWSweather
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.restx.StdCWOP
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.restx: CWOP: Data for station EW5918 will be posted
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.restx.StdCWOP
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.restx.StdWOW
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.restx: WOW: Data for station 815878d0-9d1d-e811-90ce-0003ff597a79 will be posted
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.restx.StdWOW
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.restx.StdAWEKAS
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.restx: AWEKAS: Data will be uploaded for user kevink619e
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.restx.StdAWEKAS
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdPrint
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdPrint
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Loading service weewx.engine.StdReport
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Finished loading service weewx.engine.StdReport
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.manager: Daily summary version is 4.0
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO __main__: Starting up weewx version 4.5.1
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.engine: Station does not support reading the time
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx'
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.manager: Daily summary version is 4.0
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.manager: Daily summary version is 4.0
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.manager: Starting backfill of daily summaries
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.manager: Daily summary version is 4.0
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.manager: Daily summaries up to date
Sep 27 18:42:01 RaspberryPi4 weewx[660] INFO weewx.engine: Starting main packet loop.
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.manager: Daily summary version is 4.0
Sep 27 18:42:01 RaspberryPi4 weewx[660] DEBUG weewx.manager: Daily summary version is 4.0
Sep 27 18:42:02 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing web service file: /var/weewx/weather34/jsondata/aq.txt, Error: [Errno 2] No such file or directory: '/var/weewx/weather34/jsondata/aq.txt'
Sep 27 18:42:02 RaspberryPi4 weewx[660] INFO user.weather34: Web Service: wu is running
Sep 27 18:42:02 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing web service file: /var/weewx/weather34/jsondata/wu.txt, Error: [Errno 2] No such file or directory: '/var/weewx/weather34/jsondata/wu.txt'
Sep 27 18:42:02 RaspberryPi4 weewx[660] INFO user.weather34: Web Service: eq is running
Sep 27 18:42:02 RaspberryPi4 weewx[660] DEBUG user.weather34: CloudCover url1 exit code 0
Sep 27 18:42:03 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing web service file: /var/weewx/weather34/jsondata/eq.txt, Error: [Errno 2] No such file or directory: '/var/weewx/weather34/jsondata/eq.txt'
Sep 27 18:42:03 RaspberryPi4 weewx[660] INFO user.weather34: Web Service: ki is running
Sep 27 18:42:03 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing web service file: /var/weewx/weather34/jsondata/ki.txt, Error: [Errno 2] No such file or directory: '/var/weewx/weather34/jsondata/ki.txt'
Sep 27 18:42:03 RaspberryPi4 weewx[660] INFO user.weather34: Web Service: me is running
Sep 27 18:42:03 RaspberryPi4 weewx[660] DEBUG user.weather34: CloudCover url2 exit code 0
Sep 27 18:42:03 RaspberryPi4 weewx[660] DEBUG PIL.PngImagePlugin: STREAM b'IHDR' 16 13
Sep 27 18:42:03 RaspberryPi4 weewx[660] DEBUG PIL.PngImagePlugin: STREAM b'gAMA' 41 4
Sep 27 18:42:03 RaspberryPi4 weewx[660] DEBUG PIL.PngImagePlugin: STREAM b'pHYs' 57 9
Sep 27 18:42:03 RaspberryPi4 weewx[660] DEBUG PIL.PngImagePlugin: STREAM b'IDAT' 78 23513
Sep 27 18:42:03 RaspberryPi4 weewx[660] DEBUG PIL.Image: Error closing: 'NoneType' object has no attribute 'close'
Sep 27 18:42:04 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing web service file: /var/weewx/weather34/jsondata/me.txt, Error: [Errno 2] No such file or directory: '/var/weewx/weather34/jsondata/me.txt'
Sep 27 18:42:06 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=['{"time" : "2021-09-28 01:42:02", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, "message_type" : 37, "wind_avg_mi_h" : 4.000, "temperature_F" : 60.200, "humidity" : 95, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c2bc6582876a5f2efcdf"}\n', '{"time" : "2021-09-28 01:42:02", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 1, "battery_ok" : 1, "message_type" : 37, "wind_avg_mi_h" : 4.000, "temperature_F" : 60.200, "humidity" : 95, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c6bc6582876a5f2efce3"}\n', '{"time" : "2021-09-28 01:42:02", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 2, "battery_ok" : 1, "message_type" : 37, "wind_avg_mi_h" : 4.000, "temperature_F" : 60.200, "humidity" : 95, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "cabc6582876a5f2efce7"}\n']
Sep 27 18:42:06 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'outTemp': 60.2, 'outHumidity': 95.0, 'windSpeed': 4.0, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793322, 'usUnits': 1}
Sep 27 18:42:06 RaspberryPi4 weewx[660] ERROR user.weather34: [Errno 2] No such file or directory: '/tmp/weather34/RetainedLoopValues.txt'
Sep 27 18:42:06 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:06 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'outTemp': 60.2, 'outHumidity': 95.0, 'windSpeed': 4.0, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793322, 'usUnits': 1}
Sep 27 18:42:06 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:06 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'outTemp': 60.2, 'outHumidity': 95.0, 'windSpeed': 4.0, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793322, 'usUnits': 1}
Sep 27 18:42:06 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:06 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Published record 2021-09-27 18:42:02 PDT (1632793322)
Sep 27 18:42:07 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Published record 2021-09-27 18:42:02 PDT (1632793322)
Sep 27 18:42:11 RaspberryPi4 weewx[660] DEBUG user.weather34: Webserver: weewx host ip 10.0.1.189 listening on port 25252
Sep 27 18:42:18 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=['{"time" : "2021-09-28 01:42:07", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:07", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:07", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:08", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:08", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:08", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:10", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -1.000, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:10", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -1.000, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:10", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -1.000, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:13", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, "message_type" : 38, "wind_avg_mi_h" : 3.000, "wind_dir_deg" : 286.000, "rain_in" : 0.200, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c2bc66814878142efc63"}\n', '{"time" : "2021-09-28 01:42:13", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 1, "battery_ok" : 1, "message_type" : 38, "wind_avg_mi_h" : 3.000, "wind_dir_deg" : 286.000, "rain_in" : 0.200, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c6bc66814878142efc67"}\n', '{"time" : "2021-09-28 01:42:13", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 2, "battery_ok" : 1, "message_type" : 38, "wind_avg_mi_h" : 3.000, "wind_dir_deg" : 286.000, "rain_in" : 0.200, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "cabc66814878142efc6b"}\n', '{"time" : "2021-09-28 01:42:14", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:14", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:14", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n']
Sep 27 18:42:18 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'windSpeed': 3.0, 'windDir': 286.0, 'Atlas_rain_total': 0.2, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793333, 'usUnits': 1}
Sep 27 18:42:18 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:18 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'windSpeed': 3.0, 'windDir': 286.0, 'Atlas_rain_total': 0.2, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793333, 'usUnits': 1}
Sep 27 18:42:18 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:18 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'windSpeed': 3.0, 'windDir': 286.0, 'Atlas_rain_total': 0.2, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793333, 'usUnits': 1}
Sep 27 18:42:18 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:18 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Published record 2021-09-27 18:42:13 PDT (1632793333)
Sep 27 18:42:19 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Published record 2021-09-27 18:42:13 PDT (1632793333)
Sep 27 18:42:21 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=[]
Sep 27 18:42:30 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=['{"time" : "2021-09-28 01:42:23", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:23", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:23", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:23", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 4.000, "uv" : 0, "lux" : 60, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c2bce7820000062efc17"}\n', '{"time" : "2021-09-28 01:42:23", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 1, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 4.000, "uv" : 0, "lux" : 60, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c6bce7820000062efc1b"}\n', '{"time" : "2021-09-28 01:42:23", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 2, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 4.000, "uv" : 0, "lux" : 60, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "cabce7820000062efc1f"}\n', '{"time" : "2021-09-28 01:42:25", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:25", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:25", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:26", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -0.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:26", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -0.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:26", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -0.900, "humidity" : 75, "mic" : "CHECKSUM"}\n']
Sep 27 18:42:30 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'windSpeed': 4.0, 'UV': 0, 'radiation': 60, 'lux': 60, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793343, 'usUnits': 1}
Sep 27 18:42:30 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:30 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'windSpeed': 4.0, 'UV': 0, 'radiation': 60, 'lux': 60, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793343, 'usUnits': 1}
Sep 27 18:42:30 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:30 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'windSpeed': 4.0, 'UV': 0, 'radiation': 60, 'lux': 60, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793343, 'usUnits': 1}
Sep 27 18:42:30 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:30 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Published record 2021-09-27 18:42:23 PDT (1632793343)
Sep 27 18:42:31 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Published record 2021-09-27 18:42:23 PDT (1632793343)
Sep 27 18:42:34 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=['{"time" : "2021-09-28 01:42:31", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:31", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:31", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n']
Sep 27 18:42:37 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=['{"time" : "2021-09-28 01:42:34", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, "message_type" : 37, "wind_avg_mi_h" : 4.000, "temperature_F" : 60.200, "humidity" : 96, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c2bc6582876a602efce0"}\n', '{"time" : "2021-09-28 01:42:34", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 1, "battery_ok" : 1, "message_type" : 37, "wind_avg_mi_h" : 4.000, "temperature_F" : 60.200, "humidity" : 96, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c6bc6582876a602efce4"}\n', '{"time" : "2021-09-28 01:42:34", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 2, "battery_ok" : 1, "message_type" : 37, "wind_avg_mi_h" : 4.000, "temperature_F" : 60.200, "humidity" : 96, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "cabc6582876a602efce8"}\n']
Sep 27 18:42:37 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'outTemp': 60.2, 'outHumidity': 96.0, 'windSpeed': 4.0, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793354, 'usUnits': 1}
Sep 27 18:42:37 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:37 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'outTemp': 60.2, 'outHumidity': 96.0, 'windSpeed': 4.0, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793354, 'usUnits': 1}
Sep 27 18:42:37 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:37 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'outTemp': 60.2, 'outHumidity': 96.0, 'windSpeed': 4.0, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793354, 'usUnits': 1}
Sep 27 18:42:38 RaspberryPi4 weewx[660] ERROR user.weather34: Error writing file: Error: [Errno 2] No such file or directory: '/var/weewx/weather34/serverdata/w34realtime.txt'
Sep 27 18:42:38 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Published record 2021-09-27 18:42:34 PDT (1632793354)
Sep 27 18:42:38 RaspberryPi4 weewx[660] INFO weewx.restx: Wunderground-RF: Published record 2021-09-27 18:42:34 PDT (1632793354)
Sep 27 18:42:46 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=['{"time" : "2021-09-28 01:42:39", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:39", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:39", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:42", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:42", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:42", "model" : "Acurite-Tower", "id" : 5793, "channel" : "A", "battery_ok" : 1, "temperature_C" : 16.200, "humidity" : 86, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:43", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -0.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:43", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -0.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:43", "model" : "Acurite-Tower", "id" : 11549, "channel" : "A", "battery_ok" : 1, "temperature_C" : -0.900, "humidity" : 75, "mic" : "CHECKSUM"}\n']
Sep 27 18:42:50 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=['{"time" : "2021-09-28 01:42:47", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:47", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:47", "model" : "Acurite-Tower", "id" : 11391, "channel" : "B", "battery_ok" : 1, "temperature_C" : 21.400, "humidity" : 57, "mic" : "CHECKSUM"}\n']
Sep 27 18:42:53 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=[]
Sep 27 18:42:59 RaspberryPi4 weewx[660] DEBUG user.sdr: lines=['{"time" : "2021-09-28 01:42:55", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 0, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 3.000, "uv" : 0, "lux" : 50, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c2bce781c000052efcd5"}\n', '{"time" : "2021-09-28 01:42:55", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 1, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 3.000, "uv" : 0, "lux" : 50, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "c6bce781c000052efcd9"}\n', '{"time" : "2021-09-28 01:42:55", "model" : "Acurite-Atlas", "id" : 700, "channel" : "A", "sequence_num" : 2, "battery_ok" : 1, "message_type" : 39, "wind_avg_mi_h" : 3.000, "uv" : 0, "lux" : 50, "strike_count" : 187, "strike_distance" : 28, "exception" : 0, "raw_msg" : "cabce781c000052efcdd"}\n', '{"time" : "2021-09-28 01:42:56", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:56", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n', '{"time" : "2021-09-28 01:42:56", "model" : "Acurite-Tower", "id" : 5660, "channel" : "C", "battery_ok" : 1, "temperature_C" : -13.900, "humidity" : 75, "mic" : "CHECKSUM"}\n']

gjr80

unread,
Sep 28, 2021, 1:30:13 AM9/28/21
to weewx-user
OK. That all looks fine. The only comment I would make is that it would may have been prudent to use Packet.get_float()/Packet.get_int() as with the other numeric obs rather than obj.get() in your code that was added to class AcuriteAtlasPacket(), but it seems that rtl_433 returns numerics for those fields so it probably does not matter. The Atlas 'lines' are being picked up and mapped correctly. The following is your loop packet pre-deltas:

Sep 27 18:42:30 RaspberryPi4 weewx[660] DEBUG user.sdr: packet={'windSpeed': 4.0, 'UV': 0, 'radiation': 60, 'lux': 60, 'strikes_total': 187, 'strike_dist': 28, 'windBatteryStatus': 0, 'dateTime': 1632793343, 'usUnits': 1}

This tells us the sensor map is working fine. Unfortunately the sdr driver logs the loop packet before deltas are added so we can't confirm from the log whether the deltas are being correctly calculated/added to the loop packet. To do that you will need to run WeeWX directly so you can see the final loop packet. Give that a go.

Gary

Kevin Key

unread,
Sep 28, 2021, 4:13:47 AM9/28/21
to weewx-user
Hey Gary,

Thanks again for your help.

I've cleaned up the code in sdr.py per your suggestions:
        if 'strike_count' in obj:
            pkt['strike_count'] = Packet.get_float(obj, 'strike_count')
        if 'strike_distance' in obj:
            pkt['strike_distance'] = Packet.get_float(obj, 'strike_distance')


Below are some of my LOOP packets. Looks like lightning data is there:


LOOP:   2021-09-28 01:03:53 PDT (1632816233) altimeter: 30.008825229015287, appTemp: 61.093758006549436, Atlas_rain_total: 0.21, barometer: 30.00175274235402, cloudbase: 1405.9999999999984, dateTime: 1632816233, dewpoint: 58.400000000000006, heatindex: 58.64000000000001, humidex: 65.1749444539146, inDewpoint: 55.01434897928988, inHumidity: 53.35101684761166, inTemp: 72.98836711781216, lightningDistance: 0, lightningStrikes: 0, lux: 0, maxSolarRad: 0.0, outHumidity: 100.0, outTemp: 58.4, pressure: 28.51338927652428, radiation: 0, rain: 0.0, rainRate: 0.0, strike_dist: 28, strikes_total: 187, usUnits: 1, UV: 0, windBatteryStatus: 0, windchill: 58.4, windDir: 224.0, windSpeed: 0.0
LOOP:   2021-09-28 01:03:53 PDT (1632816233) altimeter: 30.008825229015287, appTemp: 61.093758006549436, Atlas_rain_total: 0.21, barometer: 30.00175274235402, cloudbase: 1405.9999999999984, dateTime: 1632816233, dewpoint: 58.400000000000006, heatindex: 58.64000000000001, humidex: 65.1749444539146, inDewpoint: 55.05253945955322, inHumidity: 53.37521405428023, inTemp: 73.01617188480216, lightningDistance: 0, lightningStrikes: 0, lux: 0, maxSolarRad: 0.0, outHumidity: 100.0, outTemp: 58.4, pressure: 28.51338927652428, radiation: 0, rain: 0.0, rainRate: 0.0, strike_dist: 28, strikes_total: 187, usUnits: 1, UV: 0, windBatteryStatus: 0, windchill: 58.4, windDir: 224.0, windSpeed: 0.0
LOOP:   2021-09-28 01:04:04 PDT (1632816244) altimeter: 30.008825229015287, appTemp: 61.093758006549436, Atlas_rain_total: 0.21, barometer: 30.00175274235402, cloudbase: 1405.9999999999984, dateTime: 1632816244, dewpoint: 58.400000000000006, heatindex: 58.64000000000001, humidex: 65.1749444539146, inDewpoint: 54.99593914971247, inHumidity: 53.315326739327105, inTemp: 72.98836711781216, lightningDistance: 0, lightningStrikes: 0, lux: 0, maxSolarRad: 0.0, outHumidity: 100.0, outTemp: 58.4, pressure: 28.51338927652428, radiation: 0, rainRate: 0.0, strike_dist: 28, strikes_total: 187, usUnits: 1, UV: 0, windBatteryStatus: 0, windchill: 58.4, windDir: 224.0, windSpeed: 1.0
LOOP:   2021-09-28 01:04:04 PDT (1632816244) altimeter: 30.008825229015287, appTemp: 61.093758006549436, Atlas_rain_total: 0.21, barometer: 30.00175274235402, cloudbase: 1405.9999999999984, dateTime: 1632816244, dewpoint: 58.400000000000006, heatindex: 58.64000000000001, humidex: 65.1749444539146, inDewpoint: 55.01935692178009, inHumidity: 53.32749173666669, inTemp: 73.00690362861496, lightningDistance: 0, lightningStrikes: 0, lux: 0, maxSolarRad: 0.0, outHumidity: 100.0, outTemp: 58.4, pressure: 28.51338927652428, radiation: 0, rainRate: 0.0, strike_dist: 28, strikes_total: 187, usUnits: 1, UV: 0, windBatteryStatus: 0, windchill: 58.4, windDir: 224.0, windSpeed: 1.0
LOOP:   2021-09-28 01:04:04 PDT (1632816244) altimeter: 30.008825229015287, appTemp: 61.093758006549436, Atlas_rain_total: 0.21, barometer: 30.00175274235402, cloudbase: 1405.9999999999984, dateTime: 1632816244, dewpoint: 58.400000000000006, heatindex: 58.64000000000001, humidex: 65.1749444539146, inDewpoint: 55.03663680805664, inHumidity: 53.327759945155194, inTemp: 73.02544014151326, lightningDistance: 0, lightningStrikes: 0, lux: 0, maxSolarRad: 0.0, outHumidity: 100.0, outTemp: 58.4, pressure: 28.51338927652428, radiation: 0, rainRate: 0.0, strike_dist: 28, strikes_total: 187, usUnits: 1, UV: 0, windBatteryStatus: 0, windchill: 58.4, windDir: 224.0, windSpeed: 1.0

gjr80

unread,
Sep 28, 2021, 6:06:08 AM9/28/21
to weewx-user
OK, so sdr is doing what it should. You could let WeeWX run directly for a little longer and you should eventually see an archive record on the console (it will be preceded by REC:) and it should contain lightningDistance and lightningStrikes data as well. A few things you might need to look at. First the extractor function for lightningStrikes. WeeWX synthesises an archive record from accumulated loop packets received during the archive period, the default action is for WeeWX to calculate the average value of a field over the archive period. That is fine for intensive values such as temperature, humidity etc but not for the extensive values such as rain and lightningStrikes. WeeWX knows to calculate the sum of the rain values in loop packets but it doesn’t know to do the same for lightningStrikes. To set an extractor function you need to add an entry under [Accumulator] in weewx.conf, so for lightningStrikes you might use something like:

[Accumulator]
    [[lightningStrikes]]
        extractor = sum

For lightningDistance you might want the last value, the minimum value or perhaps the average (the default). Your choice. Say you went with last you might add [[lightningDistance]] as follows:

[Accumulator]
    [[lightningStrikes]]
        extractor = sum
    [[lightningDistance]]
        extractor = last

So now you have the correct values for your fields appearing in the archive record. You can now use $current.lightningStrikes $current.lightningDistance in your reports but WeeWX won’t know what units or format to use. To take advantage of the WeeWX unit conversion and formatting abilities you need to add your new observations to a unit group. To do this add something like the following to user/extensions.py:

import weewx.units
weewx.units.obs_group_dict['lightningStrikes'] = 'group_count'
weewx.units.obs_group_dict['lightningDistance'] = 'group_distance’

WeeWX should now correctly convert and format lightningStrikes and lightningDistance based tags.

Finally, if you want to plot or use aggregates in reports you need alter you database schema to include lightningStrikes and lightningDistance. Altering your schema is covered under Customizing the database in the Customization Guide.

After all that  you should be good to use lightningStrikes and lightningDistance as you do outTemp and rain.

Gary

Kevin Key

unread,
Sep 29, 2021, 2:55:33 AM9/29/21
to weewx-user
thanks again, Gary. I'm going to work on making the necessary customizations. 
Reply all
Reply to author
Forward
0 new messages