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 quy trình tự động hoá theo tập lệnh.
  • Cách kiểm thử một 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 tương thích 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 tiếp tục và thiết lập thiết bị trong nhà của bạn.

Kiểm tra để đảm bảo 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 tự động hoá theo tập lệnh

Chúng ta sẽ bắt đầu bằng cách suy nghĩ xem chúng ta muốn quy trình tự động hoá theo tập lệnh thực hiện, bao gồm những điểm 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 việc thực thi quy trình tự động hoá theo tập lệnh.
  • Các điều kiện bổ sung (nếu có) kiểm soát việc quy tắc tự động theo tập lệnh có chạy sau khi được kích hoạt hay không.
  • Những việc cần làm.

Mục đích của lớp học lập trình này, kế hoạch của chúng ta là yêu cầu quy trình tự động hoá theo tập lệnh 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ị tại một thời điểm cụ thể.

Bây giờ, khi đã hiểu rõ chính xác những gì chúng ta muốn lệ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 lệnh tự động hoá theo tập lệnh.

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

Các 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.

Quá 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 theo tập lệnh và nội dung mô tả về hoạt động của quy trình đó.
  2. Quy tắc tự động hoá – Xác định logic khởi động và hành vi của quy tắc tự động hoá.

Metadata

Siêu dữ liệu của quy trình tự động hoá của chúng tôi cho người dùng biết quy trình tự động hoá đó tên là gì và có chức năng gì. 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

Các quy tắc tự động hoá

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

1 Điều kiện khởi động

2 điều kiện

3 Hành động

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

Các quy tắc này là không bắt buộc và bao gồm một hoặc nhiều quy tắc ràng buộc bổ sung được đánh giá sau khi đ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 hành động sẽ chạy. Nếu các mã đó phân giải thành false, thì các hành động này sẽ không chạy.

Khi đưa vào 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 thực hiện.

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

  • Một điều kiện thể hiện một thực tế phải đúng tại thời điểm điều kiện khởi động "kích hoạt" để các hành động có thể 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à các thao tác được thực hiện khi điều kiện khởi động và bất kỳ điều kiện ràng buộc nào được đáp ứng.

Khối automations trong quy trình tự động hoá của chúng ta bao gồm 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. Người thứ nhất bật đèn còn người thứ hai tắt đèn.
  2. Mỗi quy tắc có một thao tác.
  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 quy trình tự động hoá biết thời điểm bắt đầu tự động hoá.
  5. Không có điều kiện nào trong quá trình tự động hoá này.

5. 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á theo tập lệnh hoàn chỉ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 của thao tác 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 một biểu tượng có 3 dấu 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 thao tác tự động của bạn.
  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 tập lệnh tự động hoá. Hãy giải quyết mọi lỗi phát sinh, đồng thời tiếp tục xác thực và khắc phục 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. Nếu trường hợp đó xảy ra, bạn có thể sử dụng tính năng tự động hoàn thành để chọn tên thiết bị hợp lệ.
  9. Nhấp vào Lưu.
  10. Đảm bảo rằng nút chuyển Kích hoạt ở bên dưới văn bản tập lệnh của bạn ở vị trí bật: Trình chỉnh sửa tập lệnh với tính năng 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. Hãy đảm bảo thiết bị của bạn đã được cắm điện và hiển thị trong ứng dụng Google Home.
  2. Nếu thiết bị đang bật, hãy tắt đi.
  3. Trên trang Tự động hoá trong Google Home cho web, hãy nhấp vào nút "chạy" bên cạnh quy trình tự động hoá.
    Nút chạy tập lệnh
  4. Thiết bị sẽ hoạt động.

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 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 trong tương lai.
  3. Thay đổi thời gian "tắt thiết bị" trên dòng 14 thành thời gian ngay sau giờ "đúng giờ".
  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 rằng nút chuyển Kích hoạt ở vị trí bật.
  7. Chờ hai thời gian khởi động kết thúc. 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 yêu cầu tự động 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ử 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. Tính năng tự động hoá có thể làm được nhiều việc hơn ngoài việc lên lịch bật/tắt công tắc nguồn. Giờ đây, khi đã hiểu được những bước cơ bản để tạo quy trình tự động hoá, bạn có thể khám phá các phương thức khởi động, điều kiện và hành động có sẵn trong hệ sinh thái Google Home.

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

  • Thêm điều kiện khởi động time.schedule khác vào quy trình tự động hoá.
  • Sửa đổi chế độ tự động hoá để bật và tắt thiết bị khác theo cùng một lịch biểu.
  • Nếu không xoá điều kiện khởi động time.schedule, bạn có thể 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 đang bật nguồn. Tham khảo các tập lệnh mẫu 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á Google Home, hãy xem tài liệu tham khảo về hoạt động Tự động hoá: