index.html not updating

190 views
Skip to first unread message

Kevin Davis

unread,
Jan 3, 2021, 9:58:27 PM1/3/21
to weewx...@googlegroups.com
On my Seasons skins, for some reason the index.html file isn't getting updated.   I don't remember changing anything since the 1/1/21 @ 11:55pm timestamp of the last update.

The Standard and Mobile versions are both updating correctly.


I changed debug = 1 and restarted....

Jan  3 18:24:29 corbett weewx[18565] INFO __main__: Initializing weewx version 4.2.0
Jan  3 18:24:29 corbett weewx[18565] INFO __main__: Using Python 2.7.13 (default, Aug 22 2020, 10:03:02) #012[GCC 6.3.0 20170516]
Jan  3 18:24:29 corbett weewx[18565] INFO __main__: Platform Linux-4.19.66-v7+-armv7l-with-debian-9.13
Jan  3 18:24:29 corbett weewx[18565] INFO __main__: Locale is 'en_US.UTF-8'
Jan  3 18:24:29 corbett weewx[18565] INFO __main__: PID file is /var/run/weewx.pid
Jan  3 18:24:29 corbett weewx[18569] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Jan  3 18:24:29 corbett weewx[18569] INFO __main__: Debug is 1
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.engine: StdConvert target unit is 0x1
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.engine: Archive will use data binding wx_binding
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.engine: Record generation will be attempted in 'software'
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.engine: Using archive interval of 300 seconds (software record generation)
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: Zambretti: forecast version 3.3.2
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: Zambretti: interval=600 max_age=604800 winddir_period=1800 pressure_period=10800 hemisphere=NORTH lower_pressure=950.0 upper_pressure=1050.0
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: NWS: forecast version 3.3.2
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: NWS: interval=10800 max_age=604800 lid=ORZ006 foid=PQR
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: WU: forecast version 3.3.2
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: OWM: forecast version 3.3.2
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: UKMO: forecast version 3.3.2
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: Aeris: forecast version 3.3.2
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: WWO: forecast version 3.3.2
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: DS: forecast version 3.3.2
Jan  3 18:24:29 corbett weewxd: forecast: MainThread: XTide: forecast version 3.3.2
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.restx: StationRegistry: Station will be registered.
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.restx: Wunderground: Posting not enabled.
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.restx: PWSweather: Posting not enabled.
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.restx: CWOP: Posting not enabled.
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.restx: WOW: Posting not enabled.
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.restx: AWEKAS: Posting not enabled.
Jan  3 18:24:29 corbett weewx[18569] INFO user.mqtt: service version is 0.23
Jan  3 18:24:29 corbett weewx[18569] INFO user.mqtt: binding to archive
Jan  3 18:24:29 corbett weewx[18569] INFO user.mqtt: topic is corbett/weather
Jan  3 18:24:29 corbett weewx[18569] INFO user.mqtt: data will be uploaded to mqtt://127.0.0.1:1883
Jan  3 18:24:29 corbett weewx[18569] INFO __main__: Starting up weewx version 4.2.0
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.engine: Clock error is 0.07 seconds (positive is fast)
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
Jan  3 18:24:29 corbett weewx[18569] INFO weewx.manager: Starting backfill of daily summaries
Jan  3 18:24:32 corbett weewx[18569] INFO weewx.engine: Starting main packet loop.
Jan  3 18:25:14 corbett weewx[18569] INFO weewx.manager: Added record 2021-01-03 18:25:00 PST (1609727100) to database 'weewx.sdb'
Jan  3 18:25:14 corbett weewx[18569] INFO weewx.manager: Added record 2021-01-03 18:25:00 PST (1609727100) to daily summary in 'weewx.sdb'
Jan  3 18:25:14 corbett weewxd: forecast: NWSThread: NWS: downloading forecast from 'http://forecast.weather.gov/product.php?site=NWS&product=PFM&format=txt&issuedby=PQR'
Jan  3 18:25:15 corbett weewx[18569] INFO weewx.restx: MQTT: Published record 2021-01-03 18:25:00 PST (1609727100)
Jan  3 18:25:15 corbett weewx[18569] INFO weewx.restx: StationRegistry: Published record 2021-01-03 18:25:00 PST (1609727100)
Jan  3 18:25:15 corbett weewxd: forecast: ZambrettiThread: Zambretti: generated 1 forecast record
Jan  3 18:25:20 corbett weewx[18569] INFO weewx.cheetahgenerator: Generated 7 files for report SeasonsReport in 5.29 seconds
Jan  3 18:25:20 corbett weewxd: forecast: NWSThread: NWS: got 40 forecast records for Scappoose-Columbia OR 45.77N 122.86W Elev. 49 ft
Jan  3 18:25:21 corbett weewx[18569] INFO weewx.imagegenerator: Generated 14 images for report SeasonsReport in 1.05 seconds
Jan  3 18:25:21 corbett weewx[18569] INFO weewx.reportengine: Copied 87 files to /var/www/html/weewx
Jan  3 18:25:21 corbett weewx[18569] INFO weewx.cheetahgenerator: Generated 6 files for report SmartphoneReport in 0.35 seconds
Jan  3 18:25:22 corbett weewx[18569] INFO weewx.imagegenerator: Generated 6 images for report SmartphoneReport in 0.38 seconds
Jan  3 18:25:22 corbett weewx[18569] INFO weewx.reportengine: Copied 6 files to /var/www/html/weewx/smart/
Jan  3 18:25:22 corbett weewx[18569] INFO weewx.cheetahgenerator: Generated 1 files for report MobileReport in 0.11 seconds
Jan  3 18:25:22 corbett weewx[18569] INFO weewx.imagegenerator: Generated 4 images for report MobileReport in 0.26 seconds
Jan  3 18:25:22 corbett weewx[18569] INFO weewx.reportengine: Copied 2 files to /var/www/html/weewx/mobile/
Jan  3 18:25:26 corbett weewx[18569] INFO weewx.cheetahgenerator: Generated 14 files for report StandardReport in 3.95 seconds
Jan  3 18:25:27 corbett weewx[18569] INFO weewx.imagegenerator: Generated 12 images for report StandardReport in 0.80 seconds
Jan  3 18:25:27 corbett weewx[18569] INFO weewx.reportengine: Copied 14 files to /var/www/html/weewx/standard


gjr80

unread,
Jan 3, 2021, 10:31:10 PM1/3/21
to weewx-user
Hi,

That is interesting, you have debug = 1 but the detail that is showing in the log is less than there should be. Could you please post the output from wee_debug --info. Before posting the wee_debug output check to make sure there is no sensitive info in the output such as user names, passwords, api keys etc, wee_debug will obfuscate such info but it is not perfect.

Gary

Kevin Davis

unread,
Jan 4, 2021, 12:49:10 AM1/4/21
to weewx...@googlegroups.com
Thanks for the help Gary.  I was literally 2 hours away at the beach, away from my Pi at the time that it's stuck at, so I know I didn't make any changes intentionally.  The only correlation I can come up close to the 11:55pm time that it's stuck at is, each night @ 11:59pm via a cron job, I stop weewx, back it up and then restart it.  Based on /var/log/messages, it was back up and running 18 seconds later.


pi@corbett:~ $ wee_debug --info
Using verbosity=1, displaying most info

wee_debug output will be sent to stdout(console)

Using configuration file /etc/weewx/weewx.conf
Using database binding 'wx_binding', which is bound to database 'archive_sqlite'

System info
  Platform:       Linux-4.19.66-v7+-armv7l-with-debian-9.13
  Python Version: 2.7.13

Load Information
  1 minute load average:  0.00
  5 minute load average:  0.00
  15 minute load average: 0.00

General Weewx info
  Weewx version 4.2.0 detected.

Station info
  Station type: Vantage
  Driver:       weewx.drivers.vantage

Driver info
[Vantage]
    # This section is for the Davis Vantage series of weather stations.
   
    # Connection type: serial or ethernet
    #  serial (the classic VantagePro)
    #  ethernet (the WeatherLinkIP or Serial-Ethernet bridge)
    type = serial
   
    # If the connection type is serial, a port must be specified:
    #   Debian, Ubuntu, Redhat, Fedora, and SuSE:
    #     /dev/ttyUSB0 is a common USB port name
    #     /dev/ttyS0   is a common serial port name
    #   BSD:
    #     /dev/cuaU0   is a common serial port name
    port = /dev/ttyUSB0
   
    # If the connection type is ethernet, an IP Address/hostname is required:
    host = 1.2.3.4
   
    ######################################################
    # The rest of this section rarely needs any attention.
    # You can safely leave it "as is."
    ######################################################
   
    # Serial baud rate (usually 19200)
    baudrate = 19200
   
    # TCP port (when using the WeatherLinkIP)
    tcp_port = 22222
   
    # TCP send delay (when using the WeatherLinkIP):
    tcp_send_delay = 0.5
   
    # The type of LOOP packet to request: 1 = LOOP1; 2 = LOOP2; 3 = both
    loop_request = 1
   
    # The id of your ISS station (usually 1). If you use a wind meter connected
    # to a anemometer transmitter kit, use its id
    iss_id = 1
   
    # How long to wait for a response from the station before giving up (in
    # seconds; must be greater than 2)
    timeout = 4
   
    # How long to wait before trying again (in seconds)
    wait_before_retry = 1.2
   
    # How many times to try before giving up:
    max_tries = 4
   
    # Vantage model Type: 1 = Vantage Pro; 2 = Vantage Pro2
    model_type = 2
   
    # The driver to use:
    driver = weewx.drivers.vantage

Currently installed extensions
Extension Name    Version   Description
mqtt              0.23      Upload weather data to MQTT server.
forecast          3.3.2     Generate and display weather and tide forecasts.

Archive info
  Database name:        weewx.sdb
  Table name:           archive
  Version               2
  Unit system:          1 (US)
  First good timestamp: 2019-07-03 21:35:00 PDT (1562214900)
  Last good timestamp:  2021-01-03 20:10:00 PST (1609733400)
  Number of records:    156772
  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
# WEEWX CONFIGURATION FILE
#
# Copyright (c) 2009-2019 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 = "Corbett Ln. : Portland, OR"
   
    # Latitude and longitude in decimal degrees
    latitude = 45.4557641
    longitude = -122.6769627
   
    # Altitude of the station, with unit it is in. This is downloaded from
    # from the station if the hardware supports it.
    altitude = 475, foot
   
    # Set to type of station hardware. There must be a corresponding stanza
    # in this file with a 'driver' parameter indicating the driver to be used.
    station_type = Vantage
   
    # If you have a website, you may specify an URL
    station_url = XXX obfuscated by wee_debug XXX
   
    # The start of the rain year (1=January; 10=October, etc.). This is
    # downloaded from the station if the hardware supports it.
    rain_year_start = 10
   
    # Start of week (0=Monday, 6=Sunday)
    week_start = 6

##############################################################################

[Vantage]
    # This section is for the Davis Vantage series of weather stations.
   
    # Connection type: serial or ethernet
    #  serial (the classic VantagePro)
    #  ethernet (the WeatherLinkIP or Serial-Ethernet bridge)
    type = serial
   
    # If the connection type is serial, a port must be specified:
    #   Debian, Ubuntu, Redhat, Fedora, and SuSE:
    #     /dev/ttyUSB0 is a common USB port name
    #     /dev/ttyS0   is a common serial port name
    #   BSD:
    #     /dev/cuaU0   is a common serial port name
    port = /dev/ttyUSB0
   
    # If the connection type is ethernet, an IP Address/hostname is required:
    host = 1.2.3.4
   
    ######################################################
    # The rest of this section rarely needs any attention.
    # You can safely leave it "as is."
    ######################################################
   
    # Serial baud rate (usually 19200)
    baudrate = 19200
   
    # TCP port (when using the WeatherLinkIP)
    tcp_port = 22222
   
    # TCP send delay (when using the WeatherLinkIP):
    tcp_send_delay = 0.5
   
    # The type of LOOP packet to request: 1 = LOOP1; 2 = LOOP2; 3 = both
    loop_request = 1
   
    # The id of your ISS station (usually 1). If you use a wind meter connected
    # to a anemometer transmitter kit, use its id
    iss_id = 1
   
    # How long to wait for a response from the station before giving up (in
    # seconds; must be greater than 2)
    timeout = 4
   
    # How long to wait before trying again (in seconds)
    wait_before_retry = 1.2
   
    # How many times to try before giving up:
    max_tries = 4
   
    # Vantage model Type: 1 = Vantage Pro; 2 = Vantage Pro2
    model_type = 2
   
    # The driver to use:
    driver = weewx.drivers.vantage

##############################################################################

[AcuRite]
    # This section is for AcuRite weather stations.
   
    # The station model, e.g., 'AcuRite 01025' or 'AcuRite 02032C'
    model = AcuRite 01036
   
    # The driver to use:
    driver = weewx.drivers.acurite

##############################################################################

#   This section is for uploading data to Internet sites

[StdRESTful]
   
    [[MQTT]]
        server_url = XXX obfuscated by wee_debug XXX
        topic = corbett/weather
        retain = True
   
    [[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
       
        # 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
       
        # If you plan on using wunderfixer, set the following
        # to your API key:
        api_key = XXX obfuscated by wee_debug XXX

##############################################################################

#   This section specifies what reports, using which skins, to generate.

[StdReport]
   
    # Where the skins reside, relative to WEEWX_ROOT
    SKIN_ROOT = /etc/weewx/skins
   
    # Where the generated reports should go, relative to WEEWX_ROOT
    HTML_ROOT = /var/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 = False
   
    ####
   
    # Each of the following subsections defines a report that will be run.
    # See the customizing guide to change the units, plot types and line
    # colors, modify the fonts, display additional sensor data, and other
    # customizations. Many of those changes can be made here by overriding
    # parameters, or by modifying templates within the skin itself.
   
    [[SeasonsReport]]
        # The SeasonsReport uses the 'Seasons' skin, which contains the
        # images, templates and plots for the report.
        skin = Seasons
        enable = true
       
        [[[CheetahGenerator]]]
            search_list_extensions = user.forecast.ForecastVariables
        [[[CopyGenerator]]]
            copy_once = seasons.css, seasons.js, favicon.ico, font/*.woff, font/*.woff2, forecast_strip.css, icons/*
   
    [[SmartphoneReport]]
        # The SmartphoneReport uses the 'Smartphone' skin, and the images and
        # files are placed in a dedicated subdirectory.
        skin = Smartphone
        enable = true
        HTML_ROOT = /var/www/html/weewx/smart/
   
    [[MobileReport]]
        # The MobileReport uses the 'Mobile' skin, and the images and files
        # are placed in a dedicated subdirectory.
        skin = Mobile
        enable = true
        HTML_ROOT = /var/www/html/weewx/mobile/
   
    [[StandardReport]]
        # This is the old "Standard" skin. By default, it is not enabled.
        skin = Standard
        enable = true
        HTML_ROOT = /var/www/html/weewx/standard
   
    [[forecast]]
        enable = false
        HTML_ROOT = /var/www/html/weewx/forecast
        skin = 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_pressure = inHg    # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'
                group_rain = inch    # Options are 'inch', 'cm', or 'mm'
                group_rainrate = inch_per_hour    # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'
                group_speed = mile_per_hour    # Options are 'mile_per_hour', 'km_per_hour', 'knot', or 'meter_per_second'
                group_speed2 = mile_per_hour2    # Options are 'mile_per_hour2', 'km_per_hour2', 'knot2', or 'meter_per_second2'
                group_temperature = degree_F    # Options are 'degree_F' or 'degree_C'
                group_distance = mile
           
            # The following section sets the formatting for each type of unit.
            [[[[StringFormats]]]]
               
                centibar = %.0f
                cm = %.2f
                cm_per_hour = %.2f
                degree_C = %.1f
                degree_F = %.1f
                degree_compass = %.0f
                foot = %.0f
                hPa = %.1f
                hour = %.1f
                inHg = %.3f
                inch = %.2f
                inch_per_hour = %.2f
                km_per_hour = %.0f
                km_per_hour2 = %.1f
                knot = %.0f
                knot2 = %.1f
                mbar = %.1f
                meter = %.0f
                meter_per_second = %.1f
                meter_per_second2 = %.1f
                mile_per_hour = %.0f
                mile_per_hour2 = %.1f
                mm = %.1f
                mmHg = %.1f
                mm_per_hour = %.1f
                percent = %.0f
                second = %.0f
                uv_index = %.1f
                volt = %.1f
                watt_per_meter_squared = %.0f
                NONE = "   N/A"
           
            # The following section sets the label for each type of unit
            [[[[Labels]]]]
               
                day = " 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 and cooling degree-days.
            [[[[DegreeDays]]]]
               
                # Base temperature for heating days, with unit:
                heating_base = 65, degree_F
                # Base temperature for cooling days, with unit:
                cooling_base = 65, degree_F
                # Base temperature for growing days, with unit:
                growing_base = 50.0, degree_F
           
            # A trend takes a difference across a time period. The following
            # section sets the time period, and how big an error is allowed to
            # still be counted as the start or end of a period.
            [[[[Trend]]]]
               
                time_delta = 10800    # 3 hours
                time_grace = 300    # 5 minutes
       
        # The labels to be used for each observation type
        [[[Labels]]]
           
            # Set to hemisphere abbreviations suitable for your location:
            hemispheres = N, S, E, W
           
            # Formats to be used for latitude whole degrees, longitude whole
            # degrees, and minutes:
            latlon_formats = %02d, %03d, %05.2f
           
            # Generic labels, keyed by an observation type.
            [[[[Generic]]]]
                barometer = Barometer
                dewpoint = Dew Point
                ET = ET
                heatindex = Heat Index
                inHumidity = Inside Humidity
                inTemp = Inside Temperature
                outHumidity = Humidity
                outTemp = Outside Temperature
                radiation = Radiation
                rain = Rain
                rainRate = Rain Rate
                UV = UV Index
                windDir = Wind Direction
                windGust = Gust Speed
                windGustDir = Gust Direction
                windSpeed = Wind Speed
                windchill = Wind Chill
                windgustvec = Gust Vector
                windvec = Wind Vector
                extraTemp1 = Temperature1
                extraTemp2 = Temperature2
                extraTemp3 = Temperature3
               
                # Sensor status indicators
               
                rxCheckPercent = Signal Quality
                txBatteryStatus = Transmitter Battery
                windBatteryStatus = Wind Battery
                rainBatteryStatus = Rain Battery
                outTempBatteryStatus = Outside Temperature Battery
                inTempBatteryStatus = Inside Temperature Battery
                consBatteryVoltage = Console Battery
                heatingVoltage = Heating Battery
                supplyVoltage = Supply Voltage
                referenceVoltage = Reference Voltage
       
        [[[Almanac]]]
           
            # The labels to be used for the phases of the moon:
            moon_phases = New, Waxing crescent, First quarter, Waxing gibbous, Full, Waning gibbous, Last quarter, Waning crescent

##############################################################################

#   This service acts as a filter, converting the unit system coming from
#   the hardware to a unit system in the database.

[StdConvert]
   
    # The target_unit affects only the unit system in the database. Once
    # chosen it cannot be changed without converting the entire database.
    # Modification of target_unit after starting weewx will result in
    # corrupt data - the database will contain a mix of US and METRIC data.
    #
    # The value of target_unit does not affect the unit system for
    # reporting - reports can display US, Metric, or any combination of units.
    #
    # In most cases, target_unit should be left as the default: US
    #
    # In particular, those migrating from a standard wview installation
    # should use US since that is what the wview database contains.
   
    # DO NOT MODIFY THIS VALUE UNLESS YOU KNOW WHAT YOU ARE DOING!
    target_unit = US    # Options are 'US', 'METRICWX', or 'METRIC'

##############################################################################

#   This section can adjust data using calibration expressions.

[StdCalibrate]
   
    [[Corrections]]
        # For each type, an arbitrary calibration expression can be given.
        # It should be in the units defined in the StdConvert section.
        # 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
        barometer = prefer_hardware
        altimeter = prefer_hardware
        windchill = prefer_hardware
        heatindex = prefer_hardware
        dewpoint = prefer_hardware
        inDewpoint = prefer_hardware
        rainRate = prefer_hardware
        maxSolarRad = prefer_hardware
        cloudbase = prefer_hardware
        humidex = prefer_hardware
        appTemp = prefer_hardware
        ET = prefer_hardware
        windrun = prefer_hardware

##############################################################################

#   For hardware that supports it, this section controls how often the
#   onboard clock gets updated.

[StdTimeSynch]
   
    # How often to check the weather station clock for drift (in seconds)
    clock_check = 14400
   
    # How much it can drift before we will correct it (in seconds)
    max_drift = 5

##############################################################################

#   This section is for configuring the archive service.

[StdArchive]
   
    # If the station hardware supports data logging then the archive interval
    # will be downloaded from the station. Otherwise, specify it (in seconds).
    archive_interval = 300
   
    # If possible, new archive records are downloaded from the station
    # hardware. If the hardware does not support this, then new archive
    # records will be generated in software.
    # Set the following to "software" to force software record generation.
    record_generation = software
   
    # Whether to include LOOP data in hi/low statistics
    loop_hilo = True
   
    # The data binding used to save archive records
    data_binding = wx_binding

##############################################################################

#   This section binds a data store to a database.

[DataBindings]
   
    [[wx_binding]]
        # The database must match one of the sections in [Databases].
        # This is likely to be the only option you would want to change.
        database = archive_sqlite
        # The name of the table within the database
        table_name = archive
        # The manager handles aggregation of data for historical summaries
        manager = weewx.wxmanager.WXDaySummaryManager
        # The schema defines the structure of the database.
        # It is *only* used when the database is created.
        schema = schemas.wview.schema
    [[forecast_binding]]
        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.WUForecast, user.forecast.OWMForecast, user.forecast.UKMOForecast, user.forecast.AerisForecast, user.forecast.WWOForecast, user.forecast.DSForecast, user.forecast.XTideForecast
        restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS, user.mqtt.MQTT
        report_services = weewx.engine.StdPrint, weewx.engine.StdReport

##############################################################################

# Options for extension 'forecast'
[Forecast]
    data_binding = forecast_binding
    [[OWM]]
        api_key = XXX obfuscated by wee_debug XXX
    [[WWO]]
        api_key = XXX obfuscated by wee_debug XXX
    [[WU]]
        api_key = XXX obfuscated by wee_debug XXX
    [[NWS]]
        lid = ORZ006
        foid = PQR
    [[UKMO]]
        api_key = XXX obfuscated by wee_debug XXX
        location = INSERT_UK_LOCATION_HERE
    [[XTide]]
        location = "INSERT_LOCATION_HERE (e.g., Boston)"
    [[Zambretti]]
        hemisphere = NORTH
    [[Aeris]]
        client_secret = INSERT_AERIS_CLIENT_SECRET_HERE
        client_id = INSERT_AERIS_CLIENT_ID_HERE
    [[DS]]
        api_key = XXX obfuscated by wee_debug XXX

wee_debug report successfully generated

--
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+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/abfd3be6-b829-4b40-98c4-751dcc0cf047n%40googlegroups.com.

gjr80

unread,
Jan 4, 2021, 6:16:03 AM1/4/21
to weewx-user
I suspect you have an error in the generation of your Seasons index.html file that is being masked by log_failure = False under [StdReport] in weewx.conf. Try changing this to log_failure = True, (leave debug = 1) restart WeeWX and see what appears in the log.

Gary

Kevin Davis

unread,
Jan 4, 2021, 11:10:09 AM1/4/21
to weewx...@googlegroups.com
Done.  Nothing new in log.

Jan  4 07:59:09 corbett weewx[32526] INFO __main__: Initializing weewx version 4.2.0
Jan  4 07:59:09 corbett weewx[32526] INFO __main__: Using Python 2.7.13 (default, Aug 22 2020, 10:03:02) #012[GCC 6.3.0 20170516]
Jan  4 07:59:09 corbett weewx[32526] INFO __main__: Platform Linux-4.19.66-v7+-armv7l-with-debian-9.13
Jan  4 07:59:09 corbett weewx[32526] INFO __main__: Locale is 'en_US.UTF-8'
Jan  4 07:59:09 corbett weewx[32526] INFO __main__: PID file is /var/run/weewx.pid
Jan  4 07:59:09 corbett weewx[32531] INFO __main__: Using configuration file /etc/weewx/weewx.conf
Jan  4 07:59:09 corbett weewx[32531] INFO __main__: Debug is 1
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.engine: Loading station type Vantage (weewx.drivers.vantage)
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.engine: StdConvert target unit is 0x1
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.engine: Archive will use data binding wx_binding
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.engine: Record generation will be attempted in 'software'
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.engine: Using archive interval of 300 seconds (software record generation)
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: Zambretti: forecast version 3.3.2
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: Zambretti: interval=600 max_age=604800 winddir_period=1800 pressure_period=10800 hemisphere=NORTH lower_pressure=950.0 upper_pressure=1050.0
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: NWS: forecast version 3.3.2
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: NWS: interval=10800 max_age=604800 lid=ORZ006 foid=PQR
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: WU: forecast version 3.3.2
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: OWM: forecast version 3.3.2
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: UKMO: forecast version 3.3.2
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: Aeris: forecast version 3.3.2
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: WWO: forecast version 3.3.2
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: DS: forecast version 3.3.2
Jan  4 07:59:09 corbett weewxd: forecast: MainThread: XTide: forecast version 3.3.2
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.restx: StationRegistry: Station will be registered.
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.restx: Wunderground: Posting not enabled.
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.restx: PWSweather: Posting not enabled.
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.restx: CWOP: Posting not enabled.
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.restx: WOW: Posting not enabled.
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.restx: AWEKAS: Posting not enabled.
Jan  4 07:59:09 corbett weewx[32531] INFO user.mqtt: service version is 0.23
Jan  4 07:59:09 corbett weewx[32531] INFO user.mqtt: binding to archive
Jan  4 07:59:09 corbett weewx[32531] INFO user.mqtt: topic is corbett/weather
Jan  4 07:59:09 corbett weewx[32531] INFO user.mqtt: data will be uploaded to mqtt://127.0.0.1:1883
Jan  4 07:59:09 corbett weewx[32531] INFO __main__: Starting up weewx version 4.2.0
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.engine: Clock error is 1.12 seconds (positive is fast)
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.engine: Using binding 'wx_binding' to database 'weewx.sdb'
Jan  4 07:59:09 corbett weewx[32531] INFO weewx.manager: Starting backfill of daily summaries
Jan  4 07:59:12 corbett weewx[32531] INFO weewx.engine: Starting main packet loop.
Jan  4 08:00:15 corbett weewx[32531] INFO weewx.manager: Added record 2021-01-04 08:00:00 PST (1609776000) to database 'weewx.sdb'
Jan  4 08:00:15 corbett weewx[32531] INFO weewx.manager: Added record 2021-01-04 08:00:00 PST (1609776000) to daily summary in 'weewx.sdb'
Jan  4 08:00:15 corbett weewxd: forecast: NWSThread: NWS: downloading forecast from 'http://forecast.weather.gov/product.php?site=NWS&product=PFM&format=txt&issuedby=PQR'
Jan  4 08:00:15 corbett weewxd: forecast: ZambrettiThread: Zambretti: generated 1 forecast record
Jan  4 08:00:15 corbett weewx[32531] INFO weewx.restx: MQTT: Published record 2021-01-04 08:00:00 PST (1609776000)
Jan  4 08:00:16 corbett weewxd: forecast: NWSThread: NWS: got 38 forecast records for Scappoose-Columbia OR 45.77N 122.86W Elev. 49 ft
Jan  4 08:00:16 corbett weewx[32531] INFO weewx.restx: StationRegistry: Published record 2021-01-04 08:00:00 PST (1609776000)
Jan  4 08:00:21 corbett weewx[32531] INFO weewx.cheetahgenerator: Generated 7 files for report SeasonsReport in 5.30 seconds
Jan  4 08:00:25 corbett weewx[32531] INFO weewx.imagegenerator: Generated 28 images for report SeasonsReport in 4.86 seconds
Jan  4 08:00:26 corbett weewx[32531] INFO weewx.reportengine: Copied 87 files to /var/www/html/weewx
Jan  4 08:00:26 corbett weewx[32531] INFO weewx.cheetahgenerator: Generated 6 files for report SmartphoneReport in 0.35 seconds
Jan  4 08:00:28 corbett weewx[32531] INFO weewx.imagegenerator: Generated 12 images for report SmartphoneReport in 1.72 seconds
Jan  4 08:00:28 corbett weewx[32531] INFO weewx.reportengine: Copied 6 files to /var/www/html/weewx/smart/
Jan  4 08:00:28 corbett weewx[32531] INFO weewx.cheetahgenerator: Generated 1 files for report MobileReport in 0.11 seconds
Jan  4 08:00:28 corbett weewx[32531] INFO weewx.imagegenerator: Generated 4 images for report MobileReport in 0.28 seconds
Jan  4 08:00:28 corbett weewx[32531] INFO weewx.reportengine: Copied 2 files to /var/www/html/weewx/mobile/
Jan  4 08:00:32 corbett weewx[32531] INFO weewx.cheetahgenerator: Generated 14 files for report StandardReport in 3.97 seconds
Jan  4 08:00:36 corbett weewx[32531] INFO weewx.imagegenerator: Generated 24 images for report StandardReport in 3.69 seconds
Jan  4 08:00:36 corbett weewx[32531] INFO weewx.reportengine: Copied 14 files to /var/www/html/weewx/standard
Jan  4 08:05:15 corbett weewx[32531] INFO weewx.manager: Added record 2021-01-04 08:05:00 PST (1609776300) to database 'weewx.sdb'
Jan  4 08:05:15 corbett weewx[32531] INFO weewx.manager: Added record 2021-01-04 08:05:00 PST (1609776300) to daily summary in 'weewx.sdb'
Jan  4 08:05:15 corbett weewxd: forecast: NWSThread: NWS: downloading forecast from 'http://forecast.weather.gov/product.php?site=NWS&product=PFM&format=txt&issuedby=PQR'
Jan  4 08:05:15 corbett weewx[32531] INFO weewx.restx: MQTT: Published record 2021-01-04 08:05:00 PST (1609776300)
Jan  4 08:05:15 corbett weewxd: forecast: NWSThread: NWS: got 38 forecast records for Scappoose-Columbia OR 45.77N 122.86W Elev. 49 ft
Jan  4 08:05:17 corbett weewx[32531] INFO weewx.cheetahgenerator: Generated 7 files for report SeasonsReport in 1.68 seconds
Jan  4 08:05:18 corbett weewx[32531] INFO weewx.imagegenerator: Generated 14 images for report SeasonsReport in 1.06 seconds
Jan  4 08:05:18 corbett weewx[32531] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx
Jan  4 08:05:18 corbett weewx[32531] INFO weewx.cheetahgenerator: Generated 6 files for report SmartphoneReport in 0.11 seconds
Jan  4 08:05:19 corbett weewx[32531] INFO weewx.imagegenerator: Generated 6 images for report SmartphoneReport in 0.41 seconds
Jan  4 08:05:19 corbett weewx[32531] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx/smart/
Jan  4 08:05:19 corbett weewx[32531] INFO weewx.cheetahgenerator: Generated 1 files for report MobileReport in 0.04 seconds
Jan  4 08:05:19 corbett weewx[32531] INFO weewx.imagegenerator: Generated 4 images for report MobileReport in 0.28 seconds
Jan  4 08:05:19 corbett weewx[32531] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx/mobile/
Jan  4 08:05:20 corbett weewx[32531] INFO weewx.cheetahgenerator: Generated 14 files for report StandardReport in 1.40 seconds
Jan  4 08:05:21 corbett weewx[32531] INFO weewx.imagegenerator: Generated 12 images for report StandardReport in 0.85 seconds
Jan  4 08:05:21 corbett weewx[32531] INFO weewx.reportengine: Copied 0 files to /var/www/html/weewx/standard

gjr80

unread,
Jan 4, 2021, 3:34:02 PM1/4/21
to weewx-user
Hmm, I’m still not convinced that the log is as it should be, log_failure under [StdReport] is definitely = True? When reports are generated there should be entries about skin.conf being found etc. Nonetheless, Seasons seems to be generating the correct number of files. Can you check the timestamp on /var/www/html/weewx/index.html, is it changing? Is it current or stuck on 1 January?

Gary

Kevin Davis

unread,
Jan 4, 2021, 4:56:51 PM1/4/21
to weewx...@googlegroups.com
I just double checked /etc/weewx/weewx.conf and wee_debug and both are showing debug = 1 and [StdReport] log_failure = True.

Did another sudo /etc/init.d/weewx restart, still no DEBUG entries in /var/log/messages.

index.html in /var/www/html/weewx has the 1 January timestamp, but all the graph images are up to date.

index.html in /var/www/html/weewx/standard, mobile, and smart are all up to date.





gjr80

unread,
Jan 4, 2021, 5:52:05 PM1/4/21
to weewx-user

Bizarre, 8 am still confident there is something in your Seasons index.html.tmpl that is causing an error hence it’s not generated. Can you post your copy of Seasons index.html.tmpl? Maybe something will stand out.

Gary

Kevin Davis

unread,
Jan 4, 2021, 6:12:36 PM1/4/21
to weewx...@googlegroups.com
pi@corbett:/var/www/html/weewx/smart $ cat /etc/weewx/skins/Seasons/index.html.tmpl
## Copyright 2009-2018 Tom Keffer, Matthew Wall
## Distributed under terms of GPLv3.  See LICENSE.txt for your rights.
#errorCatcher Echo
##
## Specifying an encoding of UTF-8 is usually safe:
#encoding UTF-8
##
<!DOCTYPE html>
<html lang="en">
  <head>
    ## This choice should match the #encoding directive above
    <meta charset="UTF-8">
    <meta http-equiv="Refresh" content="300">
    <title>$station.location</title>
    <link rel="icon" type="image/png" href="favicon.ico" />
    <link rel="stylesheet" type="text/css" href="seasons.css"/>
    <script src="seasons.js"></script>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
  </head>

  <body onload="setup();">
    #include "titlebar.inc"
   
    <div id="contents">
      <div id="widget_group">
#include "forecast.inc"
        #include "current.inc"
        #include "sunmoon.inc"
        #include "hilo.inc"
        #include "sensors.inc"
        #include "about.inc"
        #include "radar.inc"
        #include "satellite.inc"
        #include "map.inc"
      </div>

      <div id="plot_group">

        <div id="radar_widget" class="widget">
          <div class="widget_title">Radar:&nbsp;&nbsp;
            <a class="widget_control" onclick="toggle_widget('radar')">&diams;</a>
            <a class="button" id ="button_radar_offshore" onclick="choose_radar('offshore')">Offshore</a>
            <a class="button_selected" id ="button_radar_local" onclick="choose_radar('local')">Local</a>
            <a class="button" id ="button_radar_region" onclick="choose_radar('region')">Regional</a>
            <a class="button" id ="button_radar_nation" onclick="choose_radar('nation')">National</a>
 </div>

          <div class="widget_contents">
          <div id="radar_offshore" class="plot_container">
   <img src="https://www.ssd.noaa.gov/goes/west/nepac/rb-l.jpg" alt="Offshore Satellite" height="100%">
 </div>

          <div id="radar_local" class="plot_container">
   <img src="http://radar.weather.gov/ridge/lite/N0R/RTX_loop.gif" alt="Local Radar" style="width=600px;height=550px;">
          </div>

          <div id="radar_region" class="plot_container">
   <img src="https://radar.weather.gov/Conus/Loop/pacnorthwest_loop.gif" alt="Regional Radar" style="width=600px;height=571px"><br>
          </div>

          <div id="radar_nation" class="plot_container">
<img src="https://radar.weather.gov/ridge/Conus/Loop/NatLoop_Small.gif" alt="Natioanl Radar" style="width=600px;height=282px;"><br>
 </div>
     
          </div>

        </div>

#include "iss.inc"

        <div id="history_widget" class="widget">
          <div id="plot_title" class="widget_title">History:&nbsp;&nbsp;
            <a class="button_selected" id="button_history_day"
               onclick="choose_history('day')">Day</a>
            <a class="button" id="button_history_week"
               onclick="choose_history('week')">Week</a>
            <a class="button" id="button_history_month"
               onclick="choose_history('month')">Month</a>
            <a class="button" id="button_history_year"
               onclick="choose_history('year')">Year</a>
          </div>
          <div id="history_day" class="plot_container">
            <img src="daybarometer.png" alt="$obs.label.barometer"/>
            <img src="daytempdew.png"   alt="$obs.label.outTemp" />
            <img src="daytempfeel.png"  alt="$obs.label.feel" />
            <img src="dayhum.png"       alt="$obs.label.outHumidity" />
            <img src="daywind.png"      alt="$obs.label.windSpeed" />
            <img src="daywinddir.png"   alt="$obs.label.windDir" />
            <img src="daywindvec.png"   alt="$obs.label.windvec" />
            <img src="dayrain.png"      alt="$obs.label.rain" />
            #if $day.UV.has_data
            <img src="dayuv.png"        alt="$obs.label.UV" />
            #end if
            #if $day.radiation.has_data
            <img src="dayradiation.png" alt="$obs.label.radiation" />
            #end if
            #if $day.inTemp.has_data
            <img src="daytempin.png"    alt="$obs.label.inTemp" />
            #end if
            #if $day.extraTemp1.has_data or $day.extraTemp2.has_data or $day.extraTemp3.has_data
            <img src="daytemp.png"      alt="$obs.label.extraTemp1" />
            #end if
            #if $day.rxCheckPercent.has_data
            <img src="dayrx.png"        alt="$obs.label.rxCheckPercent"/>
            #end if
          </div>
          <div id="history_week" class="plot_container" style="display:none">
            <img src="weekbarometer.png" alt="$obs.label.barometer"/>
            <img src="weektempdew.png"   alt="$obs.label.outTemp" />
            <img src="weektempfeel.png"  alt="$obs.label.feel" />
            <img src="weekhum.png"       alt="$obs.label.outHumidity" />
            <img src="weekwind.png"      alt="$obs.label.windSpeed" />
            <img src="weekwinddir.png"   alt="$obs.label.windDir" />
            <img src="weekwindvec.png"   alt="$obs.label.windvec" />
            <img src="weekrain.png"      alt="$obs.label.rain" />
            #if $week.UV.has_data
            <img src="weekuv.png"        alt="$obs.label.UV" />
            #end if
            #if $week.radiation.has_data
            <img src="weekradiation.png" alt="$obs.label.radiation" />
            #end if
            #if $week.inTemp.has_data
            <img src="weektempin.png"    alt="$obs.label.inTemp" />
            #end if
            #if $week.extraTemp1.has_data or $week.extraTemp2.has_data or $week.extraTemp3.has_data
            <img src="weektemp.png"      alt="$obs.label.extraTemp1" />
            #end if
            #if $week.rxCheckPercent.has_data
            <img src="weekrx.png"        alt="$obs.label.rxCheckPercent"/>
            #end if
          </div>
          <div id="history_month" class="plot_container" style="display:none">
            <img src="monthbarometer.png" alt="$obs.label.barometer"/>
            <img src="monthtempdew.png"   alt="$obs.label.outTemp" />
            <img src="monthtempfeel.png"  alt="$obs.label.feel" />
            <img src="monthhum.png"       alt="$obs.label.outHumidity" />
            <img src="monthwind.png"      alt="$obs.label.windSpeed" />
            <img src="monthwinddir.png"   alt="$obs.label.windDir" />
            <img src="monthwindvec.png"   alt="$obs.label.windvec" />
            <img src="monthrain.png"      alt="$obs.label.rain" />
            #if $month.UV.has_data
            <img src="monthuv.png"        alt="$obs.label.UV" />
            #end if
            #if $month.radiation.has_data
            <img src="monthradiation.png" alt="$obs.label.radiation" />
            #end if
            #if $month.inTemp.has_data
            <img src="monthtempin.png"    alt="$obs.label.inTemp" />
            #end if
            #if $month.extraTemp1.has_data or $month.extraTemp2.has_data or $month.extraTemp3.has_data
            <img src="monthtemp.png"      alt="$obs.label.extraTemp1" />
            #end if
            #if $month.rxCheckPercent.has_data
            <img src="monthrx.png"        alt="$obs.label.rxCheckPercent"/>
            #end if
          </div>
          <div id="history_year" class="plot_container" style="display:none">
            <img src="yearbarometer.png" alt="$obs.label.barometer"/>
            <img src="yeartempdew.png"   alt="$obs.label.outTemp" />
            <img src="yeartempfeel.png"  alt="$obs.label.feel" />
            <img src="yearhum.png"       alt="$obs.label.outHumidity" />
            <img src="yearwind.png"      alt="$obs.label.windSpeed" />
            <img src="yearwinddir.png"   alt="$obs.label.windDir" />
            <img src="yearwindvec.png"   alt="$obs.label.windvec" />
            <img src="yearrain.png"      alt="$obs.label.rain" />
            #if $year.UV.has_data
            <img src="yearuv.png"        alt="$obs.label.UV" />
            #end if
            #if $year.radiation.has_data
            <img src="yearradiation.png" alt="$obs.label.radiation" />
            #end if
            #if $year.inTemp.has_data
            <img src="yeartempin.png"    alt="$obs.label.inTemp" />
            #end if
            #if $year.extraTemp1.has_data or $year.extraTemp2.has_data or $year.extraTemp3.has_data
            <img src="yeartemp.png"      alt="$obs.label.extraTemp1" />
            #end if
            #if $year.rxCheckPercent.has_data
            <img src="yearrx.png"        alt="$obs.label.rxCheckPercent"/>
            #end if
          </div>
        </div>
      </div>
    </div>

    <p class="footnote">
      This station is controlled by <a href="http://weewx.com/">WeeWX</a>.
    </p>

    #include "analytics.inc"

</body>

</html>

Kevin Davis

unread,
Jan 4, 2021, 6:23:51 PM1/4/21
to weewx...@googlegroups.com
I think I just figured it out!!

Looks like something has broken with my script that generates the iss.inc file.

[#################################] 100% stations.txt
Traceback (most recent call last):
  File "/home/pi/scripts/iss/iss.py", line 26, in <module>
    ts = load.timescale()
  File "/home/pi/.local/lib/python2.7/site-packages/skyfield/iokit.py", line 315, in timescale
    preds = self('deltat.preds')
  File "/home/pi/.local/lib/python2.7/site-packages/skyfield/iokit.py", line 203, in __call__
    download(url, path, self.verbose)
  File "/home/pi/.local/lib/python2.7/site-packages/skyfield/iokit.py", line 528, in download
    raise e2
IOError: cannot get ftp://cddis.nasa.gov/products/iers/deltat.preds because <urlopen error ftp error: [Errno 110] Connection timed out>

I appreciate the help!  Still curious why my debug settings don't produce the output in /var/log/messages though.

gjr80

unread,
Jan 4, 2021, 10:35:34 PM1/4/21
to weewx-user
Yes that would do it. Seasons is a bit more modular than Standard, makes the coding look much slicker but can be a bit more involved to fault find.

I agree about your log, debug logs should have things like this (the DEBUG lines) in them:

Jan  4 13:15:59 fred weewx[1234] DEBUG weewx.reportengine: Running reports for latest time in the database.
Jan  4 13:15:59 fred weewx[1234] DEBUG weewx.reportengine: Running report 'SeasonsReport'
Jan  4 13:15:59 fred weewx[1234] DEBUG weewx.reportengine: Found configuration file /etc/weewx/skins/Seasons/skin.conf for report 'SeasonsReport'
Jan  4 13:16:00 fred weewx[1234] DEBUG weewx.cheetahgenerator: Using search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.Station', 'weewx.cheetahgenerator.Current', 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 'weewx.cheetahgenerator.Extras']
Jan  4 13:16:00 fred weewx[1234] DEBUG weewx.manager: Daily summary version is 2
Jan  4 13:16:08 fred weewx[1234] INFO weewx.cheetahgenerator: Generated 9 files for report SeasonsReport in 7.56 seconds
Jan  4 13:16:08 fred weewx[1234] DEBUG weewx.manager: Daily summary version is 2
Jan  4 13:16:11 fred weewx[1234] INFO weewx.imagegenerator: Generated 15 images for report SeasonsReport in 2.84 seconds
Jan  4 13:16:11 fred weewx[1234] INFO weewx.reportengine: Copied 5 files to /var/www/html/weewx
Jan  4 13:16:11 fred weewx[1234] DEBUG weewx.reportengine: Report 'SmartphoneReport' not enabled. Skipping.
Jan  4 13:16:11 fred weewx[1234] DEBUG weewx.reportengine: Report 'MobileReport' not enabled. Skipping.

Don't know if it could be something to do with how your systems syslog is configured, probably something for someone with more system knowledge than me.

Gary

gjr80

unread,
Jan 4, 2021, 10:39:34 PM1/4/21
to weewx-user
Just one more thing, it usually applies to services but equally applies to your code that produces iss.inc. If you are pulling data from an external network/source it is best to structure you code such that if the external service can't be contacted or times out etc you code continues and produces some usable output (even if it's just a canned message). That way anything downstream does hiccup to badly and certainly doesn't bring WeeWX down (or stop generating reports!).

Gary
Reply all
Reply to author
Forward
0 new messages