스크립트 자동화 만들기

1. 소개

학습할 내용

  • 자동화 스크립트를 계획하고 작성하는 방법
  • 자동화 스크립트를 테스트하는 방법

필요한 항목

  • Google Home 앱을 실행하는 Android 또는 iOS 휴대전화
  • Works with Google Home 인증을 받았으며 사용 또는 사용 중지할 수 있는 스마트 조명 또는 기타 기기

2. 기기 설정

기기가 아직 설정되지 않았다면 지금 바로 집에 설정해 보세요.

기기가 Google Home 앱에 표시되는지, Home 앱을 사용하여 기기를 켜고 끌 수 있는지 확인합니다.

3. 자동화 스크립트 계획하기

먼저 스크립트 자동화를 통해 수행할 작업이 무엇인지 생각해 보겠습니다. 여기에는 다음과 같은 고려사항이 포함됩니다.

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

이 Codelab에서는 스크립트 자동화를 통해 다음 두 가지 작업을 실행할 계획입니다.

  1. 특정 시간에 조명 (또는 기타 스마트 기기)을 켭니다.
  2. 특정 시간에 기기를 끕니다.

이제 자동화 스크립트로 하고 싶은 작업이 무엇인지 명확하게 알았으니 스크립트 편집기를 열고 자동화 스크립트를 작성해 보겠습니다.

4. 자동화 스크립트 작성

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

자동화 스크립트는 두 가지 기본 섹션으로 구성됩니다.

  1. 메타데이터 - 자동화 스크립트의 이름과 그 기능에 관한 설명입니다.
  2. 자동화 규칙: 자동화의 시작 로직 및 동작을 정의합니다.

메타데이터

자동화의 메타데이터는 사용자에게 자동화의 이름과 기능을 알려줍니다. 메타데이터는 다음과 같이 metadata 블록에 지정됩니다.

metadata:
  name: Scheduled light
  description: Turn the light on and off at specific times

자동화 규칙

자동화 규칙은 실제 작업이 적용됩니다. 시작 조건, 조건, 작업의 세 부분으로 구성되며 순서대로 평가됩니다.

시작 조건 1개

2 조건

3가지 조치

시작 조건에서 자동화가 시작됩니다. 후속 조건을 평가하려면 하나 이상의 시작 조건이 true로 평가되어야 합니다.

이는 선택사항이며 시작 조건이 활성화된 후 평가되는 하나 이상의 추가 제약조건으로 구성됩니다. 조건이 true로 확인되면 작업이 실행됩니다. false로 확인되면 작업이 실행되지 않습니다.

여러 제약조건을 포함하는 경우 andor 키워드로 구분하여 단일 논리 표현식을 구성하세요. 자동화 작업을 진행하려면 이 표현식이 true로 확인되어야 합니다.

조건은 상태 변경 알림과 다릅니다.

  • 조건은 시작 조건이 '실행'되는 시점에 참이어야 하는 사실을 나타냅니다. 작업을 실행할 수 있습니다
  • 상태 변경 알림은 다른 기기가 켜지는 등의 이벤트입니다.

작업은 시작 조건과 제약조건 조건이 충족될 때 수행되는 작업입니다.

자동화의 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

다음에 유의하세요.

  1. 두 가지 automations 규칙이 있습니다. 첫 번째는 조명을 켜고 두 번째는 조명을 끕니다.
  2. 각 규칙에는 하나의 작업이 포함됩니다.
  3. on: true조명을 켭니다. 마찬가지로 on: false조명 끄기를 의미합니다.
  4. 각 규칙에는 자동화를 시작할 시간을 자동화에 알려주는 단일 time.schedule 시작 조건이 있습니다.
  5. 이 자동화에는 조건이 없습니다.

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
  1. 자동화를 복사합니다 (위).
  2. 웹용 Google Home으로 이동합니다.
  3. 별표 3개가 있는 아이콘으로 표시된 자동화 탭을 선택합니다.
    자동화 탭
  4. + 새로 추가를 클릭합니다.
  5. 스크립트 편집기에서 자동화 템플릿을 삭제합니다.
  6. 자동화를 붙여넣습니다.
  7. Desk light - Office를 기기의 이름과 위치로 바꿉니다.
  8. 유효성 검사를 클릭합니다. 스크립트 편집기는 자동화 스크립트에서 오류가 포함된 섹션에 밑줄을 표시합니다. 발생하는 모든 오류를 해결하고 오류가 더 이상 발생하지 않을 때까지 계속 검증하고 수정합니다. 예를 들어 기기 이름이 다를 수 있습니다. 이 경우 자동 완성 기능을 사용하여 유효한 기기 이름을 선택할 수 있습니다.
  9. 저장을 클릭합니다.
  10. 스크립트 텍스트 아래에 있는 활성화 스위치가 사용 위치에 있는지 확인합니다. 완전히 검증 및 활성화된 스크립트 자동화 기능을 갖춘 스크립트 편집기

6. 자동화 테스트

  1. 기기가 연결되어 있고 Google Home 앱에 표시되는지 확인합니다.
  2. 현재 기기가 켜져 있으면 전원을 끕니다.
  3. 웹용 Google Home자동화 페이지에서 '실행'을 클릭합니다. 버튼을 클릭합니다.
    스크립트 실행 버튼
  4. 기기가 켜집니다.

이제 자동화를 테스트해 보겠습니다.

  1. 기기를 끕니다.
  2. 자동화를 수정하고 '기기 켜짐'을 변경합니다. 미래의 5분 시간으로 변경할 수 있습니다.
  3. '기기 꺼짐' 변경 '상담 시간' 직후에 변경할 수 있습니다.
  4. 유효성 검사를 클릭합니다. 발생할 수 있는 모든 오류를 해결합니다.
  5. 저장을 클릭합니다.
  6. 활성화 스위치가 사용 위치에 있는지 확인합니다.
  7. 시작 시간 두 개가 지날 때까지 기다립니다. 지정한 시간에 기기가 켜졌다가 꺼집니다.

7. 축하합니다.

스크립트 자동화를 성공적으로 만들었습니다.

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

  • 자동화를 설계하고 작성하는 방법
  • 자동화를 테스트하는 방법

다음 단계

이 Codelab에서는 매우 간단한 자동화를 만들었습니다. 자동화는 전원 스위치 전환을 예약하는 것 이상의 작업을 할 수 있습니다. 이제 자동화 만들기의 기본사항을 이해했으므로 Google Home 생태계에서 사용할 수 있는 다양한 유형의 시작 조건, 조건, 작업을 살펴볼 수 있습니다.

다음 연습을 해 보세요.

  • 자동화에 time.schedule 시작 조건을 더 추가합니다.
  • 다른 기기를 같은 일정으로 켜고 끄도록 자동화를 수정합니다.
  • time.schedule 시작 조건을 삭제하지 않고 다른 기기의 전원이 켜질 때만 기기가 켜지도록 자동화를 수정합니다. condition 절을 사용하는 예시 스크립트를 참조하세요.
  • 누군가 집에 있을 때만 기기가 켜지도록 자동화를 수정합니다.

추가 자료

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