Page 1 sur 3
Faire parler Domoticz
Publié : 19 août 2015, 13:18
par Olivier77260
Bonjour,
La solution proposée via Google pour faire parler domoticz ne fonctionne plus depuis la mise en place par Google d'un systéme Captcha. Quelqu'un a-t-il trouvé une solution alternative ?
Re: Faire parler Domoticz
Publié : 19 août 2015, 15:50
par vil1driver
Re: Faire parler Domoticz
Publié : 20 août 2015, 09:55
par Olivier77260
Merci vildriver pour les infos.
Suite à l'utilisation des services d'un tiers (google) dont nous avons été tributaire. J'ai décidé de ne plus me fier à des services extérieurs pour domoticz. c'est pourquoi j'ai préféré enregistrer toutes mes commandes vocales sur mon serveur en utilisant la commande suivante : wget -q -U Mozilla "
http://www.voxygen.fr/sites/all/modules ... &text=ceci est un essai&voice=Eva" -O test.mp3
Re: Faire parler Domoticz
Publié : 20 août 2015, 12:26
par MelloXVI
C'est une bonne idée ! Je vais faire ca je pense aussi, puisque chez moi voxygen ne peut être appelé directement depuis mon raspberry ...
Merci
Re: Faire parler Domoticz
Publié : 05 janv. 2016, 06:27
par orbnu
Bonjour,
J'ai pour ma part opté pour une solution hybride, via voicerss.org (dont il faut se créer une clé d'API, et qui permet 350 requêtes par jour dans la version free) : je n'utilise l'api qu'une seule fois, le reste du temps c'est stocké en cache. C'est facilement adaptable pour d'autres sites, ou pour un autre lecteur que mpg123.
Mon script say.sh :
Code : Tout sélectionner
#!/bin/sh
# Répertoire de cache des fichiers audio, doit avoir été créé auparavant
CACHE_DIR=/home/pi/cache/audio
PHRASE=$1
FILE=$CACHE_DIR/`echo "$1" |md5sum | cut -f1 -d" "`.mp3
KEY=clef_api
if [ ! -f $FILE ]
then
# stockage du fichier en cache
wget --quiet --output-document $FILE "http://api.voicerss.org/?key=$KEY&hl=fr-fr&src=$PHRASE&f=44khz_16bit_stereo"
fi
mpg123 -q $FILE &
(remplacer clef_api par votre clé voicerss)
Re: Faire parler Domoticz
Publié : 07 avr. 2016, 23:42
par QcVictor
J'ai opter aussi pour voicerss.org en suivant le wiki
https://www.domoticz.com/wiki/Rss_voice, mais j'ai un petit soucis avec le script
2016-04-07 17:40:24.976 User: Admin initiated a switch command
2016-04-07 17:40:25.226 Error: EventSystem: in /home/pi/domoticz/scripts/lua/script_device_switch.lua: /home/pi/domoticz/scripts/lua/script_device_switch.lua:2: unexpected symbol near 'if'
2016-04-07 17:40:24.977 (Dummy II) Light/Switch (Switch)
si je lance le sript via
pi@raspberrypi ~/domoticz/scripts/lua $ ./script_device_switch.lua
./script_device_switch.lua: line 1: syntax error near unexpected token `newline'
./script_device_switch.lua: line 1: `commandArray = {}<br>'
Re: Faire parler Domoticz
Publié : 08 avr. 2016, 22:03
par patrice
QcVictor a écrit :J
./script_device_switch.lua: line 1: syntax error near unexpected token `newline'
./script_device_switch.lua: line 1: `commandArray = {}<br>'
[/quote]
Il ne faut pas ouvrir le fichier sous windows SAUF si tu dis à ton éditeur que tu ecris le fichier sur du linux
ou il faut supprimer le cr lf de fin de ligne
Re: Faire parler Domoticz
Publié : 09 avr. 2016, 16:15
par QcVictor
j'utilise TextWrangler sous mac et sauvegarde en Unix (LF) et unicode UTF-8! J'ai essayer avec différent droit sur le fichier 644 tel que spécifier et 755
Même résultat
Edit: en enlevant les
<br>
plus d'erreur de script

mais pas de retour de voix/message alors qu'avec un tts "Hello, world" ca fonctionne!
Re: Faire parler Domoticz
Publié : 03 mai 2016, 11:43
par Olivier77260
Faire parler Domoticz quand on est à la maison c'est bien. Mais quand on est à l'extérieur c'est moins bien. Donc faite parler votre téléphone portable avec newtifry.
Re: Faire parler Domoticz
Publié : 04 mai 2016, 22:28
par bruch05
Bonsoir,
Voici ma solution pour faire parler Domoticz via la Freebox et l'API Google. (Aucune authentification n'est nécessaire)
Cela est implémenté sur un NAS Synology.
Il y a 2 secondes de latence, le temps que l'appel à Google réponde, mais cela fonctionne nickel.
Le script "Play-Text.bash" appelle le script "Play-Text-d.bash" avec les droits root via un SUDO qui prend le mot de passe dans pwd.txt.
Depuis un script LUA, voici la syntaxe d'appel.
local t = os.execute("/volume1/@appstore/domoticz/var/scripts/bash/Play-Text.bash attention fermeture volets")
Play-Text.bash
Code : Tout sélectionner
#!/bin/bash
cat /volume1/@appstore/domoticz/var/scripts/bash/pwd.txt | sudo --stdin /volume1/@appstore/domoticz/var/scripts/bash/Play-Text-d.bash $*
Play-Text-d.bash
Code : Tout sélectionner
#!/bin/bash
# Script lancé en mode root par le script Play-Sound.bash
echo "Teste la présence du Daemon et le tue si il n'a pas été supprimé."
ps -C "synoairplayd" && killall synoairplayd
echo "Rajout de %20 à la place des blanc pour passage Url"
chaine=$(echo $* | sed -e 's/ /%20/g')
echo $chaine
echo "Lecture de la chaine"
/volume1/@appstore/AudioStation/sbin/synoairplayd --ip 192.168.0.254 --port 5000 --volume 100 --metadata {title:Alarme} "http://translate.google.com/translate_tts?tl=fr&client=tw-ob&q=$chaine"
echo "On attend 10 secondes et on tue le Daemon afin que l'heure revienne sur la Freebox Server"
sleep 10
killall synoairplayd
exit