Електрическият бойлер е най-лесният уред в българския дом, който може да се премести на нощна тарифа: той пази топлината, а никой не се интересува кога работи. Повечето хора го правят с механичен таймер, нагласен на 22:00 или 23:00. Таймерът е прав за част от годината и сгрешен за останалата, защото нощната зона се мести с един час два пъти годишно, а таймерът или изобщо не се мести, или се мести в друг ден. Умен контакт или автоматизация в Home Assistant, копирана от форум, обикновено повтаря същата грешка. Тук показваме кога наистина започва нощната зона, как да я изчислите с код, колко загряване трябва на един бойлер и как да направите управление, което спазва евтините часове дори когато Wi-Fi мрежата не работи. Примерът на Python е пуснат на Python 3.12, точно както е отпечатан.
#Кога започва нощната зона
Битовите електромери с две скали имат две зони в денонощието. Страницата на „Енерго-Про“ за битови клиенти ги публикува по месеци: от ноември до март нощната зона е от 22:00 до 06:00 ч., а от април до октомври от 23:00 до 07:00 ч. Значи смяната е на 1 април и 1 ноември, а не в нощите, в които се сменя часовото време в края на март и октомври. Другите дружества може да го формулират различно, а за вашия електромер меродавни са фактурата и страницата на вашето дружество; проверете ги, преди да настроите каквото и да е.
Разликата в цената си струва усилието. По регулираните цени за битови клиенти от 1 юли 2026 г. нощният киловатчас заедно с мрежовите услуги струва около 60 % от дневния и при „Енерго-Про“, и при EVN, със и без ДДС.
Три начина, по които простият график се обърква:
- Таймер, фиксиран от 22:00 до 06:00, грее в дневната зона от 22:00 до 23:00 цели седем месеца и пропуска евтиния час от 06:00 до 07:00.
- Таймер или автоматизация, които следват смяната на часовото време, превключват в последната неделя на март и на октомври, няколко дни преди таблицата, и между двете дати греят на дневна цена.
- Автоматизация в Home Assistant работи само докато работи Home Assistant. Рестарт в 22:59 или прекъсната Wi-Fi връзка означава студен душ сутринта.
#Изчисляване на зоната
Правилото се побира в няколко реда. Примерът по-долу изчислява нощния интервал за даден ден по месеците или по смяната на часовото време, изброява дните от 2026 г., в които двата начина се разминават, проверява една вечер и пресмята колко време трябва на един бойлер, за да загрее:
from datetime import date, datetime, time, timedelta
from zoneinfo import ZoneInfo
SOFIA = ZoneInfo("Europe/Sofia")
def night_window(day: date, by: str = "months") -> tuple[time, time]:
"""The night zone for a day: 22:00-06:00 in winter, 23:00-07:00 in summer.
by="months": summer from 1 April to 31 October, as a distributor's table by month.
by="clock": summer while the clocks are on summer time.
"""
if by == "months":
summer = 4 <= day.month <= 10
else:
summer = bool(datetime.combine(day, time(12), SOFIA).dst())
return (time(23), time(7)) if summer else (time(22), time(6))
def is_night(moment: datetime, by: str = "months") -> bool:
local = moment.astimezone(SOFIA)
start, end = night_window(local.date(), by)
t = local.time()
if t >= start:
return True
# before the end of the night that started the evening before
_, yesterday_end = night_window(local.date() - timedelta(days=1), by)
return t < yesterday_end
def heating_hours(litres: float, cold_c: float, target_c: float, heater_kw: float) -> tuple[float, float]:
kwh = litres * 4.186 * (target_c - cold_c) / 3600 # water: 4.186 kJ per kg and degree
return round(kwh, 2), round(kwh / heater_kw, 2)
day = date(2026, 1, 1)
while day.year == 2026:
if night_window(day, "months") != night_window(day, "clock"):
print(day, "months:", night_window(day, "months")[0], "clock:", night_window(day, "clock")[0])
day += timedelta(days=1)
print(is_night(datetime(2026, 10, 27, 22, 30, tzinfo=SOFIA))) # a distributor's table
print(is_night(datetime(2026, 10, 27, 22, 30, tzinfo=SOFIA), "clock")) # the clock change
print(heating_hours(80, 15, 60, 2.0))
През 2026 г. двата графика се разминават в десет дни: от 29 до 31 март, когато часовниците вече са на лятно време, а таблицата още казва 22:00, и от 25 до 31 октомври, когато часовниците са върнати на зимно време, а таблицата още казва 23:00. В 22:30 ч. на 27 октомври таблицата казва дневна, а часовникът нощна; бойлер, който следва часовника, плаща дневна цена за този половин час всяка вечер от седмицата. Часовете се изчисляват в Europe/Sofia със zoneinfo, затова кодът дава верния отговор и на сървър, който работи в UTC.
#Колко време трябва на бойлера
Загряването на вода иска около 4,186 kJ на литър и градус. Бойлер от 80 литра, загрят от 15 °C до 60 °C, има нужда от 4,19 kWh, които нагревател от 2 kW дава за 2,09 часа, така че осемте часа на нощната зона стигат за пълен бойлер и оставят място за загубите през деня. По-голям бойлер или по-студена вода през зимата пак се побират; бойлер, който не стига целта си за една нощ, обикновено има отслабнал нагревател или твърде ниско нагласен термостат.
Не пестете от температурата. Справката на СЗО за легионелозата казва, че бактериите растат във вода между 20 и 50 °C и че за да остане топлата вода над 50 °C, водата, която излиза от нагревателя, трябва да е поне 60 °C. Загрявайте до 60 °C през нощта и оставете собствения термостат на бойлера като резервна защита.
#Управление, което спазва нощта
Надеждната конструкция разделя работата на две. Home Assistant знае тарифата, цените и календара, затова публикува един сензор „включено/изключено“ за нощната зона. Малък контролер до бойлера, ESP32 с температурна сонда в гнездото на термостата и контактор, следва този сензор, докато го вижда, и пази собствен часовник със същото правило за времето, когато не го вижда. Грее само когато три неща са съгласни: зоната е нощна, водата е под точката на повторно включване и сондата дава смислено показание. Няколко правила, които си струва да копирате:
- Хистерезис. Загрявайте до целта и включвайте отново едва няколко градуса под нея, за да не трака контакторът около една температура.
- Безопасност при отказ. Липса на показание от сондата значи изключено, а твърда граница доста над целта значи изключено, каквото и да казва която и да е автоматизация.
- Ключ, оразмерен за нагревателя. Нагревател от 3 kW тегли около 13 A при 230 V; релеен модул на развойна платка управлява бобината на контактор, оразмерен за този товар, а никога самия нагревател. Мрежовото окабеляване е за затворена кутия и квалифицирани ръце.
- Бутон за бързо загряване. Идват гости, бойлерът е студен в 18:00: загряване за определено време, което само се връща към нощния график, е по-добро от режим, който някой забравя да превключи обратно.
#Два продукта, които правят това заедно
Направихме Tokomer, интеграция за Home Assistant за българските дневна и нощна тарифа. Тя показва зоната в сила, сензор „включено/изключено“ за нощна тарифа, цената на киловатчас в момента за таблото „Енергия“ и часа на следващата смяна, разделя енергията от електромер на дневни и нощни kWh със сумата и има действие, което намира най-евтиния старт за работа с дадена продължителност. Цените въвеждате от фактурата си; нищо не се тегли от сайтовете на дружествата. По подразбиране сезонът ѝ следва зоните по месеци със смяна на 1 април и 1 ноември, както ги публикува „Енерго-Про“, а вариантът „С преминаването към лятно часово време“ е за електромер, който следва часовника. Тестовете ѝ са пуснати в истинско ядро на Home Assistant 2026.10.0.
За самия бойлер направихме Wirefold, набор от пакети за ESPHome, чийто пакет за бойлер прави описаното в предишния раздел: следва сензора за нощна тарифа на Home Assistant, докато има връзка, а иначе собствения си часовник, с режими „Само нощем“, „Винаги“, „Бързо загряване“ и „Изключен“, хистерезис, защитно изключване при 80 °C и приблизителен сензор за енергия. Собственият му часовник по подразбиране ползва същите зони по месеци, с настройка за електромери, които следват смяната на часовото време, така че в дните през март и октомври, в които двете правила се разминават, той спазва нощната зона и без връзка с Home Assistant. Всяко примерно устройство минава валидация с ESPHome 2026.9.1, а логиката на бойлера е компилирана за Linux и проверена с тестове; фърмуер не е качван на истинска платка. И двата продукта са обявени като „Очаквайте скоро“.
#Често задавани въпроси
Кога започва нощната тарифа в България?
„Енерго-Про“ публикува от 22:00 до 06:00 ч. от ноември до март и от 23:00 до 07:00 ч. от април до октомври. Проверете страницата на вашето дружество или фактурата си, защото електромерът ви следва тях.
Защо бойлерът ми на таймер грее на дневна цена?
Защото нощната зона се мести с един час два пъти годишно. Таймер, нагласен веднъж, греши с месеци; таймер, който следва смяната на часовото време, греши по няколко дни всяка пролет и есен.
Колко време трябва на бойлера да загрее през нощта?
Около 4,19 kWh за 80 литра от 15 до 60 °C, малко над два часа при 2 kW. Осемте часа на нощната зона стигат за пълен бойлер.
Безопасно ли е да държа водата по-хладна, за да пестя?
Не под 60 °C на изхода на бойлера. СЗО посочва, че легионелата расте между 20 и 50 °C, и препоръчва водата, която излиза от нагревателя, да е поне 60 °C.
Коментари
Коментари
Напишете първия коментар.
Оставете коментар