Измерение потребляемой электроэнергии и тока в сети 220В, добавление в HomeKit

01 апреля 2019, 23:26

Добрый день, Друзья! Давно у меня не было интересных самоделок с ESP8266. Сегодня хочу рассказать Вам, как очень просто измерять ток и нагрузку в сети 220В. Для этого нам понадобится:

Прошивка модуля

Рассказывать, как прошивать модуль nodeMCU или любой другой ESP8266, я не буду. Уже не однократно об этом говорилось в моих предыдущих статьях, например в этой: Охранная система в гараж на ESP 8266 с интеграцией в Apple HomeKit. Перейдем непосредственно к прошивке. 

По умолчанию в прошивке ESPEasy модуль PZEM-004T не поддерживается. Но на форуме letscontrolit имеется ветка по PZEM-004T, где aleph0 собрал прошивку для ESP8266. Прошивку скачиваем отсюда.

Подключение

Подключение PZEM-004T к nodeMCU осуществляется при помощи проводов Dupont мама-мама (4 шт.). Позже можно все распаять на монтажной плате. 

1600x_image.png?1554145370
1600x_image.png?1554145370

PZEM-004T
nodeMCU
5V (VDD)
VIN
RXGPIO-12 (D6)
TXGPIO-14 (D5)
GNDGND

AC подаем напряжение 220В, для замера.

CT подключаем трансформатор тока.

1600x_image.png?1554158545

Настройка

Заходим на Web интерфейс нашей прошитой ESP8266. Переходим во вкладку "Devices". И добавляем новое устройство, "Voltage & Current (AC) - PZEM-004T"
1600x_image.png?1554145658

Далее заполняем поля по аналогии. У меня это выглядит так:

1600x_image.png?1554146121

Примечание: Значение Delay рекомендуется устанавливать не менее 15. При частом опросе модуль может выйти из строя. 

Нажимаем кнопку "Submit", и видим такую картину. 

1600x_image.png?1554146121

Настройки MQTT на ESPEasy

Переходим во вкладку "Сontrollers" и добавляем MQTT клиента. 
1600x_image.png?1554146558

Настройка HomeAssistent

Повторяться, как устанавливать и настраивать MQTT брокер, тоже не буду. Берем все в той же статье. Приступим сразу к добавлению сенсора в конфигурационный файл. Открываем на редактирование "configuration.yaml" ищем раздел "sensor:" и добавляем:

- platform: mqtt
  name: "Voltage (V)"
  state_topic: "/Voltage/pzem/Voltage (V)"
- platform: mqtt
  name: "Current (A)"
  state_topic: "/Voltage/pzem/Current (A)"
- platform: mqtt
  name: "Power (W)"
  state_topic: "/Voltage/pzem/Power (W)"
- platform: mqtt
  name: "Energy (Wh)"
  state_topic: "/Voltage/pzem/Energy (Wh)"

После чего проверяем конфигурацию и перезагружаем Home Assistant. Далее добавляем новую карточку.

1600x_image.png?1554146874
1600x_image.png?1554146874
title: Учет электроэнергии
entities:
  - entity: sensor.voltage_v
  - entity: sensor.current_a
  - entity: sensor.power_w
  - entity: sensor.energy_wh
type: entities
show_header_toggle: true

Примечание: Чтобы устройства добавились в HomeKit их необходимо представить, например в виде датчика освещенности. 

Для этого в Веб - интерфейсе Home Assistant переходим в Настройки -> Настройка -> в поле "Entity" ищем наши сенсоры и добавляем в параметр "unit_of_measurement" значение "lm"
1600x_image.png?1554147290
1600x_image.png?1554154327
Из плюсов, хочется отметить подробные графики об изменении данных. 

Настройка HomeBridge

По аналогии можно завести в HomeBridge, для этого нам необходим плагин homebridge-mqttthing, с устройством Light Sensor.

Конфигурационный файл будет выглядеть так:

{
      "accessory": "mqttthing",
      "type": "lightSensor",
      "name": "Voltage (V)",
      "url": "mqtt://127.0.0.1",
      "logMqtt": true,
      "topics": {
        "getCurrentAmbientLightLevel": "/Voltage/pzem/Voltage (V)"
      }
},
{
      "accessory": "mqttthing",
      "type": "lightSensor",
      "name": "Current (A)",
      "url": "mqtt://127.0.0.1",
      "logMqtt": true,
      "topics": {
        "getCurrentAmbientLightLevel": "/Voltage/pzem/Current (A)"
      }
},
{
      "accessory": "mqttthing",
      "type": "lightSensor",
      "name": "Power (W)",
      "url": "mqtt://127.0.0.1",
      "logMqtt": true,
      "topics": {
        "getCurrentAmbientLightLevel": "/Voltage/pzem/Power (W)"
      }
},
{
      "accessory": "mqttthing",
      "type": "lightSensor",
      "name": "Energy (Wh)",
      "url": "mqtt://127.0.0.1",
      "logMqtt": true,
      "topics": {
        "getCurrentAmbientLightLevel": "/Voltage/pzem/Energy (Wh)"
      }
}

Фотоотчет 

Схему я собрал на монтажной плате и поместил в корпус. 

1600x_image.png?1554147711
1600x_image.png?1554147714
В HomeKit это выглядит вот так. Да, знаю, эти люксы портят весь вид.
1600x_image.png?1554148102
1600x_image.png?1554160448
Если сильно заморочиться можно упаковать в "Корпус Z100F (белый)" и подключить дисплей "LCD1602" получиться законченное устройство в щиток на DIN-рейку. 

У меня в щитке столько свободного места не оказалось, поэтому я разместил все в компактный корпус и спрятал внутри щитка. Дисплей планирую подключить на шлейф и вывести между этажами автоматов. Об этом напишу когда-нибудь в своем блоге. 

Примечание: На один модуль ESP8266 можно подключить 3-4 PZEM-004T, таким образом можно снимать показания с разных силовых узлов. 


На этой все. Ставьте лайки, подписывайтесь на мои публикации. Впереди нас ждет еще много всего интересного.


Все новости мира умных домов - t.me/SprutAI_News или Instagram
Остались вопросы? Мы в Telegram - @SprutAI

Хочешь умный дом но нет времени разбираться?
Посмотри примеры работ и выбери себе интегратора.
  1. Антон Самсонов (samsonovs)
    супер, спасибо

  2. Илья Яшин (yshinig)
    Илья Яшин (yshinig) год назад

    Круто

  3. (Dmikelson)
    (Dmikelson) год назад

    Классное решение👍Скажите, а возможно через HA отслеживать историю потребления скажем за месяц или год? И как быть,если например сервер с ha несколько суток будет отключен, то esp у себя данные не накапливает для последующей передачи? 

  4. (gonczarov)
    (gonczarov) отредактировано год назад
    Комментарий удален
  5. (asert)
    (asert) год назад

    Sonoff Pow r2 уже в корпусе + с реле на борту и дешевле... Смысл так извращаться?

    • Дмитрий Батюшин (ReD)

      Ты хочешь весь дом подключить на sonoff?

      • (asert)
        (asert) год назад

        У меня с 10-к sonoff работают уже 2 года, недавно прикрутил их к Home Assistant и Google Home без танцев с бубнами.. Все работает, интеграция занимает минимум времени (не надо ничего травить / паять / кодить / отлаживать), цена дешевле комплектующих, регулярное обновление софта.

  6. (hunterelectros)
    (hunterelectros) год назад

    Сделал всё по этому мануалу, но данных нет.

    Правильно ли я понимаю, что дело в неработоспособном модуле?....

    1000x_image.png?1557421274
  7. (dmi3)
    (dmi3) год назад

    Штука прикольная, но размер великоват - в розетку сложно упаковать.

    Сейчас думаю над вариантом ESP8266 +ACS712 (есть на 5А/20А/30А). Размер существенно меньше, чем у PZEM.

  8. (Zavhoz2015)
    (Zavhoz2015) год назад

    В статье описывается подключение PZEM-004t v1.0. В настоящее время продают только PZEM-004t V3.0, в них изменили протокол связи-так что этот способ и эта прошивка не подходят. надо сделать плагин для espeasy, спецы пишут что этот протокол даже полегче чем был. вот только когда это все будет, хочется на espeasy сделать энергомонитор...

  9. (White_SinSay)
    (White_SinSay) 7 месяцев назад

    Собрал все по схеме, 3 раза все перепроверил. Но ничего не работает :(

    Статья вроде добротная, но не пойму почему не завелось

    Думал сначала про разную версию PZEM-004t v1.0, но статья от 01.04.2019, модули я заказывал примерно как раз в это время. Тоесть статья по совсем устарешим железкам писалась?? Тогда зачем она вообще?

    • Дмитрий Батюшин (ReD)
      Дмитрий Батюшин (ReD) 7 месяцев назад

      дело в версиях pzem, но новые тоже можно заставить работать 

      • (White_SinSay)
        (White_SinSay) 7 месяцев назад

        как??

        • Дмитрий Батюшин (ReD)
          Дмитрий Батюшин (ReD) 7 месяцев назад

          чтобы понять как что то добавить, нужно знать что добавлять 

          • (White_SinSay)
            (White_SinSay) 7 месяцев назад
            1000x_image.png?15808350691000x_image.png?1580835070

            купил  nodeMCU v3 и 2шт  PZEM-004t v3.

            пытаюсь их связать. Собственно делал все по статье, но ничего не заработало

            • Дмитрий Батюшин (ReD)
              Дмитрий Батюшин (ReD) 7 месяцев назад

              в статье описано для pzen v1

              для остальных версий где-то информация попадалась, но сейчас не могу найти 

              • (White_SinSay)
                (White_SinSay) 7 месяцев назад

                Так в этом то вся и проблема. Что статья довольно таки свежая, а железки старые

                Получается статья на текущий момент бесполезная. или хотя бы в теме надо писать что под v1

                В итоге тоже весь инет щас переширстил, ничего найти не могу. Завтра продолжу :(

                • (White_SinSay)
                  (White_SinSay) 7 месяцев назад

                  Сегодня случайно наткнулся на другую прошивку. Попробовал, все заработало

                  ESP_Easy_mega-20191003_PZEM_core_ESP8266_4M1M.bin

                  Если кому надо скину, где скачал уже не скажу, просто очень много чего качал :(

                  1000x_image.png?1580906538
  10. (White_SinSay)
    (White_SinSay) 7 месяцев назад

    Нашел от куда прошивку качал. Если кому надо пользуйтесь

    Автор не я, сначало прочитайте 

    https://www.letscontrolit.com/...

    • (kini24)
      (kini24) 6 месяцев назад

      Не тестировали стабильность прошивки?

  11. (kini24)
    (kini24) 6 месяцев назад

    Висит такой приборчик, как раз третья версия. Прошивку пришлось писать самому, опираясь на библиотеку с гитхаба, на тот момент не было готовых, вроде EspEasy. Есть только одна проблема: каждый месяц расхождение между показаниями электросчетчика и pzem увеличиваются на 2 кВт*ч. И у меня нет даже вариантов как это исправить

  12. Наиль Ахмедшин (man1ac)
    Наиль Ахмедшин (man1ac) месяц назад

    На трехфазную сеть три комплекта собирать придется?

  13. (Locy)
    (Locy) 23 дня назад

    Тасмота поддерживает это все давно уже (именно последние ревизии pzem). Как по мне, она и интерфейсом приятней, и устанавливается в 2 клика :) У меня 2 таких девайса уже более года работают, с отличием, что использовал esp12 для уменьшения общих габаритов. Один на электроплите, второй на входе в квартиру.

К списку статей

Устройства в материале

ESP8266 NodeMcu v3

Производитель: Espressif Systems
Заказать на:
JD

wemos D1 mini

Производитель: Espressif Systems
Заказать на:
JD

PZEM-004

Производитель: noname
Заказать на:

Скидки для сообщества

Интернет-магазин yourhomekit.ru

+7 914 550-51-11
Промокод:
SPRUT-BLG
Размер скидки:
8%
Cамый большой ассортимент в России аксессуаров Apple HomeKit

Тематические чаты

Похожие статьи

09 ноября 2018, 20:54
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
17 декабря 2019, 17:49
Универсальный привод для автоматического удаленного открытия окон с простой интеграцией в умные дома.
04 сентября 2018, 12:14
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
15 октября 2018, 09:05
Прошивка для Sonoff c нативным HomeKit
02 ноября 2018, 12:14
Кнопка звонка с уведомлениями в HomeKit
15 ноября 2018, 09:42
Способы автоматизации механических ворот
27 октября 2018, 12:20
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
15 ноября 2018, 13:11
Xiaomi Mi Remote 360 добавляем Apple HomeKit
01 октября 2018, 07:43
Нативный HomeKit на ESP8266
24 августа 2018, 12:18
Пошаговая установка HomeAssistant