AEB 앱을 처음 실행한 직후부터 채팅을 띄우기까지의 전체 흐름입니다. 4단계로 끝납니다. 마지막 5번에서는 메인 폰에서 끝낸 세팅을 항상 켜두는 기기로 한 번에 옮기는 방법을 소개합니다.
안정적으로 24시간 돌리려면 몇 가지만 신경쓰면 됩니다.
AEB → SmartThings 호출은 OAuth 토큰을 사용합니다. v1.1.3 부터는 PAT 없이도 "SmartThings 연결" 한 번 누르면 로그인 페이지가 자동으로 열려 토큰을 발급받습니다. 영구 PAT 를 가진 파워유저는 입력란에 붙여넣어 OAuth 단계를 건너뛸 수 있습니다.
🔑 영구 PAT 가 있을 때만 입력 — 2024-12-30 이후 SmartThings 가 발급하는 일반 PAT 는 24h 만료라 영구 PAT 가 아니면 입력하지 마세요. 영구 PAT 가 없으면 그냥 "SmartThings 연결" 버튼만 누르면 됩니다.
Gemini, Claude, OpenAI 중 사용할 공급자의 API 키를 발급받아 AEB에 입력합니다. 키는 단말의 AndroidKeyStore로 AES-256-GCM 암호화되어 보관됩니다.
aistudio.google.com 에서 API 키 발급 → AEB Agent 탭의 Gemini 키 입력란에 붙여넣기. 무료 할당량으로 즉시 시작 가능합니다.
console.anthropic.com 에서 API 키 발급 → AEB Agent 탭의 Claude 키 입력란에 붙여넣기. (사용량만큼 결제)
platform.openai.com/api-keys 에서 발급 → AEB Agent 탭의 OpenAI 키 입력란에 붙여넣기. (사용량만큼 결제)
키 하나만 입력해도 동작합니다. 여러 공급자 키를 입력하면 사용 시점에 선택할 수 있습니다.
위에서 입력한 LLM API 키를 사용하다 보면 429 (Too Many Requests) 에러를 만날 수 있습니다. 시스템 고장이 아니라 API 제공사가 정해둔 분당 사용량 제한에 걸렸다는 신호이며, 보통 잠시 기다리시면 다시 정상 작동합니다.
‘요청 횟수’ 제한 — 1분 동안 AI에게 몇 번 질문을 전송했는지.
🍱 비유: 식당 카운터에 1분 동안 몇 번 방문했는가?
센서·기기 상태가 동시에 여러 개 변하면서 순식간에 AI에게 10번, 20번 연속으로 말을 걸 때 주로 발생합니다.
‘토큰(글자) 수’ 제한 — 1분 동안 AI와 주고받은 데이터 총량. AI는 글자를 ‘토큰’ 단위로 쪼개서 읽습니다.
🍱 비유: 방문 횟수는 1번이지만, 한 번에 100인분(엄청난 양)을 주문했는가?
질문 횟수 자체는 적더라도, 한 번의 질문 안에 많은 텍스트가 포함되어 있을 때 발생합니다.
입력한 LLM과 자연어로 대화하면서 SmartThings MCP 도구를 자율적으로 호출시켜 봅니다.
Provider 스피너에서 Claude / OpenAI / Gemini 중 선택. API 키가 입력된 공급자만 활성화됩니다.
Model 스피너가 공급자에 맞춰 자동으로 갱신됩니다.
예: "거실 불 꺼줘", "지금 집에 누가 있어?", "에어컨 26도로 맞춰줘" 처럼 자연어로 입력.
Send를 누르면 LLM이 SmartThings MCP 도구(devices, scenes, rules 등)를 자동으로 호출하며 결과를 한 번에 반환합니다. 도구 호출 trace는 응답 아래에 펼쳐집니다.
v1.0.3부터 LLM 호출 환경을 두 가지로 구분합니다. 누가 호출하느냐(사람 vs Edge Driver / 외부 HTTP 호출)에 따라 동작 룰이 달라요.
Devices-Delete, Devices-Update, Rules-Create / Update / Delete/api/llm과 동일한 룰로 동작합니다. Edge Driver를 직접 실행해보지 않아도, 실제 Edge Driver/외부 HTTP 호출이 들어왔을 때 어떤 응답을 받게 될지 같은 환경에서 테스트할 수 있어요.기기(Edge Driver)가 자기 능력·예시를 직접 LLM 에게 알려주는 aeb.skill capability 를 system prompt 에 자동 주입할지 여부를 끄고 켤 수 있는 토글입니다. 켜면 매칭 정확도 ↑, 끄면 첫 턴 입력 토큰 절약. 기본 ON.
드로어 → 설정 → LLM 동작 섹션 → "Skill 사용" 체크박스.
SmartThings 표준 device category(조명/스위치/센서/공조/보안/가전/청소/미디어/에너지/환경 등) 와 한국어 키워드 매핑 가이드가 skill reference 에 추가되어 "거실 조명", "TV 음소거", "센서 상태" 같은 자연어 명령 매칭 정확도가 높아졌습니다.
📋 요청 구성 — system ~Nt · tools N개 (~Nt) 한 줄로 토글 ON/OFF 시 입력 토큰량 차이를 즉시 비교할 수 있어요. 🤖 N회 응답 줄의 캐시 적중량까지 보면 multi-turn 누적 효과도 가늠 가능.LLM이 질문에 답하기 위해 DuckDuckGo로 웹을 검색하는 기능입니다. API 키 없이 사용할 수 있습니다.
드로어 → 설정 → LLM 동작 섹션 → "웹 검색 RAG 사용 (DuckDuckGo)" 체크박스. v1.0.6부터 기본값 ON.
DuckDuckGo 비공식 HTML 스크래핑 방식입니다. 간헐적으로 결과가 없을 수 있으며, DuckDuckGo 정책 변경 시 파싱이 깨질 수 있습니다. 공식 Search API가 아니므로 안정성 보장은 없습니다.
드로어 → Edge Drivers 진입점이 새로 생겼습니다. SmartThings Hub 의 Edge Driver 들을 실시간 로그로 보고, 채널 등록되어 있다면 강제 업데이트할 수 있습니다.
첫 연결 시 hub 의 자체 서명 인증서를 한 번만 신뢰 (TOFU). 이후 fingerprint 변경 시 재확인 다이얼로그가 뜹니다. 사설 IP(192.168.*, 10.*, 172.16~31.*) 에만 허용되며 공인 도메인엔 절대 통과되지 않습니다.
메인 폰에서 PAT·OAuth·LLM 키까지 다 세팅했다면, 항상 켜두는 안드로이드 TV나 안 쓰는 폰으로 버튼 한 번에 통째로 옮길 수 있습니다. v1.1.0부터 기존 "Config Sync (공유)"가 명시적 서버 핸드오버로 변경되어 한 번에 한 기기만 서버를 운영하는 구조가 명확해졌습니다.
두 기기가 같은 네트워크(같은 SSID·같은 서브넷)에 연결돼 있어야 합니다. mDNS로 자동 탐색하기 때문에 IP 입력은 필요 없습니다. A에서도 AEB가 실행돼 서버가 켜져 있어야 목록에 잡힙니다.
B의 Agent 탭을 내려보면 [다른 AEB로 이전] 카드가 있습니다. 버튼을 누르면 같은 네트워크에서 받을 수 있는 AEB 기기 목록이 자동으로 표시됩니다.
목록에서 A를 선택하고 [이전] 버튼을 누르면 끝입니다. PAT·OAuth 토큰·LLM 키가 ECDH+AES-GCM으로 암호화돼 A로 전송되고, A는 즉시 같은 세팅으로 동작합니다.
PAT·OAuth·LLM 키·ST 토큰 같은 자격 증명 일체를 암호화된 한 개 파일로 내보내고, 같은 기기 또는 다른 AEB에서 동일하게 복원할 수 있습니다. 같은 LAN에 묶여 있을 필요가 없고, 앱을 지웠다 다시 깔아도 복원됩니다 — Config Sync(다른 AEB로 이전)와 보완 관계인 백업 채널이에요.
AEB 설정 탭을 내려보면 "백업 / 복원" 카드가 있습니다. [내보내기]를 누르세요.
백업 파일을 보호할 암호를 정합니다. 이 암호 없이는 누구도 (저희도) 파일을 복호화할 수 없으므로 잃어버리지 않게 보관하세요. 6자 이상을 권장합니다. 두 번째 입력칸은 오타 방지를 위한 확인용입니다.
Android 시스템 파일 저장 화면이 뜹니다. 내장 저장소·Google Drive·SD카드 등 원하는 곳에 저장. 기본 파일명은 aeb-backup-YYYYMMDD-HHmmss.json 입니다.
"백업 파일이 저장됐습니다" 토스트가 뜨면 끝. 현재 기기의 SmartThings 연결과 키는 변동 없이 그대로입니다 — 단순 백업이라 Config Sync처럼 송신 직후 ST 연결이 자동 해제되지 않아요.
설정 탭의 "백업 / 복원" 카드에서 [가져오기]를 누릅니다.
파일 선택 화면에서 이전에 내보낸 aeb-backup-*.json 파일을 고릅니다. Google Drive에 저장한 경우에도 그대로 선택 가능.
백업 만들 때 정한 그 암호를 입력합니다. 잘못 입력하면 "암호가 잘못되었거나 파일이 손상되었습니다" 안내가 뜨고 아무 변경도 적용되지 않아요.
PAT·OAuth·LLM 키·ST 토큰·웹 검색 설정이 일괄 복원되고 화면이 자동 새로고침됩니다. ST 연결 상태도 즉시 반영됩니다.
AEB는 한 번 [서버 시작]을 누르면 알아서 24시간 도는 게 기본입니다. 폰을 껐다 켜거나, Wi-Fi가 잠깐 끊기거나, 앱이 잠시 죽었다 살아나도 자동으로 복구돼요. 반대로 사용자가 의도적으로 멈췄거나 안전을 위해 멈춘 경우는 자동으로 다시 켜지지 않습니다.
의도적 종료 / 안전 종료로 간주합니다. 다시 시작하려면 직접 [서버 시작]을 눌러주세요.
[서버 시작]을 누르거나 자동 시작이 시도될 때 아래 조건이면 시작이 거부되고 안내가 표시됩니다.
예기치 않게 앱이 종료된 적이 있다면, 마지막 crash 로그를 한 번에 확인하고 그대로 복사해 리포트할 수 있습니다.
화면 좌측 상단 ☰ 햄버거를 열고 "정보" 항목을 누릅니다. (v1.0.3 이전: 서버 탭 상단의 ⓘ 아이콘)
crash 카드가 보이면 펼쳐서 발생 시각, 스택 트레이스를 확인합니다. 카드가 안 보이면 직전에 crash가 없었다는 뜻이니 안심하셔도 됩니다.
카드의 복사 버튼을 눌러 내용을 클립보드에 담은 뒤, 두더싱(스마트싱스 네이버 카페, 비공식)에 그대로 붙여넣어 주시면 빠르게 원인 파악이 가능합니다. AEB 버전·기기 모델·재현 절차를 함께 적어주시면 더 좋습니다.