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 mhgros...@sbcglobal.net On Sat, Aug 29, 2020 at 12:34 PM Tom Keffer <tkef...@gmail.com> 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 <mhgros...@sbcglobal.net> > 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 >> mhgros...@sbcglobal.net >> >> >> On Fri, Aug 28, 2020 at 7:08 PM Tom Keffer <tkef...@gmail.com> 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 <mhgros...@gmail.com> >>> 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 >>>>> mhgr...@sbcglobal.net >>>>> >>>>> >>>>> On Thu, Aug 27, 2020 at 6:49 PM Tom Keffer <tke...@gmail.com> 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 <mhgr...@gmail.com> >>>>>> 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 weewx...@googlegroups.com. >>>>>>> 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 >>>>>> weewx...@googlegroups.com. >>>>>> 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 weewx-user+unsubscr...@googlegroups.com. >>>> 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 >>> weewx-user+unsubscr...@googlegroups.com. >>> 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 weewx-user+unsubscr...@googlegroups.com. >> 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 > weewx-user+unsubscr...@googlegroups.com. > 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 weewx-user+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/CAJBcQpX8_U%2B%3DWaNx11RweHTJ1ccU8Ss9Y%2BiAoQNsOsJkKwT%3DOg%40mail.gmail.com.