※ 우리 부부가 직접 구매하고 사용한 후기입니다. 

 

현재 SmartThings에서는 조건으로 특정요일만 지정할뿐 공휴일이나 연차때에 대한 조건을 쓸수 없었다

 

그래서 Google calendar를 연동해서 오늘이 휴일인지 아닌지 구분할수있는 센서를 만들었다.

 

 

정리하자면 3가지중에 하나라도 걸리면 휴일이라고 판단하고있다

 

1. 요일 - 사람마다 쉬는 요일이 다르기때문에 자기가 쉬는날을 체크하면된다

2. 공휴일 - Google Calendar에서는 빨간날을 모른다 그리고 사람또는 회사마다 조금씩 편차가있으니 자기가 쉬는 날 체크하면된다.

3. TAG - 본인 연차라던가? 근로자의날(구글에서 제공안함), 회사 창립기념일, 학교 개교기념일, 그리고 격주로 생성된 일정 생성시에 memo에 #dayoff만 넣어두면 알아서 휴일로 인지된다.

 

이제 이 센서를 조건으로 사용하면 좀더 스마트하게 자동화 룰을 생성할수있다.

 

하나 예를 들면 이런거?

예전 : 매일 일출시 커튼 열어를 했던것을 

이제 : 매일 일출시 && 휴일이 아닌날에 커튼을 열어로

 

New SmartThings 앱에서도 룰로 사용할수있습니다~

 

 

 

 

첫시작 Google Calendar API Client ID 받기

 

우선 일루 이동

https://console.developers.google.com

 

Google Cloud Platform

하나의 계정으로 모든 Google 서비스를 Google Cloud Platform을 사용하려면 로그인하세요.

accounts.google.com

 

이동하면 프로젝트가 없을것이다 프로젝트부터 만들자

 

 

프로젝트를 만든다음에 이제 Google Calendar API를 Enable하자 아래 따라~~

 

 

이제 Enable은 됬고 OAuth client ID를 발급받자

아래따라~~~

 

 

 

위에 보이는 client ID와 client secret 아이디를 복사해두자

이때 복사 못했어도 다시가서 볼수있다

 

복사는 끝났고 이제 github의 코드를 가져와야한다

방법은 오날두님 Youtube로 대체 

 

github 정보는 위와같으니

 

SmartApp 설치시에 필요작업은

위에 복사해둔 client ID, client secret 넣고 oauth enable만 하면 끝

 

그리고 DTH도 같이 꼭 publish하고

 

그리고 Classic SmartThings 앱으로 가서 아래와 같이 설치 ㄱㄱ

 

 

Save를 하게되면  이제 설정은 끝

아래처럼 Device가 생성이 될것이고 

구글 캘린더에가서 일정을 만들때

메모에 #dayoff 를 작성해두면 그날을 휴일로 인식하게끔 되어있다.

 

 

 

 

궁금한점은 댓글주세요

 

※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.


  1. Favicon of http://breadzini.kr BlogIcon Breadzini 2019.04.27 17:16

    와.. 이 부분 정말 제가 필요했던 기능..! 하지만 저는 홈브릿지 기반 홈킷 만 사용하고 있어서 찾아보니 이런게 있더라구요. > https://www.npmjs.com/package/homebridge-calendar 아직 테스트 해보진 않았지만 홈브릿지 사용자는 이 쪽을 활용해봐도 괜찮을 것 같네요.


※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

Weather Station


Weather Flow


https://www.indiegogo.com/projects/weatherflow-smart-weather-stations#/


작년에8월인가? 9월에 펀딩했는데

1년이 지나서 이제야 왔다..


이제품을 소개해주셨던 admusic님 후기도 참고하자

https://cafe.naver.com/stsmarthome/4202 


난 간단 후기 및 SmartThings DTH 개발을 위주로






Sky는 사방이 트여있는 야외에 설치하고


Air는 천정이 덮여있는 야외에 설치해야하는데...


아파트지만 우린 개방형 발코니가 있으니...


사방이 트여있진 않지만... 설치해보기로했다



SKY는 재활용장에서 굴러다니는 행거 파이프를 하나 주서와서

설치햇는데 지름이 딱맞아 설치가 간단했다.


케이블 타이로 고정하고 단차나는 부분은 

은쟈 화장솜을 겹쳤다.

그리고 케이블타이로 딱 고정하니 아주 굿



풀 Shade가 없기때문에 우선 발코니 가장 끝에 두고

화분받침대 뒤집어서 바닥의 열을 덜받게 하고

위엔 좀더 큰 화분 받침대를 덮어서 full shade??를 구성하였다 ㅋㅋㅋ



위사진 이후 3D Printer를 구입하여

마운트 제작


[붱이 Story/3D Printer] - Weather flow mount 제작




이젠 앱 연동 아주 깔끔하다





각요소들을 Graph로도 볼수있어서 좋다 아래는 풍속 풍향에 대한 그래프이다.



몇일 써보니 레인센서의 감지도는 아주 우수하다


가장 큰활용도가 될것같다.


허나 이것들을 산 이유는 단지 SmartThings에 연동된다 하여 구매하였는데


1년이 지난 지금도 지원하고 있지않다.


그저 Ifttt로 비오면 가상 스위치 만들어서 연동해서 써야한다


헌데 가상스위치를 반대로 언제 꺼놔야하는지가 참 애매했다.


근데 API가 오픈되어있더라 그래서 DTH를 만들었다


https://weatherflow.github.io/SmartWeather/api/



아래는 개발의 결과물이다.


이제는 IFTTT없이 SmartThings에서 내가원하는데로 자동화를 할수있게 되었다 !!!

아주 기쁘다


Korean Version


English Version




Detect 에 대한 옵션도 변경하여 원하는데로 설정을 가능하게 하였다.





사용법은 간단하다 SmartThings IDE에서 내 깃을 등록하고 weather flow를 선택해서 publish하고 


New device를 하여 device type을 weather flow를 선택해서 만들면 끝



그리고 자신의 Station id를 기입하면 끝~~~



git 연동을 안하였다면...


git hub 에서 소스를 가져와서 dth를 publish 하면된다.


https://github.com/WooBooung/BooungThings/blob/master/devicetypes/woobooung/weather-flow.src/weather-flow.groovy



※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.



  1. Favicon of https://blog.weekendproject.net BlogIcon 은쟈은쟈 2018.09.17 09:23 신고

    우리집 기상청됨

  2. Favicon of https://onaldo.tistory.com BlogIcon 오날두 2018.09.17 17:48 신고

    ㅎㅎㅎㅎㅎ기상청

  3. Favicon of https://www.makelism.net BlogIcon Makelism 2019.04.29 20:50 신고

    재능 기부해주셔서 감사합니다.
    잘 사용하겠습니다.


※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

 

[붱이 Story/IoT] - IoT 입문기 1탄 - 로지텍 하모니 구입

[붱이 Story/IoT] - IoT 입문기 2탄 - 로지텍 하모니 세팅

[붱이 Story/IoT] - IoT 입문기 3탄 - DYSON 날개없는 선풍기(AM-07) 하모니 연결 및 제어

[붱이 Story/IoT] - IoT 입문기 4탄 - 10년된 에어컨 하모니에 연결 및 제어

[붱이 Story/IoT] - IoT 입문기 7탄 - SmartThings와 로지텍 하모니 연동하기

[붱이 Story/IoT] - IoT 입문기 8탄 - SmartThings에 Rule Engine CoRE 설치하기

[붱이 Story/IoT] - IoT 입문기 9탄 - 28도가 넘으면 10년된 에어컨을 자동으로 On 하자

[붱이 Story/IoT] - IoT 입문기 10탄 - 구글홈으로 선풍기와 에어컨을 키고 끄자

위에 것들이 모두 로지텍 하모니를 통해

자동화를 한 포스팅인데

 

로지텍 하모니의 이상동작으로

불편함을 겪고있다

 

[붱이 Story/IoT] - IoT 입문기 2탄 - 로지텍 하모니 세팅

 

댓글까지 보면 어떤현상인지 확인가능하다

 

 

그것의 해결법으로

kuku harmony가 있다

http://kuku.pe.kr/?p=6313

 

Activity단위로만 SmartThing에 추가가되던것을

전용 리모컨형식으로 추가를 할수있게하여

 

기존 Activity단위로 움직이던 오동작을

잠재울수있다.

 

kuku님께 허락맡고 최신내용으로

한포스팅으로 설명하겠다

 


KuKu하모니 설정법


 

 

우선 내 환경은 Synology DS716+

Logitech Harmony가 준비되어있고

 

harmony에는 총 4가지 Device가 연결되어있다

 

삼성 TV

SKB 셋탑박스

10년된 삼성 벽걸이 에어컨

Dyson 날개없는 선풍기

 

 


 

harmony-api docker 설치

먼저 harmony를 직접 컨트롤 하는 harmony-api를

 

Synology Nas의 Docker를 이용하여 설치하자

http://kuku.pe.kr/?p=6584

 

DSM의 패키지 센터의 Docker에서

 

아래와 같이 따라하자

 

 

레지스트리에서 harmony-api를 검색하여

jonmaddox/harmony-api 이미지 다운로드

 

이미지 탭으로 이동

바로 가면 다운중이라 용량이 작을것이다

용량 변화가 멈추면 실행버튼이 활성화 된다

 

 

실행을 누루면 컨테이너 생성창이 뜬다

음영 표시한 부분만 따라하자

 

고급 설정에서 자동 재시작 활성화 체크

 

네트워크텝으로 이동해서 아래

음영표시 체크

 

그리고 나와서 적용

 

 

비디오 형식 으로 이동해보면

harmony-api가 실행중이란걸 볼수있다.

 

세부사항을 클릭해서 터미널에 가보면

아래처럼 기존 harmony hub에서 뭔가 신호가 오고있는것을 볼수있고

 

생성 버튼을 누루면 설치된 도커 이미지 터미널이 실행된다.

잘설치된 것을 확인할 수 있다.

harmony-api 설치는 이제 끝났고

kuku harmony smart app 설치


 

kuku harmony smart app / dth 설치

 

SmartThings IDE로 가자

http://graph.api.smartthings.com

 

 

My SmartApps에서 Setting을 클릭

 

repository 정보를 아래와같이 넣고 save

https://github.com/turlvo/KuKuHarmony

 

 

 

위에 Settings 왼쪽에 Update from Repo를 눌러 publish~~

미리 캡쳐떠둔게 없다 ㅠㅠ

http://kuku.pe.kr/?p=6313
쿠쿠님이 상세히 적어두셨으니 따라하면된다

 

 

위에 SmartApp publish 과정 이후에

DTH(My Device handlers)도 또옥같이 해서 publish를 해야한다

 

IDE에서 세팅은 완료되었다

 

 


 

ST App에서의 기기 추가

ST App으로 온다음

 

Automation ->  Add a SmartApp -> 스마트 앱 나의 -> KuKu Harmony

 

 

스샷을 못찍었지만

누르게되면 Ip address입력이 뜬다

현재 나스의 내부 주소를 입력한다

포트는 8282

 

192.168.X.X:8282

그러면 알아서 내 harmony hub를 찾게되고

 

이제 하나하나 디바이스를 추가해주면된다.

 

 

 

 

 

 

 

 

 

하나예로 에어컨 추가하는 것을 보여주었고

다른 디바이스들도 동일하게 추가해주면된다

 

 


 

디바이스 Control 해보기


아래가 모두 추가한 결과이다 기존에

Activity는 다 삭제하였다

 

 

 

 

 

하우젠 에어콘 디테일뷰

그전엔 Activity일땐 On/Off만 됬었지만

Kuku님이 만들어주신 DTH(위에 추가한)에 의한

여러키들을 사용할수 있다.

 

 

 

셋탑박스는 Default DTH를 선택해서 On/Off 만 있다.

 

 

 

TV도 역시 kuku TV DTH에 의한 여러 키 제어 가능

 

 

선풍기는 kuku fan dth

 

 

이제 하모니앱을 킬일이 없이 SmartThings app으로

on/off 말고도 제어가 가능하고

 

Activity 제어의 오동작들도 없어졌다

 

 

구글홈에서도 잘인식된다

nickname으로 영어이름을 부여해야 동작한다

 

 

 

아주 만족한다.

 

KuKu님 잘쓰겠습니다 ㅎ



2018.12.21. 업데이트

[붱이 Story/IoT] - 로지텍 하모니 다운그레이드 하기


 

 

※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.

 


  1. Favicon of https://www.makelism.net BlogIcon Makelism 2017.07.21 02:02 신고

    제가 쿠쿠님이라면 뿌듯할 것 같아요.
    뷩이님도 바쁜 일 끝나시면 스마트싱스에 큰 족적을 남겨주세요.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.07.21 02:04 신고

      전 아직 쫓아가기바빠요 ㅎ
      지금 우선 따라하기 웬만큼 다 따라해보고 dth랑 smartapp공부해봐야겠어요 ㅎ

  2. Favicon of https://lemoche27.tistory.com BlogIcon 모치. 2017.07.25 11:32 신고

    다시 찬찬히 생각해보니, 꼭 ds716+로 기변하지 않아도 24시간 켜있거나 wol로 켤수 있는 윈도우pc에 docker for windows를 깔아두고, harmony api로 harmony와 통신하게 해두면 되겠네요. 마지막 단계의 st앱에서 주소를 pc주소로만 주면 잘 될것 같은 희망이 보이네요. docker가 실행되지 않는 상태에서도 기존처럼 하모니 어플로 제어하는건 영향이 없는거죠? 얼른 제품들이 미국에서 들어와야 이것저것 해볼텐데 손이 근질근질하네요 ㅎㅎㅎㅎ

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.07.25 11:36 신고

      넵.다됩니다 개인서버로도 되구 라즈베리파이 이용해도 되구 전그냥 시놀 도커를 써보고싶은 욕심에...

    • Favicon of https://lemoche27.tistory.com BlogIcon 모치. 2017.07.25 11:39 신고

      그렇군요.. 하지만 NAS 말고도 24시간 켜있는 기기가 추가되는건 전력이나 소음이나 바람직하진 않은데 ㅠ intel nuc가 처음 샀을땐 조용하더니 2년 지나니 팬 청소도 어렵고 소음은 점점 심해지고.. 암튼 여러모로 도움 감사합니다!

  3. Favicon of http://kuku.pe.kr BlogIcon 쿠쿠 2017.08.17 14:18

    와웅 설치 정리 깔끔하네요...
    제 블로그 설치글은 너무 개발틱하게 써놔서...

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.08.17 14:24 신고

      잘쓰고 있어요 감사합니다
      최대한 저같은 초보자들이 따라할수있게 썼어요

  4. ccasper 2017.08.18 03:09

    블로그 잘보고 있습니다~~
    혹시 에어컨 설정은 어떤 모델로 하신건지 궁금하네요. 저희 집 에어컨이 lcd방식 리모컨이라 최신식은 아예 학습기능도 안되더라구요.
    그래서 임시방편으로 arc시리즈로 등록을 해두었는데 fan mode변경 버튼이 없어서 냉방,송풍 기능만 가능하네요.
    모드변경이 되는 모델이 있으면 전수부탁드립니다^^

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.08.18 06:59 신고

      안녕하세요 ㅎ
      저는 팬모드를 사용않해서 모르겠네요
      하모니에 등록할때 저는 모델명 안적구 제조사는 Samsung 모델명은 Air conditioner 라고만 적구 진행했어요
      하모니에서 저는 on off말고는 잘안써요 ㅎ

  5. 네팔렘 2017.10.02 09:03

    붱이님~~ 혹시요~~하모니 허브 설치 할려면 꼭 나스에 하모니 api 도커를 설치 해야되는건지요?^^
    지금 하모니 허브가 세일 마니 한다고 오날두님께서 올려주셔서 관심히 가네요~ ㅎ

  6. BlogIcon hooney 2018.01.17 16:36

    정말 신기해하면서 하나씩하나씩 배우고 있습니다. 정말 감사드립니다. 저번주까지 장비들 다 도착하여 kukuharmony를 설치를 붱이님 쿠쿠님글을 보고 찬찬히 따라하고 있는데요. ST App에서의 기기 추가 단계에서
    Automation ->  Add a SmartApp -> 스마트 앱 나의에서 KuKu Harmony 항목이 나오지 않아서이 몇시간째 인터넷 검색만 하고 있는데요. 혹시 도움을 좀 얻을수 있는지요. 아무것도 뜨는게 없는상태입니다.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2018.01.17 16:40 신고

      안녕하세요 우선 ide에서 kukuharmony smartapp을 퍼블리쉬 하셨나요

  7. hooney 2018.01.17 17:00

    넵 본문 가이드 주신대로ide에서 smartapp과 handler 둘다 publish완료했습니다. 그런데 혹시 앱에서는 스마트싱스 허브상태가 온라인인데 ide페이지에서 hub가 아직 없다라고하는걸 봐서는 공유기 설정이나 뭐 인터냇 설정 문제일까요?!

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2018.01.17 17:03 신고

      아 이해했어요 ide 사이트로그인하시몀 로케이션 먼저 선택하고 홈 선택하면 ide주소가 바뀔거에요 서버가 나뉘어있거든요 거기서 설치를해야 보여요 지금 공용 서버에 설치하신거구 후니님 서버로 이동이 바루 안되서 발생한거에요.

      정리하면 ide 로그인 로케이션 홈 선택
      주소가 바뀌면 그때 부터 스마트앱이랑 dth설치 하시고 퍼블리쉬하시고 하면되요

  8. hooney 2018.01.17 17:09

    아~ 뭔가 설명듣고 느낌이 왔습니다. 정말 감사합니다. 사실 뷩이님 글을 매일 보면서 하나하나 똑같이 따라할 생각이라^^ 이 작업이 첫 시작인듯 합니다. 아무튼 너무 감사드립니다.

  9. 웰시코깅 2018.01.27 00:02

    안녕하세요 네이버 카페에도 가입해서 여러모로 도움을 받고있는데 쿠쿠하모니를 나스에 설치하기 위해서
    나스를 업글레이드 했는데 도커에 이미지 설치하고 st는 아마존에서 2월 초에 도착 예정이라... 할게 없네요...
    그런데요... 쿠쿠하모니는 어떤 용도인가요? 신호를 받아서 처리하는 서버 같은 역활인가요?
    쿠쿠하모니 할려고... 하모니도 사고 smartthing monitoring kit도 사고 구글홈도 샀네요^^;;

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2018.01.27 00:07 신고

      안녕하세요ㅎ 쿠쿠하모니는 하모니가 액티비티라는 개념으로 하나의 액티비티만 활성화가 되요

      TV 액티비티와 에어컨 엑티비티가있다면
      TV액티비티를 On했다가 에어컨 엑티비티를 On하면 TV는 액티비티는 Off가되고 에어컨 액티비티만 On이되서 좀불편해요 그걸 해결한게 쿠쿠님이 만드신 쿠쿠하모니를 사용하며누개별로 맘대로 여러개 따로따로 제어가 가능한거죠 ㅎ

  10. 원우대디 2018.03.13 17:14

    검색해서 방문하게 되었는데, 내용 너무 좋습니다.
    도전하고 싶은 부분인데, 아직 초보단계라서 궁금한 점이 많네요.
    저는 홈팟을 허브로 하여 홈킷에서 제어하는 방식으로 시작하고 있는데,
    라즈베리파이(홈 브릿지 설치), 로지텍 하모니(쿠쿠 하모니 설치) 이렇게 하면...
    구현하신 것 처럼 에어컨이나 다이슨 냉온풍기를 홈 킷에서 제어 가능한건가요?

    대략은 알겠는데 구현이 제대로 될지 확신이 안되서 선뜻 물건 구매하기가 어렵네요.

    아무튼 블로그 잘 보았습니다. 많은 도움이 될 것 같습니다.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2018.03.13 17:26 신고

      안녕하세요 좋게봐주셔서 감사합니다.
      홈브릿지와 쿠쿠하모니 모두 스마트띵 허브가있어야합니다 이것도 있으시다면 말씀하시는바를 하실수 있습니다

  11. Chris 2018.06.04 17:25

    올려 주신 글 내용대로 쿠쿠하모니 연동해서 잘 쓰고 있습니다.
    단, 타입이 한정되어 있고 Custom 버튼도 더 넣고 싶은데 스마트싱스 App에 소스 수정을 해서 사용할 수 있나요?
    기본으로 제공되는 타입 이외에 제가 따로 만들고 싶습니다.
    현 자바 개발자 이긴한데 이 언어는 좀 생소합니다. ^^;

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2018.06.04 19:16 신고

      뉴스마트띵이라면 안되고 스마트띵 클래식이라면 제공되는.dth 손봐서 커스텀 버튼 추가해서 스마트띵클래식앱에서만 사용가는합니다 dth는 groovy라는 언어이구요

  12. Favicon of https://mydecember.tistory.com BlogIcon @베짱이 2018.08.23 01:27 신고

    안녕하세요. 블로그 잘 보고 있습니다.
    설정중에 안되는 것이 있어 질문 남깁니다.
    1. docker에 쿠쿠하모니를 설치 하고 터미널에 가면 신호가 오지 않습니다. 재시작도 해보고 하모니 전원도 껐다 켜봐도 안되네요.
    2. smartthings IDE에서 smart app/dth 설정 후 스마트싱스 앱에서 기기 추가를 하려고 하면 동그라미만 계속 돌고 기기를 찾지 못합니다.
    답변주신다면 감사하겠습니다.


※ 우리 부부가 열심히 일하고 야근해서 받은 머니로 구입한 후기입니다

 

붱이 Story

 

 [붱이 Story/IoT] - IoT 입문기 1탄 - 로지텍 하모니 구입

 

[붱이 Story/IoT] - IoT 입문기 2탄 - 로지텍 하모니 세팅

[붱이 Story/IoT] - IoT 입문기 3탄 - DYSON 날개없는 선풍기(AM-07) 하모니 연결 및 제어

[붱이 Story/IoT] - IoT 입문기 4탄 - 10년된 에어컨 하모니에 연결 및 제어

 

 

우선 너무많이 한번에 질러서

 일일이 개봉기쓰긴 너무많고

개봉기는 특별한게 없으니

한방에 퉁

 

 

약 보름걸려서 받은것들

 

허브가 있어야 센서들을 붙일수있다.

SmartThings hub(아래)

 

 

(아래) 왼쪽부터 순서대로

SmartThings Multipurpose Sensor - 문 열고 닫고, 온도 측정 가능

Xiaomi Temperature Humidity - 온도 및 습도 측정

Xiaomi Motion Sensor - 동작 센서

Xiaomi Door/Window Sensor - 문 열고 닫고 감지

 

SmartThings Multipurpose Sensor 는

샤오미를 먼저 사고

며칠간 엄청난 개고생을해서

 

샤오미 센서가 고장인지 SmartThings hub가 고장인지

판단하기위해 구입했다.

 

근데 왜 샤오미홈사면되지 굳이

이렇게 어렵게 하느냐??

샤오미홈은 샤오미로만 가지고 놀지만

 

SmartThings는 100개가 넘는 다른 회사 센서들까지

연동이 가능하기때문에

SmartThings 에 굳이 붙여서 사용하면

응용력이 배가된다.

 

얘기가 길어지니 간결하게

SmartThings Multipurpose Sensor는

한방에 연결이되어

hub는 이상없다는걸 확인하였다.

특히 뭐 포스팅할게 없을정도로

쉽게 등록이 되니 따로 포스팅 하진 않겠다

 

 

이포스팅의 핵심은 삽질을 거듭한 샤오미가 주인공

 

 

사실 SmartThings 센서하나값 = 샤오미 센서 4개값

 

이여서 샤오미 센서만 사서 하려했는데

결국 구입해버렸다...

 

SmartThings에서 공식적으로 지원하지 않지만

샤오미를 구입한 이유!!!

 

나의 참고서격인

kuku님 makelism님 모두 만족하시는것 같아 구입

이 두포스팅에 의해 구입을 하였다

상세내용은 아래 블로그 링크 참조

http://kuku.pe.kr/?p=6348

http://kuku.pe.kr/?p=6421

http://kuku.pe.kr/?p=6374

http://makelism.tistory.com/entry/샤오미-Xiaomi-센서류를-지르다-2-도어-센서

 

 

위에서 참고해서 나도 시작했지만

처음보고 이해못한 부분들은

나같은 보고도 못따라하는 분들을 위해

위분들꺼외에 다루지 않는부분은 좀더 자세히 다루겠다.

(먼저 저두분껄 보고 내 포스팅을 보면 엄청난 초보자도 실패 없이 세팅할수있다.)

 

 

 

1단계 : DTH 등록

 

http://makelism.tistory.com/entry/샤오미-Xiaomi-센서류를-지르다-2-도어-센서

 

위 포스팅을 참고로 따라했음

 

 

그럼 초보자 입장에서

나도 첨에 이걸 이해하는데 좀 오래걸렸다

그래서 간단한게 언급

 

DTH가 우선 무엇이냐?

Device Type Handler 라는놈인데

 

위에도 언급했다시피 샤오미는 SmartThing에서 공식적으로

지원하지 않는다

 

이론적으로 SmartThings 허브는 Zigbee Z-wave 디바이스는 다붙일수있다.

근데 샤오미는 지원하지않으니

 

지금 내가 수동?으로 등록한 Device가

어떤놈이다 라는걸 알려줘야한다

예를들어 모션센서이고

어떤값들을 제공한다

 

이런것들을 할수있게 정의된놈을 DTH라고 보면된다.

 

 

Xiaomi DTH는 그럼 어디서 구하냐??

http://kuku.pe.kr/?p=6348 여기에 자세히 포스팅되어있다

 

하지만 기반지식이 없던 나로선 좀 삽질을 해서

 

진짜 나같은 초보자를 위해

 

요약하자면 이렇다.

 

 

우선 DTH를 등록하기위해

 

아래 사이트로 이동

https://graph.api.smartthings.com

 

이사이트는 SmartThing IDE로 SmartThigns hub와

hub에 연결된 Device들을 웹으로 관리하고 볼수있는 곳이라고 생각하면된다.

 

ID를 만들거나 삼성폰 사용자라면 삼성 계정으로 로그인이 가능하다.

 

로그인을 한뒤

(아 당연한 소리지만 WELCOME CODE로 SmartThings Hub는 연결되어있어야한다.)

 

 

"My Device Handlers" Tab으로 이동

이미지는 잘안보이지만 들어가면 우측에

"Enable GitHub Intergration" 을 클릭

 

 

 

 

아래화면에서 "Authorize applicaition" 클릭

 

github에 연결이되는데 개발자들은 하나정도있을텐데

없으면 아이디를 하나 만들자

만들고 Sign in을 하면

 

 

Step2로 넘어가게되고 오른쪽 아래 "Next"를 누루면

빨간색 으로 repository가 없다고 하면서 에러가뜬다

무시하자

 

 

 

위에서 바로 My Device Handleres 탭을 누루면

아래와같이 Settings 버튼이 생겼다

눌러보자

 

 

아래와같은 팝업이 뜨는데

이제 샤오미 DTH를 만든 개발자의 정보를 넣어주자

원제작자의 git-hub  주소

https://github.com/a4refillpad/Xiaomi

 

아래와같이 입력 하고 "SAVE"

 

그리고 Settings 버튼 왼쪽에 있는

"Update from Repo" 버튼을 누르자

아래와 같이 자동으로 a4fillpad의 DTH정보가 나온다

 

모두 선택하고

Publish도 체크한뒤

"Excute Update"

를 누르자

 

 

 

 

이제 샤오미 DTH등록을 모두 하였고

샤오미 Device를 SmartThings 앱에서 모니터링이 가능해졌다

 

 

여기까지가 준비과정이였다.... ㄷㄷㄷ

초보님들 이정도 자세히썼으면 알겠쬬???

 

삽질시간 좀 줄었을거에요 ㅎ

 


 

2단계 : 샤오미 Device SmartThings Hub에 등록하기

 

 

샤오미 센서는 3개나 있지만 등록과정은 모두 같으니 간략화하겠다

 

SmartThings 앱을 먼저 열자

 

 

 

열고 Add a Thing 터치~

그러면 뱅글 뱅글 돈다

하지만 SmartThing은 한방에 잘되지만

샤오미껀 뜰수도 안뜰수도있다....

 

 

반드시 돌고있을때

아래와 같이 Reset 버튼을 열심히 찌른다

 

이때 초기화 팁은 꾸욱누루면

파란버튼이 세번 깜빡인다

그리고 똥침을 마구 마구 찌르면된다.

며칠간 수십번한듯....

 

 

도어센서 같은 경우는 가끔 바로 뜬다....

아래와같이 뜨면 아주 쌩유

하지만 아마 안뜰것이다.....

 

 

안뜰때의 방법은

 

SmartThings IDE에서

hub event에서

catchall 을 이용하여 추가하는 방법이 있다.

 

makelism님 글 참고 아주 자세히 설명해주셨다.

http://makelism.tistory.com/entry/샤오미-Xiaomi-센서류를-지르다-2-도어-센서

 

 

간단히 요약하면

 

SmartThings IDE 접속후 "My hubs" 탭 이동

 

등록한 허브 선택

(이때 등록했는데도 안보일수도있다. bug임

안보이면 당황하지말고

My Locations 탭으로 이동

로케이션 name 선택

Hubs 항목에 등록된 hub가보일것이다 여길통해 이동)

 

위에보면 Events의 "List Events" 항목으로 이동

 

이때 열심히 똥침을 누루고있자~~~

(SmartThigns는 Add a thing 디바이스 찾는중)

 

List Events 에서 f5를 누루면

허브의 상태를 로그로 볼수있다

그중 "catchall"을 눈여겨봐야한다.

가끔뜨고 다른 로그들 사이에 있으니 잘찾자

 

 

catchall로그의 위에 "2F1E" 가 바로 등록하려고하는 Device의 network id이다

이건 초기화하면 랜덤으로 계속 바뀐다

저값을 이제

"My Devices" 탭으로 이동하여

+ New Device를 통해

 

아래와같이 형관팬 부분만 입력하면된다.

 

핵심은 "Device Network Id"와

"Type"

 

Name은 본인이 원하는 이름으로 하면된다~

 

Device network ID에는 위에 Catchall로 얻은 값을

Type은 위 1단계에서 등록한 Xiaomi 센서를 선택

그리고 Create

 

 

이제 내폰의 SmartThings에 가면 Add a Thing을 종료하면

이미 Device가 추가되어 있는것을 볼수있다.

아주 아주 이때 기분이 좋았다.

하지만 뒷 이야기를 더 들어보자

 

센서 값이 바뀌지않는다

 

열고 닫고 해봐도 변경되지 않고

 

온도값도 냉장고 넣어다빼도... 바뀌지 않고

 

모션도... 손을 아무리 흔들고해도.... 변경되지 않는다...

도통 이유를 모르겠다

 

참고로 난... 이거땜에 며칠동안 위의 동작을 수십번했다..

 

그래서 hub가 이상한지 아닌지 판단을위해

 

SmartThings에서 제작한 Multipurpose 센서를 구입한것이다.

 

위에도 말했지만 허브는 이상없었다.. 아주 잘동작함

 

Makelism님한테도 조언을 구했지만 뾰족한 해결책을 못찾음

 

결론은 해결했다

 

 


 

3단계 : 샤오미 센서 디버깅해보기


 

도대체 뭐가 문제일까???

허브도 문제없는건 확인했으니

샤오미가 문제이거나

내가 세팅을 잘못한것일거다

 

검증해보자

 

How???

 

SmartThings IDE에

"Live logging" 탭 이 보인다.

클릭해보자

 

실시간 Logging이 되고있다..

 

도어센서를 붙였다 떨어뜨렸다 해보자

오 뭔가 된다!!!

on/off:0

on/off:1

 

근데 이상한 메세지가 있다.

 

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎35‎:‎34: error java.lang.NullPointerException @ line 87

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎35‎:‎34: debug Parsing 'on/off: 1'

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎35‎:‎32: error java.lang.NullPointerException @ line 87

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎35‎:‎32: debug Parsing 'on/off: 0'

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎35‎:‎00: debug configure: Write IAS CIE

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎35‎:‎00: debug 4f5e82feff570b00

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎35‎:‎00: debug 00158D0001A34928

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎35‎:‎00: debug 2C95

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎34‎:‎42: error java.lang.NullPointerException @ line 87

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎34‎:‎42: debug Parsing 'on/off: 1'

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎34‎:‎41: error java.lang.NullPointerException @ line 87

xxxxxxxxxxxxxxxxxxxxxxxxxx ‎오전‎ ‎12‎:‎34‎:‎41: debug Parsing 'on/off: 0'

 

error java.lang.NullPointerException @ line 87

 

뭔가 에러가있다.

Xiaomi Door Sensor DTH로 이동해보자

87: def now = new Date().format("yyyy MMM dd EEE h:mm:ss a", location.timeZone)

87라인 주석을 하고 돌려보자

(참고로 각 DTH에서 저부분이 하나씩은 꼭있다.

지금 예로 도어만 했을뿐 모션과 온습도에도 있다.

 저부분을 위에처럼 모두 바꿔야

스마트띵스 앱에서 샤오미 동작을 모니터링 할수있다.)

 

오 된다 !!!

 

 스마트띵 앱에도 값이 업데이트 되고있다

유레카~!!! 저값은 현재 시간 찍는 코드이다

뭐때문에 NPE(Null Pointer Exception)가 뜰까

의심되는건 time zone

 

DTH는 groovy라는 스크립트를 쓴다.

구글링

TimeZone.getTimeZone()으로 Timezone을 가지고 오고있었다.

 

여긴 기본으로 UTC인데 한국시간으로 가져와보자

KST(UTC+9)로 해보자 안된다...

다시 구글링 KST안되면 JST로해보라는 글 발견

일본이랑 우리랑은 시간같으니 JST로 변경하고

Time fomat도 내입맛에 맞게 바꿔보자

 

//원래 코드는 주석으로 처리하고

 

//def now = new Date().format("yyyy MMM dd EEE h:mm:ss a", location.timeZone) // 원래 코드

 

 

 

// 포맷과 timezone 부분을 고쳤다. 

 

   def now = new Date().format("yyyy-MM-dd EEE h:mm:ss a", TimeZone.getTimeZone('JST'))

 

다 고쳤으면

 

Save->Publish->For Me

 

 

 

 

스마트띵앱에서 관찰하니

 

 

   

올레 한국시간으로

 잘 갱신되어 올라온다

 

도어센서 닫혔을때

 

 

 

도어센서 열렸을때

 

 

 

 

온도센서 모습

 

 

 

모션센서 모션없을때

 

 

 

모션센서 모션있을때

 

 

 

모션 센서는 모션이 감지되고 No Motion으로 인식하기까지

 

약 2분이 걸리니

왜 동작 제대로 안하지라고 생각하지말자

약 2분뒤 "No Motion"으로 인식한다

 

힘든 샤오미 센서 연동기 끝 ㅠㅠ

 

내 삽질의 모든것을 기록했으니

다음 초보자분은 시간 낭비하지말고 잘했으면 하는 마음으로

포스팅했다

 

그래도 모르는분은 댓글로 문의~!!

 

 

총평

 

재밌지만 돈여유되면 그냥 SmartThings 센서를 구입해라....

샤오미는 힘들다

 

 

 

 

2017.06.19. 추가 포스팅

 

error java.lang.NullPointerException @ line 87

 

뭔가 에러가있다.

Xiaomi Door Sensor DTH로 이동해보자

87: def now = new Date().format("yyyy MMM dd EEE h:mm:ss a", location.timeZone)

 

위 내용에서 왜 나만 NPE가 발생했는지 알게되어 추가 포스팅한다

내 로케이션이 최초 허브 세팅할때

미국으로되어있었다.

 

스마트띵앱으로 지금 사는곳으로 옮기고

저장하고 테스트해보니

 

NPE가 발생하지 않는다

 

그리고 모든 저장이나 로그들이 UST기준이였는데

 

로케이션을 옮기고나니 KST로 바뀌어있었다.

 

나같은 문제 발생했을때 자신의 로케이션이 한국인지 확인하길 바란다

 

미국이라한들 에러는 날필요없는데 뭔가 다른 체크하는 로직이 더있는것 같다.

 

 

그리고 추가로 주말에 일요일에 세팅후

 

아침에 일어나니 스마트띵 센서는 잘 동작하고 있지만

 

샤오미는 모션센서와 도어센서는 Unavailable

온습도 센서는 업데이트가 되고있지 않았다.

 

그리고 makelism님과 kuku님은

베터리 정보가 올라오는데 난 올라오지도 않는다...

 

 

 

해결책을 찾으면 추가 포스팅하겠음...

 

해결 포스팅

[붱이 Story/IoT] - IoT 입문기 6탄 - SmartThings hub A/S 및 샤오미 정상 동작

 

 

 

 

※ 공감 및 댓글 한마디는 포스팅하는데 큰 힘이 됩니다.

 

 

 

 


  1. BlogIcon 초연결 2017.06.18 22:33

    붱이님 단기간에 엄청난 내공을 쌓으셨네요.
    곧 IoT로 새계도 제패해보시길...

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.06.18 22:37 신고

      @초연결님
      아직 1주일된... 초보에요^^
      내공을 쌓아야죠 이제...
      응원해주셔서 감사합니다.

  2. Favicon of https://www.makelism.net BlogIcon Makelism 2017.06.19 09:32 신고

    제 IDE, 샤오미 포스트 화면 열어 놓고 꼼꼼하게 비교하며 포스트를 봤는데 시간 설정을 제외한 나머지 설치 과정은 완전 동일합니다.
    아직 Zigbee 제품을 설치하는 과정이라 허브와 센서 거리가 멀다면 충분한 메쉬 네트워크 형성이 안 되어 생기는 증상이 아닐까 조심스럽게 예측해봅니다.
    설치가 잘 마무리되었으면 좋겠네요.
    저도 처음에 스마트싱스 세팅할 때 많이 고생했거든요.
    힘내세요.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.06.19 09:40 신고

      거리가 멀진 않습니다 약 2에서 3미터? 정도 떨어진곳에 둔것같습니다.
      응원감사합니다ㅎ

    • Favicon of https://www.makelism.net BlogIcon Makelism 2017.06.19 09:47 신고

      가까워서 메쉬 문제는 없겠네요.
      포스트 내용으로는 전혀 문제가 없는데 무엇 때문인지 진짜 궁금합니다.

  3. Smart things 앱에서 샤오미 센서를 추가 문제 2017.11.12 18:20

    안녕하세요?
    컴알못 이지만 블로그에 있는 정보를 보고 너무 재미 있게 설명을 잘 해놓으셔서 용기를 갖고 각종 기기들을 구매 한 1인 입니다.
    헌데 생각 만큼 쉽지 않네요. 그래서 다들 얼마나 힘들게 방법을 찾으 셨을까 하는 생각에 이렇게 여쭤 보기가 죄송하기도 하네요.
    혹시 여유가 되신다면 아래 제가 직면한 문제에 답변을 좀 부탁 드려요.

    Smart things 와 샤오미 센서류를 일단 추가 하는데 생긴 문제인데요, https://graph.api.smartthings.com/ 에 연결하여 location 등록을 마쳤는데 설명하신 내용에 따르면 my hub 항목상에 무언가 나타나는 것 같아요.
    헌데 전 아무것도 안 나타나서 더 이상 진행이 안되네요. 관련 설명이 있는 곳이 있는가 해서 Docment 항목에 있는 설명서와 같은 (?) 내용을 읽어보아도 관련 내용은 안 보이는 것 같아요.
    참고로 현재 핸드폰 (아이폰7) 에 앱은 smartthings hub 와 연결이 되어 있습니다. 그리고 smartthings 앱 상에서 add things 를 누르고 샤오미 기기 를 Reset 과 똥침으로 100번도넘게 한것 같아요. 더하면 고장 날까 걱정도 되네요. ㅜ.ㅜ 문제가 무엇인지 의견좀 부탁 드려요.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2017.11.12 20:55 신고

      안녕하세요
      사이트 들어가시면 Location에서 본인 로케이션을 클릭해보세요
      그러면 주소가
      https://graph-na04-useast2.api.smartthings.com/

      이런식으로 바뀔꺼에요 그다음에 my hubs에 가시면 설치하신 smartthings hub가 보이실겁니다.

      그럼 본인 hub 선택하시시면 list events라는게 보일텐데요

      그 창상태에서 st app에서 add device를 누루시고 똥침을한뒤

      사이트에서 f5를 누루시면 갱신되면서 catchall을 만나보실수 있을거에요 ㅎㅎ

      안되면 다시 질문주세요

      제가 활동하고 있는 카페입니다
      http://cafe.naver.com/stsmarthome

      오셔서 질문 자유롭게 해주시면 저 뿐만아니라
      많은분들이 도움주실수 있을거에요 ㅎㅎ
      그럼 카페에서뵈요~

  4. 감사합니다. 2017.11.19 21:52

    시간 나는 대로 씨름을 해보았지만 해결이 되지 않아서 말씀 하신 naver cafe 에서 다시 올려 보겠습니당.
    신경써 주셔서 감사하구요, 다시 구체적으로 상황을 올려 보겠습니당..

+ Recent posts