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 하나로 합치기

72 comments on “Logitech Harmony 기기별 컨트롤을 위한 SmartApp~~~”

  1. 아…조금만 더 빨리 알았더라면 ㅎㅎ
    저는 전원설정에서 디바이스 항시 ON 유지 설정을 사용하고 있었습니다.
    주말에 한번 차근차근 해봐야 겠네요
    좋은 자료 감사합니다

    1. 헛 그런기능이 있었군요 ㅠㅠ activity는 꺼지지만 제품전원은 유지된다는 makelism님 업데이트 내용도 있네요. 제가 만든것도 반쪽짜리겠네요 activity는 그나마 harmony hub에서 상태 관리를 해주지만 디바이스별 커맨드는 리모콘과같이 신호를 쏘고 켜지던지 말던지 아~몰랑 상태거든요 ㅎㅎ

  2. 이거 빨리 설정하고 싶은데 현재 제 스마트싱스가 업데이트 후 상태가 안 좋아서 입맛만 다시고 있습니다.
    선생님이 생각하시는 것처럼 반쪽 자리는 아닌 것 같습니다.
    원래는 다른 엑티비티 실행을 하면 OFF로 나오는데 공유해주신 방법은 버튼 기반으로 작동을 해서 다른 엑티비티가 실행되어도 버튼이 ON 상태 유지를 하지 않나요? 만약 유지를 하고 다른 버튼까지 작동이 가능하면 거실 에어컨 2대는 하모니 하나로 각각 자동화를 실행할 수 있습니다.
    빨리 설정해보고 싶습니다.

    1. Makelism님께서는 습득/활용 능력이 좋으셔서 금방 적용 하실 수 있을 것 같습니다.
      하지만 테스터가 저 뿐이라서, 서버도 한대뿐이라 변수가 있을지 걱정되네요 ^^;;

      Harmony 리모콘에 각 device 별 리모콘과 같이 SmartThings Thing을 통해서 동일하게 제어가능합니다.
      이전에 Activity가 On상태인 것이 없다면 기존에 On해 놓은 장비는 Off되지 않고 유지합니다.
      ex) TV&STB On(TV Activity사용 하지않고), Aircon Activity On해도 TV&STB Off되지 않음

      하지만 Harmony 공식 SmartApp이 불편한 이유인
      이전에 Activity로 on되어 있는 디바이스는 추후 다른 Activity 실행 시 off됩니다.
      ex) Aircon 1 SmartThings로 On후 Aircon 2 Activity 실행시 Aircon 1/2 On 유지
      하지만 이 상태에서 TV Activity On시에 Aircon 1은 On 유지하지만 Aircon 2는 Off 될 것으로 보입니다.
      => Activity 실행 시 기존 state가 on이 되어 있으면 그 Activity를 off시키고 아니면 아무것도 않하는 것 같습니다.

      그리고 이게 단방향 컨트롤이다보니 on/off 상태 표시가 애매하네요
      이전 상태가 Activity에 의해 바뀔수도있고, 일반 리모콘에 바뀔수도 있고…
      상태표시를 없앨까도 생각중입니다 ㅎㅎ

      그리고 조금 더 업데이트를 해서,
      TV(STB도 가능)/로봇청소기/선풍기/에어컨 Device Type별로 DTH를 나누어서
      On/Off 이외의 버튼을 추가하였습니다.
      (혹 필요한 Devity Type과 버튼 레이아웃이 있으시면 별도나 common하게 만들어보겠습니다.
      요건 적용해 보시고 잘 동작하는 것 확인 후 필요하시면 말씀해주세요)

      1. 최근 포스트부터 읽고 이 댓글을 읽었습니다.

        제 환경에서는 ON, OFF 표시가 제일 중요하다고 생각합니다.
        어차피 일반 리모컨은 ON, OFF 상태 통일을 위해 전부 치워놓은 상황이고.
        엑티비티가 가진 단점 때문에.
        새로운 DTH 사용을 한다면 전 전부 스마트싱스로 엑티비티를 만들 생각입니다.

        감사합니다.

        1. 네.
          어차피 액티비티도 실행되고 자체적으로 켜지던 말던 On상태로
          바뀌듯이 이것도 쏘면 상태변화시키는 것으로 해야겠네요

  3. 점심 먹고 느긋하게 시작했는데.
    지금까지 1번 검색하느라 아무것도 못 했습니다.
    초보자에게 도움될만한 검색어나 링크가 있을까요?

    1. 엇 너무 돌아가시는 것 같은데요
      이전에 라즈베리파이쓰시는 것을 보았기때문에,
      제가 만들어 놓은 이미지를 다운 받아 실행만 하시면 됩니다.

      즉 1-2) 부터 하시면 될 것 같습니다.
      (라즈베리파이 백업해두세요 ^^;;)

      다운로드 링크에 가보시면 라즈베리파이용 debian package파일 링크가 있고 원하시는 버전 링크 누르시면 설치 커맨드가 나옵니다


      제가 harmony-api 설치 해 놓은 이미지를 다운받아 실행하시면 라즈베리파이에 자동으로 harmony-api가 실행된 상태가 됩니다.

      그 뒤 postman같은 툴로 커맨드 날려보시거나 바로 제 스마트앱으로 실행해보시면 됩니다.

    2. 혹시 1-1)하시느라 고생하신건가요? ㅠㅠ 그렇다면 제가 설명이 부족했나보네요
      둘중 하나로 하시면 되는데 Makelism님은 라즈베리파이 이용하시니 1-2)만 하시면 됩니다

      1. 감사합니다.
        스마트싱스 해결된 후 바로 피드백 남기겠습니다.

  4. 안녕하세요.

    라즈베리파이에 위에서 적어주신 명령어를 입력했습니다.
    > curl -s https://packagecloud.io/install/repositories/Hypriot/Schatzkiste/script.deb.sh | sudo bash
    > sudo apt-get install docker-hypriot=1.11.1-1
    스마트앱스 KuKuHarmony에 들어가서
    라즈베리파이 ip주소 : 8282 입력 후 Next를 눌렀습니다.
    화면에서는.
    Discovering Harmony Hub만 나오는데 제가 여기서 더 해야할 것이 있는지요?

    감사합니다.

    1. 안녕하세요.
      댓글 달리기만을 기다리고 있었습니다.

      말씀 하신 곳이 가상머신? 프로그램인 docker를 설치하는 과정입니다.
      그렇기 때문에 아직 harmony-api가 돌고 있지 않기 때문에 hub를 검색 못하고 있어보입니다.
      이젠 제가 만들어 놓은 image를 설치한 docker로 실행만 하시면 됩니다.

      라즈베리 파이 커맨드 창에서 docker 명령어를 통해서 제가 올려 놓은 docker image를 받고
      해당 docker image를 실행하시면 우선은 harmony-api가 동작 할 것으로 보입니다.
      아래 단계를 진행 부탁드립니다.
      – Docker hub에서 내가 만들어 놓은 ‘turlvo/harmony-api’ docker image를 다운로드
      docker search turlvo/harmony-api
      docker pull turlvo/harmony-api

      – 다운로드 한 docker image를 docker를 통해 ‘Harmony-API’ Server 실행(-d 옵션 추가시 daemon으로 실행)
      docker run -ti –net=host turlvo/harmony-api:latest /home/harmonrmony-api/script/server

      또 하시다가 안되시는거 있으시면 댓글 남겨주세요

      1. 감사합니다.
        딱 보시면 아시는군요.
        진척이 있습니다.

        마지막 명령어 입력을 하면 아래와 같이 나옵니다.
        docker: Error parsing reference: “–net=host” is not a valid repository/tag.
        See ‘docker run –help’.

        혹시 재부팅을 후에도 자동 실행을 하는지 궁금합니다.

        1. 진척이 있다니 다행이네요.

          해당 부분은 –net=host 이게 문제 같아 보입니다.
          — 하이픈이 두개 입니다.(마마net=host입니다.)

          재부팅 후 자동실행은… 고민해보고 알려드리겠습니다 ^^;;;

          1. 자꾸 질문하기가 민망하네요.
            명령어 수정을 했더니 아래와 같은 메세지가 출력되었습니다.

            Command not found: /home/harmonrmony-api/script/server

            처음부터 다시 시도해보면 될까요?

          2. 으악 정말 죄송합니다.
            제가 급하게 명령어를 전달해 드리다보니 오타가 있었네요 ㅠㅠ
            (글에도 copy-paste 하시라고 바로 업데이트한다는게 잘 못 되었네요 수정했습니다.)
            docker run -ti –net=host turlvo/harmony-api:latest /home/harmony-api/harmony-api/script/server
            (–net=host 에 하이픈 두개)

            민망하다니요 설명을 똑바로 안해놓은 제가 잘못이죠
            이렇게 3자입장에서 클린설치를 한번 진행해 주시니 문제가 보이고 수정 할 수 있어 제가 감사드립니다.

  5. 감사합니다!

    성공한 것 같습니다.
    다음과 같이 나오고 있습니다.
    Updating state for harmony-hub.

    만약 재부팅을 한다면 어떤 명령어를 입력하면 되나요?

    1. 음 동일한 명령어를 입력해서 실행하시면 됩니다.
      사실 복잡하지만 깔끔하게 관리하려면 docker 명령어 start / stop / run 을 이용해야 합니다.
      그래서 간단히 하기 위해서 매번 새로운 container?를 생성하도록 커맨드를 작성한 것입니다.

      커맨드 응용은 업데이트하도록 하겠습니다.

      1. 편하실 때 답변 부탁드립니다.

        1.
        시놀로지 Docker와 고민하다가 고장났을 때의 데미지 때문에 라즈베리파이를 선택했는데 시놀로지가 더 나을려나요?
        2.
        Updating 메시지는 언제까지 나오는지요?
        3.
        동일한 명령어는 아래 명령어를 말씀하시는 것이죠?
        docker run -ti –net=host turlvo/harmony-api:latest /home/harmony-api/harmony-api/script/server
        (–net=host 에 하이픈 두개)

        저같은 초보를 위해 소중한 재능 기부해주셔서 진심으로 감사드립니다.

        1. 티비보면서 진행사항 댓글만 기다리고 있습니다 ^^;;

          1. 시놀로지 Docker와 고민하다가 고장났을 때의 데미지 때문에 라즈베리파이를 선택했는데 시놀로지가 더 나을려나요?
          => 제 개인적으로는 시놀로지 시스템에 command 작업으로 꼬이면 복잡해지고,
          중요한 자료(저는 사진)가 있기 때문에 라즈베리파이가 좋아보입니다. 많은 연산이 필요한 동작도 아니라서요.

          2. Updating 메시지는 언제까지 나오는지요?
          => 계속 실행을 시켜놓아야 합니다.
          명령 내리시면서 보시면 아시겠지만 command와 response가 찍히게 됩니다.
          그래서 docker에서 -d 옵션이 있습니다. 아래와 같이 실행하시면 로그가 안보이고 바로 command창으로 돌아오고 docker ps 해보시면 백그라운드로 돌고 있는 모습을 볼 수 있습니다.
          docker run -ti –net=host -d turlvo/harmony-api:latest /home/harmony-api/harmony-api/script/server

          이렇게 하면 좋긴 한데 동작 상태를 못 봐서요… 저 같은 경우에는 알려드린 방법에 ‘byobu’라는 프로그램을 사용해서
          한 세션에는 harmony-api를 돌리고 다른 세션에서 또 다른 작업을 합니다.
          http://byobu.co/index.html

          3. 동일한 명령어는 아래 명령어를 말씀하시는 것이죠?
          docker run -ti –net=host turlvo/harmony-api:latest /home/harmony-api/harmony-api/script/server
          (–net=host 에 하이픈 두개)

          => 2번에 -d 옵션으로 백그라운드로 돌려 놓아도 되고, 아니면 동일 한 커맨드를 쓰셔도 됩니다.

          1. 댓글 알림이 이메일로 안 와서 새로고침하다가 지금에서야 봤네요
            말씀하신 내용 이해했습니다.
            세팅한 후 후기 남기겠습니다.
            감사합니다.

          2. Makelism님,
            문의하셨던 시놀로지 Docker를 저는 시놀로지에 커맨드로 Docker 설치한다는 의미로 받아들여서 판단에 착오가 있었습니다.
            확인해보니 시놀로지 GUI Docker가 있다는 것을 오늘 알았습니다 ㅠㅠ
            일반사용자 입장에서는 시놀로지가 있다면 시놀로지 Docker가 답일 것 같습니다.
            관련 포스팅 링크 공유드립니다.
            http://kuku.pe.kr/?p=6584

  6. 진행 상황 남기겠습니다.

    선생님 도움으로 정상적으로 허브와 연결은 되었습니다.
    그런데.
    제 허브의 SmartApps 목록이 안 나타는 새로운 증상이 생겨.
    Support 팀에 도움을 요청한 후 기다리는 상황입니다.

    재부팅 관련해서 질문이 있습니다.
    rc.local에 언급하신 명령어를 입력해도 괜찮을까요?

    감사합니다.

    1. 답변이 많이 늦었습니다. 말씀처럼 하셔도 될 것 같습니다. 더 좋은 방법은 docker에서도 동일한 기능을 제공하고 있는 것으로 확인하였는데 아직 실제 동작확인을 못해서 말씀을 못 드리겠네요.

    2. 안녕하세요.

      방금 전에 깔끔하게 systemd를 통한 service 등록으로 부팅시 자동 실행 되도록 동작 확인하였습니다.
      곧 포스팅 하도록 하겠습니다.

      1. 이야~(진짜 육성으로 나오네요.) 감사합니다.
        저 이거 빨리 세팅하고 싶지만 스마트싱스 앱스가 안 보여 아직도 못 하고 있습니다.
        포럼에 저같은 사람들이 꽤 있는데 기존 장치에 연결된 앱스를 제외하고 새로 설치한 대부분 앱은 접근이 힘듭니다.

  7. 라즈베리파이 재부팅 후 하모니가 작동을 안 하는데 처음부터 다시 재설치해야하나요?

    docker ps –all
    Cannot connect to the Docker daemon. Is the docker daemon running on this host?

      1. https://github.com/docker/kitematic/issues/1010

        여기서 해결했습니다.
        감사합니다.

        한 가지 질문이 있습니다.
        장치의 스위치 속성을 바꿀 수 있는지요.
        예를 들어 OFF 상태인 스위치가 ON으로 바뀔 때 켜는 동작은 하지 않고 상태만 ON으로 바꿀 수 있나요?

        1. 해결되었다니 다행이네요.
          DTH 수정으로 가능 할 듯 합니다

          값을 직접 바꾸는 방법은 없는 것 같고요 off->on 상태변경만 하고 실제 장치로는 command를 보내지않는 버튼(command)를 추가하고 자동화에서 해당 custom버튼을 실행하도록 하는 방법으로 가능 할 것 같습니다

          1. [신호가 같을 경우에는 전력량 감지 후 하모니를 거치지 않고 스마트싱스의 에어컨 상태를 ON, OFF로 변경하고 싶어 포럼을 뒤지고 있습니다]

            이 부분을 해결하고 싶으신거죠?
            저도 하모니앱 만들면서 장치 on/off command가 on/off토글만 있는 리모콘은 난감하더라고요 그래서 상태꼬임이 생기겠구나 했습니다.

            플러그 전력량과 CoRE piston을 사용하면서 DTH수정으로 가능할 듯 합니다

            1) 상태만 바꾸는 virtual on같은 버튼을 DTH에 추가
            2) Piston에서 플러그 전력량이 on/off기준 이상 이하에 따라 virtual on/off 실행
            3) virtual on/off에 의해 장치 Thing상태변경 됨

            이렇게 되면되는 건가요?

  8. 네. 정확합니다.
    단 스마트싱스앱의 장치 목록에는 가상 버튼 상태가 나와야할 것 같습니다.
    차라리 가상 장치를 새로 만들어 연동하는 것이 간단할까요?


    1. ‘단 스마트싱스앱의 장치 목록에는 가상 버튼 상태가 나와야할 것 같습니다.’ 이부분에서 헷갈리는데요,
      스마트싱스앱의 장치 목록에 상태를 변경하는 가상의 on/off를 추가를 하게 되고,
      자동화 부분에서 해당 가상의 on/off버튼으로 실제 장치 목록의 상태를 변경하게 된다면
      가상의 on/off 버튼 상태는 장치 목록의 상태와 같은 상태이지 않나요?

      지금 문제가 발생 하지 않도록, 가상의 on/off 버튼에 경우 toggle이 개념이 아니고 on버튼, off버튼 2개 추가로 생각했습니다.
      1) 가상 on을 누르면 무조건 스마트싱스 앱의 장치 상태를 on으로 변경하고 장치에 on시도하지 않음
      2) 가상 off을 누르면 무조건 스마트싱스 앱의 장치 상태를 off로 변경하고 장치에 off시도하지 않음

  9. 전원 단추가 하나인 장치(ON, OFF 실행)라면 이런 방법으로 세팅하고 싶습니다.

    실제 에어컨 OFF 상태 -> 리모컨으로 에어컨 ON, OFF 실행 -> 에어컨 ON -> 전력량 감지 -> 스마트싱스의 가상 장치는 ON 표현하며 스마트싱스(하모니)에서는 아무런 동작이 없음

    실제 에어컨 OFF 상태 -> 전력량 감지 -> 스마트싱스 가상 장치 OFF 상태 -> 스마트싱스(하모니)에서 ON, OFF 실행 -> 에어컨 ON, 스마트싱스 가상 장치 ON

    전력량과 하모니 버튼을 트리거로 가상 버튼이 에어컨과 동일한 상태를 나타내거나
    전력량과 가상 버튼을 트리거로 하모니 버튼이 에어컨과 동일한 상태를 나타내는 것이 목적입니다.

    가상 버튼이 아닌 하모니 버튼이 목록에 있을 경우 그 버튼을 눌렀을 때 트리거와 상관없이 실행될 것 같아 가상 버튼이 보였으면 했습니다. 쓰다보니 장치가 늘어나도 그냥 버튼이 아닌 가상 장치를 따로 쓰면 간단할 것 같은데 어떠세요?

    1. 고민고민하고 있다가 우선 답변 남깁니다.

      우선 최대한 가상 장치를 따로 쓰는게 간단하긴 하지만,
      전 지금있는 뭔가를 하기 위한 가상 Thing이 리스트에 보여서 신경쓰이더라고요 ㅎㅎ

      음 여러 가지 방법이 떠오르는데 한번 시도해보고 다시 알려드리겠습니다.

  10. 두분 멋지시네요 저도 포스팅하신거 보고 구입해보려합니다

    1. 안녕하세요.
      지출 뿜뿌를 드려버렸네요.
      로지텍하모니와 실리모콘을 동시사용씬에서 싱크를 잘 맞추려면 플러그전력량 감지로 도와주어야 됩니다. (on/off 신호가 하나인경우)
      그리고 구입하신다면 제품별 버튼학습기능있는것도있고 가끔 아마존에 싸게 나올때도 있으니 참고하세요

  11. 포스트와 댓글을 보니 철저히 준비하고 시작하지 않으면 홈브릿지와는 비교도 안되게 고생하겠네요. 설치과정을 쭉 정리해보고 여쭤본다음에 시작해야겠습니다 ㅠㅠ

    1. 아닙니다 너무 두려워마세요. ㅎㅎ
      docker만 설치하면 끝이에요

    2. docker를 설치하시고 사용하시다보면 homebridge도 docker로 돌리고 싶은 생각이 드실지 모릅니다 ㅎㅎ(삽질로 전 3일날렸습니다)

  12. 안녕하세요! 메일을 보내려다가 여기에 써서 다른분들도 보시는게 좋을것 같아서 길지만 댓글 남깁니다. 포스트를 보면서 정리도 해보고 궁금한점도 적어봤는데 제 수준에서는 많이 어렵네요 ㅠㅠ

    Harmony-API

    1. Harmony-API Server

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

    script/bootstrap

    mqtt_options

    *****************************************

    {

    “mqtt_host”: “mqtt://192.168.1.106”,

    “mqtt_options”: {

    “port”: 1883,

    “username”: “someuser”,

    “password”: “somepassword”,

    “rejectUnauthorized”: false

    },

    “topic_namespace”: “home/harmony”

    }

    ******************************************

    옵션에서 바꿔줘야하는지?

    user/password.는 임의로 지정?

    2. Docker

    – script/server

    포트설정을 따로 해야하는지? 해야하면 방법은?

    script/install

    /path/to/your/config

    $ docker run –name=”harmony-api” -v /path/to/your/config:/config \

    -p 8282:8282 –d jonmaddox/harmony-api

    2.0 upgrade

    script/upgrade

    MQTT Docs

    config.config/json 무언가를 수정해아 하는지?

    3. container 정리

    # docker ps –all

    # docker rm $(docker ps –a –q)

    # docker ps –all

    container 리스트 확인 (지워졌는지)

    4. Harmony-API container생성

    # docker run –ti –net=host –name harmony-api turlve/harmony-api:latest/home/harmony-api/harmony-api/script/server

    Ctrl + C

    # docker ps –all

    container 생성확인, stop 확인

    5. container 자동실행

    # cd /etc/systemd/systme/

    # vi [Harmony-API].service

    ————————————–

    [Unit]

    Description=Harmony-API container

    Requires=docker.service

    After=docker.service

    [Service]

    Restart=always

    ExecStart=/usr/bin/docker star –a

    harmony-api

    ExecStop=/usr/bin/docker stop –t 2

    harmony-api

    [Install]

    WantedBy=multi-user.target

    ————————————–

    # systemctl enable [Harmony-API].service

    6. container auto-run service 등록확인,재부팅

    # systemctl is-enabled [Harmony-API].service

    #reboot

    # docker ps 하여 확인

    7. 1번 작업을 Raspberry pi 에 설치하고 만드어 놓은 docker image 이용

    -> 1번~6번까지 작업한 내용을 말하는건지?

    8. Raspberry pi 용 Docker 설치

    http://blog.hypriot.com/downloads/

    Hypriot Docker image for Raspberry pi 는 설치할 필요가 없는지?

    Hypriot Docker Debian Package 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 search tulvo/harmony-api

    # docker pull turlvo/harmony-api

    #reboot

    (위에서 재부팅시 자동실행 작업을 해서 harmony-api 서버 실행체크 겸 재부팅)

    9. postman 설치

    10. Harmony.postman_collection.json 다운받아 import

    11. Smartthings IDE에서 KuKuHarmony 추가

    trulvo

    KuKuHarmony

    master

    http://github.com/turlvo/KuKuHarmony/tree/master/smartapps/turlvo/kuku-harmony.src

    Handler->update from repo -> update, publish

    My SmartApps-> update from repo -> update, publish

    중간중간 제가 이해못하고 있는 부분들과 틀린부분 있으면 지적해주시면 감사하겠습니다
    혼자 독백하듯이 질문을 적어놔서 말이 짧습니다. 양해 부탁드립니다ㅠㅠ

    1. 헉 장문에 질문이네요…

      옵션에서 바꿔줘야하는지?
      user/password.는 임의로 지정?
      => 수정 안하셔도 됩니다

      포트설정을 따로 해야하는지? 해야하면 방법은?
      => 포트 자동으로 8282 입니다. 건드리시는거 없습니다.

      config.config/json 무언가를 수정해아 하는지?
      => harmony api는 아무것도 설정하는 것 없습니다.

      -> 1번~6번까지 작업한 내용을 말하는건지?
      => 1번 작업을 직접 라즈에 소스받아서 실행할건지 아니면 도커를 이용할건지에 대한 내용입니다.
      1번에서 도커 이용시라는 의미입니다.

      Hypriot Docker image for Raspberry pi 는 설치할 필요가 없는지?
      => 1번에서 이전처럼 Homebridge를 라즈베리에 그냥 받아서 실행하듯이 Harmony-API도 그렇게 설치 사용하시려면 docker는 설치할 필요없습니다.
      docker image를 이용할것이면 설치필요합니다.

      질문에 다 대답드린건지 모르겠네요

      1. 감사합니다! 내일 도전해보고 막히면 또 질문드리겠습니다^^;

  13. 안녕하세요.. 초보자입니다만 쿠쿠하모니를 설치하려면 시놀로지 나스가 있어야 하는건지요? 저는 넷기어 나스를 써서 말이죠…

  14. 안녕하세요.. 초보자입니다만 쿠쿠하모니를 설치하려면 시놀로지 나스가 있어야 하는건지요? 저는 넷기어 나스를 써서 말이죠…??!!

  15. 안녕하세요.. 초보자입니다만 쿠쿠하모니를 설치하려면 시놀로지 나스가 있어야 하는건지요? 저는 넷기어 나스를 써서 말이죠…!!??

    1. 안녕하세요.
      시놀로지 나스가 꼭 필요 한 것은 아닙니다.
      쿠쿠하모니에서 사용하는 Harmony-api라는 것은 어느 데탑이든, 서버이든 Node.JS가 돌아가는 환경에서 실행시킬 수 있습니다.

      넷기어 나스는 살짝 찾아봤는데, docker 지원내용이 있네요,
      https://community.netgear.com/t5/Idea-Exchange-for-ReadyNAS/Support-Docker-on-ReadyNAS-OS-6/idi-p/1069851
      docker 환경이 제공 된다면 간단히 harmony-api docker image를 받아서 로딩만 시키면 됩니다.

      아니면 SSH 접속 환경을 제공은 해주는 것을 이용하여,
      http://bahndal.egloos.com/542964
      라즈베리파이같이 SSH로 접속해서 Docker or Node.JS환경을 구축하는 작업이 필요한데요,
      나스 상태가 꼬이는 등의 문제 발생시 타격이 클 것 같아 추천드리고 싶지 않네요.

  16. 잘 쫓아했는데
    허브리스트에서도 잘나오고
    디바이스도 Power on off잘 선택하고 마지막 done을 누루면 추가되지않고 error메세지만 나오고있습니다
    어딜 보면될까요??

    1. 자문자답으로… dth를 추가안했네요 smartapp만 추가하고 dth 추가하니 추가되었습니다 ㅎ

      1. 엇 답변드리고 나서 댓글알림이 또 있길래 확인하니 해결하셨군요. 글 솜씨가 없어서 설치 설명이 너무 복잡하고 난해하죠 ㅠㅠ

        1. 아닙니다 제가 놓친부분인걸요 ㅎㅎ
          아주 만족합니다 독립적으로 on off가되니
          요것때문에 나스바꿨는데 아주 만족하네요
          도커 첨써봤는데 신기하네요

          1. 시놀로지 좋습니다 약간 많이 부담스러운가격이지만요.
            도커는 더 좋습니다.
            도커이미지안에는 동작을 위해 필요한 파일과 환경들이 이미 다 되어있는 것이라서 이것 없으면 리눅스 초기 환경설정만 하다가 지칩니다. 꼬이면 다시 처음부터 해야 할 수도 있고요

    2. 음 에러 메세지가 어떻게되나요? 디바이스목록에 해당 디바이스가 이미만들어져있는 건가요?

      smart things 사이트에서 로그탭에 가셔서 done 누르기 바로 전에 로그 클리어 한번하시고 done누르고 나서 나오는 로그 공유해주시면 문제해결하는데 도움이 될 것 같습니다
      turlvo@네이버 입니다

  17. 추가로 설정 끝났는데 kuku하모니만 쓴다면 Activity는 다 지우면 되나요??

    1. 넵 다 지우셔도 됩니다.
      대신 액티비티가 해주던 여러 씬 동작들은 열심히 코어로 만들어주시면 됩니다.
      자유도가 있는 만큼 나만의 멋진 코어 자동화를 만들어아하는 수고가 필요합니다

  18. 아 지금 뭔가 다이슨 선풍기는 회전기능을 누루면 꿈틀되다가 안되는거보면 신호가 여러번 날라가는 듯한 느낌입니다.

    1. 아 그거 다른 블로거 하모니 사용기에서 본 것 같습니다.
      하모니 디바이스 설정에 가보시면 신호방출 횟수? 설정인가 있는데 그게 높게 설정되어 있어서 그럴것 같습니다

      1. 제 블로그인거같습니다 ㅎㅎ 이미 세팅은 1로 리핏설정되어있는 상태이긴합니다
        이상하네요 파워랑 speed같은건 다 한번날라가는것 같은데 팬회전만 제대로 동작을 안하고 있습니다.

        1. 그럼 Harmony App에서 해당 회전 버튼을 눌러 보시겠어요?
          제 생각으로는 공식 Harmony App에서 회전 버튼을 눌러도 동일 할 것으로 보이고,
          그렇다면 디바이스 설정에서 해당 커맨드만 다시 학습시키거나 해봐야 할 것 같습니다.

  19. 안녕하세요

    쿠쿠하모니 설치하다 막히여 자문을 구합니다.

    1. 3)번 부터 시작하였습니다.

    # 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

    딱 이단계에서 넘어가질 못하네요

    Warning: failed to get default registry endpoint from daemon (Cannot connect to the Docker daemon. Is the docker daemon running on this host?). Using system default: https://index.docker.io/v1/
    Cannot connect to the Docker daemon. Is the docker daemon running on this host?

    뭐가 문제일까요 ?? 도움을 주시면 감사하겠습니다.

    .

    1. 아 도커 설치를 먼저 작업 후 설치 내용을 적다보니 뭔가 빠진가 봅니다.

      이전에도 Makelism님께서 동일 한 문제가 있으셨었습니다.

      우선 저는 아래와 같이 해보시라고 요청드렸었고,
      https://docs.docker.com/engine/installation/linux/linux-postinstall//
      위에 링크에서 ‘Configure Docker to start on boot’ 참조하셔서 아래 실행후 다시확인해보시겠어요?
      sudo systemctl enable docker

      직접 Makelism님께서 아래와 링크와같이 해결하셨다고 하셨습니다.
      https://github.com/docker/kitematic/issues/1010

      이것 수행해보시겠어요?
      sudo usermod -aG docker
      sudo service docker start

      1. 감사합니다~ 선생님 오늘 퇴근후에 작업해보도록 하겠습니다. 어제 4시간동안 이것저것 해보다가 포기를 해서요..

      2. sudo service docker start 실행하면 job for docker.service failed. see ‘systemctl status docker.service’ and ‘journalctl -zn, for details .라고 하네요 어렵네요 ㅜㅜ

        1. sudo systemctl enable docker
          이것 먼저 해보시고 해보시겠어요?
          저도 도커 설치를 한지가 오래되서 기억이
          잘 안네요 ㅠㅠ

          1. ^^; 죄송해요 자꾸 여쭈어보기만해서 ㅜㅜ
            위의 실행하면 Executing /usr/sbin/update-rc.d docker defaults
            Executing /usr/sbin/update-rc.d docker enable 이라고 하는데 맞는건가요?

          2. 잘못만졌는지 에러가 뜨네요 후.. 이난관을 헤쳐나가야 되는데 오늘은 고만해야겠어요 감사합니다.. 설치비라도 드리고 설치받고 싶은 심정이네요 담배나 한대 피러가야겠어요 ㅜ

          3. 아 혹시 지우고 다시 할려면 어떻게 해야하나요?? 어디에 설치가 됬는지 알수가 없네요

          4. 음 일반컴퓨터에 리눅스깔아 이용중이신가요 음… 설명되어있는 도커는 라즈베리파이용인지라…
            apt-get remove docker-hypriot
            해보시겠어요?

  20. 댓글을 남긴거 같은데 찾을수가 없네요 ㅜㅜ 이상하네요 ㅜㅜ

    1. 앗 첫댓글이라서 그러신지 제가 승인안눌러서 그런것 같습니다 이제보이실 것 같습니다
      커맨드는 지금바로 확인을 못해서 보고 답변드리겠습니다

댓글 남기기