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/e914c2d0-7182-4d5a-9739-eba123f0b641n%40googlegroups.com.