BresserWeatherSensorReceiver
Bresser 5-in-1/6-in-1/7-in-1 868 MHz Weather Sensor Radio Receiver for Arduino based on CC1101, SX1276/RFM95W, SX1262 or LR1121
Install / Use
/learn @matthias-bs/BresserWeatherSensorReceiverREADME
BresserWeatherSensorReceiver
<!--[](https://app.travis-ci.com/matthias-bs/BresserWeatherSensorReceiver)-->
Bresser 5-in-1/6-in-1/7-in-1 868 MHz Weather Sensor Radio Receiver for Arduino based on RadioLib using CC1101, SX1276/RFM95W, SX1262 or LR1121
See the Wiki for additional information.
To allow automatic handling of all Bresser weather station variants, the decoders are tried in the following order until decoding succeeded:
- 7-in-1-Decoder
- 6-in-1-Decoder
- 5-in-1 Decoder
- Lightning Sensor Decoder
- Water Leakage Sensor Decoder
(The Bresser 5-in-1 Weather Stations seem to use two different protocols - 5-in-1 and 6-in-1.)
| Model | Type | Decoder Function | | ------------- | ---- | ------------------------------- | | 7002510..12, 9602510 | Weather Station | decodeBresser5In1Payload() | | 7902510..12 | Weather Station (Base) | decodeBresser5In1Payload() | | 7002530 | Professional Rain Gauge | decodeBresser7In1Payload() | | 7002531 | 3-in-1 Professional Wind Gauge / Anemometer | decodeBresser6In1Payload() 1) | | 7002585 | Weather Station | decodeBresser6In1Payload() | | 7009999 | Thermo-/Hygrometer Sensor | decodeBresser6in1Payload() | | 7009970 | Air Quality Sensor PM 2.5 / PM 10 | decodeBresser7In1Payload() | | 7009971 | High Precision Thermo Hygro Sensor | decodeBresser6In1Payload() | | 7009972 | Soil Moisture/Temperature Sensor | decodeBresser6In1Payload() | | 7009973 | Pool / Spa Thermometer | decodeBresser6In1Payload() | | 7009975 | Water Leakage Sensor | decodeBresserLeakagePayload() | | 7009976 | Lightning Sensor | decodeBresserLightningPayload() | | 7009977 | CO<sub>2</sub> Sensor | decodeBresser7In1Payload() 2) | | 7009978 | Air Quality Sensor HCHO / VOC | decodeBresser7In1Payload() 3) | | 7003600 and WSX3001 | Weather Station | decodeBresser7In1Payload() 4) | | 7003210 | Weather Station | decodeBresser7In1Payload() | | 7803200 | Weather Sensor | decodeBresser7In1Payload() | | 7003300 | Weather Station | decodeBresser7In1Payload() | | 7803300 | Weather Sensor | decodeBresser7In1Payload() | | 7003150 | 8-in-1 Weather Station | decodeBresser7In1Payload() 5) |
Some guesswork:
| Numbering Scheme | Type | | ---------------- | ---- | | 700[25|31|32|33|36]* | Weather Station, Base + Sensor | | 780[25|31|32|33]* | Weather Station Sensor (Replacement) | | 790* | Weather Station Base (Replacement) | | 700[99]* | Accessory Sensor |
1) The flag DATA_COMPLETE must not be set in getData(), otherwise the return value would always indicate a timeout. (I.e. use #define RX_STRATEGY 0 in some of the example sketches.)
2) Request for testing, see https://github.com/matthias-bs/BresserWeatherSensorReceiver/issues/138
3) Request for testing, see https://github.com/matthias-bs/BresserWeatherSensorReceiver/issues/139
4) The part number is specific to the actual variant, i.e. some more characters are appended
5) The value tglobe_c is preliminary, see https://github.com/matthias-bs/BresserWeatherSensorReceiver/issues/220
[!NOTE] Weather sensors which are using the 6-in-1 protocol are actually transmitting two different kind of messages alternately:
- Temperature, Humidity, Wind and Battery status
- Wind and Rain
All other sensors/protocols are transmitting a single type of message which contains a complete set of data.
The behavior described above can be observed with BresserWeatherSensorBasic, which just shows each message as it is received by using the function
getMessage().The other examples are using the function
getData(), which buffers and combines messages from the 6-in-1 protocol until a complete set of data — with some configuration options regarding completeness, see BresserWeatherSensorOptions — is available.
Contents
- Configuration
- Rain Statistics
- Lightning Sensor Post-Processing
- SW Examples
- BresserWeatherSensorBasic
- BresserWeatherSensorWaiting
- BresserWeatherSensorCallback
- BresserWeatherSensorOptions
- BresserWeatherSensorOLED
- BresserWeatherSensorMQTT
- BresserWeatherSensorMQTTCustom
- BresserWeatherSensorMQTTWiFiMgr
- BresserWeatherSensorDomoticz
- BresserWeatherSensorM5Core2
- BresserWeatherSensorCanvasGauges
- BresserWeatherSensorSDCard
- BresserWeatherSensorFreqTest
- MQTT Integrations
- Debug Output Configuration
- HW Examples
- Antennas and RF Connectors
- Software Build Tutorial
- Source Documentation
- Legal
Configuration
Predefined Board Configurations
By selecting a Board and a Board Revision in the Arduino IDE, a define is passed to the preprocessor/compiler. For the boards in the table below, the default configuration is assumed based on this define. I.e. you could could use an Adafruit Feather ESP32-S2 with a CC1101 connected to the pins of your choice of course, but the code assumes you are using it with a LoRa Radio Featherwing with the wiring given below. In some cases (bold entries in the table below) an additional define has to be enabled manually in WeatherSensorCfg.h.
If you are not using the Arduino IDE, you can use the defines in the table below with your specific tool chain to get the same result.
If this is not what you need, you have to switch to Manual Configuration
| Setup | Board | Board Revision | Defines<br>bold: to be enabled manually in WeatherSensorCfg.h | Radio Module | Notes |
| -------------------------------------------------------------- | ------------------ | ---------------------------- | ---------------------- | -------- | ------- |
| LILYGO®TTGO-LORA32 V1 | "TTGO LoRa32-OLED" | "TTGO LoRa32 V1 (No TFCard)" | ARDUINO_TTGO_LORA32_V1 | SX1276 (HPD13A) | - |
| LILYGO®TTGO-LORA32 V2 | "TTGO LoRa32-OLED" | "TTGO LoRa32 V2" | ARDUINO_TTGO_LoRa32_V2 | SX1276 (HPD13A) | Only needed for LMIC: Wire DIO1 to GPIO33 |
| LILYGO®TTGO-LORA32 V2.1 | "TTGO LoRa32-OLED" | "TTGO LoRa32 V2.1 (1.6.1)" | ARDUINO_TTGO_LoRa32_v21new | SX1276 (HPD13A) | - |
| LILYGO®T3 S3 SX1262 | "LilyGo T3-S3" | "Radio-SX1262" | ARDUINO_LILYGO_T3S3_SX1262 | SX1262 | - |
| LILYGO®T3 S3 LR1121 | "LilyGo T3-S3" | "Radio-LR1121" | ARDUINO_LILYGO_T3S3_LR1121 | LR1121 | - |
| Heltec Wireless Stick | "Heltec Wireless Stick" | n.a. | ARDUINO_HELTEC_WIRELESS_STICK | SX1276 | - |
| [Heltec Wireless St
Related Skills
tmux
349.7kRemote-control tmux sessions for interactive CLIs by sending keystrokes and scraping pane output.
diffs
349.7kUse the diffs tool to produce real, shareable diffs (viewer URL, file artifact, or both) instead of manual edit summaries.
terraform-provider-genesyscloud
Terraform Provider Genesyscloud
blogwatcher
349.7kMonitor blogs and RSS/Atom feeds for updates using the blogwatcher CLI.
