Sprut.hub vs HomeKit

13 сентября 2019, 18:01

История одной проблемы...

Привет, друзья. Хочу поделиться историей о том, как потратить три недели своей жизни…

Вы знаете, что мы сейчас титаническими усилиями пытаемся выпустить Sprut.hub, но желание уложиться в сроки никогда не перевесит желание сделать качественно.

Наша реализация HomeKit сделана полностью по заветам Apple и их официальной документации HomeKit Accessory Protocol Specification

o01-1.jpg

Для того, чтобы устройства могли увидеть другу друга в сети, используется протокол Bonjour и Apple предоставляет эталонную реализацию, которую мы и взяли за основу своего решения.

Проверили, протестировали и забыли - так как всё работало изумительно. 

o01-1.jpg

Но вот три недели назад, я заметил весьма неоднозначное поведение, связанное с сохранением связи между устройствами. Причём при первичных тестах это никак не проявлялось и ни один из более чем 30 человек, которые тестируют продукт, не заметил этой проблемы.

А заключалась проблема в том, что иногда, по необъяснимым причинам, связь между хабом и, например, AppleTV или HomePod, просто пропадала. 

Заметить это в реальных условиях использования почти невозможно, а вот столкнуться с симптомами легко. Например, при удалённом управлении, у вас просто становится недоступным ваш любимый ДОМ. А когда пробуешь еще раз через несколько минут, или по возвращению домой, всё работает идеально. И ходишь потом, ругаешь умный дом от Apple.

Еще пример: сделали автоматизацию в HomeKit, а она просто периодически не срабатывает, хотя в программе дом на вашем iPhone всё выглядит хорошо, и ваше устройство сменило статус в интерфейсе. И ты опять ходишь и ругаешь Эпл.

И никто ведь не догадывается, что проблема то не с Apple. Ведь на вашем телефоне видно, как меняются статусы. Во всём виноват ваш мост или хаб умного дома.

Так вот на то, чтобы найти связь потери соединений и Bonjour, мы потратили ровно три недели...

  1. Так как данное событие не имело определенной периодичности, и на его следующее появление могло легко уйти вплоть до трех дней, у нас не было чёткого алгоритма того, как повторить проблему. Приходилось просто сидеть и ждать.
  2. Время от времени соединения могли разрываться по одному, а иногда и пачками.
  3. Искать проблему в том месте, которое рекомендуется производителем, которое, в свою очередь, скорее всего, используется во множестве продуктов, которые официально сертифицированны Apple и продаются с полок магазинов, естественно, даже в голову не приходило.
  4. Логически понять то, что проблема кроется между двумя системами, одна из которых называется "инструмент для поиска", а вторая осуществляет поддержание связи между устройствами - это примерно как найти зависимость между сломанной спичкой и невкусным ужином.

Естественно, если мы бы выпустили продукт с таким дефектом, вы бы даже не заметили этого, но ваш кайф периодически обламывался бы из-за кривой работы HomeKit.

Но лично я не хотел бы, что бы на меня, как пользователя, так забивали и давали в пользование заведомо убогое решение, пользуясь моей неграмотностью в этом вопросе.

Наверное, это не смертельная проблема. Но представьте, что хирург просто немного где-то схалтурил, визуально человеку это будет не видно, но внутри будет вызывать у него дискомфорт.

А вы уверенны что то решение, которым вы пользуетесь, не грешит подобными проблемами. Какова вероятность того, что разработчики просто забили на какой нибудь досадный факт? Причём основанный на официальных рекомендациях.

Это был всего лишь один из примеров, который на неопределённый срок затягивает разработку. Нет, я не ищу оправдания затянувшимся срокам. Я просто хочу поделиться обратной стороной разработки, нашим подходом к ней, и, возможно, наш опыт позволит кому-то сэкономить три недели жизни при возне с mDNSResponder или "эталонной реализацией" от apple, так как проблема была именно в нём. В нашем случае, проблема была решена переходом на «не эталонную реализацию» mDNS, где такого поведения устройств не наблюдается...

Последние новости о проекте: Sprut.hub


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Андрей Попов (andreypopov)

    с днем программиста ! ура

  2. Даниил Кусков (daddvok)

    На малине будет работать?

  3. Вячеслав Фетисов (Ziracul)

    Ждем выхода релиза, спасибо за проделанную работу

  4. Александр Поспелов (@citizenofthewor1d)

    Ох как ждём 

  5. Sergey Shu (grayker)
    Sergey Shu (grayker) 4 дня назад

    Такая же проблема с плагином колобка , даже локально. Его наверно точно доделывать не будете?

  6. (dosha25)
    (dosha25) отредактировано 4 дня назад

    А есть хотя бы ориентировочные сроки выхода устройства?

    И очень интересна цена

  7. Александр Окороков (Jigi84)

    Точняк и было) я грешил но хоумкит и Дале не думал писать об этом в чат 

К списку статей

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Похожие статьи

09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
15 июня 2018, 12:13
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
02 октября 2018, 18:41
Установка SDK для компиляции прошивок под HomeKit
28 августа 2018, 09:48
От голого Raspbian до веб-интерфейса homebridge за четыре команды в терминале.