Header Ads Widget

Ticker

6/recent/ticker-posts

Cómo conectar cualquier dispositivo inteligente a HomeKit (con una Raspberry Pi)

 

Raspberry Pi con el logotipo de Homekit

Muchos dispositivos inteligentes omiten la compatibilidad con Apple HomeKit y se integran solo con Alexa, Google y otras plataformas. Sin embargo, con este truco de Raspberry Pi, puede agregar compatibilidad con HomeKit a cualquier dispositivo inteligente con el software Homebridge de código abierto.

HomeKit para cualquier dispositivo inteligente

Si está todo incluido en HomeKit, un gran problema es la cantidad de dispositivos inteligentes que lo admiten. Por ejemplo, lo único que frena algunas bombillas inteligentes de bajo costo es su falta de compatibilidad con HomeKit. La elección de Amazon para una "bombilla de luz inteligente" es un paquete de cuatro de TECKIN, que, en este momento, cuesta alrededor de $ 40, menos que una sola bombilla LIFX.

Luces inteligentes Tuya

Claro, no son tan premium como LIFX; los colores no son tan vibrantes y emiten un zumbido audible en el baño, pero por $ 10 cada uno, tienen un valor inmejorable.

Sin embargo, el problema principal es que no tienen soporte para HomeKit. No son del todo tontos: funcionan con Google Home, Alexa, IFTTT y la aplicación del fabricante. Están bien para alguien que solo tiene bombillas inteligentes TECKIN.

Sin embargo, debido a que no puede acceder a ellos desde HomeKit, no puede controlarlos desde la aplicación Inicio, el widget en el Centro de control o Siri. Tampoco puede incluirlos en escenas con bombillas de otras marcas o usarlos en Automatizaciones. Si ya ha invertido en HomeKit, lo más probable es que esto sea un factor decisivo.

Conoce Homebridge

Afortunadamente, hay un truco que hace que estas bombillas en particular sean mucho más útiles. La API de HomeKit permite que dispositivos llamados puentes, como este de Philips Hue, conecten dispositivos secundarios que operan en otros protocolos. Simplemente agrega el puente como un dispositivo en HomeKit, y registra cada luz conectada a él en HomeKit. Cada vez que solicita la actualización de una luz, su teléfono habla con el puente y el puente habla con la luz.

Entonces, un puente simplemente transmite información de una API a otra. Debido a que puede controlar las bombillas TECKIN a través de Internet, es completamente posible conectarlas a HomeKit con solo software; no se requiere hardware propietario.

Si tiene una Raspberry Pi por ahí (una Pi Zero de $ 5 está bien), puede configurarla como un puente con un marco llamado HomebridgeEsta ligera aplicación NodeJS emula la API de HomeKit y reenvía solicitudes a sus dispositivos inteligentes que no son de HomeKit.

Básicamente, lo ejecuta en el Pi y agrega cada dispositivo 'tonto' a la aplicación Home. Cuando intenta controlar la bombilla a través de la aplicación Home o Siri, Homebridge habla con los dispositivos por usted. Después de configurarlo, es como si el dispositivo tuviera compatibilidad con HomeKit en primer lugar.

Esto requiere que el dispositivo ejecute Homebridge en todo momento, por lo que esto no es algo que instalaría en su computadora portátil. Una Raspberry Pi es ideal, pero si tiene un dispositivo antiguo que puede reutilizar como servidor o escritorio que siempre está en funcionamiento, puede instalarlo allí.

Homebridge es un marco y puede ampliarlo con complementos. Tiene un respaldo de la comunidad bastante grande, por lo que es muy probable que cualquier dispositivo inteligente dado tenga un complemento Homebridge para agregar soporte. Si su dispositivo no tiene un complemento, pero su dispositivo inteligente tiene una API, y usted es experto en tecnología, puede escribir uno usted mismo.

Para la mayoría de las personas, sin embargo, la configuración es solo instalar Homebridge y el complemento de marca para el dispositivo, junto con un poco de configuración. Si puede usar la línea de comandos y tiene un poco de tiempo, es bastante fácil.

Instalación y configuración de Homebridge

Homebridge es una aplicación NodeJS, por lo que debe instalarla  node y npm usarla. Si su máquina ejecuta Linux, probablemente pueda obtenerla de su administrador de paquetes.

En Ubuntu, debe escribir lo siguiente para configurar el repositorio de Node manualmente y luego instalar nodejs:

curl -sL https://deb.nodesource.com/setup_13.x | sudo -E bash -
sudo apt-get install -y nodejs

De lo contrario, puede consultar la página de descarga de Node para obtener información sobre cómo instalarlo para su sistema operativo en particular.

Si está en Linux, también necesita instalar algunas dependencias, como se muestra a continuación:

sudo apt-get install libavahi-compat-libdnssd-dev

Luego, puede instalar Homebridge globalmente a través npm, como se muestra a continuación:

sudo npm install -g --unsafe-perm homebridge

También desea instalar los complementos de marca que necesita, ya que Homebridge es solo un marco. Para las bombillas TECKIN, por ejemplo, el complemento es  homebridge-tuya-web, que también se instala a nivel mundial.

Escriba lo siguiente:

npm i homebridge-tuya-web -g

Después de que todo esté instalado, ¡puedes usarlo! Escriba lo siguiente para ejecutar Homebridge una vez e inicializar todo:

Homebridge

Se quejará de la falta de configuración, que debe crear. El directorio predeterminado es ~/.homebridge/, pero puede usar el -U parámetro si desea moverlo.

Escriba lo siguiente para crear un nuevo archivo de configuración JSON en esta carpeta:

nano ~ / .homebridge / config.json

Independientemente de los complementos que utilice, necesita la siguiente configuración básica:

{
  "puente": {
    "name": "Homebridge",
    "nombre de usuario": "CC: 22: 3D: E3: CE: 30",
    "puerto": 51826,
    "pin": "031-45-154"
  },

  "description": "Servidor HomeBridge personalizado",

  "puertos": {
    "inicio": 52100,
    "fin": 52150,
  },

  "plataformas": [

  ]
}

Esto configura Homebridge con un puerto, un nombre, un PIN y un rango de puertos predeterminados disponibles para asignar a otros dispositivos.

Dentro de la platforms matriz vacía , coloca la configuración para cada complemento. Debería poder encontrar instrucciones y ejemplos de esto en la página de GitHub de cada complemento.

En el siguiente ejemplo, el homebridge-tuya-web complemento para las bombillas TECKIN quiere saber mi nombre de usuario y contraseña para conectarse a la API de la aplicación de la bombilla, y algunas otras cosas:

  "plataformas": [
     {
       "plataforma": "TuyaWebPlatform",
       "nombre": "TuyaWebPlatform",
       "opciones":
         {
           "username": "nombre de usuario",
           "contraseña": "contraseña",
           "countryCode": "1",
           "plataforma": "smart_life",
           "pollingInterval": 10
         }
     }
   ]

Una vez que todo esté configurado, Homebridge debería estar listo para funcionar. Ejecútelo de nuevo y su terminal debería mostrar un código QR gigante que podría obligarlo a alejarse. Escanee esto con la aplicación Home para agregarlo y todos los dispositivos conectados a HomeKit.

Código QR en la terminal

Homebridge carga sus complementos y debe registrar un mensaje en la pantalla para cada dispositivo que encuentre. Debería verlos todos en HomeKit después de que se agreguen, y deberían ser completamente funcionales.

Noté un ligero retraso en comparación con mis bombillas LIFX. Probablemente esto se deba a que las bombillas se controlan a través de una API en lugar de directamente. Al principio, las bombillas tampoco mostraban algunos blancos y blancos cálidos correctamente, pero después de algunos ajustes, pude configurar las escenas adecuadas.

Siempre puede configurar los dispositivos en sus propias aplicaciones, esperar a que la aplicación Home se actualice y luego configurar la escena en HomeKit con la configuración prefabricada.

Si necesita volver a agregar Homebridge, querrá eliminar la persist/ carpeta en el directorio de configuración y luego eliminar el puente de HomeKit de la configuración de cualquier bombilla conectada en la pestaña "Puente".

Agregar Homebridge como servicio

Si desea que Homebridge se ejecute todo el tiempo, probablemente desee configurarlo para que se reinicie si falla o si su Raspberry Pi se reinicia. Puede hacerlo a través de un servicio Unix. Configure esto después de haber verificado que Homebridge funciona según lo previsto.

Primero, agregue un nuevo usuario de servicio, llamado homebridge:

sudo useradd -M --system homebridge

Establecer una contraseña:

sudo passwd homebridge

A continuación, tendrá que mover la homebridgeconfiguración fuera de su directorio personal personal. /var/lib/homebridge/ debería estar bien:

sudo mv ~ / .homebridge / var / lib / homebridge /

Asegúrese de que la persona que usa  homebridge tenga la propiedad de ese directorio y todas las subcarpetas:

sudo chown -R homebridge / var / lib / homebridge /

Una vez hecho esto, puede crear el servicio. Para hacerlo, cree un nuevo archivo llamado homebridge.service en /etc/systemd/system/:

sudo nano /etc/systemd/system/homebridge.service

Y luego pega la siguiente configuración:

[Unidad]
Descripción = Servicio Homebridge
Después = syslog.target network-online.target

[Servicio]
Tipo = simple
Usuario = homebridge
ExecStart = / usr / bin / homebridge -U / var / lib / homebridge
Reiniciar = en caso de falla
RestartSec = 10
KillMode = proceso


[Instalar en pc]
WantedBy = multi-user.target

Vuelva a cargar el demonio de servicios para actualizarlo con sus cambios:

sudo systemctl daemon-reload

Ahora, debería poder habilitar su servicio (configurándolo para que se ejecute en el arranque):

sudo systemctl habilitar homebridge

Y empieza:

sudo systemctl start homebridge

Si necesita depurar errores que surgen de la configuración del servicio, puede ver los registros del servicio escribiendo:

journalctl -fn 50 -u homebridge

Publicar un comentario

0 Comentarios