Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Alecto WS-1200 support #973

Closed
untergasser opened this issue Feb 3, 2019 · 16 comments
Closed

Add Alecto WS-1200 support #973

untergasser opened this issue Feb 3, 2019 · 16 comments
Assignees
Labels
todo Maintainers should do something, but there is no defect

Comments

@untergasser
Copy link

Hi,
with having the Alecto WS-1200 data at
https://github.com/merbanan/rtl_433_tests/tree/master/tests/alecto_ws_1200
would it be possible to add to crtl_433?

I would suggest to decode all 3 possible signals:

  1. Version 1.0:
    rtl_433 -X 'n=Alecto-WS-1200-v1.0,m=OOK_PWM,s=450,l=1450,r=37000,g=1100,t=400'
    {63} fe 72 25 0a 00 01 fe 20
    PRE: 7b Type: 4b ID: 8h BATTERY: 1b ?:1b T: 10d R:<16d ?: 8h CRC: 8h
    Type must be 0011
    Temp value must be (value - 400) / 10
    Rain must be value * 0.3

Output could be:
Model: Alecto WS-1200 v1.0
ID: hex
Battery: OK
Checksum: OK
Temperature: xx.x C
Rainfall: xxx.x mm

  1. Version 2.0 sensor data:
    [00] {95} fe 78 84 da 00 01 ff d5 a8 69 d3 10
    PRE: 7b Type: 4b ID: 8b BATTERY: 1b ?:1b T: 10d R:<16d ?: 8h CRC: 8h MAC: 8h DATEKEY: 24h
    Type must be 0011
    Temp value must be (value - 400) / 10
    Rain must be value * 0.3
    The Date Part I would give as hex string

Output could be:
Model: Alecto WS-1200 v2.0
ID: hex
Battery: OK
Checksum: OK
Temperature: xx.x C
Rainfall: xxx.x mm
Date Key: hex

  1. Version 2.0 time data:
    [00] {95} fe a5 88 20 32 02 02 0c 46 8d bb 1a
    PRE: 7b Type: 8b ID: 8b BATT: 1b ?: 1b ?: ??: 6b YY: 4d YY:4d MM: 4d MM: 4d DD: 4d DD: 4d HH: 4d HH: 4d MM: 4d MM: 4d SS: 4d SS: 4d ? 16b
    Type must be 01010010
    The time is assembled from single digits.
    I would also give the last 24 as hex as Date Key, it is sent in the how to install? #2 Signals.

Output could be:
Model: Alecto WS-1200 v2.0
ID: hex
Battery: OK
Checksum: OK
Date: 14.02.2019
Time: 02:45:36
Date Key: hex

There is more information in the readme in the folders:
https://github.com/merbanan/rtl_433_tests/tree/master/tests/alecto_ws_1200

I fail implementing it myself, as it is hard to see were to add the information. I assume that once added, I could do maintenance and enhancements like summer time on my own.

Thank you for considering this enhancement!

Best,

Andreas

@curlyel
Copy link
Contributor

curlyel commented Feb 3, 2019

Thanks Andreas for raising this and providing the test data. As I said yet - I'm keen on having them supported too :-)

I fail implementing it myself, as it is hard to see were to add the information

Exactly the same here. I've had a look at the source code too but did not understand enough for providing some useful add :-(

Nevertheless: I do have currently access to two units WS-1200 - one is outdoor and a second one is here on my desk. If some additional tests are required I'm happy doing it and share the outcome.

@zuckschwerdt zuckschwerdt self-assigned this Feb 3, 2019
@zuckschwerdt zuckschwerdt added the todo Maintainers should do something, but there is no defect label Feb 3, 2019
@zuckschwerdt
Copy link
Collaborator

zuckschwerdt commented Feb 3, 2019

The documentation is good. I'll draft a decoder in the next days.

@curlyel
Copy link
Contributor

curlyel commented Feb 4, 2019

Hi Christian,
just noticed, that rtl_433 is already decoding something of my two WS-1200 units. It automatically chooses a decoder for "Fine Offset Electronics WH0530".

First sensor outdoor:
time : 2019-02-04 12:33:53 model : Fine Offset Electronics, WH0530 Temperature/Rain sensor ID : 38 Temperature: 7.3 C Rain : 250.8 mm Battery : OK Integrity : CRC

Second sensor indoor:
time : 2019-02-04 12:34:03 model : Fine Offset Electronics, WH0530 Temperature/Rain sensor ID : 62 Temperature: 21.5 C Rain : 8.1 mm Battery : OK Integrity : CRC

The values are valid. Sure, the DCF stuff is missing...
So probably less work than expected?

btw.: Does the light blue "CRC" output mean, that the CRC is checked and valid or does the blue indicates that it is not evaluated yet?

@zuckschwerdt
Copy link
Collaborator

zuckschwerdt commented Feb 4, 2019

If you see CRC it means checked and valid. The colors don't encode data, just to make things easier to see.

@curlyel
Copy link
Contributor

curlyel commented Feb 4, 2019

Good to know ;-)
Thanks a lot!

@untergasser
Copy link
Author

Hi,
my Alecto WS-1200 signals are not picked up as "Fine Offset Electronics WH0530". rtl_433 completely ignores them.
So maybe there are even more versions.
Best,
Andreas

@zuckschwerdt
Copy link
Collaborator

Looks like the Fine Offset WH0530 protocol matches close enough.
https://github.com/merbanan/rtl_433/blob/master/src/devices/fineoffset.c#L393

If you remove the Validate package check then it should mostly work. The V1.0 test sample are shown as Fine Offset WH3080 though. Either some sanity checks need to be added to remove those false positives or we need to confirm that they are (mostly) the same.

@curlyel
Copy link
Contributor

curlyel commented Feb 4, 2019

Mmh. I've checked my units again. It seems, that both are V.1.0, see:
alecto-ws-1200-v1 0

@zuckschwerdt
Copy link
Collaborator

Does the V1.0 also have a time packet (maybe only once a night)? It seems to suggest that on the package (or perhaps the DCF receiver is built into the indoor unit for 1.0?).

@curlyel
Copy link
Contributor

curlyel commented Feb 4, 2019

I'd expect the latter (DCF in the indoor display unit). I'm going to check it...

@curlyel
Copy link
Contributor

curlyel commented Feb 4, 2019

It's hard to block the rf-signal from the outdoor unit. I wanted to avoid climbing to the roof to pull out the batteries just to find out if it is receiving DCF without an outdoor unit powered on.

So I've decided to disassemble the indoor unit. Well ... it's broken now ...
(just kidding ;-))

I can confirm: It's definitely receiving the DCF in the indoor display unit. There are two antennas inside - one simple wire antenna for the 433MHz and a ferrite antenna for the longwave 77kHz DCF receiption.
See:
ws-1200-inside

@untergasser
Copy link
Author

I deassembled both, v1.0 and v2.0. Version 1.0 has the ferrite antenna in the display, Version 2.0 in the sensor. The "time" information gets a seperate signal with v2.0 and a stamp is attached to the old signal type.

Is it difficult to add the three signals? It would be great to have them in rtl_433!!!

Best,
Andreas

@zuckschwerdt
Copy link
Collaborator

Thanks for all the great info!
It's not difficult, just the issue with overlapping (false positive) Fine Offset devices was confusing me.
I'll add a branch for the decoder in a few days now.

@zuckschwerdt
Copy link
Collaborator

Just a quick preview, but there is some test code at #975 now.

@zuckschwerdt
Copy link
Collaborator

The PR now has the DCF77 decoding.

@zuckschwerdt
Copy link
Collaborator

Did you have a chance to test the code? Closing this, report back in #975 when you have time to test.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
todo Maintainers should do something, but there is no defect
Projects
None yet
Development

No branches or pull requests

3 participants