How to add an RF button as a device in HA - via Broadlink?

I’ve got myself an RF button. I’d like to know the simplest way for HA to recognise it, so I can trigger automations. It seems to me this must be for HA to recognise the button as a device, but I may be wrong.

I have a Broadlink RM4 Pro, and know how to use remote.learn_command/send_commands. I have Hue and J-Wave buttons that work, that SEND to the Broadlink hub - all good.

The Broadlink app sees my RF button, but the button doesn’t appear anywhere else, as a device or entity.

Given that the Broadlink hub receives RF signals, to learn them, I’m confused.

Any help welome :slightly_smiling_face:

Probably by creating a script to send your learnt command-

If there is no integration HA will never see the RF button itself - only the Broadlink. The best you can do is create something to represent the button in HA, either a switch or an input_boolean, so that other parts of HA can react to its state.

If your button toggles on and off, this is a particular problem - if it is physically pressed it will get out of sync with HA and turning your switch to on will set the button to off. If possible you need to set up different Broadlink commands for on and off.

I create switches in HA to send the commands.

Here is the config for my ceiling fan remote buttons:

switch:
  - platform: broadlink
    mac: <my broadlink mac address>
    switches:
      - name: "Master Bedroom Light RF"
        command_on: sgB4Ag4NDQ0NDQ4MDgwODQ0NDQ0ODA4NDQ0NqhsNDRobDA4aDRobDA4aGwwbDA4aGwwOGRsNDRobDA4aDRobDA4aDRobDRoNDhkOGQ4aDhkOGhoNDhkOGhoNGwwbDRoNDhkbDRoNGw0NGhoNGwwOGg0aDhoaDQ0aDhkOGg0aDhkOGg0aDhkbDRsMGw0NGhsMGw0aDRsMGw0aDRsMGw0NAANJDgwODA4NDQ0NDQ4MDg0NDQ0NDgwODA6qGwwOGhsMDhkOGhsMDhkbDRsMDhkbDQ0aGw0NGhsMDhoNGhsMDhoNGhsMGw0NGg4ZDhoNGg4ZGw0NGg4ZGw0aDRsMGw0NGhsMGw0aDQ4ZGw0bDA4ZDhoNGhsMDhoNGg4aDRoNGg4aDRoOGRsNGg0bDA4aGg0bDBsNGg0bDBsNGg0bDA4AA6YNDQ4MDgwODQ0NDQ0ODA4MDg0NDQ4MDqobDA4ZGw0NGg4ZGw0NGhsNGg0OGRsNDRobDA4aGg0OGQ4aGg0OGQ4aGg0bDA4aDRoOGQ4aDRobDA4aDRobDRoNGwwbDQ0aGwwbDBsNDRobDBsNDhkOGg0aDRoOGg0aGwwOGg0aGwwbDQ0aGwwbDRoNGwwbDRoNDhoaDRoNDhkOGhoNDgADSQ0NDQ0NDQ0ODQ0NDQ0NDQ0ODQ0NDQ0OqhoNDRsaDQ0aDRsaDQ0aGg0bDQ0aGg4NGhoNDRsaDQ0aDhoaDQ0aDRsaDRoNDRsNGg0aDhoNGhsMDRsNGhoNGw0aDRoNDhoaDRsNGg0NGhoNGw0NGg0aDhoNGg0bDRoaDQ0bDRoaDRoODRoaDRsNGg0aDRsNGg0NGhsNGg0NGg4aGg0NAAXc
        command_off: sgB4Ag4NDQ0NDQ4MDgwODQ0NDQ0ODA4NDQ0NqhsNDRobDA4aDRobDA4aGwwbDA4aGwwOGRsNDRobDA4aDRobDA4aDRobDRoNDhkOGQ4aDhkOGhoNDhkOGhoNGwwbDRoNDhkbDRoNGw0NGhoNGwwOGg0aDhoaDQ0aDhkOGg0aDhkOGg0aDhkbDRsMGw0NGhsMGw0aDRsMGw0aDRsMGw0NAANJDgwODA4NDQ0NDQ4MDg0NDQ0NDgwODA6qGwwOGhsMDhkOGhsMDhkbDRsMDhkbDQ0aGw0NGhsMDhoNGhsMDhoNGhsMGw0NGg4ZDhoNGg4ZGw0NGg4ZGw0aDRsMGw0NGhsMGw0aDQ4ZGw0bDA4ZDhoNGhsMDhoNGg4aDRoNGg4aDRoOGRsNGg0bDA4aGg0bDBsNGg0bDBsNGg0bDA4AA6YNDQ4MDgwODQ0NDQ0ODA4MDg0NDQ4MDqobDA4ZGw0NGg4ZGw0NGhsNGg0OGRsNDRobDA4aGg0OGQ4aGg0OGQ4aGg0bDA4aDRoOGQ4aDRobDA4aDRobDRoNGwwbDQ0aGwwbDBsNDRobDBsNDhkOGg0aDRoOGg0aGwwOGg0aGwwbDQ0aGwwbDRoNGwwbDRoNDhoaDRoNDhkOGhoNDgADSQ0NDQ0NDQ0ODQ0NDQ0NDQ0ODQ0NDQ0OqhoNDRsaDQ0aDRsaDQ0aGg0bDQ0aGg4NGhoNDRsaDQ0aDhoaDQ0aDRsaDRoNDRsNGg0aDhoNGhsMDRsNGhoNGw0aDRoNDhoaDRsNGg0NGhoNGw0NGg0aDhoNGg0bDRoaDQ0bDRoaDRoODRoaDRsNGg0aDRsNGg0NGhsNGg0NGg4aGg0NAAXc
      - name: "Master Bedroom Fan 1 RF"
        command_on: sgA8AQ4NDQ0NDQ4MDgwODQ0NDgwODA4NDQ0NqhsNDRobDA4aDhkbDQ0aGwwbDQ0aGg0OGhoNDhkbDQ0aDhkbDQ0aDhkbDRoNDhkOGg0aDhkOGhoNDhkOGhsMGwwbDRsMDhkbDRsMGw0NGhsMGw0NGg4ZDhoNGg4ZDhoNGg4ZDhoNGhsMDhoaDRsMGw0aDRsMGw0aDRsMGw0bDA4ZGw0NAANJDgwODQ0NDQ0ODA4MDgwODQ4MDgwODQ2qGwwOGhoNDhkOGhsMDhoaDRsMDhkbDQ4ZGwwOGhsMDhoNGhsMDhkOGhsMGw0NGg4ZDhoNGg4ZGw0NGg4ZGw0bDBsNGg0OGRsMGw0bDA4ZGw0bDA4ZDhoOGQ4ZDhoOGQ4aDRoOGQ4ZGw0OGRsNGg0bDBsNGg0bDBsNGwwbDBsNDRobDA4ABdwAAAAAAAAAAAAAAAA=
        command_off: sgA8AQ4NDQ0NDQ4MDgwODQ0NDgwODA4NDQ0NqhsNDRobDA4aDhkbDQ0aGwwbDQ0aGg0OGhoNDhkbDQ0aDhkbDQ0aDhkbDRoNDhkOGg0aDhkOGhoNDhkOGhsMGwwbDRsMDhkbDRsMGw0NGhsMGw0NGg4ZDhoNGg4ZDhoNGg4ZDhoNGhsMDhoaDRsMGw0aDRsMGw0aDRsMGw0bDA4ZGw0NAANJDgwODQ0NDQ0ODA4MDgwODQ4MDgwODQ2qGwwOGhoNDhkOGhsMDhoaDRsMDhkbDQ4ZGwwOGhsMDhoNGhsMDhkOGhsMGw0NGg4ZDhoNGg4ZGw0NGg4ZGw0bDBsNGg0OGRsMGw0bDA4ZGw0bDA4ZDhoOGQ4ZDhoOGQ4aDRoOGQ4ZGw0OGRsNGg0bDBsNGg0bDBsNGwwbDBsNDRobDA4ABdwAAAAAAAAAAAAAAAA=
      - name: "Master Bedroom Fan 2 RF"
        command_on: sgA8AQ4MDg0NDQ4MDg0NDA4NDQ0ODA4MDg0NqhsNDRobDA4ZDhobDA4ZGw0bDA4ZGw0OGRsNDRobDA4ZDhobDA4aDRobDBsNDhkOGQ4aDRoOGRsNDhkOGhoNGwwbDBsNDhkbDBsNGwwOGRsNGwwOGQ4aDRoOGQ4aDhkbDQ0aDhkOGg0aDhkbDRsMGwwbDRsMGwwOGhsMGwwbDRsMGw0NAANJDgwODA4MDg0NDQ4MDgwODQ0NDgwODA6qGwwOGRsNDhkOGRwMDhkbDRsMDhkbDQ0aGwwOGhsMDhkOGhsMDhoNGhsMGwwOGg4ZDhoNGg4ZGwwOGg4ZGwwbDRsMGw0NGhsMGwwbDQ4ZGw0aDQ4ZDhkOGg4ZDhoNGhsMDhoNGg4ZDhoNGhsMGw0bDBsMGw0bDA4aGg0bDBsMGw0bDA4ABdwAAAAAAAAAAAAAAAA=
        command_off: sgA8AQ4MDg0NDQ4MDg0NDA4NDQ0ODA4MDg0NqhsNDRobDA4ZDhobDA4ZGw0bDA4ZGw0OGRsNDRobDA4ZDhobDA4aDRobDBsNDhkOGQ4aDRoOGRsNDhkOGhoNGwwbDBsNDhkbDBsNGwwOGRsNGwwOGQ4aDRoOGQ4aDhkbDQ0aDhkOGg0aDhkbDRsMGwwbDRsMGwwOGhsMGwwbDRsMGw0NAANJDgwODA4MDg0NDQ4MDgwODQ0NDgwODA6qGwwOGRsNDhkOGRwMDhkbDRsMDhkbDQ0aGwwOGhsMDhkOGhsMDhoNGhsMGwwOGg4ZDhoNGg4ZGwwOGg4ZGwwbDRsMGw0NGhsMGwwbDQ4ZGw0aDQ4ZDhkOGg4ZDhoNGhsMDhoNGg4ZDhoNGhsMGw0bDBsMGw0bDA4aGg0bDBsMGw0bDA4ABdwAAAAAAAAAAAAAAAA=
      - name: "Master Bedroom Fan 3 RF"
        command_on: sgA8AQ4MDgwODQ0NDgwODA4NDQ0NDQ4MDg0NqhsMDhobDA4ZDhobDA4ZGw0bDA4ZGw0OGRsMDhobDA4ZDhobDA4ZDhobDBsMDhoOGQ4ZDhoOGRsNDRoOGRsNGg0bDBsNDRobDBsNGwwOGRsNGwwOGQ4aDRoOGQ4aGwwOGQ4aDhkOGQ4aDhkbDBsNGg0bDBsNDhkbDBsNGwwbDBsNGwwOAANJDQ0ODA4NDQ0NDQ0NDgwODA4NDQ0ODA6qGg0OGRsNDRoOGRsNDhkbDBsNDhkbDA4aGwwOGRsNDhkOGhoNDhkOGhoNGwwOGQ4aDRoOGQ4aGwwOGg0aGwwbDRoNGwwOGhsMGw0aDQ4ZGwwbDQ0aDhkOGg0aDhkbDQ4ZDhkOGg4ZDhkOGhsMGw0aDRsMGw0NGhsMGw0aDRsMGw0bDA0ABdwAAAAAAAAAAAAAAAA=
        command_off: sgA8AQ4MDgwODQ0NDgwODA4NDQ0NDQ4MDg0NqhsMDhobDA4ZDhobDA4ZGw0bDA4ZGw0OGRsMDhobDA4ZDhobDA4ZDhobDBsMDhoOGQ4ZDhoOGRsNDRoOGRsNGg0bDBsNDRobDBsNGwwOGRsNGwwOGQ4aDRoOGQ4aGwwOGQ4aDhkOGQ4aDhkbDBsNGg0bDBsNDhkbDBsNGwwbDBsNGwwOAANJDQ0ODA4NDQ0NDQ0NDgwODA4NDQ0ODA6qGg0OGRsNDRoOGRsNDhkbDBsNDhkbDA4aGwwOGRsNDhkOGhoNDhkOGhoNGwwOGQ4aDRoOGQ4aGwwOGg0aGwwbDRoNGwwOGhsMGw0aDQ4ZGwwbDQ0aDhkOGg0aDhkbDQ4ZDhkOGg4ZDhkOGhsMGw0aDRsMGw0NGhsMGw0aDRsMGw0bDA0ABdwAAAAAAAAAAAAAAAA=
      - name: "Master Bedroom Fan 0 RF"
        command_on: sgB4Ag4NDQ0ODA4NDQ0NDQ4MDgwODQ0NDgwOqhoNDhkbDQ0aDhkbDQ0aGwwbDQ0aGwwOGhsMDhoaDQ4ZDhoaDQ4ZDhoaDRsMDhoNGg4ZDhoNGhsMDhoNGhsMGw0aDRsMDhoaDRsMGw0NGhsMGw0NGg4aDRoNGg4ZDhoNGg4aDRoNGg4aGg0bDBsNGg0bDBsNGg0bDBsNGg0bDBsNDRoOAANIDgwODQ0NDgwODA4NDQ0ODA4MDg0NDQ2qGw0NGhsMDhoNGhsNDRobDBsMDhobDA4aGg0OGRsNDRoOGRsNDRoOGRsNGg0OGQ4aDRoOGQ4aGg0OGQ4aGg0bDBsNGg0OGRsNGwwbDA4aGwwbDQ0aDRoOGQ4aDhkOGQ4aDhkOGg0aDhkbDRoNGwwbDRoNGwwbDRoNGwwbDRoNGwwOGg0AA4QODQ0NDQ0ODA4MDg0NDQ4MDgwODQ0NDaobDQ0aGwwOGg0aGwwOGhsMGw0NGhsMDhkbDQ4ZGw0NGg4ZGw0NGg4ZGw0aDQ4ZDhoNGg4ZDhoaDQ4ZDhoaDRsMGw0aDQ4ZGw0bDBsMDhobDBsMDhoNGg4ZDhoNGg4ZGw0OGQ4aDRobDA4aGg0bDBsNGg0bDBsNDRobDBsNGg0OGRsNDQADSQ4MDgwODQ0NDgwODA4NDQ0ODA4MDg0NqhsMDhobDA4aDRoaDQ4aGg0bDA4aGg0OGRsNDRobDA4aDRobDA4aDRobDBsNDRoOGg0aDRoOGRsNDRoOGRsNGwwbDRoNDRobDBsNGwwOGhoNGwwOGg0aDRoOGg0aDhkbDQ0aDhoNGhoNDhoaDRoNGwwbDRoNGw0NGhoNGwwbDQ0aGwwOAAXc
        command_off: sgB4Ag4NDQ0ODA4NDQ0NDQ4MDgwODQ0NDgwOqhoNDhkbDQ0aDhkbDQ0aGwwbDQ0aGwwOGhsMDhoaDQ4ZDhoaDQ4ZDhoaDRsMDhoNGg4ZDhoNGhsMDhoNGhsMGw0aDRsMDhoaDRsMGw0NGhsMGw0NGg4aDRoNGg4ZDhoNGg4aDRoNGg4aGg0bDBsNGg0bDBsNGg0bDBsNGg0bDBsNDRoOAANIDgwODQ0NDgwODA4NDQ0ODA4MDg0NDQ2qGw0NGhsMDhoNGhsNDRobDBsMDhobDA4aGg0OGRsNDRoOGRsNDRoOGRsNGg0OGQ4aDRoOGQ4aGg0OGQ4aGg0bDBsNGg0OGRsNGwwbDA4aGwwbDQ0aDRoOGQ4aDhkOGQ4aDhkOGg0aDhkbDRoNGwwbDRoNGwwbDRoNGwwbDRoNGwwOGg0AA4QODQ0NDQ0ODA4MDg0NDQ4MDgwODQ0NDaobDQ0aGwwOGg0aGwwOGhsMGw0NGhsMDhkbDQ4ZGw0NGg4ZGw0NGg4ZGw0aDQ4ZDhoNGg4ZDhoaDQ4ZDhoaDRsMGw0aDQ4ZGw0bDBsMDhobDBsMDhoNGg4ZDhoNGg4ZGw0OGQ4aDRobDA4aGg0bDBsNGg0bDBsNDRobDBsNGg0OGRsNDQADSQ4MDgwODQ0NDgwODA4NDQ0ODA4MDg0NqhsMDhobDA4aDRoaDQ4aGg0bDA4aGg0OGRsNDRobDA4aDRobDA4aDRobDBsNDRoOGg0aDRoOGRsNDRoOGRsNGwwbDRoNDRobDBsNGwwOGhoNGwwOGg0aDRoOGg0aDhkbDQ0aDhoNGhoNDhoaDRoNGwwbDRoNGw0NGhoNGwwbDQ0aGwwOAAXc

Do these work?

@Stiltjack I’m sure you’re right - that HA needs to have an integration (and any relevant hardware), to receive the RF signal from my physical button (image below). I can do the rest. For clarity:

  1. This is not about sending signals/commands from HA - that’s simple enough.
  2. This is about sending RF signals to HA.
  3. I have Hue, Zigbee and JS-Wave. Each recognises buttons as devices in HA - so I can run automations.
  4. I had hoped that Broadlink would work the same way, given it can receive RF signals via remote.learn_command.
  5. Am still googling for answers… and trying not to end up with another hub.
  6. Any more thoughts?

image

Yup.

If they didn’t I wouldn’t have posted them here. :wink: :laughing:

1 Like

No Broadlink doesn’t work like that.

the learn command just sets up a temporary receive function just long enough to capture the signals (I think from memory it’s only 60 seconds or so).

It’s never continuously able to receive signals, tho.

there is this but I’ve nerver actually tried it:

Thanks. I can see various RF receiver hardware options online, but to avoid adding more hardware, I’ll stick to Hue/Zigbee/JS-Wave.

Can’t help thinking Broadlink are missing a trick. Onwards/upwards!

1 Like

Hello! Did you ever find a solution for that???
I am going through the same issue… Bought a 3-gang RF switch to install outside the house and got the codes learnt, all the same story as yours… Zigbee fine, hue, etc etc…
But just can’t believe that there is no “device” or entity to have the status changed on/off.
Please let me know if you sorted it out!
Tkssss!!

Hi there. Well, the solution for me was to get a Sonoff RF bridge (it works with the eWelink app). Not expensive, but yeah - yet another piece of hardware, yet another app with yet another online account needed, yet another HA integration.

That allowed me to add a bunch of 3-gang switches, which is all I needed, so I left it there. I can’t recall if I tried the Sonoff bridge with other buttons - you need to google what’s compatible I think. Happy to send images/screen grabs of what I have if you wish.

Good luck!

I know this is much later but I have just got the same point as you did. I have my switches learnt etc. and set up in the config.

Being new to HA I’m now wondering how to get these used in, say, an automation. There is no unique_id allowed for each switch so I guess I need to create some virtual switch(?) to get this working. Any pointers would be great, thanks

I’m not sure what you mean…?

you don’t need a unique_id to use the switches you created. Just use the created switch entity directly the automations.

Maybe posting an example would help understand the issue you’re having.

Sorry - work and kids drain what little time I have these days.
Here is my config:

switch:
  - platform: broadlink
    mac: 34:ea:34:e4:81:9a
    switches:
      - name: Twigs
        command_on: sg0yAAcSBxIHE...
        command_off: sgkyAAcTBhMGE...
      - name: Lattice
        command_on: sgYyAAcSBxIHEg...
        command_off: shwyAAgSCBIIEgcSBx...

I was hoping that I could then access the Twigs as a switch (device) rather than what I believe needs to be a service. It appears on the dashboard as a switch, which is probably why I was under that impression. I need to familiarise myself a bit more with the concepts of services and entities…

It’s generally not good practice to use device triggers/conditions/actions for various reasons which have been talked about in other threads on the forum (even tho they are officially from HA devs).

you can easily use the switch services in automations actions:

- service: switch.turn_on
  entity_id: switch.twigs

or

- service: switch.turn_off
  entity_id: switch.lattice