Почему этот час стоит именно столько

Каждая цифра стоимости в RBgrid получается по одной и той же короткой цепочке: измеренная энергия, 15-минутный период, в который она попала, тарифная зона, действующая для этого периода, и ваши платежи и НДС поверх. Ничего не усредняется по суткам и ничего не распределяется пропорционально.

Эта страница описывает цепочку от начала до конца. Её стоит читать, когда цифра вас удивляет: дешёвый час, который выглядит дорогим, час с энергией, которую вы в тот момент не использовали, или итог, не совпадающий с итогом вашего поставщика.

Где что находится: план вы строите в Тарифах, результат читаете в Экономике, а записи хранятся в Истории.

Цепочка, шаг за шагом

  1. Модуль измеряет. Модуль rbAmp считает энергию в собственных счётчиках, на собственной плате. Хаб их читает; он сам не интегрирует мощность в энергию, поэтому пропущенное считывание не создаёт и не теряет кВт·ч.
  2. Хаб закрывает 15-минутный период. Периоды заканчиваются каждые четверть часа по часам хаба. Когда тарифная зона меняется внутри периода, хаб закрывает период и в этот момент, поэтому ни один период никогда не захватывает две цены.
  3. Периоду назначается зона — зона, действующая в собственное время периода. Именно на этом шаге возникает большинство сюрпризов, и правил здесь больше всего; все они в разделе Когда часов или связи не было ниже.
  4. Периоду назначается цена. На фиксированном плане это цена покупки зоны, плюс платежи плана за кВт·ч, плюс НДС. Когда включены динамические цены, цена приходит от вашего поставщика именно за этот период, и то, добавляются ли поверх неё платежи плана, зависит от типа источника. Оба случая описаны в разделе Формула.
  5. Экспорт оценивается отдельно по цене продажи зоны — никогда не зачитывается против расхода. См. Экспорт — не скидка.
  6. Периоды суммируются в час, часы в сутки, сутки в календарный месяц и год. Каждый уровень — сумма нижнего; ни один уровень не пересчитывается из среднего.
  7. Остаток — это «неучтённое»: точка ввода минус точки, которые вы измеряете. См. Неучтённое и точки внутри точек.

Формула

Для каждой точки измерения и каждого периода:

cost = kWh × the period's buy price

Самое интересное — в том, как получается эта цена покупки, и случаев два.

На фиксированном плане

buy price = ( zone buy price + energy tax + grid fee + renewable levy ) × (1 + VAT% / 100)

Три платежа за кВт·ч задаются на уровне плана: они действуют во всех зонах. Фиксированные ежемесячные или ежегодные платежи не входят ни в одну цифру RBgrid — здесь стоимость только по энергии, и это обычная причина, по которой итог за месяц оказывается ниже вашего счёта.

При включённых динамических ценах

Здесь тип источника определяет, какая часть цепочки уже входит в переданную вам цифру.

Биржевой источник публикует оптовую цену, поэтому к ней применяются ваш договор и ваш план:

buy price = ( spot × factor + markup
              [ + the zone rate, if "zones stack" is on ]
              + energy tax + grid fee + renewable levy ) × (1 + VAT% / 100)

Источник «всё включено» публикует розничную цену, которую вы действительно платите, поэтому ничего не добавляется:

buy price = the provider's price

⚠️ От того, какой из двух источников у вас, зависит каждая цифра стоимости в приложении. Цена «всё включено» уже содержит налоги и НДС. Если обращаться с ней как с биржевой ценой, каждый из этих платежей применится повторно, и цифры окажутся заметно завышенными. Для сетевого поставщика класс задаёт хаб, а вы его только читаете: источник «всё включено» помечен · всё включено в списке поставщиков и в строке формулы. Для Home Assistant класс выбираете вы: Что передаёт Home Assistant. Если ваши расходы кажутся завышенными, хотя сама цена выглядит верной, сначала прочитайте именно это.

Собственная цена периода и источник, из которого она взята, хранятся 40 дней и доступны для скачивания — так что цифру, которую вы прочитаете позже, можно проследить до цены, которая её породила. См. Откуда берётся ваша цена.

Пример: динамическая цена, два периода одного часа

Биржевой источник, договор с factor 1.0 и markup 0.01, сетевой сбор 0.05 за кВт·ч и НДС 20 %.

Энергия Биржевая цена за этот период Стоимость
0.5 кВт·ч, 14:00-14:15 0.22 0.5 × (0.22 + 0.01 + 0.05) × 1.20 = 0.168
0.5 кВт·ч, 14:15-14:30 0.09 0.5 × (0.09 + 0.01 + 0.05) × 1.20 = 0.090

Та же половина кВт·ч, но через пятнадцать минут — почти вдвое дешевле, и итог часа — это сумма его четырёх периодов, а не средняя цена часа, умноженная на его энергию. Именно это различие и есть причина, по которой стоимость считается по периодам.

Пример: план «день/ночь»

Две зоны: День 07:00-23:00 по 0.30 и Ночь 23:00-07:00 по 0.15 за кВт·ч, сетевой сбор 0.05 за кВт·ч, НДС 20 %.

Энергия Зона Стоимость
2 кВт·ч в 14:00 День (2 × 0.30 + 2 × 0.05) × 1.20 = 0.84
2 кВт·ч в 02:00 Ночь (2 × 0.15 + 2 × 0.05) × 1.20 = 0.48

Те же 2 кВт·ч стоят меньше ночью, потому что цена покупки зоны ниже; сбор и НДС применяются в обеих зонах.

Период оценивается по собственному времени, а не по времени обработки. Так бывает, когда период приходит с опозданием, когда хаб был выключен и когда он пришёл с удалённого узла. Меняется то, какая зона достаётся периоду, когда его собственное время неизвестно.

  • Период, обработанный с опозданием, сохраняет собственное время и собственную зону. Начиная с v1.1.7 это верно, даже если хаб записывает период минутами или часами позже: опоздавший период не оценивается по зоне, которая случайно действует в момент записи.
  • Новый тарифный план применяется одним шагом. Расчёт никогда не видит наполовину загруженный план, поэтому ни один период не оценивается по смеси старых и новых ставок. План с большим числом зон, чем хаб может хранить, отклоняется целиком, а не загружается частично.
  • Часы ещё не установлены (хаб включён без интернета): периоды оцениваются по зоне по умолчанию плана, а не по той зоне, в которую попали бы периоды при неустановленных часах. Записи, сделанные до установки часов, в Истории помечаются «до синхр.» и на графики не выводятся.

Без установленных часов период также нельзя сопоставить с периодом поставщика, поэтому динамическая цена не используется вовсе — оценивает зона плана по умолчанию. Эти периоды также не получают строки в журнале цен: пробел в журнале и есть признак, по которому их узнают.

  • Хаб был выключен больше суток. Энергия, которую за это время насчитали модули, не теряется: она зачисляется на час, в котором хаб вернулся, потому что её время внутри перерыва неизвестно. На прошивке v1.1.8 эта энергия оценивается по зоне по умолчанию плана. В Истории у записи есть собственное примечание: «включает энергию из разрыва в измерении, учтённую в этом часу».

⚠️ Такой час содержит энергию, которая в нём не использовалась. кВт·ч реальные, а деньги приблизительные: хаб не может знать, какая ставка действовала во время перерыва. Если перерыв захватил дешёвое окно, стоимость окажется выше, чем была бы.

При включённых динамических ценах такой период оценивается в две части, и понимание этого не даёт неправильно читать журнал. Энергия, измеренная после возвращения хаба, использует собственную цену периода — рыночную, если её покрывает цена. Энергия, учтённая во время перерыва, использует зону по умолчанию плана, потому что её реальная цена неизвестна (отрицательная ставка по умолчанию считается нулём). Деньги записи — сумма этих двух частей.

В журнале цен показана собственная цена периода, а не ставка, по которой оценена часть за перерыв. Поэтому период, деньги которого кажутся высокими по сравнению с ценой в журнале, — не противоречие: часть его энергии никогда не оценивалась по этому числу.

  • Удалённый узел закрывает свои 15-минутные периоды по собственным часам и хранит их, пока хаб их не подтвердит, поэтому период узла оценивается по периоду, который закрыл узел, а не по времени, когда он дошёл до хаба. Начиная с прошивки узла 1.5, узел хранит около пяти суток периодов в собственной флеш-памяти. → Удалённые узлы
  • Период узла длиннее 15 минут — энергия, которую узел насчитал до того, как получил часы хаба, — сохраняется, а не отбрасывается (v1.1.8). Она попадает в час этого периода и несёт отметку о перерыве.
  • Ввод узла без модуля напряжения вообще не записывает энергию (v1.1.8). Хаб не станет переводить ток в энергию по номинальному напряжению, потому что это была бы не измеренная энергия, поэтому час для этой точки остаётся без данных. Её живая мощность всё равно показывается, и эта цифра действительно является оценкой по номинальному напряжению — годится для наблюдения, но не для начисления.

Экспорт — не скидка

Отданная энергия оценивается по цене продажи — собственной цене зоны или коэффициенту продажи плана × цена покупки — и к ней не применяются налоги, сборы или НДС. Доход от экспорта хранится рядом с расходом, а не вычитается из него. Экономика показывает оба, а также Чистый расход (расход − доход) и Чистую энергию (взято − отдано).

Если договор ничего не платит за отданную энергию, цены продажи должны быть 0: хаб оценивает экспорт независимо от того, включён взаимозачёт или нет. Как их задать и как работает кредит в кВт·ч, см. в Тарифах и Экономике.

Неучтённое и точки внутри точек

Неучтённое — это то, что измерил ввод, минус то, что покрывают ваши измеряемые точки: линии, на которые вы не установили клещи. Это вычитание, поэтому всё, посчитанное дважды, его искажает.

Для этого и нужны точки внутри точек (v1.1.8): зарядное устройство внутри учитываемого подщитка можно отметить как измеряемое внутри этого подщитка. Собственные итоги хаба не меняются — они берутся на вводе, — но цифра неучтённого перестаёт дважды вычитать вложенную нагрузку. Без этого подщиток и нагрузка внутри него оба учитываются относительно ввода, и неучтённое получается меньше, чем есть, иногда отрицательным.

⚠️ Одна точка на вводе, и ни одна нагрузка не считается дважды. Точка подщитка и точка внутри неё верны только тогда, когда внутренняя отмечена как находящаяся внутри. → Точки

Что проверить, если цифра выглядит неверно

Применилась не та зона

  • Проверьте часы и часовой пояс хаба — пока часы не установлены, периоды идут в зону по умолчанию. → Время
  • Где зоны перекрываются, побеждает тип зоны с более высоким приоритетом, а зона «Выходные» побеждает только в субботу и воскресенье. Откройте Неделя по зонам на странице «Тарифы», чтобы увидеть зону для каждого часа и какие часы попадают в зону по умолчанию.
  • Проверьте, что зона Вкл и что в её Дни входит нужный день.

В часе есть энергия, которая тогда не использовалась

  • Посмотрите качество записи в Истории: отмеченный час — это тот, о котором хаб сообщает вам, а не тихая ошибка. Час с перерывом оценивается по зоне по умолчанию намеренно.
  • Удалённый узел, который был вне досягаемости, передаёт свои периоды с опозданием; они попадают в свои часы, поэтому час может получить энергию уже после того, как вы впервые на него посмотрели. → Удалённые узлы

Расход равен нулю

  • Цены покупки зон равны 0, или точка не измерила энергии за этот период.

Все цифры стоимости слишком высоки, а сама цена выглядит верной

  • Источник «всё включено» принимают за биржевой, поэтому налоги и НДС плана добавляются поверх цены, которая их уже содержит. Прочитайте класс вашего источника в списке поставщиков (у источника «всё включено» стоит · всё включено); если цену передаёт Home Assistant, проверьте Что передаёт Home Assistant — это единственное место, где класс задаёте вы. → Откуда берётся ваша цена

Все цифры стоимости слишком низкие или ниже, чем в приложении поставщика

  • Наоборот: голая биржевая цена без договора за ней. Оптовая цифра — это не розничная. Проверьте factor и markup, а также то, что план за ними включает ваш энергоналог, сетевой сбор, экологический сбор и НДС.

Расход верный, но цена не та, что я вижу у поставщика

  • Прочитайте журнал цен за эти периоды: в нём записаны применённая цена и её источник. Запись plan означает, что рыночная цена этот период не покрывала, поэтому его оценила ставка зоны, — это правильное поведение и другое число.

Деньги периода не совпадают с ценой, которую журнал показывает для него

  • Два случая, и оба — по замыслу. У периода есть отметка перерыва: часть его энергии учтена во время разрыва и оценена по зоне по умолчанию плана, которую журнал не показывает (см. Когда часов или связи не было). Или у периода вообще нет строки в журнале: он записан до установки часов, и его оценила зона по умолчанию.

Период стоит меньше нуля

  • Рыночная цена была отрицательной, и ваш договор передаёт это дальше, поэтому хаб записал отрицательный расход. Если ваш договор этого не делает, задайте минимальную цену покупки.

Мои почасовые итоги отличаются от итогов поставщика на небольшую, постоянную величину

  • Если ваш договор считается почасово, а хаб оценивает по 15-минутным периодам, каждый час будет слегка расходиться в обе стороны. Опция Считать по среднему за час вместо этого выставляет счёт каждому периоду по среднему за час.

Месяц не совпадает со счётом

  • Фиксированные ежемесячные платежи не входят ни в одну цифру RBgrid (см. Формула).
  • Месяцы — календарные по часовому поясу самого хаба.
  • Доход от экспорта здесь не вычитается из расхода; ваш поставщик может зачитывать их друг против друга.
  • Неучтённые линии не входят в расход какой-либо точки. Сравнивайте счёт с точкой ввода, а не с суммой линий.

Цифры изменились после перезапуска

  • День, пересобранный из своих часов, в Истории помечается «пересчитано»; значение — это сумма сохранившихся записей, и хаб говорит об этом, а не сглаживает.

Что дальше

  • Тарифы — постройте план: зоны, платежи, НДС, цены продажи.
  • Откуда берётся ваша цена — поставщик, запасной вариант, ваш план как резерв и запись о том, какая цена оценила каждый период.
  • Экономика — расход, доход от экспорта, чистые показатели и баланс ввода и линий.
  • История — сами записи и столбец качества, который объясняет отмеченный период.