Requêtes HTTP à la voix avec SARA -iPhone/iPad/iPod -GRATUIT

Bonjour,

Toujours dans le but de commander mon IPX800 à la voix avec mon iPhone via des commandes HTTP ( valabe pour les BOX aussi ) , j’avais cherché une solution pour faire cela avec SIRI mais sans grand succès
car pour avancer dans le projet j’attends l’implémentation d’une fonction par les développeurs de « MyAssistant », voir mon poste sur le sujet : http://www.touteladomotique.com/forum/viewtopic.php?f=98&t=7267

Et donc :stuck_out_tongue: , en attendant, j’ai continué mes recherches et j’ai trouvé une sérieuse alternative à SIRI, tout aussi rapide et conviviale :smiley: ( je remercie au passage Bilil de m’avoir mis sur la piste de SARA ).

Alors voici les prérequis :

Avoir un iPhone, un iPad ou un iPod ( peut importe le modèle :smiley: , il faut juste qu’il soit « Jailbreaké »
Installer la source [b]http://isoftjsc.com/[/b] dans"Cydia" ( Menu "Gérer, puis cliquez sur "« Sources » puis cliquez sur « Modifier » ( en haut à droite ) puis cliquez sur « Ajouter » ( en haut à gauche )
Installer le paquet Sara 0.2.2 - Build 1
Installer le paquet Sara SDK 0.1
Installer le paquet Sara Dictation Keybaord ( Optionnel, c’est la Cerise sur le gâteau, grace à cela vous aurez la possibilité de dicter un SMS ou autre chose à la voix tout comme avec SIRI :open_mouth:
( ATTENTION : Ne pas installer ce paqet sur l’iphone 4S car il dispose déjà de la dictée vocale ).

Une fois tout cela installé, redémarrer de préférence l’iphone, l’iPad ou l’iPod.
Vous retrouverez l’icone de SARA sur le « Springboard » ( Ecran d’accueil, bureau de l’appareil )

Attribution du bouton HOME de l’iPhone à SARA lors d’un appui long comme avec SIRI : ( ceci est optionnel, on peut lancer SARA via l’icone présente sur le Springboard )

Lancez Cydia et installez « Activator » si il n’est pas déja présent sur votre appareil.

Lancez activator, cliquez sur « Partout » puis dans la section « Bouton d’accueil » sélectionnez « Maintenir » puis choisissez dans la liste l’application « SARA ».
( Cela aura pour effet d’avoir le même fonctionnement qu’avec SIRI, c’est à dire un lancement de SARA en restant appuyé sur le bouton HOME de l’iPhone, iPad, iPod )

NOTA : Pour les iPhone 4S, activez SARA par un triple appui sur le bouton « HOME » afin de pouvoir toujours utiliser SIRI normalement.

Une fois cela fait, restez appuyé sur le bouton HOME de l’iPhone et cela lancera SARA :smiley:

Accès au réglage de SARA :

Maintenant il faut configurer SARA selon vos besoins avec l’aide du SDK en créant des Plug-in codés en PHP.

Accès au SDK de SARA via un navigateur WEB :

Pour ce faire, il faut accéder au SDK de SARA installé sur l’iPhone, l’iPad ou l’iPod à partir d’un navigateur WEB sur le même réseau WIFI en tapant l’adresse de l’iPhone, de l’Ipad ou de l’iPod.
Une fois arrivé sur la page, renseigner le mot de passe « sara » ( en minuscule et sans les guillements ).

A partir de là, il est très simple de créer un plug-in, dans la zone « Create New Plug-in » tout en bas, rajoutez le nom de votre plug-in après le « com. », puis cliquez sur « Create ».

Dans la fenêtre qui s’ouvre, il suffit de coder la fonction voulue en PHP, par exemple, dans mon cas je veux exécuter une URL pour commander un relais de mon IPX800.

Exemple du code que j’utilise pour fermer mes stores électriques à partir de mon IPX800 commandé par une URL:

<? if($request == "stopper les volets"){ $response->say("Les volets sont stopper"); $ret = file("http://192.168.1.250/preset.htm?RLY7=1"); $response->exitContext(); ok(); }

Explication de base:

<? if($request == "ici on indique la phrase a dicter à SARA sans accents"){ $response->say("ici on indique la reponse donne par SARA sans accents"); $ret = file("renseigner l'URL à exécuter");; $response->exitContext(); ok(); }

Puis cliquez sur « save » et c’est terminé, le plug-in est codé et SARA peut l’interpréter

En image :

Lancement de SARA et demande d’ouverture des volets

Demande de stopper les volets et demande de fermer les volets

Voici une petite vidéo effectuée à partir de mon iPhone 4S dans lequel j’'active SARA par un triple appui sur le bouton « HOME » afin de pouvoir toujours utiliser SIRI normalement :

Si un modo passe par là, j’aimerai bien intégrer la vidéo en mode lecteur, je test depuis une heure differents code mais aucun ne fonctionne :wink:

---->>>>http://www.youtube.com/watch?v=7qHmb6dFdOc<<<<----

New vidéo, interface de SARA en action :

---->>>>http://www.youtube.com/watch?v=B_QLlkoy49M<<<<----

Petite info, SARA n’accepte pas les accents, c’est pourquoi il faut faire attention lorsque l’on créer un plug-in afin qu’elle comprenne bien nos phrases

Les différentes commandes possibles sont disponibles dans la documentation du SDK mais qui n’est malheureusement pour l’instant pas à jour, il peut donc y avoir certaines fonctions qui ne fonctionnent pas correctement.

SDK de SARA : http://martinpham.com/SaraSDK.pdf
FAQ de SARA : http://sara.isoftjsc.com/viewtopic.php?f=4&t=475

NOTA :

Il arrive parfois que l’accès au SDK via le navigateur WEB ne fonctionne pas, n’ayez pas d’inquiétude, il suffit :

1 - Installer « SBSettings » via « Cydia »,
2 - Lancer sur l’icone « SBSetting »
3 - Dans le menu « Dropdown Windows » cliquez sur « Set Windows Toggles »
4 - Activer le toggle « Lighttpd »

Voila, j’espère que cela rendra service, n"hésitez pas à me poser vos questions, vous pouvez consultez l’excellent site français http://sara.frenchiphone.com/ dédié à SARA
et il y a aussi le site officiel de SARA qui comporte également un forum mais principalement en Anglais http://sara.isoftjsc.com/

EDIT : Au tout début, après chaque exécution d’une commande il y avait la page de l’URL renseigné qui se lancé, mais quelques recherche et surtout l’aide de Mickaël (Planète Domotique),
nous avons trouvé le moyen d’exécuter une commande sans ouverture de la page WEB dans SARA

Pour plus de clarté, le nouveau code à été modifié dans l’article ( idem pour les capture )

[color=#FF0000]IMPORTANT : Il faut bien noter que Sara ne supporte pas les accents ! Donc on oublie l’orthographe, et « sont stoppés » devient « sont stopper »…[/color]

PS : Je vais refaire une nouvelle vidéo.

hum pas mal!!!

merci du partage :slight_smile:

Sinon, tu as déjà essayé de lancer une commande qui active plusieurs URL en même temps?

Genre « fermer les volets » et ça ferme 6 relais?

Salut, cela est tout a fait possible avec l’IPX800, il suffit de modifier l’URL :

Par Exemple cette URL passera les relais 1, 2, 3, 4, 5 et 6 à ON :

[quote]http://192.168.1.250/preset.htm?led1=1&led2=1&led3=1&led4=1&led5=1&led6=

[/quote]

chui bête :slight_smile: merci

J’ai fait quelques tests, ça fonctionne bien avec l’IPX pour un seul relais.

Si j’utilise ce code :

<? if($request == "Fermer les volets"){ $response->say("Fermeture Volets en cours"); $response->call("DISPLAY_WEBPAGE","http://192.168.xxx.xxx/preset.htm?led2=0&led4=0&led6=0&led1=1&led3=1&led5=1"); $response->exitContext(); ok(); }

Sara me répond : « J’ai trouvé quelques infos pour vous » avec une page d’erreur qui s’affiche erreur line 107
J’ai essayé de lancer une scène sur la VERA, ça ne passe pas. Sara ne répond même pas ce qu’elle devrait lol

« Fermer tous les volets »

sara me répond :« tu ne me parles pas comme ça » ^^ mdr

Peut-être dû au fait que l’URL est sur 2 lignes?

https://fwd1.mios.com/login/motdepasse/idvera/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunScene&SceneNum=12

L’URL sur 2 lignes ?

Copie le code du fichier index.php ici pour que je regarde ( masquant tes identifiants et mot de passe ).

PS : j’ai édité le premier poste car j’ai trouvé la solution avec l’aide de « Mickael » pour que la page ne charge pas après l’exécution de la commande.

<? if($request == "Ouvrir les volets"){ $response->say("Ouverture Volets en cours"); $response->call("DISPLAY_WEBPAGE","http://192.168.0.111/preset.htm?led2=1&led4=1&led6=1&led1=1&led3=1&led5=1"); $response->exitContext(); ok(); }

c’est ça que tu voulais?

Ce code ne fonctionne pas par exple.

Oui c’est bien ça, essai ce code :

<? if($request == "ouvrir les volets"){ $response->say("Ouverture des volets en cours"); $ret = file("http://192.168.0.111/preset.htm?led2=1&led4=1&led6=1&led1=1&led3=1&led5=1"); $response->exitContext(); ok(); }

J’ai viré la majuscule dans le « Ouvrir » du code car j’avais remarqué que cela posé problème par contre elle apparaîtra bien dans SARA.
Ensuite, j’ai modifié la ligne qui envoie la commande afin qu’il n’y ai plus d’affichage d’une page WEB ( Mise à jour du premier poste ).

Dis moi ce que cela donne :wink:

Voilà l’URL qui ne fonctionnait pas non plus :

https://fwd1.mios.com/psuedo/motdepasse/n°Vera/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunScene&SceneNum=12

Pourtant, elle fonctionne bien si je la lance du navigateur

Il se peut qu’il y ai un souci avec les « & »

Cédric.L rencontre un problème similaire, ce que je lui ai conseillé :

Essai de voir avec le SDK : http://martinpham.com/SaraSDK.pdf
Ou bien via le forum dédié : http://sara.isoftjsc.com/

Tiens moi au courant.

Quand je mets fermer tous les volets, Sara me répond:" i Like spicy food" lol

Bon bon bon, ça ne semble pas trop au point c’truc là :slight_smile:

Je vais plutôt m’orienter vers Domovoice je pense. A 1,59€, ça le fait et je peux très bien le lancer avec Activator aussi.

Et visiblement, c’est marqué que l’on peut lancer une scène sur une box domotique alors ça doit marcher ^^

L’as tu essayé?

Oui j’ai déjà essayé Domovoice, mais c’est très limité ( 4 commande HTTP seulement ), le lancement de la commande nécessite de démarrer l’application puis d’appuyer sur le bouton, enfin, regarde mon avis sur l’appstore, j’ai demandé pas mal de modifs avant de découvrir SARA ! je l’ai supprimé !

[quote]Sans trop m’avancer, j’aurais peut être une solution pour ton problème d’URL avec l’aide de Cédric et Mickael,
je vais leurs soumettre ton problème car il semblerais que pour eux cela fonctionne.

https://fwd1.mios.com/psuedo/motdepasse/n°Vera/data_request?id=lu_action&serviceId=urn:micasaverde-com:serviceId:HomeAutomationGateway1&action=RunScene&SceneNum=1

[/quote]

La je découvre d’heure en heure de nouvelle fonction avec SARA, c’est dinquen je peut lancer une application à la voix, arrêter ou démarrer ma Freebox etc…
Il y a pleins de plug-in dispo sur le site officiel et le développement en PHP n’est vraiment pas difficile il suffit d’être patient.

Essai de voir si tu peu t’inspirer de code fait par Mickael pour l’eeDomus disponible sur ce nouvelle article :

http://www.maison-et-domotique.com/book-review/controle-vocal-de-votre-maison-avec-sara/

Me concernant j’ai définitivement mis SIRI de mon iPhone 4S à la retraite, il me reste plus qu’a personaliser l’interface de SARA ( réduite la fenetre de lancement ),
je voudrait qu’au lancement il y ai seulement le bouton qui apparaisse en bas comme avec SIRI et qu’il soit tout de suit en attente d’une question puis qu’un fois la question
posé la fenetre s’agrandisse comme avec SIRI car actuellement c’est un page complète qui s’ouvre puis il pose une question, je trouve cela long ! Si vous avez une idée. :wink:

SIRI au lancement

SARA au lancement

Bonjour,

J’ai un problème que je n’arrive à résoudre, je souhaite créer des scénarios avec SARA et l’IPX800, comme les & ne sont pas accepté afin d’envoyer plusieurs commandes j’utilise ce code :

<? if($request == "nous partons"){ $response->say(utf8_encode("Mode de départ activé : Activation de l'alarme, fermeture du grand portail et fermeture des volets roulants en cours !")); $ret = file("http://192.168.1.250/preset.htm?led1=1"); $ret = file("http://192.168.1.250/preset.htm?RLY2=0"); $ret = file("http://192.168.1.250/preset.htm?RLY6=0"); $response->exitContext(); ok(); }

Pas de problème cela fonctionne, mon alarme ce s’active, mon portail se ferme et mes volets roulants se fermes aussi.

Maintenant, je veut faire l’inverse et là, seulement la première commande s’exécute !!! L’alarme se désactive mais que neni pour mon portail et mes volets, voici le code !!!

<? if($request == "on arrive"){ $response->say(utf8_encode("Mode d'arrivé activé : Désactivation de l'alarme, ouverture du grand portail et ouverture des volets roulants en cours !")); $ret = file("http://192.168.1.250/preset.htm?led1=0"); $ret = file("http://192.168.1.250/preset.htm?RLY2=1"); $ret = file("http://192.168.1.250/preset.htm?RLY6=1"); $response->exitContext(); ok(); }

Je pige pas pourquoi cela ne fonctionne pas, je pense plus a un problème au niveau de l’IPX800 mais à quel niveau ?

Une idées ?

Merci d’avance

ça parait normal non?

Si tu fais un RLY=0 quand tu pars, le relais passe de 1 à 0 puis à 1. (mode fugitif)

Quand tu reviens, le relais est déjà à 1 donc pas de RLY=1 possible.

C’est mon avis…

Merci merci merci, je suis bête, je suis bête, je suis bête

En faite pour l’alarme j’utilise 1 relais en ON/OFF mais pour l’ouverture et la fermeture du portail j’utilise pas 1 mais 2 relais,
quel naze que je je suis, idem pour les volets.

Du coup , en renseignant les bons relais c’est OK, merci de m’avoir mis sur la piste

<? if($request == "nous partons"){ $response->say(utf8_encode("Mode de départ activé : Activation de l'alarme, fermeture du grand portail et fermeture des volets roulants en cours !")); $ret = file("http://192.168.1.250/preset.htm?led1=1"); $ret = file("http://192.168.1.250/preset.htm?RLY3=1"); $ret = file("http://192.168.1.250/preset.htm?RLY8=1"); $response->exitContext(); ok(); }

Bon maintenant je cherche a mettre une tempo entre l’envoi de deux commande de l’IPX800

Pour fermer mes volets, la commande est ;

Pour stopper les volets la commande est :

[quote]$ret = file(« http://192.168.1.250/preset.htm?RLY7=1 »)

[/quote]

Cela permettrait au relais de commande de mes volet de ne pas rester continuellement enclenché après la fermeture de ces derniers

<? if($request == "nous partons"){ $response->say(utf8_encode("Mode d'arrivé activé : Désactivation de l'alarme, ouverture du grand portail et ouverture des volets roulants en cours !")); $ret = file("http://192.168.1.250/preset.htm?led1=0"); $ret = file("http://192.168.1.250/preset.htm?RLY3=1"); $ret = file("http://192.168.1.250/preset.htm?RLY8=1"); [color=#FF0000]il me faudrait une temporisation ici avant d'exécuter la commande suivante[/color] $ret = file("http://192.168.1.250/preset.htm?RLY7=1"); $response->exitContext(); ok(); }

Merci d’avance.

Tout d’abord, merci à Jofrenchy !

Tout ça est bien pratique, pour les intéressés faites signe pour activer un relai avec une demande de mot de passe via SARA.

La démo en image disponible ici http://youtu.be/vk64cBOMNv0

bonjour va voir ca A+

Bonjour j’ai essayer de suivre les infos, mais je bloque sur les commande
j’ai fait des essais sur iphone 4 et ipad avec plusieurs nom de requettes

mais

Warning: mkdir() [function.mkdir]: Too many links in /home/content/42/8955542/html/sara/index.php on line 107

Warning: file_put_contents(cache/cb3/cb830c600df77ae0bce23c30632df00b/5503864.txt) [function.file-put-contents]: failed to open stream: No such file or directory in /home/content/42/8955542/html/sara/index.php on line 109
Io ventordici.

Merci de votre aide