// heat control
bool heatcontrol_in_sw_disableControl_heating;
bool heatcontrol_in_sw_disableControl_pump;
bool heatcontrol_in_heat_request;
bool heatcontrol_in_heat_active;

unsigned long heatcontrol_testmode_startMillis = 0;
bool heatcontrol_state_testmode_started = false;
bool heatcontrol_state_testmode_active = false;

bool heatcontrol_out_stat_testmode = false;
bool heatcontrol_out_stat_locked = false;

bool heatcontrol_out_heat = false;
bool heatcontrol_out_pump = false;

unsigned long heatcontrol_pump_lastRunMillis = 0;
bool heatcontrol_pump_inForceRunMode = false;

unsigned long heatcontrol_pumpBacklash_startMillis = 0;
bool heatcontrol_state_pumpBacklash_active = false;

unsigned long heatcontrol_lockTime_startMillis = 0;
unsigned long heatcontrol_lockTime_totalMillis = 0;

bool heatcontrol_lastState_lockActive;

bool heatcontrol_skipLocktimeOnce = false;

uint8_t heatcontrol_currentHeatCurveValue;
uint8_t heatcontrol_currentHeatLockTime;
