¡Por fin he podido añadir compatibilidad HomeKit a accesorios incompatibles como los enchufes WeMo! Algo que llevaba deseando desde que se lanzó HomeKit y de lo que (casi) había perdido la esperanza.

Este proceso que hoy quiero compartir sirve para dar compatibilidad con Apple HomeKit a cualquier accesorio usando Homebridge instalado en un Mac, aunque también existe la opción de instalarlo en un NAS o en una Raspberry Pi. Es un proceso que no dura más de 10 minutos, tras los cuales podrás controlar desde la aplicación Casa de HomeKit tus accesorios no compatibles. Suena bien, ¿no? De momento lo he hecho con WeMo, pero el siguiente va a ser el Tado AC Control Climatizador Inteligente

Créditos

Antes de nada quiero compartir cómo y dónde encontré la información, proceso que comenzó haciendo una simple búsqueda en internet que me devolvió varios resultados, entre los cuales encontré este post de iMore, este plugin de NSM y este otro post en Raging Tech que me facilitó el bueno de Manuel Arroyo.

Con toda esa información me puse manos a la obra para darle compatibilidad HomeKit a WeMo, concretamente a los dos enchufes que tengo, el WeMo Switch y el WeMo Insight, siguiendo los pasos indicados, pero me encontré con alguno que no funcionaba. Con la suma de las partes que sí funcionan he querido escribir este post para que te sirva de ayuda si lo que quieres es controlar tus accesorios incompatibles con HomeKit.

De todas formas, si lo que quieres es hacerlo con otros accesorios que no sean el WeMo te recomiendo que veas la lista completa de plugins disponibles, donde encontrarás plugins que añaden compatibilidad HomeKit a accesorios como Nest (puedes seguir este tutorial de Ruben en AppsInSwift donde detalla paso a paso la configuración), SamsungTV, TV Sony, TV LG, accesorios como el Tado o, incluso, características de los coches eléctricos Tesla, como el climatizador o la apertura y cierre de las puertas.

Utilizaré algunas capturas del proceso de iMore mezcladas con capturas mías.

Advertencia

Me veo obligado a advertirte que hagas el proceso bajo tu única responsabilidad. Yo lo he hecho y ha funcionado, pero no deja de ser “algo” que hace que productos que no tienen compatibilidad con HomeKit la tengan, con lo que desconozco qué “procesos” se salta para conseguirlo.

Para hacerlo has de tocar “Terminal”. Si te limitas a copiar y pegar los comandos que he puesto todo irá bien. No es fácil romper algo desde Terminal si no tienes conocimientos, pero por si acaso limítate a copiar y pegar.

Tampoco sé si tras hacer el proceso tu Mac pasa a formar parte de una red de Macs zombies que envía mails de spam con vídeos de Rick Astley… Así que, lo dicho, bajo tu responsabilidad.

Requerimientos

Lo primero que vas a necesitar es un Mac que esté encendido siempre en casa para hacer de “puente de HomeKit” entre los accesorios y el Apple TV. Si tienes un Mac mini o un iMac encendido siempre en casa sería lo ideal.

Imprescindible también tener un Apple TV, la “central HomeKit.

Vas a necesitar Xcode, que puedes descargar de forma gratuita desde la Mac App Store

Vas a necesitar también descargar Node.js e instalarlo como cualquier app en el Mac.

Y también necesitarás algún editor de texto que no corrija las comillas tipográficas ni guiones inteligentes. Te debería servir TextEdit siempre y cuando tengas predefinido que abra y cree los archivos en texto plano. Yo lo probé y, aún teniéndolo así, me dio error la primera vez, así que decidí seguir los pasos de la guía de iMore e instalé la aplicación que ellos recomiendan y que es gratuita: Atom, que puedes descargar desde aquí.

Con todo esto vamos a poner manos a la obra:

Añadir compatibilidad HomeKit a accesorios incompatibles tipo WeMo

Crear el servidor NodeJS

Tras haber instalado Node.js haz lo siguiente:

  • Abre Spotlight con Comando (⌘) + barra espaciadora.
  • Escribe “Terminal” y pulsa Enter
  • Cuando se abra la app Terminal entra el siguiente comando para instalar Homebridge:

sudo npm install -g --unsafe-perm homebridge

  • Homebridge se instalará. Espera a que se complete el proceso.
  • Una vez haya finalizado escribe homebridgey pulsa Enter.
  • Debería aparecerte el siguiente mensaje:

No plugins found. See the README for information on installing plugins.

¡Esto significa que Homebridge ya se ha instalado en tu Mac!

  • Sal de Homebridge con esta combinación de teclas: Control ⌃ + C.

captura de iMore

Crear el archivo de configuración

Parar poder añadir accesorios al sistema HomeKit (Casa) con Homebridge son necesarias dos cosas: El plugin de tu accesorio (que más adelante veremos cómo instalarlo) y una pequeña modificación en el archivo de configuración del Homebridge. Para esto último deberás crear el archivo de configuración siguiendo estos pasos:

  • Abre una ventana de Finder y pulsa la combinación de teclas Mayúsculas (⇧) + Comando (⌘) + G para que aparezca el diálogo “Ir a la carpeta”
  • Pega la siguiente ruta en la ventana de “Ir a la carpeta” y pulsa Enter:

/usr/local/lib/node_modules/homebridge

  • Copia el archivo llamado config-sample.json a tu Escritorio.
  • Abre otra ventana nueva de Finder y pulsa Mayúsculas (⇧) + Comando (⌘) + G para abrir otra vez el diálogo “Ir a la carpeta”
  • Pega el siguiente comando y pulsa Enter:

~/.homebridge

  • Ahora copia el archivo config-sample.json que antes has puesto en tu escritorio y pégalo en la carpeta .homebridge que te ha aparecido.
  • Renombra el archivo config.json (borra la parte -sample del nombre).

Añadir compatibilidad HomeKit a accesorios tipo WeMo 2captura de iMore

En este punto ya habrás creado el archivo necesario para hacer que todo funcione, archivo que ahora tocará modificar y, para ello, como ya te he dicho antes, te recomiendo algún editor de texto que no corrija las comillas tipográficas ni guiones inteligentes. Yo decidí seguir los pasos de la guía de iMore e instalé la aplicación que ellos recomiendan y que es gratuita: Atom, que puedes descargar desde aquí.

El archivo de configuración

Ahora toca abrir el archivo de configuración del Homebridge que has creado en ~/.homebridge. Ya sabes, botón derecho y Abrir con Atom.

Te recomiendo borrar todo lo que aparece y dejarlo así antes de seguir:

{

"bridge": {

"name": "Homebridge",

"username": "CC:22:3D:E3:CE:30",

"port": 51826,

"pin": "031-45-154"

},

"description": "este es un ejemplo de archivo de configuración. Úsalo como plantilla para crear tu propia configuración.",

"accessories": [ ],

"platforms": []

}

Cómo instalar los plugins

Ahora toca buscar el plugin que necesitas (en mi caso y en este ejemplo el de WeMo)

  1. Visita la página de NPM donde está el plugin de WeMo.
  2. Abre Terminal e introduce este código:
    npm install -g homebridge-platform-wemo

  3. Esto instalará el plugin necesario para hacer que tus accesorios WeMo tengan compatibilidad HomeKit.

  4. Si te fijas en la página de NPM verás que hay una sección de Configuración con un ejemplo. Yo te voy a poner enseguida la configuración tal y como la he puesto yo con mis accesorios WeMo.
  5. Abre el archivo de configuración (el que antes habías copiado en ~/.homebridge) con el editor de texto Atom.
  6. Pega el texto del ejemplo de configuración, teniendo en cuenta lo siguiente:
  • Donde pone "BelkinWeMo_name" tienes que poner el nombre de tu dispositivo WeMo exactamente igual que lo tienes en la app de WeMo en tu iPhone. En mi caso he puesto WeMo Switch y WeMo Insight que es tal y como están en la app.
  • Donde pone "name" tienes que poner el nombre que quieres que aparezca en la App “Casa”, que también será el nombre que utilices cuando quieras usar el WeMo con Siri, por ejemplo, lámparao enchufe

Así debería quedar tu archivo (con los nombres de tus dispositivos)

`{

"bridge": {
    "name": "Homebridge",
    "username": "CC:22:3D:E3:CE:30",
    "port": 51826,
    "pin": "031-45-154"
},

"description": "Esta es nuestra configuración Homebridge",

"platforms": [
    {
        "platform": "BelkinWeMo",
        "name": "Enchufe",
        "description": "WeMo Switch",
        "BelkinWeMo_name": "WeMo Switch"
    },
    {
        "platform": "BelkinWeMo",
        "name": "Lámpara",
        "description": "WeMo Insight",
        "BelkinWeMo_name": "WeMo Insight"
    },
    {
        "platform": "BelkinWeMo",
        "name": "Detector movimiento",
        "description": "WeMo Motion",
        "BelkinWeMo_name": "WeMo Motion"
    }
]
}`
  • Guarda el archivo que acabas de modificar, el config.json

A probar si funciona lo hecho hasta ahora

Ahora toca comprobar que todo funciona, abriendo Terminal y poniendo el comando siguiente comando y pulsando Enter

homebridge

Deberías ver cómo Homebridge detecta los accesorios que has configurado.

Si te aparece esto es que lo has hecho todo bien.

Conectar el Homebridge a tu Casa HomeKit

Ahora toca añadir los accesorios WeMo a la aplicación Casa, para ello sigue estos pasos:

  1. Asegúrate de tener abierto Terminal en tu Mac.
  2. Escribe homebridge y pulsa Enter.
  3. Se lanzará Homebridge.
  4. Abre la aplicación Casa en tu iPhone (estando conectado a la misma red que tu Mac).
  5. Pulsa el botón añadir de la parte superior derecha de la pantalla (+).
  6. Pulsa en Añadir un accessorio.
  7. Pulsa en el accesorio Homebridge
  8. Te aparecerá una alerta que dice, “This accessory is not certified and may not work reliably with HomeKit.” pulsa en añadir igualmente.
  9. Pulsa ahora en añadir el código de forma manual que aparece en la parte inferior.
  10. Entra el código, que debería ser 031-45-154
  11. Añade el “accesorio” Homebridge y pulsa siguiente.
  12. Añade ahora tu accesorio WeMo (o tus accesorios WeMo).

captura de iMore

Y… ¡BOOOM! Si lo has hecho todo bien ya puedes disfrutar de tus accesorios WeMo en HomeKit y controlarlos desde tu iPhone.

Recomendaciones

  • Recuerda que tu Mac tiene que estar encendido para que funcione.
  • Recuerda también que tiene que estar conectado a la misma red (WiFi o LAN) que tus accesorios WeMo. Si lo usas en casa no deberías tener problema a no ser que tengas 2 routers / 2 redes distintas.
  • Recuerda, por último, que Terminal tiene que estar abierto y corriendo Homebridge. Para ello lo recomendable es que crees un servicio que se inicie cada vez que inicies tu Mac, aunque también puedes no hacerlo y limitarte simplemente a abrir Terminal e introducir homebridgey pulsar Enter. Si optas por crear el servicio te pongo los pasos (opcionales) a continuación:

Crear el servicio

Actualización 15/07/17
Lo ideal es crear un servicio que haga que Homebridge arranque al encender el Mac o que se levante si se cae. Añado cómo hacerlo, pasos que me ha enviado el bueno de Frank de Batería 2×100.

Para establecer Homebridge como un servicio y que arranque desde el inicio o si “crashea”

  • Crear en launchd un fichero plist en ~/Library/LaunchAgents
  • Contenido de este fichero (crear en Atom por ejemplo)
  • Donde hay /Path/to/logfile.log, sustituirlo por una ruta real
    Por ejemplo, podéis crear una carpeta LogHomebridge en /Users/apple/Documents/LogHomeBridge/logfile.log

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd …"> <plist version="1.0"> <dict> <key>RunAtLoad</key> <true/> <key>KeepAlive</key> <true/> <key>Label</key> <string>com.homebridge.server</string> <key>ProgramArguments</key> <array> <string>/usr/local/bin/homebridge</string> <string>-I</string> </array> <key>StandardOutPath</key> <string>/path/to/logfile.log</string> <key>StandardErrorPath</key> <string>/path/to/logfile.log</string> <key>EnvironmentVariables</key> <dict> <key>PATH</key> <string>/usr/local/bin/:$PATH</string> </dict> </dict> </plist>
  • Ejecutar en terminal :
launchctl load ~/Library/LaunchAgents/com.homebridge.server.plist

¡Y ya está!

Compra un WeMo y a disfrutarlo con HomeKit

Te invito a probar alguno de los productos WeMo y que los integres en tu ecosistema HomeKit, la domótica convertida en comodidad de la mano de Apple.