Project

General

Profile

FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265)

Added by SevenW almost 6 years ago

Fine Offset WH1080 weather stations, and various OEM verison of it changed protocol from OOK to FSK somewhere in 2012. On the Raspberry Pi forum various people where involved in figuring out the FSK protocol. To mention cii, KarlS, avego and Kevin S (of WH1080 OOK fame). See http://www.raspberrypi.org/phpBB3/viewtopic.php?f=37&t=14777

Looking at the JeeLib RF12.cpp driver code I figured that receiving this FSK signal is straight forward with JeeNodes. Most of the time was translating the RFM01 initialization codes to the RFM12B codes. Using a Receiver test sketch, and adding the required initializations at the end of the setup it started working immediately. I use a stock JeeNode v6.

Node ID=31 passes all packages, regardless destination ID. I use group ID=212. I expect this to be (part of) the RFM12B synchron word (needs to be 0x2DD4). So this will be overriden by my configure function anyways.

Initialization code:

#define NODE_ID 31

void configureWH1080 () {

    rf12_control(0x80E7); // 80E7    868 Mhz;enable tx register; enable RX
                          //         fifo buffer; xtal cap 12pf
    rf12_control(0xA67C); // A67C    868.300 MHz
    //rf12_control(0xE105); // E105    Wakeup timer 10ms
    //rf12_control(0xC80E); // disable low dutycycle, but set at D=7 (3%) 
    rf12_control(0xC49F); // C49F    AFC keep during receive VDI=high; enable AFC; enable
                          //         frequency offset register; +15 -16
    rf12_control(0xC26A); // C26A    manual, fast mode, digital filter, DQD=2 
    rf12_control(0xC613); // C613    17.24 kbps
    rf12_control(0xC006); // 1.00MHz, 2.8V
    rf12_control(0x94A0); // 94A0    VDI; FAST; 134khz; Gain -0db; DRSSI 103dbm 
    //rf12_control(0xCED4); //         Synchron word = 0x2DD4
    rf12_control(0xCA81); // CA81    FIFO intliength=8, sync on 0x2DD4.,
                          //          reset non-sensitive, disable FIFO
    rf12_control(0x820D); // 820D    disable receiver 
    //need for those transmit related commands unclear!
    rf12_control(0xCC67); // CC67    pll settings command
    rf12_control(0xB800); // TX register write command not used
    rf12_control(0x82DD); // 82DD    enable receiver 
    rf12_control(0xCA83); // CA83    FIFO intliength=8, sync on 0x2DD4.,
                          //          reset non-sensitive, enable FIFO 
}

Some results

[CentralReceiver]
0:00:44  A4 F0 22 48 00 00 03 C6 00 D3
0:00:44  A4 F0 22 48 00 00 03 C6 00 D3
0:01:32  A4 F0 23 48 00 00 03 C6 00 3A
0:01:32  A4 F0 23 48 00 00 03 C6 00 3A
0:02:20  A4 F0 23 48 00 00 03 C6 02 58
0:02:20  A4 F0 23 48 00 00 03 C6 02 58
0:03:08  A4 F0 24 47 00 00 03 C6 00 89
0:03:08  A4 F0 24 47 00 00 03 C6 00 89
0:03:56  A4 F0 24 47 00 00 03 C6 02 EB
0:03:56  A4 F0 24 47 00 00 03 C6 02 EB
0:04:44  A4 F0 24 47 00 00 03 C6 02 EB
0:04:44  A4 F0 24 47 00 00 03 C6 02 EB
0:05:32  A4 F0 24 47 00 00 03 C6 02 EB
0:05:32  A4 F0 24 47 00 00 03 C6 02 EB

Decoding this information is done by KarlS on the raspi forum. There is a large similarity with the OOK data packets, but there are differences. Details on the OOK can be found here: http://www.susa.net/wordpress/2012/08/raspberry-pi-reading-wh1081-weather-sensors-using-an-rfm01-and-rfm12b/

I receive two packages every 48 seconds. Actual transmissions are much longer then the 8 bytes printed. More work to be done to understand this.
Rough decoding is (taking A4 F0 24 47 00 00 03 C6 02 EB as example):

A: message type
4 F: station ID: 4F
0 24: temperature, 24 is decimal 36 /10 = 3.6C.
47 :  humidity decimal 71 -> 71%
00 00: windspeed, is broken,
03 C6: cummulative rain, probably the same is OOK versions, to be checked.
02: wind direction
EB: CRC

This message is one byte shorter than the OOK versions.

I also receive the DCF77 time packages:
@
0:22:19 B4 52 03 29 13 C3 02 45 0D
0:22:19 B4 52 03 29 13 C3 02 45 0D
@
Decoding is done at both the raspi forum thread and http://www.domo-domotica.nl, documented in the source code of a userplugin.

The coming days I will some work on figuring out the length of the actual transmissions, see whether the CRC is the same as on the OOK versions.

I attached the sketch I used, which is a real quick experiment.

Edit: Sketch does not log the second receive byte yet. (Corrected in output logs above). I have been lucky that it works with standard driver, as the second byte “F0” is interpreted as the length of the transmitted payload, which does not apply to the weather station packages. Why is it so difficult to figure out the end of a transmission?

Regards,
SevenW

weatherstationFSK.ino (5.38 KB) weatherstationFSK.ino Sketch to receive FSK signals form a.o. Alecto WS4000

Replies (54)

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by JohnO almost 6 years ago

Thanks for that I will try to read my weather station.

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

I have taken a deeper look into the FSKsignals of recent WH1080 / Alecto WS4000 weather stations. I have made a write-up of the package format and message format at a personal website. http://www.sevenwatt.com/main/wh1080-protocol-v2-fsk/

I also found that I was just lucky that it works with the stock JeeLib RF12 dirver. The one thing that is difficult to deal with is the message length field in the rf12_buf. Looking into the driver I came to the conclusion that this cannot be nicely fixed in the current driver. Therefore I will dive into some dedicated functions taking over from rf12_recvDone() and rf12_interrupt().

I shall try to stick as close to the RF12 driver concepts as possible, as my goal is to use the RFM12B to send the information to the central node in the sensor network.

Note: The earlier upload version works more or less by accident. It does not log the second received byte (partly temp, partly station ID). I will post a new proper version in a day or so, as I now work with a modified driver

SevenW

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by WilcoE almost 6 years ago

Nice, my neighbors have a ws-3000.
Can i use this script to get those packets?

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by martynj almost 6 years ago

@WilcoE,  hey, if they have decided to collect data and use an ISM band for transmission, it must be for the benefit of the community   ;-)

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by WilcoE almost 6 years ago

uploaded the sketch to my JeeNode.
i get the following packets.

[CentralReceiver]0:00:25 5D 43 38 01 03 03 0C 89 00
0:00:25 5D 43 38 01 03 03 0C 89 00
0:01:13 5D 43 38 00 02 03 0C 54 00
0:01:13 5D 43 38 00 02 03 0C 54 00
0:02:01 5D 43 37 02 05 03 0C D5 00
0:02:01 5D 43 37 02 05 03 0C D5 00
0:02:49 5D 43 37 03 06 03 0C 84 00
0:02:49 5D 43 37 03 06 03 0C 84 00

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

Hi Wilco,

Thats it. Is it around 6.7C by any chance?
I will publish an improved version of the sketch later today. To have the the missing second byte logged you can add:
@
Serial.print(rf12_len >> 4, HEX);
Serial.print(rf12_len & 0x0F, HEX);
Just after:
Serial.print(rf12_hdr >> 4, HEX);
Serial.print(rf12_hdr & 0x0F, HEX);@

So the Alecto WS3000 also adopted the FSK protocol.
The Alecto WS3000 does not have a wind direction sensor, so the payload is one byte less. Something to take care of in my next SW version. Also it looks like your message type = 0x5, while on the WS4000 (WH1080) it is 0xA or 0xB. Thanks for sharing the data.

SevenW

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by WilcoE almost 6 years ago

Hi SevenW,

Great, i think it’s about 6.7C today :)

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

Attached is an improved sketch and a modified RF12 driver. Installation instructions are in the readme.txt.

Features:
* Receive repeated packages, but delay reporting for 50ms after first CRC-checked package.
* Handle DCF77 package, update the “clock” of the JeeNode.
* Supported for shorter Alecto WS3000 package (to be tested).

I am not sure about the behaviour in case of bad reception and CRC errors. Today I do not get them.
One of the challenges in the code is that if one wants to perform realtime tasks in a train of packages there is only little time, resulting in missed packages. That is not really a problem ,as long as you get at least one of the six out of them. However I solved it by doing all the (time consuming) Serial logging after the complete package is seen.

@Wilco: Please test this for me on the WS3000. If you do not get packages anymore, they fail CRC. Then please r4emove the comments in front of the Serial.prints ten lines under rf12_recvDone();

SevenW

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by JohnO almost 6 years ago

Nice work @SevenW are there substantial modifications to RF12 ? Will it be possible to fold these into the standard driver at some point?

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by WilcoE almost 6 years ago

@SevenW

im getting

[weatherstationFSK]
1970-01-01 00:00:19 pkt_cnt: 8 ok_cnt: 7 pkt: 5D7028390000030C6500
1970-01-01 00:01:07 pkt_cnt: 8 ok_cnt: 6 pkt: 5D7028390000030C6500
1970-01-01 00:01:55 pkt_cnt: 10 ok_cnt: 6 pkt: 5D7027390000030C2B00
1970-01-01 00:02:43 pkt_cnt: 9 ok_cnt: 4 pkt: 5D7028390000030C6500
1970-01-01 00:03:31 pkt_cnt: 11 ok_cnt: 5 pkt: 5D7027390000030C2B00
1970-01-01 00:05:07 pkt_cnt: 13 ok_cnt: 6 pkt: 5D7027390002030CA700
1970-01-01 00:05:55 pkt_cnt: 11 ok_cnt: 6 pkt: 5D7026390000030C7C00

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

@Wilco:

That looks good. The printed packages all had their CRC right. The code seems to behave correct in case of errors.

my logs look like this, before and after the first DCF77 meesgae is received:
[weatherstationFSK]
1970-01-01 00:16:32 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03D4B000003C601B6
1970-01-01 00:17:20 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03C4B000003C604AA
1970-01-01 00:18:08 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03D4B000003C602E5
1970-01-01 00:18:56 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03D4B000003C60621
Time synchronized with DCF77: 2013-03-03 18:03:31
2013-03-03 18:03:31 pkt_cnt: 6 ok_cnt: 6 pkt: B4FA58033113C3034587
Time synchronized with DCF77: 2013-03-03 18:04:19
2013-03-03 18:04:19 pkt_cnt: 6 ok_cnt: 6 pkt: B4FA58041913C30345D5
Time synchronized with DCF77: 2013-03-03 18:05:07
2013-03-03 18:05:07 pkt_cnt: 6 ok_cnt: 6 pkt: B4FA58050713C3034548
Time synchronized with DCF77: 2013-03-03 18:05:55
2013-03-03 18:05:55 pkt_cnt: 6 ok_cnt: 6 pkt: B4FA58055513C3034562
Time synchronized with DCF77: 2013-03-03 18:06:43
2013-03-03 18:06:43 pkt_cnt: 6 ok_cnt: 6 pkt: B4FA58064313C303456F
2013-03-03 18:07:30 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03C4B000003C604AA
2013-03-03 18:08:18 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03C4B000003C6020C
2013-03-03 18:09:06 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03C4B000003C606C8
2013-03-03 18:09:54 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03C4B000003C604AA
2013-03-03 18:10:42 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03C4A000003C6069F
2013-03-03 18:11:30 pkt_cnt: 6 ok_cnt: 6 pkt: A4F03C4A000003C6069F

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by WilcoE almost 6 years ago

@SevenW

Great, only no DCF77 time packet.
ws-3000 has also a DCF77 receiver, is it possible to make that also working?

i running the first script now, maybe i see some DCF77 packet flying arround.

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by o_cee almost 6 years ago

I have some sort of OEM version of the WH1080 (it looks exactly the same). I’m getting some data with this code, but I’m not even sure if it’s from the weather station (or if it’s FSK at all).

[weatherstationFSK]
nok  D0 8C 49 AC C9 EE E0 02 5E5704
nok  3F 81 77 2F 67 1F FD DF B826848
nok  7E F6 8E A5 FF CF 57 4D B343300
nok  81 6D CE 7E 5F 8B DF 31 5056837
nok  FE A5 0D FB FB F8 E6 BA 4E71071
nok  7E EE 4D 4F 0C 68 77 03 D788650
nok  E4 BF 3C BC 4F 78 FD 91 DF140930
nok  53 CF F7 D1 7C 28 73 5F F4156480
nok  E4 6E F7 5D EE B0 70 4E 74164343
nok  1F D4 5A BE 79 A8 CF F5 7C165457
nok  85 76 3D B7 DB 3B 71 7F DA174409
nok  0B 3D 3F FF 2E EA 97 FC AC214273
nok  0F 7D 78 32 78 68 EC BF BF215908
nok  2F 45 08 ED 36 48 DB 4F F9233408
nok  6D 40 4A DD 6E 5E 47 15 9E256195
nok  CF EF DF 37 47 1E 78 11 8C266882
nok  B6 F7 F8 6C 03 71 91 FD DE272061
nok  47 7F AF F3 5F 87 7E A5 F4285640
nok  FC E3 C7 FD F0 3F AA 7A 75291027
nok  66 5D BA F8 FD CA 5D FF 76298375
nok  5F FB 6C 2B A3 F1 F0 1E 17300082
nok  EC 8F FC FE 8D EC D7 FF 73300389

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

o_cee: No, this looks like spurious signals. It may be an OOK version. I have a decoder sketch for that, that I can publish in a couple of days. It needs modificaitons to make it compatible with the standard jeelabs OOK approach. Can you provide more details, such as brand/type and frequency band (433, 868, 915MHz, probably indicated at the back of the receiver).

@Wilco:
1. You could remove the comments (//) in the new script before the serial prints ten lines under rf12_recvDone().
2. Let me guess: If you have DCF packets, the message type may be 0x6.

If you caught one, post the logging. With me they always start three minutes past an hour.

SevenW

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by WilcoE almost 6 years ago

Hi SevenW,

See packets below.

[weatherstationFSK]
nok 5D 78 2D 41 02 05 03 0C 4C46280
nok 5D 70 2F 41 02 05 03 0C 4C46295
ok 5D 70 2D 41 02 05 03 0C 4C46309
1970-01-01 00:00:46 pkt_cnt: 3 ok_cnt: 3 pkt: 5D702D410205030C4C00
ok 5D 70 2C 40 05 0A 03 0C EB94270
nok 5D 70 2C 40 05 8A 03 0C EB94284
ok 5D 70 2C 40 05 0A 03 0C EB94299
ok 5D 70 2C 40 05 0A 03 0C EB94313
1970-01-01 00:01:34 pkt_cnt: 4 ok_cnt: 4 pkt: 5D702C40050A030CEB00
nok 7F DF E3 FD FF F9 BB FF FC122097
nok 3D FF FE FF 77 FC 77 FB F9129117
nok E3 8F F9 7F 77 EF F0 5F D3143153
nok EC FF DD BB 4F FD 7D 07 FE174684
nok 6D 7A 49 03 33 13 83 04 B2334259
nok 6D 7A 49 03 33 17 83 04 B2334273
nok 6D 7A 49 03 33 13 83 04 B2334287
nok 6D 7A 49 03 33 13 83 04 B2334302
nok ED F9 FE FF D9 D7 FF F9 BF349403
nok 6D 7A 49 04 21 13 83 04 D6382268
nok 6D 7A 49 04 21 13 83 04 D6382282
nok 6D 7A 49 04 21 13 83 04 D6382297
nok 6D 7A 49 04 21 13 83 04 D6382311
nok 6D 7A 49 05 09 13 83 04 69430276
nok 6D 7A 49 05 09 13 83 04 69430297
nok 6D FA 49 05 09 13 83 04 69430311

I think the packets with 6D are the good one’s

-Wilco

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

@Wilco: Yes, that is clearly the DCF time message. The message type is indeed 6, and it looks like the payload length is 9 bytes for the ws3000, where it is 10 bytes for the ws4000, just like for the sensor data packages.

I will add this to my program tonight. I implemented the decoding and printing of sensor data as well, for demonstration purposes.

SevenW

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by o_cee almost 6 years ago

SevenW wrote:
> o_cee: No, this looks like spurious signals. It may be an OOK version. I have a decoder sketch for that, that I can publish in a couple of days. It needs modificaitons to make it compatible with the standard jeelabs OOK approach. Can you provide more details, such as brand/type and frequency band (433, 868, 915MHz, probably indicated at the back of the receiver).

Allright, thanks. Guess it could be my burglar alarm sensors as well maybe? I will try a bit closer to the outdoor sensors as well to rule out bad reception.

How does the net group fit into this? Or that’s just a convention in the rfm12b driver?

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

An update of weatherstationFSK is attached.
* Output can be configured with #defines
* Support for WS3000, including DCF messages
* Parsing and printing of the sensor data

@Wilco: Please test it on the WS3000

Have fun,
SevenW

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

o_cee wrote:
> How does the net group fit into this? Or that’s just a convention in the rfm12b driver?
It is a mechanism of the RFM12(B)/RFM02/RFM01 modules, that can be programmed by the driver. The netgroup is part of the synchron or detection pattern for messages. The RFM12B will watch for the pattern 0x2DD4 (when programmed group id = 212 (0xD4)). If it detects this pattern it starts filling its FIFO with the following bytes. So the group id is not part of the received stream, but jcw has prepended this in his receive buffer in the RF12 driver.

The WH1080 type weather stations are programmed with group id 212.

SevenW

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by o_cee almost 6 years ago

SevenW wrote:
> o_cee wrote:
> > How does the net group fit into this? Or that’s just a convention in the rfm12b driver?
> It is a mechanism of the RFM12(B)/RFM02/RFM01 modules, that can be programmed by the driver. The netgroup is part of the synchron or detection pattern for messages. The RFM12B will watch for the pattern 0x2DD4 (when programmed group id = 212 (0xD4)). If it detects this pattern it starts filling its FIFO with the following bytes. So the group id is not part of the received stream, but jcw has prepended this in his receive buffer in the RF12 driver.
>
> The WH1080 type weather stations are programmed with group id 212.

But that would also mean that a weather station could be using whichever group? That would be tedious to find…

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by WilcoE almost 6 years ago

@SevenW

i don’t get any packets anymore,
So i have uncomment LOGRAW to enable logging of all the faulty packets.

[weatherstationFSK]
nok 95 7B E7 F4 BF 8F DE 9F FF F3
nok BB EF E1 F7 FF DF 67 E7 FF D5
nok 5D 70 31 18 01 1D 01 A6 78 80
nok 5D 70 31 78 07 0A 03 0C F4 00
nok 5D 78 39 38 05 0A C3 0C F5 00
nok D6 67 6F FB 4E E3 EF FB 7F 9F
nok 4F 7F BF FF DF CE AF AF FF F7
nok 5D 72 11 37 07 0B 03 0C 91 02
nok 55 70 31 37 07 0B 03 0C D1 08
nok FF 33 FE CB FF FD CF D8 7E 37
nok 5D 70 31 37 07 09 03 0C C6 00
nok FF B2 FF DF 7F FF DE 6B AF 9F
nok 5D 70 31 3F 8F 0B 01 AC C1 00
nok 5F F8 31 3F 07 0B 03 1C D1 80
nok 5F 30 33 37 07 0B 03 0C D4 30
nok 3F FB 7F CF DF BF B4 FD BF 5E

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by SevenW almost 6 years ago

o_cee: No, for the WH1080 family it is fixed 0xD4. Only on the RFM12B this detection byte (group id) can be changed, but for the (old) RFM12 that was not an option. It was fixed 0xD4. The same is true for the RFM02 transmitter and the RFM01 receiver used in the fine offset weather stations. So that part was not too difficult. For more details on the package structure you can take a look at the link in an earlier post [[[http://jeelabs.net/boards/6/topics/1203?r=1215\#message-1215]]] in this thread.

@Wilco: Strange, although it looks like you have too much interference now. I expect that you receive at least three packets of every transmission of six. enabling the logging makes it too slow to detect them all. So I assume that some of the packages are supposed to be the same, which cannot be seen from the data. I tested the cRC routines with actual data you posted before, so it should work. Can you try it later one more time?

RE: FSK 868MHz weather stations on JeeNode (Alecto WS4000, Fine Offset WH1080, NG265) - Added by WilcoE almost 6 years ago

@SevenW

Yesterday is was to quick.. After a night running it gives the right output

2013-03-05 07:29:59 ID: D7, T= 2.1`C, relH= 65%, Wvel= 1.3m/s, Wmax= 2.7m/s, Rain= 234.0mm
2013-03-05 07:30:47 ID: D7, T= 2.1`C, relH= 65%, Wvel= 1.3m/s, Wmax= 2.3m/s, Rain= 234.0mm
2013-03-05 07:32:23 ID: D7, T= 2.1`C, relH= 65%, Wvel= 2.0m/s, Wmax= 2.7m/s, Rain= 234.0mm
2013-03-05 07:33:59 ID: D7, T= 2.1`C, relH= 65%, Wvel= 2.0m/s, Wmax= 3.0m/s, Rain= 234.0mm
2013-03-05 07:39:35 ID: D7, T= 2.2`C, relH= 65%, Wvel= 1.7m/s, Wmax= 3.0m/s, Rain= 234.0mm
2013-03-05 07:40:23 ID: D7, T= 2.2`C, relH= 65%, Wvel= 1.7m/s, Wmax= 2.7m/s, Rain= 234.0mm
2013-03-05 07:41:11 ID: D7, T= 2.2`C, relH= 65%, Wvel= 1.7m/s, Wmax= 2.3m/s, Rain= 234.0mm
2013-03-05 07:41:59 ID: D7, T= 2.2`C, relH= 65%, Wvel= 1.7m/s, Wmax= 3.0m/s, Rain= 234.0mm
2013-03-05 07:42:47 ID: D7, T= 2.2`C, relH= 65%, Wvel= 2.0m/s, Wmax= 3.0m/s, Rain= 234.0mm
2013-03-05 07:43:35 ID: D7, T= 2.2`C, relH= 65%, Wvel= 2.0m/s, Wmax= 3.4m/s, Rain= 234.0mm
2013-03-05 07:44:23 ID: D7, T= 2.2`C, relH= 65%, Wvel= 2.0m/s, Wmax= 2.7m/s, Rain= 234.0mm
2013-03-05 07:45:11 ID: D7, T= 2.2`C, relH= 65%, Wvel= 2.0m/s, Wmax= 3.0m/s, Rain= 234.0mm
2013-03-05 07:45:59 ID: D7, T= 2.2`C, relH= 64%, Wvel= 2.0m/s, Wmax= 3.0m/s, Rain= 234.0mm
2013-03-05 07:46:47 ID: D7, T= 2.4`C, relH= 64%, Wvel= 2.0m/s, Wmax= 3.0m/s, Rain= 234.0mm
2013-03-05 07:47:35 ID: D7, T= 2.4`C, relH= 64%, Wvel= 2.3m/s, Wmax= 3.0m/s, Rain= 234.0mm
2013-03-05 07:48:23 ID: D7, T= 2.4`C, relH= 64%, Wvel= 2.0m/s, Wmax= 3.4m/s, Rain= 234.0mm
2013-03-05 07:49:11 ID: D7, T= 2.5`C, relH= 64%, Wvel= 2.0m/s, Wmax= 2.7m/s, Rain= 234.0mm
2013-03-05 07:49:59 ID: D7, T= 2.5`C, relH= 64%, Wvel= 2.0m/s, Wmax= 3.0m/s, Rain= 234.0mm

Great :) very nice job….

(1-25/54)