Счетчик PZEM-004T via ESP32Devkit. Подводим итоги эксплуатации

В ранних статьях я собирал связку PZEM-004T + ESP32 Devkit для создания счетчика до 100А на весь дом (однофазный). Прошивал все это через Tasmota и интегрировал в HomeAssistant. За это время у себя в доме я расширил Wifi Mesh сеть новыми устройствами от Keenetic Buddy 5/5S, Keenetic Giga/Air. И все вроде б как должно работать на отлично. Но не тут то было …

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Работа ESP32 Devkit в домашней сети. Сам модуль находится у меня через 2 кирпичные стены по отношению к Wifi точке, и особых проблем со связью замечено не было. Многие wifi устройства через эти стены работают нормально и продолжают работать, но не ESP32. Очень часто было замечена проблема с Wifi сигналом, скорость соединения была на уровне 1-13Mbit. Этого конечно хватает, для обмена данными … но тут проблема глубже

порой и вовсе модуль жил своей жизнью не имея соединения по Wifi. Перезагрузка по питанию только помогала вытащить его из дауна. Было замечено :

  • слабая связь в Wifi репитерами/роутерами. Сам модуль wifi оставляет желать лучшего (по моему мнению). Любые изменения сигнала или перезагрузка wifi, приводила к тому, что сам ESP32 не хотел переподключаться к wifi. Далее я полез изучать дополнительные команды в прошивке tasmota 9.5.x и набрел на следующее:
SetOption56	Wi-Fi network scan to select strongest signal on restart (network has to be visible)
0 = disable (default)
1 = enable

SetOption57	Wi-Fi network re-scan every 44 minutes with alternate to +10dB stronger signal if detected (only visible networks)
0 = disable
1 = enable (default)

недолго думая начал играться с этими параметрами и понял, что это не решит проблему. Все как-то сыро. Либо надо менять модуль на что-то более стабильное, либо отказаться от tasmota прошивки. Сейчас я тестирую связку ESP8266MOD+ESPHOME  (+25db), и жду PZEM-004T v3 с Aliexpress 🙂

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

Для решения этой проблемы было использование MQTT брокера. Данные дублировались в MQTT за текущий день и там происходило накапливание и хранение данных (MQTT every day). Хоть как-то это решало проблему. Но выше проблема с wifi  давала о себе знать. В итоге я решил отказаться от методики суммарного расчета показаний по дням и решил идти по общему “накручиванию” … простыми словами все что накрутило на счетчике PZEM за весь день Energy Total на начало дня переносилось в HA и что было зафиксировано на конец дня – вычиталось и получали сумму за весь прошедшмй день/неделю/месяц. И так постоянно. Прерывистые показания просто напрягали.

В итоге это работало какое-то время … пока не начинались проблемы у ESP32 с домашней Wifi, ESP32 просто тупо не хотело переподключаться если терял сигнал. Выборка статичного канала (свободного) на точке доступа еще как-то решало проблему, но это было временное решение. То ли прошивка tasmota кривая, то ли модуль убогий попался. Проблема так и осталась по сей день. Погрешность расчетов доходила до 100кВт в месяц. Это не наш метод …

Было принято решение заказать еще 1 модуль PZEM-004T, с помощью которого в связке с другими Wifi модулями ESP добиться оптимальной конфигурации работы по беспроводной связи. Возможно даже и ESP32 Devkit мне попался проблемный. Но за Wifi в доме я уверен. Все прошивки в ESP32 имели последние tasmota версии. Более того, куча устройст Sonoff прошито на последнюю версию tasmota 9.5.x, и работают более менее стабильно.

Сейчас я предоставил общую картину работы с PZEM+ESP32, без всякого технического анализа и графиков (они остались за кадром), возможно у кого-то работает более стабильно. Не исключаю. Но факт остается фактом … Если тестовый экземпляр PZEM+ESP8266 также будет неустойчиво работать будем менять все на Zigbee вариацию. 🙂