Die WMR100 ist vom Preis-Leistungsverhältnis unschlagbar. Da diese Station eine der ersten mit
USB-Anschluss ist, ist zur Zeit die Auswahl an Software nicht besonders groß. Zum Teil völlig
überladen mit Funktionen, nur für Windows u.s.w. Da ich ohnehin eine kleine Anwendung selber
programieren wollte war die  WMR100 die ideale Wahl für mich.

Durch einfaches Ausprobieren (Display ablesen und selben Wert im USB-Verkehr finden) kann
man die richtigen Bytes schnell ohne Probleme finden - da steckt kein Geheimnis dahinter.
Die Kommunikation mit der WMR100 findet als HID-Device statt, nicht als USB-Seriell
wie zuerst erwartet.

WMR100 USB Kennung:
-------------------

USB\Vid_0fde&Pid_ca01&Rev_0302
(USB-HID Human Interface Device)

WMR100 Initialisierung:
-----------------------

Zuerst muss nach dem Start einmalig folgendes Frame
gesendet werden:

20 00 08 01 00 00 00 00 (einmal)

Die WMR100 sendet daraufhin im Rhythmus von ca. 3..7 Sekunden jeweils 3..4 einzelne Nachrichten.

Die Checksumme wird durch einfache Summierung aller Bytes in der Botschaft exklusive dem Checksummen-Byte berechnet. Vom Ergebnis werden dann nur die niederwertigsten 8 Bits verwendet.



WMR100 Station







Uhrzeit und Datum:
30 60 00 00 1A 12 02 05 07 00 CA      
FK xx xx xx AA BB CC DD EE xx CS

=>
18:26 02.05.2007

FK = Framekennung

AA = Minuten
BB = Stunden
CC = Tag
DD = Monat
EE = Jahr (2000 + EE)
CS = Checksumme

Barometer:
46 D2 03 13 34 62                
FK xx Dx BB xA CS

=>
$413=1043mbar

FK = Framekennung

D = Vorhersage (0 Partly Cloudy, 1 Rainy, 2 Cloudy, 3 Sunny, 4 Snowy)
xA = Highnibble Druck
BB = Lowbyte Druck
CS = Checksumme

Indoor:
42 80 07 01 1F 50 00 00 20 59    
FK xS AA BB CC DD xx xx xx CS

=>
$1F=31% $107=263/10=26.3Grad

FK = Framekennung

S  = Sensorkennung $0=Indoor Channel 0
AA = Temperatur Lowbyte
BB = Temperatur Highbyte (Temperatur durch 10 Teilen), MSB bei Negativ gesetzt
CC = Feuchte in Prozent
DD = Spannungsversorgung ? (50 kein AC, 6E AC ok ?)
CS = Checksumme
 WMR100 Aussensensor Outdoor:
42 81 CA 00 26 3C 00 00 20 0F   
FK xS AA BB CC xx xx xx xx CS

=>
$CA=202/10=20.2    $26=38%

FK = Framekennung

S  = Sensorkennung $1=Outdoor Channel 1
AA = Temperatur Lowbyte
BB = Temperatur Highbyte (Temperatur durch 10 Teilen), MSB bei Negativ gesetzt
CC = Feuchte in Prozent
CS = Checksumme

Wind:
48 00 0C 0C C0 00 00 20 40
FK xA xx BB xx xx xx xx CS

=>
Windrichtung Nord, Geschwindigkeit 1,2m/s=4,32km/h

FK = Framekennung

xA = Windrichtung (Nord=0, Reihenfolge N-E-S-W = $00...$0F)
BB = Windgeschwindigkeit (*0,1 ergibt m/s dann mal 3,6 ergibt km/h)
CS = Checksumme

 WMR100 Zusatzsensor Externer Temp/Feuchte Sensor THGR810 :
42 42 E9 00 2B 64 00 00 20 1C
FK xS AA BB CC xx xx xx xx CS

=>
$E9=233/10=23.3   $2B=43%   Kanal2

FK = Framekennung

S  = Sensorkennung $2=Outdoor Channel $2..$A=Dipschalter im Sender
AA = Temperatur Lowbyte
BB = Temperatur Highbyte (Temperatur durch 10 Teilen), MSB bei Negativ gesetzt
CC = Feuchte in Prozent
CS = Checksumme
 WMR100 Regensensor Regenmesser:
41 00 00 00 00 00 00 57 01 13 0D 0F 03 07 D2  
FK xx xx CC DD xx xx AA BB xx xx xx xx xx CS

=>
$157=343/100=3.43inch*25,4=87,12mm

FK = Framekennung

AA = Gesamtmenge Lowbyte
BB = Gesamtmente Highbyte (durch 100 teilen, Einheit Inch!)
CC = aktuelle Menge Lowbyte
DD = aktuelle Menge Highbyte (durch 100 teilen, Einheit Inch!)
CS = Checksumme
 WMR100 UVsensor Externer UVN800 UV Sensor:
47 01 05 4D

FK xx AA CS

=> UV Index 5


FK = Framekennung

AA = UV Index ($00..??)
CS = Checksumme


Wer noch weitere Informationen im Byte-Strom finden konnte, kann sich gerne bei mir melden.