본문 바로가기

IoT

스마트 홈 구축 - home assistant에 person component 설치 (nmap_tracker)

반응형

홈어시스턴트에 person component를 통해서 재실 센서를 구축하려고 한다.

 

두가지 이유가 있는데,

 

 

 

첫째. 아이폰7에서 스마트싱스 gps센서가 제대로 동작하지 않는다.

 

정확한 이유를 모르겠으나 스마트싱스에서 Home <=> Away 모드 전환이 제대로 되지 않는다.

 

Home 모드로 전환은 어느정도 되는데

 

Away 모드로 전환은 아예 되지 않는다.

 

밖으로 나가도 Home 모드에서 계속 고정되어 있는 문제가 있다.

 

 

두번째. gps센서의 부정확함.

 

gps는 최소 인식 범위가 넓기 때문에 정확히 재실인지 파악하기가 어렵다.

 

이를 wifi 재실센서를 통해서 보완하면 훨씬 안정적이다.

 

 

 

위 두가지 이유로 인해

 

여러개의 device tracker를 통합하여 재실상태를 파악할 수 있는 person component를 사용한다.

 

 

https://www.home-assistant.io/integrations/person/

 

Person

Instructions on how to set up people tracking within Home Assistant.

www.home-assistant.io

https://hakorea.github.io/integrations/person/

 

구성원(Person)

Instructions on how to set up people tracking within Home Assistant.

hakorea.github.io

 

일단 gps와 wifi 두개만 통합하려고 한다.

 

(추후에는 ble도 추가할까 고려중이다.)

 

 

일단 사전작업으로 필요한 사용자를 등록해야 한다.

 

 

 

 

gps 재실센서는 홈 어시스턴트 앱을 사용한다.

 

검색해보면 owntrack이나 life 360 등의 앱을 사용하는 것 같은데

 

owntrack의 경우 mqtt를 설정하고 연동하는 과정이 다소 복잡하기 때문에

 

훨씬 간단하게 설정할 수 있는 홈 어시스턴트 앱을 사용한다.

 

 

플레이스토어/앱스토어에서 Home Assistant 앱을 받으면 된다.

 

https://companion.home-assistant.io/

 

Home Assistant Companion Docs | Home Assistant Companion Docs

Welcome to the Home Assistant App docs

companion.home-assistant.io

 

앱을 실행하면 화면에 따라 입력만 잘 하면 된다.

 

홈어시스턴트의 접속주소를 입력하고 CONNECT를 누르고

 

해당 기기에 맞는 사용자 계정으로 로그인을 하면 된다.

 

그리고 가장 중요한 위치 사용 권한을 허용해줘야 한다.

 

Location - ALLOW를 누르면 [앱을 사용하는 동안] 까지만 뜬다.

 

사용자의 위치를 정확하게 파악하려면 [항상 허용]으로 바꿔줘야 하니

 

직접 설정으로 들어가서 변경해야 한다.

 

(Motion&Pedometer와 Notifications는 개인 사용 여부에 따라 허용하면 된다.)

 

 

 

 

다음으로는 nmap_tracker를 이용해 wifi 재실센서를 만들 수 있다.

 

https://www.home-assistant.io/integrations/nmap_tracker/

 

Nmap Tracker

Instructions on how to integrate Nmap into Home Assistant.

www.home-assistant.io

https://hakorea.github.io/integrations/nmap_tracker/

 

Nmap 추적기(nmap Tracker)

Instructions on how to integrate Nmap into Home Assistant.

hakorea.github.io

 

아래 명령어로 nmap을 설치해준다.

sudo apt-get install net-tools nmap

 

홈어시스턴트 config 폴더의 configuration.yaml에 아래와 같이 설정을 추가해준다.

# wifi presence
device_tracker:
  - platform: nmap_tracker
    hosts: 192.168.1.0/24
    consider_home: 300
    new_device_defaults:
      track_new_devices: true

 

홈어시스턴트를 재부팅하면

 

config 폴더에 known_devices.yaml 파일이 생성된다.

 

이처럼 홈어시스턴트에 추적기기로 등록이 된다.

 

 

필요한 기기 정보는 가져왔기 때문에

 

새로운 기기는 추적하지 않게

 

configuration.yaml에서 track_new_devices: false 로 변경해준다.

 

또한, 원하는 기기만 등록해서 사용하면 되니

 

known_devices.yaml에서 필요한 기기만 track: true로 두고

나머지는 false로 바꿔야 한다.

 

(지우면 될 줄 알았는데 지워도 다시 살아난다....)

 

 

위처럼 작업하고 나면 홈어시스턴트 구성요소 메뉴에 필요한 기기만 남는다.

 

gps 재실센서와 구분하기 위해서 구성요소 ID에 _wifi를 추가했다.

 

 

 

 

위의 세팅이 모두 끝나면

 

아래처럼 각 기기별로 gps와 router 2개씩 확인할 수 있다.

 

 

위의 작업을 모두 끝내고

 

[설정] - [구성원] 메뉴에서 구성원을 추가해주면 된다.

 

기기에서 로그인했던 계정으로 연결하고

 

추적 대상 기기도 gps와 wifi를 각각 추가해준다.

 

 

이제 메인으로 가면 짜잔

 

등록된 사용자가 러브레이스에 나타나게 된다.

반응형