See the main page for the WxTools overview
This page describes the format of protocol messages used with the Oregon Scientific WMR180 Professional Weather Station. In terms of interface, the WMR180 appears to be compatible with the WMR100 (and probably also the WMR88).
Data is sent to/from the weather station via a USB interface that links wirelessly to the WMR180 base station. The USB interface appears to the operating system as an HID (Human Interface Device, normally something like a joystick).
Although there is little original work in the following, it is provided because specific information about the WMR180 is currently scarce. It aims to present in a readable way the results found by other people for the WMR100 weather station. Sources of the information here were:
In the frame descriptions that follow, numeric values are in hexadecimal. '?' denotes a value with an unknown purpose. A whole byte is given a symbolic name like B1, with bit 7 as the most significant and bit 0 as the least significant. The quartets in a byte are given symbolic names like Q1Q2, with Q1 as bits 7-4 and Q2 as bits 3-0. Pairs of bits in a byte are given symbolic names like ABCD, with A as bits 7-6, B as bits 5-4, C as bits 4-3, and D as bits 1-0.
Measurements are reported in the following units, irrespective of the actual console display units.
USB data is sent in blocks that have a command code byte and relevant parameters, padded out to 8 bytes. Depending on the USB interface software, this may be preceded by a report code byte (normally zero). Relevant commands are as follows. If no sensor data is received for some minutes, the following pair of commands should be reissued to keep sensor data flowing from the weather station.
20 00 08 01
01 D0 08 01
USB data is received in blocks that have a byte count and relevant data, padded out to 8 bytes. Depending on the USB interface software, this may be preceded by a report code byte (normally zero). The byte count indicates how many of the following bytes should be used as data (e.g. a count of 2 means that only the following 2 bytes should be used). Input data from the weather station arrives in bursts roughly every minute, using data it has previously accumulated.
The data from these USB blocks needs to be concatenated into one input stream. Input frames are extracted from this stream. The frame structure is as follows, the length being implied by the response code:
FD FD ST RC D1 ... C1 C2
FF
00-FF
00-FF
00-FF
The actual frame data depends on the type of sensor. The frames and lengths below exclude the frame delimiter and checksum bytes. The parameters shown are most, but not all, of those found by others.
B??? 48 ??D1 ?? G1 A1G2 A2 C1 CSC2
?? 46 ??A1 FCA2 R1 PRR2
?? 60 ?? ?? MN HR DY MO YR ??
B??? 60 R1 R2 H1 H2 D1 D2 C1 C2 MN HR DY MO YR
BT?? 42 ?HSS T1 TST2 HM D1 DSD2 I1 ?VI2
B??? 47 ?? UV