Files
weewx/docs/hardware.htm
John Kline 23adb5624a Upgrade CC3000 Section of Hardware Guide (#488)
* Robustness enhancements to cc3000 driver including py2/py3 support
cc300.py:
- changes to work on both py2/py3 (tested on both)
- change timeout to 1s (more not needed)
- retry commands when reading cmd echo times out (the signal of failure)
- use timeout of 20s for memory clear (which takes about 12s)
- various changes as assumptions of commands not currently correct (tried on 2 units)
- use weewx.wxformulas.calculate_rain for rain delta
- use weewx.crc16

engine.py:
- Failure to get time from driver is not treated as an error.

rsyncupload.py:
- Add timeout option.
- Change to allow single file to be rsynced.

util/logwatch/scripts/services/weewx:
- Changes to organize very detailed cc3000 output in logwatch reports.

* cc3000 driver cleanup and fixes

* rework genStartup, implement history-since, don't convert to unicode on py2

* fix typo

* fix typo

* Change logwatch script to match capitalization change in wxformulas.calculate_rain

* logwatch change to match engine.py log message change

* Another round of cleaning up the logwatch script.

* remove tabs in logwatch script

* Add missing commands.  Get running under debug=1 in PY3.

* A better _format_bytes.

* Make use of weeutil.y_or_n for prompting.

* rewrite function to download archive records, refactor command function

* minor changes to exec_cmd_with_retries, add all cmds to logwatch script

* Update comments.

* change/add comment

* Poll on polling_interval boundaries (rather than slowly drifting).

* Update CC3000 documentation.  Add missing headers command to CC3000 configurator.
2020-01-05 04:39:33 -07:00

5245 lines
185 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<title>weewx: Hardware Guide</title>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
<link rel="icon" href="images/favicon.png" type="image/png"/>
<link rel="stylesheet" href="css/tocbot-4.3.1.css">
<link rel="stylesheet" href="css/weewx_ui.css"/>
<script src="js/cash.js"></script>
<script src="js/tocbot-4.3.1.min.js"></script>
<script src="js/weewx.js"></script>
<script>
$(function () {
make_ids('#technical_content');
let level = get_level_from_cookie();
create_toc_level_control(level);
create_toc(level);
})
</script>
<style>
#usbmode td {
text-align: center;
}
</style>
</head>
<body>
<div class="sidebar">
<div class="doclist">
<a href="usersguide.htm">User's Guide</a><br/>
<a href="customizing.htm">Customization Guide</a><br/>
<a href="hardware.htm">Hardware Guide</a><br/>
<a href="utilities.htm">Utilities Guide</a><br/>
<a href="upgrading.htm">Upgrade Guide</a><br/>
<a href="devnotes.htm">Notes for Developers</a>
</div>
<div id="toc_controls">
<!-- The TOC select list will be injected here -->
</div>
<div id="toc_parent">
<div id="toc-location" class="toc">
<!-- The table of contents will be injected here -->
</div>
</div>
</div>
<div class="main">
<div class="header">
<div class="logoref">
<a href='http://weewx.com'> <img src='images/logo-weewx.png' class='logo' style="float:right" alt="weewx logo"/>
</a><br/> <span class='version'>
Version: 4.0
</span>
</div>
<div class="title">WeeWX Hardware Guide</div>
</div>
<div id="technical_content" class="content">
<h1 id="driver_status">Driver status</h1>
<p>The following table enumerates many of the weather stations that
are known to work with WeeWX. If your
station is not in the table, check the pictures at the
<a href="http://weewx.com/hardware.html">supported hardware page</a> &mdash;
it could be a variation of one of the supported models. You can also
check the <a href="http://weewx.com/hwcmp.html">station comparison</a>
table &mdash; sometimes new models use the same communication protocols
as older hardware.
</p>
<p>The maturity column indicates the degree of confidence in the
driver. For stations marked <em>Tested</em>,
the station is routinely tested as part of the release process
and should work as documented. For stations not marked at all,
they are "known to work" using the indicated driver, but are not
routinely tested. For stations marked
<em>Experimental</em>, we are still working
on the driver. There can be problems.
</p>
<table class="indent">
<caption>Weather hardware supported by WeeWX</caption>
<tr class="first_row">
<td>Vendor</td>
<td>Model</td>
<td>Hardware<br/>Interface</td>
<td>Required<br/>Package</td>
<td>Station<br/>Driver</td>
<td>Maturity</td>
</tr>
<tr>
<td class="text_highlight" rowspan="8">AcuRite</td>
<td>01025</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>AcuRite<sup><a href='#acurite'>13</a></sup></td>
<td></td>
</tr>
<tr>
<td>01035</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>AcuRite<sup><a href='#acurite'>13</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>01036</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>AcuRite<sup><a href='#acurite'>13</a></sup></td>
<td></td>
</tr>
<tr>
<td>01525</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>AcuRite<sup><a href='#acurite'>13</a></sup></td>
<td></td>
</tr>
<tr>
<td>02032</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>AcuRite<sup><a href='#acurite'>13</a></sup></td>
<td></td>
</tr>
<tr>
<td>02064</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>AcuRite<sup><a href='#acurite'>13</a></sup></td>
<td></td>
</tr>
<tr>
<td>06037</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>AcuRite<sup><a href='#acurite'>13</a></sup></td>
<td></td>
</tr>
<tr>
<td>06039</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>AcuRite<sup><a href='#acurite'>13</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight">Argent Data Systems</td>
<td>WS1</td>
<td>Serial</td>
<td class="code">pyusb</td>
<td>WS1<sup><a href='#ads'>10</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="2">Aercus</td>
<td>WS2083</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WS3083</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="5">Ambient Weather</td>
<td>WS1090</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>WS2080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>WS2080A</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>WS2090</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WS2095</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="2">Cresta</td>
<td>WRX815</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>PWS720</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="3">DAZA</td>
<td>DZ-WH1080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>DZ-WS3101</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>DZ-WS3104</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="3">Davis</td>
<td>VantagePro2</td>
<td>Serial or USB</td>
<td class="code">pyserial</td>
<td>Vantage<sup><a href='#vantage'>1</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>VantagePro2</td>
<td>WeatherLink IP</td>
<td class="code">&nbsp;</td>
<td>Vantage<sup><a href='#vantage'>1</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>VantageVue</td>
<td>Serial or USB</td>
<td class="code">pyserial</td>
<td>Vantage<sup><a href='#vantage'>1</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td class="text_highlight" rowspan="2">Elecsa</td>
<td>6975</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>6976</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight">Excelvan</td>
<td>Excelvan</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="11">Fine Offset</td>
<td>WH1080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH1081</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH1091</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH1090</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WS1080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WA2080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WA2081</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH2080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH2081</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH3080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH3081</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="3">Froggit</td>
<td>WS8700</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH1080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WH3080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="1">General Tools</td>
<td>WS831DL</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="6">Hideki</td>
<td>DV928</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>TE821</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>TE827</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>TE831</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>TE838</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>TE923</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight">Huger</td>
<td>WM918</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>WMR9x8<sup><a href='#wmr9x8'>5</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight">IROX</td>
<td>Pro X</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="4">La Crosse</td>
<td>C86234</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WS28xx<sup><a href='#ws28xx'>8</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>WS-1640</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>WS-23XX</td>
<td>Serial</td>
<td class="code">fcntl/select</td>
<td>WS23xx<sup><a href='#ws23xx'>7</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>WS-28XX</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WS28xx<sup><a href='#ws28xx'>8</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="2">Maplin</td>
<td>N96GY</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>N96FY</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="3">Meade</td>
<td>TE923W</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>TE923W-M</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>TE924W</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight">Mebus</td>
<td>TE923</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight">National Geographic</td>
<td>265</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="14">Oregon Scientific</td>
<td>WMR88</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR100<sup><a href='#wmr100'>2</a></sup></td>
<td></td>
</tr>
<tr>
<td>WMR88A</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR100<sup><a href='#wmr100'>2</a></sup></td>
<td></td>
</tr>
<tr>
<td>WMR100</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR100<sup><a href='#wmr100'>2</a></sup></td>
<td></td>
</tr>
<tr>
<td>WMR100N</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR100<sup><a href='#wmr100'>2</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>WMR180</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR100<sup><a href='#wmr100'>2</a></sup></td>
<td></td>
</tr>
<tr>
<td>WMR180A</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR100<sup><a href='#wmr100'>2</a></sup></td>
<td></td>
</tr>
<tr>
<td>WMRS200</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR100<sup><a href='#wmr100'>2</a></sup></td>
<td></td>
</tr>
<tr>
<td>WMR200</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR200<sup><a href="#wmr200">3</a></sup></td>
<td>Experimental</td>
</tr>
<tr>
<td>WMR200A</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR200<sup><a href="#wmr200">3</a></sup></td>
<td>Experimental</td>
</tr>
<tr>
<td>WMR300</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR300<sup><a href="#wmr300">4</a></sup></td>
<td>Experimental</td>
</tr>
<tr>
<td>WMR300A</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR300<sup><a href="#wmr300">4</a></sup></td>
<td>Experimental</td>
</tr>
<tr>
<td>WMR918</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>WMR9x8<sup><a href='#wmr9x8'>5</a></sup></td>
<td></td>
</tr>
<tr>
<td>WMR928N</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>WMR9x8<sup><a href='#wmr9x8'>5</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td>WMR968</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>WMR9x8<sup><a href='#wmr9x8'>5</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td class="text_highlight" rowspan="4">PeetBros</td>
<td>Ultimeter 100</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>Ultimeter<sup><a href='#peetbros'>11</a></sup></td>
<td></td>
</tr>
<tr>
<td>Ultimeter 800</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>Ultimeter<sup><a href='#peetbros'>11</a></sup></td>
<td></td>
</tr>
<tr>
<td>Ultimeter 2000</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>Ultimeter<sup><a href='#peetbros'>11</a></sup></td>
<td></td>
</tr>
<tr>
<td>Ultimeter 2100</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>Ultimeter<sup><a href='#peetbros'>11</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="2">RainWise</td>
<td>Mark III</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>CC3000<sup><a href='#rainwise'>12</a></sup></td>
<td></td>
</tr>
<tr>
<td>CC3000</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>CC3000<sup><a href="#rainwise">12</a></sup></td>
<td>Tested</td>
</tr>
<tr>
<td class="text_highlight" rowspan="3">Radio Shack</td>
<td>63-256</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR100<sup><a href='#wmr100'>2</a></sup></td>
<td></td>
</tr>
<tr>
<td>WX200</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WMR200<sup><a href="#wmr200">3</a></sup></td>
<td>Experimental</td>
</tr>
<tr>
<td>63-1016</td>
<td>Serial</td>
<td class="code">pyserial</td>
<td>WMR9x8<sup><a href='#wmr9x8'>5</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="2">Sinometer</td>
<td>WS1080 / WS1081</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WS3100 / WS3101</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan='2'>TechnoLine</td>
<td>WS-2300</td>
<td>Serial</td>
<td class="code">fcntl/select</td>
<td>WS23xx<sup><a href='#ws23xx'>7</a></sup></td>
<td></td>
</tr>
<tr>
<td>WS-2350</td>
<td>Serial</td>
<td class="code">fcntl/select</td>
<td>WS23xx<sup><a href='#ws23xx'>7</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan='5'>TFA</td>
<td>Matrix</td>
<td>Serial</td>
<td class="code">fcntl/select</td>
<td>WS23xx<sup><a href='#ws23xx'>7</a></sup></td>
<td></td>
</tr>
<tr>
<td>Nexus</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>Opus</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WS28xx<sup><a href='#ws28xx'>8</a></sup></td>
<td></td>
</tr>
<tr>
<td>Primus</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>WS28xx<sup><a href='#ws28xx'>8</a></sup></td>
<td></td>
</tr>
<tr>
<td>Sinus</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight">Tycon</td>
<td>TP1080WC</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="2">Watson</td>
<td>W-8681</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td>WX-2008</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight">Velleman</td>
<td>WS3080</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>FineOffsetUSB<sup><a href='#fousb'>6</a></sup></td>
<td></td>
</tr>
<tr>
<td class="text_highlight" rowspan="2">Ventus</td>
<td>W831</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
<tr>
<td>W928</td>
<td>USB</td>
<td class="code">pyusb</td>
<td>TE923<sup><a href='#te923'>9</a></sup></td>
<td></td>
</tr>
</table>
<ol>
<li><a id="vantage">Davis &quot;Vantage&quot; series</a> of weather
stations, including the
<a href="http://www.davisnet.com/weather/products/vantage-pro-professional-weather-stations.asp">VantagePro2</a>&trade;
and
<a href="http://www.vantagevue.com/">VantageVue</a>&trade;,
using serial, USB, or
<a href="http://www.davisnet.com/weather/products/weather_product.asp?pnum=06555">WeatherLinkIP</a>&trade;
connections. Both the &quot;Rev A&quot; (firmware dated before
22 April 2002) and &quot;Rev B&quot; versions are supported.
</li>
<li><a id="wmr100">Oregon Scientific WMR-100 stations.</a> Tested on the
<a href="http://us.oregonscientific.com/cat-Weather-sub-Professional-Weather-Stations-prod-Pro-Wireless-Weather-Station.html">Oregon
Scientific WMR100N</a>.
</li>
<li><a id="wmr200">Oregon Scientific WMR-200 stations.</a> Tested on the
<a href="http://www.oregonscientificstore.com/Oregon-Scientific-WMR200-Bundle-Complete-Weather-Bundle.data">Oregon
Scientific WMR200</a>.
</li>
<li><a id="wmr300">Oregon Scientific WMR-300 stations.</a> Tested on the
<a href="http://www.oregonscientificstore.com/p-358-oregon-scientific-wmr300-ultra-precision-professional-weather-system.aspx">Oregon
Scientific WMR300A</a>.
</li>
<li><a id="wmr9x8">Oregon Scientific WMR-9x8 stations.</a> Tested on the
<a href="http://www.oregonscientificstore.com/oregon_scientific/product.asp?itmky=659831">Oregon
Scientific
WMR968</a>.
</li>
<li><a id="fousb">Fine Offset 10xx, 20xx, and 30xx stations.</a>
Tested on the
<a href="http://www.ambientweather.com/amws2080.html">Ambient Weather WS2080</a>.
</li>
<li><a id="ws23xx">La Crosse WS-23xx stations.</a> Tested on the
<a href="http://lacrossetechnologies.com/2317/">La Crosse 2317</a>.
</li>
<li><a id="ws28xx">La Crosse WS-28xx stations.</a> Tested on the
<a href="http://lacrossetechnologies.com/2814/">La Crosse C86234</a>.
</li>
<li><a id="te923">Hideki Professional Weather Stations.</a> Tested on the
<a href="http://www.ambientweather.com/hotewiwest.html">Meade TE923</a>.
</li>
<li><a id="ads">ADS WS1 Stations.</a> Tested on the
<a href="http://www.argentdata.com/catalog/product_info.php?products_id=135">WS1</a>.
</li>
<li><a id="peetbros">PeetBros Ultimeter Stations.</a> Tested on the
<a href="http://www.peetbros.com/">Ultimeter 2000</a>.
</li>
<li><a id="rainwise">RainWise Mark III Stations.</a> Tested on the
<a href="http://www.rainwise.com/">CC3000</a>
(firmware "Rainwise CC-3000 Version: 1.3 Build 022 Dec 02 2016").
</li>
<li><a id="acurite">AcuRite Weather Stations.</a> Tested on the
<a href="http://www.acurite.com/8-pro-digital-weather-station-with-pc-connect-01036.html">01036RX</a>.
</li>
</ol>
<!-- ********** -->
<h1 id='acurite_notes'>AcuRite</h1>
<p>According to Acurite, the wind speed updates every 18 seconds.
The wind direction updates every 30 seconds. Other sensors update
every 60 seconds.</p>
<p>In fact, because of the message structure and the data logging
design, these are the actual update frequencies:</p>
<table class='station_data'>
<caption>AcuRite transmission periods</caption>
<tbody>
<tr><th>sensor</th><th>period</th></tr>
<tr><td>Wind speed</td><td>18 seconds</td></tr>
<tr><td>Outdoor temperature, outdoor humidity</td><td>36 seconds</td></tr>
<tr><td>Wind direction, rain total</td><td>36 seconds</td></tr>
<tr><td>Indoor temperature, pressure</td><td>60 seconds</td></tr>
<tr><td>Indoor humidity</td><td>12 minutes (only when in USB mode 3)</td></tr>
</tbody>
</table>
<p>The station emits partial packets, which may confuse some online
services.</p>
<p>The AcuRite stations do not record wind gusts.</p>
<p>Some consoles have a small internal logger. Data in the logger
are erased when power is removed from the station.</p>
<p>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
logger.</p>
<h2 id="acurite_usb_mode">USB Mode</h2>
<p>Some AcuRite consoles have a setting called "USB Mode" that controls
how data are saved and communicated:</p>
<table id='usbmode' class='station_data'>
<caption>AcuRite USB mode</caption>
<tbody>
<tr>
<th>Mode</th>
<th>Show data<br/>in display</th>
<th>Store data<br/>in logger</th>
<th>Send data<br/>over USB</th>
</tr>
<tr><td>1</td><td>yes</td><td>yes</td><td></td></tr>
<tr><td>2</td><td>yes</td><td></td><td></td></tr>
<tr><td>3</td><td>yes</td><td>yes</td><td>yes</td></tr>
<tr><td>4</td><td>yes</td><td></td><td>yes</td></tr>
</tbody>
</table>
<p>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.</p>
<p>Communication
via USB is disabled in modes 1 and 2. Mode 4 is more reliable than
mode 3; mode 3 enables logging of data, mode 4 does not. When the
console is logging it frequently causes USB communication
problems.</p>
<p>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.</p>
<p>The 01025, 01035, 01036, 01525, and 02032 consoles have a USB mode
setting.</p>
<p>The 02064 and 01536 consoles do not have a mode setting; these
consoles are always in USB mode 4.</p>
<h2 id='acurite_configuration'>Configuring with <span class="code">wee_device</span></h2>
<p>The <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> utility
cannot be used to configure AcuRite stations.</p>
<h2 id="acurite_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>AcuRite station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_in</td>
<td></td>
<td></td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td></td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rxCheckPercent</td>
<td>rssi</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTempBatteryStatus</td>
<td>battery</td>
<td>H</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
Each packet contains a subset of all possible readings. For example, one type of packet contains <span
class='code'>windSpeed</span>, <span class='code'>windDir</span> and <span class='code'>rain</span>. A
different type of packet contains <span class='code'>windSpeed</span>, <span class='code'>outTemp</span> and
<span class='code'>outHumidity</span>.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='cc3000_notes'>CC3000</h1>
<p>The CC3000 data logger stores 2MB of records.</p>
<p>When the logger fills up, it stops recording.</p>
<p>When WeeWX starts up it will attempt to
download all records from the logger since the last record in the
archive database.</p>
<p>The driver does not support hardware record generation.</p>
<p>The CC3000 data logger may be configured to return data in METRIC
or ENGLISH units. These are then mapped to the WeeWX unit groups
METRICWX or US, respectively.</p>
<h2 id='cc3000_configuration'>Configuring with <span class="code">wee_device</span></h2>
<p class="note">
Make sure you stop <span class="code">weewxd</span> before running
<span class="code">wee_device</span>.
</p>
<h3 id="cc3000_help">
Action <span class="code">--help</span></h3>
<p>Invoking <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> with the
<span class='code'>--help</span> option</p>
<pre class="tty cmd">wee_device --help</pre>
<p>will produce something like this:</p>
<pre class="tty">
Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
Usage: wee_device [config_file] [options] [-y] [--debug] [--help]
Configuration utility for weewx devices.
Options:
-h, --help show this help message and exit
--debug display diagnostic information while running
-y answer yes to every prompt
--info display weather station configuration
--current display current weather readings
--history=N display N records (0 for all records)
--history-since=N display records since N minutes ago
--clear-memory clear station memory
--get-header display data header
--get-rain get the rain counter
--reset-rain reset the rain counter
--get-max get the max values observed
--reset-max reset the max counters
--get-min get the min values observed
--reset-min reset the min counters
--get-clock display station clock
--set-clock set station clock to computer time
--get-interval display logger archive interval, in seconds
--set-interval=N set logging interval to N seconds
--get-units show units of logger
--set-units=UNITS set units to METRIC or ENGLISH
--get-dst display daylight savings settings
--set-dst=mm/dd HH:MM,mm/dd HH:MM,[MM]M
set daylight savings start, end, and amount
--get-channel display the station channel
--set-channel=CHANNEL
set the station channel</pre>
<h3>Action <span class="code">--info</span></h3>
<p>Display the station settings with
<span class='code'>--info</span></p>
<pre class="tty cmd">wee_device --info</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
Firmware: Rainwise CC-3000 Version: 1.3 Build 022 Dec 02 2016
Time: 2020/01/04 15:38:14
DST: 03/08 02:00,11/01 02:00,060
Units: ENGLISH
Memory: 252242 bytes, 4349 records, 12%
Interval: 300
Channel: 0
Charger: CHARGER=OFF,BATTERIES=5.26V
Baro: 30.37
Rain: 3.31
HEADER: ['HDR', '"TIMESTAMP"', '"TEMP OUT"', '"HUMIDITY"', '"PRESSURE"', '"WIND DIRECTION"', '"WIND SPEED"',~
MAX: ['MAX', '11:59 61.1', '02:47 99', '09:51 30.42', '13:32 337', '13:32 13.3', '00:00 0.00', '09:20 ~
MIN: ['MIN', '02:19 40.6', '14:42 66', '00:34 30.24', '00:00 67', '00:00 0.0', '00:00 0.00', '06:48 ~</pre>
<h3 id="cc3000_current">
Action <span class="code">--current</span></h3>
<p>Returns the current values in a comma-delimited format. The order of
the data values corresponds to the output of the
<span class="code">--get-header</span> command.
<span class="code">NO DATA</span> is returned if the unit has not
received a transmission from the weather station.</p>
<pre class="tty cmd">wee_device --current</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
{'dateTime': 1578175453.0, 'outTemp': 58.6, 'outHumidity': 71.0, 'pressure': 30.36, 'windDir': 315.0, ~</pre>
<h3 id="cc3000_history">Action <span class="code">--history=N</span></h3>
<p>Display the latest <span class="code">N</span> records from the
CC3000 logger memory. Use a value of <span class="code">0</span>
to display all records. Note: because there may be other records
mixed in with the archive records, this command will display an
extra seven records per day (or partial day).</p>
<pre class="tty cmd">wee_device --history=2</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
['REC', '2020/01/04 13:25', ' 58.9', ' 71', '30.36', '344', ' 4.9', ' 10.7', ' 0.00', ' 7.44', ' 5.26', ~
['REC', '2020/01/04 13:30', ' 59.0', ' 71', '30.36', '327', ' 3.6', ' 10.0', ' 0.00', ' 7.32', ' 5.26', ~
['REC', '2020/01/04 13:35', ' 59.1', ' 70', '30.36', '305', ' 5.5', ' 13.3', ' 0.00', ' 7.44', ' 5.26', ~
['REC', '2020/01/04 13:40', ' 59.1', ' 70', '30.36', '330', ' 3.4', ' 8.9', ' 0.00', ' 7.08', ' 5.26', ~
['REC', '2020/01/04 13:45', ' 58.9', ' 70', '30.36', '318', ' 2.6', ' 7.2', ' 0.00', ' 7.17', ' 5.26', ~
['REC', '2020/01/04 13:50', ' 58.8', ' 71', '30.36', '312', ' 3.6', ' 7.9', ' 0.00', ' 7.14', ' 5.26', ~
['REC', '2020/01/04 13:55', ' 58.9', ' 71', '30.36', '330', ' 4.5', ' 10.0', ' 0.00', ' 7.20', ' 5.26', ~
['REC', '2020/01/04 14:00', ' 58.8', ' 71', '30.36', '331', ' 4.6', ' 9.6', ' 0.00', ' 7.38', ' 5.26', ~
['REC', '2020/01/04 14:05', ' 58.6', ' 71', '30.36', '331', ' 4.0', ' 9.3', ' 0.00', ' 7.29', ' 5.26', ~</pre>
<h3 id="cc3000_history_since">
Action <span class="code">--history-since=N</span></h3>
<p>Display all CC3000 logger memory records created in
the last <span class="code">N</span> minutes.</p>
<pre class="tty cmd">wee_device --history-since=10</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
{'dateTime': 1578175800.0, 'outTemp': 58.6, 'outHumidity': 70.0, 'pressure': 30.36, 'windDir': 316.0, ~
{'dateTime': 1578176100.0, 'outTemp': 58.7, 'outHumidity': 70.0, 'pressure': 30.36, 'windDir': 317.0, ~</pre>
<h3 id="cc3000_clear_memory">Action <span class="code">--clear-memory</span></h3>
<p>Use <span class='code'>--clear-memory</span> to erase all records
from the logger memory.</p>
<pre class="tty cmd">wee_device --clear-memory</pre>
<h3 id="cc3000_get_header">
Action <span class="code">--get-header</span></h3>
<p>Returns a series of comma delimited text descriptions. These
descriptions are used to identify the type and order of the returned
data in both <span class="code">--get-current</code>,
<span class="code">--download=N</code> and
<span class="code">--download-since=N</code> commands.</p>
<pre class="tty cmd">wee_device --get-header</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
['HDR', '"TIMESTAMP"', '"TEMP OUT"', '"HUMIDITY"', '"PRESSURE"', '"WIND DIRECTION"', '"WIND SPEED"', ~</pre>
<h3 id="cc3000_get_rain">
Action <span class="code">--get-rain</span></h3>
<p>Display the raing counter.</p>
<p>The CC-3000 maintains a rainfall counter that is only reset by a
reboot or by issuing the reset command. The counter counts in 0.01”
in- crements and rolls over at 65536 counts. Issuing the rainfall
reset command will clear all rainfall counters including the current
daily rainfall.</p>
<pre class="tty cmd">wee_device --get-rain</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
3.31</pre>
<h3 id="reset_rain">Action <span class="code">--reset-rain</span></h3>
<p>Reset the rain counter to zero.</p>
<pre class="tty cmd">wee_device --reset-rain</pre>
<h3 id="cc3000_get_max">
Action <span class="code">--get-max</span></h3>
<p>Get the maximum values observed since the last time
<p>Output parameter order: Outside temperature, humidity, pressure,
wind direction, wind speed, rainfall (daily total), station
voltage, inside temperature. If any optional sensors have been
enabled they will also be displayed.</p>
<pre class="tty cmd">wee_device --get-max</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
['MAX', '11:59 61.1', '02:47 99', '09:51 30.42', '13:32 337', '13:32 13.3', '00:00 0.00', '09:20 ~</pre>
<h3 id="reset_max">Action <span class="code">--reset-max</span></h3>
<p>Reset the maximum values.</p>
<pre class="tty cmd">wee_device --reset-max</pre>
<h3 id="cc3000_get_min">
Action <span class="code">--get-min</span></h3>
<p>Get the minimum values observed since the last time
<p>Output parameter order: Outside temperature, humidity, pressure,
wind direction, wind speed, rainfall (ignore), station
voltage, inside temperature. If any optional sensors have been
enabled they will also be displayed.</p>
<pre class="tty cmd">wee_device --get-min</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
['MIN', '02:19 40.6', '14:42 66', '00:34 30.24', '00:00 67', '00:00 0.0', '00:00 0.00', '06:48 ~</pre>
<h3 id="reset_min">Action <span class="code">--reset-min</span></h3>
<p>Reset the minimum values.</p>
<pre class="tty cmd">wee_device --reset-min</pre>
<h3 id="cc3000_get_clock">
Action <span class="code">--get-clock</span></h3>
<p>Get the time.</p>
<pre class="tty cmd">wee_device --get-clock</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
2020/01/04 15:01:34</pre>
<h3 id="set_clock">Action <span class="code">--set-clock</span></h3>
<p>Set the station clock to match the date/time of the computer.</p>
<pre class="tty cmd">wee_device --set-clock</pre>
<h3 id="cc3000_get_interval">
Action <span class="code">--get-interval</span></h3>
<p>Returns the current logging interval (in seconds).</p>
<pre class="tty cmd">wee_device --get-interval</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
300</pre>
<h3 id="cc3000_set_interval">
Action <span class="code">--set-interval=N</span></h3>
<p>Set the archive interval.
CC3000 loggers ship from the factory with an archive interval of
1 minutes (60 seconds). To change the
station's interval to 300 seconds (5 minutes), do the following:</p>
<pre class="tty cmd">wee_device --set-interval=5</pre>
<h3 id="cc3000_get_units">
Action <span class="code">--get-units</span></h3>
<p>Returns the current measurement units.</p>
<pre class="tty cmd">wee_device --get-units</pre>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
ENGLISH</pre>
<h3>Action <span class="code">--set-units</span></h3>
<p>The CC3000 can display data in either ENGLISH or METRIC unit
systems. Use <span class="code">--set-units</span> to specify
one or the other.</p>
<p>The CC3000 driver automatically converts the units to maintain
consistency with the units in WeeWX.
</p>
<pre class="tty cmd">wee_device --set-units=ENGLISH</pre>
<h3 id="cc3000_get_dst">
Action <span class="code">--get-dst</span></h3>
<p>Return the dates and times when the clock will change due to daylight
saving and the number of minutes that the clock will change.</p>
<p>This will result in something like:</p>
<pre class='tty'>Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
03/08 02:00,11/01 02:00,060</pre>
<h3>Action <span class="code">--set-dst</span></h3>
<p>Set the station start, end, and amount of daylight savings.</p>
<p>The schedule can be set by adding the three parameters,
forward date and time, back date and time and number of minutes to
change (120 max). Daylight saving can be disabled by setting the
daylight-saving to zero.</p>
<pre class="tty cmd">wee_device --set-dst="03/08 02:00,11/01 02:00,060"</pre>
<pre class="tty cmd">wee_device --set-dst=0</pre>
<h3 id="cc3000_get_channel">
Action <span class="code">--get-channel</span></h3>
<p>Displays the station channel (0-3).</p>
<p>This will result in something like:</p>
<pre class='tty'>Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
0</pre>
<h3>Action <span class="code">--set-channel=N</span></h3>
<p>Rainwise stations transmit on one of four channels. If you have
multiple instrument clusters within a kilometer or so of each
other, you should configure each to use a different channel.
In the instrument cluster, remove the cover and set the DIP
switches 0 and 1. Use <span class="code">--set-channel</span>
to a value of 0-3 to match that of the instrument cluster.</p>
<pre class="tty cmd">wee_device --set-channel=0</pre>
<h2 id="cc3000_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>CC3000 station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>PRESSURE</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>TEMP IN</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>TEMP OUT</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>HUMIDITY</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>WIND SPEED</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>WIND DIRECTION</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>WIND GUST</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain_delta</td>
<td>D</td>
<td>D</td>
</tr>
<tr>
<td class='first_col'></td>
<td>RAIN</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>radiation<sup>1</sup></td>
<td>SOLAR RADIATION</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>UV<sup>1</sup></td>
<td>UV INDEX</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>supplyVoltage</td>
<td>STATION BATTERY</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>consBatteryVoltage</td>
<td>BATTERY BACKUP</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp1<sup>2</sup></td>
<td>TEMP 1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp2<sup>2</sup></td>
<td>TEMP 2</td>
<td>H</td>
<td>H</td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
<sup>1</sup> The <span class='code'>radiation</span> and
<span class='code'>UV</span>
data are available only with the optional solar radiation sensor.
</p>
<p class='station_data_key'>
<sup>2</sup> The <span class='code'>extraTemp1</span> and
<span class='code'>extraTemp2</span>
data are available only with the optional additional temperature
sensors.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='fousb_notes'>FineOffsetUSB</h1>
<p>The station clock can only be set manually via buttons on the console, or (if the station supports it) by
WWVB radio. The FineOffsetUSB driver ignores the station clock since it cannot be trusted.</p>
<p>The station reads data from the sensors every 48 seconds. The 30xx stations read UV data every 60
seconds.</p>
<p>The 10xx and 20xx stations can save up to 4080 historical readings. That is about 85 days of data with the
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.</p>
<p>When WeeWX starts up it will attempt to
download all records from the console since
the last record in the archive database.</p>
<h2 id="polling_mode_and_the_polling_interval">Polling mode and
interval</h2>
<p>When reading 'live' data, WeeWX can read
as fast as possible, or at a user-defined
period. This is controlled by the option
<span class='code'>polling_mode</span> in
<span class="code">weewx.conf</span>.</p>
<table class='indent'>
<caption>Polling modes for Fine Offset stations</caption>
<tr class="first_row">
<td style="width:15%">Mode</td>
<td style="width:15%">Configuration</td>
<td>Notes</td>
</tr>
<tr>
<td class="first_col">ADAPTIVE</td>
<td>
<pre class='tty' style='margin:0'>[FineOffsetUSB]
polling_mode = ADAPTIVE</pre>
</td>
<td>
<p>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.</p>
</td>
</tr>
<tr>
<td class="first_col">PERIODIC</td>
<td>
<pre class='tty' style='margin:0'>[FineOffsetUSB]
polling_mode = PERIODIC
polling_interval = 60</pre>
</td>
<td>
<p>In this mode, WeeWX reads data from the station every <span
class='code'>polling_interval</span> seconds.</p>
<p>The console reads the sensors every 48 seconds (60 seconds for UV), so setting the <span
class='code'>polling_interval</span> to a value less than 48 will result in duplicate
readings. </p>
</td>
</tr>
</table>
<h2 id="fousb_data_format">Data format</h2>
<p>The 10xx/20xx consoles have a data format that is different from
the 30xx consoles. All of the consoles recognize wind, rain,
temperature, and humidity from the same instrument clusters.
However, some instrument clusters also include a luminosity sensor.
Only the 30xx consoles recognize the luminosity and UV output
from these sensors. As a consequence, the 30xx consoles also have
a different data format.
</p>
<p>Since WeeWX cannot reliably determine
the data format by communicating with the station, the
<span class='code'>data_format</span> configuration option
indicates the station type. Possible values are
<span class='code'>1080</span> and <span class='code'>3080</span>.
Use <span class='code'>1080</span> for the 10xx and 20xx consoles.
The default value is <span class='code'>1080</span>.
</p>
<p>For example, this would indicate that the station is a 30xx
console:</p>
<pre class='tty'>[FineOffsetUSB]
...
data_format = 3080
</pre>
<h2 id="fousb_configuration">Configuring with <span class="code">wee_device</span></h2>
<p class="note">
Make sure you stop <span class="code">weewxd</span> before running
<span class="code">wee_device</span>.
</p>
<h3 id="fousb_help">
Action <span class="code">--help</span></h3>
<p>Invoking <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> with the
<span class='code'>--help</span> option</p>
<pre class="tty cmd">wee_device /home/weewx/weewx.conf --help</pre>
<p>will produce something like this:</p>
<pre class="tty">
FineOffsetUSB driver version 1.7
Usage: wee_device [config_file] [options] [--debug] [--help]
Configuration utility for weewx devices.
Options:
-h, --help show this help message and exit
--debug display diagnostic information while running
-y answer yes to every prompt
--info display weather station configuration
--current get the current weather conditions
--history=N display N records
--history-since=N display records since N minutes ago
--clear-memory clear station memory
--set-time set station clock to computer time
--set-interval=N set logging interval to N minutes
--live display live readings from the station
--logged display logged readings from the station
--fixed-block display the contents of the fixed block
--check-usb test the quality of the USB connection
--check-fixed-block monitor the contents of the fixed block
--format=FORMAT format for output, one of raw, table, or dict
Mutating actions will request confirmation before proceeding.</pre>
<h3>Action <span class="code">--info</span></h3>
<p>Display the station settings with the
<span class='code'>--info</span> option.</p>
<pre class="tty cmd">wee_device --info</pre>
<p>This will result in something like:</p>
<pre class='tty'>Fine Offset station settings:
local time: 2013.02.11 18:34:28 CET
polling_mode: ADAPTIVE
abs_pressure: 933.3
current_pos: 592
data_changed: 0
<span class="highlight">data_count: 22</span>
date_time: 2007-01-01 22:49
hum_in_offset: 18722
hum_out_offset: 257
id: None
lux_wm2_coeff: 0
magic_1: 0x55
magic_2: 0xaa
model: None
rain_coef: None
<span class="highlight">read_period: 30</span>
<span class="highlight">rel_pressure: 1014.8</span>
temp_in_offset: 1792
temp_out_offset: 0
timezone: 0
unknown_01: 0
unknown_18: 0
version: 255
wind_coef: None
wind_mult: 0</pre>
<p><span class="highlight">Highlighted</span> values can be modified.
</p>
<h3>Action <span class="code">--set-interval</span></h3>
<p>Set the archive interval. Fine Offset stations ship from the
factory with an archive interval (read_period) of 30 minutes (1800
seconds). To change the station's interval to 5 minutes, do the
following:</p>
<p class="tty cmd">wee_device --set-interval=5</p>
<h3>Action <span class="code">--history</span></h3>
<p>Fine Offset stations store records in a circular buffer &mdash; once the buffer fills, the oldest records are
replaced by newer records. The 1080 and 2080 consoles store up to 4080 records. The 3080 consoles store up
to 3264 records. The <span class='code'>data_count</span> indicates how many records are in memory. The
<span class='code'>read_period</span> indicates the number of minutes between records. <span class='code'>wee_device</span>
can display these records in space-delimited, raw bytes, or dictionary format.</p>
<p>For example, to display the most recent 30 records from the console memory:</p>
<pre class="tty cmd">wee_device --history=30</pre>
<h3 id="fo_clear_console_memory">
Action <span class="code">--clear-memory</span></h3>
<p>To clear the console memory:</p>
<pre class="tty cmd">wee_device --clear-memory</pre>
<h3>Action <span class="code">--check-usb</span></h3>
<p>This command can test the quality of the USB connection between the computer and console. Poor quality USB
cables, under-powered USB hubs, and other devices on the bus can interfere with communication.</p>
<p>To test the quality of the USB connection to the console:</p>
<pre class="tty cmd">wee_device --check-usb</pre>
<p>Let the utility run for at least a few minutes, or possibly an hour or two. It is not unusual to see a few
bad reads in an hour, but if you see many bad reads within a few minutes, consider replacing the USB cable,
USB hub, or removing other devices from the bus.</p>
<h2 id="fousb_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>Fine Offset station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_in</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_out</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_in</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_out</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>wind_gust</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td>D</td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td>dewpoint</td>
<td>H</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td>windchill</td>
<td>H</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td>heatindex</td>
<td>H</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>radiation<sup>1</sup></td>
<td>radiation</td>
<td>D</td>
<td>D</td>
</tr>
<tr>
<td class='first_col'>luminosity<sup>1</sup></td>
<td>luminosity</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rxCheckPercent</td>
<td>signal</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTempBatteryStatus</td>
<td>battery</td>
<td>H</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
<sup>1</sup> The <span class='code'>radiation</span> data are available
only from 30xx stations.
These stations include a luminosity sensor, from which the radiation is
approximated.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='te923_notes'>TE923</h1>
<p>Some station models will recognize up to 5 remote
temperature/humidity sensor units. Use the hardware switch
in each sensor unit to identify sensors. Use the
<span class='code'>sensor_map</span> in
<span class='code'>weewx.conf</span>
to associate each sensor with a database field. </p>
<p>The station has either 208 or 3442 history records, depending on
the model. That is just over a day (208 records) or about 23 days
(3442 records) with an archive interval of 5 minutes.</p>
<p>The TE923 driver will read history records from the station when
WeeWX starts up, but it does not support hardware record
generation.</p>
<h2 id="te923_configuration">Configuring with <span class="code">wee_device</span></h2>
<p class="note">
Make sure you stop <span class="code">weewxd</span> before running
<span class="code">wee_device</span>.
</p>
<h3 id="te923_help">
Action <span class="code">--help</span></h3>
<p>Invoking <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> with the
<span class='code'>--help</span> option</p>
<pre class="tty cmd">wee_device /home/weewx/weewx.conf --help</pre>
<p>will produce something like this:</p>
<pre class='tty'>
Using configuration file /home/weewx/weewx.conf
Using TE923 driver version 0.21 (weewx.drivers.te923)
Usage: wee_device [config_file] [options] [--debug] [--help]
Configuration utility for weewx devices.
Options:
-h, --help show this help message and exit
--debug display diagnostic information while running
-y answer yes to every prompt
--info display weather station configuration
--current get the current weather conditions
--history=N display N history records
--history-since=N display history records since N minutes ago
--minmax display historical min/max data
--get-date display station date
--set-date=YEAR,MONTH,DAY
set station date
--sync-date set station date using system clock
--get-location-local display local location and timezone
--set-location-local=CITY|USR,LONG_DEG,LONG_MIN,E|W,LAT_DEG,LAT_MIN,N|S,TZ,DST
set local location and timezone
--get-location-alt display alternate location and timezone
--set-location-alt=CITY|USR,LONG_DEG,LONG_MIN,E|W,LAT_DEG,LAT_MIN,N|S,TZ,DST
set alternate location and timezone
--get-altitude display altitude
--set-altitude=ALT set altitude (meters)
--get-alarms display alarms
--set-alarms=WEEKDAY,SINGLE,PRE_ALARM,SNOOZE,MAXTEMP,MINTEMP,RAIN,WIND,GUST
set alarm state
--get-interval display archive interval
--set-interval=INTERVAL
set archive interval (minutes)
--format=FORMAT formats include: table, dict
Be sure to stop weewx first before using. Mutating actions will request
confirmation before proceeding.
</pre>
<h3 id="te923_display_status">
Action <span class="code">--info</span></h3>
<p>Use <span class="code">--info</span> to display the station
configuration:</p>
<pre class="tty cmd">wee_device --info</pre>
<p>This will result in something like:</p>
<pre class="tty">Querying the station for the configuration...
altitude: 16
bat_1: True
bat_2: True
bat_3: True
bat_4: True
bat_5: True
bat_rain: True
bat_uv: False
bat_wind: True
latitude: 43.35
longitude: -72.0
version_bar: 23
version_rcc: 16
version_sys: 41
version_uv: 20
version_wind: 38</pre>
<h3 id="te923_display_current">
Action <span class="code">--current</span></h3>
<p>Use <span class="code">--current</span> to display the
current status of each sensor:</p>
<pre class="tty cmd">wee_device --current</pre>
<p>This will result in something like:</p>
<pre class="tty">Querying the station for current weather data...
dateTime: 1454615168
forecast: 5
h_1: 41
h_1_state: ok
h_2: 48
h_2_state: ok
h_3: None
h_3_state: no_link
h_4: None
h_4_state: no_link
h_5: None
h_5_state: no_link
h_in: 44
h_in_state: ok
rain: 2723
rain_state: ok
slp: 1012.4375
slp_state: ok
storm: 0
t_1: 13.9
t_1_state: ok
t_2: 21.5
t_2_state: ok
t_3: None
t_3_state: no_link
t_4: None
t_4_state: no_link
t_5: None
t_5_state: no_link
t_in: 22.85
t_in_state: ok
uv: None
uv_state: no_link
windchill: None
windchill_state: invalid
winddir: 12
winddir_state: invalid
windgust: None
windgust_state: invalid
windspeed: None
windspeed_state: invalid</pre>
<h3 id="te923_change_archive_interval">
Action <span class='code'>--set-interval</span></h3>
<p>TE923 stations ship from the factory with an archive interval of 1
hour (3600 seconds). To change the station's interval to 5 minutes
(300 seconds), do the following:</p>
<p class="tty cmd">wee_device --set-interval=300</p>
<h3 id="te923_display_logger_memory">
Action <span class="code">--history</span></h3>
<p>Use the <span class='code'>--history</span> action to display
records from the logger in tabular or dictionary format.
</p>
<p>For example, to display the most recent 30 records in dictionary
format:</p>
<pre class="tty cmd">wee_device --history=30 --format=dict</pre>
<h3>Action <span class="code">--clear-memory</span></h3>
<p>Use <span class='code'>--clear-memory</span> to erase all records
from the logger memory.</p>
<h2 id="te923_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>TE923 station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td>barometer</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>t_in</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>h_in</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>t_1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>h_1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTempBatteryStatus</td>
<td>bat_1</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outLinkStatus</td>
<td>link_1</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>windspeed</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>winddir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>windgust</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windBatteryStatus</td>
<td>bat_wind</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windLinkStatus</td>
<td>link_wind</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td>D</td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rainBatteryStatus</td>
<td>bat_rain</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainLinkStatus</td>
<td>link_rain</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td>windchill</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>UV<sup>1</sup></td>
<td>uv</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>uvBatteryStatus</td>
<td>bat_uv</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>uvLinkStatus</td>
<td>link_uv</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp1</td>
<td>t_2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid1</td>
<td>h_2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus1</td>
<td>bat_2</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraLinkStatus1</td>
<td>link_2</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp2</td>
<td>t_3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid2</td>
<td>h_3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus2</td>
<td>bat_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraLinkStatus2</td>
<td>link_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp3</td>
<td>t_4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid3</td>
<td>h_4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus3</td>
<td>bat_4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraLinkStatus3</td>
<td>link_4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp4</td>
<td>t_5</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid4</td>
<td>h_5</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus4</td>
<td>bat_5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraLinkStatus4</td>
<td>link_5</td>
<td>H</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
Some stations support up to 5 remote temperature/humidity sensors.
</p>
<p class='station_data_key'>
<sup>1</sup> The <span class='code'>UV</span> data are available
only with the optional solar radiation sensor.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='ultimeter_notes'>Ultimeter</h1>
<p>The Ultimeter driver operates the Ultimeter in Data Logger Mode,
which results in sensor readings every 1/2 second or so.</p>
<p>The Ultimeter driver ignores the maximum, minimum, and average
values recorded by the station.</p>
<h2 id='ultimeter_configuration'>Configuring with <span class="code">wee_device</span></h2>
<p>The <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> utility
cannot be used to configure Ultimeter stations.</p>
<h2 id="ultimeter_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>Ultimeter station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer<sup>2</sup></td>
<td>barometer</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>pressure<sup>2</sup></td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>altimeter<sup>2</sup></td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inTemp<sup>2</sup></td>
<td>temperature_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inHumidity<sup>2</sup></td>
<td>humidity_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rain<sup>1</sup></td>
<td>rain</td>
<td>D</td>
<td></td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainRate<sup>1</sup></td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
<sup>1</sup> The <span class='code'>rain</span> and
<span class='code'>rainRate</span> are
available only on stations with the optional rain sensor.
</p>
<p class='station_data_key'>
<sup>2</sup> Pressure, inside temperature, and inside humidity
data are not available on all types of Ultimeter stations.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='vantage_notes'>Vantage</h1>
<p>The Davis Vantage stations include a variety of models and
configurations. The WeeWX driver
can communicate with a console or envoy using serial, USB,
or TCP/IP interface.</p>
<h2 id="vantage_configuration">Configuring with <span class="code">wee_device</span></h2>
<p class="note">
Make sure you stop <span class="code">weewxd</span> before running
<span class="code">wee_device</span>.
</p>
<h3 id="vantage_help">
Action <span class="code">--help</span></h3>
<p>Invoking <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> with the
<span class='code'>--help</span> option</p>
<pre class="tty cmd">wee_device /home/weewx/weewx.conf --help</pre>
<p>will produce something like this:</p>
<pre class="tty">
Using configuration file /home/weewx/weewx.conf
Using Vantage driver version 3.0.10 (weewx.drivers.vantage)
Usage: wee_device [config_file] [--help] [--info] [--clear-memory]
[--set-interval=MINUTES]
[--set-latitude=DEGREE] [--set-longitude=DEGREE]
[--set-altitude=FEET] [--set-barometer=inHg]
[--set-wind-cup=CODE] [--set-bucket=CODE]
[--set-rain-year-start=MM]
[--set-offset=VARIABLE,OFFSET]
[--set-transmitter-type=CHANNEL,TYPE,TEMP,HUM,REPEATER_ID]
[--set-retransmit=[OFF|ON|ON,CHANNEL]]
[--set-temperature-logging=[LAST|AVERAGE]]
[--set-time] [--set-dst=[AUTO|ON|OFF]]
[--set-tz-code=TZCODE] [--set-tz-offset=HHMM]
[--set-lamp=[ON|OFF]] [--dump] [--logger-summary=FILE]
[--start | --stop]
Configures the Davis Vantage weather station.
Options:
-h, --help show this help message and exit
--debug display diagnostic information while running
-y answer yes to every prompt
--info To print configuration, reception, and barometer
calibration information about your weather station.
--clear-memory To clear the memory of your weather station.
--set-interval=MINUTES
Sets the archive interval to the specified number of
minutes. Valid values are 1, 5, 10, 15, 30, 60, or
120.
--set-latitude=DEGREE
Sets the latitude of the station to the specified
number of tenth degree.
--set-longitude=DEGREE
Sets the longitude of the station to the specified
number of tenth degree.
--set-altitude=FEET Sets the altitude of the station to the specified
number of feet.
--set-barometer=inHg Sets the barometer reading of the station to a known
correct value in inches of mercury. Specify 0 (zero)
to have the console pick a sensible value.
--set-bucket=CODE Set the type of rain bucket. Specify '0' for 0.01
inches; '1' for 0.2 mm; '2' for 0.1 mm
--set-rain-year-start=MM
Set the rain year start (1=Jan, 2=Feb, etc.).
--set-offset=VARIABLE,OFFSET
Set the onboard offset for VARIABLE inTemp, outTemp,
extraTemp[1-7], inHumid, outHumid, extraHumid[1-7],
soilTemp[1-4], leafTemp[1-4], windDir) to OFFSET
(Fahrenheit, %, degrees)
--set-transmitter-type=CHANNEL,TYPE,TEMP,HUM,REPEATER_ID
Set the transmitter type for CHANNEL (1-8), TYPE
(0=iss, 1=temp, 2=hum, 3=temp_hum, 4=wind, 5=rain,
6=leaf, 7=soil, 8=leaf_soil, 9=sensorlink, 10=none),
as extra TEMP station and extra HUM station (both 1-7,
if applicable), REPEATER_ID ('A'-'H', if used)
--set-retransmit=[OFF|ON|ON,CHANNEL]
Turn console retransmit function 'ON' or 'OFF'.
--set-temperature-logging=LAST|AVERAGE
Set console temperature logging to either 'LAST' or
'AVERAGE'.
--set-time Set the onboard clock to the current time.
--set-dst=AUTO|ON|OFF
Set DST to 'ON', 'OFF', or 'AUTO'
--set-tz-code=TZCODE Set timezone code to TZCODE. See your Vantage manual
for valid codes.
--set-tz-offset=HHMM Set timezone offset to HHMM. E.g. '-0800' for U.S.
Pacific Time.
--set-lamp=ON|OFF Turn the console lamp 'ON' or 'OFF'.
--start Start the logger.
--stop Stop the logger.
--dump Dump all data to the archive. NB: This may result in
many duplicate primary key errors.
--logger-summary=FILE
Save diagnostic summary to FILE (for debugging the
logger).
Be sure to stop weewx first before using. Mutating actions will request
confirmation before proceeding.</pre>
<h3 id="vantage_info">
Action <span class="code">--info</span></h3>
<p>Use the <span class="code">--info</span> option to display the current EEPROM settings: </p>
<pre class="tty cmd">wee_device --info</pre>
<p>This will result in something like:</p>
<pre class="tty">Davis Vantage EEPROM settings:
CONSOLE TYPE: Vantage Pro2
CONSOLE FIRMWARE:
Date: Jun 3 2013
Version: 3.15
CONSOLE SETTINGS:
<span class="highlight">Archive interval: 300 (seconds)</span>
<span class="highlight">Altitude: 700 (foot)</span>
<span class="highlight">Wind cup type: large</span>
<span class="highlight">Rain bucket type: 0.01 inches</span>
<span class="highlight">Rain year start: 10</span>
<span class="highlight">Onboard time: 2014-09-25 07:41:14</span>
CONSOLE DISPLAY UNITS:
Barometer: inHg
Temperature: degree_F
Rain: inch
Wind: mile_per_hour
CONSOLE STATION INFO:
<span class="highlight">Latitude (onboard): 45.7°</span>
<span class="highlight">Longitude (onboard): -121.6°</span>
<span class="highlight">Use manual or auto DST? AUTO</span>
<span class="highlight">DST setting: N/A</span>
<span class="highlight">Use GMT offset or zone code? ZONE_CODE</span>
<span class="highlight">Time zone code: 4</span>
<span class="highlight">GMT offset: N/A</span>
<span class="highlight">Retransmit channel: 0 (OFF)</span>
TRANSMITTERS:
Channel Receive Repeater Type
<span class="highlight"> 1 active A iss</span>
<span class="highlight"> 2 active none temp_hum (as extra temperature 1 and extra humidity 1)</span>
<span class="highlight"> 3 active none leaf_soil</span>
<span class="highlight"> 4 inactive none (N/A)</span>
<span class="highlight"> 5 inactive none (N/A)</span>
<span class="highlight"> 6 inactive none (N/A)</span>
<span class="highlight"> 7 inactive none (N/A)</span>
<span class="highlight"> 8 inactive none (N/A)</span>
RECEPTION STATS:
Total packets received: 10670
Total packets missed: 128
Number of resynchronizations: 0
Longest good stretch: 934
Number of CRC errors: 651
BAROMETER CALIBRATION DATA:
<span class="highlight">Current barometer reading: 29.834 inHg</span>
<span class="highlight">Altitude: 700 feet</span>
Dew point: 55 F
Virtual temperature: 59 F
Humidity correction factor: 2.7
Correction ratio: 1.025
<span class="highlight">Correction constant: +0.000 inHg</span>
Gain: 0.000
Offset: -47.000
OFFSETS:
<span class="highlight">Wind direction: +0 deg</span>
<span class="highlight">Inside Temperature: +0.0 F</span>
<span class="highlight">Inside Humidity: +0 %</span>
<span class="highlight">Outside Temperature: +0.0 F</span>
<span class="highlight">Outside Humidity: +0 %</span>
<span class="highlight">Extra Temperature 1: +0.0 F</span></pre>
<p>The console version number is available only on consoles with firmware dates after about 2006.</p>
<p><span class="highlight">Highlighted</span> values can be modified using the
various <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a>
commands below.</p>
<h3 id="vantage_clear_console_memory">
Action <span class="code">--clear-memory</span></h3>
<p>This command will clear the logger memory after asking for confirmation.</p>
<h3 id="vantage_archive_interval">
Action <span class="code">--set-interval</span></h3>
<p>Use this command to change the archive interval of the internal logger. Valid intervals are 1, 5, 10,
15, 30, 60, or 120 minutes. However, if you are ftp&#39;ing lots of files to a server, setting it to
one minute may not give enough time to have them all uploaded before the next archive record is due. If this
is the case, you should pick a longer archive interval, or trim the number of files you
are using.</p>
<p>An archive interval of five minutes works well for the Vantage stations. Because of the large
amount of onboard memory they carry, going to a larger interval does not have any real advantages. </p>
<p>Example: to change the archive interval to 10 minutes:</p>
<pre class="tty cmd">wee_device --set-interval=10</pre>
<h3>Action <span class="code">--set-altitude</span></h3>
<p>Use this command to set the console's stored altitude. The altitude must be in <em>feet</em>. Example:</p>
<pre class="tty cmd">wee_device --set-altitude=700</pre>
<h3>Action <span class="code">--set-barometer</span></h3>
<p>Use this command to calibrate the barometer in your Vantage weather station. To use it, you must have a known
correct barometer reading <em>for your altitude</em>. In practice, you will either have to move your console
to a known-correct station (perhaps a nearby airport) and perform the calibration there, or reduce the
barometer reading to your altitude. Otherwise, specify the value zero and the station will pick a sensible
value.</p>
<h3 id="vantage_rain_bucket_type">
Action <span class="code">--set-bucket</span></h3>
<p>Normally, this is set by Davis, but if you have replaced your bucket with a different kind, you might want to
reconfigure. For example, to change to a 0.1 mm bucket (bucket code &quot;2&quot;), use the following:</p>
<pre class="tty cmd">wee_device --set-bucket=2</pre>
<h3>Action <span class="code">--set-rain-year-start</span></h3>
<p>The Davis Vantage series allows the start of the rain year to be something other than 1 January. For example,
to set it to 1 October:</p>
<pre class="tty cmd">wee_device --set-rain-year-start=10</pre>
<h3 id="vantage_setting_offsets">
Action <span class="code">--set-offset</span></h3>
<p>The Davis instruments can correct sensor errors by adding an <em>offset</em> to their emitted values. This is
particularly useful for Southern Hemisphere users. Davis fits the wind vane to the Integrated Sensor Suite
(ISS) in a position optimized for Northern Hemisphere users, who face the solar panel to the south. Users
south of the equator must orient the ISS's solar panel to the north to get maximal insolation, resulting in
a 180&deg; error in the wind direction. The solution is to add a 180&deg; offset correction. You can do this
with the following command:</p>
<pre class="tty cmd">wee_device --set-offset=windDir,180</pre>
<h3 id="vantage_configuring_additional_sensors">
Action <span class="code">--set-transmitter-type</span></h3>
<p>If you have additional sensors and/or repeaters for your Vantage station, you can configure them using your console.
However, if you have a
<a href="https://www.davisinstruments.com/product/wireless-weather-envoy/">Davis Weather Envoy receiver</a>,
it will not have a console! As an alternative,
<span class="code">wee_device</span> can do this using the command <span class="code">--set-transmitter-type</span>.
</p>
<p>For example, to add an extra temperature sensor to channel 3 and no repeater is used, do the following:</p>
<pre class="tty cmd">wee_device --set-transmitter-type=3,1,2</pre>
<p>This says to turn on channel 3, set its type to 1 ("Temperature only"), without repeater use and it will show up in the database
as <span class="code">extraTemp2</span>.</p>
<p class="note">If you omit the repeater id, repeater id will be: 'no repeater'.</p>
<p>Here's another example, this time for a combined temperature /
humidity sensor retransmitted via repeater A:</p>
<pre class="tty cmd">wee_device --set-transmitter-type=5,3,2,4,a</pre>
<p>This will add the combined sensor to channel 5, set its type to 3 ("Temperature and humidity"), via Repeater A and it will
show up in the database as <span class="code">extraTemp2</span> and <span class="code">extraHumid4</span>.
</p>
<p>The <span class="code">--help</span> option will give you the code for each sensor type and repeater id.</p>
<p>If you have to use repeaters with your Vantage Pro2 station, please take a look at
<a href="http://www.davisnet.com/product_documents/weather/app_notes/AN_25-data-repeater-network.pdf">
Installing Repeater Networks for Vantage Pro2</a> how to setup.</p>
<p class="warning">You can only use channels not actively used for retransmission. The command checks for this and will not
accept channel numbers actively used for retransmission.</p>
<h3 id="vantage_retransmit">
Action <span class="code">--set-retransmit</span></h3>
<p>Use this command to tell your console whether or not to act as a retransmitter.</p>
<p>Example: Tell your console to turn retransmission 'ON' and let the software select the first available channel:</p>
<pre class="tty cmd">wee_device --set-retransmit=on</pre>
<p>Another example: Tell your console to turn retransmission 'OFF':</p>
<pre class="tty cmd">wee_device --set-retransmit=off</pre>
<p>Last example: Tell your console to turn retransmission 'ON' at channel 4:</p>
<pre class="tty cmd">wee_device --set-retransmit=on,4</pre>
<p class="warning">You only can use channels not actively used for reception. The command checks for this and will not accept channel numbers actively used for reception of senor stations.</p>
<h3>Action <span class="code">--set-dst</span></h3>
<p>Use the command to tell your console whether or not daylight savings time is in effect, or to have it set
automatically based on the time zone.</p>
<h3 id="vantage_time_zone">
Action <span class="code">--set-tz-code</span></h3>
<p>This command can be used to change the time zone. Consult the
Vantage manual for the code that corresponds to
your time zone.</p>
<p class="warning">You can set either the time zone code <em>or</em>
the time zone offset, but not both. </p>
<p>For example, to set the time zone code to Central European Time
(code 20):</p>
<pre class="tty cmd">wee_device --set-tz-code=20</pre>
<h3>Action <span class="code">--set-tz-offset</span></h3>
<p>If you live in an odd time zone that is perhaps not covered by the
"canned" Davis time zones, you can set the
offset from UTC using this command.</p>
<p class="warning">You can set either the time zone code <em>or</em>
the time zone offset, but not both. </p>
<p>For example, to set the time zone offset for Newfoundland Standard
Time (UTC-03:30), use the following:</p>
<pre class="tty cmd">wee_device --set-tz-offset=-0330</pre>
<h3>Action <span class="code">--set-lamp</span></h3>
<p>Use this command to turn the console lamp on or off.</p>
<h3>Action <span class="code">--start</span></h3>
<p>Use this command to start the logger. There are occasions when an
out-of-the-box logger needs this command.</p>
<h3>Action <span class="code">--stop</span></h3>
<p>Use this command to stop the logger. I can't think of a good reason
why you would need to do this, but the
command is included for completeness.</p>
<h3 id="vantage_dumping_the_logger_memory">
Action <span class="code">--dump</span></h3>
<p>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 <em><a href="usersguide.htm#html_generated_but_not_updated">WeeWX generates HTML
pages, but it does not update them</a></em>. 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 <span class="code">--dump</span> command before clearing the memory, you might be able to save
these data. Stop WeeWX first, then</p>
<pre class="tty cmd">wee_device --dump</pre>
<p>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 <em>all</em> data, it may result in many duplicate
primary key errors. These can be ignored.</p>
<h3>Action <span class="code">--logger-summary FILE</span></h3>
<p>This command is useful for debugging the console logger. It will scan the logger memory, recording the
timestamp in each page and index slot to the file <span class="code">FILE</span>.</p>
<p>Example:</p>
<pre class="tty cmd">wee_device --logger-summary=/var/tmp/summary.txt</pre>
<h2 id="vantage_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>Vantage station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td>barometer</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>inTemp</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>outTemp</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>inHumidity</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>outHumidity</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>windSpeed</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>windDir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>windGust</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGustDir</td>
<td>windGustDir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'></td>
<td>monthRain</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td>rainRate</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>radiation</td>
<td>radiation</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>UV</td>
<td>UV</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp1</td>
<td>extraTemp1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp2</td>
<td>extraTemp2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp3</td>
<td>extraTemp3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp4</td>
<td>extraTemp4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp5</td>
<td>extraTemp5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp6</td>
<td>extraTemp6</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp7</td>
<td>extraTemp7</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>soilTemp1</td>
<td>soilTemp1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>soilTemp2</td>
<td>soilTemp2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>soilTemp3</td>
<td>soilTemp3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>soilTemp4</td>
<td>soilTemp4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>leafTemp1</td>
<td>leafTemp1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>leafTemp2</td>
<td>leafTemp2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>leafTemp3</td>
<td>leafTemp3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>leafTemp4</td>
<td>leafTemp4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid1</td>
<td>extraHumid1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid2</td>
<td>extraHumid2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid3</td>
<td>extraHumid3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid4</td>
<td>extraHumid4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid5</td>
<td>extraHumid5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid6</td>
<td>extraHumid6</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid7</td>
<td>extraHumid7</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>soilMoist1</td>
<td>soilMoist1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>soilMoist2</td>
<td>soilMoist2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>soilMoist3</td>
<td>soilMoist3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>soilMoist4</td>
<td>soilMoist4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>leafWet1</td>
<td>leafWet1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>leafWet2</td>
<td>leafWet2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>leafWet3</td>
<td>leafWet3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>leafWet4</td>
<td>leafWet4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>txBatteryStatus</td>
<td>txBatteryStatus</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>consBatteryVoltage</td>
<td>consBatteryVoltage</td>
<td>H</td>
<td>H</td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='wmr100_notes'>WMR100</h1>
<p>The station emits partial packets, which may confuse some online
services.</p>
<h2 id="wmr100_configuration">Configuring with <span class="code">wee_device</span></h2>
<p>The <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> utility
cannot be used to configure WMR100 stations.</p>
<h2 id="wmr100_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>WMR100 station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_0</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_1</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_0</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_1</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>wind_gust</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td></td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td>rain_rate</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp1</td>
<td>temperature_2</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp2</td>
<td>temperature_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp3</td>
<td>temperature_4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp4</td>
<td>temperature_5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp5</td>
<td>temperature_6</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp6</td>
<td>temperature_7</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp7</td>
<td>temperature_8</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid1</td>
<td>humidity_2</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid2</td>
<td>humidity_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid3</td>
<td>humidity_4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid4</td>
<td>humidity_5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid5</td>
<td>humidity_6</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid6</td>
<td>humidity_7</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid7</td>
<td>humidity_8</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>UV</td>
<td>uv</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inTempBatteryStatus</td>
<td>battery_status_0</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTempBatteryStatus</td>
<td>battery_status_1</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainBatteryStatus</td>
<td>rain_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windBatteryStatus</td>
<td>wind_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>uvBatteryStatus</td>
<td>uv_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus1</td>
<td>battery_status_2</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus2</td>
<td>battery_status_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus3</td>
<td>battery_status_4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus4</td>
<td>battery_status_5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus5</td>
<td>battery_status_6</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus6</td>
<td>battery_status_7</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus7</td>
<td>battery_status_8</td>
<td>H</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
Each packet contains a subset of all possible readings. For
example, a temperature packet contains
<span class='code'>temperature_N</span> and
<span class='code'>battery_status_N</span>, a rain packet contains
<span class='code'>rain_total</span> and
<span class='code'>rain_rate</span>.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='wmr200_notes'>WMR200</h1>
<p>The station emits partial packets, which may confuse some online
services.</p>
<p>When WeeWX starts up it will attempt to
download all records from the console since
the last record in the archive database. </p>
<h2 id="wmr200_configuration">Configuring with <span class="code">wee_device</span></h2>
<p>The <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> utility
cannot be used to configure WMR200 stations.</p>
<h2 id="wmr200_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>WMR200 station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td>altimeter</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_0</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_0</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>wind_gust</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td>D</td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td>rain_rate</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td>windchill</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td>heatindex</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>UV</td>
<td>uv</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp1</td>
<td>temperature_2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp2</td>
<td>temperature_3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp3</td>
<td>temperature_4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp4</td>
<td>temperature_5</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp5</td>
<td>temperature_6</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp6</td>
<td>temperature_7</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp7</td>
<td>temperature_8</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid1</td>
<td>humidity_2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid2</td>
<td>humidity_3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid3</td>
<td>humidity_4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid4</td>
<td>humidity_5</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid5</td>
<td>humidity_6</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid6</td>
<td>humidity_7</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid7</td>
<td>humidity_8</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTempBatteryStatus</td>
<td>battery_status_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainBatteryStatus</td>
<td>rain_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windBatteryStatus</td>
<td>wind_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>uvBatteryStatus</td>
<td>uv_battery_status</td>
<td>H</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
Each packet contains a subset of all possible readings. For
example, a temperature packet contains
<span class='code'>temperature_N</span> and
<span class='code'>battery_status_N</span>, a rain packet contains
<span class='code'>rain_total</span> and
<span class='code'>rain_rate</span>.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='wmr300_notes'>WMR300</h1>
<p>A single WMR300 console supports 1 wind, 1 rain, 1 UV, and up to 8
temperature/humidity sensors.</p>
<p>The WMR300 sensors send at different rates:</p>
<table class='station_data'>
<caption>WMR300 transmission periods</caption>
<tbody>
<tr><th>sensor</th><th>period</th></tr>
<tr><td>Wind</td><td>2.5 to 3 seconds</td></tr>
<tr><td>T/H</td><td>10 to 12 seconds</td></tr>
<tr><td>Rain</td><td>20 to 24 seconds</td></tr>
</tbody>
</table>
<p>The console contains the pressure sensor. The console reports
pressure every 15 minutes.</p>
<p>The station emits partial packets, which may confuse some online
services.</p>
<p>The rain counter has a limit of 400 inches (10160 mm). The
counter does not wrap around; it must be reset when it hits
the limit, otherwise additional rain data will not be recorded.
</p>
<p>The logger stores about 50,000 records. When the logger fills
up, it stops recording data.</p>
<p>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
the computer and disk.</p>
<h2 id="wmr300_configuration">Configuring with <span class="code">wee_device</span></h2>
<p>The <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> utility
cannot be used to configure WMR300 stations.</p>
<h2 id="wmr300_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>WMR300 station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td>barometer</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_0</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_0</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_avg</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>wind_gust</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGustDir</td>
<td>wind_gust_dir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td>D</td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td>rain_rate</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td>dewpoint_1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td>heatindex_1</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td>windchill</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp1</td>
<td>temperature_2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid1</td>
<td>humidity_2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraDewpoint1</td>
<td>dewpoint_2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHeatindex1</td>
<td>heatindex_2</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp2</td>
<td>temperature_3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid2</td>
<td>humidity_3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraDewpoint2</td>
<td>dewpoint_3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHeatindex2</td>
<td>heatindex_3</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp3</td>
<td>temperature_4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid3</td>
<td>humidity_4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraDewpoint3</td>
<td>dewpoint_4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHeatindex3</td>
<td>heatindex_4</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp4</td>
<td>temperature_5</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid4</td>
<td>humidity_5</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraDewpoint4</td>
<td>dewpoint_5</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHeatindex4</td>
<td>heatindex_5</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp5</td>
<td>temperature_6</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid5</td>
<td>humidity_6</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraDewpoint5</td>
<td>dewpoint_6</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHeatindex5</td>
<td>heatindex_6</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp6</td>
<td>temperature_7</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid6</td>
<td>humidity_7</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraDewpoint6</td>
<td>dewpoint_7</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHeatindex6</td>
<td>heatindex_7</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraTemp7</td>
<td>temperature_8</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHumid7</td>
<td>humidity_8</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraDewpoint7</td>
<td>dewpoint_8</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>extraHeatindex7</td>
<td>heatindex_8</td>
<td>H</td>
<td>H</td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
Each packet contains a subset of all possible readings.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='wmr9x8_notes'>WMR9x8</h1>
<p>The station includes a data logger, but the driver does not read
records from the station.</p>
<p>The station emits partial packets, which may confuse some online
services.</p>
<h2 id="wmr9x8_configuration">Configuring with <span class="code">wee_device</span></h2>
<p>The <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> utility
cannot be used to configure WMR9x8 stations.</p>
<h2 id="wmr9x8_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>WMR9x8 station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td>barometer</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>wind_gust</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windGustDir</td>
<td>wind_gust_dir</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td></td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td>rain_rate</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inDewpoint</td>
<td>dewpoint_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td>dewpoint_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td>windchill</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>UV</td>
<td>uv</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp1</td>
<td>temperature_1</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp2</td>
<td>temperature_2</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp3</td>
<td>temperature_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp4</td>
<td>temperature_4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp5</td>
<td>temperature_5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp6</td>
<td>temperature_6</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp7</td>
<td>temperature_7</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraTemp8</td>
<td>temperature_8</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid1</td>
<td>humidity_1</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid2</td>
<td>humidity_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid3</td>
<td>humidity_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid4</td>
<td>humidity_4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid5</td>
<td>humidity_5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid6</td>
<td>humidity_6</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid7</td>
<td>humidity_7</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraHumid8</td>
<td>humidity_8</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inTempBatteryStatus</td>
<td>battery_status_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTempBatteryStatus</td>
<td>battery_status_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainBatteryStatus</td>
<td>rain_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windBatteryStatus</td>
<td>wind_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus1</td>
<td>battery_status_1</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus2</td>
<td>battery_status_2</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus3</td>
<td>battery_status_3</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus4</td>
<td>battery_status_4</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus5</td>
<td>battery_status_5</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus6</td>
<td>battery_status_6</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus7</td>
<td>battery_status_7</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>extraBatteryStatus8</td>
<td>battery_status_8</td>
<td>H</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
Each packet contains a subset of all possible readings. For
example, a temperature packet contains
<span class='code'>temperature_N</span> and
<span class='code'>battery_status_N</span>, a rain packet contains
<span class='code'>rain_total</span> and
<span class='code'>rain_rate</span>.
</p>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='ws1_notes'>WS1</h1>
<p>The WS1 stations produce data every 1/2 second or so.</p>
<h2 id="ws1_configuration">Configuring with <span class="code">wee_device</span></h2>
<p>The <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> utility
cannot be used to configure WS1 stations.</p>
<h2 id="ws1_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>WS1 station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_in</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td></td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td></td>
<td>S</td>
<td></td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='ws23xx_notes'>WS23xx</h1>
<p>The hardware interface is a serial port, but USB-serial converters
can be used with computers that have no serial port. Beware that
not every type of USB-serial converter will work. Converters based
on ATEN UC-232A chipset are known to work.</p>
<p>The station does not record wind gust or wind gust direction.</p>
<p>The hardware calculates windchill and dewpoint.</p>
<p>Sensors can be connected to the console with a wire. If not wired,
the sensors will communicate via a wireless interface. When
connected by wire, some sensor data are transmitted every 8
seconds. With wireless, data are transmitted every 16 to 128
seconds, depending on wind speed and rain activity.
</p>
<table class='station_data'>
<caption>WS23xx transmission periods</caption>
<tbody>
<tr><th>sensor</th><th>period</th></tr>
<tr><td>Wind</td>
<td>32 seconds when wind > 22.36 mph (wireless)<br/>
128 seconds when wind > 22.36 mph (wireless)<br/>
10 minutes (wireless after 5 failed attempts)<br/>
8 seconds (wired)
</td></tr>
<tr><td>Temperature</td><td>15 seconds</td></tr>
<tr><td>Humidity</td><td>20 seconds</td></tr>
<tr><td>Pressure</td><td>15 seconds</td></tr>
</tbody>
</table>
<p>The station has 175 history records. That is just over 7 days of
data with the factory default history recording interval of 60
minutes, or about 14 hours with a recording interval of 5
minutes.</p>
<p>When WeeWX starts up it will attempt to
download all records from the console since the last record in the
archive database.</p>
<h2 id="ws23xx_configuration">Configuring with <span class="code">wee_device</span></h2>
<p class="note">
Make sure you stop <span class="code">weewxd</span> before running
<span class="code">wee_device</span>.
</p>
<h3 id="ws23xx_help">
Action <span class="code">--help</span></h3>
<p>Invoking <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> with the
<span class='code'>--help</span> option</p>
<pre class="tty cmd">wee_device /home/weewx/weewx.conf --help</pre>
<p>will produce something like this:</p>
<pre class="tty">
WS23xx driver version 0.21
Usage: wee_device [config_file] [options] [--debug] [--help]
Configuration utility for weewx devices.
Options:
-h, --help show this help message and exit
--debug display diagnostic information while running
-y answer yes to every prompt
--info display weather station configuration
--current get the current weather conditions
--history=N display N history records
--history-since=N display history records since N minutes ago
--clear-memory clear station memory
--set-time set the station clock to the current time
--set-interval=N set the station archive interval to N minutes
Mutating actions will request confirmation before proceeding.</pre>
<h3>Action <span class="code">--info</span></h3>
<p>Display the station settings with the
<span class='code'>--info</span> option.</p>
<pre class="tty cmd">wee_device --info </pre>
<p>This will result in something like:</p>
<pre class='tty'>buzzer: 0
connection time till connect: 1.5
connection type: 15
dew point: 8.88
dew point max: 18.26
dew point max alarm: 20.0
dew point max alarm active: 0
dew point max alarm set: 0
dew point max when: 978565200.0
dew point min: -2.88
dew point min alarm: 0.0
dew point min alarm active: 0
dew point min alarm set: 0
dew point min when: 978757260.0
forecast: 0
history interval: 5.0
history last record pointer: 8.0
history last sample when: 1385564760.0
history number of records: 175.0
history time till sample: 5.0
icon alarm active: 0
in humidity: 48.0
...</pre>
<p>
The line <span class='code'>history number of records</span> indicates how many records are in memory. The
line <span class='code'>history interval</span> indicates the number of minutes between records.
</p>
<h3>Action <span class="code">--set-interval</span></h3>
<p>WS23xx stations ship from the factory with an archive interval of
60 minutes (3600 seconds). To change the
station's interval to 5 minutes, do the following:</p>
<p class="tty cmd">wee_device --set-interval=5</p>
<p class="warning"><strong>Warning!</strong><br/> Changing the archive
interval will clear the station memory.
</p>
<h3>Action <span class="code">--history</span></h3>
<p>WS23xx stations store records in a circular buffer &mdash; once the
buffer fills, the oldest records are replaced by newer records.
The console stores up to 175 records. </p>
<p>For example, to display the latest 30 records from the console
memory:</p>
<pre class="tty cmd">wee_device --history=30</pre>
<h3 id="vantage_clear_memory">Action <span class="code">--clear-memory</span></h3>
<p>To clear the console memory:</p>
<pre class="tty cmd">wee_device --clear-memory</pre>
<h2 id="ws23xx_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>WS23xx station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_in</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_out</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_in</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_out</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td>D</td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td>rain_rate</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td>dewpoint</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td>windchill</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
<!-- ********** -->
<h1 id='ws28xx_notes'>WS28xx</h1>
<p>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.</p>
<p>The sensors send data at different rates:</p>
<table class='station_data'>
<caption>WS28xx transmission periods</caption>
<tbody>
<tr><th>sensor</th><th>period</th></tr>
<tr><td>Wind</td><td>17 seconds</td></tr>
<tr><td>T/H</td><td>13 seconds</td></tr>
<tr><td>Rain</td><td>19 seconds</td></tr>
<tr><td>Pressure</td><td>15 seconds</td></tr>
</tbody>
</table>
<p>The wind and rain sensors transmit to the temperature/humidity
device, then the temperature/humidity device retransmits to the
weather station console. Pressure is measured by a sensor in the
console.
</p>
<p>The station has 1797 history records. That is just over 6 days of
data with an archive interval of 5 minutes.</p>
<p>When WeeWX starts up it will attempt to
download all records from the console since
the last record in the archive database. </p>
<p>The WS28xx driver sets the station archive interval to 5
minutes.</p>
<p>The WS28xx driver does not support hardware archive record
generation.</p>
<h2 id="ws28xx_pairing">Pairing</h2>
<p>The console and transceiver must be paired. Pairing ensures that
your transceiver is talking to your console, not your neighbor's
console. Pairing should only have to be done once, although you
might have to pair again after power cycling the console, for
example after you replace the batteries.</p>
<p>There are two ways to pair the console and the transceiver:</p>
<ol>
<li><strong>The WeeWX way.</strong> 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
go away within a second or two.
<pre class='tty'><span class="cmd">wee_device --pair</span>
Pairing transceiver with console...
Press and hold the [v] key until "PC" appears (attempt 1 of 3)
Transceiver is paired to console</pre>
</li>
<li><strong>The HeavyWeather way.</strong> Follow the pairing
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
console or you will have to start over.
</li>
</ol>
<p>If the console does not pair, you will see messages in the log such
as this:</p>
<pre class='tty'>ws28xx: RFComm: message from console contains unknown device ID (id=165a resp=80 req=6)</pre>
<p>Either approach to pairing may require multiple attempts.</p>
<h2 id="ws28xx_synchronizing">Synchronizing</h2>
<p>After pairing, the transceiver and console must be synchronized in
order to communicate. Synchronization will happen automatically at
the top of each hour, or you can force synchronization by pressing
the [SET] button momentarily. Do not press and hold the [SET]
button &mdash; that modifies the console alarms.</p>
<p>When the transceiver and console are synchronized, you will see
lots of '<span class="code">ws28xx: RFComm</span>' messages in the
log when <span class="code">debug=1</span>. When the devices are
not synchronized, you will see messages like this about every 10
minutes:</p>
<pre class='tty'>Nov 7 19:12:17 raspi weewx[2335]: ws28xx: MainThread: no contact with console</pre>
<p>If you see this, or if you see an extended gap in the weather data
in the WeeWX plots, press momentarily
the [SET] button, or wait until the top of the hour.</p>
<p>When the transceiver has not received new data for awhile, you will
see messages like this in the log:</p>
<pre class='tty'>Nov 7 19:12:17 raspi weewx[2335]: ws28xx: MainThread: no new weather data</pre>
<p>If you see 'no new weather data' messages with the 'no contact with
console' messages, it simply means that the transceiver has not
been able to synchronize with the console. If you see only the
'no new weather data' messages, then the sensors are not
communicating with the console, or the console may be defective.
</p>
<h2>Alarms</h2>
<p>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
alarms can do much more than the console alarms anyway.</p>
<h2 id="ws28xx_configuration">Configuring with <span class="code">wee_device</span></h2>
<p class="note">
Make sure you stop <span class="code">weewxd</span> before running
<span class="code">wee_device</span>.
</p>
<h3 id="ws28xx_help">
Action <span class="code">--help</span></h3>
<p>Invoking <a href="utilities.htm#wee_device_utility"><span class='code'>wee_device</span></a> with the
<span class='code'>--help</span> option</p>
<pre class="tty cmd">wee_device /home/weewx/weewx.conf --help</pre>
<p>will produce something like this:</p>
<pre class="tty">
WS28xx driver version 0.33
Usage: wee_device [config_file] [options] [--debug] [--help]
Configuration utility for weewx devices.
Options:
-h, --help show this help message and exit
--debug display diagnostic information while running
-y answer yes to every prompt
--check-transceiver check USB transceiver
--pair pair the USB transceiver with station console
--info display weather station configuration
--set-interval=N set logging interval to N minutes
--current get the current weather conditions
--history=N display N history records
--history-since=N display history records since N minutes ago
--maxtries=MAXTRIES maximum number of retries, 0 indicates no max
Mutating actions will request confirmation before proceeding.</pre>
<h3>Action <span class="code">--pair</span></h3>
<p>The console and transceiver must be paired. This can be done either
by using this command, or by running the program HeavyWeather on a
Windows PC.</p>
<p>Be sure that WeeWX is not running. Run
the command:</p>
<pre class='tty'><span class="cmd">wee_device --pair</span>
Pairing transceiver with console...
Press and hold the [v] key until "PC" appears (attempt 1 of 3)
Transceiver is paired to console</pre>
<p>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 go away within a second or two.</p>
<p>If the console does not pair, you will see messages in the log such
as this:</p>
<pre class='tty'>ws28xx: RFComm: message from console contains unknown device ID (id=165a resp=80 req=6)</pre>
<p>Pairing may require multiple attempts.</p>
<p>After pairing, the transceiver and console must be synchronized in
order to communicate. This should happen automatically.</p>
<h3>Action <span class="code">--info</span></h3>
<p>Display the station settings with the
<span class='code'>--info</span> option.</p>
<p class="tty cmd">wee_device --info</p>
<p>This will result in something like:</p>
<pre class='tty'>alarm_flags_other: 0
alarm_flags_wind_dir: 0
checksum_in: 1327
checksum_out: 1327
format_clock: 1
format_pressure: 0
format_rain: 1
format_temperature: 0
format_windspeed: 4
history_interval: 1
indoor_humidity_max: 70
indoor_humidity_max_time: None
indoor_humidity_min: 45
indoor_humidity_min_time: None
indoor_temp_max: 40.0
indoor_temp_max_time: None
indoor_temp_min: 0.0
indoor_temp_min_time: None
lcd_contrast: 4
low_battery_flags: 0
outdoor_humidity_max: 70
outdoor_humidity_max_time: None
outdoor_humidity_min: 45
outdoor_humidity_min_time: None
outdoor_temp_max: 40.0
outdoor_temp_max_time: None
outdoor_temp_min: 0.0
outdoor_temp_min_time: None
pressure_max: 1040.0
pressure_max_time: None
pressure_min: 960.0
pressure_min_time: None
rain_24h_max: 50.0
rain_24h_max_time: None
threshold_storm: 5
threshold_weather: 3
wind_gust_max: 12.874765625
wind_gust_max_time: None</pre>
<h2 id="ws28xx_data">Station data</h2>
<p>The following table shows which data are provided by the station
hardware and which are calculated by WeeWX.
</p>
<table class='station_data'>
<caption>WS28xx station data</caption>
<tbody class='code'>
<tr class="first_row">
<td style='width:200px'>Database Field</td>
<td>Observation</td>
<td>Loop</td>
<td>Archive</td>
</tr>
<tr>
<td class='first_col'>barometer</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>pressure</td>
<td>pressure</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>altimeter</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>inTemp</td>
<td>temperature_in</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outTemp</td>
<td>temperature_out</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>inHumidity</td>
<td>humidity_in</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>outHumidity</td>
<td>humidity_out</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windSpeed</td>
<td>wind_speed</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windDir</td>
<td>wind_dir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGust</td>
<td>wind_gust</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>windGustDir</td>
<td>wind_gust_dir</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rain</td>
<td>rain</td>
<td>D</td>
<td>D</td>
</tr>
<tr>
<td class='first_col'></td>
<td>rain_total</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rainRate</td>
<td>rain_rate</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>dewpoint</td>
<td></td>
<td>S</td>
<td>S</td>
</tr>
<tr>
<td class='first_col'>windchill</td>
<td>windchill</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>heatindex</td>
<td>heatindex</td>
<td>H</td>
<td>H</td>
</tr>
<tr>
<td class='first_col'>rxCheckPercent</td>
<td>rssi</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>windBatteryStatus</td>
<td>wind_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>rainBatteryStatus</td>
<td>rain_battery_status</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>outTempBatteryStatus</td>
<td>battery_status_out</td>
<td>H</td>
<td></td>
</tr>
<tr>
<td class='first_col'>inTempBatteryStatus</td>
<td>battery_status_in</td>
<td>H</td>
<td></td>
</tr>
</tbody>
</table>
<p class='station_data_key'>
<b>H</b> indicates data provided by <b>H</b>ardware<br/>
<b>D</b> indicates data calculated by the <b>D</b>river<br/>
<b>S</b> indicates data calculated by the StdWXCalculate <b>S</b>ervice<br/>
</p>
</div>
<div class="footer">
<p class="copyright">
&copy; <a href="copyright.htm">Copyright</a> Tom Keffer
</p>
</div>
</div>
</body>
</html>