RFLink binding

Vincent, I think you should get in touch with the RFLink guys :wink:

The decoding of the RF data is usually done by reverse engineering (or “guessing”). So the received data is analyzed and looked for the binary representation of the expected values (“node-id”, “battery value”, “measurement value” etc.).

If you notice the id is changing for negative values, then very likely the id bits are wrongly guessed (the sign bit to indicate negative values is wrongly considered to belong to the device id).
Therefore you see the id changing…

Though you already found a way to circumvent this flaw, it’s better to get this fixed by the RFLink firmware itself :wink:

The RFLink mainainers have been quite responsive in the past. If you point them to your findings here and provide useful data, I’d expect them to fix it quick :wink:

There have been no update on the RFLink firmware for over a year now…
I am waiting for the next release and then we’ll see

Well, it’s still alive :wink:
Seems, they are quite busy:


Anyway, I’d suggest posting your findings there or get in direct contact to “Stuntteam” :wink:

1 Like

Coolio, will do.

I have RFlink setup and “online” in paper UI. I have my RFlink wired to a NRF24L01 so that I can communicate with Milights.

So far I’ve managed to receive info when I tap a remote.

16:29:02.692 [INFO ] [ig.discovery.internal.PersistentInbox] - Added new thing 'rflink:color:usb0:MiLightv1_14BA_00' to inbox.
16:29:02.694 [INFO ] [smarthome.event.InboxAddedEvent      ] - Discovery Result with UID 'rflink:color:usb0:MiLightv1_14BA_00' has been added.

And they show up in my inbox. So I know hardware is functioning properly.
But if I try to add them as things I get errors.

16:29:49.833 [ERROR] [thome.core.thing.binding.ThingFactory] - Thing factory (class org.openhab.binding.rflink.internal.RfLinkHandlerFactory) returned null on create thing when it reports to support the thing type (rflink:color).

16:29:49.844 [WARN ] [ig.discovery.internal.PersistentInbox] - Cannot create thing. No binding found that supports creating a thing of type rflink:color.

Just not sure where to go from here, I know from the documentation that it says send/receive to milight is possible, but there is not much documentation as to how to accomplish this.

Thanks much.

For milights, I gave up with RFLink and I went this way:

Super easy to set-up and works a charm

1 Like

yeah, thats they way i’m going too, I have an ESP8266 coming this week. gonna set it up. thought maybe there might be some advantages, specifically, since I have a wired ethernet connection to the Pi->RFlink this would eliminate the need for a bridge, as the RFlink can communicate directly with the lights. I was hoping this would be a more direct way, as apposed to having the bridge as the middle man. Looks like it would be a lot of work to figure out via RFlink/openhab. I only wish there was a wired version of the bridge.
Looking forward to working with the RFlink binding anyway for my 433 devices.

Hello everybody,
i am looking for a current compiled version of RFLink binding to download.
Could someone provide that?

Thanks in advance

Is there a rflink binding version working on openhab 2.4 ?

Looking for the best way to use rflink. So, same question: Is there a binding working on Openhab 2.4 ?

Hello there,

I made some changes on the OpenHab 2 RfLink plugin, and added some functionalities on the Somfy RTS Rollershutter management.
Full description & setup is available on the Github :

But in a few words :

  • RTS Thing mapped on a virtual RfLink remote (internal RfLink rollingcode system) can now track the rollershutter position by measuring time between commands nd then guessing the shutter position (you only need to specify the time taken by the rollershutter to move from closed to opened)
  • While moving, the current position of the shutter is displayed (1 update/second)
  • You can order the shutter to move to a specific position (like : 80%). the RfLink plugin will then send an order to move the shutter in the right way, and then send a STOP event once the target position is reached.
  • You can “link” existing physical remotes ids, so that the RfLink plugin is able to track the shutter moves from external orders (i.e. you can mix existing remotes orders with RfLink orders)

it is for Openhab 2.3 for now, I will try to compile it for OpenHab 2.4
(BTW : are there any changes on this side ?)

1 Like

About he 2.4 binding compatibility, I can confirm the RfLink 2.3 “direct” binding (i.e. no MQTT or external scripting) works like a charm on a OpenHab 2.4
(setup : Raspberry Pi 3B+ runnning Raspbian Shelter + Openhab 2.4 installed through Docker)

Installation instructions are available here :

PS : last build also include Discovery support for embedded RTS remotes :


I installed your binding and have got currently only one temperature sensor. I have checked it with domoticz, where RFlink is fully supported, and temperature is read out correctly. I checked there ID, compared it with the frame I received in RFLink Loader (was the same) and used it in things file, but unfortunately in OH temperature is not updated and even not read out at all. Could you help me? I am pasting frame from RFLink loader: 20;06;GlobalTronics;ID=00cd;TEMP=0121;HUM=19;BAT=OK;

I noticed with our garage somfy motor that rflink seems to be sending twice. Result is motor starts open/close but will then stop after a second.

Same result is achieved wirh original remote if button is pressed again.

On next command motor will go the other way but stops again. Is there any limit i can set with either the binding or in the rflink ? Any way to debug whether two commands are actually being sent?

It was the same with the mqtt gateway thus I suspect an issue with rflink itself?!

Hello @AndrewZ. I like your simple setup. Tried it with my Lacrosse temperature device and it work pretty well.

My real goal however is to control my rollershutter. I know the exact string I need to send to RFlink to control it. Could you help me implemented it in OH using your simple serial setup? For example, to start moving the motor in the up position, I need to send the following command to the serial port connected to RFLink: 10;BrelMotor;f377cc;05;UP;

Currently I’m only able to receive an manage information coming from the serial port when I use the remote control of that rollershutter.

The documentation of the serial biding lists examples for this use case: https://www.openhab.org/addons/bindings/serial1/. There is even an example for a rollershutter item.

A simple item to just send a command could look like this, you need to define it in an .items file:

Switch RFCommand “RF Command” { autoupdate=“false”, serial="/dev/ttyUSB0@57600,ON(10;BrelMotor;f377cc;05;UP;\n)" }

Don’t forget the “\n” at the end of the command.

Just perfect! Your example fixed my issue. I merged all the up, down and stop command in the Rollershutter item as you proposed.
One more question about serial link: I don’t know why but the RFLink board is not detected always at the same port. At reset, sometimes RFLink board is linked at /dev/ttyUSB0 and sometimes at /dev/ttyAMA0.

I need to switch item files fromt time to time. Curiously, I have a X10 transceiver, a Milight transceiver and a Zwave stick hookup on the same Raspberry controller and those piece of hardware stayed at the same port all the time. Do you have an idea what cause this issue?

I don’t know what causes this issue.
But you should be able to avoid it by assigning names/aliases to the devices.
See the third bullet point of the section “Linux” here: https://www.openhab.org/docs/administration/serial.html

This is very strange… but I think it could be solved easily using device aliases
like this : https://www.domoticz.com/wiki/PersistentUSBDevices

So :
1> create a rule to create an alias named tty_RfLink (for instance)
2> refer to this tty_Rflink in your OpenHab configuration
3> enjoy :slight_smile:

I did some testing with the RFlink binding on 2.5 M4 and 2.5 M5 in both versions I had issues getting the binding to go online after startup, it was working if the bridge was enabled after openhab had started up.
Read the post here
Did anybody else experience the same thing ?