smartthings CLI 사용법 #4 - Rules API 사용법 01 _ 스위치 조작하기

** 최초 발행일 : 2023-10-06

*본 게시글을 무단 복제하진 말아주세요. 다른 분들에게 도움이 되고자 개인의 노력이 들어간 게시글입니다*

*링크 형태로 다른 곳으로 공유하는 것 외에 무단 복제/수정은 허용하지 않습니다*

 

이번에는 예제를 통해 스위치 A가 꺼지면 B가 함께 꺼지도록 해보겠습니다.

 

본 예제를 통해 Rules를 생성하고, 삭제하는 방법을 배울 수 있습니다.

 

1. notepad++ 설치하기

아래 링크를 통해 notepad++ 을 설치해줍니다.

https://notepad-plus-plus.org/downloads/

 

Downloads | Notepad++

 

notepad-plus-plus.org

notepad++을 설치하는 이유는 yaml파일이나 json 파일 작성시 편의성을 위해 설치하는 것입니다.

 

설치를 원치않으시면, 메모장으로 작업해도 무관합니다.

 

2. 예제파일 다운로드

개인적으로 json 보다는 yaml을 선호하기에 yaml 파일로 예제를 진행합니다.

switch_rules_example.yaml
0.00MB

위 예제파일을 C드라이브에 example 폴더를 만들고 그 안에 넣어주세요

폴더를 지정해드리는 이유는 처음 사용하실 때 명령어를 복사, 붙혀넣기 하는 방식으로 익히시면 쉬울 것이기 때문입니다.

 

 

 

3. 예제파일 수정하기

 

1) 구현하고자 하는 동작

A스위치가 꺼지면, B스위치도 꺼지게 하고 싶다.

 

이것을 Rules API 형태의 언어로 전환하면..

IF A 스위치 OFF, THEN B스위치 OFF입니다.

 

 

이제.. 예제파일을 열고 수정해보겠습니다.

 

2) 스위치 A 장치 ID 입력하기

 

2-1) 장치 ID 찾기

 https://my.smartthings.com/advanced/devices

위 링크를 접속해줍니다.

 

로그인 페이지가 나오면 로그인 해주세요.

 

위 이미지와 같이 장치 목록이 출력 되면 상단의 검색창에 A스위치를 검색해서 장치 상세 정보로 이동해주세요

 

위 이미지를 참고하셔서..

상세 정보에서 장치 ID를 확인하실 수 있습니다.

이 장치 ID를 복사하셔서 예제 파일의 스위치 A 장치 ID에 입력하시면 됩니다.

 

2-2) 마찬가지로 스위치 B의 장치 ID도 찾아서 입력해줍니다.

 

 

3) 참고

현재 예제에는 모두 미리 입력되어있으므로 참고만 하겠습니다.

 

 

참고로 component, capability, command 등은 장치 세부정보에서 스크롤을 하단으로 내리면 확인 하실 수 있습니다.

 

장치가 켜져있으면 value가 on, 꺼져있으면 value가 off로 바뀌는 것을 확인할 수 있습니다.

3-1) 장치 상태 조건에 해당하는.. component 와 capability 는 Attributes 탭에서 확인하실 수 있습니다.

 

3-2) 장치 명령에 해당하는 commands 는 commands 탭에서 확인하실 수 있습니다.

 

앞서 말했듯이 입력이 되어있으므로 생략합니다.

 

 

4. Rules 만들기

 

이제 수정한 예제 파일로 Rules를 만들면 자동화가 작동됩니다.

명령프롬프트를 실행해주세요.

(윈도우+R키 > cmd 입력 후 Enter)

 

1) 명령 프롬프트에 아래와 같은 코드 입력 후 엔터 해주세요

만약 저장된 예제파일 경로가 다르다면 경로를 수정해서 입력해주세요.

명령에서 -i 이후가 파일 경로입니다.

smartthings rules:create -i C:\example\switch_rules_example.yaml

2) 장소를 선택하면 됩니다. smartthings 에서 만든 장소 이름이 나올겁니다.

장치가 있는 장소를 찾으셔서, 앞에 번호를 입력 후 Enter

제 경우 1번 입니다.

 

3) 위와 같이 업로드가 되면 성공입니다.

이제 자동화가 잘 작동하는지 테스트 해보면 됩니다.

executionLocation 이 Local 이면 로컬 자동화, Cloud 면 클라우드 자동화입니다.

Local 이면 인터넷이 끊켜도 자동화가 잘 작동됩니다.

 

5. Rules 삭제하기

 

이제 예제로 만든 rules 를 삭제하겠습니다.

예제이니.. 사용하실 것이 아니므로, 삭제합니다.

 

1) 아래 코드를 입력 후 엔터

smartthings rules:delete

 

2) 삭제할 Rules 번호를 찾고 엔터.

제 경우 22번이 스위치 조작 예제입니다.

처음이실 경우 당연히 1번이겠죠?

 

3) Rules 가 삭제되었다는 명령이 나오면 성공입니다.

 

 

6. rules 목록 조회하기

 

Rules가 정말로 삭제되었는지 확인하고 싶으면 전체 Rules 목록을 조회하면 됩니다.

 

이 경우 아래 코드를 사용하면 Rules 목록이 조회됩니다.

smartthings rules

 

본 예제는 여기서 마칩니다.

수고하셨습니다.

 

** 최초 발행일 : 2023-10-06

*본 게시글을 무단 복제하진 말아주세요. 다른 분들에게 도움이 되고자 개인의 노력이 들어간 게시글입니다*

*링크 형태로 다른 곳으로 공유하는 것 외에 무단 복제/수정은 허용하지 않습니다*