Home Assistant에서는 휴대폰 같이 우리가 항상 휴대하는 물건으로 재실, 외출 등을 판단해야 합니다.
아래 링크를 클릭하면 Home Assistant를 지원하는 여러 센서를 확인할 수 있는데 저는 ASUS RT-AC68U 무선 공유기를 사용하기 때문에 이 중에서 Asuswrt와 Bluetooth Tracker를 이용해서 해당 센서가 휴대폰을 인지하면 집에 있는 것으로 판단하도록 Home Assistant를 구축하였습니다.
Netgear, DD-WRT, LINKSYS, OpenWRT, Tomato, Xiaomi Router 등 다양한 공유기를 지원하기 때문에 본인이 사용하는 공유기를 선택하시면 됩니다.
https://www.home-assistant.io/integrations#presence-detection
Integrations
List of the built-in integrations of Home Assistant.
www.home-assistant.io
1. Asuswrt 설정
1) Asus 공유기 SSH 설정
먼저 Home Assistant가 ASUS 공유기에 접속하여 현재 공유기에 연결된 기기들의 정보를 가져올 수 있도록 공유기 설정 페이지에 들어가서 SSH를 허용해야 합니다.
참고: https://lightinglife.tistory.com/144
[ASUS 공유기 tvheadend 설치 #1] 아수스 공유기 SSH 외부 접속 활성화 및 JFFS 파티션 활성화
아수스 공유기에 내장된, 관리자 모드에서 지원하는 기능인 다운로드 마스터를 이용하여 토렌트를 다운받는 방법에 대해 알아봤습니다. 실제로 여기까지만 포스팅할려고 했는데, 다운로드 마스터가 조금 느리고,..
lightinglife.tistory.com
2) Asuswrt 설정 (https://www.home-assistant.io/integrations/asuswrt/ )
Home Assistant 설정 파일인 configuration.yaml 에 아래 내용을 추가합니다.
asuswrt:
host: 192.168.0.1 # 사용하시는 공유기 IP를 입력하세요.
username: admin # 사용하시는 공유기 접속 ID를 입력하세요.
password: dfsg234 # 사용하시는 공유기 접속 비밀번호를 입력하세요.
protocol: ssh
port: 22
sensors: []
3) Device Tracker 설정 (https://www.home-assistant.io/integrations/device_tracker/ )
Configuration.yaml 에 아래와 같이 Device Tracker를 설정합니다.
device_tracker:
- platform: asuswrt
host: 192.168.0.1 # 사용하시는 공유기 IP를 입력하세요.
interval_seconds: 10
consider_home: 120
new_device_defaults:
track_new_devices: false
hide_if_away: false
위와 같이 설정 후 Home Assistant를 재시작하면 configuration.yaml 파일이 있는 폴더에 known_devices.yaml 라는 파일이 생깁니다.
이 파일은 Device Tracker가 인지한 기기들 목록으로 이 중에서 본인의 핸드폰 정보라고 생각되는 항목의 track을 false에서 true로 변경하면 됩니다.
galaxy_s10:
hide_if_away: true
icon:
mac: 42:28:A8:70:BC:YC # 기기마다 다릅니다.
name: Galaxy-S10 # 휴대폰 기종마다 다릅니다.
picture:
track: true
2. Bluetooth 설정
Asuswrt 설정만으로는 부족한 부분이 있습니다.
Android의 절전 정책으로 간혹 Wifi가 꺼져서 외출로 변경되는 일이 발생하기 때문입니다.
이를 보완하기 위해서 Bluetooth로 이중 확인을 하는 것이 좋습니다.
1) Bluetooth 페어링(Pairing)
Bluetooth 설정을 하기에 앞서 휴대폰과 Home Assistant가 설치된 기기에 대해 Bluetooth 페어링을 해야 합니다.
이 부분은 Home Assistant가 설치된 기기마다 다르기 때문에 구글에서 찾아봐야 합니다.
2) Bluetooth Tracker 설정 (https://www.home-assistant.io/integrations/bluetooth_tracker/ )
Bluetooth 설정은 간단합니다. Asuswrt 설정 시 추가했던 device_tracker에 아래와 같이 bluetooth_tracker만 추가하면 됩니다.
device_tracker:
- platform: asuswrt
host: 192.168.0.1 # 사용하시는 공유기 IP를 입력하세요.
interval_seconds: 10
consider_home: 120
new_device_defaults:
track_new_devices: false
hide_if_away: false
- platform: bluetooth_tracker
Home Assistant 를 재시작하면 아래와 같이 known_devices.yaml 파일에 휴대폰 bluetooth 정보가 추가됩니다. (Mac address에서 알 수 있듯이 Bluetooth인 경우 Mac address가 BT_ 으로 시작합니다.)
이 역시 track를 false에서 true로 변경해야 합니다.
galaxy_s10_2:
hide_if_away: false
icon:
mac: BT_A8:2Y:BZ:D8:1F:0J # 기기마다 다릅니다.
name: Galaxy S10 # 휴대폰 기종마다 다릅니다.
picture:
track: true
마지막으로 Home Assistant를 한번 더 재시작하고 Home Assistant에 접속 후 설정 > 구성원 메뉴를 클릭합니다.
구성원 페이지에서 이름을 클릭 후 위와 같은 팝업이 뜨면 known_devices.yaml에서 찾아낸 휴대폰을 추적 대상 기기 에 설정합니다.