Přeskočit na hlavní obsah

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.

Jak na Alexu mluvit ?

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

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

  1. Home Assistant Cloud - Nejsnazší cesta k integraci, která však vyžaduje měsíční poplatek za předplatné.
  2. 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

HA Cloud

Pro úspěšnou aktivaci Alexy je nejprve nutné mít aktivovaný Home Assistant Cloud v Home Assistant.

  1. Otevřete menu Nastavení a zvolte Hlasoví asistenti.

  2. Aktivujte možnost Alexa.

    Alexa HA cloud

  3. Přejděte na záložku Vystavit a vyberte všechny entity, které chcete propojit s Alexou.

  4. 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:

Alexa HA cloud

Alexa HA cloud

Ruční konfigurace

Upozornění

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

  1. 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.

  2. Amazon Developer účet: Pro vytvoření navštivte Amazon Developer Portal.

  3. AWS Cloud účet: Pro použití AWS Lambda funkcí založte účet zde.

    info

    AWS 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

  1. Přihlášení: Otevřete Alexa Developer Console a přihlaste se s vaším vývojářským účtem.

  2. Vytvoření Skillu: V záložce Skills, klikněte na Create Skill.

    Alexa HA cloud

  3. 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á).
  4. 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í.

    Alexa HA cloud

Vytvoření AWS Lambda Function

  • vytvoření IAM role pro Lambda Function

    1. 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.

      Alexa HA cloud

    2. Přidání oprávnění: Přidejte Permissions policies s názvem AWSLambdaBasicExecutionRole.

      Alexa HA cloud

    3. Nastavení role:

      • Pojmenujte novou roli, například AWSLambdaBasicExecutionRole-SmartHome.
      • Dokončete vytvoření role.
  • 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)
    1. Nastavení regionu: Přepněte AWS Cloud do správného regionu, v tomto příkladu US East (N.Virginia).

      Alexa HA cloud

    2. 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 na x86_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.

      Alexa HA cloud

    3. 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
    4. 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.
    5. 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 na False.
        • LONG_LIVED_ACCESS_TOKEN - vygenerovaný v HA
      • Uložte

      Alexa HA cloud

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:

configuration.yaml - minimální konfigurace
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í:

  1. Přejděte na záložku Test.

  2. Klikněte na Create new event.

  3. Pojmenujte váš nový event, například Discovery.

  4. 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"
    }
    }
    }
    }
  5. Klikněte na tlačítko Create v pravém horním rohu.

  6. 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

tip

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.

  1. Kopírování ARN Lambda funkce: Zkopírujte Amazon Resource Name (ARN) vaší Lambda funkce.

    Alexa HA cloud

  2. 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.
  3. 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.
  4. Klikněte na Save

Přilinkování účtu

  1. 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.

  2. 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.

    Alexa HA cloud

Konfigurace Alexa Smart Home Integration v HA

Do Home Assistanta budeme muset přidat novou sekci do konfiguračního souboru:

configuration.yaml - minimální konfigurace
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.

configuration.yaml - rozšířená konfigurace
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

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

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