Разберем и перепрошьем ESPHome, подключим к Home Assistant

В обзоре интересная двойная розетка с мониторингом энергопотребления. Выпускается разными производителями, у меня от магазина TuyaSmart Store


Ссылка на розетку: https://ru.aliexpress.com/item/32980055478.html


Поставляется розетка в таком количестве пленки, что коробок доехал в идеальном состоянии

Внутри стандартный набор — розетка и инструкция по подключению к Tuya Smart

Корпус розетки — белый матовый пластик.

В розетках имеются защитные шторки

С обеих сторон имеются кнопки со световой индикацией состояния

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

Попробуем подключить ее к приложению Tuya

Тут, как обычно, просто — включаем розетку в сеть, в приложении жмем Добавить устройство и выбираем Розетка (wifi). Вводим пароль от своего WiFI и розетка сопряжена.

 

Можно устанавливать таймеры, включать/выключать каждую из розеток отдельно или все разом.

 

Мониторинг энергопотребления работает, как и положено. Обновление раз в несколько секунд

 

 

Разборка

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

Контакты вилки —  фаза, ноль и земля припаяны к плате

Каждым каналом управляют реле, маркировка WRG RE-105DM1 на 15А

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

Контакты ESP8266 расположены в нижней части платы. Поэтому, чтобы прошить эту розетку, я использовал Tuya Convert

 

Прошивка ESPHome с помощью Tuya Convert

Тут все просто, я использовал Raspberry 3 B

О способе перепрошивки через tuya-convert я уже писал.

Прошиваем устройства Tuya без паяльника с использованием Tuya Convert

Поэтому расскажу вкратце. Скачиваем файлы проекта, устанавливаем зависимости и запускаем скрипт. На малине создается точка доступа, к которой необходимо подключиться через телефон. Далее переводим розетку в режим сопряжения (делаем сброс, удерживая любую кнопку около 5 секунд, пока не начнут мигать светодиоды) и tuya-convert найдет ее и выполнит сопряжение. При этом будет создана резервная копия прошивки и показана информация о чипе ESP8266

Теперь нужно залить прошивку. В каталоге files уже есть прошивка tasmota и espurna, потому как многим одной из них достаточно. Мне же нужна ESPHome. Поэтому для начала нужно составить простой конфиг пустышку для данной розетки, с указанием ее имени, пароля от вашего wifi и пароля для будущих OTA обновлений.

Вот пример такого конфига:

esphome:
  name: j28_socket
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: 'youwifi'
  password: 'youwifipass'

logger:

api:
  password: "j28_socket"

ota:
  password: "j28_socket"

 

И создаем .bin файл прошивки. Для этого сначала скомпилируем:

И после компиляции скачаем полученный файл:

Полученный файл необходимо положить в каталог  tuya-convert/files, где уже находятся другие прошивки.

И можно загружать эту прошивку в розетку командой:

curl http://10.42.42.42/flash3?url=http://10.42.42.1/files/j28_socket.bin

Прошивка зальется и перезагрузит розетку. В ESPHome она поменяет статус на Онлайн

 

Полный конфиг для этой розетки выглядит следующим образом:

 

esphome:
  name: j28_socket
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: 'youwifi'
  password: 'youwifipass'

logger:

api:
  password: "j28_socket"

ota:
  password: "j28_socket"


time:
  - platform: homeassistant
    id: homeassistant_time

status_led:
  pin: GPIO13

sensor:
  - platform: hlw8012
    sel_pin:
      number: GPIO12
      inverted: True
    cf_pin: GPIO4
    cf1_pin: GPIO5
    current_resistor: 0.00221 ## Higher value gives lower watt readout
    voltage_divider: 779  ## Lower value gives lower voltage readout
    current:
      name: "j28_socket_amperage"
      unit_of_measurement: A
    voltage:
      name: "j28_socket_voltage"
      unit_of_measurement: V
    power:
      name: "j28_socket_wattage"
      unit_of_measurement: W
      id: "wattage"
    change_mode_every: 8
    update_interval: 30s

  - platform: total_daily_energy
    name: "j28_socket_daily_power_usage"
    power_id: "wattage"
    filters:
        - multiply: 0.001  ## Multiplication factor from W to kW is 0.001
    unit_of_measurement: kWh

  - platform: wifi_signal
    name: j28_socket__wifi
    update_interval: 60s

binary_sensor:
  - platform: gpio
    pin:
      number: 16
      mode: INPUT_PULLUP
      inverted: true
    name: "j28_socket_button_1"
    on_press:
      - switch.toggle: relay1
  - platform: gpio
    pin:
      number: 0
      mode: INPUT_PULLUP
      inverted: true
    name: "j28_socket_button_2"
    on_press:
      - switch.toggle: relay2


switch:
  - platform: gpio
    name: "j28_socket_relay_1"
    pin: GPIO14
    id: relay1
  - platform: gpio
    name: "j28_socket_relay_2"
    pin: GPIO15
    id: relay2

 

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

Дополнительно я указал status_led на GPIO13 для индикации работы розетки.

Как видно по конфигу, за мониторинг электроэнергии отвечает HLW8012. Более подробно о калибровке можно прочитать тут

Обновляем прошивку и добавляем в Home Assistant через Настройки > Интеграции > ESPHome

Меняем названия и пользуемся 🙂

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

avatar
1 Цепочка комментария
1 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
2 Авторы комментариев
kvvМихаил Авторы недавних комментариев

Этот сайт использует Akismet для борьбы со спамом. Узнайте как обрабатываются ваши данные комментариев.

  Подписаться  
новее старее большинство голосов
Уведомление о
Михаил
Гость
Михаил

У вас очень доходчивые, последовательные описания всех шагов. Спасибо большое!