Forum Lifedomus
Tuto Piloter ses lumières à la voix avec Amazon Echo - Version imprimable

+- Forum Lifedomus (http://forum-lifedomus.com)
+-- Forum : Vos automates et applications (http://forum-lifedomus.com/forumdisplay.php?fid=52)
+--- Forum : Eclairage (http://forum-lifedomus.com/forumdisplay.php?fid=57)
+---- Forum : Tuto (http://forum-lifedomus.com/forumdisplay.php?fid=70)
+---- Sujet : Tuto Piloter ses lumières à la voix avec Amazon Echo (/showthread.php?tid=3747)

Pages : 1 2 3 4 5 6 7 8 9 10 11 12 13


Piloter ses lumières à la voix avec Amazon Echo - aureOhwo - 08-18-2017

Attention : l'appairage du pont virtuel HA-Bridge avec Google Home n'est plus possible suite à l'utilisation de l'api Cloud de Philipps (account.meethue.com) plutôt que l'api locale (hue-adapter.appsot.com).

Ca fonctionne par contre parfaitement avec les Amazon Echo Cool-1614

Suite à l'invitation de Hsd, voici mon premier tuto  ! 

Il concerne le pilotage à la voix des lumières en utilisant Google Assistant via l'émulation d'un pont Philipps Hue (en attendant le connecteur officiel Google Assistant by LifeDomus !).

Voici ce que ça donne chez moi :





Dans les pré requis, outre notre Lifedomus, il vous faudra un appareil capable d'exécuter du Java (dans mon cas, un vieux Raspberry B) et un appareil doté de Google Assistant (Google Home ou smartphone Android 6.0 +).

3 étapes (+ 1 facultative) :

- Dans Config Studio, exposer les lumières que l'ont souhaite piloter à travers un équipement Ecoute Universelle
- Installer et configurer un pont virtuel HA-Bridge pour mapper les URL de l'écoute universel en lumière Philipps Hue
- Lier le pont virtuel à Google Home et configurer ses lumières / pièces
- Bonus : tenir à jour l'état des lumières sur le pont

Etape 1 : Config Studio 

Du côte de Lifedomus ce n'est pas très compliqué, on ajoute un connecteur et un équipement Ecoute Universelle avec 2 variables, une pour indiquer la lumière à piloter (trame) et l'autre pour la valeur (chez moi On, Off ou un pourcentage de variation) :

[attachment=1839]

On créé ensuite un automate par lumière à gérer qui se déclenchera sur trame = nom de l'action sur ma lumière, chez moi LumièreCuisineSuspensionsCommute :

[attachment=1841]

L'automate est basique : j'allume si valeur = On, j'éteins si valeur = Off, je commute si valeur Vide (j’utilise cette commutation sur valeur vide pour tout à fait autre chose que Google Home, ce n'est donc pas forcément utile pour vous) :

[attachment=1840]

C'est terminé en ce qui concerne Lifedomus !

Etape 2 : HA-Bridge (pont virtuel Hue).

Ce composant Java va vous permettre de faire croire à Google Home que votre maison est équipé en Philipps Hue, même s'il n'en est rien !

Chacune de vos lumières à piloter sera déclarée et configurée pour faire appel aux url de l'écoute universelle précédemment configurée.

Ça marche avec les autres appareils compatibles Hue, comme les hubs Logitech Harmony (c'est d'ailleurs pour ça à la base que j'avais installé ce pont virtuel).

Voici le lien vers le composant : HA-Bridge

Comme je l'ai dit, il vous faudra disposer d'une machine capable d'exécuter du Java tel qu'un Raspberry Pi (un vieux B suffit largement) ou un Synology capable d'exécuter Docker (en gros les modèles Intel).

Installation sur un Raspberry (le plus simple) : 

Je ne vais pas détailler l'installation du Raspberry ou de de Java sur la machine, on trouve toutes les ressources nécessaires sur le net (si besoin je compléterais cette partie). 

Pour HA-Bridge, outre les infos du GitHub, un tuto vidéo explique assez bien la chose : Tuto HA-Bridge

Installation sur un Synology via Docker (un peu plus compliqué) :

Si votre Synology est compatible avec Docker, il est possible d'y installer le pont, moyennant quelques bidouilles pour libérer le port 80, réservé à Synology (si vous utilisez Photo Station, passez donc votre chemin...).

Pour commencer, il faut libérer le port 80 du Syno en suivant la première partie de ce tutorial (releasing port 80) : http://tonylawrence.com/post/unix/synology/freeing-port-80/

Puis installez le package Docker si ce n'est pas encore fait, et créez un dossier ha-bridge dans le dossier partagé docker pour stocker la configuration du pont.

Lancez Docker et effectuez une recherche du conteneur "home-automation-bridge" dans l'onglet Registre :

[attachment=1919]

Téléchargez le conteneur, puis lancez le dans l'onglet Image : 

[attachment=1920]

Certains paramètres doivent impérativement être modifiés en cliquant sur le bouton "Paramètres avancés" : 

[attachment=1921]

Pour commencer, dans l'onglet Volume, ajouter le dossier /docker/ha-bridge précédemment créé et le faire pointer sur /config du conteneur :

[attachment=1922]

Puis dans l'onglet Réseau, cocher "Utiliser le même réseau que Docker Host (attention à ne pas le louper, c'est primordial pour la détection et la communication par Google Home, et ce n'est pas modifiable par la suite si vous l'oubliez !) : 

[attachment=1923]

Et enfin créer les 2 variables SERVERPORT (port 80 obligatoire) et SERVERIP (Ip de votre Syno) dans l'onglet Environnement :

[attachment=1924]

Valider la création du conteneur, il ne vous reste plus qu'a le lancer !

Configuration du pont : 

Une fois le pont installé et lancé, ouvrez un navigateur avec l'ip de la machine Java et cliquez sur l'onglet Bridge Control :

[attachment=1842]

J'ai encadré en rouge les 2 infos à modifier, UPNP IP ADRESS avec l'ip de la machine Java et "Web Server Port" obligatoirement valorisé à 80 (sinon le Google Home ne le verra pas).

Enregistrez les paramètres puis créez un "device" par lumière à piloter via l'onglet "Add/Edit" :

[attachment=1843]

Il vous faudra obligatoirement renseigner un nom pour la lumière (Name) et les paramètres "On Items" et "Off Items" avec les URL de votre écoute universelle en Http Device en pensant à cliquer sur le bouton Add à chaque fois (voir capture ci-dessus).

Pour vos sorties en variation vous pouvez également renseigner le "Dim Items" comme sur la capture (attention de ne rien mettre pour du simple On/Off sinon ça a tendance à déconner au niveau de l'interface avec l'impossibilité de supprimer le Dim Items).

Enfin on valide le tout avec le bouton "Update Bridge Device" ! 

Sur la page principale, je vous conseille de tester le bon fonctionnement de chaque lampe avec les boutons Test On et Test Off avant d'aller plus loin...

Etape 3 : Google Home

Une fois de plus, je vais faire mon feignant et vous rediriger vers la doc officielle  Wink-1627  : Doc Google Assistant

En bref, depuis l'application Google Home, se rendre dans l'onglet "Contrôle de la maison" puis cliquer sur le bouton + en bas à droite.

Il faut choisir Philips Hue, puis valider et cliquer sur le bouton "Link" de la page d'accueil du HA-Bridge quand on vous demandera de passer le pont Hue en appairage.

Ensuite, il ne vous reste plus qu'a renommer si besoin vos ampoules et les affecter à des pièces (pratiques pour éteindre toute une pièce d'un coup par exemple).

Çà devrait vous donner un truc comme ça :

[attachment=1844]

Etape 4 : tenir à jour l'état des lumières sur le pont

Cette étape est facultative mais utile si vous avez des lumières dimmables et que vous souhaitez utiliser des commandes vocales  "Tamise <nom de la lumière>" ou "Augmente la luminosité de <nom de la lumière>".

En effet, si le pont pense être à 80% alors que la lumière est réellement à 20% (suite à une action sur lifedomus ou autre), alors cela va faire bizarre à madame si elle demande un peu de lumière en plus...

Concrètement, HA-Bridge dispose d'une api dédiée à la mise à jour de l'état des lumières (on/off et variation). 

il faut commencer par créer un utilisateur sur le pont pour déclarer notre Lifedomus qui ira faire appel à cet api : pour cela on appuie sur le bouton link et on fait appel à l'api du ha-bridge avec le nom de l'utilisateur :

[attachment=1912]

On reçoit en retour une chaîne qu'on va aller coller dans un nouveau connecteur HTTP sur Lifedomus :

[attachment=1913]

On créé un équipement pour mettre à jour l'état de notre lumière :

[attachment=1914]

Et pour finir un automate pour la mise à jour de la variation :  

[attachment=1915]

Petit détail : on passe par une variable pour convertir le pourcentage en octet :

[attachment=1916]

L'automate sera déclenché à chaque changement de luminosité sur la lampe > 0 : 

[attachment=1917]

Voila pour le moment, il ne vous reste plus qu'a profiter de votre installation !

Si quelque chose n'est pas clair, n'hésitez pas à me le faire savoir  Exclaim-1618


RE: Piloter ses lumières à la voix avec Google Assistant - Hsd - 08-18-2017

Un grand merci pour le partage  Eek-1e6fb

Super tuto qui va plaire à un grand nombre je pense  Lol-161b


RE: Piloter ses lumières à la voix avec Google Assistant - aureOhwo - 08-18-2017

C'est avec plaisir de rendre un peu au forum ce qu'il m'a apporté  Lol-161b


RE: Piloter ses lumières à la voix avec Google Assistant - Ives - 08-19-2017

Bonjour,

Merci pour ce tuto qui ouvre des perspectives !

Quel est ton retour concernant l'utilisation  :
- lorsqu'il y a un peu de bruit dans la maison (autres personnes qui parlent), musique etc 
- en étant éloigné du module Google assistant ?

Est-il possible de faire fonctionner en installant Java sur un NAS Synology et si oui quelles sont les difficultés supplémentaires ?


RE: Piloter ses lumières à la voix avec Google Assistant - jojo - 08-19-2017

Merci beaucoup pour ce partage.
Je sens que je vai bien m'amuser avec cette info.
Mais n'ayant pas de RPI, je vais regarder comment installer HA-Bridge sur un Synology.


RE: Piloter ses lumières à la voix avec Google Assistant - aureOhwo - 08-19-2017

Bonsoir,

Pour Google Home, je dirais que c'est quand même assez sensible au bruit ambiant :  autant ça fonctionne systématiquement en environnement calme, autant il faut parfois s'y prendre à deux ou trois fois avec de la musique ou des discussions dans la pièce ! Par contre au niveau de la distance c'est très bien, le mien est au centre d'une pièce de vie d'environ 60 M² et cela ne pose aucun problème où que je sois dans la pièce, et sans hausser la voix. 

Par rapport au Syno, un package Docker est disponible, je ne pense pas que cela pose de problème si votre modèle de nas le permet (j’envisage d'ailleurs de le faire chez moi dès que j'aurai reçu mon 916+ 8go). Le seul inconvénient que je vois est que cela va monopoliser le port 80  Neutral-161e


RE: Piloter ses lumières à la voix avec Google Assistant - jojo - 08-19-2017

ah, ok, je n'ai encore jamais utilisé docker, mais donc, il faut passer par cette couche intermédiaire. On installerait donc HA-Bridge sur Docker (qui tourne sur Synology, qui tourne surXPNology, qui tourne sur mon HP Gen8. Ca en fait des couches de virtualisation ...)


RE: Piloter ses lumières à la voix avec Google Assistant - Ives - 08-20-2017

(08-19-2017, 07:53 PM)jojo a écrit : Merci beaucoup pour ce partage.
Je sens que je vai bien m'amuser avec cette info.
Mais n'ayant pas de RPI, je vais regarder comment installer HA-Bridge sur un Synology.

Super et ensuite tu pourras compléter le tuto de aureOhwo ! 44-24eea0


RE: Piloter ses lumières à la voix avec Google Assistant - jojo - 08-21-2017

Je n'ai pas encore essayé (je vais dormir), mais il me semble que ceci explique bien comment faire
http://forum.micasaverde.com/index.php?topic=39241.0


RE: Piloter ses lumières à la voix avec Google Assistant - jojo - 08-21-2017

bonne et mauvaise nouvelle.
D'abord la mauvaise (pour moi en tout cas), il FAUT avoir DSM6, car DSM 5 ne supporte pas le Java 1.8, qui est un prérequis.
La bonne, c'est que je vais vous dire comment le faire si vous pouvez installer Java 1.8 sur votre Syno.

Il faut donc d'abord installer le Package Java
ensuite suivre les instructions  http://forum.micasaverde.com/index.php?topic=39241.0
[/url]
[url=http://forum.micasaverde.com/index.php?topic=39241.0]Les infos complémentaires BitHub :
https://github.com/bwssytems/ha-bridge

Les releases dispo : https://github.com/bwssytems/ha-bridge/releases

A partir de l'étape 7, je reprends les instructions en commentaire de la vidéo YouTube.
Comme sudo n'est pas installé sur Synology, je me connecte en root (avec le mdp admin)

Mon dossier partagé est :
/volume1/HA_Bridge
La dernière version au moment d'écrire ces lignes est 4.5.6.
téléchargement du Bridge :
cd /volume1/HA_Bridge
wget https://github.com/bwssytems/ha-bridge/releases/download/v4.5.6/ha-bridge-4.5.6.jar

dans ce directory, il faut créer le script
starthabridge.sh
avec ces lignes de commande
cd /volume1/HA_Bridge
rm /volume1/HA_Bridge/habridge-log.txt
nohup java -jar -Dserver.port=8080 /volume1/HA_Bridge/ha-bridge-4.5.6.jar > /volume1/HA_Bridge/habridge-log.txt 2>&1 &
chmod 777 /volume1/HA_Bridge/habridge-log.txt

puis l'exécuter
./starthabridge.sh

(et c'est là que ça ne fonctionne pas chez moi, vu que j'ai java 1.7)