Amazon Alexa
Amazon Alexa je kompatibilní s Home Assistant, což umožňuje její použití jako hlasové rozhraní pro ovládání a automatizaci domácnosti.
Integrace Alexy s HA přináší možnost jednoduchého hlasového ovládání zařízení a scén bez nutnosti manuální interakce, což zvyšuje komfort a efektivitu správy chytré domácnosti.
Alexa zatím nepodporuje český jazyk, proto je nutné s ní komunikovat v angličtině, němčině, francouzštině a nebo španělštině.
Celý proces integrace jsem vyzkoušel s produktem Amazon Echo Dot.
Amazon Echo Dot (5th Gen)
- Zvuk: 1,7" reproduktor
- Bezdrátové připojení: WiFi 2,4 GHz a 5 GHz, Bluetooth Low Energy Mesh a Matter
- Hlasový asistent: Amazon Alexa
- Rozměry: 100×100×89 mm
- Hmotnost: 304 g
Integrace Amazon Alexa do HA
- Home Assistant Cloud - Nejsnazší cesta k integraci, která však vyžaduje měsíční poplatek za předplatné.
- Ruční konfigurace - Více technicky náročná metoda bez měsíčních poplatků, která může poskytnout větší flexibilitu a kontrolu.
Home Assistant Cloud
Pro úspěšnou aktivaci Alexy je nejprve nutné mít aktivovaný Home Assistant Cloud v Home Assistant.
-
Otevřete menu Nastavení a zvolte Hlasoví asistenti.
-
Aktivujte možnost Alexa.
-
Přejděte na záložku Vystavit a vyberte všechny entity, které chcete propojit s Alexou.
-
Stáhněte si aplikaci Alexa na svůj mobilní telefon a aktivujte Home Assistant Smart Home skill. Postup najdete na následujících obrázcích:
Ruční konfigurace
Postup pro ruční konfiguraci integrace Alexy je poměrně náročný. Pokud si na něj netroufnete doporučuji vždy volit způsob výše, který ale vyžaduje placený Home Assistant Cloud
Požadavky
-
Vzdálený přístup do Home Assistanta: Nastavte přístup na portu 443 s platným certifikátem. Podrobnosti najdete v sekci Vzdálený přístup.
-
Amazon Developer účet: Pro vytvoření navštivte Amazon Developer Portal.
-
AWS Cloud účet: Pro použití AWS Lambda funkcí založte účet zde.
infoAWS Cloud by měl být bezplatný pro běžné používání, jelikož AWS Lambda nabízí zdarma až 1 milion požadavků a 1 GB odchozího datového přenosu měsíčně.
Vytvoření Amazon Alexa Smart Home Skill
-
Přihlášení: Otevřete Alexa Developer Console a přihlaste se s vaším vývojářským účtem.
-
Vytvoření Skillu: V záložce Skills, klikněte na Create Skill.
-
Základní informace o Skillu:
- Uveďte Skill name, například
Home Assistant
. - Jako výchozí jazyk vyberte
English (US)
(Čeština není zatím dostupná).
- Uveďte Skill name, například
-
Konfigurace Skillu:
- Pro Experience vyberte
Smart home
. - Jako Model zvolte
Smart Home
. - U Hosting service nastavte
Provision your own
. - Ujistěte se, že Payload version je nastavena na
v3
. - Zaznamenejte si
Skill Id
pro budoucí použití.
- Pro Experience vyberte
Vytvoření AWS Lambda Function
-
vytvoření IAM role pro Lambda Function
-
Navigace v AWS:
- Otevřete službu IAM (Manage access to AWS resources).
- V levém panelu vyberte Roles a klikněte na Create role.
- Jako AWS service vyberte
Lambda
.
-
Přidání oprávnění: Přidejte Permissions policies s názvem
AWSLambdaBasicExecutionRole
. -
Nastavení role:
- Pojmenujte novou roli, například
AWSLambdaBasicExecutionRole-SmartHome
. - Dokončete vytvoření role.
- Pojmenujte novou roli, například
-
-
Vytvoření Lambda funkce
Velmi důležitéVyberte správný region pro Lambda funkci podle jazyka nastaveného u Amazon Alexa Smart Home Skill:
- US East (N.Virginia) pro English (US) nebo English (CA)
- EU (Ireland) pro English (UK), English (IN), German (DE), Spanish (ES) nebo French (FR)
- US West (Oregon) pro Japanese a English (AU)
-
Nastavení regionu: Přepněte AWS Cloud do správného regionu, v tomto příkladu US East (N.Virginia).
-
Vytvoření Lambda funkce:
- Otevřete službu Lambda v AWS (Run code without thinking about servers).
- Měli byste být v záložce Functions.
- Klikněte na Create function a vyberte možnost
Author from scratch
. - Jako název funkce uveďte, například,
SmartHome-US
. - Za runtime zvolte
Python 3.10
a ponechte architekturu nax86_64
. - Klikněte na Change default execution role, zvolte
Use an existing role
a vyberte roli vytvořenou v předchozích krocích. - Klikněte na Create function.
-
Nastavení Lambda funkce - Přidání triggeru
- Klikněte na vytvořenou Lambda funkci a v sekci Function overview klikneme na Add trigger.
- Vyberte zdroj Alexa a změňte produkt na Alexa Smart Home
- Zadejte Skill ID které jste získali v sekci Amazon Alexa Smart Home Skill
- Klikněte na Add
-
Nastavení Lambda funkce - Přidání kódu
- V sekci Code klikněte na záložku lambda_function a vložte kód z GitHubu
- Klikněte na tlačítko Deploy pro uložení vloženého kódu.
-
Nastavení Lambda funkce - Nastavení proměnných
- Dalším krokem je nastavení proměnných, které najdete v záložce Configuration a Environment variables,
- Nastavte následující proměnné:
- BASE_URL =
https://[VAŠE HA URL]
. - NOT_VERIFY_SSL =
False
- v závislosti na platném certifikátu. - DEBUG =
True
- pro testování, později změňte naFalse
. - LONG_LIVED_ACCESS_TOKEN - vygenerovaný v HA
- BASE_URL =
- Uložte
Testování Lambda funkce
Pro možnost testování trochu předběhneme. Vložte následující minimální konfiguraci do konfiguračního souboru Home Assistant:
alexa:
smart_home:
Po vložení konfigurace restartujte Home Assistant.
Po restartu se vraťte do AWS Lambda konzole a připravte se na testování:
-
Přejděte na záložku Test.
-
Klikněte na Create new event.
-
Pojmenujte váš nový event, například
Discovery
. -
Do pole Event JSON vložte následující data:
{
"directive": {
"header": {
"namespace": "Alexa.Discovery",
"name": "Discover",
"payloadVersion": "3",
"messageId": "1bd5d003-31b9-476f-ad03-71d471922820"
},
"payload": {
"scope": {
"type": "BearerToken"
}
}
}
} -
Klikněte na tlačítko Create v pravém horním rohu.
-
Následně stiskněte *Test.
Výsledkem by měl být seznam vašich zařízení v odpovědi z Home Assistanta.
Konfigurace Smart Home Service Endpoint
Odstranění dlouhodobého přístupového tokenu - doporučuji odstranit dlouhodobý přístupový token, který už dále nebudeme potřebovat a změna nastavení DEBUG na hodnotu False
.
-
Kopírování ARN Lambda funkce: Zkopírujte Amazon Resource Name (ARN) vaší Lambda funkce.
-
Návrat do Alexa Developer Console:
- Vraťte se zpět do Alexa Developer Console.
- Pokud se již nenacházíte na stránce s dovednostmi (Skills), přejděte na ni.
- Najděte dovednost (Skill), kterou jste vytvořili, a v sloupci Actions klikněte na odkaz Edit.
-
Nastavení koncového bodu služby:
- V levém navigačním panelu stránky pro sestavování (Build) klikněte na SMART HOME.
- V části 2. Smart Home service endpoint vyplňte Default endpoint pomocí ARN, které jste zkopírovali z konfigurace vaší Lambda funkce.
-
Klikněte na Save
Přilinkování účtu
-
Měli bychom být stále a stánce Alexa Developer Console a měli bychom vidět sekci 3. Account Linking a v ní tlačítko Setup Account Linking na které klikneme.
-
Nastavení formuláře Account Linking:
- Zaškrtněte volbu
Do you allow users to create an account or link to an existing account with you?
- Do pole Your Web Authorization URI vložte
https://[VAŠE HA URL]/auth/authorize
. - V poli Access Token URI zadejte
https://[VAŠE HA URL]/auth/token
. - Pole Your Client ID vyplňte následujícím způsobem:
https://pitangui.amazon.com/
pokud jste použili region US East (N.Virginia)https://layla.amazon.com/
pokud jste použili region EU (Ireland)https://alexa.amazon.jp/
pokud jste použili region US West (Oregon)
- Pole Your Secret může zůstat libovolné, Home Assistant tuto hodnotu nepoužívá.
- U pole Your Authentication Scheme vyberte možnost
Credentials in request body
. - Do pole Scope přidejte jeden scope s názvem
smart_home
.
- Zaškrtněte volbu
Konfigurace Alexa Smart Home Integration v HA
Do Home Assistanta budeme muset přidat novou sekci do konfiguračního souboru:
alexa:
smart_home:
Doporučuji ale určitě přidat alespoň filtrování na entity které chceme do Alexy poslat a nebo naopak, které tam poslat nechceme. Můžeme zároveň entity pro Alexu přejmenovat a nebo nastavit aby se tam chovala jako jiný typ.
alexa:
smart_home:
filter:
include_entities:
- light.kitchen
- light.kitchen_left
include_entity_globs:
- binary_sensor.*_motion
include_domains:
- switch
exclude_entities:
- switch.outside
entity_config:
light.kitchen:
name: "Custom Name for Alexa"
description: "The light in the kitchen"
switch.stairs:
display_categories: LIGHT
Další produkty od Amazon
Amazon Echo Show 5 (3nd Gen)
- Zvuk: 1,75" reproduktor
- Obrazovka: 5.5” dotyková (960x480 px)
- Bezdrátové připojení: WiFi GHz, Bluetooth Low Energy Mesh a Matter
- Streamovací služby: Amazon Music, Spotify, Apple Music
- Hlasový asistent: Amazon Alexa
- CPU: MediaTek MT 8169 B
- Rozměry: 147x91x82 mm
- Hmotnost: 456 g
Amazon Echo Show 8 (2nd gen)
- Zvuk: 2x2" reproduktory
- Obrazovka: 8” dotyková (1280x800 px)
- Bezdrátové připojení: WiFi GHz, Bluetooth Low Energy Mesh, slouží jako Zigbee+Matter hub
- Streamovací služby: Amazon Music, Spotify, Apple Music
- Hlasový asistent: Amazon Alexa
- CPU: Octa-Core SoC with Amazon AZ2 Neural Network Engine
- Rozměry: 147x91x82 mm
- Hmotnost: 456 g
Komentáře