# 홈 자동화 이전: MajorDoMo에서 osysHome으로 다운타임 없이 전환
8년 동안 MajorDoMo를 주요 홈 자동화 플랫폼으로 운영한 후, 저자는 유지보수 복잡도가 치솟는 벽에 부딪혔습니다. 스크립트 하나 수정하는 데도 연쇄적인 검사가 필요해 일상 작업이 저녁 내내 이어지는 마라톤으로 변했습니다. 맞춤 제작 osysHome으로 전환한 것은 시스템 관리 시 인지 부하를 대폭 줄이기 위한 불가피한 선택이었습니다. 이 글에서는 단계별 무중단 이전 계획, 주요 함정, 그리고 대규모 자동화 환경에 적용할 수 있는 팁을 자세히 설명합니다.
MajorDoMo가 한계를 드러낸 이유
테스트베드에서 시작해 8년 만에 미션 크리티컬 인프라로 진화한 시스템이었습니다. 물리적 센서부터 가상 엔티티, 유틸리티 로직까지 객체 수가 200개에 달했습니다. 핵심 문제는 체계적인 것이었습니다:
- 자동화 응답 속도 저하 — 백그라운드 프로세스가 자원을 놓고 경쟁하기 시작
- 데이터 분산 — 객체 간 연결 추적이 어려움
- 불투명한 권한 관리 — 새 스크립트마다 수동 권한 설정 필요
- 취약한 스크립트 — 수정 시 의존성 검증 필수
결정타는 '작은 수정' 함정: 10분 작업이 루틴하게 몇 시간 디버깅으로 번졌습니다. 이 규모 시스템에서는 유지보수 고통이 신기능 추가를 압도했습니다.
병렬 실행 전략
가장 큰 이전 실수? '빅 스위치' 시도입니다. 대신 단계적 인수인계를 통해 모든 단계에서 시스템을 가동 상태로 유지했습니다:
- 격리된 osysHome 런칭 — 동일 하드웨어(SOYO M4 AIR N95 16GB+512GB on Ubuntu Server 25.10)에 MajorDoMo와 병행 설치
- 통합 검증 — MQTT, Zigbee2MQTT, ESPHome을 통한 디바이스 제어 실전 테스트
- 객체 모델 재구축 — 복사 대신 장기 유지보수를 위한 재조직
- 자동화 복제 — 새 로직은 동작 확인 후에만 라이브 전환
이로써 완전 장애 위험을 제거했습니다. 문제 발견 시 시스템이 자동으로 MajorDoMo로 폴백해 야간 소방 훈련을 피할 수 있었습니다.
디바이스 이전 팁
디바이스를 물리적 위치가 아닌 기능 그룹으로 이동했습니다. 이로 정신적 부하가 줄고 문제 해결이 빨라졌습니다:
- 1단계: 핵심 인프라 (MQTT 브로커, Zigbee 게이트웨이)
- 2단계: 디바이스 유형별 (조명, 온도 조절, 보안)
- 3단계: 복잡한 에코시스템 (Xiaomi 진공청소기, 샹들리에, 가습기)
Xiaomi 디바이스는 골칫거리였습니다—API 특이 행동으로 이전 시간의 30%를 잡아먹었습니다. 간단해 보이던 애완동물 급수기도 비동기 알림 때문에 이틀 저녁을 쏟았습니다.
이전 과정의 예상치 못한 이득
이전 과정에서 구닥다리 부분을 리팩토링했습니다. 이동과 함께:
- Tasmota 릴레이를 통합 인터페이스의 ESPHome으로 교체
- 온도 센서 데이터를 위한 Bluetooth 게이트웨이 추가
- Modbus 미터 어댑터를 네이티브 지원으로 변환
- MAX7219를 통한 스크롤링 티커 디스플레이 간소화
단순 포팅보다 나았습니다. 이전 중 기술 부채 청산으로 장기 지원 비용이 줄었고, 단기 노력은 약간 늘었을 뿐입니다.
전환 후 변화
개인 지표상 운영 비용이 급감했습니다:
- 수정 시간 대폭 단축 — 표준 스크립트 2시간에서 15분으로
- 권한 관리 간소화 — 수동 조정 대신 중앙화된 권한 관리
- 안정성 향상 — 깔끔한 객체 모델로 거짓 트리거 사라짐
다만 osysHome에도 한계가 있습니다. 초보자는 즉시 사용 가능한 스크립트 없어 고생합니다. 문서가 코드베이스에 뒤처지고, 일부 기능(ThinQ 통합 등)은 수동 설정이 필요합니다. 저자에게는 정신적 부하 감소로 이득이 큽니다.
핵심 교훈
- 병렬 실행은 무중단 시스템에서 필수
- 기능 그룹화로 물리적 배치보다 2~3배 빠른 디버깅
- 이전은 레거시 컴포넌트 리팩토링 최적 타이밍
- 5년 이상 시스템은 기능보다 유지보수성 우선
- Xiaomi 디바이스는 API 특성으로 30% 추가 시간 예산
전환에 2주(저녁 2~3시간) 걸렸습니다. 큰 수확: 스크립트 수정 공포증 사라짐. 안정된 MajorDoMo 환경이라면 필요 없지만, 복잡도가 커지면 점진적 전환이 가치 있습니다. 주된 교훈: 스펙이 아닌 장기 유지보수성으로 플랫폼 선택.
— Editorial Team
아직 댓글이 없습니다.