Google TTS et chromecast pour les notifications Domoticz

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.



 Site Officiel :   easydomoticz

One thought on “Google TTS et chromecast pour les notifications Domoticz

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

Laisser un commentaire