자동화 템플릿 만들기

1. 소개

학습할 내용

  • 자동화 템플릿을 설계하고 작성하는 방법
  • Google Home Developer Console을 사용하여 자동화 템플릿을 테스트하는 방법

필요한 항목

  • Google Home 앱이 실행되는 Android 또는 iOS 휴대전화
  • 홈에 온보딩된 스마트 조명 또는 Google Home Playground의 시뮬레이션된 기기

기본 요건

Google Home 자동화를 작성하는 방법을 숙지해야 합니다. 자동화를 작성한 적이 없다면 이 Codelab을 진행하기 전에 스크립트 자동화 만들기 Codelab을 먼저 살펴보세요.

2. 자동화 템플릿 및 인스턴스

개발자는 Google Home 개발자 콘솔의 자동화 템플릿 편집기를 사용하여 자동화 템플릿을 만듭니다. 자동화 템플릿에는 스크립트 로직의 핵심이 포함되어 있으며 특정 기기가 아닌 기기 유형을 참조합니다.

웹용 Google Home의 자동화 스크립트 편집기를 사용하여 최종 사용자는 자동화 템플릿을 가져와 자신의 집에 있는 특정 기기에서 작동하는 맞춤 인스턴스를 만듭니다. 저장하면 Google Home 앱 (GHA)의 가족 루틴에 인스턴스가 표시됩니다.

3. 자동화 템플릿 계획

자동화를 만들 때 해결하려는 문제와 자동화가 문제를 해결하기 위해 수행할 작업을 먼저 생각합니다. 여기에는 다음과 같은 고려사항이 포함됩니다.

  • 자동화할 기기
  • 자동화 실행을 트리거해야 하는 시작 조건 (또는 이벤트)입니다.
  • 트리거된 후 자동화가 실행되는지 여부를 제어하는 추가 조건(있는 경우)입니다.
  • 실행할 작업입니다.

이 Codelab의 목적을 위해 자동화는 다음 두 가지 작업을 실행합니다.

  1. 특정 시간에 조명을 켭니다.
  2. 특정 시간에 동일한 조명을 끕니다.

이제 템플릿 편집기를 열고 자동화를 작성할 준비가 되었습니다.

4. 자동화 템플릿 작성

자동화는 YAML 데이터 직렬화 언어를 사용하여 선언적 방식으로 작성됩니다.

자동화 템플릿에는 세 가지 기본 섹션이 있습니다.

  1. 메타데이터 - 자동화의 이름, 자동화가 수행하는 작업에 대한 설명, 자동화를 분류하는 데 사용되는 태그(선택사항)입니다. 키워드는 다음과 같습니다.
    • 조명 및 플러그
    • 냉난방/공기청정 및 에너지
    • 보안 및 인식
    • 엔터테인먼트
    • 가전제품 등
  2. 입력 - 자동화가 제어하도록 설계된 기기 유형을 정의합니다. 자동화 엔진은 이 정보를 사용하여 의도한 기기에 유효한 작업의 종류를 파악합니다.
  3. 자동화 규칙: 자동화의 시작 로직과 동작을 정의합니다.

작업할 자동화 템플릿은 다음과 같습니다.

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_ontime_off라는 두 변수도 정의되어 있습니다. 이를 통해 사용자는 자동화를 시작할 시점을 지정할 수 있습니다. time_on는 조명이 켜지는 시간을 나타내고 time_off는 조명이 꺼지는 시간을 나타냅니다. 사용자가 time_on 또는 time_off 값을 설정하지 않으면 기본값이 사용됩니다.
  • 자동화의 automations 섹션에는 두 개의 자동화 규칙이 포함되어 있습니다. 각 규칙에는 자동화가 시작되는 시간을 자동화에 알려주는 단일 time.schedule 시작 조건이 있습니다.

템플릿 편집기

자동화 템플릿 편집기는 자동화 템플릿을 작성하는 데 사용하는 도구입니다.

  1. Google Home Developer Console로 이동합니다.
  2. Google Home 앱에서 기기를 설정한 계정으로 로그인합니다.
  3. 프로젝트를 만들거나 기존 프로젝트를 선택합니다.
  4. 자동화에서 개발을 클릭합니다.
  5. 템플릿 만들기를 클릭합니다.
  6. '조명 예약' 자동화 템플릿을 복사합니다.
  7. '조명 예약' 자동화 템플릿을 템플릿 편집기에 붙여넣습니다.
  8. 유효성 검사를 클릭합니다. 오류가 발생하면 해결하고 오류가 발생하지 않을 때까지 계속 검사하고 수정합니다.
  9. 저장을 클릭하여 템플릿을 저장합니다.

5. 템플릿 테스트

이제 콘솔에서 템플릿을 테스트할 수 있습니다.

  1. 조명이 연결되어 있고 Google Home 앱에 표시되는지 확인합니다.
  2. 조명이 켜져 있으면 끕니다.
  3. Google Home Developer Console로 이동합니다.
  4. 템플릿을 만든 프로젝트를 엽니다.
  5. 자동화를 선택한 다음 테스트 탭을 선택합니다.
  6. '조명 예약' 자동화 템플릿 옆에 있는 열기를 클릭합니다.
  7. 템플릿을 테스트할 구조를 선택한 다음 다음을 클릭합니다.
  8. InputValue 편집기에서 조명 이름을 지정합니다. 예를 들어 조명 이름이 '책상 조명 - 사무실'인 경우 lights 오른쪽을 클릭할 때 표시되는 드롭다운 메뉴에서 Desk light - Office을 선택합니다. 또는 기기 이름을 입력할 수도 있습니다.
  9. InputValue 편집기에서 time_on 시간을 미래의 시간(예: 5분 후)으로 지정하고 time_off 시간을 time_on 직후의 시간으로 변경합니다.
  10. 완료되면 InputValue 편집기가 다음과 같이 표시됩니다.
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. 테스트 활성화를 클릭합니다.
  12. 두 개의 시작 시간이 지날 때까지 기다립니다. 지정된 시간에 조명이 켜졌다가 꺼져야 합니다.

템플릿을 성공적으로 테스트하면 자동화가 기능적으로 건전하다는 것을 알 수 있습니다.

6. 축하합니다.

자동화 템플릿을 만들었습니다. 좋습니다.

이 Codelab을 통해 학습한 내용은 다음과 같습니다.

  • 자동화 템플릿을 설계하고 작성하는 방법
  • Google Home Developer Console에서 테스트하는 방법

다음 단계

이 Codelab에서는 매우 간단한 자동화를 만들었습니다. 자동화는 조명 전환을 예약하는 것보다 훨씬 더 많은 작업을 할 수 있습니다. 이제 자동화 템플릿을 만들고 테스트하는 기본사항을 이해했으므로 다양한 시작, 조건, 작업을 사용하여 다른 유형의 기기에 대한 자동화 템플릿을 만들어 보세요.

추가 자료

Google Home 자동화에 대해 자세히 알아보려면 자동화 참조 문서를 살펴보세요.