I am not positive that my questions have not been answered. If so, please point me to location where I can read how to mitigate the problems. Thank you!
Recently I have switched from wview to weewx 3.7.1. I must say I got rather disappointed with problems I have encountered.
First, Oregon Scientific WMR88/100/200 stations started to produce erratic graphs on WU and other web pages, with number of incomplete measurements. The weewx documentation gently describes that as "station problem". That is not acceptable, or nice, but just a dirty walk-around-the-problem.
Yes, I am aware of the way that stations "blasts data" from sensors to
station, but wview did away with it quite gently. Also, other (read windows-based) software works nicely with OS stations. Weewx simply gives us
nothing (null), and lets the user deal with it. Well guess what!
This should be corrected.
The graph below is from WU.
Just to ilustrate, this is an example of the data from weewx.sdb:
dateTime,ET,altimeter,appTemp,barometer,cloudbase,dewpoint,hourRain,humidex,inDewpoint,inHumidity,inTemp,inTempBatteryStatus,interval,maxSolarRad,outHumidity,outTemp,outTempBatteryStatus,pressure,rain,rain24,rainBatteryStatus,rainRate,rainTotal,usUnits,windBatteryStatus,windDir,windGust,windGustDir,windSpeed,windrun
1526378490.0,None,1008.47595669,18.7382035985,1008.41843898,1330.2378329,9.93516495581,0.0,20.4483894915,51.3461294561,46.0,23.0,0.0,1,None,55.0,19.2,0.0,988.0,0.0,6.35,0.0,0.0,2.41,17,0.0,337.5,0.700003479692,None,0.700003479692,0.0
1526378610.0,None,None,18.174962293,None,1364.37850406,9.66136186735,20.3234925844,51.3461294561,46.0,23.0,0.0,1,None,54.0,19.2,0.0,None,17,0.0,225.0,1.40000695938,None,1.40000695938,0.0420002087815
1526378670.0,None,1008.47595669,18.384962815,1008.41843898,1364.37850406,9.66136186735,20.3234925844,51.3461294561,46.0,23.0,0.0,1,None,54.0,19.2,0.0,988.0,17,0.0,315.0,1.10000546809,None,1.10000546809,0.126000626344
1526378730.0,None,1008.47595669,None,None,None,None,None,None,1,None,988.0,17,0.0,225.0,0.900004473889,None,0.900004473889,0.19200095443
1526378850.0,None,1008.47595669,None,None,None,None,0.0,None,51.3461294561,46.0,23.0,0.0,1,None,988.0,0.0,6.35,0.0,0.0,2.41,17,0.0,315.0,1.10000546809,None,1.10000546809,0.246001222863
1526378910.0,None,1008.47595669,18.6649635109,1008.41843898,1364.37850406,9.66136186735,20.3234925844,None,1,None,54.0,19.2,0.0,988.0,17,0.0,225.0,0.700003479692,None,0.700003479692,0.312001550948
1526379030.0,None,1008.47595669,None,None,None,None,0.0,None,51.3461294561,46.0,23.0,0.0,1,None,988.0,0.0,6.35,0.0,0.0,2.41,17,0.35400175973
1526379150.0,None,1008.47595669,None,None,None,None,0.0,None,51.3461294561,46.0,23.0,0.0,1,None,988.0,0.0,6.35,0.0,0.0,2.41,17,0.35400175973
1526379210.0,None,1008.47595669,None,None,None,None,None,51.3461294561,46.0,23.0,0.0,1,None,988.0,17,0.0,250.773234946,0.900004473889,None,0.750003728241,0.35400175973
1526379330.0,None,None,18.2996293732,None,1365.28742772,9.75407243522,0.0,20.4655511807,51.3461294561,46.0,23.0,0.0,1,None,54.0,19.3,0.0,None,0.0,6.35,0.0,0.0,2.41,17,0.0,292.5,1.40000695938,None,1.40000695938,0.399001983424
1526379390.0,None,1008.47595669,18.0196286772,1008.41138549,1365.28742772,9.75407243522,0.0,20.4655511807,51.3461294561,46.0,23.0,0.0,1,None,54.0,19.3,0.0,988.0,0.0,6.35,0.0,0.0,2.41,17,0.0,292.5,1.80000894778,None,1.80000894778,0.483002400987
1526379450.0,None,1008.47595669,None,None,None,None,None,None,1,None,988.0,17,0.0,292.5,2.50001242747,None,2.50001242747,0.591002937854
Each "None" means that weewx did not get the data from station. Well, wview and every other software works around this, and so should weewx!
Furthermore, weewx tends to have simply wrong - erratic measurements in archive from Davis VantagePro, Pro2 and Vue stations. Same problem can be found on much cheaper and lower quality FineOffset WH1080/2080 stations. Note that this is data that is not seen on WU - I don't know why - Perhaps WU or weewx does some clean-up of the data later. This graph is drawn from data as it is copied from table "archive" in 5 minute intervals.
weewx 3.7.1. is installed on OpenWRT/LEDE 17.0.1 The data is read in 5 minute intervals from weewx database (archive, not loop), and written to database on separate server and (using weewx) sent to WU. Data is read from WMR and WH stations every 90 seconds, from Davis stations every 60 seconds (archive interval).
The database example is made using CVS export weewx extension.
The weewx.conf is as follows:
# WEEWX CONFIGURATION FILE
# Copyright (c) 2009-2015 Tom Keffer <tkeffer>
# See the file LICENSE.txt for your rights.
#
debug = 0
WEEWX_ROOT = /home/weewx
socket_timeout = 20
version = 3.7.1
[Station]
location = STATIONNAME
latitude = 432423412
longitude =
3245143214 altitude = 175, meter # Choose 'foot' or 'meter' for unit
station_type = WMR100
rain_year_start = 1
# Start of week (0=Monday, 6=Sunday)
week_start = 0
station_url =
http://www.pljusak.com##############################################################################
[WMR100]
# This section is for the Oregon Scientific WMR100
# The driver to use
driver = weewx.drivers.wmr100
# The station model, e.g., WMR100, WMR100N, WMRS200
model = WMR100
[StdRESTful]
# To guard against parsing errors, put your password(s) in quotes:
[[StationRegistry]]
# To register this weather station with weewx, set this to true
register_this_station = false
[[AWEKAS]]
enable = false
username = replace_me
password = replace_me
[[CWOP]]
# 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]]
enable = false
station = replace_me
password = replace_me
[[WOW]]
enable = false
station = replace_me
password = replace_me
[[Wunderground]]
enable = true
station = ISTATIONNAME1
password = PASSOWRD
rapidfire = False
[StdReport]
SKIN_ROOT = skins
HTML_ROOT = /tmp
# This module is not used
[[simple]]
HTML_ROOT = /tmp/simple
skin = simple
[StdConvert]
# DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
target_unit = METRICWX # Options are 'US', 'METRICWX', or 'METRIC'
[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
[StdQC]
[[MinMax]]
barometer = 900, 1400, mbar
outTemp = -30, 50, degree_C
inTemp = -30, 50, degree_C
outHumidity = 0, 100
inHumidity = 0, 100
windSpeed = 0, 300, km_per_hour
pressure = 900, 1100, mbar
[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
[StdTimeSynch]
clock_check = 14400
max_drift = 5
[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 = 90
# 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 = software
# Whether to include LOOP data in hi/low statistics
loop_hilo = True
# The data binding used to save archive records
data_binding = wx_binding
[DataBindings]
[[wx_binding]]
database = archive_sqlite
table_name = archive
manager = weewx.wxmanager.WXDaySummaryManager
schema = schemas.wview.schema
[Databases]
[[archive_sqlite]]
database_type = SQLite
database_name = weewx.sdb
[DatabaseTypes]
[[SQLite]]
driver = weedb.sqlite
SQLITE_ROOT = /tmp
[Engine]
[[Services]]
prep_services = weewx.engine.StdTimeSynch
data_services = ,
process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate, user.csv.CSV
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
[CSV]
filename = /tmp/data.txt
binding = archive