mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-27 06:32:19 +03:00
83 lines
2.7 KiB
C++
83 lines
2.7 KiB
C++
#pragma once
|
||
|
||
#define SLAVE true
|
||
#define TIMEOUT_TRESHOLD 5
|
||
|
||
namespace _Boiler_v2
|
||
{
|
||
// команды/установки от термостата
|
||
struct SetpointBoiler
|
||
{
|
||
bool cmd_chEnable = 0;
|
||
bool cmd_dhwEnable = 0;
|
||
float TSetCH = 0;
|
||
float TSetDhw = 0;
|
||
} set;
|
||
|
||
struct failCode
|
||
{
|
||
bool service_required = 0;
|
||
bool lockout_reset = 0;
|
||
bool low_water_pressure = 0;
|
||
bool gas_fault = 0;
|
||
bool air_fault = 0;
|
||
bool water_overtemp = 0;
|
||
int fault_code = 0;
|
||
};
|
||
|
||
// текущее реальное состояние котла
|
||
struct StateBoiler
|
||
{
|
||
bool antiFreezOn = false;
|
||
bool stateCH = 0;
|
||
bool stateDHW = 0;
|
||
bool fl_flame = 0;
|
||
int currentRele = 0;
|
||
bool fl_fail = 0;
|
||
failCode fCode;
|
||
float RelModLevel = 0;
|
||
float Tboiler = -40;
|
||
float Tret = 0;
|
||
float Tdhw = 0;
|
||
float Toutside = 0;
|
||
// bool r[3] = {0, 0, 0};
|
||
int numStepOn;
|
||
} state;
|
||
|
||
// конфигурация котла
|
||
struct ConfigBoiler
|
||
{
|
||
bool autoPower = true; // если false то управление только из сценария или веба
|
||
int antiFreez;
|
||
// bool pump = false; // 1- наличие реле насоса СО, 0 - мы не управляем насосом СО (в протоколе ОТ нет)
|
||
bool changeRele = false;
|
||
bool dhw = false; // 1- есть поддержка ГВС, по наличию реле(трехходовой)
|
||
bool ctrlType = false; // 0 - модуляция, 1- вкл/выкл
|
||
bool confDhw = false; // 1 - бак, 0 - проточная //TODO ПОКА НЕ ЗНАЮ ЧТО ДЕЛАТЬ
|
||
bool pumpControlMaster = false; // в протоколе ОТ: мастер управляет насосом ????????????????????? //TODO Команды кправления насосом от мастера не помню
|
||
|
||
int minDhw;
|
||
int maxDhw;
|
||
int minCH;
|
||
int maxCH;
|
||
|
||
int gistDhw;
|
||
int gistCH;
|
||
|
||
int countRele = 0;
|
||
// int relePwr[3]={0,0,0};
|
||
int prcOnekWt = 0; // процент одного киловата из общей мощности всех тэнев, расчитывается для модуляции
|
||
// int rele2Pwr = 0;
|
||
// int rele3Pwr = 0;
|
||
int numStepDhw;
|
||
float maxKW;
|
||
} conf;
|
||
|
||
unsigned long timeout_count = 0;
|
||
|
||
bool _debug = 0;
|
||
bool _telegram = false;
|
||
unsigned long ot_response = 0;
|
||
int SlaveMemberIDcode = 0;
|
||
}
|