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

 

붱이 Story

나는 data.go.kr에서 제공하고있는

미세먼지 정보 Open API를 사용해서

Home Assistance에서 사용하고 있었다.


SmartApp으로 만들어서 서버없이 해야지 생각만하다가


SmartHome 카페 slasher님이 위에 환경 공단 API를 가지고


DTH를 만들어주셨다. 너무 감사합니다^^


http://cafe.naver.com/stsmarthome/2536



미세먼지뿐만 아니라 Weather정보도 같이 표시되는

dth하나가 있으면 좋겠다 생각이 들어서


토요일 아침부터 작업을 시작하였다.


slasher님꺼에서


SmartThings에서 자체적으로 제공해주는 weather함수를 이용해서


통합하는게 목표



결과를 먼저 보여드리면




대기 오염 부분은 환경공단에서 제공하는 API를 사용해서 출력하였고 (Slasher님의 dth 기반)


아래 날씨 정보 부분은 smartThings weather함수를 이용하여서 출력하였다.


두개의 특징을 소개하면


"환경공단 정보"

 gps정보가 아닌 측정소의 기준으로 정보를 준다

그래서 Configuration에서 API키 뿐만 아니라 측정소 정보도 알려주어야한다.



"SmartThings Weather"

날씨 Open API인 https://www.wunderground.com 를 기반으로

API Key가 별도 없이(SmartThings내부에 내제됨) dth에서 사용가능하다.


Home Location의 GPS값을 통해 정보를 가지고 온다.


attribute값들은 https://www.wunderground.com/weather/api/ 


참조해서 어떤것이든 가져다 쓸수있다.



두가지 정보를 하나로 합치고 Weather Station을 꾸며보았다.


카페에서 ShinJjang님과 Onaldo님이 Tile 재배치와 색상변경 및 테스트 마루타가 되어주셨다 ㅎ

다시 한번 감사드립니다.



사용법



1. https://data.go.kr 에 가서 회원 가입

2. "대기오염정보 조회 서비스" Open API 활용 신청


여기서 상세 기능 보이는거 다신청하자

여담으로 측정소 조회를 하려면 "측정소정보 조회 서비스" 요것도 신청 같이하자~



3. API Key 받기



4. Graph IDE가서 git hub repository 입력

https://graph.api.smartthings.com/이동

본인 Location 선택 

주소 타입이 자기맞는 서버로 이동확인 아래처럼~

https://graph-na04-useast2.api.smartthings.com

"My Device Handlers" 이동

"Settings" 클릭

아래처럼 입력


"Save"


5. DTH Self Publish

"Update from Repo" 에서

"BooungThings(master)" 선택

New (only in GitHub) 에서 deviceType선택

맨아래 Publish 선택후

"Execute Update" 클릭


6. Weather Station Device 만들기

"My Devices" 이동

"+New Device" 선택

아래 처럼 Type에 방금 추가한 "SmartWeather Station For Korea"

Device network Id는 기존 device들과 겹치지 않게만 아무값

7. Configuration

그리고 바로 컴터로 하는김에

설정값까지 컴터로

위에 만든 Device로 이동

 중간에 Preferences가 보일것이다


edit 클릭

아래 빈곳에 위에 얻은 API키 입력

그리고 측정소 입력 측정소 뭘입력해야하는지는 아래 다시 설명

Tile에서 보여질 이름은 

측정소 이름대신에 보여질 이름 입력 안쓰면 측정소 이름으로 출력

Interval은 사실 정보제공해주는 측정이 정각에만 측정을 한다.

하루 500회 콜만 가능하니 알아서 판단~



8. 측정소 조회


측정소 이름이 뭐가있을까 갑자기 짜증이난다


환경공단가서 측정소가 뭐가있나 봐야한다


Kotlin과 web도 공부할겸


짱나서 만들었다




사용 방법은 간단

http://weekendproject.net:8081/api/airstation/{검색어}


아래는 "중구"로 검색한 예이다

http://weekendproject.net:8081/api/airstation/중구




결과가 없는경우는

여튼 검색해서 측정소 이름 부분의 것을 입력하면된다.


컴터로 안하고 폰으로 바로하려면


Weather Station Device선택하고 

오른쪽위 톱니바퀴 아이콘 Configuration 해서

아래 항목에서 입력



참고로 측정소 조회는 내 key로만들어서 하루 500회 호출만 되니


악의적으로 너무 많이 조회하지마세요 ㅠㅠ


측정소 조회 서비스도 신청하신분은 아래 query로 직접 조회하세요

http://openapi.airkorea.or.kr/openapi/services/rest/MsrstnInfoInqireSvc/getMsrstnList?addr=${SearchWord}&ServiceKey=${본인APIKey}


끝~~~ 

WebCore에서 자동화는 알아서 입맛에 맞게~




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



  1. Favicon of https://onaldo.tistory.com BlogIcon 오날두 2018.03.29 23:33 신고

    이거 링크복사 어떻게해요? 안되는데용

  2. 쿠쿠리 2018.08.15 23:40 신고

    음 뭔가 꼬인거 같습니다.
    api 둘다 받아다 설정했는데 대기질 정보가 안넘어 와서 (날씨는 들어오고)

    카페가서 slasher 님 dth로 설정해 보니 그건 잘 넘어오네요..(작동 안해서 살펴보다 리플 중 팁에 따라 Service 대문자 s로 수정후에 작동)
    홈킷도 공기질 플러그인 같은 api로 잘 작동 하구요.

    • Favicon of https://blog.weekendproject.net BlogIcon 붱이붱이 2018.08.15 23:46 신고

      쿠쿠리님 안녕하세요
      service의 s요?? 조금만 더 자세히 말씀해주세요 수정해야할 부분있으면 수정하겠습니다

  3. 쿠쿠리 2018.08.16 21:01 신고

    https://cafe.naver.com/stsmarthome/2536
    최근 리플에 언급이 있습니다.
    혹 같은 구문이 있을까 싶어서 dth 스크립트 뒤져봤는데 없더라구요.
    저만 안되는 거라면 뭔가 잘못한거겠죠 ㅠ
    측정소는 그냥 위치로 찾은 “금천구”와 api 두개 다 시험해 봤습니다. (Slasher님 dth에서는 두개 다 작동 하고 있습니다.)

  4. 서뎅 2019.01.10 19:22 신고

    안녕하세요!
    붱이님 자료 보면서 차근차근 하나씩 배워 나가고 있습니다.
    문의 드릴께 있는데요

    4번항목
    Graph IDE가서 git hub repository 입력
    https://graph.api.smartthings.com/이동
    본인 Location 선택
    주소 타입이 자기맞는 서버로 이동확인 아래처럼~
    https://graph-na04-useast2.api.smartthings.com
    "My Device Handlers" 이동
    "Settings" 클릭
    아래처럼 입력

    여기서 왜 전 settings icon이 없을까요?

    제가 뭘 잘못한건지.....

  5. 돌멩이 2019.01.10 19:42 신고

    올려주신 것 보고 잘 따라했습니다.
    좋은 글 감사합니다.

  6. 서뎅 2019.01.10 23:22 신고

    네 setting 버튼이 전 없네요
    경로가 잘못된건지 ...
    ㅜㅜ

+ Recent posts

티스토리 툴바