posted by ShinJjang 2017. 12. 12. 00:54

스마트싱스의 아울렛류(소켓, 플러그, 콘센트 등)를 Homebridge를 이용하여 홈킷에 등록하면 해당 장치가 스위치로 나온다. 만약 전력량이 리포팅되는 DTH의 경우는 스위치와 콘센트로 2개의 장치로 등록된다. 하지만 홈킷에 등록된 콘센트는 상태반영도 안될뿐 아니라 실제 장치를 제어할 수도 없다. 


물론 홈킷에서 그냥 스위치로 사용하여 장치를 제어하면 되지만 그러면 내 마음이 편하지 않다. 왠지 콘센트로 등록하고 제어해야 마음에 들것 같다. 사실 아래 화면처럼 홈킷에 있는 장치 모양들이 다양해야 장치를 구분하기도 쉽고 보기에도 좋다. 그리고 무엇보다 내 마음을 즐겁고 편하게 한다. 아마 홈킷을 사용하는 대부분의 사용자가 비슷한 마음일것 같다. 그래서 또 어떻게 되지 않을까 하고 homebridge-smartthings를 들여다 봤다. 


코드에 대해 아는거라곤 If, else if밖에 없어 잘은 모르지만 코드상 DTH수정으로는 홈킷에서 콘센트로 제어하는것이 불가능하다는건 알겠더라. 그래서 코드를 살짝 바꿔서 내 나스의 해당파일을 찾아 수정한 파일로 교체했다. 파일하나 교체하는데 3시간 걸렸다. 왜냐하면 숨겨진 파일을 SSH로 접속해서 찾아내고 교체하는 작업을 해본적이 없어 여기저기 찾고 물어본다고 3시간이 걸렸다. 


과연 될까라는 설레이는 마음으로 도커 홈브릿지 이미지를 재시작했다... 이런 젠장. 도커를 사용하면 이미지를 재시작할때 마다 새로 플러그인을 받아 설치하다보니 교체한 파일이 다시 원상복구되어버렸다. ㅠㅠ 3시간에 걸친 파일교체가 의미없게 되버렸다. 


그래서 정말 혹시나해서  github에서 homebridge-smartthings를 fork해서 내 계정으로 가져와 해당 코드부분을 수정하여 

플러그인 주소에 내 아이디를 넣었더니 세상에... 수정된 파일이 설치되는게 아닌가? 스스로 대박을 외치며 홈킷을 열었더니 아래 사진처럼 ST에 등록된 Outlet이 콘센트 하나로 등록될 뿐만 아니라 제어까지 되는걸 확인했다. 무모한 도전이 성공할때의 즐거움과 만족감이 좋은것 같다. 

추가로 펌프를 수도꼭지로 바꾸고 싶어서 도전했지만 실패했다. 가장 큰 문제는 홈브릿지 자체에 수도에 대한 정보가 없다는 것이다. 아쉬운 마음을 뒤로한채 접을수 밖에 없었다.



홈킷에 콘센트로 등록하는 방법


1. DTH수정

먼저 어떤 장치(플러그나 아울렛, 스마트 소켓, 스위치류, HA와 연동된 샤오미 멀티탭 등)도 상관없다.   스위치 형태로 ON/OFF 되는 장치면 된다. 

먼저 아래 처럼 IDE사이트에서 MY Device Handler로 이동하여 원하는 DTH를 클릭하여 코드 페이지로 이동한다.

그리고 사진에 체크박스된 것 처럼 command "Outlet"을 추가한다.


2. HomeBridge Plug-in 수정하기


- 라즈베리 파이에 HomeBridge가 설치된 경우 아래의 주소를 이용하여 homebridge-smartthings플러그인 설치 및 홈브릿지 재시작

npm install -g shin4299/homebridge-smartthings


- 도커에 HomeBridge가 설치된 경우는 istall.sh파일을 열어 아래 주소를 추가한 후에 이미지 재시작

npm install -g shin4299/homebridge-smartthings


3. 홈킷을 열어 확인한 후 기쁜 마음으로 사용^^

위의 간단한 과정이 끝나면 아래 영상에서 보듯이 콘센트로 등록되고 제어도 가능하다.