Github Upload Boards Devices Community Docs Blog

OMG send correct signal but blinds not responding (315mhz)

I build an OMG with a wemos d1 mini and a 315mhz transmitter and receiver. I want to use it to add a custom made (Chinese) blind to my home automation. The remote has a 2-digit 7-segment display on which I can choose 0-99 (I think these are channels), and has an up/down/stop button.
What is strange is that if I pair the remote to channel 0 it also works on channel 1, but ok…
If I use channel 0 the only button that is received by OMG is the stop button, if I use channel 1 only up and down are received. Here’s an example.
N: Subject: /433toMQTT
N: Received json : {“value”:2686484673,“protocol”:2,“length”:32,“delay”:590}
N: no pub. dupl
N: Received json : {“value”:2686484673,“protocol”:2,“length”:32,“delay”:590}
The problem is that when I send this signal with the OMG the blinds don’t respond. I thought maybe I send the wrong info, so I build another transmitter and receiver and used tasmota on this, same thing the blinds don’t respond to this either. But I also used this one to check what was received.
What puzzles me is that when I use the remote, or the OMG, I see on the tasmota device it receives the exact same thing! The transmitter is very close to the blinds so it’s not a receiving issue (the tasmota is much further away and receives all fine).
I use #define ZgatewayRF “RF” //ESP8266, Arduino, ESP32, if I use RF2 or Pilight the OMG does not receive anything.
I really have no idea why it is not working, so hoping someone smarter than me can help me out.

Have you tried comparing the RF signal output from the remote versus OMG with a rtl-sdr ? If found that when I was comparing the signals between the 2, OMG may be slightly different and I needed to adjust the settings slightly for it to work consistently. To find the proper settings it took a bit of trial and error based on the signal analysis.

I use a workflow similar to this to analysis the signals SDR – My 433 MHz door bell – QUASSI

I think I have an rtf-sdr somewhere but I will have to search to for it. I looked at the signal analysis link and this is whole new territory for me. You said you had to adjust the setting slightly, what settings are those?

I had adjusted the delay and repeat option to get the signal to match what the remote was transmitting. It did take a bit of time, as I made an adjustment, compared the signals, then repeated. With my device what I found was that the signal was too long when compared to the actual remote and needed to reduce delay in order to get it to work. But without doing the signal analysis it would be just shooting in the dark, so for me that was the key in getting it to work.

I have found my rtf-sdr and was able to capture the signal, it seems the delay (that’s the same as pulse length right?) is off.
I am running all under windows, and am having trouble to get the rtl_sdr tool to work to analyse the signal. Is there another way to find the ‘delay’?

I think I got rtl_sdr now working, will test and look at the signal tomorrow as my son is sleeping and the remote controls the blinds in his room :wink:

I took a while to respond because I have done some more testing and working on it, and I just can’t figure it out. With your help I got it to work partially. I have captured the output with rtf_sdr but this doesn’t really tell me much. But when listening to the signal I heard it sounded wrong so like you did I adjusted the delay, more by trial and error than knowledge.
With the delay somewhere between 400 and 500, i got the blinds to react but not all the time.
Here’s what I found, it works several times and then at some point doesn’t work anymore. Then when I use the remote one time, I can use the OMG several times again, until it stops working again etc…
When the blinds are moving and I use the remote to change the opening to closing or vice versa, this works fine. When I do this with the OMG most of the times this doesn’t work. When the blinds have finished moving, then I can close/open again. I have tried 2 different 315mhz transmitters, and one doesn’t work at all. I can see it transmits and the receiver I build can receive the correct signal, but something is probably different as the blinds don’t respond at all.
Still hoping I can get this to work, but I am puzzled by the intermittent working of the OMG.

Detected OOK package 2021-05-16 11:54:46
Analyzing pulses…
Total count: 680, width: 929.40 ms (232351 S)
Pulse width distribution:
[ 0] count: 20, width: 644 us [632;668] ( 161 S)
[ 1] count: 120, width: 880 us [864;900] ( 220 S)
[ 2] count: 540, width: 316 us [304;344] ( 79 S)
Gap width distribution:
[ 0] count: 20, width: 5908 us [5884;5916] (1477 S)
[ 1] count: 138, width: 348 us [332;424] ( 87 S)
[ 2] count: 520, width: 908 us [892;932] ( 227 S)
[ 3] count: 1, width: 444 us [444;444] ( 111 S)
Pulse period distribution:
[ 0] count: 20, width: 6556 us [6544;6576] (1639 S)
[ 1] count: 640, width: 1224 us [1196;1248] ( 306 S)
[ 2] count: 19, width: 716 us [692;756] ( 179 S)
Pulse timing distribution:
[ 0] count: 20, width: 644 us [632;668] ( 161 S)
[ 1] count: 640, width: 900 us [864;932] ( 225 S)
[ 2] count: 672, width: 320 us [304;392] ( 80 S)
[ 3] count: 20, width: 5908 us [5884;5916] (1477 S)
[ 4] count: 7, width: 420 us [412;444] ( 105 S)
[ 5] count: 1, width: 10004 us [10004;10004] (2501 S)
Level estimates [high, low]: 15966, 22
RSSI: -0.1 dB SNR: 28.6 dB Noise: -28.7 dB
Frequency offsets [F1, F2]: -4847, 0 (-18.5 kHz, +0.0 kHz)
Guessing modulation: Pulse Width Modulation with sync/delimiter
view at https://triq.org/pdv/#AAB00F0601028403840140171401A427148355+AAB03006030
28403840140171401A4271492A192A1A1A1A1A1A1A192A1A1A1A1A192A1A1A1A1A1A1A192A1A1A1A
1A1A192A28355+AAB0300601028403840140171401A4271492A192A1A1A1A1A1A1A192A1A1A1A1A1
92A1A1A1A1A1A1A192A1A1A1A1A1A192A48355+AAB0300604028403840140171401A4271492A192A
1A1A1A1A1A1A192A1A1A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A192A28355+AAB0300601028403
840140171401A4271492A192A1A1A1A1A1A1A192A1A1A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A1
92A48355+AAB0300601028403840140171401A4271492A192A1A1A1A1A1A1A192A1A1A1A1A192A1A
1A1A1A1A1A192A1A1A1A1A1A192A28355+AAB0300604028403840140171401A4271492A192A1A1A1
A1A1A1A192A1A1A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A192A48355+AAB030060402840384014
0171401A4271492A192A1A1A1A1A1A1A192A1A1A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A192A28
355+AAB0300601028403840140171401A4271492A192A1A1A1A1A1A1A192A1A1A1A1A192A1A1A1A1
A1A1A192A1A1A1A1A1A192A48355+AAB02F0601028403840140171401A4271492A192A1A1A1A1A1A
1A192A1A1A1A1A192A1A1A1A1A1A1A192A1A1A1A1A1A192A555
Attempting demodulation… short_width: 316, long_width: 880, reset_limit: 5920,
sync_width: 644
Use a flex decoder with -X ‘n=name,m=OOK_PWM,s=316,l=880,r=5920,g=0,t=0,y=644’
pulse_demod_pwm(): Analyzer Device
bitbuffer:: Number of rows: 20
[00] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[01] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[02] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[03] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[04] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[05] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[06] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[07] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[08] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[09] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[10] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[11] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[12] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[13] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[14] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[15] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[16] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[17] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[18] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1
[19] {33} 5f df 7f 7e 80 : 01011111 11011111 01111111 01111110 1

To compare signals I have been following a workflow similar to this breakthings.de where I would record a signal using gqrx and then look at the waveform using audacity and compare the difference between OMG and the actual remote.

You want the waveform to be almost identical between OMG and the actual remote.