ホーム › ユーザーガイド › ホームオートメーション
Home Assistant · Hubitat · Webhook

Home Assistant と Hubitat:スマートフォンなしで動くシーン

AVR Maestro を Home Assistant または Hubitat にリンクすると、作成したすべてのシーンがハブ上のネイティブスクリプトになります。以後はハブがご自身のネットワーク上で直接レシーバーと通信するので、「Alexa、映画の時間」がスマートフォンの電源オフでも、スリープ中でも、海外にあっても動作します。

アプリなしで動作する理由

多くの統合は、スマートフォンを仲介役にします。スマートフォンがコマンドを受け取り、スマートフォンが送信するので、オートメーションはスマートフォンが起動していてネットワークにつながっている間しか動きません。

AVR Maestro は違います。シーンをハブ上に置かれるスクリプトにコンパイルし、ハブがレシーバーのローカルIPにコマンドを送信します。アプリの役目は、同期が終わった時点で完了です。

Home Assistant、最初から最後まで

同期が終わったら

見応えのあるダッシュボードを作る

Home Assistant には、レシーバーに指示できるすべてのものに対するコントロールが用意されましたが、その並べ方についての意見はありません。ダッシュボードの例は、その配置の一例で、YAML全文を掲載しています。選択中のものが点灯するソースとサラウンドのタイル、本物のdBで表示する音量、自分の名前を読み取るシーン、そして Home Assistant が見えるものと見えないものを正直にまとめた一覧です。

AVR Maestro が同期したコントロールで作った Home Assistant ダッシュボード
シーンだけではありません

スピーカープリセット、Dirac、Audyssey も

高度なコントロールを同期をオンにすると、アプリはシーンだけでなく、はるかに多くのスクリプトを公開します。すべてのスピーカープリセット、すべての Dirac Live フィルタースロット、各 Audyssey カーブです。Cinema 30 で完全同期すると70を超えるスクリプトが作られ、ダッシュボードのボタンや音声コマンドから、シーンを呼び出すのと同じ感覚で Dirac フィルターを読み込んだり、ルームカーブを切り替えたりできます。

高度なコントロールの同期をオンにした、AVR Maestro の Home Assistant 画面
書き込むだけでなく、読み取りも

Home Assistant が何が有効かを把握できる

スクリプトは実行できても、読み取ることはできません。そのため初期のダッシュボードでは、Audyssey カーブや Dirac スロットを切り替えられても、どれが有効かを表示する方法がありませんでした。アプリがすでに保持している読み取り値(ライブのサラウンドモード、有効な Dirac フィルター、スピーカープリセット、ディマーなど数十項目)が、レシーバーのステータスセンサーの属性として公開されるようになったので、実際に動作している設定のタイルを点灯できます。

スピーカープリセット、Dirac Live、Audyssey のコントロールスクリプトを Home Assistant に公開する AVR Maestro
すべての部屋に

ほかのゾーンも、同じダッシュボードから

Zone 2 と Zone 3 の電源、音量、ミュートも個別のスクリプトとして公開されるので、テラスや別の部屋でも、メインゾーンと同じようにダッシュボードや音声アシスタントで操作できます。ボタンが作られるのは、レシーバーが実際に報告するゾーンだけなので、2ゾーンのレシーバーに Zone 3 が現れることはありません。

古いビルドで同期した場合

スクリプトIDは一度だけ変わります

以前は、スクリプトの名前がシーンとレシーバーに基づいていたため、どちらかの名前を変更すると古いスクリプトが残り、気づかないうちに2つ目が作られていました。現在はシーンとレシーバーのMACアドレスに基づく名前になり、名前を変更しても新しいスクリプトが増えず、同じスクリプトが更新されます。

この変更後の最初の同期で、古いスクリプトが新しいものに置き換わります。古いIDで作ったものは、一度だけ指定し直す必要があります。ダッシュボードのボタン、オートメーション、音声エイリアスなどです。Home Assistant でスクリプトを開くと、新しいエンティティIDがわかります。

エンティティも、32文字のマシン識別子ではなくcinema30のように、レシーバーから名前を読み取るようになったので、一覧が読みやすくなり、オートコンプリートでも見つかります。以前のバージョンのIDも引き続き使えます。

Hubitat

Hubitat はMaker API経由で対応しています。アプリ内で BETA と表示されているのは、Home Assistant 経由より新しいためで、未完成だからではありません。

  • ハブIP - LAN上の Hubitat のアドレス。
  • Maker API アプリID - Maker API アプリ自身のURLに含まれる番号。
  • アクセストークン - Maker API を有効にすると発行されます。

まずハブで Maker API を有効にしてください(Apps › Add Built-In App › Maker API)。3つの値がすべて表示されます。これらを貼り付けると、AVR Maestro がレシーバーを検出し、シーンをコマンドシーケンスとして公開し、ライブ状態を送り返すので、Hubitat のダッシュボードには、最後に指示した内容ではなく、レシーバーが実際に行っていることが反映されます。

ハブIP、Maker API アプリID、アクセストークンを入力する Hubitat のセットアップ画面

Webhook

Home Assistant と Hubitat はレシーバーへコマンドを送ります。Webhook は逆向きで、レシーバーが何かをしたときに、ほかの何かに知らせます。レシーバーの電源を入れると、AVR Maestro が指定したアドレスに小さなメッセージを送信します。そのメッセージが Webhook です。

ここだけは、スマートフォンに依存しない仕組みではありません。同期したシーンはハブ上のスクリプトになり、アプリが近くになくても実行されます。Webhook は異なります。レシーバーを監視しているのは AVR Maestro なので、トリガーが発火するのは、レシーバーが見えるデバイス上でアプリが開いている間です。何も起動していない状態で発火させたい場合は、ハブ側でレシーバーのエンティティを軸に構築してください。

4つのトリガー

トリガーイベント発火するタイミング絞り込める対象
レシーバー電源ONレシーバーがスタンバイから復帰したとき-
レシーバー電源OFFレシーバーがスタンバイに入ったとき-
アクティブな入力の変更選択中のソースが変わったときこの入力のみトリガーで、1つの入力に限定
シーンを呼び出しシーンが適用されたときシーンを選択で、1つのシーンに限定

絞り込むことで、ノイズではなく役に立つトリガーになります。すべての入力に対する「アクティブな入力の変更」は情報の洪水ですが、プロジェクターをつないだ入力1つだけに絞った同じトリガーなら、照明のスイッチになります。

入力の一覧はお使いのレシーバーが報告するものなので、名前を変更したソースや非表示にしたソースがすでに反映されています。シーンの一覧は、あなた自身のシーンです。

設定手順

ここで説明するのは、多くの方が使う Home Assistant 経由の方法です。アプリが送信先として指す対象が必要なので、先に Home Assistant 側を設定してください。

Home Assistant で

AVR Maestroでは

Home Assistant 経由の場合、URLを入力する必要はありません。アプリはリンクした Home Assistant からURLを組み立て、トリガーが発火するたびにそのアドレスを調べ直します。Home Assistant を新しいポート、新しいホスト名、Nabu Casa のアドレスに移しても、作成済みのすべての Webhook が追従します。再同期も、押すボタンもありません。
シートにHome Assistant はまだリンクされていませんと表示される場合は、先にこのページ上部の Home Assistant カードの手順を行ってください。Webhook 経由には、構築の基になるアドレスが必要です。

Home Assistant 以外に送信する

送信先をその他に切り替え、Webhook URLに完全なURLを貼り付けます。POST を受け付けるものなら何でも使えます。Node-RED のフロー、IFTTT のアプレット、NAS 上のスクリプト、Hubitat Maker API のエンドポイントなどです。この方法ではアドレスが入力したとおりに保存されるので、宛先が移動したらトリガーを編集してください。

実際に送信される内容

小さなJSON本文です。同じ画面の送信内容カードに、選択したトリガーについて平易な言葉で説明されているので、推測する必要はありません。オートメーションが読み取るフィールド名は次のとおりです:

トリガーメッセージに含まれるフィールド
レシーバー電源ON / OFFevent, timestamp
アクティブな入力の変更...さらに source
シーンを呼び出し...さらに sceneId と sceneName

Home Assistant のオートメーションでは、これらは{{ trigger.json.event }}、{{ trigger.json.source }}などとして届きます。読み取ることも、完全に無視して発火したという事実だけで動作させることもできます。ほとんどの方は後者です。

別の形式が必要な場合(独自の形式を期待するサービスなど)は、そのカードの下にある代わりに独自のJSONを送信を開いて、そこに記述してください。ほとんど必要とされないため「高度」として折りたたまれていますが、推奨されないわけではありません。

この画面がWebhookと呼ばれるのは、まさにそれだからです。ハブ上で動作するオートメーションをお探しなら、上にある Home Assistant と Hubitat のカードがそれです。同期したシーンはそこでスクリプトになり、ここで Webhook になるわけではありません。

Webhook が届かないとき

確認する価値のある順番に並べています。最初の2つが原因であることがほとんどです:

有料のものと無料のもの

アンロックが必要なのはホームオートメーションだけです。AIアシスタントは無料です。

ホームオートメーション(Pro)(Home Assistant、Hubitat、アウトバウンド Webhook)は、買い切りのアンロックです。オンデバイスAIアシスタントを含め、AVR Maestro のそのほかの機能はすべてアプリに含まれています。

音声コントロールは、ホームオートメーションを通じて、ハブ経由でレシーバーに届きます。AVR Maestro 自身は音声認識を行いません。

よくある質問

ホームオートメーションのよくある質問

音声コントロールを使うには、スマートフォンの電源を入れておく必要がありますか?
いいえ。AVR Maestro はシーンをネイティブの Home Assistant スクリプトにコンパイルします。Home Assistant はローカルネットワーク上で直接レシーバーと通信するので、スマートフォンの電源が切れていても、スリープ中でも、海外にあっても問題ありません。
どの音声アシスタントでレシーバーを操作できますか?
すでにお使いのものなら何でも。AVR Maestro 独自の音声レイヤーは追加しません。スクリプトを Home Assistant または Hubitat に公開し、それをお使いのハブ経由で Alexa、Google Assistant、Siri ショートカットに公開します。
AIアシスタントは有料アンロックに含まれますか?
いいえ。オンデバイスAIアシスタントは無料です。ホームオートメーション(Home Assistant、Hubitat、アウトバウンド Webhook)が、AVR Maestro で唯一の有料アンロックです。
ホームネットワークの外に出る通信はありますか?
コントロールに関してはありません。アプリはご自身のネットワーク上で、レシーバーとハブの両方と通信します。MiyaraHub のサーバーを経由することはありません。Webhook は、指定した宛先に送信されます。宛先はあなたが選びます。
ガイドをもっと見る

AVR Maestroのその他のガイド

はじめに · ホーム画面 · シーン · カスタムアイコン · サウンド · グラフィックEQ · スピーカー · コントロールがロックされる理由 · アシスタント · Home Assistantダッシュボード · ゾーン · リモコン · ラジオ(FM/AM) · オンスクリーンディスプレイ · 設定 · 言語 · 音量コントロール · バックアップ&復元 · 再生中&HEOS

スマートフォンなしで動くシーン

ホームオートメーションは買い切りのアンロックです。AIアシスタントを含め、アプリのそのほかの機能はすべて含まれています。

Google Playで手に入れよう App Storeからダウンロード Mac App Storeからダウンロード Microsoft Storeで入手

ユーザーガイド全体に戻る →