-
-
Notifications
You must be signed in to change notification settings - Fork 132
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
Support of Klimalogg Pro Sensor #143
Comments
ASK is similar to FSK so it is supported The decoder is included within the source code, but it is listed as disabled here - rtl_433_ESP/src/rtl_433/devices/klimalogg.c Line 112 in 276bc2c
The disabled flag was copied from the rtl_433 package - https://github.com/merbanan/rtl_433/blob/f23b80f7975ebb49242e4017aafed870c35e30d0/src/devices/klimalogg.c#L112 You could try flipping disabled to 0, and rebuilding. As it was disabled during the build process, and is the only device leveraging OOK_PULSE_NRZS I'm not 100% confident it will work, as the code would not have been exercised during testing. But give it a try, worst case is that you would need to undo it. |
How can I get a verbose log from rtl_433_ESP in the OMG console like this?
I tried several compiler directives without success. Help appreciated! Regards, Christoph |
It’s not wired to do that the omg serial console uses a different logging library to achieve the web console |
I now understand, that the rtl log is going to the serial console, but where can I find a description of the compiler directives to trace the rtl_433_ESP activities inside OMG on my LilyGo 868 MHz board. Regarding my issue I checked the source code and figured out, that the klimalogg protocol is in the copy sequence for OOK modulation, so it cannot be activated with FSK. For debugging with my sensors I need some hints for tracing and debugging. |
Found the compiler directives in the ReadMe!👍 |
As I’m using the chipset signal demodulator for FSK and OOK, it is not feasible to receive both at the same time. |
I know that and I tried to create a binary with klimalogg being activated while FSK is activated, too.
So if I compile with May be I don't understand you right. Should I compile with OOK and the modulation code for ASK will nevertheless be activated? I did so and I've got these results:
|
I'm not sure if it's the right way to comment to a closed issue... |
Looking at the klimalogg.c file, it is OOK Modulation, so you need to use OOK_MODULATION=true. And as this library uses the lilygo board for signal demodulation, the sample rate is not an available setting. But there are other settings for OOK available here - rtl_433_ESP/src/rtl_433_ESP.cpp Line 240 in 91bd22a
You could try tweaking the various settings to see if it changes raw signal reception. |
I read the complete thread of this issue in https://github.com/merbanan/rtl_433/issues/965#issuecomment-587336700, where they are discussing back and forth, if it is OOK or ASK or FSK. While the project https://github.com/baycom/tfrec, where the input for the decoder came from, says it is FSK with NRZ(S).
When I ran OOK, I could see these lines in the logs: While running FSK, these lines did not appear. So I added these lines in r_api.c: I thought the sample rate of 2 Mhz might be mandatory, but you say this cannot be set on the Lilygo board... Regards, Christoph |
With this project we are relying on the sx127x chip to do signal demodulation, where as rtl_433 does signal demodulation in software. We then pass the demodulated signal to the device decoder, to decode the signal. So when you set the OOK_Modulation define, you are telling the SX127x chip to run in that mode. and this is where the sampling rates etc apply. To take this further, it would need someone with access to the actual device, and they would then need to fine tune the sx127x settings for the device. The fine tuning would include adjusting the register settings in the code, to identify the correct settings. The actual receiver logic in the code base is pretty simple, it watches a pin for changes in signal level and records the gap between signal level changes. This data is then sent to the device decoder. Personally I can’t take this any further. |
Thanks for this background info! I'd like to share my findings from some web resources and some further tests. In the tfrec project I found this comments in the code for Klimalogg sensor 30.3180.IT: https://github.com/baycom/tfrec/blob/master/tfa1.cpp:
This shows a bitrate of 38.400 kbit/s, while the actual code of rtl_433_ESP.cpp has 17.24 kbit/s. I changed it in my fork to 38.4: As I don't have any knowledge of radio frequencies, I tried to find some hints regarding sample rate and found this picture in the SIEMENS community https://community.sw.siemens.com/s/article/digital-signal-processing-sampling-rates-bandwidth-spectral-lines-and-more: If the bandwidth in the frequency domain is half the size of the sample rate, the Klimalogg sensor would need a bandwidth of at minimum 750 kHz corresponding to a sample rate of 1.5 MHz or better 1 MHz for a 2 MHz sample rate. This table in SEMTECH's datasheet of the SX127x module shows a mximum bandwidth of 500 kHz: If my conclusion is correct, it looks as if the receiver module cannot read the Klimalogg sensor. May be, someone can check that and tell me, if I am right. |
Current Situation
In the current version the sensor
[150]* Klimalogg
from merbanan's rtl_433 project is not listed as supported. In the source code I see, that it has OOK_PULSE_NRZS modulation. From my running instance of rtl_433 I get these MQTT messages:There I see
MOD = ASK
. Is this supported by rtl_433_ESP?Proposed Change
Support the Klimalogg sensor like in rtl_433. The advantage is to get data from the following sensors:
In my home brewing environment I could then replace one instance of rtl_443 (for 868 MHz) by a LilyGo Lora 32 board for 868 MHz.
Additional Context
No response
The text was updated successfully, but these errors were encountered: