Умная ZigBee-розетка Xiaomi MIjia: обзор, варианты применения в Home Assistant

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Здравствуйте друзья


По прошествии более чем двух лет, с момента моего обзора Zigbee версии управляемой розетки Xiaomi mijia, я решил сделать ремейк — в котором я поделюсь своим опытом работы с этим устройством, а также приведу практические примеры различных кейсов его использования.

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

Где купить ?

  • Gearbest — цена на момент обзора — $ 13,99
  • Banggood — цена на момент обзора — $ 17,10
  • Aliexpress — цена на момент обзора — $ 13,70
  • JD.ru — цена на момент обзора — $ 19,99
  • Xiaomi.UA -цена на момент обзора — грн. 499
  • Румиком — цена на момент обзора — руб. 1290
  • Ultratrade — цена на момент обзора — руб. 1102

Поставка

Поставляется розетка в компактной экосистемной белой картонной коробке. Продукт рассчитан на китайский рынок, и все надписи выполнены иероглифами. Розетка выпускается под брендом mijia, о чем говорит логотип на коробке. Напомню что бренд Aqara выпускает розетки только в виде встраиваемых устройств.

На одной из сторон — параметры устройства.

  • Рабочее напряжение — до 250 В
  • Максимальная мощность — до 2500 Ватт, но при токе не более 10 А
  • Беспроводный интерфейс — ZigBee (работает через ZigBee/WiFi шлюзы Mijia / Aqara)
  • Размер устройства — 57*40*31 мм

В коробке кроме самой розетки имеется небольшой буклет с инструкцией, также на китайском. Но мы конечно обойдемся и без нее.


Конструкция

Розетка претендует на универсальность и поддерживает без переходников вилки стандартов —

Тип A — пара плоских параллельных между собой контакта, американский стандарт

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

Тип I — здесь пара плоских контактов повернуты под углом друг к другу, так же имеется разъем под третий контакт — заземление. Используется в Китае, Австралии и Новой Зеландии

Сама розетка имеет тройной Тип I контакт, и для обычных розеток требует наличие переходника, о нем я кстати тоже расскажу чуть далее. На нижнем торце находится единственная кнопка, короткое нажатие на которую замыкает и размыкает реле, а длительное — служит для синхронизации и сброса

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


Из всех испробованных мной переходников, мне больше всего понравился этот — с названием AUKTION, лучше него — только сверлить контакты, прикручивать винтами круглые контакты и печатать на 3D принтере корпус.

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

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

Вот так в соседних розетках выглядит шлюз и герой обзора. Для обоих используется этот тип переходника. Мои лучшие рекомендации.

Купить на Aliexpress — поштучнокомплектом в 5 шт

Mihome

Начнем с подключения в штатное приложение Mihome. Так как это ZIgbee версия розетки, то работает она через шлюз. Необходимо через плагин шлюза зайти в вкладку Device, внизу нажать кнопку — добавить дочернее устройство и выбрать из таблицы Mi Smart Plug.

 

Далее нужно в течении 30 секунд перевести розетку в режим синхронизации, зажав на ней кнопку до появления синих вспышек светодиода. Кстати как подключать ZigBee датчики к шлюзу без Mihome — я рассказывал в одном из своих видео.

 

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

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

 

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

 

Варианты представлений — герой обзора, который будет управлять настольной лампой, розетка которая считает потребление одного из ноутбуков, розетка управляющая увлажнителем, когда реле разомкнуто — фон становится серым.

 

Меню Log — журнал, это история включений и выключений реле розетки. Меню автоматизаций весьма простое — включение, выключение и переключение. В меню основных настроек ничего особенно интересного нет

 

Вернемся к плагину, тут для наглядности я покажу розетку которая работает уже давно. Под иконкой розетки отображается объем потребленной энергии за сутки, месяц и в данный момент. Если кликнуть на дневное или месячное потребление — то открывается исторический график потребления по дням и месяцам за всю историю работы розетки

 

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

 

И оставшиеся опции — таймер по дням и часам, достоинство которого — работа автономно, но при этом надо учитывать зависимость от часового пояса, розетка может считать часы по своему — поэтому тут надо экспериментировать. Тоже касается таймера обратного отсчета, может работать некорректно из-за разницы часовых поясов.

 

Использование

Перед тем как перейти к разделу Home Assistant, хочу рассказать об основных целях достигаемых при помощи функционала этого устройства. Их три и самая, казалось бы очевидная — включение и выключение — используется реже всего. Из 7 розеток такого типа, которые у меня есть, 5 вообще никогда не выключаются. Поэтому на первое место я ставлю — расширение зоны покрытия Zigbee сети. Эта розетка является узлом связи, и если у вас есть датчики удаленные от шлюза, с проблемной связью — установка розетки между ними — поможет решить этот вопрос. На второе место — я ставлю функцию энергомониторинга. И только на третьем — это управление реле питания.

Все показанные примеры — смотрите в текстовом виде на github — https://github.com/kvazis/homeassistant

Home Assistant

Система Home Assistant обнаруживает розетку автоматически, разве что если вы добавляете ее в существующую систему, как я, то Home Assistant придется перегрузить. В системе появляется как новый switch, в названии которого содержится идентификатор устройства, который кстати не меняется даже при переносе розетки. 

По этому идентификатору можно сопоставить розетку, да и любые другие ZigBee датчики с данными в Mihome — в плагине шлюза, меню About — Hub Info можно увидеть те же идентификаторы и данные при подключении названия, что поможет определять устройства при развертывании системы Home Assistant

На примере используемой розетки рассмотрим какие атрибуты имеет такой свич — их четыре.

  1. in use — равен 1 или 0 в зависимости используется розетка или нет
  2. load power — самый ценный параметр, текущая нагрузка
  3. power consumed — общий объем энергопотребления на розетке, тоже можно использовать
  4. battery level — значения не имеет, так как у розетки стационарное питание

Энергомониторинг

Рассмотрим кейсы использования этой розетки в системе домашней автоматизации Home Assistant, первый — энергомониторинг. Очень подробно о энергомониторинге я снимал целое видео, в этом обзоре напомню основные моменты.

На основе рассмотренных атрибутов, я создаю сенсор потребления электроэнергии — для чего используется платформа template. Чтобы не путаться в имени таких сенсоров, я использую уникальный идентификатор розетки, но это необязательно. В качестве значения — используется атрибут load power, единицы измерения — Ватты.

Для сохранения данных по энергопотреблению я создаю еще 4 сенсора на платформе mqtt — потребление за текущий и вчерашний день, текущий и прошлый месяц и 2 сенсора на платформе template стоимость за текущий и прошлый месяцы, где расход электроэнергии просто умножается на тариф.

Для подсчета расхода, используется несколько автоматизаций. Первая — каждый 30 секунд добавляет в mqtt топики сенсоров расхода за день и месяц, значение сенсоров текущего потребления — разделенное на 120000. Где 120 — это количество 30 секундных отрезков в 1 часе, а 1000 — это количество Вт в КВт. Получая значения в КВт*ч

Следующая автоматизация в 5ю секунду начала нового дня, записывает значение сенсоров дневного потребления в топики сенсоров расхода за вчерашний день

еще через 5 секунд — топики дневного потребления обнуляются и начинают считать расход за новый день

Аналогично происходит в начале нового месяца — сначала данные записываются в топики расхода за прошлый месяц

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

Для отображения данных, я использую отдельную карточку в интерфейсе lovelace — где выводятся все эти параметры, всего их у меня — 12

Увлажнители

Следующий кейс — увлажнители, я о нем тоже упоминал в своих старых обзорах. Напомню — для этого лучше всего использовать увлажнители с механическим управлением, где включение и настройка интенсивности увлажнение 1 раз настраиваются поворотом ручки и дальнейшее управление идет просто по питанию.

Мой сценарий включения имеет три варианта триггера — это проверка каждые 5 минут на соответствие условиям, закрытие окна или двери которые ведут на балкон

Условий для включения — 5 и соблюдаться они должны все одновременно, увлажнитель должен быть выключен, влажность должна быть меньше 45%, время — от 8 утра до без 1 минуты 10 вечера и закрыты окно и двери на балкон. Действие — одно, включение розетки питающей увлажнитель

Сценарий выключения имеет четыре варианта триггера — влажность выше 55%, открытие окна или двери на балкон и событие — 10 часов вечера. Условие только одно — увлажнитель включен. В таком случае он выключается.

Зная что в нормальном режиме работе увлажнитель потребляет около 20 Ватт, я сделал автоматизацию, которая при падении потребления менее 10 Ватт при включенном увлажнении — шлет сообщение о том, что в увлажнителе закончилась вода.

Активность

Еще один кейс — это отслеживание активности устройств по факту энергопотребления, на примере светодиодной неуправляемой настольной лампы BlitzWolf® BW-LT1S. Включить ее можно только вручную, сенсорными кнопками, а вот выключить — кратковременным обрывом питания.

На базе созданного сенсора энергопотребления, я создал виртуальный переключатель на платформе темплейт. Если значение сенсора потребления более 5 — то выключатель получает статус включенного, а его действия — это включение и выключение умной розетки

Для полной красоты, на базе этого виртуального выключателя я создал сущность light.switch — чтобы лампа относилась к домену освещения.

И последний штрих — это сценарий, который отслеживает статус розетки питающей лампы, и при ее выключении, через три секунды включает ее назад. Настольная лампа при этом включается в дежурном режиме.

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

Статистика

Напоследок обзора — я расскажу еще и про сенсоры статистики, которые собирают данные по длительности использования устройств.

В разделе сенсоров, создается новая сущность, на платформе history_stats, для отслеживания указывается id розетки и ее статус — включено, тип данных — время. Старт — с 0 часов, минут и секунд. То есть данные в течении текущих суток.

Сразу после создания и рестарта Home Assistant — сенсор показывает сколько времени была включена эта розетка, при этом его состояние — это часы в десятичном виде, 2,22 часа — это 2 часа 13 минут. В нормальном формате можно брать из атрибута value, но я пошел чуть чуть дальше.

Я создал еще один сенсор, для перевода времени в удобный формат и на русском. Здесь создается 4 переменных. Первой, путем умножения на 60 значения сенсора истории, присваиваем длительность работы в минутах. Вторая и третья вычисляет остаток от деления на 60 — это количество минут и на 1440 — это количество часов, и переводит их в формат int — отбрасывая дробную часть. Четвертая — это количество дней. В принципе дни — лишние именно в этом сенсоре, но я не хотел нарушать конструкцию. Далее формируется полная запись о количестве прошедшего времени

Вот в таком виде выводится преобразованное значение времени, что значительно читабельнее штатного состояния.

А таким образом показания сенсора выглядят на дашборде lovelace

Аналогично, я добавил и подсчет длительности времени работы телевизоров.

Видеоверсия

На этом все, спасибо за внимание