HOMEKIT con RaspberryPi y ESP8266

Este proyecto esta destinado a controlar las luces ( por ahora) de nuestra casa, aprovechando HomeKit para iOS , y como no!,  de Siri. Para ello vamos a crear un servidor de accesorios virtuales usando una RaspberryPi 2, y vincularemos unos módulos WiFi , que haremos usando placas ESP8266, una shield de relé y un regulador de 3,3v.

home-kit-300x255

Una de las ventajas de este proyecto, es que podremos controlar el entorno gracias a una app integrada en iOS y totalmente compatible con Siri, por lo que no tendremos mas que pedirle a Siri que encienda o apague las luces.


En este proyecto basicamente me he basado en otros, pero he procurado actualizarlo, y adaptarlo  haciéndolo  en castellano :

Artículo en el que me he basado

Otro artículo

Para realizar este proyecto, vamos a necesitar lo siguiente:

  • Una RaspberryPi 2
  • Una microSD (con su adaptador a SD) de al menos 8 GB
  • Varios ESP8266 *
  • Varios Módulos de relé *
  • Varios reguladores de 3,3v *
  • Varios alimentadores de movil reciclados (o no)    *

( * dependerá del numero de accesorios que queramos crear)

Una vez que tengamos el material necesario, vamos a cargar el software en nuestra microSD, pero lo primero será descargarlo, vamos usar la última version de Raspbian.

descargar raspbian jessie lite

Ahora tendremos que cargar en la SD la imagen descargada usando ApplePi Baker para Mac, o Win32 Disk Imager para windows.

Una vez cargada la imagen en la microSD, la pondremos en la RaspberryPi 2, la conectaremos a nuestra red, y la enchufaremos para arrancar el sistema.

Ahora vamos a empezar a instalar paquetes, para que todo funcione, para ello tendremos que conectarnos por ssh a nuestra raspberry, o bien con un teclado y conectados a la TV.

Para acceder a la RaspberryPi por ssh usando un Terminal en Mac o Putty en windows,

ssh pi@(ip de vuestra RaspberryPi)

password = raspberry

Ahora que ya estamos conectados vamos a seguir unos pasos para hacer que todo funcione…

Entrar con permiso de administrador:

sudo su

Actualizar el sistema:

apt-get update

apt-get upgrade

Instalar  librerías:

apt-get install git-core libnss-mdns libavahi-compat-libdnssd-dev -y 

Instalar NODE:(Para RaspberryPi 2/3)

visita :

http://nodejs.org/dist/latest-v6.x/

para la última version disponible…. ( y sustituye la dirección en el wget de debajo) y el numero de version en las siguientes lineas…

wget https://nodejs.org/dist/latest-v6.x/node-v6.8.0-linux-armv7l.tar.gz 

tar -xvf node-v6.8.0-linux-armv7l.tar.gz

cd node-v6.8.0-linux-armv7l 

sudo cp -R * /usr/local  

npm install -g npm 

npm install -g node-gyp

Instalar NODE:(Para RaspberryPi 1)

visita :

http://nodejs.org/dist/latest-v6.x/

para la última version disponible…. ( y sustituye la dirección en el wget de debajo) y el numero de version en las siguientes lineas…

wget https://nodejs.org/dist/latest-v6.x/node-v6.8.0-linux-armv6l.tar.gz 

tar -xvf node-v6.8.0-linux-armv6l.tar.gz 

cd node-v6.8.0-linux-armv6l 

sudo cp -R * /usr/local  

npm install -g npm 

npm install -g node-gyp

Instalar HAPNodeJS:

git clone https://github.com/KhaosT/HAP-NodeJS.git 

cd HAP-NodeJS/  

npm rebuild

npm install node-persist  --unsafe-perm 

npm install debug 

npm install ed25519 --unsafe-perm 

npm install mqtt --unsafe-perm 

npm install mdns --unsafe-perm 

npm install srp --unsafe-perm 

npm install curve25519-n --unsafe-perm 

npm install ip --unsafe-perm 

npm install fast-srp-hap 

npm install buffer-shims sudo 

sudo npm install curve25519-n2 

sudo npm install decimal.js --save

Ejecutaremos usando el siguiente comando:

sudo node Core.js

Si todo va bien arrancará de la forma siguiente ...(ignoraremos los Warning)

captura-de-pantalla-2016-10-08-a-las-19-56-18

Saldremos usando “ctrl+C”

Instalar MOSQUITTO (MQTT Broker):

cd / 

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key 

sudo apt-key add mosquitto-repo.gpg.key 

cd /etc/apt/sources.list.d/ 

sudo wget http://repo.mosquitto.org/debian/mosquitto-wheezy.list 

sudo apt-get install mosquitto

Vamos a hacer que el servidor se inicie solo al arrancar la RaspberryPi…

sudo nano /etc/rc.local

añadiremos lo siguiente , en la linea anterior a “exit 0”

( para la RaspberryPi2/3)

cd /home/pi/node-v6.8.0-linux-armv7l/HAP-NodeJS

(Para la RaspberryPi 1)

cd /home/pi/node-v6.8.0-linux-armv6l/HAP-NodeJS

sudo node Core.js

Guardaremos con “ctrl+X”

Y hacemos ejecutable el archivo r.local

sudo chmod 755 /etc/rc.local

Reiniciamos la RaspberryPi

sudo reboot


Ahora eliminaremos los accesorios que se instalan por defecto…

cd /home/pi/node-v6.8.0-linux-armv7l/HAP-NodeJS/accessories/

rm Fan_accessory.js

rm GarageDoorOpener_accessory.js

rm Light_accessory.js

rm Lock_accessory.js

rm Outlet_accessory.js

rm TemperatureSensor_accessory.js

rm Thermostat_accessory.js

Una vez eliminados, vamos a crear nuestros propios accesorios…

Entraremos en la carpeta de accesorios

cd /home/pi/node-v6.7.0-linux-armv7l/HAP-NodeJS/accessories

Ahora descargaremos el accesorio Light1…

VE A LA SECCION DE DESCARGAS

Lo editaremos

nano Light1_accessory.js

y pondremos nuestros datos …

host: pondremos la ip de nuestro servidor MQTT (la ip de la RaspberryPi)

clientid: pondremos el nombre de nuestro accesorio.( Ya pone Light1)

Ahora como queremos más accesorios , vamos a clonar nuestro accesorio y a editarlo de nuevo…

cp Light1_accessory.js Light2_accessory.js

Lo editaremos de nuevo

nano Light2_accessory.js

Sustituiremos TODOS los “Light1” por el nombre de nuestro accesorio (Light2, o el que queráis ) Los que están escritos en minúsculas, por minúsculas  y los que estén escritos  en mayusculas los sustituiremos por mayusculas.

Modificaremos el ligth.username = cambiaremos el numero hexadecimal.

light.username = “1A:1B:1C:1D:1E:1F”; ( cambiad un par de números o letras en cada accesorio, recordad que es hexadecimal , números del 0 al 9 y letras de la A a la F )

Guardaremos con “ctrl+X”

Repetiremos este proceso tantas veces como accesorios queramos configurar.

Cogeremos nuestro iPhone o iPad para configurar los accesorios en HomeKit.

Ejecutaremos la app y nos aparecerá la pantalla principal de casa…

En mi caso , primero he añadido habitaciones, es decir he añadido una sala de estar, una habitación ,un vestidor… para poder agregar cada accesorio a su sitio correspondiente.

Vamos a añadir un accesorio… Pinchando en “+” o “Añadir accesorio”

img_0141

Ahora nos aparecerán los accesorios que tengamos configurados y que no hayamos añadido al HomeKit

img_0142

Seleccionamos el que nos interese…

img_0143

Añadiremos de todos modos, a pesar del error de certificación.. nos pedirá un código de emparejamiento..

img_0144

introduciremos 031-45-154

ahora nos solicitará la configuración… Nombre para siri, ubicación del accesorio y si lo queremos en favoritos

img_0145

Lo rellenaremos en función de como queramos llamar al accesorio y donde lo vayamos a colocar… y los favoritos se incluyen en la pagina principal de HomeKit.

Ya tenemos todos nuestros accesorios conectados y accesibles desde nuestra app, pero como el lógico, no hace nada de nada, mas que encenderse o apagarse el icono si lo pulsamos…

Ahora tenemos que crear los accesorios de verdad para poder controlarlos, para ello vamos a usar:

  • Alimentador reciclado de un movil
  • Módulo esp8266
  • Modulo de relé para arduino
  • Regulador de tensión de 3,3V

Montaremos siguiendo el siguiente esquema: (Archivo de fritzing AQUI)

homekit_esp8266_salida_rele_bb

En cuanto a la conexión del módulo de relé, tendréis que fijaros en la serigrafía del módulo, ya que he visto varios modelos que se conectan de forma diferente, es decir, no corresponden con los de este esquema.

Solo habrá que conectar la lampara que queramos conectar, a través del relé del módulo.

Ahora tendremos que cargar el sketch de arduino en nuestro ESP8266 ( si no recordáis como hacerlo , podéis visitar ESTA entrada del blog . Las últimas unidades que he comprado del ESP8266 ya venían con el firmware compatible con arduino instalado , así que ahorrareis trabajo.) correspondiente al accesorio que queremos programar en cada uno, Light1, Light2…. etc…

Necesitaremos de una librería que no esta incorporada en el IDE de arduino, así que descárgala desde AQUI, y cópiala en la carpeta de librerías de tu entorno arduino.

Descargaremos el sketch , desde AQUI ,  lo descomprimiremos y abriremos con el IDE de arduino para editar unos parámetros…

Linea 4: Colocaremos el SSID de nuestra red WiFI

const char *ssid =	"SSID";		// SSID de nuestra red wifi

Linea 5: Colocaremos el Password de nuestra red WiFi

const char *pass =	"PASSWORD";	// Contrasea de nuestra red wifi

Las lineas 22 y 26 : es donde se enciende y apaga el relé, si usáis redes de que se activan por estado bajo, dejarlo como está, si se activa por estado alto, tendréis que cambiarlo.

digitalWrite(relay, LOW); // en caso de que el modulo rele funcione al reves, cambiarl LOW por HIGH
digitalWrite(relay, HIGH); // en caso de que el modulo rele funcione al reves, cambiarl HIGH por LOW

Linea 61: Cambiaremos Light1, por el nombre de nuestro accesorio.
if (client.connect("ESP8266: Light1")) { // cambiaremos Light1 por el nombre de nuestro accesorio

Linea 63: Cambiaremos Light1, por el nombre de nuestro accesorio.

client.subscribe("Light1");// cambiaremos Light1 por el nombre de nuestro accesorio

Una vez editado, cargaremos todos los módulos ESP8266, con su accesorio correspondiente, y ahora ya podemos controlarlo desde la app HomeKit.

Para darle un toque mas “profesional” o menos de prototipo, podemos meter la RaspberryPi en una caja compatible y los módulos en alguna caja de plástico …

Caja para RaspberryPi tenemos muchas en eBay o amazon, pero los módulos a ser caseros, será complicado encontrar una acorde con el tamaño, así que he creado un modelo en 3D que podréis imprimir para vuestro proyecto.

captura-de-pantalla-2016-10-13-a-las-22-58-47-1 captura-de-pantalla-2016-10-13-a-las-22-58-31

Para descargarlos , solo hay que elegir el que queráis: Grande o Pequeño

( he incluido el .STL y el original .123dx para el que quiera modificarlo)

Aqui dejo unas fotos de como quedan los dos formatos que he creado del módulo wifi , uno grande con alimentador incluido, y otro mas pequeño, que lleva el alimentador aparte…

img_0146

img_0147

img_0160

img_0162

img_0163

img_0164

img_0165

img_0166 img_0167

img_0168

img_0169

img_0170

DonacionPayPal

Anuncios

282 Respuestas a “HOMEKIT con RaspberryPi y ESP8266

  1. Pingback: HOMEKIT con Raspberry Pi y módulo de relés |

  2. Pingback: Sensor de Temperatura,Humedad y salida relé con ESP8266 compatible con HomeKit |

  3. Pingback: Sensor de Temperatura,Humedad y salida relé con ESP8266 compatible con HomeKit |

  4. Pingback: Sensor de movimiento y salida de relé con ESP8266 para HomeKit |

  5. Buenas tardes. Primero felicitarte por tu blog, tus tutoriales son muy completos. Estoy intentando realizar este tutorial pero al cargar al Arduino tu sketch me da un error en la linea 13 relacionada MQTT, me dice que no es un tipo de nombre. ¿sabes cual puede ser el fallo? Gracias

    • Que placa estás usando , una Arduino o un esp8266…?
      Comprueba que has descargado,descomprimido y guardado en el sitio correcto la librería . El enlace está justo antes del enlace del sketch. Es posible que sea eso.

  6. Buenas tardes, tu proyecto es fantástico, estoy intentando hacer pero al meter la linea npm install node-persist && npm install srp && npm install mdns –unsafe-perm , me aparece este error,

    bignum.target.mk:94: recipe for target ‘Release/obj.target/bignum/bignum.o’ failed
    make: *** [Release/obj.target/bignum/bignum.o] Error 1
    make: Leaving directory ‘/home/pi/node-v7.2.0-linux-armv7l/HAP-NodeJS/node-v7.2.0-linux-armv7l/HAP-NodeJS/HAP-NodeJS/node_modules/bignum/build’
    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:276:23)
    gyp ERR! stack at emitTwo (events.js:106:13)
    gyp ERR! stack at ChildProcess.emit (events.js:191:7)
    gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
    gyp ERR! System Linux 4.4.21-v7+
    gyp ERR! command “/usr/local/bin/node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “configure” “build”
    gyp ERR! cwd /home/pi/node-v7.2.0-linux-armv7l/HAP-NodeJS/node-v7.2.0-linux-armv7l/HAP-NodeJS/HAP-NodeJS/node_modules/bignum
    gyp ERR! node -v v7.2.0
    gyp ERR! node-gyp -v v3.4.0
    gyp ERR! not ok
    npm ERR! Linux 4.4.21-v7+
    npm ERR! argv “/usr/local/bin/node” “/usr/local/bin/npm” “install” “srp”
    npm ERR! node v7.2.0
    npm ERR! npm v4.0.2
    npm ERR! code ELIFECYCLE

    npm ERR! bignum@0.6.1 install: `node-gyp configure build`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the bignum@0.6.1 install script ‘node-gyp configure build’.
    npm ERR! Make sure you have the latest version of node.js and npm installed.
    npm ERR! If you do, this is most likely a problem with the bignum package,
    npm ERR! not with npm itself.
    npm ERR! Tell the author that this fails on your system:
    npm ERR! node-gyp configure build
    npm ERR! You can get information on how to open an issue for this project with:
    npm ERR! npm bugs bignum
    npm ERR! Or if that isn’t available, you can get their info via:
    npm ERR! npm owner ls bignum
    npm ERR! There is likely additional logging output above.

    npm ERR! Please include the following file with any support request:
    npm ERR! /home/pi/node-v7.2.0-linux-armv7l/HAP-NodeJS/node-v7.2.0-linux-armv7l/HAP-NodeJS/HAP-NodeJS/npm-debug.log

    estoy perdido te agradecería alguna idea. Gracias de antemano.

    • En principio no te preocupes… haz todo el proceso hasta ejecutar ” sudo node Core.js”
      Si se ejecuta funcionará…
      a mí también me ha dado algún error al instalar los paquetes…

  7. he repetido todo el proceso pero al ejecutar el comando sudo node Core.js no se ejecuta me salen warning y error en el terminal en vez de mostrar los accesorios

  8. los warning son normales… ( se ven en la captura de arriba ) , pero antes de cerrarse.. te da un error que no encuentra algún modulo no?…

    HAP-Node ? por ejemplo…

    sudo npm install HAP-Node

    con cada version hay que instalar algún modulo mas, o diferente…

    ponme el error que da al ejecutar…

  9. What a great tutorial! I have to say, firstly I followed adityatannu tutorial – no success. Then I found James Bruce tutorial – no success at all. And, after seeing your coment at James Bruce tutorial, I found your blog and this tutorial. It’s like a sumarized tutorial from them, BUT, the best part, it works! Congratulations Lisergio, he hecho un gran trabajo! Thank you very much for publishing your results!

      • It’s a great mix! A tip I think you should update on your tutorial, if you let RPi get a random local IP and configure all the devices according to this IP, it’s possible that the system stops working if a computer or smartphone connects to the router and ‘stole’ its IP (it happened to me yesterday). So, I solved this fixing the local IP using the following instructions:

        On terminal:

        $ sudo nano /etc/dhcpcd.conf

        At the very bottom of document, insert:

        interface eth0 (or wlan0 – according to your connection)

        static ip_address=192.168.x.xxx (your local IP)

        Ctrl+X (then ‘YES’ to save), and reboot.

  10. Pingback: Dimmer para tiras de Led compatible con HomeKit usando ESP8266 |

  11. Hola Sergio,
    El tutorial me ha funcionado correctamente, no obstante me reconoce sólo un dispositivo por ejemplo Light3 y no Light1 y Light2.

    ¿Puedes ayudarme por favor?

    Hi Sergio,
    The tutorial has worked, nevertheless only recognize one just device por example Light3 and not Light1 and Light2.

    Can you help me, please?

  12. Hola Sergio.
    Tengo algunos problemas con la instalación, estoy utilizando Pi3 B y la ultima versión 2016-11-25-raspbian-jessie. y no consigo que funcione, podrías ayudarme?

  13. he realizado todos los pasos y no me deja añadir ningún accesorio Home me sale en blanco, como no he utilizado la misma versión quería saber si todo el proceso es igual o hay que cargar alguna librería mas, de node he utilizado la ultima versión 6.9.4

  14. Me da este error:

    root@HomeKit:/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/accessories# sudo node Core.js
    module.js:472
    throw err;
    ^

    Error: Cannot find module ‘/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/accessories/Core.js’
    at Function.Module._resolveFilename (module.js:470:15)
    at Function.Module._load (module.js:418:25)
    at Module.runMain (module.js:605:10)
    at run (bootstrap_node.js:420:7)
    at startup (bootstrap_node.js:139:9)
    at bootstrap_node.js:535:3
    root@HomeKit:/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/accessories#

  15. Perdona sergio no me di cuenta
    root@HomeKit:~# cd /home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS
    root@HomeKit:/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS# sudo node Core.js
    *** WARNING *** The program ‘node’ uses the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    *** WARNING *** The program ‘node’ called ‘DNSServiceRegister()’ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    HAP-NodeJS starting…
    Parsing accessory: Light1_accessory.js
    Connecting to MQTT broker…
    Light1 Connected to MQTT broker
    Parsing accessory: Light2_accessory.js
    Connecting to MQTT broker…
    Light1 Connected to MQTT broker
    Parsing accessory: MotionSensor_accessory.js
    /home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/node_modules/mdns/lib/advertisement.js:56
    dns_sd.DNSServiceRegister(self.serviceRef, flags, ifaceIdx, name,
    ^

    Error: dns service error: name conflict
    at new Advertisement (/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/node_modules/mdns/lib/advertisement.js:56:10)
    at Object.create [as createAdvertisement] (/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/node_modules/mdns/lib/advertisement.js:64:10)
    at Advertiser.startAdvertising (/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/lib/Advertiser.js:43:30)
    at Accessory._onListening (/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/lib/Accessory.js:542:20)
    at emitOne (events.js:96:13)
    at HAPServer.emit (events.js:188:7)
    at HAPServer._onListening (/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/lib/HAPServer.js:190:8)
    at emitOne (events.js:96:13)
    at EventedHTTPServer.emit (events.js:188:7)
    at EventedHTTPServer. (/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS/lib/util/eventedhttp.js:65:10)
    root@HomeKit:/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS#

  16. He revisado light2 y estaba mal lo he modificado y parece que ya esta bien.
    ya funciona muchas gracias por todo

    root@HomeKit:/home/pi# cd /home/pi/node-v6.7.0-linux-armv7l/HAP-NodeJS
    bash: cd: /home/pi/node-v6.7.0-linux-armv7l/HAP-NodeJS: No such file or directory
    root@HomeKit:/home/pi# cd /home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS
    root@HomeKit:/home/pi/node-v7.4.0-linux-armv6l/HAP-NodeJS# node Core.js
    *** WARNING *** The program ‘node’ uses the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    *** WARNING *** The program ‘node’ called ‘DNSServiceRegister()’ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    HAP-NodeJS starting…
    Parsing accessory: Light1_accessory.js
    Connecting to MQTT broker…
    Light1 Connected to MQTT broker
    Parsing accessory: Light2_accessory.js
    Connecting to MQTT broker…
    Light2 Connected to MQTT broker
    Parsing accessory: MotionSensor_accessory.js

  17. Buenas tardes Sergio

    Tengo un problema cuando reinicio no se carga el archivo, lo modifico como dices pero no funciona.

    GNU nano 2.2.6 File: /etc/rc.local Modified

    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will “exit 0” on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.

    # Print the IP address
    _IP=$(hostname -I) || true
    if [ “$_IP” ]; then
    printf “My IP address is %s\n” “$_IP”
    fi
    sudo node Core.js
    exit 0

  18. Muy bueno, soy nuevo en esto, muchísimas gracias, lo acabo de hacer casi todo, me falta probar el arduino pero ya responde en mi raspberry pi3 , lo modifique un poco al tener la placa por wifi

    descargar raspbian jessie lite, instalar y primero configurar wifi, para utilizarlo desde ssh

    usuario pi
    contraseña raspberry

    sudo raspi-config
    en international bla bla configurar el teclado y el wifi en español, seleccione el teclado microsoft natural (para tener las comillas etc)

    en opciones avanzadas habilitar SSH

    luego
    sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

    y aparece:

    ctrlinterface= dir bla bla

    y agregar esto:

    network ={
    ssid=”miredwifi”
    psk=”contraseña”
    }

    luego “control X” y luego “Y” “enter”

    sudo reboot

    se puede probar si funciona
    ping google.com

    luego para saber la ip ponemos:
    ifconfig

    conectar con ssh desde la pc

    ssh pi@192.168.1.71
    raspberry

    si da error poner esto:
    ssh-keyscan 192.168.1.71 >> ~/.ssh/known_hosts

    luego seguí los pasos del tutorial, aunque luego de reiniciar me daba acceso denegado y se soluciona entrando como administrador :
    sudo su

    después no me aparecian los accesorios y hay que hacer esto:
    cd /home/pi/node-v6.9.4-linux-armv7l/HAP-NodeJS
    sudo node Core.js

    listo!

    una duda q tengo es si sabes si es posible encenderlos los sensores fuera de localhost, o es necesario el apple tv?
    Felicitaciones denuevo por tus tutoriales!

      • Hola lisergio, me preguntaba si hay alguna manera de acceder desde fuera sin pasar por icloud, es decir, sin un ipad o appletv, a la raspi está claro q si pero luego como se podría actuar sobre los accesorios??

      • Yo lo he intentado de muchas maneras y no lo he conseguido, asi que sin pasar por la pasarela que te pide apple va a ser que no se puede…

      • Seria hacer trampas,
        Ahora también se podría ( habría que ver como progrmarlo), pero imagino que se podría usar otro puerto diferente y acceder en remoto al esp, pero no seria a través de la app casa sino de un navegador web o app comparible como NetIO…
        Para acceder a homekit desde fuera de casa toca pasar por caja… al menos por ahora…

      • Gracias por tu pronta respuesta lisergio.
        No entiendo muy bien lo d trampas…. Mi idea es poder acceder desde fuera (aunque sea de forma paralela a homekit) para almenos ver los estados y sin tener q pasar por ninguna plataforma o usar app d terceros, con una web plana me serviría.
        Gracias d todas formas

      • Justo me pasa lo mismo. aunque termine se queda sin detectar nada.he probado con varias versiones 6.9.5 / 7.1.0 / 7.5.0 y siempre el mismo fallo al ejecutar esa linea npm install srp –unsafe-perm

        root@raspberrypi:/home/pi/node-v6.9.5-linux-armv7l/HAP-NodeJS# sudo node Core.js
        *** WARNING *** The program ‘node’ uses the Apple Bonjour compatibility layer of Avahi.
        *** WARNING *** Please fix your application to use the native API of Avahi!
        *** WARNING *** For more information see
        *** WARNING *** The program ‘node’ called ‘DNSServiceRegister()’ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
        *** WARNING *** Please fix your application to use the native API of Avahi!
        *** WARNING *** For more information see
        HAP-NodeJS starting…

        Muchas gracias por tu ayuda.

      • sip! recién bajada de la web y actualizada a tope, leí que metiendole librerias de c++ se solucionada pero aun así tampoco. Seguiremos investigando

      • a mi me pasa lo mismo con la versión 2017-03-02-raspbian-jessie-lite, comentar que instalando anteriormente el srp me da error; con que versión lo hiciste tu, lisergio?

      • Si no recuerdo mal , use la version 2016-09-23-raspbian-jessie-lite ..
        Creo que era la ultima versión que trae el ssh activado por defecto,

      • Acabo de probar con la versión 2016-09-23 , y haciendo todo el proceso con la versión node-v6.10.2 y funciona perfecto, no aparecen los accesorios en la lista al arrancar core.js pero si están accesibles desde la app casa

      • Vale, he probado con la tuya, y ya consigo arrancar el core js, solo que, se queda en arrancando pero no aparece lo de parsing accesories, y la app de home ya lo detecta con los que lleva, mañana me pongo a montar los esp y a pasar tu configuración, que al hacer el wget a tu git, lo descarga en formato html, y copiandolo no respeta los intros, mañana seguire peleandome con el ftp.

        porcierto, me ha pedido instalar el npm install curve25519-n2 –unsafe-perm
        (cambia el n2), pero vamos, es simplemente leer porque no arranca el core

        sigo con ello, muchas gracias!!

      • Prueba a abrir el codigo de los accesorios desde el git, cópialo con ctrl+c , edita el archivo desde el terminal , sudo nano accesorio_accessory.js ( y lo creas desde 0 ) y pegas el código que has copiado con ctrl+V …. si usas osx cmd+C cmd+V

  19. lo consegui, el unico cambio que he hecho a sido instalar el nodejs añadiendo el repositorio he instalandolo de esta forma

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

    sigo con tu manual a ver si consigo acabarlo.

    Muchas gracias por tu ayuda e interés por echarme una mano!!

  20. Hola, gracias por el tutorial. Yo estoy en lo mismo, no me sale ningún accesorio, he instalado el nodejs según las instrucciones y con el método alternativo de Ricardo, pero nada. Estoy con una Pi2, lo he repetido ya 5 veces y estoy a punto de claudicar. Gracias y un saludo

  21. Hola, el problema no es la red, creo que es algo con las versiones del hap-nodejs. Trasteando por la red he visto este tutorial: http://practicalusage.com/apple-homekit-with-ios-with-arduino-esp8266-with-raspberry-pi/
    que no está completo (la introducción teórica es muy buena), pero lo he seguido y he instalado el hap-nodejs con el método abreviado que dice:
    sudo npm install hap-nodejs
    Y funciona, ya veo los accesorios, no están en el mismo sitio que si haces la instalación manual, pero ahí están.
    Dado este paso continuaré con tus instrucciones. Ya te comentaré.
    Gracias de nuevo. Un saludo.

  22. Hola, estaba siguiendo tu procedimiento pero al parecer el archivo Light1_accessory.js ya no esta disponible para descargar , podridas facilitarme otro link para descargarlo? gracias

    • Como he puesto en las últimas entradas, dropbox , ha cambiado y ha bloqueado todos los enlaces públicos, debido a eso, empece a subir todos los proyectos a github, pero debido a problemas técnicos, ahora me es imposible subir los archivos…
      tened paciencia, en cuanto este operativo avisare en el blog de los nuevos enlaces a github.
      Lo siento

  23. justo en ese paso me he quedado jeje, esperamos que puedas subirlo, porcierto, como descargo los originales de nuevo? para poder modificarlo

      • muchas gracias, no consigo iniciar el core.js, en las instalaciones anteriores una me dio algun error creo, y despues al arrancarlo se quedo congelada, al reiniciar ya ni eso, volvere a empezar dee 0! y muchas gracias por el curro

  24. Funciona como cualquier accesorio del homekit? se puede configurar por ubicación, hora y encender desde cualquier lugar? estoy esperando que llegue mi raspberry y me pondré a trabajar

    • Para acceder a los accesorios desde fuera de casa , hay que tener un appletv ( creo que de 4 generación) o un ipad con ios 10 conectado a la red wifi. Por lo demás, las opciones de acceso a los accesorios son las mismas que en los accesorios originales…

  25. Hola Lisergio. Este proyecto es genial. Me voy a animar a hacerlo ya que me parece lo primero más barato que cualquier accesorio oficial para Homekit y lo segundo más divertido. Este será mi primer contacto con raspberry pi. Esperemos salga bien jeje. Supongo que para cada luz tienes que comprar cada componente no? Saludos y ya te iré comentando.

      • Muchas gracias por la respuesta. Te consulto algo más. En Amazon veo diferentes módulos ESP8266. Unos traen ESP 07, 01, 02… cual compro?

      • Otra consulta ya que estoy comprando todos los componentes necesarios para hacer todos los accesorios que indicas en este blog para homekit desde cero, es decir, desde la raspberry pi 3. Es necesario todo esto también?
        Un programador FTDI,el mismo que usamos para programar arduino pro mini.
        Dos resistencias de 330 ohm.
        Dos led.
        Un regulador de 3.3V.
        Un pulsador, o jumper ( lo necesitaremos para programar el módulo )

      • No merece la pena comprar el que viene con usb? Y también necesitaré un soldador. Cual recomiendas para empezar y poder realizar todos estos proyectos? Muchas gracias por tu atención y disculpa la cantidad de preguntas.

      • Con un solo programador puedes programar todos los esp8266 01 , que son muy baratos…
        Los esp con puerto serie son mas caros, para pruebas y prototipos estan bien, pero para dejarlos montados es un desperdicio de recursos…
        En cuanto al soldador, pues no se, hay muchos, yo compraría algo decente, no son muy caros y se nota la calidad, un BJC de 50,60 watt esta bien y vale para muchas cosas…

  26. Hola muchas gracias por los tutoriales están geniales, lo tengo todo perfecto hasta que me he topado con el rele os comento lo que me pasa por si a alguien le ha pasado algo parecido y me puede echar una mano por qué me tiene loco, lo tengo montado en una protoboard con un led y va perfecto se enciende el led y apaga súper rápido. Pues lo conecto a un rele de 5v y todo perfecto, el rele se escucha el click y se enciende un led que tiene el rele todo perfecto hasta que pongo una bombilla conectada al rele y unas veces va otras al los 5 segundos o así se apaga otras no va incluso el esp8266 se queda pillado con La Luz azul encendida y tengo que reiniciarlo, he probado poner un transistor para aumentar la salida del gpo a 5v por si no admitiera los 3v y sigue igual he buscado en una tienda de electrónica de por mi zona y me han dado un rele casi igual y tengo el mismo problema.¿Ha alguien le ha pasado o me podeis recomendar algún rele?

    • Es un problema extraño…
      Yo uso módulos de rele de 5V ( aunque es cierto que algunos de los módulos fallan a 3,3v ) la mayoría me funcionan bien, en cuanto a lo que dices… sin conectar la alimentación de 220v funciona bien, y cuando la pones falla….
      Me suena a que pudieras tener una mala conexión en la línea de 220 y te afecte al esp8266…
      Que relé estás usando? Y que transistor?

      • El rele lo compre por AliExpress es SRD-O5VDC-SL-C pensé que al ser chino vendrían mal, probé uno que es igual pero este me venía con un kit de arduino y lo tenía si abrir y me pasa igual, en la tienda de electrónica me han dado uno y me hace igual, el transistor es 2n 3904 lo compruebo y me da los 5v. Lo único que se me ocurre ahora es probar con otra bombilla normal por qué la que tengo conectada es de las de bajo consumo por si esto fuese el problema que no creo pero voy a probar, de todas formas si me podeis aconsejar de algún modelo o marca de rele os lo agradesco

    • Ya he dado con el problema y era los esp8266, los compre los más baratos que vi y con los sensores me van muy bien pero se ve que con el rele se queda bloqueado, ya he comprado otros y van genial, así que no os fiéis de los más baratos que veáis al final son problemas

  27. Hola, queria saber como puedo hacer para prender y apagar el rele usando ademas un pulsador en el GPI00 usandolo como entrada, pero avisandole a la raspberry que cambio de estado… me falta saber como hago para avisarle a la raspberry q el estado se cambio, para que me lo muestre actualizado en el HomeKit… muchas gracias!

    • Justo eso es lo que todavía no se puede hacer, o al menos no he encontrado la forma, avisar del cambio de estado para que homekit lo detecte…
      Si alguien sabe como hacerlo…

      • Lo he revisado, enviar el estado no es el problema… es muy sencillo, solo hay que hacer un client.publish, el problema esta en el accesorio en si, no he sido capaz ( todavía) de que lea el estado y cambie en consecuencia… pero estoy en ello

      • Hola de nuevo….
        He probado unas cuantas ( muchísimas) cosas y creo que lo tengo…
        Voy a hacer algunas pruebas, y hago una entrada en el blog, accesorio luz con pulsador para poder usar la app casa o siri y el pulsador de forma indistinta…

  28. Pingback: Control de led RGB compatible con HomeKit con ESP8266 03 |

  29. Buenas tardes, increíble el tutorial. Muy agradecido. He estado mirando y he comprado sonoff dual para subir y bajar persianas entre otras cosas. Sabrias indicarme como tendría que hacerlo con este dispositivo? Con lo que se ha montado, se podría controlar desde el exterios’

    • Buenas, no conozco sonoff dual, y la verdad que el control de persianas sería un accesorio interesante, pero no sabría decirte con seguridad…
      Pero lo voy a investigar…
      Un saludo

  30. Pingback: Módulo SonOff, Reprogramación para usarlo para HomeKit |

  31. Pingback: 6 accesorios Homekit en 1 ESP8266 03 |

  32. Hola de nuevo. Ya tengo todos los componentes para comenzar a realizar muchos de los accesorios que bien explicas aquí como 2 módulos de temperatura y humedad, dos de movimientos, 3 de luces y 3 de enchufe. Lo que pasa que ahjra me surge una duda. No se si cada módulo que haga de luces y sensores tiene que tener alimentación directa (con un cargador de móvil) o puedo poner algún módulo de batería tipo los Rtc Ds3231. También me suge la duda de si al montar el servidor puedo mezclar todos estos dispositivos con otros que ya tengo comprados como los casquillos de Kogee y luces de ikea (que se actualizarán a finales del verano a HomeKit). Muchas gracias y saludos.

    • El servidor es compatible con otros accesorios…
      en cuanto a los accesorios, cada placa necesita su alimentador a 3,3v, puedes usar uno para cada dispositivo, o bien una fuente para todos ellos a la vez, siempre que sea posible…

  33. Hola y gracias por su maravilloso trabajo.
    Faro pronto una donación para la automatización que se haya podido dar a nosotros los fans.

    pero te pido que llevar yo un problema ..
    fuziona mí todo, no tengo errores de cualquier tipo, pero cuando conecto todo y no pasa nada en el relé.
    el LED azul parpadea en el 8266 esp cada 5 segundos y se enciende el LED de estado contermporanea del relé sin mí tocar nada.
    ¿cómo debo hacer

  34. Hola he seguido todo al pie de la letra y aparentemente funciona todo, puedo añadir accesorios, el ESP8266 se conecta a la wifi, pero el rele no hace nada. He probado con varios diferentes por si fuera el rele pero nada. Se te ocurre algo que pueda probar? Gracias.

  35. Hola tengo un problema al instalar mosquitto me dice esto:
    he following packages have unmet dependencies:
    mosquitto : Depends: libssl1.0.0 (>= 1.0.1) but it is not installable.
    Alguna solución??
    Gracias, un saludo.

  36. Pingback: Accesorio Persiana compatible con HomeKit |

  37. Hola. Estoy siguiendo este blog para introducirme en este tema y la verdad es que está supercurrado. Enhorabuena. Yo estoy usando una raspberry pi B+, la versión de raspbian que recomiendas y la versión 8.5.0 de Node (que a fecha de este comentario es la última). Tras algunas instalaciones infructuosas al final he conseguido una instalación limpia y sin un solo error tras llegar al paso de instalara MQTT. Sin embargo, tengo el mismo problema con el parsing accessories que otros compañeros del blog. El servidor se queda en HAP-NodeJS Starting… y ahí se queda. No he eliminado los accesorios originales. Está todo tal y como se ha instalado.
    He visto que se proponen soluciones pero no he leído que nadie lo haya conseguido salvo reinstalando.

    ¿Alguna solución o enlace donde se explique bien? Yo he encontrado este pero no me atrevo a ir borrando carpetas, la verdad.

    https://github.com/KhaosT/HAP-NodeJS/issues/444
    Gracias.

  38. Alguien tiene este error al instalar npm install srp –unsafe-perm

    bignum.target.mk:94: recipe for target ‘Release/obj.target/bignum/bignum.o’ failed
    make: *** [Release/obj.target/bignum/bignum.o] Error 1
    make: Leaving directory ‘/home/pi/node-v6.8.0-linux-armv7l/HAP-NodeJS/node_modules/bignum/build’
    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
    gyp ERR! stack at emitTwo (events.js:106:13)
    gyp ERR! stack at ChildProcess.emit (events.js:191:7)
    gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
    gyp ERR! System Linux 4.4.21-v7+
    gyp ERR! command “/usr/local/bin/node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “configure” “build”
    gyp ERR! cwd /home/pi/node-v6.8.0-linux-armv7l/HAP-NodeJS/node_modules/bignum
    gyp ERR! node -v v6.8.0
    gyp ERR! node-gyp -v v3.6.2
    gyp ERR! not ok
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! bignum@0.6.1 install: `node-gyp configure build`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the bignum@0.6.1 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR! /root/.npm/_logs/2017-10-21T13_46_09_933Z-debug.log

  39. hola estoy intentando seguir el tutorial y me funciono correctamente en un raspberry pi 2 pero ahora estoy tratando con un raspberry pi 3 y no logro instalar el HAP-NodeJS me sale este error al instalar

    gyp WARN EACCES user “root” does not have permission to access the dev dir “/home/pi/node-v6.11.1-linux-armv7l/HAP-NodeJS/node_modules/curve25519-n2/.node-gyp/6.11.1”
    gyp WARN EACCES attempting to reinstall using temporary dev dir “/home/pi/node-v6.11.1-linux-armv7l/HAP-NodeJS/node_modules/curve25519-n2/.node-gyp”

    2315531 ms: Mark-sweep 612.5 (701.6) -> 612.5 (701.6) MB, 3790.7 / 0.0 ms [allocation failure] [GC in old space requested].
    2319321 ms: Mark-sweep 612.5 (701.6) -> 612.5 (701.6) MB, 3789.6 / 0.0 ms [allocation failure] [GC in old space requested].
    2323207 ms: Mark-sweep 612.5 (701.6) -> 614.9 (700.6) MB, 3885.6 / 0.0 ms [last resort gc].
    2327105 ms: Mark-sweep 614.9 (700.6) -> 617.3 (700.6) MB, 3897.8 / 0.0 ms [last resort gc].

    ==== JS stack trace =========================================

    Security context: 0x5f52b6f1
    1: inspect(aka inspect) [util.js:180] [pc=0x339b00c4] (this=0x5f508121 ,obj=0x48fd4821 ,opts=0x5f508121 )
    2: arguments adaptor frame: 1->2
    3: format [util.js:~65] [pc=0x27f25bdc] (this=0x3ad8ac11 ,f=0x5f5c3519 )
    4: arguments adaptor frame: 2->1
    5: /* anonymous */ [/usr/local/lib/node_modules/np…

    FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed – JavaScript heap out of memory
    Aborted
    npm ERR! code ELIFECYCLE
    npm ERR! errno 134
    npm ERR! curve25519-n2@1.1.3 install: `node-gyp rebuild`
    npm ERR! Exit status 134
    npm ERR!
    npm ERR! Failed at the curve25519-n2@1.1.3 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR! /root/.npm/_logs/2017-10-23T15_48_26_225Z-debug.log

    logro realizar una instalación sin errores pero cuando intento agregar los accesorios no aparecen

  40. Hola muchas gracias por el tutorial pero tengo una duda quizá alguien podría ayudarme todo me funciono correctamente, pero queria saber si hay alguna manera de poder agregar el mismo accesorio a más de un celular por que intente hacerlo pero cuando el accesorio es añadido a un teléfono en el otro ya no se lo puede añadir

    • Los accesorios están vinculados a la cuenta de icloud, aparecen en los telefonos que tengas en la misma cuenta, o puedes hacerlo invitando a usuarios desde la app casa

  41. Una preguntilla.

    Se puede programar por voz mediante homekit un horario? es decir, le puedo decir a Siri: “Enciende el flexo y apagalo dentro de dos horas” y que lo haga? con ese comando u otro que entienda, ya me comprendes el concepto.

    Muchisimas gracias por tus tutoriales, me van a venir genial para automatiza de forma barata con los modulos de sonoff.

    • Se le puede decir a siri, que encienda o apague , abra o cierre, ajuste la intensidad de la luz o el color, pero programar los ajustes y horarios no he conseguido hacerlo, lo que no quita que haya alguna manera concreta de hacerlo.

  42. buenas estoy siguiendo el auto y cuando tengo que descargar el accesorio light1 me da este error:

    Resolviendo dl.dropboxusercontent.com (dl.dropboxusercontent.com)… 162.125.68.6, 2620:100:6024:6::a27d:4406
    Conectando con dl.dropboxusercontent.com (dl.dropboxusercontent.com)[162.125.68.6]:443… conectado.
    Petición HTTP enviada, esperando respuesta… 404 Not Found
    2017-11-06 10:34:52 ERROR 404: Not Found.

    Puede ser problema de dropbox ???

  43. Hola, esta muy bien el manual y he conseguido toda la parte de la raspberry, ahora toca esperar las piezas para la segunda parte.

    Lo único que la orden sudo node Core.js no se me ejecuta al arrancar la raspberry y tengo que abrir otra terminal en el putty para tener Core.js arrancado y que el iPhone me encuentre los dispositivos, puse esta orden en el rc.local y le di los permisos tal como indicas, pero nada.

    Saludos

  44. Hola, estoy intentando comprar un programador FTDI, pero veo varios y no se que diferencias hay o si son “iguales”

    primero veo esto
    https://www.ebay.es/itm/MODULO-FTDI-USB-TTL-FT232RL-PARA-ARDUINO-PRO-MINI-3-3-V-5-V-Ref-019/222465695743?hash=item33cbfd1fff:g:KCAAAOSwx-9WuvnQ

    luego este, que creo que es el que utilizas
    http://www.ebay.es/itm/Modulo-Conversor-FTDI-FT232RL-USB-to-TTL-Serial-Arduino-Pro-Mini-3-3V-5V/111929401505?hash=item1a0f8320a1:g:WyQAAOSws5pZLqsY

    y también he visto que la arduino nano también lleva FTDI , ¿Se podría utilizar?
    https://www.ebay.es/itm/Nano-3-0-ATMEGA328P-FT232RL-FTDI-Micro-Controller-Module-Board-for-Arduino-TE773/282700635419?hash=item41d2455d1b:g:bLQAAOSwqbxZ6Myi

    Gracias y saludos

    PD: Muy interesante el post, deseando poner en practica todo

  45. buenas cuando instalo la orden npm install curve25519-n2 desde el terminal se me vuelve loco y se queda en bucle os ha pasado a alguno,
    Tengo que salir del terminal y volver a conectar con la raspa y al intentar ejecutar el node core.js no ejecuta bien y me da error Alguna idea de que puede ser ???

  46. Hola Buenas tardes, eh por fin logrado despues de varios intentos montar el servidor en la Raspberry, pero al momento de cargar el sketch en el arduino me aparece un error (nota: el sketch de prueba funciona bien)
    no matching function for call to ‘PubSubClient::PubSubClient(WifiClient&, IPAddress&)’
    ya instale las librerias del PubSubClient,

    Me podrias ayudar? gracias !!

      • Ya instale otras versiones y corrí otros ejemplos de la web con Pubsubclient, y los compila sin problemas, solo es este sketch. Alguna otra sugerencia?

        Sale el error delineado en
        PubSubClient client(wclient, server);

  47. Hola! He leído que a alguien más le ha ocurrido algo parecido pero no te ha contestado.

    Al introducir “npm install srp –unsafe-perm” me lanza los errores:

    gyp ERR! build error
    gyp ERR! stack Error: `make` failed with exit code: 2
    gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
    gyp ERR! stack at emitTwo (events.js:106:13)
    gyp ERR! stack at ChildProcess.emit (events.js:191:7)
    gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:219:12)
    gyp ERR! System Linux 4.4.21-v7+
    gyp ERR! command “/usr/local/bin/node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “configure” “build”
    gyp ERR! cwd /home/pi/HAP-NodeJS/node_modules/bignum
    gyp ERR! node -v v6.12.1
    gyp ERR! node-gyp -v v3.6.2
    gyp ERR! not ok
    npm ERR! code ELIFECYCLE
    npm ERR! errno 1
    npm ERR! bignum@0.6.1 install: `node-gyp configure build`
    npm ERR! Exit status 1
    npm ERR!
    npm ERR! Failed at the bignum@0.6.1 install script.
    npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

    npm ERR! A complete log of this run can be found in:
    npm ERR! /root/.npm/_logs/2017-12-08T08_35_10_901Z-debug.log

    Te he leído que continue porque suele dar algunos errores, pero al llegar al final de la instalación de e instalar “npm install curve25519-n2”, empieza a lanzarme en bucle estos WARN:

    gyp WARN EACCES attempting to reinstall using temporary dev dir “/home/pi/HAP-NodeJS/node_modules/curve25519-n2/.node-gyp”
    gyp WARN EACCES user “root” does not have permission to access the dev dir “/home/pi/HAP-NodeJS/node_modules/curve25519-n2/.node-gyp/6.12.1”

    Ya he probado cambiando de versión de Raspbian (2016-09-23-raspbian-jessie-lite, 2017-07-05-raspbian-jessie-lite y 2017-11-29-raspbian-stretch-lite). Y varias versiones de node (he elegido la v6.12.1 y v8.9.2) por si fuera también el motivo, ya que he leído que versiones posteriores a la 8 no son compatibles con nmp.

    A todo esto, he formateado, instalado y reinstalado probando varias combinaciones y casi siempre con el mismo resultado. Tiene pinta de tener solución sencilla por tema de permisos, pero no soy capaz de dar con ello.

    ¿Alguna idea? Un saludo!

  48. Hola Lisergio, no me ah tirado errores al instalar pero al ejecutar sudo node Core.js me tira el siguente error.

    pi@raspberrypi:~/HAP-NodeJS $ sudo node Core.js
    module.js:471
    throw err;
    ^

    Error: Cannot find module ‘decimal.js’
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object. (/home/pi/HAP-NodeJS/lib/Characteristic.js:6:15)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)

    Sabras que puede ser?.
    Eh leido todas las respuestas pero a nadie le a sucedido.

      • Pues use la version raspbian jessie 2016-09-23, la version de nodeJS , y haciendo node -v me dice que tengo la v4.4.4,

        Uso el terminal de macOS …

      • Perfecto, gracias.

        He intentado ponerle la misma versión que tú pero me indica que tiene un bug y recomienda instalar la v4.7.0. He probado con esa y vuelve a darme los errores que te comentaba antes del “npm install srp –unsafe-perm”.

        No se me ocurre qué más hacer. Voy a intentar hacerlo con linux y cambiando de micro SD.

        Si tienes alguna sugerencia te lo agradecería 🙂

        Un saludo.

      • Sí me lanza el siguiente error:

        Error: Cannot find module ‘/home/pi/Core.js’
        at Function.Module._resolveFilename (module.js:325:15)
        at Function.Module._load (module.js:276:25)
        at Function.Module.runMain (module.js:441:10)
        at startup (node.js:139:18)
        at node.js:974:3

        He cambiado de MicroSD y lo estoy intentando con Ubuntu, pero los errores son similares. Tengo también una Raspberry Pi 3, ¿crees que servirá el mismo tutorial? Es por probar, porque ya no sé qué más hacer.

        Gracias por echarme una mano.

      • Bueno, he probado con Raspberry Pi 3 y he conseguido ejecutar “sudo node Core.js”, aunque no me aparece el análisis de accesorios que se puede ver en tu pantallazo. De todas formas he seguido y los he eliminado todos, tal y como indicas.

        Ahora solo me queda añadir un accesorio para apagar y encender la luz auxiliar del comedor. He elegido el “Light1estado_accessory.js” y he editado el archivo. Gracias por este accesorio, me viene genial para lo que necesito!! 🙂

        Por cierto, ¿las líneas se añaden al principio del archivo antes del documento HTML?

        Otra pregunta, cada vez que se añada un accesorio al iPhone, ¿el código sigue siendo el mismo (031-45-154)?

        Muchas gracias!! Voy a preparar el ESP8266.

      • No se a que lineas te refieres que hay que añadir al html…
        Y si, en todos los accesorios esta configurado el mismo pin, que lo puedes cambiar en el archivo .js
        De todas formas , ese accesorio es para un sonoff, tendrás que editar el sketch del esp para ajustas los pines que vayas a usar para el rele.

      • Respecto a los sonoff, tengo tres con los que tengo pensado probarlo, estoy leyendo el tutorial (https://lisergio.wordpress.com/2017/07/21/modulo-sonoff-reprogramacion-para-usarlo-para-homekit/) para empezarlo en cuanto tenga un rato.

        Creo que lo otro ha sido un “paste” que he hecho sin querer, perdona.

        Ya he editado el accesorio con nano “Lightestado_accesory.js”

        host: 192.168.X.X y
        clientid: LuzAux

        En cuanto tenga algo más te voy contando. ¡Gracias!

  49. Hola!! Me ha servido de mucho el tutorial. Tengo mi servidor montado y perfecto. El unico problema es que tengo q reiniciarlo una vez por dia mas o menos. Por algun motivo deja de funcionar…

    En alguna ocasión tambien he tenido que añadir de nuevo los dispositivos porque no funcionaban.

    Sabeis cual es el problema? Como se soluciona? Como reiniciar raspberry automáticamente?

    Saludos

    • Para que se inicie solo al reiniciar la raspberry ya esta en el tutorial, para reiniciar la raspberry automáticamente imagino que se podrá hacer un script , pero porque lo reinicias a diario?
      El mío lleva meses funcionando y solo lo reinicio al añadir algún accesorio, por lo demás no le ha pasado nada…
      Comprueba que la microsd no este estropeada y se te cuelgue…
      En cuanto a los accesorios, comprueba que no se desconecten del wifi … lo mismo tu problema esta en la conexión, no en los accesorios…

      • Lo reinicio porque se me queda colgado… Mis sensores están conectados a un arduino uno con shield ethernet que son los que trasmiten a la red MQTT.

        Tiene que ser algún problema con el servidor node o hap-nodejs, porque los sensores siguen trasmitiendo los valores. Lo se, porque en los archivos de los accesorios tengo puesto para que envíe la información a un servidor de Thingsboard y allí si que sigue recibiendo los datos, pero en Homekit no me aparecen.

        Leí en algún sitio que a otras personas les pasaba lo mismo… Voy a seguir observándolo… para ver si tiene algún patrón o puedo descartar cosas.

  50. Pues desconectarse no se desconectan… en el archivo de accesorios tengo puesto unas lineas de código para que envíe los datos a otro servidor con Thingsboard para almacenar datos. Allí si que sigue recibiendo los datos, pero en homekit no me aparece.

    Tendré que observarlo con mas detalle…

    Ya lo puse para que se reiniciara todas las noche… y de momento funciona todo bien. Es una solución temporal

  51. Hola, magnífico trabajo lisergio, llevaba tiempo buscando algún proyecto para empezar con la RasPi y me he decidido por éste. Ya tengo el servidor montado y accesorios detectados por el móvil y a la espera que me lleguen de los esp. Simplemente comentar por si le sirve a alguien q me ha dado problemas al instalar el curve25519-n2, lo he solucionado con “sudo” delante de la línea y ok tras varios intentos, también me pasaba que no iniciaba el servidor al arrancar la RaspberryPi (uso la 2 B), lo solucioné colocando la línea “sudo node Core.js” en el archivo rc.local como si fuese la 1.

    Nada mas, ya comentaré cuando lo tengo todo montado si consigo q funcione. Muchas gracias por compartir tu conocimiento.

    Saludos

  52. Hola de nuevo!

    Resulta que retomo el tutorial tras las vacaciones y no sé qué ha pasado que no me ha dejado de funcionar.

    Instalo todos los paquetes, añado accesorio y ejecuto Core.js

    *** WARNING *** For more information see
    HAP-NodeJS starting…
    Connecting to MQTT broker…
    Lamparapie Connected to MQTT broker

    Programo Sonoff con el botón de reset (https://github.com/lisergio/homekit-reprogramacion-sonoff) . Todo perfecto. Después intento añadir el accesorio en la aplicación de iPhone y no lo detecta.

    He modificado la IP del host, he cambiado todos los “Sonoff1estado” por “Lamparapie” y solo funciona Sonoff a través del pulsador.

    ¿Por qué no me deja conectar al servidor?

  53. Buenas!

    He descubierto tu blog por casualidad, y ya lo he guardado porque me interesan muchos tus artículos y llevo detrás de la domótica casera mucho tiempo.

    Estoy intentando instalar todo esto en una Rpi1 con las siguientes versiones:

    2017-11-29-raspbian-stretch-lite
    Node: v6.12.3

    Cuando ejecuto el node.js antes de instalar Mosquitto me muestra esto que no se si es correcto:

    pi@raspberrypi:~/node-v6.12.3-linux-armv6l/HAP-NodeJS $ sudo node Core.js
    *** WARNING *** The program ‘node’ uses the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    *** WARNING *** The program ‘node’ called ‘DNSServiceRegister()’ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    HAP-NodeJS starting…

    Luego he intentado instalar mosquito y tengo el siguiente warning:

    pi@raspberrypi:~/node-v6.12.3-linux-armv6l/HAP-NodeJS $ sudo apt-get install mosquitto
    Reading package lists… Done
    Building dependency tree
    Reading state information… Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:

    The following packages have unmet dependencies:
    mosquitto : Depends: libssl1.0.0 (>= 1.0.1) but it is not installable
    E: Unable to correct problems, you have held broken packages.

    He probado a instalar la versión libssl1.0.2 sin éxito

    Por otro lado, que ya he visto que lo tienes en descargas. el enlace del accesorio no está disponible, Buscaré donde dices y a ver si puedo instalarlo.

    Espero tu ayuda.

    Muchas gracias de antemano.

    Un saludo!

      • Ayer monté de nuevo una imagen y me he puesto hacer todo línea a línea y a la hora de instalar “npm install srp –unsafe-perm ” obtengo un montón de errores del tipo:

        ../bignum.cc:918:1: warning: control reaches end of non-void function [-Wreturn-type]
        }
        ^
        ../bignum.cc: In static member function ‘static v8::Handle BigNum::Bgcd(const int&)’:
        ../bignum.cc:934:1: warning: control reaches end of non-void function [-Wreturn-type]
        }
        ^
        ../bignum.cc: In static member function ‘static v8::Handle BigNum::Bjacobi(const int&)’:
        ../bignum.cc:951:1: warning: control reaches end of non-void function [-Wreturn-type]
        }
        ^
        ../bignum.cc: In function ‘v8::Handle SetJSConditioner(const int&)’:
        ../bignum.cc:961:1: warning: control reaches end of non-void function [-Wreturn-type]

        Y al final del todo:

        bignum.target.mk:94: recipe for target ‘Release/obj.target/bignum/bignum.o’ failed
        make: *** [Release/obj.target/bignum/bignum.o] Error 1
        make: Leaving directory ‘/home/pi/node-v6.8.0-linux-armv6l/HAP-NodeJS/node_modules/bignum/build’
        gyp ERR! build error
        gyp ERR! stack Error: `make` failed with exit code: 2
        gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:258:23)
        gyp ERR! stack at emitTwo (events.js:106:13)
        gyp ERR! stack at ChildProcess.emit (events.js:191:7)
        gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
        gyp ERR! System Linux 4.9.35+
        gyp ERR! command “/usr/local/bin/node” “/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js” “configure” “build”
        gyp ERR! cwd /home/pi/node-v6.8.0-linux-armv6l/HAP-NodeJS/node_modules/bignum
        gyp ERR! node -v v6.8.0
        gyp ERR! node-gyp -v v3.6.2
        gyp ERR! not ok
        npm ERR! code ELIFECYCLE
        npm ERR! errno 1
        npm ERR! bignum@0.6.1 install: `node-gyp configure build`
        npm ERR! Exit status 1
        npm ERR!
        npm ERR! Failed at the bignum@0.6.1 install script.
        npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

        npm ERR! A complete log of this run can be found in:
        npm ERR! /root/.npm/_logs/2018-01-10T11_58_21_063Z-debug.log

        Las versiones que he utilizado esta vez han sido:

        2016-09-23-raspbian-jessie-lite

        Node v6.8.0

        ¿Qué versión disponible puedo instalar para que funcione?

        Muchas gracias!

  54. Hola lisergio, la verdad que muy bueno el tutorial y todo lo que contiene tu blog, he intentado instalar y he hecho todo, pero no consigo que funcione el servidor. Podrías subir una imagen de tu SD, porque la verdad que no logro que funcione! Muchas gracias!!

  55. Antonio, de sistema operativo, instalé 2016-09-23-raspbian-jessie-lite. Y de node sudo DEBUG=* node Core.js, e instalé con sudo adelante.

    sudo npm install node-persist –unsafe-perm
    sudo npm install debug
    sudo npm install ed25519 –unsafe-perm
    sudo npm install mqtt –unsafe-perm
    sudo npm install mdns –unsafe-perm
    sudo npm install srp –unsafe-perm
    sudo npm install curve25519-n –unsafe-perm
    sudo npm install ip –unsafe-perm
    sudo npm install fast-srp-hap
    sudo npm install buffer-shims
    sudo npm install curve25519-n2

    Saludos!

    • Juan, no te entiendo con lo de “sudo DEBUG=* node Core.js”, yo ejecuto eso y me falla…

      He puesto la versión del sistema operativo que me has dicho y después las librerías que pone LiSergio:

      sudo apt-get install git-core libnss-mdns libavahi-compat-libdnssd-dev -y

      Con respecto a la versión de NODE, ¿Has puesto la misma de LiSergio?

      Y los comandos que mencionas es para instalar HAPNode verdad?

      Si puedes ponme los pasos porfa, porque así.

      Eso si, lo estoy poniendo en la RPi 1 no se si tu igual.

      Muchas gracias de antemano!!!

  56. Lisergio, una consulta, tengo un Philips HUE bridge, y me gustaría integrarlo al servidor, y si es posible a través de este controlar fuera de casa, las luces. Será posible? muchas gracias..

    • Creo que para integrar el philips hue, hay que usar homebridge, creo que no se puede ejecutar en la misma raspberry… he probado a ejecutarlo en una orange pi zero y aparece como homebridge en la app home

      • Ok, no he utilizado la Orange lo zero, hay que seguir lo mismo que la raspberry pi?
        Gracias!

      • Para instalar homebridge, hay que seguir otro tutorial, tiene muy pocos pasos … todavía no lo tengo hecho… estoy en ello…
        es que no me da la vida… 🤪

  57. Pingback: HomeKit iOS + Siri + Raspberry Pi + ESP8266 – SI NO SABES PROGRAMAR, NO SABES INFORMÁTICA

  58. Hola Sergio!!

    Lo primero enhorabuena por tu post y sobre todo por tu paciencia !!

    He seguido el tuto y cuando cargo Core.js me da el siguiente error:

    _________________________

    pi@raspberrypi:~/HAP-NodeJS $ sudo node Core.js
    *** WARNING *** The program ‘node’ uses the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    *** WARNING *** The program ‘node’ called ‘DNSServiceRegister()’ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
    *** WARNING *** Please fix your application to use the native API of Avahi!
    *** WARNING *** For more information see
    HAP-NodeJS starting…
    Connecting to MQTT broker…
    Light1 Connected to MQTT broker
    Connecting to MQTT broker…
    Light1 Connected to MQTT broker
    /home/pi/HAP-NodeJS/node_modules/mdns/lib/advertisement.js:56
    dns_sd.DNSServiceRegister(self.serviceRef, flags, ifaceIdx, name,
    ^

    Error: dns service error: name conflict
    at Error (native)
    at new Advertisement (/home/pi/HAP-NodeJS/node_modules/mdns/lib/advertisement.js:56:10)
    at Object.create [as createAdvertisement] (/home/pi/HAP-NodeJS/node_modules/mdns/lib/advertisement.js:64:10)
    at Advertiser.startAdvertising (/home/pi/HAP-NodeJS/lib/Advertiser.js:47:30)
    at Accessory._onListening (/home/pi/HAP-NodeJS/lib/Accessory.js:661:20)
    at emitOne (events.js:96:13)
    at HAPServer.emit (events.js:188:7)
    at HAPServer._onListening (/home/pi/HAP-NodeJS/lib/HAPServer.js:190:8)
    at emitOne (events.js:96:13)
    at EventedHTTPServer.emit (events.js:188:7)
    pi@raspberrypi:~/HAP-NodeJS $

    ________________

    En alguna contestación tuya he podido leer que se trataba de un error en el nombre Light1, pero lo he repasado y esta todo bien. Ademas el archivo Light1_accessory.js esta tal como lo descargue, salvo la modificación de la IP de mi servidor MQTT.

    Gracias y un Saludo

  59. Perfecto, Lo he borrado y lo he vuelto a crear y ya no me da errores y en la App “casa” ya me ha aparecido y lo he vinculado con el código, pero ahora lo he eliminado de la App y ya no me vuelve a aparece para vincularlo, he reiniciado la raspberry y el teléfono, pero nada y el Core.js se ejecuta correctamente.

    A que se puede deber??

    Saludos

  60. Hola! Me funciono todo perfecto, pero cuando quiero agregar mi accesorio a otro celular, no me deja. es decir, no es multi usuario, sabes como solucionarlo????

    • Los accesorios están vinculados a tu cuenta de icloud, es decir, todos los iphones o ipads que tengas con la misma cuenta podran annceder a tus accesorios, si quieres que otro usuario pueda acceder a esos accesorios, desde la app casa en los ajustes , puedes invitar a personas para que puedan acceder

  61. Buenas sergio, te he escrito por twiter y a través del formulario de contacto.
    Tras probar a configurar varias veces el servidor, no conseguía de ningún modo que funcionase.
    Me baje la imagen de 2GB con el servidor configurado y de esa manera si que me aparecian los accesorios. La cosa es que al añadir un accesorio ya sea sonoff o de este post el servidor dejaba de funcionar.
    Ahora mismo tengo una imagen limpia de raspbian sin escritorio, configurada tal cual explicas en el post principal donde vienen abajo todos los articulos referentes a homekit funcionando siguiendo tus pasos.
    Lo que no consigo es que arranque los servicios al reiniciar, al hacer la instalacion la carpeta HAP-NodeJS se instala en la raiz de la sd y no dentro del usuario pi.
    Si pudiese hablar contigo por telegram por ejemplo, te lo agradeceria, espero respuesta.
    Gracias

    • Cuando añadas un accesorio en la carpeta de accesorios, lo mejor es probar si funciona de forma correcta, para ello, primero, cierra el servidor desde la consola ( ssh )
      “ sudo killall node”
      Y ahora ejecuta el servidor de nuevo desde la carpeta correspondiente.
      “ sudo node Core.js “
      Comprueba si se ejecuta o da algún error por mala sintaxis en el accesorio, o algún nombre repetido…
      Como has creado el accesorio?
      ( no me ha llegado ningún correo ni avisos de twitter , usa el formulario de contacto otra vez )

  62. Hola amigo, soy iniciante, tengo un sonoff y queria usar el no app home de mi iphone, mi pergunta es, tengo que apenas reprogramalo ou tengo que haser um servido com um raspberry tbm ?

  63. Buenas tardes. Antes de nada felicitarte por tu articulo.

    estoy intentado hacerlo paso a paso y me he quedado bloqueado en el paso de instalar NODE, ejecuto esta instruccion:

    sudo cp -R * /usr/local

    Y a partir de aqui me da error

    npm install -g npm

    npm install -g node-gyp

    no hace ninguna de estas instalaciones.

    dice :

    /usr/local/bin/mode:1: / usr/local/bin/mode: ELF Y @oh@8: not fount

    he instalado el v9.8.0

    Agradeceria tu ayuda! saludos

  64. Cierto, Keka lo ha empaquetado a la primera! merci

    Por otro lado, que archivo config.json usas?
    No se sido capaz de encontrarlo

  65. No he sido capaz de instalarlo siguiendo los pasos y buscando informacion se habla del Config.json

    Ahora estoy intentando arrancar con la Imagen de 4 Gb que has preparado y arranca bien. El problema es que no me deca acceder a ella via terminal ssh me da el siguiente error como si hubieras cambiado la contraseña

    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    @ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
    IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
    Someone could be eavesdropping on you right now (man-in-the-middle attack)!
    It is also possible that a host key has just been changed.
    The fingerprint for the RSA key sent by the remote host is
    0a:c7:d6:3f:6c:3f:29:83:75:ed:64:88:e8:c7:b3:c1.
    Please contact your system administrator.
    Add correct host key in /Users/biesa/.ssh/known_hosts to get rid of this message.
    Offending RSA key in /Users/biesa/.ssh/known_hosts:1
    RSA host key for 192.168.8.107 has changed and you have requested strict checking.
    Host key verification failed.

    Los accessories que veo son los antiguos y al no poder entrar via ssh no se como crear (copiar y pegar) en accessories Light1_accesory

    Agradeceria tu ayuda para hacerlo y/o poder entrar via terminal

    Gracias

    • Ese error es del acceso por ssh… que ya has usado esa ip y la identificacion del host es diferente…
      Tienes que borrar el registro para poder acceder por ssh a esa ip…
      ssh-keygen -R “ip de la raspberry”

    • Perdona, una vez que borro los accesorios existente, como hago para cargar el nuevo archivo “Light1_accssory.js”?

      muchas gracias

      • La mejor forma es es que copies el código desde la repo de github y después por ssh, en la carpeta de accesorios, crees un archivo vacio con el nombre correspondiente al accesorio y pegues el código.
        “sudo nano Light1_accessory.js”

  66. ok, ya he podido generar Light1_accessory e incluirlo en Homekit.

    llevo varios dias trabajando con el Cketch y tengo instalada la libreria y he modificado la ip de la raspberry, asi como mi red wifi y su password. Compilo y sin herrores !

    cargo el sketch en la ESP y puedo ver como por el monitor serie se conecta a mi wifi sin problemas, ahora si, no hace nada mas!!!!

    como puedo ver si estan llegando los estados de on y off? algun consejo?

      • Tienes razón, había cambiado la ip del sketch pero no la del accesorio! Ahora ya funciona.

        una pregunta mas. El homekit solo funciona si estas conectado a la misma Wifi? Lo estoy controlando desde el telefono que esta conectado a la misma wifi y he hecho la prueba de desconectar la wifi del tlf para conectarme con 4G del telefono y ha dejado de funcionar, tanto que he tenido que hacer un reboot a la raspberry para que volviera a funcionar todo.

        alguna solución para que funcione desde fuera de casa?

        gracias

  67. Muchisimas gracias. Ya he activado el ipad para que haga de pasarela! Lastima que mi apple TV es viejo y no lo permite.

    Ultimamente estoy utilizando la placa wemos basada en ESP8266 y tambien funciona perfectamente!

    Ahora intentare probar otros accesorios!!!!

    Muchas gracias

  68. Hola, ya he probado el sensor de temp, humedad con rele de salida y funciona sobre una wemos!

    Lo único es que el la aplicacion Casa los iconos me aparecen todo en gris como sino comunicara pero desde luego los valores los actualiza y luego no tengo la posibilidad de utilizar el valor de temperatura en automatizaciones para interactuar con el rele por ejemplo.

    por otro lado, como puedo hacer para cambiar los dibujos de los sensores y que sean dinamicos? por ejemplo, cambiar el dibujo de una bombilla por una lampara con soporte de pie.

    Muchas gracias de antemanao.
    manel.

    • Los sensores que solo dan información, aparecen asi y no se puede hacer nada …
      Y los iconos van en funcion del accesorio configurado, un enchufe una luz, no creo que se pueda elegir una lampara de pie…

  69. Estimado:

    he probado tu tutorail logre instalar todo, es mas cuando ejecuto directamente python logro encender y apagar un led, pero cuando lo realizo con homekit, no sucede nada con el led. (tengo el accesorio agregado al iphone)

  70. Hola, esperando que estes bien, te planteo mi duda.
    Lo que pasa es que estoy intentando añadir un accesorio, que descargue de tu pan (Light1estado_accessory.js) lo que pasa es que no puedo añadirlo, al momento de agregarlo me dice: [ Error writing Light1estado_accessory.js: Permission denied ].
    Que puedo hacer para que me de autorización para agregar este accesorio?

    Muchas gracias por lo tutoriales, sin duda me ha servido de mucho.
    Saludos.

    • El comando para crear en linux con permisos de administrador es “sudo”,
      Por lo que para crear el archivo y poder copiar el código es:
      sudo nano Light1estado_accessory.js
      Se te creara un archivo vacío… copias el código desde github y lo pegas en el archivo vacío… una vez copiado, sales con ctrl+X y después Y para confirmar….

      • Pude agregar el accesorio a la raspberry!! gracias.

        Ahora tengo otro problema, no me aparece el dispositivo al momento de agregarlo al iPhone :/, sigo los pasos y no logro que aparezca.

        Saludos…

      • Has reiniciado el servidor después de agregar el accesorio?
        Has comprado si el servidor se está ejecutando de forma correcta?
        Apágalo con
        sudo killall node
        He inícialo de nuevo
        sudo node Core.js (desde la carpeta donde está el archivo) y comprueba si se inicia o da error

      • pi@raspberrypi:~/HAP-NodeJS/accessories $ sudo node Core.js
        module.js:487
        throw err;
        ^

        Error: Cannot find module ‘/home/pi/HAP-NodeJS/accessories/Core.js’
        at Function.Module._resolveFilename (module.js:485:15)
        at Function.Module._load (module.js:437:25)
        at Function.Module.runMain (module.js:605:10)
        at startup (bootstrap_node.js:158:16)
        at bootstrap_node.js:575:3

        Eso me aparece

      • Lo estas ejecutando donde no es…
        Sube una carpeta… core.js, está dentro de la carpeta HAP-NodeJS.. no de la carpeta accesories

      • pi@raspberrypi:~/HAP-NodeJS $ sudo node Core.js
        *** WARNING *** The program ‘node’ uses the Apple Bonjour compatibility layer of Avahi.
        *** WARNING *** Please fix your application to use the native API of Avahi!
        *** WARNING *** For more information see
        *** WARNING *** The program ‘node’ called ‘DNSServiceRegister()’ which is not supported (or only supported partially) in the Apple Bonjour compatibility layer of Avahi.
        *** WARNING *** Please fix your application to use the native API of Avahi!
        *** WARNING *** For more information see
        HAP-NodeJS starting…
        module.js:487
        throw err;
        ^

        Error: Cannot find module ‘mqtt’
        at Function.Module._resolveFilename (module.js:485:15)
        at Function.Module._load (module.js:437:25)
        at Module.require (module.js:513:17)
        at require (internal/module.js:11:18)
        at Object. (/home/pi/HAP-NodeJS/accessories/Light1_accessory.js:2:12)
        at Module._compile (module.js:569:30)
        at Object.Module._extensions..js (module.js:580:10)
        at Module.load (module.js:503:32)
        at tryModuleLoad (module.js:466:12)
        at Function.Module._load (module.js:458:3)

        Eso me aparece.

        Disculpe las molestias y muchas gracias por su ayuda

  71. Hola, primero que todo gracias por el magnífico tutorial!
    Pero tengo una duda, tengo el Core.js funcionando y el accesorio de Light1 funcionando con el homekit (Aparecen los mensajes de “Turning the light1 on!”, pero en la parte del esp8266 cual es el topic que tengo que poner para recibir estos mensajes? Porque estoy provando en el topic “Light1” pero ahi no recibo los mensajes de Homekit….

    Espero tu respuesta, un saludo.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s