rtl_433
rtl_433 copied to clipboard
Decoder for Vauno EN8822C-1 thermometer/hygrometer
I've captured multiple measurements from this sensor and began to establish the bit layout, looking to coordinate with writing a decoder! Will likely need some guidance on common checksums etc.
Relevant PR: https://github.com/merbanan/rtl_433_tests/pull/433
Your decoding notes looks really good! Can you collect some codes into a BitBench like this so we can take a guess at the trailing bits?
One of the 2 0-bits before the channel bits are probably low battery indicators. Try with bad batteries and see if anything changes.
Regarding the checksum there are tools to help out with that, we just need a set of different codes. Other then that look into the code some other temperature sensor and base your device of that. We'll help out with the details in the review process.
Thanks for the help! Been a while since I've done any C, but will give it a go.
I've added some more codes into bitbench, trying to vary one value at a time and get a range of values for each field.
Share the BitBench link when you are finished (no data is stored there).
Whoops, had copied but forgot to paste! Here we go
Sort and look at
{42} 3d 01 24 7c 0 a8
{42} 3d 11 24 7c 0 ac
{42} 3d 21 24 7c 0 b0
that's (nibble) addition with carry as checksum. A BitBench to show this mostly works.
I just put some bad batteries in and got this decoded repeatedly:
time : 2022-09-12 11:58:38 model : Conrad-S3318P ID : 56 Channel : 1 Battery : 1 Temperature: -14.50 F Humidity : 129 % Button : 0 Integrity : CRC
When I look at S3318P - the bit layout seems to match! https://github.com/merbanan/rtl_433/blob/master/src/devices/s3318p.c
Maybe instead, how can this new device be collected using the same decoder?
EDIT: except the temperature on the Vauno appears to be signed in degrees C, rather than F! And humidity is 7 rather than 8 bits. I can use this as a base though.
What determines which decoder gets used on a detected signal?
Ah, nice. That's a common protocol, the esperanza_ews, kedsum share this. One of those will fit (with minor changes maybe). edit: err, sorry, it's just the same length and roughly matching bits ;) So it's a checksum collision only here. But that file can be a template to write the new decoder.
What determines which decoder gets used on a detected signal?
Every decoder with matching timings is tried and should decode or reject.
Do I have a first attempt and then create a PR into the main project (here)?
Sure, if you like. Look through merged PRs to get a feel. Otherwise I can add this decoder next weekend or so.
Status?
Looks like a PR that does this was merged. Speak up if otherwise with status.