From 37fe454278b6ce7a73b38134b7f0f5d173708ec7 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 8 Mar 2020 21:49:09 +0100 Subject: [PATCH] use DHW temp instead of boiler temp, removed return temp - #345 --- src/custom.htm | 4 +--- src/custom.js | 1 - src/ems-esp.cpp | 22 ++++++++++++---------- src/ems.cpp | 10 +++++++--- src/ems.h | 2 ++ src/version.h | 2 +- tools/wsemulator/wserver.js | 3 +-- 7 files changed, 24 insertions(+), 20 deletions(-) diff --git a/src/custom.htm b/src/custom.htm index 931ac7948..ebf09f08d 100644 --- a/src/custom.htm +++ b/src/custom.htm @@ -192,10 +192,8 @@ - Boiler Temperature: + DHW Temperature: - Return Temperature: - diff --git a/src/custom.js b/src/custom.js index f5dd6f8ac..41535fffb 100644 --- a/src/custom.js +++ b/src/custom.js @@ -122,7 +122,6 @@ function listCustomStats() { document.getElementById("b3").innerHTML = ajaxobj.boiler.b3 + " ℃"; document.getElementById("b4").innerHTML = ajaxobj.boiler.b4 + " ℃"; document.getElementById("b5").innerHTML = ajaxobj.boiler.b5 + " ℃"; - document.getElementById("b6").innerHTML = ajaxobj.boiler.b6 + " ℃"; } else { document.getElementById("boiler_show").style.display = "none"; } diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 0f8355f2b..51716c59d 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -322,7 +322,11 @@ void showInfo() { _renderBoolValue("Warm Water circulation active", EMS_Boiler.wWCirc); // UBAMonitorWWMessage + _renderIntValue("Warm Water set temperature", "C", EMS_Boiler.wWSetTmp); _renderUShortValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); + _renderUShortValue("Warm water temperature (intern)", "C", EMS_Boiler.wwStorageTemp1); + _renderUShortValue("Warm water temperature (extern)", "C", EMS_Boiler.wwStorageTemp2); + _renderUShortValue("Warm Water current temperature (extern)", "C", EMS_Boiler.wWCurTmp2); _renderIntValue("Warm Water current tap water flow", "l/min", EMS_Boiler.wWCurFlow, 10); _renderLongValue("Warm Water # starts", "times", EMS_Boiler.wWStarts); if (EMS_Boiler.wWWorkM != EMS_VALUE_LONG_NOTSET) { @@ -336,6 +340,7 @@ void showInfo() { // UBAMonitorFast _renderIntValue("Selected flow temperature", "C", EMS_Boiler.selFlowTemp); _renderUShortValue("Current flow temperature", "C", EMS_Boiler.curFlowTemp); + _renderUShortValue("Max boiler temperature", "C", EMS_Boiler.boilTemp); _renderUShortValue("Return temperature", "C", EMS_Boiler.retTemp); _renderBoolValue("Gas", EMS_Boiler.burnGas); _renderBoolValue("Boiler pump", EMS_Boiler.heatPmp); @@ -361,9 +366,6 @@ void showInfo() { if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) { _renderShortValue("Outside temperature", "C", EMS_Boiler.extTemp); } - _renderUShortValue("Boiler temperature", "C", EMS_Boiler.boilTemp); - _renderUShortValue("Warm water storage temperature1", "C", EMS_Boiler.wwStorageTemp1); - _renderUShortValue("Warm water storage temperature2", "C", EMS_Boiler.wwStorageTemp2); _renderUShortValue("Exhaust temperature", "C", EMS_Boiler.exhaustTemp); _renderIntValue("Pump modulation", "%", EMS_Boiler.pumpMod); @@ -2191,17 +2193,17 @@ void WebCallback(JsonObject root) { boiler["b1"] = (EMS_Boiler.tapwaterActive ? "running" : "off"); boiler["b2"] = (EMS_Boiler.heatingActive ? "active" : "off"); - if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET) + if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET) { boiler["b3"] = EMS_Boiler.selFlowTemp; + } - if (EMS_Boiler.curFlowTemp != EMS_VALUE_INT_NOTSET) + if (EMS_Boiler.curFlowTemp != EMS_VALUE_INT_NOTSET) { boiler["b4"] = EMS_Boiler.curFlowTemp / 10; + } - if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) - boiler["b5"] = (float)EMS_Boiler.boilTemp / 10; - - if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) - boiler["b6"] = (float)EMS_Boiler.retTemp / 10; + if (EMS_Boiler.wWCurTmp < EMS_VALUE_USHORT_NOTSET) { + boiler["b5"] = (float)EMS_Boiler.wWCurTmp / 10; + } } else { boiler["ok"] = false; diff --git a/src/ems.cpp b/src/ems.cpp index 769ce4ca6..668cee7a0 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -180,7 +180,9 @@ void ems_init() { EMS_Boiler.switchTemp = EMS_VALUE_USHORT_NOTSET; // UBAMonitorWWMessage + EMS_Boiler.wWSetTmp = EMS_VALUE_INT_NOTSET; // Warm Water set temperature EMS_Boiler.wWCurTmp = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature + EMS_Boiler.wWCurTmp2 = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature storage EMS_Boiler.wWStarts = EMS_VALUE_LONG_NOTSET; // Warm Water # starts EMS_Boiler.wWWorkM = EMS_VALUE_LONG_NOTSET; // Warm Water # minutes EMS_Boiler.wWOneTime = EMS_VALUE_INT_NOTSET; // Warm Water one time function on/off @@ -989,15 +991,17 @@ void _process_UBAParametersMessage(_EMS_RxTelegram * EMS_RxTelegram) { * received every 10 seconds */ void _process_UBAMonitorWWMessage(_EMS_RxTelegram * EMS_RxTelegram) { + _setValue(EMS_RxTelegram, &EMS_Boiler.wWSetTmp, 0); _setValue(EMS_RxTelegram, &EMS_Boiler.wWCurTmp, 1); - _setValue(EMS_RxTelegram, &EMS_Boiler.wWStarts, 13); + _setValue(EMS_RxTelegram, &EMS_Boiler.wWCurTmp2, 3); + _setValue(EMS_RxTelegram, &EMS_Boiler.wWCurFlow, 9); _setValue(EMS_RxTelegram, &EMS_Boiler.wWWorkM, 10); + _setValue(EMS_RxTelegram, &EMS_Boiler.wWStarts, 13); _setValue(EMS_RxTelegram, &EMS_Boiler.wWOneTime, 5, 1); _setValue(EMS_RxTelegram, &EMS_Boiler.wWDesinfecting, 5, 2); _setValue(EMS_RxTelegram, &EMS_Boiler.wWReadiness, 5, 3); _setValue(EMS_RxTelegram, &EMS_Boiler.wWRecharging, 5, 4); _setValue(EMS_RxTelegram, &EMS_Boiler.wWTemperatureOK, 5, 5); - _setValue(EMS_RxTelegram, &EMS_Boiler.wWCurFlow, 9); } /** @@ -2608,7 +2612,7 @@ void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc_num) { set_mode_value = 2; // auto break; } - + // now override the mode value setting depending on the thermostat type // handle the different mode values to send per thermostat type uint8_t model = ems_getThermostatFlags(); diff --git a/src/ems.h b/src/ems.h index 0425282c5..5e0eaecbd 100644 --- a/src/ems.h +++ b/src/ems.h @@ -316,7 +316,9 @@ typedef struct { uint16_t switchTemp; // Switch temperature // UBAMonitorWWMessage + uint8_t wWSetTmp; // set temp WW (DHW) uint16_t wWCurTmp; // Warm Water current temperature + uint16_t wWCurTmp2; // Warm Water current temperature storage uint32_t wWStarts; // Warm Water # starts uint32_t wWWorkM; // Warm Water # minutes uint8_t wWOneTime; // Warm Water one time function on/off diff --git a/src/version.h b/src/version.h index f493957a8..6b52394fa 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b52" +#define APP_VERSION "1.9.5b53" diff --git a/tools/wsemulator/wserver.js b/tools/wsemulator/wserver.js index 7b4e129eb..6ffc71f07 100644 --- a/tools/wsemulator/wserver.js +++ b/tools/wsemulator/wserver.js @@ -161,8 +161,7 @@ function sendCustomStatus() { "b2": "off", "b3": 0, "b4": 53, - "b5": 54.4, - "b6": 53.3 + "b5": 54.4 }, "sm": {