-
Notifications
You must be signed in to change notification settings - Fork 0
SmartThings 연동
Protomothis edited this page Sep 15, 2026
·
2 revisions
SmartThings 쪽은 toddaustin07의 PCControl Edge 드라이버를 그대로 사용합니다. 이 서비스는 그 드라이버가 기대하는 HTTP 명령 형식(/{secret}/{command})과 응답을 그대로 구현하므로, Remote Shutdown Manager를 쓰고 있었다면 SmartThings에서는 아무것도 바꿀 필요가 없습니다. 이 페이지는 드라이버 설정, 명령 URL과 응답, WoL 준비를 정리합니다.
- 드라이버 저장소(PCControl)의 안내에 따라 채널을 구독하고 허브에 드라이버를 설치합니다.
- SmartThings 앱 → 기기 추가 → 스캔으로 PC 디바이스를 생성합니다.
- 디바이스의 설정에서 아래 값을 채웁니다 (항목 이름은 드라이버 버전에 따라 조금 다를 수 있습니다).
| 드라이버 설정 | 넣을 값 | 이 서비스에서 확인하는 곳 |
|---|---|---|
| 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를 찾지 못합니다.
드라이버는 명령마다 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...
| 명령 | 동작 | 응답 본문 | 유예 적용 | 비고 |
|---|---|---|---|---|
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분) 지정 시간 뒤 실행되고, 그동안 토스트·트레이·예약 탭·텔레그램에서 취소할 수 있습니다. 자세한 내용은 원격 명령 유예와 예약.
- 드라이버는 모니터 주기마다
ping을 보내 PC의 켜짐/꺼짐 상태를 판단합니다. 서비스가 응답하면 200OK. - PC가 꺼져 있거나 절전이면 연결 자체가 실패하므로 드라이버는 "꺼짐"으로 표시합니다.
-
ping은 어떤 알림 카테고리에도 속하지 않아 텔레그램으로 절대 알리지 않고, 서비스 로그에는Request: GET /ping from …한 줄만 남습니다. 시크릿이 틀린ping은 다른 명령과 같이 401과 보안 알림 대상입니다.
PC가 꺼진 상태에서 켜는 것은 이 서비스가 아니라 드라이버가 보내는 매직 패킷이 합니다. 서비스는 준비 상태를 보여 줄 뿐이므로, 네트워크 탭에서 다음을 확인하세요.
| 표시 | 의미 |
|---|---|
| ✓ WoL 사용 가능 (켜진 어댑터 중 WoL 활성) | 켜진 어댑터 중 하나 이상이 매직 패킷으로 깨우기 허용 |
| ✗ WoL 비활성 — 어댑터 전원 관리 설정을 확인하세요 | 어댑터 설정에서 꺼져 있거나 지원 안 함 |
어댑터 줄 … — 켜짐 / WoL 켜짐, MAC: …
|
드라이버에 넣을 MAC은 이 줄의 값 |
WoL이 비활성이면:
- 장치 관리자 → 네트워크 어댑터 → 속성 → 전원 관리: "이 장치를 사용하여 컴퓨터의 대기 모드를 종료할 수 있음"과 "매직 패킷에서만 컴퓨터의 대기 모드를 종료할 수 있음" 체크. 고급 탭의 "Wake on Magic Packet"도 사용으로.
- BIOS/UEFI: Wake on LAN / Power On by PCI-E 활성.
- 빠른 시작 끄기(제어판 → 전원 옵션 → 전원 단추 작동 설정): 빠른 시작이 켜져 있으면 종료 후 WoL이 동작하지 않는 보드가 많습니다.
- 유선 연결을 사용하세요. 대부분의 Wi-Fi 어댑터는 완전 종료 상태에서 WoL을 지원하지 않습니다.
- 변경 후 네트워크 탭 **[새로고침]**으로 다시 확인.
서비스가 부팅(또는 WoL 복귀)으로 시작되면 텔레그램에 "🟢 서비스 시작" 알림(버전·부팅 시각·외부 IP)이 옵니다 — 알림 카테고리와 조용한 시간대.
- 앱 설정 탭이 "✓ 서비스 실행 중"인지.
- 같은 LAN의 다른 기기에서
http://<PC-IP>:5001/{secret}/ping이OK인지 (안 되면 방화벽 5001 규칙 확인 — 설치와 첫 설정). - SmartThings 디바이스의 IP·포트·시크릿이 위와 같은지.
- 로그 탭에
Request: GET /ping from <허브IP>:…가 보이는지.(UNAUTHORIZED)가 붙어 있으면 시크릿 불일치.
문제가 계속되면 문제 해결과 FAQ를 보세요.