Каждый чайник — личность. Заметки об интеграциях в Умном доме Сбер
Салют, Хабр!
Меня зовут Иван, я разработчик на Go. В SberDevices я занимаюсь реализацией интеграций — обеспечиваю возможность подключать устройства разных брендов к Умному дому Сбер. Он построен на микросервисной архитектуре. Кажется, что всё просто: чтобы интегрировать два умных дома между собой, нужно узнать их протоколы — наборы типов устройств и их возможностей с определёнными форматами их описания — и на основе протокола создать адаптер. Но есть проблема: как правило, каждая модель устройства, например, чайника, уникальна. Нельзя написать универсальную функцию f:SberSH -> PartnerSH , которая будет выполнять преобразования всего множества устройств: сложность задачи масштабируется вместе с их количеством. Но можно упростить и унифицировать процесс создания этих преобразований. Рассказываем, как сделали это в Умном доме Сбер.
Читать далее