3줄 요약
- 대상: 카페24 롯데택배 ALPS 자동화 가이드: Home Assistant로 업무 흐름 단순화하기 내용을 빠르게 파악하려는 독자
- 핵심: 설치·설정·운영 포인트를 핵심 단계 중심으로 정리
- 결과: 재현 가능한 절차와 점검 기준으로 시행착오를 줄임
트러블슈팅
- 증상이 나오면 로그·버전·포트/권한·네트워크 순서로 확인합니다.
- 설정 반영이 안 되면 서비스 재시작/캐시 비우기 후 다시 검증합니다.
결론 + 다음 단계
핵심 절차를 먼저 완료하고, 운영 단계에서는 백업·모니터링·기본 보안 설정을 함께 적용하세요.
3줄 요약
- 대상: 카페24 롯데택배 ALPS 자동화 가이드: Home Assistant로 업무 흐름 단순화하기 내용을 빠르게 파악하려는 독자
- 핵심: 설치·설정·운영 포인트를 핵심 단계 중심으로 정리
- 결과: 재현 가능한 절차와 점검 기준으로 시행착오를 줄임
트러블슈팅
- 증상이 나오면 로그·버전·포트/권한·네트워크 순서로 확인합니다.
- 설정 반영이 안 되면 서비스 재시작/캐시 비우기 후 다시 검증합니다.
결론 + 다음 단계
핵심 절차를 먼저 완료하고, 운영 단계에서는 백업·모니터링·기본 보안 설정을 함께 적용하세요.
요약: 이 글은 “카페24 롯데택배 ALPS 자동화 가이드: Home Assistant로 업무 흐름 단순화하기” 주제의 핵심 개념과 실제 적용 절차를 빠르게 정리합니다.
트러블슈팅: 트러블슈팅: 설정이 적용되지 않거나 접속/권한 오류가 나면 “로그 확인 → 네트워크/포트 → 권한/경로” 순서로 점검하세요.
결론/다음 단계: 결론/다음 단계: 동작 확인 후 운영 루틴(백업·업데이트·모니터링)을 추가하고, 관련 가이드도 함께 적용해 완성도를 올리세요.
함께 보면 좋은 글
이 글은 카페24에서 롯데택배 ALPS 업무 흐름을 Home Assistant로 자동화해, 반복 작업을 줄이고 실수를 줄이는 방법을 정리한다. 핵심은 ‘기능 구현’보다 업무 단계(입력/조회/알림)를 끊기지 않게 연결하고, 장애 시에도 수동으로 복구 가능한 구조를 만드는 것이다.
이 글의 목표(성공 기준)
- ALPS 작업에서 반복되는 입력/조회/알림 단계가 자동화된다.
- Home Assistant에서 트리거(시간/이벤트) → 처리 → 알림이 안정적으로 동작한다.
- 문제 발생 시(로그인/인증/페이지 변경) 대응 순서가 정리되어 있다.
🤖 “이런 게 있으면 좋지 않을까?” 제미나이와 협업의 시작
오늘은 카페24 롯데 택배 ALPS 자동화한 이야기를 해보려고 한다. 나와 아내는 온라인 쇼핑몰을 운영하고 있는데 택배를 준비할 매일 오후가 되면 카페24 쇼핑몰 관리자 페이지와 롯데 택배 파트너 시스템인 ALPS 사이를 수십 번 오가는 일상이 반복되었다. 카페24에서 롯데 택배로 주문정보 넘기기를 눌러도 완전히 넘어갈 때까지 꽤 긴 시간이 걸리기 때문이다. 주문 데이터가 택배사로 제대로 넘어갔는지 확인하기 위해 새로고침 버튼을 누르는 내 손가락은 이미 감각을 잃어가고 있었다. 송장 기다리다가 송장이 될 것 같았다. 문득 “이런 단순 반복 업무를 나 대신 해주는 비서가 있으면 정말 좋지 않을까?”라는 생각이 머리를 스쳤다.
망설임 없이 구글 제미나이(Gemini)에게 “롯데 택배 ALPS 사이트에서 송장을 감시하고 프린터를 켜는 자동화를 어떻게 만들어?”라고 물었다. 제미나이는 기다렸다는 듯이 셀레니움과 홈어시스턴트를 조합한 청사진을 제시해 주었다. AI가 제안한 논리적인 구조를 보고 나니 막막했던 자동화가 실현 가능한 과제로 다가왔고, 내 손가락 관절의 수명을 10년 연장하기 위한 프로젝트가 시작되었다.
🚀 전체 자동화 시스템 플로우 한눈에 보기
이 시스템은 내가 직접 사이트를 클릭하는 대신, AI와 홈어시스턴트가 서로 신호를 주고받으며 작동한다. 전체적인 흐름을 도식화하면 다음과 같다.
- 명령 전달: 홈어시스턴트(HA) 대시보드에서 버튼을 누르면 HASS.Agent에 실행 명령이 전달된다.
- 스크립트 실행: HASS.Agent가 윈도우 PC에서 파이썬 셀레니움 스크립트를 백그라운드에서 실행한다.
- 무한 감시: 파이썬 스크립트가 ALPS에 로그인하여 송장이 뜰 때까지 1분 간격으로 무한 조회를 반복한다.
- 웹훅 발송: 송장 정보가 확인되는 즉시, 스크립트가 웹훅(Webhook) 신호를 홈어시스턴트에 쏜다.
- 기기 제어: 신호를 받은 HA가 라벨 프린터를 켜고 내 폰으로 푸시 알림을 보낸다.
- 업무 완료: 나는 알림을 보고 PC 앞에 앉아 이미 켜져 있는 프린터의 출력 버튼만 누르면 끝! 롯데 택배 ALPS 자동화 완성!
🛠️ Step 1: 파이썬 및 셀레니움 환경 세팅
가장 먼저 필요한 것은 모든 자동화의 근간이 되는 파이썬(Python)이었다. 윈도우 환경에 맞게 설치하고, 웹 브라우저를 내 손과 발처럼 움직여줄 셀레니움(Selenium) 라이브러리를 설치했다.
- 파이썬 공식 다운로드: https://www.python.org/downloads/ (설치 시 ‘Add Python to PATH’ 옵션 체크 필수!)
터미널을 열고 아래 명령어를 입력하여 필요한 패키지들을 한 번에 갖추었다.
Bash
pip install selenium webdriver-manager requests
📝 Step 2: 제미나이와 사투 끝에 완성한 전체 코드
나는 코딩을 할 줄 모르지만 걱정은 없었다. Gemini가 코드를 짜주면 나는 실행하고 다시 로그를 던지는 무한루프를 돌면 된다. 이 과정이 수없이 반복되었다. ALPS 시스템은 수많은 iframe(아이프레임)으로 쪼개져 있어 셀레니움이 버튼을 찾는 데 꽤 애를 먹었다. 이렇듯 롯데 택배 ALPS 자동화는 생각보다 쉽지는 않았다. 나는 에러 로그를 제미나이에게 던졌고, 제미나이는 “프레임을 전수 조사하자”는 천재적인 답변을 내놓았다. 이렇게 수차례의 디버깅 끝에 완성된 최종 코드는 다음과 같다. 이 코드를 C:\scripts\lotte_auto.py 경로에 저장했다.
Python
import time
import requests
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from webdriver_manager.chrome import ChromeDriverManager
# --- [사용자 설정 부분] ---
ALPS_ID = "본인의_아이디"
ALPS_PW = "본인의_비밀번호"
HA_SUCCESS_WEBHOOK = "http://HA_IP:8123/api/webhook/lotte_delivery_update"
HA_FAIL_WEBHOOK = "http://HA_IP:8123/api/webhook/lotte_delivery_timeout"
MAX_ATTEMPTS = 60 # 약 1시간 감시
# -----------------------
def run_lotte_automation():
chrome_options = webdriver.ChromeOptions()
chrome_options.add_experimental_option("detach", True)
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service, options=chrome_options)
wait = WebDriverWait(driver, 20)
actions = ActionChains(driver)
try:
driver.get("https://partner.alps.llogis.com/main/pages/sec/authentication")
driver.maximize_window()
time.sleep(5)
inputs = driver.find_elements(By.TAG_NAME, "input")
inputs[0].send_keys(ALPS_ID)
inputs[1].send_keys(ALPS_PW)
inputs[1].send_keys(Keys.ENTER)
print("로그인 완료, 메인 화면 진입 중...")
time.sleep(12)
jibea_tab = wait.until(EC.element_to_be_clickable((By.XPATH, "//span[text()='집배달'] | //li[contains(., '집배달')]")))
actions.move_to_element(jibea_tab).click().perform()
time.sleep(3)
target_menu = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[contains(text(), '통합관리 운송장출력')]")))
actions.move_to_element(target_menu).click().perform()
print("운송장출력 페이지 로딩 대기...")
time.sleep(15)
attempts = 0
success = False
while attempts < MAX_ATTEMPTS:
attempts += 1
print(f"[{attempts}/{MAX_ATTEMPTS}] 데이터 감시 중...")
found_and_clicked = False
driver.switch_to.default_content()
iframes = driver.find_elements(By.TAG_NAME, "iframe")
# 제미나이의 신의 한 수: iframe 전수 조사 로직
for i in range(len(iframes)):
try:
driver.switch_to.default_content()
driver.switch_to.frame(i)
search_btns = driver.find_elements(By.XPATH, "//button[contains(., '조회')] | //a[contains(., '조회')] | //span[text()='조회']")
if search_btns:
for btn in search_btns:
if btn.is_displayed():
driver.execute_script("arguments[0].click();", btn)
found_and_clicked = True
break
if found_and_clicked: break
except: continue
if found_and_clicked:
time.sleep(10)
page_text = driver.find_element(By.TAG_NAME, "body").text
if "조회된 데이터가 없습니다" not in page_text and len(page_text.strip()) > 500:
print(">>> [성공] 송장 감지! 웹훅 발송")
requests.post(HA_SUCCESS_WEBHOOK, timeout=5)
success = True
break
else:
print(f"데이터 없음. 1분 후 다시 확인.")
time.sleep(60)
else:
time.sleep(5)
if success:
print("성공! 1시간 후 브라우저가 자동 종료됩니다.")
time.sleep(3600)
else:
print("감시 시간 종료.")
requests.post(HA_FAIL_WEBHOOK, timeout=5)
except Exception as e:
print(f"오류 발생: {e}")
finally:
driver.quit()
if __name__ == "__main__":
run_lotte_automation()
🏠 Step 3: 지휘 본부, 홈어시스턴트(HA) 설치
파이썬 스크립트가 신호를 보내면 그 신호를 받아 하드웨어를 제어할 ‘지휘 본부’가 필요하다. 여기서 **홈어시스턴트(Home Assistant)**가 등판한다. 홈어시스턴트는 집안의 모든 기기를 하나로 묶어주는 스마트홈 허브다.
- 홈어시스턴트 다운로드: https://www.home-assistant.io/installation/
- 상세 설치 가이드 (추천): 내 이전 포스팅 – Proxmox에 HAOS 설치하기
HAOS(Home Assistant Operating System) 방식으로 설치하는 것이 가장 안정적이며, 설치 후에는 자신의 스마트 플러그(라벨 프린터용)를 HA에 연동해두어야 한다. 심지어 모바일앱도 있어서 알림도 폰으로 수신할 수 있다.
🔌 Step 4: HASS.Agent로 윈도우와 HA 연결하기
HA는 리눅스 기반이고 내 파이썬 스크립트는 윈도우 PC에 있다. 이 둘을 이어주는 ‘전령사’가 바로 HASS.Agent다. HASS Agent를 윈도우에 깔아두면 어디서든 내 손안에 있는 HA 앱으로 사무실 윈도우 PC에 있는 스크립트를 실행할 수 있다.
- 다운로드 및 설치: HASS.Agent GitHub에서
Setup.msi를 받아 설치한다. - 연동 설정: 실행 후 HA의 IP 주소와 ‘장기 실행 액세스 토큰(Long-lived Access Token)’을 입력해 연결한다.
- 명령어 등록:
Commands메뉴 ->Add New클릭.- Name:
Lotte_Auto_Script - Type:
LocalCommand - Command:
python C:\scripts\lotte_auto.py(또는 파이썬 전체 경로 입력)
- Name:
- 확인: 이제 HA의 기기 목록에 이 명령어가 버튼 엔티티로 나타난다.
⚙️ Step 5: 최종 자동화 YAML 설정
이제 모든 준비가 끝났다. 드디어 롯데 택배 ALPS 자동화의 끝을 볼 때가 왔다. HA의 automations.yaml에 아래 코드를 추가하여 송장 발견 시 프린터를 켜도록 설정했다.
YAML
# 송장 감지 성공 시 프린터 켜기
- alias: "롯데 택배 송장 감지 성공"
trigger:
- platform: webhook
webhook_id: lotte_delivery_update
action:
- service: switch.turn_on
target:
entity_id: switch.label_printer_plug # 내 프린터 플러그 엔티티 ID
- service: notify.mobile_app_my_phone # 내 스마트폰 알림
data:
title: "롯데 택배"
message: "송장이 떴습니다! 프린터를 켰으니 출력하세요."
🏁 마무리하며: 내가 찾은 업무의 여유
모든 설정을 마치고 첫 가동에 성공했을 때, 적막한 사무실에서 지잉 소리를 내며 프린터가 켜지는 순간의 감동은 잊을 수 없다. 제미나이에게 “이거 어떻게 만들어?”라고 툭 던진 질문 하나가 내 하루의 30분을 벌어다 주었다. 이제 나는 송장이 나왔나 사이트를 째려보는 대신, 여유롭게 커피 한 잔을 마시며 알림이 오기만을 기다린다.
물론 롯데 택배 ALPS 자동화 사이트 구조가 바뀌면 제미나이와 또 한 번 사투를 벌여야겠지만, AI와 함께라면 그마저도 든든한 파트너와 함께하는 모험처럼 느껴진다. 최종적인 시스템 사양이나 운영 정책은 항상 공식 채널을 통해 마지막으로 확인하는 습관을 들이며, 오늘도 나는 스마트한 ‘퇴근 호소인’의 길을 걷는다.