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 tham số sau cho mỗi quy trình tự động hoá:
- Trường hợp nên đề xuất quy trình tự động hoá cho người dùng. Ví dụ: nếu người dùng vừa thêm 3 đèn mới vào nhà, họ có thể quan tâm đến một quy trình tự động hoá cụ thể được điều chỉnh để điều khiển đèn.
- Loại thiết bị nào cần thiết cho quy trình tự động hoá. Ví dụ: nếu người dùng vừa thêm 3 đèn mới vào nhà, họ có thể quan tâm đến một quy trình 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,DimmableLightDevicehoặcExtendedColorLightDevice. - Những thuộc tính và lệnh nào của đặc điểm là bắt buộc đối với quy trình tự động hoá và liệu chúng có được Automation API hỗ trợ trên Android hay không.
- Các đặc điểm sẽ kích hoạt quy trình tự động hoá dưới dạng điều kiện khởi động. Trình khởi động được thảo luận trong phần Thành phần tự động hoá trên Android.
- Các điều kiện bổ sung xác định xem quy trình tự động hoá có thực sự chạy hay không và những hành động nào sẽ được thực hiện.
- Quy trình thực thi cho quy trình tự động hoá. Nó 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 biểu đồ cho quy trình tự động hoá, từng nút một, với logic cần thiết ở mỗi bước.
Sau khi thiết kế một quy trình tự động hoá, hãy sử dụng DSL tự động hoá để xây dựng quy trình đó. Quy trình tự động hoá mà bạn xây dựng về cơ bản 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 cũng như thiết bị cụ thể của từng người dùng khi họ "áp dụng" quy trình tự động hoá đó cho mục đích sử dụng của riêng mình.
Sau đây là các loại quy trình tự động hoá mà một ứng dụng có thể tạo bằng Home API. Hãy xem trang Tạo quy trình tự động hoá để biết các đoạn mã liên quan đến những 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 hoá để kéo rèm lên lúc 8 giờ sáng. Để làm được việc này, ứng dụng cần có danh sách rèm (thiết bị có loại thiết bị WindowCoveringDevice) có trong nhà và hỗ trợ quy trình tự động hoá. Danh sách này có thể do Discovery API cung cấp.
Đố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 quá trình tạo cấu trúc hoặc 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. Discovery API có thể giúp bạn xác định xem một địa chỉ có được chỉ định cho nhà hay không.
Vì vậy, luồng thực thi sẽ có dạng như sau:
- Sử dụng Discovery API để 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í dụ: trong GHA) và tạm dừng 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 sáng.
- Đối với mỗi rèm, hãy gọi lệnh
upOrOpencủa đặc điểmWindowCovering.
Tự động hoá phức tạp
Hãy tưởng tượng một ứng dụng xây dựng 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 nhà của người dùng có những đèn nào bằng cách sử dụng Discovery API. 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 mà họ muốn nhấp nháy.
Luồng thực thi:
- Sử dụng Discovery API, thu thập danh sách các thiết bị đèn có trong cấu trúc, tức là mọi thiết bị có loại thiết bị là
OnOffLightDevice,ColorTemperatureLightDevice,DimmableLightDevicehoặcExtendedColorLightDevice. - Cung cấp cách chọn đèn nhấp nháy, có thể thông qua bảng điều khiển Cài đặt tuỳ chỉnh.
- Xác định quy trình tự động hoá:
- Bắt đầu quy trình tự động hoá bất cứ khi nào có người rời khỏi hoặc đến nhà,
bằng cách theo dõi
AreaPresenceState. - Nếu
presenceStatecho biết có người trong nhà, hãy nhấp nháy đèn đã chọn.
- Bắt đầu quy trình tự động hoá bất cứ khi nào có người rời khỏi hoặc đến nhà,
bằng cách theo dõi
Quy trình tự động hoá chung
Để xem ví dụ về một quy trình tự động hoá phức tạp hơn, hãy xem xét một quy trình hướng dẫn người dùng tạo quy trình tự động hoá không giới hạn, dựa trên bất kỳ hoặc tất cả thiết bị họ có trong nhà.
Trước tiên, quy trình tự động hoá có thể nhắc người dùng chọn một cấu trúc.
Sau đó, quy trình tự động hoá có thể hiển thị tất cả các phòng trong cấu trúc ở chế độ xem đề cương có thể mở rộng, trong đó việc mở rộng một phòng sẽ cho thấy các thiết bị trong phòng đó. Khi mở rộng thêm một thiết bị, bạn sẽ thấy các điều kiện khởi động và lệnh mà thiết bị đó hỗ trợ.
Người dùng có thể chọn thiết bị, điều kiện khởi động và lệnh mà họ muốn sử dụng, đồng thời quy trình tự động hoá sẽ hướng dẫn người dùng cách thiết lập một quy trình tự động hoá.
Khi người dùng đã đưa ra tất cả lựa chọn và quyết định cuối cùng, tính năng tự động hoá sẽ tạo quy trình tự động hoá và lưu quy trình đó vào cấu trúc mà người dùng đã chọn.
Ở cấp độ cao, một quy trình tự động hoá như vậy sẽ cần thu thập một số nhóm dữ liệu về nhà của người dùng bằng cách sử dụng Structure API cho Android, Device API cho Android và Discovery API.
| API | Thông tin |
|---|---|
| Structure API |
|
| API thiết bị |
|
| Discovery API |
|