Aller au contenu
kiwi

Commander L'hc2 (Et Hcl) Via Homekit Et Siri

Recommended Posts

Non c natif dans l'AppleTV 3 et dans tvOS car l'Apple TV est considéré par Apple comme la passerelle qui fait relai pour l'accès depuis l'extérieur aux objets homekit via iCloud. Sauf que ça ne fonctionne pas toujours et peu de pistes pour comprendre pourquoi. Des utilisateurs qui ont tout misé sur homekit pour la domotique en deviennent fou sur les forum...

Envoyé de mon iPhone en utilisant Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

@gazous: comment as tu fait pour que homebridge ne s'arrête pas au bout de quelques minutes? J'ai bien essayé avec forever mais je dois pas bien m'y prendre alors. Tu lances homebridge en Root ou non?

Avant le passage en architecture plugin je n'avais pas ce problème :-/

Partager ce message


Lien à poster
Partager sur d’autres sites

Houla je débarque moi. :)

Apple TV permet de commander la HC2 avec Siri ? C'est en natif où il faut installer Homebridge sur l'appel TV.

Partager ce message


Lien à poster
Partager sur d’autres sites

Il faut installer homebridge sur un RPi ou ma mini ou autre Linux compatible. L'ATV4 te permet de garder le contrôle de ta maison via Siri même en dehors de chez toi. Mais visiblement via l'atv et iCloud ce n'est pas encore tout àfait au point :-/

Mais même avec l'ATV, il te faut homebridge installé sur une passerelle Linux

Partager ce message


Lien à poster
Partager sur d’autres sites

Voilà  ma petite contribution pour ceux qui veulent se lancer (et ça me servira d'aide mémoire en même temps lol), la distribution Wheezy sera installée sur un RPI:

http://blog.hotfirenet.com/preparer-la-carte-sd-de-votre-raspberry-pi-sous-mac/

Mettre à  jour votre système:
 

sudo apt-get update
sudo apt-get upgrade

Installer GCC:

Comme l' OS Raspbian est basé sur Debian Wheezy , il est livré avec le compilateur C qui est trop vieux pour certains des paquets que Homebridge exige.
Il faut donc suivre ces instructions pour installer une version mise à  jour du compilateur C 14 .

Ensuite, ouvrir /etc/apt/sources.list dans l'éditeur de texte et remplacer wheezy avec jessie:

sudo nano /etc/apt/sources.list

Mettre à  jour les paquets:

sudo apt-get update

Installer GCC4.9:

sudo apt-get install gcc-4.9 g++-4.9

Vous devrez accepter que les services redémarrent automatiquement pendant l'installation (une page va vous y inviter au bout d'un moment)


Ensuite, ouvrir /etc/apt/sources.list dans l'éditeur de texte et remplacer de nouveau jessie avec wheezy cette fois

sudo nano /etc/apt/sources.list
sudo apt-get update

La procédure ci-dessus permet de garder GCC 4.6 par défaut C et le compilateur C ++ pour tout paquet qui en dépend , si vous voulez compiler un programme avec GCC 4.9 , vous devrez utiliser gcc - 4.9 et g ++ - 4.9 en invoquant les compilateurs .
Maintenant, vous avez le compilateur nécessaire , mais il est pas encore configuré pour être le compilateur par défaut . Vous pouvez résoudre ce problème avec ces commandes:
 

sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.9 60 --slave /usr/bin/g++ g++ /usr/bin/g++-4.9
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.6 40 --slave /usr/bin/g++ g++ /usr/bin/g++-4.7

Installer node.js:

Ensuite on télécharge la dernière version de node.js, on la décompresse et on la copie dans le bon répertoire:

wget https://nodejs.org/d...x-armv6l.tar.gz

tar -xvf node-v4.2.4-linux-armv6l.tar.gz
cd node-v4.2.4-linux-armv6l
sudo cp -R * /usr/local/

Installer la librairie Avahi
 

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

Etendre la partition systeme:

http://www.soft-alternative.com/raspberry-pi-etendre-partition-systeme-capacite-carte-sd-raspbian.php

Installation de homebridge:

sudo npm install -g homebridge
sudo npm install -g homebridge-fibaro-hc2

cd /home/pi/.homebridge/
nano config.json

copier le code ci-dessous et modiez vos accès (pour sortir du mode editeur de texte: CTRL+X):
------------------------

 

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

    "platforms": [
            {
            "platform": "FibaroHC2",
            "name": "FibaroHC2",
            "host": "IP du HC2",
            "username": "login",
            "password": "password"
        }

    ],

    "accessories": [
    ]
}

--------------------------
Mise en place d'un script au démarrage:

cd /etc/init.d
sudo nano homebridge
#!/bin/sh
### BEGIN INIT INFO
# Provides: homebridge
# Required-Start: $network $remote_fs $syslog
# Required-Stop: $remote_fs $syslog
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Start daemon at boot time
# Description: Enable service provided by daemon.
### END INIT INFO

dir="/home/pi"
cmd="DEBUG=* /usr/local/bin/homebridge"
user="pi"
name=`basename $0`
pid_file="/var/run/$name.pid"
stdout_log="/var/log/$name.log"
stderr_log="/var/log/$name.err"

get_pid() {
cat "$pid_file"
}

is_running() {
[ -f "$pid_file" ] && ps `get_pid` > /dev/null 2>&1
}

case "$1" in
start)
if is_running; then
echo "Already started"
else
echo "Starting $name"
cd "$dir"
if [ -z "$user" ]; then
sudo $cmd >> "$stdout_log" 2>> "$stderr_log" &
else
sudo -u "$user" $cmd >> "$stdout_log" 2>> "$stderr_log" &
fi
echo $! > "$pid_file"
if ! is_running; then
echo "Unable to start, see $stdout_log and $stderr_log"
exit 1
fi
fi
;;
stop)
if is_running; then
echo -n "Stopping $name.."
kill `get_pid`
for i in {1..10}
do
if ! is_running; then
break
fi

echo -n "."
sleep 1
done
echo

if is_running; then
echo "Not stopped; may still be shutting down or shutdown may have failed"
exit 1
else
echo "Stopped"
if [ -f "$pid_file" ]; then
rm "$pid_file"
fi
fi
else
echo "Not running"
fi
;;
restart)
$0 stop
if is_running; then
echo "Unable to stop, will not attempt to start"
exit 1
fi
$0 start
;;
status)
if is_running; then
echo "Running"
else
echo "Stopped"
exit 1
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac

exit 0
sudo chmod 755 /etc/init.d/homebridge
sudo update-rc.d homebridge defaults

Contrôle via votre téléphone / Apple Watch Siri:

 

Ensuite, installer l'application Eve sur iOS et ajouter la passerelle homebridge depuis votre iBidule.

Pour bénéficier du contrôle de votre HC2 via Siri via la 4G, il suffit de connecter une Apple TV 4 et rentrer votre compte iCloud dessus, et hop le contrôle est récupéré à  distance! :-)

Pour faire la même chose depuis votre apple watch, il n'y a rien à  faire en plus à  partir du moment où cela fonctionne sur l'iPhone, ça fonctionnera sur l'apple watch.

 

Et si ma femme veut se connecter elle aussi via Siri?

Il suffit de faire une invitation depuis les réglagles homekit de votre iPhone vers le mail de votre femme, elle recevra une invitation pour faire partie de votre domicile et pourra donc elle aussi contrôler le HC2 depuis son téléphone. Veillez à  ce que l'application Eve soit également installée sur son iPhone.

 

 

--> bon amusement!

 

 

Edit: certains ont eu des soucis pour installer le plugin HC2 qui permet de récupérer les devices. Il semblerait que ces commandes aient corrigé le problème:

Installation du plugin pour récupérer les devices de la HC2

sudo npm install --unsafe-perm --verbose -g homebridge-fibaro-hc2

Installation du plugin http pour lancer des requetes http vers la HC2 (commande des devices, lancer une scene etc etc)

sudo npm install -g homebridge-http

création du répertoir pour le fichier de configuration json

sudo mkdir /home/pi/.homebridge
  • Upvote 3

Partager ce message


Lien à poster
Partager sur d’autres sites

Je n'ai pas de problème d'arrêt automatique.

Cela fait une bonne semaine que ça tourne.

Par contre je n'utilises pas forever mais un script init rc.d pour le démarrage automatique.

Mais est-ce que ton rpi reboote régulièrement car le process ne doit pas s'arrêter.

Partager ce message


Lien à poster
Partager sur d’autres sites

@clark merci pour les précisions sur atv.

Et merci le pas àpas pour l'installation. :)

Partager ce message


Lien à poster
Partager sur d’autres sites

le RPI ne reboot pas d'après moi, je vais essayer ton script.

 

Mise à  jour --> ça fonctionne avec un script tel que tu l'indiques. J'ai mis à  jour le post juste au dessus.

 

Merci Gazous! :)

Partager ce message


Lien à poster
Partager sur d’autres sites

J'ai terminé les update et upgrade, installé onde.js mais il veut pas installer Avahi... C'est grave docteur ?

Je continue avec l'installation de homebridge. On verra si ça coince.

Partager ce message


Lien à poster
Partager sur d’autres sites

arf pour moi c'est utilisé pour les protocoles Zeroconf d'Apple et annoncer les services homekit donc je pense que ça va coincer :-/

 

Je suis pas un specialiste Linux mais ça dit quoi comme erreur?

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne sais plus mais je vais ressayer et coller le message. 

En tout cas j'ai une dizaine de messages pendantl'installation de Homebridge :

gyp WARN EACCES user "root" does not have permission to access the dev dir "/root/.node-gyp/4.2.3"
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/.node-gyp"
make: Entering directory '/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/build'
  CXX(target) Release/obj.target/curve/node_curve.o
  SOLINK_MODULE(target) Release/obj.target/curve.node
  COPY Release/curve.node
make: Leaving directory '/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/curve25519/build'

> bignum@0.11.0 install /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/srp/node_modules/bignum
> node-gyp configure build

Puis à  la fin c'est la cata !

compilation terminated.
mdns_sd_bindings.target.mk:141: recipe for target 'Release/obj.target/dns_sd_bindings/src/dns_sd.o' failed
make: *** [Release/obj.target/dns_sd_bindings/src/dns_sd.o] Error 1
make: Leaving directory '/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns/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:270:23)
gyp ERR! stack     at emitTwo (events.js:87:13)
gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Linux 4.1.7+
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/node_modules/mdns
gyp ERR! node -v v4.2.3
gyp ERR! node-gyp -v v3.0.3
gyp ERR! not ok 
npm ERR! Linux 4.1.7+
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "-g" "homebridge"
npm ERR! node v4.2.3
npm ERR! npm  v2.14.7
npm ERR! code ELIFECYCLE

npm ERR! mdns@2.2.11 install: `node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the mdns@2.2.11 install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the mdns package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node-gyp rebuild
npm ERR! You can get their info via:
npm ERR!     npm owner ls mdns
npm ERR! There is likely additional logging output above.
                
npm ERR! Please include the following file with any support request:
npm ERR!     /root/npm-debug.log

Partager ce message


Lien à poster
Partager sur d’autres sites

Alors le message d'erreur àl'installation de avahi :

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package libavahi-compat-libdnssd-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

Partager ce message


Lien à poster
Partager sur d’autres sites

Suivant la version de node installée, il est possible d’obtenir le message « Illegal instruction« .


Il faut alors supprimer l’installation de nodejs et installer une version plus ancienne.





1

2




sudo rm -Rf /opt/node

sudo mkdir /opt/node





Puis reprendre au wget


Partager ce message


Lien à poster
Partager sur d’autres sites

Bon; 04am Homebridge fonctionnel , plus qu'a demander a siri, de tous configurer les modules lol

 

quelqu'un a integrer Philips hue,,,, config ???? ca parle de mettre user,,, mais faut il pas un user pass ??

 

Si une personne peut faire tourner une démo de deux trois plaform et accessoires pour voir le jeu de virgule !

 

Je m’aperçois que le wallplugs ne sont pas pris en charge par lili ? bête cela 

Partager ce message


Lien à poster
Partager sur d’autres sites

@q.phil Merci pour l'info sur node.js. Je vais essayer ce soir.

Ca tournes sur un raspberry ?

Envoyé de mon iPhone àl'aide de Tapatalk

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui moi je le fais tourner sur raspberry. Par contre ce matin, box dans le sac les commandes ne répondent plus... J'ai l'impression qu'elle n'aime pas les accès répétés sur l'api car elle me l'a fait chaque lendemain du couplage avec homebridge :-(

Partager ce message


Lien à poster
Partager sur d’autres sites

Je ne vous cache pas que j'ai beaucoup bataillé avant de faire en sorte que tous les packages s'installent et tournent correctement mais c'est toujours comme ça sur cette plateforme.

Avec quelques recherches google on finit toujours par trouver la solution.

Partager ce message


Lien à poster
Partager sur d’autres sites

Oui raspberry A pi , j'ai refais une carte avec Jessie,,node.js v4.0.2 , lib, et du temps pour paramétrer config.json, quelques erreur (si une erreur sur script, tout le dossier n'est pas valide, donc être sur ),,, je dois dire que je n'ai encore rien commander par la voie lol

J'en ai profiter pour installer Airsonos en plus dessus ,,,,Ca tiens

Partager ce message


Lien à poster
Partager sur d’autres sites

Il faut obligatoirement EVE une fois tout installé ou Siri trouve Homebridge quand on est sur le réseau local ?

Partager ce message


Lien à poster
Partager sur d’autres sites

Il te faut Eve ou un équivalent pour associer ton terminal iOs et donc ton compte iCloud àton server Homebridge.

Ensuite, dans Eve tu va pouvoirs allouer tes "Accessoires" àdes pièces car par défaut le serveur ne va pas retrouver les pièces définies sur ta HC2.

Tu peux aussi définir qu'un "Accessoires" est utilisé pour une lumière ce qui te permet de pouvoir ensuite lui dire "Allume la lumière Plafonnier du Salon"

Partager ce message


Lien à poster
Partager sur d’autres sites

salut

moi j ai un petit problem :

 

pi@raspberrypi ~ $ wget https://nodejs.org/dist/latest-v4.x/node-v4.2.3-linux-armv6l.tar.gz
--2015-05-07 00:47:29--  https://nodejs.org/dist/latest-v4.x/node-v4.2.3-linux-armv6l.tar.gz
Resolving nodejs.org (nodejs.org)... 104.20.22.46, 104.20.23.46, 2400:cb00:2048:1::6814:172e, ...
Connecting to nodejs.org (nodejs.org)|104.20.22.46|:443... connected.
ERROR: The certificate of `nodejs.org' is not trusted.
The certificate has not yet been activated

Partager ce message


Lien à poster
Partager sur d’autres sites

Ok ! J'ai tout réinstallé depuis une distribution wheezy (alors que j'avais une jessie ...) et tout s'est installé.

 

j'ai un dernier problème :

 

Quand je tape :

pi@raspberrypi / $ sudo update-rc.d homebridge defaults

J'ai ça :

update-rc.d: using dependency based boot sequencing

insserv: warning: script 'K01homebridge' missing LSB tags and overrides

insserv: warning: script 'homebridge' missing LSB tags and overrides

 

 

et si je lance homebridge à  la main :

pi@raspberrypi ~ $ cd /etc/init.d

pi@raspberrypi /etc/init.d $ homebridge

 

J'ai tout ça !!!!

*** 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 <http://0pointer.de/avahi-compat?s=libdns_sd&e=node>

*** 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 <http://0pointer.de/avahi-compat?s=libdns_sd&e=node&f=DNSServiceRegister>

Loaded plugin: homebridge-fibaro-hc2

Registering platform 'homebridge-fibaro-hc2.FibaroHC2'

---

There was a problem reading your config.json file.

Please try pasting your config.json file here to validate it: http://jsonlint.com

 

/usr/local/lib/node_modules/homebridge/lib/server.js:124

    throw err;

    ^

 

SyntaxError: Unexpected token 

 

    at Object.parse (native)

    at Server._loadConfig (/usr/local/lib/node_modules/homebridge/lib/server.js:118:19)

    at new Server (/usr/local/lib/node_modules/homebridge/lib/server.js:25:23)

    at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:23:3)

    at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)

    at Module._compile (module.js:435:26)

    at Object.Module._extensions..js (module.js:442:10)

    at Module.load (module.js:356:32)

    at Function.Module._load (module.js:311:12)

    at Function.Module.runMain (module.js:467:10)

Partager ce message


Lien à poster
Partager sur d’autres sites

×