1. 소개
학습할 내용
- 스크립트 기반 자동화를 계획하고 작성하는 방법
- 스크립트 기반 자동화를 테스트하는 방법
필요한 항목
- Google Home 앱을 실행하는 Android 또는 iOS 휴대전화
- Works with Google Home 인증을 받았으며 켜거나 끌 수 있는 스마트 조명 또는 기타 기기
2. 기기 설정
기기가 아직 설정되어 있지 않다면 집에서 설정하세요.
기기가 Google Home 앱에 표시되고 Home 앱을 사용하여 기기를 켜고 끌 수 있는지 확인합니다.
3. 스크립트 기반 자동화 계획
먼저 스크립트 기반 자동화에서 수행할 작업을 생각해 보겠습니다. 여기에는 다음과 같은 고려사항이 포함됩니다.
- 자동화할 기기
- 스크립트 자동화 실행을 트리거해야 하는 시작 조건 (또는 이벤트)입니다.
- 트리거된 후 스크립트 자동화가 실행되는지 여부를 제어하는 추가 조건(있는 경우)
- 실행할 작업
이 Codelab에서는 스크립트 기반 자동화로 다음 두 가지 작업을 실행하도록 할 계획입니다.
- 특정 시간에 조명 (또는 기타 스마트 기기)을 켭니다.
- 특정 시간에 기기를 끕니다.
이제 스크립트 자동화에서 수행할 작업을 정확하게 파악했으므로 스크립트 편집기를 열고 스크립트 자동화를 작성하겠습니다.
4. 스크립트 기반 자동화 작성
스크립트 자동화는 YAML 데이터 직렬화 언어를 사용하여 선언적 방식으로 작성됩니다.
자동화 스크립트는 다음과 같은 두 가지 기본 섹션으로 구성됩니다.
- 메타데이터 - 스크립트 기반 자동화의 이름과 기능에 관한 설명입니다.
- 자동화 규칙: 자동화의 시작 로직과 동작을 정의합니다.
메타데이터
자동화의 메타데이터는 사용자에게 자동화의 이름과 기능을 알려줍니다. 메타데이터는 다음과 같이 metadata
블록에 지정됩니다.
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
자동화 규칙
자동화 규칙은 실제 작업이 이루어지는 곳입니다. 시작 조건, 조건, 작업의 세 부분으로 구성되며 순서대로 평가됩니다.
1 시작 조건 | 조건 2가지 | 작업 3개 |
시작 조건은 자동화를 시작하는 조건입니다. 후속 조건이 평가되려면 시작 조건이 하나 이상 | 이는 선택사항이며 시작 조건이 활성화된 후에 평가되는 하나 이상의 추가 제약 조건으로 구성됩니다. 조건이 여러 제약 조건을 포함하는 경우 조건은 상태 변경 알림과 다릅니다.
| 작업은 시작 조건과 모든 제약 조건이 충족될 때 실행되는 작업입니다. |
자동화의 automations
블록에는 두 가지 규칙이 포함되어 있습니다.
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
다음에 유의하세요.
automations
규칙은 두 가지가 있습니다. 첫 번째는 조명을 켜고 두 번째는 조명을 끕니다.- 각 규칙에는 하나의 작업이 있습니다.
on: true
는 조명 켜 줘를 의미합니다. 마찬가지로on: false
는 불 끄기를 의미합니다.- 각 규칙에는 자동화를 시작할 시간을 자동화에 알려주는 단일
time.schedule
시작 조건이 있습니다. - 이 자동화에는 조건이 없습니다.
5. 전체 스크립트 기반 자동화
모든 부분을 종합하면 다음과 같이 전체 스크립트 자동화가 표시됩니다.
metadata:
name: Scheduled light
description: Turn the light on and off at specific times
automations:
- starters:
- type: time.schedule
at: 1:00 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: true
- starters:
- type: time.schedule
at: 1:05 PM
actions:
- type: device.command.OnOff
devices: Desk light - Office
on: false
- 자동화 (위)를 복사합니다.
- 웹용 Google Home으로 이동합니다.
- 별 3개 아이콘으로 표시된 자동화 탭을 선택합니다.
- + 새로 추가를 클릭합니다.
- 스크립트 편집기에서 자동화 템플릿을 삭제합니다.
- 자동화를 붙여넣습니다.
Desk light - Office
를 기기의 이름과 위치로 바꿉니다.- 유효성 검사를 클릭합니다. 스크립트 편집기에서 오류가 포함된 스크립트 기반 자동화의 섹션에 밑줄이 표시됩니다. 발생하는 오류를 해결하고 더 이상 오류가 없을 때까지 계속 검사 및 수정합니다. 예를 들어 기기 이름이 다를 수 있습니다. 이 경우 자동 완성 기능을 사용하여 유효한 기기 이름을 선택할 수 있습니다.
- 저장을 클릭합니다.
- 스크립트 텍스트 아래에 있는 활성화 스위치가 사용 위치에 있는지 확인합니다.
6. 자동화 테스트
- 기기가 전원에 연결되어 있고 Google Home 앱에 표시되는지 확인합니다.
- 기기가 현재 켜져 있으면 전원을 끕니다.
- 웹용 Google Home의 자동화 페이지에서 자동화 옆에 있는 '실행' 버튼을 클릭합니다.
- 기기가 켜집니다.
이제 자동화를 테스트해 보겠습니다.
- 기기를 끕니다.
- 자동화를 수정하고 7번 줄의 '기기 켜짐' 시간을 5분 후로 변경합니다.
- 14번 줄의 '기기 꺼짐' 시간을 '켜짐 시간' 직후의 시간으로 변경합니다.
- 유효성 검사를 클릭합니다. 발생할 수 있는 오류를 해결합니다.
- 저장을 클릭합니다.
- 활성화 스위치가 사용 위치에 있는지 확인합니다.
- 두 개의 시작 시간이 지나기를 기다립니다. 지정한 시간에 기기가 켜졌다가 꺼집니다.
7. 축하합니다.
스크립트 기반 자동화를 만들었습니다.
이 Codelab을 통해 학습한 내용은 다음과 같습니다.
- 자동화를 설계하고 작성하는 방법
- 자동화를 테스트하는 방법
다음 단계
이 Codelab에서는 매우 간단한 자동화를 만들었습니다. 자동화는 전원 스위치 전환을 예약하는 것 외에도 훨씬 더 많은 작업을 할 수 있습니다. 이제 자동화 만들기의 기본사항을 이해했으므로 Google Home 생태계에서 사용할 수 있는 다양한 유형의 시작 조건, 조건, 작업을 살펴볼 수 있습니다.
다음 연습을 시도해 보세요.
- 자동화에
time.schedule
시작 조건을 더 추가합니다. - 동일한 일정에 따라 다른 기기를 켜고 끌 수 있도록 자동화를 수정합니다.
time.schedule
시작 조건을 삭제하지 않고 다른 기기의 전원이 켜져 있을 때만 기기를 켜도록 자동화를 수정합니다.condition
절을 사용하는 예시 스크립트를 참고하세요.- 집에 사람이 있을 때만 기기를 켜도록 자동화를 수정합니다.
추가 자료
Google Home 자동화에 대해 자세히 알아보려면 자동화 참조 문서를 살펴보세요.