Новости
Что такое Sprut.hub?
Кто мы такие?
Мы - это команда разработчиков, которая базируется на опыте сообщества Sprut.ai. Изначально, мы были в поиске идеального решения для создания своего умного дома. Были исследованы различные решения, которые на тот момент были представлены на рынке. Это были и моно-решения от Fibaro и Vera, и мульти-решения от Athom в виде “колобка” Homey, и Open Source решения в виде Home Assistant, Domoticz и иже с ними.
Почему не строить умный дом из готовых решений?
Готовые решения были действительно неплохими, но у них было несколько особенностей: один протокол, ограниченное количество подключаемых устройств, отсутствие гибкости и интеграций, длительное время на добавление в экосистему новых, появляющихся на рынке устройств и т.д.
Open Source решения могли работать в принципе с чем угодно. Огромное количество поддерживаемых устройств, куча интеграций практически куда угодно и отличная гибкость систем, которые можно “заточить” под абсолютно любые задачи.
Нечто среднее между этими двумя вариантами - представлял из себя Athom Homey. Это мультипротокольный хаб, который поддерживает большое количество устройств от разных производителей локально и еще большее количество через интеграции. Но в один прекрасный момент, разработчики “свернули не туда”, по нашему мнению.
В итоге мы оказались в ситуации, когда готовые решения не в состоянии удовлетворить потребности пользователей в разностороннем развитии своего умного дома, а Open Source решения - требуют много времени на настройку и значительный уровень технических знаний и умений для создания рабочей и удобной экосистемы для своего умного дома.
Зачем мы начали создавать свой хаб?
Оказавшись по сути в безвыходной ситуации, мы приняли решение, что раз в мире нет универсального решения - его необходимо создать. Так и началась работа по созданию собственного, универсального, простого в использовании и доступного для технически неподготовленных пользователей хаба, который сможет удовлетворить потребности большинства потенциальных и текущих активных пользователей систем умного дома.
Идея была очень простой. Нужен универсальный хаб, к которому можно подключать устройства от любых производителей, с поддержкой нескольких протоколов, типа ZigBee, Z-Wave, WiFi и др., при этом очень простой в настройке и использовании.
Задача оказалась непростой, но мы с ней справились. Хотя это оказалось не одна задача, а две. Ведь хаб состоит из двух основополагающих компонентов: программного обеспечения и оборудования, на котором оно работает.
Что внутри Sprut.hub CE?
Начнем с “железа”. На начальном этапе разработки, софт тестировался на двух основных устройствах, которыми пользовались участники нашего сообщества. Это были контроллеры WirenBoard и одноплатные компьютеры Raspberry Pi. Первоначальное тестирование показало, что данные контроллеры, оборудованные необходимыми USB радиомодулями, вполне способны выполнять роль хаба для наших задач. Правда необходимо было еще подобрать производителя для самих USB модулей, который был бы надежным, с доступными и полноценными средствами разработки и с возможностью “сквозного” взаимодействия между разными поколениями радиомодулей, чтобы нам не приходилось каждый раз, при появлении новой модели модуля, переделывать все с нуля.
Таким производителем оказался Silicon Labs. У них оказались отличные средства разработки и тестирования, отличная техническая документация на протоколы и у этого производителя есть модули для всех необходимых нам протоколов: ZigBee, Z-Wave, Bluetooth и даже Thread. Именно поэтому мы остановились в выборе на Silicon Labs и совершенно не жалеем об этом.
После выпуска первых USB радиомодулей, которые показали себя великолепно при тестировании участниками нашего сообщества, стало понятно, что необходимо идти дальше и выпускать уже законченное устройство, которое будет включать в себя все необходимое “из коробки”. В итоге мы начали исследования в этом направлении.
В качестве базового устройства для sprut.hub, в итоге был выбран довольно неочевидный вариант. Это оказалась телевизионная приставка, которая производится российской компанией и на базе которой можно создать то, что нам нужно. Почему именно приставка? Потому что “железо” в ней протестировано десятками тысяч пользователей цифрового телевидения в довольно жестких условиях эксплуатации. Достаточно было доработать её, чтобы получить то, что нам нужно.
В итоге были потрачены месяцы на разработку и интеграцию радиомодулей в приставки, чтобы обеспечить полноценную работу всех радиоканалов. Ведь у приставки есть свой Wi-Fi и Bluetooth модули, а нам необходимо “запихать” в нее еще три: ZigBee, Z-Wave и Thread. Это потребовало довольно серьезных изысканий в части инженерии по размещению антенн, модулей и обеспечению их совместной работы без помех друг для друга.
Потом грянул кризис с микрочипами и процессорами, который отодвигал возможность выпуска партии устройств, по причине отсутствия компонентов у поставщиков. И было принято решение выпустить версию хаба, у которой будет только один радиомодуль ZigBee, но будет возможность доукомплектовать его необходимыми протоколами за счет USB модулей. Это компромисс, но мы на него пошли, так как пользователи уже давно ждали готовое решение.
В итоге родился Sprut.hub CE (Covid Edition), который представляет из себя законченное и готовое решение по управлению умным домом “из коробки”, доступное людям с минимальными техническими навыками.
Это законченное полноценное решение, полностью собственной разработки, выполненное на высококачественных компонентах и проверенное на огромном количестве пользователей.
В итоге мы не зависим от поставщиков “коробки”, которые могут внезапно снять с производства свой хаб и мы останемся с тыквой вместо кареты. Так как вся начинка - собственной разработки, мы можем легко и непринужденно развивать свое устройство при появлении новых моделей компонентов и снятии с производства старых. Мы имеем возможность первично протестировать базовую платформу на десятках тысяч пользователей телевизионных приставок, чтобы выбрать максимально надежный и подходящий нам вариант. Соответственно, мы являемся абсолютно независимыми и можем создавать именно то, что нам нужно, а не то, что нам навязывают. В этом и смысл, в общем-то.
А что за программа Sprut.hub?
Теперь про “софт”. Тут все оказалось намного сложнее. Вся сложность заключалась в том, что мы создавали нечто абсолютно новое, чего до нас никто не делал. Поэтому отталкиваться нам было особо не от чего. Единственными примерами более-менее подходящих решений, были Apple HomeKit в части компоновки экосистемы умного дома, который на момент начала разработки был не таким “навороченным” как сейчас, и Athom Homey в части реализации мульти-вендорного и мульти-протокольного решения. Во всем остальном - приходилось придумывать “с нуля”.
В качестве базовой структуры и базовой спецификации устройств и сервисов внутри хаба, была использована структура Apple HomeKit. Причем та её часть, которая предназначена для разработчиков (благо она открытая). Просто потому, что она на тот момент, являлась максимально проработанной и подробной.
Какие протоколы поддерживаются?
Что касалось поддержки различных протоколов для подключаемых устройств, то если брать Z-Wave, то там всё понятно и прозрачно. Жестко регулируемая спецификация, жесткое соблюдение правил и стандарта производителями оборудования, что, в свою очередь, приводит к довольно стандартизированной реализации поддержки протокола. А вот с ZigBee всё оказалось значительно сложнее.
Всё дело в том, что стандарт хоть и называется стандартом, но носит довольно рекомендательный характер. Нет жесткой сертификации устройств, соответственно, нет жесткого следования стандарту. Это касается абсолютно всех производителей. Даже именитые Xiaomi и Aqara, да и супер-массовая компания Tuya - не удосуживаются соблюдать требования стандарта.
Это привело к тому, что приходится учитывать особенности реализации ZigBee в каждом устройстве, дабы оно работало корректно. Не абы как, как это принято у Open Source решений, в стиле “ну как-то работает, и ладно”. А максимально быстро, точно и корректно. Включая обновление прошивок и использование дополнительных свойств устройств, типа прямого взаимодействия между устройствами и автономную работу без хаба.
В итоге, реализация ZigBee в Sprut.hub - выполнена максимально эффективно, что обеспечивает максимально быстрый отклик от конечных устройств и максимально высокую скорость при их управлении через приложение, голосовых ассистентов и через физические устройства управления.
От поддержки протокола BLE, который так любим теми же Yeelight и многими другими производителями, мы отказались на данном этапе. Всё потому, что единого стандарта как такового не существует, и все вроде бы BLE устройства можно считать работающими на проприетарных протоколах производителей, которые у каждого реализованы по-своему.
Поддержка Wi-Fi устройств реализована у нас вообще многогранно. Во-первых, надо различать то, о каких именно Wi-Fi устройствах идет речь. Например, существует множество DIY устройств, которые работают с использованием протокола MQTT. Их поддержка реализована полностью. Причем пользователи могут самостоятельно создавать шаблоны для своих устройств и самостоятельно добавлять их в систему. Так что DIY сообществу тут есть, где разгуляться.
Что касается проприетарных Wi-Fi устройств, например от Xiaomi, то следуя идеологии хаба, все должно быть просто и доступно для людей, с низким уровнем технической подготовки. В итоге у нас появится поддержка устройств из экосистемы MiHome, но в “нашем” стиле. Достаточно будет ввести логин и пароль от учетной записи в MiHome, и все Wi-Fi устройства из MiHome добавятся в Sprut.hub. При этом дальнейшее управление ими будет осуществляться локально, без использования китайских облачных сервисов.
Так как хаб изначально базировался на оборудовании WirenBoard, то естественно была реализована поддержка протокола ModBus, в обеих вариантах: RTU и TCP. Соответственно, пользователи, которым это необходимо, смогут подключать устройства и с помощью этого протокола.
А если хочется сделать устройство, которого не существует в природе, то у пользователей есть возможность создать виртуальное устройство. Например, объединив реле и датчик температуры, можно создать устройство под названием Термостат, и вуаля - вы получаете виртуальный термостат, который управляет реальным устройством. Всего в пару кликов. При этом, в отличие от “железного” термостата, у которого встроенный датчик температуры, в виртуальном можно использовать датчик, расположенный именно там, где вы хотите получить желаемую температуру. И его можно переносить, в отличии от вмурованного в стену. Все очень просто и функционально.
В итоге мы получаем хаб, к которому можно подключить огромное количество конечных устройств, причем сделано это максимально просто. Достаточно нажать одну кнопку в приложении и ввести устройство в режим спаривания (если это требуется). И все. Устройство добавляется в хаб и им уже можно управлять. С помощью чего? О, тут есть множество вариантов.
Интеграция в голосовые ассистенты
Все устройства, подключенные к Sprut.hub, автоматически добавляются в Apple HomeKit, Умный дом Яндекса и Умный дом Mail.Ru. В дальнейшем добавятся интеграции в Google Home и Умный дом Сбера.
То есть пользователю достаточно добавить интеграцию Sprut.hub в этих экосистемах и все устройства в них появятся. Причем в некоторых из них, сразу распределившись по комнатам.
Однако есть особенность.
Дело в том, что в некоторых экосистемах нет поддержки некоторых типов устройств. То есть в хабе они есть и работают, а вот в экосистеме такого типа устройств просто не существует. Ну например, как счетчик воды. Но это касается довольно ограниченного набора редких устройств. В большинстве случаев - все устройства прекрасно видимы внутри экосистем.
Соответственно мы получаем возможность управлять своим умным домом с помощью Яндекс Алисы, Siri и Маруси - практически “из коробки”.
При этом интеграция в Apple HomeKit сделана максимально автономной, то есть управление домом осуществляется полностью локально. Внутри домашней сети пользователям не будет требоваться интернет для управления домом. Все остальные ассистенты так не умеют и требуют подключение к Интернету. Но с этим мы сделать ничего не можем. Пока…
Кстати про HomeKit. У нас реализована возможность добавления устройств HomeKit в Sprut.hub. То есть мы берем устройство, которое имеет маркировку “Work with HomeKit”, и просто добавляем его в наш хаб. Или берем хаб другого производителя, например Aqara или Xiaomi, которые поддерживают интеграцию с HomeKit, и подключаем его не к HomeKit, а к Sprut.hub. В итоге устройства все равно попадут в HomeKit, но управлять ими будет уже Sprut.hub, и появятся они уже и в Алисе, и в Марусе, и в Google Assistant, и в Салюте. Удобно же?
Насколько просто использовать Sprut.hub?
В итоге мы получаем устройство, которое достаточно просто включить в розетку, подключить к домашней сети, после этого открыть приложение или веб-интерфейс и нажать кнопку добавления устройства. И все. Оно работает. Никаких настроек, “плясок с бубном” и многочасовых чтений мануалов. Включил, добавил - работает. Причем быстро и надежно.
Ведь при тестировании нашего хаба был использован опыт тысяч пользователей умных домов. Не людей, которые купили пару лампочек и управляют ими с телефонов, а людей, которые пользуются сложными умными домами годами, при этом имеют сложные автоматизации и сложные технические решения в своих домах. Именно базирование на этом опыте и обратной связи, позволило создать хаб именно таким: надежным, простым и доступным для простых и неподготовленных пользователей.
Есть ли решение для интеграторов и сложные автоматизации?
Для опытных пользователей и интеграторов тоже есть поле для деятельности. Ведь у Sprut.hub есть открытое API и возможность интеграции куда угодно через тот же протокол MQTT.
А для любителей сложных автоматизаций, есть готовая интеграция Sprut.hub в NodeRED, что позволит энтузиастам создавать умопомрачительные автоматизации любой сложности.
У Sprut.hub есть поддержка собственных сценариев. Причем для простых и технически не сильно подготовленных пользователей - он будет иметь простой и удобный интерфейс, а для интеграторов или энтузиастов, будет возможность создавать сценарии любой сложности, имея на руках довольно понятный и доступный синтаксис.
Соответственно, в совокупности “железа” и “софта” мы в итоге получаем:
- законченное устройство, которое управляет умным домом
- имеет максимально простой и дружелюбный интерфейс
- умеет работать без интернета
- не привязано к производителям конечных устройств
- интегрируется во все голосовые ассистенты
- может управляться через умные колонки
- может управляться через приложение на смартфоне/планшете
- может управляться с компьютера через веб-интерфейс
- поддерживает различные протоколы
- собственная разработка и независимость от производителей и разработчиков