Broadlink RM Pro/Mini & Domoticz, une histoire de script…

Lors d’un bon plan, je vous ai parlé d’un appareil capable d’envoyer des commandes Infra rouge et Radio (433 Mhz) à vos appareils : le Broadlink RM pro et Mini

Il est temps de l’inclure dans votre Domotique et de le faire interagir avec Domoticz.

Nativement, Domoticz ne peut pas encore lui parler simplement, il va falloir passer par des lignes de commandes et des scripts Python

Il faut aussi fournir une adresse IP fixe à votre Broadlink (Voir comment faire avec votre BOX/ROUTEUR)

INSTALLATION DE PYTHON PIP GIT & DES LIBRAIRIES BROADLINK

Connectez vous en SSH grâce à PuTTY à votre serveur domotique

Puis saisissez :

Python a besoin d’une base de donnée pour télécharger certains éléments complémentaires « les librairies » : pip

Pour l’installer :

Enfin nous allons installer la librairie qui va nous permettre de « parler » avec notre Rm Pro / RM Mini, pour ce faire nous allons copier le Github (site de développeur) où se trouve la librairie :

On installe GIT :

Puis on copie la librairie :

Elle s’installe dans le répertoire où vous vous trouvez :

Elle s’appelle python-broadlink

On y accède en saisissant :

Il faut installer la librairie en saisissant :

CREATION DES FICHIERS D’APPRENTISSAGE ET D’ENVOI DES COMMANDES

Une fois la librairie installée, il faut créer deux fichiers :

  • un pour apprendre/copier le code de votre télécommande
  • un pour envoyer le code appris précédemment

Pour ce faire nous avons besoin de 2 informations :

L’adresse IP de votre Broadlink RM Pro/mini sous la forme : 123.456.789.011

L’adresse Mac de votre Broadlink RM Pro/Mini sous la forme 12:23:34:45:56:67 qui se transforme en 12 23 34 45 56 67 (on enleve les « : »)

Il existe un script Python qui va vous aider pour cela :

on va créer un fichier locatrm.py :

Puis y coller (un clique droit de votre souris va coller automatiquement le texte sélectionné ci dessous) :

Ensuite on l’exécute et il va trouver tout seul notre Broadlink RM Pro/Mini :

Ici l’ip est 192.168.0.161 et l’adresse mac b4 43 0d d1 13 ed

CREATION DU FICHIER D’APPRENTISSAGE

Nous allons maintenant créer le fichier d’apprentissage  :

Et copier ceci dedans : (un clique droit de votre souris va coller automatiquement le texte sélectionné ci dessous) :

ATTENTION DE BIEN METTRE VOTRE ADRESSE IP ET MAC A LA LIGNE

CREATION DU FICHIER D’ENVOI

Maintenant le script pour émettre les ordres :

Et y coller ceci : (un clique droit de votre souris va coller automatiquement le texte sélectionné ci dessous) :

ATTENTION DE BIEN METTRE VOTRE ADRESSE IP ET MAC A LA LIGNE

Nous allons maintenant essayer nos scripts :

ENREGISTRER UN CODE/UN ORDRE :

Attraper votre télécommande Infra Rouge ou « Radio 433 Mhz »

Puis taper (pas trop fort) :

Le script va alors se connecter à votre passerelle et vous demander le nom de la touche que vous voulez « copier » (e.g tvOff est un exemple, que j’ai repris)

Faire la même manipulation pour la touche qui allume la TV et la nommer tvOn

Ensuite votre passerelle va s’éclairer :

Et le script va vous demander d’appuyer sur la touche pendant 5 secondes :

  • Pour une télécommande Infra Rouge, pointez la vers la passerelle tout en étant assez prés
  • Pour une télécommande Radio placez vous assez près de la passerelle pour éviter les interférences

Une fois le code enregistré la led s’éteint et le script vous confirme que le code a été enregistré sous le nom tvOff.txt.

ENVOYER UN CODE / UN ORDRE

Il vous faut saisir :

tvOff.txt étant le nom du fichier correspondant à l’ordre que vous souhaitez envoyer.

Le script va alors se connecter à votre passerelle et envoyer l’ordre Off à votre appareil (n’oubliez pas de l’allumer avant !)

Le led de la passerelle doit s’éclairer :

Une fois le test réussi, il faut de nouveau éditer le fichier play.py :

et commenter les lignes de print et time à partir de la ligne 19 en ajoutant des # devant ce qui donne :

Cela a pour but de rendre le script Muet et va accélérer le temps de réaction de Domoticz.

 

 

 

Vous devrez enregistrer et jouer chaque touche que vous voulez ajouter en faisant les manipulations de Learn & Play à chaque fois, en attendant qu’un plugin Broadlink arrive sur Domoticz, le bon côté de la chose c’est qu’au moins vous savez comment cela fonctionne !

Il est temps de faire une pause :

INTEGRATION DANS DOMOTICZ

Une fois que cela fonctionne vous allez devoir copier les fichiers learn.py, play.py et tvOff.txt dans le répertoire scripts/python de Domoticz

Puis créer un Interrupteur Virtuel de type ON/OFF : Réglages->Materiels->Dummy->Interrupteur

Ensuite nous allons l’éditer :

Et placer cette ligne dans la case action ON :

et dans la case action OFF :

 

Quelques explications :

Indique à Domoticz que si l’interrupteur passe à On il faut exécuter un script.

 

Indique à Domoticz quel script il doit utiliser et son emplacement, souvenez vous play.py c’est celui qui lance/envoi les ordres et nous l’avons copié dans /home/pi/domoticz/scripts/python/

 

C’est l’emplacement du fichier .txt qui contient le code que la passerelle doit envoyer

 

« Oui mais moi ma Tv c’est le même bouton pour ON et OFF ! »

Pas de soucis, que des solutions, après avoir enregistré le bouton, suivre la même procédure, jusqu’à l’édition de l’interrupteur, mais il faut y mettre deux fois la même ligne dans action On et action Off

En personnalisant l’icône, on a quelque chose de très sympa :

 

Et voilà, grâce à cette démarche et à un bon plan, plus rien ne vous échappe, TV, ampoules, amplis, barres de son, aspirateurs robots, prises commandées, sèches serviettes, radiateurs, quasiment tous les appareils en Infra Rouge et en radio 433Mhz peuvent être pilotés et automatisés (Sauf ceux à code tournant, Nice, Came, Somfy RTS).

Prochaine étape ? Votre passerelle à un capteur de température intégrée, nous allons pouvoir l’ajouter à Domoticz.

 

Source : https://www.domoticz.com/forum/viewtopic.php?f=17&t=6929

21 Replies to “Broadlink RM Pro/Mini & Domoticz : Envoyer des ordres Infrarouge et Radio”

  1. Bonjour,

    J’ai commandé Le broadlink mIni grace à votre code et je vous en remercie bien…
    Je l’ai receptionné, il fonctionne bien depuis l’interface android…

    mais (et oui il y a un mais)…

    Impossible de faire marcher les scripts ci-dessus…
    Dés le 1er « locatrm.py » pour « localiser le « broadlink » erreur…
    Celle-ci semble liè à un dépendence « Crypto Cypher »

    En vérifiant chaque étape, il semble y avoir des erreurs dés le  »
    python setup.py install »

    Pour info, en plus des commandes préalables, j’avais bien lancé les apt-get update et upgrade…

    Et j’ai essayé sur un raspberry avec Raspbian Jessis Lite ainsi que sur une « image » Domoticz.

    Si vous aviez une piste…

    Merci,
    Bien Cordialement,

    Cyril

     
  2. Bonjour,

    Je te remercie beaucoup pour cet indice… il manque effectivement quelque chose..

    J’ai tenté plusieurs choses :
    – sudo pip install crypto (ce que tu m’as indiqué)
    mais aussi
    – sudo install pycrypto
    – sudo apt-get install python-crypto
    …sans succès..

    Je n’ai réussi qu’après un :
    sudo apt-get install python-dev libgmp-dev

    et maintenant ça marche nickel…
    Alors si ça peut dépanner d’autres personnes…

    Bien Cordialement,

    Cyril

     
  3. Bonjour
    petite question et pour ceux qui ont Domoticz sous Windows ?
    je commence à m’interesser à Domoticz et j’ai 2 solutions :
    1) un Raspberry Pi3
    2) Une tablette PC windows 10
    Aujourd’hui j’utilise la tablette PC comme serveur avec iSpy pour mes caméra, Fillezilla server etc.. et je pensais utiliser le Raspberry pour un smart mirror. Donc je voudrais installer Domoticz sur ma tablette Windows. J’ai également un Broadlink mini qui marche super bien aujourd’hui pour controler ma clim. Je me demande donc si votre astuce peux marcher sur une installation de Domoticz autre que linux.
    Merci de votre aide 😉

     
    1. Bonjour,

      Oui tu peux l’adapter a une installation Windows, il te suffit d’avoir Python Installé, je ne l’ai pas fait donc je ne peux pas t’aider désolé.

      L’autre solution serait d’utiliser une RPIZero W (version avec wifi et bluetooth) pour ton mirroir.

       
      1. ok super merci,
        donc faut installer Domoticz pour windows + Python.
        En fait j’ai déjà le Raspberry qui traine quelque part et je voudrais éviter d’avoir plein de serveur.. comme j’ai une tablette PC (HP Envy 2, intel core M, 4GB ram etc..) qui sert à rien et donc reconvertie en server FTP + CCTV + Seedbox je veux y ajouter Domoticz et garder le Rpi pour « jouer » 😉
        merci de l’info je vais regarder comment faire.

         
        1. Ok !

          Le plus simple sinon et si la teblette le permet :
          – mettre VM player dessus (une app qui crée un PC virtuel) et installer Debian sur cette VM

          Ainsi tu restes sur un system Linux pour ton Domoticz, avec la possibilité de sauvegarder complètement ta VM et ainsi ton installation, en cas de soucis hop tu restaures un vm sauvegarder la veille et voila.

           
          1. Hoooo mais oui !! je pourrais accéder à l’interface web depuis une autre machine ? j’ai jamais fait de VM mais je suppose que l’adress IP est partagée et que c’est transparent niveau utilisation.
            merci pour l’idée !

             
          2. c’est meme mieux ! VM pLayer te permet de crée une carte reseau virtuel, ainsi ta machine Virtuel a sa propre IP elle toute seul, tu peux ainsi y acceder partout et avec n’importe quoi (Web browser, ssh, ftp etc etc)

             
  4. Hello,

    Thanks for this compilation! I’m trying to get this to work but I’m getting an error message as copied below. Hope someone could help…

    pi@raspberrypi:~/python-broadlink $ python locatrm.py
    ************************************************
    Using python library created by Matthew Garrett
    https://github.com/mjg59/python-broadlink
    ************************************************
    Scanning network for Broadlink devices….
    Found 1 broadlink devices
    ……………
    Device 1 Host address = ‘192.168.1.65’, 80
    Device 1 MAC address = b5 43 0d fb e4 07
    ……………
    pi@raspberrypi:~/python-broadlink $ sudo nano learn.py
    pi@raspberrypi:~/python-broadlink $ python learn.py
    File « learn.py », line 27
    else :
    ^
    SyntaxError: invalid syntax

     
      1. That’s great Deennoo. They seem to have done testings on windows, any RPI3 support? I followed the link on wiki ( http://www.domoticz.com/wiki/Plugins/BroadlinkRM2.html ) and I can’t seem to get the Broadlink RM2 to show on the list after reboot.

        I ran the following lines and I did see it install…

        ~ $ sudo pip3 install Crypto
        ~ $ sudo pip3 install broadlink
        ~ $ sudo cp -r /usr/local/lib/python3.4/dist-packages/Crypto/ /usr/lib/python3.4/
        ~ $ sudo cp -r /usr/local/lib/python3.4/dist-packages/broadlink /usr/lib/python3.4/
        ~ $ sudo service domoticz restart

         
          1. a dumb question… what should I do with the zip file or where should it be copied to?

            I tried installing Python 3.5 by running the following script. It does it thing and the end I get this

            pi@raspberrypi:~ $ python –version
            Python 2.7.9
            pi@raspberrypi:~ $ python3 –version
            Python 3.5.1
            pi@raspberrypi:~ $ python –version
            Python 2.7.9
            pi@raspberrypi:~ $

            Installing Python 3.5.1
            cd ~
            wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
            tar -zxvf Python-3.5.1.tgz
            cd Python-3.5.1
            ./configure && make && sudo make install

             

Laisser un commentaire