can I integrate ‘HomeEasy’ 433MHz devices with Home Assistant?

Yes. Below you’ll see how to control HomeEasy devices through Home Assistant and the RFlink receiver/transmitter. (This also controls other manufacturers’ wireless sockets). You’ll be able to create timers and automation to turn things on/off remotely. And with the devices now integrated in a ‘home automation platform’, you’ll be able to use say, music to trigger a socket that controls a disco light.

A simple caution is that if you’re starting out with home automation, today’s wifi sockets and lights offer easier, inexpensive ways to be controlled. This project only happened because I have too much HomeEasy stuff that I wanted to control in Home Assistant.

HomeEasy offered a fascinating range of 433MHz RF-controlled power sockets; light switches; light sockets, ceiling roses and heating controller. There were in/outdoor versions and fancy finishes. Most of the devices were compatible with each other*. If you were an ‘early adopter’ you may have a stack of devices that you can put to use and recycle. For example, I use HomeEasy on some traditional lights because I can glue their paired switch to the bedside table in preference to saying ‘Hey Google …” to control them. I have sockets that Home Assistant switches off and on each day. And I have some distant lights that are in range of an RF switch but out of range of Wifi. I also have a HomeEasy door lock which I might get to open when my phone is ‘home’ – and at £15 that’s extraordinarily good value.

*There are Simple and Advanced protocols – you will find a few exceptions. See or

You need a device to copy and send HomeEasy RF signals

As well as some Home Easy switches and receivers, you need a device capable of listening to and sending out HomeEasy RF signals. Not just any RF transmitter can do that. I found a few that could but my choice was to use a RFLINK device which I assembled with an Arduino Mega for £15 – £20. You can purchase this in one order (here) for twice that price. You then upload the RFLINK software to the device and add lines of code to Home Assistant’s configuration.yaml. See my illustrated project to make the RFLINK device here. See if your socket / garage door gear is on the list of supported devices.

  port: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0
  default: error
# add to the existing logger section
    rflink: debug
    homeassistant.components.rflink: debug
# adds new devices automatically
  - platform: rflink
    automatic_add: true

You need to listen for the signal that can control your receiver device

At this point it might be prudent to not use any RF sensors to achieve some radio silence. The RFLink gadget can ‘hear’ the neighbour’s weather station which will send its readings every few minutes and slightly confuse you. Or not.

In essence you actuate a switch or remote button and hope it appears in Home Assistant’s entity list as a ‘light’. You’ll also hope that the switch can be paired to one of the receivers you want to control. (The exception to this is the ‘door open sensor’ below – your system only need to be able to ‘hear’ when a door is open so no pairing is needed). Most things work, but see the notes under my examples below.

HE200 HE301 HE308 HE305 HE100
HomeEasy transmitters HE301 HE308 HE305 HE100. I had variable success with buttons on the HE200 remote but the HE100 has plenty of buttons to pair with. I couldn’t read the HE301 key fob signal but that doesn’t mean that you couldn’t pair the HE100 remote with the door lock. I couldn’t learn a code from the HE301 PIR
HE304 HE302 HomeEasy
HE304 HE302 These are HomeEasy receivers that you must pair with a button, any button that Home Assistant can learn using RFLINK.
This dimming light switch is a receiver not a transmitter. You simply swap out the traditional light switch to make a controllable tungsten light. These receivers are special and can’t be controlled by the HE200 remote (but a HE100 or HE307 does control it). The HE107 / HE108 switches and HE106 door lock (not shown) use the ‘advanced HomeEasy protocol’.

Find any new ‘lights’ in the Home Assistant list of entities

When Home Assistant is configured with the following (context above) it will create a light entity for every signal that RFLINK can read. The Entities appear in the frontend under Configuration > Entities.

automatic_add: true
Press one HomeEasy button at a time and record the name of the entity for that button. Before giving up that a button can’t be learned, press the button multiple times and wait some seconds.

*The HomeEasy button or switch codes are named eg. newkaku_014cae6c_d which means the RF protocol is NewKaku, the ID is 014cae6c and the SWITCH=d in this case meaning that I pressed button 4. Now that you have a code for a button it’s worthwhile checking the pairing of that button with one of your receivers eg a socket.

Tip: if you find that Home Assistant acquires light entities that you want to be rid of, comment out the rflink light section as below and restart Home Assistant. Then undo that and restart.

# platform: rflink 
# uncomment the above and restart to restore the entities you've configured below. (I suggest that you 
# remove 'automatic add' for normal daily use. 
# automatic_add: true 

The final step is to add the codes to the Home Assistant configuration.yaml reconfiguring the ‘light’ as a ‘switch’. When you restart HA the entities below will be understood as switches and will adopt the names you choose.

 platform: rflink
     name: heunit1 porch light
     name: heunit3socket disco ball
     name: hewhitunit5 door lock
     name: hewhitunit7 garden light
     name: hesocket1 bedside light

Add your switches to automations and dashboards

* A word about RF switch signal codes

You’ll notice that the configuration.yaml has a line to get Home Assistant to log the messages it receives over 433MHz. As we said not every RF signal receiver understands every type of signal although RFlink is able to decode messages from many devices. The messages appear in the log as a string:


Translating the above, each message starts with a couple of characters (perhaps 20 is 20 hex = space) followed by the name of the protocol eg EV1527 or NewKaku; next comes the identity aka serial number of the device in hex (0f52b5h = 1004213 decimal). SWITCH might characterise the type of switch or number it; CMD might be ON or OFF.


2 Responses

  1. Imi Votteler says:

    Great article! I have a couple of homeeasy dimming sockets, do you think this would work with them too?

    • roger says:

      Your dimmable sockets are probably rare things! In this project I was configuring the devices as switches that go on/off. When I configure my dimmer switch above as lights (as below) the brightness can in theory be changed. When I last checked the RFlink compatibility list, dimmers were mentioned.

      I’ll test these and post my result here. However my thoughts are that smart bulbs offer a faster and predictable result.

      Good luck
      – platform: rflink
      # automatic_add: true
      name: porch dimmer

Leave a Reply

Your email address will not be published. Required fields are marked *