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.