API quản lý thiết bị thông minh

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

API SDM sử dụng mô hình dựa trên đặc điểm cho thông tin và chức năng của thiết bị. Hãy kiểm tra hướng dẫn về từng thiết bị để xem thiết bị có những đặc điểm nào:

Phương thức

Hãy xem Tài liệu tham khảo API để biết thông tin chi tiết đầy đủ về tất cả các phương thức có sẵn 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 chế độ của máy điều nhiệt:

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ẻ . Hãy xem danh sách đầy đủ các đặ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 với các trường và giá trị hiện tại cho tất cả các đặc điểm có sẵn cho một cấu trúc hoặc thiết bị mà user đã uỷ quyền và một đối tượng "parentRelations" đại diện cho tài nguyên mẹ của tài nguyên hiện tại, một cấu trúc hoặc 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

Các công cụ tích hợp của 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 tích hợp Trợ lý Google vào sản phẩm thương mại của mì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.