Version: 4.9
WeeWX Hardware Guide

Driver status

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 supported hardware page — it could be a variation of one of the supported models. You can also check the station comparison table — sometimes new models use the same communication protocols as older hardware.

The maturity column indicates the degree of confidence in the driver. For stations marked Tested, 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 Experimental, we are still working on the driver. There can be problems.

Weather hardware supported by WeeWX
Vendor Model Hardware
Interface
Required
Package
Station
Driver
Maturity
AcuRite 01025 USB pyusb AcuRite12
01035 USB pyusb AcuRite12 Tested
01036 USB pyusb AcuRite12
01525 USB pyusb AcuRite12
02032 USB pyusb AcuRite12
02064 USB pyusb AcuRite12
06037 USB pyusb AcuRite12
06039 USB pyusb AcuRite12
Argent Data Systems WS1 Serial pyusb WS19
Aercus WS2083 USB pyusb FineOffsetUSB5
WS3083 USB pyusb FineOffsetUSB5
Ambient Weather WS1090 USB pyusb FineOffsetUSB5 Tested
WS2080 USB pyusb FineOffsetUSB5 Tested
WS2080A USB pyusb FineOffsetUSB5 Tested
WS2090 USB pyusb FineOffsetUSB5
WS2095 USB pyusb FineOffsetUSB5
Cresta WRX815 USB pyusb TE9238
PWS720 USB pyusb TE9238
DAZA DZ-WH1080 USB pyusb FineOffsetUSB5
DZ-WS3101 USB pyusb FineOffsetUSB5
DZ-WS3104 USB pyusb FineOffsetUSB5
Davis VantagePro2 Serial or USB pyserial Vantage1 Tested
VantagePro2 WeatherLink IP   Vantage1 Tested
VantageVue Serial or USB pyserial Vantage1 Tested
Elecsa 6975 USB pyusb FineOffsetUSB5
6976 USB pyusb FineOffsetUSB5
Excelvan Excelvan USB pyusb FineOffsetUSB5
Fine Offset WH1080 USB pyusb FineOffsetUSB5
WH1081 USB pyusb FineOffsetUSB5
WH1091 USB pyusb FineOffsetUSB5
WH1090 USB pyusb FineOffsetUSB5
WS1080 USB pyusb FineOffsetUSB5
WA2080 USB pyusb FineOffsetUSB5
WA2081 USB pyusb FineOffsetUSB5
WH2080 USB pyusb FineOffsetUSB5
WH2081 USB pyusb FineOffsetUSB5
WH3080 USB pyusb FineOffsetUSB5
WH3081 USB pyusb FineOffsetUSB5
Froggit WS8700 USB pyusb TE9238
WH1080 USB pyusb FineOffsetUSB5
WH3080 USB pyusb FineOffsetUSB5
General Tools WS831DL USB pyusb TE9238
Hideki DV928 USB pyusb TE9238
TE821 USB pyusb TE9238
TE827 USB pyusb TE9238
TE831 USB pyusb TE9238
TE838 USB pyusb TE9238
TE923 USB pyusb TE9238
Huger WM918 Serial pyserial WMR9x84
IROX Pro X USB pyusb TE9238
La Crosse C86234 USB pyusb WS28xx7 Tested
WS-1640 USB pyusb TE9238
WS-23XX Serial fcntl/select WS23xx6 Tested
WS-28XX USB pyusb WS28xx7
Maplin N96GY USB pyusb FineOffsetUSB5
N96FY USB pyusb FineOffsetUSB5
Meade TE923W USB pyusb TE9238 Tested
TE923W-M USB pyusb TE9238
TE924W USB pyusb TE9238
Mebus TE923 USB pyusb TE9238
National Geographic 265 USB pyusb FineOffsetUSB5
Oregon Scientific WMR88 USB pyusb WMR1002
WMR88A USB pyusb WMR1002
WMR100 USB pyusb WMR1002
WMR100N USB pyusb WMR1002 Tested
WMR180 USB pyusb WMR1002
WMR180A USB pyusb WMR1002
WMRS200 USB pyusb WMR1002
WMR300 USB pyusb WMR3003 Experimental
WMR300A USB pyusb WMR3003 Experimental
WMR918 Serial pyserial WMR9x84
WMR928N Serial pyserial WMR9x84 Tested
WMR968 Serial pyserial WMR9x84 Tested
PeetBros Ultimeter 100 Serial pyserial Ultimeter10
Ultimeter 800 Serial pyserial Ultimeter10
Ultimeter 2000 Serial pyserial Ultimeter10
Ultimeter 2100 Serial pyserial Ultimeter10
RainWise Mark III Serial pyserial CC300011
CC3000 Serial pyserial CC300011 Tested
Radio Shack 63-256 USB pyusb WMR1002
63-1016 Serial pyserial WMR9x84
Sinometer WS1080 / WS1081 USB pyusb FineOffsetUSB5
WS3100 / WS3101 USB pyusb FineOffsetUSB5
TechnoLine WS-2300 Serial fcntl/select WS23xx6
WS-2350 Serial fcntl/select WS23xx6
TFA Matrix Serial fcntl/select WS23xx6
Nexus USB pyusb TE9238
Opus USB pyusb WS28xx7
Primus USB pyusb WS28xx7
Sinus USB pyusb TE9238
Tycon TP1080WC USB pyusb FineOffsetUSB5
Watson W-8681 USB pyusb FineOffsetUSB5
WX-2008 USB pyusb FineOffsetUSB5
Velleman WS3080 USB pyusb FineOffsetUSB5
Ventus W831 USB pyusb TE9238
W928 USB pyusb TE9238
  1. Davis "Vantage" series of weather stations, including the VantagePro2™ and VantageVue™, using serial, USB, or WeatherLinkIP™ connections. Both the "Rev A" (firmware dated before 22 April 2002) and "Rev B" versions are supported.
  2. Oregon Scientific WMR-100 stations. Tested on the Oregon Scientific WMR100N.
  3. Oregon Scientific WMR-300 stations. Tested on the Oregon Scientific WMR300A.
  4. Oregon Scientific WMR-9x8 stations. Tested on the Oregon Scientific WMR968.
  5. Fine Offset 10xx, 20xx, and 30xx stations. Tested on the Ambient Weather WS2080.
  6. La Crosse WS-23xx stations. Tested on the La Crosse 2317.
  7. La Crosse WS-28xx stations. Tested on the La Crosse C86234.
  8. Hideki Professional Weather Stations. Tested on the Meade TE923.
  9. ADS WS1 Stations. Tested on the WS1.
  10. PeetBros Ultimeter Stations. Tested on the Ultimeter 2000.
  11. RainWise Mark III Stations. Tested on the CC3000 (firmware "Rainwise CC-3000 Version: 1.3 Build 022 Dec 02 2016").
  12. AcuRite Weather Stations. Tested on the 01036RX.

AcuRite

According to Acurite, the wind speed updates every 18 seconds. The wind direction updates every 30 seconds. Other sensors update every 60 seconds.

In fact, because of the message structure and the data logging design, these are the actual update frequencies:

AcuRite transmission periods
sensorperiod
Wind speed18 seconds
Outdoor temperature, outdoor humidity36 seconds
Wind direction, rain total36 seconds
Indoor temperature, pressure60 seconds
Indoor humidity12 minutes (only when in USB mode 3)

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

The AcuRite stations do not record wind gusts.

Some consoles have a small internal logger. Data in the logger are erased when power is removed from the station.

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.

USB Mode

Some AcuRite consoles have a setting called "USB Mode" that controls how data are saved and communicated:

AcuRite USB mode
Mode Show data
in display
Store data
in logger
Send data
over USB
1yesyes
2yes
3yesyesyes
4yesyes

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.

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.

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.

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

The 02064 and 01536 consoles do not have a mode setting; these consoles are always in USB mode 4.

Configuring with wee_device

The wee_device utility cannot be used to configure AcuRite stations.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

AcuRite station data
Database Field Observation Loop Archive
barometer S
pressure pressure H
altimeter S
inTemp temperature_in H
outTemp temperature_out H
inHumidity humidity_in
outHumidity humidity_out H
windSpeed wind_speed H
windDir wind_dir H
rain rain D
rain_total H
rainRate S
dewpoint S
windchill S
heatindex S
rxCheckPercent rssi H
outTempBatteryStatus battery H

Each packet contains a subset of all possible readings. For example, one type of packet contains windSpeed, windDir and rain. A different type of packet contains windSpeed, outTemp and outHumidity.

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

CC3000

The CC3000 data logger stores 2MB of records.

When the logger fills up, it stops recording.

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

The driver does not support hardware record generation.

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

Configuring with wee_device

Make sure you stop weewxd before running wee_device.

Action --help

Invoking wee_device with the --help option

wee_device --help

will produce something like this:

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

Action --info

Display the station settings with --info

wee_device --info

This will result in something like:

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  ~

Action --current

Returns the current values in a comma-delimited format. The order of the data values corresponds to the output of the --get-header command. NO DATA is returned if the unit has not received a transmission from the weather station.

wee_device --current

This will result in something like:

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, ~

Action --history=N

Display the latest N records from the CC3000 logger memory. Use a value of 0 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).

wee_device --history=2

This will result in something like:

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', ~

Action --history-since=N

Display all CC3000 logger memory records created in the last N minutes.

wee_device --history-since=10

This will result in something like:

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, ~

Action --clear-memory

Use --clear-memory to erase all records from the logger memory.

wee_device --clear-memory

Action --get-header

Returns a series of comma delimited text descriptions. These descriptions are used to identify the type and order of the returned data in both --get-current, --download=N and --download-since=N commands.

wee_device --get-header

This will result in something like:

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"', ~

Action --get-rain

Display the raing counter.

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.

wee_device --get-rain

This will result in something like:

Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
3.31

Action --reset-rain

Reset the rain counter to zero.

wee_device --reset-rain

Action --get-max

Get the maximum values observed since the last time

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.

wee_device --get-max

This will result in something like:

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 ~

Action --reset-max

Reset the maximum values.

wee_device --reset-max

Action --get-min

Get the minimum values observed since the last time

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.

wee_device --get-min

This will result in something like:

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 ~

Action --reset-min

Reset the minimum values.

wee_device --reset-min

Action --get-clock

Get the time.

wee_device --get-clock

This will result in something like:

Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
2020/01/04 15:01:34

Action --set-clock

Set the station clock to match the date/time of the computer.

wee_device --set-clock

Action --get-interval

Returns the current logging interval (in seconds).

wee_device --get-interval

This will result in something like:

Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
300

Action --set-interval=N

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:

wee_device --set-interval=5

Action --get-units

Returns the current measurement units.

wee_device --get-units

This will result in something like:

Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
ENGLISH

Action --set-units

The CC3000 can display data in either ENGLISH or METRIC unit systems. Use --set-units to specify one or the other.

The CC3000 driver automatically converts the units to maintain consistency with the units in WeeWX.

wee_device --set-units=ENGLISH

Action --get-dst

Return the dates and times when the clock will change due to daylight saving and the number of minutes that the clock will change.

This will result in something like:

Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
03/08 02:00,11/01 02:00,060

Action --set-dst

Set the station start, end, and amount of daylight savings.

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.

wee_device --set-dst="03/08 02:00,11/01 02:00,060"
wee_device --set-dst=0

Action --get-channel

Displays the station channel (0-3).

This will result in something like:

Using configuration file /home/weewx/weewx.conf
Using CC3000 driver version 0.30 (weewx.drivers.cc3000)
0

Action --set-channel=N

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 --set-channel to a value of 0-3 to match that of the instrument cluster.

wee_device --set-channel=0

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

CC3000 station data
Database Field Observation Loop Archive
barometer S S
pressure PRESSURE H H
altimeter S S
inTemp TEMP IN H H
outTemp TEMP OUT H H
outHumidity HUMIDITY H H
windSpeed WIND SPEED H H
windDir WIND DIRECTION H H
windGust WIND GUST H H
rain rain_delta D D
RAIN H H
rainRate S S
dewpoint S S
windchill S S
heatindex S S
radiation1 SOLAR RADIATION H H
UV1 UV INDEX H H
supplyVoltage STATION BATTERY H
consBatteryVoltage BATTERY BACKUP H
extraTemp12 TEMP 1 H H
extraTemp22 TEMP 2 H H

1 The radiation and UV data are available only with the optional solar radiation sensor.

2 The extraTemp1 and extraTemp2 data are available only with the optional additional temperature sensors.

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

FineOffsetUSB

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.

The station reads data from the sensors every 48 seconds. The 30xx stations read UV data every 60 seconds.

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.

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

Polling mode and interval

When reading 'live' data, WeeWX can read as fast as possible, or at a user-defined period. This is controlled by the option polling_mode in weewx.conf.

Polling modes for Fine Offset stations
Mode Configuration Notes
ADAPTIVE
[FineOffsetUSB]
    polling_mode = ADAPTIVE

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.

PERIODIC
[FineOffsetUSB]
    polling_mode = PERIODIC
    polling_interval = 60

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

The console reads the sensors every 48 seconds (60 seconds for UV), so setting the polling_interval to a value less than 48 will result in duplicate readings.

Data format

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.

Since WeeWX cannot reliably determine the data format by communicating with the station, the data_format configuration option indicates the station type. Possible values are 1080 and 3080. Use 1080 for the 10xx and 20xx consoles. The default value is 1080.

For example, this would indicate that the station is a 30xx console:

[FineOffsetUSB]
    ...
    data_format = 3080

Configuring with wee_device

Make sure you stop weewxd before running wee_device.

Action --help

Invoking wee_device with the --help option

wee_device /home/weewx/weewx.conf --help

will produce something like this:

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.

Action --info

Display the station settings with the --info option.

wee_device --info

This will result in something like:

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
                    data_count: 22
                     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
                   read_period: 30
                  rel_pressure: 1014.8
                temp_in_offset: 1792
               temp_out_offset: 0
                      timezone: 0
                    unknown_01: 0
                    unknown_18: 0
                       version: 255
                     wind_coef: None
                     wind_mult: 0

Highlighted values can be modified.

Action --set-interval

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:

wee_device --set-interval=5

Action --history

Fine Offset stations store records in a circular buffer — 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 data_count indicates how many records are in memory. The read_period indicates the number of minutes between records. wee_device can display these records in space-delimited, raw bytes, or dictionary format.

For example, to display the most recent 30 records from the console memory:

wee_device --history=30

Action --clear-memory

To clear the console memory:

wee_device --clear-memory

Action --check-usb

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.

To test the quality of the USB connection to the console:

wee_device --check-usb

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.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

Fine Offset station data
Database Field Observation Loop Archive
barometer S S
pressure pressure H H
altimeter S S
inTemp temperature_in H H
outTemp temperature_out H H
inHumidity humidity_in H H
outHumidity humidity_out H H
windSpeed wind_speed H H
windDir wind_dir H H
windGust wind_gust H H
rain rain D D
rain_total H H
rainRate S S
dewpoint dewpoint H S
windchill windchill H S
heatindex heatindex H S
radiation1 radiation D D
luminosity1 luminosity H H
rxCheckPercent signal H
outTempBatteryStatus battery H

1 The radiation data are available only from 30xx stations. These stations include a luminosity sensor, from which the radiation is approximated.

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

TE923

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 sensor_map in weewx.conf to associate each sensor with a database field.

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.

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

Configuring with wee_device

Make sure you stop weewxd before running wee_device.

Action --help

Invoking wee_device with the --help option

wee_device /home/weewx/weewx.conf --help

will produce something like this:

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.

Action --info

Use --info to display the station configuration:

wee_device --info

This will result in something like:

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

Action --current

Use --current to display the current status of each sensor:

wee_device --current

This will result in something like:

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

Action --set-interval

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:

wee_device --set-interval=300

Action --history

Use the --history action to display records from the logger in tabular or dictionary format.

For example, to display the most recent 30 records in dictionary format:

wee_device --history=30 --format=dict

Action --clear-memory

Use --clear-memory to erase all records from the logger memory.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

TE923 station data
Database Field Observation Loop Archive
barometer barometer H H
pressure S S
altimeter S S
inTemp t_in H H
inHumidity h_in H H
outTemp t_1 H H
outHumidity h_1 H H
outTempBatteryStatus bat_1 H
outLinkStatus link_1 H
windSpeed windspeed H H
windDir winddir H H
windGust windgust H H
windBatteryStatus bat_wind H
windLinkStatus link_wind H
rain rain D D
rain_total H H
rainBatteryStatus bat_rain H
rainLinkStatus link_rain H
rainRate S S
dewpoint S S
windchill windchill H H
heatindex S S
UV1 uv H H
uvBatteryStatus bat_uv H
uvLinkStatus link_uv H
extraTemp1 t_2 H H
extraHumid1 h_2 H H
extraBatteryStatus1 bat_2 H
extraLinkStatus1 link_2 H
extraTemp2 t_3 H H
extraHumid2 h_3 H H
extraBatteryStatus2 bat_3 H
extraLinkStatus2 link_3 H
extraTemp3 t_4 H H
extraHumid3 h_4 H H
extraBatteryStatus3 bat_4 H
extraLinkStatus3 link_4 H
extraTemp4 t_5 H H
extraHumid4 h_5 H H
extraBatteryStatus4 bat_5 H
extraLinkStatus4 link_5 H

Some stations support up to 5 remote temperature/humidity sensors.

1 The UV data are available only with the optional solar radiation sensor.

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

Ultimeter

The Ultimeter driver operates the Ultimeter in Data Logger Mode, which results in sensor readings every 1/2 second or so.

The Ultimeter driver ignores the maximum, minimum, and average values recorded by the station.

Configuring with wee_device

The wee_device utility cannot be used to configure Ultimeter stations.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

Ultimeter station data
Database Field Observation Loop Archive
barometer2 barometer H
pressure2 S
altimeter2 S
inTemp2 temperature_in H
outTemp temperature_out H
inHumidity2 humidity_in H
outHumidity humidity_out H
windSpeed wind_speed H
windDir wind_dir H
rain1 rain D
rain_total H
rainRate1 S
dewpoint S
windchill S
heatindex S

1 The rain and rainRate are available only on stations with the optional rain sensor.

2 Pressure, inside temperature, and inside humidity data are not available on all types of Ultimeter stations.

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

Vantage

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.

Configuring with wee_device

Make sure you stop weewxd before running wee_device.

Action --help

Invoking wee_device with the --help option

wee_device /home/weewx/weewx.conf --help

will produce something like this:

Using configuration file /home/weewx/weewx.conf
Using Vantage driver version 3.2.3 (weewx.drivers.vantage)
Usage: wee_device --help
       wee_device --info [config_file]
       wee_device --current [config_file]
       wee_device --clear-memory [config_file] [-y]
       wee_device --set-interval=MINUTES [config_file] [-y]
       wee_device --set-latitude=DEGREE [config_file] [-y]
       wee_device --set-longitude=DEGREE [config_file] [-y]
       wee_device --set-altitude=FEET [config_file] [-y]
       wee_device --set-barometer=inHg [config_file] [-y]
       wee_device --set-wind-cup=CODE [config_file] [-y]
       wee_device --set-bucket=CODE [config_file] [-y]
       wee_device --set-rain-year-start=MM [config_file] [-y]
       wee_device --set-offset=VARIABLE,OFFSET [config_file] [-y]
       wee_device --set-transmitter-type=CHANNEL,TYPE,TEMP,HUM,REPEATER_ID [config_file] [-y]
       wee_device --set-retransmit=[OFF|ON|ON,CHANNEL] [config_file] [-y]
       wee_device --set-temperature-logging=[LAST|AVERAGE] [config_file] [-y]
       wee_device --set-time [config_file] [-y]
       wee_device --set-dst=[AUTO|ON|OFF] [config_file] [-y]
       wee_device --set-tz-code=TZCODE [config_file] [-y]
       wee_device --set-tz-offset=HHMM [config_file] [-y]
       wee_device --set-lamp=[ON|OFF] [config_file]
       wee_device --dump [--batch-size=BATCH_SIZE] [config_file] [-y]
       wee_device --logger-summary=FILE [config_file] [-y]
       wee_device [--start | --stop] [config_file]

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.
  --current             To print current LOOP information.
  --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-wind-cup=CODE   Set the type of wind cup. Specify '0' for small size;
                        '1' for large size
  --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'.
  --dump                Dump all data to the archive. NB: This may result in
                        many duplicate primary key errors.
  --batch-size=BATCH_SIZE
                        Use with option --dump. Pages are read off the console
                        in batches of BATCH_SIZE. A BATCH_SIZE of zero means
                        dump all data first, then put it in the database. This
                        can improve performance in high-latency environments,
                        but requires sufficient memory to hold all station
                        data. Default is 1 (one).
  --logger-summary=FILE
                        Save diagnostic summary to FILE (for debugging the
                        logger).
  --start               Start the logger.
  --stop                Stop the logger.

Be sure to stop weewx first before using. Mutating actions will request
confirmation before proceeding.

Action --info

Use the --info option to display the current EEPROM settings:

wee_device --info

This will result in something like:

Davis Vantage EEPROM settings:

    CONSOLE TYPE:                   Vantage Pro2

    CONSOLE FIRMWARE:
      Date:                         Jun  3 2013
      Version:                      3.15

    CONSOLE SETTINGS:
      Archive interval:             300 (seconds)
      Altitude:                     700 (foot)
      Wind cup type:                large
      Rain bucket type:             0.01 inches
      Rain year start:              10
      Onboard time:                 2014-09-25 07:41:14

    CONSOLE DISPLAY UNITS:
      Barometer:                    inHg
      Temperature:                  degree_F
      Rain:                         inch
      Wind:                         mile_per_hour

    CONSOLE STATION INFO:
      Latitude (onboard):           45.7°
      Longitude (onboard):          -121.6°
      Use manual or auto DST?       AUTO
      DST setting:                  N/A
      Use GMT offset or zone code?  ZONE_CODE
      Time zone code:               4
      GMT offset:                   N/A
      Retransmit channel:           0 (OFF)

    TRANSMITTERS:
      Channel   Receive   Repeater  Type
         1      active      A       iss
         2      active      none    temp_hum (as extra temperature 1 and extra humidity 1)
         3      active      none    leaf_soil
         4      inactive    none    (N/A)
         5      inactive    none    (N/A)
         6      inactive    none    (N/A)
         7      inactive    none    (N/A)
         8      inactive    none    (N/A)

    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:
      Current barometer reading:    29.834 inHg
      Altitude:                     700 feet
      Dew point:                    55 F
      Virtual temperature:          59 F
      Humidity correction factor:   2.7
      Correction ratio:             1.025
      Correction constant:          +0.000 inHg
      Gain:                         0.000
      Offset:                       -47.000

    OFFSETS:
      Wind direction:               +0 deg
      Inside Temperature:           +0.0 F
      Inside Humidity:              +0 %
      Outside Temperature:          +0.0 F
      Outside Humidity:             +0 %
      Extra Temperature 1:          +0.0 F

The console version number is available only on consoles with firmware dates after about 2006.

Highlighted values can be modified using the various wee_device commands below.

Action --current

This command will print a single LOOP packet.

Action --clear-memory

This command will clear the logger memory after asking for confirmation.

Action --set-interval

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'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.

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.

Example: to change the archive interval to 10 minutes:

wee_device --set-interval=10

Action --set-altitude

Use this command to set the console's stored altitude. The altitude must be in feet. Example:

wee_device --set-altitude=700

Action --set-barometer

Use this command to calibrate the barometer in your Vantage weather station. To use it, you must have a known correct barometer reading for your altitude. 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.

Action --set-bucket

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 "2"), use the following:

wee_device --set-bucket=2

Action --set-rain-year-start

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:

wee_device --set-rain-year-start=10

Action --set-offset

The Davis instruments can correct sensor errors by adding an offset 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° error in the wind direction. The solution is to add a 180° offset correction. You can do this with the following command:

wee_device --set-offset=windDir,180

Action --set-transmitter-type

If you have additional sensors and/or repeaters for your Vantage station, you can configure them using your console. However, if you have a Davis Weather Envoy receiver, it will not have a console! As an alternative, wee_device can do this using the command --set-transmitter-type.

For example, to add an extra temperature sensor to channel 3 and no repeater is used, do the following:

wee_device --set-transmitter-type=3,1,2

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 extraTemp2.

If you omit the repeater id, repeater id will be: 'no repeater'.

Here's another example, this time for a combined temperature / humidity sensor retransmitted via repeater A:

wee_device --set-transmitter-type=5,3,2,4,a

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 extraTemp2 and extraHumid4.

The --help option will give you the code for each sensor type and repeater id.

If you have to use repeaters with your Vantage Pro2 station, please take a look at Installing Repeater Networks for Vantage Pro2 how to setup.

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.

Action --set-retransmit

Use this command to tell your console whether or not to act as a retransmitter.

Example: Tell your console to turn retransmission 'ON' and let the software select the first available channel:

wee_device --set-retransmit=on

Another example: Tell your console to turn retransmission 'OFF':

wee_device --set-retransmit=off

Last example: Tell your console to turn retransmission 'ON' at channel 4:

wee_device --set-retransmit=on,4

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.

Action --set-dst

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.

Action --set-tz-code

This command can be used to change the time zone. Consult the Vantage manual for the code that corresponds to your time zone.

You can set either the time zone code or the time zone offset, but not both.

For example, to set the time zone code to Central European Time (code 20):

wee_device --set-tz-code=20

Action --set-tz-offset

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.

You can set either the time zone code or the time zone offset, but not both.

For example, to set the time zone offset for Newfoundland Standard Time (UTC-03:30), use the following:

wee_device --set-tz-offset=-0330

Action --set-lamp

Use this command to turn the console lamp on or off.

Action --dump

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 section WeeWX generates HTML pages, but it does not update them in the Wiki. The fix involves clearing the memory but, unfortunately, this means you may lose any data which might have accumulated in the logger memory, but not yet downloaded. By using the --dump command before clearing the memory, you might be able to save these data. Stop WeeWX first, then

wee_device --dump

This will dump all data archived in the Vantage memory directly to the database, without regard to whether or not they have been seen before. Because the command dumps all data, it may result in many duplicate primary key errors. These can be ignored.

Action --logger-summary FILE

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 FILE.

Example:

wee_device --logger-summary=/var/tmp/summary.txt

Action --start

Use this command to start the logger. There are occasions when an out-of-the-box logger needs this command.

Action --stop

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.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

Vantage station data
Database Field Observation Loop Archive
barometer barometer H H
pressure S S
altimeter S S
inTemp inTemp H H
outTemp outTemp H H
inHumidity inHumidity H H
outHumidity outHumidity H H
windSpeed windSpeed H H
windDir windDir H H
windGust windGust H H
windGustDir windGustDir H H
rain rain D H
monthRain H H
rainRate rainRate H H
dewpoint S S
windchill S S
heatindex S S
radiation radiation H H
UV UV H H
extraTemp1 extraTemp1 H H
extraTemp2 extraTemp2 H H
extraTemp3 extraTemp3 H H
extraTemp4 extraTemp4 H
extraTemp5 extraTemp5 H
extraTemp6 extraTemp6 H
extraTemp7 extraTemp7 H
soilTemp1 soilTemp1 H H
soilTemp2 soilTemp2 H H
soilTemp3 soilTemp3 H H
soilTemp4 soilTemp4 H H
leafTemp1 leafTemp1 H H
leafTemp2 leafTemp2 H H
leafTemp3 leafTemp3 H H
leafTemp4 leafTemp4 H H
extraHumid1 extraHumid1 H H
extraHumid2 extraHumid2 H H
extraHumid3 extraHumid3 H
extraHumid4 extraHumid4 H
extraHumid5 extraHumid5 H
extraHumid6 extraHumid6 H
extraHumid7 extraHumid7 H
soilMoist1 soilMoist1 H H
soilMoist2 soilMoist2 H H
soilMoist3 soilMoist3 H H
soilMoist4 soilMoist4 H H
leafWet1 leafWet1 H H
leafWet2 leafWet2 H H
leafWet3 leafWet3 H H
leafWet4 leafWet4 H H
txBatteryStatus txBatteryStatus H H
consBatteryVoltage consBatteryVoltage H H
wind_samples H

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

WMR100

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

Configuring with wee_device

The wee_device utility cannot be used to configure WMR100 stations.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

WMR100 station data
Database Field Observation Loop Archive
barometer S
pressure pressure H
altimeter S
inTemp temperature_0 H
outTemp temperature_1 H
inHumidity humidity_0 H
outHumidity humidity_1 H
windSpeed wind_speed H
windDir wind_dir H
windGust wind_gust H
rain rain D
rain_total H
rainRate rain_rate H
dewpoint S
windchill S
heatindex S
extraTemp1 temperature_2 H
extraTemp2 temperature_3 H
extraTemp3 temperature_4 H
extraTemp4 temperature_5 H
extraTemp5 temperature_6 H
extraTemp6 temperature_7 H
extraTemp7 temperature_8 H
extraHumid1 humidity_2 H
extraHumid2 humidity_3 H
extraHumid3 humidity_4 H
extraHumid4 humidity_5 H
extraHumid5 humidity_6 H
extraHumid6 humidity_7 H
extraHumid7 humidity_8 H
UV uv H
inTempBatteryStatus battery_status_0 H
outTempBatteryStatus battery_status_1 H
rainBatteryStatus rain_battery_status H
windBatteryStatus wind_battery_status H
uvBatteryStatus uv_battery_status H
extraBatteryStatus1 battery_status_2 H
extraBatteryStatus2 battery_status_3 H
extraBatteryStatus3 battery_status_4 H
extraBatteryStatus4 battery_status_5 H
extraBatteryStatus5 battery_status_6 H
extraBatteryStatus6 battery_status_7 H
extraBatteryStatus7 battery_status_8 H

Each packet contains a subset of all possible readings. For example, a temperature packet contains temperature_N and battery_status_N, a rain packet contains rain_total and rain_rate.

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

WMR300

A single WMR300 console supports 1 wind, 1 rain, 1 UV, and up to 8 temperature/humidity sensors.

The WMR300 sensors send at different rates:

WMR300 transmission periods
sensorperiod
Wind2.5 to 3 seconds
T/H10 to 12 seconds
Rain20 to 24 seconds

The console contains the pressure sensor. The console reports pressure every 15 minutes.

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

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.

The logger stores about 50,000 records. When the logger fills up, it stops recording data.

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.

Configuring with wee_device

The wee_device utility cannot be used to configure WMR300 stations.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

WMR300 station data
Database Field Observation Loop Archive
barometer barometer H H
pressure pressure H S
altimeter S S
inTemp temperature_0 H H
inHumidity humidity_0 H H
windSpeed wind_avg H H
windDir wind_dir H H
windGust wind_gust H H
windGustDir wind_gust_dir H H
rain rain D D
rain_total H H
rainRate rain_rate H H
outTemp temperature_1 H H
outHumidity humidity_1 H H
dewpoint dewpoint_1 H H
heatindex heatindex_1 H H
windchill windchill H H
extraTemp1 temperature_2 H H
extraHumid1 humidity_2 H H
extraDewpoint1 dewpoint_2 H H
extraHeatindex1 heatindex_2 H H
extraTemp2 temperature_3 H H
extraHumid2 humidity_3 H H
extraDewpoint2 dewpoint_3 H H
extraHeatindex2 heatindex_3 H H
extraTemp3 temperature_4 H H
extraHumid3 humidity_4 H H
extraDewpoint3 dewpoint_4 H H
extraHeatindex3 heatindex_4 H H
extraTemp4 temperature_5 H H
extraHumid4 humidity_5 H H
extraDewpoint4 dewpoint_5 H H
extraHeatindex4 heatindex_5 H H
extraTemp5 temperature_6 H H
extraHumid5 humidity_6 H H
extraDewpoint5 dewpoint_6 H H
extraHeatindex5 heatindex_6 H H
extraTemp6 temperature_7 H H
extraHumid6 humidity_7 H H
extraDewpoint6 dewpoint_7 H H
extraHeatindex6 heatindex_7 H H
extraTemp7 temperature_8 H H
extraHumid7 humidity_8 H H
extraDewpoint7 dewpoint_8 H H
extraHeatindex7 heatindex_8 H H

Each packet contains a subset of all possible readings.

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

WMR9x8

The station includes a data logger, but the driver does not read records from the station.

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

Configuring with wee_device

The wee_device utility cannot be used to configure WMR9x8 stations.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

WMR9x8 station data
Database Field Observation Loop Archive
barometer barometer H
pressure pressure H
altimeter S
inTemp temperature_in H
outTemp temperature_out H
inHumidity humidity_in H
outHumidity humidity_out H
windSpeed wind_speed H
windDir wind_dir H
windGust wind_gust H
windGustDir wind_gust_dir H
rain rain D
rain_total H
rainRate rain_rate H
inDewpoint dewpoint_in H
dewpoint dewpoint_out H
windchill windchill H
heatindex S
UV uv H
extraTemp1 temperature_1 H
extraTemp2 temperature_2 H
extraTemp3 temperature_3 H
extraTemp4 temperature_4 H
extraTemp5 temperature_5 H
extraTemp6 temperature_6 H
extraTemp7 temperature_7 H
extraTemp8 temperature_8 H
extraHumid1 humidity_1 H
extraHumid2 humidity_3 H
extraHumid3 humidity_3 H
extraHumid4 humidity_4 H
extraHumid5 humidity_5 H
extraHumid6 humidity_6 H
extraHumid7 humidity_7 H
extraHumid8 humidity_8 H
inTempBatteryStatus battery_status_in H
outTempBatteryStatus battery_status_out H
rainBatteryStatus rain_battery_status H
windBatteryStatus wind_battery_status H
extraBatteryStatus1 battery_status_1 H
extraBatteryStatus2 battery_status_2 H
extraBatteryStatus3 battery_status_3 H
extraBatteryStatus4 battery_status_4 H
extraBatteryStatus5 battery_status_5 H
extraBatteryStatus6 battery_status_6 H
extraBatteryStatus7 battery_status_7 H
extraBatteryStatus8 battery_status_8 H

Each packet contains a subset of all possible readings. For example, a temperature packet contains temperature_N and battery_status_N, a rain packet contains rain_total and rain_rate.

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

WS1

The WS1 stations produce data every 1/2 second or so.

Configuring with wee_device

The wee_device utility cannot be used to configure WS1 stations.

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

WS1 station data
Database Field Observation Loop Archive
barometer S
pressure pressure H
altimeter S
inTemp temperature_in H
outTemp temperature_out H
inHumidity humidity_in H
outHumidity humidity_out H
windSpeed wind_speed H
windDir wind_dir H
rain rain D
rain_total H
rainRate S
dewpoint S
windchill S
heatindex S

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

WS23xx

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.

The station does not record wind gust or wind gust direction.

The hardware calculates windchill and dewpoint.

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.

WS23xx transmission periods
sensorperiod
Wind 32 seconds when wind > 22.36 mph (wireless)
128 seconds when wind > 22.36 mph (wireless)
10 minutes (wireless after 5 failed attempts)
8 seconds (wired)
Temperature15 seconds
Humidity20 seconds
Pressure15 seconds

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.

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

Configuring with wee_device

Make sure you stop weewxd before running wee_device.

Action --help

Invoking wee_device with the --help option

wee_device /home/weewx/weewx.conf --help

will produce something like this:

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.

Action --info

Display the station settings with the --info option.

wee_device --info 

This will result in something like:

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
...

The line history number of records indicates how many records are in memory. The line history interval indicates the number of minutes between records.

Action --set-interval

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:

wee_device --set-interval=5

Warning!
Changing the archive interval will clear the station memory.

Action --history

WS23xx stations store records in a circular buffer — once the buffer fills, the oldest records are replaced by newer records. The console stores up to 175 records.

For example, to display the latest 30 records from the console memory:

wee_device --history=30

Action --clear-memory

To clear the console memory:

wee_device --clear-memory

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

WS23xx station data
Database Field Observation Loop Archive
barometer S S
pressure pressure H H
altimeter S S
inTemp temperature_in H H
outTemp temperature_out H H
inHumidity humidity_in H H
outHumidity humidity_out H H
windSpeed wind_speed H H
windDir wind_dir H H
rain rain D D
rain_total H H
rainRate rain_rate H H
dewpoint dewpoint H H
windchill windchill H H
heatindex S S

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service

WS28xx

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.

The sensors send data at different rates:

WS28xx transmission periods
sensorperiod
Wind17 seconds
T/H13 seconds
Rain19 seconds
Pressure15 seconds

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.

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

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

The WS28xx driver sets the station archive interval to 5 minutes.

The WS28xx driver does not support hardware archive record generation.

Pairing

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.

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

  1. The WeeWX way. Be sure that WeeWX is not running. Run the configuration utility, press and hold the [v] button on the console until you see 'PC' in the display, then release the button. If the console pairs with the transceiver, 'PC' will go away within a second or two.
    wee_device --pair
    
    Pairing transceiver with console...
    Press and hold the [v] key until "PC" appears (attempt 1 of 3)
    Transceiver is paired to console
  2. The HeavyWeather way. 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.

If the console does not pair, you will see messages in the log such as this:

ws28xx: RFComm: message from console contains unknown device ID (id=165a resp=80 req=6)

Either approach to pairing may require multiple attempts.

Synchronizing

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 — that modifies the console alarms.

When the transceiver and console are synchronized, you will see lots of 'ws28xx: RFComm' messages in the log when debug=1. When the devices are not synchronized, you will see messages like this about every 10 minutes:

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

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

When the transceiver has not received new data for awhile, you will see messages like this in the log:

Nov  7 19:12:17 raspi weewx[2335]: ws28xx: MainThread: no new weather data

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.

Alarms

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.

Configuring with wee_device

Make sure you stop weewxd before running wee_device.

Action --help

Invoking wee_device with the --help option

wee_device /home/weewx/weewx.conf --help

will produce something like this:

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.

Action --pair

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.

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

wee_device --pair

Pairing transceiver with console...
Press and hold the [v] key until "PC" appears (attempt 1 of 3)
Transceiver is paired to console

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.

If the console does not pair, you will see messages in the log such as this:

ws28xx: RFComm: message from console contains unknown device ID (id=165a resp=80 req=6)

Pairing may require multiple attempts.

After pairing, the transceiver and console must be synchronized in order to communicate. This should happen automatically.

Action --info

Display the station settings with the --info option.

wee_device --info

This will result in something like:

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

Station data

The following table shows which data are provided by the station hardware and which are calculated by WeeWX.

WS28xx station data
Database Field Observation Loop Archive
barometer S S
pressure pressure H H
altimeter S S
inTemp temperature_in H H
outTemp temperature_out H H
inHumidity humidity_in H H
outHumidity humidity_out H H
windSpeed wind_speed H H
windDir wind_dir H H
windGust wind_gust H H
windGustDir wind_gust_dir H H
rain rain D D
rain_total H H
rainRate rain_rate H
dewpoint S S
windchill windchill H H
heatindex heatindex H H
rxCheckPercent rssi H
windBatteryStatus wind_battery_status H
rainBatteryStatus rain_battery_status H
outTempBatteryStatus battery_status_out H
inTempBatteryStatus battery_status_in H

H indicates data provided by Hardware
D indicates data calculated by the Driver
S indicates data calculated by the StdWXCalculate Service