지난 글에서는 "현관문이 열리면 조명과 TV 켜기"라는, 특정 '사건(트리거)'에 기반한 자동화를 만들어 보았습니다. Home Assistant(HA)가 '집사'처럼 알아서 움직이게 만드는 첫걸음이었죠.
오늘은 여기서 한 단계 더 나아가, 우리가 '원하는 순간'에 집안의 여러 기기를 한꺼번에, 순차적으로 제어하는 '모드(Mode)'를 만들어 보겠습니다.
넷플릭스나 디즈니 플러스를 보려고 소파에 막 앉았을 때를 상상해 보세요. 거실 메인 조명을 끄고, TV 뒤의 무드등을 켜고, 스피커 전원을 켜고, TV를 켜고, 마지막으로 커튼까지 닫아야 합니다. 리모컨 3개와 스마트폰 앱 1개를 번갈아 조작해야 하는 이 번거로움, 모두 공감하실 겁니다.
만약 이 모든 동작을, HA 대시보드의 '시네마 모드' 버튼 단 하나로 10초 안에 끝낼 수 있다면 어떨까요?
오늘은 HA의 강력한 '스크립트(Script)' 기능을 이용해, 이 모든 상상을 현실로 만드는 방법을 자세히 알려드립니다.
1. '장면(Scene)'과 '스크립트(Script)', 무엇이 다를까요?
버튼 하나로 여러 기기를 제어하려 할 때, HA 사용자들은 '장면'과 '스크립트'라는 두 가지 선택지 앞에서 고민하게 됩니다. 개념을 명확히 알아야 합니다.
장면 (Scene): 기기들의 '최종 상태'를 저장합니다. 장면은 "시네마 모드 = 거실 조명 OFF, 무드등 30% 밝기(파란색), TV ON"처럼, 각 기기가 어떤 '상태'가 되어야 하는지를 정의한 '사진'과 같습니다. [장면 활성화]를 누르면 모든 기기가 이 상태로 '동시에' 변경됩니다.
스크립트 (Script): '행동의 순서'를 저장합니다. 스크립트는 "1. 커튼을 닫는다. 2. (5초 기다린다) 3. 거실 조명을 끈다. 4. 무드등을 켠다. 5. TV를 켠다"처럼, 행동의 '순서'를 정의한 '동영상' 또는 '레시피'와 같습니다.
오늘 우리가 만들 '시네마 모드'는 커튼이 닫히는 시간이 필요하고, 조명과 TV가 순차적으로 켜지는 것이 더 자연스럽기 때문에, '장면'보다는 '스크립트'를 사용하는 것이 훨씬 더 강력하고 적합합니다.
2. '시네마 모드' 스크립트를 위한 준비물
이 스크립트를 완벽하게 구현하려면, HA가 제어할 수 있는 기기들, 즉 '개체(Entity)'들이 미리 [설정] > [기기 및 서비스]에 등록되어 있어야 합니다.
- 필수 (조명): 스마트 전구 또는 스마트 스위치 (light.living_room_light, light.mood_lamp 등)
- 필수 (TV): HA와 연동된 스마트 TV (media_player.my_tv 등)
- 권장 (스피커): HA와 연동된 사운드바 또는 스피커 (media_player.soundbar 등)
- 선택 (커튼): HA와 연동된 스마트 커튼/블라인드 (cover.living_room_curtain 등)
모든 것이 다 갖춰지지 않아도 괜찮습니다. 조명과 TV만 제어하는 스크립트만으로도 충분히 만족스러운 경험을 할 수 있습니다.
3. [실습] '시네마 모드' 스크립트 만들기
이제 HA의 관리자 화면에서 직접 스크립트를 만들어 보겠습니다.
- 왼쪽 메뉴에서 [설정] > [자동화 및 장면]으로 이동합니다.
- 상단의 [스크립트] 탭을 선택합니다.
- 오른쪽 아래의 파란색 [+ 스크립트 추가] 버튼을 클릭하고 [새 스크립트 만들기]를 선택합니다.
1단계: 이름 및 아이콘 설정
- 이름: '시네마 모드 시작' (또는 '영화 볼 준비')
- 아이콘: 스크립트 이름 왼쪽의 아이콘을 클릭해 mdi:movie 또는 mdi:filmstrip 같이 어울리는 아이콘을 검색하여 지정해 줍니다.
2단계: 시퀀스 (Sequence) 작성하기 (핵심)
[시퀀스] 섹션이 바로 우리가 만들 '레시피'입니다. [+ 액션 추가] 버튼을 눌러 원하는 동작을 순서대로 추가합니다.
액션 1: 커튼 닫기 (선택 사항)
- 액션 유형: [서비스 호출]
- 서비스: cover.close_cover (커튼 닫기)
- 대상: [개체 선택] > 여러분의 스마트 커튼 개체 (예: cover.living_room_curtain)
액션 2: 메인 조명 끄기
- 액션 유형: [서비스 호출]
- 서비스: light.turn_off (조명 끄기)
- 대상: [개체 선택] > 거실의 메인 조명 개체 (예: light.living_room_main)
액션 3: 무드등 켜기 (분위기 담당)
- 액션 유형: [서비스 호출]
- 서비스: light.turn_on (조명 켜기)
- 대상: [개체 선택] > 무드등 개체 (예: light.mood_lamp)
- [추가 데이터] (밝기, 색상): [+ 데이터 추가]를 눌러 brightness_pct: 30 (30% 밝기) 또는 rgb_color: [0, 0, 255] (파란색) 등을 YAML로 직접 입력하거나, [UI 모드]에서 설정할 수 있습니다.
액션 4: TV 켜기
- 액션 유형: [서비스 호출]
- 서비스: media_player.turn_on
- 대상: [개체 선택] > TV 개체 (예: media_player.lg_webos_tv)
액션 5: 사운드바 켜기
- 액션 유형: [서비스 호출]
- 서비스: media_player.turn_on
- 대상: [개체 선택] > 사운드바 개체 (예: media_player.soundbar)
팁: 순서 변경하기 각 액션의 왼쪽 상단 점 여섯 개(드래그 핸들)를 잡고 끌어서 순서를 자유롭게 변경할 수 있습니다. 예를 들어, TV를 먼저 켠 뒤 조명을 조절하는 것이 더 자연스러울 수 있습니다.
모든 액션을 추가했다면, 오른쪽 아래의 [저장] 버튼을 누릅니다.
4. 대시보드에 '버튼'으로 추가하기
스크립트는 완성되었지만, 매번 설정 메뉴에 들어와서 실행할 수는 없습니다. 이제 이 스크립트를 메인 화면(대시보드)에 '버튼'으로 꺼내놓을 차례입니다.
- HA 메인 화면인 [개요] (또는 사용자가 지정한 대시보드)로 이동합니다.
- 오른쪽 상단의 점 3개(...) 메뉴를 클릭하고 [대시보드 편집]을 선택합니다.
- 카드를 추가하고 싶은 위치에서 [+ 카드 추가] 버튼을 누릅니다.
- [카드 선택] 목록에서 [버튼] 카드를 찾아 선택합니다.
- [개체] 항목에서 방금 우리가 만든 스크립트 'script.cinema_mode_start'를 검색하여 선택합니다.
- [이름] 항목을 '시네마 모드'처럼 더 알기 쉽게 변경할 수 있습니다.
- [저장]을 눌러 카드 추가를 완료하고, 다시 점 3개 메뉴에서 [편집 종료]를 선택합니다.
이제 대시보드에 '시네마 모드' 버튼이 생성되었습니다. 이 버튼을 누르는 즉시, 여러분이 2단계에서 정의한 모든 행동이 순차적으로 실행되는 마법을 경험할 수 있습니다.
5. 더 나아가기: '시네마 모드 종료' 스크립트
영화를 다 보고 난 뒤에는 어떻게 할까요? 반대로 작동하는 스크립트도 필요합니다.
위와 동일한 방법으로 '시네마 모드 종료' 스크립트를 하나 더 만들 수 있습니다.
- 이름: '시네마 모드 종료'
- 아이콘: mdi:movie-off
- 시퀀스:
- light.turn_on (메인 조명 켜기)
- light.turn_off (무드등 끄기)
- cover.open_cover (커튼 열기)
- (선택) media_player.turn_off (TV 및 스피커 끄기)
이 스크립트 역시 대시보드에 버튼으로 추가해두면, '시작'과 '종료' 버튼 두 개로 완벽한 영화 감상 환경을 제어할 수 있게 됩니다.
결론: '모드'를 제어하는 즐거움
오늘 우리는 여러 기기의 동작을 하나의 '레시피(스크립트)'로 묶고, 이를 '버튼' 하나로 실행하는 방법을 배웠습니다.
이것은 단순히 리모컨 몇 개를 줄이는 것 이상의 의미를 가집니다. "영화 모드", "독서 모드", "외출 모드", "취침 모드"처럼, 나의 생활 패턴에 맞춰 집안 전체의 '상황'과 '분위기'를 디자인하는 즐거움입니다.
Home Assistant의 자동화 세계는 이처럼 무궁무진합니다. 다음 글에서는 스마트홈의 핵심 부품이지만 많은 분이 어려워하는 'Zigbee(지그비)'와 'Zigbee2MQTT'에 대해 본격적으로 파헤쳐 보겠습니다.
'Home Assistant' 카테고리의 다른 글
| Zigbee가 뭔가요? Home Assistant + Zigbee2MQTT 세팅 완벽 가이드 (1) | 2025.11.05 |
|---|---|
| 날씨 데이터 연동하기: 비 오는 날이면 자동으로 조명 색상 바꾸기 (0) | 2025.11.04 |
| "나 퇴근했어" 현관문 열리면 집안 모든 조명과 TV 자동으로 켜기 (0) | 2025.11.04 |
| 초보자도 10분 완성! Home Assistant에 샤오미 IoT 기기 연동하기 (0) | 2025.11.04 |
| Home Assistant 설치 후 가장 먼저 해야 할 필수 설정 5가지 (1) | 2025.11.04 |