Intégration de Siri avec iOS12 (raccourcis)
#1
Bonjour,
Voici une manière simple d'intégrer Siri dans notre quotidien, et qu'il ne me semble pas avoir trouvé sur ce forum.
On va utiliser l'application raccourcis, développée par Apple et intégrée depuis iOS12 ainsi que le module écoute universelle.

C'est mon premier tuto et je commence tout juste à jouer avec cette app, donc merci pour votre indulgence  Eek-1e6fb

Prérequis : IOS12 et LD (oh oh).

Lifedomus :

Je ne développe pas plus que cela, c'est la manip habituelle.

- Création d'un connecteur écoute universelle HTTP
- Création d'un équipement écoute universelle avec une variable lambda
- Création d'un automate avec l'action désirée (allumer une lampe par exemple). En déclencheur : "a chaque fois que trame = ..."

iOS12 :

Les Raccourcis sont des commandes personnalisées qui permettent d’exécuter des actions successives d’une tape ou en demandant directement à Siri.

- Télécharger l'application raccourcis
- Création d'un raccourci (on peut lui affecter un nom et une icone)
- Ajout d'un module "texte" en renseignant "https://adresse_ip_du_serveur_lifedomus:8443/UniversalListen?trame=DATA" et en l'adaptant à votre configuration
- Ajout d'un module "afficher la page web"


[Image: 1543174541-img-7568.png]

Voilà, votre raccourci est prêt.
Pour l'intégrer à Siri on se rend dans le réglage du raccourci (icone en haut à droite), puis "phrase Siri".
Ici on va enregistrer une phrase qui va permettre à Siri d'exécuter le raccourci, par exemple "active le salon".

[Image: 1543174544-img-7569.png]

Dès lors si je demande à Siri "active le salon", il me lance l'application qui elle même va ouvrir la page demandée, et LD va allumer ma lampe.

[Image: 1543174547-img-7572.png]

On peut également créer un bouton sur le dashboard pour un accès direct.

[Image: 1543174547-img-7573.png]

Evidemment raccourci est bien plus complet que cela, et on peut imaginer créer des variables et scénarios pour pousser l'intégration plus loin.
Siri pourra même nous répondre :

[Image: 1543174543-img-7567.png]

On peut même imaginer créer des scénarios pointus intégrant facilement la géolocalisation, le calendrier, etc.
Par exemple, je peux dire à Sir "je pars du travail". Cela va envoyer un sms à madame, calculer le temps de trajet, ouvrir waze avec l'initéraire et ouvrir le portail à la fin du temps de trajet.


Limitations :
- Le déclenchement par Siri ouvre l'application raccourcis qui elle même ouvre un navigateur. L'intégration n'est donc pas 100% transparente
- Si on définit une phrase telle que "allume le salon", Siri fait une recherche dans homekit.. Il faut donc utiliser d'autres termes.
- Ce n'est pas une limitation mais il faut se rappeler que raccourcis nécessitera toujours un déclenchement manuel que ce soit via Siri, un bouton, etc.

J'attends vos retours et commentaires  Wink-1627
Répondre
#2
Bonjour,

Tuto simple et efficace. C'est vrai que l'on peut développer plein de scénario possible.
Pour aller plus loin dans les configuration et dans l'interaction des équipements, on peut ajouter une partie avec IFTTT. Et la les possibilité sont justes énormes :p

A+

Sébastien
Répondre
#3
Bonjour,
Tout à fait.

Aujourd’hui j’utiluse un raccourci pour gérer lesenmble de ma maison :
J’ai intégré un dictionnaire avec des actions (allume, éteint, positionne, ouvre, active, etc.) des équipements (lumière, volet, etc) et enfin des pieces (salon, chambre..).

Donc si je lui dit « allume la lumière du bureau sur 20% », il va m’envoyer une requête http content allume/lumière/bureau/20 ».. LD s’occupe d’interpréter cela, et ça fonctionne plutôt très bien !
Répondre
#4
As-tu utilisé des variables pour que tes mots-clés viennent prendre la place de ses variables pour n'avoir qu'un seul automate pour l'ensemble des actions
qui reçoive une commande comme "http://192.168.1.212:8080/UniversalListen?trame=Var1;Var2;Var3",
 où Var1 = "lumière;Var2= "Salon";Var3="30%"

Je suis très intéressé car je bosses actuellement avec Snips avec qui j'envoie simplement en python une requête post:
r = requests.post("http://192.168.1.212:8080/UniversalListen?trame=lumiereOn") et où "lumiereOn" ne déclenche qu'une action, et je suis obligé de créer autant d'automate que besoin... En même temps, je ne bosses que sur Snips et Mqtt pour l'instant.....!!!
Répondre
#5
En gros voici le cheminement de mon raccourci :
  • je définis un dictionnaire ou je liste les pieces, les ordres, les équipements
  • Je recois l'ordre vocal
  • je remplace certains termes : monte->ouvre, descend->ferme, salle de bains->sdb
  • je supprime accents, majuscules, espaces
  •  je définis mes variables d'après mon dictionnaire
  • j'envoie le tout

Ma requête ressemble donc à cela :
UniversalListen?action=<action>&piece=<piece>&equipement=<equipement>&pourcentage=<pourcentage>&randomkey=<randomkey>


Par souci de simplification je génère avec randomkey un nombre aléatoire qui est utilisé comme déclencheur de mon automate "a chaque changement".


Par contre dans LD je suis obligé d'empiler les IF..
If piece=bureau & action=allume, alors...

Ce serait top de pouvoir créer un seul automate avec une logique « allume #mapiece » où #mapiece est simplement une variable.

Ca éviterait les
if #mapiece=salon
if #mapiece=chambre
if...

Ca n'a pas l'air réalisable : http://forum-lifedomus.com/showthread.php?tid=4310

Un petit plus : L'application raccourcis permet de créer sur le dashboard... un raccourci  Lol-161b On peut donc facilement ajouter un bouton personnalisé (icone, couleur) qui ressemble à n'importe quelle application et permet de déclencher une action, ou un ordre vocal, etc..
Répondre
#6
Merci pour ta réponse.... Je continue avec snips pour l'instant qui me demande pas mal de boulot... Je ferais un test sur les variables de LD dès que j'aurais avancé sur les intents nécessaires à la commande par la reconnaissances vocale de l'ensemble des fonctions de la maison.... Mais j'ai au moins 150 équipements et 35 pièces, et je ne me vois pas traiter autant d'automates, sans passer par une mini base de données.... Alors qu'avec 5 ou 6 variables je devrais pouvoir générer toutes les commandes vers LD... Sinon j’aurais aussi la possibilités d'envoyer les commandes en XML vers KNX.... Ça fonctionne avec l'extension fournie pour Raspberry vers KNX.... Mais à force de prendre ces chemins, il n'y aura plus aucune utilité d'utiliser LD
Répondre
#7
J'ai aussi le sentiment de devoir utiliser de + en + de passerelles vers Lifedomus :(
Répondre


Sujets apparemment similaires...
Sujet Auteur Réponses Affichages Dernier message
  Siri / HomeKit / iOS 10 cybergui 7 4,143 07-15-2016, 12:05 PM
Dernier message: Ludwigp94



Utilisateur(s) parcourant ce sujet : 1 visiteur(s)