language
keyboard_arrow_up
language

Alexa Premium icon

Plugin Alexa Premium pour Jeedom

Présentation Alexa Premium

Ce plugin ne commande pas Jeedom depuis Alexa (contrairement au plugin Alexa officiel) mais commande Alexa depuis Jeedom. Il peut toutefois interagir avec Alexa de façon bidirectionnelle.


Documentation

# Fichier Contenu
01 Installation & Mise à jour Market, cookie/Auth, Daemon, Scan, widgets, MAJ
02 Commandes Commandes simples, complexes, SSML, expressions
03 AlexaSys & SmartHome Alexa Chat, TTS, scénarios, gestion SmartHome
04 Skill ASK Amazon Création pas à pas du Skill interactif
05 Bonnes pratiques & Dépannage Astuces, guide de dépannage, forum

Fonctionnalités

Ce que vous pouvez faire :

  • Scanner automatiquement tous les Équipements (Echo, smartHome…) du compte Alexa (par type ou en masse)
  • Récupérer les informations sur les équipements scannés (status, volumes, état,…)
  • Faire parler les Amazon Echo (texte libre, SSML, annonces multi-appareils)
  • Régler et récupérer le volume de chaque équipement ou d’un groupe
  • Programmer des alarmes et des rappels, les supprimer
  • Récupérer l’heure de la prochaine alarme ou du prochain rappel pour l’utiliser dans des scénarios
  • Exécuter des routines Alexa
  • Envoyer un message Push à des utilisateurs du compte
  • Récupérer le texte de la dernière interaction vocale (Pas 100% fiable)
  • Scanner et commander les équipements SmartHome (turnOn / turnOff, reglage consigne,…)
  • Discuter avec Alexa et exploiter la réponse vocale (MP3) via Alexa Chat
  • Exécuter n’importe quelle commande via Alexa Chat (lance l’aspirateur, allume la télé,…)
  • Convertir du texte en MP3 via la commande TTS (éventuellement, exploiter le fichier)
  • Exécuter directement certains skills (ayant le bouton ‘Lancer’ dans la config du skill)
  • Déployer de manière automatisée la skill Ask
  • Exécuter des commandes via la skill Ask
  • Exécuter la skill JeeViewer (afficher Jeedom sur un Echo muni d’un écran)

En conjonction avec les plugins supplémentaires

  • Lancer des stations de radio sur vos Echo
  • Afficher la playlist en cours et lancer des pistes Amazon Music
  • Envoyer des commandes au player : pause, play, next, prev, fwd, rwd, shuffle, repeat
  • Lire et modifier le contenu des listes

Ce que ce plugin ne permet pas (pour l’instant):

  • Faire la vaisselle à votre place !
  • Commander des équipements Jeedom non-intégrés à Alexa (il faut passer par le plugin Alexa officiel ou IFTTT…) ou jouer avec le skill Ask et les utterances Jeedom. Détecter dans un scénario une phrase courte avec un mot clé (ex. : «Commande Jeedom ouvre volets» ou «Commande Jeedom ouvre portail») et d’en déclencher l’action correspondante via les utterances Jeedom.

Plugins annexes

Plugin Lien
Amazon Music Documentation
Deezer / Spotify Documentation
Fire TV Documentation
Todo List Documentation

📌 Forum dédié : community.jeedom.com/tags/plugin-alexaapiv2
🔗 Changelog : limad.github.io/plugins-docs

Plugin Alexa Premium — Installation & Mise à jour

Commandez Alexa depuis Jeedom — Ce plugin ne commande pas Jeedom depuis Alexa (contrairement au plugin Alexa officiel) mais commande Alexa depuis Jeedom.


Ce que permet de faire ce plugin

  • Scanner automatiquement tous les Echo du compte Amazon (scan général ou par type)
  • Faire parler les Amazon Echo (texte libre, SSML, annonces multi-appareils)
  • Régler et récupérer le volume de chaque équipement ou d’un groupe
  • Programmer, supprimer et consulter des alarmes et des rappels
  • Récupérer l’heure de la prochaine alarme/rappel pour l’utiliser dans des scénarios
  • Envoyer des commandes au player : pause, play, next, prev, fwd, rwd, shuffle, repeat
  • Afficher la playlist en cours et lancer des pistes Amazon Music
  • Lancer des routines Alexa et des stations de radio
  • Récupérer le texte de la dernière interaction vocale
  • Scanner et commander les équipements SmartHome (turnOn / turnOff)
  • Discuter avec Alexa et exploiter la réponse vocale (MP3) via Alexa Chat
  • Convertir du texte en MP3 via la commande TTS

Ce que ce plugin ne fait pas :
Envoyer un ordre vocal à exécuter par Alexa (il faut passer par le plugin Alexa officiel ou IFTTT).

Astuce : Il est toutefois possible de détecter via un scénario une phrase courte dite à Alexa (ex. : « Alexa volets ») et d’en déclencher l’action dans Jeedom.


1. Installer le plugin depuis le Market

Recherchez Alexa Premium dans le Market Jeedom.

Installation étape 1

Installation étape 3

Vous avez le choix entre deux versions :

  • Stable — recommandée pour la plupart des utilisateurs
  • Beta — contient les dernières fonctionnalités en cours de test

Choix de version

Il n’est pas nécessaire de passer Jeedom en mode Beta pour installer le plugin en Beta. Vous pouvez basculer d’une version à l’autre à tout moment en réinstallant par-dessus.


2. Activer le plugin

Activation du plugin


3. Recharger les dépendances

Chargement des dépendances

Attendez que l’installation des dépendances se termine avant de passer à l’étape suivante.


Le plugin communique avec les serveurs Amazon via un cookie d’authentification. La méthode recommandée est le bouton Auth, sans proxy.

Pourquoi privilégier le bouton Auth ?

  • Méthode officielle, plus stable
  • Compatible avec la double authentification (MFA/2FA)
  • Moins de CAPTCHA
  • Pas de sensibilité aux changements d’IP

Évitez d’utiliser le proxy : il génère plus de CAPTCHAs, est sensible aux changements d’IP et nécessite une maintenance complexe.

Génération du cookie

Procédure

  1. Ouvrez la configuration du plugin Alexa Premium.
  2. Cliquez sur le bouton Auth (ou Générer le cookie Amazon).
  3. Une fenêtre pop-up Amazon s’ouvre — identifiez-vous avec votre compte Amazon.

Identification Amazon

  1. Validez la double authentification (MFA) si elle est demandée.
  2. Attendez la confirmation puis fermez la fenêtre.

Si Amazon affiche un CAPTCHA, agrandissez la fenêtre vers le bas pour accéder au bouton de validation.


5. Lancer le Daemon

Le Daemon se lance normalement de façon automatique après la génération du cookie. S’il ne démarre pas, cliquez sur Lancer le Daemon depuis la page de configuration.

Lancement du Daemon


6. Lancer le SCAN

Lancement du Scan

Cliquez sur SCAN pour détecter automatiquement vos équipements Amazon. Vous pouvez choisir entre :

  • Scan général — détecte tous les types d’équipements en une seule fois
  • Scan par type — ciblez uniquement les Devices (Echo), les équipements SmartHome, les Groupes, etc.

Les appareils détectés apparaissent dans la liste des équipements. Pour tester, ouvrez un équipement, allez dans Commandes et lancez la commande Speak — Alexa devrait parler en moins de 5 minutes !


7. Les écrans de gestion

Vue générale du plugin

Écran Description
Scan Détecte vos appareils Amazon. Scan général ou par type (Devices, SmartHome, Groupes…). Sans risque, ne supprime rien.
Configuration Paramétrage général du plugin, dont le CRON SmartHome et les options d’affichage.
Santé État de santé de vos équipements (présence, connectivité).
Routines Liste des routines de votre compte Amazon, lançables manuellement.
Rappels / Alarmes Consultation et suppression de vos alarmes et rappels. Modal entièrement revu.
Historique Historique d’activité de vos équipements avec indication de succès.
Requêteur Info (Utilisateurs avertis) Interroge directement le serveur Amazon.
Requêteur Action (Utilisateurs experts) Envoie des requêtes brutes au serveur Amazon.

8. Mise à jour et changement de version

L’API Amazon n’étant pas documentée officiellement, Amazon peut en modifier le fonctionnement à tout moment. Les mises à jour du plugin permettent de corriger ces écarts.

Après une mise à jour, trois approches sont possibles selon l’impact souhaité sur vos scénarios :


Solution 1 — Supprimer et recréer tous les équipements (la plus propre)

Bouton supprimer et recréer

C’est le mode le plus propre et le plus optimisé : vous repartez avec une installation comme neuve.

Attention : cette opération supprime tous les équipements et toutes leurs commandes — les liens dans vos scénarios seront perdus.


Solution 2 — Forcer la mise à jour de toutes les commandes (sans risque)

Bouton forcer mise à jour globale

Vos équipements et leurs commandes ne sont pas supprimés. Vos scénarios restent intacts.

Pour ne lancer le forçage que sur un seul équipement, rendez-vous sur l’équipement concerné et cliquez sur :

Bouton forcer mise à jour unitaire


Solution 3 — Lancer un SCAN

Bouton Scan

Le SCAN peut être lancé à tout moment. Il ne supprime jamais un équipement ou une commande existante, mais recrée les nouveaux équipements ou commandes manquantes. C’est l’option la moins invasive.


9. Les widgets — isoWidget

Le plugin installe un jeu de widgets nommé isoWidget. Ces widgets sont indépendants du plugin Alexa Premium : ils peuvent être utilisés avec n’importe quel autre plugin Jeedom compatible.

L’attribution d’un widget à une commande et sa personnalisation se font via les outils natifs du core Jeedom :

  • Rendez-vous sur la commande concernée (dans l’équipement).
  • Utilisez l’onglet Affichage ou les Paramètres optionnels du widget pour choisir et configurer le widget isoWidget souhaité.

Pour toute question sur la gestion des widgets dans Jeedom, référez-vous à la documentation officielle du core Jeedom.


📌 Forum dédié : community.jeedom.com/tags/plugin-alexaapiv2

Plugin Alexa Premium — Commandes


Sommaire


1. Commandes simples

Les commandes simples sont préinstallées automatiquement lors de la détection des équipements. Elles sont immédiatement utilisables dans les scénarios sans configuration particulière.

Les commandes préinstallées peuvent être utilisées en l’état ou personnalisées par les utilisateurs expérimentés. Pour ajouter une commande personnalisée, utilisez le bouton :

Bouton ajouter commande action

Pour que ce bouton soit actif, cochez la case Utilisateurs expérimentés dans la configuration du plugin :

Activation utilisateurs expérimentés


Alarmes et rappels

Le modal de gestion des alarmes a été entièrement revu. Les commandes INFO et ACTION associées ont été mises à jour — pensez à vérifier vos scénarios existants après une mise à jour majeure.

Les quatre commandes INFO retournent leur valeur au format 2024-12-31 21:10:00 et sont mises à jour automatiquement via MQTT et CRON :

Commande Description
Prochaine Alarme Heure de la prochaine alarme
Prochaine Alarme Musicale Heure de la prochaine alarme musicale
Prochain Minuteur Heure du prochain minuteur
Prochain Rappel Heure du prochain rappel

Si vous avez besoin d’un autre format (ex. 2110 pour HHmm), consultez le fichier 05 — Astuces & Dépannage.


Faire parler Alexa

Le champ texte de toutes les commandes vocales est évalué comme une expression Jeedom avant d’être envoyé à Alexa. Voir la section 3. Commandes vocales.


Faire une annonce sur tous les appareils

Pour simuler une annonce multi-appareils, utilisez la commande Parler à Alexa avec le message préfixé par Alexa annonce :

Exemple annonce multi-appareils

Message : Alexa annonce le facteur est passé

Information Mute

Lorsque vous dites « Alexa coupe le son », l’information Mute apparaît sur le widget de l’équipement concerné.

Widget Mute


2. Commandes complexes

Les commandes complexes sont accessibles aux utilisateurs expérimentés. Elles permettent un contrôle plus fin d’Alexa et de ses fonctionnalités.


alarm?when=#when#&recurring=#recurring#&sound=#sound#

Ajoute une alarme sur l’équipement.

Options :

  • when=YYYY-MM-DD HH:MM:SS — Si aucune récurrence n’est définie, seule l’heure est prise en compte par Amazon (le jour est ignoré).

  • recurring= — Récurrence :

Code Signification
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
  • sound= — Son de l’alarme :
Code Nom
system_alerts_melodic_01 Alarme simple / Timer simple
system_alerts_melodic_02 À la dérive
system_alerts_atonal_02 Métallique
system_alerts_melodic_05 Clarté
system_alerts_repetitive_04 Comptoir
system_alerts_melodic_03 Focus
system_alerts_melodic_06 Lueur
system_alerts_repetitive_01 Table de chevet
system_alerts_melodic_07 Vif
system_alerts_soothing_05 Orque
system_alerts_atonal_03 Lumière du porche
system_alerts_rhythmic_02 Pulsar
system_alerts_musical_02 Pluvieux
system_alerts_alarming_03 Ondes carrées

reminder?text=#message#&when=#when#

Ajoute un rappel sur l’équipement. Contrairement aux alarmes, les rappels peuvent être programmés plusieurs jours à l’avance.

  • when=YYYY-MM-DD HH:MM:SS
  • text=#message# — Titre/texte du rappel

whennextalarm?position=1&status=ON&format=hour

Retourne l’heure de la prochaine alarme. Cette commande ACTION doit être associée à une commande INFO pour afficher le résultat.

La commande INFO se crée automatiquement dès que vous renseignez le champ Nom de la commande Info dans la colonne Résultat dans.

Options :

Paramètre Valeurs Défaut Description
position 1, 2, 3 1 Position dans la liste (1 = prochaine)
status ON, OFF, ALL ON Filtre sur l’état des alarmes
format hour, hhmm, full hhmm Format du résultat retourné

Formats de sortie :

  • hourHH:MM
  • hhmmHHMM
  • fullyyyy-MM-dd'T'HH:mm:ss.SSS

Si aucune alarme n’est trouvée, le serveur répond none.


whennextmusicalalarm?position=1&status=ON&format=hour

Fonctionne comme whennextalarm mais pour les alarmes musicales.


musicalalarmmusicentity?position=1&status=ON

Retourne l’information MusicEntity — ce qui sera joué à l’heure de l’alarme musicale.


whennextreminder?position=1&status=ON

Retourne le prochain rappel. Fonctionne exactement comme whennextalarm.


deleteallalarms?type=alarm&status=all

Supprime des alarmes et/ou rappels sur l’équipement.

Important : L’équipement Alexa doit être connecté pour que la suppression fonctionne.

Paramètre Valeurs Défaut
type alarm, reminder, all alarm
status ON, OFF, ALL ON

command?command=#command#

Envoie une commande au player de l’équipement.

Commandes disponibles : play, pause, next, prev, fwd, rwd, shuffle, repeat

Note : STOP n’existe pas chez Amazon — utilisez pause.

  • Via scénario : laissez command?command=#command#, une liste déroulante apparaît automatiquement dans le scénario.
  • Via commande directe : syntaxe figée, ex. command?command=play.

radio?station=#select#

Lance une station de radio sur l’équipement.

Configuration des stations dans les commandes du player :

Configuration des stations radio

Format : idStation1|NomStation1;idStation2|NomStation2

Par défaut : s2960|Nostalgie;s6617|RTL;s6566|Europe1

Une fois configurées, les stations sont sélectionnables sur le widget :

Widget radio

Trouver l’ID d’une station : rendez-vous sur tunein.com, sélectionnez votre radio, cliquez sur Partager et repérez l’identifiant commençant par s.

Utiliser une commande radio dans un scénario (mode utilisateur expérimenté) :

Création commande radio scénario 1

Création commande radio scénario 2

Configurez la commande en figeant l’ID de la station souhaitée :

Configuration ID station figé


routine?routine=#select#

Lance une routine Alexa.

  • Via scénario : laissez routine?routine=#select# et renseignez l’ID dans le champ prévu.
  • Via commande directe : routine?routine=VOTRE_ID_ROUTINE

Trouver l’ID d’une routine : consultez l’écran Routines du plugin, colonne de droite.


playmusictrack?trackId=#select#

Lance une piste Amazon Music par son TrackID. Les pistes se configurent dans la commande Écouter une piste musicale :

Configuration TrackID

Format : 53bfa26d-xxxx|Ma Piste 1;7b12ee4f-xxxx|Ma Piste 2

Comment trouver un TrackID :

  1. Dans les commandes de l’équipement, cochez Afficher sur la commande Amazon Music Id :

Commande Amazon Music Id

  1. Une icône note de musique apparaît sur le dashboard — lancez la piste souhaitée et relevez l’ID affiché :

Affichage TrackID sur dashboard

  1. Décochez Afficher une fois l’ID récupéré.

Cette procédure fonctionne également pour trouver l’ID d’une station radio. Pour certaines playlists, l’ID ne remonte pas — lancez la piste seule (hors playlist) pour être certain de l’obtenir.


history?maxRecordSize=50&recordType=VOICE_HISTORY

Récupère l’historique d’activité de l’équipement.

  • maxRecordSize — Nombre d’enregistrements à remonter
  • recordType — Type d’enregistrement (VOICE_HISTORY par défaut)

Modifier l’icone des players

Les images des tuiles des players sont des liens temporaires envoyés par les fournisseurs de musique. En cas d’image vide :

Tuile sans image

Le plugin affiche automatiquement la miniature par défaut du lecteur :

Tuile avec miniature par défaut

Pour personnaliser l’image, remplacez le fichier logourl.png dans :

plugins/alexaamazonmusic/core/config/

(remplacez alexaamazonmusic par le nom du plugin player concerné)


3. Commandes vocales — Évaluation d’expressions

Nouveauté importante

Pour toutes les commandes vocales (Faire parler Alexa, Annonce, QuestionAsk, etc.), le champ texte est désormais évalué comme une expression Jeedom avant d’être envoyé à Alexa, exactement comme le ferait le testeur d’expression.

Cela signifie que vous pouvez envoyer :

  • Une expression mathématique — Alexa annoncera directement le résultat calculé :
    round(avg(10,15,18))
    
  • La valeur d’une commande info via son ID ou sa syntaxe complète :
    #cmdId#
    #[Objet][Équipement][Commande]#
    

4. Balises SSML enrichies

La bibliothèque SSML Amazon est intégrée de manière exhaustive via un système de balises simplifié, utilisable dans toutes les commandes vocales du plugin.

Syntaxe générale

#tagName::param1::param2#

audio — Son de la bibliothèque Amazon

Exemple balise audio

#audio::alarms/buzzers/buzzers_09#
#audio::animals/amzn_sfx_lion_roar_01#

Bibliothèque de sons Amazon


voice — Voix Amazon

#voice::Mathieu::Salut, c'est Mathieu qui parle !#
#voice::Celine::Bonjour, je suis Céline.#

say-as — Interprétation du texte

Valeur param1 Effet
interjection Prononce une interjection naturelle
cardinal Lit un nombre comme un chiffre cardinal
ordinal Lit un nombre en ordinal (premier, deuxième…)
characters Épelle lettre par lettre
date Lit une date formatée
time Lit une durée
telephone Lit un numéro de téléphone
address Lit une adresse
expletive Bip de censure sur le mot
#say-as::interjection::Bonjour#
#say-as::cardinal::42#
#say-as::characters::SSML#

Utilisation des interjections :

Exemple interjection

Important : Les interjections doivent être dans des phrases séparées — entourées de points — sinon elles ne sont pas prises en compte.

Exemple interjection incorrecte ❌ Ne fonctionne pas — l’interjection est noyée dans la phrase

Exemple interjection correcte ✅ Correct — l’interjection est isolée par un point


amazon:effect — Effets vocaux

Valeur param1 Effet
whispered Chuchotement
#amazon:effect::whispered::Je suis un fantôme...#

amazon:emotion — Émotion

#amazon:emotion::excited::medium::Incroyable, ça fonctionne !#
#amazon:emotion::disappointed::low::Ce n'est pas ce que j'espérais.#

amazon:domain — Domaine de lecture

Valeur Contexte
news Style journalistique
music Présentation musicale
conversational Ton conversationnel
long-form Lecture longue
#amazon:domain::news::Et voici les titres de l'actualité.#

prosody — Rythme, ton et volume

#prosody::rate="fast" pitch="high"::Je parle vite et aigu !#
#prosody::rate="slow" volume="loud"::Je parle lentement et fort.#
Attribut Valeurs possibles
rate x-slow, slow, medium, fast, x-fast, ou n%
pitch x-low, low, medium, high, x-high, ou +n% / -n%
volume silent, x-soft, soft, medium, loud, x-loud, ou +ndB

emphasis — Accentuation

#emphasis::strong::absolument#
Valeur Intensité
strong Forte
moderate Modérée
reduced Réduite

break — Pause

#break::2s#
#break::500ms#

lang — Langue

#lang::en-US::Hello, how are you?#
#lang::es-ES::Hola, buenos días.#

phoneme — Prononciation phonétique

#phoneme::ipa::pɛ.ʁi#

sub — Substitution

Alexa prononce le texte de remplacement à la place de l’original :

#sub::World Wide Web Consortium::W3C#

p et s — Structure du discours

#p::Voici le premier paragraphe.#
#s::Et voici une phrase bien délimitée.#

w — Rôle grammatical

#w::VB::Lire#

SSML complet en XML (usage avancé)

Pour les cas complexes ou les combinaisons imbriquées, la commande Speak SSML accepte toujours la syntaxe XML complète :

<speak>
  <voice name="Mathieu">
    <prosody rate="slow" pitch="low">
      Attention, message important.
      <break time="1s"/>
      La température est de <say-as interpret-as="cardinal">12</say-as> degrés.
    </prosody>
  </voice>
</speak>

Ressources utiles :


📌 Forum dédié : community.jeedom.com/tags/plugin-alexaapiv2

Plugin Alexa Premium — AlexaSys & SmartHome


Sommaire


1. Équipement AlexaSys

AlexaSys est l’équipement virtuel central du plugin. Il concentre :

  • Les informations communes à tous les appareils
  • Les états globaux du compte Amazon
  • Les données système du plugin

Il n’est pas lié à un appareil Echo physique en particulier — c’est pourquoi il est le point d’entrée recommandé pour construire des scénarios stables et maintenables.

Architecture recommandée :

Compte Amazon
      ↓
Plugin Alexa Premium
      ↓
AlexaSys (équipement central)
      ↓
Scénarios Jeedom
      ↓
Appareils Echo / SmartHome

2. Alexa Chat

Nouveauté

La commande Alexa Chat permet de dialoguer directement avec Alexa, avec plusieurs avantages par rapport aux commandes vocales classiques (Parler à Alexa, Annonce…) :

  Commandes classiques Alexa Chat
Dépendance à l’historique ✅ Oui ❌ Non
Retour vocal exploitable (MP3) ❌ Non ✅ Oui
Retour texte lisible ❌ Non ✅ Oui
Vitesse de réponse Standard Immédiate

Widget Alexa Chat

Le nouveau widget dédié permet directement depuis le dashboard de :

  • Saisir une question ou un message
  • Écouter la réponse vocale (MP3)
  • Lire la réponse textuelle retournée par Alexa

Désactiver la lecture automatique audio

Si vous ne souhaitez pas que l’audio se lance automatiquement sur la tuile du dashboard, ajoutez l’option suivante dans les paramètres optionnels du widget :

AutoPlayAudio => 0

Quand utiliser Alexa Chat ?

Cette commande est à privilégier dans les scénarios qui n’ont pas besoin d’interagir avec un équipement Amazon physique spécifique.

Mauvaise pratique — cibler directement un Echo physique pour des traitements génériques :

[Salon][Echo Salon][Parler à Alexa]
→ "La température est de #[Maison][Capteur][Température]# degrés"

Bonne pratique — passer par AlexaSys / Alexa Chat pour les traitements centralisés :

[AlexaSys][Alexa Chat]
→ "La température est de #[Maison][Capteur][Température]# degrés"

3. TTS — Text-To-Speech

Nouveauté

La commande TTS convertit un texte en fichier MP3, exploitable directement sur la tuile du dashboard ou dans un scénario.

Elle fonctionne indépendamment de tout équipement Alexa physique — utile pour générer des annonces audio personnalisées dans Jeedom, les diffuser sur un lecteur tiers, ou les archiver.

Le MP3 généré est accessible et lisible depuis le widget d’AlexaSys, de la même façon que le retour vocal d’Alexa Chat.


4. Utilisation d’AlexaSys dans les scénarios

Récupérer la dernière commande vocale

AlexaSys expose la dernière interaction vocale détectée sur le compte Amazon. Cette information est utilisable directement dans les conditions de scénarios :

SI
  #[AlexaSys][DernièreCommande]# contient "musique"
ALORS
  Action spécifique

Exploiter le retour textuel d’Alexa Chat

Après un Alexa Chat, la réponse textuelle d’Alexa est stockée dans une commande INFO d’AlexaSys. Vous pouvez l’utiliser dans un scénario pour déclencher des actions en fonction du contenu de la réponse :

SI
  #[AlexaSys][Alexa Chat Réponse]# contient "oui"
ALORS
  Allumer la lumière du salon

Bonnes pratiques scénarios

  • Utilisez AlexaSys comme point d’entrée unique pour toutes les interactions ne nécessitant pas un appareil Echo spécifique.
  • Réservez le ciblage d’un Echo physique aux cas où la localisation de la voix a de l’importance (ex. : faire parler l’Echo de la chambre spécifiquement).
  • Vérifiez régulièrement que l’équipement AlexaSys est actif et que ses commandes INFO sont à jour.

5. Gestion SmartHome

Le code du démon gérant la partie SmartHome a été entièrement reconstruit.

Faire le ménage dans les équipements SmartHome

Amazon peut remonter un très grand nombre d’appareils SmartHome, y compris des appareils anciens, dupliqués ou inutilisés.

Trop d’appareils SmartHome remontent ? Désactivez dans Jeedom tous les équipements dont vous n’avez pas besoin — ils consomment des ressources inutilement et encombrent l’interface.

Pour nettoyer également côté Amazon, gérez vos appareils enregistrés depuis votre espace Amazon :

👉 amazon.fr — Gestion des appareils Alexa

Scan SmartHome

Vous pouvez lancer un scan ciblé SmartHome depuis l’écran Scan du plugin, sans affecter vos autres équipements (Echo, Groupes…).

CRON centralisé et paramétrable

Les équipements SmartHome sont désormais rafraîchis via un CRON centralisé. Sa fréquence est configurable directement depuis la page de Configuration du plugin.

Désactivation automatique des équipements injoignables

Tout équipement SmartHome ne répondant pas pendant 3 jours consécutifs est automatiquement désactivé par le plugin, afin d’éviter l’accumulation d’équipements fantômes.

Cette durée est susceptible d’évoluer selon les retours des utilisateurs — n’hésitez pas à partager votre expérience sur le forum.

Filtrage des équipements sans commandes

Certains équipements détectés par Amazon mais ne proposant aucune commande disponible ne remontent plus dans le plugin, évitant ainsi l’encombrement inutile.

Sélection multiple — Activer / Désactiver en masse

Le modal de sélection multiple a été revu. Deux boutons permettent désormais d’Activer ou de Désactiver en masse tous les équipements sélectionnés en une seule action.


📌 Forum dédié : community.jeedom.com/tags/plugin-alexaapiv2

Plugin Alexa Premium — Créer un Skill ASK Amazon


Sommaire


1. Présentation

Le Skill ASK (Alexa Skills Kit) permet d’ajouter de l’interactivité vocale conditionnelle entre Alexa et Jeedom.

Sans Skill ASK, Alexa exécute des actions de façon silencieuse. Avec le Skill ASK, Alexa peut poser des questions et attendre une réponse vocale avant d’agir. Exemples :

  • « Voulez-vous allumer la lumière du salon ? » → Oui / Non
  • « Quelle température souhaitez-vous ? » → Réponse vocale → Action dans Jeedom
  • « Confirmez-vous l’extinction de tous les volets ? » → Confirmation vocale requise

Le Skill doit être appelé par le plugin Alexa Premium pour fonctionner correctement — il ne fonctionne pas de façon autonome.


2. Créer un compte développeur Amazon

Rendez-vous sur developer.amazon.com et connectez-vous avec le même compte Amazon que celui utilisé pour vos appareils Alexa.


3. Créer le Skill

Accédez à la console ASK : developer.amazon.com/alexa/console/ask

Console ASK — écran d'accueil

Cliquez sur Créer un Skill :

Bouton Créer un Skill

Renseignez les informations du Skill :

  • Nom : ask Jeedom
  • Langue : Français (FR)

Cliquez sur Next en haut à droite.

Nom et langue du Skill

Sélectionnez les options suivantes :

Sélection type Other et Custom

Sélection hébergement et région

  • Type d’expérienceOther
  • ModèleCustom avec Sync Locales activé
  • Service d’hébergementAlexa-hosted (Python)
  • Région d’hébergementEU (Ireland)

Cliquez sur Next puis sélectionnez Start from Scratch.

Sélection Start from Scratch

Nom d’invocation

Dans la section Invocation Name, saisissez le mot ou la phrase qui permettra d’activer votre Skill à la voix :

pose question

Vous pouvez choisir un autre nom d’invocation, mais il doit être simple et mémorisable. C’est ce que vous direz à Alexa : « Alexa, ouvre pose question ».

Cliquez sur Enregistrer.


4. Importer le code

Cliquez sur l’onglet Code puis sur Import skill en haut à droite :

Import du code

Dans le formulaire qui s’ouvre, renseignez l’URL GitHub :

https://github.com/limad/alexaPremium_Skill_Ask.git

Validez et patientez pendant la génération du Skill (cela peut prendre plusieurs minutes).


5. Configurer les paramètres Jeedom

Une fois le code importé, ouvrez le fichier lambda_function.py dans l’onglet Code et renseignez les deux paramètres suivants :

Configuration lambda_function.py

Paramètre Description
JEEDOM_URL URL externe de votre Jeedom, avec / à la fin (ex. : https://votre-jeedom.fr/)
APIKEY Clé API du plugin Alexa Premium
lang Langue souhaitée (ex. : fr-FR)

Où trouver ces paramètres ?
Dans la configuration du plugin Alexa Premium, cliquez sur le bouton Params :

Bouton Params dans la configuration

Une fois les paramètres renseignés, cliquez sur Save puis sur Deploy :

Boutons Save et Deploy


6. Importer le modèle d’interaction

  1. Cliquez sur Interaction Model dans le menu de gauche
  2. Ouvrez JSON Editor
  3. Importez le fichier skill.json fourni avec le code
  4. Cliquez sur Enregistrer
  5. Cliquez sur Build Model et attendez la fin de la compilation

Le Build est indispensable — sans lui, le Skill ne fonctionnera pas même si le code est déployé.


7. Déployer et activer le Skill

Une fois le Build terminé :

  1. Activez le Skill depuis l’application Alexa sur votre smartphone (section Vos SkillsSkills développeur)
  2. Vérifiez que le Skill apparaît bien en mode Development dans la console ASK

Le Skill restera en mode Development tant qu’il n’est pas soumis à la certification Amazon — ce mode est suffisant pour une utilisation personnelle avec Jeedom.


8. Renseigner l’ID du Skill dans le plugin

La dernière étape consiste à informer le plugin Alexa Premium de l’ID de votre Skill.

Où trouver l’ID du Skill ?

L’ID ressemble à :

amzn1.ask.skill.xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Collez cet ID dans la page de Configuration du plugin Alexa Premium, dans le champ dédié au Skill ASK.


9. Consulter les logs du Skill

En cas de problème, les logs du Skill sont disponibles via :

Onglet Code → CloudWatch Logs

Les erreurs les plus fréquentes sont :

  • JEEDOM_URL incorrecte (slash manquant, HTTP au lieu de HTTPS)
  • APIKEY invalide ou expirée
  • Jeedom non accessible depuis Internet
  • Build non effectué après une modification du code

10. Exemples d’utilisation

Conditionner une action à une réponse vocale

Sans Skill ASK, un scénario allume la lumière automatiquement à une heure précise.
Avec Skill ASK, Alexa peut d’abord vous demander confirmation :

Alexa : « Voulez-vous allumer la lumière du salon ? »
Vous  : « Oui »
→ Jeedom allume la lumière

Utilisation dans un scénario Jeedom

Dans votre scénario, utilisez la commande QuestionAsk d’AlexaSys pour poser une question et récupérer la réponse dans une variable :

[AlexaSys][QuestionAsk] → "Confirmez-vous l'extinction de tous les volets ?"

SI #variable(reponse)# = "oui"
ALORS
  Fermer tous les volets

Cette approche permet de conditionner n’importe quelle action Jeedom à une confirmation vocale, rendant vos automatisations plus sûres et interactives.


📌 Forum dédié : community.jeedom.com/tags/plugin-alexaapiv2

Plugin Alexa Premium — Bonnes pratiques, Astuces & Dépannage


Sommaire


1. Bonnes pratiques

Quelques règles simples pour une installation stable et durable.

Authentification

  • Utilisez toujours la méthode Auth pour générer et renouveler le cookie — n’utilisez pas le proxy.
  • Activez la double authentification (2FA/MFA) sur votre compte Amazon. Contrairement à ce que l’on pourrait penser, le 2FA améliore la fiabilité de la génération du cookie.
  • Évitez les VPN pendant l’utilisation du plugin : ils peuvent invalider le cookie prématurément en changeant l’IP apparente.
  • Ne partagez jamais votre cookie — il donne accès à votre compte Amazon.

Équipements

  • Désactivez les équipements inutilisés plutôt que de les laisser actifs — ils consomment des ressources inutilement.
  • Faites le ménage régulièrement dans vos équipements SmartHome, côté Jeedom et côté Amazon.
  • Nettoyez vos appareils Amazon enregistrés pour éviter les doublons et les fantômes :
    👉 amazon.fr — Gestion des appareils Alexa

Scénarios

  • Centralisez vos scénarios via AlexaSys plutôt que de cibler directement des équipements Echo physiques pour les traitements génériques.
  • Vérifiez les logs régulièrement depuis la page de configuration du plugin pour anticiper les problèmes.

Architecture recommandée

Compte Amazon
      ↓
Plugin Alexa Premium
      ↓
AlexaSys (équipement central)
      ↓
Scénarios Jeedom
      ↓
Appareils Echo / SmartHome

2. Astuce : Formater l’heure de la prochaine alarme

Par défaut, le plugin retourne les alarmes au format 2024-12-31 21:10:00. Pour obtenir le format HHmm (ex. 2110), créez un équipement virtuel avec le plugin Virtuel.

Créer un virtuel

Nommez-le par exemple Chambre HHmm, puis dans l’onglet Commandes, ajoutez une info virtuelle :

Ajouter une info virtuelle

  • Nom : Prochaine Alarme HHmm
  • Sous-type : Autre

Dans le champ Valeur, saisissez la formule suivante en remplaçant #[Etage][La chambre][Prochaine Alarme]# par votre commande :

Formule dans le champ Valeur

sprintf("%02d",trim(substr(#[Etage][La chambre][Prochaine Alarme]#, 11, 2)))sprintf("%02d",trim(substr(#[Etage][La chambre][Prochaine Alarme]#, 14, 2)))

Cliquez sur Tester pour vérifier le résultat :

Test du résultat HHmm

Puis Sauvegardez. Utilisez désormais cette commande Prochaine Alarme HHmm dans vos scénarios à la place de la commande d’origine.

Cette technique s’applique également aux alarmes musicales, minuteurs et rappels.

Exemple d'utilisation horloge Alexa


3. En cas de problèmes

Rappel : 90 % des problèmes sont liés au cookie. La solution est quasi systématiquement de relancer l’Auth proprement.


3.1 Problèmes d’authentification

Le bouton Auth ne fonctionne pas / la pop-up ne s’ouvre pas

  • Vérifiez que les pop-ups ne sont pas bloquées par votre navigateur ou un AdBlock.
  • Vérifiez que votre Jeedom est bien accessible en HTTPS avec un certificat valide.
  • Testez dans un autre navigateur ou en navigation privée.
  • Vérifiez la console du navigateur (F12) pour identifier une éventuelle erreur JavaScript.

Boucle après connexion Amazon

  • Déconnectez-vous d’Amazon dans votre navigateur.
  • Supprimez les cookies du navigateur.
  • Relancez l’Auth depuis une fenêtre de navigation privée.

Échec de la double authentification (MFA)

  • Vérifiez que l’heure système de votre serveur Jeedom est correcte (synchronisation NTP).
  • Validez le code MFA immédiatement après sa génération — il expire en quelques secondes.

Erreur Login unsuccessful

  • Testez la connexion à votre compte Amazon directement depuis un navigateur.
  • Vérifiez que vous n’avez pas reçu un mail de sécurité Amazon signalant un blocage.
  • Assurez-vous que le pays de votre compte Amazon correspond à la région configurée dans le plugin.

Les logs afficheront typiquement Authentication failed ou cookie invalid.

Causes fréquentes :

  • Changement d’IP (redémarrage box, IP dynamique)
  • VPN actif
  • Connexions simultanées multiples
  • Sécurité Amazon renforcée

Solutions :

  • Relancez l’Auth depuis la configuration du plugin.
  • Désactivez tout VPN pendant l’authentification et l’utilisation du plugin.
  • Si votre accès Internet utilise le CG-NAT (IP partagée entre plusieurs abonnés), envisagez de demander une IP fixe à votre FAI — le CG-NAT peut invalider le cookie régulièrement.

CAPTCHA récurrent

Cause probable : Amazon détecte une activité automatisée.

  • Attendez 24 heures avant de retenter.
  • Utilisez uniquement la méthode Auth (jamais le proxy).

3.3 Appareils absents ou non remontés

  • Le cookie est peut-être expiré — relancez l’Auth.
  • Vérifiez que la région Amazon configurée dans le plugin correspond à celle de votre compte.
  • Nettoyez les appareils enregistrés côté Amazon :
    👉 amazon.fr — Gestion des appareils Alexa
  • Relancez un scan (général ou par type) depuis l’écran Scan du plugin.

3.4 Commande envoyée sans effet

  • Vérifiez que l’appareil est bien en ligne (page Santé du plugin).
  • Vérifiez que le deviceId utilisé dans la commande est correct.
  • Activez les logs en mode Debug et analysez les entrées alexaapi et alexapremium pour identifier l’erreur.

3.5 Problèmes Amazon Music

La lecture ne démarre pas

  • Vérifiez que vous disposez d’un abonnement Amazon Music actif.
  • Vérifiez qu’Amazon Music est défini comme service de musique par défaut dans les paramètres Alexa.

La lecture s’arrête

Causes possibles :

  • Restrictions DRM liées à l’abonnement
  • Compte multi-utilisateur avec conflit de session
  • Changement d’IP en cours de lecture

3.6 Problèmes de Skill ASK

Le Skill ne répond pas

  • Vérifiez que le Skill est en mode Development dans la console ASK.
  • Vérifiez qu’un Build a bien été effectué après chaque modification du code ou du modèle d’interaction.
  • Vérifiez que le fichier skill.json a bien été importé et sauvegardé.

Erreur 500

Causes fréquentes :

  • JEEDOM_URL incorrecte (slash final manquant, HTTP au lieu de HTTPS)
  • APIKEY invalide ou expirée
  • Jeedom non accessible depuis Internet

Vérification : testez l’URL de votre Jeedom depuis un navigateur externe (depuis un réseau mobile par exemple).

Consulter les logs du Skill

Console ASK → Onglet Code → CloudWatch Logs

3.7 Cas réseau spécifiques

Reverse Proxy

Vérifiez que les en-têtes X-Forwarded-For sont correctement transmis et que le HTTPS est forcé sur toutes les routes.

Hébergement Cloud (VPS, serveur dédié)

Certaines IP de datacenters peuvent être bloquées par Amazon. Si vous constatez des refus systématiques lors de la génération du cookie, c’est peut-être la cause.

CG-NAT

L’IP partagée du CG-NAT peut invalider le cookie de façon régulière et imprévisible. Si vous êtes dans cette situation, demandez une IP fixe à votre fournisseur d’accès Internet.


3.8 Procédure de reset complet

En dernier recours, si rien ne fonctionne, effectuez un reset propre dans cet ordre :

  1. Supprimer le cookie depuis la configuration du plugin
  2. Faire une sauvegarde Jeedom
  3. Supprimer l’équipement AlexaSys
  4. Redémarrer Jeedom
  5. Réinstaller le plugin ou forcer la mise à jour des dépendances
  6. Relancer l’Auth
  7. Relancer le SCAN pour recréer AlexaSys et les équipements

4. Ouvrir un sujet sur le forum

Si vous rencontrez un problème non résolu après avoir consulté cette documentation, ouvrez un sujet sur le forum dédié.

Pour qu’une aide efficace soit possible, joignez systématiquement les éléments suivants :

Élément Comment l’obtenir
Version du plugin Page de configuration du plugin
Page Santé Écran Santé du plugin (capture d’écran)
Logs Activer le niveau Debug, reproduire le problème, copier les lignes alexaapi et alexapremium concernées
Description du problème Ce qui est attendu, ce qui se passe réellement, depuis quand
Configuration réseau Reverse proxy ? VPS ? CG-NAT ? VPN ?

Plus votre rapport sera complet, plus la réponse sera rapide et pertinente.

📌 Forum dédié : community.jeedom.com/tags/plugin-alexaapiv2


5. Plugins annexes

Plugin Description
Amazon Music Lancement de playlists Amazon Music
Deezer / Spotify Intégration des plateformes de streaming
Fire TV Contrôle des appareils Fire TV
Todo List Gestion des listes de tâches Alexa

Limad44 Domotique Jeedom

Changelog Plugins-Alexa

alexaapiv2 icon

Changelog Alexa-Premium

alexatodolist icon

Version en cours de dev

  • Changement de la méthode de définition des logs au démarrage et quelques ajustement de messages (merci Neurall)

Todo List

alexatodolist icon

Bugs

  • Souci : A la génération du cookie, si le fichier n’est pas bien récupéré, il y a quand même le message Bravo
  • Annonces sur le multiroom font plante le démon. D’une manière générale tester toutes les fonctions multiroom (volume est OK)
  • Corriger l’affichage des commandes play/pause/next … dans les scénario
  • Corriger les ‘ dans les widgets Player sur le nom de l’album ou l’artiste.
  • Programmer les template widgets mobile en v4
  • La répétition ne fonctionne pas sur les rappels
  • Amazon a modifié le fonctionnement des alarmes et on peut maintenant programmer dans plusieurs jours les alarmes, à modifier
  • Quand on exporte JSON depuis le requeteur info, il y a un souci sur bluetooth par exemple
  • Regarder pourquoi le nom ne change pas quand on modifie le nom Amazon et qu’on lance un scan

Améliorations

  • Toiletter les logs et reclasser en info/debug/…
  • Faire en sorte que les devices ajoutés par Amazon soient désactivés à la détection ( xx Alexa Apps, This Device, Tous les appareils)
  • Pour le Scan ou Santé, ajouter un message qui dit de générer le cookie quand il n’existe pas encore
  • Ajouter un bouton de Refresh pour Santé, pour avoir le « Présent » actualisé
  • Contrôler la présence des dépendances avant de pouvoir lancer le controleur de l’API Cookie-Alexa
  • A la génération du cookie, rallonger le clignotement
  • A la génération du cookie, changer la couleur du message « ouverture de la fenetre… » mettre bleu au lieu de vert et si possible avec le cercle qui tourne
  • Supprimer la colonne « Commande envoyée » dans le tableau des commandes (non utile)
  • Supprimer la colonne « ID » dans l’écran Rappels/Alarmes (non utile)
  • Remettre les boutons Tester pour les commandes Reminder et Alarm en mettant des données test dans le code
  • Corriger la commande alarm?&when=#when#&recurring=#recurring# par alarm?when=#when#&recurring=#recurring#
  • Trouver comment fonctionne table_cmd et comment sont classées les commandes dans le tableau
  • Voir pourquoi on ne peut pas déplacer les commandes dans le tableau des commandes
  • Agrandir un peu vers le bas la fenetre d’identification du cookie Amazon, quand il demande le controle captcha, on n’a pas le bouton de validation
  • Dans la commande whennextalarm, permettre d’ecrire l’option hour en majuscules ou minuscules
  • Trier les routines par ordre alphabétique.
  • Ajouter la prochaine alarme musicale
  • Supprimer musicalalarmmusicentity pour récupérer la musique par whennextmusicalalarm
  • Regarder pourquoi pas de bouton Refresh pour le player d’un groupe
  • Il faudrait que la liste déroulante des sons des alarmes puisse se mettre à jour toute seule (elle est dans un template pour les scenarios et dans une commande action)
  • Si un device est offline, mettre widget en veille ou auy moins couper l’icone de playing
  • Ajouter shuffle et repeat  pour les Multirooms
  • Ne prendre en compte pour les dernières interactions que les phrases qui sont en success
  • Si le device existe au scan, ne pas modifier la visibilité (case visible) Demande de JAG

Evolutions

  • Ajouter aux devices uniquement les commandes qui sont supportées par chacun
  • Permettre d’avoir d’autres serveur que amazon.fr
  • Récupérer « ‘the last spoken voice command »
  • Permettre d’activer/désactiver les alarmes
  • Ajouter date/heure dans les logs
  • Ajouter un WhenNextTimer
  • Gestion des routines
  • Lancement de son via MP3 ou autre (pour générer une alarme intrusion)
  • Récupérer le volume « en cours »
  • Programmer des fonctions telles que Speak qui enregistrent le volume en cours, lance la commande Speak à un volume précis et remette l’ancien volume
  • Ajouter une case à cocher pour Utilisateurs avertis
  • Mieux gérer les devices déconnectés
  • La commande action Delete All Alarms pourrait permettre de supprimer les rappels
  • Aller récupérer l’information « Do Not Distrub » pour l’affecter aux devices (requete /api/dnd/device-status-list)
  • Aller récupérer l’information « bluetoothStates » (requete /api/bluetooth?)

Changelog AmazonMusic/Deezer/Spotify/FireTv

alexaamazonmusic icon alexa-deezer icon alexafiretv icon

Evolutions