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ě.
Chcete ovládat hudbu hlasem bez cloudu Amazonu – a klidně česky? Koukněte na hlasové ovládání hudby přes Assist a Music Assistant.
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
Amazon Echo Dot (5th Gen)
WiFi
Bluetooth
Alexa
Aplikace Amazon Alexa
Nejen pro integraci do HA, ale i pro používání budete potřebovat nainstalovat aplikaci Amazon Alexa do svého mobilního telefonu.
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, návod na získání certifikátu pak v článku SSL certifikát přes Let's Encrypt.
-
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 Idpro 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.10a ponechte architekturu nax86_64. - Klikněte na Change default execution role, zvolte
Use an existing rolea 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 8 (3rd gen) Charcoal
WiFi
Bluetooth
Matter- +1
Amazon Echo Show 10 (3rd gen) Charcoal
WiFi
Bluetooth
Matter- +1
Pomohl vám tenhle návod?
Návody tu píšu ve volném čase a udržuju je aktuální. Když vám některý ušetřil čas, můžete přispět.
Jednorázově, kartou nebo Apple Pay. Částku lze na další stránce změnit.
Nechcete posílat peníze? Kupujte podle návodů přes moje odkazy na produkty. Cena je pro vás stejná a pomůže to taky.