Communiquer avec Sarah

498 views
Skip to first unread message

PasDeBol

unread,
Nov 29, 2012, 11:30:21 AM11/29/12
to sarah_d...@googlegroups.com
Bonjour,

Pour commencer, bravo pour le projet et son avancement. Je l'ai découverts par hasard et ça fait quelques jours que je teste les possibilités d'intégration à ma domotique (Homesser, IPX800V3, HSTouch sur tablette,...).
J'ai bien réussi à l'intégrer en l'utilisant comme "donneuse d'ordre", SARAH me lance des scripts sur Homeseer  via le Node.


Par contre, je souhaiterai savoir si il est possible de lui faire lire un message depuis une requête extérieure (en http via homeseer).?


Jean-Philippe Encausse

unread,
Nov 29, 2012, 11:37:37 AM11/29/12
to sarah_d...@googlegroups.com


2012/11/29 PasDeBol <sgt.pa...@gmail.com>

Bonjour,

Pour commencer, bravo pour le projet et son avancement. Je l'ai découverts par hasard et ça fait quelques jours que je teste les possibilités d'intégration à ma domotique (Homesser, IPX800V3, HSTouch sur tablette,...).
J'ai bien réussi à l'intégrer en l'utilisant comme "donneuse d'ordre", SARAH me lance des scripts sur Homeseer  via le Node.



Cool ! Tu pense que tu pourras nous mettre en ligne un plugin communautaire Homeseer juste pour que les autres utilisateur de Homeseer puisse avoir un point de départ ?

 

Par contre, je souhaiterai savoir si il est possible de lui faire lire un message depuis une requête extérieure (en http via homeseer).?



Oui,

- Donc de base la réponse à une requête est vocalisé

- Ensuite depuis un Script tu peux demander à vocaliser du texte en plus ou jouer de la musique (cf. le plugin Werewolf) de mémoire c'est Manager.speak()
=> Ca va changer dans la v2.3 j'ai nettoyé tout le code

- Sinon tu peux faire comme ce que fait Manager.speak() une bête requete HTTP à WSRMacro


Remarque:

Au vu de ta remarque très pertinente je vais peut-être rajouter des plugins speak, play, etc ... dans la v2.3 
  • pour que tout passe par NodeJS
  • pour que ça suive si il y a plusieurs WSRMacro
  • pour faire des trucs de ouf dans la v2.3 avec l'arrivée des règles (comme IFTTT)

 

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes SARAH.
Pour envoyer un message à ce groupe, adressez un e-mail à sarah_d...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/sarah_domotique?hl=fr .
 
 



--
Jean-Philippe Encausse - JLabs / R&D Jalios SA
Jp [at] encausse.net - http://www.encausse.net - http://arm-avocats.fr/
GTalk: jp.encausse [at] gmail.com - Twitter: @JpEncausse - ٩(̾●̮̮̃̾•̃̾)۶
Mob: +33 6 82 12 56 99  - Tel: +33 1 39 18 90 15
Do it Once, Use it Twice ~ Do it Twice, Make It Once ~ May the 4th be with you

PasDeBol

unread,
Nov 29, 2012, 1:08:29 PM11/29/12
to sarah_d...@googlegroups.com, j...@encausse.net


Le jeudi 29 novembre 2012 17:37:37 UTC+1, Jean-Philippe Encausse a écrit :


Cool ! Tu pense que tu pourras nous mettre en ligne un plugin communautaire Homeseer juste pour que les autres utilisateur de Homeseer puisse avoir un point de départ ?


Oui ok je finalise un peu le code (bien que se soit super simple) et je prépare ça dans les jours qui arrivent. Et j'integrerai aussi la partie HomeSeer vers Sarah.
 

Oui,

- Donc de base la réponse à une requête est vocalisé

- Ensuite depuis un Script tu peux demander à vocaliser du texte en plus ou jouer de la musique (cf. le plugin Werewolf) de mémoire c'est Manager.speak()
=> Ca va changer dans la v2.3 j'ai nettoyé tout le code

- Sinon tu peux faire comme ce que fait Manager.speak() une bête requete HTTP à WSRMacro


Remarque:

Au vu de ta remarque très pertinente je vais peut-être rajouter des plugins speak, play, etc ... dans la v2.3 
  • pour que tout passe par NodeJS
  • pour que ça suive si il y a plusieurs WSRMacro
  • pour faire des trucs de ouf dans la v2.3 avec l'arrivée des règles (comme IFTTT)
 


 Ok je fouille et je test ça!

Merci pour la réponse rapide et désolé pour ma réponse tardive...

PasDeBol

unread,
Nov 29, 2012, 2:17:33 PM11/29/12
to sarah_d...@googlegroups.com

Bon en fait, je ne trouve rien ou je ne comprends pas!

normalement, en ciblant le port 8888 du wsrmacro  avec le bon code http, il est possible de lui envoyer un truc du genre tts:"blabla".

Bon, je ne suis pas un vrai informatition mais je suis un bon singe, normalement, je sais adapter ce que je découvre.... :-) .. mais là rien. Je peux t'en demander un peu plus?


Jean-Philippe Encausse

unread,
Nov 29, 2012, 2:26:58 PM11/29/12
to sarah_d...@googlegroups.com

Solution 1

Tu envoies une requête à http://127.0.0.1:8888/?tts=test et ça va vocaliser le mot (ça marche depuis un navigateur web

Solution 2 (Recommandé dans la prochaine version)

Tu fais un script speak.js (comme les autres) qui fait Manager.speak(data.tts)
Et  tu appel le serveur node http://127.0.0.1:8888/sarah/speak?tts=test



2012/11/29 PasDeBol <sgt.pa...@gmail.com>

Bon en fait, je ne trouve rien ou je ne comprends pas!

normalement, en ciblant le port 8888 du wsrmacro  avec le bon code http, il est possible de lui envoyer un truc du genre tts:"blabla".

Bon, je ne suis pas un vrai informatition mais je suis un bon singe, normalement, je sais adapter ce que je découvre.... :-) .. mais là rien. Je peux t'en demander un peu plus?

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes SARAH.
Pour envoyer un message à ce groupe, adressez un e-mail à sarah_d...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/sarah_domotique?hl=fr .
 
 

PasDeBol

unread,
Nov 29, 2012, 2:34:09 PM11/29/12
to sarah_d...@googlegroups.com, j...@encausse.net


Le jeudi 29 novembre 2012 20:26:58 UTC+1, Jean-Philippe Encausse a écrit :

Solution 1

Tu envoies une requête à http://127.0.0.1:8888/?tts=test et ça va vocaliser le mot (ça marche depuis un navigateur web

Hoooooo :-\ je me suis entêté avec : au lieu de = . désolé mais merci.

 
Solution 2 (Recommandé dans la prochaine version)

Tu fais un script speak.js (comme les autres) qui fait Manager.speak(data.tts)
Et  tu appel le serveur node http://127.0.0.1:8888/sarah/speak?tts=test


ça, ça me plait bien.

Merci beaucoup

PasDeBol

unread,
Nov 30, 2012, 1:01:08 PM11/30/12
to sarah_d...@googlegroups.com
Bon j'ai bien avancé grâce à toi: HomeSeer peut faire dire un message à Sarah (ou un mp3), par contre je n'arrive pas à renvoyer une fin requête HTTP (200...) ou un simple "OK"  via le script vers Homeseer (ou un navigateur)

Jean-Philippe Encausse

unread,
Nov 30, 2012, 1:15:11 PM11/30/12
to sarah_d...@googlegroups.com
J'ai pas compris dans quel sens ?

  • De Home Seer => Vers WSRMacro (port 8888) euh je sais pas si WSRMacro répond qqch
  • De Home Seer => Vers WSRNodeJS (port 8080) le script doit appeler callback({}) ce qui va faire une réponse 200 et fermer le flux
  • De WSRMacro => Vers WSRNodeJS (voix/geste/qrcode) WSRMacro fait la requete et le script doit appeler callback({ tts: 'réponse a vocaliser'}) ce qui va faire un 200 + écrire réponse à vocaliser + fermer le flux



2012/11/30 PasDeBol <sgt.pa...@gmail.com>
Bon j'ai bien avancé grâce à toi: HomeSeer peut faire dire un message à Sarah (ou un mp3), par contre je n'arrive pas à renvoyer une fin requête HTTP (200...) ou un simple "OK"  via le script vers Homeseer (ou un navigateur)

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes SARAH.
Pour envoyer un message à ce groupe, adressez un e-mail à sarah_d...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/sarah_domotique?hl=fr .
 
 

PasDeBol

unread,
Nov 30, 2012, 1:15:43 PM11/30/12
to sarah_d...@googlegroups.com

Le vendredi 30 novembre 2012 19:01:08 UTC+1, PasDeBol a écrit :
Bon j'ai bien avancé grâce à toi: HomeSeer peut faire dire un message à Sarah (ou un mp3), par contre je n'arrive pas à renvoyer une fin requête HTTP (200...) ou un simple "OK"  via le script vers Homeseer (ou un navigateur)



Autant pour moi, c'est tout bon!
Message has been deleted

PasDeBol

unread,
Nov 30, 2012, 3:12:01 PM11/30/12
to sarah_d...@googlegroups.com, j...@encausse.net


Le vendredi 30 novembre 2012 19:15:11 UTC+1, Jean-Philippe Encausse a écrit :
J'ai pas compris dans quel sens ?

  • De Home Seer => Vers WSRNodeJS (port 8080) le script doit appeler callback({}) ce qui va faire une réponse 200 et fermer le flux

(Je m'embrouille dur là!) C'est bien de Homeseer vers WDRNodeJS . En faisant callback({'tts':'OK' }) , ça me permet de recevoir un status clair:BAD ou OK suivant le script.

Par contre je m’aperçois que WDRNodeJS me réponds OK même si il le WSRMACRO n'était pas lancé.... mais c'est déjà bien!

Jean-Philippe Encausse

unread,
Nov 30, 2012, 3:23:48 PM11/30/12
to sarah_d...@googlegroups.com

En fait, 

WSRNodeJS est un serveur web autonome qui réponds aux questions qu'on lui pose. Tu lui envoie une requête http, il appel ton script et réponds ce que tu mets dans le callback

WSRMacro est aussi un serveur http autonome (bon normalement il n'y a que NodeJS qui devrait lui parler)


Ensuite ton script NodeJS peut faire du TTS, piloter un karotz ou allumer la freebox c'est lui qui décide au final ce qu'il faut mettre dans la réponse du callback().


Donc si ton objectif est que NodeJS dise à HomeSeer si oui ou non le texte a bien été vocalisé par WSRMacro effectivement ce n'est pas possible. J'envoie la commande à WSRMacro et si le serveur est déconnecté je trappe l'erreur. (Je crois que dans une ancienne version j'essayais même de vocaliser via NodeJS directement)

Note: Il faut garder en tête que potentiellement les 2 programme WSRMacro et NodeJS peuvent être sur des machines différentes, et qu'il peut même y avoir plusieurs WSRMacro


2012/11/30 PasDeBol <sgt.pa...@gmail.com>

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes SARAH.
Pour envoyer un message à ce groupe, adressez un e-mail à sarah_d...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/sarah_domotique?hl=fr .
 
 

PasDeBol

unread,
Nov 30, 2012, 3:49:11 PM11/30/12
to sarah_d...@googlegroups.com, j...@encausse.net


Le vendredi 30 novembre 2012 21:23:48 UTC+1, Jean-Philippe Encausse a écrit :


Note: Il faut garder en tête que potentiellement les 2 programme WSRMacro et NodeJS peuvent être sur des machines différentes, et qu'il peut même y avoir plusieurs WSRMacro


Il y a moyen de récupérer l'ip du WSRmacro qui effectue la requête au WRSnodeJS  ? (à part, l'indiquer dans le XML et la transmettre?)
Dans ce cas il est possible de faire:
WSRMacro n°1  demande Action 1 => WSRNodeJS => Homeseer (exécution de action 1)  => WSRMacro N°1 (compte rendu direct via l'ip)

Ainsi, tout se centralise vers homeseer qui de son coté est capable de répondre à celui qui a effectué la demande ou de faire une annonce globale sur tout les WRSmacro

PasDeBol

unread,
Nov 30, 2012, 3:55:05 PM11/30/12
to sarah_d...@googlegroups.com, j...@encausse.net

A priori, tu avais déjà noté cette cette histoire d'IP pour  WSRmacro/XML sans devoir se taper la modif de tous les XML (discussion: plusieurs PC)

Jean-Philippe Encausse

unread,
Nov 30, 2012, 3:57:26 PM11/30/12
to sarah_d...@googlegroups.com

Actuellement j'ai prévu de garder l'information du dernier WSRMacro qui a fait la requête pour éventuellement lui répondre à lui. Pour le moment Node à juste l'IP d'un des WSRMaccro

L'idée étant que NodeJS gère l'intelligence et que les box domotiques ne servent que pour actionner des appareils au même titre qu'un Karotz ou script en ligne. Les prochaines versions de Node auront plus d'options.

Mais je sais que certains utilisateurs, n'utilisent pas du tout la partie NodeJS et intercalent directement leur serveur Apache ou box. Pour développer toute l'intelligence.

A l'origine le projet SARAH a pour objectif de faire avancer les concepteur de box domotique, pour qu'ils pensent plus large que simplement les composants domotiques.



2012/11/30 PasDeBol <sgt.pa...@gmail.com>

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes SARAH.
Pour envoyer un message à ce groupe, adressez un e-mail à sarah_d...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/sarah_domotique?hl=fr .
 
 

PasDeBol

unread,
Nov 30, 2012, 4:15:38 PM11/30/12
to sarah_d...@googlegroups.com, j...@encausse.net
J'arrive tout juste sur ton projet et je commence petit à petit à comprendre l'esprit.

Donc pour l'instant, je peux insérer l'IP dans le XML pour que Homeseer (comparable aux BOX) puisse donner un compte rendu une fois la tache effectuée.

En tout cas, ce projet me plait bien. Je viens de recevoir mon miniPC Giada qui remplacera mon pc homeseer actuel. Je l'ai acheté en vue d'y installer et exploiter SARAH au maximum:

en essais j'en suis à:

Sarah, c'est jérôme je pars => Au-revoir jérôme, j'enclenche l'alarme.
Sarah, c'est jérôme je pars en voiture => Au-revoir jérôme, j'enclenche l'alarme et je t'ouvre le portail.
Sarah, c'est jérôme je pars à pieds => Au-revoir jérôme, j'enclenche l'alarme et je t'ouvre le portillon.
et aussi, ouverture des stores, ....

bientôt:
Sarah, c'est Eliot, Bonjour => Bonjour Eliot, je préviens papa que tu es rentré de l'école (en message PUSH sur l'iphone)
et plein d'autres idées qui fusent!

Merci pour ton aide, je finalise un peu tout ça et je publierai les scripts, xml ainsi que scripts homeseer.




Sarah, c'est jérôme

Jean-Philippe Encausse

unread,
Nov 30, 2012, 4:16:58 PM11/30/12
to sarah_d...@googlegroups.com
Excellent ! :-)


2012/11/30 PasDeBol <sgt.pa...@gmail.com>
Message has been deleted

PasDeBol

unread,
Dec 3, 2012, 5:28:10 PM12/3/12
to sarah_d...@googlegroups.com

Pas touche au fichier!
un petit soucis au redémarrage....!!

PasDeBol

unread,
Dec 3, 2012, 5:57:15 PM12/3/12
to sarah_d...@googlegroups.com


Le lundi 3 décembre 2012 23:28:10 UTC+1, PasDeBol a écrit :

Pas touche au fichier!
un petit soucis au redémarrage....!!

Bon désolé, une petite merde dans le fichier .PROP qui faisait foirer le WSRNode au démarrage suivant (après l'enregistrement de la config.)


Voilà, c'est tout bon cette fois, et comme je disais la 1ère fois:

Si tu veux jeter un oeil sur le plugin homeseer avant que je l'ajoute aux autres, le voilà! Inutile d'avoir homeseer, il suffit de surveiller la trame dans WSRMacro.
Il ne permet qu'un échange Sarah vers Homeseer. Mais d'ici peu, je pourrai donner les scripts Homeseer pour communiquer vers Sarah.

Sinon, coté Homeseer, il suffit de créer le répertoire Sarah dans le répertoire html de Homeseer et de copier dedans le fichier SARAH_event.asp (contenu dans le Zip)
Puis de créer les Events du même nom de ceux qui seront appelé par Sarah: SARAH_Fonction_Device_Status (par ex: SARAH_luminaire_cuisine_on ou SARAH_mespantoufles_ici_
toutdesuite

Conseils, remarques et critiques bienvenues... (je suis pas le pro du code...)    <==== qu'est ce que je disais!




homeseer.zip

Jean-Philippe Encausse

unread,
Dec 3, 2012, 5:57:05 PM12/3/12
to sarah_d...@googlegroups.com
Yes merci ! je regarde demain et je mettrai ça en ligne

2012/12/3 PasDeBol <sgt.pa...@gmail.com>

Pas touche au fichier!
un petit soucis au redémarrage....!!

--
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes SARAH.
Pour envoyer un message à ce groupe, adressez un e-mail à sarah_d...@googlegroups.com.
Visitez ce groupe à l'adresse http://groups.google.com/group/sarah_domotique?hl=fr .
 
 

Jean-Philippe Encausse

unread,
Dec 5, 2012, 2:42:21 PM12/5/12
to sarah_d...@googlegroups.com, j...@encausse.net
Parfait ! je fais la mise en ligne 
Merci !!!
Reply all
Reply to author
Forward
0 new messages