matthias-bs / BresserWeatherSensorReceiver

Bresser 5-in-1/6-in-1/7-in-1 868 MHz Weather Sensor Radio Receiver for Arduino based on CC1101, SX1276/RFM95W or SX1262
MIT License
121 stars 23 forks source link

5-in-1 (7002580) fails on parity but works with 6-in-1 decode (though rainfall is incorrect) #183

Closed simonsh closed 4 months ago

simonsh commented 4 months ago

Context

Describe the bug 5-in-1 decoder returns a parity error. 6-in-1 decoder receives data but rainfall appears incorrect i.e. with no rain it reports 83.2mm

To Reproduce Steps to reproduce the behavior: Run sketch on a my 7002580 model (about 4 years old) with 5-in-1 configured then 6-in-1 configured.

Expected behavior 5-in-1 decoder should work on 7002580 and rainfall should be correct.

Debug Log Output from BresserWeatherCallback.ino with 6-in-1 configured (there is no UV sensor in the 7002580) :

Id: [1930031E] Typ: [1] Ch: [0] St: [0] Bat: [OK ] RSSI: [ -77.5dBm] Temp: [ 30.6C] Hum: [ 41%] Wmax: [ 0.0m/s] Wavg: [ 0.0m/s] Wdir: [180.0deg] Rain: [ 83.2mm] UVidx: [0.0] [ 56524][V][WeatherSensor.cpp:345] getMessage(): [SX1276] Data: D4 3A B7 19 30 03 1E 18 FF FF FF 18 08 30 72 41 FF F0 8E 00 00 00 00 00 00 00 00 [ 56537][D][WeatherSensor.cpp:347] getMessage(): [SX1276] R [D4] RSSI: -77.5 [ 56544][V][WeatherSensorDecoders.cpp:66] findSlot(): find_slot(): ID=1930031E [ 56551][D][WeatherSensorDecoders.cpp:104] findSlot(): sensor[0]: v=0 id=0x1930031E t=1 c=0 [ 56559][V][WeatherSensorDecoders.cpp:129] findSlot(): find_slot(): Storing into slot #0 [ 56567][D][WeatherSensorDecoders.cpp:581] decodeBresser6In1Payload(): Flags: Temp=1 Hum=1 Wind=1 Rain=0 UV=1 [ 68524][V][WeatherSensor.cpp:345] getMessage(): [SX1276] Data: D4 BC 8E 19 30 03 1E 18 FF FF FF 18 08 FF F7 CD FF 01 9D 00 00 00 00 00 00 00 00 [ 68537][D][WeatherSensor.cpp:347] getMessage(): [SX1276] R [D4] RSSI: -77.5 [ 68544][V][WeatherSensorDecoders.cpp:66] findSlot(): find_slot(): ID=1930031E [ 68551][D][WeatherSensorDecoders.cpp:104] findSlot(): sensor[0]: v=1 id=0x1930031E t=1 c=0 [ 68559][V][WeatherSensorDecoders.cpp:122] findSlot(): find_slot(): Updating slot #0 [ 68567][D][WeatherSensorDecoders.cpp:581] decodeBresser6In1Payload(): Flags: Temp=0 Hum=0 Wind=1 Rain=1 UV=0

Embedded Device (please complete the following information):

These values have been cross-checked with the station display and the Wunderground API.

matthias-bs commented 4 months ago
simonsh commented 4 months ago

Understood, working on SNTP now.

simonsh commented 4 months ago

I will probably just use the Wunderground API for this, for now. Just need a daily summary for rain and it's already worked out by the station and posted to the API.

matthias-bs commented 4 months ago

Understood, working on SNTP now.

What do you mean by that? Please note that SNTP is used in the MQTT examples - to allow using of secure MQTT and to provide time to the rain/lightning statistics functions.

simonsh commented 4 months ago

I meant I was working on it. I have now configured SNTP correctly in the sketch as per the MSTT example, but I will use the Wunderground API data for rainfall data, whilst I work on other sensor stuff. I'll get back to it shortly. Thanks again.