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

1 апр. 2019 г.

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


ESP8266 nodeMCU (Подойдет и любая другая)

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

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

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

Подключение

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

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

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

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

Настройка

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

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

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

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

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

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

Настройка 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. Далее добавляем новую карточку.

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"
Из плюсов, хочется отметить подробные графики об изменении данных. 

Настройка 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)"
      }
}

Фотоотчет 

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

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

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

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


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


Все новости мира умных домов - t.me/SprutAI_News

Остались вопросы? Мы в Telegram - t.me/soprut

  1. Антон Самсонов (samsonovs)
    супер, спасибо

  2. Илья Яшин (yshinig)
    Илья Яшин (yshinig) месяц назад

    Круто

  3. (Dmikelson)
    (Dmikelson) месяц назад

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

  4. (gonczarov)
    (gonczarov) отредактировано месяц назад
    Комментарий был удален
  5. (asert)
    (asert) 29 дней назад

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

    • Дмитрий Батюшин (ReD)
      Дмитрий Батюшин (ReD) 27 дней назад

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

      • (asert)
        (asert) 27 дней назад

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

  6. (hunterelectros)
    (hunterelectros) 13 дней назад

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

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

    1000x_image.png?1557421274
К списку статей

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

15 нояб. 2018 г.
Xiaomi Mi Remote 360 добавляем Apple HomeKit
4 сент. 2018 г.
Интеграция RGB ленты на ESP8266 с прошивкой tasmota в систему HomeBridge (HomeKit)
9 нояб. 2018 г.
Кейс создания умного дома без каких либо прокладок в виде Raspberry pi
2 нояб. 2018 г.
Кнопка звонка с уведомлениями в HomeKit
15 окт. 2018 г.
Прошивка для Sonoff c нативным HomeKit
15 нояб. 2018 г.
Способы автоматизации механических ворот
27 окт. 2018 г.
Нативный Термостат для котла на ESP8266 с поддержкой Apple HomeKit
1 окт. 2018 г.
Нативный HomeKit на ESP8266
15 июн. 2018 г.
Охранная система в гараж на ESP8266 с интеграцией в Apple HomeKit
27 авг. 2018 г.
Интегрируем ХА в HomeKit