Tạo mẫu tự động hóa

Thông tin về lớp học lập trình này
schedule34 phút
subjectLần cập nhật gần đây nhất: 26 tháng 9, 2023
account_circleTác giả: Jonathan Donald and Andres Gomez
  • Biết cách thiết kế và viết mẫu tự động.
  • Cách thử nghiệm mẫu tự động bằng Google Home Developer Console.
  • Một chiếc điện thoại Android hoặc iOS đang chạy ứng dụng Google Home.
  • Đèn thông minh tích hợp sẵn trong nhà bạn hoặc thiết bị mô phỏng trong Google Home Playground.

Bạn đã quen với cách viết một quy trình tự động hoá Google Home. Nếu bạn chưa từng viết quy trình tự động hoá, hãy cân nhắc thực hiện lớp học lập trình Tạo hoạt động tự động hoá theo tập lệnh trước khi tiếp tục với phần này.

Nhà phát triển tạo mẫu tự động hoá bằng trình chỉnh sửa mẫu tự động hoá trong Google Home Developer Console. Mẫu tự động hoá có chứa bản chất của logic tập lệnh, tham chiếu đến các loại thiết bị, chứ không phải các thiết bị cụ thể.

Bằng cách sử dụng trình chỉnh sửa tập lệnh tự động của Google Home cho web, người dùng cuối lấy mẫu tự động hóa và tạo một phiên bản được cá nhân hóa hoạt động trên các thiết bị cụ thể trong nhà của họ. Sau khi lưu, thực thể này sẽ xuất hiện trong phần Quy trình của hộ gia đình trên ứng dụng Google Home (GHA).

3. Lập kế hoạch cho mẫu tự động hoá

Khi tạo một quy trình tự động hoá, trước tiên, người dùng sẽ suy nghĩ về vấn đề mà mình muốn giải quyết, và các bước tự động sẽ làm gì để giải quyết vấ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á.
  • Những điều kiện bổ sung (nếu có) giúp kiểm soát việc tính năng tự động hoá có chạy sau khi được kích hoạt hay không.
  • Những thao tác cần thực hiện.

Trong phạm vi của lớp học lập trình này, quy trình tự động hoá sẽ thực hiện 2 việc:

  1. Bật đèn vào một thời điểm cụ thể.
  2. Tắt cùng một loại đèn vào một thời điểm cụ thể.

Do vậy, bạn đã có thể mở trình chỉnh sửa mẫu và viết quy trình tự động hoá.

4. Viết mẫu tự động hoá

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

Một mẫu tự động hoá có 3 phần chính:

  1. Siêu dữ liệu – Tên của quá trình tự động hoá, nội dung mô tả về hoạt động của quy trình đó và một số thẻ (không bắt buộc) dùng để phân loại quy trình tự động hoá. Từ khoá là:
    • Chiếu sáng VÀ CẮT
    • Khí hậu và NĂNG LƯỢNG
    • BẢO MẬT VÀ TẠO SỰ NHẬN BIẾT
    • TÍNH GIẢI TRÍ
    • THIẾT BỊ VÀ CÁC PHƯƠNG PHÁP KHÁC
  2. Dữ liệu đầu vào – Xác định(những) loại thiết bị mà hoạt động tự động hoá sẽ dùng để điều khiển. Công cụ tự động hoá sử dụng thông tin này để biết loại hành động nào hợp lệ đối với các thiết bị dự định.
  3. 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á.

Đây là mẫu tự động hoá mà bạn sẽ sử dụng:

metadata:
  name:
    en: Scheduled light
  description:
    en: Turn the light on and off at specific times
  tags:
    - LIGHTING AND PLUGS
input:
  the_light:
    metadata:
      name:
        en: The light
      description:
        en: The light to be controlled
    selector:
      type: device
      multiSelect: true
      supportedTypes:
        - LIGHT
  time_on:
    metadata:
      name:
        en: Time to turn on the light.
      description:
        en: The time of day to turn on the selected light.
    selector:
      type: time
      default: sunset+30min
  time_off:
    metadata:
      name:
        en: Time to turn off the light.
      description:
        en: The time of day to turn off the selected light.
    selector:
      type: time
      default: 10:00 pm
automations:
  - name: Turn on the light
    starters:
      - type: time.schedule
        at: $time_on
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: true
  - name: Turn off the light
    starters:
      - type: time.schedule
        at: $time_off
    actions:
      - type: device.command.OnOff
        devices: $the_light
        on: false

Hãy đọc qua mẫu này và lưu ý những điều sau:

  • Phần metadata có tên và nội dung mô tả của quá trình tự động hoá này.
  • Phần input xác định một biến có tên the_light. Biến này chỉ định một thiết bị thuộc loại LIGHT. Điều này có nghĩa là mẫu này chỉ có thể được dùng cho đèn, chứ không được dùng cho các loại thiết bị khác. Nói cách khác, khi người dùng thiết lập hệ thống tự động hoá trong nhà của họ và được nhắc chọn một thiết bị cho $the_light, họ sẽ chỉ được lựa chọn thiết bị trong những thiết bị thuộc loại mà bạn đã chỉ định.
  • Cũng được xác định trong phần input có 2 biến có tên là time_ontime_off. Các tham số này cho phép người dùng chỉ định thời điểm bắt đầu các quy trình tự động hoá. time_on thể hiện thời gian bật đèn và time_off biểu thị thời gian tắt đèn. Nếu người dùng không đặt giá trị là time_on hoặc time_off, thì các giá trị mặc định sẽ được sử dụng.
  • Phần automations trong quy trình tự động hoá của chúng ta có chứa 2 quy tắc tự động. 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á đó.

Trình chỉnh sửa mẫu

Trình chỉnh sửa mẫu tự động hoá là công cụ bạn dùng để viết mẫu tự động hoá.

  1. Truy cập Google Home Developer Console.
  2. Đăng nhập bằng chính tài khoản mà bạn đã dùng để thiết lập thiết bị trong ứng dụng Google Home.
  3. Tạo hoặc chọn một dự án hiện có.
  4. Trong phần Tự động hoá, hãy nhấp vào Phát triển.
  5. Nhấp vào Tạo mẫu.
  6. Sao chép "Ánh sáng theo lịch biểu" mẫu tự động hoá.
  7. Dán "Ánh sáng theo lịch biểu" mẫu tự động vào trình chỉnh sửa mẫu.
  8. Nhấp vào Xác thực. Khắc phục mọi lỗi có thể xảy ra, đồng thời tiếp tục xác thực và khắc phục cho đến khi không có lỗi nào phát sinh.
  9. Nhấp vào Lưu để lưu mẫu.

5. Thử nghiệm mẫu

Giờ đây, bạn có thể kiểm thử mẫu này trong Console (Bảng điều khiển).

  1. Hãy đảm bảo rằng bạn đã cắm đèn và nhìn thấy đèn trong ứng dụng Google Home.
  2. Nếu đèn đang bật, hãy tắt đi.
  3. Truy cập Google Home Developer Console.
  4. Mở dự án mà bạn đã tạo mẫu.
  5. Chọn Tự động hoá, rồi chọn thẻ Kiểm thử.
  6. Nhấp vào Mở bên cạnh mục "Đèn theo lịch" mẫu tự động hoá.
  7. Chọn cấu trúc mà bạn muốn thử nghiệm mẫu, rồi nhấp vào Tiếp theo.
  8. Trong trình chỉnh sửa InputValue, hãy chỉ định tên của đèn. Ví dụ: nếu đèn của bạn có tên "Đèn bàn – Văn phòng", thì bạn nên chọn Desk light - Office trong trình đơn thả xuống, xuất hiện khi bạn nhấp vào bên phải lights. Hoặc bạn có thể nhập tên của thiết bị.
  9. Ngoài ra, trong trình chỉnh sửa InputValue, hãy chỉ định thời gian time_on thành một thời gian (5 phút trong tương lai) rồi thay đổi thời gian time_off thành thời gian ngay sau time_on.
  10. Khi bạn hoàn tất, trình chỉnh sửa InputValue sẽ có dạng như sau:
    inputValue:
     #add value
     the_light: Desk light - Office
     #add value
     time_off: 11:45 am
     #add value
     time_on: 11:40 am
    
  11. Nhấp vào Kích hoạt thử nghiệm.
  12. Chờ hai thời điểm khởi động kết thúc. Đèn sẽ sáng rồi tắt vào những thời điểm được chỉ định.

Sau khi thử nghiệm mẫu thành công, bạn biết rằng hệ thống tự động hoá của mình hoạt động hiệu quả về mặt chức năng.

6. Xin chúc mừng!

Bạn đã tạo thành công một mẫu tự động. 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 mẫu tự động.
  • Cách kiểm tra tính năng này trong Google Home Developer Console.

Các bước tiếp theo

Trong lớp học lập trình này, bạn đã tạo một quy trình tự động hoá rất đơn giản. Các chế độ tự động hoá có thể làm được rất nhiều việc ngoài việc lên lịch bật/tắt đèn. Giờ đây, khi đã nắm được những thông tin cơ bản về cách tạo và thử nghiệm một mẫu tự động hoá, bạn có thể thử tạo mẫu tự động hoá cho các loại thiết bị khác bằng cách sử dụng các điều kiện khởi động, điều kiện và hành động khác nhau.

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á: