Модуль для автоматизации электрического котла.
(Описание модуля SmartBoiler/modinfo.json)

0 TODO Сделать чтобы при связи моих модулей промежуточные итемы можно было не создавать,
	но если их создать там отобразятся актуальные значения

1 Управления котлом с 1-3 тэнами
1.1 указывается количество тэнов от 1 до 3х
1.2 задается мощность каждого тэна, должна быть по возрастающей
1.3 задание гистерезиса включения тэнов (ограничиваем в том числе и с ПИД)
1.4 задание минимальной и максимальной температуры теплоносителя (минимальную автоматически не поддерживает пока, просто проверяет вхождение в диапазон)
1.5 задание минимальной и максимальной температуры ГВС (минимальную автоматически не поддерживает пока, просто проверяет вхождение в диапазон)
1.6 реализация тремя отдельными элементами: 
	BoilerControl - Основная логика котла, по сути раздутый термостат 
	DHWControl - Логика управления нагрева ГВС
	OpenThermSlave - Обеспечения протоокла взаимодействи OpenTherm
1.7 Смена тэна периодически (по флагу из конфигурации)
1.8 Если отвалились датчика, котел не включится
1.9 TODO режим антизамерзания
1.998 TODO поддержание минимальной температуры СО и ГВС


2 Поддержание температуры теплоносителя
2.1 Теплоноситель нагреется до заданной целевой и поддерживает её по гистерезису (если упала на гист. то включит нагрев)
2.2 ПИД расчитывает только количество тэнов для включения (0-30% = первый тэн, 30-60% = 1 и 2 тэны, 60-100% все тэны)
2.3 в зависимости от включенных тэнов и их мощности показывается процент модуляции.
2.4 Если не добавлен модуль ПИД, то включает все тэны
2.5 Если указан всего один тэн, то модуль ПИД не нужно создавать
2.998 TODO возможно использовать ПИД для периодического включения одного тэна
2.999 TODO сделать больше ступеней включения с различными комбинациями тэнов

3 Управление из IoTManager
3.1 Возможность управления по комнатному термостату в том числе с другой ESP
3.2 Управление модулем из сценария
3.3 есть проверка ошибок датчиков (если отвалились датчика, котел не включится)
3.4 Отправка состояния в телеграмм
3.998 TODO Автоматическая отправка состояния в модули для отображения (имена модулей в логах "new")
3.999 другой функционал IoTManager ...

4 Возможность управления циркуляционным насосом
4.1 насос включается всегда, если включено хотя бы один из тэнов
4.2 если включено по ГВС, насос отключается сразу как ГВС нагрелся до целевой
4.3 если включено по СО, насос отключается когда теплоноситель остынет до минимальной температуры СО
4.999 TODO Сделать управление выбегом насоса
 
5 Возможность управления ГВС при наличии 3-х ходового крана с БКН (бойлер косвенного нагрева)
5.1 ГВС работает только при указании реле 3-х ходового крана (а иначе как?)
5.2 ГВС имеет приоритет над СО
5.3 при нагреве ГВС котел включается на полную мощность (все тэны)
5.4 ГВС нагреет до заданной целевой и поддерживает её по гистерезису (если упала на гист. то включит ГВС)
5.5 Температура подачи котла при этом не должны превысить минимальную температуру СО (что бы не перегревал тенплоноситель, пока греется БКН)
 
6 Возможность управления по OpenTherm
6.1 в схему платы управления необходимо добавить часть OpenThermSlave и 24В
6.2 возможность управления любым OpenTherm адаптером/термостатом
6.3 задание целевой температуры теплоносителя 
6.4 задание целевой температуры ГВС
6.5 команды включения СО и ГВС
6.6 отправка статуса Управляющему устройству OpenTherm
6.999 TODO Явного приоритета OpenTherm над другим управлением нет, а надо сделать. Сделать настройку "OpenTherm главне сценария" (сейчас команды выполняются ото всех по мере поступления)

7. Название модулей в которые автоматически отправится информации при их наличии (простто добавить в конфигурацию с указанным именем)
	controlType - Тип управления тэнами: 0 - модуляция, 1- вкл/выкл
	CHEnable - Состояние включения СО (не нагрев, а включение режима) 0 - выкл, 1- вкл
	isFlame - Состояние нагрева/горелки (включенных тэнов)  0 - выкл, 1- вкл
	RelModLevel - Уровень модуляции, в процентах в зависимости мощности включенных тэнов от их общего количества
	TDHWSet - Установленная в котле целевая температура ГВС (из Сценария или OpenTherm)
	TCHSet - Установленная в котле целевая температура СО (из Сценария или OpenTherm)
	DHWEnable Состояние включения ГВС (не нагрев, а включение режима) 0 - выкл, 1- вкл
	boilerslave - Состояние подключения к Управляющему устройству OpenTherm, значком ❌ ✅
	status - Состояние подключения к Управляющему устройству OpenTherm, строкой: "не подключен" / "подключен"
