Bonsoir,
Comme quoi, de tester dans tous les sens, ca prend certes du temps, mais c’est le seul moyen de se faire sa propre idée et ses conclusions
Bon, entre temps, j’ai préparé cela :
c’est un exemple pour montrer comment cela pourra s’articuler :
Le principe :
- J’ai 3 diffusions TTS à faire en enfilade (donc la 2ème qui attend la 1ère, et la 3ème qui attend la 2ème),
- Mais en plein milieu (c’est ce qui est simulé par le sleep = 18 secondes), j’ai une 4ème diffusion TTS prioritaire qui doit annuler toutes les autres et être diffusée immédiatement.
Il va se passer quoi sur le google nest ? :
- la première commande TTS va être diffusée (car elle met moins de 18 secondes),
- arrivé à la 2ème commande TTS, elle va démarrer mais va (en plein milieu) se faire couper la parole par la 4ème qui arrive à ce moment là.
- La 3ème commande est donc annulée,
- Et donc entre temps la 4ème est diffusée sur le nest.
Je te laisse regarder la capture d’écran, normalement cela devrait répondre à ton besoin, et t’éviter d’avoir à utiliser la commande « media quit » en plus de TTS, car en gros, c’est l’option « force » qui s’occupe de faire le « media_quit », mais en plus il annule les diffusions TTS qui étaient éventuellement en attente avec les « wait »
donc expliqué autrement : si tu mets l’option "force": true
dans une commande TTS vers ton Nest = quoi que le Nest soit en train de faire, il va arrêter et diffuser cette annonce. (ca marche avec les commandes TTS, sound, custom sounds, youtube, media, etc… bref, avec presque toutes les commandes).
Alors bien sûr, c’est pas magique, et les google nest sont pas des foudres de guerre, donc il faut quelques instants pour que la diffusion s’arrête et reprenne avec l’annonce prioritaire, mais au moins il n’y a pas à attendre la fin des 3 premières diffusions
EDIT : une nouvelle version béta (v1.4.3) sera disponible demain matin, intégrant cette fonctionnalité.
TiTidom.