From 9c8d180c8e843c3872b40be4445582541cb7740c Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 6 Jan 2020 14:11:49 +0100 Subject: [PATCH 01/12] ignore .bin files from build script --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 559d0aabf..4c5ca7a42 100644 --- a/.gitignore +++ b/.gitignore @@ -18,3 +18,6 @@ node_modules # project specfic scripts/stackdmp.txt firmware + +# firmware +*.bin From 66b2595d4e3cd78d41d93f619dcdf0cb1b9e00ef Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 6 Jan 2020 14:12:04 +0100 Subject: [PATCH 02/12] added Sense II / Bosch CS200 --- src/ems_devices.h | 41 +++++++++++++++++++++-------------------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 486a7d813..1217b158f 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -12,10 +12,10 @@ #include "ems.h" // Fixed EMS Device IDs -#define EMS_ID_ME 0x0B // our device, hardcoded as the "Service Key" -#define EMS_ID_BOILER 0x08 // all UBA Boilers have 0x08 +#define EMS_ID_ME 0x0B // our device, hardcoded as the "Service Key" +#define EMS_ID_BOILER 0x08 // all UBA Boilers have 0x08 -#define EMS_ID_SM 0x30 // Solar Module SM10, SM100, SM200 and ISM1 +#define EMS_ID_SM 0x30 // Solar Module SM10, SM100, SM200 and ISM1 /* * Common Type @@ -237,22 +237,23 @@ static const _EMS_Device EMS_Devices[] = { // Other devices like controllers and modems // such as 0x11 for Switching, 0x09 for controllers, 0x02 for Connect, 0x48 for Gateway // - {71, EMS_DEVICE_TYPE_SWITCH, "WM10 Switch Module", EMS_DEVICE_FLAG_NONE}, // 0x11 - {68, EMS_DEVICE_TYPE_CONTROLLER, "BC10/RFM20 Receiver", EMS_DEVICE_FLAG_NONE}, // 0x09 - {218, EMS_DEVICE_TYPE_CONTROLLER, "Junkers M200/Buderus RFM200 Receiver", EMS_DEVICE_FLAG_NONE}, // 0x50 - {190, EMS_DEVICE_TYPE_CONTROLLER, "BC10 Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 - {114, EMS_DEVICE_TYPE_CONTROLLER, "BC10 Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 - {125, EMS_DEVICE_TYPE_CONTROLLER, "BC25 Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 - {169, EMS_DEVICE_TYPE_CONTROLLER, "BC40 Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 - {152, EMS_DEVICE_TYPE_CONTROLLER, "Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 - {95, EMS_DEVICE_TYPE_CONTROLLER, "HT3 Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 - {209, EMS_DEVICE_TYPE_CONTROLLER, "W-B ErP Boiler Control Panel", EMS_DEVICE_FLAG_NONE}, // 0x09 - {230, EMS_DEVICE_TYPE_CONTROLLER, "BC Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 - {205, EMS_DEVICE_TYPE_CONNECT, "Nefit Moduline Easy Connect", EMS_DEVICE_FLAG_NONE}, // 0x02 - {206, EMS_DEVICE_TYPE_CONNECT, "Bosch Easy Connect", EMS_DEVICE_FLAG_NONE}, // 0x02 - {171, EMS_DEVICE_TYPE_CONNECT, "EMS-OT OpenTherm converter", EMS_DEVICE_FLAG_NONE}, // 0x02 - {189, EMS_DEVICE_TYPE_GATEWAY, "Web Gateway KM200", EMS_DEVICE_FLAG_NONE}, // 0x48 - {94, EMS_DEVICE_TYPE_GATEWAY, "RC Remote Device", EMS_DEVICE_FLAG_NONE}, // 0x18 + {71, EMS_DEVICE_TYPE_SWITCH, "WM10 Switch Module", EMS_DEVICE_FLAG_NONE}, // 0x11 + {68, EMS_DEVICE_TYPE_CONTROLLER, "BC10/RFM20 Receiver", EMS_DEVICE_FLAG_NONE}, // 0x09 + {218, EMS_DEVICE_TYPE_CONTROLLER, "Junkers M200/Buderus RFM200 Receiver", EMS_DEVICE_FLAG_NONE}, // 0x50 + {190, EMS_DEVICE_TYPE_CONTROLLER, "BC10 Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 + {114, EMS_DEVICE_TYPE_CONTROLLER, "BC10 Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 + {125, EMS_DEVICE_TYPE_CONTROLLER, "BC25 Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 + {169, EMS_DEVICE_TYPE_CONTROLLER, "BC40 Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 + {152, EMS_DEVICE_TYPE_CONTROLLER, "Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 + {95, EMS_DEVICE_TYPE_CONTROLLER, "HT3 Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 + {209, EMS_DEVICE_TYPE_CONTROLLER, "W-B ErP Boiler Control Panel", EMS_DEVICE_FLAG_NONE}, // 0x09 + {230, EMS_DEVICE_TYPE_CONTROLLER, "BC Base Controller", EMS_DEVICE_FLAG_NONE}, // 0x09 + {205, EMS_DEVICE_TYPE_CONNECT, "Nefit Moduline Easy Connect", EMS_DEVICE_FLAG_NONE}, // 0x02 + {206, EMS_DEVICE_TYPE_CONNECT, "Bosch Easy Connect", EMS_DEVICE_FLAG_NONE}, // 0x02 + {171, EMS_DEVICE_TYPE_CONNECT, "EMS-OT OpenTherm converter", EMS_DEVICE_FLAG_NONE}, // 0x02 + {189, EMS_DEVICE_TYPE_GATEWAY, "Web Gateway KM200", EMS_DEVICE_FLAG_NONE}, // 0x48 + {94, EMS_DEVICE_TYPE_GATEWAY, "RC Remote Device", EMS_DEVICE_FLAG_NONE}, // 0x18 + {207, EMS_DEVICE_TYPE_CONTROLLER, "Worcester Sense II/Bosch CS100 Solar Controller", EMS_DEVICE_FLAG_NONE}, // 0x10 // // Thermostats, typically device id of 0x10, 0x17, 0x18, 0x38 (RC100), 0x39 (Easy) @@ -263,7 +264,7 @@ static const _EMS_Device EMS_Devices[] = { {203, EMS_DEVICE_TYPE_THERMOSTAT, "Bosch EasyControl CT200", EMS_DEVICE_FLAG_EASY | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write {157, EMS_DEVICE_TYPE_THERMOSTAT, "Buderus RC200/Bosch CW100/Junkers CW100", EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write - // Buderus/Nefit + // Buderus/Nefit specific {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 {77, EMS_DEVICE_TYPE_THERMOSTAT, "RC20/Moduline 300", EMS_DEVICE_FLAG_RC20}, // 0x17 {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30}, // 0x10 From 2efa908551dbd5dea99902dacdcd7e88fe9e8a2b Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 6 Jan 2020 14:12:13 +0100 Subject: [PATCH 03/12] upgrade to python 3.8 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index fc4d9ac79..81e566588 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ os: linux language: python python: - - "2.7" + - "3.8" cache: directories: From ce03746c928902c27aa42500c5f92a9d7095e466 Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 6 Jan 2020 14:48:43 +0100 Subject: [PATCH 04/12] get off dev branch for travis dpl --- .travis.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index 81e566588..bc7e3798c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -54,8 +54,8 @@ before_deploy: deploy: provider: releases - edge: - branch: master + #edge: + # branch: master token: ${GITHUB_TOKEN} file_glob: true # file: "firmware/*.bin" From 68f487d2703edc4766dcc8c9f9936bec50f8250a Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 6 Jan 2020 20:51:23 +0100 Subject: [PATCH 05/12] trying to fix travis build with gem error --- .travis.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.travis.yml b/.travis.yml index bc7e3798c..da7b07755 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,6 +44,7 @@ jobs: # - env: BUILDER_THREAD=3 before_deploy: + - gem install 'faraday:<0.16' - export FIRMWARE_VERSION=$(grep -E '^#define APP_VERSION' ./src/version.h | awk '{print $3}' | sed 's/"//g') - git tag -f travis-${TAG}-build - git remote add gh @@ -54,8 +55,8 @@ before_deploy: deploy: provider: releases - #edge: - # branch: master + edge: + branch: master token: ${GITHUB_TOKEN} file_glob: true # file: "firmware/*.bin" From fff38f900397304b9ba59a8666d53316dc1cd811 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 6 Jan 2020 21:27:16 +0100 Subject: [PATCH 06/12] travis fix again --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index da7b07755..f108c2321 100644 --- a/.travis.yml +++ b/.travis.yml @@ -44,7 +44,6 @@ jobs: # - env: BUILDER_THREAD=3 before_deploy: - - gem install 'faraday:<0.16' - export FIRMWARE_VERSION=$(grep -E '^#define APP_VERSION' ./src/version.h | awk '{print $3}' | sed 's/"//g') - git tag -f travis-${TAG}-build - git remote add gh @@ -56,6 +55,7 @@ before_deploy: deploy: provider: releases edge: + source: wenkokke/dpl branch: master token: ${GITHUB_TOKEN} file_glob: true From 62fff2c3bfdae3fe8a89db5c6320d799355feb90 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 6 Jan 2020 21:51:02 +0100 Subject: [PATCH 07/12] #238 - various optimizatons for multiple HCs on RC35s --- src/ems.cpp | 10 ++++++++-- src/version.h | 2 +- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index cf4e98e49..026633dbc 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1194,8 +1194,9 @@ void _process_RC30StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // exit if... // - the 15th byte (second from last) is 0x00, which I think is flow temp, means HC is not is use - // - its not a broadcast, so destination is 0x00 - if ((EMS_RxTelegram->data[14] == 0x00) || (EMS_RxTelegram->dest != EMS_ID_NONE)) { + // - its not a broadcast, so destination is 0x00 (not in use since 6/1/2020 - issue #238) + // if ((EMS_RxTelegram->data[14] == 0x00) || (EMS_RxTelegram->dest != EMS_ID_NONE)) { + if (EMS_RxTelegram->data[14] == 0x00) { return; } @@ -1368,6 +1369,11 @@ int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram) { return -1; } + // ignore telegrams that have no data, or only a single byte + if (EMS_RxTelegram->data_length <= 1) { + return -1; + } + int8_t hc; switch (EMS_RxTelegram->type) { diff --git a/src/version.h b/src/version.h index 53f287e97..5e99652ca 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b14" +#define APP_VERSION "1.9.5b15" From f99991bf858e52597ca2674cb6cbb61bab33b63d Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 7 Jan 2020 22:03:07 +0100 Subject: [PATCH 08/12] also build web on release target --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 80fc57d1a..747006030 100644 --- a/platformio.ini +++ b/platformio.ini @@ -110,5 +110,5 @@ board = d1_mini build_type = release build_flags = ${common.build_flags} ${common.custom_flags} extra_scripts = - ;pre:scripts/pre_script.py + pre:scripts/pre_script.py scripts/main_script.py From 46f32682f019c9a88de3760d64b1d63159fda335 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 7 Jan 2020 22:03:31 +0100 Subject: [PATCH 09/12] don't show boiler details if it isnt connected --- src/ems-esp.cpp | 166 +++++++++++++++++++++++++----------------------- 1 file changed, 85 insertions(+), 81 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index ffaf528ee..b802e584a 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -270,97 +270,101 @@ void showInfo() { } myDebug_P(PSTR("")); - myDebug_P(PSTR("%sBoiler stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); - // version details - myDebug_P(PSTR(" Boiler: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_BOILER, buffer_type)); + // show boiler stats if connected + if (ems_getBoilerEnabled()) { + myDebug_P(PSTR("%sBoiler stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); - // active stats - if (ems_getBusConnected()) { - if (EMS_Boiler.tapwaterActive != EMS_VALUE_INT_NOTSET) { - myDebug_P(PSTR(" Hot tap water: %s"), EMS_Boiler.tapwaterActive ? "running" : "off"); + // version details + myDebug_P(PSTR(" Boiler: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_BOILER, buffer_type)); + + // active stats + if (ems_getBusConnected()) { + if (EMS_Boiler.tapwaterActive != EMS_VALUE_INT_NOTSET) { + myDebug_P(PSTR(" Hot tap water: %s"), EMS_Boiler.tapwaterActive ? "running" : "off"); + } + + if (EMS_Boiler.heatingActive != EMS_VALUE_INT_NOTSET) { + myDebug_P(PSTR(" Central heating: %s"), EMS_Boiler.heatingActive ? "active" : "off"); + } } - if (EMS_Boiler.heatingActive != EMS_VALUE_INT_NOTSET) { - myDebug_P(PSTR(" Central heating: %s"), EMS_Boiler.heatingActive ? "active" : "off"); + // UBAParameterWW + _renderBoolValue("Warm Water activated", EMS_Boiler.wWActivated); + _renderBoolValue("Warm Water circulation pump available", EMS_Boiler.wWCircPump); + if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Hot) { + myDebug_P(PSTR(" Warm Water comfort setting: Hot")); + } else if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Eco) { + myDebug_P(PSTR(" Warm Water comfort setting: Eco")); + } else if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Intelligent) { + myDebug_P(PSTR(" Warm Water comfort setting: Intelligent")); } - } - // UBAParameterWW - _renderBoolValue("Warm Water activated", EMS_Boiler.wWActivated); - _renderBoolValue("Warm Water circulation pump available", EMS_Boiler.wWCircPump); - if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Hot) { - myDebug_P(PSTR(" Warm Water comfort setting: Hot")); - } else if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Eco) { - myDebug_P(PSTR(" Warm Water comfort setting: Eco")); - } else if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Intelligent) { - myDebug_P(PSTR(" Warm Water comfort setting: Intelligent")); - } + _renderIntValue("Warm Water selected temperature", "C", EMS_Boiler.wWSelTemp); + _renderIntValue("Warm Water desinfection temperature", "C", EMS_Boiler.wWDesinfectTemp); - _renderIntValue("Warm Water selected temperature", "C", EMS_Boiler.wWSelTemp); - _renderIntValue("Warm Water desinfection temperature", "C", EMS_Boiler.wWDesinfectTemp); + // UBAMonitorWWMessage + _renderUShortValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); + _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) { + myDebug_P(PSTR(" Warm Water active time: %d days %d hours %d minutes"), + EMS_Boiler.wWWorkM / 1440, + (EMS_Boiler.wWWorkM % 1440) / 60, + EMS_Boiler.wWWorkM % 60); + } + _renderBoolValue("Warm Water 3-way valve", EMS_Boiler.wWHeat); - // UBAMonitorWWMessage - _renderUShortValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); - _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) { - myDebug_P(PSTR(" Warm Water active time: %d days %d hours %d minutes"), - EMS_Boiler.wWWorkM / 1440, - (EMS_Boiler.wWWorkM % 1440) / 60, - EMS_Boiler.wWWorkM % 60); - } - _renderBoolValue("Warm Water 3-way valve", EMS_Boiler.wWHeat); + // UBAMonitorFast + _renderIntValue("Selected flow temperature", "C", EMS_Boiler.selFlowTemp); + _renderUShortValue("Current flow temperature", "C", EMS_Boiler.curFlowTemp); + _renderUShortValue("Return temperature", "C", EMS_Boiler.retTemp); + _renderBoolValue("Gas", EMS_Boiler.burnGas); + _renderBoolValue("Boiler pump", EMS_Boiler.heatPmp); + _renderBoolValue("Fan", EMS_Boiler.fanWork); + _renderBoolValue("Ignition", EMS_Boiler.ignWork); + _renderBoolValue("Circulation pump", EMS_Boiler.wWCirc); + _renderIntValue("Burner selected max power", "%", EMS_Boiler.selBurnPow); + _renderIntValue("Burner current power", "%", EMS_Boiler.curBurnPow); + _renderShortValue("Flame current", "uA", EMS_Boiler.flameCurr); + _renderIntValue("System pressure", "bar", EMS_Boiler.sysPress, 10); + if (EMS_Boiler.serviceCode == EMS_VALUE_USHORT_NOTSET) { + myDebug_P(PSTR(" System service code: %s"), EMS_Boiler.serviceCodeChar); + } else { + myDebug_P(PSTR(" System service code: %s (%d)"), EMS_Boiler.serviceCodeChar, EMS_Boiler.serviceCode); + } - // UBAMonitorFast - _renderIntValue("Selected flow temperature", "C", EMS_Boiler.selFlowTemp); - _renderUShortValue("Current flow temperature", "C", EMS_Boiler.curFlowTemp); - _renderUShortValue("Return temperature", "C", EMS_Boiler.retTemp); - _renderBoolValue("Gas", EMS_Boiler.burnGas); - _renderBoolValue("Boiler pump", EMS_Boiler.heatPmp); - _renderBoolValue("Fan", EMS_Boiler.fanWork); - _renderBoolValue("Ignition", EMS_Boiler.ignWork); - _renderBoolValue("Circulation pump", EMS_Boiler.wWCirc); - _renderIntValue("Burner selected max power", "%", EMS_Boiler.selBurnPow); - _renderIntValue("Burner current power", "%", EMS_Boiler.curBurnPow); - _renderShortValue("Flame current", "uA", EMS_Boiler.flameCurr); - _renderIntValue("System pressure", "bar", EMS_Boiler.sysPress, 10); - if (EMS_Boiler.serviceCode == EMS_VALUE_USHORT_NOTSET) { - myDebug_P(PSTR(" System service code: %s"), EMS_Boiler.serviceCodeChar); - } else { - myDebug_P(PSTR(" System service code: %s (%d)"), EMS_Boiler.serviceCodeChar, EMS_Boiler.serviceCode); - } + // UBAParametersMessage + _renderIntValue("Heating temperature setting on the boiler", "C", EMS_Boiler.heating_temp); + _renderIntValue("Boiler circuit pump modulation max power", "%", EMS_Boiler.pump_mod_max); + _renderIntValue("Boiler circuit pump modulation min power", "%", EMS_Boiler.pump_mod_min); - // UBAParametersMessage - _renderIntValue("Heating temperature setting on the boiler", "C", EMS_Boiler.heating_temp); - _renderIntValue("Boiler circuit pump modulation max power", "%", EMS_Boiler.pump_mod_max); - _renderIntValue("Boiler circuit pump modulation min power", "%", EMS_Boiler.pump_mod_min); - - // UBAMonitorSlow - if (EMS_Boiler.extTemp != EMS_VALUE_SHORT_NOTSET) { - _renderShortValue("Outside temperature", "C", EMS_Boiler.extTemp); - } - _renderUShortValue("Boiler temperature", "C", EMS_Boiler.boilTemp); - _renderUShortValue("Exhaust temperature", "C", EMS_Boiler.exhaustTemp); - _renderIntValue("Pump modulation", "%", EMS_Boiler.pumpMod); - _renderLongValue("Burner # starts", "times", EMS_Boiler.burnStarts); - if (EMS_Boiler.burnWorkMin != EMS_VALUE_LONG_NOTSET) { - myDebug_P(PSTR(" Total burner operating time: %d days %d hours %d minutes"), - EMS_Boiler.burnWorkMin / 1440, - (EMS_Boiler.burnWorkMin % 1440) / 60, - EMS_Boiler.burnWorkMin % 60); - } - if (EMS_Boiler.heatWorkMin != EMS_VALUE_LONG_NOTSET) { - myDebug_P(PSTR(" Total heat operating time: %d days %d hours %d minutes"), - EMS_Boiler.heatWorkMin / 1440, - (EMS_Boiler.heatWorkMin % 1440) / 60, - EMS_Boiler.heatWorkMin % 60); - } - if (EMS_Boiler.UBAuptime != EMS_VALUE_LONG_NOTSET) { - myDebug_P(PSTR(" Total UBA working time: %d days %d hours %d minutes"), - EMS_Boiler.UBAuptime / 1440, - (EMS_Boiler.UBAuptime % 1440) / 60, - EMS_Boiler.UBAuptime % 60); + // UBAMonitorSlow + if (EMS_Boiler.extTemp != EMS_VALUE_SHORT_NOTSET) { + _renderShortValue("Outside temperature", "C", EMS_Boiler.extTemp); + } + _renderUShortValue("Boiler temperature", "C", EMS_Boiler.boilTemp); + _renderUShortValue("Exhaust temperature", "C", EMS_Boiler.exhaustTemp); + _renderIntValue("Pump modulation", "%", EMS_Boiler.pumpMod); + _renderLongValue("Burner # starts", "times", EMS_Boiler.burnStarts); + if (EMS_Boiler.burnWorkMin != EMS_VALUE_LONG_NOTSET) { + myDebug_P(PSTR(" Total burner operating time: %d days %d hours %d minutes"), + EMS_Boiler.burnWorkMin / 1440, + (EMS_Boiler.burnWorkMin % 1440) / 60, + EMS_Boiler.burnWorkMin % 60); + } + if (EMS_Boiler.heatWorkMin != EMS_VALUE_LONG_NOTSET) { + myDebug_P(PSTR(" Total heat operating time: %d days %d hours %d minutes"), + EMS_Boiler.heatWorkMin / 1440, + (EMS_Boiler.heatWorkMin % 1440) / 60, + EMS_Boiler.heatWorkMin % 60); + } + if (EMS_Boiler.UBAuptime != EMS_VALUE_LONG_NOTSET) { + myDebug_P(PSTR(" Total UBA working time: %d days %d hours %d minutes"), + EMS_Boiler.UBAuptime / 1440, + (EMS_Boiler.UBAuptime % 1440) / 60, + EMS_Boiler.UBAuptime % 60); + } } // For SM10/SM100/SM200 Solar Module From 9d9884065ebaf547021f208992d8514c53d642ae Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 7 Jan 2020 22:03:38 +0100 Subject: [PATCH 10/12] bump --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 5e99652ca..55b458466 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b15" +#define APP_VERSION "1.9.5b16" From 382946846e5dac9faf7e59dbb9915eccdd4e6386 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 7 Jan 2020 22:04:14 +0100 Subject: [PATCH 11/12] increase bus offline timeout from 15 to 45 seconds - #267 --- src/ems.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index 026633dbc..11f1e4fbc 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -49,7 +49,7 @@ const uint8_t ems_crc_table[] = {0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0xF9, 0xFB, 0xFD, 0xFF, 0xF1, 0xF3, 0xF5, 0xF7, 0xE9, 0xEB, 0xED, 0xEF, 0xE1, 0xE3, 0xE5, 0xE7}; const uint8_t TX_WRITE_TIMEOUT_COUNT = 2; // 3 retries before timeout -const uint32_t EMS_BUS_TIMEOUT = 15000; // timeout in ms before recognizing the ems bus is offline (15 seconds) +const uint32_t EMS_BUS_TIMEOUT = 45000; // timeout in ms before recognizing the ems bus is offline (45 seconds) const uint32_t EMS_POLL_TIMEOUT = 5000000; // timeout in microseconds before recognizing the ems bus is offline (5 seconds) /* From 10f50b1974af035a6ce684e4fae8fc27ca141b33 Mon Sep 17 00:00:00 2001 From: proddy Date: Wed, 8 Jan 2020 12:34:58 +0100 Subject: [PATCH 12/12] typo with CS100 -> CS200 --- src/ems_devices.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 1217b158f..9d65b40c4 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -253,7 +253,7 @@ static const _EMS_Device EMS_Devices[] = { {171, EMS_DEVICE_TYPE_CONNECT, "EMS-OT OpenTherm converter", EMS_DEVICE_FLAG_NONE}, // 0x02 {189, EMS_DEVICE_TYPE_GATEWAY, "Web Gateway KM200", EMS_DEVICE_FLAG_NONE}, // 0x48 {94, EMS_DEVICE_TYPE_GATEWAY, "RC Remote Device", EMS_DEVICE_FLAG_NONE}, // 0x18 - {207, EMS_DEVICE_TYPE_CONTROLLER, "Worcester Sense II/Bosch CS100 Solar Controller", EMS_DEVICE_FLAG_NONE}, // 0x10 + {207, EMS_DEVICE_TYPE_CONTROLLER, "Worcester Sense II/Bosch CS200 Solar Controller", EMS_DEVICE_FLAG_NONE}, // 0x10 // // Thermostats, typically device id of 0x10, 0x17, 0x18, 0x38 (RC100), 0x39 (Easy)