diff --git a/docs/usersguide.htm b/docs/usersguide.htm index 7e5e64c4..84b8c797 100644 --- a/docs/usersguide.htm +++ b/docs/usersguide.htm @@ -268,7 +268,7 @@ pip install pil If $WEEWX_INSTALL symbolizes the root location of where the weewx directory will be installed, then the nominal directory layout is:

- +
@@ -479,8 +479,8 @@ Mutating actions will request confirmation before proceeding. Correction constant: +0.027 inHg Gain: -1.000 Offset: -1.000 -

Note that console version number is only available on consoles with - firmware dates after about 2006.

+

Note that console version number is only available on consoles with firmware + dates after about 2006.

Highlighted values can be changed.

For example, to change the archive interval to 10 minutes (600 seconds):

$WEEWX_ROOT/bin/config_vp.py $WEEWX_ROOT/weewx.conf --set-interval=600
@@ -888,7 +888,7 @@ mysql> GRANT select, update, create, delete, insert ON stats.* TO weewx@local 00:05:15, 00:10:15, etc. This delay is to give the station a few seconds to archive the data internally, and in case your server has any other tasks to do at the top of the minute. Default is 15 seconds.

-

record_generation

+

record_generation

Set to whether records should be downloaded off the hardware (recommended), or generated in software. If set to 'hardware', then weewx tries to download archive records from your @@ -1036,7 +1036,7 @@ mysql> GRANT select, update, create, delete, insert ON stats.* TO weewx@local weewx installation (it should have been set to the correct value automatically by the install process, but it's worth checking).

Copy it to the proper location for your system:

-
Subdirectory Contents
+
@@ -1047,7 +1047,7 @@ mysql> GRANT select, update, create, delete, insert ON stats.* TO weewx@local
SuSE: cp $WEEWX_ROOT/start_script/SuSE/weewx /etc/init.d

Make sure the script is executable:

- +
@@ -1058,7 +1058,7 @@ mysql> GRANT select, update, create, delete, insert ON stats.* TO weewx@local
SuSE: chmod +x /etc/init.d/weewx

Create symbolic links in the run level directories:

- +
@@ -1103,7 +1103,9 @@ mysql> GRANT select, update, create, delete, insert ON stats.* TO weewx@local weewx.conf to 1 (one) will generate many more checks and output and can be useful for debugging.

Troubleshooting

-

If you get stuck, be sure to

+

This section lists some common problems installing and running + weewx. Check it first. If you are still stuck, be + sure to

-

Execution

-

configobj errors

-

These are errors in the configuration file. Two are very common. Incidentally, - these errors are far easier to diagnose when weewx - is run from the command line.

-

configobj.DuplicateError exception

-

This error is caused by using an identifier more than once in the configuration - file. For example, you may have inadvertently listed your FTP server twice: -

-
[Reports]
-	[[FTP]]
-		... (details elided)
-		user = fred
-		server = ftp.myhost.com
-		password = mypassword
-		server = ftp.myhost.com  # OOPS! Listed it twice!
-		path = /weather
-		... 
-

Generally, if you encounter this error, the log file will give you the line - number it happened in:

-
Apr 24 12:09:15 raven weewx[11480]: wxengine: Error while parsing configuration file /home/weewx/weewx.conf
-Apr 24 12:09:15 raven weewx[11480]: wxengine: Unable to initialize main loop:
-Apr 24 12:09:15 raven weewx[11480]:     ****  Duplicate keyword name at line 254.
-Apr 24 12:09:15 raven weewx[11480]:     ****  Exiting. 
-

configobj.NestingError exception

-

This is a very similar error, and is caused by a misformed section nesting. - For example:

-
[Reports]
-	[[FTP]]]
-		... (details elided)
-

Note the extra closing bracket on the subsection FTP. -

Hardware

Establishing connectivity

If you unable to get anything out of weewx, first @@ -1291,7 +1261,71 @@ And put in weewx.conf:

cd /home/weewx
./bin/config_vp.py weewx.conf --clear

+

3rd party Vantage connectors

+

This section is for those who are using a homebrew or 3rd party connector + to a Davis Vantage console that does not contain a logger, such as the + DSI-01 serial interface. + That is, it is a pure serial connection to the console, with no onboard memory. +

+

For these interfaces, you must set record generation to software. + Without this information, weewx is unable to detect + the absence of onboard memory. If you do not do this, you will get errors that + look like the following in your syslog:

+
Nov 27 20:30:21 raspberrypi weewx[5607]: reportengine: Caught unrecoverable exception in generator weewx.filegenerator.FileGenerator
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****  'NoneType' object has no attribute '__getitem__'
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****  Traceback (most recent call last):
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****    File "/home/weewx/bin/weewx/reportengine.py", line 132, in run
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****      obj.start()
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****    File "/home/weewx/bin/weewx/reportengine.py", line 259, in start
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****      self.run()
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****    File "/home/weewx/bin/weewx/filegenerator.py", line 41, in run
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****      self.setup()
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****    File "/home/weewx/bin/weewx/filegenerator.py", line 52, in setup
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****      self.initAlmanac(self.gen_ts)
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****    File "/home/weewx/bin/weewx/filegenerator.py", line 87, in initAlmanac
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****      rec = self.getRecord(archivedb, celestial_ts)
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****    File "/home/weewx/bin/weewx/filegenerator.py", line 115, in getRecord
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****      record_dict_vt = weewx.units.dictFromStd(record_dict)
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****    File "/home/weewx/bin/weewx/units.py", line 892, in dictFromStd
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****      std_unit_system = d['usUnits']
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****  TypeError: 'NoneType' object has no attribute '__getitem__'
+Nov 27 20:30:21 raspberrypi weewx[5607]:         ****  Generator terminated...
+Nov 27 20:30:23 raspberrypi weewx[5607]: genimages: Generated 11 images in 2.53 seconds 
+
+

See the section on option + record_generation.

Software

+

configobj errors

+

These are errors in the configuration file. Two are very common. Incidentally, + these errors are far easier to diagnose when weewx + is run from the command line.

+

configobj.DuplicateError exception

+

This error is caused by using an identifier more than once in the configuration + file. For example, you may have inadvertently listed your FTP server twice: +

+
[Reports]
+	[[FTP]]
+		... (details elided)
+		user = fred
+		server = ftp.myhost.com
+		password = mypassword
+		server = ftp.myhost.com  # OOPS! Listed it twice!
+		path = /weather
+		... 
+

Generally, if you encounter this error, the log file will give you the line + number it happened in:

+
Apr 24 12:09:15 raven weewx[11480]: wxengine: Error while parsing configuration file /home/weewx/weewx.conf
+Apr 24 12:09:15 raven weewx[11480]: wxengine: Unable to initialize main loop:
+Apr 24 12:09:15 raven weewx[11480]:     ****  Duplicate keyword name at line 254.
+Apr 24 12:09:15 raven weewx[11480]:     ****  Exiting. 
+

configobj.NestingError exception

+

This is a very similar error, and is caused by a misformed section nesting. + For example:

+
[Reports]
+	[[FTP]]]
+		... (details elided)
+

Note the extra closing bracket on the subsection FTP. +

No barometer data

If everything appears normal except that you have no barometer data, the problem may be a mismatch between the unit system used for service

SuSE: /usr/lib/lsb/install_initd /etc/init.d/weewx