Yes, a setting in weewx.conf overrides the equivalent setting in skin.conf, 
that’s where I was going but you figured it out.

Gary

On Friday, 18 December 2020 at 23:08:51 UTC+10 michael...@gmail.com wrote:

> Gary,
>
> I see the problem now.   Apparently the "search_list_extension" directive 
> I added for the forecast extension (in weewx.conf) is overriding the 
> directive I need to add in Seasons/skin.conf.   When I comment that 
> CheetahGenerator section out of the weewx.conf file and include both 
> forecast and metar extension in skin.conf they both run as expected.  The 
> python version 2 issue (with metargenerator.py) I think now rears it's head 
> because I still don't see any data in the report but I think I can work 
> that out.
>
> I probably would have figured this out eventually going back and forth 
> between weewx.conf and skin.conf but my thanks to you for asking for that 
> debug file.  It helped steer me in the right direction.
>
> Mike - AJ9X
>
> On Friday, December 18, 2020 at 7:42:01 AM UTC-5 Michael Bruski wrote:
>
>> Here is the .conf file.   The search_list_extensions directive that I 
>> tried is commented out in the section for [StdReport] [[SeasonsReport]] 
>> [[[CheetahGenerator]]].
>>
>> [FileParse]
>>     poll_interval = 10
>>     path = /tmp/wxdata
>>     driver = user.fileparse
>> # WEEWX CONFIGURATION FILE
>> #
>> # Copyright (c) 2009-2020 Tom Keffer <tke...@gmail.com>
>> # 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 = 4.2.0
>>
>>
>> ##############################################################################
>>
>> #   This section is for information about the station.
>>
>> [Station]
>>     
>>     # Description of the station location
>>     location = Fair Lea Hills Neighborhood
>>     
>>     # Latitude in decimal degrees. Negative for southern hemisphere
>>     latitude = 39.498
>>     # Longitude in decimal degrees. Negative for western hemisphere.
>>     longitude = -76.97
>>     
>>     # Altitude of the station, with unit it is in. This is downloaded from
>>     # from the station if the hardware supports it.
>>     altitude = 247.65, 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 = FileParse
>>     
>>     # 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 = 1
>>     
>>     # Start of week (0=Monday, 6=Sunday)
>>     week_start = 6
>>
>>
>> ##############################################################################
>>
>> [FileParse]
>>     poll_interval = 10
>>     path = /tmp/wxdata
>>     driver = user.fileparse
>>
>>
>> ##############################################################################
>>
>> [Simulator]
>>     # This section is for the weewx weather station simulator
>>     
>>     # The time (in seconds) between LOOP packets.
>>     loop_interval = 2.5
>>     
>>     # The simulator mode can be either 'simulator' or 'generator'.
>>     # Real-time simulator. Sleep between each LOOP packet.
>>     mode = simulator
>>     # Generator.  Emit LOOP packets as fast as possible (useful for 
>> testing).
>>     #mode = generator
>>     
>>     # The start time. Format is YYYY-mm-ddTHH:MM. If not specified, the 
>> default 
>>     # is to use the present time.
>>     #start = 2011-01-01T00:00
>>     
>>     # The driver to use:
>>     driver = weewx.drivers.simulator
>>
>>
>> ##############################################################################
>>
>> #   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
>>     
>>     [[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
>>         
>>         # If you plan on using wunderfixer, set the following
>>         # to your API key:
>>         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
>>
>>
>> ##############################################################################
>>
>> #   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
>>     
>>     # 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
>>         [[[CheetahGenerator]]]
>>             search_list_extensions = user.forecast.ForecastVariables
>>         #            search_list_extensions = 
>> user.forecast.ForecastVariables, user.metargenerator.MyMetarSearch
>>         [[[CopyGenerator]]]
>>             copy_once = seasons.css, seasons.js, favicon.ico, 
>> font/*.woff, font/*.woff2, forecast_table.css, icons/*
>>     
>>     [[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
>>     
>>     [[Inigo]]
>>         skin = Inigo
>>         enable = true
>>         HTML_ROOT = /var/www/html/weewx/
>>     
>>     [[forecast]]
>>         skin = forecast
>>         enable = false
>>         HTML_ROOT = /var/www/html/weewx/forecast
>>     
>>     [[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', 'hPa', or 'kPa'
>>                 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
>>                 kPa = %.2f
>>                 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]]]]
>>                 altimeter = Altimeter (QNH)
>>                 barometer = Barometer (QFF)
>>                 dewpoint = Dew Point
>>                 ET = ET
>>                 heatindex = Heat Index
>>                 inHumidity = Inside Humidity
>>                 inTemp = Inside Temperature
>>                 outHumidity = Humidity
>>                 outTemp = Outside Temperature
>>                 pressure = Pressure (QFE)
>>                 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.
>>         # 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
>>         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
>>         beaufort = 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 = 3600
>>     
>>     # 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
>>     [[forecast_binding]]
>>         manager = weewx.manager.Manager
>>         schema = user.forecast.schema
>>         table_name = archive
>>         database = forecast_sqlite
>>
>>
>> ##############################################################################
>>
>> #   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
>>     [[forecast_sqlite]]
>>         database_name = forecast.sdb
>>         database_type = SQLite
>>
>>
>> ##############################################################################
>>
>> #   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]
>>     # 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, 
>> user.forecast.ZambrettiForecast, user.forecast.NWSForecast, 
>> user.forecast.XTideForecast
>>         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
>>
>>
>> ##############################################################################
>>
>> # Options for extension 'forecast'
>> [Forecast]
>>     data_binding = forecast_binding
>>     [[XTide]]
>>         location = "INSERT_LOCATION_HERE (e.g., Boston)"
>>     ##location = "Crumpton, Chester River, Maryland"
>>     [[Zambretti]]
>>         hemisphere = NORTH
>>     [[NWS]]
>>         lid = MDZ005
>>         foid = LWX
>>         url = 
>> http://forecast.weather.gov/product.php?site=NWS&product=AFM&format=txt&issuedby=LWX
>>         interval = 3600
>>     [[WU]]
>>         api_key = XXX obfuscated by wee_debug XXX
>>     [[OWM]]
>>         api_key = XXX obfuscated by wee_debug XXX
>>     [[UKMO]]
>>         api_key = XXX obfuscated by wee_debug XXX
>>         location = INSERT_UK_LOCATION_HERE
>>     [[Aeris]]
>>         client_id = INSERT_AERIS_CLIENT_ID_HERE
>>         client_secret = INSERT_AERIS_CLIENT_SECRET_HERE
>>     [[WWO]]
>>         api_key = XXX obfuscated by wee_debug XXX
>>     [[DS]]
>>         api_key = XXX obfuscated by wee_debug XXX
>>
>>
>> ###############################################################################
>>
>> # The list of airports to include in METAR report:
>>
>>
>> [MetarReport]
>>     refresh_interval = 5
>>     [[kdmw]]
>>     [[kosh]]
>>
>>
>> ###############################################################################
>> Using configuration file weewx.conf
>> Using database binding 'wx_binding', which is bound to database 
>> 'archive_sqlite'
>>
>> System info
>>   Platform:       Linux-5.4.79+-armv6l-with-debian-10.7
>>   Python Version: 3.7.3
>>
>> Load Information
>>   1 minute load average:  0.29
>>   5 minute load average:  0.37
>>   15 minute load average: 0.32
>>
>> General Weewx info
>>   Weewx version 4.2.0 detected.
>>
>> Station info
>>   Station type: FileParse
>>   Driver:       user.fileparse
>>
>> Driver info
>>
>> Currently installed extensions
>> Extension Name    Version   Description
>> fileparse         0.6       File parsing driver for weewx.
>> Inigo             0.8.26    A skin to feed data to the weeWX Weather app
>> forecast          3.4.0b10  Generate and display weather and tide 
>> forecasts.
>> sdr               0.77      Capture data from rtl_433
>>
>> Archive info
>>   Database name:        weewx.sdb
>>   Table name:           archive
>>   Version               2
>>   Unit system:          1 (US)
>>   First good timestamp: 2020-09-07 12:45:00 EDT (1599497100)
>>   Last good timestamp:  2020-12-18 07:20:00 EST (1608294000)
>>   Number of records:    29198
>>   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
>>
>>   Database name:        forecast.sdb
>>   Database driver:      weedb.sqlite
>>
>>
>> Parsed and obfuscated weewx.conf
>>
>>
>>
>> On Thursday, December 17, 2020 at 11:43:56 PM UTC-5 gjr80 wrote:
>>
>>> Also, can you highlight exactly what you added to weewx.conf when you 
>>> “tried extending the search list in the CheetahGenerator section in 
>>> weewx.conf”
>>>
>>> Gary
>>>
>>> On Friday, 18 December 2020 at 14:26:43 UTC+10 gjr80 wrote:
>>>
>>>> Hi,
>>>>
>>>> Can you post a sanitised version of weewx.conf? You can use the wee_debug 
>>>> utility <http://weewx.com/docs/utilities.htm#wee_debug_utility> with 
>>>> the —info command line option to produce a report that includes a 
>>>> sanitised 
>>>> version of weewx.conf. Just post the report here but do check the report 
>>>> first for any sensitive info, wee_debug should obfuscate passwords, user 
>>>> names etc but it’s not perfect.
>>>>
>>>> Gary
>>>>
>>>> On Friday, 18 December 2020 at 13:39:17 UTC+10 michael...@gmail.com 
>>>> wrote:
>>>>
>>>>> Hi all,
>>>>>
>>>>> I've been trying for a few weeks now (on-off) to get Daniel Macias's 
>>>>> METAR extension working on my WeeWX setup but not having any success.  
>>>>> I'm 
>>>>> running WeeWX v4.2.0 on an RPi0W with RaspIOS Buster.  I did a full 
>>>>> system 
>>>>> install so WeeWx configs and skins are in /etc/weewx.
>>>>>
>>>>> Dec 17 20:31:24 server systemd[1]: Starting LSB: weewx weather 
>>>>> system...
>>>>> Dec 17 20:31:26 server weewx[15115] INFO __main__: Initializing weewx 
>>>>> version 4.2.0
>>>>> Dec 17 20:31:26 server weewx[15115] INFO __main__: Using Python 3.7.3 
>>>>> (default, Jul 25 2020, 13:03:44) #012[GCC 8.3.0]
>>>>> Dec 17 20:31:26 server weewx[15115] INFO __main__: Platform 
>>>>> Linux-5.4.79+-armv6l-with-debian-10.7
>>>>> Dec 17 20:31:26 server weewx[15115] INFO __main__: Locale is 
>>>>> 'en_US.UTF-8'
>>>>> Dec 17 20:31:26 server weewx[15115] INFO __main__: PID file is 
>>>>> /var/run/weewx.pid
>>>>> Dec 17 20:31:27 server weewx[15104]: Starting weewx weather system: 
>>>>> weewx.
>>>>>
>>>>> Following the directions on his web page (
>>>>> https://domoticproject.com/including-metar-reports-weewx/) I have 
>>>>> done the following:
>>>>>
>>>>> Downloaded and installed the metargenerator.py file to 
>>>>> /usr/share/weewx/user.  I added a line to log (in syslog) when a metar is 
>>>>> successfully retrieved from the web site.  Failures are already being 
>>>>> logged.
>>>>>
>>>>>
>>>>> Next I modified /etc/weewx/skins/Seasons/skin.conf in two places.  The 
>>>>> first modification extends the CheetahGenerator search_list
>>>>>
>>>>> # The CheetahGenerator creates files from templates.  This section
>>>>> # specifies which files will be generated from which template.
>>>>>
>>>>> [CheetahGenerator]
>>>>>
>>>>>     # Possible encodings are 'html_entities', 'utf8', or 'strict_ascii'
>>>>>     encoding = html_entitiese
>>>>>     *search_list_extensions = user.metargenerator.MyMetarSearch*
>>>>>
>>>>> At the end the file I added this (I also copied this to the end of the 
>>>>> weewx.conf file).
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *# The list of airports to include in the METAR 
>>>>> report:[MetarReport]refresh_interval = 5    [[kdmw]]    [[kosh]]*    
>>>>>
>>>>>
>>>>> Finally, I added the following lines to 
>>>>> /etc/weewx/skins/Seasons/index.html.tmpl to display results in the report:
>>>>>
>>>>> '''
>>>>>       <div id="metar_group" class="widget">
>>>>>         <div class="widget_title">
>>>>>           METAR (Meteorological Aerodrome Report)
>>>>>         </div>
>>>>>         <div class="widget_contents">
>>>>>         <table>
>>>>>           <tbody>
>>>>>             <tr>
>>>>>                <td class="label">KDMW - Carroll County Regional 
>>>>> Airport</td>
>>>>>                <td class="data">$kdmw_metar</td>
>>>>>              </tr>
>>>>>              <tr> 
>>>>>                <td class="label">KOSH - Wittman Regional Airport</td>
>>>>>                <td class="data">$kosh_metar</td>
>>>>>             </tr>
>>>>>           </tbody>
>>>>>         </table>
>>>>>         </div>
>>>>>     </div>
>>>>> '''
>>>>>
>>>>>
>>>>> After I restart and wait for the first report to be generated I get 
>>>>> this in my syslog.  There is no indication that the search_list_extension 
>>>>> user.metargenerator.MyMetarSearch was ever run and no METAR data is found 
>>>>> in the report, just the tags for the individual airports ($kdmw_metar and 
>>>>> $kosh_metar).
>>>>>
>>>>> Dec 17 20:17:51 server weewx[14851] INFO weewx.engine: Using binding 
>>>>> 'wx_binding' to database 'weewx.sdb'
>>>>> Dec 17 20:17:51 server weewx[14851] INFO weewx.manager: Starting 
>>>>> backfill of daily summaries
>>>>> Dec 17 20:17:51 server weewx[14851] INFO weewx.engine: Starting main 
>>>>> packet loop.
>>>>> Dec 17 20:17:51 server weewx[14851] INFO weewx.wxxtypes: Type beaufort 
>>>>> has been deprecated. Use unit beaufort instead.
>>>>> Dec 17 20:20:22 server weewx[14851] INFO weewx.manager: Added record 
>>>>> 2020-12-17 20:20:00 EST (1608254400) to database 'weewx.sdb'
>>>>> Dec 17 20:20:23 server weewx[14851] INFO weewx.manager: Added record 
>>>>> 2020-12-17 20:20:00 EST (1608254400) to daily summary in 'weewx.sdb'
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: MainThread: 
>>>>> Zambretti: starting thread
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: generating forecast for 2020-12-17 09:00:00 
>>>>> EST 
>>>>> (1608213600)
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: MainThread: 
>>>>> NWS: not yet time to do the forecast
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: using winddir from 2020-12-17 08:30:00 EST 
>>>>> (1608211800) to 2020-12-17 09:00:00 EST (1608213600)
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: using pressure from 2020-12-17 06:00:00 EST 
>>>>> (1608202800) to 2020-12-17 09:00:00 EST (1608213600)
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG weewx.reportengine: Running 
>>>>> reports for latest time in the database.
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG weewx.reportengine: Running 
>>>>> report 'SeasonsReport'
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG weewx.manager: Daily summary 
>>>>> version is 2
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: units=1 winddir=None pressure=30.07961402744 
>>>>> first_p=30.04029032258066 last_p=30.111866666666675
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: pressure=1018.6124876429427 month=11 
>>>>> winddir=None trend=0.807950946880851 north=True
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: code is B
>>>>> Dec 17 20:20:23 server weewx[14851] INFO user.forecast: 
>>>>> ZambrettiThread: Zambretti: generated 1 forecast record
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG weewx.reportengine: Found 
>>>>> configuration file /etc/weewx/skins/Seasons/skin.conf for report 
>>>>> 'SeasonsReport'
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: saving 1 forecast records
>>>>> Dec 17 20:20:23 server weewx[14851] INFO weewx.manager: Added record 
>>>>> 2020-12-17 20:20:00 EST (1608254400) to database 'forecast.sdb'
>>>>> Dec 17 20:20:23 server weewx[14851] INFO user.forecast: 
>>>>> ZambrettiThread: Zambretti: saved 1 forecast records
>>>>> Dec 17 20:20:23 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: deleting forecasts prior to 1607649623
>>>>> Dec 17 20:20:24 server weewx[14851] INFO user.forecast: 
>>>>> ZambrettiThread: Zambretti: deleted forecasts prior to 1607649623
>>>>> Dec 17 20:20:24 server weewx[14851] DEBUG user.forecast: 
>>>>> ZambrettiThread: Zambretti: terminating thread
>>>>> Dec 17 20:20:24 server weewx[14851] INFO weewx.restx: StationRegistry: 
>>>>> Published record 2020-12-17 20:20:00 EST (1608254400)
>>>>> *Dec 17 20:20:24 server weewx[14851] DEBUG weewx.cheetahgenerator: 
>>>>> Using search list ['weewx.cheetahgenerator.Almanac', 
>>>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 
>>>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 
>>>>> 'weewx.cheetahgenerator.Extras', 'user.forecast.ForecastVariables']*
>>>>> Dec 17 20:20:24 server weewx[14851] DEBUG weewx.manager: Daily summary 
>>>>> version is 2
>>>>> Dec 17 20:20:57 server weewx[14851] INFO weewx.cheetahgenerator: 
>>>>> Generated 8 files for report SeasonsReport in 33.35 seconds
>>>>> Dec 17 20:20:57 server weewx[14851] DEBUG weewx.manager: Daily summary 
>>>>> version is 2
>>>>> Dec 17 20:21:03 server weewx[14851] INFO weewx.imagegenerator: 
>>>>> Generated 15 images for report SeasonsReport in 5.86 seconds
>>>>> Dec 17 20:21:04 server weewx[14851] INFO weewx.reportengine: Copied 88 
>>>>> files to /var/www/html/weewx
>>>>> Dec 17 20:21:04 server weewx[14851] DEBUG weewx.reportengine: Report 
>>>>> 'SmartphoneReport' not enabled. Skipping.
>>>>> Dec 17 20:21:04 server weewx[14851] DEBUG weewx.reportengine: Report 
>>>>> 'MobileReport' not enabled. Skipping.
>>>>> Dec 17 20:21:04 server weewx[14851] DEBUG weewx.reportengine: Report 
>>>>> 'StandardReport' not enabled. Skipping.
>>>>> Dec 17 20:21:04 server weewx[14851] DEBUG weewx.reportengine: Running 
>>>>> report 'Inigo'
>>>>> Dec 17 20:21:04 server weewx[14851] DEBUG weewx.reportengine: Found 
>>>>> configuration file /etc/weewx/skins/Inigo/skin.conf for report 'Inigo'
>>>>> Dec 17 20:21:04 server weewx[14851] DEBUG weewx.cheetahgenerator: 
>>>>> Using search list ['weewx.cheetahgenerator.Almanac', 
>>>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 
>>>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 
>>>>> 'weewx.cheetahgenerator.Extras', 'user.alltime.ExtendedStatistics', 
>>>>> 'user.inigo-since.Since']
>>>>> Dec 17 20:21:04 server weewx[14851] DEBUG weewx.manager: Daily summary 
>>>>> version is 2
>>>>> Dec 17 20:21:08 server weewx[14851] INFO weewx.cheetahgenerator: 
>>>>> Generated 1 files for report Inigo in 4.67 seconds
>>>>> Dec 17 20:21:08 server weewx[14851] DEBUG weewx.reportengine: Report 
>>>>> 'forecast' not enabled. Skipping.
>>>>> Dec 17 20:21:08 server weewx[14851] DEBUG weewx.reportengine: Report 
>>>>> 'FTP' not enabled. Skipping.
>>>>> Dec 17 20:21:08 server weewx[14851] DEBUG weewx.reportengine: Report 
>>>>> 'RSYNC' not enabled. Skipping.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Now I know from his instructions that the search_list_extensions need 
>>>>> to be put into the skin.conf file in order for the metar tags to be found 
>>>>> but no matter what I do, I don't see any indication the extension ever 
>>>>> runs.  So, I tried extending the search list in the CheetahGenerator 
>>>>> section in weewx.conf (just on a whim).  After restarting weewx, this is 
>>>>> what I see in the syslog.
>>>>>
>>>>> Dec 17 20:35:21 server weewx[15119] INFO weewx.manager: Added record 
>>>>> 2020-12-17 20:35:00 EST (1608255300) to database 'weewx.sdb'
>>>>> Dec 17 20:35:21 server weewx[15119] INFO weewx.manager: Added record 
>>>>> 2020-12-17 20:35:00 EST (1608255300) to daily summary in 'weewx.sdb'
>>>>> Dec 17 20:35:22 server weewx[15119] DEBUG user.forecast: MainThread: 
>>>>> Zambretti: not yet time to do the forecast
>>>>> Dec 17 20:35:22 server weewx[15119] DEBUG user.forecast: MainThread: 
>>>>> NWS: not yet time to do the forecast
>>>>> Dec 17 20:35:22 server weewx[15119] DEBUG weewx.reportengine: Running 
>>>>> reports for latest time in the database.
>>>>> Dec 17 20:35:22 server weewx[15119] DEBUG weewx.reportengine: Running 
>>>>> report 'SeasonsReport'
>>>>> Dec 17 20:35:22 server weewx[15119] DEBUG weewx.reportengine: Found 
>>>>> configuration file /etc/weewx/skins/Seasons/skin.conf for report 
>>>>> 'SeasonsReport'
>>>>> *Dec 17 20:35:22 server weewx[15119] DEBUG weewx.cheetahgenerator: 
>>>>> Using search list ['weewx.cheetahgenerator.Almanac', 
>>>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 
>>>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 
>>>>> 'weewx.cheetahgenerator.Extras', 'user.forecast.ForecastVariables', 
>>>>> 'user.metargenerator.MyMetarSearch']*
>>>>> Dec 17 20:35:22 server weewx[15119] DEBUG weewx.manager: Daily summary 
>>>>> version is 2
>>>>> Dec 17 20:35:23 server weewx[15119] INFO weewx.restx: StationRegistry: 
>>>>> Published record 2020-12-17 20:35:00 EST (1608255300)
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> *Dec 17 20:35:23 server /weewxd: kdmw: error: Cannot get Metar Report. 
>>>>> Recovering the last file saved.Dec 17 20:35:23 server /weewxd: 
>>>>> metargenerator.py: error: There could not be found an older Metar Report. 
>>>>> Skipping!Dec 17 20:35:23 server /weewxd: kosh: error: Cannot get Metar 
>>>>> Report. Recovering the last file saved.Dec 17 20:35:23 server /weewxd: 
>>>>> metargenerator.py: error: There could not be found an older Metar Report. 
>>>>> Skipping!Dec 17 20:35:23 server /weewxd: metargenerator.py: Generated 0 
>>>>> metar tables in 0.02 seconds*
>>>>> Dec 17 20:35:56 server weewx[15119] INFO weewx.cheetahgenerator: 
>>>>> Generated 8 files for report SeasonsReport in 33.78 seconds
>>>>> Dec 17 20:35:56 server weewx[15119] DEBUG weewx.manager: Daily summary 
>>>>> version is 2
>>>>> Dec 17 20:36:02 server weewx[15119] INFO weewx.imagegenerator: 
>>>>> Generated 15 images for report SeasonsReport in 5.38 seconds
>>>>> Dec 17 20:36:02 server weewx[15119] INFO weewx.reportengine: Copied 88 
>>>>> files to /var/www/html/weewx
>>>>> Dec 17 20:36:02 server weewx[15119] DEBUG weewx.reportengine: Report 
>>>>> 'SmartphoneReport' not enabled. Skipping.
>>>>> Dec 17 20:36:02 server weewx[15119] DEBUG weewx.reportengine: Report 
>>>>> 'MobileReport' not enabled. Skipping.
>>>>> Dec 17 20:36:02 server weewx[15119] DEBUG weewx.reportengine: Report 
>>>>> 'StandardReport' not enabled. Skipping.
>>>>> Dec 17 20:36:02 server weewx[15119] DEBUG weewx.reportengine: Running 
>>>>> report 'Inigo'
>>>>> Dec 17 20:36:02 server weewx[15119] DEBUG weewx.reportengine: Found 
>>>>> configuration file /etc/weewx/skins/Inigo/skin.conf for report 'Inigo'
>>>>> Dec 17 20:36:03 server weewx[15119] DEBUG weewx.cheetahgenerator: 
>>>>> Using search list ['weewx.cheetahgenerator.Almanac', 
>>>>> 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 
>>>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 
>>>>> 'weewx.cheetahgenerator.Extras', 'user.alltime.ExtendedStatistics', 
>>>>> 'user.inigo-since.Since']
>>>>> Dec 17 20:36:03 server weewx[15119] DEBUG weewx.manager: Daily summary 
>>>>> version is 2
>>>>> Dec 17 20:36:07 server weewx[15119] INFO weewx.cheetahgenerator: 
>>>>> Generated 1 files for report Inigo in 4.60 seconds
>>>>> Dec 17 20:36:07 server weewx[15119] DEBUG weewx.reportengine: Report 
>>>>> 'forecast' not enabled. Skipping.
>>>>> Dec 17 20:36:07 server weewx[15119] DEBUG weewx.reportengine: Report 
>>>>> 'FTP' not enabled. Skipping.
>>>>> Dec 17 20:36:07 server weewx[15119] DEBUG weewx.reportengine: Report 
>>>>> 'RSYNC' not enabled. Skipping.
>>>>>
>>>>> Interesting enough, I now see that the extension is being called even 
>>>>> if all it does is report it can't get the METAR and can't find any backup 
>>>>> files.  Since it has never created the METAR backup in the first place, I 
>>>>> accept these results.
>>>>>
>>>>> I wasn't sure if this was a Python version issue until I confirmed the 
>>>>> extension runs when added to the search list in weewx.conf.  I guess this 
>>>>> could still be a problem but I'm not python savvy enough to see how.
>>>>>
>>>>> I'm at a loss to understand why the metar extension does not run when 
>>>>> it is configured in the Seasons/skin.conf file?   Can someone enlighten 
>>>>> me 
>>>>> please?
>>>>>
>>>>> Mike - AJ9x
>>>>>
>>>>>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/c00bfdc4-c4e6-40f6-b98e-c038c1721686n%40googlegroups.com.

Reply via email to