Статья

Sprut.hub vs HomeKit

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

Да, но будет после релиза на WB и обкатки там.

Очень ждем, надеюсь тогда смогу забыть о проблеме с периодичным отваливанием удаленного доступа

Уже давно работает, везде. Но официально мы пока поддерживаем только WirenBoard.

Вайрон некуда воткнуть, ремонт готовый, очень жду на малине

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

Ох как ждём 

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

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


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

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


Вернуться назад
Вернуться назад