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 Garasi Smart Home

action.devices.types.GARAGE - Pintu garasi dapat membuka, menutup, dan mendeteksi kondisi terbuka. Elemen ini juga dapat menunjukkan apakah suatu objek menghalangi jalan saat pintu ditutup atau jika pintu terkunci dan tidak dapat dikontrol.

Jenis ini menunjukkan bahwa perangkat mendapatkan ikon Garage serta beberapa sinonim dan 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.

Sifat ini direkomendasikan, jika berlaku untuk perangkat Anda. Namun, Anda bebas memadukan dan mencocokkan dari semua fitur yang tersedia agar cocok dengan fungsi produk yang sudah ada.

Persyaratan kualitas

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

Contoh perangkat: Garasi sederhana

Bagian ini berisi contoh payload intent yang mewakili "Garage" 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.GARAGE",
        "traits": [
          "action.devices.traits.OpenClose",
          "action.devices.traits.LockUnlock"
        ],
        "name": {
          "name": "Simple garage"
        },
        "willReportState": true,
        "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,
        "openPercent": 50,
        "isLocked": false,
        "isJammed": false
      }
    }
  }
}

Contoh perintah EXECUTE

Penutup

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

Permintaan
{
  "requestId": "6894439706274654518",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.OpenClose",
                "params": {
                  "openPercent": 100
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Respons
{
  "requestId": "6894439706274654518",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "openPercent": 100
        }
      }
    ]
  }
}

Buka Kunci

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

Permintaan
{
  "requestId": "6894439706274654516",
  "inputs": [
    {
      "intent": "action.devices.EXECUTE",
      "payload": {
        "commands": [
          {
            "devices": [
              {
                "id": "123"
              }
            ],
            "execution": [
              {
                "command": "action.devices.commands.LockUnlock",
                "params": {
                  "lock": true
                }
              }
            ]
          }
        ]
      }
    }
  ]
}
Respons
{
  "requestId": "6894439706274654516",
  "payload": {
    "commands": [
      {
        "ids": [
          "123"
        ],
        "status": "SUCCESS",
        "states": {
          "online": true,
          "isLocked": true,
          "isJammed": false
        }
      }
    ]
  }
}

KESALAHAN perangkat

Lihat daftar lengkap error dan pengecualian.
  • obstructionDetected - Pengguna mencoba menutup pintu garasi, tetapi ada objek yang menghalangi pintu.
  • lockedState - Pengguna mencoba mengontrol pintu garasi tetapi dalam status terkunci sehingga tidak dapat digerakkan.