HomeBridge 는 node.js 네트워크 플랫폼상에서 작동하는 Apple HomeKit API 지원 서버 프로그램 이다.
이 서버를 이용하면 기성 HomeKit 호환 제품을 구입하지 않고도 Apple Home App 을 통해서 홈오토메이션을 구축할수 있다.
리눅스 상에 올릴 수 있는 오픈프로젝트이기 때문에 라즈베리파이 정도에 가벼운 리눅스 머신이 필요한 부분은 감안하자.
라즈베리파이에 HomeBridge 서버를 올리면 다른 기기들 (전등, 보일러, 온도계, 도어락) 을 연결해서 조작 할 수 있도록 할 수 있다.
물론 HomeBridge 와 집에 있는 기기들을 연결하기 위해서는 또 별도에 장비들이 필요할 수 있으나, 이 역시 열정만 있다면 꼭 구입하지 않고도 집에서 제작 할 수 있다.
기본 Home App 외에 EVE 라는 프로그램도 있다. 앱스토어에서 HomeKit 으로 검색해보면 여러가지 앱들이 있음을 확인 할 수 있다.
같은 역할을 하지만 기본 앱에서 지원하지 않는 추가 기능을 지원해주기 때문에 같이 사용하는것을 추천한다.
.
라즈베리파이 기준으로 node.js 설치와 homebridge 설치 방법이다
Step 1 : Node.js 와 HomeBridge 설치
wget https://nodejs.org/dist/v4.0.0/node-v4.0.0-linux-armv7l.tar.gz tar -xvf node-v4.0.0-linux-armv7l.tar.gz cd node-v4.0.0-linux-armv7l sudo cp -R * /usr/local/ curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash - sudo apt-get install -y nodejs sudo apt-get install npm sudo apt-get install libavahi-compat-libdnssd-dev sudo npm install -g --unsafe-perm homebridge hap-nodejs node-gyp cd /usr/local/lib/node_modules/homebridge/ sudo npm install --unsafe-perm bignum cd /usr/local/lib/node_modules/hap-nodejs/node_modules/mdns sudo node-gyp BUILDTYPE=Release rebuild npm install -g homebridge-http |
Step 2 : NPM 이나 Node.js 의 최신버전을 설치하려면 아래를 참고 한다.
HomeBridge 최신버전이 설치 되지 않는 경우
//// npm 최신버전으로 업데이트 sudo npm install -g npm //// node 최신버전으로 업데이트 sudo npm cache clean -f sudo npm install -g n sudo n stable |
Step 3 : config.json 파일에 user 와 pin code 변경한다.
Pin 코드는 HomeApp 에서 HomeBridge 를 등록 할때 사용하는데 예제로 들어 있는 코드를 쓰는것 보다는 바꾸는 것이 좋다.
Step 4 : 필요한 플러그인들을 설치 한다.
각자 필요한 플러그인을 설치 하면 되는데 아래 주소에서 찾을 수 있다.
https://www.npmjs.com/browse/keyword/homebridge-plugin
아래는 그간 테스트 해봤던 플러그인 들이다.
https://github.com/rudders/homebridge-http https://www.npmjs.com/package/homebridge-http https://www.npmjs.com/package/homebridge-http-temperature https://github.com/lucacri/homebridge-http-temperature-humidity https://www.npmjs.com/package/homebridge-thermostat https://www.npmjs.com/package/homebridge-http-thermostat https://github.com/benzman81/homebridge-http-webhooks |
이것 저것 해봤지만 http, thermostat, Domoticz 가 유용하다.
https://www.npmjs.com/package/homebridge-edomoticz
Domoticz 를 설치하고 연동하는게 여러모로 편리하다.
하지만 Domoticz 를 사용하더라도 보일러를 끄고 켜거나 연동하는것은 추가 작업이 필요하다.
이 부분은 따로 포스트 하려고 한다.
Step 5 : 자동실행 설정
라즈베리 파이가 재실행 되었을때도 자동으로 HomeBridge 가 실행되도록 설정한다.
sudo npm install pm2 -g pm2 start homebridge pm2 save pm2 startup |
* pm2 최고
참고 1 : HomeApp 을 실행 했더니 키체인 문제가 있다고 작동하지 않는 경우
iPhone 설정 >> iCloud >> 키체인 을 켜서 재시도 한다.
참고 2 : 잘되다가 아무이유 없이 homebridge 가 잡히지 않는 경우
1. config.json user 의 mac 을 수정
2. .homebridge 폴더의 accessories, persist 를 제거 (다시 생성된다)
3. HomeApp 에서 HomeBridge 를 삭제 하고 재연결
4. 5~10 분정도 기다려 본다.
참고 3 : 참고했던 HomeBridge 를 설치방법 자료 주소
https://github.com/cflurin/homebridge-punt/wiki/Running-Homebridge-on-a-Raspberry-Pi
참고 4 : HomeBridge 관련 Type 정의들
Accessory Type : https://developer.apple.com/reference/homekit/hmservice/1664305-accessory_service_types
Homekit Type : /usr/local/lib/node_module/homebridge/node_modules/hap-nodejs/lib/gen/HomkitTypes.js
Type 별 UUID : https://github.com/nyata/homebridge-config-server/wiki
EVE type UUID : https://gist.github.com/gomfunkel/b1a046d729757120907c
참고 5 : HomeApp 과 EVE app 를 비교하면 결정적으로 Thermostat 의 설정 단계가 EVE 가 더 세세 하다는 장점이 있다.
목표 온도를 0.5 나 0.1 도 단위로 바꾸고 싶다면 EVE 를 써야 한다.
그리고 Thermostat Plugin 의 index.js 코드를 수정해야 한다. ( minStep = 0.1 0.5 ) >> 요건 따로 다룰 예정
참고 6 : 라즈베리 기준으로 node 모듈 설치시 이 디렉토리에 저장된다.
/usr/local/lib/node_modules/
'IoT HomeNet' 카테고리의 다른 글
Domoticz Raspberrypi 설치 (0) | 2017.01.27 |
---|---|
AppleTV HomeHub 구축 (2) | 2017.01.14 |
ESP8266 Online Update 구현 (0) | 2016.12.28 |
ESP8266 를 보일러에 붙여보기 (4/4) (0) | 2016.12.24 |
ESP8266 를 보일러에 붙여보기 (3/4) (0) | 2016.12.24 |