首頁 › 使用指南 › Home Assistant 儀表板
Home Assistant · 逐步教學

約一小時,打造 Home Assistant 投影機儀表板

App 在您同步時就會自動建立一個可用的儀表板,而本頁則是精緻的手工打造版:十個步驟、每張卡片的 YAML,以及一份可一次貼上的完整檢視。綠色玻璃質感方塊、即時畫質讀數、您的場景,以及雷射使用時數圖表,全都來自同一個投影機感測器。只要改兩個字串,就是您專屬的。

同步即可免費建立一個4 張 HACS 卡片打造外觀資訊方塊立即生效貼上一次後按鈕即可使用
Home Assistant 中完成的 Projector Pilot 儀表板:電源與訊號源、色彩模式、完整畫質選單、HDR 與訊號、RGB 校色、鏡頭與幾何校正、附雷射使用時數圖表的維護,以及場景,全部呈現為綠色玻璃質感方塊
您即將打造的成品。可捲動瀏覽,或點選放大。
只想要一個能用的面板?您其實已經有了。在 App 中點選與 HA 同步,它就會在您的 Home Assistant 側邊欄中建立現成的 Projector Pilot 儀表板,包含每個控制項與即時感測器,不需要卡片、不需要 YAML、也不用貼上。請參閱同步會為您建立儀表板。本頁則是教您手動打造更豐富的綠色玻璃質感版本,或自訂同步所提供的內容。
想快速取得自訂外觀?直接跳到步驟 10,下載完整檢視,改兩個字串與三個場景 ID 後貼上即可。中間的步驟會說明每個部分的用途,方便您日後調整。

開始之前

這個儀表板由兩個來源提供資料,下面每個步驟都會用到兩者的差異。

來源提供
投影機感測器,sensor.YOUR_PROJECTOR每一項讀數:電源、輸入、色彩模式、所有畫質數值、HDR 與訊號、鏡頭與幾何校正、燈泡使用時數。登入並同步後立即生效,不需要複製區塊。
App 同步的指令碼,script.projpilot_YOURSERIAL_...每一項控制:電源、輸入、色彩模式、鏡頭記憶,以及您的場景。這些指令碼必須在貼上複製區塊、重新啟動 Home Assistant 並點選「與 HA 同步」之後才會存在。
步驟 1

從 HACS 安裝四張卡片

這四張都在 HACS 預設商店中。在 Home Assistant 中:HACS › 前端 › 探索 & 下載儲存庫,搜尋名稱、按下載,然後重新載入瀏覽器。

搜尋用途略過的話
Mushroom每個資訊方塊、控制按鈕與場景方塊改用一般的 button 卡片。可以運作,只是外觀較方正。
button-card主視覺區塊與其即時標籤請使用 entity 卡片,或使用細節較少的 Mushroom 範本卡片。
card-mod綠色玻璃質感的背景、邊框與漸層所有功能依然正常,只是少了那份光澤。
mini-graph-card維護區塊下的雷射使用時數歷程改用內建的 history-graph 卡片。
這些都不是必要的。下方每個控制項都能以內建的 Home Assistant 按鈕卡片,指向同一個指令碼來運作。自訂卡片只負責綠色玻璃質感的外觀,而不是底層功能。
步驟 2

找出您的實體 ID 與序號

本頁的每段程式碼都會用到兩個預留位置。只要找出一次,其餘都是複製貼上。

完成步驟 1 的複製區塊與同步後,您也可以在開發者工具 › 狀態中以 projpilot 篩選,一次看到完整的同步控制清單。

還沒有指令碼清單?在貼上複製區塊之前,這是正常的。感測器依然存在並持續更新;只有在「與 HA 同步」成功執行後,才會出現指令碼。
步驟 3

建立檢視

  1. 設定 › 儀表板 › 新增儀表板 › 從頭開始建立新儀表板。取名為 Projector Pilot。
  2. 開啟它,再點選右上角的鉛筆圖示進行編輯。
  3. 新增一個檢視。兩種版面配置都可以;實際使用的面板採用預設的卡片堆疊,也就是一張接一張往下排,最容易貼上。
  4. 若要貼上 YAML,請使用卡片上的三點選單並選擇在 YAML 中編輯,或使用儀表板上的三點選單選擇原始設定編輯器,一次貼上整個檢視。

檢視本身的設定,如果您想自己輸入:

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

新增綠色區段標題

單純的標題只是浪費空間。這是一張 markdown 卡片,搭配 card-mod 的漸層背景,它能讓一堆方塊變成有名稱的區段。面板上的每個區段都以這樣的卡片開頭,只是標籤與表情符號不同。

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,而這個指令碼是在您把 App 的複製區塊貼入 configuration.yaml、重新啟動 Home Assistant 並點選與 HA 同步之後,才由 App 寫入的。

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。在懷疑儀表板有誤之前,請先在 App 中執行測試連線,它檢查的正是這件事。
步驟 7

新增主視覺區塊

面板頂端的主視覺區塊是一個 button-card:顯示大大的電源狀態、一行由多個屬性組成的摘要,並讓整張卡片都有綠色玻璃質感,而不只是邊框。

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 可以用一排小標籤完成相同的工作:電源狀態、輸入、色彩模式、視訊範圍與燈泡使用時數,每個都是讀取 state_attr('sensor.YOUR_PROJECTOR', ...) 的範本。面板頂端請擇一使用,不要兩者並用。

步驟 8

加入您的情境

您在 App 中儲存的每個場景,在同步後都會成為名為 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 換成 App 同步控制清單中該場景所顯示的 ID。每個場景一個方塊,放在 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 小時就是兩週。雷射與燈泡使用時數會穩定上升,而不會忽高忽低,因此兩週的視窗通常足以看出趨勢,圖表也不會顯得平坦。

步驟 10

或者直接整份帶走

完整的檢視,包含本頁頂端截圖中的每個區段與每張卡片,並以預留位置取代實體 ID。

  1. 下載檢視 YAML。
  2. 用任何文字編輯器開啟,並在所有出現的地方替換:把 YOUR_PROJECTOR 換成步驟 2 中您的投影機感測器實體 ID,把 YOURSERIAL 換成步驟 2 中由序號衍生的 ID。
  3. 在靠近底部的場景區段,把 YOURSCENE1、YOURSCENE2 與 YOURSCENE3 換成您自己的三個場景 ID,或依實際場景數量新增、移除方塊。
  4. 在 Home Assistant 中開啟您的儀表板,點選鉛筆圖示與三點選單,選擇原始設定編輯器,並以檢視的形式貼上。
您的場景名稱與數量不會相符。檔案內附三個範例場景:電影之夜、遊戲、運動日。請重新命名方塊、指向您自己的場景 ID,並新增或刪除方塊,直到該區段與您實際儲存的場景數量相符。
資訊方塊在貼上後立即生效。它們只需要感測器存在即可。控制與場景按鈕則要等到複製區塊貼入 configuration.yaml、Home Assistant 重新啟動,且您點選「與 HA 同步」之後,才會有作用。

疑難排解

方塊顯示「未知」

請對照感測器實際擁有的屬性名稱:開發者工具 › 狀態,找到您的 sensor.YOUR_PROJECTOR 實體,查看它的屬性清單。部分讀數(例如 HDR PQ 或 HDR HLG)只有在投影機正在接收該類訊號時才會有值,因此這兩項顯示「未知」可能是正常的,而不是故障。如果整個感測器看起來資料很少,請喚醒投影機:待機中的機器幾乎不會發布資料。

按鈕沒有反應

您還沒有貼上複製區塊,或貼上後 Home Assistant 尚未重新啟動。控制與場景按鈕所呼叫的是 App 寫入的指令碼,而這些指令碼必須在 App 的設定 › 居家自動化 › Home Assistant 已將複製區塊貼入 configuration.yaml、Home Assistant 重新啟動一次,並點選與 HA 同步之後才會存在。請先在 App 中執行測試連線:它會告訴您區塊是否存在,免得您白白去找儀表板的錯誤。

開發者工具 › 狀態中找不到我預期的指令碼

請以 projpilot 篩選,而不是完整序號,這樣更容易看到整份清單。如果您最近新增的控制或場景不見了,請再點選與 HA 同步一次;它會就地更新,不需要重新設定。如果您刪除場景後,舊的失效指令碼讓清單變得雜亂,請使用 App 中的移除孤立指令碼。

我的實體 ID 和本指南中的不一樣

格式是固定的,中間的部分則不是。您的感測器是依您自己投影機的型號命名,而每個指令碼都帶有您自己投影機的序號,不是本頁上的預留位置。請依步驟 2 的方式,從開發者工具 › 狀態和 App 的 Home Assistant 畫面取得這兩者,並使用它們,而不是照打範例文字。

整台投影機,盡在一面牆上

居家自動化是一次性的附加功能。沒有訂閱、沒有帳號、沒有雲端。一次購買,即可在您擁有的所有平台上解鎖。

Google Play - 現已上架 App Store - 等待審核中 Microsoft Store - 等待審核中 Mac App Store - 等待審核中

返回居家自動化 → · 完整使用指南 →

FAQ

快速解答

我一定要自己手動建立這個儀表板嗎?

不用。當您在 App 中點選「與 HA 同步」時,它會直接在 Home Assistant 中為您建立現成的 Projector Pilot 儀表板:包含即時的投影機感測器,以及每個控制項與場景各一顆按鈕,並以 Projector Pilot 的名稱出現在側邊欄。本頁則是教您手動打造更豐富的綠色玻璃質感版本,或自訂同步所建立的內容。

要建立這個儀表板,需要 HACS 的自訂卡片嗎?

若要呈現截圖中的外觀,需要:Mushroom、button-card、card-mod 與 mini-graph-card。但這些都不是控制功能運作的必要條件,每顆按鈕都只是單純的指令碼呼叫,自訂卡片只是外觀上的加分。

為什麼資訊方塊有數值,按鈕卻沒反應?

只要您在 App 中登入並同步,投影機感測器就會立即發布讀數,因此資訊方塊馬上就有即時資料。至於控制與場景按鈕,所呼叫的指令碼要等您把 App 的「複製區塊」貼進 configuration.yaml、重新啟動 Home Assistant,並點選一次「與 HA 同步」之後,才會存在於 Home Assistant 中。

我的實體 ID 會和本指南中的一樣嗎?

格式是一樣的,但實際的字元不會相同。您的投影機感測器是依投影機的型號命名,而每個指令碼則依投影機的序號命名。本頁寫著 YOUR_PROJECTOR 的地方,請填入您自己感測器的實體 ID;寫著 YOURSERIAL 的地方,請填入 App 的 Home Assistant 畫面上顯示、由序號衍生的 ID。