使用 ESPHome bluetooth_proxy 裝置在 HomeAssistant 中按區域(房間)追蹤藍牙裝置。
(最終)對設備位置進行三角測量!就像在地圖上一樣。或許。
Bermuda 的目標是讓您追蹤任何藍牙設備,並讓 Homeassistant 告訴您該設備在您家中的位置。您唯一需要的額外硬體是運行 esphome 的 esp32 設備,充當藍牙代理。另外,Shelly Plus 設備也可以執行此功能。
device_tracker
實體,該實體可以連結到「人員」以進行家庭/非家庭追蹤bermuda.dump_devices
服務提供裝置的全面 json/yaml 轉儲及其與每個藍牙接收器的距離。 一台或多台裝置使用 esphome 的bluetooth_proxy
元件向 HA 提供藍牙代理資訊。我喜歡 D1-Mini32 板,因為它們便宜且易於部署。據報道,Shelly Plus 藍牙代理設備運作良好。僅支援本機支援的藍牙設備,這表示目前或計劃不支援 MQTT 設備等。
HA 主機上的 USB 藍牙並不理想,因為它不會為廣告資料包添加時間戳記。不過,它可用於簡單的“家/不家”跟踪,並且當前啟用了區域距離支援。
您想要追蹤的一些藍牙 BLE 裝置。智慧手錶、信標塊、溫度計等
透過 HACS 安裝 Bermuda:
有關其工作原理以及如何為您的家庭配置百慕大的更多信息,請參閱 Wiki。
安裝後,整合應該在“設定”、“設備和服務”中可見
按下CONFIGURE
按鈕查看配置對話框。底部是一個字段,您可以在其中輸入/列出系統可以看到的任何藍牙設備。選擇設備會將它們添加到配置的設備清單中並為它們建立感測器實體。查看設定如何運作?了解更多。
選擇設備螢幕會顯示目前感應器和其他資訊。請注意,「未顯示」部分中有一些預設禁用的額外感測器(螢幕截圖顯示其中幾個已啟用)。您可以編輯它們的屬性,以使它們能夠取得有關您的裝置位置的更詳細資料。不過,這主要用於故障排除或開發。
感測器資訊還包括屬性區域名稱和ID、相關MAC位址等。
在「設定」、「人員」中,您可以定義任何百慕達裝置來追蹤任何人/使用者的在家/離開狀態。
請參閱 Wiki 中的常見問題!
想改進這個嗎?驚人的!請記住,這是我第一次進行 HA 集成,而且我更像是一個白鬍子系統管理員,而不是程式設計師,所以如果在我做蠢事的地方我真的很歡迎一些改進!
您可以先使用服務bermuda.dump_devices
檢查內部狀態。
bermuda.dump_devices
服務只需呼叫服務bermuda.dump_devices
即可獲得百慕達用於追蹤和計算其狀態的內部資料結構的完整轉儲。這對於了解正在發生的情況和故障排除很有幫助,或者如果您有非常自訂的需求,可以使用模板感測器等來解決,則可以使用它。
如果不帶參數調用,則該服務將返回所有資料。可用參數可讓您限製或重新格式化結果數據,使其更易於使用。特別是, addresses
參數有助於僅傳回與一個或多個 MAC 位址(或 iBeacon UUID)相關的資料。請參閱家庭助手Services
頁面中Developer Tools
下的參數資訊。
重要提示:如果您決定將此呼叫的結果用於您自己的範本等,請記住格式可能在任何版本中發生變化,並且不一定被視為「重大變更」。這是因為該結構是內部使用的,而不是發布的 API。也就是說,我們將努力在發行說明中指出結構中的欄位是否被重新命名或移動,但不會添加新項目。
bluetooth_tracker
和ble_tracker
整合僅用於確定“家/不家”,而不進行基於“區域”的定位。 (注意:「區域」是指家外的地方,而「區域」是指家中的房間/區域)。我想以可能不適合核心的方式自由地進行實驗,但希望至少其中一些有一天可以在核心程式碼庫中找到一個家。
「監控」腳本使用獨立的 Pi 來收集藍牙數據,然後將其輸入 MQTT。它不使用bluetooth_proxy
功能,我認為這是家庭藍牙網路的未來(好吧,無論如何,它是為我的家準備的!)。
ESPrecence 看起來很酷,但我不想將我的節點專用於非 esphome 使用,而且它也沒有利用 HA 中現在的藍牙代理功能。我可能正在重新發明相當多的 ESPrescense 輪子。
一定要使用 HACS 介面!安裝 HACS 後,前往Integrations
,點擊右上角的肉丸選單,然後選擇Custom Repositories
。將agittins/bermuda
貼到Repository
欄位中,然後為Category
選擇Integration
。按一下Add
。
您現在應該能夠添加Bermuda BLE Trilateration
整合。完成此操作後,您需要重新啟動 Homeassistant,然後在Settings
、 Devices & Services
中選擇Add Integration
整合並蒐索Bermuda BLE Trilateration
。它可能會透過注意到附近的藍牙裝置來自動偵測您。
新增整合後,您需要透過點擊Devices and Services
、 Bermuda BLE Trilateration
中的「 Configure
」來設定裝置。
在Configuration
方塊中,您可以選擇希望整合追蹤的藍牙裝置。
以下說明是範本中的一般註解:
configuration.yaml
)。custom_components
目錄(資料夾),則需要建立它。custom_components
目錄(資料夾)中建立一個名為bermuda
的新資料夾。custom_components/bermuda/
目錄(資料夾)下載所有檔案。如果您想為此做出貢獻,請閱讀貢獻指南
該專案是從 @oncleben31 的 Home Assistant 自訂元件 Cookiecutter 範本產生的。
程式碼模板主要取自@Ludeeus的integration_blueprint模板Cookiecutter User Guide**