Forces E-07 in JSON ErrorState and ErrorStateStr messages now when no heater data detected upon blue wire

V9 protocol document - ALTITUDE decoded!
This commit is contained in:
rljonesau 2018-12-21 09:22:29 +11:00
parent 9caf3cc097
commit 887c19c50a
4 changed files with 33 additions and 9 deletions

View File

@ -928,11 +928,28 @@ void checkDebugCommands()
}
}
const char* getControllerStat()
// 0x00 - Normal: BTC, with heater responding
// 0x01 - Error: BTC, heater not responding
// 0x02 - Special: OEM controller & heater responding
// 0x03 - Error: OEM controller, heater not responding
int getBlueWireStat()
{
if(bHasHtrData) {
int stat = 0;
if(!bHasHtrData) {
stat |= 0x01;
}
if(bHasOEMController) {
stat |= 0x02;
}
return stat;
}
const char* getBlueWireStatStr()
{
const char* BlueWireStates[] = { "BTC,Htr", "BTC", "OEM,Htr", "OEM" };
return BlueWireStates[getBlueWireStat()];
/* if(bHasHtrData) {
if(bHasOEMController)
return "OEM,Htr";
else
@ -943,7 +960,7 @@ const char* getControllerStat()
return "OEM";
else
return "BTC";
}
}*/
}
bool hasOEMcontroller()

View File

@ -45,8 +45,9 @@ extern const CProtocolPackage& getHeaterInfo();
extern void interpretJsonCommand(char* pLine);
extern void resetWebModerator();
extern void resetJSONmoderator();
extern const char* getControllerStat();
extern const char* getBlueWireStatStr();
extern bool hasOEMcontroller();
extern int getBlueWireStat();
#define LOWERLIMIT(A, B) if(A < B) A = B
#define UPPERLIMIT(A, B) if(A > B) A = B

View File

@ -145,8 +145,14 @@ bool makeJsonString(CModerator& moderator, char* opStr, int len)
bSend |= moderator.addJson("TempBody", getHeaterInfo().getTemperature_HeatExchg(), root);
bSend |= moderator.addJson("RunState", getHeaterInfo().getRunState(), root);
bSend |= moderator.addJson("RunString", getHeaterInfo().getRunStateStr(), root); // verbose it up!
bSend |= moderator.addJson("ErrorState", getHeaterInfo().getErrState(), root );
bSend |= moderator.addJson("ErrorString", getHeaterInfo().getErrStateStrEx(), root); // verbose it up!
if(getBlueWireStat() & 0x01) {
bSend |= moderator.addJson("ErrorState", 8, root ); // force E-07
bSend |= moderator.addJson("ErrorString", "E-07: No heater data", root);
}
else {
bSend |= moderator.addJson("ErrorState", getHeaterInfo().getErrState(), root );
bSend |= moderator.addJson("ErrorString", getHeaterInfo().getErrStateStrEx(), root); // verbose it up!
}
bSend |= moderator.addJson("Thermostat", getHeaterInfo().isThermostat(), root );
bSend |= moderator.addJson("PumpFixed", getHeaterInfo().getPump_Fixed(), root );
bSend |= moderator.addJson("PumpMin", getHeaterInfo().getPump_Min(), root );
@ -167,7 +173,7 @@ bool makeJsonString(CModerator& moderator, char* opStr, int len)
bSend |= moderator.addJson("Timer2Stop", getTimerStr(1, 1), root );
bSend |= moderator.addJson("Timer2Days", getTimerStr(1, 2), root );
bSend |= moderator.addJson("Timer2Repeat", getTimerStr(1, 3), root );
bSend |= moderator.addJson("BluewireStat", getControllerStat(), root );
bSend |= moderator.addJson("BluewireStat", getBlueWireStatStr(), root );
if(bSend) {
root.printTo(opStr, len);