Экспорт по динамической цене: когда продажа — отдельный ценовой ряд, а когда формула

  • Проверено на прошивке v1.2.1
  • Средний уровень

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

Хаб считает их раздельно, потому что это разные вещи. Ниже — как он это делает и что вы увидите в дни, когда обе цены расходятся с вашими ожиданиями.

Экспорт всегда оценивается отдельно

Нет режима, в котором вашу отдачу оценивают по цене покупки. Даже если поставщик выдаёт одно число, цена продажи (sell price) читается из собственного поля.

Это число задаёт один из трёх способов:

Режим Цена продажи — это
От поставщика (по умолчанию) цена отдачи, которую публикует источник цены, выбранный вами для вашей зоны (откуда она берётся), если он её публикует; иначе — ставка продажи вашего тарифного плана по зоне
По тарифному плану ставка продажи вашего тарифного плана по зоне, что бы ни делал рынок
Биржевая цена × множитель − плата биржевая цена за период, умноженная на ваш множитель отдачи, за вычетом платы за отдачу

Третий способ — тот, что описывают большинство динамических договоров на отдачу: вам платят биржевую цену (market price), слегка масштабированную, с вычетом платы за обработку.

И цена продажи, и плата за отдачу задаются за кВт·ч, в основной единице вашей валюты — плата 2.5 цента вводится как 0.025, а не 2.5. Множитель лежит в диапазоне от 0 до 10, где 1 означает биржевую цену как есть. Плата лежит в диапазоне от −100 до 100, и её знак имеет значение: положительная вычитается (поставщик берёт плату за принятие энергии), отрицательная прибавляется (договор, который платит выше рынка). Порядок такой: сначала множитель, затем плата и, если вы его задали, — минимальная цена. Минимальная цена применяется последней и во всех трёх режимах.

⚠️ Одна ловушка, и она попадает как раз на того читателя, для которого написан этот режим. Формула работает с ценой того источника, который покрыл период. Если ваш источник — биржевой (spot), это биржевая цена без сборов и НДС — то, что означает договор «биржа минус комиссия». Но если источник — всё включено (all-in), то есть розничная цена поставщика или цена, которую вы передаёте и объявляете как всё включено, — формула умножает розничную цену с НДС, и стоимость отданной энергии получается сильно завышенной. Экспортному договору, привязанному к бирже, нужен либо биржевой источник (подойдёт запасной биржевой), либо один из двух других режимов продажи. Какой у вас источник — это первое, что стоит проверить.

⚠️ Проверьте, что делает режим по умолчанию, прежде чем считать, что он делает то, что нужно. Большинство публичных источников цен публикует цену покупки и вообще не публикует цену продажи — значит, режим по умолчанию падает на ставку продажи вашего тарифного плана по зоне, число, которое вы, возможно, никогда не задавали сознательно. Откройте раздел «Применённые цены» и посмотрите, откуда взята цена продажи за период. Если там написано «план», а вы ожидали рынок, — вот та настройка, которую нужно поменять.

Отдача не облагается ни налогом, ни НДС на стороне продажи. Покупка включает сборы, налоги и НДС вашего договора; отдача — нет. Если цифра продажи выглядит низкой рядом с цифрой покупки, большая часть разницы — именно в этом. А нужно ли платить что-то ещё с дохода от отдачи — вопрос ваших налоговых правил, а не счётчика.

Когда рынок уходит в минус

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

Применяется ли это к вам, — вопрос о вашем договоре, а не о хабе: многие договоры вообще не передают отрицательные цены. Если ваш не передаёт, задайте минимальную цену — самую низкую цену продажи, ниже которой значение не опускается. Если ничего не трогать, там стоит «нет», и отрицательные цены проходят как есть. Минимальная цена применяется последней, после множителя и платы.

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

⚠️ Два разных вопроса, и полезно понимать, какой из них вы задаёте. Платит ли мой договор за отрицательные цены? — читайте условия договора и задайте минимальную цену в соответствии с ними. Попала ли моя отдача в отрицательные периоды? — читайте журнал цен. Он хранит 40 дней, по одной строке на каждый закрытый 15-минутный период, и цену, которая к нему была применена.

На стороне продажи нет окон — есть флаг

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

Вместо этого есть флаг: продажа низкая, если ниже заданного вами уровня. Он говорит о цене продажи прямо сейчас, без планирования и без гистерезиса. На объекте с генерацией важен именно этот флаг: это сигнал, что ваша собственная энергия стоит дороже, когда её используют сами, а не отдают.

Где читать этот флаг, зависит от вашего пути — так же, как со статусом окон: два пути различаются.

Что делать с этим сигналом, остаётся за вашей автоматикой. У хаба нет реле и нет настройки, которая что-то включает.

Доход от отдачи никогда не вычитается из затрат

Это правило, а не настройка, и динамическая цена его не меняет: импортированная энергия со своей стоимостью, экспортированная энергия со своим доходом — рядом. Ничего не взаимозачитывается.

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

Там, где взаимозачёт действительно происходит, он происходит в договоре, а не в счётчике. Что подводит нас к случаю, ради которого писалась эта статья.

Когда взаимозачёт заканчивается

В некоторых странах экспортированные кВт·ч разрешено было засчитывать против импортированных: один в минус, другой в плюс, и выставляется только баланс. В Нидерландах у этого механизма есть название, которое знают тамошние читатели, — salderingsregeling. Он заканчивается 1 января 2027 года на основании закона, принятого в декабре 2024 года (Wet beëindiging salderingsregeling).

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

Именно такой структура записи хаба и была всегда: структура записи не меняется, когда меняются правила. Цифры на стороне продажи вашего договора — цена и плата — изменятся, и их вводите вы. Вам не придётся разделять цифры, которые никогда не были объединены.

⚠️ Сверяйтесь с условиями своего договора, а не с общей датой. Правила взаимозачёта — национальные, переходные механизмы вокруг них — конкретные, а то, что вы реально получаете после их окончания, записано в условиях вашего поставщика.

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

Что остаётся в записи

  • По периоду: журнал цен хранит 40 дней в формате CSV, по одной строке на каждый закрытый 15-минутный период, с ценами покупки и продажи, которые были применены, и с указанием, откуда каждая взята: ваш источник, запасной, цена, переданная из Home Assistant, среднее за час или ваш тарифный план.
  • По точке: отданная энергия и её стоимость хранятся для каждой точки учёта, так что объект с несколькими источниками генерации можно разобрать по частям, а не видеть одну общую сумму.
  • По дням и часам: то же разбиение в истории самого хаба — из неё строятся цифры на странице Economics.

Чего это не делает

  • Оно вам ничего не платит. Хаб фиксирует то, что, по числам вашего договора, стоила отданная кВт·ч. Выписка вашего поставщика — авторитет в том, что вам реально платят.
  • Оно не взаимозачитывает отдачу против покупки — намеренно, как сказано выше.
  • Оно ничего не переключает. Ни когда цена уходит в минус, ни когда включается флаг продажи.
  • Оно не применяет налог или НДС к отдаче. Если в вашей выписке со стороны отдачи что-то добавлено, это записано в вашем договоре, а не в счётчике.

Местные термины

Слова, которые голландский читатель встретит в собственной выписке, и что каждое из них значит. Сколько каждое из них составляет и как это считается, — между вами и вашим поставщиком.

Понятие Где Термин Что это
Взаимозачёт Нидерланды salderingsregeling отданные кВт·ч засчитываются против купленных, так что на счёте оплачивается только разница
Плата за возврат в сеть Нидерланды terugleverkosten плата поставщика домохозяйствам, которые возвращают солнечную энергию в сеть; берётся ли она за кВт·ч или фиксированной суммой в месяц, решает поставщик, а регулятор следит за её разумностью
Динамический договор Нидерланды dynamisch energiecontract договор без даты окончания, цена за кВт·ч по которому следует за оптовым рынком

Где почитать подробнее