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.