-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Fix detection of Bresser Professional Rain Gauge #2431
Fix detection of Bresser Professional Rain Gauge #2431
Conversation
Thanks for the feedback! The |
Indeed, checking for Maybe It will be another ~4 weeks until I get back on site and can try to repeat the battery change a few more times to see how it affects the |
93031a1
to
ed794ec
Compare
e51e9bc
to
ff8a8c5
Compare
aa467ab
to
1b98a92
Compare
I've finally found some time to play a bit more with the Bresser Professional Rain Gauge. It turns out that my initial assumption to check for I've reset the sensor about ~30 times now (either by taking out the batteries or via the reset button), and the values I get are either 0x9, 0xA, or 0xB. Here's an example for 0xB:
So at least one of the two least-significant bits is always set, but none of the other bits ever change. I first thought this is something like a "reset counter", but the change doesn't seem to be predictable (i.e., the nibble may not change at all or jump to any of the other two possible values). Both changing the batteries and pressing the reset button is a bit tricky, though, so it could be that I may have inadvertently performed multiple resets in a row without noticing. Or maybe these bits are part of the ID (since this is the only other value that changes between resets), but then I would expect 0x8 to show up as well. It would be interesting to know if the 5-in-1 Weather Center shows a similar behaviour. My current understanding of the
Based on this I've adapted my patch for this PR. Please let me know whether it can be accepted as-is or you would like me to make additional changes. |
The sensor ID for the Rain Gauge can be either 0x9, 0xA, or 0xB. The value changes between resets, and the meaning of the two least significant bits is unknown.
1b98a92
to
597fc6d
Compare
Thanks, this look very thoroughly researched and probable! |
I have been using rtl_433 for roughly a year now to receive the data from my rain sensor, a Bresser Professional Rain Gauge. It worked out of the box, and I didn't experience any issues. Until two weeks ago. I had to change the batteries, and after that my setup stopped working. rtl_433 was still receiving the data from the sensor, but it was incorrectly labelled as a "Bresser-5in1" weather center, and the rain values were too low.
Looking at the code I realised that there is a magic nibble in each packet which is used to identify the type of device. Unfortunately I don't have any recordings from before the battery change. But it must have been 0x9 then (otherwise it wouldn't have worked). Now it is 0xA, though. So the assumption that the respective byte is static was incorrect.
I don't know if there is any way at all to identify the type of device from the packets themselves. And unfortunately I currently don't have physical access to the sensor to do another battery change and see what happens. For now I adapted the code to check for
((msg[15] & 0xF) >= 0x9)
instead of((msg[15] & 0xF) == 0x9)
.Attached is a sample I captured today with my modified version of rtl_433.
g001_868.3M_1000k.cu8.gz