Akıllı Ev Kamerası Kılavuzu

action.devices.types.CAMERA - Kameralar karmaşıktır ve özellikler satıcılar arasında önemli ölçüde farklılık gösterir. Zaman içinde kameralar, belirli özellikleri açıklayan birçok özellik ve nitelik kazanır. Bunların çoğu, video/ses akışıyla özel şekillerde etkileşime girebilir. Örneğin, başka bir cihaza akış gönderme, akışta ne olduğunu belirleme, feed'leri yeniden oynatma vb.

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

Cihaz özellikleri

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

Zorunlu özellikler

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

Örnek cihaz: Basit kamera

Bu bölümde, yukarıdaki cihaz türüne ve özelliklerine göre yaygın bir "Kamera"yı temsil eden örnek amaç yükleri yer alır. Uygulamanıza özellik ekler veya özellik kaldırırsanız yanıtlarınızı bu değişiklikleri yansıtacak şekilde düzenleyin.

Ö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'si oluşturmayla ilgili herhangi bir hata.