But du guide:
Concepts traités:
Composants logiciels utilisés:
| Pré-requis:
Dispositifs physiques utilisés:
|
GUIDE plus indiqué pour: | |
Notes et avertissement
| |
Avis de conduite: 1.8 |
Abstrait
L'avènement sur le marché de Haut-parleur intelligent change lentement les habitudes de beaucoup de ceux qui, chaque journameNte, ils deviennent familiers et familiers avec la possibilité d'interagir avec un vrai e propremier assistant personnel simplement en utilisant la voix et le langage naturel.
Amazon Écho est l'un de device de succès plus large et plus reconnu. Comme nous l'avons expliqué, cette enceinte intelligente utilise le logiciel pour travailler Alexa, qui est disponible, même pour les haut-parleurs intelligents proproduit par des tiers, ainsi que comment appcommunication autonome pour smartphones / tablettes Android et iOS.
Toute enceinte intelligente que vous utilisez Amazon Alexa peut être facilement intégré à Home Assistant.
Mais pourquoi, puisque de nombreux composants domotiques déclarent compatibilità avec Amazon Echo - et peut donc être contrôlé "en usine" par un tel Smart Speaker - il est utile de les intégrer à ces derniers Home Assistant? [Avant de répondre à la question, qui lit avoir clair le concept d'intégration dans la domotique.]
simple: pourquoi par un HUB le personnel aime Home Assistant nous sommes en mesure de définir des scénarios, des accessoires virtuels, des automatisations autrement non définissable avec l'utilisation séparée des composants individuels. Comme expliqué aussi dans un épisode de notre podcast, des scénarios comme "bonne nuit"(Qui peut-être quand évoqué éteindre toutes les lumières, le téléviseur et activer l'alarme de périmètre) simplement ils ne peuvent pas être réalisés sans l'aide d'une plate-forme commune, ou d'un HUB personnel.
Au moment où il s'intègre comme ça HUB personnel (donc Home Assistant dans le cas particulier de ce guide) avec Amazon Echo, vous pouvez vérifier tous les composants et la entité - quels scénarios (et autres) - définis par mon assistant personnel. Une des nombreuses raisons d’adopter un HUB personnel pour le propremière domotique. Un focus sur ce sujet important est disponible ici.
Les éléments (définis domini) défini dans la configuration Home Assistant et contrôlable par l'intégration avec Amazon Alexa (Amazon Echo et haut-parleurs compatibles) sont:
- alerter (alertes d'alarme)
- automation (automatisation) - on / off
- (climatiseurs et thermostats) - réglage de la température cible.
- couverture (foncé)
- ventilateur (fans) - on / off
- Salles de Groupes (Groupes)
- entrée booléenne (entrée booléenne)
- lumière (lumières)
- bloquer (serrures) - ouverture et fermeture
- media_player (riprolecteurs multimédias) - riproduction, pause, arrêt, réglage du volume, réglage du volume, piste suivante / précédente
- scène
- scénario - activation / activation uniquement
- capteur (Capteurs)
- interrupteur (commutateurs)
N.b. À intégrer Amazon Alexa avec Home Assistant là deux routes:
Ce guide vous montre comment faire la deuxième chance, le libre. |
Enfin, il est bon de savoir que Alexa peut être intégré à Home Assistant aussi comment reproproducteur multimédia et que système de notification vocale, ou "le faire parler" automatiquement lorsque certaines conditions se présentent dans la domotique.
Il commence
- Conditions préalables
- Activer l'API et Alexa
- JETON création longue vie
- Création du package pour AWS
- Amazon Console développeur
- Alexa Developer Console
- Amazon Services Web (AWS)
- Achèvement des compétences
- ESSAI
- Définition de domaines
- Ajouter la compétence à Alexa
Conditions préalables
Comme indiqué ci-dessus, les principaux prérequis ils sont deux:
- version de Home Assistant supérieur ou égal à 0.62;
- Home Assistant configuré pour le contrôle à distance via HTTPS.
Le deuxième point est que le proexemple Home Assistant est accessible à distance et par proTocol HTTPS. Si vous utilisez Home Assistant installé sur Raspberry (installation manuelle o HASSBIAN) est disponible un guide détaillé pour proaffaissement.
Il y a aussi des préalables à corollaire.
PRE-BESOINS SUR LA BASE DE L’INSTALLATION HOME ASSISTANT
UTILISATEURS RASPBIAN (ou Linux) | Les utilisateurs qui utilisent Home Assistant installé sur Raspbian (également modélisation HASSBIAN) ont le seul besoin de appdemande instamment de pouvoir se connecter au système de fichiers Raspbian via SFTP (en utilisant Filezilla ou d’autres outils) pour récupérer un fichier qui sera généré par Raspbian. |
UTILISATEURS HASSIO | Les utilisateurs qui utilisent HASSIO ils doivent nécessairement avoir installé SSH o Serveur Samba (HASSIO Add-on) pour récupérer un fichier qui sera généré par HASSIO même. |
UTILISATEURS Windows | Les utilisateurs qui utilisent Home Assistant installé sur Windows - en plus des conseils pour changer l'environnement d'exploitation sur lequel l'exécuter - il est nécessaire d'avoir un ordinateur avec le système d'exploitation RaspbianmacOS/ Linux, nécessaire pour générer le fichier attendu dans l’une des étapes suivantes. |
UTILISATEURS MAC | Les utilisateurs qui utilisent Home Assistant installé sur Mac doivent appexhorte que, via "Terminal", les commandes suivantes soient disponibles:
S'ils ne sont pas présents, installez-les. Vous pouvez également utiliser un ordinateur Linux / Raspbian, nécessaire pour générer le fichier attendu dans l’une des étapes suivantes. |
Enfin, il est (évidemment) nécessaire que su Home Assistant non est opérationnel intégration payante via Nabu Casa.
Si nécessaire, désactivez-le première pour commencer avec l'exécution de ce guide.
Activer l'API et Alexa
Tout d'abord, il est nécessaire d'indiquer à Home Assistant pour activer le composant "API" et le composant "Alexa".
La configuration du fichier configuration.yaml c'est trivial:
api:
alexa:
smart_home:
recommencer Home Assistant.
Nb Remarquez comment il s’agit de deux blocs distincts. Le premier active le composant "API"Le second"Alexa».
À ce stade, Home Assistant exposera propremière API à
https://il_tuo_dominio:porta/api/alexa/smart_home
Adresse qui sera utilisée par l'intégration pour interfacer le cloud AWS avec notre exemple de Home Assistant.
L'adresse que nous allons exposer vers AWS ce ne sera que la première partie, à savoir:
https://il_tuo_dominio:porta/api
JETON création longue vie
À ce stade, il est nécessaire de créer un "JETON longue vie", Ou une clé valable pour les années 10.
Pour ce faire, depuis une interface Home Assistant Cliquez sur le cercle de couleur contenant la première lettre de votre utilisateurname situé dans le coin supérieur gauche, dans la colonne de gauche.
Une fois que vous avez accédé à la page, décollez le bas jusqu'à ce que vous la trouviez. la case suivante:
Cliquez maintenant sur "CRÉER UN JETON"Et, à la demande du nom du jeton à créer, entrez"haaska».
À ce stade, sauver la ficelle qui va venir prodéveloppé par Home Assistant.
Création du package pour AWS
À ce stade, il est nécessaire de générer un package contenant “haaska"Pré-configuré avec TOKEN appena créé (et son URL de connexion un Home Assistant).
Ce fichier peut être généré:
POUR CEUX QUI ONT RASPBIAN / LINUX /MAC
depuis Terminal, exécutez:
sudo apt-get install python3 python3-venv python3-pip zip unzip -y
cd ~
mkdir temp
cd temp
sudo wget https://github.com/mike-grant/haaska/archive/master.zip
unzip master.zip
En cas d'erreur sur commande wget et / ou décompressez, exécutez:
sudo apt-get update
sudo apt-get install zip wget -y
puis relancez le wget.
Puis:
cd haaska-master/config
sudo cp config.json.sample config.json
sudo nano config.json
À ce stade, vous serez confronté à une configuration de ce type:
{
"url": "http://localhost:8123/api",
"bearer_token": "",
"debug": false,
"ssl_verify": true,
"ssl_client": []
}
A ce stade, prenez soin de changer la configuration en entrant:
- sur le terrain "url", L'adresse de l'API (comme expliqué ci-dessus, exemple d'adresse rouge modifié selon proavant la configuration);
- sur le terrain "bearen_token“, La chaîne générée dans le étape concernant TOKEN longue vie.
Nb Remarquez comment l'adresse passe de "http" à "https".
Enregistrez et quittez (CTRL + X, Y, entrez).
Enfin:
cd ..
make
À ce stade, on effectuera proCedura automatique qui générera un fichier appelé haaska.zip. Récupérez-le via Filezilla (utilisez SFTP) en le connectant à l'adresse IP de Raspberry.
UTILISATEURS HASSIO
Stessa proprocédure ci-dessus, mais en utilisant les commandes alternatives suivantes à saisir via Terminal SSH (le service doit être installé comment add-on HASSIO):
mkdir temp
cd temp/
apk add make
apk add zip
apk add wget
apk add nano
apk add py-pip
wget https://github.com/mike-grant/haaska/archive/master.zip
unzip master.zip
cd haaska-master/config/
cp config.json.sample config.json
nano config.json
à ce stade, apportez les modifications de configuration expliquées ci-dessus, puis terminez avec:
cd ..
make
cd /
cp ~/temp/haaska-master/haaska.zip /share
Enfin, récupérez le fichier en utilisant "Configurateur"(Le fichier sera dans le dossier"Share").
Amazon Console développeur
A ce stade, il est nécessaire de s’inscrire (si vous ne l’avez pas déjà fait) au "Amazon Console développeur“, Un site satellite au classique Amazon.com / .it auquel vous devez déjà être enregistré.
Allez donc à https://developer.amazon.com/home.html et utiliser le propremier utilisateurname/ mot de passe (de Amazon.com / .it) pour entrer. Puis cliquez sur "Se connecter avec Amazon"
Ile site demandera (si cela n'a pas déjà été fait auparavant) de configurer le service "Se connecter avec Amazon“, Ce qui vous permet d’utiliser le proutilisateur prianame/ mot de passe de Amazon.com / .it (entre autres déjà utilisé pour configurer le propremier environnement Alexa) sur tous les sites satellites tels que, par exemple,appoint, "Amazon Console développeur":
Une fois que vous avez accès, cliquez sur "Créer nouveau profil de sécurité».
Dans les champs obligatoires, entrez:
- Nom de profil de sécurité"HASSIO« ;
- Description de la profil de sécurité"HASSIO« ;
- URL de consentement de confidentialité: ce que l’on croit, est indifférent, car la compétence que nous allons préparer ne sera pas publique mais privée:
Cliquez sur "Sauver».
Dans le finestça va s'ouvrir. Cliquez sur la roue en bas à droite et sélectionnez "Paramètres Web":
La page suivante contient les coordonnées du proprio profil de sécurité:
Laisser la fi ouvertenestra et passer à autre chose.
Alexa Developer Console
Mettez de côté la page précédente, ouvrez un nouvel onglet / page et connectez-vous à l'adresse https://developer.amazon.com/alexa/console/ask puis en utilisant le propremière utilisation Amazon.com / .it pour s’authentifier. Le but est de définir une compétence ad hoc pour notre environnement.
À ce stade, la page principale de la page “ouvertConsole développeur"Cliquez sur"Créer une compétence":
Sur la page suivante, indiquez le nom de la compétence ("Haaska" - ou ce que vous préférez) et "Smart Home" comme, comment typologie:
Sur la page suivante, laissez "sélectionné"v3». Notez la ficelle sous le titre "Votre numéro de compétence"(Servira plus tard).
Laisse aussi cette fi ouvertenestra et passer à autre chose.
Amazon Services Web (AWS)
Maintenant, vous devez définir une ressource Lambda à AWS.
Ouvrir un nouvel onglet / finestet connectez-vous (en créant un compte, si vous n'en avez pas) à l'adresse https://console.aws.amazon.com/console/home.
Nb La création éventuelle d’un nouveau compte nécessite l'entrée obligatoire d'une carte de crédit valide, auquel aucun coût ne sera toutefois facturé (le débit de 1 post-insertion dollar est fictif - il est nécessaire de AWS vérifier uniquement la validité de la carte elle-même). La configuration dictée par ce guide n'inclut aucune dépense, sauf modifications ultérieures des conditions d'utilisation de AWS dont la lecture et l’acceptation relèvent de la responsabilité de l’utilisateur abonné au service. En outre, il est clair que si l’utilisateur implémente par la suite d’autres fonctionnalités qui absorbent des ressources payantes AWS, cette carte sera utilisée pour les débits. Si vous voulez rester calme, utilisez une carte rechargeable. |
IAM
Une fois authentifié, cliquez sur "Services"(Haut) et sélectionnez l'élément"IAM"Ci-dessous"Sécurité, identité et conformité». Puis, à gauche, cliquez sur "rôles"Et enfin"Créer un rôle».
Sur la page qui s'ouvre, sélectionnez "AWS Service Clients"Et"Lambda":
Ci-dessous, cliquez sur "Suivant: Autorisations».
Sur la page suivante, recherchez dans le champ de recherche “Administrateur de bases de données« ; une fois trouvé, sélectionnez l'élément et cliquez enfin sur "Suivant: Tag":
Sur la page suivante, entrez "lambda_basic_execution"Dans la tête"Nom du rôle« ; enfin cliquez ci-dessous "Créer un rôle":
LAMBDA
Cliquez sur l'item "Services"(Haut) et sélectionnez l'élément"Lambda"Ci-dessous"calcul».
ATTENTION: Réception d'un message typique en réponse "Votre inscription au service est presque terminée! Merci de vous inscrire avec Amazon Services Web. Vos services peuvent prendre jusqu'à 24 heures pour être complètement activés ...", La cause (9 sur 10) est donnée de ne pas être entré une carte de crédit valide au moment de la création du compte. |
En haut à droite sélectionnez "UE - Irlande»(attention ne pas oublier cette étape):
Cliquez maintenant sur le bouton orange "Créer une fonction».
Les champs doivent être complétés comme suit:
- Créer à partir de zéro;
- Nom: "Haaska";
- Runtime: "Python 3.6";
- Rôle: "Sélectionner un rôle existant";
- Rôle existant: "Lambda_basic_execution "
Cela fait, cliquez sur "Créer une fonction", En bas à droite.
Sur la nouvelle page, descendez à peu près à mi-chemin et trouvez la boîte "Code de fonction». Cliquez sur le menu déroulant "Type d'entrée de code"Et sélectionnez"Télécharger un fichier .zip":
Les voix "Runtime"Et"directeur"Doit être réglé à"Python 3.6"Et"haaska.event_handler». Si ce n'est pas le cas, corrigez-les comme indiqué.
À ce stade, cliquez sur l'icône rappmontrant une flèche pointant vers le haut / provoir envoyer à AWS le fichier .zip du package proappris dans procédure initiale.
Après cela, allez encore plus loin et trouvez la boîte "Rôle d'exécution“, Qui doit être réglé comme suit:
Retournez maintenant à la page, à la boîte "Designer"Et sélectionnez l'article"Alexa Smart Home":
Nb si l'article "Alexa Smart Home" est absent c'est parce que précédemment le profil àUE (Irlande)».
Descendre et trouver la boîte "Gâchette».
Dans le champ éditable, entrez le "ID de compétence" obtenu précédemment (par exemple, "amzn1.ask.skill.2e4e ....")
Puis cliquez sur le "Ajouter».
Enfin, allez en haut de la page et appuyez sur le bouton orange "Sauver».
Immédiatement au dessus du bouton "Sauver"Il y a une chaîne définie"arn": Ecrivez-le.
Laisse aussi cette fi ouvertenestra et passer à autre chose.
Achèvement des compétences
Retour à la récapitulation des compétences et insérer dans le champ "Point de terminaison par défaut"La valeur du champ"arn”Copié au point précédent.
Cochez la case ci-dessousEurope, Inde»(attention ne pas oublier ce passage). Ici aussi copier le même "arn».
En haut à droite de la page, cliquez sur "Épargnez».
Maintenant, cliquez sur l'entrée dans la colonne de gaucheLIEN DE COMPTE».
Sur la page qui s'ouvre, entrez les valeurs suivantes:
- URI d'autorisation: "Https://www.amazon.com/ap/oa"
- URI de jeton d'accès: "Https://api.amazon.com/auth/o2/token"
- identité du client: la valeur de l'identifiant client obtenu à partir de page récapitulative de la proprio profil de sécurité;
- CLIENT Secret: la valeur CLIENT SECRET obtenue à partir de la page de récapitulatif du proprio profil de sécurité;
- Schéma d'authentification client: HTTP BASIC (Recommandé);
- Cliquez sur "+ Ajouter une portée"Et insérer"pro« Fichiers.
En haut à droite de la page, cliquez sur "Épargnez».
Laisse aussi cette fi ouvertenestra: bientôt nous aurons besoin du "URL de redirection" appbrûlé au bas de cette page.
Retour à la page récapitulative de la proprio profil de sécurité, cliquez sur “Modification"Et insérez, sous"URL de retour autorisées", tous et tret les URL obtenues à l'étape précédente.
Une fois terminé, cliquez sur "Sauver».
ESSAI
Retour à la page de définition du "Lambda"Et cliquez sur"Sélection d'événements test"Et puis"Configurer les événements de test».
Un fi va s'ouvrirnestsemblable à ceci:
Sur le terrain "Nom de l'événement"Insérer"Tester».
Supprimez ensuite toutes les lignes de test et remplacez-les par le texte suivant:
{
"directive": {
"header": {
"namespace": "Alexa.Discovery",
"name": "Discover",
"payloadVersion": "3",
"messageId": "1bd5d003-31b9-476f-ad03-71d471922820"
},
"payload": {
"scope": {
"type": "BearerToken",
"token": "access-token-from-skill"
}
}
}
}
Enfin cliquez sur "Sauver».
À ce stade, exécutez le "Tester"En cliquant sur le bouton"Exécuter des tests": La réponse devrait être positif. Sinon, vérifiez toutes les étapes mises en œuvre jusqu'à présent.
Définition de domaines
Avant de conclure l’intégration, il est judicieux de spécifier à l’avance dans la configuration Home Assistant quels sont les domaines à mettre à la disposition de Amazon Echo / Alexa, alors quels accessoires, scènes, entité etc.
La liste des domaines exportables est la suivante:
- alerter (alertes d'alarme)
- automation (automation) - on / off
- (climatiseurs et thermostats) - réglage de la température cible.
- couverture (foncé)
- ventilateur (fans) - on / off
- Salles de Groupes (gruppi)
- entrée booléenne (entrée booléenne)
- lumière (lumières)
- bloquer (serrures) - ouverture et fermeture
- media_player (riprolecteurs multimédias) - riproduction, pause, arrêt, réglage du volume, réglage du volume, piste suivante / précédente
- scène
- scénario - activation / activation uniquement
- capteur (Capteurs)
- interrupteur (commutateurs)
Puis ajouter un bloc similaire à ce qui suit la configuration Home Assistant:
alexa:
filter:
include_entities:
- light.cucina
- light.camera
include_domains:
- switch
exclude_entities:
- switch.terrazzo
exclude_domains:
- lock
entity_config:
light.cucina:
name: Nome personalizzato per Alexa
description: La luce della cucina
switch.scale:
display_categories: LIGHT
Dans cet exemple de bloc sont inclus dans le domaine Amazon Alexa les caractéristiques de allumer les lumières de la cuisine et de la chambre, sont inclus tous les interrupteurs, sauf que de la terrasse. Le domaine "lock" (locks) est exclu dans son intégralité.
De plus, le comportement / nom a été personnalisé de la lumière de la cuisine et l'interrupteur de l'escalier.
Le champ display_categories peut être personnalisé en fonction des catégories disponible dans Alexa.
Ajouter la compétence à Alexa
Nous y sommes: maintenant il est possible d'ajouter la compétence appena créé al proprio proFil Alexa.
Étant donné que de facto nous avons créé une compétence (privée) ad hoc, ouvrez simplement leapp (Mobile ou Web) Alexa, parcourez la section "Vos compétences"Sous la rubrique"Compétence». Une fois trouvé le propremière compétence de voitureproappris (appelé "haaska", Ou différemment comment vous avez choisi de l'appeler), sélectionnez-le et cliquez sur"Permettre». L 'app va demander à associer un compte: utiliser celui de Amazon.com / .it.
À la fin de procedura, effectuez une recherche complète du périphérique. Ce nouveau proprocédure provvederà mener à bien la découverte automatica tout entité présenter sur Home Assistant et exposé à Alexa en fonction de la configuration du paragraphe précédent.
En cas de non personnalisation, Alexa trouvera toutes les entités (non recommandé).
Cela s'est terminé procedura, Alexa sera pleinement intégrée à Home Assistant.
![]() | ATTENZIONE: rappelez-vous qu'il y a sur notre communauté FORUM une section ad hoc dédiée à Home Assistantpour tout doute, question, information sur le mérite spécifique de ces composants. |
