시놀로지 NAS와 Smartthings 전원 연동하기 #4 사용자 1명일 때 설정 방법
안녕하세요.
이전 게시글의 AS성격으로, 사용자가 여러명이 아닌..
사용자가 1명일 때 스위치로 시놀로지 NAS를 제어하는 방법을 추가로 작성해보도록 하겠습니다.
1. 오늘 작업 설명
오늘은 시놀로지 NAS가 smartthings의 가상 스위치 전원으로 켜고 끄고 작동 되도록 할 것입니다.
단, 이전 게시글과 달리 사용자가 1명이기에.. 사용자별 스위치 동작이 필요가 없습니다.
그래서 가상스위치의 MAIN 스위치만 활용해서
SmartThings 가상 장치 ON >> 시놀로지 NAS 전원 ON
SmartThings 가상장치 OFF >> 시놀로지 NAS 전원 OFF
가 되도록 자동화를 만들겠습니다.
이렇게 만들게 되면, SmartThings 가상 장치 상태에 따라 시놀로지 전원이 동기화가 되게 됩니다.
추가로.. NAS 전원선에 다원 플러그를 연결해서...
NAS전원켜짐 >> 다원 플러그 전원 5W 이상 10초 유지 >> SmartThings 가상장치 ON
NAS전원꺼짐 >> 다원 플러그 전원 0W 10초 이상 유지 >> SmartThings 가상장치 OFF
위와 같이 자동화를 만들어, NAS를 SmartThings가 아닌 다른 방법으로 전원을 조작하더라도
SmartThings 가상 스위치에 반영되도록 하겠습니다.
1. 선행 작업
2023.10.08 - [IoT스마트홈_SmartThings] - 시놀로지 NAS와 Smartthings 전원 연동하기 #1
위 링크의 작업을 선행 해주셔야합니다.
#1까지만 진행해주세요.
2. SmartThings가상 스위치 만들기
이 경우 가상 스위치를 한개만 만들면 되므로, 더욱 간단하면서도 쉽게.. 로컬 스위치를 만들어보도록 하겠습니다.
1) 아래와 같은 명령어를 SmartThings CLI에 입력해서 로컬 스위치를 만들어보겠습니다.
smartthings virtualdevices:create-standard -L
2) 장치 이름 입력창이 나오면, 원하는 장치 이름을 입력해주세요
3) 장치가 속할 방을 선택해주세요. 제 경우 11번 입니다.
4) 방을 선택하고 나면 나오는 질문은, SmartThings의 프로필을 묻는 것입니다.
1번을 선택해주세요
5) 가상 장치가 생성될 허브를 선택해주세요. 가능하면 다원플러그가 설치 된 허브를 선택해주세요.
로컬 가상 장치로 생성되기 때문에 인터넷 연결과 상관 없이 다원플러그 상태에 따라 NAS 전원 상태 동기화가 가능해집니다.
6) 위와 같은 메시지가 나오면 설치가 완료됩니다.
3. SmartThings 자동화 만들기
3-1. NAS 가상 스위치 자동화
NAS 가상 스위치가 켜지면, NAS가 켜지도록 자동화를 만들어주세요
가상 스위치 MAIN 스위치 ON >> NAS WOL 스위치 ON >> NAS 전원 켜짐 순으로 동작합니다.
위 사진과 같이 자동화를 만들어주세요.
3-2. NAS 상태 반영 자동화 만들기
NAS 상태 반영은 앞서 말했듯 다원 플러그를 활용해주세요.
다원 플러그 소비전력 값을 기준으로 ON / OFF 자동화를 만들어주세요.
아래 사진과 같이 만들어주시면 됩니다.
전원 켜짐 상태 자동화입니다.
전원 꺼짐 상태 자동화입니다.
3-3. 시놀로지 NAS 전원 자동으로 끄기
시놀로지 전원을 자동으로 끄기 위해서 작업스케줄러를 활용하겠습니다.
위 첨부파일을 다운받아서..
# NAS 장치 ID 설정
#NAS 장치 아이디를 입력해주세요
device_id = "NAS 장치 아이디로 수정해주세요"
# SmartThings API 설정
access_token = "토큰으로 수정해주세요"
#기본적인 수정 사항 끝
만 수정해주면 됩니다.
장치아이디와 토큰을 입력해주시면 됩니다.
아래 방법을 참고해서 입력해주세요.
1) 토큰 입력하기
아래 링크에서 토큰을 발급해야합니다. 우선 아래 링크에 접속해주세요
* 크롬, 웨일 같은 브라우저를 추천해드립니다. 엣지브라우저는 가끔? 오류가 생깁니다.
https://account.smartthings.com/tokens
새 토큰 만들기 클릭 해주세요
토큰 이름 입력 > 권한 범위에서 장치 관련 권한 체크 > 토큰 만들기를 눌러주세요
토큰 복사를 클릭합니다.
토큰은 다시 확인할 수 없으므로, 복사해서 저장해두는 것을 추천해드립니다.
이제 예제파일 (poweroff_1.py)를 열고
토큰을 수정해주세요 를 지우고 토큰 값을 입력해주세요
"" 따옴표 안에 복사한 값을 넣어주시면 됩니다.
2) 장치 ID 입력하기
https://my.smartthings.com/advanced/devices 에 접속하여, 장치 ID를 찾아서 복사해주세요
로그인 페이지가 나온다면 로그인을 해주세요.
마찬가지로 예제파일을 열고
NAS 장치 아이디로 수정해주세요를 지우고 복사한 장치 ID 값을 입력해주세요
"" 따옴표 안에 복사한 값을 넣어주시면 됩니다.
3) 시놀로지에 예제파일 업로드하여 작업스케줄러 만들기
이제 NAS에서 작업스케줄러를 만들어야합니다.
먼저 poweroff_1.py 파일을 NAS에 업로드해주세요.
업로드한 파일 선택 후 우클릭 > 속성에 들어가주세요
(위 사진과 파일명이 다른데 신경쓰지 않으셔도 됩니다)
위치 경로를 복사해주신 후 X 버튼으로 닫아주시면 됩니다.
(위 사진과 파일명이 다른데 신경쓰지 않으셔도 됩니다)
제어판 > 작업 스케줄러로 이동해주세요
제어판 > 작업스케줄러로 이동 후, 생성 > 예약된 작업> 사용자 정의 스크립트를 클릭해주세요
작업이름 입력 > 사용자 root로 변경 후, 스케줄로 이동해주세요
다음 일수 후 실행을 선택하고, 반복은 매일
시작 시간은 00:00
같은 날에 계속 실행 체크 > 몇 분 마다 반복할지 선택
마지막 실행 시간 23:30 선택해주시면 됩니다.
매 30분을 선택할 경우 30분 간격으로 스마트싱스 전원 상태를 체크하여 NAS전원을 끄는 동작을 하는 것이고,
매 5분을 선택할 경우 5분 마다 전원을 체크합니다.
작업 설정 탭으로 이동해서 아래 스크립트를 입력 후 확인을 눌러줍니다.
python /복사한 경로.py
이렇게 하면, 설정한 시간마다 NAS 상태를 확인하고 만약 SmartThings 스위치가 꺼져있다면
NAS 전원을 종료하는 작업을 수행하게 됩니다.
이로써.. NAS 전원과 SmartThings 전원 연동 방법 게시글을 마치도록 하겠습니다.
다음 게시글에서는, 아이폰 단축어를 통해 SmartThings 전원을 조작하여 NAS를 켜고 꺼보도록 하겠습니다.