Vous utilisez un Assistant, comme Google Home / Google Assistant ? Alors vous pouvez étendre ses possibilités grâce à cet outil qui utilise la puissance de IFTTT.
REMARQUE du Mercredi 22 Novembre 2017 : je ne m'attendais pas à une telle visibilité (article sur UniversFreebox), et du coup à autant de gens qui seraient intéressés... j'essaierai donc de vulgariser un peu plus et de faire des vidéos pour montrer la procédure. Par contre, je ne pourrai pas m'en occuper avant la semaine prochaine (partant en vacances tout à l'heure). Un peu de patience donc :-)
Il s'agit d'un projet personnel que je partage avec la communauté pensant que d'autres cherchent une solution similaire. Si j'ai essayé de proposer quelque chose de simple et modulable, il n'en reste pas moins qu'il faut savoir bidouiller un petit peu. Ne sachant pas la portée que va avoir cet outil, je n'ai pas voulu aller trop loin dans la simplicité. Si je vois une forte demande, je verrai pour simplifier encore un peu plus (en particulier si d'autres plugins sont créés par la communauté).
J'ai passé un moment à explorer comment je pouvais faire faire des actions spéciales à mon Google Home Mini. Par exemple, piloter ma Freebox, ou me dire quand les prochains trams arrivent à côté de chez moi. Toutes les solutions trouvées (Google Actions, Sarah v5, et autres Node modules) étaient très compliquées : beaucoup de choses à installer, ou qui demandent beaucoup de manipulations, ou avec des contraintes importantes.
Certains se plaindront encore que ma solution est trop compliquée : libre à eux d'aller voir ailleurs :-)
Le principe est d'utiliser IFTTT (qui permet de dire ce que l'on souhaite à son Assistant et d'avoir une action associée), en combinaison avec Pushbullet et une machine sous Windows, Linux ou MacOS.
Plus simple et plus sécurisé : le système va écouter les notifications venant de Pushbullet et qui contiennent les actions à réaliser. Du coup, pas besoin de devoir configurer son routeur pour ouvrir sur l'extérieur, ni devoir entrer des URLs compliqués, ou autres.
Moi: « OK Google, allume la Freebox »
↓
Google: « j'allume la Freebox » (via IFTTT)
↓
Notification à Pushbullet (via IFTTT)
↓
L'ordinateur voit la demande d'action (via Pushbullet) et l'exécute
↓
La Freebox reçoit l'ordre et s'allume
L'opération peut paraître compliquée, mais elle s'exécute très rapidement et la mise en place est plutôt simple !
L'installation passe par quelques étapes, assez faciles et rapides.
- Installer NodeJS sur votre machine qui sera allumée 24h/24 et qui exécutera les actions demandées
NodeJS est disponible sur Windows, Linux et MacOS
Pour les bidouilleurs, vous pouvez donc l'utiliser sur un RaspBerryPi - Créer un compte sur IFTTT (c'est gratuit)
- Créer un compte sur Pushbullet (c'est gratuit)
- Télécharger la dernière version d'assistant-plugins sur votre machine
→ Dézipper le fichier téléchargé - Pour Windows, double-cliquer sur le fichier
install.bat
(une fenêtre va s'ouvrir et va essayer de télécharger les packages associés)
Pour MacOS et Linux, ouvrir une console dans le répertoire et taper :npm install
Exemple d'affichage réussi :
C:\Users\User\Desktop\assistant-plugins\>npm install
> [email protected] install C:\Users\User\Desktop\assistant-plugins\node_modules\websocket> (node-gyp rebuild 2> builderror.log) || (exit 0)
C:\Users\User\Desktop\assistant-plugins\node_modules\websocket>if not defined npm_config_node_gyp (node "C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild ) else (node "" rebuild )
npm WARN [email protected] No repository field.
added 84 packages in 9.452s
C:\Users\User\Desktop\assistant-plugins>
- Configurer (voir ci-dessous)
- Une fois tout configuré :
Pour Windows, double-cliquer sur le fichierstart.bat
.
Pour MacOS/Linux, ouvrir une console et taper :node index.js
→ L'affichage va donner :
[assistant] 5 plugins trouvés.
[assistant] Chargement du plugin 'freebox'
[assistant-freebox] Récupération des chaines télé sur free.fr...
[assistant-freebox] Récupération des chaines sur free.fr terminée !
[assistant-freebox] Plugin chargé et prêt.
[assistant] Chargement du plugin 'notifier'
[assistant-notifier] Plugin chargé et prêt.
[assistant] Chargement du plugin 'ifttt'
[assistant-ifttt] Plugin chargé et prêt.
[assistant] Chargement du plugin 'wait'
[assistant-wait] Plugin chargé et prêt.
[assistant] Chargement du plugin 'tam'
[assistant-wait] Plugin chargé et prêt.
[assistant] Prêt à écouter les commandes via PushBullet <-- tout est bon !
Trois étapes :
- Modifier le fichier
configuration.json
- Modifier le fichier
plugins.json
- Configurer chaque plugin
Commencer par se rendre dans les settings de Pushbullet puis cliquer sur Create Access Token
. Il va alors vous fournir une clé (token) qui ressemble à o.XORwEvj04kFriJ67A3ZYofiudZeYFCzi
.
Ouvrir le fichier configuration.json
dans un éditeur de texte puis fournir le token. Votre fichier ressemble alors à :
{
"pushbullet_token":"o.XORwEvj04kFriJ67A3ZYofiudZeYFCzi"
}
Ouvrir le fichier plugins.json
avec un éditeur de texte puis supprimer les lignes des plugins que vous ne souhaitez pas utiliser.
Vous devez maintenant aller dans les répertoires de chaque plugin pour vérifier s'il contient un fichier configuration.json
. Vous trouverez les instructions de configuration dans chacun des répertoires Github des plugins.
Ce plugin est destiné à commander la Freebox Révolution : en savoir plus
Ce plugin va permettre d'enclencher des actions personnalisées (via les WebHooks) dans IFTTT : en savoir plus
Ce plugin permet de faire parler son Google Home en lui faisant dire ce que l'on souhaite : en savoir plus
Ce plugin permet de simuler un délai lorsque vous demandez une action à votre Assistant : en savoir plus
Ce plugin permet de connaître les prochains trams de Montpellier qui passent à un arrêt bien précis : en savoir plus
Si vous savez programmer en JavaScript, et avez quelques notions de NodeJS/npm, c'est assez simple : en savoir plus