Broadlink RM, configuración con Homebridge

Si como yo, estas cansado de tener un mando a distancia para cada dispositivo. Quédate y te explico como solucionar ese problema con Broadlink RM y Homebridge

Todos tenemos en nuestras casas muchos dispositivos que por un lado o por otro funcionan bajo infrarrojos, ya que es una tecnología barata y muy fácil de instalar. El televisor, el aire acondicionado, algunos ventiladores o luces son algunos de ellos. Es por eso que he decidido centralizar todo el control en el dispositivo Broadlink RM. Os voy a explicar como.

Existen diversos dispositivos que funcionan como emisor-receptor de infrarrojos, yo personalmente me he decantado por el Broadlink RM, que tiene un precio bastante asequible y existe un plugin que nos permite integrarlo con Homebridge. Sin embargo, existen otras opciones como el Xiaomi IR Remote

Configuración inicial del dispositivo

Yo personalmente recomiendo leer las instrucciones del fabricante para su instalación, aun así os hago un resumen.

  1. Conectar el dispositivo a la corriente y comprobar que la luz led esté parpadeando. Eso quiere decir que está en modo configuración.
  2. Conectar nuestro teléfono a una red de 2,4 Ghz. Esto es fundamental, ya que esta versión en concreto solo tiene soporte para esta banda.
  3. Descargar la aplicación Broadlink e-Control desde la App Store.
  4. Añadimos un nuevo dispositivo Broadlink RM. La aplicación detecta automáticamente el dispositivo y lo configura con la red de nuestra casa.
  5. Para comprobar que el dispositivo esté conectado, recomiendo utilizar algún programa que nos permita ver los dispositivos conectados a nuestra red.

Una vez hecho esto, el emisor estará preparado para conectarlo con Homekit.

Configuración de Homebridge para soportar el dispositivo Broadlink

Como todo dispositivo de Homebridge, este necesita la instalación de un plugin. Vamos al terminal de nuestro HUB y escribimos los siguiente.


npm install -g homebridge-broadlink-rm

Con esto ya tendremos el plugin instalado y deberemos de pasar a la configuración del fichero JSON. Para la mayoría de instalaciones, la ruta del fichero es la siguiente /root/.homebridge/config.json. Por lo que escribimos:


nano /root/.homebridge/config.json

Editamos los parámetros necesarios para que se quede una estructura parecida a esta. Recordad que el archivo config.json varía dependiendo de los dispositivos que tengas configurado con Homebridge.


{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:30",
        "port": 51826,
        "pin": "031-45-154"
    },
    
    "description": "This is an example configuration file.",

    "accessories": [
        
    ],

    "platforms": [
        {
            "platform":"BroadlinkRM",
            "name":"Broadlink RM",
            "accessories":[
              {
               
              }
            ]
          }
    ]
}

Como podéis comprobar, esto es un ejemplo del formato. Si bien es plenamente funcional, solo nos permitirá ver si Homebridge funciona correctamente con el nuevo dispositivo. Más tarde volveremos a él. Ejecutamos:


homebridge

Si todo ha ido bien, homebridge se debería de iniciar correctamente y mostrar en el terminal un mensaje diciendo que se ha reconocido correctamente el dispositivo con su correspondiente IP.


[2019-2-8 11:26:29] [Broadlink RM] [INFO] Discovered Broadlink RM Mini (2737) at 192.168.0.154 (77:0f:78:18:37:df)

Grabando los códigos infrarrojos

Si bien funciona, actualmente el dispositivo no hace nada de nada, ni es capaz de controlar ningún aparato. Para ello, tenemos que decirle al dispositivo que códigos de infrarrojos queremos que emita cuando ejecutemos una acción en la aplicación Casa.

Interruptor learn en la app home
Interruptor Learn en la app Home

Para ello, el desarrollador del plugin ha puesto a nuestra disposición un par de accesorios que aparecerán ahora en nuestra aplicación Casa (Si ya tenemos configurado el hub de homebridge) y que nos permitirán grabar los código de infrarrojos que emiten los mandos que queremos duplicar.

El proceso de grabado se realiza de la siguiente forma, es necesario estar mirando el log de homebridge y el proceso dura unos 3 segundos, así que prepárate:

  • Paso 1: Pulsar el interruptor de Learn.
  • Paso 2: Esperar a que en el log salga la línea siguiente.

[2019-2-8 11:55:46] [Broadlink RM] Learn Code (ready)
  • Paso 3: Pulsar inmediatamente el botón del mando a distancia que queremos configurar. Asegurate de que apuntas con el al dispositivo Broadlink RM. Veremos como en log sale algo como esto, donde la ristra de números es el código infrarrojo que acabamos de capturar.

[2019-2-8 11:55:48] [Broadlink RM] [RESULT] Learn Code (learned hex code: 26005e019496113911391139111412131213121312131238123911391114111411141114111411141139111411141114121312131213123813121239113911391139113911391100060e9496113912381238121312141114111411141139113911391114111411141213121312131238121411141114111411141114113911141139113911391238123812381200060d9596113911391139111411141114111411141139123812381213121312141114111411141139111411141114111411141114123812131238123812381239113911391100060e9496113911391139111411141213121312131238123812381214111411141114111411141139111411141114111411141114123812131238123812391139113911391100060e94961139113911391213121312131213121312391139113911141114111411141114111412381213121312131213121411141139111411391139113911391238123812000d0500000000000000000000)
[2019-2-8 11:55:48] [Broadlink RM] [INFO] Learn Code (complete)
  • Paso 4: Esperar a que en el log salga una línea como esta. El proceso habrá finalizado.

[2019-2-8 11:55:48] [Broadlink RM] [INFO] Learn Code (stopped)
  • Paso 5: Repite esto con cada botón que quieras registrar.

Una vez hecho esto, ya tendremos la ristra de números que tendremos que poner en nuestro fichero JSON para que Homebridge sea capaz de enviar el pulso infrarrojo a través del dispositivo Broadlink RM.

Preparación del fichero JSON

Antes de editar el fichero JSON, recomiendo que mires la documentación del plugin, donde te enumera con detalle qué tipo de accesorios de Casa soporta el plugin. Selecciona el que más se parezca al dispositivo físico real que quieres controlar. En mi caso voy a seleccionar un interruptor para apagar y encender la televisión.

Como dice en el ejemplo, voy a editar mi fichero json, para que quede de la siguiente manera.


{
   "bridge": {
       "name": "Homebridge",
       "username": "CC:22:3D:E3:CE:30",
       "port": 51826,
       "pin": "031-45-154"
   },
  
   "description": "This is an example configuration file.",

   "accessories": [
      
   ],

   "platforms": [
       {
           "platform":"BroadlinkRM",
           "name":"Broadlink RM",
           "accessories":[
             {
               "name":"TV On/Off",
               "type":"switch",
               "data":{
                 "on":"PEGA_AQUI_TU_CODIGO_LEIDO",
                 "off":"PEGA_AQUI_TU_CODIGO_LEIDO"
               }
             }
           ]
         }
   ]
}

Fíjate que he dejado señalado el lugar donde tienes que poder la ristra de números con la frase PEGA_AQUÍ_TU_CÓDIGO_LEIDO.

Guardamos el fichero json y reiniciamos homebridge. Ahora el log debería de decirte que ha encontrado con éxito el accesorio TV On/Off. Si todo ha ido bien, al pulsar el botón TV On/Off que ahora aparece en la aplicación de casa, deberíamos poder encender y apagar la televisión.

Antes de acabar, me gustaría que tuvieras en cuenta algunas consideraciones.

  • Obviamente necesitas el dispositivo mencionado al principio del video para que todo esto funcione.
  • Si no tienes permisos para ejecutar los comandos necesarios, utiliza la palabra sudo delante de la instrucción.
  • Es posible que en la lectura de infrarrojos, algunos códigos vengan con algún signo delante. Es parte del código, no lo ignores.
  • El dispositivo emisor debe de estar en la misma habitación que el dispositivo receptor. A ser posible, sin obstáculos entre ellos.

La posibilidades que te dá este aparato son muchísimas, te animo a que mires detalladamente la documentación y que pruebes a incluir nuevos dispositivos. Aquí te dejo algunos ejemplos que he hecho yo.

dispositivos broadlink rm funcionando
Varios dispositivos funcionando en app Home

Esto es todo por mi parte, si tienes alguna duda o sugerencia no dudes en contactar conmigo a través de los métodos de contacto que pongo a tu disposición.