Donner de la voix à sa domotique
Tout d’abord peu intéressé par les aspects alertes, j’ai découvert chez Jean-Martin la mise en application d’alertes vocales. J’ai essayé, et depuis je ne m’en passe plus.
Mes alerte vocales sont de différents types, allant de « Il est l’heure d’aller à l’école », « Les poissons n’ont pas été nourris » à « Attention, serveur déconnecté ».
C’est pratique, fun, et facile à programmer avec l’eedomus.
Que faut-il ?
- Une tablette Android positionnée à un endroit stratégique et ayant un volume sonore suffisamment important. Si la tablette est accolée à un mur, choisissez en une avec un haut-parleur en face avant. Elle n’a pas besoin d’être de dernière génération. Mon choix personnel ? Allez jeter un petit coup d’oeil à cet article.
- L’application Imperihome. C’est l’interface graphique de la box domotique sur ma tablette. Mais Imperihome intègre également un petit serveur web sur lequel il est possible d’envoyer des ordres, et en particulier l’ordre de dicter un texte.
- Une box domotique. Dans mon cas il s’agit de la box eedomus.
- Optionnellement, l’application Tasker sur la tablette.
Configuration côté tablette
Pas grand chose à faire côté configuration Android en plus de ce qui a pu être cité dans d’anciens articles. La tablette doit cependant avoir une adresse IP fixe de façon à pouvoir dialoguer avec celle-ci sans difficulté. C’est à configurer dans les paramètres réseau de la tablette, ou en ayant un serveur DHCP capable de fournir de telles adresses fixes.
Il vaut mieux que le volume sonore reste à un niveau constant sur la tablette même si des personnes mal intentionnées (mes enfants …) réduisent le volume ou coupent le son. Tasker est l’outil qu’il nous faut dans ce cas en créant la règle suivante qui remet les paramètres tous les 1/2 heures :
Enfin, le serveur http de l’application Imperihome doit être activé et le port utilisé vérifié :
Faire dicter un texte par la tablette
Cette configuration étant faite, il sera possible de faire dicter un texte à la tablette, lorsque Imperihome est actif, en appelant une adresse web du type :
http://192.168.x.x/api/rest/speech/tts/Audio%20Test |
- 192.168.x.x doit être remplacé par l’adresse IP de votre tablette
- le texte à dicter doit être rentré après tts/
- Les caractères spéciaux doivent être remplacés par le codage utilisé dans les URL. Voici quelques codes utiles :
Espace %20 , Virgule %2C . Point %2E ! Point d’exclamation %21 ? Point d’interrogation %3F é E accent aigu %E9 è E accent grave %E8
Dans un premier temps essayez la synthèse à partir du navigateur internet de votre ordinateur avant de passer à la programmation de la box domotique.
La synthèse vocale Android a parfois quelques difficultés à analyser les orthographes un peu complexes, en tout cas en français. Il faudra donc parfois ruser pour obtenir la prononciation voulue, voici quelques exemples :
- l’heure –> leure
- sont –> son
- l’école –> lecole
En dehors de ces quelques difficultés syntaxiques la prononciation est bonne et, dans mon cas, le volume sonore suffisant pour pouvoir entendre les alertes dans toutes les pièces du rez-de-chaussée.
Alertes vocales sur eedomus
Passons à la programmation de ces alertes sur la box domotique. Cela se fait en se connectant sur le portail eedomus.com. Une fois loggé, l’accès au panneau de configuration se fait en haut à droite.
Choisir l’option « Ajouter ou Supprimer un nouveau périphérique »,
puis « Ajouter un autre type de périphérique » :
Nous allons alors créer un nouvel Actuateur http permettant d’envoyer les commandes précédentes par appel http.
Il n’y a pas de point particulier à souligner pour la configuration générale qui est commune à tout périphérique eedomus : nom à changer, assignation d’une pièce à celui-ci, éventuellement usage type et changement de l’icône.
La partie intéressante se situe dans la liste de Valeurs qu’il faut configurer pour définir les différentes phrases qui seront énoncées :
Pour chacune des phrases à dicter, rajouter une nouvelle valeur avec les paramètres suivants :
- Valeur : Cette valeur n’apparaîtra pas par la suite, assurez vous simplement qu’elle est unique pour chaque ligne. La box vous propose d’ailleurs une valeur par défaut à utiliser.
- Image : optionnelle mais il est pratique de mettre un icône correspondant au texte de façon à s’y retrouver plus facilement dans la liste des valeurs.
- Description : Descriptif de la valeur. C’est ce descriptif qui apparaîtra lorsqu’on créera une action associée à une règle.
- URL = http://
AddresseIPTablette:8080/api/rest/speech/tts - Type = GET
- Paramètres = ?text=
Alerte%20Vocale
N’oubliez pas de sauvegarder les mises à jour réalisées avec le bouton correspondant en bas de page, l’utilisation du bouton retour du navigateur internet ne doit jamais être utilisé.
Et voilà, la configuration est terminée.
Il vous est à présent possible d’activer ce nouveau périphérique à partir du panneau principal. Il est classé dans la catégorie et la pièce auxquelles vous l’avez rattaché. Un clic permet alors de sélectionner la valeur voulue, ce qui devrait activer l’alerte vocale.
Intégration d’une alerte vocale dans une règle
L’essentiel a été fait, le déclenchement d’une alerte depuis une règle est très simple : rajouter une Action, sélectionner le périphérique créé précédemment et la bonne valeur :
Bonjour,
J utilise une tablette archos sous Android mais impossible d’avoir une adresse IP statique,pouvez vous svp détailler la procédure ?
Merci d’avance de votre aide précieuse
Malheureusement je ne peux pas vous aider, je n’utilise pas cette fonction. De mon côté la tablette récupère son adresse par dhcp comme d’habitude depuis mon serveur Linux. C’est mon serveur Linux que j’ai configuré pour fournir toujours la même adresse IP en se basant sur l’adresse MAC de la tablette.
Si vous avez une box orange cela peut être géré également dans la box. Peut être que cela existe également sur les autres box.
Bonjour,
En ce qui me concerne, j’arrive a faire décrocher Skype, mais la camera ne s’active pas d’elle même. Je ne trouve pas de paramètre pour l’activer automatiquement.
Une idée ?
Point bête mais sait-on jamais, effectues-tu un appel vidéo ?
Pour les points plus compliqués maintenant : chez moi également la vidéo a souvent du mal à s’activer. L’astuce utilisant Tasker décrite dans l’article aide à ce que l’activation de la video fonctionne mieux. Cette astuce fait en sorte que Skype soit l’application active dès qu’un message skype apparaît dans la barre de notification. Néanmoins, ce n’est pas du 100%, il me faut en général 2 ou 3 appels rapprochés pour que la vidéo s’active correctement.
Jusqu’à présent je mettais cette difficulté sur le compte de Imperihome qui utilise également la caméra. Es-tu dans la même configuration que moi ?
oui ca marche bien sans inclusion de valeur de périphérique.
je remplace les xxx par la valeur de l’API souhaité mais ca lit intégralement : »crochet perif ID…. »
As tu essayé avec les caractères accentués :
?text=température extérieure [LAST_VALUE PERIPH_ID=xxxxxx] degrés
Je n’utilise pas de valeur de capteur pour mes alertes vocales, et il est trop tard pour essayer… Par contre pour l’envoi de SMS, oui je m’en sert,et cela fonctionne.
Je me souviens avoir eu également des problèmes. Il me semble que j’ai dû recréer une valeur dans le tableau et mettre les caractères accentués.
bonjour à tous,
Merci beaucoup pour le tuto. Par contre je n’arrive pas à intégrer dans une phrase la valeur d’un capteur.
j’ai mis type GET
Paramètes ?text=temp%E9rature%20ext%E9rieure%20[LAST_VALUE PERIPH_ID=xxxxxx]%20degr%E9s
Vous auriez la solution?
Merci beaucoup
Tu peux déjà remettre les caractères spéciaux car j’ai découvert que la box fait la conversion et cela améliore le fonctionnement. As tu vérifié le periph_id, est il bien égal au code API du device ? Est ce que ça fonctionne sans inclusion d’une valeur de périphérique ?
ma solution ici pour Zibase capricieuse avec le TTS et ma tablette …
http://www.touteladomotique.com/forum/viewtopic.php?f=42&t=14973
Merci dèja pour ton retour,
Sur la tablette est installé uniquement imperihome, tasker, ainsi que google drive pour mes backup de config mensuel rien d’autre
La tablette, enfin je dirai plutot écran est unVSD220 de chez wievsonic c’est un écran 22 pouces tactile avec android en natif !
Il est placé contre un mur et l’on ne voit aucun fil (prévu lors de la réhabilitation de la pièce de vie )
Le vsd220 est genial car en 22 pouces lorsqu’on a 8 cam, la tailles est franchement top !
Reste plus qu’a trouver une solution a mon problème ….
Peut être une solution avec Tasker ? J’ai mis en place de mon côté une tâche répétitive qui remet les paramètres par défaut, dont le volumr
Et non j’utilise une Zibase … la tablette possède un connecteur Ethernet 🙂 plus fiable que le wifi …. et est connecté un permanence … et oui j’ai suprimé la veille ainsi que le lock …
J’ai essayé aussi avant de poster de supprimer les caractère spéciaux … j’ai essayé avec pour voir mais rien y fait
le lance la commande une 1er fois TTS uniquement la fin de phrase
second essai dans les 2 secondes qui suive le 1er essai ca marche …
J’essai 10 s plus tard idem plus que la fin de phrase … comme si le volume etait progressif !
c’est pénible comme problème
Étrange comme phénomène… Il n’y aurait pas une application exotique qui jouerait avec le volume ? Sinon pas d’idées… Ça m’intéresse la tablette avec rj45, la connexion wifi de ma tablette n’est pas assez stable. Quelle est le modèle ?
Hello Tous,
Moi ca fonctionne partiellement, partiellement car le 1er TTS est prononcé partiellement
Dans l’exemple si je mets :http://192.168.x.x/api/rest/speech/tts/On%20sonne%20au%20portillon
=> le 1er TTS j’entend juste portillon
JE relance dans la foulé et la j’ai l’ensemble de la phrase
J’attends 10 secondes rebelote que » portillon » fonctionne aléatoirement
Une idée ? j’utilise comme tablette un Viewsonic 22″
MErci pour vos retours
Utilises-tu également une eedomus ? Si oui essaie en enlevant le codage des caractères spéciaux (un vrai espace au lieu %20 par exemple). J’ai découvert dernièrement que l’eedomus fait la conversion toute seule, et que cela se passe mieux dans ce cas.
Par ailleurs la tablette est-elle configurée pour être constamment allumée ainsi que le wifi ?
Bonjour,
j’ai lu avec attention et je cherche à mettre en pratique pour ce cas de figure cependant j’aimerais adapter un peu, je m’explique.
J’aimerais que lorsque je rentre chez moi et que je dise un certain énoncé, j’obtienne en retour le texte que j’aurais prévu dans l’eedomus.
Exemple : je rentre chez moi, je dis, « bonjour la maison », et en retour j’ai le texte « bonjour et bienvenue à la maison ».
Je ne sais si c’est faisable en l’état , à partir de cet exemple où s’il faut envisager un autre équipement complémentaire (pour info, j’ai un karotz en stock)
Merci beaucoup pour les éclaircissements et pour ce très bon tuto !
C.
Bonjour,
On parle alors de reconnaissance vocale. Imperihome peut reconnaître des ordres vocaux, mais il faut appuyer sur un bouton de l’écran pour activer la reconnaissance. Pour une reconnaissance en continu, il y a par exemple le projet Sarah ( http://encausse.wordpress.com/s-a-r-a-h/ ) qui est capable de le faire.
Oui effectivement 3,5 € ça fait cher !!!!
Je les ai depuis un moment, elles étaient à 1 € à leur sortie, ils abusent un peu là….
Sinon la voix de Aurélie sur Ivona.
vu que ca fonctionne niquel, merci à vous deux, je vais essayer les voix voxygen je pense car le TTS par défaut est trop moche, meme si je pense mieux robotisé que ladite robot de voxygen ^^
bref, ma question subsidiaire la voici.
volet fermé ou ouvert il n’y a que 2 affirmations. j’ai aussi un état météo indiquant de vert à rouge et je voulais savoir si on pouvait indiquer un TTS du type: la vigilance passe à [LAST_VALUE PERIPH_ID=XXXXX] avec un risque [LAST_VALUE PERIPH_ID=XXXXX]
Je pense que cela fonctionne côté Eedomus. J’ai intégré une température dans l’article pour l’envoi de SMS chez Free, l’insertion d’une valeur de périphériques fonctionne. Est ce que 2 insertions fonctionnent, pas encore essayé…
En l’absence du chef, je me permets de répondre à sa place.
Les parties rayées correspondent aux parties qui sont à remplacer en fonction de ta configuration et/ou de ce que tu veux faire. Par exemple, l’adresse IP et le port sont rayés car ils peuvent différer pour chaque installation, de même, le message de l’alerte dépend de ce que l’on veut notifier.
Ça fait plaisir de voir cette entraide sur le net. Merci pour ta réponse ! La météo était parfaite en Bretagne hier, il FALLAIT en profiter 🙂
une eedomus, je viens de trouver une vieille archos 70b sous android 3.2 qui peut donc accueillir imperihome. disons qu’il me manque de la compétence ^^
Pourquoi par exemple as tu rayé les mention que tu avais écrites ?
salut,
je découvre ton blog grace a un lien d’abavala sur les sms de free et tombe sur la partie vocale qui m’interresse fortement mais qui n’est a mon avis pas super détaillée pour un néophyte. tu parles dans cet article de jean-martin. J’ai eau googleliser, je ne tombe que sur ton site ^^ tu as une url du blog dont tu parles ?
Merci
Jean Martin n’a pas de blog que je connaisse, il a par contre participé à celui-ci (article sur Kfob avec zipabox). Que te manque t’il pour débuter ? Quel matériel as-tu ?
Pour ma part j’utilise les voix voxygen car celle de la tablette n’est pas terrible …..
Merci pour cette présentation 😉
C’est étonnant je trouve la voix de ma tablette pas trop mal par défaut avec android 4.1. Mais vous êtes plusieurs à la trouver pas terrible. Elles sont vraiment mieux ces voix voxygen ?
3,5€ pour une voix ça me paraît cher. Et pas moyen d’écouter avant…