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 — Perkhidmatan tolakan mesej Aqara mempunyai dua laluan pengambilan: tolakan HTTP ke alamat yang anda konfigurasikan, dan MQ, yang dinyatakan dalam dokumen sebagai dibina di atas RocketMQ sumber terbuka. Laluan HTTP disahkan secara berkala, statistik kegagalan disimpan, dan peraturan penguatkuasaannya nyata: jika kadar kegagalan tolakan melebihi 5% dalam 5 minit, anda dimaklumkan melalui SMS atau e-mel, dan setengah jam selepas pemberitahuan itu tolakan digantung sehingga anda mengaktifkannya semula dalam konsol. Kedua-dua laluan menyimpan mesej untuk 12 jam terakhir. Setiap mesej membawa
msgIddan cap masa milisaat: bina idempotensi dan penyelarasan berdasarkan itu, dan anggap susunan sebagai sesuatu yang anda kendalikan, bukan sesuatu yang diandaikan.
Inilah catatan yang menghalang integrasi anda daripada gagal secara senyap. Integrasi tolakan yang 99 peratus boleh dipercayai kelihatan sempurna dalam demo dan merosakkan data pelanggan pada bulan kedua.
Dokumentasi berterus terang tentang dua kaedah itu dan sebab kedua-duanya wujud: memenuhi keperluan masa nyata mesej dan ketekalan mesej.
| Tolakan HTTP | MQ | |
|---|---|---|
| Bentuk | Platform melakukan POST JSON ke alamat yang anda daftarkan | Platform menerbitkan ke baris gilir; anda melanggan dan menggunakan |
| Tetingkap simpanan | 12 jam terakhir tolakan yang gagal, boleh ditanya melalui API | 12 jam terakhir mesej disimpan dalam MQ untuk digunakan |
| Gandingan penghantaran | Titik akhir anda mesti hidup dan pantas | Pengguna anda mengakui (acknowledge) |
| Keterlihatan kegagalan | Platform meninjau alamat anda secara berkala dan menjejak kadar kegagalan | Tidak diterangkan dalam dokumen bahasa Inggeris |
| Paling sesuai | Perkhidmatan web biasa yang boleh diskalakan secara mendatar | Armada berjumlah tinggi yang memerlukan penimbal |
HTTP ialah pilihan lalai bagi kebanyakan integrator. Pilih MQ apabila volum peristiwa setiap peranti anda menjadikan tetingkap kegagalan HTTP 12 jam sebagai jaring keselamatan yang terlalu nipis, atau apabila pengguna anda memang sudah pengguna baris gilir. Perhatikan ketidaksimetrian: bagi HTTP, dokumen menerangkan mekanisme pengesahan dan penjejakan kegagalan yang jelas; bagi MQ, ia menerangkan simpanan dan langganan, tetapi tiada peraturan penguatkuasaan yang setara. Jika anda memilih MQ demi kebolehpercayaan, jangan andaikan ia memulih sendiri dengan cara yang sama.
Fakta yang dinyatakan, daripada halaman tolakan mesej:
application/json, ke alamat yang dikonfigurasikan di bawah Console → Project Management → Message push settings.token (token akses sah bagi akaun yang diberi kebenaran), time, dan nonce (rawak, untuk keunikan). Pilihan: appkey dan sign, dipulangkan hanya jika anda mengaktifkan pengesahan tandatangan dengan appKey dan appSecret pada halaman itu.appkey, nonce, token, time mengikut ASCII → cantumkan sebagai appkey=xxx&nonce=xxx&time=xxx&token=xxx → tambah appSecret → huruf kecil → MD5 32-bit.Tidak dinyatakan dalam dokumen bahasa Inggeris, dan wajar disahkan dengan Aqara sebelum bergantung padanya: sekurang-kurangnya sekali berbanding paling banyak sekali, jaminan susunan antara peranti, dasar cuba semula dan bilangan cuba semula bagi POST yang gagal, dan sama ada respons bukan 2xx dikira dalam statistik 5%. Reka bentuk seolah-olah setiap mesej boleh diduplikasi, dilewatkan, disusun semula dan hilang.
Keadaan peranti dicetus mengikut aras. Penderia pintu melaporkan terbuka; ia tidak melaporkan satu tepi. Penghantaran semula keadaan yang sama bukan ralat, dan pengguna yang menganggap setiap mesej sebagai baharu akan mengira semuanya dua kali.
Platform memberi anda apa yang diperlukan. Setiap mesej membawa msgId, iaitu id pengenalan unik mesej; time, cap masa apabila mesej dijana, dalam milisaat; openId, pengecam pengguna yang diberi kebenaran; eventType; dan data, dengan data.time sendiri dalam milisaat. Simpan msgId dengan kekangan unik dan buang pendua semasa ketibaan, di tepi pengguna anda, dan letakkan sisipan serta penulisan keadaan dalam transaksi yang sama, kerana jadual nyahpendua yang ditulis di luarnya akan menipu anda.
Tiga kategori mesej tiba, dan ia memerlukan pengendalian berbeza:
gateway_bind, subdevice_bind, gateway_unbind, unbind_sub_gw), dalam talian dan luar talian (gateway_online, gateway_offline, subdevice_online, subdevice_offline), dev_name_change, dev_position_assign, serta peristiwa peraturan linkage_created, scene_created, event_created dan pasangan _deleted masing-masing. Dokumen menyatakan semua ini ditolak ke pelayan pihak ketiga, jadi anda tidak boleh menapisnya.Dokumen jelas bahawa volum data peranti sangat besar, dan anda boleh mengecilkan apa yang diterima. Dua antara muka langganan, kedua-duanya memerlukan tolakan mesej dikonfigurasikan dahulu:
config.resource.subscribe: senarai sumber, setiap satu dengan subjectId, tatasusunan resourceIds dan rentetan attach pilihan.spec.config.trait.subscribe: tatasusunan trait, setiap satu dengan deviceId, tatasusunan codePaths dalam format yang didokumenkan endpointId.functionCode.traitCode, dan attach pilihan.Medan attach berbaloi digunakan walaupun anda tidak memerlukannya. Ia dilalukan secara telus ke dalam badan pemberitahuan, menjadikannya tempat semula jadi untuk data korelasi anda sendiri: langganan mana, penyewa mana, peranti logik mana. Langgan mengikut penyewa, bukan secara global: premis 2,000 unit yang setiap penggunanya menerima setiap mesej atribut ialah masalah kos dan kependaman yang anda cipta sendiri.
Bandingkan time dengan data.time. Kedua-duanya cap masa milisaat dan ia bukan perkara yang sama: yang luar ialah bila mesej dijana, yang dalam ialah cap masa peristiwa tertentu. Jurang itulah tempat penghantaran tidak berturutan muncul: penderia gerakan tercetus, pencetus kedua tiba semasa yang pertama masih dalam perjalanan, dan clear mendarat sebelum set occupancy. Pengguna yang menggunakannya mengikut tertib ketibaan berakhir dengan bilik yang dipercayai berpenghuni sedangkan kosong. Tanpa jaminan susunan yang didokumenkan:
data.time dalam untuk penulis terakhir menang, bukan tertib ketibaan. Simpan keadaan semasa bersama cap masanya dan tolak kemas kini yang lebih lama daripada yang anda pegang.Jika anda tidak dapat jaminan, anda tidak memerlukannya: anda memerlukan gelung pembaikan. Jadualkan bacaan keadaan penuh berkala bagi peranti yang anda ambil berat dan tulis ganti pandangan setempat anda. Segala yang salah oleh aliran tolakan semasa anda tumbang, tidak berturutan atau dinyahpendua secara salah, bacaan penuh membetulkannya.
Saizkannya untuk menghadkan tetingkap kesalahan yang kelihatan sambil kekal mampu dibayar: imbasan penuh bagi setiap ruang setiap beberapa minit boleh dipertahankan untuk lapisan pengurusan bangunan, setiap jam sudah banyak untuk aplikasi pengguna. Tetingkap simpanan 12 jam bagi tolakan gagal ialah aset di sini: minta penyelarasan menyemak pertanyaan kegagalan itu dahulu, kerana memainkan semula apa yang tercicir lebih murah daripada membaca semula segalanya.
Laluan kegagalan yang didokumenkan tidak kabur dan ia bergigi: melebihi kadar kegagalan 5% dalam 5 minit, anda dimaklumkan melalui SMS atau e-mel; setengah jam selepas pemberitahuan itu, tolakan digantung sehingga anda mengaktifkannya semula dalam konsol. Penempatan dua puluh minit boleh meninggalkan integrasi anda tanpa langganan secara senyap, dengan satu-satunya amaran pada telefon yang tiada siapa pantau.
Pertahanan, mengikut nilai:
msgId dalam transaksi yang sama dengan perubahan keadaanattach digunakan untuk korelasidata.time, bukan tertib ketibaan
Permulaan platform pembangun AqaraLink: langkah yang didokumenkan, tiga mod kebenaran, akaun maya, kunci aplikasi dan laluan onboarding peranti.

Panduan pembangun API automasi dan babak Aqara: bagaimana babak dan automasi berbeza sebagai objek, di mana peraturan patut dijalankan secara setempat, dan mengelakkan ledakan automasi.

Perbandingan integrasi rumah pintar Matter vs Zigbee vs API vendor dari segi usaha kejuruteraan, pelaksanaan setempat, keluasan ekosistem dan penguncian vendor untuk pembinaan anda.
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