스크립트 편집기로 스크립트 기반 자동화 작성하기

스크립트 편집기를 사용하면 웹용 Google Home이나 Google Home 앱에서 맞춤 자동화를 작성하여 고급 가족 루틴을 만들 수 있습니다. 스크립트 기반 자동화를 작성하려면 YAML 스크립트 언어, 스크립트 구성 방법, 스크립트 구성요소를 사용하는 방법에 대한 몇 가지 기본사항을 알아야 합니다.

스크립트 편집기는 현재 공개 미리보기에서 사용할 수 있습니다. 공개 미리보기에 가입한 후 웹용 Google Home 또는 모바일 Google Home 앱에서 스크립트 편집기에 액세스할 수 있습니다.

스크립트 편집기를 사용하여 자동화를 작성하는 방법에 관해 자세히 알아보세요. Codelab 방문하기
중요: 언제 루틴이 실행되는지 모든 가족 구성원이 확인할 수 있습니다. 루틴은 오직 편의를 위한 기능으로, 안전 또는 보안이 매우 중요한 상황에서는 사용할 수 없습니다. 예상대로 시작하지 않거나 멈추지 않을 경우 상해나 피해가 발생할 수 있는 루틴은 만들지 마세요. 루틴은 인터넷의 정상적인 작동, Wi-Fi, 루틴에 포함된 기기를 제조하는 서드 파티와 Google의 서비스 제공 여부의 영향을 받을 수 있습니다. 루틴은 때에 따라 제대로 작동하지 않을 수 있으며, Google에서는 루틴이 제대로 작동하지 않아 발생한 피해나 손해에 대해 책임을 지지 않습니다.

YAML 스크립트 언어 기본사항

스크립트 편집기는 기기에서 실행하려는 작업과 작업이 실행되기를 원하는 상황에 대한 지침을 한 줄씩 입력할 수 있는 유연한 스크립트 언어인 YAML을 사용합니다. 이러한 지침은 키-값 쌍 형식으로 작성됩니다.

키-값 쌍

YAML은 키-값 쌍의 모음으로 구성됩니다.

name: TV on lights off

이 예에서 name, TV on lights off입니다.

기본적으로 는 사용하려는 요소를 나타내는 키워드입니다. 각 키는 고유해야 하지만 키의 순서는 중요하지 않습니다. 각 키-값 쌍은 새 줄에서 시작됩니다.

키와 연결된 은 여러 가지 유형의 데이터일 수 있습니다.

데이터 유형

일부 키 유형은 값이 특정 형식이어야 하는 반면, 기기의 기능에 따라 특성을 상속하는 키도 있습니다. 특정 시작 조건, 조건, 작업이 구성되는 방식을 알아보세요.

YAML 언어 문법

스크립트 기반 루틴을 작성할 때는 다음과 같은 서식 개념을 사용하세요.

개념

콜론

YAML은 키와 해당 값을 분리하기 위해 콜론(:)을 사용하고 그 뒤에 공백을 추가합니다.

state: on

들여쓰기

들여쓰기는 구조 및 계층 구조를 나타내며 중첩된 키-쌍을 정의합니다.

이 예에서 상위 metadata입니다. namedescription 키는 상위 키 metadata 아래에 중첩된 하위 키입니다. 중첩된 키는 계층 구조를 나타내기 위해 각각 2개의 공백 또는 1개의 탭으로 들여씁니다.

metadata:
  name: TV on lights off
  description: Turn off lights when TV turns on

하이픈

뒤에 공백이 추가된 하이픈은 목록의 각 항목을 정의합니다.
weekdays:
- MONDAY
- THURSDAY

주석

# 기호를 사용하여 스크립트에 주석이나 메모를 추가할 수 있습니다. 주석은 자동화 엔진에서 무시되며 자동화에 영향을 미치지 않습니다.
# This is a comment. It will be ignored.

스크립트 편집기 템플릿

새 자동화를 만들 때 스크립트 편집기에서는 다음과 같은 구조를 사용하여 스크립트를 작성할 수 있는 빈 템플릿을 제공합니다.

metadata 자동화 이름 및 설명을 포함합니다.
automations 자동화 동작을 정의합니다.
starters 자동화를 시작하는 트리거를 정의합니다.
condition 자동화가 실행되어야 하는 경우에 대한 제한사항을 정의합니다(선택사항).
actions 자동화에서 실행되는 작업을 정의합니다.

템플릿은 metadata와 automations라는 두 가지 주요 블록으로 나뉘며, 자동화는 다시 starters, conditions, actions 섹션으로 분류됩니다.

metadata 및 automations 블록

스크립트 편집기 템플릿에는 metadataautomations라는 두 가지 최상위 상위 키 또는 블록이 포함되어 있습니다.

metadata 블록에는 자동화의 이름과 설명이 포함되지만 이는 사용자가 어떤 자동화인지 파악하는 것을 돕기 위해서만 사용됩니다.

metadata:
  name: TV time
  description: When TV is on, turn on lights

automations 블록은 자동화 스크립트의 핵심입니다. 여기에서 시작 조건, 조건, 작업을 사용하여 자동화의 동작을 정의합니다.

automations:
  starters:
    # e.g. Motion detected
  condition:
    # e.g. Between 2 times
  actions:
    # e.g. Turn on lights

스크립트 편집기를 사용하는 방법을 자세히 알아보려면 Codelab을 방문하거나, 예시 스크립트를 검토하거나, Google Home 개발자 센터에서 개별 시작 조건, 조건, 작업의 형식을 지정하는 방법을 알아보세요.

자동 완성

스크립트 편집기는 다음과 같은 경우에 사용 가능한 시작 조건, 조건, 작업을 기반으로 자동 완성 제안을 제공하여 스크립트 작성 과정을 안내해 줍니다.

  • 유효한 옵션이 있는 위치에 커서가 위치합니다. 예를 들어 '- type: ' 뒤에 커서가 있습니다.
    • 사용자가 올바른 제안사항이 있는 코드를 입력합니다. 코드를 입력하면 제안 목록이 필터링됩니다.

Ctrl+스페이스 단축키를 사용해 자동 완성을 수동으로 시작할 수 있습니다.

Enter를 눌러 목록에서 제안사항을 선택합니다. 자동 완성 기능이 사용자가 선택한 구조에 따라 추가 필드를 채웁니다.

도움말: 자동 완성 기능을 사용하여 기기에서 사용할 수 있는 기기 상태나 명령어 및 특정 기기 상태나 명령어를 사용할 수 있는 기기를 확인할 수 있습니다.

기기에서 사용할 수 있는 기기 상태 또는 명령어를 찾으려면 스크립트를 작성할 때 먼저 'device: ' 키를 입력한 다음 'type: ' 키를 입력하세요. 자동 완성 기능이 해당 기기에서 사용할 수 있는 상태 또는 명령어 목록을 표시합니다.

starters:
- device: LED lights - Living Room
- type:

특정 기기 상태 또는 명령어를 사용할 수 있는 기기를 찾으려면 먼저 'type: ' 키를 입력한 다음 'device: ' 키를 입력하세요. 자동 완성 기능이 집에 있는 기기 중 해당 상태 또는 명령어를 지원하는 사용 가능한 기기 목록을 표시합니다.

starters:
- type: device.state.OnOff
- device:

시작 조건, 조건, 작업

자동화는 기기 시작 조건, 조건, 작업으로 구성됩니다. 이러한 구성요소가 자동화의 동작을 정의합니다.

일부 시작 조건, 조건, 작업에는 특정 유형의 비교 키-값 쌍이 있어야 자동화 로직을 완성하고 평가하려는 내용을 스크립트에 알릴 수 있습니다. 값은 호환되는 데이터 유형이어야 합니다. 예를 들어 조명의 on 상태는 true 또는 false입니다. 조명이 켜진 상태에서 자동화를 시작하려면 다음의 값을 사용하세요.

state: on
is: true

아래에서 다양한 시작 조건, 조건, 작업에 관한 세부정보를 확인할 수 있습니다. 모든 시작 조건, 조건, 작업을 확인하려면 Google Home 개발자 센터를 방문하세요.

리소스

스크립트 작성 연습하기

먼저 간단하지만 많이 사용되는 자동화 기능인 'TV가 켜지면 조명 끄기'를 만들어 보겠습니다.

참고: 스트리밍 미디어 기기나 스마트 조명, 또는 그에 상응하는 기기를 사용하지 않는 경우에도 단계를 따라 스크립트 작성 프로세스를 이해할 수 있지만, 마지막에 스크립트 실행은 불가능합니다.
  1. home.google.com/automations를 열고 계정에 로그인합니다.
  2. 새로 추가 를 클릭합니다.
  3. 메타데이터 정보를 작성합니다. 이 스크립트에서 nameTV on lights off이고 descriptionTurn off lights when TV turns on입니다. 스크립트의 형식을 올바르게 지정해야 합니다.
    metadata:
      name: TV on lights off
      description: Turn off lights when TV turns on.
  4. 시작 조건을 추가하려면 새 줄을 만들고 공백을 두 번 입력하거나 Tab 키를 한 번 눌러 들여쓴 뒤 'starters: '를 입력합니다. 그런 후 다음 줄에서 다시 들여쓰고 '- type: '을 입력합니다.
    도움말:
    • 새 줄을 만들려면 Shift  Enter 키를 누릅니다.
    • 시작 조건을 여러 개 포함하려면 각 시작 조건을 하이픈과 공백으로 시작해야 합니다.
metadata:
  name:  TV on lights off
  description:  Turn off lights when TV turns on
automations:
  starters:
  - type:
참고: 스크립트 편집기는 사용 가능한 시작 조건을 기반으로 자동 완성 제안을 제공하여 스크립트 구성 과정을 도와줍니다. 제안 중에서 선택하려면 키보드의 화살표 키를 사용하여 선택한 후 Enter 키를 눌러 삽입합니다.
  1. device.state 시작 조건을 추가합니다. device.state 시작 조건을 사용하려면 type, device, state라는 세 가지 키가 필요하며, 뒤에 한 개 이상의 비교 키-값 쌍이 있어야 합니다. 스크립트 편집기는 사용 가능한 시작 조건, 조건, 작업을 기반으로 자동 완성 제안을 제공하여 스크립트 구성 과정을 도와줍니다. 이 스크립트에서 각각의 키는 다음과 같습니다.
    • type은 device.state.OnOff입니다. 자동화를 시작하기 위해 확인하는 기기의 상태입니다.
    • device는 Chromecast - Living Room입니다. Google Home 앱에 표시되는 기기 이름입니다.
    • state는 on입니다. on은 OnOff 기기 상태에서 지원되는 필드 또는 상태 데이터입니다.
    • 비교 키-값 쌍은 is: true입니다. 이 비교 키의 값은 원시 데이터 유형입니다. TV가 켜지면 스크립트가 실행됩니다.
      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on
      automations:
        starters:
        - type: device.state.OnOff
          device: Chromecast - Living Room
          state: on
          is: true

      비교를 위해 다른 시작 조건을 사용하는 유사한 스크립트를 살펴보겠습니다. 아래 스크립트에서는 TV가 켜질 때가 아니라 볼륨이 1~10일 때 자동화가 시작됩니다. 이렇게 하기 위해 OnOff 상태를 Volume으로 교체하고 상태를 currentVolume으로 변경하여 새로운 속성과 일치하도록 했습니다. 또한 비교 키-값 쌍을 두 개의 중첩된 쌍으로 변경하여 범위(greaterThan: 1, lessThan: 10)를 만들었습니다. 더 많은 예를 확인하려면 시작 조건 목록을 참고하세요.

      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on
      automations:
        starters:
        - type: device.state.Volume
          device: Chromecast - Living Room
          state: currentVolume
          greaterThan: 1
          lessThan: 10
  2. 언제든지 저장을 클릭하여 스크립트를 저장할 수 있습니다. 스크립트를 저장하면 스크립트 편집기가 자동으로 스크립트의 유효성을 검사하고 오류를 확인합니다. 잘못된 스크립트는 실행할 수 없습니다.
  3. 이제 스크립트에 작업을 추가합니다. 작업을 추가하려면 새 줄을 만들고 공백을 두 번 입력하거나 Tab 키를 한 번 눌러 들여쓴 뒤 'actions: '를 입력합니다. 그런 후 다음 줄에서 다시 들여쓰고 '- type '을 입력합니다.
    도움말:
    • 새 줄을 만들려면 Shift  Enter 키를 누릅니다.
    • 추가 작업을 포함하려면 각 작업을 하이픈과 공백으로 시작해야 합니다.
    metadata:
      name: TV on lights off
      description: Turn off lights when TV turns on.
    automations:
      starters:
      - type: device.state.OnOff
        device: Chromecast - Living Room
        state: on
        is: true
      actions:
      - type:
  4. 조명을 끄는 데 device.command 작업을 사용합니다. device.command 작업을 사용하기 위해 다음과 같은 정보를 포함시킵니다.
    • type은 device.command.OnOff입니다. 명령어 또는 작업의 이름입니다.
      참고: 기기 아래에 여러 개의 명령어가 중첩될 수 있으며, 각 명령어마다 상태가 있습니다.
    • devices는 Floor Lamp - Living RoomOverhead Light - Living Room이 포함된 목록입니다. Google Home 앱에 표시되는 조명 이름으로, 여러 개의 조명을 포함하기 위해 각각의 기기를 하이픈으로 시작하는 별도의 줄에 표시했습니다.
    • 명령어에서 목표하는 state는 on: false입니다. 이 줄은 조명을 끄라고 지시합니다.
      metadata:
        name: TV on lights off
        description: Turn off lights when TV turns on.
      automations:
        starters:
        - type: device.state.OnOff
          device: Chromecast - Living Room
          state: on
          is: true
        actions:
        - type: device.command.OnOff
          devices:
          - Floor Lamp - Living Room
          - Overhead Light - Living Room
          on: false
  5. 저장을 클릭하여 스크립트를 저장합니다. 오류가 없으면 스크립트가 자동으로 활성화되어 TV를 켤 때마다 조명이 꺼집니다. 아직 스크립트를 실행할 준비가 되지 않았다면 활성화를 사용 중지하여 스크립트를 일시중지할 수 있습니다.

더 연습하려면 다른 시작 조건, 데이터 유형, 여러 개의 작업 또는 time.between과 같은 추가적인 조건을 사용하도록 스크립트 중 일부를 변경해 보시기 바랍니다. 예시 스크립트를 검토하고 Codelab에서 자세한 내용을 알아볼 수도 있습니다. 시작 조건, 작업, 조건에 관한 자세한 내용은 Google Home 개발자 센터를 참고하세요.

스크립트 기반 자동화에 관한 도움말

  • Google 홈 자동화 커뮤니티에서 스크립트에 대한 도움말을 찾아보고 다른 사람들이 어떤 작업을 하고 있는지 알아보세요.
  • 자동화가 작동하려면 스크립트에서 올바른 코드를 사용해야 합니다. 오류가 있으면 메시지가 표시됩니다. 스크립트 편집기의 오류 및 경고에 관해 자세히 알아보세요.
  • 코드를 확인하려면 스크립트 편집기에서 확인을 클릭 또는 탭하거나 스크립트를 저장하세요. 다음은 몇 가지 일반적인 오류입니다.
    • Device name - Room name 형식으로 올바른 기기 이름을 사용해야 합니다. 잘 모르겠다면 Google Home 앱에서 기기 이름을 확인하세요.
    • 기기가 실행하려는 기능을 지원하는지 확인합니다. 자동 완성을 사용하여 사용 가능한 옵션을 찾을 수도 있습니다.
    • 작업을 포함해야 합니다. 자동화를 실행하려면 작업이 필요합니다.
  • 스크립트는 저장되나 자동화가 예상대로 작동하지 않는 경우 스크립트의 각 구성요소가 작동하는지 수동으로 확인하세요. 예를 들어 해가 지면 조명을 켜고 조명의 밝기를 변경하는 스크립트를 작성한 경우, 어시스턴트 명령어로 이러한 작업을 완료하여 각각의 기능이 작동하는지 확인합니다. 다음 사항도 확인해 보세요.
    • Google Home 앱에 기기가 추가 또는 연결되어 있습니다.
    • 기기가 인터넷에 연결되어 있습니다.
    • 기기 이름, 시작 조건, 조건, 작업이 올바르게 작성되어 있습니다.
      참고: 제조업체에서 업데이트를 실행할 때 기기 특성을 변경할 수 있으며, 이로 인해 스크립트 작동이 중지될 수 있습니다. 자동 완성을 사용해 영향을 받는 스크립트를 업데이트할 수 있습니다.
    • 스크립트에 들여쓰기 및 서식이 올바르게 적용되어 있습니다.
  • 웹용 Google Home을 사용하면 스크립트 아래에 있는 자동화 로그 에 액세스하여 자동화 기록을 확인하고 잠재적인 문제를 식별할 수 있습니다. 자동화 로그에 표시되는 메시지 유형을 자세히 알아보세요.
  • 스크립트 편집기의 실험용 생성형 AI 기능을 사용하여 원하는 자동화를 설명하면 스크립트 초안이 생성되어 검토하고 수정할 수 있습니다.
  • 루틴 기본 사항 및 문제 해결 방법에 관해 자세히 알아보세요.
  • 스크립트 기반 자동화 생성 및 수정에 관해 자세히 알아보세요.

도움이 되었나요?

어떻게 하면 개선할 수 있을까요?
4866060068031088636
true
도움말 센터 검색
true
true
true
true
true
1633396
검색
검색어 지우기
검색 닫기
기본 메뉴
false
false
false
false