Інтеграція протоколу Matter для керування розумним домом
Ми — команда мобільних розробників з досвідом реалізації Matter-інтеграцій під iOS та Android. Стикалися з типовими проблемами: довгий комісіонування, несумісність Thread-мереж, складнощі з сертифікацією. У цій статті розповімо, як уникнути граблів і швидко додати підтримку Matter у ваш застосунок. Matter — відкритий стандарт розумного дому від Connectivity Standards Alliance (CSA), який підтримується Apple, Google, Amazon та Samsung. Пристрій з Matter-сертифікацією працює з будь-якою екосистемою: Apple Home, Google Home, Amazon Alexa, SmartThings — без окремих інтеграцій для кожної. Для мобільного застосунку це означає: один SDK для керування всіма Matter-пристроями незалежно від виробника. За оцінками, кількість Matter-сертифікованих пристроїв перевищить 1 мільярд — це тренд, який не можна ігнорувати.
Як Matter працює на рівні стеку
Matter працює поверх IPv6 через Wi-Fi або Thread (меш-мережа з низьким енергоспоживанням). Border Router (HomePod mini, Google Nest Hub, Echo) з'єднує Thread-мережу з IP-мережею.
Процес додавання пристрою (commissioning):
- Користувач сканує QR-код або вводить PIN пристрою
- Телефон встановлює Bluetooth-з'єднання з пристроєм
- Обмін сертифікатами через PASE (Passcode Authenticated Session Establishment)
- Пристрій отримує мережеві облікові дані та підключається до Wi-Fi / Thread
- Пристрій додається до Fabric — спільного довіреного простору
Один фізичний апарат може бути доданий до кількох Fabric одночасно (Multi-Admin). Наприклад, лампа додана в Apple Home та Google Home — обидві екосистеми керують нею незалежно.
Чому Matter — стандарт де-факто?
Matter вирішує головну проблему розумного дому — фрагментацію. Розробнику не потрібно писати інтеграції для кожної екосистеми: один набір API покриває Apple Home, Google Home, Amazon Alexa та SmartThings. Це економить до 40% часу на розробку та тестування. Порівняно з інтеграцією окремо для кожної екосистеми, Matter зменшує обсяг коду в 3-4 рази.
Matter 1.0 Specification, CSA
iOS: Matter через HomeKit + MatterSupport
На iOS Matter-пристрої додаються через HomeKit. Застосунок може ініціювати процес через MatterSupport.framework (iOS 16.1+):
import MatterSupport func addMatterDevice() { let topology = MatterAddDeviceRequest.Topology( ecosystemName: "MyApp Smart Home", homes: [MatterAddDeviceRequest.Topology.Home( displayName: "Мій дім" )] ) let request = MatterAddDeviceRequest(topology: topology) Task { do { try await request.perform() // пристрій додано до HomeKit } catch { // MatterAddDeviceRequest.Error.userCancelled — користувач скасував } } } Після додавання пристрій доступний як HMAccessory у HomeKit. Керування — через стандартний HMCharacteristic API. Matter-специфічні кластери, яких немає в HomeKit, доступні через HMAccessory.matterNodeID та додаткові API.
Android: Google Home Mobile SDK + Matter SDK
Google надає два шляхи:
Google Home Mobile SDK (рекомендований)
Високорівневий SDK для комісіонування пристроїв в екосистему Google Home:
// Додавання через Google Home val commissioningRequest = CommissioningRequest.builder() .setCommissioningService(MatterCommissioningService::class.java) .build() homeClient.commissionDevice(commissioningRequest).addOnSuccessListener { result -> // пристрій додано }.addOnFailureListener { exception -> // обробка помилок } Matter SDK напряму (connectedhomeip)
Повна реалізація від CSA, включає власний Fabric та керування пристроями без залежності від Google Home. Значно складніше: потрібно керувати Fabric Credentials, зберігати сертифікати, реалізовувати комісіонування самостійно. Підходить, якщо ви будуєте власну екосистему або потребуєте доступу до кластерів за межами стандартного HomeKit/Google Home API.
Як вибрати між MatterSupport та Matter SDK?
Якщо вам потрібна швидка інтеграція з мінімальним кодом — обирайте MatterSupport (iOS) або Google Home SDK (Android). Вони скорочують обсяг коду в 3-4 рази порівняно з прямим Matter SDK. Прямий SDK виправданий, коли потрібен повний контроль над Fabric або робота з нестандартними кластерами.
| Платформа | Рекомендований SDK | Рівень абстракції | Складність | Контроль |
|---|---|---|---|---|
| iOS | MatterSupport | Високий (через HomeKit) | Низька | Обмежений (в рамках HomeKit) |
| Android | Google Home SDK | Високий (через Google Home) | Низька | Обмежений (в рамках Google Home) |
| Обидві | Matter SDK (CSA) | Низький (прямий доступ до кластерів) | Висока | Повний (власний Fabric) |
Кластери Matter
Matter використовує модель кластерів — аналог GATT Characteristics у BLE. Кластер 0x0006 — On/Off; 0x0008 — Level Control (яскравість); 0x0300 — Color Control. Через Matter SDK можна читати/писати атрибути напряму:
// Пряме керування через Matter кластер val endpointId = EndpointId(1u) val clusterId = ClusterId(0x0006u) // On/Off val attributePath = AttributePath( endpointId = endpointId, clusterId = clusterId, attributeId = AttributeId(0x0000u) // OnOff attribute ) // Читання стану chipDeviceController.readAttributePath(devicePtr, listOf(attributePath), 0) Типові складнощі при розробці
Thread Border Router. Якщо пристрій використовує Thread, телефон не може напряму з ним працювати без Thread Border Router у мережі. Розробка потребує наявності сумісного Border Router (HomePod mini, Eero 6, Google Nest Wifi Pro).
Сертифікація. Matter-пристрій має бути сертифікований CSA. Застосунок для керування цього не вимагає, але тестування на несертифікованому прототипі можливе через Development Mode SDK.
Commissioning window. Пристрій відкриває вікно для додавання (11 хвилин за замовчуванням). Якщо комісіонування не завершено — потрібно перезапустити. Це потрібно обробляти в UX явно.
Що входить у роботу
- Аудит поточної архітектури застосунку
- Проектування інтеграції Matter (вибір SDK, схема комісіонування)
- Реалізація комісіонування та керування пристроями
- Інтеграція з Push-сповіщеннями (APNs/FCM) для статусу пристроїв
- Тестування на реальних Matter-пристроях (до 10 девайсів)
- Документація та навчання команди
- Пост-релізна підтримка (3 місяці) та гарантія на код (6 місяців)
Чому обирають нас
- 9+ років досвіду в мобільній розробці (понад 9 років)
- 30+ реалізованих IoT-проектів
- Сертифіковані розробники Apple та Google
- Середній термін інтеграції Matter — 2 тижні
- Ми гарантуємо якість коду та дотримання стандартів CSA
- Вартість інтеграції Matter починається від $5,000 для базового рішення та до $20,000 для повної реалізації з власним Fabric
Зв'яжіться з нами для оцінки вашого проекту. Отримайте консультацію з архітектури Matter-рішення.







