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 một quy trình tự động hoá theo kịch bản.
  • Cách kiểm thử quy trình tự động hoá theo kịch bản.

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 thiết bị của bạn chưa được thiết lập, hãy thiết lập thiết bị trong 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ập kế hoạch cho quy trình tự động hoá theo tập lệnh

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

  • Thiết bị 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 việc thực thi quy trình tự động hoá bằng tập lệnh.
  • Những điều kiện bổ sung (nếu có) kiểm soát việc tập lệnh tự động hoá có chạy hay không sau khi được kích hoạt.
  • Những hành động cần thực hiện.

Để phục vụ mục đích của lớp học lập trình này, chúng ta dự định sẽ để quy trình tự động hoá theo kịch bản thực hiện 2 việc:

  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, khi đã biết chính xác 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, 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á bằng tập lệnh được viết theo kiểu khai báo bằng ngôn ngữ chuyển đổi tuần tự dữ liệu YAML.

Một quy trình tự động hoá dựa trên tập lệnh bao gồm 2 phần chính:

  1. Siêu dữ liệu – Tên của quy trình tự động hoá dựa trên 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 quy 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 tự động hoá. 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 sự. Nó bao gồm 3 phần: trình khởi chạy, điều kiệnhành động, được đánh giá theo thứ tự:

1 Starters

2 điều kiện

3 Hành động

Điều kiện khởi động là những yếu tố bắt đầu quy trình tự động hoá. Ít nhất một điều kiện khởi động phải đánh giá thành true để các điều kiện tiếp theo được đánh giá.

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

Khi thêm nhiều điều kiện ràng buộc, hãy phân tách các điều kiện đó 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 quy trình tự động hoá 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 sự kiện phải đúng tại thời điểm mà điều kiện 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.

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

Khối automations trong quy trình tự động hoá của chúng tôi có 2 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ó 2 quy tắc automations. Công tắc thứ nhất bật đèn và công tắc thứ hai tắt đèn.
  2. Mỗi quy tắc có một hành động duy nhất.
  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 điều kiện khởi động time.schedule duy nhất cho biết thời điểm quy trình tự động hoá bắt đầu.
  5. Quy trình tự động hoá này không có điều kiện nào.

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

Khi kết hợp tất cả các phần này lại với nhau, đây là giao diện của quy trình tự động hoá hoàn chỉnh bằng tập lệnh:

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 tắc tự động hoá (ở trên).
  2. Truy cập vào Google Home dành cho web.
  3. Chọn thẻ tự động hoá, có biểu tượng là 3 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 hoá.
  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 những phần có lỗi trong quy trình tự động hoá bằng tập lệnh. Giải quyết mọi lỗi phát sinh, đồng thời tiếp tục xác thực và sửa lỗi cho đến khi không còn lỗi nào. Ví dụ: tên thiết bị của bạn có thể khác. Nếu vậy, bạn có thể 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 hoàn toàn

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ử quy trình tự động hoá.

  1. Tắt thiết bị.
  2. Chỉnh sửa quy tắc tự động hoá và thay đổi thời gian "bật thiết bị" ở dòng 7 thành thời gian trong 5 phút tới.
  3. Thay đổi thời gian "tắt thiết bị" ở 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 Kích hoạt ở vị trí bật.
  7. Đợi cho đến khi cả hai thời gian bắt đầu trôi qua. Thiết bị sẽ bật rồi tắt vào thời gian 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á dựa trên tập lệnh – thật tuyệt!

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 một quy trình tự động.
  • Cách kiểm thử một 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. Các quy trình tự động hoá có thể làm được nhiều việc hơn là chỉ lên lịch bật/tắt công tắc nguồn. Giờ đây, khi đã hiểu những điều cơ bản về cách tạo một quy trình tự động hoá, bạn có thể khám phá nhiều loại điều kiện 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 time.schedule điều kiện khởi động 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 cần xoá các điều kiện khởi động time.schedule, hãy sửa đổi quy trình tự động hoá để chỉ bật các thiết bị khi một thiết bị khác được bật. Tham khảo 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á: