Hướng dẫn về camera nhà thông minh

action.devices.types.CAMERA – Camera là một thiết bị phức tạp và các tính năng sẽ khác nhau đáng kể giữa các nhà cung cấp. Theo thời gian, camera sẽ có nhiều đặc điểm và thuộc tính mô tả các chức năng cụ thể. Nhiều đặc điểm và thuộc tính trong số đó có thể tương tác với luồng video/âm thanh theo những cách đặc biệt, chẳng hạn như gửi luồng đến một thiết bị khác, xác định nội dung trong luồng, phát lại nguồn cấp dữ liệu, v.v.

Loại này cho biết thiết bị nhận được biểu tượng Camera và một số từ đồng nghĩa cũng như tên thay thế có liên quan.

Khả năng của thiết bị

Tham khảo tài liệu về đặc điểm tương ứng để biết thông tin chi tiết về việc triển khai, chẳng hạn như các thuộc tính và trạng thái mà dịch vụ của bạn phải hỗ trợ, cũng như cách tạo phản hồi EXECUTE và QUERY.

Đặc điểm bắt buộc

Bạn phải có những đặc điểm và lệnh này (nếu có) trên thiết bị của mình. Nếu thiết bị của bạn không hỗ trợ các đặc điểm này, hãy nhập mã lỗi functionNotSupported trong phản hồi QUERY hoặc EXECUTE. Hãy xem phần Lỗi và trường hợp ngoại lệ để biết thêm thông tin.

Ví dụ về thiết bị: Camera đơn giản

Phần này chứa các tải trọng ý định mẫu đại diện cho một "Camera" phổ biến dựa trên loại thiết bị và đặc điểm ở trên. Nếu bạn thêm hoặc xoá các đặc điểm trong quá trình triển khai, hãy sửa đổi các phản hồi cho phù hợp để phản ánh những thay đổi đó.

Phản hồi SYNC mẫu

Yêu cầu
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Phản hồi
{
  "requestId": "6894439706274654512",
  "payload": {
    "agentUserId": "user123",
    "devices": [
      {
        "id": "123",
        "type": "action.devices.types.CAMERA",
        "traits": [
          "action.devices.traits.CameraStream"
        ],
        "name": {
          "name": "Simple camera"
        },
        "willReportState": true,
        "attributes": {
          "cameraStreamSupportedProtocols": [
            "hls",
            "progressive_mp4"
          ],
          "cameraStreamNeedAuthToken": true,
          "cameraStreamNeedDrmEncryption": false
        },
        "deviceInfo": {
          "manufacturer": "smart-home-inc",
          "model": "hs1234",
          "hwVersion": "3.2",
          "swVersion": "11.4"
        }
      }
    ]
  }
}

Phản hồi mẫu của hàm QUERY

Yêu cầu
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Phản hồi
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true
      }
    }
  }
}

Ví dụ về các lệnh EXECUTE

GetCameraStream

Để biết thêm thông tin chi tiết về các tham số lệnh, hãy xem tài liệu tham khảo action.devices.traits.CameraStream.

Yêu cầu
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.GetCameraStream",
                "params": {
                  "StreamToChromecast": true,
                  "SupportedStreamProtocols": [
                    "progressive_mp4"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Phản hồi
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "cameraStreamAccessUrl": "https://fluffysheep.com/baaaaa.mp4",
          "cameraStreamReceiverAppId": "1g2f89213hg",
          "cameraStreamAuthToken": "12657342190192783",
          "cameraStreamProtocol": "progressive_mp4"
        }
      }
    ]
  }
}

LỖI thiết bị

Xem danh sách đầy đủ các lỗi và trường hợp ngoại lệ.
  • resourceUnavailable – Mọi lỗi liên quan đến việc tạo URL của luồng phát.