Краткая статья о подключении привода Drivent для автоматического проветривания.
Всем привет!
Сегодня очень кратко расскажу про организацию автоматического проветривания с помощью привода Drivent.
Заказать привод, а так же получить подробную консультацию можно через официальный Telegram-канал. Здесь же я затрону моменты, связанные с интеграцией в систему MajorDoMo и поделюсь кое-какими субъективными наблюдениями.
Пропущу базовые шаги по тому, как привод монтируется на окно и подключается к домашней WiFi-сети -- эти моменты хорошо описаны в инструкции от производителя и больших проблем с ними возникнуть не должно. В первую очередь нас интересует интеграция -- она происходит за счёт того, что привод поддерживает MQTT-протокол для общения со сторонними системами, так что на нём всё и будет основано.
В настройках привода необходимо указать IP-адрес сервера MajorDoMo, где "крутится" MQTT-брокер. Порт по-умолчанию используется 1883. К сожалению, в настройках привода нельзя указать MQTT-путь работы с приводом и каждый привод (если у вас их несколько) работает "от корня" с добавлением собственного имени. В моём случае это "drivent-d98", так что в MajorDoMo в настройках модуля MQTT необходимо добавить следующий путь подписки на события: "drivent-d98/#". Помните, что в настройках разные подписки указываются через запятую:
После чего должны появиться данные примерно в таком виде:
Следующим шагом мы создадим Простое Устройство, которое будет отвечать за взаимодействие с приводом. Здесь всё также несложно -- заходим в Панель управления, раздел Устройства, подраздел Простые устройства (Simple Devices) и добавляем ПУ типа "Открываемое". Я назвал устройство "Окно в кабинете". Вот так выглядит его базовая информация после добавления:
Видно, что автоматически был создан объект Openable4.
Далее, можно немного подкорректировать Настройки для этого устройства на своё усмотрение:
Здесь самым важным моментом является установка галочки "Поддержка уровня открытия" -- это позволит не только открывать/закрывать привод полностью, но и выставлять желаемый уровень открытия в процентах.
Виджет устройства будет выглядеть вот так:
На данном этапе у нас в системе есть ПУ для управления и само устройство заведено через MQTT, но они не связаны друг с другом.
Для того, чтобы наше устройство слушала команды системы, необходимо осуществить привязку MQTT-топика управления с созданным ПУ. Для этого заходим в раздел MQTT и находим топик устройства CurrentPosition, связываем его со свойством level объекта Openable4 нашего ПУ и обязательно прописываем путь записи значения, потому что чтение и установка уровня происходит через различные топики MQTT:
Таким образом у нас получаются следующие пути:
drivent-d98/CurrentPosition -- для чтения текущего положения (если вы вручную кнопками на приводе его открыли, то актуальное значение попадёт в MajorDoMo)
drivent-d98/setTargetPosition -- для установки желаемого положения из системы MajorDoMo
Собственно, на этом интеграция, можно сказать, завершена. Привод управляется из системы и в системе показывается актуальная информация о его положении. Управление из системы, в свою очередь, подразумевает поддержку управления с помощью iOS устройств (в том числе через Siri), а также голосовое управление с помощью умных колонок Яндекс ("открой/закрой окно в кабинете", "открой окно в кабинете на 50%").
В качестве небольшого бонуса к инструкции, пример настройки автоматического проветривания по датчику CO2. У меня в кабинете есть датчик CO2, который так же заведён как Простое устройство, так что реализовать данный сценарий становится совершенно просто.
Заходим в настройки устройства "CO2 кабинет" в закладку Связанные устройства, добавляем связь типа "Условное управление":
Задаём параметры на автоматическое открытие окна:
Аналогично создаём правило на закрытие, когда уровень CO2 опускается до приемлемого:
Всё. После этого окно будет проветриваться само по показаниям датчика.
Сам по себе привод работает отлично -- очень тихо и достаточно плотно прижимает полотно окна к раме, но есть свои особенности. Во-первых, из-за того, что привод у меня установлен взамен штатной ручки, то перестаёт работать стандартный механизм прижима в нескольких точках, так что: а) всё же прижим не такой плотный и в зависимости от состояния уплотнителя окно может начать продувать; б) долговременный прижим в одной точке может привести к необходимости время от времени регулировать окно, особенно это касается деревянных пакетов, которые более подвержены небольшой деформации. Во-вторых, пару раз сталкивался с тем, что в сильный ветер привод не мог закрыть окно -- в нём встроена защита от слишком большого усилия (например, возникнет припятствие), так что сильный ветер создавал давление и привод открывался, а потом снова пытался закрыться по показаниям датчика и так по кругу. С последним можно бороться введя режим ручного управления, чтобы можно было отключить автоматическое открытие и управлять приводом вручную.
В общем и целом мне идея с установкой привода понравилась. Всё ещё считаю, что полноценная вентиляция была бы лучшим вариантом, но, если вы, как и я, не озаботились об этом заранее, то автоматическое проветривание является вполне приемлемым вариантом.