Умная ZigBee-розетка Xiaomi MIjia: обзор, варианты применения в Home Assistant
По прошествии более чем двух лет, с момента моего обзора 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, два толстых круглых контакта и заземление.
Розетка устанавливается в него очень плотно и надежно, всеми тремя контактами, включая заземление. Бывают они с белым и черным корпусом, в данном случае я заказал в белом. Сам переходник немного выступает из за корпуса розетки, но это ни на что не влияет.
Вот так в соседних розетках выглядит шлюз и герой обзора. Для обоих используется этот тип переходника. Мои лучшие рекомендации.
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
На примере используемой розетки рассмотрим какие атрибуты имеет такой свич — их четыре.
- in use — равен 1 или 0 в зависимости используется розетка или нет
- load power — самый ценный параметр, текущая нагрузка
- power consumed — общий объем энергопотребления на розетке, тоже можно использовать
- 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
Аналогично, я добавил и подсчет длительности времени работы телевизоров.