SDM API là một API REST cung cấp nhiều phương pháp để xem đặc điểm và thực thi các lệnh trait để quản lý Thiết bị Google Nest. Sử dụng mã truy cập được cấp trong quy trình uỷ quyền với từng lệnh gọi API.
Đặc điểm
SDM API sử dụng mô hình dựa trên trait cho thông tin thiết bị và chức năng. Hãy xem hướng dẫn cho từng thiết bị để nắm được đặc điểm có sẵn cho một thiết bị:
- Máy ảnh
- Máy ảnh (pin)
- Camera có Floodlight
- Camera (có dây)
- Hiển thị
- Chuông cửa
- Chuông cửa (pin)
- Chuông cửa (có dây)
- Máy điều nhiệt
Phương thức
Xem Tài liệu tham khảo API để biết đầy đủ thông tin chi tiết về tất cả các phương thức hiện có cho API SDM.
executeCommand
Thực thi lệnh tới thiết bị được uỷ quyền.
Sử dụng lệnh gọi POST
để thực thi một lệnh. Ví dụ: để thay đổi máy điều nhiệt
chế độ:
POST /enterprises/project-id/devices/device-id:executeCommand { "command" : "sdm.devices.commands.ThermostatMode.SetMode", "params" : { "mode" : "HEAT" } }
Bạn có thể xem thêm ví dụ về các lệnh trong từng tệp tham chiếu đặc điểm riêng lẻ . Xem toàn bộ trang thông tin về đặc điểm để biết thêm thông tin.
get
Lấy thông tin về cấu trúc hoặc thiết bị được cấp phép.
Lệnh gọi GET
trả về một phản hồi duy nhất có các trường và giá trị hiện tại cho tất cả
đặc điểm có sẵn cho một cấu trúc hoặc thiết bị mà user có
được uỷ quyền và một "parentRelations" đối tượng đại diện cho tài nguyên mẹ
của tài nguyên hiện tại, có thể là một cấu trúc hoặc căn phòng.
Ví dụ: Nest Thermostat có thể trả về sau:
GET /enterprises/project-id/devices/device-id { "name" : "enterprises/project-id/devices/device-id", "type" : "sdm.devices.types.THERMOSTAT", "assignee" : "enterprises/project-id/structures/structure-id/rooms/room-id", "traits" : { "sdm.devices.traits.Connectivity" : { "status" : "ONLINE" }, "sdm.devices.traits.Fan" : { "timerMode" : "ON", "timerTimeout" : "2019-05-10T03:22:54Z" }, "sdm.devices.traits.Humidity" : { "ambientHumidityPercent" : 35.0 }, "sdm.devices.traits.Info" : { "customName" : "My device" }, "sdm.devices.traits.Settings" : { "temperatureScale" : "CELSIUS" }, "sdm.devices.traits.Temperature" : { "ambientTemperatureCelsius" : 23.0 }, "sdm.devices.traits.ThermostatEco" : { "availableModes" : ["MANUAL_ECO", "OFF"], "mode" : "MANUAL_ECO", "heatCelsius" : 20.0, "coolCelsius" : 22.0 }, "sdm.devices.traits.ThermostatHvac" : { "status" : "HEATING" }, "sdm.devices.traits.ThermostatMode" : { "availableModes" : ["HEAT", "COOL", "HEATCOOL", "OFF"], "mode" : "COOL" }, "sdm.devices.traits.ThermostatTemperatureSetpoint" : { "heatCelsius" : 20.0, "coolCelsius" : 22.0 } }, "parentRelations" : [ { "parent" : "enterprises/project-id/structures/structure-id/rooms/room-id", "displayName" : "Lobby" } ] }
danh sách
Liệt kê các cấu trúc, phòng hoặc thiết bị được phép.
Để liệt kê tất cả cấu trúc, phòng hoặc thiết bị được cấp quyền theo một quyền truy cập duy nhất
mã thông báo, hãy thực hiện lệnh gọi GET
dựa trên điểm cuối tài nguyên thích hợp:
GET /enterprises/project-id/structures
GET /enterprises/project-id/structures/structure-id/rooms
GET /enterprises/project-id/devices
Tích hợp Trợ lý Google
Sau khi một thiết bị được cấp phép sử dụng SDM, Google sẽ phát hiện thấy thiết bị đó trong Nhà Vẽ biểu đồ và quản lý trạng thái trực tiếp. Nếu bạn có tích hợp Trợ lý Google trong sản phẩm/dịch vụ thương mại:
- Không gửi Yêu cầu đồng bộ hoá yêu cầu đối với thiết bị SDM
- Bỏ qua mọi phản hồi của thiết bị SDM khi có SYNC ý định
Lỗi
Hãy xem Tài liệu tham khảo về mã lỗi API để biết danh sách đầy đủ các mã lỗi API.