-
Notifications
You must be signed in to change notification settings - Fork 1.3k
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
Ecowitt WH32 / WN32B not decoded #2303
Comments
Could be the same problem as #2274 |
Thanks. I installed rtl_433 on my mac and ran the following command I have attached the first file that is generated. The following decoder is suggested: However, when I run |
I assumed a typo there, but you can confirm the name of "WN32B" right? This looks much like the WH32B but the two repeats are not mashed together. Difficult to detect now wether it's I need to carefully figure this out, if you just want it to work right now apply these changes and recompile. --- a/src/devices/fineoffset.c
+++ b/src/devices/fineoffset.c
@@ -474,7 +479,10 @@ static int fineoffset_WH25_callback(r_device *decoder, bitbuffer_t *bitbuffer)
unsigned bit_offset;
// Validate package
- if (bitbuffer->bits_per_row[0] < 190) {
+ if (bitbuffer->bits_per_row[0] > 160 && bitbuffer->bits_per_row[0] < 190) {
+ type = 32; // new WN32B
+ }
+ else if (bitbuffer->bits_per_row[0] < 190) {
return fineoffset_WH0290_callback(decoder, bitbuffer); // abort and try WH0290
} else if (bitbuffer->bits_per_row[0] < 440) { // Nominal size is 488 bit periods
return fineoffset_WH24_callback(decoder, bitbuffer); // abort and try WH24, WH65B, HP1000
@@ -487,7 +495,7 @@ static int fineoffset_WH25_callback(r_device *decoder, bitbuffer_t *bitbuffer)
// Find a data package and extract data payload
// Normal index of WH25 is 367, and 123, 570 for WH32B
// skip some bytes to find faster
- bit_offset = bitbuffer_search(bitbuffer, 0, 100, preamble, sizeof(preamble) * 8) + sizeof(preamble) * 8;
+ bit_offset = bitbuffer_search(bitbuffer, 0, 0, preamble, sizeof(preamble) * 8) + sizeof(preamble) * 8;
if (bit_offset + sizeof(b) * 8 > bitbuffer->bits_per_row[0]) { // Did not find a big enough package
decoder_logf_bitbuffer(decoder, 1, __func__, bitbuffer, "short package. Header index: %u", bit_offset);
return DECODE_ABORT_LENGTH; |
Thanks a lot. This works great. |
A lot has been improved. Please retest with current git master. |
I don't think these sensors have been included in the master. I have kept using the code changes suggested by zuckschwerdt with no issue (https://github.com/sombrero2003/rtl_433/tree/fix_wh32). |
Hello, no news on when this fix will be present in the release? thanks! |
Hello,
I am running rtl_433 via the HA add-on and my ecowitt WH32 sensor is not recognized.
I noticed that the sensor id listed on the box reads WN32B and not WH32. It seems that's the new name of the WH32. Could the change of name explain the issue with the decoding?
Thanks a lot for this great piece of software
The text was updated successfully, but these errors were encountered: