From 99cefbcc1bbfc578ac69cdf58a4389b043d2b726 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 27 Oct 2019 11:52:47 +0100 Subject: [PATCH 001/120] 1.9.4b0 --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 9350fda31..c5400672d 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.3b5" +#define APP_VERSION "1.9.4b0" From 9835ddb127b0353c8ac140f483349ac46e0e403a Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 27 Oct 2019 15:04:18 +0100 Subject: [PATCH 002/120] added MM200 and Junkers Cerapur Top - https://github.com/proddy/EMS-ESP/issues/222 --- src/ems.h | 2 +- src/ems_devices.h | 10 +++++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/ems.h b/src/ems.h index 2e93f0d17..8572655fb 100644 --- a/src/ems.h +++ b/src/ems.h @@ -186,7 +186,7 @@ const _EMS_TxTelegram EMS_TX_TELEGRAM_NEW = { // where defintions are stored typedef struct { uint8_t product_id; - char model_string[70]; + char model_string[80]; } _Boiler_Device; typedef struct { diff --git a/src/ems_devices.h b/src/ems_devices.h index af8307694..29f3bd46a 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -202,7 +202,7 @@ const _Boiler_Device Boiler_Devices[] = { {203, "Buderus Logamax U122/Junkers Cerapur"}, {208, "Buderus Logamax plus/GB192/Bosch Condens GC9000"}, {64, "Sieger BK13,BK15/Nefit Smartline/Buderus GB1x2"}, - {95, "Bosch Condens 2500/Buderus Logamax GB062/Junkers Heatronic 3"}, + {95, "Bosch Condens 2500/Buderus Logamax GB062/Junkers Cerapur Top/Junkers HT3"}, {122, "Nefit Proline"}, {170, "Buderus Logano GB212"}, {172, "Nefit Enviline"} @@ -228,9 +228,12 @@ const _SolarModule_Device SolarModule_Devices[] = { * format is PRODUCT ID, DESCRIPTION */ const _Mixing_Device Mixing_Devices[] = { + {160, "MM100 Mixing Module"}, + {161, "MM200 Mixing Module"}, {69, "MM10 Mixer Module"}, - {159, "MM50 Mixing Module"}, + {159, "MM50 Mixing Module"} + }; // Other EMS devices which are not considered boilers, thermostats or solar modules @@ -245,6 +248,7 @@ const _Other_Device Other_Devices[] = { {125, 0x09, "BC25 Base Controller"}, {169, 0x09, "BC40 Base Controller"}, {152, 0x09, "Junkers Controller"}, + {95, 0x09, "Junkers Controller"}, {230, 0x09, "BC Base Controller"}, {205, 0x02, "Nefit Moduline Easy Connect"}, @@ -273,7 +277,7 @@ const _Thermostat_Device Thermostat_Devices[] = { // Easy devices - not currently supporting write operations {EMS_MODEL_EASY, 202, 0x18, "Logamatic TC100/Nefit Moduline Easy", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_EASY, 203, 0x18, "Bosch EasyControl CT200", EMS_THERMOSTAT_WRITE_NO}, - {EMS_MODEL_CW100, 157, 0x18, "Bosch CW100", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_CW100, 157, 0x18, "Bosch CW100/Junkers CW100", EMS_THERMOSTAT_WRITE_NO}, // Buderus/Nefit {EMS_MODEL_RC10, 79, 0x17, "RC10/Moduline 100", EMS_THERMOSTAT_WRITE_YES}, From 94b69e602cc46d73d0988467d69d7521c04c143b Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 27 Oct 2019 16:11:25 +0100 Subject: [PATCH 003/120] tidy up and added firmware directory --- .gitignore | 26 +++++--------------------- 1 file changed, 5 insertions(+), 21 deletions(-) diff --git a/.gitignore b/.gitignore index 81102fd7d..559d0aabf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,36 +1,20 @@ # vscode .vscode -.vscode/.browse.c_cpp.db* -.vscode/c_cpp_properties.json -.vscode/launch.json -.vscode/* # platformio .pio -.clang_complete -.gcc-flags.json lib/readme.txt # web stuff compiled -src/websrc/css/required.css -src/websrc/js/required.js -src/websrc/fonts -src/websrc/gzipped src/websrc/temp -*.gz.h +src/webh/*.gz.h # NPM directories -node_modules/ -jspm_packages/ -.npm +node_modules -# Output of 'npm pack' -*.tgz - -# dotenv environment variables file -.env +# OS specific +.DS_Store # project specfic -.DS_Store scripts/stackdmp.txt -*.bin +firmware From ecd28383026d9e665a6571abdba604b81c9a8742 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 27 Oct 2019 16:11:52 +0100 Subject: [PATCH 004/120] make so it can run from outside scripts directory --- scripts/build.sh | 28 ++++++++++------------------ 1 file changed, 10 insertions(+), 18 deletions(-) diff --git a/scripts/build.sh b/scripts/build.sh index d07a51e09..750ad6113 100644 --- a/scripts/build.sh +++ b/scripts/build.sh @@ -11,16 +11,13 @@ is_git() { } stat_bytes() { - echo "size is:" - case "$(uname -s)" in - Darwin) stat -f %z "$1";; - *) stat -c %s "$1";; - esac + filesize=`du -k "$1" | cut -f1;` + echo 'size:' $filesize 'bytes' } # Available environments list_envs() { - grep env: ../platformio.ini | sed 's/\[env:\(.*\)\]/\1/g' + grep env: platformio.ini | sed 's/\[env:\(.*\)\]/\1/g' } print_available() { @@ -59,7 +56,7 @@ set_default_environments() { } build_webui() { - cd ../tools/webfilesbuilder + cd ./tools/webfilesbuilder # Build system uses gulpscript.js to build web interface if [ ! -e node_modules/gulp/bin/gulp.js ]; then @@ -73,12 +70,6 @@ build_webui() { echo "Building web interface..." node node_modules/gulp/bin/gulp.js || exit - # TODO: do something if webui files are different - # for now, just print in travis log - if ${TRAVIS:-false}; then - git --no-pager diff --stat - fi - cd ../.. } @@ -88,11 +79,10 @@ build_environments() { mkdir -p $destination/EMS-ESP-$version for environment in $environments; do - echo -n "* EMS-ESP-$version-$environment.bin --- " + echo "* EMS-ESP-$version-$environment.bin" platformio run --silent --environment $environment || exit 1 stat_bytes .pio/build/$environment/firmware.bin - [[ "${TRAVIS_BUILD_STAGE_NAME}" = "Test" ]] || \ - mv .pio/build/$environment/firmware.bin $destination/EMS-ESP-$version/EMS-ESP-$version-$environment.bin + mv .pio/build/$environment/firmware.bin $destination/EMS-ESP-$version/EMS-ESP-$version-$environment.bin done echo "--------------------------------------------------------------" } @@ -101,7 +91,7 @@ build_environments() { ####### MAIN destination=firmware -version_file=../src/version.h +version_file=./src/version.h version=$(grep -E '^#define APP_VERSION' $version_file | awk '{print $3}' | sed 's/"//g') if ${TRAVIS:-false}; then @@ -115,6 +105,8 @@ else git_tag= fi +echo $git_tag + if [[ -n $git_tag ]]; then new_version=${version/-*} sed -i -e "s@$version@$new_version@" $version_file @@ -183,7 +175,7 @@ fi # for debugging echo "* git_revision = $git_revision" echo "* git_tag = $git_tag" -echo "* TRAVIS_EVENT_TYPE = $TRAVIS_EVENT_TYPE" +echo "* TRAVIS_COMMIT = $TRAVIS_COMMIT" echo "* TRAVIS_TAG = $TRAVIS_TAG" echo "* TRAVIS_BRANCH = $TRAVIS_BRANCH" echo "* TRAVIS_BUILD_STAGE_NAME = $TRAVIS_BUILD_STAGE_NAME" From 2fcfc4a97e6e731e2d7bc7c9771323637336f1b1 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 27 Oct 2019 22:36:11 +0100 Subject: [PATCH 005/120] add FR50 - https://github.com/proddy/EMS-ESP/issues/224 --- src/ems-esp.cpp | 7 ++++--- src/ems_devices.h | 4 +++- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index f8aa35e81..d12285490 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -390,6 +390,7 @@ void showInfo() { _m_curr = 10; // *100 break; case EMS_MODEL_FR10: + case EMS_MODEL_FR50: case EMS_MODEL_FW100: case EMS_MODEL_FW120: _m_setpoint = 1; // *10 @@ -684,8 +685,8 @@ void publishValues(bool force) { dataThermostat[THERMOSTAT_SELTEMP] = (double)thermostat->setpoint_roomTemp / 100; if (thermostat->curr_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (double)thermostat->curr_roomTemp / 100; - } else if ((ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FW100) - || (ems_getThermostatModel() == EMS_MODEL_FW120)) { + } else if ((ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FR50) + || (ems_getThermostatModel() == EMS_MODEL_FW100) || (ems_getThermostatModel() == EMS_MODEL_FW120)) { if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (double)thermostat->setpoint_roomTemp / 10; if (thermostat->curr_roomTemp != EMS_VALUE_SHORT_NOTSET) @@ -1758,7 +1759,7 @@ void WebCallback(JsonObject root) { thermostat["ts"] = (double)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 100; if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp != EMS_VALUE_SHORT_NOTSET) thermostat["tc"] = (double)EMS_Thermostat.hc[hc_num - 1].curr_roomTemp / 100; - } else if ((ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FW100) + } else if ((ems_getThermostatModel() == EMS_MODEL_FR10) || (ems_getThermostatModel() == EMS_MODEL_FR50) || (ems_getThermostatModel() == EMS_MODEL_FW100) || (ems_getThermostatModel() == EMS_MODEL_FW120)) { if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) thermostat["ts"] = (double)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 10; diff --git a/src/ems_devices.h b/src/ems_devices.h index 29f3bd46a..9221ae2f2 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -181,6 +181,7 @@ typedef enum { EMS_MODEL_OT, EMS_MODEL_FW100, EMS_MODEL_FR10, + EMS_MODEL_FR50, EMS_MODEL_FR100, EMS_MODEL_FR110, EMS_MODEL_FW120, @@ -297,6 +298,7 @@ const _Thermostat_Device Thermostat_Devices[] = { {EMS_MODEL_FR10, 111, 0x18, "Junkers FR10", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FR100, 105, 0x18, "Junkers FR100", EMS_THERMOSTAT_WRITE_NO}, {EMS_MODEL_FR110, 108, 0x18, "Junkers FR110", EMS_THERMOSTAT_WRITE_NO}, - {EMS_MODEL_FW120, 192, 0x10, "Junkers FW120", EMS_THERMOSTAT_WRITE_NO} + {EMS_MODEL_FW120, 192, 0x10, "Junkers FW120", EMS_THERMOSTAT_WRITE_NO}, + {EMS_MODEL_FR50, 147, 0x10, "Junkers FR50", EMS_THERMOSTAT_WRITE_NO} }; From 28b42f797c458ce8fec7182e0a086aac1b8d63af Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 27 Oct 2019 23:01:29 +0100 Subject: [PATCH 006/120] `publish_always` option. https://github.com/proddy/EMS-ESP/issues/224 --- CHANGELOG.md | 2 ++ src/custom.htm | 15 +++++++++++++++ src/custom.js | 14 ++++++++++++++ src/ems-esp.cpp | 25 +++++++++++++++++++++++++ src/version.h | 2 +- tools/wsemulator/wserver.js | 1 + 6 files changed, 58 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 05747c618..dbc38ac26 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added +- Added `publish_always` forcing MQTT topics to be always sent regardless if the data hasn't changed + ### Fixed ### Changed diff --git a/src/custom.htm b/src/custom.htm index d7ca2187c..e97ed54e6 100644 --- a/src/custom.htm +++ b/src/custom.htm @@ -122,6 +122,21 @@
+
+ + +
+ + +
+
+
+
+