Hi Yes, Debian Bullseye now installs Python 3.9.1 and the wheels fall of weewx as you discovered. I ran a sed -i -e 's/isAlive/is_alive/g' `find /usr/share/weewx -name '*.py'` and it indeed fixes it.
On Friday, 23 October 2020 20:39:24 UTC+1, Joel Bion wrote: > > I changed all occurrences of isAlive to is_alive, and so far (30 minutes) > it appears to be working. Since it always died quite quickly, before > (within 5 minutes) I tentatively conclude this was the only hiccup in the > upgrade. Thanks for the quick response! > > > On Friday, October 23, 2020 at 10:27:26 AM UTC-7 [email protected] wrote: > >> Just realized that there are many other places where the old name >> isAlive() is used. You may have to change other lines as well. >> >> On Fri, Oct 23, 2020 at 10:24 AM Tom Keffer <[email protected]> wrote: >> >>> Looks like the method name changed from Thread.isAlive() to >>> Thread.is_alive(). They must have completely eliminated the old name with >>> Python 3.9. >>> >>> In weewx/engine.py, line 776, change this >>> >>> if self.thread and self.thread.isAlive(): >>> >>> to this: >>> >>> if self.thread and self.thread.is_alive(): >>> >>> >>> >>> >>> On Fri, Oct 23, 2020 at 9:00 AM Joel Bion <[email protected]> wrote: >>> >>>> My setup is exactly what I mentioned in the subject. No changes except >>>> to customizing weewx.conf, and adding the purpleair extension. Below this >>>> error log, I include the contents of weewx.conf >>>> >>>> Oct 23 08:30:19 www weewx[5569] INFO weewx.manager: Added record >>>> 2020-10-23 08:30:19 PDT (1603467019) to database 'purpleair.sdb' >>>> Oct 23 08:30:19 www weewx[5569] INFO weewx.manager: Added record >>>> 2020-10-23 08:30:19 PDT (1603467019) to daily summary in 'purpleair.sdb' >>>> Oct 23 08:30:19 www weewx[5569] INFO weewx.manager: Added record >>>> 2020-10-23 08:30:00 PDT (1603467000) to database 'weewxarchive' >>>> Oct 23 08:30:19 www weewx[5569] INFO weewx.manager: Added record >>>> 2020-10-23 08:30:00 PDT (1603467000) to daily summary in 'weewxarchive' >>>> Oct 23 08:30:19 www weewx[5569] INFO weewx.engine: Main loop exiting. >>>> Shutting engine down. >>>> Oct 23 08:30:19 www weewx[5569] INFO weewx.engine: Shutting down >>>> StdReport thread >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: Caught unrecoverable >>>> exception: >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> 'StdReportEngine' object has no attribute 'isAlive' >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** Traceback >>>> (most recent call last): >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** File >>>> "/home/weewx/bin/weewx/engine.py", line 195, in run >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> self.dispatchEvent(weewx.Event(weewx.CHECK_LOOP, packet=packet)) >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** File >>>> "/home/weewx/bin/weewx/engine.py", line 224, in dispatchEvent >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> callback(event) >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** File >>>> "/home/weewx/bin/weewx/engine.py", line 578, in check_loop >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** raise >>>> BreakLoop >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> weewx.engine.BreakLoop >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** During >>>> handling of the above exception, another exception occurred: >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** Traceback >>>> (most recent call last): >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** File >>>> "/home/weewx/bin/weewxd", line 154, in main >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> engine.run() >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** File >>>> "/home/weewx/bin/weewx/engine.py", line 202, in run >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> self.dispatchEvent(weewx.Event(weewx.POST_LOOP)) >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** File >>>> "/home/weewx/bin/weewx/engine.py", line 224, in dispatchEvent >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> callback(event) >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** File >>>> "/home/weewx/bin/weewx/engine.py", line 776, in launch_report_thread >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** if >>>> self.thread and self.thread.isAlive(): >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** >>>> AttributeError: 'StdReportEngine' object has no attribute 'isAlive' >>>> Oct 23 08:30:20 www weewx[5569] CRITICAL __main__: **** Exiting. >>>> # WEEWX CONFIGURATION FILE >>>> # >>>> # Copyright (c) 2009-2019 Tom Keffer <[email protected]> >>>> # 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 = 0 >>>> >>>> # Root directory of the weewx data file hierarchy for this station >>>> WEEWX_ROOT = /home/weewx >>>> >>>> # 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.1.1 >>>> >>>> >>>> ############################################################################## >>>> >>>> # This section is for information about the station. >>>> >>>> [Station] >>>> >>>> # Description of the station location >>>> location = "Saratoga, California (West Valley College Area)" >>>> >>>> # Latitude in decimal degrees. Negative for southern hemisphere >>>> latitude = 37.26260076 >>>> # Longitude in decimal degrees. Negative for western hemisphere. >>>> longitude = -122.00330353 >>>> >>>> # Altitude of the station, with unit it is in. This is downloaded >>>> from >>>> # from the station if the hardware supports it. >>>> altitude = 372, foot # Choose 'foot' or 'meter' for unit >>>> >>>> # 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 = https://westvi.com/weather >>>> >>>> # 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 a Davis VantagePro2, VantageVue or >>>> WeatherLinkIP >>>> >>>> # Connection type: serial or ethernet >>>> # serial (the classic VantagePro) >>>> # ethernet (the WeatherLinkIP) >>>> type = ethernet >>>> >>>> # 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/vpro >>>> >>>> # If the connection type is ethernet, an IP Address/hostname is >>>> required: >>>> host = 173.11.83.165 >>>> >>>> ###################################################### >>>> # 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) >>>> # Default is 22222! >>>> tcp_port = 22225 >>>> >>>> # TCP send delay (when using the WeatherLinkIP): >>>> tcp_send_delay = 1 >>>> >>>> # The type of LOOP packet to request: 1 = LOOP1; 2 = LOOP2; 3 = both >>>> loop_request = 1 >>>> >>>> # The id of your ISS station (usually 1) >>>> iss_id = 1 >>>> >>>> # How long to wait for a response from the station before giving up >>>> (in >>>> # seconds; must be greater than 2) >>>> timeout = 5 >>>> >>>> # 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 >>>> >>>> # The driver to use: >>>> driver = weewx.drivers.vantage >>>> >>>> >>>> ############################################################################## >>>> >>>> # 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 = replace_me >>>> password = replace_me >>>> >>>> [[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 = replace_me >>>> >>>> # 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 = replace_me >>>> password = replace_me >>>> >>>> [[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 = replace_me >>>> password = replace_me >>>> >>>> [[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 = replace_me >>>> password = replace_me >>>> >>>> # If you plan on using wunderfixer, set the following >>>> # to your API key: >>>> api_key = replace_me >>>> >>>> # 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 = skins >>>> >>>> # Where the generated reports should go, relative to WEEWX_ROOT >>>> HTML_ROOT = public_html >>>> >>>> # 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 = false >>>> >>>> [[SmartphoneReport]] >>>> # The SmartphoneReport uses the 'Smartphone' skin, and the >>>> images and >>>> # files are placed in a dedicated subdirectory. >>>> skin = Smartphone >>>> enable = false >>>> HTML_ROOT = public_html/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 = public_html/mobile >>>> >>>> [[StandardReport]] >>>> # This is the old "Standard" skin. By default, it is not >>>> enabled. >>>> skin = Standard >>>> enable = True >>>> >>>> [[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 = replace_me >>>> password = replace_me >>>> 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 = public_html >>>> >>>> # 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 = replace_me >>>> 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 = public_html >>>> >>>> # 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', 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' >>>> >>>> # 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 >>>> 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]]]] >>>> barometer = Barometer >>>> dewpoint = Dew Point >>>> ET = ET >>>> heatindex = Heat Index >>>> inHumidity = Inside Humidity >>>> inTemp = Garage 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 >>>> 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 = 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 >>>> >>>> >>>> ############################################################################## >>>> >>>> # 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 >>>> [[purpleair_binding]] >>>> manager = weewx.manager.DaySummaryManager >>>> schema = user.purpleair.schema >>>> table_name = archive >>>> database = purpleair_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 = weewxarchive >>>> database_type = MySQL >>>> [[purpleair_sqlite]] >>>> database_name = purpleair.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 = %(WEEWX_ROOT)s/archive >>>> >>>> # 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 = weewx >>>> # The password for the user name (quotes guard against parsing >>>> errors) >>>> password = ***HIDDEN FROM PUBLIC VIEW*** >>>> >>>> >>>> ############################################################################## >>>> >>>> # This section configures the internal weewx engine. >>>> >>>> [Engine] >>>> >>>> [[Services]] >>>> # This section specifies the services that should be run. They >>>> are >>>> # grouped by type, and the order of services within each group >>>> # determines the order in which the services will be run. >>>> prep_services = weewx.engine.StdTimeSynch >>>> data_services = , >>>> process_services = weewx.engine.StdConvert, >>>> weewx.engine.StdCalibrate, weewx.engine.StdQC, >>>> weewx.wxservices.StdWXCalculate, user.purpleair.PurpleAirMonitor >>>> 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 >>>> >>>> >>>> ############################################################################## >>>> >>>> # Options for extension 'purpleair' >>>> [PurpleAirMonitor] >>>> data_binding = purpleair_binding >>>> hostname = 173.11.83.165 >>>> port = 22226 >>>> >>>> >>>> -- >>>> 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 [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/weewx-user/7d1e839f-5097-496d-a23e-e1e284906570o%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/weewx-user/7d1e839f-5097-496d-a23e-e1e284906570o%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>> -- 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 [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/62eac469-28b5-4ff1-bb50-5b5584dbbbb7o%40googlegroups.com.
