Akıllı Ev Kamerası Kılavuzu

action.devices.types.CAMERA: Kameralar karmaşıktır ve özellikler tedarikçi firmalar arasında önemli ölçüde değişiklik gösterir. Kameralar zaman içinde belirli özellikleri tanımlayan birçok özellik ve özellik edinir. Bunların çoğu, video/ses akışıyla özel şekillerde etkileşim kurabilir (ör. başka bir cihaza akış gönderme, akıştaki içeriği tanımlama, feed'leri yeniden oynatma vb.).

Bu tür, cihazın Kamera simgesini ve bazı ilgili eş anlamlı kelimeleri ve takma adları aldığını gösterir.

Cihaz özellikleri

Hizmetinizin desteklemesi gereken özellikler ve durumlar gibi uygulama ayrıntıları ve EXECUTE ile QUERY yanıtlarının nasıl oluşturulacağı hakkında bilgi edinmek için ilgili özellik dokümanlarına bakın.

Zorunlu özellikler

Cihazınız için geçerliyse bu özellikler ve komutlar gereklidir. Cihazınız bu özellikleri desteklemiyorsa bir QUERY veya EXECUTE yanıtına functionNotSupported hata kodunu girin. Daha fazla bilgi için Hatalar ve istisnalar bölümüne bakın.

Kalite gereksinimleri

  • Gecikme: 2000 ms'den az veya eşit olmalıdır.
  • Güvenilirlik: %97'den büyük veya buna eşit olmalıdır.

Örnek cihaz: Basit kamera

Bu bölümde, yukarıdaki cihaz türüne ve özelliklere göre yaygın bir "Kamera"yı temsil eden örnek intent yüklemeleri bulunmaktadır. Uygulamanızda özellik ekler veya kaldırırsanız bu değişiklikleri yansıtacak şekilde yanıtlarınızı değiştirin.

Örnek SYNC yanıtı

İstek
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Yanıt
{
  "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"
        }
      }
    ]
  }
}

Örnek QUERY yanıtı

İstek
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true
      }
    }
  }
}

Örnek EXECUTE komutları

GetCameraStream

Komut parametreleri hakkında daha fazla bilgi için action.devices.traits.CameraStream referansına bakın.

İstek
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.GetCameraStream",
                "params": {
                  "StreamToChromecast": true,
                  "SupportedStreamProtocols": [
                    "progressive_mp4"
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Yanıt
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "cameraStreamAccessUrl": "https://fluffysheep.com/baaaaa.mp4",
          "cameraStreamReceiverAppId": "1g2f89213hg",
          "cameraStreamAuthToken": "12657342190192783",
          "cameraStreamProtocol": "progressive_mp4"
        }
      }
    ]
  }
}

Cihaz HATALARI

Hataların ve istisnaların tam listesini inceleyin.
  • resourceUnavailable: Akış URL'sinin oluşturulmasıyla ilgili tüm hatalar.