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 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/CAPq0zEBMeLQ46g82zsenkAOFBD3rOB6JheDZrvfgBDH1kt75aw%40mail.gmail.com.
