Selamat datang di Pusat Developer Google Home, tujuan baru untuk mempelajari cara mengembangkan tindakan smart home. Catatan: Anda akan terus membuat tindakan di konsol Actions.
Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Panduan Kamera Smart Home

action.devices.types.CAMERA - Kamera memiliki fungsi yang kompleks dan fitur bervariasi antar-vendor. Seiring waktu, kamera akan memperoleh banyak karakteristik dan atribut yang menjelaskan kemampuan tertentu, yang banyak di antaranya dapat berinteraksi dengan streaming video/audio dengan cara khusus, seperti mengirimkan streaming ke perangkat lain, mengidentifikasi konten yang ada dalam streaming, memutar ulang feed, dll.

Jenis ini menunjukkan bahwa perangkat mendapatkan ikon Kamera dan beberapa sinonim serta alias yang terkait.

Kemampuan perangkat

Lihat dokumentasi ciri yang sesuai untuk mengetahui detail implementasi, seperti atribut dan status yang harus didukung oleh layanan Anda, serta cara membuat respons EXECUTE dan QUERY.

Sifat yang diperlukan

Sifat dan perintah ini diperlukan, jika berlaku untuk perangkat Anda.

Persyaratan kualitas

  • Latensi: harus kurang dari atau sama dengan 2000 md.
  • Keandalan: harus lebih dari atau sama dengan 97%.

Contoh perangkat: Kamera sederhana

Bagian ini berisi contoh payload intent yang mewakili "Kamera" umum berdasarkan jenis dan karakteristik perangkat di atas. Jika Anda menambahkan atau menghapus fitur dalam implementasi, ubah respons sebagaimana mestinya untuk mencerminkan perubahan tersebut.

Contoh respons SYNC

Permintaan
{
  "requestId": "6894439706274654512",
  "inputs": [
    {
      "intent": "action.devices.SYNC"
    }
  ]
}
Respons
{
  "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"
        }
      }
    ]
  }
}

Contoh respons QUERY

Permintaan
{
  "requestId": "6894439706274654514",
  "inputs": [
    {
      "intent": "action.devices.QUERY",
      "payload": {
        "devices": [
          {
            "id": "123"
          }
        ]
      }
    }
  ]
}
Respons
{
  "requestId": "6894439706274654514",
  "payload": {
    "devices": {
      "123": {
        "status": "SUCCESS",
        "online": true
      }
    }
  }
}

Contoh perintah EXECUTE

GetCameraStream

Untuk detail tambahan parameter perintah, lihat referensi action.devices.traits.CameraStream.

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

KESALAHAN perangkat

Lihat daftar lengkap error dan pengecualian.
  • resourceUnavailable - Kegagalan apa pun yang terkait dengan pembuatan URL streaming.