External integration - RFlink

Hello,

I just launched Claude on the RFlink integration following the message from @elfedagger. Like him, I have fewer and fewer devices being relayed by Node-RED.

I only have one device on this protocol and it’s read-only. It’s a motion detector. I’d be happy to hear your feedback for testing.

I’ll provide the information for testing as soon as it’s ready.

A first version of the integration is available. I tested it on my installation with a single motion detector and was able to test it with my neighbors’ devices (doorbell and temperature sensors). At this stage, everything works well.

The integration: GitHub - PhilippeMA/gladys-RFlink: Gladys Assistant external integration to read and control RFlink devices. (accès anticipé BETA : DEV en cours) · GitHub

Prerequisites for exposing the RFlink gateway to external integration (easy / <5mn)

This procedure allows you to expose an RFLink gateway connected via USB on the local network via ser2net, so that it can be used remotely by the integration.

1. Disable current use of RFLink

Before starting, disable the application that is currently using the RFLink gateway directly via USB.

In my case, I disabled the corresponding flow in Node-RED.

2. Install ser2net

On Fedora:

sudo dnf install ser2net

3. Configure ser2net

Edit:

/etc/ser2net/ser2net.yaml

Add at the end:

connection: &rflink
  accepter: tcp,2002
  enable: on
  options:
    kickolduser: true
  connector: serialdev,
            /dev/ttyACM1,
            57600n81

To adapt:

  • /dev/ttyACM1 → the USB port used by your RFLink gateway.
  • 2002 → the TCP port on which you want to expose RFLink.
  • 57600: this is the baud rate

In my case, the gateway is on /dev/ttyACM1 and I chose the TCP port 2002 (the baud rate should be the same for you).

4. Enable ser2net at startup

sudo systemctl enable --now ser2net

To check the service:

systemctl status ser2net

Finally, you just need to configure the integration with the correct IP address and the port you have chosen

A particular feature well managed by the integration (my use case)

My motion detector is based on an EV1527 which can be several types of devices… (motion sensor, switch, alarm…). Claude has set up a tool in the settings that allows, once the device is added, to modify its characteristics; my motion detector was detected as a switch. I went into the integration configuration, « Set device type » then selected the device and a drop-down list allowed me to change it to a motion detector (with adjustable tempo!). Just update the device in the discovery section of the integration and it’s done!

To install ser2net on an Ubuntu server, are the same commands used?

For Ubuntu, the only difference will be in the installation: sudo apt install ser2net

And can I just go back by reactivating my Node-RED flow if it doesn’t work for me?

My RFlink is at 433.42 MHz for Somfy RTS, will that cause any problems?

In Node-RED, you only disable. If it doesn’t work, you’ll need to disable the ser2net service with the command and then re-enable it in Node-RED:

sudo systemctl disable --now ser2net

For RTS Somfy, there’s no reason why it shouldn’t work, but I don’t know. Which module in Node-RED do you use to manage your system? Shutters?

I use the serial out and serial in nodes and yes it’s for my shutters.

Would your integration work with an RFPlayer?

I had to use gemini to help me, I don’t master nano at all.
it advised me the following and I followed its advice because I already have this problem when I restart my server.

One last important recommendation

Currently, your configuration points to /dev/ttyUSB1. If you unplug or restart the server with other USB devices, Ubuntu may assign the name /dev/ttyUSB0 to RFLink instead, which will cut the connection.

To avoid this, it is recommended to use the fixed path of the key:

  1. Find the unique identifier of your RFLink:

    Bash

    ls -l /dev/serial/by-id/
    
    
  2. In /etc/ser2net.yaml, replace /dev/ttyUSB1 with this full path (example: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0).

There is no shutter category in the device types in your application, is that normal?
Your application saw one of my shutter remote controls, but I don’t know what type of device I should assign to it to use it in Gladys.


In the app log, I can see the three commands I sent with my remote control.

[2026-08-15T19:30:11.064Z] [INFO] RFLink <- 20;1E;RTS;ID=f1e260;SWITCH=01;CMD=DOWN;
[2026-08-15T19:30:11.064Z] [INFO] [registry] New RFLink device: RTS f1e260 (unit 01) [CMD]
[2026-08-15T19:30:19.337Z] [INFO] RFLink <- 20;1F;PONG;
[2026-08-15T19:30:59.920Z] [INFO] RFLink <- 20;20;Debug;RTS P1;a82f10d826d460;
[2026-08-15T19:30:59.924Z] [INFO] RFLink <- 20;21;RTS;ID=26d460;SWITCH=01;CMD=UP;
[2026-08-15T19:30:59.925Z] [INFO] [registry] New RFLink device: RTS 26d460 (unit 01) [CMD]
[2026-08-15T19:31:02.275Z] [INFO] RFLink <- 20;22;Debug;RTS P1;a91c10d926d460;
[2026-08-15T19:31:02.279Z] [INFO] RFLink <- 20;23;RTS;ID=26d460;SWITCH=01;CMD=STOP;

The dropdown list you used is intended for other devices.

For the shutters, I think there is a pairing process to expose the shutters? I raised the subject with Claude so he can detail the operation. I’ll let you know as soon as I have news.

In the meantime, to return to the operation with Node-RED, you can do this in order:

  1. Disable ser2net with the command: sudo systemctl disable --now ser2net
  2. Reactivate your Node-RED node

The correction is being deployed.

There is indeed a pairing procedure to declare Gladys as a new remote control. This is detailed in the documentation.

Excerpt:

The RTS is a rolling code protocol. Each transmission carries a counter that the engine checks and remembers, and RFLink keeps its own counter per address — which is not the one from your remote control. Replaying f1e260 will not control the shutter.
The correct procedure is to declare RFLink as an additional remote control, on an address of your choice:

  1. Choose a free address, six hex digits, one per shutter: 100001, 100002…
  2. On the existing Somfy remote, hold PROG on the back (~2-3 s) until the brief back-and-forth movement of the shutter.
  3. Within a few seconds, send a raw command (from the integration config, at the bottom of the page): 10;RTS;100001;0;PAIR;
  4. The shutter makes a back-and-forth movement → it is paired.
  5. Test: 10;RTS;100001;0;DOWN;
  6. Send another command and the virtual remote appears in Discovery. Add it, name it after the room.

You will therefore have two devices per shutter: the one discovered from your physical remote (useful for a scenario to react to a manual press) and the one that RFLink owns (the one that controls). If only the control interests you, „Forget unadded devices“ cleans the first one.

If it works with RFlink, I think we should be able to do it. What’s your use case? What frames are being sent?

This is to replace my RFXCOM with an RFPlayer that I’ve had for a while.
I no longer have any 433MHz devices, but the RFPlayer can be used as a boiling detector.
I’ll see if there’s already a discussion about it, knowing that I have it connected via USB directly to my host.

Could this integration be the solution to this request: Intégration du boîtier Rfxcom - #3 par pierre-gilles ?

Since my RFlink is already paired with my shutters, I thought that by sending a command already known to the RFlink, the app would create a device that would control the shutter. The shutter moves, but no device is created. Isn’t it the sending of the command that creates the device, not the pairing?

Do you have an answer to the command:

10;RTSSHOW;

Don’t give the answer here, I just need to know if you have an answer from your panel.

Indeed, Claude’s response to your situation is to manually create the panel if you have the information to enter.

If that doesn’t work, you’ll need to set up a new panel. As far as I understand, you don’t lose the previous panels.

I get this when I do 10;RTSSHOW;
No answer from the RFLink gateway after 8000 ms
I wanted to avoid re-pairing everything if possible, but with your application it will be quick.

Claude recommended developing a dedicated integration for the RFplayer :confused: This device has many features that have nothing to do with RFlink apparently.