Give a voice to a smarthome setup
At the beginning I was not so much interested about alert aspects, unless I’ve seen some useful tips done by Jean-Martin. I’m not able to do without them nowdays.
My voice alerts are made of different flavors, from “It’s time to go to school”, “Fish have to be fed”, to “Warning, server is disconnected”.
It’s useful, funny, and easy to setup using eedomus.
What do we need?
- An Android tablet located at a strategic place and being sufficiently loud. If tablet should be mounted on a wall, select one with a front loudspeaker. It doesn’t need to be top notch device. My personal choice ? Please have a look to this post.
- Imperihome android App. This is a smarthome interface App, but it includes also a small webserver we can use to send orders and particularly to read out text.
- A smarthome controller. In my case this is an eedomus.
- Optionnaly, Tasker App on the tablet.
Configuration, tablet side
Not much to say here compared to what have been already explained in previous post. Tablet have to be set with a fix IP address to be able to discuss with it easily. It can be configured in network parameters of the tablet, or using an advanced DHCP server that can serv fix IP addresses.
Loudness on tablet should remain constant, even if malicious people (my children) are changing volume or muting it. Tasker is the one to be used to do so by creating the following task that is resetting volume parameters every 30 minutes :
Also the embedded http server of Imperihome have to be activated and port verified :
Reading out a text by the tablet
It is then possible to read out a text, when Imperihome is active, by calling the following http address :
http://192.168.x.x/api/rest/speech/tts/Audio%20Test |
- 192.168.x.x has to be modified to correspond to IP address of your tablet
- text have to be entered after tts/
- Special characters have to be replaced by corresponding codes for URLs. Here are some useful codes :
Space %20 , Coma %2C . Mark %2E ! Exclamation mark %21 ? Interrogation mark %3F
For the first try, use the browser of your computer before setting the parameters in your smarthome controller.
Android speech synthesis have sometimes some difficulties to analyse complex spelling, at least with french language. In those case you should have to simplify phrase or word to have it spelled correctly. Apart from that, pronunciation is good and, in my case, sufficiently loud to be heard from all the rooms at first floor.
Voice alerts with eedomus
Let’s start using those alerts on the eedomus controller. We have to connect through eedomus.com portal. When logged, the configuration panel can be accessed at top right of th screen.
Select option “Add or remove a device”,
then “Add another type of device” :
We’re going to create a new http actuator that can send commands through http calls.
There is no particular topic to underline in general configuration which is equivalent for all types of devices : name to be changed, assignment to a room, and eventually to a specific use, icon change.
The most interesting part is the value Tab in which are defined all the phrases that should be dictated :
For each phrase, add a new value with those parameters :
- Value : this one won’t appear lately, take care that there is a single value per line. The controller propose a default value that can be used directly.
- Image : optional but useful to find easily a phrase if you put an icon matching that one.
- Description : Description of the value. This description is the one that will be selected in rules.
- URL = http://
AddresseIPTablette:8080/api/rest/speech/tts - Type = GET
- Parameters = ?text=
Voice%20Alert
Don’t forget to save your new values with corresponding button at the bottom of the page, you never have to use the back button from your browser.
Et voilà, configuration is done.
It’s now possible to activate this new device from main panel, it is classified by function and by room. One clic on it and you can select one of the values, then the voice alert should activate.
Integrating a voice alert inside a rule
We already have done most of it. To trigger a voice alert from a rule, you have simply to add an Action, select this new peripheral and the correct value.
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…