Умный дом - полезные мелочи
Советы будут, как всегда, на примере личного опыта, историй, проб и ошибок. Напомним, что строили свой умный дом на основе собственной открытой архитектуры. Базовый контроллер и большинство ModBUS устройств от Wirenboard (отечественный производитель). При проектировании закладывали избыточные провода и выключатели, не зная заранее - где и как они пригодятся. Дальнейшее повествование будет с учётом Wirenboard специфики.
Включение света по движению (не забудьте выключить)
На первый взгляд, тема кажется очевидной/полезной/простой/... Есть помещение, в нём находится датчик. При попадании туда человека/собаки/кота/..., необходимо зажечь свет. Всё вроде бы просто, но в реальной жизни появляются "нюансы".
Например, иногда, при достаточном естественном освещении помещения, включать свет в нём нет необходимости (и так светло). Это приводит к тому, что наличие простого датчика движения/присутствия становится необходимым но не достаточным условием. Требуется ещё и датчик освещённости. Кроме того, существуют различные типы таких датчиков. Одни реагируют на тепло человеческого тела, другие работают на другом физическом принципе. Одним требуются батарейки, другие имеют "на борту" активные излучатели и запитываются от сети. Рекомендуем изучить самостоятельно разницу между PIR и HF датчиками.
Допустим, вы используете обычные PIR датчик типа WB-MSW v4.0 или маленький Zigbee вариант на батарейках или активный с постоянным питанием от сети.
Не важно, все они не исключают взаимное применение и, как правило, дополняют друг-друга. Т.е. в одном помещении можно использовать разные их типы в любых комбинациях. Мы уже выяснили, что одного факта детекции движения не достаточно. Необходимо ещё учитывать и уровень текущей освещенности. Из личного опыта добавим, что и этого бывает мало. Заходишь в прихожую, PIR датчик определяет тепловой фон, правило в контроллере сравнивает пороговое значение освещённости и включает свет в помещении. Пока всё нормально. Вопрос - когда свет пора выключать? Если сидеть в прихожей без движения, PIR не сможет определить ваше присутствие и понадобится наличие активного датчика. Если подключение последнего вы не предусмотрели проектом, то ваша идея включения света по движению может обрасти целым букетом "особенностей". Вскоре вы поймёте, что свет зажигается с запозданием, в нежелательные моменты, или гаснет не вовремя. Как следствие, вам может понадобиться выключатель для режима "принудительного освещения" (такой, который обычный выключатель, вообще без датчиков и движений, если на него нажать, то реакции на движение и присутствие не происходит, свет просто горит всегда). Другой не удачный, но показательный пример, из рассказов "очевидцев" - управление светом в ванной комнате/санузле по движению. Достаточно войти в сей храм чистоты, как потолочное освещение автоматически включится, приветствуя посетителя. Когда же вошедший замирает верхом на белом коне, погрузившись в раздумья о бренности бытия (или просто залипнув в телефоне), либо опустившись в тёплые воды ванной, ... некоторые PIR датчики могут и вовсе потерять посетителя "из вида". В таком случае вопрос о времени отключения света уже не выглядит таким тривиальным.
Рекомендации:
- Проектируйте слаботочку с учётом особенностей работы различных типов датчиков. Обращайтесь к профессионалам;
- В помещениях, лишённых естественного освещения, следует предусмотреть дополнительную линию питания активных датчиков на потолке/стене. Достаточно от розетки в штробу кинуть кабель 3x0.5 (даже если не пригодится, затраты минимальны);
- Не избегайте комбинированных схем, когда PIR датчикам помогают другие железки с активным излучением;
- При управлении лампами от движения/присутствия всегда учитывайте освещённость помещения;
- Внимательно относитесь к предложениям сделать вам "профили/режимы/сцены/... освещения". Как правило за ними скрываются фантазии продаванов, выраженные в одновременном или диммируемом включении различных групп осветительных приборов по одной кнопке. Звучит красиво, но на практике - редко востребовано и часто бесполезно.
SMS/Telegram/E-Mail/... уведомления
Другая полезная фишка - уведомление о важных событиях по различным доступным каналам. Обязательно предусматривайте в своей системе автоматизации, минимум, GSM модуль.
Например, у вас есть ворота. Нажали на кнопку - они открылись. Автомобиль покинул периметр. Далее - следует нажать на кнопку и дождаться закрытия ворот или уехать? Если вы уехали а в створе ворот появился человек/собака/помеха/... которая предотвратила их закрывание? Ваш участок остался открытым. Если появлялись такие такие мысли, значит вы понимаете о чём стоит волноваться. Не хотите стоять и ждать полного закрытия периметра? Поставьте обычный геркон, сделайте себе уведомление об открытии/закрытии ворот и уезжайте спокойно!
Ещё пример - уведомление об отключении в доме электричества/воды/газа/... Если сам факт оповещения хозяев о таком инциденте не кажется столь значимым, то реакция на подобные события в любой домовой автоматизации должна быть своевременная и обязательная! Прекращение подачи электропитания должно приводить к запуску генератора или переключению на резервные источники. После прекращения подачи воды, как минимум, необходимо отключить насос рецеркуляции (это тот который горячую воду отводит от кранов по короткому контуру через полотенцесушитель). Без отключения этого насоса, он быстро выработает свой ресурс, прокачивая воздух. То же касается и повышающих насосов на входе в систему (если имеются).
Уходя из дома, иногда, следует поставить периметр под охрану. Это сложный многоступенчатый процесс. Запуск процесса часто отложенный (нажали кнопку закрыли входную дверь, а через минуту началась постановка под охрану). Камеры должны перейти в режим детектирования движений. Внутридомовые датчики присутствия должны поднимать тревогу, если обнаружено нечто в ваше отсутствие. Детекторы открытия дверей/окон должны перейти в режим недопустимости нарушения охраняемого периметра. Датчики вибрации и разбития окон теперь должны извещать о любых изменения (на которые ранее не следовало обращать внимание). В зависимости от вашей специфики, существуют множество процессов, активизирующихся при включении охраны периметра. Все они растянуты во времени. О том, что периметр таки взят под охрану, по завершению всех необходимых процедур и мероприятий, хозяевам не помешало-бы узнать.
В современном доме существует большое количество событий/инцидентов/ЧП/... на которые необходимо мгновенно отреагировать. Если даже не рефлексировать мгновенно, то хотя-бы поставить хозяев в известность.
Так, например, выглядит наше SMS уведомление:
Полный поток нотификаций дублируется в телеграм бота. Доступ к которому ограничен аккаунтами семьи:
Имея малый носитель, поднять телеграмбота получилось за один вечер. Достаточно прочесть инструкцию на Хабре. Самой долгой частью стал поиск решения - как ограничить доступ пользователей к боту. Оказалось, каждый чат с ботом и определённым пользователем имеет свой номер (Long). Получить его можно из аргумента update.
Long id = null;
if (update.hasMessage() &&
if (id==null) return;
if (!this.availableUsersIDs.contains(id)) {
sendMessage(id, "ID "+id+" not authorized!");
}
// Далее рабочий код бота ...
}
Рекомендации:
- Проектируйте уведомления о важнейших событиях по различным каналам. Минимально - это SMS;
- Отделяйте частые события от редких. Частые пусть отправляются в Телеграм, а редкие обязательно дублировать через SMS;
- Используйте альтернативные каналы уведомлений. Если отключили свет и интернет ваша система должна быть в состоянии об этом сообщить;
- К важным событиям следует относить (безусловно у вас их много больше, так как своя специфика):
- Отключение/включение газа;
- Отключение/включение электропитания;
- Падение/восстановление давления воды на входе в дом;
- Протечки (неконтролируемый и не прекращающийся расход воды);
- Задымления;
- Превышения ПДК вредных газов в помещениях;
- Срабатывание огнетушителей;
- Нарушение периметра (при включённом режиме охраны);
- ... << добавьте свою специфику >> ...
Мастер кнопка
Используйте простой выключатель на входе/выходе как "Мастер кнопку". Наверняка у многих из вас появлялись сомнения, покинув дом - а выключен ли утюг/чайник/плита/... (и прочее подобное). Нажав такую "волшебную" кнопку все потребители (кроме насосной группы, охраны, автоматизации, серверов и холодильников), будут обесточены. Т.е. выходя из дома и нажимая "мастер кнопку" вы отключаете все розетки, от которых могут быть запитаны "тревожные" устройства.
Когда в вашем доме есть такая кнопка, вы чувствуете себя гораздо комфортнее, покидая своё жилище. Если у вас до сих пор нет ничего подобного - то есть повод задуматься.
Можно на такую кнопку повесить не только отключение тревожных потребителей, но и постановку дома на охрану.
Рекомендации:
- Проектируйте мастер кнопку вместе со своей электрикой и прочими коммуникациями ещё до начала ремонта/строительства;
- Не достаточно установить контактор, для размыкания цепи по кнопке, ещё необходимо иметь разделение потребителей на главную (не отключаемую) и второстепенные группы;
"Магический" кубик
Рекомендации:
- Используйте "магический кубик" в режиме "потрясти", например, для отключения света во всём доме. Придумайте свой вариант. Если не придумали - вам не нужен этот кубик;
- Иногда, на вращение привязывают управление громкостью телевизора или яркость освещения. Не советуем. Редко используемая функция, а со временем, от постоянного кручения на твердой поверхности, он просто царапается.
Китайский контроллер в розетке
Существует такой круг потребителей, которые таки поставили себе "умный дом" (в виде мандулы в розетке). Это, как правило, начинающие пользователи. После того, как лампочки стали зажигаться от выключателей, захотелось сделать свой дом "умным". Каждый вкладывает в это понятие "умности" своё. Для некоторых - мастер кнопка, уже "космос". Для других - контроль давления воды и газа, вместе с расходомерами, тот минимум, от которого необходимо отталкиваться. Очень часто у новичков, "умность" дома оценивается возможностью включить/выключить свет через смартфон.
Не будем тратить время и опять рассказывать, что обязательно следует заранее проектировать силовую и слаботочную части своего жилища. Остановимся на часто-встречающемся кейсе. У меня есть квартира/дом - "сделайте это 'умным'". Даже не искушённому пользователю станет понятно, что нельзя "просто так", сделать из табурета - мопед. Но мы потому и пишем об этом кейсе (что-бы оградить уважаемых читателей от подобных ошибок). Вы не думали, не гадали, не проектировали, не планировали, не платили, ... и вдруг - надо теперь сделать дом/дачу/баню/квартиру "умным". Да пожалуйста! Существуют "универсальные" контроллеры. Это колонка с Алисой на борту от Yandex, или аналогичные решения от Google, Mail.ru, ... Не редко используют Китайские железяки:
Только подумайте, в доме (при проектировании) не было предусмотрено вообще ничего. Не было разделения потребителей на группы, не было прокладки избыточных проводов, не было даже минимально необходимого для "умного дома". Но тут появляется контроллер (мандула). Вместе с мандулой в розетке появляются лампочка, датчик движения и температуры. Стартовый набор, обычно, содержит по одному беспроводному (ведь нужных коммуникаций попросту не проложено) девайсу каждого типа и служит одной единственной цели - поиграться. Дабы получить минимальное представление и полезный опыт, такие наборы ещё сгодятся, но строить на их основе боевые системы является большой ошибкой. Очень часто, устанавливают их самостоятельно (или помогает местный электрик) а полученный опыт, от эксплуатации этих игрушек, является всегда негативным. Как следствие - человек просто не видит полезности и целесообразности от масштабирования стартового набора на весь дом/квартиру.
Рекомендации:
- Не используйте "умный дом" в варианте с "мандулой воткнутой в розетку" (только для поиграться);
- Помните, что любой контроллер привязанный к "облаку" - это зло. Сервера в Китае могут стать недоступны и ваш "умный дом" превратится в тыкву. Кроме того, никто не гарантирует, что вы защищены от "восстания машин". Ведь с чужого сервера, неожиданно, может прилететь команда на отключение всех потребителей;
- Обращайтесь к профессионалам, не тратьте своё время и деньги на стартовые наборы.
Телеметрия
Каких бы размеров у вас не была система, всегда полезно сохранять и накапливать статистику её работы. Это открывает новые горизонты в использовании таких данных. Например, на основе истории включения/выключения света можно обучить модель очень точной имитации присутствия (когда вы в отъезде). Эта же модель может использоваться в предиктивных алгоритмах и работать на опережение, рекомендуя включить те или иные осветительные приборы в определённое время (если таковое происходит ежедневно). Другой пример - анализ динамики изменений температурных показателей позволит более точно настроить ПИД процессы, что приведёт к экономии средств на отопление. Истории аварий (отключения света/воды/...), перекос потребления по фазам, прогнозирование счёта за газ/электричество, и много-много другого полезного и интересного можно извлечь из накопленной статистики.
Далее, на собственном примере. В силу сложности приобретения сейчас полноценного стоечного сервера, на котором в виртуалках можно поднимать необходимую функциональность, приходится её перераспределять по малым носителям. В качестве таковых, традиционно используем "малины" (RaspberryPI 4B). Однокристальная система Broadcom BCM2711. Кристалл включает в себя 4-ядерный 64-битный процессор Cortex-A72 (ARM v8) с частотой 1,5 ГГц и графический процессор GPU VideoCore VI с частотой 500 МГц. 8 гигов памяти и быстрая microSD карта вмещающая 256 гигов, позволяют водрузить на подобный носитель не так уж и мало.
Мы вначале опасались, что озадачив малину сбором статистики и отображением дашбордов, она больше ничем заниматься и не сможет. Однако, как показала практика, с пассивным радиатором и без вентилятора, работая в закрытом шкафу в режиме 24x7 малый носитель не только не перегревается, а ведёт себя вполне достойно. Доказательство:
Стоит на недогрузе. На нём в докере запущены:
- Prometheus
- Grafana
- InfluxDB
- Push Gateway
- Node exporter
- Java
Установлен Open JDK 17 и собственное поделие, писанное на java. Всё это на 64-разрядном дебиане (кастрированная малиночная версия без UI). Поделка круглосуточно, подписавшись на MQTT топики контроллера умного дома, перекладывает их в time-series хранилища обогащая метрики нужными данными. Прометус и инфлукс данные хранят, а графана их показывает.
Как нам, уже за первую неделю сбора статистики, помогли эти данные, покажем на примере двух дашбордов. Подключили только минимальные данные по климату и потреблению. Это пока даже без детализированной статистики.
Климат
Левая колонка графиков: атмосферное давление, уровень CO2, уровень летучих соединений, влажность в помещениях. Верхний ряд по ценру - текущая температура в самых важных помещениях. Правый верхний угол - температура стяжки водяного тёплого пола (покомнатно). Самый большой график - динамика терморегуляции. Те самые ПИД процессы и флуктуации фактических температур вокруг заданных значений.
Потребление
Левый верхний угол - давление воды на входе в дом. Под ним, суммарное энергопотребление по фазам в кВтч. Это за всё время эксплуатации дома (~ 1.5 года). Ниже, состояние насосной группы. Энергопотребление итого (по всем фазам). Обратите внимание, освоили уже 7.2 мегаватта. Два нижних графика показывают динамику потребления (линейную и 1' производную). Тепловая карта отображает время работы освещения по группам.
Какие проблемы это локализовало или помогло устранить
Даже такая примитивная аналитика позволила выявить плохой терморегулятор (им оказался тот убогий YA-HY368). Этот негодяй самопроизвольно в течении ночи поднимал температуру до 23.5 градусов, при заданных 17. На графике ниже верхняя кривая - фактическая, а нижняя - целевая температура.
Причём, железяка потребовала калибровки. Из коробки она показывала 26 градусов окружающего воздуха, при 19 фактических. Корректировка на -7 помогла ему ощущать фактические градусы, но целевую температуру приходилось задавать меньше необходимой (на величину калибровки). В целом, кривой девайс с непредсказуемым поведением и странными настройками. Пришлось его "усыпить".
Для примера, как работает аналогичное, но хорошое, устройство TV02-Zigbee.
Отклонения от целевой температуры в 21 градус, максимум на 0.6 (при номинальной погрешности в 0.5). Очень стабильно и предсказуемо.
Аналогичный анализ более инертных процессов с водяным тёплым полом, позволил более тонко настроить их ПИД регуляторы.
Яркий пример - 30% уровень заряда батареи и климатического датчика на кухне. Он проработал уже 2 года без перерыва (успел послужить ещё в городской квартире). Со временим ему потребуется новый источник питания. Нотификация об этом событии настроена на 15% уровень.
Другой пример - 3% качество связи у термостата на радиаторе. Говорит о том, что необходимо "усилить" ZigBee сеть в мастер-спальне. Если в предыдущем случае, алёрт прилетит (может через год) о том, что уровень батареи упал ниже 15% и её пора менять, то в случае с сетью, проблему необходимо решать как можно быстрее. После добавления очередного репитера, терморегулятор значительно повеселел.
- Обязательно собирайте телеметрию со своих устройств. Это реально полезно и не раз вам пригодится;
- Для подобных задач, можно обходиться одним Raspberry PI на DIN рейке;
- Не забывайте менять батареи в беспроводных устройствах. Так как они работают на одном заряде годами, об этом можно и забыть;
- Различные дашборды позволят вам наглядно и в динамике понимать/контролировать состояние всех инженерных систем;
- Соответствующим образом настроенные алёрты, не позволят пропустить важные события из жизни вашего "умного дома".
Автоматы на DIN рейке с ZigBee управлением
Расскажем о последней в статье, но не по значению, полезности. Зачастую, при проектировании системы, что-то упускают из виду. Невозможно предусмотреть всё на свете. Иногда, специфика проявляет себя много позже. Как, например, в нашем случае.
Изначально подрядчик (наш любимый ФМСтрой) собрал щит управления насосной группой и газовым котлом на стандартных ABB автоматах. Затем мы его улучшили.
- Используйте дистанционно управляемые автоматические выключатели на DIN рейке, взамен обычных, если функция автоматизации сводится к простому включению/выключению потребителя;
- Подбирая номинал такого автомата не забывайте про высокие пусковые токи, присущие разным моторам;
- Помните, каждый умный дом уникален и у вас обязательно будет своя специфика.