안녕하세요, 남두오성입니다.


HA에 컴포넌트를 추가하여 스마트홈을 확장해 가고 있습니다.


오늘은 스마트폰이 집 Wifi 에 접속되면 "재실" Wifi에서 떨어지면 "외출" 로 처리되는


센서를 만들어 보도록 하겠습니다.




저희 집에는 ASUS 1900 공유기를 펌업하여 AC68U로 사용하고 있습니다.


(이전 포스팅 참조 : http://hospital82.tistory.com/36 )



이 공유기는 바로 재실센서 스크립트 적용이 가능합니다.


(다른 공유기들도 가능한 공유기들이 있습니다. DD-WRT 등 커스텀펌웨어를 올린 공유기도 가능한 듯 해요.)




그럼 ASUS 공유기는 어떻게 설정하는지 알아보도록 하겠습니다.



configuration.yaml 설정하기



컨피그 파일을 열어서, 아래 스크립트를 입력해 주세요.



asuswrt:

(스페이스)(스페이스)host: YOUR_ROUTER_IP

(스페이스)(스페이스)username: YOUR_ADMIN_USERNAME

(스페이스)(스페이스)password: YOUR_PASSWORD

(스페이스)(스페이스)protocol: SSH

(스페이스)(스페이스)port: 22



이렇게 입력하면 스크립트가 다음과 같이 될 것입니다.




이렇게 입력하고, 스크립트를 저장한 후, 공유기 설정화면으로 진입해서 ssh 접속을 활성화 시켜주세요.


관리 탭 > 시스템 탭 에 진입하셔서


ssh 접속을 활성화 시켜주세요.


저는 내부망에서 접속하는 것만 허용해 주기 위해 LAN ONLY 로 설정 했습니다.





도커이미지를 재시작 해주면,


다음과 같이 ASUS 공유기에 접속된 Wifi 기기들의 재실/외출 상태가 다 표시됩니다.




.....뭐랄까...전 휴대폰만 원하는데, 다 표시되어 별로입니다...ㅎㅎ


그래서 좀 조정을 하겠습니다.



known_devices.yaml 설정하기


docker > homeassistant 폴더 안에 보면 known_devices.yaml 파일이 생성되어 있습니다.



이 파일을 열어보면, 아까 주르륵 뜨던 기기 리스트가 다 떠 있습니다.


이 아이템 들 중에, 재실 체크를 하기 원하는 휴대폰만 남기고 모두 "주석" 처리해 줍니다.



( 주석은 # 를 줄 앞에 넣어주면 됩니다. )




그리고, configuration,yaml 스크립트를 보강해 줍니다.




이렇게 스크립트를 입력해줘야 asuswrt가 계속 기기 추가를 안합니다.


자..이렇게 하면 HA에 원하는 기기만 와이파이 접속 확인이 됩니다.



이제, 라우터에 휴대폰이 Wifi 연결되면 "재실", Wifi를 끊으면 "외출" 입니다.

BELATED ARTICLES

more