Dernières nouvelles

Pilotage du contrôleur de LED RGB 433 MHz avec Domoticz et un RFXCOM

ans cet article, nous avons décidé de prendre un contrôleur de LED RGB 433 MHz et d’essayer de le piloter avec un transceiver RFXCom 433 MHz, le tout en utilisant Domoticz comme interface logicielle.

Le contrôleur utilisé est le Mini Contrôleur Ruban LED RGB 12V contrôlé en 433 MHz de Wizelec, un pack composé du contrôleur à brancher directement sur un bandeau RGB, et une télécommande disposant de diverses fonctions de réglage, ainsi que des modes prédéfinis (couleurs fixes, différents modes démo…)

Contrôleur de LED RGB 433 MHz de Wizelec

La plupart des contrôleurs par défaut fournis avec des bandeaux de LED sont généralement pilotables par infrarouge. Mais contrairement à eux, le contrôleur RF433 MHz reçoit les ordres de la télécommande en radio, en 433 MHz. Si vous avez l’habitude de ce type de technologie, vous savez que la fréquence ne fait pas tout : pour pouvoir piloter un appareil radio depuis une interface domotique, il faut que l’interface soit également compatible avec le protocole utilisé.

Nous allons donc dans un premier temps vérifier si le protocole utilisé par la télécommande RF et le contrôleur de LED est bien compatible avec le RFXTrx 433 Mhz. Après cela, nous verrons comment l’intégrer sur Domoticz de manière à ce que la commande des LEDs y soit intuitive.

Contrôleur 433 MHz pour bandeau de LED

Les trames du contrôleur de LED RGB 433 MHz avec le RFXCom

 

Vous n’aurez en principe pas à suivre cette étape puisque nous avons nous-mêmes testé la bonne compatibilité de ce contrôleur avec le RFXCom, mais il nous semblait intéressant de vous expliquer la manière dont nous avions procédé. Cette partie avait déjà été évoquée dans un article précédent expliquant comment domotiser un bandeau de LED sur un sapin en Z-Wave et 433 MHz.

Toutes les fonctions disponibles sur le contrôleur (et donc indiquées sur la télécommandes) peuvent directement être lancées depuis le RFXCom. Nous allons voir ci-dessous comment les données peuvent être récupérées et émises avec le RFXCom depuis l’utilitaire RFXMgr.

Dans l’utilitaire RFXMgr, nous sélectionnons le protocole « Lightning 4 ». Si vous avez d’autres protocoles en cours d’utilisation, vous pouvez également laisser ceux-ci sélectionnés. N’oubliez pas de cliquer sur « Set Mode » pour que la modification soit prise en compte.

Choix d'un protocole sur le RFXcom : Lightning 4

Après le bon enregistrement de ce protocole, à chaque appui sur un des bouton de la télécommande, vous verrez un code apparaître dans la fenêtre de RFXMgr. Par exemple, ci-dessous, la trame qui définit le passage à la couleur rouge et celui qui correspond au bouton on/off. Notez pour chaque bouton la ligne « S1-S24 » : elle correspond à une série de 24 bits propre à chaque bouton.

Codes Lightning 4 reçus sur le RFXCom

Il ne nous reste alors plus qu’à aller dans l’onglet « Lightning 4 » pour émettre une de ces commandes. Pour envoyer une des commandes que vous avez vu, il suffit de cocher les rangées correspondantes. Il vous faut une case cochée pour chaque « 1 » et une case non cochée pour chaque « 0 ». Par exemple ci-dessous nous reproduisons le code pour émettre l’ordre « Rouge » [000 1110 0001 1011 0001 0000].

Trames d'émission en Lightning 4 du RFXCom

Nous en avons donc la certitude : si le protocole « Lightning4 » est activé, le RFXTrx 433 MHz peut recevoir et envoyer des trames compatible avec le contrôleur et la télécommande RF de Wizelec. Il ne nous reste plus qu’à l’intégrer proprement dans Domoticz !

Utiliser le contrôleur de LED RGB 433 MHz dans Domoticz

Le prérequis est bien sûr que le transmetteur RFXTrx433 soit bien installé dans la section « Matériels » de Domoticz, et que Lightning 4 soit activé dans la configuration du RFXTrx. Si ce n’est pas le cas, cliquez sur « Régler le mode », puis cochez « Lightning 4 » et enfin cliquez sur le bouton rouge « Set Mode ».

Activer Lightning4 dans la configuration du RFXCom

Créer un interrupteur virtuel

Sur un système comme Domoticz, vous n’aurez même pas à récupérer les différentes trames et à les saisir manuellement l’une après l’autre. Grâce à la fonction « Détection auto » de Domoticz, vous pouvez appuyer sur un bouton et obtenir directement le code radio qui lui est associé. Ainsi, nous pouvons utiliser « Détection auto » pour chacun des boutons de la télécommande, l’un après l’autre, et nous avons simplement à les nommer.

Créons d’abord un dispositif virtuel (Dummy) qui regroupera toutes les commandes que nous allons créer par la suite.

Les Dummy sont des dispositifs virtuels qui s’affichent dans Domoticz comme tous les autres, et qui ont comme principal but d’être utilisés dans des scripts.
Si vous n’avez pas installé de Dummy jusqu’à maintenant, il vous faudra aller dans la section « Réglages > Matériels » de Domoticz et ajouter un Matériel de type Dummy. Vous pouvez par exemple l’appeler « Virtuel ».

Domoticz - intégration du fil pilote, interrupteur virtuel

Pour créer un nouveau dispositif virtuel, rendez-vous dans la liste des Matériels (toujours dans « Réglages > Matériels », repérez la ligne Dummy et cliquez sur « Créer capteurs virtuels ».

Là, nous allons créer un capteur de type « Interrupteur sélecteur ». Il existe dans la liste des interrupteurs RGB et RGBW, mais ceux-ci sont destinés aux appareils où Domoticz est capable de gérer individuellement la variation sur chacun des canaux, ce qui n’est pas le cas ici (nous avons pour ce contrôleur juste 17 fonctions déterminées correspondant à 17 codes radio).

Nous nommons notre sélecteur « Bandeau de LED » par exemple, et directement après sa création, nous accédons à l’interface où nous pouvons définir les niveaux. Les valeurs de niveau 10, 20, 30 ne sont qu’informatives, ce qui est important c’est de saisir les valeurs correspondant au nom des boutons.

Attention, nous ne pouvons ajouter que 10 niveaux par sélecteur (sans compter le 0). Donc nous ferons un sélecteur pour les fonctions On/Off, Vitesse, mode, démo, etc. (ce qui nous amène pile à 10 niveaux), et un autre sélecteur pour les couleurs pré-enregistrées.

Niveau d'un sélecteur multiple pour LED RGB dans Domoticz

Pour les couleurs nous aurons ce sélecteur. Un conseil, évitez les accents dans les noms de ces sélecteurs, sous peine que ça ne fonctionne pas à l’étape suivante (nous avions essayé en appelant le sélecteur « Bandeau de LED : couleurs prédéfinies » et ça n’a pas fonctionné).

 

Niveau d'un sélecteur multiple pour LED RGB dans Domoticz

  • Au moment de la création, les niveaux seront classés par ordre alphabétique du nom de niveau. Pas de panique, même si c’est un peu déroutant, il suffit de sauvegarder le dispositif puis de revenir sur l’écran pour que les niveaux soient classés naturellement, dans l’ordre des niveaux.
  • Créez les boutons dans l’ordre où vous souhaitez qu’ils apparaissent sur l’interface. Si vous voulez changer deux niveaux de position, vous pouvez le faire avec les flèches haut et bas situées à droite du tableau
  • Dans les deux sélecteurs, nous cochons « Cacher le niveau Off » : ce niveau est inutile puisque c’est un seul bouton, le niveau « On/Off », qui sert pour les deux actions.
  • Vous avez le choix entre un « Jeu de boutons » et un « Menu de sélection », option à cocher selon votre goût.

Jeu de boutons :

Jeu de bouton sélecteur Domoticz

Menu de sélection :

Menu de sélection sélecteur Domoticz

Maintenant que nos deux sélecteurs sont fin prêts, il ne nous reste plus qu’à capter les trames radio pour accéder aux différentes fonctions du contrôleur RGB.

Récupérer les trames des 17 boutons de la télécommande

Pour l’étape suivante, nous allons devoir récupérer une trame pour chacun des boutons de la télécommande.

Voici comment procéder pour les 16 boutons :

Étape 1 : Cliquer sur « Détection Auto ». Domoticz vous invite alors à presser un bouton de la télécommande.

Appuyez sur le bouton, le nouveau dispositif se créée.

Domoticz : pressez le bouton de la télécommande

Étape 2 : nommer le bouton et choisir son type.

Nous nommerons les boutons selon la nomenclature suivante : « Bandeau LED : [Nom]« .

Nous les créons sous le type : « Push On Button« .

Nous allons l’ajouter en tant que dispositif principal (« Main Device »). Nous allons donc en créer un certain nombre, mais ne vous inquiétez pas, nous les cacherons ensuite.

Bandeau LED : création d'un dispositif

 

Étape 3 : configurer le dispositif pour qu’il retournent automatiquement à l’état « non appuyé » au bout d’un moment.
Comme il s’agit de boutons (même virtuels), il est important de repasser à un état « neutre » après que le bouton ait été appuyé, pour éviter que le bouton soit considéré comme appuyé en permanence.

Pour configurer cela, nous cliquons sur « Editer » sur le bouton nouvellement créé, puis nous saisissons 1 (pour « 1 seconde ») dans le délai d’extinction :

Domoticz : configuration du délai d'extinction d'un dispositif

N’oubliez pas de cliquer sur Sauvegarder. À ce stade, si vous cliquez sur l’icône d’un dispositif dans Domoticz, il répètera la fonction du bouton. Sur l’interface il s’allume en rouge 1 seconde avant de repasser en blanc.

Cacher les dispositifs correspondant aux boutons

Si chaque dispositif est affiché individuellement, nous aurons au final un total de 19 dispositifs sur l’interface (les 17 fonctions de la télécommande + les sélecteurs) juste pour le contrôle d’un seul appareil, et nous voulons éviter cela. Nous allons donc cacher les chacun des dispositifs, afin qu’il n’y ait que les sélecteurs qui apparaissent.

Pour cela, il faut aller dans la configuration de Domoticz : Réglages > Plus d’options > Plans > Périphériques par emplacement.

Domoticz : guide vers "Périphérique par emplacement"

Là, quelles que soit les salles de votre plan Domoticz (même si vous n’en avez aucune), vous aurez toujours un emplacement appelé $Hidden Devices (dispositifs cachés).

Domoticz : cacher un dispositif

Cliquez sur cet emplacement pour le sélectionner, puis choisissez un à un tous les dispositifs correspondant aux contrôles du bandeau de LED dans le menu déroulant, et cliquez sur Ajouter.

Vous devez ajouter tous les dispositifs créés à l’étape précédente, mais bien sûr, n’ajoutez pas les sélecteurs « Bandeau de LED » et « Bandeau de LED : couleurs », car nous avons besoin d’eux sur l’interface.

Il est aussi possible de cacher un dispositif dès sa création en précédant son nom du symbole $. Les deux méthodes sont valides, mais le fait de mettre un dollar dans le nom vous impose d’être vigilant si vous utilisez ce nom dans des scripts par exemple.

Associer le sélecteur aux boutons de la télécommande

Enfin, nous allons devoir faire un évènement qui fonctionne comme ceci :

Si un bouton est cliqué sur le sélecteur « Bandeau de LED »
alors envoyer la trame radio correspondante.

Pour créer cet évènement, rendez-vous dans « Réglages > Plus d’options > Événements » pour atteindre le système Blockly de gestion d’évènements.

Nous faisons alors un système conditionnel qui analyse la valeur sur notre interrupteur virtuel « Bandeau de LED », et actionne un des dispositifs parmi ceux créés plus tôt. Lorsque le dispositif est actionné, le RFXTrx envoie la trame radio correspondante.

La condition est un if – do (Si A, faire B) à laquelle on ajoute plusieurs else if – do (Sinon, si C, faire D). Voici ce à quoi ressemble le scénario dans Blockly pour les 4 premiers boutons de la télécommande :

Domoticz : script de correspondance entre un sélecteur et des dispositifs

Nous créons un autre évènement pour gérer le second sélecteur, celui des couleurs. Il est aussi possible de continuer sur le bloc existant en faisant d’autres « Else if ». À bien noter qu’il faut changer le nom du sélecteur (ce n’est plus la valeur de « Bandeau de LED » qui est testée, mais celle de « Bandeau de LED : couleurs »).

Domoticz : script de correspondance entre un sélecteur et des couleurs

Voici où trouver les divers éléments dans le menu à gauche de Blockly :

  • If – do est dans « Control ». Choisir le deuxième, avec la petite icône bleue, pour pouvoir rajouter plusieurs Else if – do.
  • La comparaison avec l’opérateur [=] est dans « Logic »
  • L’action « Set A = B » est aussi dans « Logic », ainsi que la valeur « On ».
  • L’interrupteur virtuel (« Bandeau de LED » dans notre exemple) et les différents dispositifs correspondant aux ordres radio (« Bandeau LED : On/Off », « Bandeau LED : Demo », « Bandeau LED : Mode+ », « Bandeau LED : Rouge », etc.) sont tous les deux dans « Devices > Switches ».
  • La chaîne de caractère (les guillemets qui permettent d’indiquer en toutes lettre le nom des valeurs de l’interrupteur virtuel) sont dans « User variables ». Tapez ensuite simplement les valeurs exactement comme elles sont saisies dans l’interrupteur virtuel.
  • Pour chaque nouvelle ligne « else if – do », vous pouvez directement dupliquer la comparaison « Bandeau de LED = xxx » et l’action « Set « Bandeau LED xx = On » en faisant un clic droit et en cliquant sur « Duplicate ». Il vous reste ensuite à changer certaines valeurs, mais vous n’avez pas à recréer entièrement chacun des blocs.

Résultat : un contrôleur de LED RGB 433 MHz parfaitement intégré à Domoticz !

En suivant les étapes ci-dessus, nous obtenons une très bonne intégration du contrôleur de LED RGB 433 MHz sur Domoticz, il ne reste plus qu’à cliquer sur un des sélecteurs pour lancer une action, Domoticz et le RFXCom font le reste.

Au final, nous avons une intégration propre, claire et compréhensible.

2 sélecteurs pour la télécommande RGB RF dans Domoticz

Bien sûr, certaines technologies ont un réglage plus fin des couleurs, notamment en Z-Wave où il y a plusieurs contrôleurs RGB voire RGBW qui permette la variation canal par canal et donc d’utiliser le sélecteur adapté dans Domoticz :

Sélecteur RGBW dans Domoticz

Cependant, le résultat obtenu au cours de ce guide reste satisfaisant, dans le sens où les contrôleurs de bandeau de LED en 433 MHz sont assez rares, et même si nous restons limités par le contrôle de la télécommande, c’est déjà une excellente chose que de pouvoir contrôler un bandeau de LED multicolore via un RFXCom, notamment pour tout ceux qui n’ont pas de Z-Wave dans leur installation domotique. Un exemple du côté versatile et polyvalent, à la fois du hardware (RFXTrx433 MHz) et du software (Domoticz) !

A propos de Pierre

Technophile, ludophile et bidouilleur dans l'âme, j'aborde les nouvelles technologies avec passion, curiosité et ouverture d'esprit. Je faisais partie de l'équipe de Planète Domotique de juin 2013 à mai 2017, d'où l'écriture de nombreux articles de blog pendant cette période.

2 commentaires

  1. Merci beaucoup pour ce tuto très complet.

  2. Merci pour ce tuto.
    Attention, pour certains boutons de la télécommande (comme On/Off), RFXcom ne reçoit pas les trames si le mode X10 est actif. Pour pouvoir piloter ce contrôleur, il ne faut donc pas avoir de device « X10 ».

Répondre

Votre adresse email ne sera pas publiée. Les champs obligatoires sont marqués d'une étoile *

*

Revenir en haut de la page