Умный энергомониторинг с ESP и SCT013

Что вы получите в этом руководстве
- Полный список деталей и краткие рекомендации по их подбору.
- Пошаговая настройка ESPHome и прошивки для NodeMCU, D1 Mini или ESP32.
- Схема подключения SCT013, объяснение компонентов (конденсатор, делитель, нагрузочный резистор).
- Метод калибровки с расчётом коэффициентов и примером YAML-фильтра для ESPHome.
- Интеграция в Home Assistant и настройка Energy Dashboard.
- Контроль безопасности, чеклисты ролей, тесты приёмки и рекомендации по обслуживанию.
Какие компоненты нужны
- Микроконтроллер NodeMCU (ESP8266), D1 Mini или ESP32. В статье использован NodeMCU (ESP8266).
- SCT013 — неинвазивный токовый трансформатор (варианты: 5A/10A/15A/20A/30A/50A/100A, в примере — 30A 1V).
- Micro‑USB кабель для питания и прошивки.
- Универсальная монтажная плата (PCB/бредборд) или маленькая печатная плата.
- Электролитический конденсатор 10 µF, 16 V.
- Два резистора 10 kΩ (1/4 W) — для делителя уровня/смещения ADC.
- Резистор 33 Ω (1/4 W) — как нагрузочный / шунт в интерфейсной плате SCT013 (в зависимости от версии датчика).
Important: Работа с переменным сетевым напряжением (AC) опасна. Если вы не уверены в своих навыках — прекратите и обратитесь к квалифицированному электрику.
Краткая проверочная матрица (фактбокс)
- Тип датчика: SCT013 (токовый трансформатор, неинвазивный).
- Выход SCT013: 1 V при номинальном токе (зависит от модели).
- Базовая формула: Мощность (W) = Ток (A) × Напряжение (V).
- Типичная сеть: 230 V (Европа) или 110/120 V (США). Учитывайте это при расчётах мощности.
Пошаговая инструкция
Шаг 1: Установка и подготовка Home Assistant
Если у вас ещё не установлен Home Assistant (HA), разверните его на Raspberry Pi или другом устройстве. Raspberry Pi 3/4 — энергоэффективный вариант. Можно использовать старый ноутбук, но он потребляет больше энергии.
Короткая последовательность:
- Установите Home Assistant OS или Home Assistant Supervised на ваше устройство по официальной документации.
- Перейдите в Configuration → Add‑ons, Backups & Supervisor и откройте магазин дополнительных модулей (Add‑On Store).
- Установите ESPHome (Home Assistant Community Add‑Ons).
Шаг 2: Установка ESPHome в Home Assistant и создание проекта
ESPHome позволяет генерировать и прошивать кастомную прошивку для ESP‑микроконтроллеров.
- В Add‑On Store найдите ESPHome и установите его.
- После установки нажмите Start, включите Watchdog, Auto‑update и Show in the sidebar, затем Open Web UI для запуска панели ESPHome Dashboard.
- Нажмите +New Device → Continue.
- Введите имя конфигурации, например smart-power-meter, и нажмите Next.
- Выберите MCU: ESP32 для плат ESP32; ESP8266 если у вас NodeMCU или D1 Mini. Нажмите Next и Skip (если хотите редактировать YAML вручную).
- Найдите ваш проект в списке и нажмите Edit, чтобы открыть smart-power-meter.yaml.
Вставьте вашу базовую конфигурацию: укажите SSID/пароль Wi‑Fi, имя хоста, и добавьте сенсор для ADC. В конфигурации обычно добавляют lambda‑функцию для подсчёта мощности, умножая измеренный ток на стандартное напряжение (230 V или 110/120 V).
Важно: измените Wi‑Fi‑учётные данные и, если вы живёте в регионе с 110/120 V, замените 230 на 110 или 120 в любом месте, где используется номинальное напряжение.
- Сохраните (Save) и нажмите Install → Plug into this computer для локальной компиляции и скачивания .bin файла.
После компиляции скачайте бинарник (.bin).
- Подключите плату NodeMCU/ESP32/D1 Mini к компьютеру через Micro‑USB.
- Используйте ESPHome‑Flasher (доступен для Windows/macOS/Linux): выберите COM‑порт, укажите .bin и нажмите Flash ESP.
После успешной прошивки устройство подключится к Wi‑Fi и появится в ESPHome Dashboard как online.
Шаг 3: Подключение датчика SCT013 к плате ESP
SCT013 — это трансформатор тока: он не контактирует с фазой напрямую и надевается на провод. Вы можете купить готовый интерфейсный модуль для SCT013 (с гнездом 3.5 мм) или собрать простой адаптер самостоятельно.
Ключевые моменты схемы:
- SCT013 генерирует переменное напряжение (AC) пропорционально току в проводнике. ADC ESP работает с напряжением 0–1 V (в случае NodeMCU/ADC ESP8266) или 0–3.3 V (ESP32), поэтому нужен интерфейс с делителем и смещением.
- Часто ставят нагрузочный резистор (например, 33 Ω) внутри интерфейса SCT013, он формирует выходное напряжение. Если у вашего SCT013 нет встроенного резистора, добавьте внешний шунт по спецификации.
- Для стабильного измерения ADC требуется смещение сигнала (смещение по среднему, Vcc/2) — используют два резистора 10 kΩ как делитель и конденсатор 10 µF для сглаживания смещения.
Схема подключения (словами): выход SCT013 → нагрузочный резистор (если требуется) → к входу ADC через цепочку смещения (делитель 10 kΩ + конденсатор 10 µF на Vcc/2), общий провод на землю платы.
Практическое замечание: у ESP8266 ADC вход принимает до 1 V; для ESP32 безопасный диапазон выше (0–3.3 V). Убедитесь, что выход SCT013 через шунт не превышает входное напряжение MCU.
После подключения подайте питание на плату от 5V USB‑адаптера (любой смартфонный зарядник с 5V подойдет).
Шаг 4: Калибровка SCT013 и перевод показаний в реальные значения
Правильная калибровка критична: датчик даёт относительную величину, которую нужно перевести в реальные амперы (A) и затем в ватты (W).
- Наденьте SCT013 на фазный провод (обычно красный) между счётчиком и распределительным щитком.
В панели ESPHome откройте Logs для устройства smart-power-meter и наблюдайте строку «Measured Current: Sending state x.xxxx A with …» — это значение, выдаваемое вашим сенсором при текущей нагрузке.
Зафиксируйте не менее 10 последовательных измерений при стабильной нагрузке (например, все бытовые приборы выключены или включён ровный небольшой потребитель) и возьмите среднее арифметическое.
Сравните это среднее со «реальной» текущей нагрузкой, снятой с электросчётчика или мультиметра, и вычислите коэффициент калибровки.
Пример из статьи: среднее показание SCT013 = 0.00807 (например, условная единица из лога), а реальный ток по счётчику = 1.2228 A. Тогда масштабный коэффициент K = 1.2228 / 0.00807 ≈ 151.45. Далее множьте показания SCT013 на K, чтобы получить амперы.
Формула для мощности: P (W) = I (A) × V (V), где V — номинальное напряжение сети (например, 230 V). Учтите, что этот простой метод не учитывает коэффициент мощности (cos φ) и фазовые сдвиги; для базового мониторинга дома точность обычно достаточна.
Добавьте в smart-power-meter.yaml секцию sensor с фильтром calibrate_linear, например:
filters:
- calibrate_linear:
- 0 -> 0
- 0.00807 -> 1.2228Важно: подставьте в примере свои значения: левый столбец — показание RAW (среднее из логов), правый — реальная сила тока, измеренная мультиметром или по счётчику.
Alternate calibration method (если нет доступа к счётчику):
- Возьмите удлинитель, аккуратно снимите изоляцию с внешней оплётки и оголите внутренние провода, не повреждая жилы.
- Оберните SCT013 вокруг фазного провода и включите известную нагрузку (микроволновка, электронагреватель) с известной потребляемой мощностью.
- Измерьте ток мультиметром в разрыве или вычислите его по мощности прибора, затем протранслируйте в коэффициент.
После правки YAML сохраните и установите прошивку по воздуху (OTA), если устройство уже онлайн.
При успешной прошивке вы увидите корректные текущие значения в логах и в Home Assistant.
Совет по точности: для высокой точности калибруйте при разных уровнях нагрузки (низкая, средняя, высокая) и проверьте линейность преобразования. При необходимости используйте полиномиальную аппроксимацию или несколько точек calibrate_linear.
Шаг 5: Добавление сенсора в Home Assistant и настройка Energy Dashboard
- В Home Assistant перейдите Configuration → Devices & Services → Add Integration.
- Найдите ESPHome и введите IP‑адрес устройства (его можно увидеть в логах ESPHome). Нажмите Submit.
- Выберите зону/помещение и завершите добавление.
- Откройте устройство smart-power-meter → 1 device → Add to Lovelace — добавьте нужные сущности (entities) на панель.
- Для визуализации тока и мощности используйте gauge, графики и мини‑графы (мини-graph card). Energy Dashboard Home Assistant агрегирует значения для расчёта суточного/месячного/годового потребления.
Шаг 6: Отслеживание дневного/месячного/годового потребления
Energy Dashboard появился в Home Assistant начиная с релиза 2021.8 и предоставляет удобную страницу с суммированием потребления по интервалам времени. После добавления сенсора следуйте официальной инструкции HA по настройке источников энергии и устройствам учёта.
Дополнительные сценарии и расширения
- Отдельные SCT013 или PZEM‑004T можно установить на конкретные приборы (бойлер, насос, кондиционер), чтобы видеть энергопотребление по устройствам.
- На основе событий (порог мощности) можно запускать автоматизации в HA: уведомления, голосовые оповещения (Alexa/Google Assistant), отключение реле и т.п.
Когда этот способ не подойдёт (ограничения и контрпримеры)
- SCT013 не даёт прямого измерения напряжения и коэффициента мощности; для полных электрических измерений лучше использовать PZEM‑004T или специализированные измерители энергии с измерением U, I, P, PF.
- Если требуется крошечная погрешность и сертифицированные измерения (для коммерческого учёта), данное DIY‑решение не подходит.
Практическая методика калибровки (мини‑методология)
- Соберите 10–20 стабильных измерений RAW при известной нагрузке.
- Измерьте реальный ток мультиметром или возьмите значение со счётчика.
- Постройте соответствие RAW → реальный ток: используйте calibrate_linear с 2–5 точками для лучшей линейности.
- Проверьте на нескольких нагрузках (малой/средней/большой).
- Загрузите исправленную прошивку и проверьте лог через ESPHome.
Шаблон проверки приёмки (Критерии приёмки)
- Устройство отображается как Online в ESPHome Dashboard.
- Логи показывают «Measured Current» с изменяющимися значениями при включении/выключении нагрузки.
- Значения тока в Home Assistant сопоставимы с мультиметром/счётчиком (логически совпадают при изменении нагрузки).
- Energy Dashboard аккумулирует данные и показывает ожидаемые тенденции (рост при включении аппаратов).
Ролевые чеклисты
Чеклист для монтажника/инженера:
- Убедиться, что питание отключено перед работой в щитке.
- Правильно установить SCT013 на фазный провод (не на ноль и не на обе жилы одновременно).
- Правильно реализовать смещение ADC и подключить землю.
- Проверить целостность изоляции и безопасное соединение всех проводов.
Чеклист для владельца дома:
- Проверить, что устройство онлайн в Home Assistant.
- Сверить начальные показания с мультиметром.
- Настроить уведомления при превышении порогов потребления.
Сравнение SCT013 и PZEM‑004T (краткая матрица)
- SCT013: неинвазивный, прост в установке, требует интерфейса и калибровки, даёт ток (требует оценки напряжения для расчёта мощности).
- PZEM‑004T: модуль для прямых измерений U/I/P/PF/Wh, чаще требует прямого подключения и более сложной проводки, даёт более полную картину энергии.
Выбор зависит от задачи: быстрый мониторинг нескольких цепей — SCT013; если нужен полный профиль параметров сети — PZEM‑004T.
Отладка и распространённые проблемы
Проблема: устройство не появляется в сети после прошивки
- Проверить правильность SSID/пароля в YAML.
- Убедиться, что ESP подключён к нужной сети (2.4 GHz для ESP8266/ESP32).
Проблема: показания не меняются
- Проверьте правильность установки SCT013 на фазном проводе.
- Убедитесь, что смещение ADC выполнено корректно (Vref/2) и конденсатор установлен.
- Соберите несколько логов и проверьте наличие шума.
Проблема: показания значительно отличаются от мультиметра
- Перекалибруйте с использованием нескольких точек.
- Проверьте наличие встроенного шунта в SCT013; если его нет, добавьте внешний нагрузочный резистор по спецификации датчика.
Тестовые сценарии (Test cases)
- Базовый тест онлайн: устройство должно подключиться к ESPHome и показать статус Online.
- Нулевая нагрузка: при выключенных приборах показания должны быть близки к нулю с небольшими флуктуациями.
- Изменение нагрузки: при включении известного прибора (например, чайника) показания должны резко увеличиться.
- Корректность калибровки: после калибровки значения SCT013 должны совпадать с мультиметром в пределах логической схожести (сходящаяся динамика и порядок величин).
Безопасность и конфиденциальность
- Все измерения можно хранить локально в Home Assistant без отправки в облако — это повышает приватность.
- При проведении работ в щитке используйте защитные средства и следуйте местным требованиям по электробезопасности.
Глоссарий (одно предложение)
- SCT013: неинвазивный токовый трансформатор для измерения переменного тока.
- ESPHome: платформа для генерации прошивок для ESP‑контроллеров с интеграцией в Home Assistant.
- ADC: аналогово‑цифровой преобразователь — вход микроконтроллера для измерения напряжения.
- RMS: среднеквадратическое значение переменного тока, используемое для расчёта реального тока.
Мерфлоу для принятия решения при выборе датчика
flowchart TD
A[Нужен мониторинг энергии?] --> B{Требуется измерение напряжения и PF?}
B -- Да --> C[PZEM-004T или сертифицированный измеритель]
B -- Нет --> D{Нужна простая неинвазивная установка?}
D -- Да --> E[SCT013 + ESPHome]
D -- Нет --> F[Рассмотреть смарт-щёткодержатели или коммерческие счётчики]Короткое объявление (для социальных сетей, 100–200 слов)
Соберите собственный умный энергомонитор на базе ESP8266/ESP32 и неинвазивного датчика SCT013 — быстро и локально. Мы объясняем, как прошить микроконтроллер через ESPHome, подключить датчик, откалибровать показания и интегрировать всё в Energy Dashboard Home Assistant. Руководство включает безопасность, методику калибровки, чеклисты для монтажника и владельца, а также сценарии тестирования и устранения проблем. Подходит для контроля потребления дома и создания автоматизаций по превышению порогов.
Рекомендации по обслуживанию
- Проверяйте калибровку раз в 6–12 месяцев или после изменения электропроводки.
- Обновляйте ESPHome и Home Assistant для получения последних исправлений безопасности и функций.
Краткое резюме
- SCT013 + ESPHome — простой путь запустить локальный энергомониторинг.
- Калибровка — ключ к полезным и сопоставимым показаниям.
- Для коммерческого учёта и высокой точности выбирайте специализированные модули.
Notes: Помните о безопасности при работе с электроэнергией — при сомнениях привлеките электрика.
Похожие материалы
Как отправить большие файлы по почте
Как пользоваться Battery Share на Google Pixel
Синхронизация буфера обмена Android и Windows
Как настроить VPN на Android
Скрытые режимы Windows: руководство и советы