@(#)$Id: wmr918.txt,v 1.2 2004/01/14 06:58:03 twitham Exp $ wmr918d dataspec Id: dataspec,v 1.7 2000/12/14 22:28:36 stanley Exp John Stanley stanley@peak.org WMR-918 serial data is transmitted at 9600 baud, 8N1. Each packet starts with two binary bytes of 0xFF. Each packet ends with a checksum. The type of packet is given by the third byte, and ranges from 0x00 through 0x0f. Each type of packet has a predetermined length. For example, a typical type 5 packet looks like: ff ff 05 00 09 02 47 09 dc 0c 50 79 0f The checksum is the simple addition of each byte in the packet, excluding the checksum byte, keeping only the lowest 8 bits. In all further examples, the leading "ff ff" will be omitted. The .tab output from wmr918d omits the leading "ff ff". The known packet types are: 00 - anemometer and wind related data 01 - rain guage 02 - extra sensors 03 - outside temp, humidity and dewpoint 04 - unknown 05 - inside temp, humidity, dewpoint, and baro. 06 - inside temp, humidity, dewpoint, baro for wmr968 and some wmr918's. 07 - unknown 08 - unknown 09 - unknown 0a - unknown 0b - unknown 0c - unknown 0d - unknown 0e - sequence number 0f - hourly status report The following description will attempt to use the same format as the WX200 listing by Mike Wingstrom. H is a hex digit from 0 to f. D is a decimal digit from 0 through 9. B is bit encoded, bit 3 is the high bit (0x8). Type 00 Example: 00 00 90 01 00 00 00 07 96 Byte Nibble Bit Meaning 00. 0 00 Anemometer data packet 00. 1 Bx Battery status. Higher value == lower battery volt 00. 1 xB Unknown 00. 2 DD Gust direction, bc of 0. 05. 9 DD Sea level reference, ab of . Add this to raw bp from byte 6 to get sea level pressure. Example: 21.1 Celsius, 46% humidity, dew point 9 Celsius BP 1015 mb, sea level pressure 1015 mb. Type 06 Example: 06 00 29 02 41 09 8b 61 90 33 06 2e Byte Nibble Bit Meaning 06. 0 06 Inside sensor data 06. 1 Bx Battery status. Higher value == lower battery volt 06. 1 xB Unknown 06. 2 DD Inside temp, bc of -?. 06. 9 DD Sea level reference, cd of . 06.10 DD Sea level reference, ab of Add this to raw bp from byte 6 and 7 to get sea level pressure. Example: 22.9 Celsius, 41% humidity, dew point 9 Celsius BP 995 mb, sea level pressure 1028.9 mb. Type E Example: 0e 81 8d Byte Nibble Bit Meaning 0e. 0 0e Sequence number packet 0e. 1 Bx Status, high bit, battery for main unit 0e. 1 DD After removing high bit, minute chime Example: status = 1, time is hh:01 Type F Example: 0f 80 07 09 03 00 a0 Byte Nibble Bit Meaning 0f. 0 0f Hour Chime 0f. 1 BB Status. High bit == battery low 0f. 2 DD Hour 0f. 3 DD Day 0f. 4 DD Month 0f. 5 DD Year Example: It's 7AM, 9-March-2000, do you know where your weather station is? Thanks to the following people for providing additional data and pointing out my stupid mistakes: John R. Covert Brad and Stephanie Grant Giovanni BOGLIONE Alan K. Jackson Roy (garlic) Krenn Werner Steven Danz Barry Newton $Log: wmr918.txt,v $ Revision 1.2 2004/01/14 06:58:03 twitham Maybe fixed negative outdoor dewpoint and its low. Revision 1.1 2001/09/08 21:40:10 twitham Merged in initial WMR918 support by Dominique Le Foll. Revision 1.7 2000/12/14 22:28:36 stanley changed byte 7 of type 6 Revision 1.6 2000/12/06 06:12:24 stanley added type 6, corrected some typos, added battery status Revision 1.5 2000/09/04 23:02:28 stanley fix month/day mixup in type f Revision 1.4 2000/07/31 03:16:07 stanley type 5 sealevel ref fixed, trend decoded, avgwind fixed Revision 1.3 2000/04/10 14:47:35 stanley fixed meaning of type E -- minute chime! Revision 1.2 2000/04/07 16:49:29 stanley fix typos Revision 1.1 2000/04/07 05:53:27 stanley Initial revision