Sonoff RF Bridge with Tasmota, how to compile Portisch firmware

I recently picked up a Sonoff RF bridge with the intent to capture sensor signals and relay onto MQTT via WiFi. I have Tasmota installed, but since it only can decode 24 bit codes, I need to install Portisch’s firmware. I’m a bit stuck in that something that seems simple isn’t documented (that I can find) and so I can’t proceed.

In order to compile Portisch firmware for the EFM8BB1 chip I need to compile via Simplicity Studio 4. I have installed registered for and account and installed the tool, but I’m not seeing any options for how to load the repository project. I see post here about questions regarding how to update the firmware to include new devices, so some people are clearly sucessfully compiling. Any suggestions on where I went wrong would be appreciated.

I know I could post on the project GitHub page as an issue, but I don’t know how quickly that would be responded to. It’s also not exactly a Portisch related question, so I wasn’t sure if it would be appropriate. Anyway, thanks in advance!

I’m a little surprised I haven’t seen even a single reply. I have successfully flashed the included Portisch firmware to the Sonoff bridge, but I haven’t figured out how to get Simplicity Studio to read in the project.

Also, I know I should be using rfraw to detect codes but I’m not sure where the official guide for how to use the rfraw command is located. It’s part of the Tasmota package but Portisch firmware gets updated by the resulting decoded packets. I’m just learning this so a one line “follow this link” would be sufficient to point me in the right direction. I know others are using this as they are far beyond where my questions start.

I just got an RF Bridge yesterday and followed the guide on the Tasmota wiki here which includes the instructions for updating to the Portisch firmware.
I just downloaded the most recent already compiled Portisch firmware here

I didn’t compile my own. I haven’t done anything with my RF bridge yet but everything updated without an issue.

1 Like

That’s one of the many guides I looked at. It’s the one I used in the end to get the firmware updated. I didn’t modify the board by cutting traces. Instead I powered the board by the programmer when flashing the firmware update.

That said, I haven’t figured out how to sniff packets yet. That’s partly because the hub doesn’t seem all that stable for me. It shows up on the network for a while and then goes away. The lights are still on, but I can’t connect to it.

I didn’t cut the traces either and powered it by the FTDI also.
I haven’t had time to try and sniff any packets either but the hub itself has been super stable. It has connected to my wifi and has been up for about a week with no issues.
Maybe try reinstalling the Tasmota firmware and redoing your wifi connection.

I reinstalled Tasmota and it doesn’t seem to have reset the wifi settings. I posted a the github issue but it was closed saying o have to ask in their chat area.

Have a look at the portisch wiki.

To start sniffing go to the console and run rfraw 177

Thanks, I’ll give that a try once I get the hub up and running again. It’s acting bricked ATM, so I have to get a valid Tasmota before I worry about RF.

Although a bit painful, I was able to reflashed using NodeMCU PyFlasher and now have access to the hub. After switching to rfraw 177 I saw several messages from my Acurite 00592TX thermometer. I’ll have to verify the data makes sense and figure out how to decode it with HA. I already know the encoding, it’s just a matter of getting the data converted and into HA now!

Come to think of it, I don’t know if the code is Acurite or not. I’ll have to see what the timings are before I confirm that as I expected I’d have to compile my own version of Portisch eventually. Either way it’s seeing RF which is the first step!

I’m seeing a lot of RF traffic, but I can’t seem to get to run. I don’t have Python on my PC and the script won’t run on either my RPI1 or RPi3. I’ll have to try some other things I guess.

Did you get any further here? I am trying to get the rf bridge up and running with acurite sensors as well.

I tried getting help from portisch’s github with an issue, but he closed it. I suppose I could open a new one, but I get the feeling he wasn’t interested in helping. Since I can’t get the compiler to work with the repository, all I can do is capture RF and ask for help…which didn’t happen.

@bkenobi, last night I managed to install Simplicity Studio in Windows and compile the project. If you still need it I may be able to help you through the process.

I’m not sure OP is still interested in subject, but I will be glad if you can help me through the process. I have sonoff brigde with tasmota flashed, and now I’m planning to add portisch firmware, to read my projector screen remote. Where should I start Master ? :slight_smile:

Hello Yonguelle,

What I meant is that I would be able to help installing Simplicity Studio and compiling the project after definitions were made for including new protocols.

If I understood well you want to flash the firmware to your sonoff bridge. In that case the process is well documented in several places, specially in tasmota documentation. I’m not sure if there’s anything I can add. Check here:

It’s important to check if your device is already supported by Portisch firmware. If not, the process goes much further than simply flashing. You’ll have to either find documentation about the protocol your device uses, or sniff it using a special command in Portisch. Than decode it, include it in supported protocols, compile everything and flash again. And this process can demand several iterations until you can make it work. I am myself in the middle of this now to include the protocol used by my Lacrosse temperature & humidity sensors, with partial sucess only.

Try to flash the firmware and check if the bridge will receive commands from your controller. In case you get stuck share it here and I’l try to help you.

I haven’t touched this in months. I would like to get my weather station working, but I believe compiling the firmware would be an obvious first step. If there’s a guide you could provide to installing the compiler and successfully building the project, I’d be interested in trying to repeat your steps.

Hello Thermseekr,
Thanks for your response

I managed to flash portisch firmware :slight_smile:

Now I have a question how to set up my remote. I entered rf raw 177 in the console as in instruction, and push a few times button on my remote. I get:

20:21:42 MQT: tele/RF_Bridge/RESULT = {“RfRaw”:{“Data”:“AA B1 04 021C 0104 008C 0294 381A0A 55”}}

20:21:44 MQT: tele/RF_Bridge/RESULT = {“RfRaw”:{“Data”:“AA B1 04 023A 00FA 00A0 0280 381A0A 55”}}

20:21:46 MQT: tele/RF_Bridge/RESULT = {“RfRaw”:{“Data”:“AA B1 04 0230 0104 0096 028A 381A0A 55”}}

now I convert it on the site: and I get:

AA B0 0D 04 08 023A 00FA 00A0 0280 381A0A 55

and what next? How to send signal to my device to check if the code works properly? :smiley:
and later… how to send this signal via hassio?

when I try converted signal by typing:

20:58:24 CMD: rfraw AAB00D040802260104008C0294381A0A55
20:58:24 MQT: stat/RF_Bridge/RESULT = {“RfRaw”:“ON”}
20:58:24 MQT: tele/RF_Bridge/RESULT = {“RfRaw”:{“Data”:“AAA055”}}

nothing happens… :frowning:


after a few tries I managed to get working codes ! :smiley:
For future, what I did:

  1. after flashing portish firmware, go to console and type rfraw 177
  2. quickly press button on the remote a few times
  3. type rfraw 0 to disable sniffing
  4. choose code that shows a few times
  5. convert it on site:
  6. to check if it works type in the console: rfraw your converted code

But now how to send them through hassio to ? For example, I have working code:

rfraw AA B0 49 03 08 0230 00A0 1464 A081908190909081819090909090909090819081819090818190819081909090819090909090909081909090909090909090819090909081819081909081909090 55

how to send it from hassio to rf bridge? So I can use it in automation?

@bkenobi and @Yonguelle I’m sorry I’ve been very very busy the last weeks and couldn’t touch this anymore. Will return as soon as possible.

You should be able to send it as an MQTT command:

service: mqtt.publish
  topic: 'cmnd/RFBridgeTopic/RFRAW'
  payload: 'AA B0 49 03 08 0230 00A0 1464 A081908190909081819090909090909090819081819090818190819081909090819090909090909081909090909090909090819090909081819081909081909090 55'
1 Like