天天看點

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

筆記(一)Home Assistant簡介

Home Assistant 是一款基于 Python 的智能家居開源系統,支援衆多品牌的智能家居裝置,可以輕松實作裝置的語音控制、自動化等。

Home Assistant 運作在 Python 3.5.3 及以上 環境下,一般來說,符合 Python 運作條件的系統皆可安裝 Home Assistant。

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

1、安裝運作

Home Assistant支援四種不同的安裝方式,表中比較了這幾種安裝方式所支援的功能:

OS Container Core Supervised
Automations
Lovelace
Integrations
Blueprint
Users Container
Supervisor
Add-ons
Snapshots
Managed OS

官方推薦使用以下兩種安裝方式:

  • Home Assistant Operating System(HassOS):Home Assistant作業系統,使用

    Supervisor

    管理Home Assistant Core和預裝的附加元件。
  • Home Assistant Container:獨立的基于容器的 Home Assistant Core 安裝(例如 Docker)。

對于有經驗的使用者可以使用以下兩種安裝方式:

  • Home Assistant Supervised:手動安裝Supervisor。
  • Home Assistant Core:使用Python虛拟環境安裝。

PS:推薦使用Raspberry Pi 4B + HassOS,這樣就可以獲得Home Assistant的完整體驗,該安裝方式會在之後的筆記中進行說明。

安裝方式詳情如下:

Home Assistant Installation

Home Assistant 中文文檔 安裝

2、基本配置

Home Assistant安裝完成并啟動後,通過

http://<ip>:8123

通路,初次使用會要求配置管理使用者等資訊。

Home Assistant 當中各類智能家居裝置以元件(Components)的形式,通過配置

configuration.yaml

檔案接入,該檔案通常位于

~/.homeassistant/

目錄下。

YAML 基本文法規則:

  • 大小寫敏感
  • 使用縮進表示層級關系
  • 縮進時不允許使用Tab鍵,隻允許使用空格。
  • 縮進的空格數目不重要,隻要相同層級的元素左側對齊即可

【注意】yaml配置檔案修改後,需要在網頁管理頁面的 配置-服務控制-配置檢查 處檢查配置檔案格式是否正确**。**

3、概念說明

Home Assistant需要明确**實體(entities)、裝置/服務(devices/services)、區域(areas)、內建(integrations)**這幾個概念,下圖是其相關關系:

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

3.1 實體(entities)

**實體(entities)**可以說是Home Assistant的最小機關,表示某種單一的屬性或者狀态。如燈的亮滅、開關的閉合、以天為機關的天氣預報、以小時為機關的天氣預報、手機的電池電量、手機的IP位址、手機的内部存儲或外部存儲、地點(公司、家、學校等)、系統使用者等。

實體可以單獨存在,也可以由各種裝置或者服務包含。

3.2 裝置/服務(devices/services)

**裝置(devices)**對應某種具體的裝置,如小米電鍋、小米台燈、手機、列印機等。

**服務(services)**對應某種具體的服務,如天氣。

通常情況下,裝置或者服務包含一個或者多個實體。

3.3 區域(areas)

**區域(areas)**是某個指定範圍,區域是多個實體、裝置或服務的集合,在使用過程中,卧室、客廳、廚房、衛生間等都是一個區域。

3.4 內建(integrations)

**內建(integrations)**通常指同一類型的裝置或服務的集合,或是對應的平台。截止到2021年04月26日,Home Assistant已收錄1771類內建服務。

如小米的Xiaonmi Router、Xiaomi Sensor、Xiaomi Switch等:

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

如天氣相關的各種服務:

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

如各種hub:

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

4、功能說明

Home Assistant有藍圖(blueprint)、自動化、場景、腳本、輔助元素、标簽幾個主要功能,通過各個功能的配合使用,實作家庭自動化。

4.1 藍圖(blueprint)

**藍圖(blueprint)**提供一系列的自動化模闆,通過藍圖可以快速建立家庭自動化執行個體,以下為 移動亮燈 和 地點離開提醒 的兩個藍圖。

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

點選建立移動亮燈的自動化應用,會進入自動化建立頁面,選擇檢測傳感器實體、需要控制的燈和一些其它配置資訊就可以建立該自動化應用。

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

4.2 自動化

自動化是智能家居系統的核心,Home Assistant 提供了豐富的自動化配置模闆和延展性。預設安裝環境下,自動化相關檔案為

automations.yaml

,使用者也可通過前端頁面 (配置——自動化)編輯自動化,在前端編輯儲存後,

automations.yaml

檔案将自動同步更新。

Home Assistant 中的自動化遵循觸發條件

trigger

—— 環境條件

condition

—— 執行動作

action

的三步邏輯。

觸發條件是我們傳統意義上的條件,即某個事件的發生啟動了自動化的程序,觸發條件可為多個;環境條件是附加條件,可為空,即在觸發條件發生下,自動化還受某些環境因素所制約;動作則是自動化的目标和終點,即自動化最終要實作的操作。

筆記(一)Home Assistant簡介筆記(一)Home Assistant簡介

執行的動作可以為多種類型,如打開裝置、服務調用、場景激活等。

4.3 場景

定格一組裝置的狀态,後續可一鍵恢複,配合自動化使用。

4.4 腳本

執行一系列的動作,配合自動化使用。

4.5 輔助元素

輔助建構自動化的元素,主要有開關、文本、數值、日期時間、下拉菜單、計數器、計時器等。

如在執行自動化時,可以将添加的計數器作為一個環境條件,用于判斷是否執行,也可以将其作為執行動作。

4.6 标簽

标簽分NFC和二維碼兩種,用于觸發自動化。

5、其它功能

5.1 開發人員工具

用于開發人員對系統進行調試,分狀态、服務、模闆和事件四部分,分别用于實體狀态、服務調用、顯示模闆以及事件觸發的調試和開發

5.2 自定義實體

調整每個實體的屬性。添加/編輯的自定義設定将立即生效,删除的自定義設定将在實體更新時生效。實體添加後,可通過該功能修改實體資訊

5.3 lovelace 儀表盤

自定義卡片布局,讓控制裝置更友善。

5.4 人員

管理Home Assistant跟蹤的人員,可以和手機等裝置綁定,實作人員運動軌迹跟蹤,協助自動化執行。

5.5 地點

管理要跟蹤人員的區域,如可以添加公司、學校等,但人員進入或者離開地點時,可以觸發自動化任務。

5.6 使用者

系統背景使用者管理。

參考連結

Home Assistant 官方文檔

Home Assistant 中文文檔

Xiaomi Smart Home Ecosystem.xlsx

樹莓派、HomeAssistant、微信小程式實作智能家居互聯

智能家居從零開始(Home Assistant)

樹莓派 + Home Assistant + HomeKit 從零開始打造個人智能家居系統(5):進階配置 Home Assistant

樹莓派 + Home Assistant + HomeKit 從零開始打造個人智能家居系統(7):平面圖(Floorplan)

Home Assistant git倉庫位址

繼續閱讀