개발/IoT

[SmartThings] WiFi 를 이용한 재실 센서 만들기 - feat. SASM, IFTTT

날고싶은병아리 2023. 1. 13. 12:15

최근 스마트싱스에서 Groovy API 를 종료시키고 있음에 따라 일부 문제가 생기기 시작했습니다.

물론 빅스비 루틴을 이용해 만들어도 됩니다.

 

빅스비 루틴

근데 자꾸 에러가 납니다.

WiFi 가 연결되고 끊기고 하면서 네트워크 재연결 시간을 기다리다 타임아웃이 난 것 같아요.

 

백업 정책이 필요하죠.

 

그래서 IFTTT 를 이용한 재실 체크를 백업 수단으로 이용 중이었는데,

 

IFTTT

SmartThings 서비스가 Legacy 로 바뀌고 디바이스 목록이 하나도 나오질 않네요.

 

https://isdown.app/integrations/ifttt/incidents/163078-the-smartthings-service-is-temporarily-unavailable

 

IFTTT - The SmartThings service is temporarily unavailable (11/Jan/23)

Jan 11, 2023 - IFTTT outages - The SmartThings service is temporarily unavailable. Existing SmartThings Applets will continue to run, but new Applet...

isdown.app

 

 

다행히 이전에 만들어 둔 애플릿들은 정상적으로 작동할 것이라고 하네요.

 

그럼 뭐가 문제냐?

 

제가요, 재실 센서로 쓰던 가상 스위치를 날려먹었거든요.

 

새로운 가상 스위치를 만들어야 하는데,

 

망했어요.

 

아무튼 이리저리 방법을 찾다가

 

https://sasm.developer.samsung.com/

 

Samsung Automation Studio

Samsung Automation Studio enables you to easily mash-up various Cloud based services.

sasm.developer.samsung.com

이건게 있다는 걸 찾았습니다.

샘숭 오로~메이숀 스튜디오.

 

통칭 SASM.

미사일 이름 같기도 한 이 서비스를 이용해 WiFi 재실 센서를 만들어봅시다.

 

일단 SmartThings 앱에서 재실 센서로 쓸 가상 스위치를 하나 만드세요.

 

2022.05.26 - [개발/IoT] - 스마트싱스에서 가상 스위치를 써봅시다.

 

스마트싱스에서 가상 스위치를 써봅시다.

사람이 살다 보면 갑자기 뭔가에 막 빠져들어 자다가도 생각나고 먹다가도 생각나는 그런 게 있죠. 그것은 바로! 봄 사랑 벚꽃 말고 전자 공학! 잡설은 그만두고. IoT 에 입문하게 되면 가장 많이

naveen.tistory.com

방법은 해당 글 참조.

 

SASM

그리고 SASM 에 접속합니다.

 

베타군요.

베타였어요.

베타지만 쓸만합니다.

 

 

SASM

로그인하고 동의하고 뭐 어쩌고 하면 이런 페이지가 뜹니다.

 

My Device

My Device 를 끌어다가 오른쪽에 놓습니다.

 

My Device

Personal Access Token 이 필요하네요.

밑에 SmartThings token page 링크를 누르세요.

 

https://account.smartthings.com/tokens

 

SmartThings. Add a little smartness to your things.

 

account.smartthings.com

 

토큰

새 토큰 만들기를 눌러줍니다.

 

토큰

토큰 이름은 적당히 아무거나 알아보기 쉽게.

권한 범위는 모르겠으면 전부 체크.

그리고 만들기.

 

토큰

이제 나에게도 토큰이 생겼습니다.

잃어버리면 큰일 나진 않지만 아주 매우 몹시 중요하므로 은밀하고 깊숙한 장소에 잘 보관해 둡시다.

 

My Device

잘 등록되면 디바이스 목록이 보입니다.

전부 체크, 혹은 필요한 것 만 체키라웃.

 

Http In

Http In 노드를 이용해 Webhooks 을 만들 겁니다.

 

 

Http In

이름은 대충 마음에 드는 걸로,

Method 도 마음에 드는 걸로,

저는 RESTful 에 입각하여 PUT 으로 했습니다.

 

exposed URI 는 대충 영어로 알아보기 쉽게 적으면 됩니다.

그리고 오른쪽 복사 버튼을 눌러 복사해 두세요.

 

Command

이제 Command 블록을 이용해 Http In 으로 호출되면 재실 스위치가 On 되도록 만들어봅시다.

 

Command

디바이스를 고르고 Capability 를 switch 로 Command 를 on 으로 변경해 주면 됩니다.

 

노드

이제 필요한 노드를 만들었으니 연결해 주면 됩니다.

 

노드 연결

회색 네모를 마우스로 끌어서 Http In 에서 Command 로 가도록 하면 됩니다.

 

배포

그리고 오른쪽 위 화살표 버튼을 눌러 저장.

 

배포

파란색으로 바뀌면 잘 배포된 겁니다.

 

https://ifttt.com/

 

IFTTT - Connect Your Apps

Get started with IFTTT, the easiest way to automate your favorite apps and devices for free. Make your home more relaxing. Make your work more productive. We believe every thing works better together.

ifttt.com

이제 IFTTT 에 접속하여 WiFi 연결을 이용해 Http In 을 호출해 볼게요.

 

If This

Create 를 눌러 If This 부분에

 

Device

Android Device 선택.

 

https://play.google.com/store/apps/details?id=com.ifttt.ifttt&hl=ko&gl=US 

 

IFTTT - Google Play 앱

좋아하는 서비스로 더 많은 작업을 수행하세요

play.google.com

당연히 핸드폰에서 IFTTT 앱을 설치해야겠죠?

Tasker 같은 앱을 사용해도 됩니다.

 

Connects to a specific WiFi network

 

Connects to a specific WiFi network 를 선택.

 

 

Trigger

WiFi 이름을 입력하고 트리거를 만듭니다.

 

Then That

Then That 을 누르고

 

Webhooks

Webhooks 을 선택해 줍니다.

 

Make a web request

Make a web request 선택.

 

Webhooks

아까 복사해 둔 링크를 입력하고 Method 를 동일하게 PUT 으로 변경해 줍니다.

 

완료

그리고 적당한 이름으로 저장하면 끝.

 

이제 지정된 WiFi 가 연결되면 IFTTT 가 SASM 의 Webhooks 를 호출하여 가상 스위치를 on 시켜줄 겁니다.

추가로 WiFi 에서 연결이 해지되면 가상 스위치를 off 시키는 걸 추가로 한번 더 만들어주면 진짜 끝.

 

글로 적으면 복잡해 보이는데 실제로 해보면 어렵지 않습니다.

 

물론 IFTTT 에서 SmartThings 를 다시 지원하기 시작하면 간단하겠지만

선택 옵션은 다양한게 좋잖아요?

 

두 서비스의 다른 기능들을 이용해 다양한 자동화를 만들어보세요.

 

 

그럼 이만.