Plugin Alexa-Api : problème de lancement d'une radio (version stable 2019-10-04 02:48:49)

Bonjour

J’ai installé le plugin Alexa-Api (version stable 2019-10-04 02:48:49) et depuis quelques jours j’ai intégré dans une série d’actions déclenchées à mon réveil, le lancement d’une radio sur un Echo spot… et çà ne fonctionne pas
Pour être précis, cette série d’actions est intégrée dans un agenda

J’ai récupéré le log de ce matin. En voici un extrait :

[2019-10-24 7:00:04] Alexa-API: Devices
[2019-10-24 7:00:04] Alexa-Remote: Sending Request with {"host":"alexa.amazon.fr","path":"/api/bootstrap?version=0","method":"GET","timeout":10000,"headers":{}}
[2019-10-24 7:00:05] Alexa-API:    Lancement /Radio avec paramètres -> device: G070xxxxxxx & station: s50486
[2019-10-24 7:00:05] Alexa-Remote: Sending Request with {"host":"alexa.amazon.fr","path":"/api/bootstrap?version=0","method":"GET","timeout":10000,"headers":{}}
[2019-10-24 7:00:05] >>> DEBUG res.statusCode: 200
[2019-10-24 7:00:05] >>> DEBUG res.statusMessage: OK
[2019-10-24 7:00:05] >>> DEBUG res.httpVersion: 1.1
[2019-10-24 7:00:05] >>> DEBUG res.headers: {"server":"Server","date":"Thu, 24 Oct 2019 05:00:05 GMT","content-type":"application/json","content-length":"177","connection":"close","x-amzn-requestid":"9be5c0xxxxxxx","access-control-allow-origin":"https://alexa.amazon.fr","vary":"Origin,Accept-Encoding,X-Amzn-CDN-Cache,X-Amzn-AX-Treatment,User-Agent","access-control-expose-headers":"x-amzn-dat-gui-client-upgrade,X-Amzn-Error,loginUrl,X-Amzn-RequestId,x-amzn-alt-domain,Date,Location","access-control-allow-credentials":"true","x-amz-rid":"73SDxxxxxxx"}
[2019-10-24 7:00:05] >>> DEBUG chunk: {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:05] >>> DEBUG body: {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:05] Alexa-Remote: Response(1): {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:05] Alexa-Remote: Authentication check successfull
[2019-10-24 7:00:05] Alexa-Remote: Sending Request with {"host":"alexa.amazon.fr","path":"/api/devices-v2/device?cached=true&_=1571893205949","method":"GET","timeout":10000,"headers":{}}
[2019-10-24 7:00:06] >>> DEBUG res.statusCode: 200
[2019-10-24 7:00:06] >>> DEBUG res.statusMessage: OK
[2019-10-24 7:00:06] >>> DEBUG res.httpVersion: 1.1
[2019-10-24 7:00:06] >>> DEBUG res.headers: {"server":"Server","date":"Thu, 24 Oct 2019 05:00:06 GMT","content-type":"application/json","content-length":"177","connection":"close","x-amzn-requestid":"bb6d63d1xxxxxxx","access-control-allow-origin":"https://alexa.amazon.fr","vary":"Origin,Accept-Encoding,X-Amzn-CDN-Cache,X-Amzn-AX-Treatment,User-Agent","access-control-expose-headers":"x-amzn-dat-gui-client-upgrade,X-Amzn-Error,loginUrl,X-Amzn-RequestId,x-amzn-alt-domain,Date,Location","access-control-allow-credentials":"true","x-amz-rid":"7BFHBJ0HZPXDA7CEG9V9"}
[2019-10-24 7:00:06] >>> DEBUG chunk: {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:06] >>> DEBUG body: {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:06] Alexa-Remote: Response(1): {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:06] Alexa-Remote: Authentication check successfull
[2019-10-24 7:00:06] Alexa-Remote: Sending Request with {"host":"alexa.amazon.fr","path":"/api/tunein/queue-and-play?deviceSerialNumber=G070xxxxxxx&deviceType=A10A33FOX2NUBK&guideId=s50486&contentType=station&callSign=&mediaOwnerCustomerId=A19xxxxxxx","method":"POST","timeout":10000,"headers":{}}and data=undefined
[2019-10-24 7:00:06] >>> DEBUG res.statusCode: 401
[2019-10-24 7:00:06] >>> DEBUG res.statusMessage: Unauthorized
[2019-10-24 7:00:06] >>> DEBUG res.httpVersion: 1.1
[2019-10-24 7:00:06] >>> DEBUG res.headers: {"server":"Server","date":"Thu, 24 Oct 2019 05:00:06 GMT","content-length":"0","connection":"close","x-amzn-requestid":"c9e3ccxxxxxxx","access-control-allow-origin":"https://alexa.amazon.fr","vary":"Origin,Accept-Encoding,X-Amzn-CDN-Cache,X-Amzn-AX-Treatment,User-Agent","access-control-expose-headers":"x-amzn-dat-gui-client-upgrade,X-Amzn-Error,loginUrl,X-Amzn-RequestId,x-amzn-alt-domain,Date,Location","access-control-allow-credentials":"true","x-amz-rid":"NKxxxxxxx"}
[2019-10-24 7:00:06] >>> DEBUG body: 
[2019-10-24 7:00:06] Alexa-Remote: Response(3): Unauthorized
[2019-10-24 7:00:06] Alexa-API: ******************************************************************
[2019-10-24 7:00:06] Alexa-API: *****************************ERROR********************************
[2019-10-24 7:00:06] Alexa-API: ******************************************************************
[2019-10-24 7:00:06] Unauthorized détecté dans la détection d'erreur et donc relance de l'initialisation
[2019-10-24 7:00:06] Alexa-API:    ******************** Lancement Serveur ***********************
[2019-10-24 7:00:06] Alexa-Remote: cookie was provided
[2019-10-24 7:00:06] Alexa-Remote: Sending Request with {"host":"alexa.amazon.fr","path":"/api/bootstrap?version=0","method":"GET","timeout":10000,"headers":{}}
[2019-10-24 7:00:06] >>> DEBUG res.statusCode: 200
[2019-10-24 7:00:06] >>> DEBUG res.statusMessage: OK
[2019-10-24 7:00:06] >>> DEBUG res.httpVersion: 1.1
[2019-10-24 7:00:06] >>> DEBUG res.headers: {"server":"Server","date":"Thu, 24 Oct 2019 05:00:06 GMT","content-type":"application/json","content-length":"177","connection":"close","x-amzn-requestid":"ffc47xxxxxxx","access-control-allow-origin":"https://alexa.amazon.fr","vary":"Origin,Accept-Encoding,X-Amzn-CDN-Cache,X-Amzn-AX-Treatment,User-Agent","access-control-expose-headers":"x-amzn-dat-gui-client-upgrade,X-Amzn-Error,loginUrl,X-Amzn-RequestId,x-amzn-alt-domain,Date,Location","access-control-allow-credentials":"true","x-amz-rid":"EY76xxxxxxx"}
[2019-10-24 7:00:06] >>> DEBUG chunk: {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:06] >>> DEBUG body: {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:06] Alexa-Remote: Response(1): {"authentication":{"authenticated":true,"canAccessPrimeMusicContent":true,"customerEmail":"xxxxxxx@free.fr","customerId":"A19xxxxxxx","customerName":"Bxxxxxxx"}}
[2019-10-24 7:00:06] Alexa-Remote: Authentication checked: true
[2019-10-24 7:00:06] Alexa-Remote: No authentication check needed (time elapsed 0)
[2019-10-24 7:00:06] Alexa-Remote: Sending Request with {"host":"alexa-comms-mobile-service.amazon.com","path":"/accounts","method":"GET","timeout":10000,"headers":{}}
[2019-10-24 7:00:06] >>> DEBUG res.statusCode: 200
[2019-10-24 7:00:06] >>> DEBUG res.statusMessage: OK
[2019-10-24 7:00:06] >>> DEBUG res.httpVersion: 1.1
[2019-10-24 7:00:06] >>> DEBUG res.headers: {"content-type":"application/json","content-length":"417","connection":"close","server":"Server","date":"Thu, 24 Oct 2019 05:00:06 GMT","access-control-allow-credentials":"true","access-control-allow-headers":"Accept, Accept-Language, CSRF, Content-Language, Content-Type, PFM, X-Amzn-RequestId, X-Amzn-ClientId, Authorization, Accept-PFM","access-control-allow-methods":"POST, GET, OPTIONS, PATCH, DELETE","access-control-allow-origin":"https://alexa.amazon.fr","vary":"Accept-Encoding,X-Amzn-CDN-Cache,X-Amzn-AX-Treatment,User-Agent","x-amz-rid":"QKBWxxxxxxx","x-cache":"Miss from cloudfront","via":"1.1 5788dexxxxxxx.cloudfront.net (CloudFront)","x-amz-cf-pop":"CDG50-C1","x-amz-cf-id":"E2xpb9aY8xxxxxxx"}
[2019-10-24 7:00:06] >>> DEBUG chunk: [{"commsId":"amzn1.comms.id.person.amzn1~amzn1.account.AEI4xxxxxxx","directedId":"amzn1.account.AEI4xxxxxxx","phoneCountryCode":"33","phoneNumber":"6xxxxxxx","firstName":"Jean-Jacques","lastName":"Bxxxxxxx","phoneticFirstName":null,"phoneticLastName":null,"commsProvisionStatus":"PROVISIONED","isChild":false,"signedInUser":true,"commsProvisioned":true,"speakerProvisioned":false}]
[2019-10-24 7:00:06] >>> DEBUG body: [{"commsId":"amzn1.comms.id.person.amzn1~amzn1.account.AEI4xxxxxxx","directedId":"amzn1.account.AEI4xxxxxxx","phoneCountryCode":"33","phoneNumber":"6xxxxxxx","firstName":"Jean-Jacques","lastName":"Bxxxxxxx","phoneticFirstName":null,"phoneticLastName":null,"commsProvisionStatus":"PROVISIONED","isChild":false,"signedInUser":true,"commsProvisioned":true,"speakerProvisioned":false}]
[2019-10-24 7:00:06] Alexa-Remote: Response(1): [{"commsId":"amzn1.comms.id.person.amzn1~amzn1.account.AEI4xxxxxxx","directedId":"amzn1.account.AEI4xxxxxxx","phoneCountryCode":"33","phoneNumber":"6xxxxxxx","firstName":"Jean-Jacques","lastName":"Bxxxxxxx","phoneticFirstName":null,"phoneticLastName":null,"commsProvisionStatus":"PROVISIONED","isChild":false,"signedInUser":true,"commsProvisioned":true,"speakerProvisioned":false}]
[2019-10-24 7:00:06] Alexa-Remote: No authentication check needed (time elapsed 303)
[2019-10-24 7:00:06] Alexa-Remote: Sending Request with {"host":"alexa.amazon.fr","path":"/api/devices-v2/device?cached=true&_=1571893206573","method":"GET","timeout":10000,"headers":{}}

La ligne correspondant au lancement de la radio

[2019-10-24 7:00:05] Alexa-API: Lancement /Radio avec paramètres → device: G070xxxxxxx & station: s50486

Dans les lignes qui suivent apparait une erreur

Aucune remontée dans l’historique

J’ai effectué des tests de lancement de radio en journée et cela fonctionne bien…c’est étrange

Merci par avance

Hello @i-magin

Merci pour ce retour. J’ai regardé ton log, le souci est la ligne « Unauthorized » .
C’est un souci connu mais auquel nous sommes confrontés.

Dans la prochaine version (et c’est déja dans la béta) j’ai intégré un cron relance du lien avec le serveur Amazon. Par défaut, ça fait une relance à 03h33 du matin mais tu peux configurer le cron comme tu veux.

Quand tu lis le log, le plugin détecte le souci, et il procède à la relance du lien avec le serveur. Mais effectivement ta commande radio n’est pas à ce stade relancée.

Pour éviter cela, en attendant que la beta passe en stable, je te propose de faire cela dans ton scénario à 07h00 :

  • Met le volume à xx%
  • Wait de 5s
  • Lance la radio

Cela fonctionnera en l’état dans 95% des cas et si le lien avec le serveur a été perdu, ça permettra qu’à la commande volume la connexion se réinitialise et que la commande radio parte dans tous les cas.

Tiens moi au courant

a+

Merci pour ta réponse @sigalou

Je remonterai le résultat de mes essais lundi, étant absent d’ici là

Ce sujet a été automatiquement fermé après 24 heures suivant le dernier commentaire. Aucune réponse n’est permise dorénavant.