Permulaan Platform Pembangun AqaraLink: Dari Kosong ke Panggilan Pertama
Permulaan platform pembangun AqaraLink: langkah yang didokumenkan, tiga mod kebenaran, akaun maya, kunci aplikasi dan laluan onboarding peranti.
Jawapan ringkas — Pada API automasi dan babak Aqara, babak dan automasi ialah objek berbeza dengan antara muka penciptaan yang berbeza. Babak ialah tindakan yang anda panggil;
config.scene.createmenerima nama, kedudukan pilihan dan senarai tindakan yang tersusun, setiap satu dengan kelewatan pilihan. Automasi ialah peraturan pencetus/syarat/tindakan yang bertindak sendiri;config.linkage.createmenerima syarat, hubungan AND/OR, dan tindakan. Daripada sudut pandangan API, tiada objek yang secara automatik "setempat" atau "awan", tetapi dokumentasi platform memang mengiklankan automasi berbilang peranti setempat untuk kawalan babak yang stabil, dan keupayaan itulah yang patut memikul peraturan kritikal anda.
Jika anda telah membaca gambaran keseluruhan platform pembangun AqaraLink kami, anda tahu modul itu wujud. Catatan ini tentang keputusan pemodelan, iaitu tempat kebanyakan pepijat integrasi berada: pasukan membina babak di tempat mereka memerlukan automasi, atau menjana empat puluh automasi sedangkan empat babak sudah memadai.
Halaman lampiran tentang peraturan konfigurasi pautan mentakrifkan kedua-duanya, dan takrifannya sengaja dibezakan:
API mencerminkan ini. config.scene.create mempunyai name, positionId pilihan, dan tatasusunan action. config.linkage.create mempunyai name, positionId pilihan, objek conditions dan objek actions. Tiada medan syarat pada penciptaan babak. Perbezaan itu bersifat struktur, bukan konvensyen UI.
Dua akibat terus timbul:
Babak bersifat tersusun dan disengajakan; automasi bersifat berstatus dan bersyarat. Tindakan babak membawa delayTime dengan delayTimeUnit bernilai 1 untuk saat atau 2 untuk minit, dan julat kelewatan 0 hingga 59 saat atau 0 hingga 59 minit. Primitif penjujukan itu milik model babak kerana babak ialah skrip. Automasi memodelkan predikat, jadi syaratnya membawa beginTime dan endTime, iaitu satu tetingkap, bukan selang-seli.
Pelayan anda perlu tahu bezanya, kerana peristiwa memberitahu perbezaannya. Format tolakan mesej mentakrifkan jenis peristiwa yang berbeza: linkage_created dan linkage_deleted untuk automasi, scene_created dan scene_deleted untuk babak, serta event_created / event_deleted untuk berbilang syarat. Jika integrasi anda menggabungkan ketiga-tiganya menjadi "satu peraturan", anda kehilangan keupayaan menjawab soalan pengguna tentang mengapa lampu koridor menyala.
Kedua-dua panggilan cipta bukan tempat untuk meneka. Dokumentasi mengarahkan kedua-duanya kepada dua antara muka pertanyaan dahulu:
query.ifttt.trigger: menanyakan konfigurasi syarat automatik yang disokong oleh model objek tertentu, termasuk nama syarat dan parameter. Anda hantar model yang anda minati.query.ifttt.action: yang setara untuk sebelah tindakan.Model objek itu sendiri boleh ditanya dari konsol di bawah halaman Device Resources. Jadi tertib yang betul ialah: baca modelnya, tanya pencetus yang disokongnya, tanya tindakan yang disokongnya, kemudian gubah.
Terdapat juga laluan penciptaan kedua yang wajar diketahui, kerana ia yang membuka atribut yang tidak dilindungi pratetap sistem. Dokumen menerangkan penciptaan pautan sama ada melalui actionDefinition atau triggerDefinition yang ditakrifkan sistem yang ditemui melalui model objek, atau dengan menyesuaikan atribut peranti secara terus. Laluan atribut tersuai menggunakan nilai parameter tetap: triggerDefinitionId bernilai TD.custom_1 dan paramId bernilai PD.custom.trigger, dengan ujian sebenar dibawa sebagai rentetan tatasusunan JSON bagi id sumber, nilai dan pengendali.
Bagi set syarat, medan relation ialah integer: 0 untuk AND, 1 untuk OR, lalai 0. Itu butiran kecil dengan kesan yang besar: automasi yang sepatutnya memerlukan penderia pintu dan tetingkap masa sekali gus akan bertindak pada salah satu jika anda membiarkan nilai lalai di tempat yang salah, dan ia akan lulus setiap ujian yang anda tulis dengan tangan.
| Jika pengguna berkata… | Bina sebagai | Sebabnya |
|---|---|---|
| "Bila saya balik, semua dihidupkan" | Automasi | Pencetusnya ialah fakta, bukan arahan |
| "Selamat malam" | Babak | Dipanggil dengan sengaja, dengan urutan pudar yang disengajakan |
| "Jika koridor gelap dan sudah lepas pukul 11 malam, malapkan kepada 10%" | Automasi | Bersyarat, dengan tetingkap masa |
| "Pengawal: maklumkan jika pintu depan terbuka selama 5 minit" | Automasi, jika platform menyokong pemasaan itu, jika tidak babak ditambah pemasa anda sendiri | Kelewatan dalam babak ialah selang-seli tetap, bukan penantian bersyarat |
| "Masa menonton wayang" | Babak | Satu butang, beberapa peranti, urutan tetap |
| "Sesiapa tiba" | Automasi | Hab atau awan tahu; pengguna tidak memintanya |
Peraturan asasnya: jika manusia akan menekannya, ia babak. Jika penderia atau jam yang menyebabkannya, ia automasi. Kebanyakan integrasi yang buruk menterbalikkan perkara ini dan berakhir dengan automasi yang saling menduplikasi dan babak dengan logik yang disemat dalam urutan tindakannya.
Senarai keupayaan platform sendiri mengiklankan automasi pintar setempat: "menyokong automasi berbilang peranti setempat untuk kawalan babak yang stabil", dengan Mod Keluar dan Mod Di Rumah sebagai contoh. Aqara mengutamakan Zigbee dan hab ialah pengawal setempat; keseluruhan tujuan mesh ialah peraturan dijalankan dalam unit, bukan dalam pusat data di negara lain.
Itu fakta seni bina, bukan hujah jualan, dan ia patut mengubah reka bentuk anda:
Perangkapnya ialah menduplikasi peraturan yang sama di kedua-dua tempat. Jika peraturan wujud di hab dan di awan anda, anda akan mendapat tindakan berganda, dan sesi penyahpepijatan untuk mencarinya benar-benar menyakitkan. Pilih satu tempat pelaksanaan bagi setiap peraturan, dan rekodkan yang mana.
Ini corak kegagalan yang mematikan demo selepas bulan ketiga. Setiap kes tepi menjadi automasi baharu, dan senarai pengguna bertambah daripada lapan item kepada empat ratus, tiada satu pun yang dapat mereka fahami.
Jenis peristiwa menunjukkan skala risikonya: linkage_created, linkage_deleted, scene_created, scene_deleted, event_created, event_deleted semuanya ditolak ke pelayan anda. Jika pengguna mencipta peraturan dalam aplikasi Aqara Home, sistem anda mengetahuinya sama ada ia yang mencipta atau tidak. UI anda akan menjadi cermin kepada ruang yang sedang disunting dari dua arah.
Empat perkara yang mengekalkan bilangan rendah:
Gunakan templat, jangan jana. Sediakan katalog tetap automasi yang munasabah dan biarkan pengguna menghidupkannya, bukannya menggubah peraturan sewenang-wenangnya semasa larian. Katalog boleh disemak; empat ratus peraturan yang dijana pengguna tidak boleh.
Dedahkan syarat, bukan tatabahasa peraturan penuh. Sebelah pencetus ialah tempat letupan kombinatorik berlaku. Jika produk anda menawarkan "apabila gerakan dikesan di koridor" sebagai pilihan pada set kecil peranti, anda telah menghadkannya.
Utamakan babak ditambah pemboleh ubah keadaan berbanding N automasi. "Selamat malam" sebagai babak, ditambah satu automasi yang memerhati keadaan aplikasi anda sendiri, mengalahkan enam automasi berdasarkan enam gabungan peranti.
Selaraskan, jangan longgokkan. Oleh sebab peristiwa cipta dan padam ditolak, anda boleh memegang inventori yang tepat. Jalankan bacaan penuh berkala objek pautan dan babak, dan bandingkan perbezaannya. Peraturan yang wujud di hab tetapi tiada dalam katalog anda ialah peraturan yang dibuat seseorang secara manual: paparkannya, jangan ambil alih secara senyap.
Memadam peranti di bawah peraturan. Syarat dan tindakan kedua-duanya merujuk subjectId dan satu model. Peraturan yang merujuk peranti yang telah dinyahikat ialah peraturan yang tidak akan bertindak, dan dokumen tidak menerangkan keadaan batu nisan (tombstone). Semak peranti yang dirujuk sebelum anda melaksanakan babak.
Ralat penjujukan akibat unit kelewatan. delayTimeUnit bernilai 1 ialah saat, 2 ialah minit. Babak yang dibina dengan unit yang salah tidak menghasilkan ralat, ia cuma mengambil masa jauh lebih lama daripada yang dijangka sesiapa, dan itu dibaca sebagai "automasi rosak".
Nilai lalai kedudukan. Kedua-dua panggilan cipta menganggap positionId kosong sebagai kedudukan lalai. Jika produk anda menyokong berbilang hartanah atau berbilang tingkat, kedudukan yang tidak ditetapkan secara senyap memfailkan peraturan dalam ruang yang salah.
Nilai lalai hubungan syarat. Dibincangkan di atas, dan ia yang pertama patut diletakkan ujian unit.

Permulaan platform pembangun AqaraLink: langkah yang didokumenkan, tiga mod kebenaran, akaun maya, kunci aplikasi dan laluan onboarding peranti.

Perbandingan integrasi rumah pintar Matter vs Zigbee vs API vendor dari segi usaha kejuruteraan, pelaksanaan setempat, keluasan ekosistem dan penguncian vendor untuk pembinaan anda.

Panduan webhook langganan tolakan Aqara: penghantaran HTTP berbanding MQ, peraturan penggantungan kadar kegagalan 5% yang didokumenkan, idempotensi, susunan dan penyelarasan.
Ceritakan tentang ruang anda. Pasukan B2B kami akan membalas dalam masa satu hari bekerja dengan cadangan pemasangan dan sebut harga.
WhatsApp kami →
[email protected]
+603-5880 5486