Logitech Harmony 기기별 컨트롤을 위한 SmartApp~~~

Logitech Harmony Ultimate Hub와 리모트컨트롤러 세트를,
영국 아마존에서 싸게 구입하였었다.(지금도 그 가격은 오지 않았다 ^^v 10만)

BT나 IrDA 를 사용하는 제품은 웬만해선 컨트롤 가능하다.
학습기능도 있어서 리모콘을 이용하는 제품은 거의 다 컨트롤 가능하다고 볼 수 있다.

나는 아래 제품을 등록하여 사용중이다.
– TV & U+ G TV
– PS4
– 발뮤다 그린팬S
– LG 에어컨
– 로보킹

Logitech에서 공식 SmartApp을 제공해줘서 스마트싱스에 연동하여 자동화도 가능하다.
하지만 문제는 ‘Activity’라는 개념이다.

이게 TV 보는 Activity를 On하면, U+ G TV 전원과 TV 전원을 켜줘서 티비를 볼 수 있게 해준다.
하지만 이 때 선풍기 Activity를 On하게 되면 기존 On되어 있던 TV Activity가 Off된다.
즉, TV가 꺼지고 선풍기 Activity가 실행 된다.

선풍기 Activity 안에 TV 켜기를 같이 넣어주면 되지만,
항상 선풍기 Activity On 시 TV도 같이 켜지게 되는 문제가 발생한다.

물론, Harmony Ultimate Kit에 있는 전용 리모콘을 통해서 기기들을 따로 조절가능하지만
스마트싱스에서는 Activity들만 연동해 주고 있어서 불편함을 느끼게 되었다.

그래서 스마트싱스에서는 직접 DTH와 SmartApp 개발하여 해결 할 수있는
환경을 제공해주고 있어서 한번 도전해보았다.

Logitech Harmony API를 검색하다보니 어느 개발자가 쉽게
HTTP/MQTT를 이용하여 Harmony에 접근하고 컨트롤 할 수 있는 서버를 만들어 놓았다.
그것은 바로 ‘Harmony-API’
이것을 이용하면 작업이 반은 줄 것 같아서 ‘Harmony-API’를 이용하는
DTH와 SmartApp을 개발하기 시작하였다.

 

사용중에 심각하지는 않지만 버그가 있을 수 있습니다!!!

< 설치 방법 >
1. Harmony-API Server 설치

1) ‘Harmony-API’ github을 참조하여 각자 서버에 설치
https://github.com/maddox/harmony-api

2) ‘Harmony-API’ Synology에 설치

https://github.com/maddox/harmony-api

Harmony-API container 재부팅시 자동 실행(Synology NAS)

3) 1번 작업을 나의 Raspberry-pie에 설치하고 만들어 놓는 docker image 이용
– Raspberry용 Docker 설치필요시
아래 사이트에서 Docker가 설치 된 Raspberry 이미지
또는 Raspberry에 Docker 설치 위한 deb 파일과 방법이 공유되어 있다.
https://blog.hypriot.com/downloads/
아래 쪽에 ‘Hypriot Docker Debian Packages for Raspberry Pi’ 부분에
원하는 버전 링크를 눌러 들어가면 아래와 같은 설치 커맨드가 보이고 복붙하면 된다.
# curl -s https://packagecloud.io/install/repositories/Hypriot/Schatzkiste/script.deb.sh | sudo bash
# sudo apt-get install docker-hypriot=1.11.1-1

– Docker hub에서 내가 만들어 놓은 ‘turlvo/harmony-api’ docker image를 다운로드
# docker search turlvo/harmony-api
# docker pull turlvo/harmony-api

– 다운로드 한 docker image를 docker를 통해 ‘Harmony-API’ Server 실행

Harmony-API container 재부팅시 자동 실행(Raspberry Pie)

– ‘Postman’이라는 프로그램을 통한 서버 동작 확인
사용하던 설정파일을 아래에 첨부하였으니 Import하여서 사용 하면 됨
Harmony.postman_collection.json

2. SmartThings IDE사이트에서 DTH/SmartApp 설치
https://github.com/turlvo/KuKuHarmony
– SmartThings IDE 사이트에서 DTH/SmartApp Menu에서 Settings -> KuKu Harmony 추가

 

– ‘KuKu Harmony’ DTH를 ‘Update from Repo’를 통해 설치

 

– ‘KuKu Harmony’ SmartApp을 ‘Update from Repo’를 통해 설치
꼭 ‘Connect’먼저 설치 후 ‘Child’ 설치 필요하며 ‘Child’는 Publish 안해도 됨

 

3. SmartThings 앱에서 SmartApp 설치 및 설정
SmartThings 앱에서 ‘Automation’ 탭에 ‘+ Add a SmartApp’을 통해
2번 과정에서 ‘Publish’ 한 SmartApp을 선택

 

1번과정에서 설치 한 서버의 로컬 IP:PORT를 넣어주고,
‘Next’를 하면 동일 네트워크상에 있는 Harmony Hub를 검색해 준다.

 

검색 된 Harmony Hub에서 설치를 진행 할 Hub를 선택하고 ‘Done’을 선택하면
SmartApp 설치가 완료 된다.

 

다음은 설치 된 ‘KuKu Harmony (Connect)’ SmartApp 세부 설정 진행이다.
SmartThings -> Automation -> SmartApp탭에 이전에 설치 한 ‘KuKu Harmony’앱을
선택하면 내부 설정하면이 보인다.
Harmony Hub에 등록되어 있는 Device를 Thing으로 등록하기 위해  ‘Add a device…’를 선택

 

Things으로 추가 하고 싶은  Device를 선택한다.
그리고 아직은 On/Off만 지원하므로 선택 한 Device가 지원하는 Commnd 리스트 중에
On/Off에 의미하는 Command를 선택한다.
(다른 것 선택 시 DTH에서 On/Off시 해당 Command가 수행 됨)

 

On/Off Command를 선택하고, ‘Done’을 선택하면
해당 Device를 Thing으로 등록하는 과정이 완료 된다.
(다른 Device를 추가하려면 ‘Add a device…’부터 반복하면 된다.)

 

Harmony Hub에 등록 되어 있는 TV Device가 SmartThings에 Thing으로 등록 되어 있는 모습
On/Off 버튼 동작에 따라 실제로 TV가 On/Off된다.
이젠 해당 Thing을 자동화 과정에 넣어 이용하면 된다.

 

<더 변경해보고 싶은 것>
– Harmony-API가 하는 일을 자체 SmartApp에서 하도록 하기
– On/Off외 다른 기능들 추가하기
– SmartApp Connect/Child 하나로 합치기

75 thoughts on “Logitech Harmony 기기별 컨트롤을 위한 SmartApp~~~”

댓글 남기기