Integración externa - RFlink

Hola,

Acabo de lanzar Claude en la integración RFlink tras el mensaje de @elfedagger. Como él, tengo cada vez menos dispositivos que se retransmiten a través de NodeRed.

Solo tengo un dispositivo en este protocolo y solo en modo lectura. Es un detector de movimiento. Estaré encantado de recibir sus comentarios para probarlo.

Pondré la información para probarlo en cuanto esté listo.

Una primera versión de la integración está disponible. La probé en mi instalación con un solo detector de movimiento y pude probarla con los dispositivos de mis vecinos (timbre y sensores de temperatura). En este punto, todo funciona bien.

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

Requisitos previos para exponer la pasarela RFlink a la integración externa (fácil / <5 min)

Este procedimiento permite exponer una pasarela RFLink conectada por USB en la red local a través de ser2net, para que pueda ser utilizada de forma remota por la integración.

1. Desactivar el uso actual de RFLink

Antes de comenzar, desactive la aplicación que actualmente utiliza la pasarela RFLink directamente por USB.

En mi caso, desactivé el flujo correspondiente en Node-RED.

2. Instalar ser2net

En Fedora:

sudo dnf install ser2net

3. Configurar ser2net

Modificar:

/etc/ser2net/ser2net.yaml

Añadir al final:

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

Para adaptar:

  • /dev/ttyACM1 → el puerto USB utilizado por su pasarela RFLink.
  • 2002 → el puerto TCP en el que desea exponer RFLink.
  • 57600: es el baudrate

En mi caso, la pasarela está en /dev/ttyACM1 y he elegido el puerto TCP 2002 (el baudrate debería ser el mismo en su caso).

4. Activar ser2net al inicio

sudo systemctl enable --now ser2net

Para verificar el servicio:

systemctl status ser2net

Finalmente, solo queda configurar la integración con la dirección IP correcta y el puerto que ha elegido

Una particularidad bien gestionada por la integración (mi caso de uso)

Mi detector de movimiento se basa en una EV1527 que puede ser varios tipos de dispositivos… (sensor de movimiento, interruptor, alarma…). Claude ha implementado en los parámetros una herramienta que permite, una vez añadido el dispositivo, modificar sus características; mi detector de movimiento era detectado como un interruptor. Fui a la configuración de la integración, « Definir el tipo de dispositivo » y luego seleccioné el dispositivo y una lista desplegable me permitió cambiarlo a detector de movimiento (con temporizador configurable). ¡Solo queda actualizar el dispositivo en la parte de descubrimiento de la integración y listo!

¿son los mismos comandos para instalar ser2net en un servidor Ubuntu?

Para Ubuntu, la única diferencia estará en la instalación: sudo apt install ser2net

¿Y puedo volver atrás simplemente reactivando mi flujo de Node-RED si no funciona para mí?

mi RFlink está en 433.42 MHz para el RTS de Somfy, ¿no habrá ningún problema?

En NodeRed, solo desactivas. Si no funciona, tendrás que desactivar el servicio ser2net con el comando y luego reactivarlo en NodeRed:

sudo systemctl disable --now ser2net

Para RTS Somfy, no hay razón para que no funcione, pero no lo conozco. ¿Qué módulo usas en NodeRed para gestionar tu sistema? ¿Persianas?

estoy usando los nodos serial out y serial in y sí, es para mis persianas.

¿Funcionaría tu integración con un RFPlayer?

He tenido que usar gemini para ayudarme, no domino nada nano.
Me aconsejó lo siguiente y seguí su consejo porque ya tengo este problema cuando reinicio mi servidor.

Una última recomendación importante

Actualmente, su configuración apunta a /dev/ttyUSB1. Si desconecta o reinicia el servidor con otros dispositivos USB, Ubuntu puede asignar al RFLink el nombre /dev/ttyUSB0 en su lugar, lo que cortará la conexión.

Para evitar esto, se recomienda usar la ruta fija de la clave:

  1. Encuentre el identificador único de su RFLink:

    Bash

    ls -l /dev/serial/by-id/
    
    
  2. En /etc/ser2net.yaml, reemplace /dev/ttyUSB1 por esta ruta completa (ejemplo: /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0).

¿no hay una pestaña de tipos de dispositivo en tu aplicación, es normal?
Tu aplicación ha visto uno de mis mandos de persiana, pero no sé qué tipo de dispositivo debo asignarle para usarlo en Gladys.


En el registro de la aplicación veo bien los 3 comandos que envié con mi mando.

[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;

La lista desplegable que has utilizado está destinada a otros dispositivos.

Para las persianas, creo que hay un proceso de apareamiento para exponer las persianas. He planteado el tema a Claude para que detalle el funcionamiento. Te aviso en cuanto tenga novedades.

Mientras tanto, para volver al funcionamiento con NodeRed, puedes hacerlo en este orden:

  1. Desactivar ser2net con el comando: sudo systemctl disable --now ser2net
  2. Reactivar tu nodo NodeRed

La corrección se está implementando.

Sí hay un procedimiento de apareamiento para declarar a Gladys como un nuevo control remoto. Está detallado en la documentación.

Extracto:

El RTS es un protocolo de código rotativo. Cada transmisión lleva un contador que el motor verifica y memoriza, y RFLink mantiene su propio contador por dirección — que no es el de su control remoto. Reproducir f1e260 no controlará la persiana.
El procedimiento correcto es declarar RFLink como control remoto adicional, en una dirección que elija:

  1. Elija una dirección libre, seis dígitos hexadecimales, uno por persiana: 100001, 100002…
  2. En el control remoto Somfy existente, mantenga presionado PROG en la parte posterior (~2-3 s) hasta que la persiana haga un breve movimiento de vaivén.
  3. En los pocos segundos, envíe un comando bruto (desde la configuración de la integración, al final de la página): 10;RTS;100001;0;PAIR;
  4. La persiana hace un movimiento de vaivén → está apareada.
  5. Pruebe: 10;RTS;100001;0;DOWN;
  6. Envíe un comando y el control remoto virtual aparece en el Descubrimiento. Añádalo, nómbrelos según la habitación.

Por lo tanto, tendrá dos dispositivos por persiana: el descubierto desde su control remoto físico (útil para que un escenario reaccione a una pulsación manual) y el que posee RFLink (el que controla). Si solo le interesa el control, «Olvidar dispositivos no añadidos» limpia el primero.

Si funciona con RFlink, creo que deberíamos poder lograrlo. ¿Cuál es tu uso? ¿Qué tramas se envían?

Es para reemplazar mi RFXCOM por un RFPlayer que tengo desde hace un tiempo.
Casi no tengo dispositivos en 433MHz, pero el RFPlayer permite usarse como detector de burbujeo.
Veré si ya hay discusión al respecto, sabiendo que lo tengo en USB directamente en mi host.

¿Podría esta integración ser la solución a esta solicitud: Intégration du boîtier Rfxcom - #3 par pierre-gilles ?

como mi RFlink ya está emparejado con mis persianas, pensé que al enviar un comando ya conocido por el RFlink, la aplicación me crearía un dispositivo que controlaría la persiana. La persiana se mueve, pero no se crea ningún dispositivo. Sin embargo, ¿no es el envío del comando lo que crea el dispositivo, no el emparejamiento?

¿Tienes una respuesta para el comando:

10;RTSSHOW;

No des la respuesta aquí, solo necesito saber si tienes una respuesta de tu panel.

De hecho, la respuesta de Claude a tu situación es permitir crear manualmente el panel si tienes la información para ingresarla.

Si no funciona, tendrás que hacer un nuevo aparejamiento. Según mi comprensión, no pierdes los aparejamientos anteriores.

Tengo esto cuando hago 10;RTSSHOW;
No hay respuesta del gateway RFLink después de 8000 ms
Quería evitar volver a emparejar todo si es posible, pero con tu aplicación será rápido.

Claude ha recomendado desarrollar una integración dedicada para el RFplayer :confused: Este dispositivo tiene muchas funciones que no tienen nada que ver con RFlink aparentemente.