Скетч написан на Arduino IDE для электросчетчика на базе Wemos D1 Mini и модулей PZEM-004T, для осуществления подсчетов потреблённой энергии городской сети и выработанной солнечной энергии с гибридного солнечного инвертора. Данный счетчик разрабатавлся специально для интеграции в Home Assistant.
Note
PZEM‑004T работает по протоколу Modbus RTU. По умолчанию все модули имеют одинаковый адрес (0x01). При подключении нескольких модулей PZEM-004T нужно заранее изменить уникальный адрес: 0x01, 0x02, 0x03 и так далее. Максимальное число устройств на одной шине Modbus — до 247, но на практике ограничиваются 10–20 из‑за падения скорости.
В данном скетче описано подключение 3х модулей PZEM-004T. PZEM1 замеряет потребленную городскую энергию, PZEM2 замеряет общую выдачу с инвертора включая город и солнце, а PZEM3 замеряет полученную энергию от генератора (при его наличии).
Note
Перед загрузкой скетча на Wemos нужно изменить данные вашего Wi-Fi и сервера Home Assistant.
Отдельная настройка не требуется. После того как счетчик подключится к Wi-Fi сети, с помощью Auto Discovery Home Assistant самостоятельно найдет новое устройства в локальной сети через MQTT-брокер без ручного создания сущностей в конфигурационных файлах. Остаётся только зайти в Home Assistant Energy Dashboard и добавить в соответствующие разделы счетчики городской сети, выработки солнечного инвертора и генератора, при его наличиии.
Добавление сенсора городской сети:
Добавление сенсора солнечной выработки:
При нахождении багов создавайте Issue. Библиотека открыта для доработки и ваших Pull Request'ов!
Эта библиотека распространяется с открытым исходным кодом по лицензии MIT.




