After five years weewx quit archiving.

132 views
Skip to first unread message

Jeremiah

unread,
Apr 6, 2022, 7:01:02 PM4/6/22
to weewx-user

As the subject says, nearly five years to the day, data quit archiving. It is no longer written to MySQL or Wunderground. In an effort to fix this I have: rebooted, disconnected and reconnected the usb cable to the data collector, upgraded weewx, uninstall (purge) and reinstall, and created a new conf file. If I run weewxd from the cli, I can see the data coming in and verified it's current. I have verified the connection to MySQL. I'm out of good ideas. Thanks for your assistance!

 

Log file with debug=2 attached with about 13 minutes of data. 

Here is some info from wee_debug:

 

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_mysql'

 

System info

  Platform:       Linux-5.10.103-v7+-armv7l-with-debian-10.12

  Python Version: 3.7.3

 

Load Information

  1 minute load average:  0.80

  5 minute load average:  0.68

  15 minute load average: 0.70

 

General Weewx info

  Weewx version 4.7.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

No extensions installed

 

Archive info

  Database name:        weewx

  Table name:           archive

  Version               1.0

  Unit system:          1 (US)

  First good timestamp: 2017-03-09 19:00:00 PST (1489114800)

  Last good timestamp:  2022-03-13 03:00:00 PDT (1647165600)

  Number of records:    87129

  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:        192.168.1.17

 

 

Parsed and obfuscated weewx.conf

# WEEWX CONFIGURATION FILE

#

# Copyright (c) 2009-2021 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 = 2

 

# 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.7.0

 

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

 

#   This section is for information about the station.

 

[Station]

    

  # removed

 

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

 

[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

 

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

 

#   This section is for uploading data to Internet sites

 

[StdRESTful]

   [[Wunderground]]

        # This section is for configuring posts to the Weather Underground.

        

        # If you wish to post to the Weather Underground, set the option 'enable' to true,  then

        # specify a station (e.g., 'KORHOODR3') and password. To guard against parsing errors, put

        # the password in quotes.

        enable = true

        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

    

    [[SmartphoneReport]]

        # The SmartphoneReport uses the 'Smartphone' skin, and the images and

        # files are placed in a dedicated subdirectory.

        skin = Smartphone

        enable = false

        HTML_ROOT = /var/www/html/weewx/smartphone

    

    [[MobileReport]]

        # The MobileReport uses the 'Mobile' skin, and the images and files

        # are placed in a dedicated subdirectory.

        skin = Mobile

        enable = false

        HTML_ROOT = /var/www/html/weewx/mobile

    

    [[StandardReport]]

        # This is the old "Standard" skin. By default, it is not enabled.

        skin = Standard

        enable = false

    

    [[FTP]]

        # FTP'ing the results to a webserver is treated as just another report,

        # albeit one with an unusual report generator!

        skin = Ftp

        

        # If you wish to use FTP, set "enable" to "true", then

        # fill out the next four lines.

        # Use quotes around passwords to guard against parsing errors.

        enable = false

        user = XXX obfuscated by wee_debug XXX

        password = XXX obfuscated by wee_debug XXX

        server = replace_me    # The ftp server name, e.g, www.myserver.org

        path = replace_me    # The destination directory, e.g., /weather

        

        # Set to True for an FTP over TLS (FTPS) connection. Not all servers

        # support this.

        secure_ftp = False

        

        # To upload files from something other than what HTML_ROOT is set

        # to above, specify a different HTML_ROOT here.

        #HTML_ROOT = /var/www/html/weewx

        

        # Most FTP servers use port 21

        port = 21

        

        # Set to 1 to use passive mode, zero for active mode

        passive = 1

    

    [[RSYNC]]

        # rsync'ing to a webserver is treated as just another report

        skin = Rsync

        

        # If you wish to use rsync, you must configure passwordless ssh using

        # public/private key authentication from the user account that weewx

        # runs to the user account on the remote machine where the files

        # will be copied.

        #

        # If you wish to use rsync, set "enable" to "true", then

        # fill out server, user, and path.

        # The server should appear in your .ssh/config file.

        # The user is the username used in the identity file.

        # The path is the destination directory, such as /var/www/html/weather.

        # Be sure that the user has write permissions on the destination!

        enable = false

        server = replace_me

        user = XXX obfuscated by wee_debug XXX

        path = replace_me

        

        # To upload files from something other than what HTML_ROOT is set

        # to above, specify a different HTML_ROOT here.

        #HTML_ROOT = /var/www/html/weewx

        

        # Rsync can be configured to remove files from the remote server if

        # they don't exist under HTML_ROOT locally. USE WITH CAUTION: if you

        # make a mistake in the remote path, you could could unintentionally

        # cause unrelated files to be deleted. Set to 1 to enable remote file

        # deletion, zero to allow files to accumulate remotely.

        delete = 0

    

    # Options in the [[Defaults]] section below will apply to all reports.

    # What follows are a few of the more popular options you may want to

    # uncomment, then change.

    [[Defaults]]

        

        # Which language to use for all reports. Not all skins support all languages.

        # You can override this for individual reports.

        lang = en

        

        # Which unit system to use for all reports. Choices are 'us', 'metric', or 'metricwx'.

        # You can override this for individual reports.

        unit_system = us

        

        [[[Units]]]

            

            # Option "unit_system" above sets the general unit system, but overriding specific unit

            # groups is possible. These are popular choices. Uncomment and set as appropriate.

            # NB: The unit is always in the singular. I.e., 'mile_per_hour',

            # NOT 'miles_per_hour'

            [[[[Groups]]]]

                # group_altitude     = meter              # Options are 'foot' or 'meter'

                # group_pressure     = mbar               # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'

                # group_rain         = mm                 # Options are 'inch', 'cm', or 'mm'

                # group_rainrate     = mm_per_hour        # Options are 'inch_per_hour', 'cm_per_hour', or 'mm_per_hour'

                # group_temperature  = degree_C           # Options are 'degree_C', 'degree_F', or 'degree_K'

                # The following line is used to keep the above lines indented properly.

                # It can be ignored.

                unused = unused

            

            # Uncommenting the following section frequently results in more

            # attractive formatting of times and dates, but may not work in

            # your locale.

            [[[[TimeFormats]]]]

                # day        = %H:%M

                # week       = %H:%M on %A

                # month      = %d-%b-%Y %H:%M

                # year       = %d-%b-%Y %H:%M

                # rainyear   = %d-%b-%Y %H:%M

                # current    = %d-%b-%Y %H:%M

                # ephem_day  = %H:%M

                # ephem_year = %d-%b-%Y %H:%M

                # The following line is used to keep the above lines indented properly.

                # It can be ignored.

                unused = unused

        

        [[[Labels]]]

            # Users frequently change the labels for these observation types

            [[[[Generic]]]]

                # inHumidity     = Inside Humidity

                # inTemp         = Inside Temperature

                # outHumidity    = Outside Humidity

                # outTemp        = Outside Temperature

                # extraTemp1     = Temperature1

                # extraTemp2     = Temperature2

                # extraTemp3     = Temperature3

                # The following line is used to keep the above lines indented properly.

                # It can be ignored.

                unused = unused

 

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

 

#   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

        cloudbase = prefer_hardware

        dewpoint = prefer_hardware

        ET = prefer_hardware

        heatindex = prefer_hardware

        humidex = prefer_hardware

        inDewpoint = prefer_hardware

        maxSolarRad = prefer_hardware

        rainRate = prefer_hardware

        windchill = prefer_hardware

        windrun = prefer_hardware

 

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

 

#   For hardware that supports it, this section controls how often the

#   onboard clock gets updated.

 

[StdTimeSynch]

    

    # How often to check the weather station clock for drift (in seconds)

    clock_check = 14400

    

    # How much it can drift before we will correct it (in seconds)

    max_drift = 5

 

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

 

#   This section is for configuring the archive service.

 

[StdArchive]

    

    # If the station hardware supports data logging then the archive interval

    # will be downloaded from the station. Otherwise, specify it (in seconds).

    archive_interval = 300

    

    # If possible, new archive records are downloaded from the station

    # hardware. If the hardware does not support this, then new archive

    # records will be generated in software.

    # Set the following to "software" to force software record generation.

    record_generation = hardware

    

    # Whether to include LOOP data in hi/low statistics

    loop_hilo = True

    

    # The data binding used to save archive records

    data_binding = wx_binding

    

    # Whether to log successful archive operations

    log_success = True

    

    # Whether to log unsuccessful archive operations

    log_failure = True

 

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

 

#   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_mysql

        # The name of the table within the database

        table_name = archive

        # The manager handles aggregation of data for historical summaries

        manager = weewx.manager.DaySummaryManager

        # The schema defines the structure of the database.

        # It is *only* used when the database is created.

        schema = schemas.wview_extended.schema

 

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

 

#   This section defines various databases.

 

[Databases]

    

    # A SQLite database is simply a single file

    [[archive_sqlite]]

        database_name = weewx.sdb

        database_type = SQLite

    

    # MySQL

    [[archive_mysql]]

        database_name = weewx

        database_type = MySQL

 

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

 

#   This section defines defaults for the different types of databases.

 

[DatabaseTypes]

    

    # Defaults for SQLite databases

    [[SQLite]]

        driver = weedb.sqlite

        # Directory in which the database files are located

        SQLITE_ROOT = /var/lib/weewx

    

    # Defaults for MySQL databases

    [[MySQL]]

        driver = weedb.mysql

        # The host where the database is located

        host = 192.168.1.17

        # The user name for logging in to the host

        user = XXX obfuscated by wee_debug XXX

        # The password (use quotes to guard against parsing errors)

        password = XXX obfuscated by wee_debug XXX

 

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

 

#   This section configures the internal weewx engine.

 

[Engine]

    

    # The following section specifies which services should be run and in what order.

    [[Services]]

        prep_services = weewx.engine.StdTimeSynch

        data_services = ,

        process_services = weewx.engine.StdConvert, weewx.engine.StdCalibrate, weewx.engine.StdQC, weewx.wxservices.StdWXCalculate

        xtype_services = weewx.wxxtypes.StdWXXTypes, weewx.wxxtypes.StdPressureCooker, weewx.wxxtypes.StdRainRater, weewx.wxxtypes.StdDelta

        archive_services = weewx.engine.StdArchive

        restful_services = weewx.restx.StdStationRegistry, weewx.restx.StdWunderground, weewx.restx.StdPWSweather, weewx.restx.StdCWOP, weewx.restx.StdWOW, weewx.restx.StdAWEKAS

        report_services = weewx.engine.StdPrint, weewx.engine.StdReport

 

wee_debug report successfully generated

 

weewx_log

Tom Keffer

unread,
Apr 6, 2022, 7:05:43 PM4/6/22
to weewx-user
Clear cut case of corrupted memory in the logger. See the wiki article WeeWX generates HTML pages, but it does not update them

--
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/fe01a8f9-417d-4a6a-937b-1944523c48b1n%40googlegroups.com.

vince

unread,
Apr 6, 2022, 7:39:06 PM4/6/22
to weewx-user
Tom - this one always confuses me so I thought I'd ask - are you basing that on these lines in the log ?

Apr  6 15:24:09 honeybucket weewx[813] DEBUG weewx.drivers.vantage: Getting archive packets since 2022-03-13 03:00:00 PDT (1647165600)
Apr  6 15:24:09 honeybucket weewx[813] DEBUG weewx.drivers.vantage: Gentle wake up of console successful
Apr  6 15:24:09 honeybucket weewx[813] DEBUG weewx.manager: Daily summary version is 1.0
Apr  6 15:24:10 honeybucket weewx[813] DEBUG weewx.drivers.vantage: Retrieving 513 page(s); starting index= 1
Apr  6 15:24:10 honeybucket weewx[813] DEBUG weewx.drivers.vantage: DMPAFT complete: page timestamp 2022-02-12 06:30:00 PST (1644676200) less than final timestamp 2022-03-13 03:00:00 PDT (1647165600)
Apr  6 15:24:10 honeybucket weewx[813] DEBUG weewx.drivers.vantage: Catch up complete.


Tom Keffer

unread,
Apr 6, 2022, 8:05:58 PM4/6/22
to weewx-user
Yes.

A large number of pages to be retrieved, followed immediately by... nothing. 

Jeremiah

unread,
Apr 7, 2022, 1:17:50 AM4/7/22
to weewx-user
Thank you for the link. I wish I would have asked sooner. It was maddening trying to solve! Pulling the power didn't work, but clearing the memory did. 

Thanks again. 

Reply all
Reply to author
Forward
0 new messages