1. Giới thiệu
Kiến thức bạn sẽ học được
- Cách thiết kế và viết một mẫu tự động hoá.
- Cách kiểm thử một mẫu tự động hoá bằng Google Home Developer Console.
Bạn cần có
- Điện thoại Android hoặc iOS chạy ứng dụng Google Home.
- Đèn thông minh được tích hợp vào nhà của bạn hoặc thiết bị mô phỏng trong Google Home Playground.
Điều kiện tiên quyết
Bạn nên nắm rõ cách viết một quy trình tự động hoá nhà cho Google Home. Nếu bạn chưa từng viết một quy trình tự động hoá, hãy cân nhắc việc thực hiện lớp học lập trình Tạo quy trình tự động hoá bằng tập lệnh trước khi tiếp tục với lớp học lập trình này.
2. Mẫu và phiên bản 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á chứa bản chất của logic kịch bản, tham chiếu đến các loại thiết bị, nhưng không phải là các thiết bị cụ thể.
Khi sử dụng trình chỉnh sửa tập lệnh tự động hoá của Google Home dành cho web, người dùng cuối sẽ lấy một mẫu tự động hoá và tạo một phiên bản được cá nhân hoá để hoạt động trên các thiết bị cụ thể trong nhà của họ. Sau khi bạn lưu, quy trình đó sẽ xuất hiện trong phần Quy trình của gia đình trong ứng dụng Google Home (GHA).
3. Lên kế hoạch cho mẫu tự động hoá
Khi tạo một quy trình tự động hoá, bạn sẽ bắt đầu bằng cách suy nghĩ về vấn đề mà bạn đang cố gắng giải quyết và quy trình tự động hoá sẽ làm gì để giải quyết vấn đề đó. Điều này bao gồm 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 quá trình thực thi quy trình tự động hoá.
- Những điều kiện bổ sung (nếu có) kiểm soát việc 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, 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 đèn đó vào một thời điểm cụ thể.
Khi đã nắm được những thông tin nà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á
Quy trình tự động hoá đượ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ẫu tự động hoá có 3 phần chính:
- Siêu dữ liệu – Tên của quy trình tự động hoá, nội dung mô tả về chức năng của quy trình tự động hoá và một số thẻ (không bắt buộc) dùng để phân loại quy trình tự động hoá. Các từ khoá là:
- CHIẾU SÁNG VÀ PHÍCH CẮM
- NHIỆT ĐỘ, ĐỘ ẨM VÀ NĂNG LƯỢNG
- BẢO MẬT VÀ MỨC ĐỘ NHẬN BIẾT
- CÓ TÍNH GIÁO DỤC
- THIẾT BỊ GIA DỤNG VÀ CÁC SỰ KIỆN ÂM THANH KHÁC
- Đầu vào – Xác định(những) loại thiết bị mà quy trình tự động hoá dự kiến sẽ kiểm soát. Công cụ tự động hoá sử dụng thông tin này để biết những loại thao tác nào hợp lệ cho các thiết bị dự kiến.
- 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
Đọc kỹ mẫu và lưu ý những điều sau:
- Phần
metadatachứa tên và nội dung mô tả của quy trình tự động hoá này. - Phần
inputxác định một biến có tên làthe_light, biến này chỉ định một thiết bị thuộc loạiLIGHT. Điều này có nghĩa là bạn chỉ có thể dùng mẫu này cho đèn, chứ không dùng được 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 chế độ tự động hoá trong nhà và được nhắc chọn một thiết bị cho$the_light, họ chỉ có thể chọn thiết bị thuộc loại mà bạn đã chỉ định. - Ngoài ra, trong phần
input, bạn cũng xác định 2 biến có tên làtime_onvàtime_off. Những điều kiện này cho phép người dùng chỉ định thời điểm bắt đầu quy trình tự động hoá.time_onbiểu thị thời gian bật đèn vàtime_offbiểu thị thời gian tắt đèn. Nếu người dùng không đặt giá trị củatime_onhoặctime_off, thì các giá trị mặc định sẽ được dùng. - Phần
automationstrong hệ thống tự động hoá của chúng tôi có 2 quy tắc tự động hoá. Mỗi quy tắc có một điều kiệntime.schedulekhởi động duy nhất cho biết thời điểm quy trình tự động hoá bắt đầu.
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 các mẫu tự động hoá.
- Chuyển đến Google Home Developer Console.
- Đăng nhập bằng chính tài khoản mà bạn đã 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 mục Tự động hoá, hãy nhấp vào Phát triển.
- Nhấp vào Tạo mẫu.
- Sao chép mẫu tự động hoá "Đèn theo lịch".
- Dán mẫu tự động hoá "Đèn theo lịch" vào trình chỉnh sửa mẫu.
- Nhấp vào Xác thực. Giải quyết 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òn lỗi nào.
- Nhấp vào Lưu để lưu mẫu.
5. Kiểm thử mẫu
Giờ đây, bạn có thể kiểm thử mẫu trong Bảng điều khiển.
- Đảm bảo bạn đã cắm điện cho đèn và đèn xuất hiện trong ứng dụng Google Home.
- Nếu đèn đang bật, hãy tắt đèn.
- Chuyển đến 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ẫu tự động hoá "Đèn theo lịch".
- Chọn cấu trúc mà bạn muốn kiểm thử mẫu, sau đó 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 là "Đèn bàn – Văn phòng", bạn sẽ chọn
Desk light - Officetrong trình đơn thả xuống xuất hiện khi bạn nhấp vào bên phải biểu tượnglights. Hoặc bạn có thể nhập tên của thiết bị. - Cũng trong trình chỉnh sửa InputValue, hãy chỉ định thời gian
time_onthành một thời gian nào đó, chẳng hạn như 5 phút sau, rồi thay đổi thời giantime_offthành một thời gian ngay sau thời giantime_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 kiểm thử.
- Đợi cho đến khi cả hai thời gian bắt đầu trôi qua. Đèn sẽ bật rồi tắt vào thời gian đã chỉ định.
Sau khi kiểm thử thành công mẫu, bạn sẽ biết rằng quy trình tự động hoá của mình hoạt động hiệu quả.
6. Xin chúc mừng!
Bạn đã tạo thành công một mẫu tự động hoá. 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ột mẫu tự động hoá.
- Cách kiểm thử 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 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 đèn. Giờ đây, khi đã nắm được những kiến thức cơ bản về cách tạo và kiểm thử một mẫu tự động hoá, bạn có thể thử tạo các mẫu tự động hoá cho những loại thiết bị khác, bằng cách sử dụng các điều kiện, hành động và điểm bắt đầu khác nhau.
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á: