Розробка мобільного додатку для розумного дому (електрозамки/домофон)

Розробка мобільного додатку для розумного дому (електрозамки/домофон) Замок завис, API повернув 503, BLE-з'єднання не встановилося — користувач стоїть біля дверей з мертвим телефоном. Це не UX-проблема, це інцидент. Ми проектуємо додатки для електрозамків та домофонів, де кожен канал зв'язку має

Розробка та підтримка будь-яких видів мобільних додатків:

Інформаційні та розважальні мобільні програми
Новинки, ігри, довідники, онлайн-каталоги, погодні, фітнес та здоров'я, туристичні, освітні, соціальні мережі та месенджери, квіз, блоги та подкасти, форуми, агрегатори
Мобільні програми електронної комерції
Інтернет-магазини, B2B-додатки, маркетплейси, онлайн-обмінники, кешбек-сервіси, біржі, дропшиппінг-платформи, програми лояльності, доставка їжі та товарів, платіжні системи
Мобільні програми для управління бізнес-процесами
CRM-системи, ERP-системи, управління проектами, інструменти для команди продажів, облік фінансів, управління виробництвом, логістика та доставка, управління персоналом, системи моніторингу даних
Мобільні програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, платформи надання електронних послуг, платформи кешбеку, відеохостинги, тематичні портали, платформи онлайн-бронювання та запису, платформи онлайн-торгівлі

Це лише деякі з типів мобільних додатків, з якими ми працюємо, і кожен із них може мати свої специфічні особливості та функціональність, а також бути адаптованим під конкретні потреби та цілі клієнта.

Послуги, які ми пропонуємо
Показано 1 з 1Усі 1734 послуг
Розробка мобільного додатку для розумного дому (електрозамки/домофон)
Середній
від 1 тижня до 3 місяців

Наші компетенції:

Часті запитання

Останні роботи

  • image_mobile-applications_feedme_467_0.webp
    Розробка мобільного додатка для компанії FEEDME
    897
  • image_mobile-applications_xoomer_471_0.webp
    Розробка мобільного додатку для компанії XOOMER
    784
  • image_mobile-applications_rhl_428_0.webp
    Розробка мобільного додатку для компанії RHL
    1218
  • image_mobile-applications_zippy_411_0.webp
    Розробка мобільного додатку для компанії ZIPPY
    1081
  • image_mobile-applications_affhome_429_0.webp
    Розробка мобільного додатку для компанії Affhome
    1004
  • image_mobile-applications_flavors_409_0.webp
    Розробка мобільного додатку для компанії FLAVORS
    600

Розробка мобільного додатку для розумного дому (електрозамки/домофон)

Замок завис, API повернув 503, BLE-з'єднання не встановилося — користувач стоїть біля дверей з мертвим телефоном. Це не UX-проблема, це інцидент. Ми проектуємо додатки для електрозамків та домофонів, де кожен канал зв'язку має резерв. Наш досвід — 10+ років та 15 проєктів у сфері розумного дому. Нещодавно ми вирішували проблему з замками Nuki на iOS: додаток не отримував BLE-сповіщення про стан замка через неправильне налаштування CoreBluetooth background modes. Після додавання bluetooth-central в Info.plist та використання CBCentralManagerOptionShowPowerAlertKey все запрацювало. Такі деталі визначають надійність. Готові оцінити ваш проєкт за 2 дні: пишіть, і ми запропонуємо рішення під ключ.

Як ми забезпечуємо надійність при відмові всіх каналів?

Архітектура будується на резервуванні. Мінімум два незалежних способи відкрити замок. Якщо основний канал впав, користувач не повинен дзвонити в підтримку, стоячи на морозі. Типова ієрархія каналів:

  1. BLE (локальний, без інтернету) — перший пріоритет при близькій відстані
  2. Wi-Fi/хмара — якщо BLE не доступний
  3. PIN-код на замку — при повній відмові системи
  4. Механічний ключ — фізичний fallback

Додаток автоматично визначає доступні канали та перемикається. BLE: перевіряємо Bluetooth state через FlutterBluePlus.adapterState. Немає BLE або пристрій далеко — пробуємо Wi-Fi/хмару. В UI показуємо активний канал користувачеві. Знижуємо витрати на підтримку — менше дзвінків, вища задоволеність.

Чому BLE — основний канал для швидкого відкриття?

BLE забезпечує затримку менше 200 мс — в 10 разів швидше хмарного керування. Дальність 5–15 метрів, не потребує інтернету. Нативна реалізація через CoreBluetooth (iOS) / Android BLE API, на Flutter — flutter_blue_plus. Кожен замок — GATT-сервіс зі своїми характеристиками. Наприклад, August замки використовують service UUID 00001523-1212-EFDE-1523-785FEABCD123 з пропрієтарним протоколом — офіційного SDK немає, працюємо через реверс-інжиніринг або August API.

Протоколи та типи замків

Протокол Дальність Затримка Залежність від інтернету Приклади замків
BLE 5-15 м <200 мс Ні August, Schlage Encode, Nuki
Wi-Fi ~100 м 300-2000 мс Так Tuya, Yale Connect, Kwikset Halo
Zigbee 10-100 м <500 мс Через хаб Samsung SmartThings, Kwikset
Z-Wave 30-100 м <500 мс Через хаб Schlage, Kwikset Z-Wave

Для Wi-Fi замків Tuya використовуємо Tuya Open API: POST /v1.0/devices/{deviceId}/commands з {"commands": [{"code": "switch_1", "value": true}]}. Для Zigbee — MQTT-команда на топик zigbee2mqtt/{device}/set з {"state": "UNLOCK"}. Z-Wave працює через Z-Wave JS або Home Assistant.

Порівняння підходів до тимчасового доступу

Підхід Швидкість видачі ключа Безпека Офлайн-робота Типові замки
Хмарний API (Nuki, August) <1 с Висока (SSL) Ні Nuki, August
BLE-токен з підписом <100 мс Висока (крипто) Так Будь-які BLE
PIN-код на замку Миттєво Середня Так З сенсорною панеллю

Тимчасовий доступ та гості

Ключ для гостя на 24 години, для Airbnb-мешканця на тиждень, для домробітниці по вівторках з 10 до 14 — це core функціональність. Реалізація залежить від замка. Nuki Web API: POST /smartlock/{smartlockId}/auth створює authorization з allowedWeekDays, allowedFromDate, allowedUntilDate, allowedFromTime, allowedUntilTime. August API: POST /access_codes з access_code типом.

Для BLE-замків без хмари тимчасовий ключ — криптографічно підписаний токен з часовими обмеженнями, що передається по BLE. На бекенді зберігаємо всі видані ключі з метаданими (кому, ким, термін, список використань). Push-сповіщення власнику при кожному використанні гостьового ключа.

Як реалізувати відеодзвінок з домофона?

Відеодзвінок з домофона на мобільний = WebRTC + VoIP push. Коли хтось натиснув кнопку домофона:

  1. Домофон публікує подію в MQTT
  2. Бекенд надсилає VoIP push на iOS (через PushKit) або FCM з priority: high на Android
  3. Додаток прокидається у фоні, встановлює WebRTC з'єднання з домофоном
  4. Показує UI вхідного дзвінка через CallKit (iOS) або android.telecom.ConnectionService

VoIP push на iOS через PushKit — єдиний спосіб надійно розбудити додаток для відеодзвінка. Звичайний push приходить із затримкою 2–30 секунд. PushKit — миттєво. Потребує VoIP сертифікат в Apple Developer Portal, entitlement com.apple.developer.pushkit.unrestricted-dispatch. На Android фоновий сервіс з startForeground тримає WebRTC з'єднання готовим. Починаючи з Android 14 — обмеження на фонові сервіси посилилися, потрібен ForegroundServiceType.CAMERA + ForegroundServiceType.MICROPHONE в маніфесті.

Журнал подій

Кожне відкриття — запис у журнал: хто, яким методом, в який час. Для знімного житла це юридично важливо. Зберігання: PostgreSQL з таблицею access_log (id, lock_id, user_id, method, timestamp, result). Індекс по (lock_id, timestamp DESC). Мобільний додаток запитує посторінково: GET /api/locks/{id}/access-log?page=1&per_page=50.

Типові помилки при інтеграції
  • BLE не сканується — не включено bluetooth-central background mode на iOS або не запитано android.permission.BLUETOOTH_SCAN на Android 12+.
  • PushKit не приходить — сертифікат VoIP не перевипущено або не вказано topic в payload.
  • WebRTC не з'єднується — STUN/TURN сервери не налаштовані або блокуються firewall.
  • Тимчасовий ключ не відкриває замок — не співпадає timezone на замку та бекенді.

Що входить в розробку?

Отримуєте повний цикл: аналіз вимог та узгодження протоколів, проектування архітектури з резервними каналами, розробка мобільного додатка (iOS/Android), інтеграція з замками та домофонами через API, налаштування push-сповіщень (PushKit, FCM), тестування на реальних пристроях, підготовка документації та інструкцій для користувачів. Включаємо гарантійну підтримку на 3 місяці після релізу.

Строки та вартість

Один тип замка (BLE або Wi-Fi/хмара), базове керування, тимчасовий доступ — 6–8 тижнів. Мультипротокол, домофон з відео, CallKit/VoIP, журнал, сповіщення — 4–6 місяців. Вартість розраховується після визначення моделі замків та вимог до гостьового доступу. Зв'яжіться з нами — отримайте консультацію з архітектури та попередню оцінку. Замовте розробку під ключ — ми запропонуємо рішення за 2 дні.

Apple PushKit documentation: https://developer.apple.com/documentation/pushkit