Home Assistant
隨附於 Macro Deck切換燈光、執行場景和指令碼,並在面板上顯示 Home Assistant 的即時狀態。
「連線 Home Assistant」對話方塊,含「位址」和「長期存取權杖」欄位
- 開啟、關閉或切換實體,按鈕會顯示其狀態
- 設定燈具、遮蔽物、恆溫器和媒體播放器
- 執行場景、指令碼和自動化,或呼叫任何服務
- 任何實體狀態或屬性的即時變數
- 在狀態變更和事件匯流排上的事件發生時觸發
Home Assistant 整合會透過 WebSocket API 將 Macro Deck 連線到 Home Assistant。Macro Deck 會保持一個連線開啟,因此 Home Assistant 中的狀態一變更就會立即傳來,動作也會立即執行。只要 Macro Deck 能連到,Home Assistant 可以在任何地方執行:同一台電腦、網路中的 Raspberry Pi 或伺服器,或遠端位址。
可以做什麼
- 開啟或關閉一個或多個實體,或切換其狀態。使用 切換 的按鈕會在實體開啟時亮起。
- 使用 設定燈具 設定燈具的狀態、亮度、顏色、色溫和轉換效果。
- 開啟、關閉、停止遮蔽物或設定其位置,設定恆溫器的溫度、模式、風扇模式和預設,以及控制媒體播放器的播放和音量。
- 啟用場景、執行帶有變數的指令碼,以及觸發、啟用或停用自動化。
- 使用 呼叫服務 呼叫任何服務,以實體、裝置或區域作為目標,並以 JSON 提供資料。
- 使用 取得實體狀態 將實體的狀態或屬性讀入 Macro Deck 變數。
設定範例:
- 書桌檯燈的 切換 按鈕,會顯示檯燈是否開啟。
- 電影 按鈕會啟用電影場景,並暫停媒體播放器上的音樂。
- 將滑桿繫結到燈具的亮度,就能從面板調暗燈光,並看到在 Home Assistant 中所做的變更。
- 一個按鈕的標籤顯示感測器的溫度,另有一個 實體狀態已變更 流程,在前門開啟時顯示通知。
變數和即時更新
Home Assistant 提供的值遠多於 Macro Deck 預先列出的項目。所有實體都位於此整合變數中摺疊的 未繫結的變數 群組內,可在 變數 頁面和每個變數選擇器中找到。開啟實體即可查看其狀態和屬性,然後在需要的項目上選擇 繫結:它會成為一般變數,並即時更新。滑桿可以用這種方式控制燈具的亮度、風扇的速度、遮蔽物的位置、媒體播放器的音量或恆溫器的溫度。
連線中斷時,Macro Deck 會自動重新連線,每次嘗試失敗後會稍微延長等待時間,最長一分鐘。發生這種情況時會觸發 已連線 和 已中斷連線 觸發器,而 Home Assistant 未連線期間,動作會失敗並顯示訊息。可以連線一個 Home Assistant。
需要準備
- Macro Deck 能連到的執行中 Home Assistant,例如
http://homeassistant.local:8123。 - 用來建立長期存取權杖的 Home Assistant 使用者帳戶。
- 使用
https://位址時:電腦信任的憑證。
開始設定
步驟 1: 建立長期存取權杖
在 Home Assistant 中開啟個人資料,前往 安全性 分頁。捲動到 長期存取權杖,建立權杖,將其命名為
Macro Deck並複製。Home Assistant 只會顯示一次。步驟 2: 開啟 Home Assistant 整合
在 Macro Deck 的側邊欄中按一下 整合,然後按一下 Home Assistant。在 概覽 分頁的 設定 區段中按一下 設定。開啟右上角的開關也會開啟相同的對話方塊,設定完成後此整合就會啟用。
步驟 3: 輸入位址和權杖
在 連線 Home Assistant 對話方塊中輸入:
- 位址:開啟 Home Assistant 所用的位址,包含連接埠,例如
http://homeassistant.local:8123。 - 長期存取權杖:剛才複製的權杖。
按一下 繼續 後,Macro Deck 會測試連線,並將連線儲存為 Home Assistant,後面以括號附上住家名稱。
- 位址:開啟 Home Assistant 所用的位址,包含連接埠,例如
步驟 4: 在按鈕上加入動作
在 面板 頁面上按一下一個按鈕。面板必須處於解鎖狀態:右上角顯示 鎖定 按鈕時,即表示已解鎖。編輯器開啟時會選取 短按。按一下 + 新增動作,在 新增動作 對話方塊左側選擇 Home Assistant,選擇 切換,然後選擇一個或多個 實體,例如一盞燈。
步驟 5: 按下按鈕
在面板上按下按鈕。Home Assistant 中的燈會切換,而按鈕會顯示燈是否開啟。
步驟 6: 繫結要顯示在按鈕上的值
若要顯示某個值,請開啟 Home Assistant 頁面的 變數 分頁,並展開 未繫結的變數 群組。開啟一個實體,然後在其狀態或某個屬性上按一下 繫結。在標籤中使用新的變數,例如
{{ vars.ha_sensor_living_room_temperature }}。
動作12
可放在按鈕上,或從流程中執行。
- 呼叫服務
- 呼叫任何 Home Assistant 服務,可選擇實體、裝置、區域,並以 JSON 提供資料。
- 開啟
- 開啟一個或多個實體。
- 關閉
- 關閉一個或多個實體。
- 切換
- 切換一個或多個實體,並在按鈕上顯示它們是否開啟。
- 設定燈具
- 切換燈具,並設定其亮度、顏色、色溫和轉換效果。
- 控制遮蔽物
- 開啟、關閉或停止遮蔽物,或設定其位置或傾斜位置。
- 控制媒體播放器
- 播放、暫停、停止、跳過、靜音或設定媒體播放器的音量。
- 設定恆溫器
- 設定恆溫器的目標溫度、模式、風扇模式和預設。
- 啟用場景
- 啟用場景,可選擇轉換效果。
- 執行指令碼
- 執行指令碼,可選擇以 JSON 物件提供變數。
- 控制自動化
- 觸發、啟用、停用或切換自動化,可選擇忽略其條件。
- 取得實體狀態
- 將實體的狀態或其中一個屬性讀入 Macro Deck 變數。
觸發器4
按鈕或流程可以對這些事件做出反應。
- 已連線
- Macro Deck 已連線到 Home Assistant。
- 已中斷連線
- 與 Home Assistant 的連線已中斷。
- 實體狀態已變更
- 實體的狀態已變更,可限定於某個網域、某個實體,或從某個狀態變更或變更為某個狀態。
- Home Assistant 事件
- Home Assistant 事件匯流排上的任何事件,例如自動化、指令碼、ZHA 和 deCONZ 按鈕按下或自訂事件,可限定於單一事件類型。
變數5
在按鈕和小工具上顯示這些值,或在條件中使用。
homeassistant_is_connected- Macro Deck 是否已連線到 Home Assistant。
homeassistant_version- Home Assistant 的版本。
homeassistant_location_name- 住家的名稱。
homeassistant_entity_count- Home Assistant 擁有的實體數量。
ha_<entity>,ha_<entity>_<attribute>- 實體的狀態或任何屬性,從 未繫結的變數 繫結後即可使用。名稱會依實體 ID 建議,例如
ha_light_office_lamp或ha_light_office_lamp_brightness_pct。其中許多也可以設定,例如燈具的brightness_pct。
常見問題
Home Assistant 必須在同一台電腦上執行嗎?
不必。Macro Deck 會透過網路連線,因此只要 Macro Deck 能連到,Home Assistant 就可以在 Raspberry Pi、伺服器或遠端位址上執行。
可以連線多個 Home Assistant 嗎?
不行。此整合只支援一個 Home Assistant。重新執行設定會取代原本的連線,而按鈕會繼續運作。
設定時顯示無法驗證憑證,該怎麼辦?
電腦不信任 https:// 位址的憑證。請在作業系統的憑證存放區中信任該憑證,或在區域網路中透過 http:// 連線。
位於反向代理後方的 Home Assistant 無法連線,為什麼?
部分代理會封鎖被視為自動化流量的請求。請開啟 設定 > 進階 > HTTP,並在 HTTP User-Agent 下輸入代理接受的值。
連線中斷時會怎麼樣?
Macro Deck 會自動重新連線,並觸發 已中斷連線 和 已連線 觸發器。一段時間無法連到 Home Assistant 時,此整合會顯示 無法連線至 Home Assistant,並在背景中持續嘗試。
存取權杖儲存在哪裡?
權杖會加密儲存在電腦上,除了與 Home Assistant 通訊之外絕不會離開電腦。Home Assistant 拒絕權杖時,此整合會顯示問題:請建立新的權杖並重新執行設定。
更多「智慧家庭和網路」整合
AdGuard Home
隨附於 Macro Deck開啟、關閉或暫停 AdGuard Home 防護,並在面板上顯示統計資料。
RSS 訂閱來源
隨附於 Macro Deck追蹤 RSS 和 Atom 訂閱來源,在小工具中顯示最新文章,並在有新文章時做出回應。
HTTP
隨附於 Macro Deck從按鈕傳送 HTTP 請求,並將回應中的值儲存到變數。
天氣
隨附於 Macro Deck在面板上顯示各個地點的目前天氣和預報,不需要 API 金鑰。