Ce Forum passera en lecture seule en janvier 2020
Image
Merci de vous rendre sur https://community.jeedom.com maintenant pour vos prochains postes ;)

Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Pour échanger sur les plugins classés en catégorie "Communication"
Allen
Timide
Messages : 20
Inscription : 14 avr. 2015, 18:45

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Allen » 09 août 2018, 22:22

Hello à tous,
Chouette sujet ! J'avais justement opté pour la solution de Myki2000 (fonction AWS lambda d'un coté, Skill de l'autre), problème, j'ai énormément de mal à comprendre toute cette structure... (et je suis pourtant du "métier"). Le seul truc que je "comprends" plus ou moins, c'est le code javascript...
Au passage, il me semble avoir d'ailleurs cru lire qu'AWS devenait payant (au delà d'un certain quota de consommation ?), mais j'imagine qu'avec qques appels par jour, il y a peu de risque ?

J'avais (de nouveau) laissé Jeedom au placard, et Alexa, parce que les limitations géographique d'Amazon m'avait zappé mon compte Spotify (sans possibilité de le remettre !), et je viens de remettre tout ça en route (et trouvé la solution pour Spotify).
Il semble que le skill marche tjs plus ou moins (mais en effet en anglais ? impossible de sélectionner le français ?), l'interaction est correctement appellée sur mon jeedom (malgré la réponse "There was a problem with the requested skill's response". )
skill.png
skill.png (71.78 Kio) Consulté 1360 fois
Myki, pourquoi dis tu que ta solution ne fonctionne plus ?
Myki2000 a écrit :
28 avr. 2017, 11:56


Bon, voila le code accompagné d'une petite procédure vite faite/mal faite:

https://www.dropbox.com/sh/ue65r2zez2ym ... ylcpa?dl=0

La procédure: skill_installation.docx
Le code (fichier zip a uploader tel quel dans sa lambda function): jeedom_alexa_skill.zip
L'intent Schema pour la creation du skill: intentshema.txt
Le sample Utterances à mettre lors de la creation du skill: SampleUtterances.txt

Bonne chance :-)
Au passage, si qqu'un a un "cours" à conseiller pour comprendre un peu mieux les skills Alexa, et y voir plus clair dans ce que Myki et vous avez implémenté, n'hésitez pas...

Merci,

Allen

Jeff7506
Timide
Messages : 9
Inscription : 10 juin 2018, 15:16

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Jeff7506 » 14 août 2018, 10:11

Bonjour Jaska,

Merci beaucoup pour ton doc, c'est très claire.
Mais ca ne marche pas chez moi :)

Quand je lance "demande à jeedom quelle est la température du salon ?" , il me répond : "Il y a eu un problème avec la réponse de la Skill demandée"

Je pense que je ne suis pas trop loin, mais je seche un peu.

Voila le code json :

"request": {
"type": "IntentRequest",
"requestId": "amzn1.echo-api.request.2eaf77c8-d356-42ac-a6f8-441b181a8075",
"timestamp": "2018-08-14T07:56:56Z",
"locale": "fr-FR",
"intent": {
"name": "JeedomTemperatureIntent",
"confirmationStatus": "NONE",
"slots": {
"Piece": {
"name": "Piece",
"confirmationStatus": "NONE"
}
}
}

Si qq'un a une idée :)

Merci beaucoup

neurall
Timide
Messages : 472
Inscription : 25 avr. 2016, 11:39

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par neurall » 01 sept. 2018, 15:20

Jeff7506 a écrit :
14 août 2018, 10:11
Bonjour Jaska,

Merci beaucoup pour ton doc, c'est très claire.
Mais ca ne marche pas chez moi :)

Quand je lance "demande à jeedom quelle est la température du salon ?" , il me répond : "Il y a eu un problème avec la réponse de la Skill demandée"

Je pense que je ne suis pas trop loin, mais je seche un peu.

Voila le code json :

"request": {
"type": "IntentRequest",
"requestId": "amzn1.echo-api.request.2eaf77c8-d356-42ac-a6f8-441b181a8075",
"timestamp": "2018-08-14T07:56:56Z",
"locale": "fr-FR",
"intent": {
"name": "JeedomTemperatureIntent",
"confirmationStatus": "NONE",
"slots": {
"Piece": {
"name": "Piece",
"confirmationStatus": "NONE"
}
}
}

Si qq'un a une idée :)

Merci beaucoup
le "value" de la pièce est vide, donc je pense que tu as pas bien préparé les phrases avec les variables à transmettre.
Jeedom mini+ Z-Wave+
Minix Z83 eMMC 32Mo, Stick Zwave Gen 5, quelques dizaines de modules divers et variés

Jeff7506
Timide
Messages : 9
Inscription : 10 juin 2018, 15:16

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Jeff7506 » 02 sept. 2018, 10:31

Bonjour,

Merci pour la réponse. Effectivement j' ai loupé une étape. Mais ca ne marche tjrs pas :

"request": {
"type": "IntentRequest",
"requestId": "amzn1.echo-api.request.938f415c-8e2b-490b-84be-d373b600f21a",
"timestamp": "2018-09-02T08:27:56Z",
"locale": "fr-FR",
"intent": {
"name": "JeedomTemperatureIntent",
"confirmationStatus": "NONE",
"slots": {
"Piece": {
"name": "Piece",
"value": "salon",
"resolutions": {
"resolutionsPerAuthority": [
{
"authority": "amzn1.er-authority.echo-sdk.amzn1.ask.skill.8fefda94-3a1b-43c0-a949-8ff98e9126dd.AMAZON.Room",
"status": {
"code": "ER_SUCCESS_MATCH"
},
"values": [
{
"value": {
"name": "Salon",
"id": "5fdce05694b60555df36e20eee8d109a"
}
}
]
}
]
},
"confirmationStatus": "NONE"
}
}
}
}

Comment savoir si j'arrive bien jusqu'a Jeedom ?

Merci pour votre aide

o0Mitsuomi0o
Timide
Messages : 17
Inscription : 15 nov. 2016, 08:15

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par o0Mitsuomi0o » 04 sept. 2018, 16:33

Bonjour à tous,

J'ai suivi entièrement le tuto de Jaska et je suis coincé, lorsque je test la skill avec la consigne suivante : allume la lumière de l'entrée, il me répond "Désolée, je n’ai trouvé aucun appareil intitulé lumière entrée". Il y a t'il une configuration particulière a faire côté jeedom (en dehors des interaction) ? Pour info je n'ai pas de redirection de port de paramétrée vu que j'utilise les dns de jeedom

Merci d'avance

Jeff7506
Timide
Messages : 9
Inscription : 10 juin 2018, 15:16

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Jeff7506 » 05 sept. 2018, 09:50

Bonjour,

De mon coté c’était le port à mettre en 443 pour faire du HTTPS.

rsimonfr
Timide
Messages : 167
Inscription : 08 juil. 2014, 15:00

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par rsimonfr » 09 sept. 2018, 18:03

perso j'ai des erreurs 499 dans le log de nginx de jeedom ( a priori de timeout) de maniere assez aléatoire (mais tres fréquentes) j'ai essayé de jouer sur les timeouts de la session dans la fonction lambda mais c'est pas probant
une idée ?

jaska21
Timide
Messages : 39
Inscription : 29 janv. 2016, 10:30

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par jaska21 » 20 sept. 2018, 16:47

Bonjour à tous,

Et désolé pour les temps de réponses...
Pour reprendre les questions de puis le début (en tout cas, celles qui n'ont pas eu de réponses :) )

@Allen : AWS devient effectivement payant au delà d'une certaine quantité d'utilisation (je crois que l'unité de mesure est la milliseconde de traitement)... Mais si ta Skill reste une skill perso, aucun risque que tu paies (sauf si tu t'amuses à allumer/éteindre tes lumières 500 fois par jours :lol: )

@Jeff7506 (entre autre) : Pour être sûr que la skill envoie bien les demandes à Jeedom, il faut aller dans "Configuration" (de Jeedom), puis aller dans l'onglet "Logs" et mettre "Interact" sur "Debug"... et comme ça, tu verras en temps réel si une demande d'interaction a été prise en compte par Jeedom (ce qui a été demandé, et ce que Jeedom a répondu)

@rsimonfr : il faudrait vérifier si c'est pas au niveau de l'interaction en elle-même que ça coince... Trop de cas à traiter pourrait éventuellement provoquer un timeout (mais j'y crois que moyen)

voilà voilà

Bonne journée

rsimonfr
Timide
Messages : 167
Inscription : 08 juil. 2014, 15:00

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par rsimonfr » 22 sept. 2018, 17:19

en fait dans mon cas le temps d'exécution de la fonction lambda etait trop court par rapport au temps de réponse moyen de mon Jeedom
je l'ai augmenté et maintenant ca va .
perso j'ai rajouté une Intent pour gérer la liste des courses que j'avais déjà dans les intéractions jeedom.

jaska21
Timide
Messages : 39
Inscription : 29 janv. 2016, 10:30

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par jaska21 » 24 sept. 2018, 18:00

Merci pour ton retour rsimonfr... C'est bon à savoir ;)

Sli3H3llFiR3
Timide
Messages : 127
Inscription : 31 juil. 2017, 22:45

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Sli3H3llFiR3 » 25 sept. 2018, 12:11

Pour ceux que cela intéresse et qui sont plus à l'aise en Java (comme moi, le Js c'est beurk !!! Oui je sais on ne dis pas c'est pas bon, mais j'aime pas !! D), je peux également fournir un template pour Alexa et AWS.
Il faudra juste que vous implémentiez vos intents (1 classe java) et d'utiliser les SDK 2 Alexa skill kit.

Je suis en train de finaliser les méthode pour la gestion des attributs (session, intent et persistant).
To do également : la gestion des l'adresse Jeedom et de la clé API via les variables d'environnement AWS en mode "Sécure" (nécessite un clé de cryptage AWS que vous pouvez configurer.

Pour l'interrogation de Jeedom, j'ai implémenter les requête GET et POST (url-encoded) pour ceux qui veulent plus de sécurité (combiné au clé de cryptage, ça peux être pas mal niveau SAFETY et CYBER).:)

Si cela vous intéresse dites le, et je ferais un package :)

jaska21
Timide
Messages : 39
Inscription : 29 janv. 2016, 10:30

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par jaska21 » 26 sept. 2018, 16:40

Merci pour ta proposition Sli3H3llFiR3
Tu peux déjà me compter parmi les personnes intéressées par ton package ;)

Sli3H3llFiR3
Timide
Messages : 127
Inscription : 31 juil. 2017, 22:45

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Sli3H3llFiR3 » 30 sept. 2018, 15:25

jaska21 a écrit :
26 sept. 2018, 16:40
Merci pour ta proposition Sli3H3llFiR3
Tu peux déjà me compter parmi les personnes intéressées par ton package ;)
Pas de soucis.

Je finalise le tout, Vérifie le bon fonctionnement avec la gestion de la sécurité (clé AWS pour passage utilisation des variable d'environnement AWS) et dès que c'est ok, je diffuserai le .jar

P.S : a savoir, que pour la gestion des variables d'environnements sécurisé avec une clé KMS ça coute 1$/ mois (pour la clé) et 20000 requêtes gratuites.

Bien évidemment dans mon template d'"Intent" je ferais un exemple avec les clé dans le code source Java et 1 exemple dans en mode variable d'environnement "non chiffrée". Après à chacun de choisir la méthode voulue !

adarme47
Timide
Messages : 12
Inscription : 20 août 2018, 14:22

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par adarme47 » 01 oct. 2018, 16:58

Un grand merci pour ce super tuto qui m a permis de créer une skill fonctionelle et réactive, qui colle parfaitement à mes besoins et s'adapte à la façon dont j ai créé "mon" jeedom.

les skills dites "maison connectée" permettent de créer les commandes sans avoir à appeler la skill : "alexa demande à jeedom...", qui alourdit un peu les échanges.
Quelqu un sait il ce qu il faudrait faire pour rendre une skill perso "compatible" maison connectée?

jaska21
Timide
Messages : 39
Inscription : 29 janv. 2016, 10:30

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par jaska21 » 03 oct. 2018, 11:38

Bonjour adarme47
Et merci pour les encouragements ;) Content que mon tuto ai pu t'aider

Pour ta question, a savoir passer une skill "custom" en skill "Smart Home", ce n'est pas possible de manière simple, car les logiques sont assez différentes. Par exemple, dans la Smart Home, tu as une notion de Discovery (qui permet de découvrir les objets connectés) et des "Capabilities" propres à chaque type d'objet (un capteur de température ne fait pas les mêmes choses qu'un interrupteur ou qu'un volet roulant)
Donc, c'est un peu plus "velu" en terme de programmation :D

l'avantage de la skill Custom, c'est que tu n'a pas besoin de savoir à quel type d'objet tu t'adresses, il suffit juste que ton Jeedom le sache ;)
l'inconvénient, c'est qu'on s'éloigne d'un langage "naturel" (et c'est quand même là tout l'intéret d'un assisatnt connecté !)

En outre, je crois que tous les type d'objets connectés ne sont pas encore dispo en France. Tout ce qui est Capteurs, Ampli, TV... ça va arriver, mais pour l'instant c'est que pour les skill US (corrigez moi si je dis une conn..ie :D )

Et, en plus, je viens de voir que la skill officielle Jeedom smart home vient d'être publié !!! C'est la fête !
Merci aux développeurs pour tout le boulot effectué !!

Bonne journée

PS : Si ça intéresse du monde, j'ai 2-3 bouts de code pour créer votre skill Smart home...

Sli3H3llFiR3
Timide
Messages : 127
Inscription : 31 juil. 2017, 22:45

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Sli3H3llFiR3 » 04 oct. 2018, 16:16

Voici une première version pour coder ces Intents en Java pour ce que cela interesse.

Le package comprend :
- Les sources
- Le pom.xml (Maven)
- La javadoc
- un READ.ME pour savoir comment créer une Intent.

J'ai souhaité que cela soit assez simple, même pour ceux qui n'ont pas un gros niveau en java (voir qui sont totalement novice).
Il suffit donc d'ajouter une simple classe en suivant les instructions. Définir les actions à l'intérieur et puis c'est tout. Tous les reste est automatisés (la découverte des services, des intents etc...

Les évolutions :
Un mode "Secours" (envoi d'une requête à un jeedom de backup en cas de non réponse du serveur principal (ce que j'ai :) !).
Les Skills "Smart Home" permettant d'avoir.
Gestion d'attributs persistant (utilisation de la Bdd DynamoDb).

Pour toutes questions ou suggestions, n'hésitez pas à me contacter..

Surtout pour les parties "Fonctions Lambda" et "Skill" liser bien la très bonne documentation de jaska. Tout est pareil. Si j'ai un peu de temps, j'ajouterai une partie "Création de variables d’environnement cryptées). Sinon les infos sont là :
https://docs.aws.amazon.com/fr_fr/lambd ... nsole.html

P.S : Pour le coup, j'ai beaucoup axé le package sur Jeedom, mais en créant un nouveau service, on peut envisager des requêtes vers un autre serveur (Exemple lancement de build Jenkins, appel d'une Bdd, envoie de requête sur des appareils via API, etc...)
Pièces jointes
AlexaJeedom-1.0.7-RELEASE.7z
Package pour Skill Alexa
(505.95 Kio) Téléchargé 49 fois

jaska21
Timide
Messages : 39
Inscription : 29 janv. 2016, 10:30

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par jaska21 » 15 oct. 2018, 10:07

Bonjour à tous,

Merci Sli3H3llFiR3 pour ce gros boulot !!
ça va faire plaisir aux développeurs qui sont un poil déçu par la skill officielle Jeedom (j'ai regardé les avis sur Amazon... Certains ont la dent TRES dure !! :o)

Bonne journée

Jeff7506
Timide
Messages : 9
Inscription : 10 juin 2018, 15:16

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Jeff7506 » 15 oct. 2018, 14:35

Bonjour,

Merci a tous pour les infos.

Est-il possible de faire la même chose en c# ?

Sli3H3llFiR3
Timide
Messages : 127
Inscription : 31 juil. 2017, 22:45

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Sli3H3llFiR3 » 07 nov. 2018, 16:05

jaska21 a écrit :
15 oct. 2018, 10:07
Bonjour à tous,

Merci Sli3H3llFiR3 pour ce gros boulot !!
ça va faire plaisir aux développeurs qui sont un poil déçu par la skill officielle Jeedom (j'ai regardé les avis sur Amazon... Certains ont la dent TRES dure !! :o)

Bonne journée
Merci
Et en plus, on peux vraiment faire tous les microservices désirés, faire des traitement plus spécifiques directement au niveau de la skill :)
Dernière édition par Sli3H3llFiR3 le 07 nov. 2018, 16:08, édité 1 fois.

Sli3H3llFiR3
Timide
Messages : 127
Inscription : 31 juil. 2017, 22:45

Re: Petit guide pour créer une Skill perso faisant communiquer Jeedom et Alexa

Message par Sli3H3llFiR3 » 07 nov. 2018, 16:08

Jeff7506 a écrit :
15 oct. 2018, 14:35
Bonjour,

Merci a tous pour les infos.

Est-il possible de faire la même chose en c# ?
Les langages possible sont :

Python 2.7 ou 3.6
NodeJs 4.3, 6.10, 8.10
Java 8
Go 1.X
.NET Core 1.0, 2.0 (les 2 en C#) et 2.1 (C# et PowerShell)

Répondre

Revenir vers « [Catégorie] Communication »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 2 invités