Bonjour,
je souhaitais remplacer les notifications sur ma tablette de salon par une solution un peu plus performante au niveau du son notamment.
pour cela je dispose d’un ancien dock iphone 4 pour me servir d’enceinte amplifiée et d’un chromecast audio qui dort dans un tiroir.
voila donc mon script python me permettant d’utiliser les notifications domoticz avec un chromecast
le script chromecast.py à placer dans /home/pi/domoticz/scripts/python/ et à personnaliser avec l’adresse de domoticz et le nom que vous avez défini lors de l’installation de votre chromecast
Vous pouvez spécifier plusieurs chromecast, les notifications se feront sur chaque chromecast déclaré.
#!/usr/bin/python3 from __future__ import print_function import sys; sys.path.insert(0,'/usr/local/lib/python3.4/dist-packages/') import time import pychromecast from gtts import gTTS #import sys URL_DOMOTICZ = 'http://192.168.10.240:8080/' # renseigner l'adresse et le port de votre domoticz for arg in sys.argv: print(arg) tts = gTTS(text=arg, lang='fr', slow=False) tts.save("/home/pi/domoticz/www/notification.mp3") chromecasts = pychromecast.get_chromecasts() [cc.device.friendly_name for cc in chromecasts] ['MonChromecast'] #vous pouvez mettre le nom de plusieurs chromecast separe par une virgule ex: ['douche', 'salon', 'cuisine', 'chambre'] cast = next(cc for cc in chromecasts ) cast.wait() mc = cast.media_controller mc.play_media(URL_DOMOTICZ+'notification.mp3', 'audio/mp3') mc.block_until_active() mc.pause() mc.play()
si vous n’avez pas python 3 d’installé
# install dependencies sudo apt-get install -y python3 # Domoticz Beta versions since V3.6129 also require... sudo apt-get install -y python3-dev python3-pip # credit [https://www.domoticz.com/forum/viewtopic.php?f=65&t=16116&p=119747]
ensuite on install pychromecast
sudo pip3 install pychromecast
et le tts de google
sudo pip3 install gtts
pour tester en ligne de commande depuis la console
python3 /home/pi/domoticz/scripts/python/chromecast.py "bonjour, je voudrais tester mon chromecast"
évitez les accents, les[b] ‘[/b] …
ensuite dans domoticz réglages > paramètres > notifications > HTTP personnalisé/Action:
script:///home/pi/domoticz/scripts/python/chromecast.py "#MESSAGE"
il y a environ 10 secondes de latence entre l’envoi de la notification et le message vocal
voila, si cela peut servir.
[homepage]http://easydomoticz.com/forum/viewtopic.php?f=10&p=35811#p35811[/homepage]
Si vos notifications ne fonctionnent plus après un apt-get update
il vous faut modifier le fichier /usr/local/lib/pythonX.X/dist-packages/gtts_token/gtts_token.py
en remplaçant les lignes
tkk_expr = re.search(".*?(TKK=.*?;)W.*?", line).group(1)
a = re.search("a\\\\x3d(-?\d+);", tkk_expr).group(1)
b = re.search("b\\\\x3d(-?\d+);", tkk_expr).group(1)
result = str(hours) + "." + str(int(a) + int(b))
par
result = re.search("TKK='(.+?)';", line).group(1)
plus d’info ici
https://github.com/pndurette/gTTS/issues/138