Intégration externe - RFlink

Hello,

Je viens de lancer Claude sur l’intégration RFlink suite au message de @elfedagger. Comme lui, j’ai de moins en moins de devices qui sont relayés par nodered.

Je n’ai qu’un device sur ce protocole et en lecture seule. C’est un détecteur de mouvements. Je serai preneur de vos retours pour tester.

Je mets les infos pour tester dès que c’est prêt.

Une première version de l’intégration est disponible. Je l’ai testée sur mon installation avec un seul détecteur de mouvements et j’ai pu tester avec les appareils des mes voisins (sonnette et capteurs de températures). A ce stade tout fonctionne bien.

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

Pré-requis pour exposer la passerelle RFlink à l’intégration externe (facile / <5mn)

Cette procédure permet d’exposer une passerelle RFLink connectée en USB sur le réseau local via ser2net, afin qu’elle puisse être utilisée à distance par l’intégration.

1. Désactiver l’utilisation actuelle de RFLink

Avant de commencer, désactivez l’application qui utilise actuellement la passerelle RFLink directement en USB.

Dans mon cas, j’ai désactivé le flux correspondant dans Node-RED.

2. Installer ser2net

Sur Fedora :

sudo dnf install ser2net

3. Configurer ser2net

Modifier :

/etc/ser2net/ser2net.yaml

Ajouter à la fin :

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

À adapter :

  • /dev/ttyACM1 → le port USB utilisé par votre passerelle RFLink.
  • 2002 → le port TCP sur lequel vous souhaitez exposer RFLink.
  • 57600 : c’est le baudrate

Dans mon cas, la passerelle est sur /dev/ttyACM1 et j’ai choisi le port TCP 2002 (le baudrate devrait être le même chez vous).

4. Activer ser2net au démarrage

sudo systemctl enable --now ser2net

Pour vérifier le service :

systemctl status ser2net

Enfin, il vous reste à configurer l’intégration avec la bonne adresse IP et le port que vous avez choisi

Une particularité bien gérée par l’intégration (mon cas d’usage)

Mon détecteur de mouvement est basé sur une EV1527 qui peut être plusieurs typologies d’appareils… (capteur de mouvements, interrupteur, alarme…). Claude a mis en place dans les paramètres un outil qui permet une fois le device ajouté de modifier ses caractéristiques ; mon détecteur de mouvement était détecté comme un interrupteur. Je suis allé dans la configuration de l’intégration, « Définir le type de l’appareil » puis sélection de l’appareil et une liste déroulante m’a permise de le modifier en tant de détecteur de mouvements (avec tempo paramétrable !). Plus qu’à actualiser le device dans la partie découverte de l’intégration et c’est bon !

pour installer ser2net sur un serveur Ubuntu, c’est les même commandes?

Pour Ubuntu, la seule différence sera sur l’installation : sudo apt install ser2net

Et je peu revenir en arrière juste réactivant mon flux node red
si ça ne marche pas pour moi?

mon RFlink est en 433.42 Mhz pour le RTS Somfy ça ne posera pas de probleme?

Dans nodered, tu ne fais que désactiver. Si ça ne fonctionne pas, il faudra désactiver le service ser2net avec le commande puis réactiver dans nodered :

sudo systemctl disable --now ser2net

Pour RTS Somfy, il n’y a pas de raison pour que ça ne fonctionne pas mais je ne connais pas. Tu utilises quel module dans nodered pour gérer ton système ? Des volets ?

j’utilise les nodes serial out et serial in et oui c’est pour mes volets.

Est-ce que ton intégration fonctionnerait avec un RFPlayer ?

J’ai du utiliser gemini pour m’aider je ne maitrise pas du tout le nano.
il m’a conseiller la chose suivante et j’ai suivis son conseil car j’ai déjà ce problème quand je redémarre mon serveur.

Une dernière recommandation importante

Actuellement, votre configuration pointe sur /dev/ttyUSB1. Si vous débranchez ou redémarrez le serveur avec d’autres périphériques USB, Ubuntu risque d’attribuer au RFLink le nom /dev/ttyUSB0 à la place, ce qui coupera la connexion.

Pour éviter cela, il est conseillé d’utiliser le chemin fixe de la clé :

  1. Trouvez l’identifiant unique de votre RFLink :

    Bash

    ls -l /dev/serial/by-id/
    
    
  2. Dans /etc/ser2net.yaml, remplacez /dev/ttyUSB1 par ce chemin complet (exemple : /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0).

il n’y a pas de volet dans les types d’appareil dans ton application, c’est normal?
Ton application à vu une de mes télécommandes de volet, mais je sais pas quel type d’appareil je dois lui donner pour l’utiliser dans Gladys.


dans le journal de l’appli je vois bien les 3 commandes que j’ai envoyées avec ma télécommande.

[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 liste déroulante que tu as utilisé est destinée à d’autres appareils.

Pour les volets je pense qu’il y a une démarche d’appareillage pour exposer les volets ? J’ai posé le sujet à Claude pour qu’il detaille le fonctionnement. Je te dis dès que j’ai du nouveau.

En attendant, pour revenir sur le fonctionnement avec nodered, tu peux faire dans cet ordre :

  1. Désactiver ser2net avec la commande : sudo systemctl disable --now ser2net
  2. Réactiver ton noeud nodered

La correction est en cours de déploiement.

Il y a bien une procédure d’appareillage à faire pour déclarer Gladys comme une nouvelle télécommande. C’est détaillé dans la doc.

Extrait :

Le RTS est un protocole à code tournant. Chaque émission porte un compteur que le moteur vérifie et mémorise, et RFLink tient son propre compteur par adresse — qui n’est pas celui de votre télécommande. Rejouer f1e260 ne pilotera pas le volet.
La démarche correcte est de déclarer RFLink comme télécommande supplémentaire, sur une adresse que vous choisissez :

  1. Choisissez une adresse libre, six chiffres hex, une par volet : 100001, 100002…
  2. Sur la télécommande Somfy existante, maintenez PROG au dos (~2-3 s) jusqu’au bref va-et-vient du volet.
  3. Dans les quelques secondes, action Envoyer une commande brute (depuis la config de l’intégration, en bas de page) : 10;RTS;100001;0;PAIR;
  4. Le volet refait un va-et-vient → c’est appairé.
  5. Testez : 10;RTS;100001;0;DOWN;
  6. Renvoyez une commande et la télécommande virtuelle apparaît dans la Découverte. Ajoutez-la, nommez-la d’après la pièce.

Vous aurez donc deux appareils par volet : celui découvert depuis votre télécommande physique (utile pour qu’un scénario réagisse à un appui manuel) et celui que RFLink possède (celui qui pilote). Si seul le pilotage vous intéresse, « Oublier les appareils non ajoutés » nettoie le premier.

Si ça fonctionne avec RFlink, je pense qu’on devrait y arriver. C’est quoi ton usage ? Quelles trames sont envoyés ?

C’est pour remplacer mon RFXCOM par un RFPlayer que j’ai depuis un moment.
Je n’ai quasiment plus d’appareils en 433MHz mais le RFPlayer permet d’être utilisé comme détecteur de bouillage.
Je regarderai si déjà ça discute, sachant que je l’ai en usb directement sur mon host.

Est-ce que cette intégration peut être la solution à cette demande : Intégration du boîtier Rfxcom - #3 par pierre-gilles ?

comme mon RFlink est déjà appairé à mes volets je pensais qu’en envoyant une commande déjà connus par le RFlink l’application allait me créer un appareil qui commanderait le volet. Le volet se déplace ,mais ça ne crée aucun appareil. C’est pourtant l’envois de la commande qui crée l’appareil, pas l’appairage?

Est-ce que tu as une réponse à la commande :

10;RTSSHOW;

Ne donne pas la réponse ici, j’ai juste besoin de savoir si tu as une réponse de ton volet.

En effet, la réponse de Claude à ta situation est de permettre de créer manuellement le volet si tu as les infos pour les saisir.

Si ça ne fonctionne pas, il faudra faire un nouvel appareillage. De ma compréhension tu ne perds pas les appareillages précédents.

j’ai ça quand je fais10;RTSSHOW;
No answer from the RFLink gateway after 8000 ms
Je voulais éviter de tout réappairer si possible, mais avec ton application ça va être rapide.

Claude a préconisé de développer une intégration dédiée au RFplayer :confused: Ce dispositif a beaucoup de fonctionnalités qui n’ont rien à voir avec RFlink apparemment.