ホーム › ユーザーガイド › Home Assistantダッシュボード
Home Assistant · ステップバイステップ

Home Assistantのプロジェクターダッシュボードを約1時間で作る

同期すると、アプリがすでに動作するダッシュボードを作成してくれます。このページは、その上位版にあたる手作り版です。全10ステップ、カードごとのYAML、そして一度に貼り付けられる完成ビューを用意しました。グリーングラスのタイル、ライブのピクチャー表示、シーン、レーザー使用時間のグラフを、1台のプロジェクターセンサーだけで実現します。2か所の文字列を変えれば、あなた専用になります。

同期で無料の1枚が完成見た目用のHACSカード4種情報タイルは即ライブボタンは1回の貼り付け後に動作
Home Assistant上で完成したProjector Pilotのダッシュボード。電源とソース、カラーモード、ピクチャーメニュー全項目、HDRと信号、RGBキャリブレーション、レンズとジオメトリー、レーザー使用時間グラフ付きのメンテナンス、シーンを、すべてグリーングラスのタイルで表示
これから作るもの。スクロールするか、クリックで拡大できます。
とりあえず動くボードが欲しいだけですか? それならもうお持ちです。アプリでHAと同期をタップすると、すべてのコントロールとライブセンサーを備えたProjector Pilotのダッシュボードが、Home Assistantのサイドバーに自動で作成されます。カードもYAMLも貼り付けも不要です。詳しくは同期がダッシュボードを作成をご覧ください。このページは、よりリッチなグリーングラス版を手作業で作る方、または同期で作成された内容をカスタマイズしたい方向けです。
カスタムの見た目を急いで作りたい方へ。ステップ10に進み、完成ビューをダウンロードして、2つの文字列と3つのシーンIDを書き換えて貼り付けてください。途中のステップでは各パーツの役割を説明しているので、自分で変更する際に役立ちます。

始める前に

このダッシュボードには2つの情報源があり、以降のすべてのステップでその違いが重要になります。

取得元得られるもの
プロジェクターセンサー: sensor.YOUR_PROJECTORすべての読み取り値。電源、入力、カラーモード、ピクチャーの各数値、HDRと信号、レンズとジオメトリー、ランプ使用時間。サインインして同期した時点でライブ表示され、ブロックのコピーは不要です。
アプリが同期したスクリプト: script.projpilot_YOURSERIAL_...すべてのコントロール。電源、入力、カラーモード、レンズメモリー、そしてシーン。ブロックの貼り付け、Home Assistantの再起動、「HAと同期」のタップが済んで初めて存在するようになります。
ステップ 1

HACS から4つのカードをインストール

4つとも HACS の標準ストアにあります。Home Assistant でHACS › フロントエンド › リポジトリを探す&ダウンロードを開き、名前を検索してダウンロードしたら、ブラウザを再読み込みしてください。

検索する名前用途入れない場合
Mushroomすべての情報タイル、コントロールボタン、シーンタイル標準のbuttonカードを使います。動作はしますが、見た目は角ばります。
button-cardライブラベル付きのヒーローentityカードを使うか、詳細を省いたMushroomテンプレートカードを使います。
card-modグリーングラスの背景、枠線、グラデーションすべて動作はします。光の演出だけがなくなります。
mini-graph-cardメンテナンス内のレーザー使用時間の履歴組み込みのhistory-graphカードを使います。
動作させるために必須のものはありません。以下のコントロールはすべて、同じスクリプトを指す標準のHome Assistantボタンカードでも動作します。カスタムカードはグリーングラスの見た目を作るもので、仕組みの根幹ではありません。
ステップ 2

エンティティIDとシリアル番号を調べる

このページのすべてのスニペットは2つのプレースホルダーを使います。一度だけ自分のものを調べれば、あとはコピー&ペーストで済みます。

ステップ1の「ブロックをコピー」と同期を済ませたら、開発者ツール › 状態をprojpilotで絞り込んで、同期されたコントロールの一覧をまとめて確認することもできます。

スクリプトの一覧がまだ表示されませんか?「ブロックをコピー」を貼り付ける前なら想定どおりです。センサーは存在して更新されますが、スクリプトは「HAと同期」が正常に完了して初めて表示されます。
ステップ 3

ビューを作成する

  1. 設定 › ダッシュボード › ダッシュボードを追加 › 最初から新しいダッシュボード。名前は「Projector Pilot」にします。
  2. 開いて、右上の鉛筆アイコンで編集モードにします。
  3. ビューを追加します。どちらのレイアウトでも動作しますが、実際のボードはカードを縦に重ねる既定のスタックを使っており、貼り付けも最も簡単です。
  4. YAMLを貼り付けるには、カードの3点メニューからYAMLで編集を選ぶか、ダッシュボードの3点メニューから設定の直接編集を選んでビュー全体を一度に貼り付けます。

ビュー自体の設定を手入力したい場合は次のとおりです。

title: Projector Pilot
views:
- title: Projector Pilot
  path: projector-pilot
  icon: mdi:projector
  cards: []
ステップ 4

ライブ情報タイルを追加する

まずは値を読み取るだけのものから始め、コマンドを送るものに触れる前に、エンティティ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に戻ってください。

ステップ 5

緑のセクションヘッダーを追加する

ただのタイトルでは味気ありません。これは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のブロックはどのセクションでも同一です。

ステップ 6

コントロールボタンを追加する

これは値を読むだけでなくコマンドを送るため、先にスクリプトが存在している必要があります。呼び出す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だけです。

見た目は正しいのにタップしても何も起きない場合は、「ブロックをコピー」が貼り付けられていないか、貼り付け後にHome Assistantが再起動されていません。ダッシュボードの誤りを疑う前に、アプリで接続テストを実行してください。まさにその点を確認します。
ステップ 7

ヒーローを追加する

ボード上部のヒーローは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', ...)を読み取るテンプレートです。ボードの上部には、どちらか一方だけを使ってください。

ステップ 8

シーンを追加する

アプリで保存したシーンは、同期するとそれぞれ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の中に置きます。

ステップ 9

レーザー使用時間の履歴を追加する

プロジェクターセンサーは他のセンサーと同様に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週間の期間があれば、グラフが平坦に見えずに傾向を把握できます。

ステップ 10

または、まるごと使う

完成ビューです。このページの冒頭のスクリーンショットにあるすべてのセクションとカードを含み、エンティティIDの代わりにプレースホルダーを入れています。

  1. ビューのYAMLをダウンロード。
  2. 任意のテキストエディターで開き、出現するすべての箇所で、YOUR_PROJECTORをステップ2で調べたプロジェクターセンサーのエンティティIDに、YOURSERIALをステップ2で調べたシリアル番号由来のIDに置き換えます。
  3. 下部近くのシーンセクションで、YOURSCENE1、YOURSCENE2、YOURSCENE3をご自身の3つのシーンIDに置き換えるか、実際のシーン数に合わせてタイルを追加・削除します。
  4. Home Assistantでダッシュボードを開き、鉛筆アイコン、3点メニュー、設定の直接編集の順に進み、ビューとして貼り付けます。
シーンの名前と数は一致しません。ファイルには「映画鑑賞」「ゲーム」「スポーツデー」の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と同期をタップしてください。新規セットアップをやり直さなくても、その場で更新されます。シーンを削除した後に古い不要なスクリプトが一覧に残っている場合は、アプリの孤立したスクリプトを削除を使ってください。

エンティティIDがこのガイドのものと違って見える

パターンは固定ですが、中央部分は固定ではありません。センサーの名前はお使いのプロジェクターのモデル名に基づき、すべてのスクリプトにはこのページのプレースホルダーではなくお使いのプロジェクターのシリアル番号が含まれます。ステップ2のとおり、開発者ツール › 状態とアプリのHome Assistant画面から両方を調べ、例のテキストではなくそれを使ってください。

プロジェクターのすべてを、一つの壁面に

ホームオートメーションは買い切りのアドオンです。サブスクリプションも、アカウントも、クラウドも不要です。一度の購入で、お持ちのすべてのプラットフォームでアンロックされます。

Google Play - 配信中 App Store - 審査待ち Microsoft Store - 審査待ち Mac App Store - 審査待ち

ホームオートメーションに戻る → · ユーザーガイド全文 →

よくある質問

かんたん回答

このダッシュボードは手作業で作らなければいけませんか?

いいえ。アプリで「HAと同期」をタップすると、ライブのプロジェクターセンサーと、すべてのコントロールおよびシーンのボタンを備えたProjector Pilotのダッシュボードが、Home Assistant内に自動で作成され、サイドバーに「Projector Pilot」として表示されます。このページは、よりリッチなグリーングラス版を手作業で作る方、または同期で作成された内容をカスタマイズしたい方向けです。

これを作るのにHACSのカスタムカードは必要ですか?

スクリーンショットと同じ見た目にするなら必要です。Mushroom、button-card、card-mod、mini-graph-cardの4つです。ただし、基本のコントロールが動作するためにはどれも必須ではありません。すべてのボタンは通常のスクリプト呼び出しで、カスタムカードは見た目を整えるための装飾です。

情報タイルには値が表示されるのに、ボタンが何も動作しないのはなぜですか?

プロジェクターセンサーは、アプリでサインインして同期するとすぐに測定値を公開するため、情報タイルは直ちにライブ表示されます。一方、コントロールとシーンのボタンが呼び出すスクリプトは、アプリの「ブロックをコピー」の内容をconfiguration.yamlに貼り付け、Home Assistantを再起動し、「HAと同期」を一度タップするまでHome Assistant上に存在しません。

このガイドのエンティティIDと同じになりますか?

パターンは同じですが、具体的な文字列は同じになりません。プロジェクターセンサーの名前はお使いのプロジェクターのモデル名に基づき、すべてのスクリプト名はシリアル番号に基づきます。このページにYOUR_PROJECTORと書かれている箇所にはご自身のセンサーのエンティティIDを、YOURSERIALと書かれている箇所にはアプリのHome Assistant画面に表示されるシリアル番号由来のIDを入れてください。