No I forgot it, attached here. I was looking on github weewx, but I'm not finding the drivers directory. So I went looking at the vantage.py source /usr/share/weewx/weewx/drivers/vantage.py. Python is not my strong suit. So I wondered if 'leafWet1' : lambda p, k: float(p[k]) if p[k] != 0xff else None, could be changed to 'leafWet1' :None
and that would force the driver to always return NULL. Then I thought, how about monitoring the serial port to see what was coming in. Another challenge, I think wireshark might help trace ttyUSB0 data. I tried screen, I'll have to try that again, thinking that would accept the LOOP command and I'd see raw data from the Vantage console. On Tuesday, October 12, 2021 at 10:09:15 PM UTC-7 gjr80 wrote: > Unfortunately I don’t see any wee_debug output attached? I’d suggest we > find the source and fix the problem at source. The driver is most likely > the culprit but when you are displaying LOOP packets on the console you are > not looking at the data straight out of the driver, rather you are looking > at the LOOP packet after every service has had its turn processing the LOOP > packet. So it doesn’t pin down the source. > > Gary > > > On Wednesday, 13 October 2021 at 14:50:41 UTC+10 [email protected] > wrote: > >> I'm not sure the wee_debug will help, but I attached it. >> So, yes, the data is coming in from the driver in a LOOP packet for >> sensors that don't exist and getting put into the database. The problem >> is down at the driver. So there are no configuration options on the driver >> to force values to NULL or 0. Assuming either value is valid, I didn't >> look at the source, forcing the field to NULL should prevent display. >> >> So I guess what you'd suggest is: >> stop weewxd. >> set the leafWet1 to NULL >> run wee_reports >> check the web page to see if leafWet1 is gone. >> >> >> On Tuesday, October 12, 2021 at 9:37:36 PM UTC-7 gjr80 wrote: >> >>> Bill, >>> >>> The (one) change from b2 to b3 is that Seasons will now display whatever >>> data it can find in any of the extended schema files in your database. >>> Previously, Seasons displayed a fixed subset of the extended schema. b3/b4 >>> Seasons is not creating the bogus data, it is merely displaying it - >>> something else is creating the bogus data. That could be any of a myriad of >>> sources; the driver, a core WeeWX service or some third party service. It >>> is impossible to say what the source could be without knowing how WeeWX is >>> configured, ie what driver, what services etc are loaded and how are they >>> configured. That is what weewx.conf/wee_debug will tell us. >>> >>> Since you seem to have installed the deb package you should be able to >>> run wee_debug by simply typing: >>> >>> $ wee_debug —info >>> >>> to display the wee_debug output on the console. You can add the —output >>> option to redirect the output to a file if you wish. Alternatively, if you >>> are not comfortable using wee_debug you can just take copy of your >>> weewx.conf, sanitise it by obliterating any sensitive info (user names, >>> passwords, API keys etc) and post the sanitised file. >>> >>> Gary >>> >>> On Wednesday, 13 October 2021 at 14:19:25 UTC+10 [email protected] >>> wrote: >>> >>>> ## Version: 4.6.0b4 >>>> I ponder wee_debug. >>>> >>>> This is a change between beta2 and beta3, I didn't make any adjustments >>>> to weewx.conf, just the upgrade. >>>> I observed apt remove weewx left things behind, I can see it leaving >>>> things that have been modified but not if the same code matches the file >>>> in >>>> the deb archive. So, I'm perplexed as well that on install the Seasons >>>> files were not restored. I copies them from git to get them back in place >>>> and confirm the are the most recent dev versions. >>>> >>>> So the code change to the Seasons skin seems to be working, but I'm a >>>> bit stuck now on tracing why data is being loaded into weewx.sdb from a >>>> value that is not output by Vantage. IE in the LOOP packet leafWet1 = 0. >>>> >>>> I'd expect the test to be showvalue if not NULL or 0. >>>> >>>> Since I set the values to NULL and the LOOP packet is saying 0 and >>>> that's what's being put into weewx.sdb, I'm not expecting the label or >>>> graph to be generated via if $year.leafWet1.has_data or >>>> $year.leafWet2.has_data. >>>> >>>> sqlite> select leafWet1 from archive where leafWet1 IS NOT NULL; >>>> 0.0 >>>> 0.0 >>>> 0.0 >>>> 0.0 >>>> sqlite> >>>> >>>> So I struggle here, >>>> 1. LOOP data shows 0, but the label and graph is displayed. >>>> 2. LOOP data for other values doesn't appear to exist yet it's in the >>>> database now. >>>> 3. Just to eliminate database issues, I've set leafWet2 and leafWet2 >>>> to NULL so the graph and label shouldn't print. >>>> 4. but this is new behavior from beta2 to beta3. >>>> >>>> My brain hurts. >>>> >>>> On Tuesday, October 12, 2021 at 8:01:20 PM UTC-7 gjr80 wrote: >>>> >>>>> On more thing, re Seasons template versioning. Tom has started >>>>> versioning the Seasons template so if you have a look in >>>>> skins/Seasons/index.html.tmpl you should find a version number in the >>>>> first few lines, eg: >>>>> >>>>> ## Copyright 2009-2018 Tom Keffer, Matthew Wall >>>>> ## Distributed under terms of GPLv3. See LICENSE.txt for your rights. >>>>> ## Version: 4.6.0b4 >>>>> #errorCatcher Echo >>>>> >>>>> Gary >>>>> >>>> -- You received this message because you are subscribed to the Google Groups "weewx-development" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-development/5bbaeea0-9081-4ce3-b258-97ea8ec7fed2n%40googlegroups.com.
# 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 = 0 # Root directory of the weewx data file hierarchy for this station WEEWX_ROOT = / # Whether to log successful operations log_success = False # 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 = 4.6.0b3 ############################################################################## # This section is for information about the station. [Station] # Description of the station location location = "Forest Meadows, Georgetown, California" # Latitude in decimal degrees. Negative for southern hemisphere latitude = 38.9 # Longitude in decimal degrees. Negative for western hemisphere. longitude = -120.8 # Altitude of the station, with unit it is in. This is downloaded from # from the station if the hardware supports it. altitude = 2540, foot # 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 = Vantage # If you have a website, you may specify an URL station_url = XXX obfuscated by wee_debug XXX # 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 = 10 # Start of week (0=Monday, 6=Sunday) week_start = 6 ############################################################################## [Vantage] # This section is for the Davis Vantage series of weather stations. # Connection type: serial or ethernet # serial (the classic VantagePro) # ethernet (the WeatherLinkIP or Serial-Ethernet bridge) type = serial port = /dev/ttyUSB0 # If the connection type is ethernet, an IP Address/hostname is required: #host = 1.2.3.4 ###################################################### # The rest of this section rarely needs any attention. # You can safely leave it "as is." ###################################################### # Serial baud rate (usually 19200) baudrate = 19200 # TCP port (when using the WeatherLinkIP) tcp_port = 22222 # TCP send delay (when using the WeatherLinkIP): tcp_send_delay = 0.5 # The type of LOOP packet to request: 1 = LOOP1; 2 = LOOP2; 3 = both loop_request = 1 # The id of your ISS station (usually 1). If you use a wind meter connected # to a anemometer transmitter kit, use its id iss_id = 1 # How long to wait for a response from the station before giving up (in # seconds; must be greater than 2) timeout = 5 # How long to wait before trying again (in seconds) wait_before_retry = 2 # How many times to try before giving up: max_tries = 4 # Vantage model Type: 1 = Vantage Pro; 2 = Vantage Pro2 model_type = 1 # The driver to use: driver = weewx.drivers.vantage ############################################################################## # 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 = true [[CWOP]] # This section is for configuring posts to CWOP. enable = True station = XXX obfuscated by wee_debug XXX post_interval = 600 log_success = False log_failure = True [[PWSweather]] # This section is for configuring posts to PWSweather.com. enable = True station = XXX obfuscated by wee_debug XXX password = XXX obfuscated by wee_debug XXX log_success = False log_failure = True [[Wunderground]] # This section is for configuring posts to the Weather Underground. enable = True station = XXX obfuscated by wee_debug XXX password = XXX obfuscated by wee_debug XXX api_key = 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 log_success = False log_failure = True [[Windy]] enable = True log_success = False log_failure = True station = XXX obfuscated by wee_debug XXX api_key = XXX obfuscated by wee_debug XXX ############################################################################## # 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/weewx # The database binding indicates which data should be used in reports. data_binding = wx_binding # Whether to log a successful operation log_success = False # Whether to log an unsuccessful operation log_failure = True unit_system = us # 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 enable = 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/smartphone [[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/mobile [[StandardReport]] # This is the old "Standard" skin. By default, it is not enabled. skin = Standard enable = 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 = foot # Options are 'foot' or 'meter' group_degree_day = degree_F_day # Options are 'degree_F_day' or 'degree_C_day' group_distance = mile # Options are 'mile' or 'km' group_pressure = inHg # Options are 'inHg', 'mmHg', 'mbar', or 'hPa' group_rain = inch # Options are 'inch', 'cm', or 'mm' group_rainrate = inch_per_hour # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour' group_speed = mile_per_hour # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second' group_speed2 = mile_per_hour2 # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2' group_temperature = degree_F # 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 = %.1f 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 = %.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 overrides the label used for each type of unit [[[[Labels]]]] meter = " meter", " meters" # You may prefer "metre". day = " day", " days" hour = " hour", " hours" minute = " minute", " minutes" second = " second", " seconds" 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, NNE, NE, ENE, E, ESE, SE, SSE, S, SSW, SW, WSW, W, WNW, NW, NNW, N/A # The following section sets the base temperatures used for the # calculation of heating, cooling, and growing 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 # Base temperature for growing days, with unit: growing_base = 50, 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, E, 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]]]] barometer = Barometer dewpoint = Dew Point ET = ET rain_today = Rain Today heatindex = Heat Index inHumidity = Inside Humidity inTemp = Inside Temperature outHumidity = Humidity outTemp = Outside Temperature radiation = Radiation rain = Rain rainRate = Rain Rate UV = UV Index windDir = Wind Direction windGust = Gust Speed windGustDir = Gust Direction windSpeed = Wind Speed windchill = Wind Chill windgustvec = Gust Vector windvec = Wind Vector extraTemp1 = Temperature1 extraTemp2 = Temperature2 extraTemp3 = Temperature3 # Sensor status indicators rxCheckPercent = Signal Quality 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. leafWet1 = 0 soilMoist1 = 0 soilTemp1 = 0 ############################################################################## # 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 pressure = 24, 34.5, inHg outTemp = -40, 120, degree_F inTemp = 10, 120, degree_F outHumidity = 0, 100 inHumidity = 0, 100 windSpeed = 0, 120, mile_per_hour rain = 0, 10, 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 altimeter = prefer_hardware appTemp = prefer_hardware barometer = prefer_hardware cloudbase = prefer_hardware dewpoint = prefer_hardware ET = prefer_hardware heatindex = prefer_hardware humidex = prefer_hardware inDewpoint = prefer_hardware maxSolarRad = prefer_hardware rainRate = prefer_hardware windchill = prefer_hardware windrun = 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 # 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.manager.DaySummaryManager # The schema defines the structure of the database. # It is *only* used when the database is created. schema = schemas.wview_extended.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/db # 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] # The following section specifies which services should be run and in what order. [[Services]] prep_services = weewx.engine.StdTimeSynch data_services = , process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta archive_services = weewx.engine.StdArchive restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, user.windy.Windy report_services = weewx.engine.StdPrint, weewx.engine.StdReport [Accumulator] [[grid_energy]] extractor = sum Using verbosity=0, displaying minimal 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 General Weewx info Weewx version 4.6.0b3 detected. Station info Station type: Vantage Driver: weewx.drivers.vantage Currently installed extensions Extension Name Version Description windy 0.7 Upload weather data to Windy. envoy 0.1 Capture data from Enphase Envoy Archive info Database name: weewx.sdb Table name: archive Version 4.0 Unit system: 1 (US) First good timestamp: 2015-01-01 21:13:00 PST (1420175580) Last good timestamp: 2021-10-12 21:40:00 PDT (1634100000) Number of records: 712638 weewx (weewx.conf) is set to use an archive interval of 300 seconds. The station hardware was not interrogated in determining archive interval. Parsed and obfuscated weewx.conf wee_debug report successfully generated
