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

Bạn cần có

  • Một chiếc điện thoại Android hoặc iOS đang chạy ứng dụng Google Home.
  • Đèn thông minh hoặc thiết bị khác có chứng nhận 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 chưa thiết lập thiết bị, 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 cũng như tắt thiết bị bằng ứng dụng Home.

3. Lập kế hoạch cho quá trình tự động hoá theo tập lệnh

Chúng ta sẽ bắt đầu từ việc nghĩ đến những gì chúng ta muốn công nghệ tự động hoá theo kịch bản thực hiện. Có thể kể đến một số yếu tố như:

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

Đối với mục đích của lớp học lập trình này, chúng ta dự định xây dựng tính năng 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) của bạn vào một thời điểm cụ thể.
  2. Tắt thiết bị của bạn vào một thời điểm cụ thể.

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

4. Viết lệ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 cách sử dụ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 2 phần chính:

  1. Siêu dữ liệu – Tên của quá trình tự động hoá theo tập lệnh và nội dung mô tả về hoạt động đó.
  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á của chúng tôi 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 là nơi diễn ra công việc thực sự. Thẻ này bao gồm ba phần: điều kiện khởi động, điều kiệnhành động. Những điều kiện này được đánh giá theo thứ tự như sau:

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ố kích hoạt quy trình tự động hoá. Ít nhất một điều kiện khởi động phải đánh giá đến true để các điều kiện tiếp theo được đánh giá.

Đây không phải là yêu cầu 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 một điều kiện 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 thao tác sẽ chạy. Nếu phân giải thành false, các thao tác sẽ không chạy.

Khi bao gồ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 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 quá trình tự động hoá tiếp tục.

Một đ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 dữ kiện phải đúng tại thời điểm điều kiện khởi động "kích hoạt" thì các thao tác đó mới 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 được bật.

Thao tác 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 của quá trình tự động hoá gồm 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. Thiết bị đầu tiên bật đèn, còn thiết bị 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 điều kiện khởi động time.schedule duy nhất cho quy trình tự động hoá biết thời gian bắt đầu quá trình tự động hoá.
  5. Không có điều kiện nào trong quá trình tự động hoá này.

5. Toàn bộ quá trình tự động hoá theo tập lệnh

Kết hợp tất cả những phần này lại với nhau, dưới đây là giao diện hoàn chỉnh của quy trình tự động hoá theo 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 thao 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 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 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 gạch chân những phần có lỗi trong quá trình tự động hoá theo 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à 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. Trong trường hợp đó, 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 Kích hoạt nằm ở vị trí bật bên dưới văn bản tập lệnh của bạn: 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 rằng thiết bị của bạn đã được cắm nguồ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 dành 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ẽ bật.

Bây giờ, hãy cùng 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 "thiết bị đang bật" trên dòng 7 thành thời gian năm phút trong tương lai.
  3. Thay đổi "tắt thiết bị" thời gian trên dòng 14 đến một thời gian ngay sau "đú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 nút chuyển Kích hoạt đang ở vị trí bật.
  7. Chờ hai thời điểm khởi động kết thúc. Thiết bị sẽ bật rồi tắt vào những thời điểm bạn chỉ định.

7. Xin chúc mừng!

Bạn đã tạo thành công một hoạt động tự động hoá theo 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 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. Quy trình 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 đã nắm được thông tin cơ bản về việc 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 khởi động, đ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 điều kiện 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.
  • Nếu không tháo điều kiện khởi động time.schedule, hãy sửa đổi chế độ tự động hoá để chỉ bật các thiết bị khi một thiết bị khác đang bật nguồn. Hãy tham khảo 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ề các quy trình tự động hoá của Google Home, hãy khám phá tài liệu tham khảo về quy trình Tự động hoá: