갤럭시홈미니로 약국 마스크 입고/매진 알림 받기 feat. Smartthings

2020. 3. 18. 22:34IoT Life

마스크 재활용을 위해 건조중 ㅠㅠ

 

요즘 마스크가 없어서 난리입니다. 일주일에 2개만 구입 가능하다고 해서 제가 해당하는 요일에 퇴근하고 약국에 가보았는데 글쎄 마스크가 없다고 하더라고요. 전 국민이 마스크 골고루 가지라고 한 제도인 거 같은데 막상 가보면 금방 매진되고 말아 버립니다. 너무 화가 나서 약사님에게 언제 입고되었고 언제 매진되었냐고 물어보았습니다. 그랬더니 3시에 들어왔고 10분 만에 다 팔렸다고 했습니다. 매번 그 시간에 오느냐고 물어보았지만 오는 시간은 매일매일 다르다고 하셨습니다. 언제 마스크가 들어오는지 알면 좋을 거 같아서 뒤져보던 중 제가 자주 가는  IoT 카페에 가니 Home Assistant로 구현해 놓은 것을 발견하였습니다.(af950833님 감사합니다^^) 그래서 이걸 가지고 스마트싱스나 갤럭시홈미니로 알림 받으면 좋은 것 같아서 도전해보았습니다. 순서대로 해보았으니 따라 해 보세요^^

1. 자기 동네 약국 찾기


공공 포털에서 제공하는 API를 이용하여 자기 동네 약국을 찾을 수 있습니다. 방법은 아래 URL 끝부분에 도, 시, 구, 동 형식으로 입력해주고 크롬이나 사바리 같은 웹 브라우저에서 붙여 넣기를 하면 볼 수 있습니다. 저는 경기도 화성시 새솔동이라는 곳에서 살고 있습니다.


https://8oi9s0nnth.apigw.ntruss.com/corona19-masks/v1/storesByAddr/json?address=경기도%20화성시%20새솔동

 

 

새솔동에는 약국이 2개 밖에 없다.ㅠㅠ

 

 

위와 같이 약국이 표시됩니다. 특히 주목해야 될 부분은 remain_stat부분입니다. 값이 empty상태이면 1개 이하의 마스크를 가지고 있다는 뜻입니다.(매진이라는 뜻입니다.ㅠㅠ)

 

2. 특정 약국 지정하기


새솔약국만 지정하고 싶다면 URL을 아래와 같이 변경해줍니다. 끝부분에 경도, 위도, 반경 몇미터 값을 넣어줍니다. 저는 새솔약국만 지정하기 위해서 반경을 1미터로 설정하였습니다. 경도, 위도, 반경값은 순서1에서 취득한 값을 넣어주시면 됩니다.

https://8oi9s0nnth.apigw.ntruss.com/corona19-masks/v1/storesByGeo/json?lat=37.2843867&lng=126.8185905&m=1

 

 

새솔약국만 표시되는것을 확인 할 수 있다

 

 

 

3. Home Assistant에 추가하고 HA Connector로 Smartthings로 옮기기


configuration.yaml파일의 sensor 부분에 아래와 같이 추가하고 재시작을 해줍니다. 만약에 제대로 표시가 안 될경우 빈칸이 있는지 띄어쓰기는 잘 되었는지 확인해주세요. 저도 이 부분에서 잘 안되어서 애를 많이 먹었습니다.

 

 

configuration.yaml파일의 sensor부분에 추가해주자

 

 

HA Connector로 방금 추가한 장치를 보내줍니다.^^ 참고로, 저는 조도센서를 선택해서 보내주었습니다.

 

4. Smartthings에서 자동화 추가하기


Smartthings에서 자동화를 아래와 같이 추가해줍니다. 메시지 읽어주기는 갤럭시 홈미니에서 알림이 가는것이고 구성원에게 알림 보내기는 Smartthings 알림으로 보내지게 됩니다.

 

 

 

 

 

5. 동작 확인

Smartthings에서 확인

마스크 입고가 오후 2시 50분에 있었고, 마스크 매진은 오후 3시 21분에 있었습니다. 알람이 제대로 오고 있습니다. 30분만에...마스크가 매진되었군요. 저같은 직장인은 알림이 와도 살 수 가 없네요. 주말에도 이용할 수 있으니 이 알림을 이용해서 사봐야겠습니다.