1. Edge Bridge란? 언제 쓰나요?

SmartThings Edge Driver는 허브 안에서 Lua 코드로 실행되며 보안상 외부 인터넷에 직접 접근할 수 없습니다. Edge Bridge는 이 한계를 풀기 위한 패턴 — 같은 로컬 네트워크의 다른 기기(AEB)가 외부 HTTP 호출을 대신 처리해주는 구조입니다.

이런 드라이버에 적합합니다

2. EdgeBridge API 레퍼런스

AEB는 자체 HTTP 엔드포인트를 노출합니다. 같은 로컬 네트워크의 다른 서비스에서 직접 호출할 수도 있습니다.

toddaustin07/edgebridge 포팅
EdgeBridge API의 기본 동작·철학·엔드포인트 설계는 오픈소스 프로젝트 toddaustin07/edgebridge의 프로토콜을 그대로 포팅한 것입니다. 일반 동작 문서·예제는 원본 저장소를 참고하세요. AEB 고유 확장만 ★로 표시했습니다.
엔드포인트 메서드 역할
/api/forward?url=<target>ALL외부 클라우드(Tesla, OpenAI 등)에 HTTP 요청을 대신 전달. v1.0.3+: URL이 https://api.smartthings.com/이면 저장된 PAT(영구 토큰으로 표시된 경우)를 우선, 실패 시 ST OAuth access_token을 자동 주입 (toddaustin07 호환).
/api/registerPOST / DELETEEdge Driver 디바이스 등록 / 해제
/api/pingPOST★ 헬스체크 — battery / bridgeDevice / bridgeVersion / serverStartTime 응답 (AEB 확장)
/api/llmPOST★ LLM 직접 호출 — 자동화가 아닌 외부 통합에서 사용 (AEB 확장). v1.0.3+: 항상 API 모드로 실행 — destructive 도구(삭제·규칙 변경) 차단 + 되묻기 금지 system prompt 자동 적용.
/api/redirectPOST / DELETE / GET★ Redirect 매핑 — path를 외부 target URL로 영속 매핑(POST), 해제(DELETE), 목록 조회(GET). 등록된 path로 들어온 요청을 자동 프록시 (AEB 확장)
/api/callbackPOST / DELETE / GET★ 비동기 콜백 저장소 — name 키로 임의 값 저장(POST), 삭제(DELETE), 전체 목록(GET), 단건 조회(GET /{name}). OAuth 콜백 등 비동기 흐름에서 Edge Driver가 결과를 받아갈 때 사용 (AEB 확장)
/* (catch-all)ALLInbound 요청을 SmartThings 허브 쪽으로 포워딩

★ = AEB 고유 확장. 그 외는 toddaustin07/edgebridge 원본과 동일합니다.

앱 안에서 보기

AEB 앱의 Info 탭 → API 가이드 다이얼로그에서 현재 IP/Port가 자동으로 채워진 예시 URL을 확인할 수 있습니다.

/api/llm 모드 동작 (v1.0.3+)

v1.0.3부터 LLM 호출 경로가 두 모드로 분기됩니다. HTTP /api/llm 호출은 항상 API 모드(자동), 앱 채팅은 토글로 CHAT/API를 전환할 수 있습니다.

3. EdgeBridgeBase — 빠르게 시작하기

Edge Bridge 패턴을 사용하는 새 Edge Driver를 만들 때 가장 빠른 출발점입니다. 공개 ST Edge 샘플 템플릿 저장소로, mDNS 탐색 → AEB ping → 외부 API 포워딩 → 콜백 수신까지의 통신 패턴이 통째로 들어 있습니다. fork 후 자기 드라이버 코드만 얹으면 됩니다.

EdgeBridgeBase (참고 저장소)

저자: WooBooung · 라이선스: 저장소 LICENSE 참고. 채널/허브 배포 예시도 README에 정리되어 있습니다.

GitHub에서 보기