Разберем и перепрошьем 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
Меняем названия и пользуемся 🙂
У вас очень доходчивые, последовательные описания всех шагов. Спасибо большое!
Спасибо за комментарий) стараюсь делать так, чтобы понятно было. Бывает что сам сделал что нибудь, разобрался с проблемой, а через год нужно повторить. Вот чтобы опять все не изучать пишу подробно