Wi-Fi-розетка BlitzWolf BW-SHP2 с энергомониторингом: обзор, прошивка ESPHome для Home Assistant

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

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


В сегодняшнем обзоре я расскажу про очень интересную смарт розетку BlitzWolf BW-SHP2 — которая имеет все шансы стать лучшим выбором для применения в умном доме под управлением Home Assistant.

Где купить?

Banggood   Aliexpress

Содержание

Вступление

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

Начнем с основных параметров, из-за которых этот гаджет и привлек мое внимание


Диапазон напряжений — 110-240 В

Максимальный ток нагрузки — 16 А

Максимальная мощность нагрузки — 3840 Ватт

Интерфейс управления — wi-fi 2.4 ГГц

Приложение управления — Smart Life, Tuya Smart, интеграция с Amazon Alexa, Google Assistant и IFTTT.

Поставка

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


Внутри коробки, кроме розетки, имеется еще небольшая инструкция на английском языке. Признаться я ее так и не открывал.

Конструкция

Устройство выполнено в формате евророзетки, Тип F, или «Schuko» с заземляющим контактом.  На верхнем торце находится единственная кнопка, совмещенная с светодиодным индикатором.

Сделано все очень качественно из специального негорючего пластика, вилка толстая — для совсем старых старых розеток возможно придется немного расширять отверстия.

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

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

Приложение

Для управления, из коробки, предлагается приложение Smart Life или Tuya Smart. Они идентичны, но Tuya имеет интеграцию с Home Assistant. Для добавления нового устройства — нужно перейти в раздел розеток и запустить мастер подключения. С первого запуска розетка сама переходит в режим сопряжения, если этого не произошло — зажать кнопку на розетке на 5 секунд.

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

 

Подробно плагин описывать не буду, тут все стандартно — управление включением и выключением вручную, по таймеру, установка времени отключения. Устройство через аккаунт tuya smart синхронизируется с сервисами Amazon Alexa, Google Assistant и IFTTT

Интересна вкладка — Электрика. На ней есть текущие значения напряжения в электросети, нагрузку — причем не только мощность в ваттах, но и значение тока в Амперах, дневное значение в кВт*ч, значения по месяцам.

Зайдя в меню интересующего месяца — можно увидеть значения израсходованной энергии по дням. Это интереснее всего затянуть в Home Assistant.

Home Assistant

Кто следит за моими обзорами — знает, что приложение Tuya Smart имеет поддержку в Home Assistant — для этого в файле configuration.yaml нужно прописать параметры своей учетной записи. И все устройства автоматически подтянутся в систему.

Но к сожалению не все так просто — розетка действительно появляется в Home Assistant — но только как переключатель и все

Такие параметры как мощность, напряжение и ток — в Home Assistant не передается. Поэтому нужно искать другие пути.

Перепрошивка

Естественно что на такую интересную розетку обратили внимание задолго до меня. Она поддерживается такими популярными альтернативными прошивками как Tasmota или ESPUrna. Это отличные и применимые прошивки но мне они не совсем подходят — так как управляются через MQTT брокер.

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

Разборка

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

Корпус вскрыт, так выглядит внутренний мир героя нашего обзора. Как по мне качество сборки на высоком уровне, да и по опыту скажу что бренд Blitzwolf — действительно делает отличные товары. Реле — действительно на 16 А, рабочее напряжение до 250 Вольт

Мозг устройства — контроллер ESP 8285 совмещенный с wi-fi модулем. На нем не написано что это 8285, пришлось немного погуглить — это необходимо для прошивки.

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

Подключение

В поисках распиновки, я выяснил, что имеется как минимум две аппаратные ревизии, мне досталась вторая. По крайней мере не пришлось выяснять это экспериментально.

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

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

Для перевода контроллера в режим перепрошивки, нужно припаять перемычку — на обратной стороне модуля — вывод I00 на GND — землю.

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

 

Конвертор USB в TTL UART на чипе PL2303 — Aliexpress

Создаем прошивку

В дашборде ESPHomeLib -  создаем новый проект и называем его как — нибудь.

Далее выбираем аппаратную платформу — Generic ESP 8285 module

Указываем название wi-fi сети и пароль подключения к ней, а так же вводим пароль для подключения к устройству.

Завершающий шаг создания проекта

И теперь программатор с подключенной к нему розеткой подключается в USB порт  — в моем случае одоплатника Raspberry PI 3B

В дашборде справа вверху выбираем способ прошивки через программатор и нажимаем Upload

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

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

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

Для создания сенсоров энергомониторинга, я использовал пример с сайта проекта ESPHomeLib

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

Следующая прошивка уже была воздуху. После нее я отпаял контакты и собрал розетку в корпус, так начался этап калибровки.

Калибровка

После этой прошивки, по адресу розетки стал доступен веб сервер, с кнопкой управления реле и сенсорами напряжения, тока и мощности. Которые без настройки выдавали совершенно безумные значения, как вам напряжение в сети на 564 Вольта?

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

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

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

Несложно подсчитать, что если при 564 Вольтах, параметр атрибута равен 2351, то для корректного значения его следует уменьшить более чем вдвое. За несколько попыток, опытным путем, мне удалось максимально близко привести значение к ваттметру. В моем случае voltage_divider равен 945.

Второй вопрос — завышенная примерно вдвое мощность. Следуя аналогичному принципу, но уже при помощи атрибута current_resistor и значения по умолчанию в 0,001, подбирается нужное значение.

Пока не получится максимально близкое значение мощности.

Более точно можно подогнать на мощной нагрузке — например электрочайнике. Почти одинаковые на малой нагрузке параметры, на большой показывают очень приличную разницу — примерно в 10%.

В результате нескольких изменений, я остановился на значении в 0.00218 которые дал почти одинаковый с ваттметром показатель.

Вот такой получился финальный вариант конфигурационного файла на котором я и остановился на данный момент.

esphomeyaml:<br />  name: blitzshp2<br />  platform: ESP8266<br />  board: esp8285<br /><br />wifi:<br />  ssid: 'Название сети'<br />  password: 'пароль к сети'<br />  manual_ip:<br />    static_ip: 192.168.0.92<br />    gateway: 192.168.0.1<br />    subnet: 255.255.255.0<br /><br /># Enable logging<br />logger:<br /><br /># Enable Home Assistant API<br />api:<br />  password: 'пароль для подключения'<br /><br />ota:<br />  password: 'пароль для подключения'<br /><br />  <br />web_server:<br />  port: 80<br />  <br />switch:<br />  - platform: gpio<br />    name: "bw_relay"<br />    pin: GPIO14<br />    id: relay<br /><br />sensor:<br />  - platform: hlw8012<br />    sel_pin: <br />      number: GPIO12<br />      inverted: True<br />    cf_pin: GPIO04<br />    cf1_pin: GPIO05<br />    current_resistor: 0.00218<br />    voltage_divider: 945<br />    current:<br />      name: "bw_current"<br />      unit_of_measurement: A<br />    voltage:<br />      name: "bw_voltage"<br />      unit_of_measurement: V<br />    power:<br />      name: "bw_power"<br />      unit_of_measurement: W<br />    change_mode_every: 1<br />    update_interval: 10s<br />  

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

Интеграция

Home Assistant полностью совместим с  ESPHome, и автоматически обнаруживает новое устройство, которое будет доступно в меню Настройки — Интеграции. Кликнув на новое устройство, можно, хотя и не обязательно, прописать его IP адрес, а можно оставить и имя, главное —  прописать пароль заданный при создании бинарника. После этого будут доступны все датчики и переключатели.

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

Видеоверсия обзора

Вывод

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

Спасибо за внимание