Учет электроэнергии и определение статуса «глупого» электроприбора

О применении умного дома в борьбе с короткой памятью в бытовых вопросах. Или как не забыть налить чай и развесить выстиранное белье.

В повседневной жизни часты такие случаи, когда за чередой бытовых событий и действий забываются определенные вещи. Бывает такое, например, сидишь на бесконечных совещаниях работая удаленно (привет, COVID-19), находишь время чтобы поставить вскипятить чайник, но отвлекаешься снова на работу, совершенно позабыв о чайнике. В итоге он выключается, а чаю налить забываешь. Или еще частый случай из жизни моей семьи. Время стирки, закладывается белье, стирается, но все совершенно забывают его достать из стиральной машины для сушки…

Варианты решения

Начать тренировать память. Отличное предложение, которое решит всего скорее не только эти вопросы с чайником и стиральной машиной. Но это не так просто как хотелось бы. А порой и вовсе невозможно.

Завязывать узелки, сыпать хлебные крошки, клеить стикеры. Вариант гораздо проще в реализации, чем озвученный ранее. Не прогреccивно. Развивая этот вариант до абсурда, можно дойти до календаря Робинзона Крузо.

Завести специального человека который будет следить за всем этим. Рабства у нас нет, детский труд не допускается, жена не оценит, горничную не все могут себе позволить, да и жена опять же может не оценить.

Поручить эту задачу решениями «умный дом». Наверняка вы догались что именно этот вариант на ресурсе про умные дома будет самым лучшим 🙂

Умный путь

Но как понять, что устройство завершило свою циклическую работу, если устройство это не обладает высоким интеллектом и вовсе не может быть интегрировано в умный дом?

Оказывается решение просто донельзя — использовать показания эелектросчетчика, как триггер для изменения нагрузки.

Так. Стоп. Но этот вариант совсем не похож ну умный, особенно, если счетчик старый. Да и точность этого метода сомнительна.

Нет конечно, никто не предлагает стоять часами у щетчика и следить когда «лампочка начнет мигать реже» или «диск станет медленнее вращаться». Речь пойдет об индивидуальных устройствах коммутации и учета потребления электроэнергии.

Это снова Shelly — продукты от ИТ фанатов DIY для таких же как они.

Shelly 1 pm — миниатюрное устройство, созданное с возможностью монтажа в стандартный круглый подрозетник, имеющее на борту реле для коммутации достаточно высоких токов (16A/250V) и интегрированный механизм измерения текущего энергопотребления, а так же алгоритм для расчета инкрементального значения потребления. Помимо этого, устройство обладает чистым сухим контактом для случаев, когда необходима коммутация гальванически развязанной схемы. Форм-фактор — DIY устройство.

Shelly PLUG S — законченное пользовательское устройство, смонтированное в приятном, на вид и на ощупь корпусе с возможностью включения в обычную EU/RU штепсельную розетку. Может коммутировать токи средней величины (10A/220V), имеет встроенный механизм измерения текущего энергопотребления, а так же алгоритм для расчета инкрементального значения потребления — счетчик. В устройстве есть корпусная кнопка, для механического включения нагрузки непосредственно на устройстве. Два светодиода синего и красного цвета, для индикации подключения по WiFi и статуса устройства соответственно.

Реализация. Стиралка. Коммутция

Первым устройством, которое было решено сделать более умным, стала стиральная машина. Уложив детей спать, я отправился резать и крутить провода силового кабеля, идущего на стиральную машину.

Прошу не судить строго за монтаж. Это временное размещение, отладить реализацию.

Итак. Устройство оказалось крайне просто подключить. Но не обошлось без особенностей. Я подключал стиральную машину ВВГ кабелем с сечением 2.5 мм.кв (ГОСТ). От этого две жилы, конечно же, не влезли в один контакт Shelly. Если взять ТУ кабель такого же вида и сечения, с небольшим усилием, то жилы заходят. А мне пришлось делать дополнительную коммутацию на WAGO.

Реализация. Стиралка. Логика

После завершения подключения, я приступил к интеграции в системы умного дома сего прибора. И, что самое важное, приступил к построению логики вокруг данных с устройства.

Первым делом, я включил в Homebridge само устройство используя плагин homebridge-shelly. Устройства Shelly, которые найдутся в общей сети с инсталляцией Homebridge, автоматически «залетают» в него и отображаются в HomeKit через мост, созданный Homebridge.

Обратите внимание, что для корректного поиска устройств в сети, необходима поддережка mDNS на стороне вашего роутера. Как правило с этим не возникает проблем, но могут быть индивидульные случаи.

Переходим к автоматизации. В каждом Shelly прекрасно все, а особенно любовь к открытым протоколам. Есть http API, есть возможность вызывать события по webhook со стороны самих устройств Shelly, ну и конечно же есть MQTT. Внутри данных, формируемых очередями от shelly, есть топик shellies/shelly1pm-%ID%/relay/0/power, отвечающий за передачу текущего значения энергопотребления. На него и будем опираться.

Так как в homebridge нет автоматизаций, а в homekit некуда положить значения текущего потребления, да и событийную модель поддержать тоже — будем использовать node-red.

Flow доступен по ссылке

Поясняю. Данные из топика shellies/shelly1pm-%ID%/relay/0/power поступают на mqtt-in ноду. Далее, функция приводит их к целочисленному (integer) значению. Change нода прекидывает значение в payload, дабы не приходилось разбирать вложенные значения, и направляет их для отображения на графике (нижняя нода) на замечательную ноду power-monitor (node-red-contrib-power-monitor), которая позволяет, согласно ее настройкам, определять состояние устройства, основываясь на значениях мощности потребляемой устройством в данный момент.

Для себя, я подобрал (с первого раза, кстати) такие настройки:

Treshold - 4 (ватта). 

Start after - 3 (события). 

Stop after - 5 (событий).

Это означает, что, если на вход ноды будет трижды передано числовое значение превышающее 4, нода поменяет статус на «включен». Если на вход ноды будет пять раз передано числовое значение менее 4, нода поменяет статус на «выключен».

Далее, я направляю данные с этой магической ноды на «уведомлятели», в роли которых у меня выступает telegram (верхняя link out нода) и колонки google home (нижняя link out нода).

Верхний маршрут (машина начала стирку). Идем на change ноду, которая дополнит необходимыми для telegram sender данными payload.

Нижний маршрут (машина закончила стирку). Идем в change ноду, в которой переводим секунды в милисекунды, а затем нодой funcion разбираем милесекунды на составляющие в виде часов:минус:секунд и передаем эти данные для подстановки в сообщение через telegam, а так же для подсчета стоимости стирки, с учетом фиксированного тарифа в регионе. Ну и следующий шаг — передача сообщения «говорилке», в лице колонок Google Home. Стоит ограничение на отправку в ночное время.

Чайник в умном доме

Если со стиральной машиной решение в виде Shelly 1PM выглядит практически единственно возможным (большие токи, массивная вилка и розетка, допустимость DIY исполнения). С чайником все значительно проще. Можно применить Shelly PlugS и сократить путь к цели до «два раза вставил и работает».

В остальном схема такая же. Я лишь для себя исключил расчет стоимости потребленной энергии. Это минимальные значения, да и нужда в случае с чайником не так оправдывается. Зато вот уведомления все так же удобно напоминают о необходимости отведать чаю.

Долго выбирал варенье, так что еще и холодильник о себе напомнил.

Как видите, сделать простую вещь более умной не так и сложно. Главное, выбрать такие удачные и качественные решения, как Shelly 1PM/PlugS и немного пофантазировать над их применением под нестандартную задачу. Кому надо, Shelly покупал на shop-shelly.ru. В текущих условиях смогли доставить без каких-либо проблем. Доставка с Московского склада, устройства полностью на российской гарантии, с официальной поддержкой.

Оставьте комментарий