add new device

246 views
Skip to first unread message

Jan Schmidt

unread,
Jun 26, 2022, 5:06:43 PM6/26/22
to rtl_433
Hi all,

I'm trying to receive and decode a WS300 weather station.
There is a sample file,

https://github.com/skaringa/weather-sdr-decode/raw/master/tests/rtl-weather-30k-2.raw

created with

rtl_fm -M -f 868.3M -g 50 -s 30k

(about 6 years ago, so the -M option does not work anymore in this way.)

The file format is named as "Signed 16 bit PCM, Little-endian and Mono" to load with audacity.

What would be the right file format for the -r option? I testet all but only the format fm:s16: could find bits. But option -A suggests the wrong modulation FSK_PCM.

Also exists a (german) description of the protocol.

http://www.dc3yc.homepage.t-online.de/protocol.htm
http://www.dc3yc.homepage.t-online.de/kombi.htm

It is a OOK with fixed bit with of 1220.7µs
Bit timing for 0 is 854.5µs and for 1 with 366.2µs

I assume, this is PWM, so I tryed a custom decoder with

-X "n=WS300,m=OOK_PWM,s=366,l=854,r=7000"

and got no output.

Also is a preamle used with 7 to 10 bits 0, followed bei 1 bit 1. How to define that?

Any help would be appreciated.

Thanks, Jan

Christian Z.

unread,
Jun 27, 2022, 4:42:36 AM6/27/22
to rtl_433
That's the right format for FM. But a FM demod sample doesn't carry enough information. Follow https://triq.org/rtl_433/ANALYZE.html to get I/Q samples.

Karl Lohner

unread,
Jun 28, 2022, 12:34:20 PM6/28/22
to Christian Z., rtl_433
It seems to be an OOK sample, but it is quite noisy and at a very low sample rate.  I was able to manually pick out and decode its symbols to logical bits in urh as a .cs16, but I suspect an accurate automatic decoding of this particular supplied sample file is not possible in rtl_433.

This sample's logical data is: {91}003d8b7b12d4210a5adfaf6

Using the German description of the protocol you'd provided, I was able to decode further in bitbench.

TYPE=Combo Sensor, RAIN=No, TEMP=+17.6 C, HUMIDITY:54%, WIND=0 km/h, TOTAL RAIN COUNT=1634

[rtl-weather-30k-2.raw]
00000001  1 1 1 0 1  1 0 0 0 1  0  1  1  0  1  1  1  1  0  1  1  0  0  0  1  0  0  1  0  1  1  0  1  0  1  0  0  0  0  1  0  0  0  0  1  0  0  0  0  1  0  1  0  0  1  0  1  1  0  1  0  1  1  0  1  1 1 1 1 1  0 1 0 1 1  1 1 0 1 1

A translation of the German documentation for this "kombi" device:

00000001  T1T2T3T41  A1A2A3A41  T11T12T13T141  T21T22T23T241  T31T32T33T341  F11F12F13F141  F21F22F23F241  W11W12W13W141  W21W22W23W241  W31W32W33W341  C11C12C13C141  C21C22C23C241  C31C32C33C341  B1B2B3B41  Q1Q2Q3Q41  S1S2S3S41
Preamble  ____7___1  1_R_0_V_1  ____0.1C____1  ____1C______1  _____10C____1  _____1%_____1  ____10%_____1  __0.1 km/h__1  ___1 km/h___1  ___10 km/h__1  ___R_LSN____1  ___R_MID____1  ____R_MSN___1  ___???__1  __Check_1  __Sum___1

R: Currently Raining (1 = rain)
V: Temperature sign (1 = negative)
W1x .. W3x : 3 * 4-bit wind speed km/h (BCD)
C1x .. C3x :    12-bit rain counter
T1x .. T3x : 3 * 4-bit temperature C (BCD)
F1x .. F2x : 2 * 4-bit humidity % (BCD)

Protocol version V1.2

Coding of a bit:
- the length of a bit is 1220.7s, corresponding to 819.2 Hz
- it is derived from 32768 Hz : 40
- the pulse:gap ratio is 7:3 (for logical 0) or 3:7 (for logical 1)
- a logical 0 is represented by an HF carrier of 854.5s and 366.2s gap
- a logical 1 is represented by a HF carrier of 366.2s and 854.5s gap
- The preamble consists of 7 to 10 * 0 and 1 * 1.
- The data is always transmitted as a 4-bit nibble. This is followed by a 1 bit.
- The LSBit is transmitted first.

The checksums at the end are calculated as follows:
- Check: all nibbles starting with the type up to Check are XORed, result is 0
- Sum: all nibbles beginning with the type up to Check are summed up, 5 is added and the upper 4 bits are discarded

The type consists of 3 bits encoded as follows.
0 Thermal (AS3)
1 Thermo/Hygro (AS2000, ASH2000, S2000, S2001A, S2001IA, ASH2200, S300IA)
2 Rain (S2000R)
3 Wind (S2000W)
4 Thermo/Hygro/Baro (S2001I, S2001ID)
5 Brightness (S2500H)
6 Pyrano (radiant power)
7 Combo Sensor (KS200, KS300)


On Mon, Jun 27, 2022 at 4:42 AM Christian Z. <chri...@zuckschwerdt.org> wrote:
That's the right format for FM. But a FM demod sample doesn't carry enough information. Follow https://triq.org/rtl_433/ANALYZE.html to get I/Q samples.

--
You received this message because you are subscribed to the Google Groups "rtl_433" group.
To unsubscribe from this group and stop receiving emails from it, send an email to rtl_433+u...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/rtl_433/28dbb752-2d66-428a-8d64-639105f0b9f1n%40googlegroups.com.

Jan Schmidt

unread,
Jun 28, 2022, 2:38:46 PM6/28/22
to rtl_433
your decoding results in the same values than the provided python code:

except: A4 does not exist and A1,A2,A3 are the address. This is not really used - only to calculate the delay to the next telegram:
for the  Combo sensor it is: 153s - Adr * 0.5s

python decode_elv_wde1.py tests/rtl-weather-30k-2.raw
time: 06/28/22 20:29:12
sensor type: Kombi
address: 1
temperature: 17.6
humidity: 54.0
wind: 0.0
rain sum: 1634
rain detector: False

I will try to record a new sample as described. But it will need some time.

Jan Schmidt

unread,
Jul 4, 2022, 10:25:56 AM7/4/22
to rtl_433
I created a new issue with a new recording.

https://github.com/merbanan/rtl_433/issues/2103

Karl schrieb am Dienstag, 28. Juni 2022 um 18:34:20 UTC+2:
Reply all
Reply to author
Forward
0 new messages