HA 做為智能家居系統(tǒng),也可以針對設備進行定位與追蹤,并且可以通過ping 獲得某個IP設備的在線與離線狀態(tài)。
HA中 的定位方法分為兩大類,一類基于通訊網(wǎng)絡,一類基于GPS。下給出常見的位置追蹤方法:
前面三種都是基于通訊網(wǎng)絡探測某個設備是否存在的方法。
第一種是登錄到路由器上,通過路由器提供的信息確定設備是否在本局域網(wǎng)中。
第二種是直接掃描設備的IP地址,我們一般都是在樹莓派上運行,可以直接在樹莓派上進行掃描,從而獲得設備是在線還是離線的信息。
第三種是通過藍牙掃描,獲得藍牙設備是否在樹莓派附近的信息,一旦發(fā)現(xiàn)設備存在,我們就可以認為設備的經(jīng)緯度信息與HA是一致的,就可以定位設備。
后面三種都是基于GPS定位,能夠準確定位設備的經(jīng)緯度信息。
在HA中所有需要探測位置的設備,其信息都回保存在配置文件known_devices.yaml中,這個文件和主配置文件configuration.yaml 在相同目錄,如果你沒有,請自行創(chuàng)建,新建一個文本然后修改名稱和后綴即可,先設置一個ping 組件,用于探測我正在運行的Windows 電腦是否在線,Windows電腦要被ping通,首先得打開它的防火墻設置,設置如下:
找到這兩個入站規(guī)則,然后點擊右邊的 啟用規(guī)則。接下來我們編輯HA的configuration.yaml配置文件,在其中空白處添加如下配置:
device_tracker:
- platform: ping
hosts:
desktop: xxx.xxx.x.xxx
上面的XXX 為你電腦的ip 地址,不知道怎么查IP的,可以百度IP,就會顯示你當前電腦的ip,或者win+R 輸入cmd 回車,在彈出的窗口中輸入 ipconfig 就會顯示當前電腦的IP。設置完HA配置后,啟動HA系統(tǒng),在界面中就會顯示desktop 這個設備 同時顯示其狀態(tài)為 home。
再打開 known_devices.yaml 這個文件,我們就可以看到這個設備的信息自動被添加到文件中。
下面對這個配置進行修改,首先我們編輯它的name 屬性,此處我們可以使用中文。
desktop:
hide_if_away: false
icon:
mac:
name: 我的電腦
picture:
track: true
consider_home: 10
這里增加了一項屬性consider_home 此屬性表示多少秒后不能ping通,就修改設備的狀態(tài)為not home,保存配置文件,重啟HA系統(tǒng),就可以看到界面上顯示的名稱發(fā)送了改變。
我們可以通過Windows防火墻規(guī)則,來模擬設備的在線和離線,通過之前的 入站規(guī)則,點擊右邊的 啟用規(guī)則 / 禁用規(guī)則 這時觀察HA 界面 我的電腦 狀態(tài)的變化。
如果要刪除一個被位置追蹤的設備,需要刪除HA的configuration.yaml配置文件中之前的配置,還需要將 known_devices.yaml 文件中 對應設備的 track 設置為 no 或者整個刪除 即可。
注意:演示的配置在實際使用中一定要注意縮進,因為手機顯示的原因可能沒有對齊。
關注一下,更多精彩,不容錯過!