Mô hình dữ liệu trên Android

API Home dành cho Android trình bày tất cả thiết bị trong hệ sinh thái Google Home theo một mô hình dữ liệu hợp nhất. Mô hình dữ liệu này bao gồm mọi loại thiết bị (từ Google Nest hoặc nhà sản xuất bên thứ ba), bất kể công nghệ nhà thông minh cơ bản (chẳng hạn như Matter hoặc Cloud-to-cloud), và cung cấp một nền tảng API chung để xây dựng trải nghiệm người dùng cho cả smart home và nhà phát triển ứng dụng di động.

Loại thiết bị

Các loại thiết bị được trình bày trong API Home là sự hợp nhất của MatterCloud-to-cloud mô hình dữ liệu. Một số loại được lấy trực tiếp từ Matter, một số loại là phần mở rộng của Matter loại thiết bị và một số loại được lấy từ Cloud-to-cloud.

Các loại thiết bị chứa đặc điểm được dùng để kiểm soát và quản lý thiết bị. Giống như các loại thiết bị, đặc điểm được lấy từ Matter cụm và Cloud-to-cloud đặc điểm, đồng thời được trình bày ở định dạng chung tương tự như định dạng của các cụm Matter. Trong API Home, các đặc điểm bắt nguồn từ Matter được gọi là đặc điểm chứ không phải cụm.

Do đó, các loại thiết bị và đặc điểm trong API Home được thiết kế theo nguyên tắc ưu tiên Matter. Loại thiết bị Matter hoặc đặc điểm được ưu tiên hơn loại thiết bị hoặc đặc điểm tương tự Cloud-to-cloud.

Hãy xem bài viết Các loại thiết bị được hỗ trợ trên Android để biết danh sách các loại thiết bị và đặc điểm của chúng.

Đặc điểm

Các phiên bản Kotlin của đặc điểm được tạo để dùng trong API Home và chứa các tính năng bổ sung dành riêng cho API Home (không có trong Matter hoặc Cloud-to-cloud). Ví dụ: mỗi đặc điểm có các phương thức để kiểm tra xem một đặc điểm có hỗ trợ một thuộc tính hoặc lệnh cụ thể hay không. Điều này rất hữu ích khi xác định xem việc đọc trạng thái hoặc một số hành động có thể được thực hiện trên thiết bị của người dùng hay không, vì không phải tất cả thiết bị trong một loại thiết bị đều có tất cả các tính năng giống nhau.

Mỗi đặc điểm đều nằm trong không gian tên riêng và phải được nhập riêng để sử dụng.

Ví dụ: để sử dụng đặc điểm Bật/Tắt Matter và loại thiết bị Đơn vị trình bổ trợ Bật/Tắt , hãy nhập các gói sau vào ứng dụng của bạn:

import com.google.home.matter.standard.OnOff
import com.google.home.matter.standard.OnOffPluginUnitDevice

Đối với loại thiết bị Nhà để xe (từ nhà thông minh của Google), hãy kết hợp các đặc điểm Matter và Google:

import com.google.home.google.LockUnlock
import com.google.home.matter.standard.DoorLock
import com.google.home.matter.standard.GoogleGarageDevice

Android Studio có chức năng tự động hoàn thành và thường xử lý toàn bộ tên gói cho bạn khi thêm các dòng import vào tệp nguồn trong dự án. Tuy nhiên, tên gói không nhất quán trên tất cả các loại thiết bị và đặc điểm. Hãy xem tài liệu tham khảo để xác minh tên gói chính xác cho từng DeviceType hoặc Trait.

Hầu hết các đặc điểm đều được hỗ trợ để dùng với tính năng Tự động hoá và một số đặc điểm chỉ có trong tính năng Tự động hoá. Để biết thêm thông tin chi tiết, hãy xem bài viết Hỗ trợ đặc điểm API tự động hoá trên Android.

Cấu trúc loại thiết bị

API Home hỗ trợ hầu hết các cụm ứng dụng Matter dưới dạng đặc điểm trong mô hình dữ liệu. Các đặc điểm không tương ứng với trạng thái hoặc hoạt động kiểm soát thiết bị và không mang lại tiện ích nào cho người dùng cuối (chẳng hạn như Liên kết và Nhóm) sẽ không được hiển thị thông qua API Home.

Các đặc điểm bắt nguồn từ Cloud-to-cloud đặc điểm nhà thông minh thường có cùng tên giữa Cloud-to-cloud và API Home, chẳng hạn như trong ví dụ về OpenClose. Các đặc điểm khác được biểu thị dưới dạng phần mở rộng của Matter đặc điểm, được tạo bằng Matter phần mở rộng dành riêng cho nhà sản xuất. Các đặc điểm này giúp thu hẹp khoảng cách cho một smart home đặc điểm khi chức năng được chia giữa Matter SDK và hệ sinh thái Google Home. Một ví dụ cụ thể về điều này là các loại thiết bị Google* bắt nguồn từ Cloud-to-cloud nhưng chưa có loại thiết bị tương tự trong Matter.

Các loại thiết bị bao gồm các đặc điểm từ một hoặc cả hai nguồn, Matter hoặc Cloud-to-cloud.

Ví dụ: loại thiết bị Quạt type bao gồm cả và có 3 đặc điểm:

  • Đặc điểm Identify Matter cung cấp mọi chức năng từ Matter Identify.
  • Đặc điểm FanControl Matter cung cấp mọi chức năng từ đặc điểm Matter FanControl
  • Đặc điểm ExtendedFanControl Google cung cấp mọi chức năng từ đặc điểm smart home FanSpeed nhà thông minh của Google mà FanControl Matter Matter không bao gồm

Loại cấu trúc đặc điểm này cung cấp một mô hình linh hoạt cho chức năng hoàn chỉnh của loại thiết bị, trừu tượng hoá các mô hình dữ liệu cơ bản smart home.