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

npm install curve25519-n2

 

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…

 

wget https://dl.dropboxusercontent.com/u/8783282/descargas/ficheros/ficheros%20homekit/Light1_accessory.js

 

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

176 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!

      • 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!

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 )

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 )

Google+ photo

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

Conectando a %s