同期すると、アプリがすでに動作するダッシュボードを作成してくれます。このページは、その上位版にあたる手作り版です。全10ステップ、カードごとのYAML、そして一度に貼り付けられる完成ビューを用意しました。グリーングラスのタイル、ライブのピクチャー表示、シーン、レーザー使用時間のグラフを、1台のプロジェクターセンサーだけで実現します。2か所の文字列を変えれば、あなた専用になります。
configuration.yamlに貼り付けてHome Assistantを再起動した後、設定 › ホームオートメーション › Home Assistant › HAと同期を実行します。これにより、以下のコントロールボタンがすべて呼び出すスクリプトが作成されます。このダッシュボードには2つの情報源があり、以降のすべてのステップでその違いが重要になります。
| 取得元 | 得られるもの |
|---|---|
プロジェクターセンサー: sensor.YOUR_PROJECTOR | すべての読み取り値。電源、入力、カラーモード、ピクチャーの各数値、HDRと信号、レンズとジオメトリー、ランプ使用時間。サインインして同期した時点でライブ表示され、ブロックのコピーは不要です。 |
アプリが同期したスクリプト: script.projpilot_YOURSERIAL_... | すべてのコントロール。電源、入力、カラーモード、レンズメモリー、そしてシーン。ブロックの貼り付け、Home Assistantの再起動、「HAと同期」のタップが済んで初めて存在するようになります。 |
4つとも HACS の標準ストアにあります。Home Assistant でHACS › フロントエンド › リポジトリを探す&ダウンロードを開き、名前を検索してダウンロードしたら、ブラウザを再読み込みしてください。
| 検索する名前 | 用途 | 入れない場合 |
|---|---|---|
| Mushroom | すべての情報タイル、コントロールボタン、シーンタイル | 標準のbuttonカードを使います。動作はしますが、見た目は角ばります。 |
| button-card | ライブラベル付きのヒーロー | entityカードを使うか、詳細を省いたMushroomテンプレートカードを使います。 |
| card-mod | グリーングラスの背景、枠線、グラデーション | すべて動作はします。光の演出だけがなくなります。 |
| mini-graph-card | メンテナンス内のレーザー使用時間の履歴 | 組み込みのhistory-graphカードを使います。 |
このページのすべてのスニペットは2つのプレースホルダーを使います。一度だけ自分のものを調べれば、あとはコピー&ペーストで済みます。
sensor.YOUR_PROJECTOR → Home Assistantの開発者ツール › 状態で、projector_pilotで絞り込みます。たとえばsensor.projector_pilot_epson_qb1000b_qb1000wのような名前が見つかります。YOURSERIAL → アプリを開き、設定 › ホームオートメーション › Home Assistantへ進みます。シリアル番号由来のIDがそこに表示され、同期されたすべてのスクリプト名の中央部分になります。script.projpilot_YOURSERIAL_power_on、script.projpilot_YOURSERIAL_input_hdmi1などです。ステップ1の「ブロックをコピー」と同期を済ませたら、開発者ツール › 状態をprojpilotで絞り込んで、同期されたコントロールの一覧をまとめて確認することもできます。
ビュー自体の設定を手入力したい場合は次のとおりです。
title: Projector Pilot views: - title: Projector Pilot path: projector-pilot icon: mdi:projector cards: []
まずは値を読み取るだけのものから始め、コマンドを送るものに触れる前に、エンティティIDが正しいことを確認します。これはプロジェクターセンサーが存在すれば、ブロックのコピーも同期も不要で、すぐにライブ表示されます。カードを追加し、YAMLで編集を開いて貼り付けます。
type: custom:mushroom-template-card
primary: Brightness
secondary: '{{ state_attr(''sensor.YOUR_PROJECTOR'',''brightness'') }}'
icon: mdi:brightness-6
icon_color: green
layout: vertical
fill_container: true
card_mod:
style: 'ha-card { background: rgba(18,26,20,0.60); border: 1px solid rgba(61,220,107,0.20);
border-radius: 16px; box-shadow: 0 6px 22px rgba(0,0,0,0.32); backdrop-filter: blur(8px);
min-height: 104px; }'
同じ形で、センサーが持つ約80個の属性のどれでも読み取れます。brightnessをcontrast、gamma、color_temp、hdr_pq、lamp_hoursなど、タイルに表示したいものに入れ替えてください。
保存します。実際の数値や言葉が表示されれば、エンティティIDは正しく、以下の手順もすべて動作します。空欄になる場合は、ステップ2に戻ってください。
ただのタイトルでは味気ありません。これはcard-modのグラデーション背景を付けたmarkdownカードで、タイルの山を名前付きのセクションに変える役割を果たします。ボード上のすべてのセクションは、ラベルと絵文字だけを変えたこのカードで始まります。
type: markdown
content: '🔌 **POWER & SOURCE**'
card_mod:
style: 'ha-card { background: linear-gradient(135deg, rgba(61,220,107,0.30), rgba(16,120,60,0.30));
border: 1px solid rgba(61,220,107,0.45); border-radius: 14px; box-shadow: 0 6px 20px rgba(0,0,0,0.3); }
ha-markdown { padding: 12px 20px !important; } ha-markdown p { margin: 0 !important;
letter-spacing: 3px; color: #eafff0; font-size: 14px; font-weight: 700; }'
絵文字コードとラベルのテキストを変更してください。card-modのブロックはどのセクションでも同一です。
これは値を読むだけでなくコマンドを送るため、先にスクリプトが存在している必要があります。呼び出すscript.projpilot_YOURSERIAL_power_onは、アプリが「ブロックをコピー」の内容をconfiguration.yamlに貼り付け、Home Assistantを再起動し、HAと同期をタップした後に初めて書き込まれます。
type: custom:mushroom-template-card
primary: Power On
icon: mdi:power
icon_color: green
layout: vertical
fill_container: true
tap_action:
action: call-service
service: script.projpilot_YOURSERIAL_power_on
card_mod:
style: 'ha-card { background: linear-gradient(135deg, rgba(61,220,107,0.16), rgba(16,90,46,0.20));
border: 1px solid rgba(61,220,107,0.34); border-radius: 16px; box-shadow: 0 6px 22px rgba(0,0,0,0.32);
min-height: 92px; }'
電源オフ、スクリーンブランク、HDMI 1、HDMI 2、A/Vミュート、カラーモード、レンズメモリーも同じカードで構いません。変更するのはラベル、アイコン、serviceだけです。
ボード上部のヒーローはbutton-cardです。大きな電源状態、複数の属性から組み立てた1行サマリー、そして枠線だけでなくカード全体に施したグリーングラスの演出で構成されます。
type: custom:button-card entity: sensor.YOUR_PROJECTOR name: Epson QB1000 show_state: true show_label: true size: 48px state_display: '[[[ return entity.state==''on'' ? ''Powered on'' : ''Standby''; ]]]' label: '[[[ var a=entity.attributes; return (a.input||''-'')+'' • ''+(a.color_mode||''-'')+ '' • ''+(a.video_range||''-'')+'' • ''+(a.lamp_hours||0)+'' h''; ]]]' styles: card: - height: 176px - background: linear-gradient(135deg, rgba(61,220,107,0.32), rgba(11,64,34,0.6)) - border: 1px solid rgba(61,220,107,0.5) - border-radius: 22px - box-shadow: 0 12px 36px rgba(0,0,0,0.42) - padding: 20px state: - color: '[[[ return entity.state==''on'' ? ''#3ddc6b'' : ''#8a9'' ]]]'
インストールごとに変わる部分だけに絞っています。完全なカードにはアイコン、名前、ラベルのグリッド位置の設定も含まれます。すべてはステップ10のダウンロードをご覧ください。
もっとスリムなストリップがよいですか? mushroom-chips-cardなら、電源状態、入力、カラーモード、ビデオレンジ、ランプ使用時間という小さなチップ1行で同じ役割を果たします。それぞれstate_attr('sensor.YOUR_PROJECTOR', ...)を読み取るテンプレートです。ボードの上部には、どちらか一方だけを使ってください。
アプリで保存したシーンは、同期するとそれぞれscript.projpilot_YOURSERIAL_scene_<id>という名前のスクリプトになります。そのタイルは、ステップ6のコントロールボタンカードと同じもので、シーン名とアイコンを付けたものです。
type: custom:mushroom-template-card
primary: Movie Night
icon: mdi:movie-open
icon_color: green
layout: vertical
fill_container: true
tap_action:
action: call-service
service: script.projpilot_YOURSERIAL_scene_YOURSCENE1
card_mod:
style: 'ha-card { background: linear-gradient(135deg, rgba(61,220,107,0.16), rgba(16,90,46,0.20));
border: 1px solid rgba(61,220,107,0.34); border-radius: 16px; box-shadow: 0 6px 22px rgba(0,0,0,0.32);
min-height: 92px; }'
YOURSCENE1は、アプリの同期済みコントロール一覧でそのシーンに表示されているIDに置き換えてください。シーン1つにつきタイル1つを、horizontal-stackの中に置きます。
プロジェクターセンサーは他のセンサーと同様にHome Assistantが記録するため、lamp_hoursには履歴が最初から備わっています。追加のセンサーもヘルパーも事前設定も不要です。メンテナンスセクションに配置します。
type: custom:mini-graph-card
entities:
- entity: sensor.YOUR_PROJECTOR
attribute: lamp_hours
name: Laser hours
name: Laser hours
icon: mdi:lightbulb-on-outline
line_color: '#3ddc6b'
line_width: 4
hours_to_show: 336
points_per_hour: 0.5
height: 96
animate: true
card_mod:
style: 'ha-card { background: rgba(18,26,20,0.60); border: 1px solid rgba(61,220,107,0.20);
border-radius: 16px; box-shadow: 0 6px 22px rgba(0,0,0,0.32); backdrop-filter: blur(8px); }'
336時間は2週間です。レーザーやランプの使用時間は急に飛ばず着実に増えていくので、通常は2週間の期間があれば、グラフが平坦に見えずに傾向を把握できます。
完成ビューです。このページの冒頭のスクリーンショットにあるすべてのセクションとカードを含み、エンティティIDの代わりにプレースホルダーを入れています。
YOUR_PROJECTORをステップ2で調べたプロジェクターセンサーのエンティティIDに、YOURSERIALをステップ2で調べたシリアル番号由来のIDに置き換えます。YOURSCENE1、YOURSCENE2、YOURSCENE3をご自身の3つのシーンIDに置き換えるか、実際のシーン数に合わせてタイルを追加・削除します。configuration.yamlに貼り付け、Home Assistantを再起動し、「HAと同期」をタップするまで動作しません。センサーが実際に持っている属性名と照らし合わせてください。開発者ツール › 状態でsensor.YOUR_PROJECTORエンティティを開き、属性の一覧を確認します。HDR PQやHDR HLGなど一部の値は、プロジェクターがその種類の信号を実際に受信している間だけ表示されるため、その2つが「不明」なのは故障ではなく正しい場合があります。センサー全体が空に近い場合は、プロジェクターを起動してください。スタンバイ中の機器はほとんど情報を公開しません。
「ブロックをコピー」をまだ貼り付けていないか、貼り付け後にHome Assistantを再起動していません。コントロールとシーンのボタンはアプリが書き込むスクリプトを呼び出しますが、そのスクリプトは、アプリの設定 › ホームオートメーション › Home Assistantで「ブロックをコピー」をconfiguration.yamlに貼り付け、Home Assistantを一度再起動し、HAと同期をタップするまで存在しません。ダッシュボードの誤りを探す前に、アプリで接続テストを実行してください。ブロックが存在するかどうかがわかります。
シリアル番号全体ではなくprojpilotで絞り込むと、一覧全体を見渡しやすくなります。最近追加したコントロールやシーンがない場合は、もう一度HAと同期をタップしてください。新規セットアップをやり直さなくても、その場で更新されます。シーンを削除した後に古い不要なスクリプトが一覧に残っている場合は、アプリの孤立したスクリプトを削除を使ってください。
パターンは固定ですが、中央部分は固定ではありません。センサーの名前はお使いのプロジェクターのモデル名に基づき、すべてのスクリプトにはこのページのプレースホルダーではなくお使いのプロジェクターのシリアル番号が含まれます。ステップ2のとおり、開発者ツール › 状態とアプリのHome Assistant画面から両方を調べ、例のテキストではなくそれを使ってください。
ホームオートメーションは買い切りのアドオンです。サブスクリプションも、アカウントも、クラウドも不要です。一度の購入で、お持ちのすべてのプラットフォームでアンロックされます。
いいえ。アプリで「HAと同期」をタップすると、ライブのプロジェクターセンサーと、すべてのコントロールおよびシーンのボタンを備えたProjector Pilotのダッシュボードが、Home Assistant内に自動で作成され、サイドバーに「Projector Pilot」として表示されます。このページは、よりリッチなグリーングラス版を手作業で作る方、または同期で作成された内容をカスタマイズしたい方向けです。
スクリーンショットと同じ見た目にするなら必要です。Mushroom、button-card、card-mod、mini-graph-cardの4つです。ただし、基本のコントロールが動作するためにはどれも必須ではありません。すべてのボタンは通常のスクリプト呼び出しで、カスタムカードは見た目を整えるための装飾です。
プロジェクターセンサーは、アプリでサインインして同期するとすぐに測定値を公開するため、情報タイルは直ちにライブ表示されます。一方、コントロールとシーンのボタンが呼び出すスクリプトは、アプリの「ブロックをコピー」の内容をconfiguration.yamlに貼り付け、Home Assistantを再起動し、「HAと同期」を一度タップするまでHome Assistant上に存在しません。
パターンは同じですが、具体的な文字列は同じになりません。プロジェクターセンサーの名前はお使いのプロジェクターのモデル名に基づき、すべてのスクリプト名はシリアル番号に基づきます。このページにYOUR_PROJECTORと書かれている箇所にはご自身のセンサーのエンティティIDを、YOURSERIALと書かれている箇所にはアプリのHome Assistant画面に表示されるシリアル番号由来のIDを入れてください。