Trước khi bắt đầu sử dụng Automation API, bạn nên thiết kế quy trình tự động hoá.
Xác định các thông số sau cho từng quy trình tự động:
- Những trường hợp mà bạn nên đề xuất tính năng tự động hoá cho người dùng. Ví dụ: nếu người dùng vừa thêm 3 bóng đèn mới vào nhà, họ có thể quan tâm đến một tính năng tự động hoá cụ thể được điều chỉnh để điều khiển các bóng đèn.
- Những loại thiết bị cần thiết cho tính năng tự động hoá. Ví dụ: nếu người dùng vừa thêm 3 bóng đèn mới vào nhà, họ có thể quan tâm đến một tính năng tự động hoá cụ thể được điều chỉnh để điều khiển đèn. Ví dụ về các loại thiết bị chiếu sáng bao gồm
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
hoặcExtendedColorLightDevice
. - Những thuộc tính và lệnh đặc điểm nào cần thiết cho quá trình tự động hoá, cũng như liệu các thuộc tính và lệnh đó có được Automation API hỗ trợ hay không.
- Những đặc điểm sẽ kích hoạt tính năng tự động hoá dưới dạng trình khởi động. Chúng ta sẽ thảo luận về trình khởi động trong phần Thành phần tự động hoá.
- Các điều kiện bổ sung xác định liệu quy trình tự động hoá có thực sự chạy hay không và cần thực hiện hành động nào.
- Luồng thực thi cho quy trình tự động hoá. Lớp này có nên thực thi tuần tự hay song song? Bạn có cần nhiều đường dẫn logic không?
Khi thiết kế, bạn nên lập sơ đồ quy trình tự động hoá, từng nút với logic bắt buộc ở mỗi bước.
Sau khi thiết kế một quy trình tự động hoá, hãy sử dụng Automation DSL để tạo quy trình đó. Về cơ bản, quy trình tự động hoá mà bạn tạo là một "mẫu" — mọi cấu trúc và thiết bị trong đó đều là phần giữ chỗ và được điền sẵn cấu trúc và thiết bị cụ thể của từng người dùng khi họ "sử dụng" quy trình tự động hoá cho riêng mình.
Sau đây là các loại tính năng tự động hoá mà ứng dụng có thể tạo bằng API Home. Hãy xem trang Tạo quy trình tự động hoá để biết các đoạn mã liên quan đến các ví dụ này.
Tự động hoá đơn giản
Giả sử bạn cần viết một ứng dụng tạo quy trình tự động nâng rèm cửa vào lúc 8:00. Để thực hiện việc này, ứng dụng cần có danh sách rèm cửa (thiết bị có loại thiết bị WindowCoveringDevice
) có trong cấu trúc hỗ trợ tính năng tự động hoá. API Khám phá có thể cung cấp danh sách này.
Đối với các quy trình tự động cần chạy vào một thời điểm nhất định, bạn cũng cần đảm bảo rằng người dùng đã chỉ định địa chỉ đường phố cho cấu trúc mà họ đã chọn trong Google Home app (GHA), nếu không, quy trình tự động sẽ không biết múi giờ mà quy trình đó sẽ chạy. API Khám phá có thể giúp bạn xác định xem có gán địa chỉ cho cấu trúc hay không.
Vì vậy, luồng thực thi sẽ có dạng như sau:
- Sử dụng API Khám phá để thu thập danh sách thiết bị
WindowCoveringDevice
. - Nếu địa chỉ đường phố không được điền sẵn, hãy thông báo cho người dùng rằng họ cần cung cấp địa chỉ đường phố và tạm dừng quá trình thực thi.
- Nếu không, hãy xác định quy trình tự động hoá:
- Bắt đầu quy trình tự động hoá lúc 8:00.
- Đối với mỗi rèm, hãy gọi lệnh
upOrOpen
của thuộc tínhWindowCovering
.
Tự động hoá phức tạp
Hãy tưởng tượng một ứng dụng tạo một quy trình tự động hoá kích hoạt đèn nhấp nháy khi phát hiện chuyển động.
Một trong những nhiệm vụ đầu tiên khi triển khai ứng dụng này là tìm hiểu xem có những loại đèn nào trong nhà của người dùng bằng cách sử dụng API Khám phá. Với thông tin này, ứng dụng của bạn hiện có thể hiển thị các đèn có sẵn và có thể cho phép người dùng chọn đèn họ muốn nhấp nháy.
Quy trình thực thi:
- Sử dụng API Khám phá để thu thập danh sách các thiết bị ánh sáng có trong cấu trúc. Đây sẽ là mọi thiết bị có loại thiết bị là
OnOffLightDevice
,ColorTemperatureLightDevice
,DimmableLightDevice
hoặcExtendedColorLightDevice
. - Cung cấp cách chọn đèn nhấp nháy, có thể thông qua một bảng điều khiển Tuỳ chỉnh.
- Xác định tính năng tự động hoá:
- Bắt đầu quá trình tự động hoá bất cứ khi nào có người rời khỏi hoặc đến nơi, bằng cách theo dõi
AreaPresenceState
. - Nếu
presenceState
cho biết cấu trúc đang có người sử dụng, hãy nhấp nháy các đèn đã chọn.
- Bắt đầu quá trình tự động hoá bất cứ khi nào có người rời khỏi hoặc đến nơi, bằng cách theo dõi
Tự động hoá chung
Để biết ví dụ về một quy trình tự động hoá phức tạp hơn, hãy cân nhắc một quy trình hướng dẫn người dùng tạo quy trình tự động hoá mở, dựa trên bất kỳ hoặc tất cả thiết bị mà họ có trong nhà.
Trước tiên, tính năng tự động hoá có thể nhắc người dùng chọn một cấu trúc.
Sau đó, hệ thống tự động hoá có thể hiển thị tất cả các phòng trong cấu trúc ở chế độ xem chi tiết có thể mở rộng, trong đó việc mở rộng một phòng sẽ hiển thị các thiết bị trong phòng đó. Việc mở rộng thêm một thiết bị sẽ liệt kê các trình khởi động và lệnh mà thiết bị đó hỗ trợ.
Người dùng có thể chọn các thiết bị, trình khởi động và lệnh mà họ muốn sử dụng, đồng thời tính năng tự động hoá sẽ hướng dẫn người dùng cách tạo một quy trình tự động hoá.
Khi tất cả lựa chọn và quyết định của người dùng đã được xác nhận, quy trình tự động hoá sẽ tạo và lưu quy trình đó vào cấu trúc mà họ đã chọn.
Ở cấp cao, tính năng tự động hoá như vậy cần thu thập một số tập dữ liệu về nhà của người dùng bằng cách sử dụng API Cấu trúc, API Thiết bị và API Khám phá.
API | Thông tin |
---|---|
Structure API |
|
API thiết bị |
|
API Khám phá |
|