이전에 글로 샤오미 로봇청소기에 관한 홈킷 등록방법을 다루긴 했었지만 HA에 등록하는 방법은 생략을 했었습니다.
오늘은 샤오미 1세대 로봇청소기를 Home Assistant(HA)에 등록해 보도록 하겠습니다.

HA에 등록을 위해서는 샤오기 기기의 토큰(Token)을 알아야 합니다.
해당 내용은 HA 공식 홈페이지의 자료를 참고하였습니다.
여러가지 방법들이 존재하는데 제가 사용할 방법은 아이폰을 이용한 방법입니다.
제가 안드로이드 스마트폰이 없어서 안드로이드 폰을 이용한 방법을 사용할 수가 없어요.
그리고 휴대폰(아이폰이든 안드로이드든)을 사용하지 않고 라즈베리파이에서 바로 찾아내는 방법도 존재합니다만 생략했습니다.
이전 글에서 설명했다시피 최대한 라즈베리파이에는 접속을 안하려고 노력 중입니다. (콘솔화면 어려워요!)
그리고 라즈베리파이에서 바로 찾는 방법은 실패하는 경우도 있더라고요. (전 실패했어요. 못찾더라고요.)

이제 본격적으로 시작을 해봅시다.


아이폰(iOS)과 맥(혹은 윈도우)를 이용한 방법

시작하기 앞서 저는 컴퓨터로 맥을 이용하기 때문에 맥 화면을 캡쳐해서 보여드리지만, 윈도우용 프로그램도 똑같기 때문에 
문제가 생기지는 않을겁니다. 


1. 우선은 아이폰에 샤오미 앱(Mi Home)을 설치하고 가이드에 따라서 설정을 완료합니다.

(아마 이 글을 보는 분들은 이미 설정을 완료했을겁니다.)

2. 아이튠즈를 이용하여 컴퓨터에 아이폰 백업을 합니다.

아이튠즈에서 폰 설정에 들어간다음 수동으로 백업을 하면 됩니다. 
(굳이 앞에 자동뱁업 부분을 건드릴 필요없이 오른쪽 부분의 ‘지금 백업’을 누르면 됩니다. )

<iTunes 휴대폰 설정 화면 - 백업>


3. iBackup Viewer 를 다운 받아서 설치합니다.


4. iBackup Viewer 를 실행하고 백업 파일을 불러옵니다.

4-1. 맥
맥에서는 파일 접근권한 문제로 백업파일을 불러올 수가 없습니다.
시스템 환경설정 - 보안 및 개인 정보 보호 - 개인 정보 보호 탭으로 이동하 여
전체 디스크 접근 권한 에 iBackup Viewer 앱을 등록합니다.
그리고 iBackup Viewer 를 실행하면 백업파일을 자동으로 불러오게 됩니다.
4-2. 윈도우
윈도우는 별다른 문제없이 자동으로 백업파일을 불러올겁니다. 
<iBackup Viewer 실행화면 초기>

폰의 배경화면으로 백업이 되어 있군요. (엄한 사진은 지웠습니다.)
배경화면을 클릭하면 백업파일을 불러옵니다.
<iBackup Viewer - 백업파일을 불러온 화면>

5. 맨 마지막 아이콘인 Raw Data를 선택하고 파일을 선택합니다.

아래 캡쳐의 번호에 맞춰 123456789_mihome.sqlite 파일을 저장합니다. 
<iBackup Viewer - Raw Data 화면>

①-②-③ 순으로 파일을 찾고 ④의 Export를 클릭하여 Selected 를 클릭하면 저장이 됩니다.
(파일앞에 숫자는 계정마다 다르니 숫자 뒤에 mihome.sqlite 이 붙었는지 확인하세요.)


6. DB Browser for SQLite 를 다운받아 설치하고 따라하세요.


<DB Browser for SQLite 실행 화면>

①을 누르고 iBackup Viewer에서 저장한 파일을 선택합니다.
②를 누르고 ③ 에 다음을 적습니다.
SELECT ZTOKEN FROM ZDEVICE WHERE ZMODEL LIKE "%vacuum%"
④를 누르면 ⑤의 목록이 뜹니다. 그 내용을 마우스 오른쪽을 눌러서 복사합니다.

7. 다음 사이트에서 디크립션을 해줍니다.



①에 위에서 복사한 내용을 붙혀넣습니다.
②(Hex)를 선택합니다.
③에 0을 32개 넣어줍니다.
④(Decrypt)를 누릅니다.
⑤에 나오는 글자를 차례대로 적습니다. 두줄로 나오는데요. 각각 16개씩 총 32개입니다.

그걸 주욱 붙힌게 토큰입니다. (우리가 HA 설정에 적을 내용입니다.)

이렇게 해서 토큰을 얻게 되었습니다. 이제 이 토큰으로 HA에 등록을 하면 됩니다.


HA에 로봇청소기 등록하기

Filezilla와 Atom을 이용하여 configuration.yaml 설정 파일을 불러옵니다.

적당한 위치에 다음을 추가합니다.
#
vacuum:
- platform: xiaomi_miio
host: rockrobo
token: []
들여쓰기는 꼭 신경써서 적도록 합니다.
host 에는 ip를 적게 되어 있는데 보통 로봇청소기에 인터넷을 등록될 때 rockrobo라는 이름으로 공유기에 등록을 하기 때문에 
아이피가 아니라 rockrobo 라고 적어도 됩니다. 
토큰에는 위에서 얻은 32글자를 적어줍니다.

그리고 재시작을 하면 로봇청소기가 등록이 됩니다. 
끝!

토큰얻기만 어렵지 등록은 참 쉽네요. ㅎㅎ


+ Recent posts