Alexa-API Documentation

alexaapi

 

Table des matières

Installation du Plugin Alexa-API

Utilisation des commandes

Présentation du plugin

Ce plugin va vous permettre de communiquer avec Amazon ALEXA .

  • Scanner automatiquement tous les Echo du compte Amazon
  • Faire parler les Amazon Echo
  • Régler le volume
  • Programmer des alarmes et les supprimer
  • Programmer des rappels et les supprimer
  • Récupérer l'heure de la prochaine alarme pour s'en servir dans Jeedom
  • Envoyer des commandes (pause|play|next|prev|fwd|rwd|shuffle|repeat) à Alexa
  • Executer des routines
  • Envoyer un message Push à votre mobile via l'application Amazon Music
  • Lancer la radio sur vos amazon Echo

Nota : Ce plugin ne commande pas Jeedom depuis Alexa (contrairement au plugin Alexa) mais commande Alexa depuis Jeedom.

 

Installation du Plugin Alexa-API

Dans l'hypthèse ou vous souhaitez supprimer complètement le plugin avant de le réinstaller, je vous conseille :

  • De supprimer un à un tous les devices "Amazon echo" du plugin.
  • De supprimer les logs pour repartir à zéro à la nouvelle installation
  • De cliquer sur "Supprimer" dans la config du plugin, cela supprimera tout le dossier du plugin
  • A ce stade, vous êtes tout neuf, vous pouvez lancer l'installation

Installer le Plugin depuis le Market

installationalexaapi1

 

installationalexaapi3

 

installationalexaapi4

 

Activer le Plugin

installationalexaapi5

 

Recharger les dépendances

installationalexaapi6

 

Générér manuellement le cookie Amazon

installationalexaapi7

 

S'identifier sur la pop-up d'Amazon

installationalexaapi8

Fermer la fênetre dès que le Cookie Amazon est créé.

 

Lancer le Daemon s'il ne se lance pas tout seul

installationalexaapi9

 

Lancer le SCAN

installationalexaapi10

 

Les devices apparaissent, aller dans un device et dans Commandes lancer un Speak pour tester

 Et voilà, Alexa parle en moins de 5 min !!

 

Commandes (Info et Action) du plugin :

Principe

Les commandes 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 personnliser grace aux paramètres possibles de chaque commande (décrits plus loin).

Pour cela, utilisez le bouton (sous le tableau des commandes) :  

boutonajoutercommandeaction

Vous pouvez vous aider des commandes préinstallées pour en copier la syntaxe et utilisez la documentation ci dessous pour connaitre toutes les options possibles. Si vous souhaitez une autre fonction, un autre format ou que vous ne trouvez pas votre bonheur, contacter l'équipe de crétion du plugin, il y aura toujours une solution pour vous.

 

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

Cette commande d'ajouter une alarme au device dans lequel est créée la commande.

Voici les options :

  • when=YYYY-MM-DD HH24:MI:SS

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 moins d'avril est impossible contratirement aux Rappels)

Ainsi, si aucune récurrence n'est programmée (par le paramètre reccuring), seule l'heure est prise en compte, le jour est ignoré par Amazon.

  • recurring=#recurring#

La programmation de ce paramètre est bien plus aisé par un scnéario 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

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

Cette commande d'ajouter un rappel au device dans lequel est créée la commande.

Voici les options :

  • when=YYYY-MM-DD HH24:MI:SS

exemple : 2019-12-31 21:36:00

  • text=#text#

Vous avez la possibilité de donner un titre à votre rappel.

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

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.

Voici les options :

position=x

  • Mettre 1 pour la prochaine alarme
  • 2 pour la suivant
  • et ainsi de suite

Par défaut, position=1 si non spécifié

status=x

  • Mettre ON pour prendre en compte uniquement  les alarmes actives
  • Mettre OFF pour prendre en compte uniquement les alarmes inactives
  • Mettre ALL pour prendre en compte toutes les alarmes

Par défaut, status=ON si non spécifié

format=x

  • Mettre hour pour avoir un résultat au format HH:MM (Attention, cet affichage est dangereux dans le cas où vous programmez des alarmes au dela de 24h, cela est possible avec les répétitions)
  • Mettre hhmm pour avoir un résultat au format HHMM
  • Mettre full pour avoir un affichage détaillé yyyy-MM-dd'T'HH:mm:ss.SSS

Par défaut, format=hhmm si non spécifié

Nota : Si vous avez besoin d'un autre format, n'hésitez pas à me le demandez, je l'ajouterai dans la prochaine version.

Création de la commande INFO qui affichera le résultat de la commande whenNextAlarm

La commande INFO qui vous donnera le résultat de le 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.

Explication de l'intéraction entre la commande ACTION et la commande INFO

  • Quand vous lancez la commande ACTION, le serveur Amazon est interrogé et la résultat est affecté à la commande INFO
  • Quand vous lancez la commande INFO, Jeedom vous donnera donc le résultat de la commande ACTION correspondante

(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".

 

whennextreminder?position=1&status=ON

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.

deleteallalarms?type=alarm&status=all

Cette commande supprime tous les rappels et/ou alarmes du device dans lequel est créée la commande.

Voici les options :

type=x

  • Mettre alarm pour ne supprimer que les alarmes
  • Mettre reminder pour ne supprimer que les rappels
  • Mettre all pour supprimer les alarmes et les rappels

Par défaut, type=alarm si non spécifié

status=x

  • Mettre ON pour ne supprimer que les alarmes et/ou rappels actifs
  • Mettre OFF pour ne supprimer que les alarmes et/ou rappels inactifs
  • Mettre ALL pour supprimer toutes les alarmes et/ou rappels

Par défaut, status=ON si non spécifié

command?command=#command#

Cette commande envoie une commande au device dans lequel est créée la commande.

Deux manières d'utiliser cette commande :

  • Avec un scénario

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.

  • Avec une commande directe

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 synthaxe 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

radio?station=#station#[&volume=#volume#]

Cette commande lance une station de radio sur le device dans lequel est créée la commande.

Deux manières d'utiliser cette commande :

  • Avec un scénario

En passant par un scénario, vous laissez radio?station=#station# ou radio?station=#station#&volume=#volume# comme commande action et la posibilité de mentionner la statio de radio dans le scénario.

  • Avec une commande directe

Dans ce cas, c'est au niveau des commandes du device que vous allez créer une commande action.

Vous utiliserez ainsi la synthaxe suivante : radio?station=s2960 ou radio?station=s2960&volume=50 pour lancer la station s2960 (nostalgie)

  • Nota : Vous pouvez croisez ces deux modes de fonctionnement pour figer un des deux paramètres

Les stations :

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.

 

routine?routine=#select#

Cette commande lance la routine spécifiée.

Deux manières d'utiliser cette commande :

  • Avec un scénario

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éficiez l'identifiant de la routine, cf. paragraphe ci dessous pour trouver cet identifiant.

  • Avec une commande directe

Dans ce cas, c'est au niveau des commandes du device que vous allez créer une commande action.

Vous utiliserez ainsi la synthaxe suivante : routine?routine=xxxxx pour lancer la routine dont l'ID est xxxx

Pour trouver l'ID Routine :

Vous pouvez trouver facilement l'ID des routines en consultant l'écran "Routines" du plugin, dernière colonne de droite.

 


Imprimer   E-mail