Sonoff RF Bridge with ESPHOME?

Yes, it is required. As it was mentioned before, ESP8266 on Sonoff RF Bridge actually don’t have RF modules connected. So you cannot control them with ESPHome as they are absent. WIth this hack you are manually connecting the RF components to ESP8266.

TASMOTA works with RF through EFM8BB1 microcontroler, so no modifications needed. I heard, that EFM8BB1 firmware is pretty limited, don’t see some remotes, and in such case you cannot change this.
With ESPHome (and the hack) I also modified RF protocol later to get it working with on of the remotes (which ESPHome don’t support).
Here how it was:

I use Sonoff RF Bridge and I have RF remote (standard Sonoff 4 buttons portable remote) which use 256us pulse length with {1, 31}, {1, 3}, {3, 1} pattern, so remote_receiver don’t see signals from it. Actually, it can see signals if tolerance is 40% or higher (when 350us and tolerance 40% the error cover 256us range, as I found), but then there are a lot of garbage signals.

I tried to modify rc_switch_protocol.cpp & rc_switch_protocol.h and add additional protocol pattern to array with 256us pulse length and works good, clean signals and immediate response (also in rc_switch.cpp: RCSwitchDumper array length should be adjusted too, i < sizeof(rc_switch_protocols); )

Also, I found, that default values for remote_receiver: filter: 10us and idle: 10ms or higher works really bad - logs are overloaded with “Data is coming in too fast!” and device not recognize most of the codes. With filter: 1us and idle: 1ms all works fine, a lot of correct signals. And to debounce the buttons I use binary_sensor: filters: - delayed_off: 100ms.

PS: filter: 4us and idle: 4ms even better, more signals can be read from different remotes.

4 Likes