Tạo quy trình tự động hóa theo tập lệnh

1. Giới thiệu

Kiến thức bạn sẽ học được

  • Cách lập kế hoạch và viết tập lệnh tự động hoá.
  • Cách kiểm thử quy trình tự động hoá theo tập lệnh.

Bạn cần có

  • Điện thoại Android hoặc iOS chạy ứng dụng Google Home.
  • Đèn thông minh hoặc thiết bị khác được chứng nhận là Hoạt động với Google Home và có thể bật hoặc tắt.

2. Thiết lập thiết bị của bạn

Nếu bạn chưa thiết lập thiết bị, hãy thiết lập thiết bị tại nhà.

Xác nhận rằng thiết bị xuất hiện trong ứng dụng Google Home và bạn có thể bật/tắt thiết bị bằng ứng dụng Home.

3. Lên kế hoạch tự động hoá theo tập lệnh

Chúng ta sẽ bắt đầu bằng cách suy nghĩ về những việc mà chúng ta muốn quy trình tự động hoá theo tập lệnh thực hiện. Điều này bao gồm các yếu tố cần cân nhắc như:

  • Những thiết bị mà bạn muốn tự động hoá.
  • Điều kiện khởi động (hoặc sự kiện) nào sẽ kích hoạt quá trình thực thi quy trình tự động hoá theo tập lệnh.
  • Những điều kiện bổ sung nào (nếu có) kiểm soát việc liệu quy trình tự động hoá theo tập lệnh có chạy sau khi được kích hoạt hay không.
  • Những hành động cần thực hiện.

Đối với lớp học lập trình này, chúng ta dự định sẽ thực hiện hai việc sau đây bằng tập lệnh tự động hoá:

  1. Bật đèn (hoặc thiết bị thông minh khác) vào một thời điểm cụ thể.
  2. Tắt thiết bị vào một thời điểm cụ thể.

Giờ đây, chúng ta đã hiểu rõ những gì mình muốn quy trình tự động hoá theo tập lệnh thực hiện, chúng ta sẽ mở trình chỉnh sửa tập lệnh và viết quy trình tự động hoá theo tập lệnh.

4. Viết quy trình tự động hoá theo tập lệnh

Quy trình tự động hoá theo tập lệnh được viết theo cách khai báo bằng ngôn ngữ chuyển đổi tuần tự dữ liệu YAML.

Quy trình tự động hoá theo tập lệnh bao gồm hai phần chính:

  1. Siêu dữ liệu – Tên của quy trình tự động hoá theo tập lệnh và nội dung mô tả về chức năng của quy trình đó.
  2. Quy tắc tự động hoá – Xác định logic khởi tạo và hành vi của quá trình tự động hoá.

Metadata

Siêu dữ liệu của quy trình tự động hoá cho người dùng biết tên và chức năng của quy trình đó. Siêu dữ liệu được chỉ định trong khối metadata, có dạng như sau:

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

Quy tắc tự động hoá

Quy tắc tự động hoá là nơi diễn ra công việc thực tế. Hàm này bao gồm 3 phần: biến khởi động, điều kiệnhành động, được đánh giá theo thứ tự:

1 Bắt đầu

2 Điều kiện

3 Thao tác

Trình khởi động là yếu tố khởi tạo quá trình tự động hoá. Ít nhất một trình khởi động phải đánh giá thành true để các điều kiện tiếp theo được đánh giá.

Các điều kiện ràng buộc này là không bắt buộc và bao gồm một hoặc nhiều điều kiện ràng buộc bổ sung được đánh giá sau khi trình khởi động được kích hoạt. Nếu các điều kiện phân giải thành true, các hành động sẽ chạy. Nếu các hành động này phân giải thành false, thì các hành động sẽ không chạy.

Khi đưa vào nhiều quy tắc ràng buộc, hãy phân tách các quy tắc đó bằng từ khoá andor để tạo thành một biểu thức logic duy nhất. Biểu thức này phải phân giải thành true để các hành động của một quy trình tự động hoá có thể tiếp tục.

Điều kiện không giống với thông báo thay đổi trạng thái:

  • Điều kiện thể hiện một thực tế phải đúng tại thời điểm trình khởi động "kích hoạt" để các hành động chạy.
  • Thông báo thay đổi trạng thái là một sự kiện, chẳng hạn như một thiết bị khác đang bật.

Thao tác là các thao tác được thực hiện khi đáp ứng điều kiện ràng buộc và điều kiện khởi động.

Khối automations của quy trình tự động hoá chứa hai quy tắc:

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

Xin lưu ý những điều sau:

  1. Có hai quy tắc automations. Nút đầu tiên bật đèn và nút thứ hai tắt đèn.
  2. Mỗi quy tắc có một hành động.
  3. on: true có nghĩa là bật đèn. Tương tự, on: false có nghĩa là tắt đèn.
  4. Mỗi quy tắc có một trình khởi động time.schedule duy nhất cho biết thời điểm bắt đầu tự động hoá.
  5. Không có điều kiện nào trong quy trình tự động hoá này.

5. Quy trình tự động hoá đầy đủ theo tập lệnh

Khi kết hợp tất cả các phần này lại với nhau, bạn sẽ có được quy trình tự động hoá theo tập lệnh hoàn chỉnh như sau:

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. Sao chép quy trình tự động (ở trên).
  2. Truy cập vào Google Home dành cho web.
  3. Chọn thẻ tự động hoá, được biểu thị bằng biểu tượng có ba ngôi sao:
    Thẻ Tự động hoá
  4. Nhấp vào + Thêm mới.
  5. Trong trình chỉnh sửa tập lệnh, hãy xoá mẫu tự động hoá.
  6. Dán quy trình tự động.
  7. Thay thế Desk light - Office bằng tên và vị trí của thiết bị.
  8. Nhấp vào Xác thực. Trình chỉnh sửa tập lệnh sẽ gạch chân các phần của quy trình tự động hoá theo tập lệnh có chứa lỗi. Giải quyết mọi lỗi phát sinh và tiếp tục xác thực và sửa lỗi cho đến khi không còn lỗi nào nữa. Ví dụ: tên thiết bị của bạn có thể khác. Trong trường hợp đó, bạn có thể sử dụng tính năng tự động hoàn thành để chọn một tên thiết bị hợp lệ.
  9. Nhấp vào Lưu.
  10. Đảm bảo nút chuyển Kích hoạt (bên dưới văn bản của tập lệnh) ở vị trí bật: Trình chỉnh sửa tập lệnh có quy trình tự động hoá theo tập lệnh đã được xác thực và kích hoạt đầy đủ

6. Kiểm thử quy trình tự động hoá

  1. Đảm bảo thiết bị của bạn đã được cắm điện và xuất hiện trong ứng dụng Google Home.
  2. Nếu thiết bị đang bật, hãy tắt thiết bị.
  3. Trên trang Tự động hoá trong Google Home dành cho web, hãy nhấp vào nút "chạy" bên cạnh quy trình tự động hoá của bạn.
    Nút chạy tập lệnh
  4. Thiết bị sẽ bật.

Bây giờ, hãy kiểm thử tính năng tự động hoá.

  1. Tắt thiết bị.
  2. Chỉnh sửa quy trình tự động hoá và thay đổi thời gian "bật thiết bị" trên dòng 7 thành thời gian 5 phút sau.
  3. Thay đổi thời gian "tắt thiết bị" trên dòng 14 thành thời gian ngay sau "thời gian bật".
  4. Nhấp vào Xác thực. Giải quyết mọi lỗi có thể xảy ra.
  5. Nhấp vào Lưu.
  6. Đảm bảo nút chuyển Kích hoạt ở vị trí bật.
  7. Chờ hai thời điểm bắt đầu trôi qua. Thiết bị sẽ bật rồi tắt vào thời điểm bạn chỉ định.

7. Xin chúc mừng!

Bạn đã tạo thành công một quy trình tự động hoá theo tập lệnh. Thật tuyệt vời!

Trong lớp học lập trình này, bạn đã tìm hiểu cách:

  • Cách thiết kế và viết quy trình tự động hoá.
  • Cách kiểm thử quy trình tự động hoá.

Các bước tiếp theo

Trong lớp học lập trình này, chúng ta đã tạo một quy trình tự động hoá rất đơn giản. Tính năng tự động hoá có thể làm được nhiều việc hơn là lên lịch bật/tắt công tắc nguồn. Giờ đây, khi đã nắm được kiến thức cơ bản về cách tạo quy trình tự động hoá, bạn có thể khám phá nhiều loại trình kích hoạt, điều kiện và hành động có trong hệ sinh thái Google Home.

Hãy thử các bài tập sau:

  • Thêm các trình khởi động time.schedule khác vào quy trình tự động hoá.
  • Sửa đổi quy trình tự động hoá để bật và tắt một thiết bị khác theo cùng một lịch biểu.
  • Không xoá trình khởi động time.schedule, hãy sửa đổi tính năng tự động hoá để chỉ bật các thiết bị khi một thiết bị khác đang bật nguồn. Tham khảo các tập lệnh ví dụ sử dụng mệnh đề condition.
  • Sửa đổi chế độ tự động hoá để chỉ bật các thiết bị khi có người ở nhà.

Tài liệu đọc thêm

Để tìm hiểu thêm về tính năng tự động hoá của Google Home, hãy khám phá tài liệu tham khảo về tính năng Tự động hoá: