Présentation Plugin Alexa-API pour Jeedom

PrésentationAlexaAPI

 

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

Important : Ce plugin ne commande pas Jeedom depuis Alexa (contrairement au plugin Alexa) 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

Ce que permet de faire ce plugin (en version Beta):

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

 

 

Ecrire un commentaire (0 Commentaires)

Alexa-API Documentation

alexaapi

 

Table des matières

Installation du Plugin Alexa-API

Mise à jour ou changement de version

Les écrans de gestion

Les tuiles (widgets)

Utilisation des commandes

Présentation du plugin

La présentation du plugin fait l'objet d'une page spéciale.

La TODOList et le ChangeLog font l'ojvet d'une page spéciale.

 

Installation du Plugin Alexa-API

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 suffir de réinstaller par dessus l'autre version.

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

Mise à jour ou Changement de version (de Beta à Stable ou de Stable à Beta)

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.

Deux 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 deux solutions dépend du nombre de scénarios que vous avez développé 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.

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 boutonalexaapi1

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 boutonalexaapi2

Si vous ne souhaitez pas lancer le foç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 :

boutonalexaapi3

Le SCAN

boutonalexaapi4

Notez enfin que le scan peut être lancé à tout moment, il n'impacte pas les équipements déja 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 souhaiter, 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 (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#&sound=#sound#

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

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

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

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=#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 copnnaitre par coeur 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 configurez,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é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.

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 equipement device, il s'agit d'une liste déroulante, donc avec la synthaxe 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-API 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).

Ecrire un commentaire (87 Commentaires)

"Capabilities" des Amazon Echo

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

capacites

Ecrire un commentaire (0 Commentaires)

Alexa-API Changelog / Todo List

alexaapi

Table des matières

Change log

Todo List :

Equipe et besoin d'aide

 

Change Log

Version Beta en cours

  • Ajout de la détection des équipements smartHome
  • Ajout de la commande Announcement (identique à Speak avec une musique d'acceuil)
  • Ajout de la case à cocher "Activer les fonctions Domotique des Amazon SmartHome" dans la config
  • Ajout de la case à cocher "Activer les fonctions Multimedia (Player/Playlist)" dans la config
  • Ajout des commandes turnOn et turnOff pour les équipements smartHome
  • Correction petit bug sur l'utilisation de la commande Play Music Track via un scénario
  • Correction petit bug si les cases de config sont pas initialisées
  • La gestion des radio est passé d'un string à un select, donc on sélectionne dans une liste déroulante (attention, vérifiez vos scénarios #station# est devenu #select#)
  • La gestion des MusicTrack est passé d'un string à un select, donc on sélectionne dans une liste déroulante (attention, vérifiez vos scénarios #trackId# est devenu #select#)
  • La commande Radio sur un multiroom fonctionne avec une seule commande, plus de boucle
  • Les commandes Play/pause/Next/Previous sur le multiroom fonctionne avec une seule commande, plus de boucle
  • Les commandes action qui sont des listes ont maintenant leur champ avec les données de la liste déroulante, donc modifiable (Playlist, Radio, IdTrack)
  • Refonte du Widget des radios pour intégrer une liste déroulante
  • Refonte du Widget des pistes musicales pour intégrer une liste déroulante
  • Ajout de la commande info : providerName
  • Ajout de la commande info : contentId qui donne le TrackID d'une piste en cours de lecture ou d'une radio
  • Correction d'un bug qui ajoutait "Last interaction" aux smartHome
  • Correction d'un bug sur la commande Volume, il doit y avoir volume?value=#slider# et non volume?value=#volume#
  • Correction d'un bug sur la commande Volume, il doit y avoir command?command=#select# et non command?command=#command#
  • Ajout de notificationSounds dans le requeteur info
  • Ajout de "Reminders" dans le requeteur info
  • Ajout de la possibilité de choisir un sound à chaque alarme lors de sa programmation
  • Affichage du nom de la musique d'alarme sur l'onglet "Rappels/Alarmes"
  • Correction d'un bug sur la liste des devices qui peuvent lancer les routines, limitation aux Alexa
  • Bouton "Recharger configuration par défaut" déplacé à côté du bouton Sauvegarder
  • Refonte des widgets des commandes Speak et Annoucement (et changement des titres)
  • Refonte du widget de Last intéraction et changement de titre
  • Correction d'un bug sur la commande Reminder, il doit y avoir text=#message# et non text=#text#
  • Template pour scénario pour la commande Reminder refait
  • Ajout d'un son par défaut sur la commande Alarm pour ne pas que le test par le bouton Tester ne bug
  • Ajout d'une nouvelle commande info bluetoothDevice qui va donner le nom du device bluetooth connecté à votre Alexa
  • Ajout d'un paramètre Volume aux commandes Speak et Annoucement
  • Modification du template scenario de Speak et de Announcement pour ajouter le volume
  • Ajout du niveau de log dans la commande de lancement du serveur pour transmettre au nodejs cette info (pour la gestion du log du node)
  • Ajout d'une case à cocher "Activer le client MQTT Amazon (conseillé pour les fonctions multimédia)" dans la config
  • Ajout d'une détection d'erreur d'envoi de commande (dans remote), puis pause 8s et re-envoi de la même commande

Version 2019-10-27 18:05:00

  • Ajout d'un cron de relance du lien avec le serveur (par défaut à 03h33 du matin)
  • Le changement de volume d'un groupe "Multiroom" ne boucle plus, en une seule commande, il change le volume de tous les équipements du groupe
  • Ajout d'un requêteur de développement (pour tester les requêtes directes vers le serveur Amazon, pour utilisateurs avertis)
  • Intégration du lien MQTT avec ajout des commandes info : VoluleInfo InteractionInfo
  • Ajout des images de la Freebox Delta et de Echo Input
  • Ajout d'un lien entre le volume remonté de l'Echo et le curseur "volume" du widget
  • Ajout de la possibilité de choisir dans quelle pièce ajouter les nouveaux équipements détectés au scan
  • Les requêteurs sont disponibles pour les utilisateurs expérimentés (option dans la config) etant en mode debug
  • Ajout de la case à cocher "Activer les fonctions Domotique des Amazon SmartHome" dans la config
  • Ajout de la case à cocher "Activer les fonctions Multimedia (Player/Playlist)" dans la config
  • Augmentation du timeout de 2s à 3s pour les requetes http
  • Ajout de la fonctionnalité "Recharge configuration par défaut" pour chaque Device
  • Ajout de la fonctionnalité "Supprimer tous les devices !! et relancer un Scan" dans la config du plugin
  • Les routines sont mise à jour lors du scan
  • Les playlists sont mise à jour lors du scan
  • Correction d'un souci de majscule qui bloquait la commande DeleteAllAlarm
  • Ajout de l'information MusicEntity quand on a une alarme musicale
  • Ajout de la commande Play Music Track pour lire un Track Amazon Music grace à son Id
  • Refonte du template scénario pour la commande Radio
  • Refonte du template scénario pour la commande Play Music Track
  • Le logo d'un Device Player sur le desktop passe sur "Play" vert quand il est en lecture (ça s'actualisera au prochain chargement de page)
  • La playlist affiche une animation pour savoir quelle piste est en lecture et se décale progressivement.

Version 2019-09-22 09:41:38

  • Mise en place d'un test d'authentification lors du Refresh et d'une relance du serveur en cas de perte d'autorisation

Version 2019-09-15 08:22:00

  • Correctif des {{}} qui s'affiche en V4
  • Mise à jour de la librairie

Version 2019-09-08 15:01:32

  • Correctif pour simplifier les requetes au serveur dont les routines (une fois à chaque refresh, pas à chaque device)

Version 2019-09-05 18:44:02

  • Correctif pour ceux qui ont des vm's

Version 2019-09-03 13:18:15

  • Correction d'un bug sur ouverture des screen Historique, Routines, Rappels, Santé ...
  • Remplacement de tous les .on('click' par .off('click').on('click'
  • Ajout requêteur
  • Ajout de WhenNextMusicalAlarm
  • Ajout d'un contrôle transparent qui vérifie si la connexion est ok lors du CRON sinon relance le serveur (pour éviter Connexion Close)
  • Refonte général de l'affectation des commandes, elles sont affectées en fonction de la capacité affichée de chaque équipement
  • Recodage de la partie Multiroom, tout fonctionne !
  • Correction du bug "Alexa-API: Error: no csrf found"
  • Support nodejs v12 (prévision pour debian Buster)

 

Version : 2019-04-12 18:32:27

  • Ajout de l'écran Routines.
  • Lancement possible des routines dans l'écran Routines grace au bouton "play" tout à droite
  • Lancement des routines par scénario ou par commande action
  • Ajout d'une commande Refresh pour lancer la mise à jour de la liste des routines (utile pour le template des routines) et pour actualiser les valeur des WhenNextAlarm/Reminder...
  • Ajout un CRON15 pour vérifier la connexion avec Alexa et pour lancer le Refresh
  • Possibilité de ranger les lignes des Commandes action/info des devices (drag & drop)
  • Suppression des Speak+volume et Radio+Volume qui n'apporte rien puisque deux commandes lancées une derrière l'autre mais pose des soucis. Sera remplacé par de nouvelles commandes quand on saura récupérer le volume "en cours" d'Alexa.
  • Ajout d'une file des commandes et d'un controle de bonne execution, sinon au prochain lancement de serveur, les commandes sont executées.
  • Correction dans un souci sur la commande Push qui indiquait que le sdevice n'était pas spécifié
  • Sur l'écran Historique, identification des commandes envoyées via Jeedom

 

Version : 2019-03-19 19:43:34

  • Modification du script alexa-remote.js pour prise en compte des autres serveurs Amazon (.es .de ...)
  • Modification mineure du message Alexa-API: * Server listening on port 3456 * dans alexaapi.js
  • Correction d'un bug mineur sur le contrôle d'erreur d'envoi de la commande Volume
  • Ajout de la commande action : command qui permet de lancer pause|play|next|prev|fwd|rwd|shuffle|repeat
  • Ajout de la commande Radio
  • Correction d'un bug à la création des commandes sur isVisible
  • Correction souci mineur sur les évènements contenant Radio+Volume
  • Ajout du format HHMM pour WhenNextAlarm
  • Intégration de setDisplay et setconfiguration/request dans la boucle de création automatique de la commande et non dans la mise à jour
  • Ajout des paramètres type et status à la commande DeleteAllAlarms

 

Version : 2019-03-11 18:36:14

  • Ajout dans la configuration d'options pour définir le serveur Amazon et le serveur Alexa, et ainsi rendre international le plugin
  • Augmentation du temps d'attente avant l'ouverture de la fenetre de chargement du cookie Amazon
  • Agrandissement (en hauteur) de la fenetre de chargement du cookie Amazon

 

Version : 2019-03-11 12:41:20

  • Création Cookie Alexa, changement de couleur du bouton qui informe de l'ouverture de la fenetre d'identification (Vert->bleu) avec cercle qui tourne
  • Création Cookie Alexa, diminution du temps attente ouverture popup 2000ms->1500ms
  • Création Cookie Alexa, augmentation du temps de génération du Cookie avant lancement du démon (3=>4 clignotements)
  • Création de la commande WhenNextAlarm qui dit quand aura lieu la prochaine alarme (explications)
  • Création de la commande WhenNextReminder qui dit quand aura lieu le prochain rappel (explications
  • Création d'une commande DeleteAllAlarms pour supprimer toutes les alarmes et tous les rappels d'un device

 

Version : 2019-03-07 19:09:17

  • Recalage de la largeur des colonnes des Commandes des équipements
  • Verrouillage des Commandes (Action ou Info)
  • Refonte de la grille des Commandes, possibilité d'avoir des commandes qui envoient des résultats dans des Commandes Info
  • Correction de la commande alarm?&when=#when#&recurring=#recurring# par alarm?when=#when#&recurring=#recurring#

Version Stable : 2019-03-05 20:05:48

Elle permet à ce stade de :

  • 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

 


Plein de Version Beta xx-02-2019

  • Correction mineure sur l'affichage des boutons permettant de générer le cookie Amazon
  • Beaucoup d'autres choses avant sortie de la première version stable

Version Beta 14-02-2019

  • Ajout de la génération automatique des commandes Speak et Volume
  • Refonte complète de la génération du cookie Amazon
  • Blocage du lancement du Daemon tant que le cookie n'est pas présent

Version Beta 12-02-2019

  • Ajout du volet de gauche (panneau latéral)
  • Ajout d'un CSS pour améliorer l'affichage des équipements
  • Bug : Kill initCookie.js remplace Kill Cookie.js

Version Beta 09-02-2019

  • Ajout automatique des équipements Amazon Echo
  • Détection du type de chaque équipement ainsi que de sa Présence

 Todo List

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

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)

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

Equipe et besoin d'aide

L'équipe est la suivante :

26350534  Sigalou Développeur généraliste, touche à tout. Concepteur du plugin, en appui sur les améliorations, corrections de bugs et autres évolutions.
 Nebz  Nebz Développeur confirmé, très présent sur l'appui à l'utilisation de NPM et des dépendances, plein de bonnes idées.
jbecker  Jbecker Développeur très confirmé et rigoureux dans la présentation et la simplification des scripts, assure le lien avec le script ioBroker

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

 

 

 
Ecrire un commentaire (32 Commentaires)

Liens directs vers ...