Now I have to write a few lines on this topic.
I own a WH2600 and upload my weather data to weewx (3.9.1) and want to read the
values. As a device driver I have the ObserverIp 0.1 driver.
Pretty much all values are displayed correctly, only the pressure is not
displayed (N / A).
If I read the data in the terminal, it will show, among other things:
observerip: packet interval 1
Mar 18 17:45:28 pi-three weewx [3537]: engine: 2019-03-18 17:45:29 CET
(1552927529) LOOP value 'pressure' 964.3 outside limits (25.100489375,
32.48298625)
Mar 18 17:45:30 pi-three kernel: [335.011609] sunxi-bt bt: block state already
is 0
Mar 18 17:45:34 pi-three weewx [3537]: cheetah generator: Generated 8 files for
report SeasonsReport in 5.52 seconds
Mar 18 17:45:34 pi-three weewx [3537]: manager: Daily summary version is 2.0
Mar 18 17:45:35 pi-three kernel: [340.018277] sunxi-bt bt: block state already
is 0
Mar 18 17:45:40 pi-three kernel: [345.025664] sunxi-bt bt: block state already
is 0
Mar 18 17:45:43 pi-three weewx [3537]: imagegenerator: Generated 57 images for
SeasonsReport in 9.46 seconds
Mar 18 17:45:43 pi-three weewx [3537]: copygenerator: copied 5 files to / var /
www / html / weewx
Mar 18 17:45:43 pi-three weewx [3537]: reportengine: Report 'SmartphoneReport'
not enabled. Skipping.
Mar 18 17:45:43 pi-three weewx [3537]: reportengine: Report 'MobileReport' not
enabled. Skipping.
Mar 18 17:45:43 pi-three weewx [3537]: reportengine: Report 'StandardReport'
not enabled. Skipping.
Mar 18 17:45:43 pi-three weewx [3537]: reportengine: Report 'FTP' not enabled.
Skipping.
Mar 18 17:45:43 pi-three weewx [3537]: reportengine: Report 'RSYNC' not
enabled. Skipping.
So far so good.
At least I already know that the values of the pressure are set wrong and
I have to change these values.
Until then, ALL values will be displayed in weewx.
But if I set the value in the weewx.conf so that the values should be
correct, no data will be sent and displayed!
The idea with the change in the observer driver I have already tried, at least
I changed the values "barometer" and "baromin" accordingly.
But still the mistakes still occur.
Among other things, I have also noticed, as soon as I have set the values for
printing correctly, weewx apparently freezes.
I can not make a restart of weewx more and must restart my Raspi.
Which is also very strange:
on the website:
https://www.wunderground.com/personal-weather-station/dashboard?ID=IHEIDECK10
but the values are all displayed correctly. I can read the values aj
correctly in the terminal, because someone knows maybe what I can do or change?
I attach a debug file.
Best thanks ever
Jörg
Am Sonntag, 27. Mai 2018 08:33:50 UTC+2 schrieb Mathias Henrich:
I resolved this by changing the mapping of "baromin" from "barometer" to
"pressure" in my interceptor.py.
I filed an issue with the author on github.
--
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].
For more options, visit https://groups.google.com/d/optout.
pi@pi-drei:~ $ sudo wee_debug --info
Using verbosity=1, displaying most info
wee_debug output will be sent to stdout(console)
Using configuration file /etc/weewx/weewx.conf
Using database binding 'wx_binding', which is bound to database 'archive_sqlite'
System info
Platform: Linux-3.10.65-BPI-M2U-Kernel-armv7l-with-debian-8.0
Python Version: 2.7.9
Load Information
1 minute load average: 1.53
5 minute load average: 1.33
15 minute load average: 1.10
General Weewx info
Weewx version 3.9.1 detected.
Station info
Station type: ObserverIP
Driver: user.observerip
Driver info
[ObserverIP]
# This section is for the weewx ObserverIP driver
# hostname - hostname or IP address of the ObserverIP, not required
# mode determines the method for obtaining data from the station
# direct - communicate directly with the station
# indirect - get station data from the CGI intermediary
mode = direct
# poll_interval
# mode = direct - The time (in seconds) between LOOP packets (should be
16)
# mode = indirect - Time to wait for new packet ( 17 is a good value)
poll_interval = 30
# dup_interval
# mode = direct - time to wait if there is an error getting a packet
# mode = indirect - subsequent time to wait if new packet has not arived
after poll_interval
dup_interval = 2
# xferfile
# mode = direct - unused
# mode = indirect - file where the CGI script puts the data from the
observerip
xferfile = /path/to/transfer/file
# retry_wait - time to wait after failed network attempt
# check_calibration - make sure the station calibration is as expected
check_calibration = true
# set_calibration - set calibration in station if it is not as expected
# only meaningful if check_calibration is true
set_calibration = false
# The driver to use:
driver = user.observerip
# The calibration the driver expects from the station, only useful
# if check_calibration is set. Items that are not set, are not checked.
[[calibration]]
RainGain = 1.00
windDirOffset = 0
inHumiOffset = 0
AbsOffset = 0.00
UVGain = 1.00
SolarGain = 1.00
WindGain = 1.00
# RelOffset should be set to 0 in indirect mode
#RelOffset=0.00
luxwm2 = 126.7
outHumiOffset = 0
outTempOffset = 0.0
inTempOffset = 0.0
Currently installed extensions
Extension Name Version Description
interceptor 0.45 Capture weather data from HTTP requests
observerip 0.6 driver for Ambient ObserverIP
Archive info
Database name: weewx.sdb
Table name: archive
Version 2.0
Unit system: 1 (US)
First good timestamp: 2019-02-06 21:25:00 CET (1549484700)
Last good timestamp: 2019-03-18 18:10:00 CET (1552929000)
Number of records: 3949
weewx (weewx.conf) is set to use an archive interval of 300 seconds.
The station hardware was not interrogated in determining archive interval.
Databases configured in weewx.conf
Database name: weewx.sdb
Database driver: weedb.sqlite
Database name: weewx
Database driver: weedb.mysql
Database host: localhost
Parsed and obfuscated weewx.conf
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2019 Tom Keffer <[email protected]>
# See the file LICENSE.txt for your rights.
##############################################################################
# This section is for general configuration information.
# 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 = /
# Whether to log successful operations
log_success = True
# Whether to log unsuccessful operations
log_failure = True
# 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.9.1
##############################################################################
# This section is for information about the station.
[Station]
# Description of the station location
location = "Schloß Kreuth, Heideck, Mittelfranken, Bayern"
# Latitude and longitude in decimal degrees
latitude = 49.13952656
longitude = 11.11799508
# Altitude of the station, with unit it is in. This is downloaded from
# from the station if the hardware supports it.
altitude = 447, meter
# 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 = ObserverIP #ObserverIP
# If you have a website, you may specify an URL
#station_url = http://www.example.com
# The start of the rain year (1=January; 10=October, etc.). This is
# downloaded from the station if the hardware supports it.
rain_year_start = 1
# Start of week (0=Monday, 6=Sunday)
week_start = 0
##############################################################################
[ObserverIP]
# This section is for the weewx ObserverIP driver
# hostname - hostname or IP address of the ObserverIP, not required
# mode determines the method for obtaining data from the station
# direct - communicate directly with the station
# indirect - get station data from the CGI intermediary
mode = direct
# poll_interval
# mode = direct - The time (in seconds) between LOOP packets (should be
16)
# mode = indirect - Time to wait for new packet ( 17 is a good value)
poll_interval = 30
# dup_interval
# mode = direct - time to wait if there is an error getting a packet
# mode = indirect - subsequent time to wait if new packet has not arived
after poll_interval
dup_interval = 2
# xferfile
# mode = direct - unused
# mode = indirect - file where the CGI script puts the data from the
observerip
xferfile = /path/to/transfer/file
# retry_wait - time to wait after failed network attempt
# check_calibration - make sure the station calibration is as expected
check_calibration = true
# set_calibration - set calibration in station if it is not as expected
# only meaningful if check_calibration is true
set_calibration = false
# The driver to use:
driver = user.observerip
# The calibration the driver expects from the station, only useful
# if check_calibration is set. Items that are not set, are not checked.
[[calibration]]
RainGain = 1.00
windDirOffset = 0
inHumiOffset = 0
AbsOffset = 0.00
UVGain = 1.00
SolarGain = 1.00
WindGain = 1.00
# RelOffset should be set to 0 in indirect mode
#RelOffset=0.00
luxwm2 = 126.7
outHumiOffset = 0
outTempOffset = 0.0
inTempOffset = 0.0
##############################################################################
# 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.
# To guard against parsing errors, put the password in quotes.
enable = false
username = XXX obfuscated by wee_debug XXX
password = XXX obfuscated by wee_debug XXX
[[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 = XXX obfuscated by wee_debug XXX
# 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.
# To guard against parsing errors, put the password in quotes.
enable = false
station = XXX obfuscated by wee_debug XXX
password = XXX obfuscated by wee_debug XXX
[[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.
# To guard against parsing errors, put the password in quotes.
enable = false
station = XXX obfuscated by wee_debug XXX
password = XXX obfuscated by wee_debug XXX
[[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.
# To guard against parsing errors, put the password in quotes.
enable = false
station = XXX obfuscated by wee_debug XXX
password = XXX obfuscated by wee_debug XXX
# 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
# Whether to log a successful operation
log_success = True
# Whether to log an unsuccessful operation
log_failure = True # False
####
# Each of the following subsections defines a report that will be run.
# 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.
[[SeasonsReport]]
# The SeasonsReport uses the 'Seasons' skin, which contains the
# images, templates and plots for the report.
skin = Seasons # Seasons
enable = true #true
[[SmartphoneReport]]
# The SmartphoneReport uses the 'Smartphone' skin, and the images and
# files are placed in a dedicated subdirectory.
skin = Smartphone
enable = false
HTML_ROOT = /var/www/html/weewx
[[MobileReport]]
# The MobileReport uses the 'Mobile' skin, and the images and files
# are placed in a dedicated subdirectory.
skin = Mobile
enable = false
HTML_ROOT = /var/www/html/weewx
[[StandardReport]]
# This is the old "Standard" skin. By default, it is not enabled.
skin = Standard
enable = false # false
[[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, set "enable" to "true", then
# fill out the next four lines.
# Use quotes around passwords to guard against parsing errors.
enable = false
user = XXX obfuscated by wee_debug XXX
password = XXX obfuscated by wee_debug XXX
server = replace_me # The ftp server name, e.g, www.myserver.org
path = replace_me # The 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 to the user account on the remote machine where the files
# will be copied.
#
# If you wish to use rsync, set "enable" to "true", then
# fill out server, user, and path.
# The server should appear in your .ssh/config file.
# The user is the username used in the identity file.
# The path is the destination directory, such as /var/www/html/weather.
# Be sure that the user has write permissions on the destination!
enable = false
server = replace_me
user = XXX obfuscated by wee_debug XXX
path = replace_me
# 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
# 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
####
# Various options for customizing your reports.
[[Defaults]]
[[[Units]]]
# The following section sets what unit to use for each unit group.
# NB: The unit is always in the singular. I.e., 'mile_per_hour',
# NOT 'miles_per_hour'
[[[[Groups]]]]
group_altitude = meter # Options are 'foot' or 'meter'
group_degree_day = degree_C_day # Options are 'degree_F_day'
or 'degree_C_day'
group_pressure = hPa # Options are 'inHg', 'mmHg', 'mbar',
or 'hPa'
group_rain = mm # Options are 'inch', 'cm', or 'mm'
group_rainrate = mm_per_hour # Options are 'inch_per_hour',
'cm_per_hour', or 'mm_per_hour'
group_speed = meter_per_second # Options are
'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
group_speed2 = meter_per_second2 # Options are
'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
group_temperature = degree_C # Options are 'degree_F' or
'degree_C'
# The following section sets the formatting for each type of unit.
[[[[StringFormats]]]]
centibar = %.0f
cm = %.2f
cm_per_hour = %.2f
degree_C = %.1f
degree_F = %.1f
degree_compass = %.0f
foot = %.0f
hPa = %.1f
hour = %.1f
inHg = %.3f
inch = %.2f
inch_per_hour = %.2f
km_per_hour = %.0f
km_per_hour2 = %.1f
knot = %.0f
knot2 = %.1f
mbar = %.1f
meter = %.0f
meter_per_second = %.1f
meter_per_second2 = %.1f
mile_per_hour = %.0f
mile_per_hour2 = %.1f
mm = %.1f
mmHg = %.1f
mm_per_hour = %.1f
percent = %.0f
second = %.0f
uv_index = %.1f
volt = %.1f
watt_per_meter_squared = %.0f
NONE = " N/A"
# The following section sets the label for each type of unit
[[[[Labels]]]]
day = " Tag", " Tage" # day ..... days
hour = " Stunde", " Stunden" # hour ..... hours
minute = " Minute", " Minuten"
second = " Sekunde", " Sekunden"
NONE = ""
# The following section sets the format for each time scale.
# The values below will work in every locale, but they may not look
# particularly attractive.
[[[[TimeFormats]]]]
hour = %H:%M
day = %X
week = %X (%A)
month = %x %X
year = %x %X
rainyear = %x %X
current = %x %X
ephem_day = %X
ephem_year = %x %X
[[[[Ordinates]]]]
# Ordinal directions. The last one is for no wind direction
directions = N, NNO, NO, ONO, O, OSO, SO, SSO, S, SSW, SW, WSW,
W, WNW, NW, NNW, N/A
# The following section sets the base temperatures used for the
# calculation of heating and cooling degree-days.
[[[[[DegreeDays]]]]]
# Base temperature for heating days, with unit:
heating_base = 65, degree_F
# Base temperature for cooling days, with unit:
cooling_base = 65, degree_F
# A trend takes a difference across a time period. The following
# section sets the time period, and how big an error is allowed
to
# still be counted as the start or end of a period.
[[[[[Trend]]]]]
time_delta = 10800 # 3 hours
time_grace = 300 # 5 minutes
# The labels to be used for each observation type
[[[Labels]]]
# Set to hemisphere abbreviations suitable for your location:
hemispheres = N, S, O, W
# Formats to be used for latitude whole degrees, longitude whole
# degrees, and minutes:
latlon_formats = %02d, %03d, %05.2f
# Generic labels, keyed by an observation type.
[[[[Generic]]]]
pressure = absoluter Luftdruck #zusätzlich
# RelPress = Luftdruck # noch
zusätzlicher ;-)
barometer = relativer Luftdruck
dewpoint = Taupunkt
ET = ET
heatindex = Wärmeindex
inHumidity = Luftfeuchtigkeit innen
inTemp = Innentemperatur
outHumidity = Luftfeuchtigkeit aussen
outTemp = Aussentemperatur
radiation = Sonneneinstrahlung
rain = Regen
rainRate = Regenmenge
UV = UV Index
windDir = Windrichtung
windGust = Windböen
windGustDir = Windrichtugn Böen
windSpeed = Windgeschwindigkeit
windchill = Gefühlte Temperatur
windgustvec = Böen Vector
windvec = Wind Vector
extraTemp1 = Temperature1
extraTemp2 = Temperature2
extraTemp3 = Temperature3
# Sensor status indicators
rxCheckPercent = Signal Qualität
txBatteryStatus = Transmitter Battery
windBatteryStatus = Wind Battery
rainBatteryStatus = Rain Battery
outTempBatteryStatus = Outside Temperature Battery
inTempBatteryStatus = Inside Temperature Battery
consBatteryVoltage = Console Battery
heatingVoltage = Heating Battery
supplyVoltage = Supply Voltage
referenceVoltage = Reference Voltage
[[[Almanac]]]
# The labels to be used for the phases of the moon:
moon_phases = New, Waxing crescent, First quarter, Waxing gibbous,
Full, Waning gibbous, Last quarter, Waning crescent
##############################################################################
# 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
outTemp = outTemp + 33.6
# pressure = pressure - 34450
# barometer = barometer - 29000
inTemp = inTemp + 46.8
##############################################################################
# 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, hPa
outTemp = -40, 120, degree_F
inTemp = 10, 120, degree_F
outHumidity = 0, 100
inHumidity = 0, 100
windSpeed = 0, 120, mile_per_hour
pressure = 850.0, 1100.0, hPa
# rain = 0, 10, mm ## inch
##############################################################################
# This section controls the origin of derived values.
[StdWXCalculate]
[[Calculations]]
# How to calculate derived quantities. 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 = prefer_hardware
heatindex = prefer_hardware
dewpoint = prefer_hardware
inDewpoint = prefer_hardware
rainRate = prefer_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
# archival_interval = 60
# 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 = wx_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
##############################################################################
# This section defines various databases.
[Databases]
# A SQLite database is simply a single file
[[archive_sqlite]]
database_name = weewx.sdb
database_type = SQLite
# MySQL
[[archive_mysql]]
database_name = weewx
database_type = MySQL
##############################################################################
# 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 = localhost
# The user name for logging in to the host
user = XXX obfuscated by wee_debug XXX
# The password for the user name (quotes guard against parsing errors)
password = XXX obfuscated by wee_debug XXX
##############################################################################
# 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
wee_debug report successfully generated