Vous connaissez peut-être la passerelle IR/RF Wifi RM2 ou RM-Pro de nos amis chinois de chez Broadlink.
Pour rappel : ce petit boitier vous permet de piloter des équipements infrarouges (TV, ampli…) ou radio-fréquences (prises télécommandées…) à partir de votre smartphone.
Le fonctionnement est simple : vous lui apprenez les codes de chaque commande à partir de la télécommande originale et le RM-Pro est capable de la reproduire.
Ce n’est pas le seul me direz vous. Entre les Kira 128, Global Cache et autres projets DIY, il y a de quoi faire. Oui, mais le RM-Pro est vendu aux alentours de 35-40€ (vous pouvez maintenant jeter un coup d’œil à son concurrent direct Orvibo, plus ouvert mais qui ne propose pas l’apprentissage RF).
Alors comment intégrer cet outil à notre domotique ? C’est quasiment impossible. Quasiment, à part pour deux hargneux à qui l’ont doit un grand merci : Fabien Lefebvre et Jochen Ruehl (le créateur de PAW Server).
Ces deux-là ont réussi l’impossible : décrypter le SDK hyper fermé de Broadlink et les convaincre d’accepter qu’un outil tierce soit créé pour piloter leur produit.
Ils ont créé RM Bridge. Merci !
Update : Nouvelle version RM Bridge v1.2.0
La nouvelle version RM Bridge permet maintenant de se passer, si besoin, de l’outil Windows et ne nécessite maintenant qu’un device sous Android !
Téléchargez l’app RM-Bridge sur Google Play. Installez-la sur votre device Android. Mémorisez l’adresse IP de celui-ci (que vous aurez fixée auparavant) ainsi que le port utilisé.
Rendez-vous ensuite directement ici, sur le site de Jochen, pour configurer vos différents devices IR ou RF grâce à l’outil qu’il a conçu.
Vous pouvez ensuite utiliser très simplement des requêtes http du type :
http://IP-PASSERELLE:PORT/code/NOM-DE-LA-COMMANDE-ENREGISTREE
Fonctionnement (version utilisant l’outil Windows RM Commander Tool)
La mise en place n’est pas si simple et on ne peut pas à proprement parler d’une API toute faite, Broadlink s’y refusant et le SDK Android étant obligatoire pour communiquer avec le RM-Pro.
Fabien et Jochen ont donc du concevoir un bridge pour faire le lien avec la passerelle RM-Pro : RM Bridge. Le fonctionnement est le suivant :
script > RM Bridge > RM-Pro > appareil IR ou RF
Mise en place
Pour communiquer avec le RM-Pro vous aurez besoin de :
- un appareil sous Android pour faire tourner l’application RM Bridge (un smartphone, une box TV…)
- un PC sous windows pour faire tourner l’outil RM Commander Builder Tools qui permettra d’apprendre les codes IR et RF de vos appareils
- n’oubliez pas que tous ce petit monde doit se trouver sur le même réseau !
1- Installation de la passerelle RM Bridge
Rendez-vous sur le site créé par Fabien pour présenter RM Bridge : domo-assist.
Suivez le lien vers la page Google Play RM Bridge et installez l’application. N’oubliez pas de lancer le serveur une fois l’installation terminée.
2- Installation de RM Commander Builder Tools
RM Commander Builder Tools est l’outil développé par Fabien pour vous permettre de récupérer les codes IR et RF de vos télécommandes.
Il utilise Curl : commencez donc par l’installer si vous ne l’avez pas déjà en téléchargeant la bonne version ici.
Veillez à installer Curl à la racine c:/curl/ de votre disque dur sinon RM Commander Builder Tools ne le retrouvera pas.
Pour ma part, j’ai également été obligé de copier les fichier présents dans le dossier c:/curl/bin/ à la racine c:/curl/ sinonRM Commander Builder Tools ne les trouvait pas.
Ensuite télécharger le programme RM Commander Builder Tools sur le site domo-assist et installez-le.
Configurez l’adresse IP + port de votre RM Bridge.
Puis suivez les instructions pour enregistrer vos premiers codes. Ceux-ci seront toujours stockés sous forme de fichiers .cbe dans le dossier c:/coder/codes/ .
3- Utilisation du RM-Pro avec un script via le Android RM Bridge
Nous arrivons enfin à la partie qui nous intéresse : intégrer le RM Bridge et le RM-Pro à un système domotique. Pour ma part et pour cet article j’utilise Jeedom, mais vous trouverez sur le site domo-assist les utilisations Linux et DOS.
Alors comment ça marche ?
Jeedom va exécuter un script qui utilisera plusieurs fichiers, dont les codes que vous avez créés, pour envoyer une commande au bridge qui la traduira pour le RM-Pro qui pilotera votre appareil. Je vous ai perdu ? Ne vous inquiétez pas, dans les faits l’exécution de la commande est très rapide !
Récupérez les fichiers nécessaires
Vous devez récupérer ces éléments dans le dossier c:/coder/ et les transférer dans le dossier de votre choix sur votre Jeedom :
- ini.d2l
- choice.d2l
- tout le contenu du dossier c:/coder/codes/
Vous devez maintenant créer le script qui permettra de communiquer avec le RM Bridge.
Créez donc le nouveau script sendir.sh avec pour contenu :
!/bin/sh echo $1 echo $2 echo $3 curl -H "Content-Type: application/json" -X POST -d @$1init.d2l $3 curl -H "Content-Type: application/json" -X POST -d @$1choice.d2l $3 curl -H "Content-Type: application/json" -X POST -d @$1$2 $3
Vous devez maintenant insérer la bonne requête pour indiquer à Jeedom quoi exécuter et comment. Elle est du type :
/usr/share/nginx/www/jeedom/plugins/script/core/ressources/sendir.sh /usr/share/nginx/www/jeedom/plugins/script/core/ressources/ denonoff.cbe http://xxx.xxx.xxx.xxx:xxxx
La première partie correspond à l’emplacement du script sendir.sh :
/usr/share/nginx/www/jeedom/plugins/script/core/ressources/sendir.sh
La deuxième partie correspond à l’emplacement des vos fichiers de codes IR ou RF :
/usr/share/nginx/www/jeedom/plugins/script/core/ressources/
La troisième partie correspond au nom du fichier de code IR ou RF à lire :
denonoff.cbe
Et la quatrième partie correspond à l’adresse IP + port du serveur RM Bridge (affichée sur l’application).
Attention à bien ajouter un espace entre chaque partie !! (c.f. la requête complète ci-dessus)
Il ne vous reste plus qu’à créer autant de commandes que vous avez de codes différents.
Done! Vous voilà avec un Jeedom (ou plus largement un système domotique) qui cause IR et RF pour 40€ et un peu d’huile de coude !
Si vous avez des questions sur le sujet, Fabien a mis en place un forum dédié.
Un très grand merci à Fabien et à Jochen pour leur travail formidable !
septembre 09, 2015
Hello,
Dans tes explications, il serait bon de mettre en prérequis qu’il faut un android avec l’application rm bridge constamment allumé en plus de sa box domotique.
Je n’ai lus que les grandes lignes, mais c’est bien ce qu’il faut apparemment, broadlink utilise exclusivement le sdk google et impossible de donner les données du code directement au rm-pro… Ils sont peu ouverts…
Belgotux
PS : mettre un timeout sur le chapchat de ton blog est pas une bonne idée, c’est même très lourd car risque de perdre son comm en allant en arrière
octobre 10, 2015
Cela me semblait assez clair concernant l’utilisation un device Android obligatoire. Effectivement, ils sont très peu ouverts…
PS : pour le timeout, aucune idée ;)
décembre 12, 2016
Super tuto, merci beaucoup.
Pour information, j’ai un RM3 Mini et bien qu’il ne soit pas détecté par l’application du site de Jochen, il suffit de l’ajouter manuellement en indiquant son nom, son adresse MAC et le type RM2.
décembre 12, 2016
Merci pour l’info !