본문 바로가기

지이노/ReView & Using

엔코어드 에너톡 (Enertalk) 스마트싱스 연동하기



이전글 : 엔코어드 에너톡(Enertalk) 설치하기



EnerTalk(이하 에너톡)을 사용하기로 결심한 것은 오픈 API 때문이었다.


활동하는 카페에서 KuKu님이 SmartThings(스마트싱스 이하 ST) 와 연동할 수 있는


스마트앱과 DTH를 만드셨기 때문이라고 이전 글에 적었는데


이게 매우 매우 중요하다.


각 장치들이 따로 따로 스마트 하다면 관리하는 입장에선 머리가 터져버릴 것 이고


"전력량에 따른 어떠한 동작" 을 수행할 수가 없다.


그런 점에서 ST를 사용한다면 에너톡 요녀석은 매우 추천할 만 하다.


이번 글에서는 에너톡을 ST에 연동하는 법을 작성할 것 이다.


물론 아래 KuKu님 링크에 더 자세히 적혀있긴 하지만 내 도서관에 한 권 추가해야하므로 적는다.


KuKu님 블로그 "스마트싱스에 에너지미터 제품 연동을 위한  SmartApp & DTH RELEASE!!!"










1. 이해하기


에너톡은 기본적으로 Wi-Fi 기반의 장치이다.


내가 메인허브로 사용하려고 하는 SmartThings(이하 ST)는 Wi-Fi를 통한 장치는 기본으로 지원하는 장치가 아니면


SmartApp(이하 스마트앱)의 도움이 없이는 등록을 할 수 가 없다.


그렇기 때문에 에너톡을 ST에 등록하기 전에 이 둘 사이에 어떤 방식의 연결이 있는지 이해하고 넘어가겠다.


에너톡은 오픈 API를 지원하는데 EnerTalk Debeloper(이하 디벨로퍼) 사이트에 계정을 만드는 것으로 오픈 API를 사용 할 수 있다.


ST는 KuKu님께서 만드신 KuKuMeter라는 스마트앱을 사용하는데


이때 디벨로퍼 사이트에서 생성된 Client 정보를 스마트앱에 등록하는 것으로 오픈 API를 사용 할 준비를 마친다.


이후 에너톡어플에서 에너톡장치와 연동된 아이디로 스마트앱에 로그인하는 것으로 연동을 끝마치도록 되어 있다.


간단하게 설명하자면


에너톡의 데이터를 ST의 스마트앱이 에너톡 오픈 API를 통해 가져오고, 그 데이터를 가상 Thing에 띄워준다.










2. 디벨로퍼 사이트 가입 및 설정하기




디벨로퍼 사이트의 주소는 아래와 같다.


EnerTalk Developers ||  http://developer.enertalk.com/


사이트에 접속하고 로그인을 해야 하는데


지금은 첫 시작이므로 회원가입부터 시작한다.


우측 상단에 LOGIN 버튼을 클릭하면 화면이 이동된다.


계정생성 자체는 어렵지 않은 단계이므로 생략하는데 계정생성하고 E-Mail 인증을 하면 완료된다.


생성을 완료하고 로그인 한 뒤 My APPS 페이지로 이동하자.








위와 같은 화면이 표시되는데 아직 APP 설정을 하지 않았기 때문에 내용이 없다.


설정을 위해 오른쪽의 Create Apps 를 클릭해 페이지를 이동한다.








App Name - 원하는 명칭을 입력한다. 나는 딱히 적용할 이름이 생각나지 않아서 KuKu님 처럼 SmartThings로 입력했다.


Redirect Link - 정해진 Callback 링크를 입력한다.

                    https://graph.api.smartthings.com/oauth/callback

                    위 링크를 입력한다.


입력이 완료된 후 SUBMIT 버튼을 눌러 완료해주자.








APP 등록이 완료 되었다면 위와 같은 정보가 보인다.


여기서 중요한 것은 Client id 와 Client Secret 이다.


매우 중요하다는 것을 기억해 두자.











3. 스마트앱/DTH 등록하기




스마트앱 등록은 기존과 동일하게 진행한다.


IDE에 접속해서 SmartApps 페이지로 이동한 뒤 우측 상단의 Settings를 클릭한다.








Add new repository를 클릭하여 새로운 등록을 한다.


Owner : turlvo


Name : KuKuMeter


Branch : master


라고 입력하고 Save 버튼을 눌러 저장한다.








GitHub 저장소 등록이 완료 되었으니 업데이트를 실행하자.


Update from Repo를 클릭하여 New에 KuKuMeter를 체크하고 Publish에 체크 후 Execute Update를 클릭해 업데이트를 완료해준다.


업데이트로 KuKuMeter를 등록해주었으니 세부설정을 진행해야한다.








등록된 리스트에 KuKuMeter 왼쪽 첫번째 칸을 보면 빨간화살표로 표시해둔 버튼이 있다.


해당 스마트앱의 설정화면을 오픈할 수 있는 버튼이니 얼른 눌러준다.








설정화면에서 Settings 와 OAuth를 설정해 준다.


Settings 에는 앞서 디벨로퍼 페이지에서 중요하다고 했던 ClientId 와 ClientSecret 을 복사해서 붙여넣어 준다.


OAuth는 항상 그렇듯이 Enable 버튼을 눌러주고 Update를 클릭해서 설정을 완료한다.


스마트앱의 등록 및 설정이 완료되었으므로 Device Handler 페이지로 이동해서 앞서 업데이트를 하는 방법 그대로 DTH를 업데이트해서 등록해준다.


똑같은 방식이므로 설명은 생략한다.











4. 스마트앱 적용하기


디벨로퍼 등록도 완료 했고 스마트앱, DTH 추가도 완료했기 때문에 어플에서 스마트앱을 등록해주자.






 



스마트앱을 추가하는 방법은 


ST어플의 Automation 탭으로 이동해 SmartApps 화면의 가장 아래에 있는 Add a SmartApp 을 터치한다.


이동된 페이지에서 가장 아래에 있는 +스마트 앱 나의 를 터치하면 


자신이 IDE에서 등록한 스마트앱 리스트가 표시된다.






 



추가한 KuKuMeter를 선택하면 에너톡의 인증을 요구한다.


EnerTalk 인증을 터치하자.






 



에너톡어플에서 기기등록에 사용한 계정으로 로그인을 한다.


!!! 주의 !!!  디벨로퍼 계정으로 로그인하는게 아니다.


로그인을 정상적으로 하게 되면 오른쪽 사진처럼 내 에너톡 계정이 ST에 연결되었다고 나온다.


이대로 Done 을 터치하면 설정이 완료되고 아래 사진처럼 화면이 나온다.








위 사진처럼 나온다면 연결에 정상적으로 설정된 것이다.


자신의 계정과 사용서비스, 장치의 시리얼번호 이며 이대로 Save를 눌러 등록을 마치자.


이제 ST 어플의 My Home 탭으로 이동해보자.


내 Thing들의 리스트를 잘 확인해보면 KuKuMeter라는 새로운 Thing이 등록되어 있다.











5. Thing 확인하기




정상적으로 등록된 Thing을 터치해서 확인해보면


여러가지 정보를 확인 할 수 있다.


순간 전력, 이번달 전력량, 순간전류, 순간전압, 사용요금 등의 정보를 확인 할 수 있는데


어플을 일일이 확인 할 수도 있겠지만


ST연동의 가장 핵심은 바로 CoRE 또는 webCoRE의 자동화에 사용할 수 있다는 점이다.


현재 사용전력이 일정이상되면 알림을 띄우던가, 일정 이상의 전력을 사용하지 못하도록 구성할 수도 있다.


이제 ST에 연동을 완료했으니 마음이 홀가분해졌다.


참고로 아래로 스크롤하게 되면 에너톡 전용어플에서 나오는 그래프 등을 확인 할 수 있는데


제작자인 KuKu님의 말씀에 따르면 현재 안드로이드 웹뷰의 문제로 인해 안드로이드는 정상표기가 잘 안되는 것 같다.


그 예로 내 폰인 갤럭시 S7에서는 아래의 화면만 표기되더라...








그....래도 우리집 에너지 시계는 표시된다...


참고하고 싶을 때 편하게 이동하기 위해 KuKu님의 블로그에 해당 글 링크를 적어놓아야겠다.


KuKu님 블로그 "[KuKU Meter] 전력 사용량 데이터 그래프 11종 추가(v.1.3.0)











6. 마치며


이전 글에서도 적었듯이 스마트홈을 구축하겠다고 이것저것 장치들이 추가되다보니


전력사용이 걱정되기 시작했고 그에 따른 필요성을 느껴 고민하던 찰나에


정말 감사하게도 KuKu님의 스마트앱을 알게되어 기쁜마음으로 설치했다.


시간당 사용량도 확인 할 수 있기 때문에 나의 전력사용 패턴도 알 수 있어 좋은 것 같다.