Chế độ tự động hoá

automations Struct là cốt lõi của một tập lệnh tự động hoá. Đây là nơi bạn chỉ định hành vi tự động hoá, bao gồm cả các yếu tố khởi động, điều kiện và hành động. Những thông tin này được gọi chung là quy tắc tự động hoá.

automations Struct chứa một hoặc nhiều quy tắc tự động hoá và mỗi quy tắc luôn chứa một nhóm các điều kiện bắt đầu và hành động. Một quy tắc có thể chứa các điều kiện (không bắt buộc). Đây là những điều kiện bổ sung phải được đáp ứng để tập lệnh được thực thi.

Khóa Loại Nội dung mô tả

name

String

Không bắt buộc

Tên của quy trình tự động hoá.

Người dùng sẽ không thấy tên này, tên này chỉ dành cho nhà phát triển tham khảo.

starters

[Starter]

Bắt buộc

Danh sách các món khai vị.

condition

Tình trạng

Không bắt buộc

Điều kiện

actions

[Hành động]

Bắt buộc

Danh sách các thao tác

Ví dụ

Sau đây là 2 ví dụ giới thiệu về Struct automations.

Trong ví dụ đầu tiên, quy trình tự động hoá sẽ bắt đầu khi TV có tên "TV của tôi" được bật.

Sau khi được kích hoạt, các hành động sau sẽ được thực hiện:

Hai thiết bị LIGHT, có tên là "Đèn A" và "Đèn B", được bật và đặt ở mức độ sáng 50.

automations:
- name: Dim the lights
  starters:
  - type: device.state.OnOff
    device: My TV - Living Room
    state: on
    is: true
  actions:
  - type: device.command.OnOff
    devices:
    - Light A - Living Room
    - Light B - Living Room
    on: true
  - type: device.command.BrightnessAbsolute
    devices:
    - Light A - Living Room
    - Light B - Living Room
    brightness: 50

Trong ví dụ thứ hai, cùng một quy trình tự động hoá được bắt đầu vào lúc hoàng hôn mỗi thứ Hai và thứ Năm:

automations:
- name: Dim the lights
  starters:
  - type: time.schedule
    at: SUNSET
    weekday:
    - MONDAY
    - THURSDAY
    state: on
    is: true
  actions:
  - type: device.command.OnOff
    devices:
    - Light A - Living Room
    - Light B - Living Room
    on: true
  - type: device.command.BrightnessAbsolute
    devices:
    - Light A - Living Room
    - Light B - Living Room
    brightness: 50

Đội hình ra sân

Starter Struct là nơi bạn chỉ định các starter khiến Automation script được thực thi. Mỗi automation có thể chứa một hoặc nhiều starter và ít nhất một starter phải đánh giá thành true để các điều kiện tiếp theo được đánh giá.

Ví dụ về một time.schedule khởi động:

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

Ví dụ về điều kiện khởi động khi trạng thái thiết bị thay đổi:

type: device.state.Volume
device: My TV - Living Room
state: currentVolume
greaterThan: 1
lessThan: 10

Ví dụ về điều kiện khởi động cho một sự kiện trên thiết bị:

type: device.event.DoorbellPress
device: My doorbell - Frontdoor

Ví dụ về điều kiện khởi động khi chế độ hiện diện ở nhà thay đổi:

type: home.state.HomePresence
state: homePresenceMode
is: HOME

Xem danh sách đầy đủ các nhà sáng tạo mới.

Điều kiện

Bạn có thể kết hợp các điều kiện với toán tử logic and, ornot để thể hiện logic phức tạp hơn.

Trong ví dụ sau, có một Struct condition với một điều kiện time và một điều kiện device.state. Struct này cho phép tập lệnh chạy nếu đó là khoảng thời gian từ lúc mặt trời lặn đến lúc mặt trời mọc vào thứ Hai hoặc thứ Ba, hoặc nếu âm lượng TV nằm trong khoảng từ 1 đến 10:

type: or
conditions:
- type: time.between
  before: sunrise
  after: sunset
  weekdays:
  - MON
  - TUE
- type: device.state
  device: My TV - Living Room
  trait: Volume
  state: currentVolume
  greaterThanOrEqualTo: 1
  lessThanOrEqualTo: 10

Ví dụ về điều kiện time cơ bản giới hạn việc thực thi một tập lệnh Tự động hoá vào các ngày cuối tuần trước 10:00 sáng:

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

Điều kiện nhiệt độ của cảm biến trên thiết bị điều nhiệt:

type: device.state.TemperatureSetting
device: My Thermostat - Living Room
state: thermostatTemperatureAmbient
greaterThan: 65F

Ví dụ về điều kiện home.state.HomePresence:

type: home.state.HomePresence
state: homePresenceMode
is: AWAY

Xem danh sách đầy đủ các điều kiện.

Thao tác

Giống như điều kiện và điều kiện bắt đầu, mỗi hành động đều có một type cho biết loại hành động đang được chỉ định.

Các loại lệnh device.command là quan trọng và hữu ích nhất. Ví dụ về hành động tắt đèn.

type: device.command.OnOff
devices:
- Light A - Living Room
on: false

Một thao tác để thêm độ trễ giữa nhiều thao tác khác.

type: time.delay
for: 5min

Xem danh sách đầy đủ các hành động.