Skema Weave

Skema Weave

Skema menjelaskan model data pokok yang mendorong representasi dan interpretasi data yang dikeluarkan oleh perangkat logis atau fisik dalam sistem Weave.

Skemanya adalah:

  • Standardisasi — Format ini berisi definisi fungsi yang disetujui secara resmi yang menyediakan antarmuka yang konsisten, terlepas dari implementasinya. Misalnya, bohlam yang diwakili dalam skema ini akan selalu memiliki fungsi inti, seperti status aktif/nonaktif dan tindakan atau tingkat redup.
  • Composable — Pengguna dapat membuat resource kompleks yang terdiri dari bit fungsi yang ditentukan yang lebih kecil. Misalnya, Nest Detect berisi dua jenis sensor: gerakan dan buka/tutup. Fungsi untuk jenis sensor ini distandardisasi dalam skema dan dapat digunakan kembali di seluruh perangkat.
  • Dapat diperluas — Pengguna dapat membuat ekstensi kustom fungsi standar. Misalnya, Anda mungkin ingin memperluas fungsi sensor gerakan standar skema dengan fungsi tambahan untuk aplikasi keamanan tertentu.
  • Berversi — Semua perubahan dalam skema dibuat untuk kompatibilitas maju dan mundur.

Skema ini mendefinisikan tiga elemen: ciri, antarmuka, dan sumber daya. Hampir semua fungsi dalam ekosistem Nest untuk operasi sehari-hari ditentukan dalam skema. Mari kita bahas setiap elemen secara lebih mendalam.

Sifat

Sifat adalah unit fungsi dasar. Peristiwa dapat berupa status atau kemampuan perangkat umum, atau menjelaskan konfigurasi yang menginformasikan perilakunya. Sifat tunggal mungkin umum untuk banyak perangkat, atau khusus untuk satu jenis perangkat.

Misalnya, dalam skema, Anda dapat menentukan karakteristik berikut untuk digunakan di perangkat Nest:

Sifat

Antarmuka

Kita dapat memperluas komposa sifat dengan mengelompokkannya, terutama jika beberapa ciri mewakili fungsi baru yang spesifik. Serangkaian karakteristik tersebut disebut antarmuka .

Misalnya, antarmuka Interkom dapat terdiri dari karakteristik Speaker dan Mikrofon:

Sifat dan Antarmuka

Resource

resource mewakili hal logis atau fisik dalam skema. Misalnya, Nest Protect adalah resource. Begitu juga Nest Guard. Atau pengguna, atau struktur seperti rumah pengguna.

Resource terdiri dari serangkaian karakteristik yang mengenkapsulasi konfigurasi, status, dan kemampuannya.

Hubungan antara resource, antarmuka, dan fitur terlihat seperti ini:

Resource, Antarmuka, dan Sifat

Seperti yang Anda lihat, beberapa karakteristik, seperti fitur Motion, umum untuk resource yang berbeda. Dan beberapa antarmuka, seperti antarmuka Intercom, juga umum untuk resource yang berbeda. Sifat, antarmuka, dan resource ditentukan satu kali dalam skema dan digunakan kembali di berbagai resource dan perangkat dalam sistem Weave.

Elemen sifat

Sifat selanjutnya dibagi menjadi tiga elemen utama: properti, perintah, dan peristiwa. Mari kita lihat contoh setiap elemen fitur.

Properti

Properties merepresentasikan status suatu fitur. Properti bersifat baca-tulis atau hanya-baca.

Contoh:

  • Versi Software adalah properti dari ciri Identitas Perangkat. Ini adalah karakteristik umum yang dimiliki sebagian besar perangkat. Nest Thermostat, Kamera, dan Nest—semuanya memiliki versi software khusus.
  • Bolt State adalah properti dari fitur Bolt Lock, tetapi khusus untuk perangkat seperti Yale x Nest Lock. Anda tidak akan menemukan kunci baut di Nest Thermostat, misalnya.

Perintah

Perintah adalah permintaan tindakan kustom fitur tertentu dari suatu fitur, dengan respons yang diharapkan. Fungsi tersebut biasanya disebut perintah kustom dan dapat diperluas ke perubahan status tertentu untuk properti. Contoh:

  • Bolt Lock Change adalah perintah kustom yang mengubah properti Bolt State dari fitur Bolt Lock.
  • Tetapkan Kode Pin Pengguna adalah perintah kustom yang membuat properti Kode Pin Pengguna yang baru atau memperbarui properti Fitur Kode Pin Pengguna yang ada.

Peristiwa

Peristiwa adalah data peristiwa untuk suatu sifat. Fungsi ini memberi tahu pelanggan tentang perubahan properti fitur atau jenis peristiwa lainnya yang terjadi, seperti reset sistem.

Misalnya, peristiwa Bolt Actuator State Change dari fitur Bolt Lock memberi tahu pelanggan tentang status saat ini di beberapa properti Bolt Lock, serta aktor yang terakhir menyebabkan properti State Bolt Actuator berubah. Semua informasi ini ditayangkan sebagai satu peristiwa.

Bahasa Deskripsi Skema Weave

Karakteristik, antarmuka, dan resource skema di Weave ditentukan dan dijelaskan menggunakan bahasa khusus domain (DSL) yang memanfaatkan sintaksis Google Protocol Buffer v3. Bahasa ini disebut Weave Schema Description Language (WDL) .

WDL dijalankan melalui compiler yang menghasilkan realisasi dan encoding khusus platform yang berbeda. Jenis kode yang dihasilkan bergantung pada resource:

  • Objective-C, Swift, Java, Scala — aplikasi seluler dan layanan cloud
  • C++ dengan encoding TLV Weave — aplikasi seluler dan perangkat tersemat

Kita akan mempelajari contoh WDL lebih dalam nanti.

Rangkuman

Hal yang telah Anda pelajari:

  • Skema menjelaskan model data dasar untuk sistem Weave.
  • Skema ini menentukan tiga elemen:
    • Sifat Unit fungsi dasar
    • Antarmuka Sekelompok karakteristik yang mewakili fungsi baru dan spesifik
    • Resource Hal yang logis atau fisik
  • Sifatnya terdiri dari properti, perintah, dan peristiwa:
    • Properti Status fitur resource
    • Perintah Permintaan kustom untuk sifat tertentu
    • Catatan Peristiwa yang terjadi untuk suatu sifat
  • Skema ditentukan menggunakan Weave Schema Description Language (WDL) , yang didasarkan pada Google Protocol Buffer v3

Untuk informasi yang lebih mendalam, lihat: