Akıllı Ev Kamerası Kılavuzu

action.devices.types.CAMERA - Kameralar karmaşıktır ve özellikler tedarikçiler arasında önemli ölçüde farklılık gösterir. Kameralar zaman içinde belirli özellikleri tanımlayan çok sayıda özellik ve özelliğe sahip olur. Çoğu özellik, video/ses akışıyla başka bir cihaza akış gönderme, akışın içeriğini tanımlama, feed'leri tekrar oynatma gibi özel şekillerde etkileşim kurabilir.

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

Cihaz özellikleri

Hizmetinizin desteklemesi gereken özellikler ve durumlar, 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.

Gerekli özellikler

Cihazınız için geçerliyse bu özellikler ve komutlar gerekir. 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.

Kalite gereksinimleri

  • Gecikme: 2.000 ms.den az veya buna eşit olmalıdır.
  • Güvenilirlik: %97'den fazla veya bu değere eşit olmalıdır.

Örnek cihaz: Basit kamera

Bu bölümde, yukarıdaki cihaz türüne ve özelliklere dayalı olarak ortak bir "Kamera"yı temsil eden örnek intent yükleri yer alır. Uygulamanıza özellik ekler veya mevcut özellikleri kaldırırsanız bu değişiklikleri yansıtacak şekilde yanıtlarınızı uygun şekilde 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ı

CameraStream'i edinin

Komut parametreleri hakkında ek ayrıntılar 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 hatalar.