Où sommes nous ?

Retour

RFXtrx

Pour ma solution domotique, je privilégie autant que faire se peut une solution filaire par le bus 1-wire. Cependant, nous nous sommes équipés de volets roulants Somfy et la question s'est rapidement posée de les intégrer au reste des automatismes.
La première idée qui m'est venue a été de bidouiller une télécommande d'origine ; simuler ses boutons en utilisant les GPIOs du Banana n'a rien de transcendant ... sauf que :

Et c'est là que je suis tombé sur le RFXtrx de la société RFXCom ...

Le RFXtrx 433 est un transceiver (donc à la fois émetteur et récepteur) utilisant la fréquence 433Mhz et permet de s'interfacer avec de très nombreux périphériques du commerce, comme la gamme Chacon / D-IO, OWL, X10... Le modèle RFXtrx433E ajoute la compatibilité avec le protocole Somfy RTS ... celui utilisé par mes volets roulants.

Il existe 2 protocoles chez Somfy :

Les 2 sont malheureusement incompatibles et le IO n'est pas supporté par RFXCom à l'heure où j'écris ces lignes.

Un petit boitier

Le Rfxtrx surprend pas sa petite taille : 8,3 x 5,9 x 2,2cm. Ce n'est heureusement pas le cas du câble qui l'accompagne (entre 30 et 50cm ... je ne l'ai pas mesuré). S'ajoute une antenne et une petite notice ... qui renvoie rapidement au site où l'on trouve l'user guide.
L'alimentation se fait directement par le port USB : pas besoin d'alimentation supplémentaire donc. Prévoir une consomation de 28 mA en réception et 45 mA en émission.

Une fois connecté, le Rfxtrx apparaît en tant que port série USB utilisant un chipset FTDI : suffisamment répandu pour être utilisable quel que soit l'OS.

Mise à jour et configuration

Avant de pouvoir utiliser notre nouveau jouet, il va falloir le mettre à jour et le configurer : Un petit tour sur la page de "download" de RFXCom s'impose ... arg !!! Tous les outils d'administration sont pour m$-windows .

Pour être complet, pour toute la configuration pourrait se faire grace aux outils de domotiques tels que Domoticz ... Mais je ne les utilise pas et je n'ai pas l'intention d'ajouter cette possibilité à Marcel : ce sont des actions vraiment ponctuelles.
Bref, même si c'est ch*ant, je vais donc passer par la micromolerie ... j'irai me laver les mains après !

Mise à jour du Firmware

La toute première chose à faire, c'est de mettre à jour le firmware : non seulement pour corriger quelques bugs, mais elle ajoute aussi le support d'autres sondes.
Attention, une mise-à-jour efface complètement la configuration du RFXtrx : c'est pourquoi on ne le fait généralement qu'une seule fois, à sa réception.


Plusieurs firmwares sont disponibles :

Pourquoi le firmware 1 et le 2 ? D'abord, parce que la mémoire du RFXtrx est limitée ; ensuite parce que certains protocoles sont incompatibles avec d'autres. C'est pourquoi, le choix se fait en fonction des sondes avec qui converser.

Le processus est relativement simple et vous trouverez des captures d'ecran dans le "user guide". Pour ceux qui n'apprécient pas la langue de Shakespear, les étapes sont :

  1. Télécharger et installer "RFXflash Programmer" sur votre micromolerie
  2. Brancher le RFXtrx : il est possible que le générateur d'écran bleu vous demande de mettre à jour un driver. S'il ne le trouve pas (nous sommes quand même chez micro$oft), il vous faudra installer par vous-même un driver FTDI.
  3. Lancer "RFXflash Programmer"
  4. configurer le pour qu'il utilise le port série nouvellement créé qui correspond au RFXtrx.
  5. "connect to device" : la LED rouge du RFX doit s'allumer et "Device found ..." devrait s'afficher dans le cadre jaune.
  6. "Open Hex file", sélectionner le fichier firmware que vous avez précédemment téléchargé.
  7. "Write Device" : le firmware est installé. Cela peut prendre plusieurs minutes. Surtout ne pas débrancher le RFXtrx (ou rebooter le PC), ça pourrait le rendre totalement inopérant.
  8. Cliquez enfin sur "Normal execution mode" ... l'opération est terminée.

(Dés)-activation des protocoles en réception

Si les protocoles en émission sont toujours activés, ce n'est pas le cas de ceux de la réception : n'activer que ceux qui sont réellement utilisés améliore la sensibilité du RFXtrx.
Comme vous l'avez deviné, cette sélection se fait grâce au RFXmngr.

Voilà, nous en avons terminé avec les RFXmngr et les window$eries : il est temps de passer aux choses sérieuses.

Le reste de ce billet se focalise sur ma propre solution Domotique, à savoir Marcel tournant sur un BananaPI.

Volets Somfy

Contrairement à ce que l'on pourrait penser, ce n'est pas le RFXtrx qui reconnaît les volets, mais l'inverse et de plus, chaque volet ne peut s'appareiller qu'avec 4 télécommandes ...

ID des volets

Chaque télécommande est identifiée par un numéro unique composé

A noter que la seule restriction est que l'ID doit être unique, mais vous pouvez choisir les valeurs que vous voulez.
Perso, pour facilité la gestion, j'ai opté pour les règles suivantes :

Ainsi, j'ai

0-DE-10-0 = Celle du bureau
1-DE-10-0 = la 1er fenêtre du salon
1-DE-10-1 = toujours dans le salon, celle proche de la cheminée
1-DE-10-2 = la 3e du salon
2-DE-10-0 = la porte fenêtre de la cuisine
...

Configuration dans Marcel

Dans Marcel.conf, ça donne

# Commanding Somfy (RTS) shutter
# Argument of the section is the id of device
# I1I2I3UU :
# I? = identifier
# UU = unit
#
# The command is the payload of the message.
# Recognized commands are :
# "Stop" or "My"
# "Up"
# "Down"
# "Program"
*RTSCmd=0x00DE1000
Topic=maison/Volet/Bureau

*RTSCmd=0x01DE1000
Topic=maison/Volet/Salon/1er

*RTSCmd=0x01DE1001
Topic=maison/Volet/Salon/Cheminee

*RTSCmd=0x01DE1002
Topic=maison/Volet/Salon/3em

*RTSCmd=0x02DE1000
Topic=maison/Volet/Cuisine

Appareillage des volets

Attention, ce que nous apprêtons à faire peut mettre la grouille dans votre réseau : si vous n'êtes pas sûr de vous, DÉBRANCHER TOUS LES VOLETS AUTRES QUE CELUI QUE VOUS ESSAYEZ D'APPAREILLER, comme le conseil la doc.

Le moment est venu de faire reconnaître le RFXtrx comme une télécommande d'un de nos volets. A titre d'exemple, nous allons le faire sur celle du salon, proche de la cheminée.

  1. Son adresse est 1-DE-10-1 et nous l'avons associé au topic maison/Volet/Salon/Cheminee par la configuration
*RTSCmd=0x01DE1001
Topic=maison/Volet/Salon/Cheminee
  1. Appuyez sur le bouton d'apprentissage qui se trouve à l'arrière de votre télécommande Somfy durant 3 secondes. Le volet passe en mode apprentissage et le montre en montant et descendant brièvement.
  2. Nous avons quelques secondes pour envoyer l'ordre de programmation à Marcel par l'intermédiaire d'un message MQTT.
mosquitto_pub -t maison/Volet/Salon/Cheminee -m Program

mosquitto_pub est une commande shell fournit avec Mosquitto.

  1. Le volet indique que l'appareillage est accepté en faisant à nouveau un bref aller/retour.

Et voilà, c'est fini, maison/Volet/Salon/Cheminee est associé à ce volet.
Les autres ordres reconnus sont :

Côté technique

La communication avec le RFXtrx se fait, comme je l'indiquais précédemment, par un port série virtuel. Cependant, il faut connaître le protocole utilisé : Il faut passer par le Software Developpment Kit.
Pour l'obtenir, le processus est relativement simple : il faut envoyer une demande par mail aux support de RFXCom et signer un NDA (c'est donc pourquoi je ne rentrerai pas dans les détails de l'implémentions). En retour, on recevra un zip auto-extractible (à nouveau pour m$-windows uniquement) contenant :

A noter aussi que j'ai trouvé sur GitHub des librairies toutes faites pour C++, Java, Python ou encore Lua ...

Conclusion

Le trio RFXtrx / Marcel / BananaPI fonctionne très bien et le fait de pouvoir contrôler mes volets par de simples ordres MQTT est à la fois très flexible et simple à implémenter : on imagine facilement d'avoir

Comme on dit, la seule limite est notre imagination.

La doc indique qu'il faut faire attention à l'emplacement du RFXtrx et que des murs trop épais pourraient en réduire son efficacité. Le mien se trouve au sous-sol et il arrive sans problème à contrôler les chambres situées 2 étages plus haut.


Visitez :
La liste de nos voyages
Nos sorties Ski et rando
Copyright Laurent Faillie 2001-2017
N'oubliez pas d'entrer le mot de passe pour voir aussi les photos perso.
Contactez moi si vous souhaitez réutiliser ces photos et pour les obtenir avec une plus grande résolution.
Visites durant les 7 derniers jours Nombre de visites au total.

Vous pouvez laissez un commentaire sur cette page.