Ta réponse est tellement logique

Je te confirme que cela fonctionne très bien comme tu l'as décrit.
Musique sur groupe "maison", TTS sur groupe "maison" et donc retour musique sur groupe "maison"


Code : Tout sélectionner
[2018-06-20 20:42:23][DEBUG] : SOCKETHANDLER------Client connected to [127.0.0.1:59549]
[2018-06-20 20:42:23][DEBUG] : SOCKETHANDLER------Message read from socket: {"apikey":"CX6BSODRLK4gN66kv7aO1JFh4mmLpQlg","cmd":"action","device":{"uuid":"188abea2-ebb2-xxxx-7e31-959c9c2ec9e8","source":"googlecast"},"command":[{"cmd":"tts","vol":"30","value":"bonjour je suis la","sleep":"1"}]}
[2018-06-20 20:42:23][DEBUG] : SOCKETHANDLER------Client disconnected from [127.0.0.1:59549]
[2018-06-20 20:42:23][DEBUG] : SOCKET-READ------Message received in socket JEEDOM_SOCKET_MESSAGE
[2018-06-20 20:42:23][DEBUG] : SOCKET-READ------Received command from jeedom : action
[2018-06-20 20:42:23][DEBUG] : SOCKET-READ------Attempt an action on a device
[2018-06-20 20:42:23][DEBUG] : SOCKET-READ------Action Thread Launched
[2018-06-20 20:42:23][DEBUG] : ACTION------ action - tts - 188abea2-ebb2-xxxx-7e31-959c9c2ec9e8 - bonjour je suis la - media
[2018-06-20 20:42:23][DEBUG] : ACTION------TTS action
[2018-06-20 20:42:23][DEBUG] : CMD-TTS------TTS Filename hexdigest : b731dda326aeef6254e43436dd854712 (bonjour je suis lagttsfr-FR300)
[2018-06-20 20:42:23][DEBUG] : CMD-TTS------Generating file
[2018-06-20 20:42:25][DEBUG] : JEEDOMCHROMECAST------ NOW PLAYING heartbeat 1030
sox FAIL formats: no handler for file extension `mp3'
[2018-06-20 20:42:26][ERROR] : CMD-TTS------Google Translate API : Cannot connect to API - failover to picotts ([Errno 2] No such file or directory: '/var/www/html/plugins/googlecast/tmp/b731dda326aeef6254e43436dd854712.mp3')
[2018-06-20 20:42:26][DEBUG] : Traceback (most recent call last):
File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 1259, in get_tts_data
speech = AudioSegment.from_mp3(filenamemp3)
File "/var/www/html/plugins/googlecast/resources/pydub/audio_segment.py", line 702, in from_mp3
return cls.from_file(file, 'mp3', parameters)
File "/var/www/html/plugins/googlecast/resources/pydub/audio_segment.py", line 603, in from_file
file = _fd_or_path_or_tempfile(file, 'rb', tempfile=False)
File "/var/www/html/plugins/googlecast/resources/pydub/utils.py", line 60, in _fd_or_path_or_tempfile
fd = open(fd, mode=mode)
FileNotFoundError: [Errno 2] No such file or directory: '/var/www/html/plugins/googlecast/tmp/b731dda326aeef6254e43436dd854712.mp3'
[2018-06-20 20:42:26][DEBUG] : CMD-TTS------Sentence: 'bonjour je suis la' (picotts,fr-FR,speed:1.00)
[2018-06-20 20:42:26][ERROR] : ACTION------Error while playing action tts on low level commands : Chromecast is connecting...
[2018-06-20 20:42:26][DEBUG] : SENDER------Send to jeedom : {'uuid': '188abea2-ebb2-xxxx-7e31-959c9c2ec9e8', 'nowplaying': {'is_active_input': False, 'uuid': '188abea2-ebb2-1881-7e31-959c9c2ec9e8', 'track': '', 'player_state': 'ERROR', 'online': True, 'album_artist': '', 'episode': '', 'display_name': 'ERROR', 'stream_type': '', 'album_name': '', 'artist': '', 'image': None, 'season': '', 'title': '', 'current_time': 0, 'status_text': 'ERROR', 'series_title': '', 'is_stand_by': False}}
[2018-06-20 20:42:26][DEBUG] : Traceback (most recent call last):
File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 1049, in action_handler
gcast.set_volume(vol/100)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 860, in set_volume
'volume': {'level': volume}})
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/controllers/__init__.py", line 84, in send_message
self.namespace, data, inc_session_id, callback_function)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 607, in send_platform_message
inc_session_id, callback_function_param)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 601, in send_message
raise NotConnected("Chromecast is connecting...")
pychromecast.pychromecast.error.NotConnected: Chromecast is connecting...
[2018-06-20 20:42:26][DEBUG] : ACTION------SET VOLUME OPTION
Unhandled exception in thread started by <function action_handler at 0x7faafe8620>
Traceback (most recent call last):
File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 1164, in action_handler
gcast.set_volume(vol/100)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 860, in set_volume
'volume': {'level': volume}})
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/controllers/__init__.py", line 84, in send_message
self.namespace, data, inc_session_id, callback_function)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 607, in send_platform_message
inc_session_id, callback_function_param)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 601, in send_message
raise NotConnected("Chromecast is connecting...")
pychromecast.pychromecast.error.NotConnected: Chromecast is connecting...
[2018-06-20 20:42:26][DEBUG] : SENDER------Send to jeedom : {'devices': {'188abea2-ebb2-xxxx-7e31-959c9c2ec9e8': {'uuid': '188abea2-ebb2-1881-7e31-959c9c2ec9e8', 'status': {'status_text': 'ERROR', 'uuid': '188abea2-ebb2-xxxx-7e31-959c9c2ec9e8', 'display_name': 'ERROR'}, 'typemsg': 'error'}}}
[2018-06-20 20:42:33][DEBUG] : JEEDOMCHROMECAST------ NOW PLAYING heartbeat 1038
[2018-06-20 20:42:41][DEBUG] : JEEDOMCHROMECAST------ NOW PLAYING heartbeat 1046
[2018-06-20 20:42:49][DEBUG] : JEEDOMCHROMECAST------ NOW PLAYING heartbeat 1054
[2018-06-20 20:42:55][DEBUG] : SOCKETHANDLER------Client connected to [127.0.0.1:59578]
[2018-06-20 20:42:55][DEBUG] : SOCKETHANDLER------Message read from socket: {"apikey":"CX6BSODRLK4gN66kv7aO1JFh4mmLpQlg","cmd":"action","device":{"uuid":"188abea2-ebb2-xxxx-7e31-959c9c2ec9e8","source":"googlecast"},"command":[{"cmd":"tts","value":"parle directement","vol":"37"}]}
[2018-06-20 20:42:55][DEBUG] : SOCKETHANDLER------Client disconnected from [127.0.0.1:59578]
[2018-06-20 20:42:55][DEBUG] : SOCKET-READ------Message received in socket JEEDOM_SOCKET_MESSAGE
[2018-06-20 20:42:55][DEBUG] : SOCKET-READ------Received command from jeedom : action
[2018-06-20 20:42:55][DEBUG] : SOCKET-READ------Attempt an action on a device
[2018-06-20 20:42:55][DEBUG] : SOCKET-READ------Action Thread Launched
[2018-06-20 20:42:55][DEBUG] : ACTION------ action - tts - 188abea2-ebb2-xxxx-7e31-959c9c2ec9e8 - parle directement - media
[2018-06-20 20:42:55][DEBUG] : ACTION------TTS action
[2018-06-20 20:42:55][DEBUG] : CMD-TTS------TTS Filename hexdigest : 736388bcc257bdea2420a656783152a8 (parle directementgttsfr-FR300)
[2018-06-20 20:42:55][DEBUG] : CMD-TTS------Generating file
[2018-06-20 20:42:57][DEBUG] : JEEDOMCHROMECAST------ NOW PLAYING heartbeat 1062
sox FAIL formats: no handler for file extension `mp3'
[2018-06-20 20:42:58][ERROR] : CMD-TTS------Google Translate API : Cannot connect to API - failover to picotts ([Errno 2] No such file or directory: '/var/www/html/plugins/googlecast/tmp/736388bcc257bdea2420a656783152a8.mp3')
[2018-06-20 20:42:58][DEBUG] : Traceback (most recent call last):
File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 1259, in get_tts_data
speech = AudioSegment.from_mp3(filenamemp3)
File "/var/www/html/plugins/googlecast/resources/pydub/audio_segment.py", line 702, in from_mp3
return cls.from_file(file, 'mp3', parameters)
File "/var/www/html/plugins/googlecast/resources/pydub/audio_segment.py", line 603, in from_file
file = _fd_or_path_or_tempfile(file, 'rb', tempfile=False)
File "/var/www/html/plugins/googlecast/resources/pydub/utils.py", line 60, in _fd_or_path_or_tempfile
fd = open(fd, mode=mode)
FileNotFoundError: [Errno 2] No such file or directory: '/var/www/html/plugins/googlecast/tmp/736388bcc257bdea2420a656783152a8.mp3'
[2018-06-20 20:42:58][ERROR] : ACTION------Error while playing action tts on low level commands : Chromecast is connecting...
[2018-06-20 20:42:58][DEBUG] : SENDER------Send to jeedom : {'uuid': '188abea2-ebb2-xxxx-7e31-959c9c2ec9e8', 'nowplaying': {'is_active_input': False, 'uuid': '188abea2-ebb2-xxxx-7e31-959c9c2ec9e8', 'track': '', 'player_state': 'ERROR', 'online': True, 'album_artist': '', 'episode': '', 'display_name': 'ERROR', 'stream_type': '', 'album_name': '', 'artist': '', 'image': None, 'season': '', 'title': '', 'current_time': 0, 'status_text': 'ERROR', 'series_title': '', 'is_stand_by': False}}
[2018-06-20 20:42:58][DEBUG] : Traceback (most recent call last):
File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 1049, in action_handler
gcast.set_volume(vol/100)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 860, in set_volume
'volume': {'level': volume}})
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/controllers/__init__.py", line 84, in send_message
self.namespace, data, inc_session_id, callback_function)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 607, in send_platform_message
inc_session_id, callback_function_param)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 601, in send_message
raise NotConnected("Chromecast is connecting...")
pychromecast.pychromecast.error.NotConnected: Chromecast is connecting...
[2018-06-20 20:42:58][DEBUG] : ACTION------SET VOLUME OPTION
Unhandled exception in thread started by <function action_handler at 0x7faafe8620>
Traceback (most recent call last):
File "/var/www/html/plugins/googlecast/resources/googlecast.py", line 1164, in action_handler
gcast.set_volume(vol/100)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 860, in set_volume
'volume': {'level': volume}})
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/controllers/__init__.py", line 84, in send_message
self.namespace, data, inc_session_id, callback_function)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 607, in send_platform_message
inc_session_id, callback_function_param)
File "/var/www/html/plugins/googlecast/resources/pychromecast/pychromecast/socket_client.py", line 601, in send_message
raise NotConnected("Chromecast is connecting...")
pychromecast.pychromecast.error.NotConnected: Chromecast is connecting...
[2018-06-20 20:42:58][DEBUG] : SENDER------Send to jeedom : {'devices': {'188abea2-ebb2-xxxx-7e31-959c9c2ec9e8': {'uuid': '188abea2-ebb2-1881-7e31-959c9c2ec9e8', 'status': {'status_text': 'ERROR', 'uuid': '188abea2-ebb2-xxxx-7e31-959c9c2ec9e8', 'display_name': 'ERROR'}, 'typemsg': 'error'}}}
[2018-06-20 20:43:05][DEBUG] : JEEDOMCHROMECAST------ NOW PLAYING heartbeat 1070
Ça va aller ... Je suis synchro sur 8 ... donc sur 2 ...
Tu penses que j'habite un chateau ? avec 8 GH elles sont forcéments relativement proches les unes des autres ou en tous cas il y en a souvent plus d'une audible à partir d'un point de la maison.
Code : Tout sélectionner
cmd=warmupnotif|sleep=3$$cmd=tts|value=Mon message|generateonly=1|silence=2000$$cmd=tts|value=Mon message|vol=100|forcevol=1|silence=2000
Code : Tout sélectionner
cmd=warmupnotif|sleep=2$$cmd=tts|value=#message#|generateonly=1|silence=2000$$cmd=tts|value=#message#|vol=#title#|forcevol=1|silence=2000
Sur un groupe google tu peux enlever le forcevol, il ne sert à rienbreizh22 a écrit : ↑22 juin 2018, 13:30Bonjour guirem.
Personnellement, après tests divers et variés pour l'envoi sur les groupes, j'ai pris l'option comme ta commande ci-dessus. C'est vrai que perso, pour un message, je ne suis pas à deux secondes près,, j'ai mis 2 secondes après tests aussi. J'ai choisi cette option par rapport au live radio que je diffuse souvent sur le groupe maison, comme dans les posts échangés ici, la seule méthode est de caster le tts sur le groupe pour retrouver la radio ensuite. C'est synchro, pas de souci la dessus. J'ai juste changer pour régler le volume dans "Titre" directement.
Par contre, je ne retrouve pas ma radio si celle-ci est lancée uniquement sur une GH, logique aussi vu que je lance le tts sur groupe "maison", c'était un choix à faire, c'est selon l'utilisation de chacun.
Code : Tout sélectionner
cmd=warmupnotif|sleep=2$$cmd=tts|value=#message#|generateonly=1|silence=2000$$cmd=tts|value=#message#|vol=#title#|forcevol=1|silence=2000
Un des gros problèmes des groupes Google c'est la gestion du volume des membres du groupe, demander un volume de 80% au groupe pour un TTS ne mets pas forcément tous les membres à 80%, le volume résultant de chaque membre est un calcul par rapport au volume en cours. Je viens encore d'en faire l'expérience en testant du TTS vers groupe google, la GH de mon bureau a fait son TTS avec un volume largement insuffisant.guirem a écrit : ↑22 juin 2018, 12:02Bonjour,
@meute, @TiTerm : Personellement Je ne vois pas bien l’intérêt de vouloir faire parler les google cast en individuel (groupe simulé) plutôt que sur le goupe directement mais il y a probablement de bonnes raisons.
Ce type de commande lancée sur un groupe ne fonctionne pas bien ?Bon il y a un délai de minimum 5 secondes (sleep + silence) pour entendre le son maisCode : Tout sélectionner
cmd=warmupnotif|sleep=3$$cmd=tts|value=Mon message|generateonly=1|silence=2000$$cmd=tts|value=Mon message|vol=100|forcevol=1|silence=2000
- le sleep=3 peut probablement être baissé selon les tests surtout si peu de gh.
- silence=2000 (2sec) laisse le temps au gh de se synchroniser sur le silence donc inaudible et peux probablement être baissé également car il y a le warmupnotif juste avant.
Donc intuitivement le délai doit pouvoir être baissé entre 1 et 3 secondes selon les configs ce qui n'est pas super choquant
Code : Tout sélectionner
cmd=warmupnotif$$sleep=3$$cmd=tts|value=#message#|generateonly=1|silence=2000$$cmd=tts|value=#message# #title#|vol=#title#|forcevol=1|silence=2000
Code : Tout sélectionner
------------------------------------
[2018-06-22 19:30:57][SCENARIO] Start : Scenario lance manuellement.
[2018-06-22 19:30:57][SCENARIO] Exécution du sous-élément de type [action] : action
[2018-06-22 19:30:57][SCENARIO] Exécution de la commande [Maison][TTS][Grp Notification globale] avec comme option(s) : {"background":"0","title":"50","message":"Ceci est un test de message un peu long avec le volume a "}
[2018-06-22 19:30:57][SCENARIO] Fin correcte du scénario
Code : Tout sélectionner
cmd=warmupnotif|broadcast=all$$cmd=tts|value=#message#|generateonly=1|sleep=1.5$$cmd=tts|value=#message# #title#|vol=#title#|forcevol=1|broadcast=all
Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité