[Tuto] Notifications Domoticz par la Google Home
Publié : 11 févr. 2018, 22:14
Bonjour,
Voici un petit tuto pour avoir les notifications Domoticz sur sa Google Home.
L'avantage de cette solution est qu'elle est totalement intégrée à Domoticz (via notification HTTP), générique (pas besoin de faire un script par message) et sans avoir besoin d'ouvrir de port (ce qui n’est pas possible avec la solution IFTTT).
Il faut installer ces quelques sources : SoX, Pico, une librairie SoX mp3 et stream2chromecast
Il faut pour cela utiliser mon petit script Shell ci-dessous qui prend en paramètre 3 données :
1/ le texte du #MESSAGE de Domoticz
par exemple "la porte du congélateur est ouverte"
2/ le volume de 0 à 1 (1=100%)
si le volume est sur 0, le script règle un volume pour le jour et un autre pour la soirée/nuit.
3/ le "jingle" : il est possible d'avoir une introduction en mp3 avant l'annonce Domoticz
0 = pas de jingle
1 = jingle 1
2 = jingle 2
...
attention, le jingle doit être en mono et 48kHz
pour faire une conversion d'un mp3 standard vers un tel format, SoX va nous être utile :
Il faut créer un dossier /jingles dans le répertoire /domoticz
Si vous manquez d'idée pour vos jingles :
https://www.musicscreen.be/musique-libr ... gles1.html
Le script notification_google_home.sh :
(Pensez à le rendre exécutable: sudo chmod +x notification_google_home )
Ensuite, dans domoticz, il suffit de paramétrer les notifications HTTP :
petit rappel https://easydomoticz.com/nouveau-system ... ification/
Et dans vos devices, vous pouvez activer la notification HTTP :
Vous pouvez même passer des paramètres (ici volume à 40% et jingle n°2) :
Voici un petit tuto pour avoir les notifications Domoticz sur sa Google Home.
L'avantage de cette solution est qu'elle est totalement intégrée à Domoticz (via notification HTTP), générique (pas besoin de faire un script par message) et sans avoir besoin d'ouvrir de port (ce qui n’est pas possible avec la solution IFTTT).
Il faut installer ces quelques sources : SoX, Pico, une librairie SoX mp3 et stream2chromecast
Code : Tout sélectionner
sudo apt-get install sox
sudo apt-get install libttspico-utils
sudo apt-get install libsox-fmt-mp3
git clone https://github.com/bronche/stream2chromecast1/ le texte du #MESSAGE de Domoticz
par exemple "la porte du congélateur est ouverte"
2/ le volume de 0 à 1 (1=100%)
si le volume est sur 0, le script règle un volume pour le jour et un autre pour la soirée/nuit.
3/ le "jingle" : il est possible d'avoir une introduction en mp3 avant l'annonce Domoticz
0 = pas de jingle
1 = jingle 1
2 = jingle 2
...
attention, le jingle doit être en mono et 48kHz
pour faire une conversion d'un mp3 standard vers un tel format, SoX va nous être utile :
Code : Tout sélectionner
sox votre_mp3.mp3 jingle1.mp3 channels 1 rate 48kSi vous manquez d'idée pour vos jingles :
https://www.musicscreen.be/musique-libr ... gles1.html
Le script notification_google_home.sh :
Code : Tout sélectionner
#!/bin/bash
# notification_google_home.sh Script de notification de message vocal sur la Google Home
# by JS Martin - 11/02/2018 - version 0.1
message=$1 # text message
volume=$2 # 0=auto 0.1=10% 1=100%
jingle=$3 # jingle track number (0=no track 1=default track)
# ------ parameters ---------
# Autoset volume if volume=0
Start_day="0740"
Start_night="2100"
Night_vol="0.2"
Day_vol="0.4"
# number of arg correction
case "$#" in
"1")
volume="0"
jingle="1"
;;
"2")
jingle="1"
;;
"3")
;;
*)
echo "Usage: notification_google_home <text> [volume 0..1] [jingle_track]"
exit 1
;;
esac
# Jingle track
case "$jingle" in
"1")
jingle_name="/home/pi/domoticz/jingles/jingle1.mp3"
;;
"2")
jingle_name="/home/pi/domoticz/jingles/jingle2.mp3"
;;
*)
jingle_name="/home/pi/domoticz/jingles/jingle1.mp3"
;;
esac
# IP Google Home
IPGH="192.168.10.100"
echo "Notification : "$message
if [ $volume != "0" ]; then
echo "Volume : "$volume
else
CUR_TIME=`date +%H%M`
if [ $CUR_TIME -ge $Start_day -a $CUR_TIME -le $Start_night ]; then
echo "Day volume"
volume=$Day_vol
else
echo "Night volume"
volume=$Night_vol
fi
echo "Volume = automatique - set to "$volume
fi
#Set Google Home volume
sudo python /home/pi/stream2chromecast/stream2chromecast.py -devicename $IPGH -setvol $volume
#Text to WAV
sudo pico2wave -l fr-FR -w /tmp/message.wav "$message"
#WAV to MP3
sudo sox -v 0.99 /tmp/message.wav -r 48k /tmp/message.mp3 speed 1.06
#Add jingle if needed
if [ $jingle != "0" ]; then #add jingle
sudo sox $jingle_name /tmp/message.mp3 /tmp/message2.mp3
sudo cp /tmp/message2.mp3 /tmp/message.mp3
fi
#MP3 to Google Home
sudo python /home/pi/stream2chromecast/stream2chromecast.py -devicename $IPGH /tmp/message.mp3Ensuite, dans domoticz, il suffit de paramétrer les notifications HTTP :
petit rappel https://easydomoticz.com/nouveau-system ... ification/
Et dans vos devices, vous pouvez activer la notification HTTP :
Vous pouvez même passer des paramètres (ici volume à 40% et jingle n°2) :