При разработке системы автоматизации любого масштаба зачастую встает вопрос выбора протокола, на котором будут работать устройства. Modbus, KNX, BACnet, HTTP, Z-Wave, MQTT и др., чему отдать предпочтение? На наш взгляд, в большинстве случаев именно в рамках систем умный дом/умное хозяйство вопрос выбора протокола решается исходя либо из бюджета (Modbus против KNX), либо из предпочтений подрядчика ("могу работать только с Zigbee, значит, все остальное для меня не существует"), либо исходя из неизбежности, когда наряду с приборами освещения, шторами и т.п. приходится интегрировать вентиляционные установки, котлы и прочее оборудование, поддерживающее только промышленные протоколы типа modbus.
В настоящее время производители пытаются решить данный вопрос, усложняя и надстраивая существующие протоколы. Так, компания ABB предлагает контроллеры с поддержкой KNX и конфигуратором логических программ, основанном на CODESYS, придавая им несвойственные черты свободно программируемых контроллеров. Однако, нам кажется, что данный подход, хотя и понятен: желание угодить большему кругу потенциальных клиентов, но излишен. Мы придерживаемся принципа "каждый должен заниматься свим делом". В рамках этого принципа выбор протокола не стоит вовсе: в каждом проекте может использоваться несколько протоколов, которые потом будут интегрированы в общую систему с помощью сервера интеграции. Таким образом мы получаем полную свободу и возможность реализовывать сильные стороны каждого протокола: преимущества распределенной KNX шины, поддерживающей продукцию десятков производителей, устройства которых можно вписать в любой интерьер; простоту и нетребовательность Modbus и т.п.
В нашем понимании система автоматизации умного дома - это вертикально организованная структура с исполнительными устройствами любых протоколов внизу и клиентскими приложениями, в которые бесшовно интегрированы упомянутые устройства, наверху.
Применяя данный принцип на практике, удается добиться максимальной отказооустойчивости и снизить влияние слабых сторон, присущих любому протоколу. Так, сочетая KNX и Modbus, можно быть уверенным в том, что если выйдет из строя Modbus master, то осветительные приборы, TV, AV будут по-прежнему функционировать. Более того, применяя серверы интеграции, можно отказаться от присваивания системам несвойственных им функций. Так можно освободить систему безопасности от функции управления освещением и наоборот, превратив тем самым систему автоматизации в непотопляемый дредноут.
Иными словами, отвечая на поставленный в заглавии вопрос, можно сказать, что выбор протокола зависит от степени сложности и количества функций каждой конкретной системы. И рамках каждой конкретной системы должно использоваться столько протоколов, сколько позволит полноценно охватить пожелания заказчика.