Projector Pilotは、プロジェクターのライブ状態とすべてのコントロールを、Home Assistant、Hubitat、そして任意のWebhookに公開します。一度設定すれば、スマートホームがプロジェクターを自動で動かします。スマホをネットワークに接続する必要も、クラウドを経由する必要もありません。
ホームオートメーションは、Projector Pilotを手元のリモコンから、家全体が認識できるデバイスに変えます。電源、入力、カラーモード、ピクチャーの各数値、ランプ使用時間といったプロジェクターの動作状況を公開し、アプリで変更できるあらゆる項目のコントロールをスマートホームに提供します。
設定 › ホームオートメーションがハブです。お使いのプラットフォーム(Home Assistant、Hubitat、Webhook)を選び、そこで設定します。複数を同時に設定でき、それぞれ独立して動作します。
アプリからサインインし、プロジェクターをセンサーとして公開し、設定ファイルに1つのブロックを貼り付けて同期します。その後は、Home Assistantがプロジェクターを自力で動かします。
http://homeassistant.local:8123やそのIPアドレス)を入力し、サインインをタップします。ご自身のインスタンスに対するブラウザーでのサインインなので、トークンを貼り付ける必要はありません。二要素認証も含め、普段のHome Assistantのログインをそのまま使えます。sensor.projector_pilot_epson_qb1000b_qb1000wのようなエンティティを持つセンサーとして公開し、電源、入力、カラーモード、ピクチャーの各数値、ランプ使用時間を保持します。configuration.yamlに貼り付け、Home Assistantを再起動してから、HAと同期をタップします。
これがサーバー不要の仕組みのすべてです。アプリは、Home Assistantがプロジェクターの Web Controlと通信するために実行するコマンドを1つ書き込み、同期されるすべてのスクリプトは、動詞を変えながらそのコマンドを呼び出します。アプリでブロックをコピーをタップし、configuration.yamlに貼り付けてください。以下の例は説明用です。アプリがお使いのプロジェクターのアドレスとコマンド名を自動で入力します。
shell_command:
projector_pilot_epson: >-
curl -s --max-time 5 --digest -u 'EPSONWEB:'
-H "X-Requested-With: XMLHttpRequest"
-H "Referer: http://192.168.1.50/cgi-bin/webconf"
"http://192.168.1.50/cgi-bin/directsend?{{ verb }}={{ value | urlencode }}"
例のみ。アプリは、プロジェクターの実際のIPとシリアル番号から導いた名前で、お使いのものを生成します。
curlは、スマホではなくHome Assistantの機器上で動作します。Home AssistantはWeb Control経由でプロジェクターのIPに直接アクセスするため、アプリを開いていなくても、スマホが家になくても、オートメーションは実行されます。EPSONWEBのダイジェストユーザーはWeb Controlのログインです。アプリは、プロジェクターに保存済みのWeb Controlパスワードを使用します。shell_commandが実際に存在するかを確認します。その上に何かを構築する前に、入力ミスを見つけられます。Home Assistant画面にはセットアップのチェックリストとHome Assistantの状況パネルがあり、どの手順が残っているか迷うことはありません。各行には、完了、未完了、または判定できなかったことと、次にすべきことが表示されます。
configuration.yaml内のProjector Pilotコマンドです。それぞれ「見つかりました」「未インストール」「判定できませんでした」のいずれかが表示され、必要に応じて「インストール方法」と「HACSで開く」のボタンが付きます。Projector Pilotは、Home Assistantに何がインストールされているかを調べ、それに合わせて構築します。Home Assistantに標準搭載されているコアのPJLink連携とも連携するので、すでにそこに追加済みのPJLinkプロジェクターもそのまま使えます。
configuration.yamlに貼り付け、Home Assistantを再起動してから、もう一度同期をタップします。スタンバイ中のプロジェクターはほとんど情報を返さないため、通常ならダッシュボードは空になります。オプションの最終値センサーは、プロジェクターがオフの間も、入力やランプ・レーザー使用時間といったプロジェクターの最後の読み取り値をHome Assistantに保持します。
configuration.yamlの末尾に貼り付けるか(または既存のtemplate:セクションの下にその行だけを追加して)、Home Assistantを再起動してください。アプリにはあるか確認ボタンがあり、Home Assistantにそれが存在するかどうかを教えてくれます。同期後は、シーンはアプリの中に閉じ込められません。それぞれのシーンに加え、電源、各入力、各カラーモード、お使いのプロジェクターが実際に持つ各レンズメモリーが、Home Assistantのスクリプトとして書き込まれます。
Lovelaceのビューを手作りする必要はなく、貼り付ける必要もなくなりました。HAと同期をタップすると、アプリはHome Assistant独自のAPI経由で、完全なProjector PilotダッシュボードをHome Assistant内に直接作成します。プロジェクターのライブ状態と、同期したすべてのシーンおよびコントロールのボタンが揃っています。Home AssistantのサイドバーにProjector Pilotとして表示され、開けば完了です。
configuration.yamlに一度貼り付け、Home Assistantを再起動します(唯一の手動手順です。Home Assistantは、アプリがそのコマンドをリモートで追加することを許可していません)。作成されても自分で貼り付けても、ダッシュボードは同じです。状態カードと、各コントロールのボタンで構成されます(説明用のスニペット)。
views:
- title: Projector
cards:
- type: entity
entity: sensor.projector_pilot_epson_qb1000b_qb1000w
name: Projector
- type: button
name: Power On
tap_action:
action: perform-action
perform_action: script.turn_on
target:
entity_id: script.projector_pilot_power_on
- type: button
name: Movie Night
tap_action:
action: perform-action
perform_action: script.turn_on
target:
entity_id: script.projector_pilot_scene_movie_night
例のみ。お使いのダッシュボードには、プロジェクター実際のエンティティとご自身のシーンが入ります。
Hubitatでは、Projector PilotがMaker APIを通じてプロジェクターをハブ上のデバイスにミラーリングするので、Rule Machineで電源、ミュート、入力を読み取って動作させられます。
Webhookは万能の連携方法です。プロジェクターの電源オン、電源オフ、入力の変更、シーンの呼び出しのたびに、アプリが指定のURLにPOSTします。Home AssistantのWebhook、Node-RED、IFTTT、JSONを受け取れるものなら何でも使えます。
http://homeassistant.local:8123/api/webhook/your-idのような形式です。既定のペイロードは、イベント、プロジェクター、変更された値を含むシンプルなJSONです。
{
"event": "scene_recalled",
"projector": "Epson QB1000B/QB1000W",
"scene": "Movie Night",
"power": "on",
"input": "HDMI1",
"color_mode": "Cinema",
"timestamp": "2026-09-23T20:14:07Z"
}
ペイロードの例。入力変更や電源のイベントには、それに関係するフィールドが含まれます。
入力したアドレスが、実際にHome Assistantへアクセスするアドレスと一致していることを、ポート(通常は:8123)も含めて確認してください。サインインはご自身のインスタンスに対する実際のブラウザーログインなので、ユーザー名、パスワード、二要素認証コードがすべて必要です。スマホでは、アプリ内ブラウザーが結果を返しても、ローカルのコールバックが先に返ってきても、サインインは完了します。それでも止まる場合は、シートを閉じてもう一度サインインをタップしてください。
センサーは、アプリを開いていてプロジェクターの状態を送信がオンの間に公開されます。アプリを開いて、そのトグルを確認してください。そのうえで、Home Assistantの開発者ツール › 状態を開き、projector_pilotで絞り込みます。スタンバイ中のプロジェクターはほとんど情報を公開しないため、起動すると読み取り値が埋まります。
スクリプトはHAと同期が書き込むもので、shell_commandのブロックをconfiguration.yamlに貼り付け済みで、Home Assistantを一度再起動している必要があります。まず接続テストを実行してください。ブロックが存在するかどうかがわかります。そのうえで、もう一度同期してください。古い不要なスクリプトで一覧が散らかっている場合は、孤立したスクリプトを削除を使ってください。
それこそがshell_commandブロックの役割で、Home Assistantが自力でプロジェクターのIPに届くようにするものです。アプリを開いているときしか動かない場合は、ブロックが貼り付けられていないか、貼り付け後にHome Assistantが再起動されていない可能性が高いです。接続テストで確認し、Home Assistantを再起動して、同期してください。
ホームオートメーションは買い切りのアドオンです。サブスクリプションも、アカウントも、クラウドも不要です。一度の購入で、お持ちのすべてのプラットフォームでアンロックされます。
いいえ。shell_commandのブロックをHome Assistantに一度貼り付けて同期すれば、Home AssistantがプロジェクターのIPアドレスへ直接コマンドを送ります。Projector Pilotは設定用のツールにすぎません。その後は、スマホが家にあってもなくても、Home Assistantが単独でプロジェクターと通信します。
sensor.projector_pilot_epson_qb1000b_qb1000wのようなセンサーとして表示され、電源、入力、カラーモード、ピクチャーの各数値、ランプ使用時間を保持し、アプリを開いている間は変化に合わせて更新されます。「詳細コントロールを同期」をオンにすると、アプリはさらに、すべてのシーン、電源、各入力、各カラーモード、お使いのプロジェクターが持つ各レンズメモリー用のHome Assistantスクリプトも書き込みます。
ホームオートメーションは有料のアドオンで、Projector Pilot Proとは別の買い切りです。バンドルなら両方をお得にまとめて購入できます。料金ページをご覧ください。