--Hi,Just bought a Oregon WMR200 and installed weewx on Rasperri PI. Station workes fine when running on default sqlite.I am trying to move database to my Synology diskstation to preserve memory card in my PI. I have successfully copied database to mysql with "wee_database --transfer --dest-binding=dest_binding". When starting up PI it gives error below.I also deleted all tables in database on mysql and restarted PI. Then tables are created and same error. Then it cannot be bad data that caused the error.Please advice how to proceed.Thanks!BR MagnusLogfile:Jul 11 20:57:22 raspberrypi weewx[783]: engine: Starting up weewx version 3.7.1
Jul 11 20:57:22 raspberrypi weewx[783]: engine: Station does not support reading the time
Jul 11 20:57:22 raspberrypi weewx[783]: wmr200: MainThread: D genStartup() phase getting archive packets since ******* N/A ******* ( N/A )
Jul 11 20:57:22 raspberrypi weewx[783]: wmr200: MainThread: I genStartup() Database initialization
Jul 11 20:57:23 raspberrypi weewx[783]: wmr200: MainThread: I Time drift between host and console in seconds:23
Jul 11 20:57:23 raspberrypi weewx[783]: wmr200: MainThread: D Queuing live packet rx:1 live_queue_len:1
Jul 11 20:57:27 raspberrypi weewx[783]: wmr200: MainThread: D Queuing live packet rx:2 live_queue_len:2
Jul 11 20:57:32 raspberrypi weewx[783]: wmr200: MainThread: D Queuing live packet rx:3 live_queue_len:3
Jul 11 20:57:37 raspberrypi weewx[783]: wmr200: MainThread: D Queuing live packet rx:4 live_queue_len:4
Jul 11 20:57:37 raspberrypi weewx[783]: wmr200: MainThread: D Queuing live packet rx:5 live_queue_len:5
Jul 11 20:57:47 raspberrypi weewx[783]: wmr200: MainThread: D Queuing live packet rx:6 live_queue_len:6
Jul 11 20:57:51 raspberrypi weewx[783]: wmr200: MainThread: D Queuing live packet rx:7 live_queue_len:7
Jul 11 20:57:51 raspberrypi rsyslogd-2007: action 'action 17' suspended, next retry is Tue Jul 11 20:58:21 2017 [try http://www.rsyslog.com/e/2007 ]
Jul 11 20:57:53 raspberrypi weewx[783]: wmr200: MainThread: D Acknowledged control packet rx:1
Jul 11 20:57:54 raspberrypi weewx[783]: wmr200: MainThread: D Queuing archive packet rx:1 archive_queue_len:1
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: I genStartup() Still receiving archive packets cnt:0 len:1
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: I Using pc time adjusting archive record time by 23 sec 2017-07-11 19:48:00 CEST (1499795280) => 2017-07-11 19:48:23 CEST (1499795303)
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: D Initializing Archive Data.rain_total_last to 0.00
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: D genStartup() Yielding received archive record cnt:1 after requested timestamp:0 pkt_interval:0 pkt:2017-07-11 19:48:23 CEST (1499795303)
Jul 11 20:57:55 raspberrypi weewx[783]: manager: Daily summary version is 2.0
Jul 11 20:57:55 raspberrypi weewx[783]: manager: Added record 2017-07-11 19:48:23 CEST (1499795303) to database 'weewx'
Jul 11 20:57:55 raspberrypi weewx[783]: engine: Main loop exiting. Shutting engine down.
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: Thread-4: I USB polling device thread exiting
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: I USB polling thread expired
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: Thread-3: I Watchdog received shutdown
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: Thread-3: I Watchdog thread exiting
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: I Watchdog thread expired
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: I Received packet count live:7 archive:1 control:1
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: I Received bytes:1792 sent bytes:48
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: I Packet archive queue len:0 live queue len:7
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: W Exiting with packets still in live queue cnt:7
Jul 11 20:57:55 raspberrypi weewx[783]: wmr200: MainThread: I Driver gracefully exiting
Jul 11 20:57:55 raspberrypi weewx[783]: engine: Caught unrecoverable exception in engine:
Jul 11 20:57:55 raspberrypi weewx[783]: **** 'interval'
Jul 11 20:57:55 raspberrypi weewx[783]: **** Traceback (most recent call last):
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/engine.py", line 871, in main
Jul 11 20:57:55 raspberrypi weewx[783]: **** engine.run()
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/engine.py", line 159, in run
Jul 11 20:57:55 raspberrypi weewx[783]: **** self.dispatchEvent(weewx.Event(weewx.STARTUP))
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/engine.py", line 223, in dispatchEvent
Jul 11 20:57:55 raspberrypi weewx[783]: **** callback(event)
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/engine.py", line 508, in startup
Jul 11 20:57:55 raspberrypi weewx[783]: **** self._catchup(self.engine.console.genStartupRecords)
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/engine.py", line 622, in _catchup
Jul 11 20:57:55 raspberrypi weewx[783]: **** origin='hardware'))
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/engine.py", line 223, in dispatchEvent
Jul 11 20:57:55 raspberrypi weewx[783]: **** callback(event)
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/engine.py", line 588, in new_archive_record
Jul 11 20:57:55 raspberrypi weewx[783]: **** dbmanager.addRecord(event.record, accumulator=self.old_accumulator)
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/manager.py", line 245, in addRecord
Jul 11 20:57:55 raspberrypi weewx[783]: **** self._addSingleRecord(record, cursor, log_level)
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/manager.py", line 1179, in _addSingleRecord
Jul 11 20:57:55 raspberrypi weewx[783]: **** _weight = self._calc_weight(record)
Jul 11 20:57:55 raspberrypi weewx[783]: **** File "/usr/share/weewx/weewx/manager.py", line 1543, in _calc_weight
Jul 11 20:57:55 raspberrypi weewx[783]: **** weight = 60.0 * record['interval'] if self.version >= '2.0' else 1.0
Jul 11 20:57:55 raspberrypi weewx[783]: **** KeyError: 'interval'
Jul 11 20:57:55 raspberrypi weewx[783]: **** Exiting.Config (deleted some)
# Set to 1 for extra debug info, otherwise comment it out or set to zero
debug = 1# Root directory of the weewx data file hierarchy for this station
WEEWX_ROOT = /# How long to wait before timing out a socket (FTP, HTTP) connection
socket_timeout = 20# Do not modify this. It is used when installing and updating weewx.
version = 3.7.1############################################################################### This section is for information about the station.
# Set to type of station hardware. There must be a corresponding stanza
# in this file with a 'driver' parameter indicating the driver to be used.
station_type = WMR200
##############################################################################[WMR200]
# This section is for the Oregon Scientific WMR200
# The station model, e.g., WMR200, WMR200A, Radio Shack W200
model = WMR200
# The driver to use:
driver = weewx.drivers.wmr200############################################################################### This section is for uploading data to Internet sites[StdRESTful]
[[StationRegistry]]
# To register this weather station with weewx, set this to true
register_this_station = false
[[AWEKAS]]
# This section is for configuring posts to AWEKAS.
# If you wish to do this, set the option 'enable' to true,
# and specify a username and password.
enable = false
username = replace_me
# To guard against parsing errors, put your password in quotes:
password = replace_me
[[CWOP]]
# This section is for configuring posts to CWOP.
# If you wish to do this, set the option 'enable' to true,
# and specify the station ID (e.g., CW1234).
enable = false
station = replace_me
# If this is an APRS (radio amateur) station, uncomment
# the following and replace with a passcode (e.g., 12345).
#passcode = replace_me (APRS stations only)
[[PWSweather]]
# This section is for configuring posts to PWSweather.com.
# If you wish to do this, set the option 'enable' to true,
# and specify a station and password.
enable = false
station = replace_me
# To guard against parsing errors, put your password in quotes:
password = replace_me
[[WOW]]
# This section is for configuring posts to WOW.
# If you wish to do this, set the option 'enable' to true,
# and specify a station and password.
enable = false
station = replace_me
# To guard against parsing errors, put your password in quotes:
password = replace_me
[[Wunderground]]
# This section is for configuring posts to the Weather Underground.
# If you wish to do this, set the option 'enable' to true,
# and specify a station (e.g., 'KORHOODR3') and password.
enable = false
station = replace_me
# To guard against parsing errors, put your password in quotes:
password = replace_me
# Set the following to True to have weewx use the WU "Rapidfire"
# protocol. Not all hardware can support it. See the User's Guide.
rapidfire = False############################################################################### This section specifies what reports, using which skins, to generate.[StdReport]
# Where the skins reside, relative to WEEWX_ROOT
SKIN_ROOT = /etc/weewx/skins
# Where the generated reports should go, relative to WEEWX_ROOT
HTML_ROOT = /var/www/html/weewx
# The database binding indicates which data should be used in reports.
data_binding = wx_binding
# Each of the following subsections defines a report that will be run.
[[StandardReport]]
# See the customizing guide to change the units, plot types and line
# colors, modify the fonts, display additional sensor data, and other
# customizations. Many of those changes can be made here by overriding
# parameters, or by modifying templates within the skin itself.
# The StandardReport uses the 'Standard' skin, which contains the
# images, templates and plots for the report.
skin = Standard
[[[Units]]]
[[[[Groups]]]]
group_altitude = meter
group_speed2 = meter_per_second2
group_pressure = mbar
group_rain = mm
group_rainrate = mm_per_hour
group_temperature = degree_C
group_degree_day = degree_C_day
group_speed = meter_per_second
[[FTP]]
# FTP'ing the results to a webserver is treated as just another report,
# albeit one with an unusual report generator!
skin = Ftp
# If you wish to use FTP, uncomment and fill out the next four lines.
#user = replace with the ftp username
#password = replace with the ftp password; put in quotes to guard against parsing errors.
#server = replace with the ftp server name, e.g, www.threefools.org
#path = replace with the ftp destination directory (e.g., /weather)
# Set to True for an FTP over TLS (FTPS) connection. Not all servers
# support this.
secure_ftp = False
# To upload files from something other than what HTML_ROOT is set
# to above, specify a different HTML_ROOT here.
#HTML_ROOT = /var/www/html/weewx
# Most FTP servers use port 21
port = 21
# Set to 1 to use passive mode, zero for active mode
passive = 1
[[RSYNC]]
# rsync'ing to a webserver is treated as just another report
skin = Rsync
# If you wish to use rsync, you must configure passwordless ssh using
# public/private key authentication from the user account that weewx
# runs as to the user account on the remote machine where the files
# will be copied.
#
# The following three lines determine where files will be sent.
#server = replace with the rsync server name, e.g, www.threefools.org
#path = replace with the rsync destination directory (e.g., /weather)
#user = replace with the rsync username
# Rsync can be configured to remove files from the remote server if
# they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you
# make a mistake in the remote path, you could could unintentionally
# cause unrelated files to be deleted. Set to 1 to enable remote file
# deletion, zero to allow files to accumulate remotely.
delete = 0############################################################################### This service acts as a filter, converting the unit system coming from
# the hardware to a unit system in the database.[StdConvert]
# The target_unit affects only the unit system in the database. Once
# chosen it cannot be changed without converting the entire database.
# Modification of target_unit after starting weewx will result in
# corrupt data - the database will contain a mix of US and METRIC data.
#
# The value of target_unit does not affect the unit system for
# reporting - reports can display US, Metric, or any combination of units.
#
# In most cases, target_unit should be left as the default: US
#
# In particular, those migrating from a standard wview installation
# should use US since that is what the wview database contains.
# DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
target_unit = US # Options are 'US', 'METRICWX', or 'METRIC'############################################################################### This section can adjust data using calibration expressions.[StdCalibrate]
[[Corrections]]
# For each type, an arbitrary calibration expression can be given.
# It should be in the units defined in the StdConvert section.
# Example:
foo = foo + 0.2############################################################################### This section is for quality control checks. If units are not specified,
# values must be in the units defined in the StdConvert section.[StdQC]
[[MinMax]]
barometer = 26, 32.5, inHg
outTemp = -40, 120, degree_F
inTemp = 10, 120, degree_F
outHumidity = 0, 100
inHumidity = 0, 100
windSpeed = 0, 120, mile_per_hour
pressure = 24, 34.5, inHg############################################################################### This section controls the origin of derived values.[StdWXCalculate]
[[Calculations]]
# Derived quantities are calculated by this service. Possible values are:
# hardware - use the value provided by hardware
# software - use the value calculated by weewx
# prefer_hardware - use value provide by hardware if available,
# otherwise use value calculated by weewx
pressure = prefer_hardware
barometer = prefer_hardware
altimeter = prefer_hardware
windchill = hardware
heatindex = hardware
dewpoint = prefer_hardware
inDewpoint = prefer_hardware
rainRate = hardware############################################################################### For hardware that supports it, this section controls how often the
# onboard clock gets updated.[StdTimeSynch]
# How often to check the weather station clock for drift (in seconds)
clock_check = 14400
# How much it can drift before we will correct it (in seconds)
max_drift = 5############################################################################### This section is for configuring the archive service.[StdArchive]
# If the station hardware supports data logging then the archive interval
# will be downloaded from the station. Otherwise, specify it (in seconds).
archive_interval = 300
# If possible, new archive records are downloaded from the station
# hardware. If the hardware does not support this, then new archive
# records will be generated in software.
# Set the following to "software" to force software record generation.
record_generation = hardware
# Whether to include LOOP data in hi/low statistics
loop_hilo = True
# The data binding used to save archive records
data_binding = dest_binding############################################################################### This section binds a data store to a database.[DataBindings]
[[wx_binding]]
# The database must match one of the sections in [Databases].
# This is likely to be the only option you would want to change.
database = archive_sqlite
# The name of the table within the database
table_name = archive
# The manager handles aggregation of data for historical summaries
manager = weewx.wxmanager.WXDaySummaryManager
# The schema defines the structure of the database.
# It is *only* used when the database is created.
schema = schemas.wview.schema[[dest_binding]]
database = archive_mysql
table_name = archive
manager = weewx.wxmanager.WXDaySummaryManager
schema = schemas.wview.schema############################################################################### This section defines various databases.[Databases]
# A SQLite database is simply a single file
[[archive_sqlite]]
database_type = SQLite
database_name = weewx.sdb
# MySQL
[[archive_mysql]]
database_type = MySQL
database_name = weewx############################################################################### This section defines defaults for the different types of databases.[DatabaseTypes]
# Defaults for SQLite databases
[[SQLite]]
driver = weedb.sqlite
# Directory in which the database files are located
SQLITE_ROOT = /var/lib/weewx
# Defaults for MySQL databases
[[MySQL]]
driver = weedb.mysql
# The host where the database is located
host = 10.0.0.2
# The user name for logging in to the host
user = weewx
# The password for the user name. Put in quotes to guard against parsing errors.
password = XXXXXX############################################################################### This section configures the internal weewx engine.[Engine]
[[Services]]
# This section specifies the services that should be run. They are
# grouped by type, and the order of services within each group
# determines the order in which the services will be run.
prep_services = weewx.engine.StdTimeSynch
data_services = ,
process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate
archive_services = weewx.engine.StdArchive
restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS
report_services = weewx.engine.StdPrint, weewx.engine.StdReport
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.