Alexa / Controlicz

Forum dédié aux questions concernant la configuration de votre serveur sous Linux
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Alexa / Controlicz

Message par rimram31 »

Bon j'ai finalement réussi a faire quelques trucs en passant par Home Assistant (et ma "passerelle" ha/dz)

Mes capteurs de T fonctionnent (quel est la T de ...), les switchs (allumer/éteindre), je n'ai pas d'éclairages (j'en attends mais je pense les gérer directement sous ha) et j'ai réussi a faire fonctionner un thermostat (Alexa, règle la t de ...) mais j'ai du modifier le code de home assistant mais bizarrement un seul, Alexa n'en reconnait qu'un ensuite (soit souci reco vocale).

Mais un peu usé/fatigué de bosser là dessus... je reprendrais plus tard :-)

Quelques points intéressants avec Home Assistant:
- Pas de port ouvert a l'extérieur pour le skill "Smart Home", c'est géré par un websocket.
- Le skill Amazon ne fait que "passe plat", l'intelligence est dans le code de home assistant en local (celui que j'ai corrigé d'ailleurs).
- Home Assistant implémente aussi un "helper" pour coder des skills simples (intent ...). Peut-être une piste intéressante pour faire des trucs plus tordus. Celui là par contre demande d'avoir un endpoint chez soi (pour l'api).

https://community.home-assistant.io/t/h ... cz/8375/24

Mais je vais arrêter de spoiler le forum dz avec ha :D

Edit (qques jours après): Et je viens de réaliser/comprendre que l'extension "cloud" dont Alexa de Home Assistant va aussi devenir payante (5 roros/mois ...) donc faut que je revois ma copie :?
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Alexa / Controlicz

Message par rimram31 »

Bon suite de mes manip Alexa et domoticz ...

J'ai reussi aujourd'hui a faire fonctionner le skill original de madgeni https://github.com/madgeni/alexa_domo Comme pas mal de choses ont changé coté dev Alexa, il faut un peu s'adapter ... pas trivial.

Dans les grandes lignes, c'est la meme chose que la doc d'origine (sur le github). Je me suis aussi appuyé sur cette doc https://developer.amazon.com/fr/blogs/p ... -Login-wit pour la partie Account linking (meme si je vois pas l'usage dans ce cas ou on est seul a utiliser mais j'ai fait betement ...)

Bon ça demande la création d'un compte AWS (cloud) pour la lambda qui va demander de donner une carte de paiement ... L'usage qui est fait, uniquement appel de lambda, est "free" (perpétuel) mais bon, a surveiller quand même. J'utilise en pro, faut rester prudent, on peut mettre une alarme mail (partie billing) au cas ou.

Pas mal de gymnastique coté création de la skill dans la partie dev, visiblement les choses ont beaucoup changé, j'ai défini une skill v2, je pense avoir bon mais je peux me tromper. Un truc marche moyen, c'est régler une T (thermostat) qui est bien fait (action) mais Alexa indique un souci.

Meme logique coté dz, il faut rendre accessible en https mettre les devices souhaités dans des plans (j'en un un du coup nommé alexa :-)). Pour donner un nom "alexa", le mot clef redevient Alexa_Name dans le champ description vs Controlicz.

Après, pas fan du tout de la version de madgeni, nodejs, la lambda pèse 1,7M!!! et a la lecture du code vraiment pas clair ... je projette de reprendre ça en python + v3 avec une base plutot du style de https://github.com/auchter/haaska/blob/master/haaska.py

Mais si vous voulez un skill toujours gratuit permettant d'avoir des T ça le fait. Pour le réglage d'un thermostat, pas génial et apparemment augmenter/baisser fonctionne mal, buggé.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
mulot35
Messages : 200
Inscription : 20 déc. 2014, 00:27

Re: Alexa / Controlicz

Message par mulot35 »

Salut,
Pensez vous qu'il y a un skill en préparation par les grands esprit de domoticz ?
(Un truc officiel qui tourne bien)
Raspi B+ avec Domoticz ,6 Chacon 2300W , 6 Sondes Oregon, 1 Sonde DIY Oregon ds18b20, Téléinfo sur photovoltaique, script backup ftp & anti offline.
fabienp
Messages : 248
Inscription : 07 mai 2016, 17:34

Re: Alexa / Controlicz

Message par fabienp »

+1 mulot35 , ça serais bien!
je comprend pas qu'un skill standard soit pas sortie pour la domotique, ou l'on pourrait créé juste dans routines, une phrase, lance une commande http. ça existe déjà mais dans les choix d'action sur routine, on peut mettre plein de truc, mais pas faire executer un lien http type API...
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Alexa / Controlicz

Message par rimram31 »

Ben pour mulot35 le skill c'est justement controlicz, il marche bien supporte alexa et google home, mais passe payant le sujet des derniers posts. Si tu veux utiliser sans galerer, c'est par la.

@fabienp un skill type 'dev' je vois pas, le business c'est de vendre des devices, des services pas de bosser gratos. Peut etre ifttt, un skill pas mal pour du diy, node-red https://flows.nodered.org/node/node-red ... home-skill apres si le bonhomme decide un beau jour de plier c'est pas commercial.
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Damsee
Messages : 87
Inscription : 26 déc. 2016, 22:21

Re: Alexa / Controlicz

Message par Damsee »

rimram31 a écrit :Bon suite de mes manip Alexa et domoticz ...

J'ai reussi aujourd'hui a faire fonctionner le skill original de madgeni https://github.com/madgeni/alexa_domo Comme pas mal de choses ont changé coté dev Alexa, il faut un peu s'adapter ... pas trivial.
Bonne nouvelle néanmoins :)
rimram31 a écrit :Meme logique coté dz, il faut rendre accessible en https mettre les devices souhaités dans des plans (j'en un un du coup nommé alexa :-)). Pour donner un nom "alexa", le mot clef redevient Alexa_Name dans le champ description vs Controlicz.
Comme j'utilisais Controlicz avant que cela ne devienne payant, j'ai déjà les devices dans des plans.
Le code "Alexa_name" fonctionne toujours du coup ?

Pour rendre accessible le site en HTTPS, le truc bien avec Controlicz était qu'il n'y avait qu'une IP source.
Qu'en est-il de tes tests ? Faut-il ouvrir en "grand" ? ou certaines IP seulement ? voire une IP unique ?
rimram31 a écrit :Après, pas fan du tout de la version de madgeni, nodejs, la lambda pèse 1,7M!!! et a la lecture du code vraiment pas clair ... je projette de reprendre ça en python + v3 avec une base plutot du style de https://github.com/auchter/haaska/blob/master/haaska.py
Côté taille, en quoi est-ce génant ? Sinon, on peut aussi de "minifier" le code JS/JSON pour gagner un peu (quasi 50% vu le code).
rimram31 a écrit :Mais si vous voulez un skill toujours gratuit permettant d'avoir des T ça le fait. Pour le réglage d'un thermostat, pas génial et apparemment augmenter/baisser fonctionne mal, buggé.
Peux-tu allumer/éteindre un switch classique ?

Merci pour tes retours :D
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Alexa / Controlicz

Message par rimram31 »

Damsee a écrit :...Merci pour tes retours :D
C'est effectivement de nouveau Alexa_Name, au besoin ça peut se changer => https://github.com/madgeni/alexa_domo/b ... Devices.js avec cette install chacun a sa copie du skill (d'ailleurs je doute du besoin de l'account linking)

Une seule IP source, non pas dans cette version, c'est la lambda Amazon, pour nous Amazon Irlande, qui va appeler. Les ip range Amazon de la région doivent pouvoir se trouver pour un "petit" filtrage. J'avais utilisé la version controlicz mais me souviens pas avoir mis de filtrage.

Pour la taille, probablement déformation pro (je fais de l'info cloud ...), je trouve ça énorme c'est tout pour faire un appel http in fine mais "ça marche" :D

Après oui tout marche, on peut voir ce qui est "déclaré" par device dans le source du lien plus haut (appliancename.actions). Avec mon install, je fais marcher des switchs, obtient la T d'une sonde (quelle est la T de ...), pas testé mais vu le code (voir au meme endroit) ça doit supporter le setBrightness, setColor, setColorTemp.

Je fait aussi marcher le "regle la T de ..." mais petit bug, la T est bien changée mais Alexa indique un probleme (j'ai une piste, le statut, champ "context" remonté a Alexa est absent).

Après faire un controlicz like n'est pas bien compliqué mais il faut alors un hébergement + un peu de code pour gérer les inscriptions (+ urls dz) et adapter la lambda. Si il y a des candidats :-) coté lambda là la liaison de compte est nécessaire pour coté lambda identifier l'utilisateur (et donc l'url de son dz).
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Damsee
Messages : 87
Inscription : 26 déc. 2016, 22:21

Re: Alexa / Controlicz

Message par Damsee »

Bon, c'est effectivement un peu pénible à configurer mais on y arrive et cela fonctionne comme Controlicz anciennement.
=> switch lumière : OK
=> volet en RFY : OK
=> récupérer la température de sondes : OK
N'ayant pas de système Hue ou équivalent, je n'ai pas testé les commandes setBrightness, setColor, setColorTemp.
En tout cas, on y arrive avec la doc de Madgeni : https://github.com/madgeni/alexa_domo

Seul souci avec les radiateurs qui sont des switchs "selector" mais de mémoire, cela ne fonctionnait pas avec Controlicz non plus.
Du coup, j'ai récupéré un système fonctionnel.

Côté interrogation, l'accès AWS est gratuit 1 an... OK les requêtes pour l'application Lambda sont gratuites jusqu'à 1 million de requêtes mais que va t-il se passer dans 1 an ? A suivre... (comment fait-on pour mettre une alerte sur la facturation ?)

Pour sécuriser l'accès en tout cas et en 1h de test, Amazon n'est venu chez moi qu'avec 1 seule IP : 34.247.161.108
Cela permet de restreindre l'accès extérieure sur un port dédié à cette IP ; à voir dans le temps s'il n'y a bien qu'une seule IP.

@rimram31 : merci pour les tuyaux !
(si tu as d'aventure une version Python plus évoluée, je veux bien la tester aussi mais le code est hébergé chez Amazon, le poids du code m'importe peu tant qu'il tourne correctement)
rimram31
Messages : 659
Inscription : 04 oct. 2015, 11:22
Localisation : Toulouse

Re: Alexa / Controlicz

Message par rimram31 »

Pour amazon les appels de lambda font partie de l'offre sans duree d'expiration https://aws.amazon.com/fr/free/#legal donc pas de soucis apres 1 an. Pour les notifications si cout il faut aller (compte aws) dans la partie billing/facturation -> preferences pour se faire envoyer un mail si depassement.

Pour ton souci de switch, il y a peut etre moyen d'adapter le type de device https://github.com/madgeni/alexa_domo/b ... Devices.js il faut voir ce que retourne l'api comme type http://www.domoticz.com/wiki/Domoticz_API/JSON_URL's le 'mapping' device/actions se fait sur ce critere.

Le parametre taille peut (eventuelement) jouer sur le temps de reponse, plus une lambda est 'lourde' plus elle est longue a 'reveiller' a voir. Le python s'est aussi que je connais mieux que nodejs :)

Pour les range ip il y en a pas mal en eu-west-1 (Ireland) -> https://ip-ranges.amazonaws.com/ip-ranges.json (https://docs.aws.amazon.com/general/lat ... anges.html)
Raspberry Pi 2 + carte RF pi "maison" + Domoticz
Sonde Oregon + Aliexpress - Prises Chacon (3500W) - 1wire DS18B20
Damsee
Messages : 87
Inscription : 26 déc. 2016, 22:21

Re: Alexa / Controlicz

Message par Damsee »

Merci pour la notification du billing AWS, c'est mis en place :)

Par contre, je confirme... les IP changent ! Va falloir jouer avec iptables du Pi hébergeant Domoticz pour restreindre l'accès car ma bbox ne gère pas les ranges.
Ayant fait qques tests hier soir sur le skill, cela ne fonctionne plus, va falloir que je me repenche sur le sujet lol... à suivre :lol: :lol:
Répondre