Tom,

I found where I think the missing definition should go. Added it to the
extra_sensors_service.p (see included). Stopped weewx and then restarted
with sudo python /home/weewx/bin/weewxd. Weewx started fine. I still see
the outTemp and the outHumidity listed in the scroll, but still no
temperature or humidity readings.

------------
import syslog
import weewx
import time
import os
from weewx.wxengine import StdService
#import Adafruit_BMP.BMP085 as BMP085
import Adafruit_DHT

DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4

class ExtraSensorsService(StdService):
    def __init__(self, engine, config_dict):
        super(ExtraSensorsService, self).__init__(engine, config_dict)
        d = config_dict.get('ExtraSensorsService', {})
        # Read from config which pin to use on the RPI GPIO
        # Defaults to 4
        self.DHT22_pin = d.get('DHT22_pin', 4)
        # Use the loop packet event as that allows data to still get into
the WeeWX database
        # as well as supporting a OLED module on the RPI
        self.bind(weewx.NEW_LOOP_PACKET, self.load_data)

    def load_data(self, event):
        try:
            #self.get_bmp180(event)
            self.get_DHT22(event)
        except Exception, e:
            syslog.syslog(syslog.LOG_ERR, "extrasensors: cannot read value:
%s" % e)

    # Get BMP180 data
    #def get_bmp180(self, event):
    #    sensor = BMP085.BMP085()

    #   pressure = float(sensor.read_pressure()/100.0)
    #    syslog.syslog(syslog.LOG_DEBUG, "extrasensors: found pressure
value of %s mbar" % pressure)
        # NOTE: stores as mbar
    #   event.packet['pressure'] = float(pressure)

    # Get DHT22 data

*def get_DHT22(self, event):        sensor = DHT.DHT22()*
        humidity, temperature = DHT.read_retry(DHT.DHT22, self.DHT22_pin)
        if humidity is not None:
            syslog.syslog(syslog.LOG_DEBUG, "extrasensors: found humidity
value of %s %%" % humidity)
            event.packet['outHumidity'] = float(humidity)
        if temperature is not None:
            syslog.syslog(syslog.LOG_DEBUG, "extrasensors: found
temperature value of %s C" % temperature)
            # NOTE: stores as celsius
            event.packet['outTemp'] = float(temperature)
Still looking at the fileparse process.

TIA

Michael H Grossie
[email protected]


On Sun, Aug 30, 2020 at 2:23 PM Michael Grossie <[email protected]>
wrote:

> Tom, Thanks for the info
> DHT is Adafruit DHT 22 a temperature/humidity sensor - Since I have a
> script that will dump the data from the DHT into a csv file - would it be
> easier to use fileparse and pull the data from the csv file?
> By defining the DHT, you mean a comment in the program or some other
> script addition?
>
> TIA
> Michael H Grossie
> [email protected]
>
>
> On Sat, Aug 29, 2020 at 12:34 PM Tom Keffer <[email protected]> wrote:
>
>> My guess is the service is acting correctly, but is receiving bad data
>> from the function DHT.read_retry(). Don't know what that is ('DHT' is not
>> defined in your program snippet), but, whatever it is, it's probably
>> passing on zeroes all the time.
>>
>> -tk
>>
>> On Sat, Aug 29, 2020 at 10:09 AM Michael Grossie <[email protected]>
>> wrote:
>>
>>> Tom,
>>> If I run weewxd from the command line I get this -
>>>
>>> LOOP:   2020-08-29 11:59:24 CDT (1598720364) altimeter: None, appTemp:
>>> -7.2, barometer: 27.1853064925, beaufort: 0, cloudbase: None, daily_rain:
>>> 0.01, dateTime: 1598720364, day_of_year: 0, dewpoint: None, heatindex: 0.0,
>>> humidex: None, inDewpoint: 45.6772715087, inHumidity: 22.0, inTemp: 89.6,
>>> maxSolarRad: None, minute_of_day: 0, *outHumidity: 0.0, outTemp: 0.0, 
>>> *pressure:
>>> None, rain: 0.0, rainRate: 0, rain_total: 0.01, usUnits: 1, wind_average:
>>> 0.0, windchill: 0.0, windDir: None, windSpeed: 0.0
>>> LOOP:   2020-08-29 11:59:25 CDT (1598720365) altimeter: None, appTemp:
>>> -7.2, barometer: 27.1853064925, beaufort: 0, cloudbase: None, daily_rain:
>>> 0.01, dateTime: 1598720365, day_of_year: 0, dewpoint: None, heatindex: 0.0,
>>> humidex: None, inDewpoint: 45.6772715087, inHumidity: 22.0, inTemp: 89.6,
>>> maxSolarRad: None, minute_of_day: 0, *outHumidity: 0.0, outTemp: 0.0,*
>>> pressure: None, rain: 0.0, rainRate: 0, rain_total: 0.01, usUnits: 1,
>>> wind_average: 0.0, windchill: 0.0, windDir: None, windSpeed: 0.0
>>> LOOP:   2020-08-29 11:59:26 CDT (1598720366) altimeter: None, appTemp:
>>> -7.2, barometer: 27.1853064925, beaufort: 0, cloudbase: None, daily_rain:
>>> 0.01, dateTime: 1598720366, day_of_year: 0, dewpoint: None, heatindex: 0.0,
>>> humidex: None, inDewpoint: 45.6772715087, inHumidity: 22.0, inTemp: 89.6,
>>> maxSolarRad: None, minute_of_day: 0, *outHumidity: 0.0, outTemp: 0.0, 
>>> *pressure:
>>> None, rain: 0.0, rainRate: 0, rain_total: 0.01, usUnits: 1, wind_average:
>>> 0.0, windchill: 0.0, windDir: None, windSpeed: 0.0
>>> LOOP:   2020-08-29 11:59:27 CDT (1598720367) altimeter: None, appTemp:
>>> -7.2, barometer: 27.1853064925, beaufort: 0, cloudbase: None, daily_rain:
>>> 0.01, dateTime: 1598720367, day_of_year: 0, dewpoint: None, heatindex: 0.0,
>>> humidex: None, inDewpoint: 45.6772715087, inHumidity: 22.0, inTemp: 89.6,
>>> maxSolarRad: None, minute_of_day: 0, *outHumidity: 0.0, outTemp: 0.0, 
>>> *pressure:
>>> None, rain: 0.0, rainRate: 0, rain_total: 0.01, usUnits: 1, wind_average:
>>> 0.0, windchill: 0.0, windDir: None, windSpeed: 0.0
>>>
>>> The outHumidity and the outTemp both show up with 0.0.
>>>
>>> Running a script direct to the sensor (Adafruit_DHT) I get this -
>>>
>>>  Temp=35.7*C  Humidity =39.9%
>>> Temp=35.7*C  Humidity =39.9%
>>> Temp=35.7*C  Humidity =39.9%
>>> Temp=35.7*C  Humidity =39.9%
>>> Temp=35.7*C  Humidity =39.9%
>>>
>>> So, either the service for the external sensor is the problem or could
>>> it be caused by no date and time received with the record?
>>>
>>> Again, this is an Adafruit_DHT285 connected to GPIO pins on the
>>> Raspberry Pi.
>>>
>>> Thanks
>>>
>>>
>>> Michael H Grossie
>>> [email protected]
>>>
>>>
>>> On Fri, Aug 28, 2020 at 7:08 PM Tom Keffer <[email protected]> wrote:
>>>
>>>> If you run weewxd directly from the command line
>>>> <http://www.weewx.com/docs/usersguide.htm#Running_directly>, it will
>>>> print out the contents of LOOP packets and archive records. Do you see
>>>> outHumidity and outTemp in them?
>>>>
>>>> On Fri, Aug 28, 2020 at 4:48 PM Michael Grossie <[email protected]>
>>>> wrote:
>>>>
>>>>> Moving the "extra_sensors_service.ExtraSensorsService," to
>>>>> home/weewx/bin/user and changing the weewx.conf file did the trick. I also
>>>>> had to move the Adafruit_DHT module to the same location. I now see data
>>>>> flowing across my screen and filling the newly created weewx.sdb.  I just
>>>>> have one little issue - For some reason the "Extra_sensors_services" is 
>>>>> not
>>>>> adding the data to the weewx.sdb. The "services" file is posted at the 
>>>>> end.
>>>>> Would the date not being correct on the WS1 be a cause of this type of
>>>>> problem?
>>>>> ------------------------
>>>>> import syslog
>>>>> import weewx
>>>>> import time
>>>>> import os
>>>>> from weewx.wxengine import StdService
>>>>> #import Adafruit_BMP.BMP085 as BMP085
>>>>> import Adafruit_DHT
>>>>>
>>>>> DHT_SENSOR = Adafruit_DHT.DHT22
>>>>> DHT_PIN = 4
>>>>>
>>>>> class ExtraSensorsService(StdService):
>>>>>     def __init__(self, engine, config_dict):
>>>>>         super(ExtraSensorsService, self).__init__(engine,
>>>>> config_dict)
>>>>>         d = config_dict.get('ExtraSensorsService', {})
>>>>>         # Read from config which pin to use on the RPI GPIO
>>>>>         # Defaults to 4
>>>>>         self.DHT22_pin = d.get('DHT22_pin', 4)
>>>>>         # Use the loop packet event as that allows data to still get
>>>>> into the WeeWX database
>>>>>         # as well as supporting a OLED module on the RPI
>>>>>         self.bind(weewx.NEW_LOOP_PACKET, self.load_data)
>>>>>
>>>>>     def load_data(self, event):
>>>>>         try:
>>>>>             #self.get_bmp180(event)
>>>>>             self.get_DHT22(event)
>>>>>         except Exception, e:
>>>>>             syslog.syslog(syslog.LOG_ERR, "extrasensors: cannot read
>>>>> value: %s" % e)
>>>>>
>>>>>     # Get BMP180 data
>>>>>     #def get_bmp180(self, event):
>>>>>     #    sensor = BMP085.BMP085()
>>>>>
>>>>>     #   pressure = float(sensor.read_pressure()/100.0)
>>>>>     #    syslog.syslog(syslog.LOG_DEBUG, "extrasensors: found pressure
>>>>> value of %s mbar" % pressure)
>>>>>         # NOTE: stores as mbar
>>>>>     #   event.packet['pressure'] = float(pressure)
>>>>>
>>>>>     # Get DHT22 data
>>>>>     def get_DHT22(self, event):
>>>>>         humidity, temperature = DHT.read_retry(DHT.DHT22,
>>>>> self.DHT22_pin)
>>>>>         if humidity is not None:
>>>>>             syslog.syslog(syslog.LOG_DEBUG, "extrasensors: found
>>>>> humidity value of %s %%" % humidity)
>>>>>             event.packet['outHumidity'] = float(humidity)
>>>>>         if temperature is not None:
>>>>>             syslog.syslog(syslog.LOG_DEBUG, "extrasensors: found
>>>>> temperature value of %s C" % temperature)
>>>>>             # NOTE: stores as celsius
>>>>>             event.packet['outTemp'] = float(temperature)
>>>>> -------------------------------------
>>>>>
>>>>> TIA
>>>>>
>>>>>
>>>>> On Thursday, August 27, 2020 at 7:44:01 PM UTC-5, Michael Grossie
>>>>> wrote:
>>>>>>
>>>>>> Thanks Tom, I put it in home/weewx - I'll move it to
>>>>>> /home/weewx/bin/user and then change the weewx.config
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Michael H Grossie
>>>>>> [email protected]
>>>>>>
>>>>>>
>>>>>> On Thu, Aug 27, 2020 at 6:49 PM Tom Keffer <[email protected]> wrote:
>>>>>>
>>>>>>> Where did you put the module extra_sensors_service.py? Under
>>>>>>> [[Services]] you have
>>>>>>>
>>>>>>>         data_services =
>>>>>>> weewx.extra_sensors_service.ExtraSensorsService,
>>>>>>>
>>>>>>> This means that the engine will be expecting to find it in
>>>>>>> /home/weewx/bin/weewx/extra_sensors_service.py.
>>>>>>>
>>>>>>> This is not a great place for it because it will be lost on the next
>>>>>>> upgrade. A better place is to put it in /home/weewx/bin/user. Modules 
>>>>>>> there
>>>>>>> are preserved across an upgrade.
>>>>>>>
>>>>>>> Then the option "data_services" becomes
>>>>>>>
>>>>>>>         data_services =
>>>>>>> user.extra_sensors_service.ExtraSensorsService,
>>>>>>>
>>>>>>> -tk
>>>>>>>
>>>>>>> On Thu, Aug 27, 2020 at 10:49 AM Michael Grossie <[email protected]>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> Raspberry Pi 2B+
>>>>>>>> Install with setup.py
>>>>>>>> Station - Simulator (Originally)
>>>>>>>> Weewx - 4.1.1
>>>>>>>> PATH - Home/Weewx
>>>>>>>>
>>>>>>>> Had the weewx setup and working perfectly (as far as I know) with
>>>>>>>> the Simulator weather station while I waited for my ADS-WS1 to arrive. 
>>>>>>>> When
>>>>>>>> it arrived, I connected it via the directions found in an Instructables
>>>>>>>> Raspberry Pi Weather Station document.
>>>>>>>>
>>>>>>>> Confirmed that the ADS-WS1 was functioning via running the Wxconfig
>>>>>>>> file from ADS with the WS1 connected to a Windows 10 Computer.
>>>>>>>>
>>>>>>>> Connected the WS1 to the Raspberry Pi with serial to USB cable. Set
>>>>>>>> the ttyUSB0 port on the Raspberry Pi to 2400 8N1. Using Minicom, 
>>>>>>>> confirmed
>>>>>>>> that data was flowing from the WS1.
>>>>>>>>
>>>>>>>> !!0000001F0000000023A402DD0000015E0000000000000000
>>>>>>>> !!0000001F0000000023A302DD0000015E0000000000000000
>>>>>>>> !!0000001F0000000023A402DD0000015E0000000000000000
>>>>>>>> !!0000001F0000000023A402DD0000015E0000000000000000
>>>>>>>> !!0000001F0000000023A302DD0000015E0000000000000000
>>>>>>>> !!0000001F0000000023A402DD0000015E0000000000000000
>>>>>>>> !!0000001F0000000023A402DD0000015E0000000000000000
>>>>>>>> !!0000001F0000000023A402DD0000015E0000000000000000
>>>>>>>> !!0000001F0000000023A402DD0000015E0000000000000000
>>>>>>>>
>>>>>>>> Changed the weewx configuration file using *sudo python3
>>>>>>>> ./bin/wee_config --reconfigure *to indicate the WS1 as the weather
>>>>>>>> station being used. Deleted the weewx.sdb folder from 
>>>>>>>> home/weewx/archive.
>>>>>>>>
>>>>>>>> When attempting to start weewx with *sudo /home/weewx/bin/weewxd*
>>>>>>>> I receive the following -
>>>>>>>>
>>>>>>>> $ sudo python /home/weewx/bin/weewxd
>>>>>>>> Traceback (most recent call last):
>>>>>>>>   File "/home/weewx/bin/weewxd", line 261, in <module>
>>>>>>>>     main()
>>>>>>>>   File "/home/weewx/bin/weewxd", line 148, in main
>>>>>>>>     engine = weewx.engine.StdEngine(config_dict)
>>>>>>>>   File "/home/weewx/bin/weewx/engine.py", line 75, in __init__
>>>>>>>>     self.loadServices(config_dict)
>>>>>>>>   File "/home/weewx/bin/weewx/engine.py", line 138, in loadServices
>>>>>>>>     obj = weeutil.weeutil.get_object(svc)(self,config_dict)
>>>>>>>>   File "/home/weewx/bin/weeutil/weeutil.py", line 1093, in
>>>>>>>> get_object
>>>>>>>>     mod = __import__(module)
>>>>>>>> ImportError: No module named extra_sensors_service
>>>>>>>>
>>>>>>>> Running - *sudo /etc/init.d/weewx status -ls* provides -
>>>>>>>>
>>>>>>>> weewx.service - LSB: weewx weather system
>>>>>>>>    Loaded: loaded (/etc/init.d/weewx; generated; vendor preset:
>>>>>>>> enabled)
>>>>>>>>    Active: active (exited) since Thu 2020-08-27 11:25:07 CDT; 1h
>>>>>>>> 12min ago
>>>>>>>>      Docs: man:systemd-sysv-generator(8)
>>>>>>>>   Process: 22526 ExecReload=/etc/init.d/weewx reload (code=exited,
>>>>>>>> status=0/SUCCESS)
>>>>>>>>   Process: 295 ExecStart=/etc/init.d/weewx start (code=exited,
>>>>>>>> status=0/SUCCESS)
>>>>>>>>
>>>>>>>> Aug 27 11:25:08 raspberrypi weewxd[562]: weewx[562] CRITICAL
>>>>>>>> __main__:     ****    File "/home/weewx/bin/weewx/engine.py", line 
>>>>>>>> 138, in
>>>>>>>> loadServices
>>>>>>>> Aug 27 11:25:08 raspberrypi weewxd[562]: weewx[562] CRITICAL
>>>>>>>> __main__:     ****      obj =
>>>>>>>> weeutil.weeutil.get_object(svc)(self,config_dict)
>>>>>>>> Aug 27 11:25:08 raspberrypi weewxd[562]: weewx[562] CRITICAL
>>>>>>>> __main__:     ****    File "/home/weewx/bin/weeutil/weeutil.py", line 
>>>>>>>> 1093,
>>>>>>>> in get_object
>>>>>>>> Aug 27 11:25:08 raspberrypi weewxd[562]: weewx[562] CRITICAL
>>>>>>>> __main__:     ****      mod = __import__(module)
>>>>>>>> Aug 27 11:25:08 raspberrypi weewxd[562]: weewx[562] CRITICAL
>>>>>>>> __main__:     ****  ImportError: No module named extra_sensors_service
>>>>>>>> Aug 27 11:25:08 raspberrypi weewxd[562]: weewx[562] CRITICAL
>>>>>>>> __main__:     ****  Exiting.
>>>>>>>> Aug 27 12:11:44 raspberrypi systemd[1]: Reloading LSB: weewx
>>>>>>>> weather system.
>>>>>>>> Aug 27 12:11:44 raspberrypi weewx[22526]: Reloading weewx weather
>>>>>>>> system: weewxstart-stop-daemon: warning: failed to kill 562: No such 
>>>>>>>> process
>>>>>>>> Aug 27 12:11:44 raspberrypi weewx[22526]: .
>>>>>>>> Aug 27 12:11:44 raspberrypi systemd[1]: Reloaded LSB: weewx weather
>>>>>>>> system.
>>>>>>>>
>>>>>>>> The ImportError No module named extra_sensors_service - was not
>>>>>>>> there when using the Simulator weather station. This is referring to a
>>>>>>>> DHT-22 that is connected to the Raspberry Pi and was "working" with the
>>>>>>>> Simulator weather station.
>>>>>>>>
>>>>>>>> As weewx does not start, the home/weewx/archive/weewx.sdb has not
>>>>>>>> been recreated.
>>>>>>>>
>>>>>>>> *Configuration file is below.*
>>>>>>>>
>>>>>>>> # WEEWX CONFIGURATION FILE
>>>>>>>> #
>>>>>>>> # Copyright (c) 2009-2019 Tom Keffer
>>>>>>>> # 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 = /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 = "Casita - Yuma, AZ"
>>>>>>>>
>>>>>>>>     # Latitude in decimal degrees. Negative for southern hemisphere
>>>>>>>>     latitude = 31.6288
>>>>>>>>     # Longitude in decimal degrees. Negative for western hemisphere.
>>>>>>>>     longitude = -114.4056
>>>>>>>>
>>>>>>>>     # Altitude of the station, with unit it is in. This is
>>>>>>>> downloaded from
>>>>>>>>     # from the station if the hardware supports it.
>>>>>>>>     altitude = 424, 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 = WS1
>>>>>>>>
>>>>>>>>     # If you have a website, you may specify an URL
>>>>>>>>     station_url = http://www.grossie.net
>>>>>>>>
>>>>>>>>     # The start of the rain year (1=January; 10=October, etc.).
>>>>>>>> This is
>>>>>>>>     # downloaded from the station if the hardware supports it.
>>>>>>>>     rain_year_start = 1
>>>>>>>>
>>>>>>>>     # Start of week (0=Monday, 6=Sunday)
>>>>>>>>     week_start = 6
>>>>>>>>
>>>>>>>>
>>>>>>>> ##############################################################################
>>>>>>>>
>>>>>>>> [WS1]
>>>>>>>>     # This section is for the ADS WS1 series of weather stations.
>>>>>>>>
>>>>>>>>     # Driver mode - tcp, udp, or serial
>>>>>>>>     mode = serial
>>>>>>>>
>>>>>>>>     # If serial, specify the serial port device. (ex. /dev/ttyS0,
>>>>>>>> /dev/ttyUSB0,
>>>>>>>>     # or /dev/cuaU0)
>>>>>>>>     # If TCP, specify the IP address and port number. (ex.
>>>>>>>> 192.168.36.25:3000)
>>>>>>>>     port = /dev/ttyUSB0
>>>>>>>>
>>>>>>>>     # The amount of time, in seconds, before the connection fails
>>>>>>>> if there is
>>>>>>>>     # no response
>>>>>>>>     timeout = 10
>>>>>>>>
>>>>>>>>     # The driver to use:
>>>>>>>>     driver = weewx.drivers.ws1
>>>>>>>>
>>>>>>>>
>>>>>>>> ##############################################################################
>>>>>>>>
>>>>>>>> [Simulator]
>>>>>>>>     # This section is for the weewx weather station simulator
>>>>>>>>
>>>>>>>>     # The time (in seconds) between LOOP packets.
>>>>>>>>     loop_interval = 2.5
>>>>>>>>
>>>>>>>>     # The simulator mode can be either 'simulator' or 'generator'.
>>>>>>>>     # Real-time simulator. Sleep between each LOOP packet.
>>>>>>>>     mode = simulator
>>>>>>>>     # Generator.  Emit LOOP packets as fast as possible (useful for
>>>>>>>> testing).
>>>>>>>>     #mode = generator
>>>>>>>>
>>>>>>>>     # The start time. Format is YYYY-mm-ddTHH:MM. If not specified,
>>>>>>>> the default
>>>>>>>>     # is to use the present time.
>>>>>>>>     #start = 2011-01-01T00:00
>>>>>>>>
>>>>>>>>     # The driver to use:
>>>>>>>>     driver = weewx.drivers.simulator
>>>>>>>>
>>>>>>>>
>>>>>>>> ##############################################################################
>>>>>>>>
>>>>>>>> #   This section is for uploading data to Internet sites
>>>>>>>>
>>>>>>>> [StdRESTful]
>>>>>>>>
>>>>>>>>     [[StationRegistry]]
>>>>>>>>         # To register this weather station with weewx, set this to
>>>>>>>> true
>>>>>>>>         register_this_station = true
>>>>>>>>
>>>>>>>>     [[AWEKAS]]
>>>>>>>>         # This section is for configuring posts to AWEKAS.
>>>>>>>>
>>>>>>>>         # If you wish to do this, set the option 'enable' to true,
>>>>>>>>         # and specify a username and password.
>>>>>>>>         # To guard against parsing errors, put the password in
>>>>>>>> quotes.
>>>>>>>>         enable = false
>>>>>>>>         username = 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 = true
>>>>>>>>
>>>>>>>>     [[SmartphoneReport]]
>>>>>>>>         # The SmartphoneReport uses the 'Smartphone' skin, and the
>>>>>>>> images and
>>>>>>>>         # files are placed in a dedicated subdirectory.
>>>>>>>>         skin = Smartphone
>>>>>>>>         enable = true
>>>>>>>>         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 = true
>>>>>>>>         HTML_ROOT = public_html/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 = 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 = 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
>>>>>>>>         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_sqlite
>>>>>>>>         # The name of the table within the database
>>>>>>>>         table_name = archive
>>>>>>>>         # The manager handles aggregation of data for historical
>>>>>>>> summaries
>>>>>>>>         manager = weewx.manager.DaySummaryManager
>>>>>>>>         # The schema defines the structure of the database.
>>>>>>>>         # It is *only* used when the database is created.
>>>>>>>>         schema = schemas.wview_extended.schema
>>>>>>>>
>>>>>>>>
>>>>>>>> ##############################################################################
>>>>>>>>
>>>>>>>> #   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 = %(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 = weewx
>>>>>>>>
>>>>>>>>
>>>>>>>> ##############################################################################
>>>>>>>>
>>>>>>>> #   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 =
>>>>>>>> weewx.extra_sensors_service.ExtraSensorsService,
>>>>>>>>         process_services = weewx.engine.StdConvert,
>>>>>>>> weewx.engine.StdCalibrate, weewx.engine.StdQC,
>>>>>>>> weewx.wxservices.StdWXCalculate
>>>>>>>>         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
>>>>>>>>
>>>>>>>> ----------------------------
>>>>>>>> Any other files needed for review?
>>>>>>>>
>>>>>>>> Suggestions on where to go from here -
>>>>>>>>
>>>>>>>> --
>>>>>>>> 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/ed9310a5-e26b-41a1-aafb-a69acbe4dac2o%40googlegroups.com
>>>>>>>> <https://groups.google.com/d/msgid/weewx-user/ed9310a5-e26b-41a1-aafb-a69acbe4dac2o%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>>>>> .
>>>>>>>>
>>>>>>> --
>>>>>>> You received this message because you are subscribed to a topic in
>>>>>>> the Google Groups "weewx-user" group.
>>>>>>> To unsubscribe from this topic, visit
>>>>>>> https://groups.google.com/d/topic/weewx-user/C-0asA4tQpY/unsubscribe
>>>>>>> .
>>>>>>> To unsubscribe from this group and all its topics, send an email to
>>>>>>> [email protected].
>>>>>>> To view this discussion on the web visit
>>>>>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEDfefSpw2CTCCE%3DrcYUWFGfHDHSi0Uekzw4NZPLM9e04w%40mail.gmail.com
>>>>>>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEDfefSpw2CTCCE%3DrcYUWFGfHDHSi0Uekzw4NZPLM9e04w%40mail.gmail.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/d152f443-e4e1-423d-b937-cbf53560dddao%40googlegroups.com
>>>>> <https://groups.google.com/d/msgid/weewx-user/d152f443-e4e1-423d-b937-cbf53560dddao%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>>> .
>>>>>
>>>> --
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "weewx-user" group.
>>>> To unsubscribe from this topic, visit
>>>> https://groups.google.com/d/topic/weewx-user/C-0asA4tQpY/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> [email protected].
>>>> To view this discussion on the web visit
>>>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEBWR7SmrZ_2j5M%3DC%3DiJk6%2BeY43NnZE5Hrdc%3DNmHym4t3w%40mail.gmail.com
>>>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEBWR7SmrZ_2j5M%3DC%3DiJk6%2BeY43NnZE5Hrdc%3DNmHym4t3w%40mail.gmail.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/CAJBcQpVqrRSg1V6c_NoF-CTZzBVXmZPecsK24kRk%3DN%2BydiMc6Q%40mail.gmail.com
>>> <https://groups.google.com/d/msgid/weewx-user/CAJBcQpVqrRSg1V6c_NoF-CTZzBVXmZPecsK24kRk%3DN%2BydiMc6Q%40mail.gmail.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "weewx-user" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/weewx-user/C-0asA4tQpY/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/weewx-user/CAPq0zEBMeLQ46g82zsenkAOFBD3rOB6JheDZrvfgBDH1kt75aw%40mail.gmail.com
>> <https://groups.google.com/d/msgid/weewx-user/CAPq0zEBMeLQ46g82zsenkAOFBD3rOB6JheDZrvfgBDH1kt75aw%40mail.gmail.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/CAJBcQpUACTBWFe2sC9Wq5shgJkdE-jbhH73E7XuxyAbA-Wox_Q%40mail.gmail.com.

Reply via email to