Вы решили измерять свои цепи и смотреть их в Home Assistant. Клещи недороги, они охватывают провод без разрыва, и людей, которые уже это сделали, немало.
Чего почти никто не говорит сразу, так это того, что есть два разных способа это запустить. На панели энергии они выглядят почти одинаково. Внутри они не одинаковы, и переход с одного на другой потом означает начать историю с нуля.
Поэтому это статья о выборе, а не о монтаже. Оба маршрута работают на одном и том же ядре учёта на вашем ESP32 и измеряют одинаково. Различаются место настройки, то, с чем может связаться устройство, и то, что попадает в Home Assistant.
Сделайте выбор до начала сбора истории
Переход между маршрутами — это перепрошивка по USB другим образом. В обе стороны он не предлагается как обновление по воздуху, ничего не переносится автоматически, а браузерный установщик при установке с нуля предлагает полную очистку.
⚠️ Выберите маршрут до начала сбора истории. Переход позже означает перепрошивку по USB, повторный ввод точек, модулей, тарифного плана и окон, и историю записи начинаете с нуля. На автономном маршруте сначала экспортируйте всё, что есть, в CSV, если хотите это сохранить.
Это вся рекомендация по переходу, и она стоит здесь, а не в конце статьи, потому что полезна только до решения. В обе стороны это начало с нуля; ни один из переходов не является дешёвым.
Что одинаково в обоих случаях
Большая часть того, ради чего вы всё это покупаете, от маршрута не зависит:
- Измерение. То же ядро учёта, те же клещи, те же 15-минутные периоды, которые закрываются на устройстве.
- Рыночные цены. Хаб сам получает цену «день вперёд» для вашей зоны, применяет ваш договор — зоны, сборы, налоги, НДС — и оценивает каждый 15-минутный период по цене именно этого периода.
- Дешёвые окна. Правила «ниже уровня», «самые дешёвые периоды в промежутке» и «самые дешёвые до времени», которые вычисляются на устройстве.
- Пики потребления. Самый высокий 15-минутный и часовой импорт на вводе сети за каждый расчётный цикл.
- Удалённые узлы. Узлы ESP-NOW — то же устройство и та же прошивка на обоих маршрутах.
- Запись принадлежит устройству. Часы закрываются и оцениваются на хабе, поэтому то, что делает Home Assistant — перезапускается, обновляется, выключен, — не меняет измеренного.
- Без облака на пути. Ни одному из маршрутов не нужна учётная запись где бы то ни было. Об этом чаще всего спрашивают и реже всего получают ответ:
«Also, it seems like none of them are local which sucks majorly.» — ncd, тред форума Home Assistant 607039
Чем они отличаются
| Собственное приложение хаба | Внутри Home Assistant | |
|---|---|---|
| Где вы его настраиваете | веб-приложение хаба, по его собственному адресу | панель RBgrid в Home Assistant |
| Веб-приложение | да | нет |
| Как Home Assistant видит устройство | MQTT discovery | нативный API ESPHome |
| Нужен брокер | да, если нужен Home Assistant | нет |
| MQTT, REST, WebSocket | да | нет — сетевой стороной владеет ESPHome |
| Рыночные цены, план, зоны | да | да |
| Дешёвые окна | состояние публикуется по MQTT | событие Home Assistant для ваших автоматизаций |
| Пики потребления | в приложении | на вкладке Цены панели, только для чтения; день расчётного цикла задаётся действием, а не формой |
| Удалённые узлы ESP-NOW | в приложении | сопрягаются и перечисляются на вкладке Сеть панели |
| Почасовая история в статистику Home Assistant | нет — только текущие итоги | да, до 30 дней при настройке, затем по часам |
| Резервная копия настроек и экспорт CSV в файлы | да | нет |
| Показ атрибуции цен | страница «Цены» приложения | панель выводит её сама |
Две строки этой таблицы стоит прочитать дважды.
Брокер. Если вы используете хаб только на его собственном маршруте, но хотите видеть его в Home Assistant, нужен брокер MQTT — именно так они соединяются. Хаб, которым пользуются только через собственное веб-приложение, брокера не требует. На маршруте Home Assistant брокера нет вообще, потому что говорит протокол самого ESPHome.
Импорт истории. Это единственная реальная асимметрия — и это добавление, а не замена. Home Assistant ведёт собственную почасовую статистику на обоих маршрутах, по текущим значениям, которые получает; эта часть не меняется. Маршрут ESPHome добавляет второй набор строк: интеграция записывает собственную почасовую книгу хаба в долгосрочную статистику рядом с ними, и первый импорт заходит назад, так что до 30 дней того, что хаб уже записал, приходят за один проход — если хаб работал до того, как вы настроили интеграцию. Эти строки ничего не дублируют на вашей панели, пока вы не выберете их как источник. На маршруте MQTT второй копии нет: статистика Home Assistant — та, которую он вычислил сам, как и раньше. На хабе при любом варианте ничего не теряется.
Если Home Assistant уже ваш интерфейс
Прошейте образ ESPHome, добавьте устройство, и панель RBgrid в Home Assistant становится местом, где вы всё настраиваете: точки, модули, тарифный план, окна. Не нужно вести второе приложение и не нужно запускать брокер.
Попасть туда можно двумя обычными способами: либо прошить готовый заводской образ для вашей платы из браузера и добавить устройство так же, как любое устройство ESPHome, либо — если вы уже храните свои устройства ESPHome в YAML — подключить компонент как внешний источник и собрать его в свою конфигурацию. Дальше обновления идут стандартные для ESPHome: вы устанавливаете их с панели ESPHome, а неудачный образ откатывается к предыдущему. Точные шаги, включая один экспорт, после которого плата не загружается, описаны на странице маршрута ESPHome.
Конкретно на этом маршруте:
- Пики находятся на вкладке «Цены» панели, в карточке Пики потребления (тариф по мощности): день начала расчётного цикла, самое высокое 15-минутное среднее, самый высокий час. Вы их читаете там; чтобы сменить день цикла, вызовите действие интеграции из автоматизации или из «Инструментов разработчика».
- Узлы находятся на вкладке «Сеть» панели: сопряжение, список, состояние каждого узла, сигнал, прошивка и то, какие входы он несёт. Узел, который пропал, там отображается как офлайн, учитывается в карточке «Обзор», записывается в журнал хаба на вкладке «События» и поднимается как событие Home Assistant — так автоматизация может вам о нём сообщить.
- Цены показываются с указанием источника на панели, как того требуют условия поставщика.
Чем вы жертвуете, это список из таблицы: нет веб-приложения, нет MQTT, нет REST, нет WebSocket и нет резервной копии настроек или CSV, которые можно хранить как файл.
Это уже, чем кажется, и стоит не понять неправильно: точки цен на 15 минут никуда не деваются. На вкладке «Цены» панели строится график каждого периода, который хранит хаб, — сегодня и завтра, — с указанием источника каждого периода, если их задействовано несколько, а действие возвращает то же самое в виде JSON, так что автоматизация может передать это куда угодно. Не хватает файла, а не данных.
Если вы хотите, чтобы хаб работал самостоятельно
Хаб отдаёт собственное веб-приложение по собственному адресу. Тарифы, точки, история и цены задаются там, и без Home Assistant он полезен — это важно, если Home Assistant — одно из нескольких мест, куда вы заглядываете, или если вы предпочли бы, чтобы учёт вообще от него не зависел.
Оттуда Home Assistant необязателен: поднимите брокер, укажите на него хабу, и точки придут по MQTT discovery. REST и WebSocket тоже есть — для собственной панели или для всего, что говорит по HTTP. А резервная копия настроек и экспорт CSV существуют как файлы, которые вы можете хранить где угодно.
Если это ваш маршрут, пошаговая инструкция от прошивки до панели энергии описана отдельно: Счётчик электроэнергии для Home Assistant — от прошивки до панели энергии.
Стоимость по цепям: чего Home Assistant сам не умеет
Именно здесь люди ходят по кругу, и стоит это понять до выбора, потому что на обоих маршрутах это устроено одинаково.
Панель энергии Home Assistant с радостью посчитает стоимость всего дома. Она не скажет, сколько стоил тепловой насос, потому что стоимость там относится к источнику сети, а не к устройству. Обходной путь, за который хватаются, — объявить каждый прибор отдельным источником электроэнергии. Это даёт цифру, но цифра явно неверная:
«I add individual device as a electricity source just to see running costs. Which is pretty stupid.» — degreal, тред 334932
Этот тред открыт с 2021 года. Вторая половина проблемы — сам тариф: зоны, абонентская плата и НДС оказываются в шаблонных сенсорах и помощниках utility_meter, и они ненадёжны так, что их трудно отлаживать, потому что ничего не выдаёт ошибку — цифра просто неверна:
«Nope still collecting on 'peak' no matter what I put in offpeak.» — пользователь в треде 313300
«I really struggled with this - it's actually really simple but there are a couple of gotchas to know about.» — steve_jo, тред 484105
Когда тариф живёт в счётчике, меняется то, что арифметика перестаёт быть вашей задачей. План — зоны по часам, сборы, налоги, НДС — настраивается один раз на устройстве, и каждая точка оценивается отдельно, в реальном времени и по часам, с экспортом, оценённым по его собственной цене.
⚠️ Но учтите, где именно появляются эти деньги: они не внутри панели энергии. У Home Assistant нет поля стоимости для отдельного устройства — это и есть пробел, и ни одна интеграция не заполнит его снаружи. Вместо этого вы получаете цифру в трёх местах, которые можно использовать: сенсор стоимости на каждую точку, в реальном времени, чтобы вывести на любую карточку; почасовую стоимость по точкам в долгосрочной статистике, для карточки статистики; и собственные таблицы «Точки» и «История» панели. Панель энергии по-прежнему показывает ваши точки как устройства с их энергией. Так что стоимость по цепям читается рядом с панелью энергии, а не в ней — это честный вид и лучше обходного пути, но это не та колонка на панели, которую вы, возможно, представляете. Шаблонный сенсор на этом пути не участвует, что устраняет один класс проблем, но не все: границы зон и НДС применяются там, где измеряется энергия, а не собираются заново ниже по цепочке.
⚠️ Одно честное ограничение. То, что попадает в статистику Home Assistant, — это почасовые данные, потому что час — самый короткий период, который Home Assistant хранит. 15-минутные периоды остаются на хабе, где журнал применённых цен хранит их в CSV. Если ваш договор меняется по 15-минутным периодам, то разрешение существует на устройстве — Home Assistant покажет вам часы.
Три вопроса, которые решают дело
- Home Assistant — это место, где вы смотрите всё, или одно из нескольких? Если всё уже там, маршрут ESPHome убирает приложение и брокер. Если это одно из нескольких, автономный хаб сохраняет собственный вход.
- Нужно ли вам место, где смотреть, когда Home Assistant недоступен? Измерение продолжается в любом случае, на обоих маршрутах. Но на маршруте ESPHome панель является частью Home Assistant, поэтому пока он недоступен, открыть вам нечего.
- Нужны ли вашим собственным инструментам MQTT, REST или WebSocket? Если да, выбор сделан за вас: они есть только на автономном маршруте.
Если после этого всё ещё ничья, берите автономный хаб — не потому, что с ним можно уйти со своей историей, — нельзя: ничего не переносится ни в одну сторону, и это верно для обоих маршрутов. Берите его потому, что его данные выходят в виде файлов. Экспорт CSV и резервная копия настроек — это то, что можно хранить где-то ещё, и в день, когда вы передумаете, это разница между тем, чтобы начать запись заново с прежней историей в руках, и тем, чтобы начать без неё.
Чего это не делает
- Ни один из маршрутов ничего не включает и не выключает. Хаб измеряет и оценивает; что делать с дешёвым окном, решает ваша автоматизация, а не счётчик.
- Ни один из маршрутов не даёт Home Assistant разрешения 15 минут. Периоды принадлежат устройству; Home Assistant хранит часы.
- Никакая история не переходит между маршрутами. Переход — это перепрошивка и начало с нуля, в обе стороны.
- Маршрут не меняет того, как устройство измеряет. То же ядро, те же клещи, те же периоды — меняется только окружение.
Где почитать подробнее
- Какой из двух вам нужен — тот же выбор, в двух карточках, со ссылками наружу.
- Запуск внутри Home Assistant — маршрут ESPHome, включая то, что делает панель.
- Рыночные цены — как цена «день вперёд» и ваш договор превращаются в стоимость за период.
- Пики потребления и Удалённые узлы — две функции, которые работают на обоих маршрутах и выглядят по-разному.
- История и качество записи — что хранит хаб и как он помечает час, который не смог завершить.
- Счётчик электроэнергии для Home Assistant — автономный маршрут, пошагово.
- Оборудование — хаб, модули и клещи.