diff --git a/Arduino/BTCDieselHeater/BTCDieselHeater.ino b/Arduino/BTCDieselHeater/BTCDieselHeater.ino index cac3b63..7c0d92b 100644 --- a/Arduino/BTCDieselHeater/BTCDieselHeater.ino +++ b/Arduino/BTCDieselHeater/BTCDieselHeater.ino @@ -374,6 +374,8 @@ void setup() { NVstore.init(); NVstore.load(); initMQTTJSONmoderator(); // prevent JSON for MQTT unless requested + initTimerJSONmoderator(); // prevent JSON for timers unless requested + KeyPad.begin(keyLeft_pin, keyRight_pin, keyCentre_pin, keyUp_pin, keyDown_pin); KeyPad.setCallback(parentKeyHandler); diff --git a/Arduino/BTCDieselHeater/src/Utility/BTC_JSON.cpp b/Arduino/BTCDieselHeater/src/Utility/BTC_JSON.cpp index 652c9f0..dc6fb0e 100644 --- a/Arduino/BTCDieselHeater/src/Utility/BTC_JSON.cpp +++ b/Arduino/BTCDieselHeater/src/Utility/BTC_JSON.cpp @@ -149,6 +149,13 @@ void interpretJsonCommand(char* pLine) } else if(strcmp("TimerRefresh", it->key) == 0) { TimerModerator.reset(); + } + else if(strcmp("TQuery", it->key) == 0) { + int timerID = it->value.as(); + if(timerID) + TimerModerator.reset(timerID-1); + else + TimerModerator.reset(); } else if(strcmp("FanSensor", it->key) == 0) { setFanSensor(it->value.as()); @@ -388,7 +395,8 @@ void updateJSONclients(bool report) void resetJSONmoderator() { JSONmoderator.reset(); - TimerModerator.reset(); + initTimerJSONmoderator(); + initMQTTJSONmoderator(); } void initMQTTJSONmoderator() @@ -397,4 +405,10 @@ void initMQTTJSONmoderator() makeJSONStringMQTT(MQTTmoderator, jsonStr, sizeof(jsonStr)); } +void initTimerJSONmoderator() +{ + char jsonStr[800]; + for(int tmr=0; tmr<14; tmr++) + makeJSONTimerString(tmr, jsonStr, sizeof(jsonStr)); +} diff --git a/Arduino/BTCDieselHeater/src/Utility/BTC_JSON.h b/Arduino/BTCDieselHeater/src/Utility/BTC_JSON.h index 851ce77..da975c6 100644 --- a/Arduino/BTCDieselHeater/src/Utility/BTC_JSON.h +++ b/Arduino/BTCDieselHeater/src/Utility/BTC_JSON.h @@ -33,6 +33,7 @@ bool makeJSONTimerString(int channel, char* opStr, int len); void updateJSONclients(bool report); bool makeJSONStringMQTT(CModerator& moderator, char* opStr, int len); void initMQTTJSONmoderator(); +void initTimerJSONmoderator(); template const char* createJSON(const char* name, T value) diff --git a/Arduino/BTCDieselHeater/src/WiFi/BTCWebServer.cpp b/Arduino/BTCDieselHeater/src/WiFi/BTCWebServer.cpp index 786d477..62955a6 100644 --- a/Arduino/BTCDieselHeater/src/WiFi/BTCWebServer.cpp +++ b/Arduino/BTCDieselHeater/src/WiFi/BTCWebServer.cpp @@ -20,7 +20,7 @@ * */ -//#define USE_EMBEDDED_WEBUPDATECODE +#define USE_EMBEDDED_WEBUPDATECODE #include "BTCWebServer.h" #include "../Utility/DebugPort.h" @@ -150,7 +150,7 @@ const char* updateIndex = R"=====( } function init() { ws = new WebSocket('ws://' + window.location.hostname + ':81/'); - + ws.onmessage = function(event){ var response = JSON.parse(event.data); var key; @@ -175,7 +175,7 @@ const char* updateIndex = R"=====( var JSONmsg = {}; JSONmsg['UploadSize'] = sendSize; - var str = JSON.stringify(obj); + var str = JSON.stringify(JSONmsg); console.log("JSON Tx:", str); ws.send(str); diff --git a/Bootload/AfterBurner.bin b/Bootload/AfterBurner.bin index 97583a9..6525cbe 100644 Binary files a/Bootload/AfterBurner.bin and b/Bootload/AfterBurner.bin differ diff --git a/Bootload/bootload.zip b/Bootload/bootload.zip index f87640e..f870f3a 100644 Binary files a/Bootload/bootload.zip and b/Bootload/bootload.zip differ