Розробка мобільного застосунку для розумного дому (штори/жалюзі)

Керування шторами та жалюзі з телефона ламається вже на першому сценарії: частина приміщень не відповідає, ролі плутаються. Ми розробляємо мобільні застосунки для розумного дому під ключ — від обстеження об'єкта до передачі конфігурацій і регламентів. Реакція та сценарії працюють однаково для мешканця, адміністратора та сервісної служби.

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

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

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

Розробка мобільного застосунку для розумного дому (штори/жалюзі)

Інтеграція з пристроями (BLE, NFC, IoT, HomeKit)Середній~3-5 днів
Часті запитання

Розробка мобільного застосунку розумний дім: де ламається керування

Користувач веде повзунок на 30% — і нічого не відбувається. Через кілька секунд штори доїжджають до кінця, а на екрані весь цей час висить «виконується».

Затримка відгуку застосунку в пару секунд ламає сам сенс керування шторами зі смартфона: людина натискає вдруге, отримує зворотний хід і перестає довіряти системі.

Команда проходить чотири стики: застосунок, хмара, локальний контролер, привод. На кожному — своя черга, свій тайм-аут і свій повтор, тому одна команда приходить до приводу двічі або не приходить узагалі.

Під час втрати зв'язку з контролером застосунок показує оптимістичне «відчинено», хоча привод не зрушив: стан узято з останнього підтвердження, а не з факту.

Корінь у тому, що логіку сценарію розмазали по шарах. Розклади живуть у хмарі, позиціонування й затримки — у застосунку, частина логіки дублюється в контролер, і три копії стану розходяться. Після перезапуску контролера або обриву мережі розходження лише зростає.

Розробка мобільного застосунку розумний дім рідко впирається в інтерфейс — вона впирається в те, хто володіє станом приводу. В експлуатації це виглядає як потік звернень «штори живуть своїм життям», який не лікується перевстановленням застосунку. Розбираємо, де саме губиться команда і як це закривається.

Що змінюється після впровадження: відгук, сценарії, відмови

Після впровадження змінюються три вимірювані речі: частка команд, що доходять до приводу з першого разу, час реакції інтерфейсу на жест і поведінка сценаріїв під час обриву зв'язку. Раніше це перевіряли «на око» — тепер є журнал команд і зрозуміла межа між нормою та дефектом.

Швидкість реакції інтерфейсу та передбачуваність жесту

Слайдер положення та жест «потягнути штору» обробляються оптимістично: інтерфейс показує нове положення одразу, а команда йде в чергу з підтвердженням від приводу.

Якщо підтвердження немає за відведене вікно, стан відкочується до фактичного — користувач бачить правду, а не завислу половину. Частка команд, що доходять з першого разу, тримається вище 99%: повторні натискання та «дребезг» жесту гасяться на боці застосунку.

Сценарії, які переживають обрив зв'язку

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

Коли зв'язок повертається, застосунок звіряє фактичне положення кожної групи з очікуваним і добудовує пропущені кроки. Так іде клас відмов «сценарій спрацював наполовину», коли одна штора поїхала, а друга залишилася в отворі.

Інтеграція із зовнішніми екосистемами йде через Apple Home: сценарії та групи штор видно ззовні, а логіка й розклади залишаються в застосунку.

Режими керування: хмарний, локальний і гібридний

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

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

Варіант Коли підходить Обмеження
Повністю хмарне керування Швидкий запуск, контролера на об'єкті немає Робота за відсутності зовнішньої мережі припиняється, відгук залежить від каналу
Локальний контролер у квартирі Пріоритет — швидкість реакції та автономність Віддалений доступ лише через зовнішній канал, синхронізація сценаріїв вручну
Гібрид із пріоритетом локального контуру Потрібні й автономність, і віддалений доступ Складніше налаштування: два контури та правила вирішення конфліктів
Через наявний будинковий контролер Контролер уже встановлено й він покриває приводи Залежність від його можливостей і темпу оновлень

Коли хмара неминуча

Хмарний контур потрібен там, де сценарії зав'язані на зовнішні дані: голосові асистенти, геолокація, розклади за сходом сонця, доступ для гостей. Якщо контролера на об'єкті немає, а приводи підключаються напряму, хмара залишається єдиною точкою збору стану.

Гібрид: що вирішується на об'єкті, а що в мережі

На об'єкті вирішується все, що потребує миттєвої реакції: команди з пульта та із застосунку в тій самій мережі, групи штор, крайні положення. У мережу виносимо розклади, сценарії за світлом і температурою, історію подій та віддалене керування. Під час втрати каналу застосунок перемикається на локальну адресу й продовжує працювати.

Етапи впровадження: від аудиту об'єкта до передачі

Мобільний застосунок для штор і жалюзі керує не екраном, а приводами через контролер: помилка в сценарії проявляється у фізиці — стулка не доїхала, група моторів пішла врозбіч. Тому маршрут робіт будуємо від об'єкта, а не від макета інтерфейсу.

  1. Аудит об'єкта автоматизації — типи приводів, живлення, слабкострумові лінії, якість зв'язку в товстих стінах, що залишаємо з наявного.
  2. Проєктування сценаріїв і ролей — групи штор за приміщеннями, добові та сценарні режими, права мешканця, гостя, служби експлуатації.
  3. Налаштування контролерів і локальної логіки — розклади та базові команди виконуються на місці, без зовнішньої мережі.
  4. Реалізація застосунку — інтерфейс під конкретні групи та зворотний зв'язок за фактичним положенням полотна, а не «відчинено — зачинено».
  5. Стендова перевірка на реальних приводах — прогін сценаріїв до монтажу: хід, крайні положення, синхронність групи.
  6. Прогін відмов — зникнення живлення, втрата зв'язку, заклинювання, ручне втручання та повернення в робочий режим.
  7. Передача й навчання служби експлуатації — документація, регламент обслуговування, розбір типових несправностей.

Що уточнюємо під час обстеження

Тип і хід приводів, кількість груп і вимоги до їхньої синхронності, точки живлення, наявність ручного керування та аварійних режимів. Окремо — де штори працюють як перепона і що має статися за сигналом тривоги.

Як виглядає приймальний прогін

Ідемо за списком перевірок: кожен сценарій в автоматичному й ручному режимі, затримки, групові команди, відмова каналу зв'язку, знеструмлення та повернення. Приймання підписуємо на реальних приводах і в присутності тих, хто буде експлуатувати об'єкт.

Що передаємо на руки: конфігурації, схеми, регламенти

Передаємо не «застосунок», а комплект, за яким систему можна розвивати й обслуговувати без нас. Нижче — що фізично залишається у замовника в його репозиторії та документообігу.

  • Конфігурація сценаріїв: опис кожної автоматизації за схемою «подія → умова → дія» — ранковий підйом, реакція на вітер, режим «нікого немає» — з пріоритетами й тайм-аутами.
  • Схема автоматизації: розміщення контролерів, приводів і датчиків за приміщеннями з адресацією. Монтажник знаходить вузол за схемою, без виїзду розробника.
  • Матриця ролей і прав: хто і що може — мешканець, керуючий, сервісний інженер.
  • Інструкція для мешканця: додати штору, перейменувати приміщення, що робити під час втрати зв'язку з приводом.
  • Документація на застосунок: збірка, середовища, порядок оновлень і відкат на попередній реліз.
  • Регламент обслуговування: періодичність перевірок, критерії відмови приводу, порядок ескалації.
  • Порядок розширення: як додати приміщення або пристрій, не переписуючи ядро сценаріїв.

Матриця ролей і прав доступу

Ролі розділено за рівнем ризику: мешканцю доступні лише його приміщення та сценарії, керуючому — групові режими, сервісному інженеру — діагностика вузлів і журнали подій.

Права описано декларативно й вони лежать у конфігурації, тому новий співробітник отримує доступ зміною одного запису, а не правкою коду.

Регламент обслуговування та точка входу для служби експлуатації

У регламенті зафіксовано періодичність перевірок, ознаки деградації приводу та порядок ескалації: хто приймає заявку, за який час реагує, які журнали додає. Точка входу одна — служба експлуатації: їй передаємо доступи та контакт для ескалації до наших інженерів.

Кейс: застосунок для штор і жалюзі в житловому комплексі

Що показували заміри до переробки

Застосунок ставив задачу напряму на контролери квартир: команда йшла в зовнішній сервіс, чекала підтвердження і лише потім доїжджала до приводу. За нестійкого зв'язку в під'їзді частина команд не доходила з першого разу, і штори залишалися прочиненими на третину. На замірах у трьох корпусах частка команд, що спрацювали з першої спроби, становила 78%.

Жест «потягнути штору» оброблявся лише після мережевого відгуку, тому реакція займала від секунди до п'яти. Користувач повторював натискання, і зустрічні команди розводили приводи в протилежні положення.

Звернення до служби експлуатації накопичувалися навколо двох сценаріїв: штори, що заклинили на середині ходу, і жалюзі в кімнатах, де ніхто не жив. Диспетчер не бачив, яка команда прийшла останньою.

Що змінилося після перенесення логіки на об'єкт

Логіку сценаріїв перенесли на локальний контролер і шину KNX, закладену в проєкт комплексу.

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

Реакція на жест рахується локально: екран показує рух одразу, приводу йде одна команда з фінальним положенням, повтори відсікаються. Частка команд з першої спроби зросла до 99,6%, відгук скоротився із секунд до десятих часток секунди.

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

Що робити, якщо локальний контролер уже встановлено?

Встановлений контролер — не перешкода й не привід починати з нуля. Спочатку інвентаризація: які групи штор підключено, що ними керує — реле всередині наявного контролера або зовнішні модулі, де зберігаються сценарії та розклади. Від цього залежить, що переноситься логікою, а що залишається на залізі.

Сумісність приводів перевіряємо за способом керування, а не за маркою. Привод із дискретним входом або сухим контактом залишається на місці — новий шар подає ті самі команди, що й раніше.

Закрита шина вендора теж не глухий кут: між нею й контролером ставиться міст, привод продовжує працювати у своїй мережі.

Перенесення сценаріїв іде поетапно, без зупинки об'єкта. Спочатку новий шар підключається лише на читання: бачить фактичні положення груп і пише журнал спрацювань.

За цими даними звіряємо калібрування крайніх положень і час ходу — розходження спливають до того, як щось почне рухатися.

Потім групи переводяться по одній, починаючи з найменш значущої. Тиждень спостережень на групу показує, як поводяться сценарії світанку, що відбувається під час втрати зв'язку, чи спрацьовують кінцеві вимикачі.

Якщо поведінка розходиться з очікуваною, група повертається на попередній контур одним перемиканням.

Наявний контролер залишається другим контуром: ручні вимикачі та місцеві сценарії продовжують працювати. Поетапна заміна перестає бути разовим ризиком — відкат займає хвилини й не зачіпає вже перенесені групи.

Часті технічні питання: інтеграція, ролі, підтримка

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

Ми будуємо застосунок так, що логіка сценаріїв живе в конфігурації на сервері, а сам застосунок залишається пультом. Змінювати поведінку штор можна без випуску нової версії, а ролі й доступи не переписуються на кожному пристрої.

Обладнання вже стоїть — застосунок із ним заробить?

Так, якщо у приводів і контролера є відкритий інтерфейс керування. Інженери знімають карту об'єкта: групи штор, пульти, чинні сценарії — і піднімають шар сумісності. Закриті системи підключаємо через штатний контролер, наприклад Home Assistant, не підміняючи заводську логіку.

Як розмежовуються ролі користувачів?

Ролі — власник, члени сім'ї, гість, сервісний інженер — задаються на боці сервера. Власник бачить усі приміщення й править сценарії, гість керує лише відведеними кімнатами й на заданий час. Сервісний доступ видається окремо, щоб налаштування не змінював випадковий користувач.

Що відбувається з налаштуваннями після оновлення застосунку?

Сценарії та прив'язки зберігаються поза застосунком, тому оновлення їх не затирає.

Перед випуском перевіряємо міграцію структури між версіями й тримаємо відкат на попередню збірку: якщо перевірки не пройшли, користувачі залишаються на робочій версії, а підтримка мобільного застосунку йде за журналом змін.

Обговоримо задачу: що потрібно знати про ваш об'єкт

Точність оцінки проєкту автоматизації напряму залежить від вихідних даних: чим менше припущень на старті, тим рідше сюрпризи на етапі монтажу й налаштування. Нижче — те, що знімає більшу частину невизначеності й дозволяє порахувати обсяг робіт без «плюс-мінус».

  • Склад приміщень і зон: скільки кімнат, які керуються незалежно, де створки нестандартної ширини або похилі.
  • Моделі приводів і спосіб керування — сухий контакт, шина або радіоканал: від цього залежить логіка команд у застосунку.
  • Що вже встановлено на об'єкті: контролер, шлюз, блоки живлення, чи є відкритий інтерфейс для інтеграції.
  • Ролі користувачів: власник, члени сім'ї, гості, обслуговуючий персонал — хто що бачить і що може змінювати.
  • Поведінка під час обриву зв'язку: штори залишаються на місці, доїжджають до крайнього положення або утримують останню команду.
  • Сценарії: розклади за часом і сонцем, групові команди, ручні сцени, прив'язка до датчиків світла й температури.
  • Обмеження об'єкта: покриття радіозв'язку, доступ до мережі, вимоги до прихованої проводки та точок монтажу.

Із цим набором ми повертаємося з оцінкою та планом робіт: етапи, склад застосунку, схема інтеграції з обладнанням.

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

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

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

  • Розробка мобільного додатка для компанії FEEDME
    Розробка мобільного додатка для компанії FEEDME
    1010
  • Розробка мобільного додатку для компанії XOOMER
    Розробка мобільного додатку для компанії XOOMER
    903
  • Розробка мобільного додатку для компанії RHL
    Розробка мобільного додатку для компанії RHL
    1332
  • Розробка мобільного додатку для компанії ZIPPY
    Розробка мобільного додатку для компанії ZIPPY
    1180
  • Розробка мобільного додатку для компанії Affhome
    Розробка мобільного додатку для компанії Affhome
    1107
  • Розробка мобільного додатку для компанії FLAVORS
    Розробка мобільного додатку для компанії FLAVORS
    714