merbanan / rtl_433

Program to decode radio transmissions from devices on the ISM bands (and other frequencies)
GNU General Public License v2.0
6.14k stars 1.33k forks source link

Wmbus device type 104, using different frequency and different transmission speed #2857

Closed jacksonlancaster closed 8 months ago

jacksonlancaster commented 8 months ago

I have a wireless mbus device that uses 915MHz and 250kbps transmission rate. It sends data in C1 format. Since it's non standard freq and speed, how would I read this? Any parameters I can change or code I can modify to accommodate this?

zuckschwerdt commented 8 months ago

Frequency is no problem, just use a fitting -f.

The rate is pretty high, you'd need to adjust short and long here: https://github.com/merbanan/rtl_433/blob/master/src/devices/m_bus.c#L1217 and then use a high sample rate.

jacksonlancaster commented 8 months ago

I changed the short width. Any idea what the long_width should be set to in the case of 250kbps?

.short_width = 25, // Bit rate: 250kb/s .long_width = 10, // NRZ encoding (bit width = pulse width)

ProfBoc75 commented 8 months ago

Hi @jacksonlancaster : this is less, at 250kb/s the pulse duration is 4 µs, and because of PCM , short = long = 4 it's very short, as @zuckschwerdt said you have to increase the sample rate too with -s 2048k for example.

jacksonlancaster commented 8 months ago

Do I also need to change the .reset_limit = 500 to a different value?

ProfBoc75 commented 8 months ago

Yes, you can reduce with r = 200 to keep same ratio. Up to you to update the value.

If you want to test, you can use the flex decoder until you have a good result then you apply your findings into the decoder. Because each time you update the c file you need to compile, then to test, correct again , compile , test, .... Lot of time to get the figures.

jacksonlancaster commented 8 months ago

Thank you guys so much. I was able to get it to read!