
1ère partie, adaptée à une distribution Raspbian Os standard
Sur le même Jeedom, j’ai deux équipements qui utilisent les ports USB :
- Un CM11 qui commande mes équipements X10 (oui, j’en ai encore)
- Une clé zWave stick Aeon Labs

Sur le même Jeedom, j’ai deux équipements qui utilisent les ports USB :
Pour les besoins du développement du plugin Alexa-api, j’ai fait des tests pour récupérer les capacités des devices Echo.
Pour archives, voici le tableau des « capabilites » de mes devices.
Il me manque à trouver les autres équipements et évidemment à quoi cela correspond …

Si comme moi, vous rencontrez des difficultés pour lancer le plugin BLEA au redémarrage de votre Raspberry, il se peut que ce soit un problème d’initialisation du port HCI0. Lire la suite
![]() |
|


Note sur les versions :
Vous avez le choix entre la version Stable ou la version Beta. Beaucoup de nouvelles fonctionnalités sont toujours plus présentes sur la Beta que sur la Stable mais elles sont en test. Si vous êtes joueur et curieux, vous pouvez installer la version Béta. Nota : Vous n’avez pas besoin d’installer Jeedom en Beta (c’est plutôt déconseillé d’ailleurs) pour installer le plugin en Béta. Vous pouvez assez facilement passer d’une version Beta à une version Stable et réciproquement, il suffit de réinstaller par-dessus l’autre version.
![]() |
![]() |
![]() |
![]() |
![]() |
Fermer la fenêtre dès que le Cookie Amazon est créé.
![]() |

Les devices apparaissent, aller dans un device et dans Commandes lancer un Speak pour tester. Et voilà, Alexa parle en moins de 5 min !!
Que faire ? Le plugin et son API étant vivants (Amazon n’ayant pas documenté l’API se permet de modifier au fil de l’eau ses protocoles), les mises à jour permettent d’apporter des corrections dans les liens entre le plugin et le serveur Amazon.
Trois solutions pour avoir une installation opérationnelle :
Le choix entre ces trois solutions dépend du nombre de scénarios que vous avez développés grâce au Plugin Alexa-API. En effet, la première solution supprime tous les devices et toutes les commandes, elle supprimera donc celles-ci dans vos scénarios. La seconde solution est plus respectueuse de vos scénarios car elle mettra à jour vos commandes sans les supprimer et donc vos scénarios seront intacts mais si elle ne fonctionne pas, vous devrez utiliser la solution 1.
C’est le mode le plus propre et le plus optimisé puisque vous repartez avec une installation comme neuve des devices et de leurs commandes.
Pour se faire, il faut utiliser le bouton ![]()
Attention, cette fonction supprime tous les équipements et leurs commandes, vous perdez donc tous les liens dans vos scénarios.
C’est le mode le plus simple et sans risque puisque vos équipements et leurs commandes ne sont pas supprimés. Ce forçage n’impacte donc pas vos scénarios.
Pour se faire, il faut utiliser le bouton ![]()
Si vous ne souhaitez pas lancer le forçage de mise à jour sur toutes les commandes de tous les équipements, vous pouvez le lancer sur un seul équipement (et donc sur toutes ses commandes). Pour cela, rendez-vous sur l’équipement concerné et cliquez sur :
![]()

Notez enfin que le scan peut être lancé à tout moment, il n’impacte pas les équipements déjà détectés ni les commandes existantes, par contre, il recrée tous les nouveaux devices ou les devices supprimés. Il recrée également toutes les nouvelles commandes ou les commandes supprimées.

Permet de lancer automatiquement la détection de tous vos devices, vous pouvez le lancer quand vous le souhaitez, il ne supprime jamais de device ou de commande, pas de risque.
C’est tout le moteur de paramétrage. Si quelque chose ne semble pas assez intuitif, merci de nous le signaler, nous le documenterons ou le rendrons plus simple.
Donne des indications sur la santé de vos équipements
Donne la liste des routines enregistrées sur votre compte Amazon et permet de les lancer manuellement
Donne la liste de vos alarmes ou rappels, permet de les supprimer. La désactivation manuelle ne fonctionne pour l’instant plus.
C’est tout l’historique de l’activité de vos équipements Amazon, donne l’indication de succès le cas échéant.
Réservé aux utilisateurs avertis, il permet de questionner le serveur Amazon
Réservé aux utilisateurs très avertis, il permet de lancer des requêtes brutes au serveur Amazon
A ce jour, chaque équipement peut générer 3 tuiles.

A : C’est la dernière interaction avec vous, notez que vous pouvez récupérer cette information et l’utiliser dans un scénario.
B : Vous pouvez lancer une routine en la sélectionnant dans la liste déroulante
C : Le volume, notez qu’il se met à jour si vous modifiez le volume sur l’appareil. (Le volume d’un groupe est imposé à tous les devices du groupe)
D/E/F : C’est la prochaine alarme, alarme musicale ou rappel.
G : C’est un formulaire qui permet de faire parler Alexa.


Les commandes simples sont préinstallées à la détection des devices, vous disposez ainsi de commandes immédiatement utilisables. Les commandes préinstallées peuvent être utilisées en l’état dans des scénarios. Sachez que toutes les commandes peuvent faire l’objet d’une adaptation personnelle, les utilisateurs avertis pourront créer leurs commandes et les personnaliser grâce aux paramètres possibles de chaque commande. Cette documentation ne s’attarde que peu sur les commandes simples car leur utilisation est réfléchie pour être intuitive, par contre, les commandes complexes sont détaillées dans le prochain chapitre.
Ces 4 commandes INFO fonctionnent de la même manière. Elles sont mises à jour automatiquement par le plugin (par MQTT et par CRON). Le résultat est donné au format suivant : 2019-12-02 21:10:00. Si vous le voulez dans un autre format 2110 par exemple, un tuto explique comment faire.
Amazon a intégré le SSML à ses équipements et cela permet de rendre extrêmement naturel la manière de parler. Vous pouvez personnaliser davantage les phrases en fournissant des détails sur les pauses, ainsi que la mise en forme audio des acronymes, des dates, des heures, des abréviations…, vous pouvez également choisir la langue de lecture, une citation ou une expression en langue étrangère pourra ainsi être lue avec l’accent étranger dans un texte de votre langue d’origine. Contrairement aux autres commandes permettant de faire parler Alexa, sur cette commande, le choix a été fait de respecter scrupuleusement la syntaxe du protocole SSML, balises comprises. Il faudra donc utiliser les balises d’ouverture et de fermeture et être rigoureux dans la manière de coder ces phrases.
<speak> <voice name="Conchita"> <prosody rate="medium" pitch="high"> Yé m'appel Conchita. yé fé lé ménache partou dans la maichon.</prosody></voice> </speak>
ou
<speak> Bonjour je peux lire du <say-as interpret-as="characters">SSML</say-as>. Je peux faire une pause <break time="3s"/>. Un chiffre cardinal <say-as interpret-as="cardinal">10</say-as>. en ordinal <say-as interpret-as="ordinal">10</say-as>. ou digit <say-as interpret-as="characters">10</say-as>. </speak>
ou encore
<speak><amazon:effect name="whispered">Bonjour, je suis un fantôme</amazon:effect></speak>
A ce jour, nous ne savons pas encore exploiter la commande « Annonce » présente dans l’appli smartphone Alexa, mais nous pouvons faire la même chose grâce à la commande « Parler à Alexa ». Ainsi, pour faire une annonce « Le facteur est passé, il faut faire (dans un scénario) :

Les commandes simples (paragraphe précédent) sont préinstallées à la détection des devices, vous disposez ainsi de commandes immédiatement utilisables. Les commandes complexes sont accessibles aux utilisateurs expérimentés et leur utilisation est bien plus difficile mais elles sont bien plus puissantes. Notez que les commandes simples peuvent être personnalisées. Elles deviendront des commandes complexes. Pour cela, utilisez le bouton (sous le tableau des commandes) :
![]()
Vous pouvez vous aider des commandes préinstallées pour en copier la syntaxe et utilisez la documentation ci-dessous pour connaître toutes les options possibles. Si vous souhaitez une autre fonction, un autre format ou que vous ne trouvez pas votre bonheur, contactez l’équipe de création du plugin, il y aura toujours une solution pour vous.
Nota : Pour que la commande « Ajouter une commande action » soit active, il faut cocher cette case dans la configuration du plugin :

Cette commande permet d’ajouter une alarme au device dans lequel est créée la commande.
exemple : 2019-12-31 21:36:00
Notez que les alarmes sont différentes des rappels et doivent être dans un créneau de 24h (une alarme pour le 31/12 au mois d’avril est impossible contrairement aux Rappels). Ainsi, si aucune récurrence n’est programmée (par le paramètre recurring), seule l’heure est prise en compte, le jour est ignoré par Amazon.
La programmation de ce paramètre est bien plus aisée par un scénario puisqu’une liste déroulante vous permet de facilement choisir la récurrence. Mais cela peut être fait manuellement dans une commande action avec le codage suivant :
P1D=Tous les jours
XXXX-WD=En semaine
XXXX-WE=Week-ends
XXXX-WXX-1=Chaque lundi
XXXX-WXX-2=Chaque mardi
XXXX-WXX-3=Chaque mercredi
XXXX-WXX-4=Chaque jeudi
XXXX-WXX-5=Chaque vendredi
XXXX-WXX-6=Chaque samedi
XXXX-WXX-7=Chaque dimanche
Il s’agit du son de l’alarme, #sound# peut être remplacé par :
system_alerts_melodic_01 pour Alarme simple
system_alerts_melodic_01 pour Timer simple
system_alerts_melodic_02 pour A la dérive
system_alerts_atonal_02 pour Métallique
system_alerts_melodic_05 pour Clarté
system_alerts_repetitive_04 pour Comptoir
system_alerts_melodic_03 pour Focus
system_alerts_melodic_06 pour Lueur
system_alerts_repetitive_01 pour Table de chevet
system_alerts_melodic_07 pour Vif
system_alerts_soothing_05 pour Orque
system_alerts_atonal_03 pour Lumière du porche
system_alerts_rhythmic_02 pour Pulsar
system_alerts_musical_02 pour Pluvieux
system_alerts_alarming_03 pour Ondes carrées
Cette commande permet d’ajouter un rappel au device dans lequel est créée la commande.
exemple : 2019-12-31 21:36:00
Vous avez la possibilité de donner un titre à votre rappel.
Nota : Cette commande est masquée, c’est elle qui donne le résultat dans la commande info : Next Alarm Hour
Cette commande permet de renvoyer la prochaine alarme du device dans lequel est créée la commande. Attention, cette commande est une commande ACTION, elle doit être reliée à une commande INFO qui affichera le résultat, regardez l’explication en dessous de la description des options.
Par défaut, position=1 si non spécifié
Par défaut, status=ON si non spécifié
Par défaut, format=hhmm si non spécifié
Nota : Si vous avez besoin d’un autre format, n’hésitez pas à me le demander, je l’ajouterai dans la prochaine version.
La commande INFO qui vous donnera le résultat de la commande WhenNextAlarm sera créée automatiquement dès que le champ Nom de la commande Info se trouvant dans la colonne Résultat dans sera rempli.
(Tout cela est conçu dans la même logique que le plugin Virtual)
Nota : S’il n’y aura pas d’alarme prochaine, le serveur répond « none ».
Fonctionne comme whennextalarm mais pour les alarmes musicales.
Fonctionne comme whennextmusicalalarm mais fournit l’information MusicEntity qui correspond à ce qui va être joué à l’heure de l’alarme.
Nota : Cette commande est masquée, c’est elle qui donne le résultat dans la commande info : Next Reminder Hour
Cette commande donne le prochain rappel, elle fonctionne exactement comme WhenNextAlarm.
Cette commande supprime tous les rappels et/ou alarmes du device dans lequel est créée la commande.
Par défaut, type=alarm si non spécifié
Par défaut, status=ON si non spécifié
Nota : Pour que la suppression fonctionne, il faut que l’Alexa soit connecté !!
Toute nouvelle commande en test qui va chercher l’historique.
Cette commande envoie une commande au device dans lequel est créée la commande.
En passant par un scénario, vous laissez command?command=#command# comme commande action et vous aurez une liste déroulante dans le scénario, la liste déroulante vous propose toutes les commandes possibles.
Dans ce cas, c’est au niveau des commandes du device que vous allez créer une commande action par commande à envoyer à Alexa. Vous utiliserez ainsi la syntaxe suivante : command?command=play pour lancer un play et command?command=pause pour faire une pause et ainsi de suite avec les commandes : pause play next prev fwd rwd shuffle repeat
Nota : STOP n’existe pas chez Amazon, il faut utiliser PAUSE
Cette commande lance une station de radio sur le device dans lequel est créée la commande. Pour une meilleure utilisation en Dashboard, cette commande a été simplifiée. On peut maintenant sélectionner la radio souhaitée plutôt que de connaître par cœur le code (s0000) de la radio. Ainsi, il faut dans un premier temps « configurer » ses stations de radio dans la partie commandes du player qui va la lire.

Par défaut, sont configurés : s2960|Nostalgie;s6617|RTL;s6566|Europe1
Il suffit de respecter le format idStation1|Nomstation1;idStation2|Nomstation2
Une fois vos stations configurées, vous pourrez les choisir sur le widget de la radio :

Pour trouver les id des stations, allez sur le site https://tunein.com/radio/home/. Vous choisissez votre radio, et pour avoir l’id, cliquez sur partager, vous verrez dans le lien quelque chose qui commence par un s suivi de chiffres, c’est l’id.
Notez que le plugin est capable de vous donner l’id de la station en cours de lecture, la procédure est identique à TrackID, regardez ici
Pour utiliser une commande radio dans un scénario, il faut être un utilisateur expérimenté (dans la config) et savoir créer une nouvelle commande (dans le device player) :
![]()
![]()
Sur cette nouvelle commande, on configure de manière très simple en figeant l’id de la station (ou en utilisant une variable), par exemple :

Cette commande lance la routine spécifiée.
En passant par un scénario, vous laissez routine?routine=#select# comme commande action et dans le scénario, dans le champ « ID routine », spécifiez l’identifiant de la routine, cf. paragraphe ci-dessous pour trouver cet identifiant.
Dans ce cas, c’est au niveau des commandes du device que vous allez créer une commande action. Vous utiliserez ainsi la syntaxe suivante : routine?routine=xxxxx pour lancer la routine dont l’ID est xxxx
Vous pouvez trouver facilement l’ID des routines en consultant l’écran « Routines » du plugin, dernière colonne de droite.
Cette commande lance la lecture de la piste de lecture Amazon music par son numéro de trackID. Les trackID se configurent dans la commande action Ecouter une piste musicale dans votre équipement device, il s’agit d’une liste déroulante, donc avec la syntaxe suivante :
53bfa26d-f24c-4b13-97a8-8c3debdf06f0|Piste1;7b12ee4f-5a69-4390-ad07-00618f32f110|Piste2
Vous pouvez donc modifier vos pistes et leurs noms.

Une fois la commande configurée, vous n’aurez plus qu’à utiliser la liste déroulante qui sera proposée, autant sur le Dashboard que dans les scénarios
Le plugin Alexa-API est capable de vous donner le trackID de la piste qui est en cours de lecture. Pour cela, suivez ces étapes :
![]()

Notez que cela fonctionne également pour trouver l’ID d’une station de musique lançable avec radio?station=#select#
Il a été constaté par contre que pour certaines playlists, l’ID ne remontait pas. Pour être certain de l’avoir, lancer uniquement la piste que vous souhaitez (et non dans une playlist).
Les images des tuiles des players sont les images envoyées par les serveurs des fournisseurs de musique. Ces images sont des liens temporaires et donc vous pouvez vous retrouver avec des images vides. Cela donne cela :

Pour éviter cela, les players ont été modifiés et en cas d’absence d’image, la miniature du lecteur est affichée, cela donne :

Si vous souhaitez modifier l’image, il suffit de remplacer le fichier logourl.png qui se trouve dans :
plugins/alexaamazonmusic/core/config (par exemple, modifiez amazonmusic pour les autres players)

Pour la fonctionnalité « Faire parler Alexa » mais cela fonctionne également pour les autres méthodes pour faire parler Alexa, il est mis en place deux nouveautés. Les interjections et les sons de la bibliothèque.
Pour faciliter l’envoi de commandes, il a été imaginé dans Alexa-API un système de balises.
Par exemple, au lieu d’envoyer
<audio src= »soundbank://soundlibrary/animals/amzn_sfx_lion_roar_01″/>
on peut tout simplement ajouter
#animals/amzn_sfx_lion_roar_01#

Lancera le rugissement d’un lion. Beaucoup d’autres sons sont dans la bibliothèque de sons d’Amazon.
Sur un principe similaire aux sons de la bibliothèque, les interjections sont à mettre entre balise #
Exemple :

Attention, contrairement aux sons qui peuvent être noyés dans les phrases, les interjections doivent être dans des phrases séparées, ainsi cet exemple ne fonctionnera pas :

Pour que l’interjection soit prise en compte, il faut la mettre dans une phrase séparée, donc ajouter un point :

Dans la version Avril 2021, le slider du volume a totalement été revu. Le widget de Noodom (un très grand merci à lui) a été refondu et intégré dans les widgets. Le widget ressemblait à :

(Utilisez Alexaapi/Volume_legacy maintenant pour avoir ce widget) et il devient :

(Correspond maintenant à Alexaapi/Volume)
L’encombrement est le même pour être compatible avec les designs personnalisés de chacun.
Le widget est totalement personnalisable, il suffit d’utiliser les variables du widget NooSlider, une doc est disponible avec tous les paramètres facultatifs.
Par défaut, les paramètres envoyés sont :
Pour personnaliser votre widget, vous pouvez ajouter le paramètre en Paramètres optionnels widget de la commande action « Volume », par exemple :

Dans l’hypothèse où vous souhaitiez conserver l’ancien widget, pas de panique, il est toujours dans le plugin. Sélectionner Volume_legacy 😉

Un paramètre top est disponible pour caler l’espacement haut du widget, il suffit de le spécifier ainsi :

Si le petit logo du haut-parleur qui indique le son, hérité de la version précédente du plugin vous gêne :

Pas de panique, il est tout simple de le supprimer, allez sur votre équipement, puis dans commandes, cliquez sur ce petit logo en question tout à gauche, il va disparaître et sauvegardez. Il n’est plus là. (si « Volume » apparaît, décocher « Afficher le nom » dans les options du Widget)

Une nouvelle information arrive sur le widget des équipements Alexa. C’est l’information Mute qui apparaît quand on dit à Alexa : Alexa coupe le son.

![]() |
|
|
|
|
|