Donner de la voix à sa domotique

Share

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 ?

  • archos_101xs_img3Une 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 :

smartvoice_tasker_profile

Profil tasker « Reset Parameters » : remise à jour des paramètres toutes les 30 minutes

smartvoice_tasker_tasks

Création Tâche Tasker « Default parameters » appelée par le profil ci-dessus

smartvoice_tasker_taskdescr

Tâche Tasker « Default parameters » : remet tous les paramètres audio au maximum

Enfin, le serveur http de l’application Imperihome doit être activé et le port utilisé vérifié :

smartvoice_imperihome_webserver

Activation Serveur http Imperihome

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

smartvoice_eedomus_configuration

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 »,

loceedomus1_eedomusadddevice

puis « Ajouter un autre type de périphérique » :

loceedomus1_eedomusaddother

Nous allons alors créer un nouvel Actuateur http permettant d’envoyer les commandes précédentes par appel http.
smartvoice_eedomus_httpactuatorsmartvoice_httpact_configuration

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 :

smartvoice_httpact_values

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

smartvoice_httpact_select

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 :

smartvoice_httpact_rules

Share

Vincent Recipon

Propriétaire de ce blog. Owner of this blog.

Vous aimerez aussi...

30 réponses

  1. Wil dit :

    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.

  2. Quesson Benoit dit :

    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 ?

  3. bubu dit :

    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.

  4. bubu dit :

    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 ?

  5. Arnaud P dit :

    ma solution ici pour Zibase capricieuse avec le TTS et ma tablette …
    http://www.touteladomotique.com/forum/viewtopic.php?f=42&t=14973

  6. Arnaud P dit :

    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 ….

  7. Arnaud dit :

    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 ?

  8. Arnaud P dit :

    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 ?

  9. Crapulfeust dit :

    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.

  10. ma pomme / pikat dit :

    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.

  11. enr37 dit :

    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é…

  12. Laurent Simon dit :

    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.

  13. enr37 dit :

    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 ?

  14. enr37 dit :

    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 ?

  15. ma pomme / pikat dit :

    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…

  1. vendredi 13 juin UTC

    […] compte. La configuration de ces actionneurs a déjà été décrite dans le précédent article Donner de la voix à sa domotique,vous pouvez donc vous référer à celui-ci pour plus de détails […]

  2. jeudi 7 août UTC

    […] les alertes vocales, je ne reviendrai pas dessus puisque l’article « Donnez de la voix à sa domotique » est à portée de […]

  3. mardi 2 septembre UTC

    […] les alertes vocales, je ne reviendrai pas dessus puisque l’article « Donnez de la voix à sa domotique » est à portée de […]

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *