Heltec Bresser weatherstation

I want to add my Bresser 5 in 1 weatherstation. (868mHz)
Therefore I bought a Heltec lora v2 esp32, and use platform IO in the standard OMG repo.

So far I know there is this repo that can help me.

In other parts of this forum I read to use the FSK branch, so i changed the URL.
rtl_433_ESP = https://github.com/NorthernMan54/rtl_433_ESP.git#fsk
After that I am lost and hope someone can help.

I dont get any signals of my weatherstation. (clear sight - 10meters away)

At best I get some random messages with a very low rrsi
{"rssi":-111,"snr":-11.25,"pferror":8027,"packetSize":63,"message":"nfap�ӎ�Ox�␚�␏[�?2��5�$èV1�_gw�JPɡ���Pz囤��2�@@␝Mȯ�js␕�M�}�"}

I know its possible due to Johan.
https://www.vromans.org/johan/articles/hass_bresser51/index.html

Some more info is here

[env:heltec-wifi-lora-32-868]
platform = ${com.esp32_platform}
board = heltec_wifi_lora_32
lib_deps =
  ${com-esp.lib_deps}
  ${libraries.wifimanager32}
  ${libraries.lora}
build_flags =
  ${com-esp.build_flags}
  '-DZgatewayLORA="LORA"'
  '-DLORA_BAND=868E6'
  '-DGateway_Name="OpenMQTTGateway_ESP32_LORA"'
  '-DLED_SEND_RECEIVE=25'
  '-DTimeLedON=0.1'
  '-DLED_SEND_RECEIVE_ON=1'
  '-DRAW_SIGNAL_DEBUG=true'
  '-DRTL_DEBUG=1'  
  '-DMEMORY_DEBUG=true'       ; display memory usage information
  '-DRSSI=true'             ; RSSI level

Hello,

You need a cc1101 to have rtl433 working with OpenMQTTGateway.

This board doesn’t use a cc1101 and is currently not compatible with OMG rtl 433.
@northerman54 is working on having SX127X boards compatible.

Your shorter route would be an RTL SDR dongle, you can maybe ask in the linked topic if he needs some help testing.

1 Like

I found a temporary solution outside of OMG

Matthias here already build the code I need. Unfortunately without OMG.
Maybe this repo can help you or @northerman54 to add this functionality into OMG?

@NorthernMan54
I saw this Bresser weather station is not in your devices list. I think, it should be possible with rtl_433.
I am not receiving anything on my heltec.

It is not really clear to me how to change to the 868 band. Because that is what the Bresser workswith.
Something like. '-DCC1101_FREQUENCY=868' ?
For now I put it hardcoded define CC1101_FREQUENCY 868

The screen is not realy functioning for me

[env:heltec-rtl_433]

platform = ${com.esp32_platform}

board = heltec_wifi_lora_32_V2

board_build.partitions = min_spiffs.csv

lib_deps =

  ${com-esp.lib_deps}

  ${libraries.wifimanager32}

  ${libraries.ssd1306}

  ${libraries.rc-switch}

  ${libraries.rtl_433_ESP}

  ${libraries.decoder}

  ${libraries.newremoteswitch}

build_flags =

  ${com-esp.build_flags}

 

; *** OpenMQTTGateway Config ***

  '-UZmqttDiscovery'          ; disables MQTT Discovery

  '-DvalueAsATopic=true'    ; MQTT topic includes model and device

  '-DGateway_Name="OpenMQTTGateway_heltec_rtl_433_ESP"'

; *** OpenMQTTGateway Modules ***

  '-DZboardHELTEC="HELTEC"'

  '-DZradioSX127x="SX127x"'

  '-DZgatewayRTL_433="RTL_433"'

  '-DOLED_WIDTH=128'      

  '-DOLED_HEIGHT=64'    

  '-DOLED_TEXT_BUFFER=1000'

  '-DOLED_TEXT_ROWS=5'  

  '-DCC1101_FREQUENCY=868'

Tks for the ping I wasn’t following this

I took a look at the modulation used by the Bresser Weather station, and it is definitely FSK, which is not supported by my rtl_433_ESP code base. After much research into FSK signal modulation having a generic transceiver like CC1101 or SX128X is not possible without coding in the FSK signal details. RTL_433 is able to decode FSK signals at the same time as OOK signals, as they are performing signal demodulation in software, where rtl_433_ESP is receiving a demodulated signal from the transceiver.

From the Bresser code - BresserWeatherSensorReceiver/WeatherSensor.cpp at 8123f7d19650747de593f76d015539c6a78146de · matthias-bs/BresserWeatherSensorReceiver · GitHub

Without access to the physical device or a simulator able to generate the appropriate FSK signal adding support for this is not feasible. But it should be straight forward though, as matthias-bs has completed most of the heavy lifting.

You are correct on the compiler directive to change frequency - OpenMQTTGateway/config_RF.h at 567c2053c0700fe1842abeab484f21c9d62e9888 · 1technophile/OpenMQTTGateway · GitHub

For the display issue, are you running the latest code base ( ZboardHeltec ) ? I did fix some issues with corruption. Also the OLED directives are not required, as I pick them up from the board definition. PS The display at this time is really a novelty, need to figure how to leverage it fully.

Thanks for your reply
Yes I used the commit with v1.0.0 tag. Or even newer.
If I understand correctly, for now matthias-bs’ repo is still the way to go now.
And it is possible to see it in the future OMG.
Otherwise I just need to get a CC1101? Will that work with OMG?

@3zkc9fyf for FSK devices, support is unlikely due to the need to hard code the FSK settings for a particular device. For future support with OMG, I really can’t say, but it is not on my backlog.

1 Like

Just feedback to let you know…

FSK is supported since the in june 2023 released OpenMQTTGateway v1.6.0! (Thanks @NorthernMan54 and @1technophile)
I was able to receive data from my weatherstation (Bresser 5in1) with a LILYGO LoRa32 V2.1 v1.6.1 868 version. I would presume this will also work on a Heltec

Here are OpenMQTTGateway settings:

[env:lilygo-rtl_433_fsk]
platform = ${com.esp32_platform}
board = ttgo-lora32-v21
; ~/.platformio/packages/framework-arduinoespressif32/variants/.../pins_arduino.h
board_build.partitions = min_spiffs.csv
lib_deps =
  ${com-esp32.lib_deps}
  ${libraries.ssd1306}
  ${libraries.rtl_433_ESP}
build_flags =
  ${com-esp32.build_flags}
; *** OpenMQTTGateway Config ***
  ;'-UZmqttDiscovery'          ; disables MQTT Discovery
  '-DvalueAsATopic=true'    ; MQTT topic includes model and device
  '-DGateway_Name="OMG_lilygo_rtl_433_ESP"'
; *** OpenMQTTGateway Modules ***
  '-DZgatewayRTL_433="rtl_433"'
  '-DZradioSX127x="SX127x"'
; *** radio settings ***
  '-DOOK_MODULATION=false'
  '-DCC1101_FREQUENCY=868.30'
; *** ssd1306 Display Options ***
  '-DZdisplaySSD1306="LilyGo_SSD1306"'
;  '-DLOG_TO_OLED=true'         ; Enable log to OLED
;  '-DJSON_TO_OLED=true'
;  '-DLOG_LEVEL_OLED=LOG_LEVEL_NOTICE'
;  '-DDISPLAY_IDLE_LOGO=false'
;  '-DDISPLAY_BRIGHTNESS=80'
;  '-DDISPLAY_METRIC=false'
custom_description = For ESP32, Gateway using RTL_433_ESP and RadioLib in FSK mode
custom_hardware = ESP32 LILYGO LoRa32 V2.1
3 Likes

Thanks so much @Cadster @1technophile @NorthernMan54!

It works like a charm. With the screen, and without any extra configs.

2 Likes

I’m currently trying to get my LILYGO TTGO LoRa32 V2.1 868mhz to work with my Garni weather station.
Garni is a clone of the Ecowitt/Froggit/Ambient weather stations all build by a company called Fineoffset. And its a FSK device if i understand correctly. (MUST READ - Fine Offset Clone Models,sensor compatibility,firmware + other info)

I used the settings as @Cadster posted and added them to the environments.ini and build/flash successfully. (Both with v1.60 and current dev.)
But no signals are received… I checked with an old version of rtl_433 on Windows and received a Fineoffset WH32B device.
That is the name for my Garni 090HP temp sensor, so it should also work with the LILYGO and rtl_433.
And to be 100% sure i placed the temp sensor directly next to the LILYGO, and with an SDR i confirmed the transmission on 868.5mhz.

Left the LILYGO running for two days and not a single device was found. But all seems to function correctly, except noting is being received including in the console.
Frequency is shown correct at 868.3, and if i change it to 868.5 that also works. So i’m not sure what i’m doing wrong. ;(

Perhaps the protocol is slightly different and not yet supported by OpenMQTTGateway.
Ask around on their community.
These are the OOK signal encoded device and the FSK devices curently supported. I see Fine Offset (
Registering protocol [53] “Fine Offset Electronics WH1080/WH3080 Weather Station”
) in the OOK list, so maybee it’s not an FSK device…

Thank you. The sensor is on the FSK list under number 18 (WH32B).
Will try to find more info on the openmqttgateway forum.

@Cadster out of interest what is the version/ lot number of the Bresser 5 in 1 sensor that you are using?

Just curious, was my d.m. usefull?

good day - yes just responded to your DM , thank you for taking the time to respond

OpenMQTTGateway v1.7.0 is released and if you like me updated ota, lost connection to your device, this is because of, in my case, the environment pointed at: lilygo-rtl_433 wich updated to lilygo-rtl_433-firmware.bin instead of lilygo-rtl_433-fsk-firmware.bin. You can fix this by flashing your device with the new lilygo-rtl_433-fsk option. You will have to reconnect to the ap of your device and setup wifi/mqtt/gateway pw again and after this set you rf-frequency to 868.30, and you are good to go again.

2 Likes