Skip to content

SmartThings 연동

Protomothis edited this page Sep 15, 2026 · 2 revisions

SmartThings 쪽은 toddaustin07의 PCControl Edge 드라이버를 그대로 사용합니다. 이 서비스는 그 드라이버가 기대하는 HTTP 명령 형식(/{secret}/{command})과 응답을 그대로 구현하므로, Remote Shutdown Manager를 쓰고 있었다면 SmartThings에서는 아무것도 바꿀 필요가 없습니다. 이 페이지는 드라이버 설정, 명령 URL과 응답, WoL 준비를 정리합니다.

1. PCControl Edge 드라이버 설치

  1. 드라이버 저장소(PCControl)의 안내에 따라 채널을 구독하고 허브에 드라이버를 설치합니다.
  2. SmartThings 앱 → 기기 추가 → 스캔으로 PC 디바이스를 생성합니다.
  3. 디바이스의 설정에서 아래 값을 채웁니다 (항목 이름은 드라이버 버전에 따라 조금 다를 수 있습니다).
드라이버 설정 넣을 값 이 서비스에서 확인하는 곳
PC 주소 (IP:포트) 192.168.1.20:5001 — 이 PC의 LAN IP와 port 네트워크 탭의 IP, 설정 탭의 포트
시크릿(인증 키) 설정 탭 시크릿과 정확히 같은 값 설정 탭
WoL MAC 주소 켜기(Wake-on-LAN)에 쓸 유선 어댑터의 MAC 네트워크 탭의 MAC: (형식은 드라이버 안내에 맞춤)
모니터 주기 드라이버가 ping으로 PC 상태를 확인하는 간격 —

PC의 IP는 DHCP 고정 할당(라우터에서 MAC에 IP 예약)을 권장합니다. IP가 바뀌면 드라이버가 PC를 찾지 못합니다.

2. 명령 URL 형식

드라이버는 명령마다 HTTP 요청을 보냅니다.

http://<PC-IP>:5001/{secret}/{command}     시크릿이 설정된 경우
http://<PC-IP>:5001/{command}              시크릿이 비어 있는 경우 (권장하지 않음)
  • 메서드는 무엇이든 받습니다(GET/POST).
  • 명령 이름은 대소문자를 구분하지 않습니다.
  • 시크릿이 틀리면 401 Unauthorized, 명령이 없으면 400 Unknown command: …를 돌려주고 각각 보안 알림(잘못된 시크릿 요청 / 알 수 없는 명령)을 발생시킵니다.
  • 응답은 항상 즉시 200으로 돌아옵니다. 유예가 걸린 명령도 "Shutting down..."을 바로 응답하고 실행만 뒤로 미룹니다(드라이버 호환성).

브라우저나 curl로 직접 시험할 수 있습니다:

curl http://192.168.1.20:5001/mysecret/ping        → OK
curl http://192.168.1.20:5001/mysecret/lock        → Locking...

3. 지원 명령 (8개)

명령 동작 응답 본문 유예 적용 비고
ping 상태 확인만 OK – 알림·로그 기록 없음(요청 로그만), /status의 "마지막 원격 명령"에도 남지 않음
shutdown 종료 (shutdown /s /t 5) Shutting down... ✓
restart 재시작 (shutdown /r /t 5) Restarting... ✓
hibernate 최대 절전 (shutdown /h) Hibernating... ✓ Windows에서 최대 절전이 켜져 있어야 함(powercfg /h on)
suspend 절전(슬립) Suspending... ✓
forceshutdown 강제 즉시 종료 (shutdown /s /f /t 0) Force shutting down... – 유예 없이 항상 즉시. 저장 안 된 작업은 사라짐
lock 모든 활성 세션 잠금(세션 연결 끊기) Locking... –
turnscreenoff 모니터 끄기 Screen off... – 로그인된 사용자 세션이 있어야 동작. 로그인 화면·잠금 상태에서는 무시될 수 있음

"유예 적용" 명령은 설정 탭의 원격 명령 유예가 켜져 있으면(기본 5분) 지정 시간 뒤 실행되고, 그동안 토스트·트레이·예약 탭·텔레그램에서 취소할 수 있습니다. 자세한 내용은 원격 명령 유예와 예약.

4. ping 동작

  • 드라이버는 모니터 주기마다 ping을 보내 PC의 켜짐/꺼짐 상태를 판단합니다. 서비스가 응답하면 200 OK.
  • PC가 꺼져 있거나 절전이면 연결 자체가 실패하므로 드라이버는 "꺼짐"으로 표시합니다.
  • ping은 어떤 알림 카테고리에도 속하지 않아 텔레그램으로 절대 알리지 않고, 서비스 로그에는 Request: GET /ping from … 한 줄만 남습니다. 시크릿이 틀린 ping은 다른 명령과 같이 401과 보안 알림 대상입니다.

5. Wake-on-LAN 준비

PC가 꺼진 상태에서 켜는 것은 이 서비스가 아니라 드라이버가 보내는 매직 패킷이 합니다. 서비스는 준비 상태를 보여 줄 뿐이므로, 네트워크 탭에서 다음을 확인하세요.

네트워크 탭 — WoL 상태
표시 의미
✓ WoL 사용 가능 (켜진 어댑터 중 WoL 활성) 켜진 어댑터 중 하나 이상이 매직 패킷으로 깨우기 허용
✗ WoL 비활성 — 어댑터 전원 관리 설정을 확인하세요 어댑터 설정에서 꺼져 있거나 지원 안 함
어댑터 줄 … — 켜짐 / WoL 켜짐, MAC: … 드라이버에 넣을 MAC은 이 줄의 값

WoL이 비활성이면:

  1. 장치 관리자 → 네트워크 어댑터 → 속성 → 전원 관리: "이 장치를 사용하여 컴퓨터의 대기 모드를 종료할 수 있음"과 "매직 패킷에서만 컴퓨터의 대기 모드를 종료할 수 있음" 체크. 고급 탭의 "Wake on Magic Packet"도 사용으로.
  2. BIOS/UEFI: Wake on LAN / Power On by PCI-E 활성.
  3. 빠른 시작 끄기(제어판 → 전원 옵션 → 전원 단추 작동 설정): 빠른 시작이 켜져 있으면 종료 후 WoL이 동작하지 않는 보드가 많습니다.
  4. 유선 연결을 사용하세요. 대부분의 Wi-Fi 어댑터는 완전 종료 상태에서 WoL을 지원하지 않습니다.
  5. 변경 후 네트워크 탭 **[새로고침]**으로 다시 확인.

서비스가 부팅(또는 WoL 복귀)으로 시작되면 텔레그램에 "🟢 서비스 시작" 알림(버전·부팅 시각·외부 IP)이 옵니다 — 알림 카테고리와 조용한 시간대.

6. 점검 순서

  1. 앱 설정 탭이 "✓ 서비스 실행 중"인지.
  2. 같은 LAN의 다른 기기에서 http://<PC-IP>:5001/{secret}/ping이 OK인지 (안 되면 방화벽 5001 규칙 확인 — 설치와 첫 설정).
  3. SmartThings 디바이스의 IP·포트·시크릿이 위와 같은지.
  4. 로그 탭에 Request: GET /ping from <허브IP>:…가 보이는지. (UNAUTHORIZED)가 붙어 있으면 시크릿 불일치.

문제가 계속되면 문제 해결과 FAQ를 보세요.

Clone this wiki locally