Aller au contenu principal

Intégration domotique RFXCOM RFXtrx, gratuite et open source

Intégration RFXCOM RFXtrx pour Gladys Assistant

RFXtrx433/433XL via ser2net : sondes Oregon, télécommandes DiO, volets Somfy RTS, alarmes.

Reliez un RFXtrx433, RFXtrx433E ou RFXtrx433XL de RFXCOM à Gladys : sondes météo Oregon Scientific, compteurs d'énergie OWL, détecteurs d'ouverture, de mouvement et de fumée, télécommandes et interrupteurs muraux (Chacon DiO, X10, Blyss…), et les récepteurs pilotés par le RFXtrx (prises et modules Chacon DiO, lampes, volets Somfy RTS).

Intégration non officielle, sans lien avec RFXCOM.

1. Rendre le RFXtrx accessible en TCP​

L'intégration tourne dans un conteneur isolé qui ne peut pas ouvrir de port USB. Le RFXtrx reste branché sur une machine de votre réseau (la machine de Gladys, un Raspberry Pi…), et ser2net rend son port série accessible sur le réseau. Les octets sont exactement ceux du port série, à 38400 bauds.

Trouvez le nom stable du RFXtrx (il ne change pas quand on rebranche d'autres clés USB) :

ls -l /dev/serial/by-id/
## usb-RFXCOM_RFXtrx433XL_XXXXXXXX-if00-port0 -> ../../ttyUSB0

Avec ser2net 4 (Debian 11+, Ubuntu 22.04+, Raspberry Pi OS)​

sudo apt install ser2net

/etc/ser2net.yaml :

connection: &rfxtrx
accepter: tcp,4001
enable: on
options:
kickolduser: true
connector: serialdev,/dev/serial/by-id/usb-RFXCOM_RFXtrx433XL_XXXXXXXX-if00-port0,38400n81,local

Remplacez le chemin /dev/serial/by-id/... par le vôtre, puis :

sudo systemctl restart ser2net

Avec ser2net 3 (distributions plus anciennes)​

/etc/ser2net.conf :

4001:raw:0:/dev/serial/by-id/usb-RFXCOM_RFXtrx433XL_XXXXXXXX-if00-port0:38400 8DATABITS NONE 1STOPBIT

Avec socat (pour un test rapide)​

socat TCP-LISTEN:4001,reuseaddr,fork FILE:/dev/serial/by-id/usb-RFXCOM_RFXtrx433XL_XXXXXXXX-if00-port0,b38400,raw,echo=0

La passerelle n'a pas de mot de passe : qui joint le port pilote vos appareils radio. Gardez-la sur votre réseau local, ne l'ouvrez jamais sur Internet. Un seul programme à la fois peut parler au RFXtrx : arrêtez Domoticz, Home Assistant ou RFXmngr s'ils l'utilisent (kickolduser donne la main à la dernière connexion).

2. Configurer l'intégration​

ChampQuoi mettre
Hôte de la passerelleL'IP de la machine de ser2net. Pour la machine de Gladys elle-même, son IP sur le réseau local : localhost désigne le conteneur.
Port TCP4001 dans les exemples ci-dessus.
Protocoles reçusRien de coché : le RFXtrx garde ses réglages (faits avec RFXmngr). Sinon, les protocoles cochés sont envoyés au RFXtrx à chaque connexion.
Signal minimum0 propose tout. 3 ou 4 écarte des nouveaux appareils les émetteurs lointains (les sondes des voisins).
ActionneursLes récepteurs pilotés par le RFXtrx — voir la partie 4.

Le statut de connexion affiche le modèle de récepteur, le firmware et les protocoles reçus. Le bouton Tester la connexion interroge à nouveau le RFXtrx et donne son temps de réponse.

Les protocoles cochés ne sont pas enregistrés dans la mémoire du RFXtrx (elle supporte un nombre limité d'écritures) : l'intégration les renvoie à chaque connexion. N'activez que ce que vous utilisez, le récepteur entend mieux : AC pour Chacon DiO, Oregon pour les sondes et OWL, Visonic pour les détecteurs Visonic, X10, ARC pour les télécommandes à molettes, Blyss…

3. Ce qui est entendu : onglet Découverte​

Rien à déclarer : dès que le RFXtrx entend un émetteur, il apparaît dans l'onglet Découverte. Créez ceux qui sont à vous ; les valeurs et les déclencheurs de scène ne vont qu'aux appareils créés. La liste est conservée dans /data à travers les redémarrages.

  • Sondes Oregon Scientific et compatibles (THGR122, THGN132, THGR810, BTHR968, PCR800, WGR800, UVN800…) : température, humidité, pression, pluie (cumul et intensité), vent (direction, vitesse, rafales), UV.
  • Compteurs OWL : puissance et index d'énergie (kWh) du CM119/CM160 et du CM180, courant par phase et énergie du CM180i, courants du CM113.
  • Détecteurs Security1 : ouverture (X10, Visonic PowerCode), mouvement (X10, Visonic, Meiantech) et fumée (KD101, SA30, RM174RF), avec l'autoprotection. Les détecteurs de mouvement et de fumée n'envoient jamais « c'est fini » : leur état revient à 0 après 90 secondes.
  • Télécommandes, interrupteurs muraux et porte-clés (Chacon DiO / KlikAanKlikUit, HomeEasy, X10, ARC, Blyss, LightwaveRF, X10 security, Visonic CodeSecure) : une fonctionnalité bouton par bouton entendu (1, 2… ; group pour les ordres de groupe ; all en X10 ; K4 en Blyss ; alarm sur un porte-clés). Sa valeur est l'ordre reçu (marche, arrêt, armer, désarmer, panique…).

Chaque capteur a la pile (en %, de 10 à 100 ; les sondes Oregon ne connaissent que « bonne » 100 % et « faible » 10 %) et le signal (0 à 5). Une sonde silencieuse depuis une heure est marquée injoignable.

Les sondes Oregon tirent une nouvelle adresse à chaque changement de piles : la sonde réapparaît comme un nouvel appareil dans Découverte.

Déclencheur de scène​

Une télécommande RFXCOM est actionnée : filtrez sur la télécommande, le bouton et l'ordre. Variables : bouton, ordre, niveau (%), protocole, adresse. Un même appui répété par la télécommande ne déclenche qu'une fois.

4. Ce qui est piloté : les actionneurs​

Un récepteur (prise, module d'éclairage, moteur de volet) ne se découvre pas par les ondes : il faut le déclarer. Le plus simple est le bouton Appairer un actionneur :

  1. mettez le récepteur en mode apprentissage : bouton maintenu sur une prise Chacon DiO (ou mise sous tension), PROG maintenu sur la télécommande d'origine d'un volet Somfy RTS jusqu'à ce qu'il bouge un peu ;
  2. indiquez un nom, le type, le protocole, et laissez l'adresse vide : une adresse libre est choisie ;
  3. lancez l'action : le RFXtrx envoie la trame d'appairage (« marche », ou « program » en Somfy RTS) et le récepteur est ajouté au champ Actionneurs. Créez-le depuis l'onglet Découverte.
TypeCe qu'il fait
switchMarche / arrêt.
lightMarche / arrêt, affiché comme une lampe.
dimmerMarche / arrêt et luminosité (AC / Chacon DiO, HomeEasy EU, LightwaveRF).
shutterOuvrir / stop / fermer (Somfy RTS, protocoles RFY et RFYEXT).

Vous pouvez aussi remplir le champ à la main, entrées séparées par ; :

Volet salon = shutter RFY 10203/1; Lampe bureau = dimmer AC 1A2B3C4/2; Entrée = switch X10 A3
ProtocolesAdresse
AC, HOMEEASY_EU, ANSLUTidentifiant/unité, ex. 1A2B3C4/1 (0 = groupe)
RFY, RFYEXT (Somfy RTS)identifiant/unité, ex. 10203/1
LIGHTWAVERF, CONRAD, EMW100, BBSB, EURODOMEST, IT, KANGTAIidentifiant/unité, ex. F09AC8/1
BLYSSidentifiant/groupe/unité, ex. F09A/A/1
X10, ARC, CHACON, ELRO, WAVEMAN…maison+unité, ex. A3, réglée sur le récepteur

Piloter un récepteur déjà appairé à votre télécommande : déclarez l'actionneur avec l'adresse de cette télécommande (affichée dans les paramètres de son appareil : l'adresse 39AC7A1 et le bouton 1 donnent 39AC7A1/1), en décochant « Envoyer la trame d'appairage ». Quand vous utilisez la télécommande, l'état de l'actionneur suit dans Gladys.

Somfy RTS : le RFXtrx433E ou 433XL joue une télécommande virtuelle dont il garde le code tournant ; il faut l'appairer une fois par volet (étape 1 ci-dessus). Stop est le bouton « my » : il arrête un volet en mouvement et envoie un volet immobile à sa position favorite. Le RFXtrx433 d'origine (sans E) n'émet pas en RFY.

Les ordres radio ne sont jamais confirmés par le récepteur : Gladys affiche ce qui a été envoyé.

En cas de problème​

  • « a refusé la connexion » : ser2net ne tourne pas, ou pas sur ce port (systemctl status ser2net).
  • « la passerelle répond, mais pas le RFXtrx » : le port de ser2net est ouvert mais le RFXtrx ne répond pas — débranché, mauvais chemin de périphérique, mauvaise vitesse (il faut 38400), ou un autre programme l'utilise.
  • « a fermé la connexion » : un autre programme a pris la main sur ser2net (kickolduser).
  • Une télécommande ou une sonde n'apparaît pas : son protocole est-il reçu (statut de connexion) ? Le signal minimum est-il trop haut ?
  • Trop d'appareils dans Découverte : montez le signal minimum, ne cochez que les protocoles utiles.
  • Un volet Somfy ne bouge pas : il doit être appairé une fois, PROG maintenu sur sa télécommande au moment de l'appairage.

Pas encore pris en charge : les autres moteurs de volets (Blinds1), les carillons, les thermostats, Lighting4 (PT2262), les compteurs Linky / TIC Cartelectronic et les modèles 868 MHz. Dites-nous ce qui vous manque sur le forum Gladys.

Paramètres de configuration​

Voici les paramètres demandés par RFXCOM RFXtrx dans son écran de configuration dans Gladys.

ParamètreTypeObligatoireDescription
Votre RFXtrx, joint par le réseausectionNonL'intégration tourne dans un conteneur isolé qui ne peut pas ouvrir de port USB : branchez le RFXtrx433 ou RFXtrx433XL sur une machine de votre réseau (la machine de Gladys, un Raspberry Pi…) et exposez son port série en TCP avec ser2net, à 38400 bauds. Saisissez ci-dessous l'adresse IP de cette machine sur le réseau local, pas localhost. Les sondes, détecteurs et télécommandes entendus apparaissent dans l'onglet Découverte ; les récepteurs pilotés par le RFXtrx (prises, lampes, volets Somfy RTS) se déclarent ci-dessous ou avec le bouton « Appairer un actionneur ». Sans lien avec RFXCOM.
Hôte de la passerellestringOuiAdresse IP ou nom de la machine qui fait tourner ser2net. Pour la machine de Gladys elle-même, son adresse IP sur le réseau local : localhost désigne le conteneur de l'intégration.
Port TCP de la passerellenumberNonLe port TCP sur lequel ser2net écoute pour le RFXtrx (4001 dans les exemples de la documentation).
Protocoles reçusmulti_selectNonNe cochez rien pour garder les protocoles déjà réglés dans le RFXtrx (avec RFXmngr). Les protocoles cochés les remplacent à chaque connexion (sans être enregistrés dans le RFXtrx). N'activez que ce que vous utilisez : le récepteur entend mieux, et moins de voisins.
Signal minimum d'un nouvel émetteur (0-15)numberNonUn émetteur entendu pour la première fois avec un signal plus faible n'est pas proposé dans Découverte : montez à 3 ou 4 pour écarter les sondes des voisins. 0 propose tout. Les appareils déjà proposés ne sont jamais filtrés.
ActionneursstringNonLes récepteurs pilotés par le RFXtrx, séparés par « ; » : Nom = type PROTOCOLE adresse. Types : switch, light, dimmer, shutter. Adresses : A1 (X10, ARC…), 1A2B3C4/1 (AC, HomeEasy, LightwaveRF, RFY), F09A/A/1 (Blyss). Le bouton « Appairer un actionneur » remplit ce champ pour vous.

Comment installer RFXCOM RFXtrx dans Gladys​

  1. Dans Gladys, ouvrez Intégrations : RFXCOM RFXtrx apparaît dans le catalogue, aux côtés des intégrations natives, avec un badge communautaire.
  2. Cliquez sur Installer. Gladys télécharge l'image Docker (ghcr.io/lm1lc3n7/gladys-rfxcom:0.1.1), la démarre dans un bac à sable isolé du cœur, et génère l'interface de l'intégration (appareils, découverte et configuration).
  3. Ouvrez l'écran Configuration de l'intégration, remplissez les paramètres, puis enregistrez.
  4. Vous pouvez aussi l'installer directement depuis l'URL de son dépôt : https://github.com/LM1LC3N7/gladys-rfxcom.

RFXCOM RFXtrx nécessite Gladys >=5.1.0. Le catalogue dans Gladys se rafraîchit toutes les heures : une nouvelle version est donc disponible au plus tard une heure après sa sortie.

Vous n'utilisez pas encore Gladys ? C'est gratuit et open source : suivez le guide d'installation pour démarrer.

À propos des intégrations externes​

RFXCOM RFXtrx est une intégration externe : une intégration communautaire empaquetée dans un conteneur Docker et publiée sur GitHub, que Gladys installe en un clic et exécute dans un bac à sable isolé de son cœur. Elle est publiée et maintenue par LM1LC3N7, et non par l'équipe cœur de Gladys.

Inscrivez-vous à la newsletter Gladys Assistant

Quelques emails par mois sur les nouveautés et l'actualité du projet. Envoyés par Pierre-Gilles Leymarie, le fondateur du projet. Désinscription possible à tout moment 🙂