1. 소개
학습할 내용
- 자동화 템플릿을 설계하고 작성하는 방법
- Google Home 개발자 콘솔을 사용하여 자동화 템플릿을 테스트하는 방법
필요한 항목
- Google Home 앱을 실행하는 Android 또는 iOS 휴대전화
- 집에 내장된 스마트 조명 또는 Google Home 플레이그라운드의 시뮬레이션된 기기입니다.
기본 요건
Google Home 자동화 작성 방법을 잘 알고 있어야 합니다. 자동화를 작성해 본 적이 없다면 이 작업을 진행하기 전에 자동화 스크립트 만들기 Codelab을 먼저 고려해 보세요.
2. 자동화 템플릿 및 인스턴스
개발자는 Google Home 개발자 콘솔의 자동화 템플릿 편집기를 사용하여 자동화 템플릿을 만듭니다. 자동화 템플릿에는 특정 기기가 아닌 기기 유형을 참조하는 스크립트 로직의 핵심이 포함되어 있습니다.
최종 사용자는 웹용 Google Home의 자동화 스크립트 편집기를 사용하여 자동화 템플릿을 만들고 자신의 집에 있는 특정 기기에서 작동하는 맞춤 인스턴스를 만들 수 있습니다. 저장하면 인스턴스가 Google Home 앱 (GHA)의 가족 루틴에 표시됩니다.
3. 자동화 템플릿 계획
자동화를 만들 때는 먼저 해결하려는 문제와 자동화가 문제를 해결하기 위해 무엇을 할 것인지를 생각해야 합니다. 여기에는 다음과 같은 고려사항이 포함됩니다.
- 자동화하려는 기기
- 자동화 실행을 트리거해야 하는 시작 조건 (또는 이벤트)입니다.
- 트리거된 자동화의 실행 여부를 제어하는 추가 조건(있는 경우)
- 수행할 작업
이 Codelab에서는 자동화가 다음 두 가지 작업을 실행합니다.
- 특정 시간에 조명을 켭니다.
- 특정 시간에 동일한 조명을 끕니다.
이를 염두에 두고 템플릿 편집기를 열고 자동화를 작성할 수 있습니다.
4. 자동화 템플릿 작성
자동화는 YAML 데이터 직렬화 언어를 사용하여 선언적으로 작성됩니다.
자동화 템플릿에는 다음과 같은 세 가지 기본 섹션이 있습니다.
- 메타데이터 - 자동화의 이름, 기능에 관한 설명, 원하는 경우 자동화를 분류하는 데 사용되는 일부 태그입니다. 키워드:
- 조명 및 플러그
- 기후와 에너지
- 보안 및 인식
- 엔터테인먼트
- 가전제품 등
- 입력: 자동화로 제어할 기기의 유형을 정의합니다. 자동화 엔진은 이 정보를 사용하여 의도한 기기에 유효한 작업 유형을 파악합니다.
- 자동화 규칙: 자동화의 시작 로직 및 동작을 정의합니다.
작업할 자동화 템플릿은 다음과 같습니다.
metadata:
name:
en: Scheduled light
description:
en: Turn the light on and off at specific times
tags:
- LIGHTING AND PLUGS
input:
the_light:
metadata:
name:
en: The light
description:
en: The light to be controlled
selector:
type: device
multiSelect: true
supportedTypes:
- LIGHT
time_on:
metadata:
name:
en: Time to turn on the light.
description:
en: The time of day to turn on the selected light.
selector:
type: time
default: sunset+30min
time_off:
metadata:
name:
en: Time to turn off the light.
description:
en: The time of day to turn off the selected light.
selector:
type: time
default: 10:00 pm
automations:
- name: Turn on the light
starters:
- type: time.schedule
at: $time_on
actions:
- type: device.command.OnOff
devices: $the_light
on: true
- name: Turn off the light
starters:
- type: time.schedule
at: $time_off
actions:
- type: device.command.OnOff
devices: $the_light
on: false
템플릿을 읽고 다음 사항에 유의하세요.
metadata
섹션에는 이 자동화의 이름과 설명이 포함되어 있습니다.input
섹션은LIGHT
유형의 기기를 지정하는the_light
라는 변수를 정의합니다. 즉, 이 템플릿은 조명에만 사용할 수 있으며 다른 유형의 기기에는 사용할 수 없습니다. 즉, 사용자가 집에 자동화를 설정할 때$the_light
에 사용할 기기를 선택하라는 메시지가 표시되면 지정된 유형의 기기로만 기기 선택이 제한됩니다.- 또한
input
섹션에는time_on
및time_off
라는 변수 두 개가 정의되어 있습니다. 이를 통해 사용자는 자동화를 시작할 시기를 지정할 수 있습니다.time_on
는 조명이 켜진 시간을 나타내고time_off
는 조명이 꺼진 시간을 나타냅니다. 사용자가time_on
또는time_off
값을 설정하지 않으면 기본값이 사용됩니다. - 자동화의
automations
섹션에는 두 개의 자동화 규칙이 있습니다. 각 규칙에는 자동화를 시작할 시간을 자동화에 알려주는 단일time.schedule
시작 조건이 있습니다.
템플릿 편집기
자동화 템플릿 편집기는 자동화 템플릿을 작성하는 데 사용하는 도구입니다.
- Google Home 개발자 콘솔로 이동합니다.
- Google Home 앱에서 기기에 설정된 계정과 동일한 계정으로 로그인합니다.
- 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
- 자동화에서 개발을 클릭합니다.
- 템플릿 만들기를 클릭합니다.
- '예약된 조명'을 복사합니다. 자동화 템플릿을 사용하세요
- '예약 조명'을 붙여넣습니다. 자동화 템플릿을 템플릿 편집기로 복사해 보겠습니다.
- 유효성 검사를 클릭합니다. 발생할 수 있는 오류를 해결하고 오류가 발생하지 않을 때까지 계속 검증하여 수정합니다.
- 저장을 클릭하여 템플릿을 저장합니다.
5. 템플릿 테스트
이제 콘솔에서 템플릿을 테스트할 수 있습니다.
- 조명이 연결되어 있고 Google Home 앱에 표시되는지 확인합니다.
- 표시등이 켜져 있으면 끕니다.
- Google Home 개발자 콘솔로 이동합니다.
- 템플릿을 만든 프로젝트를 엽니다.
- 자동화를 선택한 다음 테스트 탭을 선택합니다.
- '예약 조명' 옆에 있는 열기를 클릭합니다. 자동화 템플릿을 사용하세요
- 템플릿을 테스트할 구조를 선택하고 Next를 클릭합니다.
- InputValue 편집기에서 광원 이름을 지정합니다. 예를 들어 조명 이름이 '책상 조명 - 사무실'인 경우
lights
오른쪽을 클릭할 때 표시되는 드롭다운 메뉴에서Desk light - Office
를 선택합니다. 또는 기기 이름을 입력할 수 있습니다. - 또한 InputValue 편집기에서
time_on
시간을 시간(예: 향후 5분)으로 지정하고time_off
시간을time_on
직후의 시간으로 변경합니다. - 완료되면 InputValue 편집기가 다음과 같이 표시됩니다.
inputValue: #add value the_light: Desk light - Office #add value time_off: 11:45 am #add value time_on: 11:40 am
- 테스트 활성화를 클릭합니다.
- 시작 시간 두 개가 지날 때까지 기다립니다. 지정된 시간에 표시등이 켜졌다가 꺼집니다.
템플릿을 성공적으로 테스트하고 나면 자동화가 기능적으로 정상이라는 것을 알 수 있습니다.
6. 축하합니다.
자동화 템플릿을 만들었습니다. 좋습니다.
이 Codelab을 통해 학습한 내용은 다음과 같습니다.
- 자동화 템플릿을 설계하고 작성하는 방법
- Google Home 개발자 콘솔에서 테스트하는 방법
다음 단계
이 Codelab에서는 매우 간단한 자동화를 만들었습니다. 자동화는 조명 전환을 예약하는 것 이상의 작업을 할 수 있습니다. 이제 자동화 템플릿을 만들고 테스트하는 방법에 관한 기본사항을 이해했으므로 다른 유형의 기기에서 다양한 시작 조건, 조건, 작업을 사용하여 자동화 템플릿을 만들어 볼 수 있습니다.
추가 자료
Google Home 자동화에 관해 자세히 알아보려면 자동화 참조 문서를 살펴보세요.