試してみたブログ

AI関連・iPhone/Pixelなどのガジェット・音声入力・サーマルプリンタなど興味をある事をどんどん試してみた際の記録

raspberry piにHome Assistantを入れてAlexaに任意の通知を入れる

背景

  • ゲーム利用チケットの作成+Alexa通知の為にraspberrypiにHome Assistantをいれたい

tameshitemita.blog

-HAOSとraspberrypi上にdockerで立てる2種類があるらしい - 今回はdocker上で立てることにした

試してみた

sudo docker run -d \
  --name homeassistant \
  --privileged \
  --restart=unless-stopped \
  -e TZ=Asia/Tokyo \
  -v /home/pi/homeassistant:/config \
  -v /run/dbus:/run/dbus:ro \
  --network=host \
  ghcr.io/home-assistant/home-assistant:stable
  • 192.168.0.X:8123 でアクセス

  • hacsのインストール
  • docker exec -it homeassistant bash
  • wget -O - https://get.hacs.xyz | bash -
  • docker restart homeassistant

  • 設定 → デバイスとサービス → インテグレーションを追加、HACS で検索して追加

  • Alexa media playerをインストール

  • エンティティIDの確認方法が分かり辛かったが下記で確認可能

  • Alexaにゲームの終了通知をさせる

- id: 'XXXX'
  alias: 大きめアナウンスでゲーム終了
  triggers:
  - at: '10:00:00'
    trigger: time
  actions:
  - target:
      entity_id: media_player.cun_XXXXX_sanno_echo_show
    data:
      volume_level: 0.7
    action: media_player.volume_set
  - data:
      target:
      - media_player.cun_mu_ren_zhi_sanno_echo_show
      data:
        type: announce
      message: ゲームの終了時間です。ゲームの終了時間です。ゲームを1分以内に終了させてください。
    action: notify.alexa_media
  mode: single
  • dockerのファイルをマウントしている場所のYAMLを直接変更して、YAMLの時間を変更して運用をする事にしました
  • 直接編集の場合、YAMLを再度リロードする必要があります
  • 下記のAPIを使用します

  • APIYAML設定の再読み込みをさせる

curl -X POST \
  -H "Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" \
  -H "Content-Type: application/json" \
  http://192.168.0.X:8123/api/services/automation/reload
  • これで準備完了!次回は、チケットの作成+Alexaに通知をして貰います!