Need help with RF433 receiver

Hi, I’m trying to use rf433 receiver for esphome, on tasmota it works fine.

But after migrating to esphome, I’m getting spammed with this log output right from boot even though I’m not transmitting anything

Logs

10:48:46	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:46	[I]	[remote.pronto:233]	
0000 006D 0010 0000 0014 0021 0043 0003 00DC 0003 0014 0003 000D 0001 0014 0008 00CB 0007 0005 001F 0011 0003 0043 0016 0006 0001 0012 0004 0005 0002 0003 0003 001A 0008 0181 
10:48:46	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:46	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:46	[I]	[remote.pronto:233]	
0002 0005 0005 0004 0010 0004 0004 000B 000A 0004 0003 0005 0018 0003 0003 0004 0004 0004 001F 000B 0004 0005 00AA 0009 0008 000E 000C 0005 0005 0142 002C 0181 
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:47	[I]	[remote.pronto:233]	
0020 0006 0034 0025 0004 0002 0014 0003 0181 
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:47	[I]	[remote.pronto:233]	
0000 006D 000F 0000 001F 0005 0008 0014 0027 0004 0057 0005 000E 0001 00A2 000A 003E 0004 003D 0009 0005 0091 0007 000B 0009 0007 0023 0011 0006 0007 0005 0002 0036 0180 
10:48:47	[I]	[remote.pronto:233]	
0000 006D 0027 0000 0009 0016 002E 000A 0007 001F 0005 0002 0005 0007 003A 0004 008D 002F 001A 0004 0009 0002 001A 0007 0018 0007 0038 0002 002A 0001 00A6 0003 0009 0006 007D 0002 00CD 0002 0022 0004 000D 0013 0014 000E 0011 0002 
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:47	[I]	[remote.pronto:233]	
0000 006D 0020 0000 0012 002B 0006 0006 0003 0007 0004 0004 0008 011C 0003 00D2 0099 00DC 0001 0011 0003 00C6 0016 0007 0035 0011 0003 0003 0004 0007 0010 0005 0008 000C 000A 0005 0004 0003 0002 0008 0004 0004 0004 0003 0008 0014 
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:47	[W]	[component:238]	
Components should block for at most 30 ms.
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:47	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:233]	
0000 006D 0015 0000 001E 0009 0006 0018 0008 0003 0040 0002 0086 0003 001A 0003 001C 0005 0014 0004 00D0 0002 007B 000C 0005 0073 001F 000A 001B 0015 0013 0002 0006 0002 000A 0004 0007 0002 0009 0002 0008 0009 0007 0007 0181 
10:48:48	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:233]	
0002 0011 0002 0007 0009 0012 0004 0003 0002 000D 0001 000C 0003 003B 0002 0013 0002 000B 0003 0006 0009 0181 
10:48:48	[I]	[remote.pronto:233]	
0000 006D 0027 0000 0012 002E 002C 0003 0008 0004 0004 0007 0001 000E 0002 001B 0011 006A 0019 0033 005F 000B 0006 000F 0006 0095 0002 0049 0002 0007 0008 0025 0003 003F 0017 0144 000B 0003 0007 000D 0008 0004 0001 00DA 0004 000B 
10:48:48	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:48	[I]	[remote.pronto:233]	
0002 0013 0004 0181 
10:48:48	[I]	[remote.pronto:233]	
0003 001C 0004 001A 0003 0007 0008 0005 0006 0003 0020 0018 0001 0005 0003 000B 0002 000D 0004 0010 0005 0181 
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[I]	[remote.pronto:233]	
0021 0001 00AB 0002 001F 0008 0061 0004 0021 0004 001C 0002 0025 0006 0005 0007 0012 0005 00C1 0003 0181 
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[W]	[component:238]	
Components should block for at most 30 ms.
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:49	[I]	[remote.pronto:233]	
000C 0004 0006 0180 
10:48:49	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:50	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:50	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:50	[I]	[remote.pronto:233]	
0000 006D 000E 0000 0013 0013 0003 0013 00A4 0003 0025 0003 0006 0002 0055 000D 0004 0003 000E 0007 007B 002F 000B 0002 000D 0002 0008 0006 0004 0004 0008 0180 
10:48:50	[I]	[remote.pronto:231]	
Received Pronto: data=
10:48:50	[I]	[remote.pronto:233]	
0000 006D 0015 0000 001F 0012 000D 0009 0006 0005 00B5 0005 0009 0003 0013 0005 000E 0001 0017 0001 0013 0004 002A 0046 0005 0003 000A 000E 007F 0004 0006 0005 0005 0003 0029 0003 0004 0006 0005 0024 000A 0004 000A 0018 0181 

Yaml

esphome:
  name: esp8266-rf-test
  friendly_name: esp8266-rf-test

esp8266:
  board: esp01_1m

# Enable logging
logger:

# Enable Home Assistant API
api:

ota:
  - platform: esphome

wifi:
  ssid: !secret wifi_ssid
  password: !secret wifi_password

  # Enable fallback hotspot (captive portal) in case wifi connection fails
  ap:
    ssid: "Esp8266-Rf-Test Fallback Hotspot"
    password: !secret ap_password

captive_portal:

web_server:
  port: 80

remote_receiver:
  pin: GPIO5
  dump: all

How do i rectify this?

Dumping all protocols can spam the logs… remember, there can be lots of devices transmitting on 433MHz. Try only listening for the protocol that you will be transmitting.

dump: raw
can give you better idea what you are receiving. Then you can try with filtering.
Also correct your board definition, esp01 doesn’t even have gpio5 pin.

1 Like

Ok, changed to raw but I’m still getting the spam

yaml

remote_receiver:
  pin: GPIO5
  dump: raw
  # Settings to optimize recognition of RF devices
  tolerance: 50%
  filter: 250us
  idle: 4ms
  buffer_size: 2kb # only for ESP8266

Logs (some of it)

|23:47:36|[I]|[remote.raw:041]|Received Raw: -525, 276, -383, 445|
| --- | --- | --- | --- |
|23:47:36|[I]|[remote.raw:041]|Received Raw: 2042, -699, 785, -350, 479|
|23:47:36|[I]|[remote.raw:041]|Received Raw: -644, 285, -615, 519, -438, 402, -518, 318, -602|
|23:47:36|[I]|[remote.raw:041]|Received Raw: 528, -280, 429, -749, 610|
|23:47:36|[I]|[remote.raw:041]|Received Raw: 2604, -313, 466, -749, 405, -668, 501, -313, 516, -416, 344, -718, 422, -494, 391, -453, 354, -485, 351, -340, 696|
|23:47:36|[I]|[remote.raw:041]|Received Raw: 910, -500, 403, -378, 446, -441, 385, -445, 438, -490|
|23:47:36|[I]|[remote.raw:041]|Received Raw: 812, -1310, 1230, -486, 1091, -580, 1123, -500|
|23:47:36|[I]|[remote.raw:041]|Received Raw: 1858, -1020, 758, -570, 996, -390, 583, -332, 1163, -916, 2298, -1229, 2159|
|23:47:37|[I]|[remote.raw:041]|Received Raw:|
|23:47:37|[I]|[remote.raw:041]|Received Raw: -790|
|23:47:37|[I]|[remote.raw:041]|Received Raw: 3093, -969, 1262, -707, 367, -451, 533, -575, 436, -412|
|23:47:37|[I]|[remote.raw:041]|Received Raw: -1025, 450, -446, 338, -752, 581, -474, 700, -667, 741|
|23:47:37|[I]|[remote.raw:041]|Received Raw: -1042, 718, -342, 1585, -670, 678, -806, 472, -371, 713, -360, 453, -937, 466, -959, 405|
|23:47:37|[I]|[remote.raw:041]|Received Raw:|
|23:47:37|[I]|[remote.raw:041]|Received Raw: 520|
|23:47:37|[I]|[remote.raw:041]|Received Raw: 903, -1134, 474, -452, 420, -454, 357, -416|
|23:47:37|[I]|[remote.raw:041]|Received Raw: -1060, 499, -494, 629, -634, 559, -399, 1280, -457|
|23:47:37|[I]|[remote.raw:041]|Received Raw: 972, -397, 336, -473, 403, -503, 648, -680, 464|
|23:47:37|[I]|[remote.raw:041]|Received Raw: -3391, 672, -456, 418, -410, 467, -347, 445, -604, 490, -511, 373, -480, 346, -270, 790, -321|
|23:47:37|[I]|[remote.raw:041]|Received Raw: 735, -370, 1321, -470, 397, -416, 387, -922, 517, -672, 1785, -738, 742, -446, 383, -684, 471|
|23:47:37|[I]|[remote.raw:041]|Received Raw:|
|23:47:37|[I]|[remote.raw:041]|Received Raw: -732, 372, -445, 333, -313, 378, -454, 307, -768, 572, -252, 438, -456, 386, -469, 686, -469|
|23:47:37|[I]|[remote.raw:041]|Received Raw:|
|23:47:37|[I]|[remote.raw:041]|Received Raw: -603|
|23:47:37|[I]|[remote.raw:041]|Received Raw: 711, -1404, 1432, -474|
|23:47:37|[I]|[remote.raw:041]|Received Raw: 1431, -754, 699, -503, 328, -455, 715, -364, 756, -438|
|23:47:38|[I]|[remote.raw:041]|Received Raw: 2901, -460, 1493, -1316, 860, -501, 1170, -803, 368, -1034, 318, -1064, 637, -636, 667, -300, 314|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -1183, 597, -2019, 458, -331, 800, -506, 339, -784, 505, -1138, 609, -521, 352, -500, 631, -510|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -558, 819, -400, 370, -499, 370, -497, 562, -251, 390, -464, 382, -408, 431, -469, 424, -508, 393, -713, 924, -788, 576, -1108, 346, -1864|
|23:47:38|[I]|[remote.raw:041]|Received Raw: 1990, -517, 3170, -911, 378, -403, 526|
|23:47:38|[I]|[remote.raw:041]|Received Raw: 2029, -437, 1575, -629, 744|
|23:47:38|[I]|[remote.raw:041]|Received Raw: 641, -298, 528, -375|
|23:47:38|[I]|[remote.raw:041]|Received Raw: 977, -397, 435, -417, 471, -298, 479|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -442, 1053, -692, 379, -611|
|23:47:38|[I]|[remote.raw:041]|Received Raw: 1579|
|23:47:38|[I]|[remote.raw:041]|Received Raw: 1011, -760, 403, -440, 928, -789, 440, -1852|
|23:47:38|[I]|[remote.raw:041]|Received Raw: 452, -708, 1024, -459, 326|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -994, 498, -727, 373, -467, 664, -788, 455, -826|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -281, 587, -1148, 453, -1141|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -528|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -876, 536, -477, 640, -473, 474|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -760, 899|
|23:47:38|[I]|[remote.raw:041]|Received Raw:|
|23:47:38|[I]|[remote.raw:041]|Received Raw: -266, 913, -745|
|23:47:39|[I]|[remote.raw:041]|Received Raw: 563, -573, 348, -524, 697, -411, 353, -494, 343, -450, 430|
|23:47:39|[I]|[remote.raw:041]|Received Raw: 610|
|23:47:39|[I]|[remote.raw:041]|Received Raw: -1629, 1162, -530, 381, -480, 370, -376, 345, -546, 906, -479, 339|
|23:47:39|[I]|[remote.raw:041]|Received Raw:|
|23:47:39|[I]|[remote.raw:041]||

Just trying to pickup signal from my 433mhz button remote
What’st the specific protocol for this?

There’s no way for any of us to know that… check with the manufacturer. What protocol were you using when you had it working with Tasmota?

Protocol 1 most likely

Yep, it’s protocol 1 in tasmota

17:30:00.462 RSL: RESULT = {"Time":"2024-09-04T17:30:00","RfReceived":{"Data":"0xF65D04","Bits":24,"Protocol":1,"Pulse":277}}
17:30:04.061 RSL: RESULT = {"Time":"2024-09-04T17:30:04","RfReceived":{"Data":"0xF65D04","Bits":24,"Protocol":1,"Pulse":278}}

Which one should I add in the protocol from this page?

remote_receiver:
  pin: whatever
  dump:
    - rc_switch
  tolerance: 60%
  filter: 4us
  idle: 4ms

Never used esphome for rf. Try this. I believe protocol1 belongs to rc switch. Adjust filter,idle,tolerance .

For sure you can’t filter that out.
So you need to find your protocol
You should try to find the source of those signals, continuous interferences…

1 Like

Thanks, that seems to fix it. No more spams and rf433 signal detected but I do notice it seems to be slightly different each time and not consistant like data ‘‘0xF65D04’’ on tasmota. Is this the part where I have to keep modify filter,idle,tolerance?

07:22:29	[I]	[safe_mode:041]	
Boot seems successful; resetting boot loop counter
07:22:45	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:22:45	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:22:45	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:22:45	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:22:45	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='11110110010111010000010'
07:28:38	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:28:38	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:28:38	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:28:38	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='11110110010111'
07:29:16	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:29:16	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:29:16	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:29:16	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'

As for using it automation, is there an example to enter these multiple lines in the yaml. I noticed these first 3 lines are pretty consistent so I guess I could just these?

Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:22:45	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'
07:22:45	[I]	[remote.rc_switch:261]	
Received RCSwitch Raw: protocol=1 data='111101100101110100000100'

Example taken from esphome receiver page, I’m not sure how to edit the lambda part

remote_receiver:
  ...
  on_rc_switch:
    then:
    - if:
        condition:
          or:
            - lambda: 'return (x.data == 0xE0E0E01F);'  # VOL+ newer type
            - lambda: 'return (x.data == 0xE0E0E01F0);' # VOL+ older type
        then:
binary_sensor:
  - platform: remote_receiver
    name: "button pressed"
    rc_switch_raw:
      protocol:  1
    Code: "'111101100101110100000100"

If add this to esphome then should create binary se sensor in HA that will turn on only but be usable in automations.

Thanks, but since that payload shows up 3 times consecutively.
Wouldn’t it just keep running the same automation thrice with each trigger?
Since I just need to automate relay toggle for each button press

3 times in probably in less than 100ms. You just have to adjust your automation to run in single mode. Depending on how long it takes to complete the automation you may need to put a delay of 100ms or so at the end of it.

Or a debounce filter in esphome yaml

    filters:
      - debounce: 0.3s
1 Like