New way get Broadlink Bestcon wall switch RF code TC2S Tc1S Rm4Pro cloud off

Hello Community.
Bought some TC2S and TC3S wall socket switches
aka 2 gang , 3 gang without N line. And then manage to integrated with hassio
I’m in Thailand so we used US Model anyway this way work 100%
Googled around how to inject RF BASE64 OR Hex.
From wall switches but every methods only support Rm3 , rm3pro . Many users face the same problem. But this methods work 100% TC2S or TCxS series seem to be a low cost and rename to Bestcon (IMHO)

Preparing
1. SSL injection https you may use Proxyman,
Debookee, Charles.
2. Smartphone broadlink app that already paired
and working.
3. Create your scene with whatever trigger but
actions gonna be our RF button. (this can add
more than 10 actions so add in one time. (eg.
Bedlight-On, stairslight-On )
4. Then go to Account tab click > manage homes
> click my home that we just configured
above > Manage members > until you found
Family QR code , you may save and we’re
done.

Injection.
This is a tricky way but work. So open Chalres on PC, Mac then setup proxy on your smartphone to be monitor with Chalres (please google it ) Once you see http request from broadlink app
Close Broadlink app and open IHC app > sign in with the same broadlink account.
Navigate to family home name , sample click some
Button and watching for path
/ec4/v1/family/getfamilyversioninfo

All your dumb code is here just convert to hassio way hope this help.

Many thanks for the tips.
Was struggling to work with the bestcon switches for the longest time :joy:

Hi @nuieskater, thanks for the tips.
Recently bought the tc2s switch but no way to get it to work in Hass. Followed your steps above, however I not clear about step 4, where to use that QR code after we save? I tried to create scene in new broadlink app as per your step and open IHC to execute the scene that created in new app. But seems IHC not support tc2s switch, it always failed to execute the scene and cannot bring to correct path. Do you have any idea?

Actually no need to use QR Code. You just need to create scenes involving your TC2S switches in the Broadlink app. When you login with the same broadlink account in the IHC app, it will download all your scenes (which you can view using Charles) which will contain the codes in Hex. Convert them to base64 and you will be able to use them in home assistant.

@ymloh thanks for the explanation.

Yes. I did the same as per your described. However, when I access the scene in IHC app, I failed to execute the scene that I created in Broadlink new app and due to this that I noticed in Charles that I receive different path without correct codes. Please see attached.


@Wesleywong: Like it says in the opening post: look for path like /ec4/v1/family/getfamilyversioninfo. It appears in a request BEFORE the ones you are showing.

I was so excited when I read this, because I have 2 1-gang and 1 2-gang switch in my house, that I’d love to automate with HA.
At first I couldn’t get it to work as I was trying to send commands using node-red RM broadlink node.
I found out later that that node doesn’t send RF codes (yet).
Switched to just a simple “call service node” and now it works flawlessly :slight_smile:

Is there any possibility for you to elaborate how you make it working?
What do you mean with “call service node”?

Here you can see that I done a lot of stuff with no success with the TC2: Broadlink RM-PRO and TC2 switch

Any sugestions are more than welcome.
Thank you.

I just did exactly like it says in the opening post, so just follow those steps…
Oh, but forget about the QR code stuff, that’s not relevant.
So basically:

  • get a network sniffing tool on your PC like Proxyman working with SSL enabled (search on google if you don’t know how)
  • make all wall switches working with the default Broadlink app on your phone
  • make seperate scenes in that app for every wall switch that you have (the scenes making is the important part)
  • install the old IHC app (also from Broadlink) on your phone
  • close the Broadlink app, start sniffing network from PC, start the IHC app
  • log in with your Broadlink account into the IHC app (same account as with the Broadlink app)
  • look in the logs from your sniffer for where the IHC app imported the scenes you made earlier
  • convert the code to base64 to use in HA with remote.rm4 service calls to test

Don’t try to skip steps and you’ll be fine…

1 Like

Thank you very much for your fast reply. I will start working on all steps as you described and let you know if I will manage to make it working.

Thank you for the details! It worked exactly as you said:

  • I used Fiddler Classic as sniffing tool on Windows 10
  • Used the Broadlink Manager running on PI for HEX to B64 conversion and also for testing each code.

Overall, very time consuming exercise and I guess this need to be done again if for some reason the TC2’s will reset and need to be added again. Anyway, slowly I will look to move away from Broadlink as some of the switches starting to not behave that well (sometimes goes on or off by themselfs, some of the 2 gang can’t have both gangs on in the same time, limited power with max 200W and so on)

Hi guys,
Tried the solution but the Charles sniffer didn’t show any /ec4 paths only /ec3. I think it’s because my accounts are not synced. I created account via IHC but can’t login to the broadlink app with it (neither of the 3 servers). So, how did you get it to work?

Hi guys, for anyone interested: I managed to control my broadlink tc1 and tc2 from a different approach, it may not be the most effective, but it works and is easy enough, you need to have previously set up your broadlink switch on Google home… most complicated part is that you need to set an SDK integration so you can send text commands to Google assistant (look it up un google, takes about 5-10 minutes). After getting that done, I created a toggle helper that activated a script that told google assistant to turn on/off the switch. The following code is from my script.

alias: Spots Comedor
sequence:
  - if:
      - condition: state
        entity_id: input_boolean.spots_comedor
        state: "on"
    then:
      - service: google_assistant_sdk.send_text_command
        data:
          command: Apaga los spots comedor
      - service: input_boolean.turn_off
        data: {}
        target:
          entity_id: input_boolean.spots_comedor
    else:
      - service: google_assistant_sdk.send_text_command
        data:
          command: Prende los spots comedor
      - service: input_boolean.turn_on
        data: {}
        target:
          entity_id: input_boolean.spots_comedor
mode: single
icon: mdi:silverware-fork-knife