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

스크립트 편집기를 사용하면 웹용 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입니다.

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

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

데이터 유형

원시 데이터

원시 데이터 유형에는 스크립트 편집기에서 지원하는 모든 기본 데이터 유형이 포함됩니다.

원시 데이터 형식 값 유형
불(Bool)
  • true
  • false
숫자 정수 또는 소수입니다.
문자열

일반 텍스트

문자열 값이 [, {, ", ',, #으로 시작하는 경우에만 따옴표가 필요합니다. 그렇지 않은 경우 문자열에 콜론이 포함되며 그 뒤에 1~2개의 공백이 따라옵니다. 따옴표는 항상 한 쌍을 이루어야 합니다. 예를 들어 " " 또는 ‘ ‘,를 사용해야 하며 " ‘와 같이 사용할 수는 없습니다.

날짜

월 및 일입니다. 형식은 MM-DD 또는 MM/DD입니다.

  • 09/01
  • 09-01
시간

시간은 AM/PM 형식 또는 24H 형식 중 하나를 사용할 수 있습니다. 초는 선택사항입니다. 태양과 관련된 시간을 사용할 수도 있습니다. 예를 들어 sunrisesunset 키워드 다음에 지속 시간을 사용할 수 있습니다.

  • 12:30 am
  • 13:00:01
  • sunrise / sunset
  • sunset+30min / sunset-1hour
날짜/시간

연도, 월, 일, 시간입니다.

날짜와 시간 사이에는 공백이 있어야 합니다.

날짜 형식은 YYYY-MM-DD 또는 YYYY/MM/DD입니다. 시간 형식은 위의 '시간'과 동일합니다. 시간대는 지원되지 않습니다.

  • 2022/01/01 14:00
  • 2022-12-31 sunrise+30min
요일
  • MON 또는 MONDAY
  • TUE 또는 TUESDAY
  • WED 또는 WEDNESDAY
  • THU 또는 THURSDAY
  • FRI 또는 FRIDAY
  • SAT 또는 SATURDAY
  • SUN 또는 SUNDAY
지속 시간

얼마간 지속되는 시간입니다.

  • 30min
  • 1hour
  • 20sec
  • 1hour10min20sec

16진수 색상

색상을 나타내는 6자리의 16진수 코드입니다. 맨 앞의 # 기호는 표시하지 않습니다.

  • FFFFFF
  • B5D2A1
  • DFA100
온도

온도 데이터입니다. 항상 C 또는 F를 추가하여 섭씨 또는 화씨를 나타냅니다.

  • 20.5C
  • 90F
색상 온도

켈빈(K) 단위의 색상 온도입니다.

  • 5000K
구조: 중첩된 키-값 쌍

구조 데이터 유형은 여러 키-값 쌍을 포함하는 '블록' 또는 데이터 구조입니다. 이러한 키-값 쌍은 하나의 상위 키 아래에 중첩되며, 계층 구조를 나타내기 위해 각 수준의 중첩 항목은 동일한 수의 공백 또는 탭을 사용해 들여씁니다.

actions:
  device: Light B - Living room
  state: on

이 예에서 상위 actions입니다. actions은 다음과 같이 중첩된 2개의 키-값 쌍입니다.

  • 1번 쌍: 하위 = device, = Light B - Living room
  • 2번 쌍: 하위 = state, = on
목록: 값이 여러 개인 키

하나의 키에 여러 값을 포함하려면 각 항목 앞에 하이픈이 있는 목록을 만드세요. 목록에서 구조 또는 원시 데이터 유형 값 중 하나를 사용할 수 있지만 두 값을 동시에 사용할 수는 없습니다.

weekdays:
- MONDAY
- THURSDAY

이 예에서 weekdays이고 MondayThursday를 포함하는 목록입니다.

고급 구조: 중첩된 쌍 및 목록 결합
더 복잡한 자동화의 경우 값은 여러 개의 중첩된 키-값 쌍이 포함된 목록이 될 수 있습니다.
starters:
- type: time.schedule
  at: 10:00 am
  weekdays:
  - MONDAY
  - THURSDAY
- type: time.schedule
  at: SUNSET
  weekdays:
  - MONDAY
  - THURSDAY

이 예에서 상위 starters입니다. 상위 키의 은 항목마다 여러 개의 키-값 쌍이 포함된 목록입니다.

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

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라는 두 가지 주요 블록으로 나뉘며, 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 개발자 센터를 방문하세요.

시작 조건

스크립트의 시작 조건 섹션에서는 스크립트를 실행하도록 유발하는 요인을 지정합니다. 시작 조건은 기기가 수행할 수 있는 작업이나 변경될 수 있는 속성(기기 상태, 시간, 기기 이벤트 등)을 기반으로 합니다. 예를 들어 OnOff, Brightness, ColorSetting 상태가 있는 전구를 사용하고 있는 경우 시작 조건을 여러 개 포함하려면 각 시작 조건을 ' - type: ' 키로 시작하세요. 이 경우 스크립트가 실행되려면 시작 조건을 하나 이상 충족해야 합니다.

지원되는 시작 조건의 전체 목록을 확인하세요.

시작 조건 유형

어시스턴트 시작 조건
assistant.command 시작 조건을 사용하면 어시스턴트가 있는 기기에서 "Hey Google"로 시작하는 어시스턴트 명령어를 인식한 경우 스크립트가 시작됩니다.
음성 명령으로 자동화가 시작되고 스크립트에 어시스턴트 작업이 있으면, 스크립트에 다른 기기가 지정되어 있어도 음성 명령을 인식한 기기에서 어시스턴트 작업이 실행됩니다.
예: 누군가 "Hey Google 파티 시간"이라고 말하면 자동화를 시작합니다.
starters:
- type: assistant.command.OkGoogle
  eventData: query
  is: party time
기기 이벤트 시작 조건

device.event 시작 조건을 사용하면 특정 이벤트가 발생할 때 스크립트가 시작됩니다. 누군가 초인종을 울리거나 센서가 무언가를 감지한 경우를 예로 들 수 있습니다.

도움말: 일부 이벤트는 지원되지 않습니다.

예: 누군가 초인종을 누르면 자동화가 시작됩니다.
starters:
- type: device.event.DoorbellPress
  device: Doorbell - Front door
예: 카메라가 사람을 감지하면 자동화가 시작됩니다.
starters:
- type: device.event.PersonDetection
  device: Camera - Backyard 

예: 카메라가 움직임을 감지하면 자동화를 시작합니다.

starters:
- type: device.event.MotionDetection
device: Camera - Backyard

도움말:

  • 카메라 활동을 위해서는 호환되는 Nest 카메라, 초인종 또는 디스플레이와 활동 감지 설정이 필요합니다.
  • 일부 카메라 활동의 경우 Google Home Premium 요금제가 필요하거나 카메라가 유선으로 전원에 연결되어야 할 수 있습니다. 예를 들어 Nest Cam(실내용 또는 실외용, 배터리)의 경우 소리 감지는 유선으로 연결된 경우에만 작동합니다.
  • 기기 이벤트 및 기기 상태에 따라 시작 조건을 막아 일정 기간 반복되지 않도록 할 수 있습니다.
기기 상태 시작 조건
device.state 시작 조건을 사용하면 기기 상태에 따라 자동화가 시작됩니다. 상태는 기기의 특성으로, 온도 조절기의 온도가 특정 온도에 도달하는 경우, 조명이 켜지거나 꺼지는 경우, 지원되는 센서가 정해진 기준에 도달하는 경우 등을 나타냅니다.
기기 이벤트 및 기기 상태에 따라 시작 조건을 막아 일정 기간 반복되지 않도록 할 수 있습니다.
'device.state' 뒤에 기기 상태 시작 조건의 상태를 추가합니다. 예를 들어 기기가 켜져 있는지 확인하려면 device.state.OnOff를 사용하면 됩니다.
device.state 시작 조건을 사용하려면 type, device, state의 3가지 키로 시작하고 그 뒤에 비교 키-값 쌍 1개 이상을 추가합니다.
type device.state로 시작하는 기기 상태 시작 조건입니다. device.state.ArmDisarm
device Google Home 앱에 표시되는 이름과 방 이름입니다. Device name - Room name Alarm - Front Door
state

확인하려는 시작 조건의 필드 또는 상태 데이터입니다.

Google Home 개발자 센터에서 사용하려는 시작 조건을 찾아 '지원되는 필드' 또는 '상태 데이터'를 확인하세요.
isArmed
도움말: 기기에서 사용할 수 있는 기기 상태를 찾으려면 스크립트에 먼저 'device: ' 키를 입력한 다음 'type: ' 키를 입력하세요. 자동 완성 기능이 기기에서 사용 가능한 상태 목록을 표시합니다.

다음과 같은 비교 키-값 쌍을 device.state 시작 조건과 함께 사용할 수 있습니다.

비교 키 지원되는 값 유형
is 문자열 | 숫자 | | 동적 is: on
isNot 문자열 | 숫자 | | 동적 isNot: cast
greaterThan
greaterThanOrEqualTo
문자열 | 숫자 | | 동적 greaterThan: 1
lessThan
lessThanOrEqualTo
문자열 | 숫자 | | 동적 lessThan: 10
suppressFor 지속 시간 suppressFor: 1hour

: TV 볼륨이 1~10이면 자동화가 시작됩니다.

starters:
- type:  device.state.Volume
  device: TV - Living room
  state:  currentVolume
  greaterThan: 1
  lessThan: 10 
집 상태 시작 조건
home.state 시작 조건을 사용하여 재택 또는 외출 여부에 따라 스크립트를 시작할 수 있습니다. 집의 상태는 인기척 감지로 감지됩니다.
예: 사용자가 집에 있으면 자동화가 시작됩니다.
starters:
- type: home.state.HomePresence
  state: homePresenceMode
  is: HOME
시간 시작 조건
time 시작 조건을 사용하면 특정 요일 및 시간을 기준으로 자동화를 시작할 수 있습니다. time 시작 조건과 함께 다음과 같은 비교 키-값 쌍을 사용할 수 있습니다.
비교 키 지원되는 값 유형
before 시간 before: sunset
after 시간 after: 7:00 am
weekdays 요일 weekdays: MON

: 월요일과 화요일에 해가 뜨고 30분 지난 후 자동화를 시작합니다.

starters:
- type: time.schedule
  at: sunrise+30min
  weekdays:
  - MON
  - TUE

시작 조건을 막는 방법

비교 키 suppressFor를 사용하여 일정 기간 시작 조건을 무시하도록 자동화에 지시합니다. 예를 들어 카메라가 누군가를 감지하면 '현관에 누가 있습니다'라고 말한 다음 해당 사람이 계속 감지되더라도 10분 동안은 다시 알리지 않습니다.

예: 누군가 아침에 처음으로 집 복도를 걸어가면 블라인드를 모두 열고 이후 20시간 동안 이 시작 조건을 막습니다.

metadata:
  name: Open Blinds
  description: Open blinds in the morning after motion detected
automations:
  starters:
  - type: device.event.MotionDetection
    device: Camera - Hallway
    suppressFor: 20hours
  condition:
    type: time.between
    after: 5:00 
    before: 12:00
  actions:
  - type: device.command.OpenClose
    openPercent: 100
  devices:
  - Blinds1 - Living Room
  - Blinds2 - Family Room
조건
조건은 자동화가 실행되어야 하는 경우에 대한 선택적 제한사항입니다. 조건을 포함하면 조건이 충족되는 경우에만 스크립트가 실행됩니다. 시작 조건 중에서는 조건으로 사용할 수 있는 것도 많으며, 여러 조건을 논리 연산자 and, or, not과 함께 사용해 복잡한 조건 확인을 표현할 수도 있습니다.
type: or
conditions:
- type: time.between
  before: sunrise
  after: sunset
  weekdays:
  - MON
  - TUE
- type: device.state.Volume
  device: My TV - Living Room
  state: currentVolume
  greaterThan: 1
  lessThan: 10

이 예에는 time 조건 하나와 device.state 조건 하나가 있습니다. 스크립트는 월요일이나 화요일, 일몰과 일출 사이일 때 또는 TV 볼륨이 1~10인 경우 실행됩니다.

다음과 같은 조건 유형을 사용할 수 있습니다.

조건 연산자

AND 조건

and 조건을 사용하면 모든 하위 조건을 충족하는 경우에만 스크립트가 실행됩니다.

: TV가 켜져 있고 동시에 시간이 오후 6시 이후인 경우 자동화가 시작됩니다.

condition:
  type: and
  conditions:
  - type: device.state.OnOff
    device: TV - Living Room
    state: on
    is: true
  - type: time.between
    after: 6:00 pm

OR 조건

or 조건을 사용하면 하위 조건 중 하나가 발생하는 경우 스크립트가 실행됩니다.

: TV가 켜져 있거나 시간이 오후 6시 이후인 경우 자동화가 시작됩니다.

condition:
  type: or
  conditions:
  - type: device.state.OnOff
    device: TV - Living Room
    state: on
    is: true
  - type: time.between
    after: 6:00 pm

NOT 조건

not 조건을 사용하면 하위 조건이 발생하는 경우 스크립트가 실행되지 않습니다.

: 시간이 오후 6시에서 8시 사이가 아니면 자동화가 시작됩니다.

condition:
  type: not
  condition:
    type: time.between
    after: 6:00pm
    before: 8:00pm
기기 상태 조건
device.state 조건을 사용해 스크립트가 시작될 때의 기기 상태에 따라 스크립트가 실행될 수 있는 상황을 제한할 수 있습니다. device.state 조건은 device.state 시작 조건과 비슷하지만, 스크립트가 시작되는 경우를 지정하는 대신 스크립트가 실행될 수 있는 상황을 제한한다는 점이 다릅니다.
'device.state' 뒤에 기기 상태 조건의 상태를 추가합니다. 예를 들어 기기가 켜져 있는지 확인하려면 device.state.OnOff를 사용하면 됩니다.
device.state 조건을 사용하려면 type, device, state의 3가지 키로 시작하고 그 뒤에 비교 키-값 쌍 1개 이상을 추가합니다.
type device.state로 시작하는 기기 상태 조건입니다. device.state.OnOff
device Google Home 앱에 표시되는 이름과 방 이름입니다. Device name - Room name Chromecast - Living Room
state

확인하려는 시작 조건의 상태입니다.

Google Home 개발자 센터에서 사용하려는 기기 상태 조건을 알아보세요.

state: on

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

다음과 같은 비교 키-값 쌍을 device.state 조건과 함께 사용할 수 있습니다.

비교 키 지원되는 값 유형
is 문자열 | 숫자 | | 동적 is: on
isNot 문자열 | 숫자 | | 동적 isNot: cast
greaterThan
greaterThanOrEqualTo
문자열 | 숫자 | | 동적 greaterThan: 1
lessThan
lessThanOrEqualTo
문자열 | 숫자 | | 동적 lessThan: 10

: 온도 조절기에서 감지된 습도가 55%를 넘으면 자동화가 시작됩니다.

condition:
  type: device.state.TemperatureSetting
  device: My Thermostat - Living Room
  state: thermostatHumidityAmbient
  greaterThan: 55
집 상태 조건
home.state.HomePresence 조건을 사용하면 재택 또는 외출 중인지에 따라 스크립트가 실행될 수 있는 상황을 제한할 수 있습니다.
home.state.HomePresence 조건을 사용하는 스크립트를 만들기 전에 Google Home 앱에서 인기척 감지를 설정하고 인기척 감지가 예상대로 작동하는지 확인하세요. 집에 사람이 있는지 여부는 가족의 휴대전화 위치, 일부 Nest 기기의 센서에 의해 결정되며, Google Home 앱에서 재택이나 외출을 수동으로 전환해도 됩니다.

인기척 감지 및 인기척 감지 기반 자동화에 대해 자세히 알아보려면 다음을 참고하세요.

다음과 같은 비교 키-값 쌍을 home.state.HomePresence 조건과 함께 사용할 수 있습니다.
비교 키 지원되는 값 유형
is 문자열('HOME' 또는 'AWAY') is: away
isNot 문자열('HOME' 또는 'AWAY') isNot: HOME
for 지속 시간 for: 30min
suppressFor 지속 시간 suppressFor: 1hour

: 현재 위치가 'HOME'으로 설정된 경우 home.state.HomePresence 조건이 자동화를 시작합니다.

condition:
  type: home.state.HomePresence
  state: homePresenceMode
  is: HOME
시간 조건
time.between 조건을 사용하여 스크립트가 실행될 수 있는 시점을 제한합니다. time.between 조건과 함께 다음과 같은 비교 키-값 쌍을 사용할 수 있습니다.
비교 키 지원되는 값 유형
before 시간 before: sunset
after 시간 after: 7:00 am
weekdays 요일 weekdays: MON

예: 주말 오전 10시 전에만 자동화를 시작합니다.

condition:
  type: time.between
  before: 10am
  weekdays:
  - SAT
  - SUN

작업

스크립트의 작업 섹션에는 기기에서 실행할 작업을 입력합니다. 여러 작업을 포함하려면 각 작업을 '- type: ' 키로 시작하세요. 스크립트를 실행하려면 작업이 1개 이상 있어야 합니다. 대부분의 작업은 device.command로 시작합니다.

다음과 같은 작업 유형을 사용할 수 있습니다.

어시스턴트 작업

스피커 또는 디스플레이에 assistant.command 작업을 사용해 어시스턴트가 "조명 전부 꺼 줘" 또는 "날씨 알려 줘"와 같은 작업을 완료하도록 할 수 있습니다.

어시스턴트 명령어를 사용하면 특정 기기 이름을 사용하지 않고도 방별 또는 집 전체의 기기에 작업을 명령할 수 있습니다. 이를 통해 이후에 Home 앱에 추가되는 기기에서도 이 명령어를 자동으로 실행할 수 있으므로 시간 절약이 가능합니다. 어시스턴트 명령어를 사용하려면 작업을 실행할 호환되는 스피커 또는 디스플레이가 필요합니다.

음성 명령으로 자동화가 시작되고 스크립트에 어시스턴트 작업이 있으면, 스크립트에 다른 기기가 지정되어 있어도 음성 명령을 인식한 기기에서 어시스턴트 작업이 실행됩니다.

: "거실 조명 켜 줘"를 사용하여 거실에 있는 모든 조명을 켭니다.

actions:
- type: assistant.command.OkGoogle
  okGoogle: Turn on living room lights
  devices: My Speaker - Room Name 
: "조명 전부 꺼 줘"를 사용하여 집에 설정된 모든 조명을 끕니다.
actions:
- type: assistant.command.OkGoogle
  okGoogle: Turn off all lights
  devices: My Speaker - Room Name 
: 스피커 또는 디스플레이에서 알림을 보내도록 할 수 있습니다.
actions:
- type: assistant.command.Broadcast
  devices:
  - My Speaker 1 - Room Name
  - My Speaker 2 - Room Name
  message: It’s dinner time.

어시스턴트 작업을 통해 다음과 같은 맞춤 작업도 실행할 수 있습니다.

  • "침실 스피커에서 YouTube Music으로 아델의 Hello 재생해 줘"
  • "거실 디스플레이에서 YouTube로 재미있는 고양이 동영상 재생해 줘"
  • "내일 날씨 어때?"
  • "재미있는 얘기해 줘"
  • "서재 디스플레이에서 진입로 카메라 보여 줘"
Voice Match 또는 개인 검색 결과가 사용 설정되어 있어야 하는 어시스턴트 작업은 스크립트 편집기로 만든 가족 자동화에서 작동하지 않습니다.
기기 작업
device.command 작업을 사용하여 기기를 제어하거나 조정합니다. 각각의 작업 명령어마다 고유한 특성과 구조가 있습니다. 'device.command' 뒤에 기기의 명령어 작업을 추가하여 스크립트에 명령어를 추가할 수 있습니다. 예를 들어 기기를 켜려면 device.command.OnOff를 사용하세요. device.command 작업에는 다음 정보가 포함되어야 합니다.
type device.command로 시작하는 기기 작업입니다. device.command.OpenClose
devices Google Home 앱에 표시되는 기기 이름과 방 이름입니다(기기 이름 - 방 이름). 여러 기기를 포함하려면 목록을 만드세요. Blinds - Bedroom

도움말: 기기에서 사용할 수 있는 작업이나 명령어를 찾으려면 먼저 'device:' 키를 입력한 다음 'type:' 키를 입력하세요. 그러면 자동 완성 기능이 해당 기기에서 사용 가능한 작업 목록을 표시합니다.

많은 device.command 작업에는 명령어에 필요한 입력을 지정하는 추가 키가 있습니다. 예를 들어 device.command.ThermostatTemperatureSetpointthermostatTemperatureSetpoint라는 키-값 쌍이 있어야 설정하려는 새 온도를 온도 조절기에 알려줄 수 있습니다.

명령어를 사용하는 방법을 자세히 알아보려면 Google Home 개발자 센터에서 관련 작업을 찾고 사용할 작업의 구조를 따르세요.

예: 거실 TV 켜기

actions:
  type: device.command.OnOff
  devices: TV - Living room
  on: true

: 조명을 켠 다음 5분 후에 끄기

actions:
- type: device.command.OnOff
  devices: Light A - Living Room
  on: true
- type: time.delay
  for: 5min
- type: device.command.OnOff
  devices: Light A - Living Room
  on: false
알림 작업

스크립트에서 홈 구성원의 휴대기기에 알림을 전송하도록 하려면 home.command.Notification 작업을 사용합니다. 예를 들어 스마트 플러그에 연결된 기기가 꺼지거나 오프라인 상태가 되면 알림을 받을 수 있습니다.

actions:
- type: home.command.Notification
  members:
  - Alex - cloudysanfrancisco@gmail.com
  - Kim - jeffersonloveshiking@gmail.com
  title: It’s movie time!
  body: Join me in the living room
 
시간 작업
time.delay 작업을 사용하면 목록에 있는 모든 작업을 한꺼번에 수행하는 대신 두 작업 사이에 사용자가 정의한 시간 동안 스크립트가 대기하도록 할 수 있습니다. 스크립트에 여러 차례의 지연을 추가할 수 있습니다. 예를 들어 스크립트가 각 작업 간에 10초 동안 대기하도록 할 수 있습니다.
예: 조명을 켠 다음 30초 후에 끄기
actions:
- type: device.command.OnOff
  devices: 
    - Bedside Lamp - Bedroom
    - Ceiling Light - Bedroom
  on: true
- type: time.delay
  for: 30sec
- type: device.command.OnOff
  devices: 
    - Bedside Lamp - Bedroom
    - Ceiling Light - Bedroom
  on: false

리소스

스크립트 작성 연습하기

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

도움이 되었나요?

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