Commandes multiroom desynchronisées

Bonjour,

Continuant sur ma lancée de découverte du plugin, je veux effectuer des annonces Alexa sur un groupe (multiroom). Le HIC, c’est que ces messages sont désynchronisés la plupart du temps. Pire encore, je me tape des « Rate exceeded: Too many requests ».

Parce-que, lorsque je demande à Alexa API de faire parler ou annoncer Alexa sur un élément multiroom, le plugin effectue une résolution en récupérant les ID du matériel accroché à cet élément, et lance plusieurs requêtes simultanées.

Ainsi, voici le log :

[12/2/2020, 13:53:25][INFO] :  {API}    ╔═══════[Lancement /Speak avec paramètres -> device:4db2f926f0724dc9ad32a323af8ae16a/text:Ceci est un test de message pour la commande Faire parler Alexa/ssml:undefined/jingle:undefined/volume:/lastvolume:
[12/2/2020, 13:53:25][DEBUG] : {Remote} ║ Sending Request with {"host":"alexa.amazon.fr","path":"/api/behaviors/preview","method":"POST","timeout":10000,"headers":{}} and data={"behaviorId":"PREVIEW","sequenceJson":"{\"@type\":\"com.amazon.alexa.behaviors.model.Sequence\",\"startNode\":{\"@type\":\"com.amazon.alexa.behaviors.model.SerialNode\",\"name\":null,\"nodesToExecute\":[{\"@type\":\"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\",\"operationPayload\":{\"deviceType\":\"A32DOYMUN6DTXA\",\"deviceSerialNumber\":\"G090U50990961KFU\",\"locale\":\"fr-FR\",\"customerId\":\"AGM5WMKFQLZUG\",\"textToSpeak\":\"Ceci est un test de message pour la commande Faire parler Alexa\"},\"type\":\"Alexa.Speak\"}]}}","status":"ENABLED"}
[12/2/2020, 13:53:25][DEBUG] : {Remote} ║ Sending Request with {"host":"alexa.amazon.fr","path":"/api/behaviors/preview","method":"POST","timeout":10000,"headers":{}} and data={"behaviorId":"PREVIEW","sequenceJson":"{\"@type\":\"com.amazon.alexa.behaviors.model.Sequence\",\"startNode\":{\"@type\":\"com.amazon.alexa.behaviors.model.SerialNode\",\"name\":null,\"nodesToExecute\":[{\"@type\":\"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\",\"operationPayload\":{\"deviceType\":\"A32DOYMUN6DTXA\",\"deviceSerialNumber\":\"G090VC0991131SJH\",\"locale\":\"fr-FR\",\"customerId\":\"AGM5WMKFQLZUG\",\"textToSpeak\":\"Ceci est un test de message pour la commande Faire parler Alexa\"},\"type\":\"Alexa.Speak\"}]}}","status":"ENABLED"}
[12/2/2020, 13:53:25][DEBUG] : {Remote} ║ Sending Request with {"host":"alexa.amazon.fr","path":"/api/behaviors/preview","method":"POST","timeout":10000,"headers":{}} and data={"behaviorId":"PREVIEW","sequenceJson":"{\"@type\":\"com.amazon.alexa.behaviors.model.Sequence\",\"startNode\":{\"@type\":\"com.amazon.alexa.behaviors.model.SerialNode\",\"name\":null,\"nodesToExecute\":[{\"@type\":\"com.amazon.alexa.behaviors.model.OpaquePayloadOperationNode\",\"operationPayload\":{\"deviceType\":\"A32DOYMUN6DTXA\",\"deviceSerialNumber\":\"G090U61091110CFW\",\"locale\":\"fr-FR\",\"customerId\":\"AGM5WMKFQLZUG\",\"textToSpeak\":\"Ceci est un test de message pour la commande Faire parler Alexa\"},\"type\":\"Alexa.Speak\"}]}}","status":"ENABLED"}

Grosso modo, c’est donc impossible d’avoir un lancement synchronisé de l’annonce ou de la parle sur le groupe, chaque écho répond à sa vitesse.

N’y a t’il pas une possibilité via l’API Amazon pour lancer une requête sur un groupe et non sur chaque élément séparément ?

Bonsoir,
Non, sinon nous l’aurions fait.
A ce stade, c’est une boucle qui envoie la commande à chaque équipement.
Cela évoluera dès que ce sera possible.
Merci pour ton constat. Bonne continuation.

Si Amazon arrive à gérer l’envoi sur un groupe précis en mode synchro, ça existe dans l’API. Mais si j’ai bien suivi, Amazon ne communique pas sur ses WS Alexa.

Je monte actuellement en compétences sur les plugins Jeedom, et je vais aller vers des skills Alexa dans quelques semaines. Je vais déblayer un peu le terrain voir si je peux apporter des fonctionnalités en plus sur le plugin Alexa API.

On a pas encore trouvé.

exact

Avec plaisir, le code est ouvert et le plugin gratuit.