私はHome Assistantの専門家ではありませんが、それが明らかに巨大で強力なエコシステムであることは明らかです。私のポッドキャストでHome Assistantの作成者にインタビューしたことがあり、その対談をぜひチェックしてみてください。

Home Assistantはすぐに趣味として圧倒されるものになることがあります。家の中のあらゆるオブジェクト(エンティティ)で、わずかでも接続されているものはプログラム可能になります。すべてです。人でさえも!例えば電話が公開できる任意のname:valueペアをHome Assistantで利用可能に宣言できます。「Scottは家にいるか」や「Scottの電話のバッテリー残量は」といった質問を、Home AssistantダッシュボードのScottというエンティティに関連付けることができます。

Home Assistantが検出した、自動化できるデバイスやオブジェクトには驚きました。ライト、リモコン、Spotifyなどです。内部で接続されているデバイスには、利用可能なIntegrationがあることがわかるでしょう。

温度、ライトの状態、もちろんそれらは簡単なホームオートメーションです。しかし、integrationやサードパーティのコードによって、「リビングルームは暗いか」や「車道に動きがあるか」といった詳細を取得できます。これらの構成要素から、IFTTT(If This Then That)のようなオートメーションを自分で構築し、2つのシステムだけでなく、あらゆる異なるシステムを組み合わせることができます。

最大の利点は何でしょうか?すべてがローカルで動作します。クラウドや誰かのクラウド内ではありません。私はRaspberry Pi 4で実行しています。さらに良いことに、Raspberry PiにPower Over Ethernet (PoE) hatを装着しているので、ハブにネットワークケーブル1本でPiに給電しています。

Raspberry PiでHome Assistantをセットアップするのが、始めるのに最適で最も簡単な方法だと思います。ただし、Dockerコンテナ、Synologyや他のNAS、またはWindowsやMacのバックグラウンドで実行することもできます。選択はあなた次第です。オプションとして、Nabu Casaに5ドルを支払うことで、透過的なフォワーディングによるリモート(自宅外)ネットワークアクセスが可能です。ただし、すべては自宅内で動作し、クラウド内ではないことは明確にしておきます。

Basic Home Assistant Setup

本題に入りましょう。以前はAmazon Ring Doorbellを使っていて、Amazon Alexaと連携し、ドアベルを押すとすべてのAlexaで「誰かが玄関先にいます」とアナウンスしていました。私たちの生活にぴったり合う素敵な連携でした。

Front Door UniFi G4 Doorbell

しかし、RingをUnifi Protect G4 Doorbellに交換しました。理由はいくつかあります。ビデオを外部サービスに送信したくないため、このドアベルは既存のUnifi環境とスムーズに連携し、ローカルのハードドライブにビデオを記録します。ただし、Alexa連携と「誰かがドアの前にいる」というアナウンス機能は失われます。そこでHome Assistantの出番です。

大まかな手順は以下の通りです:

  • Home Assistantをインストールする
  • Home Assistant Community Storeをインストールする
    • これにより、GitHubから直接サードパーティの「信頼されていない」integrationを有効にできます。GitHubアカウントが必要で、カスタムintegrationがローカルのHAに直接クローンされます。
    • また、何が起こっているかを確認できるように、Terminal & SSH (9.2.2)やFile editor (5.3.3)などのアドオンもおすすめです。
  • Home Assistant用のUniFi Protectサードパーティintegrationを取得する
    • : Unifi ProtectのサポートはHome Assistant v2022.2で標準搭載される予定なので、まもなくこの手順は不要になります。
    • 「UniFi Protect Integrationは、Ubiquiti CloudKey+、Ubiquiti UniFi Dream Machine Pro、またはUniFi Protect Network Video Recorder上のUniFi Protectインストールからカメラフィードとセンサーデータを取得するサポートを追加します。」
    • このintegrationを認証して設定します。
  • Alexa Media Player integrationを取得する
    • これにより、すべてのAlexaがHome Assistantに「メディアプレーヤー」として表示され、tts(テキスト読み上げ)も可能になります。
    • このintegrationを認証して設定します。

Alexaアプリで「everywhere」という名前のマルチルームスピーカーグループを作成することをおすすめします。「音楽をどこでも再生」と言うだけでなく、Home Assistantでその「Everywhere」グループをターゲットにできるためです。

http://homeassistant.local:8123/のHome Assistant UIにアクセスし、Developer Toolsを開きます。Servicesの下で、次のYAMLを貼り付けて「call service」をクリックしてみてください。

service: notify.alexa_media_everywhere
data:
  message: Someone is at the front door, this is a test
  data:
    type: announce
    method: speak

これが動作すれば、Alexaを自動化して何か言わせられることがわかります。次に、Configuration、Automationに移動し、新しいAutomationを追加します。以下が私のものです。UIを使って作成しました。フロントドアカメラに別の名前を付けた場合、エンティティ名が異なる可能性があることに注意してください。

Binary_sensor.front_door_doorbell

Dataの形式に注目してください。単一のフィールドの値内にname valueペアがあります。

Alexa Action

…ただし、Automations.yamlというファイルにも存在します。「to: 'on'」トリガーが必要であることに注意してください。ないとドアベルの各状態変化ごとにアナウンスが二重に発生します。

- id: '1640995128073'
  alias: G4 Doorbell Announcement with Alexa
  description: G4 Doorbell Announcement with Alexa
  trigger:
  - platform: state
    entity_id: binary_sensor.front_door_doorbell
    to: 'on'
  condition: []
  action:
  - service: notify.alexa_media_everywhere
    data:
      data:
        type: announce
        method: speak
      message: Someone is at the front door
  mode: single

動作します!今は自動化できる素晴らしい機能がたくさんあります!


Sponsor: Make login Auth0’s problem. Not yours. Provide the convenient login features your customers want, like social login, multi-factor authentication, single sign-on, passwordless, and more. Get started for free.

About Scott

Scott Hanselmanは元教授、金融機関の元Chief Architect、現在は講演者、コンサルタント、父親、糖尿病患者、そしてMicrosoftの従業員です。彼は失敗したスタンドアップコメディアン、コーンロウを編む人、そして書籍の著者でもあります。

facebook bluesky subscribe
About   Newsletter

Hosting By
Hosted on Linux using .NET in an Azure App Service