language
keyboard_arrow_up
language

alexaapiv2 icon

Plugins annexes

alexaamazonmusic icon alexa-deezer icon alexafiretv icon alexatodolist icon

Limad44 Jeedom

Présentation Plugin Alexa Premium pour Jeedom

PrésentationAlexaAPI

Pour que Jeedom puisse intéragir avec les Amazon Alexa, le plugin Alexa Premium est structuré en plusieurs widgets par équipements.

Important : Ce plugin ne commande pas Jeedom depuis Alexa (contrairement au plugin Alexa officiel) mais commande Alexa depuis Jeedom, il peut toutefois intéragir avec Alexa.

Ce que permet de faire ce plugin :

  • Scanner automatiquement tous les Echo du compte Amazon
  • Faire parler les Amazon Echo
  • Régler le volume (et récupérer le volume de chaque équipement) de chaque équipement ou d’un groupe
  • Programmer des alarmes et les supprimer
  • Programmer des rappels et les supprimer
  • Récupérer l’heure de la prochaine alarme (ou du prochain rappel) pour s’en servir dans Jeedom
  • **Envoyer des commandes (pause play next prev fwd rwd shuffle repeat) au Player d’Alexa**
  • Afficher la playlist en cours
  • Executer des routines
  • Envoyer un message Push à votre mobile via l’application Amazon Music
  • Lancer la radio sur vos amazon Echo
  • Récupérer vos Playlists et les lancer
  • Récupérer dans Jeedom le texte de la dernière intéraction
  • Scanner automatiquement tous les équipements smartHomes du compte Amazon
  • Commander les turnOn et turnOff des smartHomes

Ce que ne permet pas de faire ce plugin :

  • Envoyer un ordre à executer à Alexa (il faut passer par le plugin Alexa ou IFTT)

Nota : on peut imaginer traiter dans un scénario un ordre court non pris en compte par Alexa mais détecté par le plugin (exemple : Alexa volets ou Alexa portail) alexaapiv2 icon

Plugins annexes

alexaamazonmusic icon alexa-deezer icon alexafiretv icon alexatodolist icon

Limad44 Jeedom

Alexa Premium Documentation

Toggle

Installation du Plugin Alexa Premium

Installer le Plugin depuis le Market

installationalexaapi1

installationalexaapi3

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.

installationalexaapi4

Activer le Plugin

installationalexaapi5

Recharger les dépendances

installationalexaapi6

installationalexaapi7

S’identifier sur la pop-up d’Amazon

installationalexaapi8

Fermer la fenêtre 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 !!

Mise à jour ou Changement de version

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 :

  • Supprimer tous les équipements Amazon et leurs commandes et les recréer
  • Forcer la mise à jour de toutes les commandes
  • Lancer un SCAN qui détecte les nouveaux équipements ou les nouvelles commandes

**Le choix entre ces trois solutions dépend du nombre de scénarios que vous avez développés grâce au Plugin Alexa Premium. 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.
**

Solution 1 : Supprimer tous les équipements et leurs commandes et les recréer

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 boutonalexaapiv21 Attention, cette fonction supprime tous les équipements et leurs commandes, vous perdez donc tous les liens dans vos scénarios.

Solution 2 : Forcer la mise à jour de toutes les commandes

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 boutonalexaapiv22 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 :

boutonalexaapiv23

Solution 3 : Le SCAN

boutonalexaapiv24 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.

Les écrans de gestion

Screenshot 2019 10 27 Alexaapi Jeedom

Scan

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.

Configuration

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.

Santé

Donne des indications sur la santé de vos équipements

Routines

Donne la liste des routines enregistrées sur votre compte Amazon et permet de les lancer manuellement

Rappels/Alarmes

Donne la liste de vos alarmes ou rappels, permet de les supprimer. La désactivation manuelle ne fonctionne pour l’instant plus.

Historique

C’est tout l’historique de l’activité de vos équipements Amazon, donne l’indication de succès le cas échéant.

Requêteur Info

Réservé aux utilisateurs avertis, il permet de questionner le serveur Amazon

Requêteur Action

Réservé aux utilisateurs très avertis, il permet de lancer des requêtes brutes au serveur Amazon

Les tuiles

A ce jour, chaque équipement peut générer 3 tuiles.

  • La tuile principale de l’équipement avec ses intéractions avec vous, vos ordres de speak, les alarmes/rappels, le volume et la possibilité de lancer les routines
  • La tuile du player multimédia
  • La tuile de la playlist en cours

La tuile de l’équipement principal

widgetprincipal

A : C’est la dernière intéraction 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.

La tuile du player multimédia

widgetplayer

La tuile de la playlist en cours

widgetplaylist

Commandes simples

Principe

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.

Prochaine Alarme

Prochaine Alarme Musicale

Prochain Minuteur

Prochain Rappel

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.

Faire parler Alexa en SSML

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.

Voici des exemples :

<prosody  rate="medium" pitch="high"> Yé m'appel Conchita. yé fé lé ménache partou dans la maichon.</prosody>

ou

Bonjour je peux lire du SSML. Je peux faire une pause . Un chiffre cardinal 10. en ordinal 10. ou digit 10.

ou encore

Bonjour, je suis un fantôme

Quelques liens intéressants :

Lancer une annonce (donc sur tous les appareils)

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 la commande « Parler à Alexa »

Ainsi, pour faire une annonce « Le facteur est passé, il faut faire (dans un scénario) :

  • Commande Parler à Alexa
  • Mettre le message dans Message Alexa annonce le facteur est passé

Commandes complexes

Principe

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) : 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é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 : Screenshot 2019 12 14 Alexa API Jeedom

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

Cette commande permet 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 mois d’avril est impossible contrairement aux Rappels) Ainsi, si aucune récurrence n’est programmée (par le paramètre recuring), 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 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

  • sound=#sound#

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

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

Cette commande permet 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=#message# 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 suivante
  • 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 demander, 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’interaction 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 ».

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

Fonctionne comme whennextalarm mais pour les alarmes musicales._

musicalalarmmusicentity?position=1&status=ON

Fonctionne comme whennextmusicalalarm mais fournit l’information** MusicEntity **qui correspond à ce qui va être joué à l’heure de l’alarme.*_

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é_

Nota : Pour que la suppression fonctionne, il faut que l’Alexa soit connecté !!

history?maxRecordSize=50&recordType = ‘VOICE_HISTORY’

Toute nouvelle commande en test qui va chercher l’historique.

  • maxRecordSize indique le nb d’enregistrement à remonter (50 sur le plugin)
  • recordType est probablement le type d’enregistrement, VOICE_HISTORY est la valeur par défaut, on ne connait pas les autres valeurs possibles.

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

radio?station=#select#

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 connaitre 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. Screenshot 2019 11 08 Alexaapi Jeedom 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 : radios

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

Utilisation d’une commande radio dans un scénario

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) :

Screenshot 2019 11 08 Alexa API Jeedom Screenshot 2019 11 08 Alexa API Jeedom1 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 : Screenshot 2019 11 08 Alexaapi Jeedom1

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écifiez 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.

playmusictrack?trackId=#select#

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.

Screenshot 2019 11 03 Alexaapi Jeedom 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

Comment trouver le trackID d’une piste Amazon-Music ?

Le plugine Alexa Premium est capable de vous donner le trackID de la piste qui est en cours de lecture. Pour cela, suivez ces étapes :

  • Allez dans les commandes de l’équipement que vous utilisez et cochez la case Afficher de la commande Amazon Music Id

amazonmusicidtrack

  • Une note de musique va apparaitre sur le Dashboard, sur la tuile de votre équipement, c’est ici qu’apparaitra l’ID
  • Lancez la musique et relevez l’information ainsi affichée

amazonmusicidtrack2

  • Vous gardez ou pas l’information sur votre dashboard, pour la supprimer, décochez Afficher de la commande Amazon Music ID 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 playlist, l’ID ne remontait pas. Pour être certain de l’avoir, lancer uniquement la piste que vous souhaitez (et non dans une playlist).

Autres fonctionnalités

Modifier l’icone des players

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 :

tuile 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 :

tuile2 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)

Utilisation de balises pour les interjections et les sons

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.

  • Les interjections FR sont décrites ici, les autres pays ont aussi leur page.
  • Les sons de la bibliothèque sont décrits ici

Pour faciliter l’envoi de commandes, il a été imaginé dans Alexa Premium un système de balises.

Les sons de la bibliothèque Amazon

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.

Les interjections

Sur un principe similaire aux sons de la bibliothèque, les interjections sont à mettre entre balise #

Exemple :

Enchaînement texte et interjection

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 :

Slider du Volume

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.

Personnaliser le widget

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 :

  • displayedValues = « 0,20,40,60,80,100 »
  • step = 10
  • width = 200
  • height = 50
  • handleSize =15
  • cursorLeftPos =50
  • cursorTopPos = 88
  • paramètre top non définit par défaut, cf un peu plus bas.

Pour personnaliser votre widget, vous pouvez ajouter le paramètre en Paramètres optionnels widget de la commande action « Volume », par exemple :

Revenir au précédent Widget

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

Amélioration de la disposition du widget

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

Supprimer le logo haut-parleur

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 disparaitre et sauvegardez. Il n’est plus là. (si « Volume » apparait, décocher « Afficher le nom » dans les options du Widget)

Information Mute

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

Créer un skill (AsK) Amazon

Résumé des étapes à suivre :

Bien que la procedure parait compliquée aux premiers abords, il n’en est rien; il suffit de suivre les étapes suivantes attentivement


Details des étapes :

  1. Créer un compte développeur sur Amazon : Rendez-vous sur https://developer.amazon.com/
  2. Une fois connecté, Aller sur https://developer.amazon.com/alexa/console/ask

  1. Cliquez sur « Créer un Skill »

Définissez un nom (ex: ask Jeedom) et la langue FR, puis cliquez sur « Next » en haut à droite de votre écran

Cliquez sur « Other », Custom et cliquez sur « Sync Locales »,

  1. Choose a type of experience => « Other »,
  2. Choose a model => « Custom », 2-1. Activer « Sync Locales »
  3. Hosting services => « Alexa-hosted (Python) », 3-1 Hosting region => « Eu (Ireland) », Puis cliquez sur Next en haut à gauche de votre écran.

  1. Cliquez sur « Start from Scratch » puis cliquer sur « Import kill » en haut à droite de votre écran Dans le formulaire qui s’ouvre renseigner l’url https://github.com/limad/alexaPremium_Skill_Ask.git et valider.

  2. Patientez pendant la génération du skill (cela peut prendre plusieurs minutes).

  3. Une fois le skill généré, aller sur l’onglet “Code” et renseignez les deux champs (fichier “lambda_function.py”) avec vos informations :

    • JEEDOM_URL : l’URL externe de votre Jeedom (ne pas oublier ‘/’ à la fin).
    • APIKEY : la clé API du plugin Alexa-Premium. Pour connaitre ces parametres, aller dans la configuration du plugin et cliquer sur le bouton Params:

Cliquez sur « Save », puis sur « Deploy » dans le menu en haut de l’écran.

Félicitations, vous venez de créer votre Skill Ask pour Alexa Premium sur Jeedom !!!

  1. Avtiver le skill depuis l’application Alexa(smartphone)

** Le Skill doit être appelé par le plugin Alexa Premium pour qu’il fonctionne correctement. **

  1. Vous devez renseigner l’id du skill dans la configuration du plugin. Vous pouvez trouver l’id du skill crée soit :
  • depuis cette page https://developer.amazon.com/alexa/console/ask, et cliquer sur < Copier l’identifiant de la Skill >
  • Ou directement dans l’URL lorsque vous êtes sur la page du code du skill. L’ID ressemble à ceci : “amzn1.ask.skill.bc3a7990-6bc7-4ff2-a07c-k678facb7b88”

Exemples d’utilisation

  • Au lieu d’avoir un scénario Jeedom qui allume automatiquement la lumière à une heure précise, avec Ask, Alexa peut vous demander : “Voulez-vous allumer la lumière ?” Cela permet de conditionner une action à une réponse vocale.

Dev et collaborateurs

Toutes les bonnes volontées sont les bienvenues, travail collectif sur ce plugin. Que vous soyez programmeur, développeur, utilisateur ou plein de bonne voloonté, il y a des choses à faire.

Nous aurions besoin de traducteurs pour rendre international ce plugin. La documentation est à réaliser, des tutos probablement utiles … 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

Récupérer la prochaine alarme Alexa au format HHmm

alexaformathorloge

Ce mini-tuto va vous permettre de récupérer l’alarme (ou l’alarme musicale, ou le minuteur ou le rappel) au format HHmm.

Le plugin renvoie toujours l’information au format CRON qui correspond à : 2020-02-29 10:55:00

En fonction de l’utilisation que l’on souhaite faire de cette information, il faut parfois changer le format.

HHmm serait 1055 dans notre exemple.Cela pourrait être adapté pour d’autres formats.

Dans cet exemple, on va  créer une nouvelle Commande Info qui va se nommer Prochaine Alarme HHmm, elle va donner l’heure de la prochaine Alarme de mon device Chambre

Pour cela, créer un nouveau virtuel (grace au plugin Virtuel) qui s’appelle Chambre HHmm

Screenshot 2020 02 29 Virtual Jeedom

  • Aller dans l’onglet Commandes
  • Ajouter une info virtuelle

Screenshot 2020 02 29 Virtual Jeedom1

  • Dans nom, mettre Prochaine Alarme HHmm
  • Dans sous-type, mettre Autre

Pour mon exemple, je vais utiliser Prochaine Alarme qui se trouve dans mon équipement La chambre qui se trouve dans l’objet Etage

Screenshot 2020 02 29 Virtual Jeedom2

  • Dans Valeur, mettre sprintf(« %02d »,trim(substr(#[Etage][La chambre][Prochaine Alarme]#, 11, 2)))sprintf(« %02d »,trim(substr(#[Etage][La chambre][Prochaine Alarme]#,14, 2))) en remplaçant #[Etage][La chambre][Prochaine Alarme]# par votre commande.
  • Cliquer sur Sauvegarder

 Pour vérifier que cela fonctionne, cliquer sur le bouton Tester, si tout se passe bien, vous aurez votre prochaine alarme au format HHmm

Screenshot 2020 02 29 Virtual Jeedom3

Utiliser donc cette nouvelle commande Prochaine Alarme HHmm à la place de la commande Prochaine Alarme de votre device.