engine: Caught unrecoverable exception in engine: 'interval' WMR200 on RaspberryPi

54 views
Skip to first unread message

tfi...@gmail.com

unread,
May 14, 2017, 10:29:48 AM5/14/17
to weewx-user
Hello,

I recently updatet to 3.7.1. Since then I had some troubles with WMR200 driver related to Interval column in MySQL. I downloaded latest WMR200 driver ("3.3.2") from github and finally it works just fine for few days. But from this midnight weewx doesn't work. If you have any sugestions how to fix this problem or want some other logs/informations I will answer that as soon as possible.

Thanks

I am adding some info from /var/log/syslog with debug=1

May 14 16:20:57 pi weewx[2512]: engine: Initializing weewx version 3.7.1
May 14 16:20:57 pi weewx[2512]: engine: Using Python 2.7.3 (default, Jun 22 2016, 03:14:32) #012[GCC 4.6.3]
May 14 16:20:58 pi weewx[2512]: engine: Platform Linux-3.18.0-trunk-rpi-armv6l-with-debian-7.11
May 14 16:20:58 pi weewx[2512]: engine: Locale is 'LC_CTYPE=en_US.UTF-8;LC_NUMERIC=sk_SK.UTF-8;LC_TIME=sk_SK.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=sk_SK.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=sk_SK.UTF-8;LC_NAME=sk_SK.UTF-8;LC_ADDRESS=sk_SK.UTF-8;LC_TELEPHONE=sk_SK.UTF-8;LC_MEASUREMENT=sk_SK.UTF-8;LC_IDENTIFICATION=sk_SK.UTF-8'
May 14 16:20:58 pi weewx[2512]: engine: pid file is /var/run/weewx.pid
May 14 16:20:58 pi weewx[2516]: engine: Using configuration file /etc/weewx/weewx.conf
May 14 16:20:58 pi weewx[2516]: engine: debug is 1
May 14 16:20:58 pi weewx[2516]: engine: Initializing engine
May 14 16:20:58 pi weewx[2516]: engine: Loading station type WMR200 (weewx.drivers.wmr200)
May 14 16:20:58 pi weewx[2516]: wmr200: MainThread: I driver version is 3.3.1
May 14 16:20:58 pi weewx[2516]: wmr200: MainThread: I sensor map is {'outTempBatteryStatus': 'battery_status_out', 'outHumidity': 'humidity_1', 'rainRate': 'rain_rate', 'heatindex4': 'heatindex_5', 'rainTotal': 'rain_total', 'rainBatteryStatus': 'battery_status_rain', 'heatindex6': 'heatindex_7', 'extraTemp5': 'temperature_6', 'uvFault': 'uv_fault', 'extraTemp2': 'temperature_3', 'heatindex': 'heatindex_1', 'extraTemp3': 'temperature_4', 'rain24': 'rain_24', 'inHeatindex': 'heatindex_0', 'inTemp': 'temperature_0', 'extraTemp1': 'temperature_2', 'hourRain': 'rain_hour', 'windFault': 'wind_fault', 'windchill': 'windchill', 'clockUnsynchronized': 'clock_unsynchronized', 'extraTemp7': 'temperature_8', 'rain': 'rain', 'forecastIcon': 'forecast_icon', 'pressure': 'pressure', 'extraHumid4': 'humidity_5', 'extraHumid5': 'humidity_6', 'extraHumid2': 'humidity_3', 'extraHumid3': 'humidity_4', 'extraHumid1': 'humidity_2', 'extraTemp6': 'temperature_7', 'heatindex5': 'heatindex_6', 'extraTemp4': 'temperature_5', 'heatindex7': 'heatindex_8', 'altimeter': 'altimeter', 'heatindex1': 'heatindex_2', 'heatindex2': 'heatindex_3', 'heatindex3': 'heatindex_4', 'extraHumid6': 'humidity_7', 'extraHumid7': 'humidity_8', 'windBatteryStatus': 'battery_status_wind', 'UV': 'uv', 'rainFault': 'rain_fault', 'windDir': 'wind_dir', 'outTemp': 'temperature_1', 'windSpeed': 'wind_speed', 'inHumidity': 'humidity_0', 'outTempFault': 'out_fault', 'windGust': 'wind_gust', 'uvBatteryStatus': 'battery_status_uv'}
May 14 16:20:58 pi weewx[2516]: wmr200: MainThread: I Created watchdog thread to poke for live data every 30 seconds
May 14 16:20:58 pi weewx[2516]: wmr200: MainThread: I Created USB polling thread to read block on device
May 14 16:20:58 pi weewx[2516]: wmr200: Thread-2: I USB polling device thread for live data launched
May 14 16:20:58 pi weewx[2516]: wmr200: MainThread: I Reset console device
May 14 16:20:58 pi weewx[2516]: wmr200: Thread-2: I USB polling device thread signaled to start
May 14 16:20:59 pi weewx[2516]: wmr200: MainThread: D Configuration setup
May 14 16:20:59 pi weewx[2516]: wmr200: MainThread: D   Log sensor faults: True
May 14 16:20:59 pi weewx[2516]: wmr200: MainThread: D   Using PC Time: True
May 14 16:20:59 pi weewx[2516]: wmr200: MainThread: D   Erase archive data: False
May 14 16:20:59 pi weewx[2516]: wmr200: MainThread: D   Archive interval: 300
May 14 16:20:59 pi weewx[2516]: wmr200: MainThread: D   Archive threshold: 604800
May 14 16:20:59 pi weewx[2516]: engine: Loading service weewx.engine.StdTimeSynch
May 14 16:20:59 pi weewx[2516]: wmr200: Thread-1: I Started watchdog thread live data
May 14 16:20:59 pi weewx[2516]: engine: Finished loading service weewx.engine.StdTimeSynch
May 14 16:20:59 pi weewx[2516]: engine: Loading service weewx.engine.StdConvert
May 14 16:20:59 pi weewx[2516]: engine: StdConvert target unit is 0x10
May 14 16:20:59 pi weewx[2516]: engine: Finished loading service weewx.engine.StdConvert
May 14 16:20:59 pi weewx[2516]: engine: Loading service weewx.engine.StdCalibrate
May 14 16:20:59 pi weewx[2516]: engine: Finished loading service weewx.engine.StdCalibrate
May 14 16:20:59 pi weewx[2516]: engine: Loading service weewx.engine.StdQC
May 14 16:20:59 pi weewx[2516]: engine: Finished loading service weewx.engine.StdQC
May 14 16:20:59 pi weewx[2516]: engine: Loading service weewx.wxservices.StdWXCalculate
May 14 16:20:59 pi weewx[2516]: wxcalculate: The following values will be calculated: barometer=prefer_hardware, windchill=prefer_hardware, dewpoint=prefer_hardware, appTemp=prefer_hardware, rainRate=hard
ware, windrun=prefer_hardware, heatindex=prefer_hardware, maxSolarRad=prefer_hardware, humidex=prefer_hardware, pressure=hardware, inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=hardware, cloud
base=prefer_hardware
May 14 16:20:59 pi weewx[2516]: wxcalculate: The following algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
May 14 16:20:59 pi weewx[2516]: engine: Finished loading service weewx.wxservices.StdWXCalculate
May 14 16:20:59 pi weewx[2516]: engine: Loading service weewx.engine.StdArchive
May 14 16:20:59 pi weewx[2516]: engine: Archive will use data binding wx_binding
May 14 16:20:59 pi weewx[2516]: engine: Record generation will be attempted in 'hardware'
May 14 16:20:59 pi weewx[2516]: engine: Using archive interval of 300 seconds (specified by hardware)
May 14 16:20:59 pi weewx[2516]: engine: Use LOOP data in hi/low calculations: 1
May 14 16:21:00 pi weewx[2516]: manager: Daily summary version is 2.0
May 14 16:21:00 pi weewx[2516]: engine: Using binding 'wx_binding' to database 'weewx'
May 14 16:21:00 pi weewx[2516]: manager: Starting backfill of daily summaries
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.engine.StdArchive
May 14 16:21:00 pi weewx[2516]: engine: Loading service weewx.restx.StdStationRegistry
May 14 16:21:00 pi weewx[2516]: restx: StationRegistry: Station will be registered.
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.restx.StdStationRegistry
May 14 16:21:00 pi weewx[2516]: engine: Loading service weewx.restx.StdWunderground
May 14 16:21:00 pi weewx[2516]: restx: Wunderground: Posting not enabled.
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.restx.StdWunderground
May 14 16:21:00 pi weewx[2516]: engine: Loading service weewx.restx.StdPWSweather
May 14 16:21:00 pi weewx[2516]: restx: PWSweather: Posting not enabled.
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.restx.StdPWSweather
May 14 16:21:00 pi weewx[2516]: engine: Loading service weewx.restx.StdCWOP
May 14 16:21:00 pi weewx[2516]: restx: CWOP: Posting not enabled.
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.restx.StdCWOP
May 14 16:21:00 pi weewx[2516]: engine: Loading service weewx.restx.StdWOW
May 14 16:21:00 pi weewx[2516]: restx: WOW: Posting not enabled.
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.restx.StdWOW
May 14 16:21:00 pi weewx[2516]: engine: Loading service weewx.restx.StdAWEKAS
May 14 16:21:00 pi weewx[2516]: restx: AWEKAS: Posting not enabled.
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.restx.StdAWEKAS
May 14 16:21:00 pi weewx[2516]: engine: Loading service weewx.engine.StdPrint
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.engine.StdPrint
May 14 16:21:00 pi weewx[2516]: engine: Loading service weewx.engine.StdReport
May 14 16:21:00 pi weewx[2516]: engine: Finished loading service weewx.engine.StdReport
May 14 16:21:00 pi weewx[2516]: engine: Starting up weewx version 3.7.1
May 14 16:21:00 pi weewx[2516]: engine: Station does not support reading the time
May 14 16:21:00 pi weewx[2516]: wmr200: MainThread: D genStartup() phase getting archive packets since 2017-05-14 00:00:00 CEST (1494712800)
May 14 16:21:01 pi weewx[2516]: wmr200: MainThread: I Time drift between host and console in seconds:1
May 14 16:21:01 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:1 live_queue_len:1
May 14 16:21:01 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:2 live_queue_len:2
May 14 16:21:10 pi weewx[2516]: wmr200: MainThread: D   Initializing Rain.rain_total_last to 3.91
May 14 16:21:10 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:3 live_queue_len:3
May 14 16:21:11 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:4 live_queue_len:4
May 14 16:21:15 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:5 live_queue_len:5
May 14 16:21:21 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:6 live_queue_len:6
May 14 16:21:23 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:7 live_queue_len:7
May 14 16:21:28 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:8 live_queue_len:8
May 14 16:21:28 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:9 live_queue_len:9
May 14 16:21:29 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:10 live_queue_len:10
May 14 16:21:31 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:11 live_queue_len:11
May 14 16:21:35 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:12 live_queue_len:12
May 14 16:21:40 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:13 live_queue_len:13
May 14 16:21:43 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:14 live_queue_len:14
May 14 16:21:48 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:15 live_queue_len:15
May 14 16:21:50 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:16 live_queue_len:16
May 14 16:21:56 pi weewx[2516]: wmr200: MainThread: D   adjust_rain rain_total:3.91 Rain.rain_total_last:3.91 rain_interval:0.00
May 14 16:21:56 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:17 live_queue_len:17
May 14 16:21:57 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:18 live_queue_len:18
May 14 16:21:59 pi weewx[2516]: wmr200: MainThread: W Wind sensor: Battery low
May 14 16:21:59 pi weewx[2516]: wmr200: MainThread: W Rain sensor: Battery low
May 14 16:21:59 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:19 live_queue_len:19
May 14 16:22:00 pi weewx[2516]: wmr200: MainThread: D   Acknowledged control packet rx:1
May 14 16:22:00 pi weewx[2516]: wmr200: MainThread: D   Queuing live packet rx:20 live_queue_len:20
May 14 16:22:03 pi weewx[2516]: wmr200: MainThread: D   Queuing archive packet rx:1 archive_queue_len:1
May 14 16:22:04 pi weewx[2516]: wmr200: MainThread: I genStartup() Still receiving archive packets cnt:0 len:1
May 14 16:22:04 pi weewx[2516]: wmr200: MainThread: I Using pc time adjusting archive record time by 1 sec 2017-05-14 00:18:00 CEST (1494713880) => 2017-05-14 00:18:01 CEST (1494713881)
May 14 16:22:04 pi weewx[2516]: wmr200: MainThread: D   Initializing Archive Data.rain_total_last to 3.91
May 14 16:22:04 pi weewx[2516]: wmr200: MainThread: D genStartup() Yielding received archive record cnt:1 after requested timestamp:1494712800 pkt_interval:1081 pkt:2017-05-14 00:18:01 CEST (1494713881)
May 14 16:22:05 pi weewx[2516]: manager: Added record 2017-05-14 00:18:01 CEST (1494713881) to database 'weewx'
May 14 16:22:05 pi weewx[2516]: engine: Main loop exiting. Shutting engine down.
May 14 16:22:05 pi weewx[2516]: restx: Shut down StationRegistry thread.
May 14 16:22:05 pi weewx[2516]: wmr200: Thread-2: I USB polling device thread exiting
May 14 16:22:05 pi weewx[2516]: wmr200: MainThread: I USB polling thread expired
May 14 16:22:05 pi weewx[2516]: wmr200: Thread-1: I Watchdog received shutdown
May 14 16:22:05 pi weewx[2516]: wmr200: Thread-1: I Watchdog thread exiting
May 14 16:22:05 pi weewx[2516]: wmr200: MainThread: I Watchdog thread expired
May 14 16:22:05 pi weewx[2516]: wmr200: MainThread: I Received packet count live:20 archive:1 control:1
May 14 16:22:05 pi weewx[2516]: wmr200: MainThread: I Received bytes:2960 sent bytes:56
May 14 16:22:05 pi weewx[2516]: wmr200: MainThread: I Packet archive queue len:0 live queue len:20
May 14 16:22:05 pi weewx[2516]: wmr200: MainThread: W Exiting with packets still in live queue cnt:20
May 14 16:22:05 pi weewx[2516]: wmr200: MainThread: I Driver gracefully exiting
May 14 16:22:05 pi weewx[2516]: engine: Caught unrecoverable exception in engine:
May 14 16:22:05 pi weewx[2516]:     ****  'interval'
May 14 16:22:05 pi weewx[2516]:     ****  Traceback (most recent call last):
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/engine.py", line 871, in main
May 14 16:22:05 pi weewx[2516]:     ****      engine.run()
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/engine.py", line 159, in run
May 14 16:22:05 pi weewx[2516]:     ****      self.dispatchEvent(weewx.Event(weewx.STARTUP))
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/engine.py", line 223, in dispatchEvent
May 14 16:22:05 pi weewx[2516]:     ****      callback(event)
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/engine.py", line 508, in startup
May 14 16:22:05 pi weewx[2516]:     ****      self._catchup(self.engine.console.genStartupRecords)
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/engine.py", line 622, in _catchup
May 14 16:22:05 pi weewx[2516]:     ****      origin='hardware'))
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/engine.py", line 223, in dispatchEvent
May 14 16:22:05 pi weewx[2516]:     ****      callback(event)
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/engine.py", line 588, in new_archive_record
May 14 16:22:05 pi weewx[2516]:     ****      dbmanager.addRecord(event.record, accumulator=self.old_accumulator)
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/manager.py", line 245, in addRecord
May 14 16:22:05 pi weewx[2516]:     ****      self._addSingleRecord(record, cursor, log_level)
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/manager.py", line 1179, in _addSingleRecord
May 14 16:22:05 pi weewx[2516]:     ****      _weight = self._calc_weight(record)
May 14 16:22:05 pi weewx[2516]:     ****    File "/usr/share/weewx/weewx/manager.py", line 1543, in _calc_weight
May 14 16:22:05 pi weewx[2516]:     ****      weight = 60.0 * record['interval'] if self.version >= '2.0' else 1.0
May 14 16:22:05 pi weewx[2516]:     ****  KeyError: 'interval'
May 14 16:22:05 pi weewx[2516]:     ****  Exiting.
weewx.conf

tfi...@gmail.com

unread,
May 14, 2017, 10:34:33 AM5/14/17
to weewx-user
Some additional info:

My Raspberry Pi is version 1 model B with 256MB RAM
Running Raspbian (Debian) version 7.11
Weewx installed from DEB by dpkg -i .... and I am using weewx around 2 years starting v 3.5. 
About 6 months ago I migrated all SQLite to MySQL database. I used official tutorial for DB migration.

Thomas Keffer

unread,
May 14, 2017, 10:52:03 AM5/14/17
to weewx-user
Hello,

This is a known bug that was fixed a couple weeks ago. Here's the patched WMR200 driver

Try using this new driver and see if it solves your problem.

-tk


--
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 weewx-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Tomáš Filo

unread,
May 14, 2017, 12:18:40 PM5/14/17
to weewx...@googlegroups.com
Thank you, I don't understand why this happened. I downloaded this 3.3.2 fixed version few weeks ago. And it was working until this midnight. But when I checked that now, there was 3.3.1 again. So I replaced it again and it works now. Thank you.

S pozdravom Tomáš Filo

--
You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/u5--PgLGicU/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+unsubscribe@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages