1. Giới thiệu
Kiến thức bạn sẽ học được
- 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.
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 tích hợp sẵn trong nhà bạn hoặc thiết bị mô phỏng trong Google Home Playground.
Điều kiện tiên quyết
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.
2. Mẫu và thực thể tự động hoá
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:
- Bật đèn vào một thời điểm cụ thể.
- 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:
- 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
- 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.
- 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ênthe_light
. Biến này chỉ định một thiết bị thuộc loạiLIGHT
. Đ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_on
vàtime_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ặctime_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 độngtime.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á.
- Truy cập Google Home Developer Console.
- Đă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.
- Tạo hoặc chọn một dự án hiện có.
- Trong phần Tự động hoá, hãy nhấp vào Phát triển.
- Nhấp vào Tạo mẫu.
- Sao chép "Ánh sáng theo lịch biểu" mẫu tự động hoá.
- Dán "Ánh sáng theo lịch biểu" mẫu tự động vào trình chỉnh sửa mẫu.
- 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.
- 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).
- Hãy đảm bảo rằng bạn đã cắm đèn và nhìn thấy đèn trong ứng dụng Google Home.
- Nếu đèn đang bật, hãy tắt đi.
- Truy cập Google Home Developer Console.
- Mở dự án mà bạn đã tạo mẫu.
- Chọn Tự động hoá, rồi chọn thẻ Kiểm thử.
- Nhấp vào Mở bên cạnh mục "Đèn theo lịch" mẫu tự động hoá.
- 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.
- 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ảilights
. Hoặc bạn có thể nhập tên của thiết bị. - 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 giantime_off
thành thời gian ngay sautime_on
. - 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
- Nhấp vào Kích hoạt thử nghiệm.
- 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á: