From 9336ca2f12e84cf07120a5000627f79cb6fd2806 Mon Sep 17 00:00:00 2001 From: matthewwall Date: Thu, 26 Jan 2017 19:48:05 -0500 Subject: [PATCH] decode weewx into weeWX --- docs/customizing.htm | 422 +++++++++++++++++++++---------------------- docs/devnotes.htm | 34 ++-- docs/hardware.htm | 98 +++++----- docs/upgrading.htm | 26 +-- docs/usersguide.htm | 368 ++++++++++++++++++------------------- docs/utilities.htm | 261 +++++++++++++------------- 6 files changed, 591 insertions(+), 618 deletions(-) diff --git a/docs/customizing.htm b/docs/customizing.htm index 7e3f2d2a..e8bfa1bf 100644 --- a/docs/customizing.htm +++ b/docs/customizing.htm @@ -42,15 +42,13 @@ Version: 3.7 -
- weewx Customization Guide -
+
weeWX Customization Guide

- This document covers the customization of weewx. + This document covers the customization of weeWX. It assumes that you have read, and are reasonably familiar with, the Users Guide.

@@ -78,7 +76,7 @@ Version: 3.7 unusual type you are unlikely to run into trouble.

- Warning!
weewx + Warning!
weeWX is still an experimental system and, as such, its internal design is subject to change. Future upgrades may break any customizations you have done, particularly if they involve the @@ -88,7 +86,7 @@ Version: 3.7

Where to put customizations

- For configuration changes, simply modify the weewx + For configuration changes, simply modify the weeWX configuration file weewx.conf. Customization of reports may require changes to a skin configuration file skin.conf or @@ -120,8 +118,8 @@ Version: 3.7

Data architecture

- Weewx is data-driven. When the sensors spit out some data, weewx does something. The 'something' + WeeWX is data-driven. When the sensors spit out some data, weeWX + does something. The 'something' might be to print out the data, or to generate an HTML report, or to use FTP to copy a report to a web server, or to perform some calculations using the data. These actions are called @@ -133,7 +131,7 @@ Version: 3.7 driver reads data from a serial port or a device on the USB or a network interface. It handles any decoding of raw bits and bytes, and puts the resulting data into LOOP packets and archive - RECORDs. Whenever possible, weewx + RECORDs. Whenever possible, weeWX should work "out of the box" with minimal configuration. However, in some cases the driver may include code to configure and test the hardware, typically via the wee_device @@ -146,10 +144,10 @@ Version: 3.7 windchill, heatindex, humidex, apptemp, ET are all dependent quantities — they require primary observations such as wind speed, temperature, solar radiation. The firmware for some - hardware calculates dependent quantities. The weewx + hardware calculates dependent quantities. The weeWX service StdWXCalculate fills in the gaps and determines whether to use a value from firmware or a - calculation from weewx. Sometimes the + calculation from weeWX. Sometimes the firmware simply does it wrong.

@@ -158,7 +156,7 @@ Version: 3.7

Generally, there are two types of data that flow through - weewx: LOOP packets, and archive records.

+ weeWX: LOOP packets, and archive records.

LOOP packets

@@ -193,26 +191,26 @@ Version: 3.7

Some hardware is capable of generating its own archive records (the Davis Vantage and Oregon Scientific WMR200, for - example), but for hardware that does not archive data, weewx + example), but for hardware that does not archive data, weeWX generates them.

It is the archive data that is put in the SQL database, although, occasionally, the LOOP packets can be useful (such as for the Weather Underground's "Rapidfire" mode).

-

The weewx service architecture

+

The weeWX service architecture

- At a high-level, weewx consists of an + At a high-level, weeWX consists of an engine class called StdEngine. It is responsible for loading services, then arranging for them to be called when key events occur, such as the arrival of - LOOP or archive data. The default install of weewx + LOOP or archive data. The default install of weeWX includes the following services:

- + summary="Overview of the weeWX architecture"> + @@ -282,7 +280,7 @@ Version: 3.7 class="code">MyAlarm, which sends an email when an arbitrary expression evaluates True. These advanced topics are covered later in the section Customizing the weewx service + href="#service_engine">Customizing the weeWX service engine.

@@ -303,13 +301,13 @@ Version: 3.7

The standard reporting service, StdReport, runs zero or more reports. The specific reports which - get run are set in the configuration file weewx.conf, + get run are set in the configuration file + weewx.conf, in section [StdReport].

- The default distribution of weewx - includes three reports: + The default distribution of weeWX includes three reports:

The standard weewx servicesThe standard weeWX services
Service
@@ -356,10 +354,9 @@ Version: 3.7 might want to run a report that uses US Customary units, then run another report against the same skin, but using metric units and put the results in a different place. All this is possible - by either overriding configuration options in the weewx configuration file weewx.conf or the skin configuration file - skin.conf. + by either overriding configuration options in the weeWX configuration + file weewx.conf or the skin configuration + file skin.conf.

Like all reports, the FTP and RSYNC "reports" also use a @@ -382,7 +379,7 @@ Version: 3.7 located. It is not to be taken literally. Consult the directory layout table in the User's Guide for its exact location, - dependent on how you installed weewx and what operating + dependent on how you installed weeWX and what operating system you are using

@@ -394,8 +391,8 @@ Version: 3.7 To create their output, skins rely on one or more generators, which are what do the actual work, such as creating HTML files or plot images. Generators can also copy files around or - FTP/rsync them to remote locations. The default install of weewx includes the following generators: + FTP/rsync them to remote locations. The default install of weeWX + includes the following generators:

@@ -443,7 +440,7 @@ Version: 3.7

A template is a text file that is processed by a template - engine to create a new file. Weewx + engine to create a new file. weeWX uses the Cheetah template engine. The generator weewx.cheetahgenerator.CheetahGenerator is responsible for running Cheetah at appropriate times. @@ -465,7 +462,7 @@ Version: 3.7

If you make changes, how do you know what the results will - look like? You could just run weewx and wait until the next + look like? You could just run weeWX and wait until the next reporting cycle kicks off but, depending on your archive interval, that could be a 30 minute wait or more.

@@ -491,7 +488,7 @@ Version: 3.7

The database

- Weewx uses a single database to store + WeeWX uses a single database to store and retrieve the records it needs. It can be implemented by using either SQLITE3, an open-source, lightweight SQL database, or Meaning

- + - + - + @@ -607,7 +604,7 @@ Version: 3.7

While most users will only need the one weather database that - comes with weewx, the reporting engine + comes with WeeWX, the reporting engine allows you to use multiple databases in the same report. For example, if you have installed the

- An additional complication is that weewx + An additional complication is that weeWX can use more than one database implementation: SQLite or MySQL. Making users specify in the templates not only which database to use, but also which implementation, would be unreasonable. @@ -638,7 +635,7 @@ Version: 3.7

- The standard weather database binding that weewx + The standard weather database binding that weeWX uses is wx_binding. This is the binding that you will be using most of the time and, indeed, it is the default. You rarely have to specify it explicitly. @@ -647,7 +644,7 @@ Version: 3.7

Programming interface

- weewx includes a module called weedb that provides a single interface for many of the differences between database implementations such as SQLite and MySQL. However, it is not uncommon to make direct SQL @@ -660,14 +657,14 @@ Version: 3.7 open, and query a database. These are the canonical forms for obtaining a database manager.

-

If you are opening a database from within a weewx service:

+

If you are opening a database from within a weeWX service:

db_manager = self.engine.db_binder.get_manager(data_binding='name_of_binding', initialize=True)
 
 # Sample query:
 db_manager.getSql("SELECT SUM(rain) FROM %s "\
     "WHERE dateTime>? AND dateTime<=?" % db_manager.table_name, (start_ts, stop_ts))

- If you are opening a database from within a weewx search list + If you are opening a database from within a weeWX search list extension, you will be passed in a function db_lookup() as a parameter, which can be used to bind to a database. By default, it returns a manager bound to wx_binding: @@ -697,7 +694,7 @@ db_manager.getSql("SELECT SUM(rain) FROM %s "\

Units

- The unit architecture in weewx is + The unit architecture in weeWX is designed to make basic unit conversions and display of units easy. It is not designed to provide dimensional analysis, arbitrary conversions, and indications of compatibility. @@ -709,7 +706,7 @@ db_manager.getSql("SELECT SUM(rain) FROM %s "\ actual units used by each instrument vary widely; some instruments use Metric units, others use US Customary units, and many use a mixture. The driver ensures that the units are - consistent for storage in the weewx + consistent for storage in the weeWX database. By default, and to maintain compatibility with wview, the default database units are US Customary, although this can be changed. @@ -767,15 +764,15 @@ db_manager.getSql("SELECT SUM(rain) FROM %s "\

With this approach, edit the skin configuration file with a text - editor. Changes made in this way will be used by weewx the next time it generates reports, + editor. Changes made in this way will be used by weeWX + the next time it generates reports, which is typically the next archive interval; there is no need - to restart weewx to see the results of + to restart weeWX to see the results of the changes.

- For the standard skin that comes with weewx, + For the standard skin that comes with weeWX, the file is skins/Standard/skin.conf. It includes many, many options that can be changed. For a complete list, see the section below,

- With this approach, you must restart weewx + With this approach, you must restart weeWX to see the effects of any changes.

@@ -938,7 +935,7 @@ db_manager.getSql("SELECT SUM(rain) FROM %s "\

If you cannot achieve the results you need by changing a configuration option, you may have to modify the templates that - come with weewx, or write your own. + come with weeWX, or write your own.

@@ -954,8 +951,8 @@ db_manager.getSql("SELECT SUM(rain) FROM %s "\ templating engine. This is a very powerful engine, which essentially lets you have the full semantics of Python available in your templates. As this would make the templates - incomprehensible to anyone but a Python programmer, weewx adopts a very small subset of its + incomprehensible to anyone but a Python programmer, + weeWX adopts a very small subset of its power.

@@ -1005,7 +1002,7 @@ $month.outTemp.maxtime $month.outTemp.max

Most of the time, tags will "do the right thing" and are all you - will need. However, weewx offers + will need. However, weeWX offers extensive customization of the generated output for specialized applications such as XML RSS feeds, or ridgidly formatted reports (such as the NOAA reports). This section specifies the @@ -1028,7 +1025,7 @@ $month.outTemp.max

$current.barometer

- Formally, weewx first looks for the observation type in the + Formally, weeWX first looks for the observation type in the record emitted by the NEW_ARCHIVE_RECORD event. This is generally the data emitted by the station console, augmented by any derived variables (e.g.wind @@ -1371,7 +1368,7 @@ or in foobar units: $day.barometer.min.foobar

- + - + - + - - + - + - - + +
dateTimedateTime The time at the end of the archive interval in unix epoch time. This is the primary key in the database. It @@ -579,14 +576,14 @@ Version: 3.7
usUnitsusUnits The unit system the record is in. It cannot be null. See the Appendix: Units for how these systems are encoded.
intervalinterval The length of the archive interval in minutes. It cannot be null.
.formatted.formatted Value is returned as a string, formatted using an appropriate string format and None value from skin.conf. No unit @@ -1407,7 +1404,7 @@ or in foobar units: $day.barometer.min.foobar
.raw.raw Value is returned "as is" without being converted to a string and without any formatting applied. This can be useful for doing arithmetic directly within the @@ -2092,7 +2089,7 @@ $month.dateTime.format("%B"): Min, max temperatures: $month.outTemp.min $month.o

If module pyephem - has been installed, then weewx can + has been installed, then weeWX can generate extensive almanac information for the Sun, Moon, Venus, Mars, Jupiter, and other heavenly bodies, including their rise, transit and set times, as well as their azimuth and altitude. @@ -2202,7 +2199,7 @@ Sunrise, sunset: $almanac.sunrise $almanac.sunset

or

$almanac.sun.transit

- To accurately calculate these times, weewx + To accurately calculate these times, weeWX automatically uses the present temperature and pressure to calculate refraction effects. However, you can override these values, which will be necessary if you wish to match the almanac @@ -2221,7 +2218,7 @@ Sunrise, sunset: $almanac.sunrise $almanac.sunset

If you wish to calculate the start of civil twilight, you can - set the horizon to -6 degrees, and also tell weewx + set the horizon to -6 degrees, and also tell weeWX to use the center of the sun (instead of the upper limb, which it normally uses) to do the calcuation:

@@ -2310,30 +2307,27 @@ Sunrise, sunset: $almanac.sunrise $almanac.sunset
Valid contexts
windSpeedwindSpeed The average wind speed seen during the archive period.$current, $latest, $day, - $week, $month, - $year, $rainyear + + $current, $latest, $day, $week, $month, $year, $rainyear
windDirwindDir If software record generation is used, this is the vector average over the archive period. If hardware record generation is used, the value is hardware dependent.
windGustwindGust The maximum (gust) wind speed seen during the archive period.
windGustDirThe direction of the wind when the gust was - observed.windGustDirThe direction of the wind when the gust was observed.
@@ -2348,13 +2342,11 @@ Sunrise, sunset: $almanac.sunrise $almanac.sunset Valid contexts - wind + wind A vector composite of the wind. It includes information such as the direction of the maximum gust, and the x- and y-vector wind run. - $day, $week, - $month, $year, - $rainyear + $day, $week, $month, $year, $rainyear @@ -2377,40 +2369,40 @@ Sunrise, sunset: $almanac.sunrise $almanac.sunset Meaning - $current.windSpeed + $current.windSpeed The average wind speed over the most recent archive interval. - $current.windDir + $current.windDir If software record generation is used, this is the vector average over the archive interval. If hardware record generation is used, the value is hardware dependent. - $current.windGust + $current.windGust The maximum wind speed (gust) over the most recent archive interval. - $current.windGustDir + $current.windGustDir The direction of the gust. - $day.windSpeed.avg + $day.windSpeed.avg The average wind speed since midnight. If the wind blows east at 5 m/s for 2 hours, then west at 5 m/s for 2 hours, the average wind speed is 5 m/s. - $day.wind.avg + $day.wind.avg The average wind speed since midnight. Same as $day.windSpeed.avg above. - $day.wind.vecavg + $day.wind.vecavg The vector average wind speed since midnight. If the wind blows east at 5 m/s for 2 hours, then west at 5 m/s for 2 hours, the vector average wind @@ -2418,7 +2410,7 @@ Sunrise, sunset: $almanac.sunrise $almanac.sunset - $day.windSpeed.max + $day.windSpeed.max The max average wind speed. The wind is averaged over each of the archive intervals. Then the maximum of these values is taken. Note that this is not the @@ -2426,19 +2418,19 @@ Sunrise, sunset: $almanac.sunrise $almanac.sunset - $day.windGust.max + $day.windGust.max The maximum observed wind speed since midnight, i.e., the maximum gust. - $day.windDir.avg + $day.windDir.avg Not a very useful quantity. This is the strict, arithmetic average of all the compass wind direction. Probably not what you want. - $day.wind.vecdir + $day.wind.vecdir The direction of the vector averaged wind speed. If the wind blows northwest for two hours, then southwest for two hours, the vector averaged direction is west. @@ -2504,21 +2496,21 @@ Sunrise, sunset: $almanac.sunrise $almanac.sunset

How tags work

- Now let's take a look at how the search list interacts with weewx tags. Let's start by looking at a - simple example: station altitude, available as the tag + Now let's take a look at how the search list interacts with + weeWX tags. Let's start by looking at a simple example: station + altitude, available as the tag

 $station.altitude

- As we saw in the previous section, Cheetah will run down the - search list, looking for an object with a key or attribute station. In the default search list, weewx includes one such object, an - instance of the class weewx.cheetahgenerator.Station, - which has an attribute station, so it - gets a hit on this object. + As we saw in the previous section, Cheetah will run down the + search list, looking for an object with a key or attribute station. In the default search list, + weeWX includes one such object, an instance of the class + weewx.cheetahgenerator.Station, + which has an attribute station, so it + gets a hit on this object.

@@ -2559,7 +2551,7 @@ $station.altitude This is a good example of lazy evaluation. The tags gather all the information they need, but don't do the final evaluation until the last final moment, when the most context is - understood. Weewx uses this technique extensively. + understood. WeeWX uses this technique extensively.

Now let's look at a more complicated example, say the @@ -2633,7 +2625,7 @@ $station.altitude

Extending the list

- As mentioned, weewx comes with a + As mentioned, weeWX comes with a number of objects already in the search list, but you can extend it. To do so, you should have some familiarity with Python, in particular, how to write new classes and member functions for @@ -2641,15 +2633,15 @@ $station.altitude

- Let's look at an example. The regular version of weewx offers statistical summaries by day, + Let's look at an example. The regular version of weeWX + offers statistical summaries by day, week, month, and year. Suppose we would like to add two more:

For example, here is the structure of a skin called

- See the extensions directory of the weewx source for examples. + See the extensions directory of the + weeWX source for examples.

To distribute an extension, simply create a compressed @@ -6985,30 +6971,30 @@ xstats/bin/user/xstats.py

Appendix: Units

- Weewx offers three different unit systems: + WeeWX offers three different unit systems:

- + - + - + - +
The standard unit systems used within weewxThe standard unit systems used within weeWX
Name Encoded value Note
USUS 0x01 U.S. Customary
METRICWXMETRICWX 0x11 Metric, with rain related measurements in mm and speeds in m/s
METRICMETRIC 0x10 Metric, with rain related measurements in cm and speeds in km/hr diff --git a/docs/devnotes.htm b/docs/devnotes.htm index e24e0d6b..a0ae982f 100644 --- a/docs/devnotes.htm +++ b/docs/devnotes.htm @@ -47,13 +47,13 @@ Version: 3.7
-

This guide is intended for developers contributing to the open source project weewx. +

This guide is intended for developers contributing to the open source project weeWX.

Goals

-

The primary design goals of weewx are:

+

The primary design goals of weeWX are:

  • Architectural simplicity. No semaphores, no named pipes, no inter-process communications, no complex multi-threading to @@ -84,7 +84,7 @@ Version: 3.7

    To meet these goals, the following strategies were used:

      -
    • A "micro-kernel" design. The weewx engine actually does very little. +
    • A "micro-kernel" design. The weeWX engine actually does very little. Its primary job is to load and run services at runtime, making it easy for users to add or subtract features.
    • @@ -111,17 +111,17 @@ Version: 3.7 Cheetah module was chosen for generating html and other types of files from templates. Cheetah - allows search list extensions to be defined, making it easy to extend weewx with new template + allows search list extensions to be defined, making it easy to extend weeWX with new template tags. Unfortunately, as of 2016, Cheetah has not been updated in many years (indeed, the Cheetah website seems to be dead). Fortunately, Cheetah seems to be very robust, with only a few well-known bugs that are easiy worked around, so we will likely continue to use it for the foreseeable future.
    • Pure Python. The code base is 100% Python — no underlying C libraries need be built to install - weewx. This also means no Makefiles are needed. + weeWX. This also means no Makefiles are needed.
    -

    While weewx is nowhere near as fast at generating images and HTML as its - predecessor, wview (this is partially because weewx uses +

    While weeWX is nowhere near as fast at generating images and HTML as its + predecessor, wview (this is partially because weeWX uses fancier fonts and a much more powerful templating engine), it is fast enough for all platforms but the slowest. I run it regularly on a 500 MHz machine where generating the 9 images used in the "Current Conditions" page takes just under 2 seconds (compared with 0.4 seconds for weewx + anytime soon. In any case, I doubt the transition will affect the average weeWX user.

    All writes to the databases are protected by transactions. You can kill the program at any time (either @@ -180,11 +180,11 @@ Version: 3.7

    Time

    -

    Weewx stores all data in UTC (roughly, "Greenwich" or "Zulu") +

    WeeWX stores all data in UTC (roughly, "Greenwich" or "Zulu") time. However, usually one is interested in weather events in local time and want image and HTML generation to reflect that. Furthermore, most weather stations are configured in local time. This requires that many data times be converted back and forth between UTC and local time. To avoid tripping up over time zones and - daylight savings time, weewx generally uses Python routines to do this conversion. + daylight savings time, weeWX generally uses Python routines to do this conversion. Nowhere in the code base is there any explicit recognition of DST. Instead, its presence is implicit in the conversions. At times, this can cause the code to be relatively inefficient.

    @@ -195,7 +195,7 @@ Version: 3.7 etc.), despite a possible DST change in the middle, then things get a bit more complicated. One could modify the above to recognize whether a DST transition occurs sometime between last_ts and the next three hours and, if so, make the necessary adjustments. This is generally what wview does. Weewx takes a different approach and + class="code">wview does. WeeWX takes a different approach and converts from UTC to local, does the arithmetic, then converts back. This is inefficient, but bulletproof against changes in DST algorithms, etc:

    time_dt = datetime.datetime.fromtimestamp(last_ts)
    @@ -209,7 +209,7 @@ next_ts = int(time.mktime(next_dt.timetuple()))
    handle it correctly. In particular, the function time.strftime() completely fails when handed a Unicode string with a non-ASCII character. As this function is often used by extensions, working around this bug is an unfair expectation on extension writers. So, we generally avoid Unicode.

    -

    Instead, weewx mostly uses regular strings, with any non-ASCII characters encoded as UTF-8.

    +

    Instead, weeWX mostly uses regular strings, with any non-ASCII characters encoded as UTF-8.

    An exception to this general rule is the image generator, which holds labels internally in Unicode, because that is the encoding expected by most fonts.

    The document os.rename(oldname, newname) except OSError: pass -

    Weewx has a few specialized exception types, used to rationalized all the different types of exceptions that +

    WeeWX has a few specialized exception types, used to rationalized all the different types of exceptions that could be thrown by the underlying libraries. In particular, low-level I/O code can raise a myriad of exceptions, such as USB errors, serial errors, network connectivity errors, etc. All device drivers should catch these exceptions and convert them into an exception of type

    Code style

    Generally, we try to follow the PEP 8 style guide, - but there are many exceptions. In particular, many older weewx function names use camelCase, but + but there are many exceptions. In particular, many older weeWX function names use camelCase, but PEP 8 calls for snake_case. Please use snake_case for new code.

    Most modern code editors, such as Eclipse, or PyCharm, have the ability to automatically format code. Resist the temptation and don't use this feature! Two reasons:

    @@ -268,14 +268,14 @@ now = datetime.datetime()

    This is a glossary of terminology used throughout the code.

    - + - @@ -288,7 +288,7 @@ now = datetime.datetime() -
    Terminology used in weewxTerminology used in weeWX
    Name Description
    archive intervalWeewx does not store the raw data that comes off a weather station. Instead, it aggregates the data + WeeWX does not store the raw data that comes off a weather station. Instead, it aggregates the data over a length of time, the archive interval, and then stores that.
    config_dictAll configuration information used by weewx is stored in the configuration file, usually + All configuration information used by weeWX is stored in the configuration file, usually with the name weewx.conf. By convention, when this file is read into the program, it is called config_dict, an instance of the class configobj.ConfigObj. diff --git a/docs/hardware.htm b/docs/hardware.htm index 84e3119b..fac571bd 100644 --- a/docs/hardware.htm +++ b/docs/hardware.htm @@ -55,7 +55,7 @@ Version: 3.7

    Driver status

    The following table enumerates many of the weather stations that - are known to work with weewx. If your + are known to work with weeWX. If your station is not in the table, check the pictures at the supported hardware page — it could be a variation of one of the supported models. You can also @@ -878,7 +878,7 @@ Version: 3.7

    The console has a sensor for inside humidity, but the values from that sensor are available only by reading from the console logger. Due to instability of the console firmware, the - weewx driver does not read the console + weeWX driver does not read the console logger.

    USB Mode

    @@ -903,8 +903,7 @@ Version: 3.7

    If the AcuRite console has multiple USB modes, it must be set to - USB mode 3 or 4 in order to work with the - weewx driver.

    + USB mode 3 or 4 in order to work with the weeWX driver.

    Communication via USB is disabled in modes 1 and 2. Mode 4 is more reliable than @@ -914,7 +913,7 @@ Version: 3.7

    The default mode is 2, so after a power failure one must use the console controls to change the mode before - weewx can resume data collection.

    + weeWX can resume data collection.

    The 01025, 01035, 01036, 01525, and 02032 consoles have a USB mode setting.

    @@ -930,8 +929,7 @@ Version: 3.7

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -1070,14 +1068,14 @@ Version: 3.7

    When the logger fills up, it stops recording.

    -

    When weewx starts up it will attempt to +

    When weeWX starts up it will attempt to download all records from the logger since the last record in the archive database.

    The driver does not support hardware record generation.

    The CC3000 data logger may be configured to return data in METRIC - or ENGLISH units. These are then mapped to the weewx unit groups + or ENGLISH units. These are then mapped to the weeWX unit groups METRICWX or US, respectively.

    Configuring with wee_device

    @@ -1163,7 +1161,7 @@ interval: 1 one or the other.

    The CC3000 driver automatically converts the units to maintain - consistency with the units in weewx. + consistency with the units in weeWX.

    Action --set-channel

    @@ -1191,8 +1189,7 @@ interval: 1

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -1366,14 +1363,14 @@ interval: 1 default recording interval of 30 minutes, or about 14 days with a recording interval of 5 minutes. The 30xx stations can save up to 3264 historical readings.

    -

    When weewx starts up it will attempt to +

    When weeWX starts up it will attempt to download all records from the console since the last record in the archive database.

    Polling mode and interval

    -

    When reading 'live' data, weewx can read +

    When reading 'live' data, weeWX can read as fast as possible, or at a user-defined period. This is controlled by the option polling_mode in @@ -1392,7 +1389,7 @@ interval: 1 polling_mode = ADAPTIVE

    @@ -1405,7 +1402,7 @@ interval: 1 polling_interval = 60
    -

    In this mode, weewx reads data from the station as often as possible, +

    In this mode, weeWX reads data from the station as often as possible, but at intervals that avoid communication between the console and the sensors. Nominally this results in reading data every 48 seconds.

    -

    In this mode, weewx reads data from the station every In this mode, weeWX reads data from the station every polling_interval seconds.

    The console reads the sensors every 48 seconds (60 seconds for UV), so setting the from these sensors. As a consequence, the 30xx consoles also have a different data format.

    -

    Since weewx cannot reliably determine +

    Since weeWX cannot reliably determine the data format by communicating with the station, the data_format configuration option indicates the station type. Possible values are @@ -1552,8 +1549,7 @@ Mutating actions will request confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -1717,7 +1713,7 @@ Mutating actions will request confirmation before proceeding. (3442 records) with an archive interval of 5 minutes.

    The TE923 driver will read history records from the station when - weewx starts up, but it does not support hardware record + weeWX starts up, but it does not support hardware record generation.

    Configuring with wee_device

    @@ -1872,8 +1868,7 @@ confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -2166,8 +2161,7 @@ confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -2295,7 +2289,7 @@ confirmation before proceeding.

    Vantage

    The Davis Vantage stations include a variety of models and - configurations. The weewx driver + configurations. The weeWX driver can communicate with a console or envoy using serial, USB, or TCP/IP interface.

    @@ -2579,13 +2573,13 @@ confirmation before proceeding.

    Action --dump

    -

    Generally, weewx downloads only new archive records from the on-board logger in the +

    Generally, weeWX downloads only new archive records from the on-board logger in the Vantage. However, occasionally the memory in the Vantage will get corrupted, making this impossible. See the - troubleshooting section Weewx generates HTML + troubleshooting section WeeWX generates HTML pages, but it does not update them. The fix involves clearing the memory but, unfortunately, this means you may lose any data which might have accumulated in the logger memory, but not yet downloaded. By using the --dump command before clearing the memory, you might be able to save - these data. Stop weewx first, then

    + these data. Stop weeWX first, then

    wee_device --dump

    This will dump all data archived in the Vantage memory directly to the database, without regard to whether or not they have been seen before. Because the command dumps all data, it may result in many duplicate @@ -2600,8 +2594,7 @@ confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -2945,8 +2938,7 @@ confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -3242,7 +3234,7 @@ confirmation before proceeding.

    The station emits partial packets, which may confuse some online services.

    -

    When weewx starts up it will attempt to +

    When weeWX starts up it will attempt to download all records from the console since the last record in the archive database.

    @@ -3254,8 +3246,7 @@ confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -3521,7 +3512,7 @@ confirmation before proceeding.

    The station emits partial packets, which may confuse some online services.

    -

    When weewx starts up it will attempt to +

    When weeWX starts up it will attempt to download all records from the console since the last record in the archive database. This can take as much as couple of hours, depending on the number of records in the logger and the speed of @@ -3535,8 +3526,7 @@ confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -3850,8 +3840,7 @@ confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -4178,8 +4167,7 @@ confirmation before proceeding.

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -4333,7 +4321,7 @@ confirmation before proceeding. minutes, or about 14 hours with a recording interval of 5 minutes.

    -

    When weewx starts up it will attempt to +

    When weeWX starts up it will attempt to download all records from the console since the last record in the archive database.

    @@ -4430,8 +4418,7 @@ in humidity: 48.0

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    @@ -4548,7 +4535,7 @@ in humidity: 48.0

    WS28xx

    -

    weewx communicates with a USB transceiver, +

    WeeWX communicates with a USB transceiver, which communicates with the station console, which in turn communicates with the sensors. The transceiver and console must be paired and synchronized.

    @@ -4575,7 +4562,7 @@ in humidity: 48.0

    The station has 1797 history records. That is just over 6 days of data with an archive interval of 5 minutes.

    -

    When weewx starts up it will attempt to +

    When weeWX starts up it will attempt to download all records from the console since the last record in the archive database.

    @@ -4595,8 +4582,8 @@ in humidity: 48.0

    There are two ways to pair the console and the transceiver:

      -
    1. The weewx way. Be sure that - weewx is not running. Run the +
    2. The weeWX way. Be sure that + weeWX is not running. Run the configuration utility, press and hold the [v] button on the console until you see 'PC' in the display, then release the button. If the console pairs with the transceiver, 'PC' will @@ -4611,8 +4598,8 @@ Transceiver is paired to console instructions that came with the station. You will have to run HeavyWeather on a windows computer with the USB transceiver. After HeavyWeather indicates the devices are paired, put the - USB transceiver in your weewx - computer and start weewx. Do not power cycle the station + USB transceiver in your weeWX + computer and start weeWX. Do not power cycle the station console or you will have to start over.
    @@ -4637,7 +4624,7 @@ Transceiver is paired to console minutes:

    Nov  7 19:12:17 raspi weewx[2335]: ws28xx: MainThread: no contact with console

    If you see this, or if you see an extended gap in the weather data - in the weewx plots, press momentarily + in the weeWX plots, press momentarily the [SET] button, or wait until the top of the hour.

    When the transceiver has not received new data for awhile, you will @@ -4654,7 +4641,7 @@ Transceiver is paired to console

    When an alarm goes off, communication with the transceiver stops. The WS28xx driver clears all alarms in the station. It is better - to create alarms in weewx, and the weewx + to create alarms in weeWX, and the weeWX alarms can do much more than the console alarms anyway.

    Configuring with wee_device

    @@ -4692,7 +4679,7 @@ Mutating actions will request confirmation before proceeding. by using this command, or by running the program HeavyWeather on a Windows PC.

    -

    Be sure that weewx is not running. Run +

    Be sure that weeWX is not running. Run the command:

    wee_device --pair
     
    @@ -4761,8 +4748,7 @@ wind_gust_max_time: None

    Station data

    The following table shows which data are provided by the station - hardware and which are calculated by - weewx. + hardware and which are calculated by weeWX.

    diff --git a/docs/upgrading.htm b/docs/upgrading.htm index eb90841f..a02aa03d 100644 --- a/docs/upgrading.htm +++ b/docs/upgrading.htm @@ -96,7 +96,7 @@ Version: 3.7

    Warning!
    You must use the same upgrade technique as your initial install! For example, if you used setup.py to install - weewx, you should use + weeWX, you should use setup.py to upgrade. If you used a DEB or RPM package to install, then you should upgrade using the same package type. @@ -104,7 +104,7 @@ Version: 3.7

    Upgrading using setup.py

    -

    Before upgrading weewx, check the section +

    Before upgrading weeWX, check the section Instructions for Specific Versions to see if any specific actions are @@ -115,11 +115,11 @@ Version: 3.7

    cd weewx-X.Y.Z 

    Build the distribution:

    ./setup.py build 
    -

    Install weewx:

    +

    Install weeWX:

    Warning!
    Before doing the next step, be sure that home in the file setup.cfg is set to the location - of the previous weewx installation. + of the previous weeWX installation.

    sudo ./setup.py install 
    @@ -154,11 +154,11 @@ Version: 3.7
    sudo dpkg -i weewx_X.Y.Z-R.deb
    -

    The upgrade process will not modify the weewx +

    The upgrade process will not modify the weeWX databases.

    Unmodified files will be upgraded. If modifications have been made to - the weewx configuration, you will be prompted as to whether you want to + the weeWX configuration, you will be prompted as to whether you want to keep the existing configuration or accept the new configuration. Either way, dpkg will save a copy of the option you did not choose.

    @@ -198,7 +198,7 @@ Version: 3.7
    sudo rpm -U weewx-X.Y.Z-R.rpm
    -

    The upgrade process will not modify the weewx +

    The upgrade process will not modify the weeWX databases.

    Unmodified files will be upgraded. If modifications have been made to @@ -635,7 +635,7 @@ extraHumid8 = humidity_8 the archive data — everything is under one name. For example, if you are using sqlite, both the archive data and the daily summaries will be inside file weewx.sdb. With MySQL, - everything is inside the database weewx. This + everything is inside the database weeWX. This makes it easier to keep all data together when working with multiple databases.

    @@ -1173,7 +1173,7 @@ with weewx.archive.Archive.open(self.database_dict) as archive:

    The setup.py utility is now included in the installation; it is no longer necessary to keep a copy of the - weewx source tree just for the + weeWX source tree just for the setup.py utility.

    For .deb and .rpm installations, the command @@ -1252,7 +1252,7 @@ Server uptime: 2 days, 10 hours, 22 minutes

    Version 2.6 is backwards compatible with earlier versions, with a couple of small exceptions.

      -
    • If you have written a custom weewx +
    • If you have written a custom weeWX service, the install routine will try to insert its name into an appropriate place in one of the five new lists of services to be run. You should check @@ -1262,7 +1262,7 @@ Server uptime: 2 days, 10 hours, 22 minutes
    • If you have written a custom RESTful service, the architecture for these services has completely changed. They are now first class services, and are treated like any other - weewx service. There are some guides + weeWX service. There are some guides to writing RESTful services using the new architecture at the top of the file bin/weewx/restx.py. I can also help you with the transition. @@ -1332,7 +1332,7 @@ Server uptime: 2 days, 10 hours, 22 minutes

      That is, a second parameter, engine, has been added. This is a reference to the - weewx engine.

      + weeWX engine.

      This change will affect only those who have written their own device driver.

      @@ -1343,7 +1343,7 @@ Server uptime: 2 days, 10 hours, 22 minutes bin/user/schemas.py, for the stats database. This schema is used only when initially creating the database. If you have a specialized stats database, that is, one that saves types other than the default - that comes with weewx, you should edit this + that comes with weeWX, you should edit this file to reflect your changes before attempting to rebuild the database.

      diff --git a/docs/usersguide.htm b/docs/usersguide.htm index 23a53a1e..a06a4a0b 100644 --- a/docs/usersguide.htm +++ b/docs/usersguide.htm @@ -51,12 +51,12 @@ Version: 3.7

      This is the complete guide to installing, configuring, and - troubleshooting weewx. + troubleshooting weeWX.

      About weeWX

      -

      Weewx is +

      WeeWX is software, written in Python, that interacts with a weather station to produce plots, reports, and HTML pages. It can optionally upload the reports to a remote Web server as @@ -72,23 +72,23 @@ Version: 3.7 downloads are available at weewx.com/downloads.

      -

      Weewx is about 13,000 lines of code, plus +

      WeeWX is about 13,000 lines of code, plus another 13,000 for the drivers for all the types of supported hardware.

      System requirements

      Station hardware

      -

      Weewx includes support for many types +

      WeeWX includes support for many types of weather stations. In addition to hardware - support, weewx comes with a software + support, weeWX comes with a software simulator, useful for testing and evaluation.

      The driver compatibility table in the hardware guide has a detailed list of the manufacturers and models supported by the drivers that come with - weewx. If you do + weeWX. If you do not see your hardware in this table, check the list of supported hardware; the pictures may help you identify the manufacturer and/or model. @@ -107,16 +107,16 @@ Version: 3.7

      Computer hardware

      -

      Weewx is written in Python, so it has the overhead associated with that +

      WeeWX is written in Python, so it has the overhead associated with that language. Nevertheless, it is "fast enough" on just about any hardware. It has been run on everything from an early MacBook to a router!

      -

      I run weewx on a Fit-PC with a 500 MHz AMD +

      I run weeWX on a Fit-PC with a 500 MHz AMD Geode processor and 512 MB of memory. Configured this way, it consumes about 5% of the CPU, 100 MB of virtual memory, and 20 MB of real memory.

      -

      Weewx also runs great on a Raspberry Pi, although report generation will take +

      WeeWX also runs great on a Raspberry Pi, although report generation will take longer. For example, the 12 "To Date" templates take about 5.1 seconds on the RPi, compared to 3.0 seconds on my Fit-PC, and a mere 0.9 seconds on my vintage @@ -130,7 +130,7 @@ Version: 3.7 as the Weather Underground.

      The time on some stations is automatically synchronized with the - weewx server nominally every four hours. + weeWX server nominally every four hours. The synchronization frequency can be adjusted in the weewx configuration.

      @@ -141,8 +141,7 @@ Version: 3.7

      Permissions

      -

      There are a few places where permissions affect - weewx: +

      There are a few places where permissions affect weeWX:

      • Installation/Configuration. The user who does the installation @@ -156,16 +155,15 @@ Version: 3.7
      • Running. Most USB and serial devices require administrative (root) access. Unless the device has been configured with a udev rule or other mechanism that grants access to non-root - users, weewx commands must be run as + users, weeWX commands must be run as root or must be prefaced with sudo for temporary administrative privileges.
      -

      Normally weewx is installed and run with +

      Normally weeWX is installed and run with administrative (root) permissions. However, it is not uncommon to - install and run weewx as a generic - non-root user, or even as a user created specifically to run - weewx. + install and run weeWX as a generic + non-root user, or even as a user created specifically to run weeWX.

      Installing weeWX

      @@ -174,7 +172,7 @@ Version: 3.7

      In the world of open-source hobbyist software, - weewx is pretty easy to install and + weeWX is pretty easy to install and configure. There are not many package dependencies, the configuration is simple, and this guide includes extensive instructions. @@ -192,7 +190,7 @@ Version: 3.7 permissions and running commands;

    • No programming experience is necessary unless you wish - to extend weewx. In this case, you should be comfortable + to extend weeWX. In this case, you should be comfortable programming in Python.
    @@ -204,14 +202,14 @@ Version: 3.7

    Overview

    This is an outline of the process to install, configure, and run - weewx:

    + weeWX:

    1. Read the hardware notes for your weather station. This will let you know of any features, limitations, or quirks of your hardware.
    2. -
    3. Install weewx. Use the step-by-step +
    4. Install weeWX. Use the step-by-step instructions in one of the installation methods below.
    5. @@ -228,14 +226,14 @@ Version: 3.7 configuration file.
    6. Customize the installation. This is an advanced topic, which allows you to - shape weewx exactly to your liking! + shape weeWX exactly to your liking!

    Installation methods

    - Weewx can be installed from a DEB (Debian) or RPM + Weewx can be installed from a DEB (Debian) or RPM (Redhat, SUSE) package, or it can be installed using the standard Python utility setup.py.

    @@ -243,7 +241,7 @@ Version: 3.7

    The DEB or RPM package approach is simpler and is the recommended method for beginners. However, it requires root privileges, and will install the - bits and pieces of weewx in standard + bits and pieces of weeWX in standard operating system locations across the file system instead of in a single directory. The net effect is that configuration files, templates, and code will all be installed in separate locations, most @@ -253,14 +251,13 @@ Version: 3.7

    Installation using setup.py is the recommended method for those who plan to write custom services and - reports for weewx. It will put everything + reports for weeWX. It will put everything in a single directory, specified by the parameter home in the setup.cfg file, making it - easier to modify weewx. This file is not - used by the other installation methods. If the user installing weewx has permission to write to the directory, - root privileges will not be required to install, run, or modify weewx. + easier to modify weeWX. This file is not + used by the other installation methods. If the user installing + weeWX has permission to write to the directory, root privileges + will not be required to install, run, or modify weeWX.

    Installing from DEB package

    @@ -288,7 +285,7 @@ Version: 3.7

    For all other operating systems, follow the setup.py instructions. This method can also be used on Debian-, Redhat-, and SUSE-based operating systems as well, - and may be a better choice if you intend to heavily customize weewx. + and may be a better choice if you intend to heavily customize weeWX.

    Where to find things

    @@ -330,7 +327,7 @@ Version: 3.7
    - + @@ -387,7 +384,7 @@ Version: 3.7 - + @@ -445,7 +442,7 @@ Version: 3.7 - + @@ -504,7 +501,7 @@ Version: 3.7 - + @@ -558,16 +555,16 @@ Version: 3.7

    Running weeWX

    -

    Weewx can be run either directly, +

    WeeWX can be run either directly, or as a daemon. When first trying - weewx, it is best to run it directly + weeWX, it is best to run it directly because you will be able to see sensor output and diagnostics, as well as log messages. Once everything is working properly, run it as a daemon.

    Running directly

    -

    To run weewx directly, invoke +

    To run weeWX directly, invoke the main program, weewxd, giving the configuration file as its only parameter:

    sudo weewxd weewx.conf
    @@ -577,13 +574,13 @@ Version: 3.7 could take a minute or two. I have found this process particularly slow on SuSE for some reason.

    -

    Weewx will then start monitoring live sensor +

    WeeWX will then start monitoring live sensor data (also referrred to as 'LOOP' data), printing a short version of the received data on standard output, about once every two seconds for a Vantage station, or considerably longer for some other stations.

    -

    You can tell a running instance of weewx to +

    You can tell a running instance of weeWX to reread its configuration file by sending it the HUP signal. First run ps to find out the Process ID (PID) @@ -595,7 +592,7 @@ Version: 3.7

    Running as a daemon

    -

    For unattended operations it is best to have weewx +

    For unattended operations it is best to have weeWX run as a daemon, started automatically when the server is rebooted.

    If you use a packaged install from a DEB or RPM distribution, this is @@ -620,7 +617,7 @@ Version: 3.7

    Nominal Location
    weewx root directoryweeWX root directory WEEWX_ROOT /
    Nominal Location
    weewx root directoryweeWX root directory WEEWX_ROOT /
    Nominal Location
    weewx root directoryweeWX root directory WEEWX_ROOT /Users/Shared/weewx
    Nominal Location
    weewx root directoryweeWX root directory WEEWX_ROOT /home/weewx

    Check the chosen script to make sure the variable WEEWX_ROOT has been set to the proper root directory for your - weewx installation (it should have been set to the correct value automatically + weeWX installation (it should have been set to the correct value automatically by the install process, but it is worth checking).

    Copy it to the proper location for your system:

    @@ -668,13 +665,13 @@ Version: 3.7
    /usr/lib/lsb/install_initd /etc/init.d/weewx
    -

    Weewx will now start automatically whenever your - system is booted. You can also manually start, stop, and restart the - weewx daemon:

    +

    WeeWX will now start automatically whenever your system is booted. + You can also manually start, stop, and restart the weeWX daemon: +

    sudo /etc/init.d/weewx start
     sudo /etc/init.d/weewx stop
     sudo /etc/init.d/weewx restart
    -

    By default, the scripts are designed to have weewx +

    By default, the scripts are designed to have weeWX run at run levels 2, 3, 4 and 5. Incidentally, a nice tool for setting run levels with Debian (Ubuntu, Mint) systems is sysv-rc-conf. It uses a curses @@ -683,14 +680,14 @@ sudo /etc/init.d/weewx restart Center, then look for Systems Services (Runlevel). Pick "Expert" mode to see the run levels.

    -

    You can also tell weewx to reread its configuration +

    You can also tell weeWX to reread its configuration file without stopping by using the 'reload' option:

    sudo /etc/init.d/weewx reload 

    Monitoring weeWX

    -

    Weewx logs many events to the system log. +

    WeeWX logs many events to the system log. On Debian systems, this is /var/log/syslog, on SuSE, /var/log/messages. Your system may use yet another place. When troubleshooting the system, be sure to check @@ -709,10 +706,10 @@ sudo /etc/init.d/weewx restart

    If the server is on the same machine

    -

    The reports generated by weewx can be +

    The reports generated by weeWX can be served by a web server running on the same computer as - weewx. These are instructions for making - weewx reports available via the Apache + weeWX. These are instructions for making + weeWX reports available via the Apache web server. The process is similar for other web servers such as nginx or lighthttpd.

    @@ -720,35 +717,37 @@ sudo /etc/init.d/weewx restart
    1. Install the Apache web server on the computer on which - weewx is running. For example, on Debian - systems:

      + weeWX is running. For example, on Debian systems:

      sudo apt-get install apache2

    2. -

      Configure Apache to see the weewx reports.

      +

      Configure Apache to see the weeWX reports.

      • -

        If weewx was installed from DEB or RPM - package, no configuration should be necessary since the reports are placed - in the directory /var/www/html/weewx, +

        If weeWX was installed from DEB or RPM package, no + configuration should be necessary since the reports + are placed in the directory + /var/www/html/weewx, which is in the Apache DocumentRoot directory /var/www/html

      • -

        If weewx was installed using - setup.py, you must tell Apache - where to find the weewx reports. +

        If weeWX was installed using + setup.py, you must tell + Apache where to find the weeWX reports. One method is to install an Apache configuration snippet:

        sudo cp util/apache/conf.d/weewx.conf /etc/apache2/conf.d
        -

        Be sure that the path in the Apache configuration snippet matches the +

        Be sure that the path in the Apache configuration + snippet matches the HTML_ROOT defined in the - weewx configuration file. For example, - the path for a default setup.py installation + weeWX configuration file. For example, + the path for a default + setup.py installation would look like this:

        Alias /weewx /home/weewx/public_html
        @@ -764,18 +763,18 @@ sudo /etc/init.d/weewx restart
      • -

        Open the weewx URL in a web browser:

        +

        Open the weeWX URL in a web browser:

        http://localhost/weewx

    If the server is on a different machine

    -

    Use FTP or RSYNC to transfer the files generated by weewx to your - remote server. In weewx, FTP and RSYNC +

    Use FTP or RSYNC to transfer the files generated by weeWX to your + remote server. In weeWX, FTP and RSYNC are implemented as reports. They are configured in the [StdReport] section of the - weewx configuration file.

    + weeWX configuration file.

    For example, the following configuration would use RSYNC to copy the html and images files from the standard report to a folder /var/www/html/weewx on the server @@ -807,17 +806,17 @@ sudo /etc/init.d/weewx restart

    Making backups

    - To backup a weewx installation, you will - need to make a copy of

    + To backup a weeWX installation, you will need to make a copy of +

    • configuration information;
    • skins and templates;
    • any custom code or extensions you have installed;
    • -
    • the weewx database.
    • +
    • the weeWX database.

    It is not necessary to backup the generated images, HTML files, or - NOAA reports since weewx will easily + NOAA reports since weeWX will easily create these again.

    @@ -899,8 +898,8 @@ sudo /etc/init.d/weewx restart Do not make the copy of the SQLite database while in the middle of a transaction! Schedule the backup for immediately after an archive record is written, and then make sure the backup completes - before the next archive record arrives. Alternatively, stop weewx, - perform the backup, then restart weewx. + before the next archive record arrives. Alternatively, stop weeWX, + perform the backup, then restart weeWX.

    @@ -911,8 +910,8 @@ sudo /etc/init.d/weewx restart

    To restore from backup, do a fresh install of - weewx, replace the default files with - those from a backup, then start weewx. + weeWX, replace the default files with + those from a backup, then start weeWX.

    @@ -948,12 +947,12 @@ sudo /etc/init.d/weewx restart user = weewx password = weewx -

    This assumes user weewx would have password weewx. +

    This assumes user weeWX would have password weeWX. Adjust as necessary.

    -

    You will need to give the necessary permissions for the database weewx - to whatever MySQL user you choose, by - default, user weewx. Here are the necessary minimum +

    You will need to give the necessary permissions for the database + weeWX to whatever MySQL user you choose, by + default, user weeWX. Here are the necessary minimum permissions:

    mysql> CREATE USER 'weewx'@'localhost' IDENTIFIED BY 'weewx';
     mysql> GRANT select, update, create, delete, insert, drop ON weewx.* TO weewx@localhost;
    @@ -963,7 +962,7 @@ mysql> GRANT select, update, create, delete, insert, drop O

    sqlite3

    -

    The SQLite archive database used by weewx +

    The SQLite archive database used by weeWX (nominally, weewx.sdb) is completely compatible with the database used by wview (usually called @@ -972,7 +971,7 @@ mysql> GRANT select, update, create, delete, insert, drop O

    If you have data from wview, you can - 'import' them into weewx by simply copying the + 'import' them into weeWX by simply copying the SQLite database file. Assuming that the wview data are in file /var/wview/archive/wview-archive.sdb,

    @@ -985,7 +984,7 @@ sudo /etc/init.d/weewx start

    Internally, within the weewx.sdb database, - weewx also maintains a "daily summary" of all the statistics. This + weeWX also maintains a "daily summary" of all the statistics. This is done for performance reasons. The daily summary will automatically be built on the first startup. This could take a few minutes if the wview archive contains @@ -1001,13 +1000,13 @@ sudo /etc/init.d/weewx start

    MySQL

    The MySQL archive database used by wview is "almost" compatible with - weewx. The one difference is that in wview, the column interval is named arcInt (presumably because interval is a keyword in MySQL, although it can still be used by surrounding the word with backquotes).

    -

    To change the column name to what weewx uses, namely To change the column name to what weeWX uses, namely interval, use the utility mysql and issue the command:

    mysql> ALTER TABLE your-wview-archive-name CHANGE arcInt `interval` INTEGER NOT NULL; 
    @@ -1028,8 +1027,7 @@ sudo /etc/init.d/weewx start

    The configuration file weewx.conf is a big text file that holds the configuration information about your - installation of weewx. This includes things - such as:

    + installation of weeWX. This includes things such as:

    • The type of hardware you have;
    • The name of your station;
    • @@ -1062,7 +1060,7 @@ sudo /etc/init.d/weewx start

      Default values are provided for many options, meaning that if they are not listed in the configuration file at all, - weewx will pick sensible values. When the + weeWX will pick sensible values. When the documentation below gives a "default value" this is what it means.

      @@ -1083,8 +1081,8 @@ sudo /etc/init.d/weewx start

      WEEWX_ROOT

      -

      Set to the root directory of the weewx file - hierarchy for this station. Normally, this is set automatically by the +

      Set to the root directory of the weeWX file hierarchy for this + station. Normally, this is set automatically by the installation process. Required. No default.

      @@ -1210,7 +1208,7 @@ longitude = -77.0366

      If you have a website, you may optionally specify an URL for its HTML server. It will be included in the RSS file generated - by weewx and, if you choose to opt into the station + by weeWX and, if you choose to opt into the station registry, it will also be included in the map of weewx stations.

      @@ -1232,8 +1230,8 @@ longitude = -77.0366

      [Simulator]

      -

      This section is for options relating to the software weather station simulator - that comes with weewx.

      +

      This section is for options relating to the software weather + station simulator that comes with weeWX.

      loop_interval

      @@ -1299,8 +1297,7 @@ longitude = -77.0366

      polling_interval

      The polling_interval determines how often - weewx will query the station for data. The - default is 1 second. + weeWX will query the station for data. The default is 1 second.

      sensor_map

      @@ -1348,10 +1345,10 @@ longitude = -77.0366

      One of PERIODIC or ADAPTIVE. In PERIODIC mode, - weewx queries the console at regular intervals + weeWX queries the console at regular intervals determined by the polling_interval. In ADAPTIVE mode, - weewx attempts to query the + weeWX attempts to query the console at times when it is not reading data from the sensors or writing data to memory. See the section Polling Mode and the Polling Interval @@ -1359,7 +1356,7 @@ longitude = -77.0366

      polling_interval

      -

      The frequency, in seconds, at which weewx will +

      The frequency, in seconds, at which weeWX will poll the console for data. Default is 60. This setting applies only when the polling_mode is PERIODIC.

      @@ -1538,9 +1535,9 @@ longitude = -77.0366 seconds.

      The wmr200 hardware records archive data at an immutable rate of 60 - seconds. This field may be set to a higher value enabling the weewx + seconds. This field may be set to a higher value enabling the weeWX engine to coalesce live data packets. However, when the wmr200 is not - connected to a system via USB or if the weewx software is not running, + connected to a system via USB or if the weeWX software is not running, the wmr200 console will continue to store weather data in onboard console memory at a fixed rate of 60 seconds.

      @@ -1677,7 +1674,7 @@ longitude = -77.0366

      polling_interval

      The polling_interval determines how often - weewx will query the station for data. The + weeWX will query the station for data. The default is 1 second.

      @@ -1701,9 +1698,9 @@ longitude = -77.0366

      polling_interval

      The polling_interval determines how often - weewx will query the station for data. If no + weeWX will query the station for data. If no polling_interval is specified (the default), - weewx will automatically use a polling interval + weeWX will automatically use a polling interval based on the type of connection between the station and the sensors (wired or wireless). When connected with a wire, the console updates sensor data every 8 seconds. When connected wirelessly, the console @@ -1737,7 +1734,7 @@ longitude = -77.0366

      [[StationRegistry]]

      -

      A registry of weewx weather stations +

      A registry of weeWX weather stations is maintained at weewx.com. Stations are displayed on a map and a list at http://weewx.com/stations.html @@ -1745,8 +1742,8 @@ longitude = -77.0366

      How does the registry work? Individual weather stations periodically contact the registry. Each station provides a URL to - identify itself, plus other information such as the station type and - weewx version. No personal information, nor + identify itself, plus other information such as the station type + and weeWX version. No personal information, nor any meteorological data, is sent.

      To add your station to this list, you must do two things:

      @@ -1799,7 +1796,7 @@ longitude = -77.0366

      [[AWEKAS]]

      -

      weewx can send your +

      WeeWX can send your current data to the Automatisches Wetterkarten System (AWEKAS). If you wish to do this, set the option enable to @@ -1840,7 +1837,7 @@ longitude = -77.0366

      [[CWOP]]

      -

      Weewx can send your current data to the +

      WeeWX can send your current data to the Citizen Weather Observer Program. If you wish to do this, set the option enable to true, @@ -1886,7 +1883,7 @@ longitude = -77.0366

      How old a record can be before it will not be used for a catch up. CWOP does not use the timestamp on a posted record. Instead, they use the wall clock time that it came in. This means that if your station is off the - air for a long period of time, then when weewx + air for a long period of time, then when weeWX attempts a catch up, old data could be interpreted as the current conditions. Optional. Default is 1800 seconds.

      @@ -1906,7 +1903,7 @@ longitude = -77.0366

      [[PWSweather]]

      -

      Weewx can send your current data to the +

      WeeWX can send your current data to the PWSweather.com service. If you wish to do this, set the option enable to true, @@ -1944,7 +1941,7 @@ longitude = -77.0366

      [[WOW]]

      -

      Weewx can send your +

      WeeWX can send your current data to the British Weather Observations Website (WOW) service. If you wish to do this, set the option enable to @@ -1984,7 +1981,7 @@ longitude = -77.0366

      [[Wunderground]]

      - Weewx can send your current data to the + WeeWX can send your current data to the Weather Underground. If you wish to do this, set the option enable to true, then set the options @@ -2018,7 +2015,7 @@ longitude = -77.0366

      rapidfire

      - Set to True to have weewx + Set to True to have weeWX post using the Weather Underground's "Rapidfire" protocol. This will send a post to the @@ -2030,7 +2027,7 @@ longitude = -77.0366

      archive_post

      - This option tells weewx to post on every + This option tells weeWX to post on every archive record, which is the normal "PWS" mode for the Weather Underground. Because they prefer that you either use their "Rapidfire" protocol, or their PWS mode, but not both, the default @@ -2169,7 +2166,7 @@ longitude = -77.0366

      max_tries

      -

      Weewx will try up to this many times to FTP a file +

      WeeWX will try up to this many times to FTP a file up to your server before giving up. Default is 3.

      [[RSYNC]]

      @@ -2191,7 +2188,7 @@ longitude = -77.0366

      user

      Set to the ssh username you use for your rsync connection to your web server. - The local user that weewx runs as must have passwordless ssh configured for + The local user that weeWX runs as must have passwordless ssh configured for user@server. Required. No default.

      path

      @@ -2217,7 +2214,7 @@ longitude = -77.0366 unit system. Hence, your data will be stored in the database using whatever unit system you specify here.

      -

      Once chosen, it cannot be changed! weewx does not allow you to +

      Once chosen, it cannot be changed! WeeWX does not allow you to mix unit systems within the databases. You must chose a unit system and then stick with it. This means that users coming from wview (which uses US Customary) should not change the default setting. Having said @@ -2448,7 +2445,7 @@ longitude = -77.0366

For example, if your weather station calculates windchill using the pre-2001 algorithm, and you prefer to have - weewx calculate it using a current algorithm, + weeWX calculate it using a current algorithm, specify the following:

[StdWXCalculate]
@@ -2481,9 +2478,9 @@ longitude = -77.0366

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 + weeWX tries to download archive records from your station. However, not all types of stations support this, in which case - weewx falls back to software generation. A setting + weeWX falls back to software generation. A setting of hardware will work for most users. A notable exception is users who have cobbled together homebrew serial interfaces for the Vantage stations @@ -2716,27 +2713,27 @@ longitude = -77.0366

[Engine]

- This section is used to configure the internal service engine in weewx. It is for advanced customization. Details - on how to do this can be found in the section Customizing the weewx - service engine of the Customization - Guide. + This section is used to configure the internal service engine in + weeWX. It is for advanced customization. Details + on how to do this can be found in the section + Customizing the weeWX + service engine of the + Customization Guide.

[[Services]]

- Internally, weewx consists of many services, + Internally, weeWX consists of many services, each responsible for some aspect of the program's functionality. After an event happens, such as the arrival of a new LOOP packet, any interested service gets a chance to do some useful work on the event. For example, a service might manipulate the packet, print it out, store it in a database, etc. This section controls which services are loaded and in what - order they get their opportunity to do that work. Before weewx v2.6, this section held one, looong + order they get their opportunity to do that work. Before weeWX + v2.6, this section held one, looong option called service_list, which held the names of all the services that should be run. Since then, this list has been broken down into five, smaller, lists, given below. @@ -2796,7 +2793,7 @@ report_services = weewx.engine.StdPrint, weewx.engine.StdReport

Troubleshooting

This section lists some common problems installing and running - weewx. If you are stuck, be sure to:

+ weeWX. If you are stuck, be sure to:

-

This is a reference guide to the executable utilities that come with weewx:

+

This is a reference guide to the executable utilities that come with weeWX: