From 2e9c1b76eaf2ea01142541ff0e7daf5c35f28b42 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 15 Dec 2019 23:20:45 +0100 Subject: [PATCH 001/195] 1.9.5 beta prep --- CHANGELOG.md | 13 ++++++++++++- src/version.h | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 630609ce2..6b4a4a328 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,18 @@ All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). -## [1.9.4 beta] +## [1.9.5 beta] + +### Added + +### Fixed + +### Changed + +### Removed + + +## [1.9.4] 15-12-2019 There are breaking changes in this release. See `publish_time` below and make sure you set this value to 0. diff --git a/src/version.h b/src/version.h index 1e9e1751b..8ce1c1208 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.4b25" +#define APP_VERSION "1.9.5b1" From a0e265c119a001e632150237fc406d4e6ce81e14 Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 16 Dec 2019 17:03:21 +0100 Subject: [PATCH 002/195] fixes to publish_time --- src/ems-esp.cpp | 9 +++++---- src/version.h | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index d9b29c308..a80890c53 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -545,7 +545,6 @@ void publishEMSValues(bool force) { char s[20] = {0}; // for formatting strings StaticJsonDocument doc; char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; - uint8_t jsonSize; static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off @@ -1924,12 +1923,14 @@ void loop() { ds18.loop(); } - // publish EMS data to MQTT - // because of the force=false argument, it will see if there is anything received that must be published - publishEMSValues(false); + // publish EMS data to MQTT, only if in automatic mode (publish_time=0) otherwise it'll use the timer + if (EMSESP_Settings.publish_time == 0) { + publishEMSValues(false); + } // if we have an EMS connect go and fetch some data and MQTT publish it if (_need_first_publish) { + publishEMSValues(false); publishSensorValues(); _need_first_publish = false; // reset flag } diff --git a/src/version.h b/src/version.h index 8ce1c1208..abc657ea0 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b1" +#define APP_VERSION "1.9.5b2" From 33d930b7cdf3fe44260bba79d2bc76074abe0749 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 20 Dec 2019 14:53:12 +0100 Subject: [PATCH 003/195] fixes for #263, MQTT flooding, --- platformio.ini | 2 +- src/ems-esp.cpp | 83 +++++++++++----------- src/ems.cpp | 179 ++++++++++++++++++++---------------------------- src/ems.h | 3 +- src/version.h | 2 +- 5 files changed, 120 insertions(+), 149 deletions(-) diff --git a/platformio.ini b/platformio.ini index 747006030..80fc57d1a 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 diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index a80890c53..c4d6fb017 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -33,9 +33,8 @@ DS18 ds18; #define APP_URL_API "https://api.github.com/repos/proddy/EMS-ESP" // timers, all values are in seconds -#define DEFAULT_PUBLISHTIME 0 +#define DEFAULT_PUBLISHTIME 10 // 10 seconds Ticker publishValuesTimer; -Ticker publishSensorValuesTimer; bool _need_first_publish = true; // this ensures on boot we always send out MQTT messages @@ -824,9 +823,39 @@ void publishEMSValues(bool force) { } } -// call PublishValues without forcing +// Publish shower data +bool do_publishShowerData() { + StaticJsonDocument<200> doc; + JsonObject rootShower = doc.to(); + rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0"; + rootShower[TOPIC_SHOWER_ALERT] = EMSESP_Settings.shower_alert ? "1" : "0"; + + // only publish shower duration if there is a value + char s[50] = {0}; + if (EMSESP_Shower.duration > SHOWER_MIN_DURATION) { + char buffer[16] = {0}; + strlcpy(s, itoa((uint8_t)((EMSESP_Shower.duration / (1000 * 60)) % 60), buffer, 10), sizeof(s)); + strlcat(s, " minutes and ", sizeof(s)); + strlcat(s, itoa((uint8_t)((EMSESP_Shower.duration / 1000) % 60), buffer, 10), sizeof(s)); + strlcat(s, " seconds", sizeof(s)); + rootShower[TOPIC_SHOWER_DURATION] = s; + } + + char data[300] = {0}; + serializeJson(doc, data, sizeof(data)); + + myDebugLog("Publishing shower data via MQTT"); + + // Publish MQTT forcing retain to be off + return (myESP.mqttPublish(TOPIC_SHOWER_DATA, data, false)); +} + +// call PublishValues with forcing forcing void do_publishValues() { - publishEMSValues(true); // force publish + myDebugLog("Starting scheduled MQTT publish..."); + publishEMSValues(false); + publishSensorValues(); + do_publishShowerData(); } // callback to light up the LED, called via Ticker every second @@ -851,6 +880,7 @@ void do_systemCheck() { // force calls to get data from EMS for the types that aren't sent as broadcasts // only if we have a EMS connection +// which will cause the values to get published void do_regularUpdates() { if (ems_getBusConnected() && !ems_getTxDisabled()) { myDebugLog("Fetching data from EMS devices"); @@ -936,33 +966,6 @@ bool LoadSaveCallback(MYESP_FSACTION_t action, JsonObject settings) { return false; } -// Publish shower data -bool do_publishShowerData() { - StaticJsonDocument<200> doc; - JsonObject rootShower = doc.to(); - rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0"; - rootShower[TOPIC_SHOWER_ALERT] = EMSESP_Settings.shower_alert ? "1" : "0"; - - // only publish shower duration if there is a value - char s[50] = {0}; - if (EMSESP_Shower.duration > SHOWER_MIN_DURATION) { - char buffer[16] = {0}; - strlcpy(s, itoa((uint8_t)((EMSESP_Shower.duration / (1000 * 60)) % 60), buffer, 10), sizeof(s)); - strlcat(s, " minutes and ", sizeof(s)); - strlcat(s, itoa((uint8_t)((EMSESP_Shower.duration / 1000) % 60), buffer, 10), sizeof(s)); - strlcat(s, " seconds", sizeof(s)); - rootShower[TOPIC_SHOWER_DURATION] = s; - } - - char data[300] = {0}; - serializeJson(doc, data, sizeof(data)); - - myDebugLog("Publishing shower data via MQTT"); - - // Publish MQTT forcing retain to be off - return (myESP.mqttPublish(TOPIC_SHOWER_DATA, data, false)); -} - // callback for custom settings when showing Stored Settings with the 'set' command // wc is number of arguments after the 'set' command // returns true if the setting was recognized and changed and should be saved back to SPIFFs @@ -1087,7 +1090,7 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, if (EMSESP_Settings.publish_time) { myDebug_P(PSTR(" publish_time=%d"), EMSESP_Settings.publish_time); } else { - myDebug_P(PSTR(" publish_time=0 (always publish when data received)"), EMSESP_Settings.publish_time); + myDebug_P(PSTR(" publish_time=0 (always publish on data received)"), EMSESP_Settings.publish_time); } } @@ -1154,8 +1157,6 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { if (strcmp(first_cmd, "publish") == 0) { do_publishValues(); - publishSensorValues(); - do_publishShowerData(); ok = true; } @@ -1886,16 +1887,14 @@ void setup() { } } - // enable regular checks + // enable regular checks to fetch data and publish if (!EMSESP_Settings.listen_mode) { regularUpdatesTimer.attach(REGULARUPDATES_TIME, do_regularUpdates); // regular reads from the EMS } - // set timers for MQTT publish - // only if publish_time is not 0 (automatic mode) + // set timers for MQTT publish, only if publish_time is not 0 (automatic mode) if (EMSESP_Settings.publish_time) { - publishValuesTimer.attach(EMSESP_Settings.publish_time, do_publishValues); // post MQTT EMS values - publishSensorValuesTimer.attach(EMSESP_Settings.publish_time, publishSensorValues); // post MQTT dallas sensor values + publishValuesTimer.attach(EMSESP_Settings.publish_time, do_publishValues); // post MQTT EMS values } // set pin for LED @@ -1905,10 +1904,11 @@ void setup() { ledcheckTimer.attach_ms(LEDCHECK_TIME, do_ledcheck); // blink heartbeat LED } + // system check + systemCheckTimer.attach(SYSTEMCHECK_TIME, do_systemCheck); // check if EMS is reachable + // check for Dallas sensors EMSESP_Settings.dallas_sensors = ds18.setup(EMSESP_Settings.dallas_gpio, EMSESP_Settings.dallas_parasite); // returns #sensors - - systemCheckTimer.attach(SYSTEMCHECK_TIME, do_systemCheck); // check if EMS is reachable } // @@ -1918,7 +1918,6 @@ void loop() { myESP.loop(); // handle telnet, mqtt, wifi etc // check Dallas sensors, using same schedule as publish_time (default 2 mins in DS18_READ_INTERVAL) - // these values are published to MQTT separately via the timer publishSensorValuesTimer if (EMSESP_Settings.dallas_sensors) { ds18.loop(); } diff --git a/src/ems.cpp b/src/ems.cpp index fe9416bab..af7fb292e 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -325,13 +325,21 @@ uint8_t _crcCalculator(uint8_t * data, uint8_t len) { return crc; } +// validate we have data at the offset (index) requested +// returns -1 if out of bounds +int8_t _getDataPosition(_EMS_RxTelegram * EMS_RxTelegram, uint8_t index) { + int8_t pos = index - EMS_RxTelegram->offset; // get adjusted index position based on offset + return (pos >= EMS_RxTelegram->data_length) ? -1 : pos; // return -1 if out of bounds +} + // unsigned short void _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint16_t * param_op, uint8_t index) { - if (index >= EMS_RxTelegram->data_length) { + int8_t pos = _getDataPosition(EMS_RxTelegram, index); + if (pos < 0) { return; } - uint16_t value = (EMS_RxTelegram->data[index] << 8) + EMS_RxTelegram->data[index + 1]; + uint16_t value = (EMS_RxTelegram->data[pos] << 8) + EMS_RxTelegram->data[pos + 1]; // check for undefined/unset values, 0x8000 if (value == EMS_VALUE_USHORT_NOTSET) { @@ -343,14 +351,15 @@ void _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint16_t * param_op, uint8_t in // signed short void _setValue(_EMS_RxTelegram * EMS_RxTelegram, int16_t * param_op, uint8_t index) { - if (index >= EMS_RxTelegram->data_length) { + int8_t pos = _getDataPosition(EMS_RxTelegram, index); + if (pos < 0) { return; } - int16_t value = (EMS_RxTelegram->data[index] << 8) + EMS_RxTelegram->data[index + 1]; + int16_t value = (EMS_RxTelegram->data[pos] << 8) + EMS_RxTelegram->data[pos + 1]; // check for undefined/unset values, 0x8000 - if ((value == EMS_VALUE_SHORT_NOTSET) || (EMS_RxTelegram->data[index] == 0x7D)) { + if ((value == EMS_VALUE_SHORT_NOTSET) || (EMS_RxTelegram->data[pos] == 0x7D)) { return; } @@ -359,38 +368,42 @@ void _setValue(_EMS_RxTelegram * EMS_RxTelegram, int16_t * param_op, uint8_t ind // Byte void _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint8_t * param_op, uint8_t index) { - if (index >= EMS_RxTelegram->data_length) { + int8_t pos = _getDataPosition(EMS_RxTelegram, index); + if (pos < 0) { return; } - *param_op = (uint8_t)EMS_RxTelegram->data[index]; + *param_op = (uint8_t)EMS_RxTelegram->data[pos]; } // convert signed short to single 8 byte, for setpoint thermostat temperatures that don't store their temps in 2 bytes void _setValue8(_EMS_RxTelegram * EMS_RxTelegram, int16_t * param_op, uint8_t index) { - if (index >= EMS_RxTelegram->data_length) { + int8_t pos = _getDataPosition(EMS_RxTelegram, index); + if (pos < 0) { return; } - *param_op = EMS_RxTelegram->data[index]; + *param_op = EMS_RxTelegram->data[pos]; } // Long void _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint32_t * param_op, uint8_t index) { - if (index >= EMS_RxTelegram->data_length) { + int8_t pos = _getDataPosition(EMS_RxTelegram, index); + if (pos < 0) { return; } - *param_op = (uint32_t)((EMS_RxTelegram->data[index] << 16) + (EMS_RxTelegram->data[index + 1] << 8) + (EMS_RxTelegram->data[index + 2])); + *param_op = (uint32_t)((EMS_RxTelegram->data[pos] << 16) + (EMS_RxTelegram->data[pos + 1] << 8) + (EMS_RxTelegram->data[pos + 2])); } // bit from a byte void _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint8_t * param_op, uint8_t index, uint8_t bit) { - if (index >= EMS_RxTelegram->data_length) { + int8_t pos = _getDataPosition(EMS_RxTelegram, index); + if (pos < 0) { return; } - *param_op = (uint8_t)(((EMS_RxTelegram->data[index]) >> (bit)) & 0x01); + *param_op = (uint8_t)(((EMS_RxTelegram->data[pos]) >> (bit)) & 0x01); } void ems_setTxMode(uint8_t mode) { @@ -1019,7 +1032,7 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.sysPress, 17); // is *10 // read the service code / installation status as appears on the display - if (EMS_RxTelegram->data_length > 18) { + if ((EMS_RxTelegram->data_length > 18) && (EMS_RxTelegram->offset == 0)) { EMS_Boiler.serviceCodeChar[0] = char(EMS_RxTelegram->data[18]); // ascii character 1 EMS_Boiler.serviceCodeChar[1] = char(EMS_RxTelegram->data[19]); // ascii character 2 EMS_Boiler.serviceCodeChar[2] = '\0'; // null terminate string @@ -1042,7 +1055,7 @@ void _process_UBAMonitorFast2(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.flameCurr, 19); // read the service code / installation status as appears on the display - if (EMS_RxTelegram->data_length > 4) { + if ((EMS_RxTelegram->data_length > 4) && (EMS_RxTelegram->offset == 0)) { EMS_Boiler.serviceCodeChar[0] = char(EMS_RxTelegram->data[4]); // ascii character 1 EMS_Boiler.serviceCodeChar[1] = char(EMS_RxTelegram->data[5]); // ascii character 2 EMS_Boiler.serviceCodeChar[2] = '\0'; @@ -1222,36 +1235,20 @@ void _process_RCPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { } EMS_Thermostat.hc[hc].active = true; - // handle single data values. data will always be at position data[0] - if (EMS_RxTelegram->data_length == 1) { - switch (EMS_RxTelegram->offset) { - case EMS_OFFSET_RCPLUSStatusMessage_curr: // setpoint target temp - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, 0); // value is * 10 - break; - case EMS_OFFSET_RCPLUSStatusMessage_setpoint: // current target temp - EMS_Thermostat.hc[hc].setpoint_roomTemp = EMS_RxTelegram->data[0]; // convert to single byte, value is * 2 - break; - case EMS_OFFSET_RCPLUSStatusMessage_currsetpoint: // current setpoint temp, e.g. Thermostat -> all, telegram: 10 00 FF 06 01 A5 22 - EMS_Thermostat.hc[hc].setpoint_roomTemp = EMS_RxTelegram->data[0]; // convert to single byte, value is * 2 - break; - case EMS_OFFSET_RCPLUSStatusMessage_mode: // thermostat mode auto/manual - // manual : 10 00 FF 0A 01 A5 02 - // auto : 10 00 FF 0A 01 A5 03 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, 0, - 0); // bit 1, mode (auto=1 or manual=0). Note this may be bit 2 - still need to validate - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, 0, 1); // get day mode flag + // the whole telegram + // e.g. Thermostat -> all, telegram: 10 00 FF 00 01 A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 + // 10 00 FF 00 01 A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00 + // or prtial, e.g. for modes: + // manual : 10 00 FF 0A 01 A5 02 + // auto : 10 00 FF 0A 01 A5 03 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_curr); // value is * 10 + _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_setpoint); // convert to single byte, value is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 1); + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 0); // bit 1, mode (auto=1 or manual=0) - break; - } - } else if (EMS_RxTelegram->data_length > 20) { - // the whole telegram - // e.g. Thermostat -> all, telegram: 10 00 FF 00 01 A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 - // 10 00 FF 00 01 A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_curr); // value is * 10 - _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_setpoint); // convert to single byte, value is * 2 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 1); - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 0); // bit 1, mode (auto=1 or manual=0) - } + // TODO figure out current setpoint temp at offset 6 + // e.g. Thermostat -> all, telegram: 10 00 FF 06 01 A5 22 + // EMS_Thermostat.hc[hc].setpoint_roomTemp = EMS_RxTelegram->data[EMS_OFFSET_RCPLUSStatusMessage_currsetpoint]; } /** @@ -1267,15 +1264,13 @@ void _process_RCPLUSStatusMode(_EMS_RxTelegram * EMS_RxTelegram) { * for FW100: 90 00 FF 00 00 6F 03 02 00 D7 00 DA F3 34 00 C4 */ void _process_JunkersStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - if (EMS_RxTelegram->offset == 0 && EMS_RxTelegram->data_length > 1) { - uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 - EMS_Thermostat.hc[hc].active = true; + uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 + EMS_Thermostat.hc[hc].active = true; - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_JunkersStatusMessage_curr); // value is * 10 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_JunkersStatusMessage_setpoint); // value is * 10 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_JunkersStatusMessage_daymode); // 3 = day, 2 = night - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_JunkersStatusMessage_mode); // 1 = manual, 2 = auto - } + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_JunkersStatusMessage_curr); // value is * 10 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_JunkersStatusMessage_setpoint); // value is * 10 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_JunkersStatusMessage_daymode); // 3 = day, 2 = night + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_JunkersStatusMessage_mode); // 1 = manual, 2 = auto } /** @@ -1290,25 +1285,18 @@ void _process_RCPLUSSetMessage(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 EMS_Thermostat.hc[hc].active = true; - // check for one data value - // but ignore values of 0xFF, e.g. 10 00 FF 08 01 B9 FF - if ((EMS_RxTelegram->data_length == 1) && (EMS_RxTelegram->data[0] != 0xFF)) { - // check for setpoint temps, e.g. Thermostat -> all, type 0x01B9, telegram: 10 00 FF 08 01 B9 26 - if ((EMS_RxTelegram->offset == EMS_OFFSET_RCPLUSSet_temp_setpoint) || (EMS_RxTelegram->offset == EMS_OFFSET_RCPLUSSet_manual_setpoint)) { - _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, 0); // single byte conversion, value is * 2 - } else if (EMS_RxTelegram->offset == EMS_OFFSET_RCPLUSSet_mode) { - // check for mode, eg. 10 00 FF 08 01 B9 FF - EMS_Thermostat.hc[hc].mode = (EMS_RxTelegram->data[0] == 0xFF); // Auto = xFF, Manual = x00 (auto=1 or manual=0) - } - return; // quit + // ignore single values of 0xFF, e.g. 10 00 FF 08 01 B9 FF + if ((EMS_RxTelegram->data_length == 1) && (EMS_RxTelegram->data[0] == 0xFF)) { + return; } - // check for long broadcasts - if (EMS_RxTelegram->offset == 0) { - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RCPLUSSet_mode); - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].daytemp, EMS_OFFSET_RCPLUSSet_temp_comfort2); // is * 2 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].nighttemp, EMS_OFFSET_RCPLUSSet_temp_eco); // is * 2 - } + // check for setpoint temps, e.g. Thermostat -> all, type 0x01B9, telegram: 10 00 FF 08 01 B9 26 + // NOTE when setting the room temp we pick from two values, hopefully one is correct! + _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSSet_temp_setpoint); // single byte conversion, value is * 2 + _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSSet_manual_setpoint); // single byte conversion, value is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RCPLUSSet_mode); // Auto = xFF, Manual = x00 eg. 10 00 FF 08 01 B9 FF + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].daytemp, EMS_OFFSET_RCPLUSSet_temp_comfort2); // is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].nighttemp, EMS_OFFSET_RCPLUSSet_temp_eco); // is * 2 } /** @@ -1417,11 +1405,6 @@ void _process_SM10Monitor(_EMS_RxTelegram * EMS_RxTelegram) { * 30 00 FF 00 02 62 01 A1 - for bottom temps */ void _process_SM100Monitor(_EMS_RxTelegram * EMS_RxTelegram) { - // only process the complete telegram, not partial - if (EMS_RxTelegram->offset) { - return; - } - _setValue(EMS_RxTelegram, &EMS_SolarModule.collectorTemp, 0); // is *10 _setValue(EMS_RxTelegram, &EMS_SolarModule.bottomTemp, 2); // is *10 } @@ -1432,22 +1415,14 @@ void _process_SM100Monitor(_EMS_RxTelegram * EMS_RxTelegram) { * 30 00 FF 09 02 64 1E = 30% */ void _process_SM100Status(_EMS_RxTelegram * EMS_RxTelegram) { - if (EMS_RxTelegram->offset == 0) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.pumpModulation, 9); // check for complete telegram - } else if (EMS_RxTelegram->offset == 0x09) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.pumpModulation, 0); // data at offset 09 - } + _setValue(EMS_RxTelegram, &EMS_SolarModule.pumpModulation, 9); // check for complete telegram } /* * SM100Status2 - type 0x026A EMS+ for pump on/off at offset 0x0A */ void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram) { - if (EMS_RxTelegram->offset == 0) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 10, 2); // 03=off 04=on - } else if (EMS_RxTelegram->offset == 0x0A) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 0, 2); // 03=off 04=on at offset 0A - } + _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 10, 2); // 03=off 04=on } /* @@ -1479,18 +1454,11 @@ void _process_HPMonitor2(_EMS_RxTelegram * EMS_RxTelegram) { * e.g. B0 00 FF 00 00 03 32 00 00 00 00 13 00 D6 00 00 00 FB D0 F0 */ void _process_ISM1StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - if (EMS_RxTelegram->offset == 0) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.collectorTemp, 4); // Collector Temperature - _setValue(EMS_RxTelegram, &EMS_SolarModule.bottomTemp, 6); // Temperature Bottom of Solar Boiler - _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyLastHour, 2); // Solar Energy produced in last hour - is * 10 and handled in ems-esp.cpp - _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 8, 0); // Solar pump on (1) or off (0) - _setValue(EMS_RxTelegram, &EMS_SolarModule.pumpWorkMin, 10); - } - - if (EMS_RxTelegram->offset == 4) { - // e.g. B0 00 FF 04 00 03 02 E5 - _setValue(EMS_RxTelegram, &EMS_SolarModule.collectorTemp, 0); // Collector Temperature - } + _setValue(EMS_RxTelegram, &EMS_SolarModule.collectorTemp, 4); // Collector Temperature + _setValue(EMS_RxTelegram, &EMS_SolarModule.bottomTemp, 6); // Temperature Bottom of Solar Boiler + _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyLastHour, 2); // Solar Energy produced in last hour - is * 10 and handled in ems-esp.cpp + _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 8, 0); // Solar pump on (1) or off (0) + _setValue(EMS_RxTelegram, &EMS_SolarModule.pumpWorkMin, 10); } @@ -1498,11 +1466,12 @@ void _process_ISM1StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { * Junkers ISM1 Solar Module - type 0x0001 EMS+ for setting values */ void _process_ISM1Set(_EMS_RxTelegram * EMS_RxTelegram) { - if (EMS_RxTelegram->offset == 6) { - // e.g. 90 30 FF 06 00 01 50 (CRC=2C) - // to implement: change max solar boiler temperature - EMS_SolarModule.setpoint_maxBottomTemp = EMS_RxTelegram->data[0]; - } + // e.g. 90 30 FF 06 00 01 50 + // only trigger if at offset 6 + _setValue(EMS_RxTelegram, &EMS_SolarModule.setpoint_maxBottomTemp, 6); + + // TODO: we may need to convert this to a single byte like + // EMS_SolarModule.setpoint_maxBottomTemp = EMS_RxTelegram->data[0]; } /** @@ -1523,7 +1492,7 @@ void _process_SetPoints(_EMS_RxTelegram * EMS_RxTelegram) { myDebug_P(PSTR(" Boiler flow temp %s C, Warm Water power %d %"), s, ww_power); */ - myDebug_P(PSTR(" Boiler flow temperature is %d C"), setpoint); + myDebug_P(PSTR("Boiler flow temperature is %d C"), setpoint); } } } @@ -2387,7 +2356,7 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { */ void ems_setWarmWaterTemp(uint8_t temperature) { // check for invalid temp values - if ((temperature < 30) || (temperature > EMS_BOILER_TAPWATER_TEMPERATURE_MAX)) { + if ((temperature < EMS_BOILER_TAPWATER_TEMPERATURE_MIN) || (temperature > EMS_BOILER_TAPWATER_TEMPERATURE_MAX)) { return; } @@ -2429,7 +2398,9 @@ void ems_setFlowTemp(uint8_t temperature) { EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; EMS_TxTelegram.dataValue = temperature; // int value to compare against - EMS_TxTelegram.type_validate = EMS_TYPE_UBASetPoints; // validate + // EMS_TxTelegram.type_validate = EMS_TYPE_UBASetPoints; // validate + EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate after the write + EMS_TxTelegram.comparisonOffset = EMS_OFFSET_UBASetPoints_flowtemp; EMS_TxTelegram.comparisonValue = temperature; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_UBASetPoints; diff --git a/src/ems.h b/src/ems.h index 03f619291..ecb10e951 100644 --- a/src/ems.h +++ b/src/ems.h @@ -66,8 +66,9 @@ typedef enum { #define EMS_BOILER_BURNPOWER_TAPWATER 100 #define EMS_BOILER_SELFLOWTEMP_HEATING 30 // was 70, changed to 30 for https://github.com/proddy/EMS-ESP/issues/193 -// define maximum setable tapwater temperature +// define min & maximum setable tapwater temperature #define EMS_BOILER_TAPWATER_TEMPERATURE_MAX 60 +#define EMS_BOILER_TAPWATER_TEMPERATURE_MIN 30 #define EMS_TX_TELEGRAM_QUEUE_MAX 50 // max size of Tx FIFO queue. Number of Tx records to send. diff --git a/src/version.h b/src/version.h index abc657ea0..67cdd773f 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b2" +#define APP_VERSION "1.9.5b3" From b5eebea6a1e65169a32dc45fef43f45af0e5a650 Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 23 Dec 2019 16:18:10 +0100 Subject: [PATCH 004/195] remove MM400 #262 --- 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 3d09e6ec0..b2f389108 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -235,7 +235,7 @@ static const _EMS_Device EMS_Devices[] = { {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_NONE}, {79, EMS_DEVICE_TYPE_MIXING, "MM100 Mixer Module", EMS_DEVICE_FLAG_NONE}, {80, EMS_DEVICE_TYPE_MIXING, "MM200 Mixer Module", EMS_DEVICE_FLAG_NONE}, - {78, EMS_DEVICE_TYPE_MIXING, "MM400 Mixer Module", EMS_DEVICE_FLAG_NONE}, + //{78, EMS_DEVICE_TYPE_MIXING, "MM400 Mixer Module", EMS_DEVICE_FLAG_NONE}, // // HeatPump - type 0x38 From 35f3a291be262d4feca4c31f0524e3a48dcf35f6 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 23 Dec 2019 20:27:51 +0100 Subject: [PATCH 005/195] disable MQTT last will. dont think anyone was using it --- src/MyESP.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index eba5cde68..d587bba0b 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -501,11 +501,19 @@ void MyESP::_mqtt_setup() { mqttClient.setCleanSession(false); // last will + + /**************** + * + * disabling last will, since version 1.9.5 + * + if (_hasValue(_mqtt_will_topic)) { mqttClient.setWill(_mqttTopic(_mqtt_will_topic), 1, true, _mqtt_will_offline_payload); // retain always true } + */ + // set credentials if we have them if (_hasValue(_mqtt_user)) { mqttClient.setCredentials(_mqtt_user, _mqtt_password); From 591bc7c119177967c772644abe396da087ba5d99 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 23 Dec 2019 20:27:58 +0100 Subject: [PATCH 006/195] bump --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 67cdd773f..1e23d4d57 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b3" +#define APP_VERSION "1.9.5b4" From 1a2c58d9a875f37cf153ba9b610af65be2a009ca Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 23 Dec 2019 20:28:26 +0100 Subject: [PATCH 007/195] take only boilTemp from 0x18 Fast telegrams --- src/ems.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index af7fb292e..4801b2de2 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1023,7 +1023,10 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.wWHeat, 7, 6); _setValue(EMS_RxTelegram, &EMS_Boiler.wWCirc, 7, 7); - _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 11); // 0x8000 if not available + // there may also be an BoilTemp here but can't remember what it is, so commenting out for now + // we use the one from UBAMonitorSlow + // _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 11); // 0x8000 if not available + _setValue(EMS_RxTelegram, &EMS_Boiler.retTemp, 13); _setValue(EMS_RxTelegram, &EMS_Boiler.flameCurr, 15); _setValue(EMS_RxTelegram, &EMS_Boiler.serviceCode, 20); From 990d65492015622db744f2dc2524b35fa4e99d92 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 23 Dec 2019 20:28:42 +0100 Subject: [PATCH 008/195] added comment --- src/ems-esp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index c4d6fb017..7cd4fa0f5 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -1887,7 +1887,7 @@ void setup() { } } - // enable regular checks to fetch data and publish + // enable regular checks to fetch data and publish using Tx (unless listen_mode is enabled) if (!EMSESP_Settings.listen_mode) { regularUpdatesTimer.attach(REGULARUPDATES_TIME, do_regularUpdates); // regular reads from the EMS } From 3002e0dfac137e15692998b14b1a50af326d1fee Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 24 Dec 2019 08:09:21 +0100 Subject: [PATCH 009/195] rollback MQTT last will change --- src/MyESP.cpp | 11 +---------- 1 file changed, 1 insertion(+), 10 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index d587bba0b..1a5afe520 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -501,19 +501,10 @@ void MyESP::_mqtt_setup() { mqttClient.setCleanSession(false); // last will - - /**************** - * - * disabling last will, since version 1.9.5 - * - if (_hasValue(_mqtt_will_topic)) { - mqttClient.setWill(_mqttTopic(_mqtt_will_topic), 1, true, - _mqtt_will_offline_payload); // retain always true + mqttClient.setWill(_mqttTopic(_mqtt_will_topic), 1, true, _mqtt_will_offline_payload); // retain always true } - */ - // set credentials if we have them if (_hasValue(_mqtt_user)) { mqttClient.setCredentials(_mqtt_user, _mqtt_password); From f27088c035324d1674f4a152e3b3426db7a0fa0b Mon Sep 17 00:00:00 2001 From: proddy Date: Thu, 26 Dec 2019 17:34:37 +0100 Subject: [PATCH 010/195] fix for sieger, typo in devices library - #266 --- src/ems_devices.h | 2 +- src/version.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index b2f389108..25865e9ff 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -281,7 +281,7 @@ static const _EMS_Device EMS_Devices[] = { {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1010", EMS_DEVICE_FLAG_RC300 | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write // Sieger - {076, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 + {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 // Junkers {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write diff --git a/src/version.h b/src/version.h index 1e23d4d57..4b432793d 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b4" +#define APP_VERSION "1.9.5b5" From a22e64a8caaa8b1f9b2f11c0e45f89abb74eda14 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Mon, 30 Dec 2019 13:35:23 +0100 Subject: [PATCH 011/195] MM10 mixer added, changed WWDesired to WWDesinfection, added boier exhaust temperature --- src/ems-esp.cpp | 18 +++++++++++++----- src/ems.cpp | 23 ++++++++++++++++++++--- src/ems.h | 4 +++- src/ems_devices.h | 7 +++++++ 4 files changed, 43 insertions(+), 9 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 7cd4fa0f5..c1ca94e1c 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -296,7 +296,7 @@ void showInfo() { } _renderIntValue("Warm Water selected temperature", "C", EMS_Boiler.wWSelTemp); - _renderIntValue("Warm Water desired temperature", "C", EMS_Boiler.wWDesiredTemp); + _renderIntValue("Warm Water desinfection temperature", "C", EMS_Boiler.wWDesinfectTemp); // UBAMonitorWWMessage _renderUShortValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); @@ -339,6 +339,7 @@ void showInfo() { _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) { @@ -475,8 +476,12 @@ void showInfo() { if (EMS_Mixing.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); _renderUShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); + if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Setpoint flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowSetTemp); _renderIntValue(" Current pump modulation", "%", EMS_Mixing.hc[hc_num - 1].pumpMod); - _renderIntValue(" Current valve status", "%", EMS_Mixing.hc[hc_num - 1].valveStatus); + if (EMS_Mixing.hc[hc_num - 1].valveStatus != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Current valve status", "", EMS_Mixing.hc[hc_num - 1].valveStatus); + } } } @@ -561,8 +566,8 @@ void publishEMSValues(bool force) { if (EMS_Boiler.wWSelTemp != EMS_VALUE_INT_NOTSET) rootBoiler["wWSelTemp"] = EMS_Boiler.wWSelTemp; - if (EMS_Boiler.wWDesiredTemp != EMS_VALUE_INT_NOTSET) - rootBoiler["wWDesiredTemp"] = EMS_Boiler.wWDesiredTemp; + if (EMS_Boiler.wWDesinfectTemp != EMS_VALUE_INT_NOTSET) + rootBoiler["wWDesinfectionTemp"] = EMS_Boiler.wWDesinfectTemp; if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET) rootBoiler["selFlowTemp"] = EMS_Boiler.selFlowTemp; if (EMS_Boiler.selBurnPow != EMS_VALUE_INT_NOTSET) @@ -590,7 +595,8 @@ void publishEMSValues(bool force) { rootBoiler["sysPress"] = (float)EMS_Boiler.sysPress / 10; if (EMS_Boiler.boilTemp != EMS_VALUE_USHORT_NOTSET) rootBoiler["boilTemp"] = (float)EMS_Boiler.boilTemp / 10; - + if (EMS_Boiler.exhaustTemp != EMS_VALUE_USHORT_NOTSET) + rootBoiler["exhaustTemp"] = (float)EMS_Boiler.exhaustTemp / 10; if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); @@ -750,6 +756,8 @@ void publishEMSValues(bool force) { if (mixing->flowTemp != EMS_VALUE_SHORT_NOTSET) dataMixing["flowTemp"] = (float)mixing->flowTemp / 10; + if (mixing->flowSetTemp != EMS_VALUE_INT_NOTSET) + dataMixing["setflowTemp"] = mixing->flowSetTemp; if (mixing->pumpMod != EMS_VALUE_INT_NOTSET) dataMixing["pumpMod"] = mixing->pumpMod; if (mixing->valveStatus != EMS_VALUE_INT_NOTSET) diff --git a/src/ems.cpp b/src/ems.cpp index 4801b2de2..756261a5d 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -121,13 +121,14 @@ void ems_init() { EMS_Mixing.hc[i].flowTemp = EMS_VALUE_SHORT_NOTSET; EMS_Mixing.hc[i].pumpMod = EMS_VALUE_INT_NOTSET; EMS_Mixing.hc[i].valveStatus = EMS_VALUE_INT_NOTSET; + EMS_Mixing.hc[i].flowSetTemp = EMS_VALUE_INT_NOTSET; } // UBAParameterWW EMS_Boiler.wWActivated = EMS_VALUE_BOOL_NOTSET; // Warm Water activated EMS_Boiler.wWSelTemp = EMS_VALUE_INT_NOTSET; // Warm Water selected temperature EMS_Boiler.wWCircPump = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump available - EMS_Boiler.wWDesiredTemp = EMS_VALUE_INT_NOTSET; // Warm Water desired temperature to prevent infection + EMS_Boiler.wWDesinfectTemp = EMS_VALUE_INT_NOTSET; // Warm Water desinfection temperature to prevent infection EMS_Boiler.wWComfort = EMS_VALUE_INT_NOTSET; // WW comfort mode // UBAMonitorFast @@ -150,6 +151,7 @@ void ems_init() { // UBAMonitorSlow EMS_Boiler.extTemp = EMS_VALUE_SHORT_NOTSET; // Outside temperature EMS_Boiler.boilTemp = EMS_VALUE_USHORT_NOTSET; // Boiler temperature + EMS_Boiler.exhaustTemp = EMS_VALUE_USHORT_NOTSET; // Exhaust temperature EMS_Boiler.pumpMod = EMS_VALUE_INT_NOTSET; // Pump modulation % EMS_Boiler.burnStarts = EMS_VALUE_LONG_NOTSET; // # burner restarts EMS_Boiler.burnWorkMin = EMS_VALUE_LONG_NOTSET; // Total burner operating time @@ -951,7 +953,7 @@ void _process_UBAParameterWW(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.wWActivated, 1); // 0xFF means on _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPump, 6); // 0xFF means on _setValue(EMS_RxTelegram, &EMS_Boiler.wWSelTemp, 2); - _setValue(EMS_RxTelegram, &EMS_Boiler.wWDesiredTemp, 8); + _setValue(EMS_RxTelegram, &EMS_Boiler.wWDesinfectTemp, 8); _setValue(EMS_RxTelegram, &EMS_Boiler.wWComfort, EMS_OFFSET_UBAParameterWW_wwComfort); } @@ -1083,6 +1085,7 @@ void _process_UBAMonitorFast2(_EMS_RxTelegram * EMS_RxTelegram) { void _process_UBAMonitorSlow(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.extTemp, 0); _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 2); + _setValue(EMS_RxTelegram, &EMS_Boiler.exhaustTemp, 4); _setValue(EMS_RxTelegram, &EMS_Boiler.switchTemp, 25); // only if there is a mixer _setValue(EMS_RxTelegram, &EMS_Boiler.pumpMod, 9); _setValue(EMS_RxTelegram, &EMS_Boiler.burnStarts, 10); @@ -1226,6 +1229,19 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } +void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { + uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage); + if (hc!=0) { + return; // invalid type + } + EMS_Mixing.hc[hc].active = true; + + _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); + _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].pumpMod, EMS_OFFSET_MMStatusMessage_pump_mod); + //_setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMStatusMessage_valve_status); + _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowSetTemp, EMS_OFFSET_MMStatusMessage_flow_set); +} + /** * type 0x01A5 - data from the Nefit RC1010/3000 thermostat (0x18) and RC300/310s on 0x10 * EMS+ messages may come in with different offsets so handle them here @@ -2667,7 +2683,8 @@ const _EMS_Type EMS_Types[] = { // Mixing devices {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage} + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage} }; diff --git a/src/ems.h b/src/ems.h index ecb10e951..9956b1dc9 100644 --- a/src/ems.h +++ b/src/ems.h @@ -253,7 +253,7 @@ typedef struct { uint8_t wWActivated; // Warm Water activated uint8_t wWSelTemp; // Warm Water selected temperature uint8_t wWCircPump; // Warm Water circulation pump Available - uint8_t wWDesiredTemp; // Warm Water desired temperature + uint8_t wWDesinfectTemp; // Warm Water desinfection temperature uint8_t wWComfort; // Warm water comfort or ECO mode // UBAMonitorFast @@ -276,6 +276,7 @@ typedef struct { // UBAMonitorSlow int16_t extTemp; // Outside temperature uint16_t boilTemp; // Boiler temperature + uint16_t exhaustTemp; // Exhaust temperature uint8_t pumpMod; // Pump modulation uint32_t burnStarts; // # burner starts uint32_t burnWorkMin; // Total burner operating time @@ -323,6 +324,7 @@ typedef struct { uint16_t flowTemp; uint8_t pumpMod; uint8_t valveStatus; + uint8_t flowSetTemp; } _EMS_Mixing_HC; // Mixer data diff --git a/src/ems_devices.h b/src/ems_devices.h index 25865e9ff..8ea8e34d0 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -196,6 +196,13 @@ const _EMS_Device_Types EMS_Devices_Types[] = { #define EMS_OFFSET_MMPLUSStatusMessage_pump_mod 5 // pump modulation #define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent +// MM10 +#define EMS_TYPE_MMStatusMessage 0xAB // mixer status +#define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint +#define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature +#define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent +#define EMS_OFFSET_MMStatusMessage_valve_status 4 // valve 0..255 + /* * Table of all known EMS Devices * ProductID, DeviceType, Description, Flags From a3faf2cf188274109517799bcb7bd19dd150439b Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 30 Dec 2019 14:46:08 +0100 Subject: [PATCH 012/195] SM200 support --- src/ems_devices.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 25865e9ff..62572294b 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -14,7 +14,7 @@ // 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_SM 0x30 // Solar Module SM10, SM100 and ISM1 +#define EMS_ID_SM 0x30 // Solar Module SM10, SM100, SM200 and ISM1 #define EMS_ID_HP 0x38 // HeatPump #define EMS_ID_GATEWAY 0x48 // Gateway e.g. KM200 Web Gateway #define EMS_ID_MIXING1 0x20 // Mixing @@ -85,6 +85,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { #define EMS_OFFSET_UBASetPoints_flowtemp 0 // flow temp // SM and HP Types +// Assuming SM100 behaves like SM200 #define EMS_TYPE_SM10Monitor 0x97 // SM10Monitor #define EMS_TYPE_SM100Monitor 0x0262 // SM100Monitor #define EMS_TYPE_SM100Status 0x0264 // SM100Status @@ -223,6 +224,7 @@ static const _EMS_Device EMS_Devices[] = { // {73, EMS_DEVICE_TYPE_SOLAR, "SM10 Solar Module", EMS_DEVICE_FLAG_SM10}, {163, EMS_DEVICE_TYPE_SOLAR, "SM100 Solar Module", EMS_DEVICE_FLAG_SM100}, + {164, EMS_DEVICE_TYPE_SOLAR, "SM200 Solar Module", EMS_DEVICE_FLAG_SM100}, {101, EMS_DEVICE_TYPE_SOLAR, "Junkers ISM1 Solar Module", EMS_DEVICE_FLAG_SM100}, {162, EMS_DEVICE_TYPE_SOLAR, "SM50 Solar Module", EMS_DEVICE_FLAG_SM100}, @@ -262,7 +264,7 @@ static const _EMS_Device EMS_Devices[] = { {189, EMS_DEVICE_TYPE_GATEWAY, "Web Gateway KM200", EMS_DEVICE_FLAG_NONE}, // 0x48 // - // Thermostats, typically device id of 0x10, 0x17 and 0x18 + // Thermostats, typically device id of 0x10, 0x17, 0x18 and 0x39 (easy) // // Easy devices - not currently supporting write operations From 52a82277e9bc0c2333dc3015b53e31301dc4e697 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 30 Dec 2019 14:46:26 +0100 Subject: [PATCH 013/195] 1.9.5b5 --- CHANGELOG.md | 5 +++++ src/version.h | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6b4a4a328..5360bebfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [1.9.5 beta] ### Added +- Solar Module SM200 support +- `set master_thermostat ` to choose with thermostat is master when there are multiple on the bus ### Fixed +- set boiler warm water temp on Junkers/Bosch HT3 ### Changed +- improved MQTT publishing to stop flooding + ### Removed diff --git a/src/version.h b/src/version.h index 4b432793d..8575109af 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b5" +#define APP_VERSION "1.9.5b6" From f0c7b954a54c9878c4c00df47facf6111b2941ec Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 30 Dec 2019 14:47:02 +0100 Subject: [PATCH 014/195] SM200 support --- src/my_config.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/my_config.h b/src/my_config.h index a36662d9d..8fcec4e4f 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -52,7 +52,7 @@ // MQTT for mixing device #define TOPIC_MIXING_DATA "mixing_data" // for sending mixing device values to MQTT -// MQTT for SM10/SM100 Solar Module +// MQTT for SM10/SM100/SM200 Solar Module #define TOPIC_SM_DATA "sm_data" // topic name #define SM_COLLECTORTEMP "collectortemp" // collector temp #define SM_BOTTOMTEMP "bottomtemp" // bottom temp From b64c35732ea678552ca923b8a1a4f606d279e9fe Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 30 Dec 2019 14:47:23 +0100 Subject: [PATCH 015/195] spelling checks --- src/MyESP.cpp | 2 +- src/emsuart.cpp | 42 +++++++++++++++++++++--------------------- 2 files changed, 22 insertions(+), 22 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 1a5afe520..f0b6b79eb 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -524,7 +524,7 @@ void MyESP::_wifi_setup() { WiFi.setSleepMode(WIFI_NONE_SLEEP); // added to possibly fix wifi dropouts in arduino core 2.5.0 // ref: https://github.com/esp8266/Arduino/issues/6471 // ref: https://github.com/esp8266/Arduino/issues/6366 - // high tx power causing weird behavior, slighly lowering from 20.5 to 20.0 may help stability + // high tx power causing weird behavior, slightly lowering from 20.5 to 20.0 may help stability WiFi.setOutputPower(20.0); // in DBM #endif diff --git a/src/emsuart.cpp b/src/emsuart.cpp index 923583298..c99fee1eb 100644 --- a/src/emsuart.cpp +++ b/src/emsuart.cpp @@ -224,27 +224,27 @@ _EMS_TX_STATUS ICACHE_FLASH_ATTR emsuart_tx_buffer(uint8_t * buf, uint8_t len) { } emsuart_tx_brk(); // send } else if (EMS_Sys_Status.emsTxMode == EMS_TXMODE_DEFAULT) { - /* - * based on code from https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch - * we emit the whole telegram, with Rx interrupt disabled, collecting busmaster response in FIFO. - * after sending the last char we poll the Rx status until either - * - size(Rx FIFO) == size(Tx-Telegram) - * - is detected - * At end of receive we re-enable Rx-INT and send a Tx-BRK in loopback mode. - * - * EMS-Bus error handling - * 1. Busmaster stops echoing on Tx w/o permission - * 2. Busmaster cancel telegram by sending a BRK - * - * Case 1. is handled by a watchdog counter which is reset on each - * Tx attempt. The timeout should be 20x EMSUART_BIT_TIME plus - * some smart guess for processing time on targeted EMS device. - * We set EMS_Sys_Status.emsTxStatus to EMS_TX_WTD_TIMEOUT and return - * - * Case 2. is handled via a BRK chk during transmission. - * We set EMS_Sys_Status.emsTxStatus to EMS_TX_BRK_DETECT and return - * - */ + /* + * based on code from https://github.com/proddy/EMS-ESP/issues/103 by @susisstrolch + * we emit the whole telegram, with Rx interrupt disabled, collecting busmaster response in FIFO. + * after sending the last char we poll the Rx status until either + * - size(Rx FIFO) == size(Tx-Telegram) + * - is detected + * At end of receive we re-enable Rx-INT and send a Tx-BRK in loopback mode. + * + * EMS-Bus error handling + * 1. Busmaster stops echoing on Tx w/o permission + * 2. Busmaster cancel telegram by sending a BRK + * + * Case 1. is handled by a watchdog counter which is reset on each + * Tx attempt. The timeout should be 20x EMSUART_BIT_TIME plus + * some smart guess for processing time on targeted EMS device. + * We set EMS_Sys_Status.emsTxStatus to EMS_TX_WTD_TIMEOUT and return + * + * Case 2. is handled via a BRK chk during transmission. + * We set EMS_Sys_Status.emsTxStatus to EMS_TX_BRK_DETECT and return + * + */ uint16_t wdc = EMS_TX_TO_COUNT; ETS_UART_INTR_DISABLE(); // disable rx interrupt From 4fbd135bfe50dd0de7faeb3603a12a7a62ea1e4a Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 30 Dec 2019 14:48:06 +0100 Subject: [PATCH 016/195] multiple thermostat choice - #238 --- src/ems-esp.cpp | 102 ++++++++++++++++++++++++++++++++---------------- src/ems.cpp | 58 ++++++++++++++++++++------- src/ems.h | 5 ++- 3 files changed, 117 insertions(+), 48 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 7cd4fa0f5..e76e40a7f 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -69,15 +69,16 @@ typedef struct { uint8_t dallas_sensors; // count of dallas sensors // custom params - bool shower_timer; // true if we want to report back on shower times - bool shower_alert; // true if we want the alert of cold water - bool led; // LED on/off - bool listen_mode; // stop automatic Tx on/off - uint16_t publish_time; // frequency of MQTT publish in seconds - uint8_t led_gpio; // pin for LED - uint8_t dallas_gpio; // pin for attaching external dallas temperature sensors - bool dallas_parasite; // on/off is using parasite - uint8_t tx_mode; // TX mode 1,2 or 3 + bool shower_timer; // true if we want to report back on shower times + bool shower_alert; // true if we want the alert of cold water + bool led; // LED on/off + bool listen_mode; // stop automatic Tx on/off + uint16_t publish_time; // frequency of MQTT publish in seconds + uint8_t led_gpio; // pin for LED + uint8_t dallas_gpio; // pin for attaching external dallas temperature sensors + bool dallas_parasite; // on/off is using parasite + uint8_t tx_mode; // TX mode 1,2 or 3 + uint8_t master_thermostat; // Product ID of master thermostat to use } _EMSESP_Settings; typedef struct { @@ -99,6 +100,7 @@ static const command_t project_cmds[] PROGMEM = { {true, "shower_alert ", "stop hot water to send 3 cold burst warnings after max shower time is exceeded"}, {true, "publish_time ", "set frequency for publishing data to MQTT (0=automatic)"}, {true, "tx_mode ", "changes Tx logic. 1=EMS generic, 2=EMS+, 3=HT3"}, + {true, "master_thermostat [product id]", "product id to use as the master thermostat. Use no args for list."}, {false, "info", "show current values deciphered from the EMS messages"}, {false, "log ")); } } + + // master_thermostat + if (strcmp(setting, "master_thermostat") == 0) { + if (wc == 1) { + // show list + char device_string[100]; + myDebug_P(PSTR("Available thermostat Product ids:")); + for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { + if (it->device_type == EMS_DEVICE_TYPE_THERMOSTAT) { + strlcpy(device_string, (it)->device_desc_p, sizeof(device_string)); + myDebug_P(PSTR(" %d = %s"), (it)->product_id, device_string); + } + } + myDebug_P(PSTR("Usage: set master_thermostat ")); + } else if (wc == 2) { + uint8_t pid = atoi(value); + EMSESP_Settings.master_thermostat = pid; + ems_setMasterThermostat(pid); + ok = true; + } + } } if (action == MYESP_FSACTION_LIST) { @@ -1087,11 +1113,18 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, myDebug_P(PSTR(" listen_mode=%s"), EMSESP_Settings.listen_mode ? "on" : "off"); myDebug_P(PSTR(" shower_timer=%s"), EMSESP_Settings.shower_timer ? "on" : "off"); myDebug_P(PSTR(" shower_alert=%s"), EMSESP_Settings.shower_alert ? "on" : "off"); + if (EMSESP_Settings.publish_time) { myDebug_P(PSTR(" publish_time=%d"), EMSESP_Settings.publish_time); } else { myDebug_P(PSTR(" publish_time=0 (always publish on data received)"), EMSESP_Settings.publish_time); } + + if (EMSESP_Settings.master_thermostat) { + myDebug_P(PSTR(" master_thermostat=%d"), EMSESP_Settings.master_thermostat); + } else { + myDebug_P(PSTR(" master_thermostat=0 (use first one detected)"), EMSESP_Settings.master_thermostat); + } } return ok; @@ -1360,7 +1393,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // this is used for example for comfort, flowtemp myESP.mqttSubscribe(TOPIC_BOILER_CMD); - // these three need to be unqiue topics + // these three need to be unique topics myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWACTIVATED); myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWONETIME); myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWTEMP); @@ -1396,6 +1429,8 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { const char * command = doc["cmd"]; // Check whatever the command is and act accordingly + + // we only have one now, this is for the shower coldshot if (strcmp(command, TOPIC_SHOWER_COLDSHOT) == 0) { _showerColdShotStart(); return; @@ -1708,7 +1743,7 @@ void WebCallback(JsonObject root) { boiler["ok"] = false; } - // For SM10/SM100 Solar Module + // For SM10/SM100/SM200 Solar Module JsonObject sm = root.createNestedObject("sm"); if (ems_getSolarModuleEnabled()) { sm["ok"] = true; @@ -1766,15 +1801,16 @@ void WebCallback(JsonObject root) { // Most of these will be overwritten after the SPIFFS config file is loaded void initEMSESP() { // general settings - EMSESP_Settings.shower_timer = false; - EMSESP_Settings.shower_alert = false; - EMSESP_Settings.led = true; // LED is on by default - EMSESP_Settings.listen_mode = false; - EMSESP_Settings.publish_time = DEFAULT_PUBLISHTIME; - EMSESP_Settings.dallas_sensors = 0; - EMSESP_Settings.led_gpio = EMSESP_LED_GPIO; - EMSESP_Settings.dallas_gpio = EMSESP_DALLAS_GPIO; - EMSESP_Settings.tx_mode = EMS_TXMODE_DEFAULT; // default tx mode + EMSESP_Settings.shower_timer = false; + EMSESP_Settings.shower_alert = false; + EMSESP_Settings.led = true; // LED is on by default + EMSESP_Settings.listen_mode = false; + EMSESP_Settings.publish_time = DEFAULT_PUBLISHTIME; + EMSESP_Settings.dallas_sensors = 0; + EMSESP_Settings.led_gpio = EMSESP_LED_GPIO; + EMSESP_Settings.dallas_gpio = EMSESP_DALLAS_GPIO; + EMSESP_Settings.tx_mode = EMS_TXMODE_DEFAULT; // default tx mode + EMSESP_Settings.master_thermostat = 0; // shower settings EMSESP_Shower.timerStart = 0; diff --git a/src/ems.cpp b/src/ems.cpp index 4801b2de2..6c709cf67 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -71,6 +71,11 @@ void ems_Device_remove_flags(unsigned int flags) { EMS_Sys_Status.emsRefreshedFlags &= ~flags; } +// returns true if HT3, other Buderus protocol +bool ems_isHT3() { + return (EMS_Sys_Status.emsIDMask == 0x80); +} + // init stats and counters and buffers void ems_init() { ems_clearDeviceList(); // init the device map @@ -171,9 +176,9 @@ void ems_init() { EMS_Boiler.pump_mod_min = EMS_VALUE_INT_NOTSET; // Boiler circuit pump modulation min. power % // Solar Module values - EMS_SolarModule.collectorTemp = EMS_VALUE_SHORT_NOTSET; // collector temp from SM10/SM100 - EMS_SolarModule.bottomTemp = EMS_VALUE_SHORT_NOTSET; // bottom temp from SM10/SM100 - EMS_SolarModule.pumpModulation = EMS_VALUE_INT_NOTSET; // modulation solar pump SM10/SM100 + EMS_SolarModule.collectorTemp = EMS_VALUE_SHORT_NOTSET; // collector temp from SM10/SM100/SM200 + EMS_SolarModule.bottomTemp = EMS_VALUE_SHORT_NOTSET; // bottom temp from SM10/SM100/SM200 + EMS_SolarModule.pumpModulation = EMS_VALUE_INT_NOTSET; // modulation solar pump SM10/SM100/SM200 EMS_SolarModule.pump = EMS_VALUE_BOOL_NOTSET; // pump active EMS_SolarModule.EnergyLastHour = EMS_VALUE_USHORT_NOTSET; EMS_SolarModule.EnergyToday = EMS_VALUE_USHORT_NOTSET; @@ -410,6 +415,10 @@ void ems_setTxMode(uint8_t mode) { EMS_Sys_Status.emsTxMode = mode; } +void ems_setMasterThermostat(uint8_t product_id) { + EMS_Sys_Status.emsMasterThermostat = product_id; +} + /** * debug print a telegram to telnet/serial including the CRC */ @@ -1241,7 +1250,7 @@ void _process_RCPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // the whole telegram // e.g. Thermostat -> all, telegram: 10 00 FF 00 01 A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 // 10 00 FF 00 01 A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00 - // or prtial, e.g. for modes: + // or partial, e.g. for modes: // manual : 10 00 FF 0A 01 A5 02 // auto : 10 00 FF 0A 01 A5 03 _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_curr); // value is * 10 @@ -1665,6 +1674,17 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { strlcat(version, ".", sizeof(version)); strlcat(version, _smallitoa(EMS_RxTelegram->data[offset + 2], buf), sizeof(version)); + // some devices store the protocol type (HT3, Buderus) in tbe last byte + // we don't do anything with this yet. + if (EMS_RxTelegram->data_length >= 10) { + uint8_t protocol_type = EMS_RxTelegram->data[9]; + if (protocol_type == 2) { + // it's a junkers + } else if (protocol_type >= 3) { + // it's buderus + } + } + // scan through known devices matching the productid uint8_t product_id = EMS_RxTelegram->data[offset]; uint8_t i = 0; @@ -1677,7 +1697,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { i++; } - // if not found, just add it + // if not found, just add it as an unknown device if (!typeFound) { (void)_addDevice(EMS_DEVICE_TYPE_UNKNOWN, product_id, device_id, nullptr, version); return; @@ -1701,13 +1721,17 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { strlcpy(EMS_Boiler.version, version, sizeof(EMS_Boiler.version)); ems_getBoilerValues(); // get Boiler values that we would usually have to wait for } else if (type == EMS_DEVICE_TYPE_THERMOSTAT) { - EMS_Thermostat.device_id = device_id; - EMS_Thermostat.device_flags = (flags & 0x7F); // remove 7th bit - EMS_Thermostat.write_supported = (flags & EMS_DEVICE_FLAG_NO_WRITE) == 0; - EMS_Thermostat.product_id = product_id; - EMS_Thermostat.device_desc_p = device_desc_p; - strlcpy(EMS_Thermostat.version, version, sizeof(EMS_Thermostat.version)); - ems_getThermostatValues(); // get Thermostat values + // we can only support a single thermostat currently, so check which product_id we may have chosen + // to be the master - see https://github.com/proddy/EMS-ESP/issues/238 + if ((EMS_Sys_Status.emsMasterThermostat == 0) || (EMS_Sys_Status.emsMasterThermostat == product_id)) { + EMS_Thermostat.device_id = device_id; + EMS_Thermostat.device_flags = (flags & 0x7F); // remove 7th bit + EMS_Thermostat.write_supported = (flags & EMS_DEVICE_FLAG_NO_WRITE) == 0; + EMS_Thermostat.product_id = product_id; + EMS_Thermostat.device_desc_p = device_desc_p; + strlcpy(EMS_Thermostat.version, version, sizeof(EMS_Thermostat.version)); + ems_getThermostatValues(); // get Thermostat values + } } else if (type == EMS_DEVICE_TYPE_SOLAR) { EMS_SolarModule.device_id = device_id; EMS_SolarModule.product_id = product_id; @@ -2459,8 +2483,14 @@ void ems_setWarmWaterActivated(bool activated) { EMS_TxTelegram.type = EMS_TYPE_UBAParameterWW; EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwactivated; EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; - EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate - EMS_TxTelegram.dataValue = (activated ? 0xFF : 0x00); // 0xFF is on, 0x00 is off + EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate + + // https://github.com/proddy/EMS-ESP/issues/268 + if (ems_isHT3()) { + EMS_TxTelegram.dataValue = (activated ? 0x08 : 0x00); // 0x08 is on, 0x00 is off + } else { + EMS_TxTelegram.dataValue = (activated ? 0xFF : 0x00); // 0xFF is on, 0x00 is off + } EMS_TxQueue.push(EMS_TxTelegram); } diff --git a/src/ems.h b/src/ems.h index ecb10e951..7afda360a 100644 --- a/src/ems.h +++ b/src/ems.h @@ -137,6 +137,7 @@ typedef struct { uint8_t emsIDMask; // Buderus: 0x00, Junkers: 0x80 uint8_t emsPollAck[1]; // acknowledge buffer for Poll uint8_t emsTxMode; // Tx mode 1, 2 or 3 + uint8_t emsMasterThermostat; // product ID for the default thermostat to use char emsDeviceMap[EMS_SYS_DEVICEMAP_LENGTH]; // contents of 0x07 telegram with bitmasks for all active EMS devices } _EMS_Sys_Status; @@ -336,7 +337,7 @@ typedef struct { _EMS_Mixing_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits } _EMS_Mixing; -// Solar Module - SM10/SM100/ISM1 +// Solar Module - SM10/SM100/SM200/ISM1 typedef struct { uint8_t device_id; // the device ID of the Solar Module uint8_t device_flags; // Solar Module flags @@ -421,6 +422,7 @@ void ems_setWarmWaterModeComfort(uint8_t comfort); void ems_setModels(); void ems_setTxDisabled(bool b); void ems_setTxMode(uint8_t mode); +void ems_setMasterThermostat(uint8_t product_id); char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, bool name_only = false); bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer); void ems_getThermostatValues(); @@ -444,6 +446,7 @@ bool ems_getTxDisabled(); void ems_Device_add_flags(unsigned int flags); bool ems_Device_has_flags(unsigned int flags); void ems_Device_remove_flags(unsigned int flags); +bool ems_isHT3(); // private functions uint8_t _crcCalculator(uint8_t * data, uint8_t len); From 7a1b1603cd51a02063e5d175d69c237acf630270 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 30 Dec 2019 15:53:13 +0100 Subject: [PATCH 017/195] MM10 merge from MichaelDvP --- CHANGELOG.md | 1 + src/ems-esp.cpp | 7 +++---- src/ems.cpp | 12 ++++++------ src/ems.h | 8 ++++---- src/version.h | 2 +- 5 files changed, 15 insertions(+), 15 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5360bebfd..714ded96c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Solar Module SM200 support - `set master_thermostat ` to choose with thermostat is master when there are multiple on the bus +- MM10 Mixer support (thanks @MichaelDvP) ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 4797234b3..728b45b33 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -478,12 +478,11 @@ void showInfo() { if (EMS_Mixing.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); _renderUShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); - if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) + if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) _renderIntValue(" Setpoint flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowSetTemp); _renderIntValue(" Current pump modulation", "%", EMS_Mixing.hc[hc_num - 1].pumpMod); - if (EMS_Mixing.hc[hc_num - 1].valveStatus != EMS_VALUE_INT_NOTSET) + if (EMS_Mixing.hc[hc_num - 1].valveStatus != EMS_VALUE_INT_NOTSET) _renderIntValue(" Current valve status", "", EMS_Mixing.hc[hc_num - 1].valveStatus); - } } } @@ -597,7 +596,7 @@ void publishEMSValues(bool force) { rootBoiler["sysPress"] = (float)EMS_Boiler.sysPress / 10; if (EMS_Boiler.boilTemp != EMS_VALUE_USHORT_NOTSET) rootBoiler["boilTemp"] = (float)EMS_Boiler.boilTemp / 10; - if (EMS_Boiler.exhaustTemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.exhaustTemp != EMS_VALUE_USHORT_NOTSET) rootBoiler["exhaustTemp"] = (float)EMS_Boiler.exhaustTemp / 10; if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); diff --git a/src/ems.cpp b/src/ems.cpp index c82e20d3e..b47b791f2 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -130,11 +130,11 @@ void ems_init() { } // UBAParameterWW - EMS_Boiler.wWActivated = EMS_VALUE_BOOL_NOTSET; // Warm Water activated - EMS_Boiler.wWSelTemp = EMS_VALUE_INT_NOTSET; // Warm Water selected temperature - EMS_Boiler.wWCircPump = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump available + EMS_Boiler.wWActivated = EMS_VALUE_BOOL_NOTSET; // Warm Water activated + EMS_Boiler.wWSelTemp = EMS_VALUE_INT_NOTSET; // Warm Water selected temperature + EMS_Boiler.wWCircPump = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump available EMS_Boiler.wWDesinfectTemp = EMS_VALUE_INT_NOTSET; // Warm Water desinfection temperature to prevent infection - EMS_Boiler.wWComfort = EMS_VALUE_INT_NOTSET; // WW comfort mode + EMS_Boiler.wWComfort = EMS_VALUE_INT_NOTSET; // WW comfort mode // UBAMonitorFast EMS_Boiler.selFlowTemp = EMS_VALUE_INT_NOTSET; // Selected flow temperature @@ -1239,8 +1239,8 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { } void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage); - if (hc!=0) { + uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage); + if (hc != 0) { return; // invalid type } EMS_Mixing.hc[hc].active = true; diff --git a/src/ems.h b/src/ems.h index abf802e34..efc3a3f27 100644 --- a/src/ems.h +++ b/src/ems.h @@ -251,11 +251,11 @@ typedef struct { char version[10]; // UBAParameterWW - uint8_t wWActivated; // Warm Water activated - uint8_t wWSelTemp; // Warm Water selected temperature - uint8_t wWCircPump; // Warm Water circulation pump Available + uint8_t wWActivated; // Warm Water activated + uint8_t wWSelTemp; // Warm Water selected temperature + uint8_t wWCircPump; // Warm Water circulation pump Available uint8_t wWDesinfectTemp; // Warm Water desinfection temperature - uint8_t wWComfort; // Warm water comfort or ECO mode + uint8_t wWComfort; // Warm water comfort or ECO mode // UBAMonitorFast uint8_t selFlowTemp; // Selected flow temperature diff --git a/src/version.h b/src/version.h index 8575109af..1caa42c6a 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b6" +#define APP_VERSION "1.9.5b7" From 1e7a9483e22f5d14a39d3374383abb725c24d6af Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 30 Dec 2019 20:45:09 +0100 Subject: [PATCH 018/195] added w-B ErP controller (#240) --- src/ems_devices.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 620aebf5b..2ecdc8c20 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -198,7 +198,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { #define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent // MM10 -#define EMS_TYPE_MMStatusMessage 0xAB // mixer status +#define EMS_TYPE_MMStatusMessage 0xAB // mixer status #define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint #define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature #define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent @@ -264,6 +264,7 @@ static const _EMS_Device EMS_Devices[] = { {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 Greenstar Erp Controller", 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 From 75b47c1609efc5e39832f37c03cc455cbe5b3006 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 30 Dec 2019 20:48:03 +0100 Subject: [PATCH 019/195] force autodetect after changing thermostat - #238 --- src/ems-esp.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 728b45b33..f146d7e5c 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -1106,6 +1106,9 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, uint8_t pid = atoi(value); EMSESP_Settings.master_thermostat = pid; ems_setMasterThermostat(pid); + // force a scan + ems_clearDeviceList(); + ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); ok = true; } } From 6798b59246c1d19b29a3c17ca28af14788004fbb Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 31 Dec 2019 11:34:40 +0100 Subject: [PATCH 020/195] prevent controller and boiler competing for ubamaster - #271 --- src/ems.cpp | 43 +++++++++++++++++++++++++------------------ 1 file changed, 25 insertions(+), 18 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index b47b791f2..1aa312bb2 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1729,7 +1729,8 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t flags = EMS_Devices[i].flags; // its a new entry, set the specifics - if (type == EMS_DEVICE_TYPE_BOILER) { + if ((type == EMS_DEVICE_TYPE_BOILER) && (device_id == EMS_ID_BOILER)) { + // with UBAMasters, there is only one device_id 0x08. To avoid https://github.com/proddy/EMS-ESP/issues/271 EMS_Boiler.device_id = device_id; EMS_Boiler.product_id = product_id; EMS_Boiler.device_flags = flags; @@ -2018,17 +2019,19 @@ void ems_scanDevices() { std::list Device_Ids; // create a new list - Device_Ids.push_back(EMS_ID_BOILER); // UBAMaster/Boilers - 0x08 - Device_Ids.push_back(EMS_ID_HP); // HeatPump - 0x38 - Device_Ids.push_back(EMS_ID_SM); // Solar Module - 0x30 - Device_Ids.push_back(0x09); // Controllers - 0x09 - Device_Ids.push_back(0x02); // Connect - 0x02 - Device_Ids.push_back(0x48); // Gateway - 0x48 - Device_Ids.push_back(0x20); // Mixing Devices - 0x20, 0x21 - Device_Ids.push_back(0x21); // Mixing Devices - 0x20, 0x21 - Device_Ids.push_back(0x10); // Thermostats - 0x10, 0x17, 0x18 - Device_Ids.push_back(0x17); // Thermostats - 0x10, 0x17, 0x18 - Device_Ids.push_back(0x18); // Thermostats - 0x10, 0x17, 0x18 + Device_Ids.push_back(EMS_ID_BOILER); // UBAMaster/Boilers - 0x08 + Device_Ids.push_back(EMS_ID_HP); // HeatPump - 0x38 + Device_Ids.push_back(EMS_ID_SM); // Solar Module - 0x30 + Device_Ids.push_back(EMS_ID_CONTROLLER); // Controllers - 0x09 + Device_Ids.push_back(EMS_ID_CONNECT1); // Connect - 0x02 + Device_Ids.push_back(EMS_ID_CONNECT2); // Connect - 0x50 + Device_Ids.push_back(EMS_ID_GATEWAY); // Gateway - 0x48 + Device_Ids.push_back(EMS_ID_MIXING1); // Mixing Devices - 0x20, 0x21 + Device_Ids.push_back(EMS_ID_MIXING2); // Mixing Devices - 0x20, 0x21 + Device_Ids.push_back(EMS_ID_THERMOSTAT1); // Thermostats - 0x10, 0x17, 0x18 + Device_Ids.push_back(EMS_ID_THERMOSTAT2); // Thermostats - 0x10, 0x17, 0x18 + Device_Ids.push_back(EMS_ID_THERMOSTAT3); // Thermostats - 0x10, 0x17, 0x18 + Device_Ids.push_back(EMS_ID_SWITCH); // Switch - 0x11 // remove duplicates and reserved IDs (like our own device) Device_Ids.sort(); @@ -2075,22 +2078,26 @@ void ems_printDevices() { if (!Devices.empty()) { bool have_unknowns = false; char device_string[100]; + char device_type[30]; myDebug_P(PSTR("and %d were recognized by EMS-ESP as:"), Devices.size()); for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { - if ((it)->known) { - strlcpy(device_string, (it)->device_desc_p, sizeof(device_string)); + ems_getDeviceTypeDescription(it->device_id, device_type); // get type string, e.g. "Boiler" + + if (it->known) { + strlcpy(device_string, it->device_desc_p, sizeof(device_string)); } else { strlcpy(device_string, EMS_MODELTYPE_UNKNOWN_STRING, sizeof(device_string)); // Unknown have_unknowns = true; } - myDebug_P(PSTR(" %s%s%s (DeviceID:0x%02X ProductID:%d Version:%s)"), + myDebug_P(PSTR(" %s: %s%s%s (DeviceID:0x%02X ProductID:%d Version:%s)"), + device_type, COLOR_BOLD_ON, device_string, COLOR_BOLD_OFF, - (it)->device_id, - (it)->product_id, - (it)->version); + it->device_id, + it->product_id, + it->version); } myDebug_P(PSTR("")); // newline From a8d993188d048293aafc9c7f8229b99ab36ffb0e Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 31 Dec 2019 11:34:59 +0100 Subject: [PATCH 021/195] b8 --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 1caa42c6a..72543df5c 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b7" +#define APP_VERSION "1.9.5b8" From d8bf33e4dbdbd274b8b27108bcdb8cb5da393a31 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 31 Dec 2019 11:48:07 +0100 Subject: [PATCH 022/195] rename W-B ErP Boiler Control Panel --- 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 2ecdc8c20..5a52eb7ba 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -264,7 +264,7 @@ static const _EMS_Device EMS_Devices[] = { {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 Greenstar Erp 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 From ca5912ddbdbf9ce0184bcdafd653c52d695997c6 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 31 Dec 2019 11:48:20 +0100 Subject: [PATCH 023/195] codacy/lint warnings --- src/ems-esp.cpp | 3 +-- src/ems.cpp | 12 ++++++------ 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index f146d7e5c..24310a706 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -551,8 +551,6 @@ void publishEMSValues(bool force) { StaticJsonDocument doc; char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; - static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off - // do we have boiler changes? if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_BOILER) || force)) { JsonObject rootBoiler = doc.to(); @@ -657,6 +655,7 @@ void publishEMSValues(bool force) { // see if the heating or hot tap water has changed, if so send // last_boilerActive stores heating in bit 1 and tap water in bit 2 + static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off if ((last_boilerActive != ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive)) || force) { myDebugLog("Publishing hot water and heating states via MQTT"); myESP.mqttPublish(TOPIC_BOILER_TAPWATER_ACTIVE, EMS_Boiler.tapwaterActive == 1 ? "1" : "0"); diff --git a/src/ems.cpp b/src/ems.cpp index 1aa312bb2..d0de591d0 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -749,14 +749,14 @@ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { * or either a return code like 0x01 or 0x04 from the last Write command */ if (length == 1) { - uint8_t value = telegram[0]; // 1st byte of data package - static uint32_t _last_emsPollFrequency = 0; + uint8_t value = telegram[0]; // 1st byte of data package // check first for a Poll for us if ((value ^ 0x80 ^ EMS_Sys_Status.emsIDMask) == EMS_ID_ME) { - uint32_t timenow_microsecs = micros(); - EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); - _last_emsPollFrequency = timenow_microsecs; + static uint32_t _last_emsPollFrequency = 0; + uint32_t timenow_microsecs = micros(); + EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); + _last_emsPollFrequency = timenow_microsecs; // do we have something to send thats waiting in the Tx queue? // if so send it if the Queue is not in a wait state @@ -877,7 +877,6 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t length = EMS_RxTelegram->data_length; char output_str[200] = {0}; - char buffer[16] = {0}; char color_s[20] = {0}; char type_s[30]; @@ -899,6 +898,7 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram) { } if (length) { + char buffer[16] = {0}; // type strlcat(output_str, ", type 0x", sizeof(output_str)); From 9358544a7d6c64a215b6e2efa3d6c2155f272cb8 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 31 Dec 2019 13:31:13 +0100 Subject: [PATCH 024/195] minor fix for rendering mixer flowtemp - #270 --- src/ems.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index d0de591d0..2b7dc589c 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -123,7 +123,7 @@ void ems_init() { // init all mixing modules for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) { EMS_Mixing.hc[i].hc = i + 1; - EMS_Mixing.hc[i].flowTemp = EMS_VALUE_SHORT_NOTSET; + EMS_Mixing.hc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; EMS_Mixing.hc[i].pumpMod = EMS_VALUE_INT_NOTSET; EMS_Mixing.hc[i].valveStatus = EMS_VALUE_INT_NOTSET; EMS_Mixing.hc[i].flowSetTemp = EMS_VALUE_INT_NOTSET; From 3005e0553d74bd447c7708760018c6fd9fed25a4 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Wed, 1 Jan 2020 13:23:57 +0100 Subject: [PATCH 025/195] changed some values from ushort to short and notset-value to -32000 --- src/ems-esp.cpp | 12 +++++++++--- src/ems.cpp | 9 +++++++++ src/ems.h | 6 +++--- src/ems_utils.cpp | 2 +- 4 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 728b45b33..e15787e9f 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -441,6 +441,8 @@ void showInfo() { _renderIntValue(" Night temperature", "C", EMS_Thermostat.hc[hc_num - 1].nighttemp, 2); // convert to a single byte * 2 _renderIntValue(" Vacation temperature", "C", EMS_Thermostat.hc[hc_num - 1].holidaytemp, 2); // convert to a single byte * 2 } + if (EMS_Thermostat.hc[hc_num - 1].circuitcalctemp != EMS_VALUE_USHORT_NOTSET) + _renderIntValue(" calculatet flow temperature", "C",EMS_Thermostat.hc[hc_num - 1].circuitcalctemp); // Render Thermostat Mode _EMS_THERMOSTAT_MODE thermoMode; @@ -472,15 +474,19 @@ void showInfo() { if (ems_getMixingDeviceEnabled()) { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sMixing module stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); - _renderUShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); + myDebug_P(PSTR(" Mixing: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type,false)); + if (EMS_Boiler.switchTemp != EMS_VALUE_SHORT_NOTSET) + _renderShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { if (EMS_Mixing.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); - _renderUShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); + if (EMS_Mixing.hc[hc_num - 1].flowTemp != EMS_VALUE_SHORT_NOTSET) + _renderShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) _renderIntValue(" Setpoint flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowSetTemp); - _renderIntValue(" Current pump modulation", "%", EMS_Mixing.hc[hc_num - 1].pumpMod); + if (EMS_Mixing.hc[hc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Current pump modulation", "%", EMS_Mixing.hc[hc_num - 1].pumpMod); if (EMS_Mixing.hc[hc_num - 1].valveStatus != EMS_VALUE_INT_NOTSET) _renderIntValue(" Current valve status", "", EMS_Mixing.hc[hc_num - 1].valveStatus); } diff --git a/src/ems.cpp b/src/ems.cpp index b47b791f2..b052decf9 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -161,6 +161,7 @@ void ems_init() { EMS_Boiler.burnStarts = EMS_VALUE_LONG_NOTSET; // # burner restarts EMS_Boiler.burnWorkMin = EMS_VALUE_LONG_NOTSET; // Total burner operating time EMS_Boiler.heatWorkMin = EMS_VALUE_LONG_NOTSET; // Total heat operating time + EMS_Boiler.switchTemp = EMS_VALUE_SHORT_NOTSET; // UBAMonitorWWMessage EMS_Boiler.wWCurTmp = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature @@ -1243,6 +1244,7 @@ void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { if (hc != 0) { return; // invalid type } + //hc++; EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); @@ -1767,6 +1769,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Mixing.device_desc_p = device_desc_p; EMS_Mixing.device_flags = flags; EMS_Mixing.detected = true; + strlcpy(EMS_Mixing.version, version, sizeof(EMS_Mixing.version)); ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC1, device_id); // fetch MM values } } @@ -1979,6 +1982,12 @@ char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, boo product_id = EMS_HeatPump.product_id; device_desc_p = EMS_HeatPump.device_desc_p; version = EMS_HeatPump.version; + } else if (device_type == EMS_DEVICE_TYPE_MIXING) { + enabled = ems_getMixingDeviceEnabled(); + device_id = EMS_Mixing.device_id; + product_id = EMS_Mixing.product_id; + device_desc_p = EMS_Mixing.device_desc_p; + version = EMS_Mixing.version; } if (!enabled) { diff --git a/src/ems.h b/src/ems.h index efc3a3f27..c6fde8fd7 100644 --- a/src/ems.h +++ b/src/ems.h @@ -27,7 +27,7 @@ #define EMS_VALUE_BOOL_ON2 0xFF // boolean true, EMS sometimes uses 0xFF for TRUE #define EMS_VALUE_BOOL_OFF 0x00 // boolean false #define EMS_VALUE_INT_NOTSET 0xFF // for 8-bit unsigned ints/bytes -#define EMS_VALUE_SHORT_NOTSET -32768 // for 2-byte signed shorts +#define EMS_VALUE_SHORT_NOTSET -32000 //-32768 // for 2-byte signed shorts #define EMS_VALUE_USHORT_NOTSET 0x8000 // for 2-byte unsigned shorts #define EMS_VALUE_LONG_NOTSET 0xFFFFFF // for 3-byte longs #define EMS_VALUE_BOOL_NOTSET 0xFE // random number that's not 0, 1 or FF @@ -282,7 +282,7 @@ typedef struct { uint32_t burnStarts; // # burner starts uint32_t burnWorkMin; // Total burner operating time uint32_t heatWorkMin; // Total heat operating time - uint16_t switchTemp; // Switch temperature + int16_t switchTemp; // Switch temperature // UBAMonitorWWMessage uint16_t wWCurTmp; // Warm Water current temperature @@ -322,7 +322,7 @@ typedef struct { typedef struct { uint8_t hc; // heating circuit 1, 2, 3 or 4 bool active; // true if there is data for this HC - uint16_t flowTemp; + int16_t flowTemp; uint8_t pumpMod; uint8_t valveStatus; uint8_t flowSetTemp; diff --git a/src/ems_utils.cpp b/src/ems_utils.cpp index 4d61cdfef..286020c13 100644 --- a/src/ems_utils.cpp +++ b/src/ems_utils.cpp @@ -40,7 +40,7 @@ char * _bool_to_char(char * s, uint8_t value) { // negative values are assumed stored as 1-compliment (https://medium.com/@LeeJulija/how-integers-are-stored-in-memory-using-twos-complement-5ba04d61a56c) char * _short_to_char(char * s, int16_t value, uint8_t decimals) { // remove errors or invalid values - if (value == EMS_VALUE_SHORT_NOTSET) { + if (value == EMS_VALUE_SHORT_NOTSET || value == EMS_VALUE_USHORT_NOTSET) { strlcpy(s, "?", 10); return (s); } From 0b6c1715d55c42aa497b0f398e218d15ff56ea64 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Wed, 1 Jan 2020 14:00:29 +0100 Subject: [PATCH 026/195] changed some values from ushort to short and notset-value to -32000 --- src/ems.cpp | 1 - src/ems.h | 6 +++--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 98ea21195..62691d884 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1244,7 +1244,6 @@ void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { if (hc != 0) { return; // invalid type } - //hc++; EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); diff --git a/src/ems.h b/src/ems.h index c6fde8fd7..152033679 100644 --- a/src/ems.h +++ b/src/ems.h @@ -27,7 +27,7 @@ #define EMS_VALUE_BOOL_ON2 0xFF // boolean true, EMS sometimes uses 0xFF for TRUE #define EMS_VALUE_BOOL_OFF 0x00 // boolean false #define EMS_VALUE_INT_NOTSET 0xFF // for 8-bit unsigned ints/bytes -#define EMS_VALUE_SHORT_NOTSET -32000 //-32768 // for 2-byte signed shorts +#define EMS_VALUE_SHORT_NOTSET -32000 // was -32768 for 2-byte signed shorts #define EMS_VALUE_USHORT_NOTSET 0x8000 // for 2-byte unsigned shorts #define EMS_VALUE_LONG_NOTSET 0xFFFFFF // for 3-byte longs #define EMS_VALUE_BOOL_NOTSET 0xFE // random number that's not 0, 1 or FF @@ -282,7 +282,7 @@ typedef struct { uint32_t burnStarts; // # burner starts uint32_t burnWorkMin; // Total burner operating time uint32_t heatWorkMin; // Total heat operating time - int16_t switchTemp; // Switch temperature + int16_t switchTemp; // Switch temperature // UBAMonitorWWMessage uint16_t wWCurTmp; // Warm Water current temperature @@ -322,7 +322,7 @@ typedef struct { typedef struct { uint8_t hc; // heating circuit 1, 2, 3 or 4 bool active; // true if there is data for this HC - int16_t flowTemp; + int16_t flowTemp; uint8_t pumpMod; uint8_t valveStatus; uint8_t flowSetTemp; From d3427011fb6d7d8ae9cbc262147219aeb8c92752 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 1 Jan 2020 14:58:39 +0100 Subject: [PATCH 027/195] added 0xAC for HC2 on switch and mixers --- src/ems_devices.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 5a52eb7ba..3dc105356 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -198,7 +198,8 @@ const _EMS_Device_Types EMS_Devices_Types[] = { #define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent // MM10 -#define EMS_TYPE_MMStatusMessage 0xAB // mixer status +#define EMS_TYPE_MMStatusMessage_HC1 0xAB // mixer status HC1 +#define EMS_TYPE_MMStatusMessage_HC2 0xAC // mixer status HC2 #define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint #define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature #define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent From 2684ccc59401a1d19f5594a089abed2dc459db00 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 1 Jan 2020 14:59:11 +0100 Subject: [PATCH 028/195] any unsigned short >0x8000 is a non-value --- src/ems.cpp | 16 ++++++++++------ src/ems_utils.cpp | 4 ++-- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 2b7dc589c..c6312a8b9 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -349,7 +349,7 @@ void _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint16_t * param_op, uint8_t in uint16_t value = (EMS_RxTelegram->data[pos] << 8) + EMS_RxTelegram->data[pos + 1]; // check for undefined/unset values, 0x8000 - if (value == EMS_VALUE_USHORT_NOTSET) { + if (value >= EMS_VALUE_USHORT_NOTSET) { return; } @@ -1226,6 +1226,7 @@ void _process_EasyStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_EasyStatusMessage_setpoint); // is * 100 } +// 0x01D7, 0x01D8 void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMPLUSStatusMessage_HC1); // 0 to 3 if (hc >= EMS_THERMOSTAT_MAXHC) { @@ -1238,17 +1239,19 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } +// 0xAB, 0xAC - for MM10 HC1 and HC2 on a switch void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage); - if (hc != 0) { + uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage_HC1); // 0 to 3 + if (hc >= EMS_THERMOSTAT_MAXHC) { return; // invalid type } EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].pumpMod, EMS_OFFSET_MMStatusMessage_pump_mod); - //_setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMStatusMessage_valve_status); _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowSetTemp, EMS_OFFSET_MMStatusMessage_flow_set); + + //_setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMStatusMessage_valve_status); } /** @@ -2718,10 +2721,11 @@ const _EMS_Type EMS_Types[] = { // Junkers FR10 {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_JunkersStatusMessage, "JunkersStatusMessage", _process_JunkersStatusMessage}, - // Mixing devices + // Mixing devices MM10 - MM400 {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage} + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage_HC1, "MMStatusMessage", _process_MMStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage_HC2, "MMStatusMessage", _process_MMStatusMessage} }; diff --git a/src/ems_utils.cpp b/src/ems_utils.cpp index 4d61cdfef..46465fb86 100644 --- a/src/ems_utils.cpp +++ b/src/ems_utils.cpp @@ -76,11 +76,11 @@ char * _short_to_char(char * s, int16_t value, uint8_t decimals) { return s; } -// convert short (two bytes) to text string and prints it +// convert unsigned short (two bytes) to text string and prints it // decimals: 0 = no division, 1=divide value by 10, 2=divide by 2, 10=divide value by 100 char * _ushort_to_char(char * s, uint16_t value, uint8_t decimals) { // remove errors or invalid values - if (value == EMS_VALUE_USHORT_NOTSET) { + if (value >= EMS_VALUE_USHORT_NOTSET) { strlcpy(s, "?", 10); return (s); } From dcbccc86044e207f7572757ef2de0551f0fd2579 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Wed, 1 Jan 2020 18:35:54 +0100 Subject: [PATCH 029/195] MM10 assigned to HC2 --- src/ems-esp.cpp | 2 +- src/ems.cpp | 5 ++--- src/ems_devices.h | 3 +-- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 5a2c16b4d..6de507d08 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -442,7 +442,7 @@ void showInfo() { _renderIntValue(" Vacation temperature", "C", EMS_Thermostat.hc[hc_num - 1].holidaytemp, 2); // convert to a single byte * 2 } if (EMS_Thermostat.hc[hc_num - 1].circuitcalctemp != EMS_VALUE_USHORT_NOTSET) - _renderIntValue(" calculatet flow temperature", "C",EMS_Thermostat.hc[hc_num - 1].circuitcalctemp); + _renderIntValue(" Calculatet flow temperature", "C",EMS_Thermostat.hc[hc_num - 1].circuitcalctemp); // Render Thermostat Mode _EMS_THERMOSTAT_MODE thermoMode; diff --git a/src/ems.cpp b/src/ems.cpp index 53d7d96a7..332ab5b6b 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1240,9 +1240,9 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } -// 0xAB, 0xAC - for MM10 HC1 and HC2 on a switch +// 0xAB for MM10 HC2 void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage_HC1); // 0 to 3 + uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage_HC2+1); // 1 to 3 if (hc >= EMS_THERMOSTAT_MAXHC) { return; // invalid type } @@ -2732,7 +2732,6 @@ const _EMS_Type EMS_Types[] = { // Mixing devices MM10 - MM400 {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage_HC1, "MMStatusMessage", _process_MMStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage_HC2, "MMStatusMessage", _process_MMStatusMessage} }; diff --git a/src/ems_devices.h b/src/ems_devices.h index 3dc105356..8542f7488 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -198,8 +198,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { #define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent // MM10 -#define EMS_TYPE_MMStatusMessage_HC1 0xAB // mixer status HC1 -#define EMS_TYPE_MMStatusMessage_HC2 0xAC // mixer status HC2 +#define EMS_TYPE_MMStatusMessage_HC2 0xAB // mixer status HC2 #define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint #define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature #define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent From c8b4f57b32a93db1e99798fdf83567563aecf5e5 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 1 Jan 2020 21:59:21 +0100 Subject: [PATCH 030/195] rollback MM10 HC2 (which isn't) --- src/ems.cpp | 10 +++------- src/ems_devices.h | 3 +-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index c6312a8b9..b13464664 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1239,12 +1239,9 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } -// 0xAB, 0xAC - for MM10 HC1 and HC2 on a switch +// 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage_HC1); // 0 to 3 - if (hc >= EMS_THERMOSTAT_MAXHC) { - return; // invalid type - } + uint8_t hc = 0; // fixed, for 0xAB EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); @@ -2724,8 +2721,7 @@ const _EMS_Type EMS_Types[] = { // Mixing devices MM10 - MM400 {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage_HC1, "MMStatusMessage", _process_MMStatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage_HC2, "MMStatusMessage", _process_MMStatusMessage} + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage} }; diff --git a/src/ems_devices.h b/src/ems_devices.h index 3dc105356..5a52eb7ba 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -198,8 +198,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { #define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent // MM10 -#define EMS_TYPE_MMStatusMessage_HC1 0xAB // mixer status HC1 -#define EMS_TYPE_MMStatusMessage_HC2 0xAC // mixer status HC2 +#define EMS_TYPE_MMStatusMessage 0xAB // mixer status #define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint #define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature #define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent From a8aa5e4f7f6223075d290a4cdae3a6ecb888c7fa Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 2 Jan 2020 09:43:26 +0100 Subject: [PATCH 031/195] merge with proddy dev branch --- src/ems-esp.cpp | 8 ++++---- src/ems.cpp | 9 +++------ src/ems.h | 2 +- src/ems_devices.h | 2 +- src/ems_utils.cpp | 2 +- 5 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 6de507d08..7da76ce3a 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -475,17 +475,17 @@ void showInfo() { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sMixing module stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Mixing: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type,false)); - if (EMS_Boiler.switchTemp != EMS_VALUE_SHORT_NOTSET) + //if (EMS_Boiler.switchTemp != EMS_VALUE_SHORT_NOTSET) _renderShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { if (EMS_Mixing.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); - if (EMS_Mixing.hc[hc_num - 1].flowTemp != EMS_VALUE_SHORT_NOTSET) + //if (EMS_Mixing.hc[hc_num - 1].flowTemp != EMS_VALUE_SHORT_NOTSET) _renderShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); - if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) + //if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) _renderIntValue(" Setpoint flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowSetTemp); - if (EMS_Mixing.hc[hc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) + //if (EMS_Mixing.hc[hc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) _renderIntValue(" Current pump modulation", "%", EMS_Mixing.hc[hc_num - 1].pumpMod); if (EMS_Mixing.hc[hc_num - 1].valveStatus != EMS_VALUE_INT_NOTSET) _renderIntValue(" Current valve status", "", EMS_Mixing.hc[hc_num - 1].valveStatus); diff --git a/src/ems.cpp b/src/ems.cpp index 332ab5b6b..4d3a72943 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1240,12 +1240,9 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } -// 0xAB for MM10 HC2 +// 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMStatusMessage_HC2+1); // 1 to 3 - if (hc >= EMS_THERMOSTAT_MAXHC) { - return; // invalid type - } + uint8_t hc = 1; // fixed, for 0xAB EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); @@ -2732,7 +2729,7 @@ const _EMS_Type EMS_Types[] = { // Mixing devices MM10 - MM400 {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage_HC2, "MMStatusMessage", _process_MMStatusMessage} + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage} }; diff --git a/src/ems.h b/src/ems.h index 152033679..6badb513e 100644 --- a/src/ems.h +++ b/src/ems.h @@ -28,7 +28,7 @@ #define EMS_VALUE_BOOL_OFF 0x00 // boolean false #define EMS_VALUE_INT_NOTSET 0xFF // for 8-bit unsigned ints/bytes #define EMS_VALUE_SHORT_NOTSET -32000 // was -32768 for 2-byte signed shorts -#define EMS_VALUE_USHORT_NOTSET 0x8000 // for 2-byte unsigned shorts +#define EMS_VALUE_USHORT_NOTSET 32000 // was 0x8000 for 2-byte unsigned shorts #define EMS_VALUE_LONG_NOTSET 0xFFFFFF // for 3-byte longs #define EMS_VALUE_BOOL_NOTSET 0xFE // random number that's not 0, 1 or FF diff --git a/src/ems_devices.h b/src/ems_devices.h index 8542f7488..5a52eb7ba 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -198,7 +198,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { #define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent // MM10 -#define EMS_TYPE_MMStatusMessage_HC2 0xAB // mixer status HC2 +#define EMS_TYPE_MMStatusMessage 0xAB // mixer status #define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint #define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature #define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent diff --git a/src/ems_utils.cpp b/src/ems_utils.cpp index a617018f4..6746f289c 100644 --- a/src/ems_utils.cpp +++ b/src/ems_utils.cpp @@ -40,7 +40,7 @@ char * _bool_to_char(char * s, uint8_t value) { // negative values are assumed stored as 1-compliment (https://medium.com/@LeeJulija/how-integers-are-stored-in-memory-using-twos-complement-5ba04d61a56c) char * _short_to_char(char * s, int16_t value, uint8_t decimals) { // remove errors or invalid values - if (value == EMS_VALUE_SHORT_NOTSET || value == EMS_VALUE_USHORT_NOTSET) { + if (value <= EMS_VALUE_SHORT_NOTSET) { strlcpy(s, "?", 10); return (s); } From d2316518acb98e20be6ad122c21659187e2c615b Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 2 Jan 2020 18:05:40 +0100 Subject: [PATCH 032/195] don't detect HCs if there not active - #238 --- scripts/main_script.py | 2 +- src/ems.cpp | 48 ++++++++++++++++++++++-------------------- src/ems.h | 2 +- src/version.h | 2 +- 4 files changed, 28 insertions(+), 26 deletions(-) diff --git a/scripts/main_script.py b/scripts/main_script.py index 61b873da9..cc0c8b47d 100644 --- a/scripts/main_script.py +++ b/scripts/main_script.py @@ -25,7 +25,7 @@ def clr(color, text): def remove_float_support(): flags = " ".join(env['LINKFLAGS']) - print(clr(Color.BLUE, "** LINKFLAGS = %ss" % flags)) + print(clr(Color.BLUE, "LINKFLAGS = %ss" % flags)) flags = flags.replace("-u _printf_float", "") flags = flags.replace("-u _scanf_float", "") newflags = flags.split() diff --git a/src/ems.cpp b/src/ems.cpp index b13464664..cb383837c 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1199,7 +1199,10 @@ void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { return; } - uint8_t hc_num = _getHeatingCircuit(EMS_RxTelegram); // which HC is it, 0-3 + int8_t hc_num = _getHeatingCircuit(EMS_RxTelegram); // which HC is it, 0-3 + if (hc_num == -1) { + return; + } // ignore if the value is 0 (see https://github.com/proddy/EMS-ESP/commit/ccc30738c00f12ae6c89177113bd15af9826b836) if (EMS_RxTelegram->data[EMS_OFFSET_RC35StatusMessage_setpoint] != 0x00) { @@ -1357,29 +1360,25 @@ void _process_RC30Set(_EMS_RxTelegram * EMS_RxTelegram) { // return which heating circuit it is, 0-3 for HC1 to HC4 // based on type 0x3E (HC1), 0x48 (HC2), 0x52 (HC3), 0x5C (HC4) -uint8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc_num; - switch (EMS_RxTelegram->type) { - case EMS_TYPE_RC35StatusMessage_HC1: - case EMS_TYPE_RC35Set_HC1: - default: - hc_num = 1; // also default - break; - case EMS_TYPE_RC35StatusMessage_HC2: - case EMS_TYPE_RC35Set_HC2: - hc_num = 2; - break; - case EMS_TYPE_RC35StatusMessage_HC3: - case EMS_TYPE_RC35Set_HC3: - hc_num = 3; - break; - case EMS_TYPE_RC35StatusMessage_HC4: - case EMS_TYPE_RC35Set_HC4: - hc_num = 4; - break; +int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram) { + // check to see we have an active HC. Assuming first byte must have some bit status set. + // see https://github.com/proddy/EMS-ESP/issues/238 + if (EMS_RxTelegram->data[0] == 0x00) { + return -1; + } + + int8_t hc_num = 0; // default is HC1 + + if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC2) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC2)) { + hc_num = 1; + } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC3) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC3)) { + hc_num = 2; + } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC4) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC4)) { + hc_num = 3; + } else { + return -1; // not a valid HC } - hc_num--; EMS_Thermostat.hc[hc_num].active = true; return (hc_num); @@ -1400,7 +1399,10 @@ void _process_RC35Set(_EMS_RxTelegram * EMS_RxTelegram) { return; } - uint8_t hc_num = _getHeatingCircuit(EMS_RxTelegram); // which HC is it? + int8_t hc_num = _getHeatingCircuit(EMS_RxTelegram); // which HC is it, 0-3 + if (hc_num == -1) { + return; + } _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].mode, EMS_OFFSET_RC35Set_mode); // night, day, auto _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].daytemp, EMS_OFFSET_RC35Set_temp_day); // is * 2 diff --git a/src/ems.h b/src/ems.h index efc3a3f27..4ffa61eb0 100644 --- a/src/ems.h +++ b/src/ems.h @@ -456,7 +456,7 @@ void _processType(_EMS_RxTelegram * EMS_RxTelegram); void _debugPrintPackage(const char * prefix, _EMS_RxTelegram * EMS_RxTelegram, const char * color); void _ems_clearTxData(); void _removeTxQueue(); -uint8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram); +int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram); // global so can referenced in other classes extern _EMS_Sys_Status EMS_Sys_Status; diff --git a/src/version.h b/src/version.h index 72543df5c..065e5b802 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b8" +#define APP_VERSION "1.9.5b9" From 18c6f7a7b72d51faee69157b39384e68c4dadb6a Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 2 Jan 2020 22:45:13 +0100 Subject: [PATCH 033/195] clean up HCs - #238 --- src/ems.cpp | 46 ++++++++++++++++++++++++---------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index cb383837c..3f6d2482c 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1199,22 +1199,22 @@ void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { return; } - int8_t hc_num = _getHeatingCircuit(EMS_RxTelegram); // which HC is it, 0-3 - if (hc_num == -1) { + int8_t hc = _getHeatingCircuit(EMS_RxTelegram); // which HC is it, 0-3 + if (hc == -1) { return; } // ignore if the value is 0 (see https://github.com/proddy/EMS-ESP/commit/ccc30738c00f12ae6c89177113bd15af9826b836) if (EMS_RxTelegram->data[EMS_OFFSET_RC35StatusMessage_setpoint] != 0x00) { - _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].setpoint_roomTemp, EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2, force to single byte + _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2, force to single byte } // ignore if the value is unset. Hopefully it will be picked up via a later message - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].day_mode, EMS_OFFSET_RC35StatusMessage_mode, 1); - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].summer_mode, EMS_OFFSET_RC35StatusMessage_mode, 0); - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].holiday_mode, EMS_OFFSET_RC35StatusMessage_mode1, 5); - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].circuitcalctemp, EMS_OFFSET_RC35Set_circuitcalctemp); + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_RC35StatusMessage_mode, 1); + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].summer_mode, EMS_OFFSET_RC35StatusMessage_mode, 0); + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].holiday_mode, EMS_OFFSET_RC35StatusMessage_mode1, 5); + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].circuitcalctemp, EMS_OFFSET_RC35Set_circuitcalctemp); } /** @@ -1367,21 +1367,23 @@ int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram) { return -1; } - int8_t hc_num = 0; // default is HC1 + int8_t hc; - if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC2) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC2)) { - hc_num = 1; + if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC1) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC1)) { + hc = 0; + } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC2) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC2)) { + hc = 1; } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC3) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC3)) { - hc_num = 2; + hc = 2; } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC4) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC4)) { - hc_num = 3; + hc = 3; } else { return -1; // not a valid HC } - EMS_Thermostat.hc[hc_num].active = true; + EMS_Thermostat.hc[hc].active = true; - return (hc_num); + return (hc); } /** @@ -1399,16 +1401,16 @@ void _process_RC35Set(_EMS_RxTelegram * EMS_RxTelegram) { return; } - int8_t hc_num = _getHeatingCircuit(EMS_RxTelegram); // which HC is it, 0-3 - if (hc_num == -1) { + int8_t hc = _getHeatingCircuit(EMS_RxTelegram); // which HC is it, 0-3 + if (hc == -1) { return; } - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].mode, EMS_OFFSET_RC35Set_mode); // night, day, auto - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].daytemp, EMS_OFFSET_RC35Set_temp_day); // is * 2 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].nighttemp, EMS_OFFSET_RC35Set_temp_night); // is * 2 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].holidaytemp, EMS_OFFSET_RC35Set_temp_holiday); // is * 2 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc_num].heatingtype, EMS_OFFSET_RC35Set_heatingtype); // byte 0 bit floor heating = 3 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RC35Set_mode); // night, day, auto + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].daytemp, EMS_OFFSET_RC35Set_temp_day); // is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].nighttemp, EMS_OFFSET_RC35Set_temp_night); // is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].holidaytemp, EMS_OFFSET_RC35Set_temp_holiday); // is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].heatingtype, EMS_OFFSET_RC35Set_heatingtype); // byte 0 bit floor heating = 3 } /** From 0af60a320d5b2c7f9b84924529fed7e5ff57611a Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 3 Jan 2020 11:24:12 +0100 Subject: [PATCH 034/195] writing to Junkers thermostats - #138 --- CHANGELOG.md | 1 + src/ems.cpp | 71 +++++++++++++++++++++++++++++++++++++++++++---- src/ems_devices.h | 25 +++++++++++++---- src/version.h | 2 +- 4 files changed, 86 insertions(+), 13 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 714ded96c..9ec62a5f5 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Solar Module SM200 support - `set master_thermostat ` to choose with thermostat is master when there are multiple on the bus - MM10 Mixer support (thanks @MichaelDvP) +- First implementation of writing to Junker Thermostats (thanks @Neonox31) ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 diff --git a/src/ems.cpp b/src/ems.cpp index 3f6d2482c..8a0b16cc0 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -534,7 +534,7 @@ void _ems_sendTelegram() { _EMS_RxTelegram EMS_RxTelegram; // create new Rx object EMS_RxTelegram.length = EMS_TxTelegram.length; // full length of telegram EMS_RxTelegram.telegram = EMS_TxTelegram.data; - EMS_RxTelegram.data_length = 0; // ignore #data= + EMS_RxTelegram.data_length = 0; // surpress #data= EMS_RxTelegram.timestamp = myESP.getSystemTime(); // now _debugPrintTelegram("Sending raw: ", &EMS_RxTelegram, COLOR_CYAN, true); } @@ -1209,7 +1209,6 @@ void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2, force to single byte } - // ignore if the value is unset. Hopefully it will be picked up via a later message _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_RC35StatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].summer_mode, EMS_OFFSET_RC35StatusMessage_mode, 0); @@ -1290,13 +1289,15 @@ void _process_RCPLUSStatusMode(_EMS_RxTelegram * EMS_RxTelegram) { } /** - * FR10/FR50/FR100 Junkers - type x006F + * FR10/FR50/FR100 Junkers - type x6F * e.g. for FR10: 90 00 FF 00 00 6F 03 01 00 BE 00 BF * for FW100: 90 00 FF 00 00 6F 03 02 00 D7 00 DA F3 34 00 C4 */ void _process_JunkersStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 - EMS_Thermostat.hc[hc].active = true; + int8_t hc = _getHeatingCircuit(EMS_RxTelegram); // which HC is it, 0-3 + if (hc == -1) { + return; + } _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_JunkersStatusMessage_curr); // value is * 10 _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_JunkersStatusMessage_setpoint); // value is * 10 @@ -2286,6 +2287,44 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } + else if (model == EMS_DEVICE_FLAG_JUNKERS) { + switch (temptype) { + case 1: // change the no frost temp + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_no_frost_temp; + break; + case 2: // change the night temp + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; + break; + case 3: // change the day temp + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_day_temp; + break; + default: + case 0: // automatic selection, if no type is defined, we use the standard code + // not sure if this is correct for Junkers + if (EMS_Thermostat.hc[hc_num - 1].day_mode == 0) { + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; + } else if (EMS_Thermostat.hc[hc_num - 1].day_mode == 1) { + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_day_temp; + } + break; + } + + if (hc_num == 1) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + } else if (hc_num == 2) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + } else if (hc_num == 3) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + } else if (hc_num == 4) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + } + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; EMS_TxTelegram.dataValue = (uint8_t)((float)temperature * (float)2); // value * 2 EMS_TxTelegram.comparisonOffset = EMS_TxTelegram.offset; @@ -2379,6 +2418,23 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_mode; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } else if (model == EMS_DEVICE_FLAG_JUNKERS) { + if (hc_num == 1) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + } else if (hc_num == 2) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC2; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC2; + } else if (hc_num == 3) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC3; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC3; + } else if (hc_num == 4) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC4; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC4; + } + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } else if (model == EMS_DEVICE_FLAG_RC300) { EMS_TxTelegram.offset = EMS_OFFSET_RCPLUSSet_mode; @@ -2720,7 +2776,10 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RCPLUSStatusMode, "RCPLUSStatusMode", _process_RCPLUSStatusMode}, // Junkers FR10 - {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_JunkersStatusMessage, "JunkersStatusMessage", _process_JunkersStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_JunkersStatusMessage_HC1, "JunkersStatusMessage_HC1", _process_JunkersStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_JunkersStatusMessage_HC2, "JunkersStatusMessage_HC2", _process_JunkersStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_JunkersStatusMessage_HC3, "JunkersStatusMessage_HC3", _process_JunkersStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_JunkersStatusMessage_HC4, "JunkersStatusMessage_HC4", _process_JunkersStatusMessage}, // Mixing devices MM10 - MM400 {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, diff --git a/src/ems_devices.h b/src/ems_devices.h index 5a52eb7ba..2bdeeff68 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -181,13 +181,26 @@ const _EMS_Device_Types EMS_Devices_Types[] = { #define EMS_OFFSET_RCPLUSSet_temp_setpoint 8 // temp setpoint, when changing of templevel (in auto) value is reset and set to FF #define EMS_OFFSET_RCPLUSSet_manual_setpoint 10 // manual setpoint -// Junkers FR10, FR50, FW100 (EMS Plus) -#define EMS_TYPE_JunkersStatusMessage 0x6F // is an automatic thermostat broadcast giving us temps +// Junkers FR10, FR50, FW100, FW120 (EMS Plus) +#define EMS_TYPE_JunkersStatusMessage_HC1 0x6F // is an automatic thermostat broadcast giving us temps +#define EMS_TYPE_JunkersStatusMessage_HC2 0x70 // is an automatic thermostat broadcast giving us temps +#define EMS_TYPE_JunkersStatusMessage_HC3 0x71 // is an automatic thermostat broadcast giving us temps +#define EMS_TYPE_JunkersStatusMessage_HC4 0x72 // is an automatic thermostat broadcast giving us temps + #define EMS_OFFSET_JunkersStatusMessage_daymode 0 // 3 = day, 2 = night #define EMS_OFFSET_JunkersStatusMessage_mode 1 // current mode, 1 = manual, 2 = auto #define EMS_OFFSET_JunkersStatusMessage_setpoint 2 // setpoint temp #define EMS_OFFSET_JunkersStatusMessage_curr 4 // current temp +#define EMS_TYPE_JunkersSetMessage_HC1 0x65 // EMS type to set temperature on thermostat for heating circuit 1 +#define EMS_TYPE_JunkersSetMessage_HC2 0x66 // EMS type to set temperature on thermostat for heating circuit 2 +#define EMS_TYPE_JunkersSetMessage_HC3 0x67 // EMS type to set temperature on thermostat for heating circuit 3 +#define EMS_TYPE_JunkersSetMessage_HC4 0x68 // EMS type to set temperature on thermostat for heating circuit 4 +#define EMS_OFFSET_JunkersSetMessage_day_temp 0x11 // EMS offset to set temperature on thermostat for day mode +#define EMS_OFFSET_JunkersSetMessage_night_temp 0x10 // EMS offset to set temperature on thermostat for night mode +#define EMS_OFFSET_JunkersSetMessage_no_frost_temp 0x0F // EMS offset to set temperature on thermostat for no frost mode +#define EMS_OFFSET_JunkersSetMessage_set_mode 0x0E // EMS offset to set mode on thermostat + // MM100 (EMS Plus) #define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixer status HC1 #define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2 @@ -294,14 +307,14 @@ static const _EMS_Device EMS_Devices[] = { {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 // Junkers - {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write + {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 {106, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW200", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write {108, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR110", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write - {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write + {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 + {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write {191, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR120", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write - {192, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW120", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write - {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE} // 0x10, cannot write + {192, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW120", EMS_DEVICE_FLAG_JUNKERS} // 0x10 }; diff --git a/src/version.h b/src/version.h index 065e5b802..955986cb8 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b9" +#define APP_VERSION "1.9.5b10" From 5ce0b64bb46274a45ad08da7ffc4633054025dad Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 3 Jan 2020 13:10:26 +0100 Subject: [PATCH 035/195] support for multiple productids - #278 --- src/ems.cpp | 30 +++++++++++++++++++----------- src/ems.h | 1 + src/ems_devices.h | 12 ++++++++---- src/version.h | 2 +- 4 files changed, 29 insertions(+), 16 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 8a0b16cc0..17de38bfc 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1707,13 +1707,22 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { } // scan through known devices matching the productid - uint8_t product_id = EMS_RxTelegram->data[offset]; - uint8_t i = 0; - bool typeFound = false; - while (i < _EMS_Devices_max) { + uint8_t product_id = EMS_RxTelegram->data[offset]; + uint8_t i = 0; + uint8_t found_index = 0; + bool typeFound = false; + while ((i < _EMS_Devices_max) || (!typeFound)) { if (EMS_Devices[i].product_id == product_id) { - typeFound = true; // we have a matching product id. i is the index. - break; + // we have a matching product id + // now lets see if there is a matching device_id since product_id can be on multiple devices + // e.g. with UBAMasters, there is only one device_id 0x08. To avoid https://github.com/proddy/EMS-ESP/issues/271 + _EMS_DEVICE_TYPE device_type = EMS_Devices[i].type; + for (uint8_t j = 0; j < _EMS_Devices_Types_max; j++) { + if ((EMS_Devices_Types[j].device_type == device_type) && (EMS_Devices_Types[j].device_id == device_id)) { + typeFound = true; + found_index = i; + } + } } i++; } @@ -1724,18 +1733,17 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { return; } - const char * device_desc_p = (EMS_Devices[i].device_desc); // pointer to the full description of the device - _EMS_DEVICE_TYPE type = EMS_Devices[i].type; // type + const char * device_desc_p = (EMS_Devices[found_index].device_desc); // pointer to the full description of the device + _EMS_DEVICE_TYPE type = EMS_Devices[found_index].type; // type // we recognized it, see if we already have it in our recognized list if (_addDevice(type, product_id, device_id, device_desc_p, version)) { return; // already in list } - uint8_t flags = EMS_Devices[i].flags; // its a new entry, set the specifics + uint8_t flags = EMS_Devices[found_index].flags; // it's a new entry, set the specifics - if ((type == EMS_DEVICE_TYPE_BOILER) && (device_id == EMS_ID_BOILER)) { - // with UBAMasters, there is only one device_id 0x08. To avoid https://github.com/proddy/EMS-ESP/issues/271 + if (type == EMS_DEVICE_TYPE_BOILER) { EMS_Boiler.device_id = device_id; EMS_Boiler.product_id = product_id; EMS_Boiler.device_flags = flags; diff --git a/src/ems.h b/src/ems.h index 4ffa61eb0..8c0b05fe7 100644 --- a/src/ems.h +++ b/src/ems.h @@ -211,6 +211,7 @@ typedef enum : uint8_t { EMS_DEVICE_TYPE_SWITCH, EMS_DEVICE_TYPE_CONTROLLER, EMS_DEVICE_TYPE_CONNECT, + EMS_DEVICE_TYPE_MODEM, EMS_DEVICE_TYPE_UNKNOWN } _EMS_DEVICE_TYPE; diff --git a/src/ems_devices.h b/src/ems_devices.h index 2bdeeff68..1fdac9178 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -26,6 +26,7 @@ #define EMS_ID_THERMOSTAT1 0x10 // Thermostat #define EMS_ID_THERMOSTAT2 0x17 // Thermostat #define EMS_ID_THERMOSTAT3 0x18 // Thermostat +#define EMS_ID_MODEM 0x19 // Modem // mapping for EMS_Devices_Type const _EMS_Device_Types EMS_Devices_Types[] = { @@ -44,7 +45,8 @@ const _EMS_Device_Types EMS_Devices_Types[] = { {EMS_ID_SWITCH, EMS_DEVICE_TYPE_SWITCH, "Switching Module"}, {EMS_ID_CONTROLLER, EMS_DEVICE_TYPE_CONTROLLER, "Controller"}, {EMS_ID_CONNECT1, EMS_DEVICE_TYPE_CONNECT, "Connect"}, - {EMS_ID_CONNECT2, EMS_DEVICE_TYPE_CONNECT, "Connect"} + {EMS_ID_CONNECT2, EMS_DEVICE_TYPE_CONNECT, "Connect"}, + {EMS_ID_MODEM, EMS_DEVICE_TYPE_MODEM, "Modem"} }; @@ -257,7 +259,7 @@ static const _EMS_Device EMS_Devices[] = { {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_NONE}, {79, EMS_DEVICE_TYPE_MIXING, "MM100 Mixer Module", EMS_DEVICE_FLAG_NONE}, {80, EMS_DEVICE_TYPE_MIXING, "MM200 Mixer Module", EMS_DEVICE_FLAG_NONE}, - //{78, EMS_DEVICE_TYPE_MIXING, "MM400 Mixer Module", EMS_DEVICE_FLAG_NONE}, + {78, EMS_DEVICE_TYPE_MIXING, "MM400 Mixer Module", EMS_DEVICE_FLAG_NONE}, // // HeatPump - type 0x38 @@ -266,7 +268,8 @@ static const _EMS_Device EMS_Devices[] = { {200, EMS_DEVICE_TYPE_HEATPUMP, "HeatPump Module", EMS_DEVICE_FLAG_NONE}, // - // Other devices, like 0x11 for Switching, 0x09 for controllers, 0x02 for Connect, 0x48 for Gateway + // 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 @@ -283,6 +286,7 @@ static const _EMS_Device EMS_Devices[] = { {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_MODEM, "RC Remote Device", EMS_DEVICE_FLAG_NONE}, // 0x19 // // Thermostats, typically device id of 0x10, 0x17, 0x18 and 0x39 (easy) @@ -296,10 +300,10 @@ static const _EMS_Device EMS_Devices[] = { // Buderus/Nefit {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 - {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x18 {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30}, // 0x10 {78, EMS_DEVICE_TYPE_THERMOSTAT, "RC30/Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 + {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x18 {158, EMS_DEVICE_TYPE_THERMOSTAT, "RC300/RC310/Moduline 3000/Bosch CW400/W-B Sense II", EMS_DEVICE_FLAG_RC300}, // 0x10 {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1010", EMS_DEVICE_FLAG_RC300 | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write diff --git a/src/version.h b/src/version.h index 955986cb8..bea92a4f9 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b10" +#define APP_VERSION "1.9.5b11" From 5577685d85e6b6170041432f09475e685bdd2904 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 3 Jan 2020 21:19:22 +0100 Subject: [PATCH 036/195] bug fix for processing version when no match found --- src/ems.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index 17de38bfc..837e6c8c9 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1711,7 +1711,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t i = 0; uint8_t found_index = 0; bool typeFound = false; - while ((i < _EMS_Devices_max) || (!typeFound)) { + while ((i < _EMS_Devices_max) && (!typeFound)) { if (EMS_Devices[i].product_id == product_id) { // we have a matching product id // now lets see if there is a matching device_id since product_id can be on multiple devices @@ -1721,6 +1721,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { if ((EMS_Devices_Types[j].device_type == device_type) && (EMS_Devices_Types[j].device_id == device_id)) { typeFound = true; found_index = i; + break; } } } From 5c6f931d5a3de1654a416fe1ebbd1775d2867bff Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 4 Jan 2020 09:55:22 +0100 Subject: [PATCH 037/195] HC2 fixed for MM10 --- src/ems.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index c4d213c3d..4d3a72943 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1242,7 +1242,7 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = 0; // fixed, for 0xAB + uint8_t hc = 1; // fixed, for 0xAB EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); From 6a2fd4402849f2d42e8358e2cc906435388e76c2 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 4 Jan 2020 12:28:50 +0100 Subject: [PATCH 038/195] MM10 Mixing circuit defaults to hc1 --- src/ems.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index 45cd3fad9..0c54f0007 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1244,7 +1244,7 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = 1; // fixed, for 0xAB + uint8_t hc = 0; // fixed, for 0xAB EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); From a45aae4b98c0eaf8c81ed2073e4b39322ccb2557 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 4 Jan 2020 13:43:14 +0100 Subject: [PATCH 039/195] fixed bug in _getHeatingCirciut --- src/ems.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 0c54f0007..845fd4336 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1244,7 +1244,7 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = 0; // fixed, for 0xAB + uint8_t hc = 1; // fixed, for 0xAB EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); @@ -1371,13 +1371,13 @@ int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram) { int8_t hc; - if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC1) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC1)) { + if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC1) || (EMS_RxTelegram->type == EMS_TYPE_RC35Set_HC1)) { hc = 0; - } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC2) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC2)) { + } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC2) || (EMS_RxTelegram->type == EMS_TYPE_RC35Set_HC2)) { hc = 1; - } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC3) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC3)) { + } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC3) || (EMS_RxTelegram->type == EMS_TYPE_RC35Set_HC3)) { hc = 2; - } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC4) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC4)) { + } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC4) || (EMS_RxTelegram->type == EMS_TYPE_RC35Set_HC4)) { hc = 3; } else { return -1; // not a valid HC @@ -2776,7 +2776,7 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35StatusMessage_HC1, "RC35StatusMessage_HC1", _process_RC35StatusMessage}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35Set_HC2, "RC35Set_HC2", _process_RC35Set}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35StatusMessage_HC2, "RC35StatusMessage_HC2", _process_RC35StatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35Set_HC3, "RC35Set_HC2", _process_RC35Set}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35Set_HC3, "RC35Set_HC3", _process_RC35Set}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35StatusMessage_HC3, "RC35StatusMessage_HC3", _process_RC35StatusMessage}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35Set_HC4, "RC35Set_HC4", _process_RC35Set}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35StatusMessage_HC4, "RC35StatusMessage_HC4", _process_RC35StatusMessage}, From 1ec05d7eb1daf248897fb851c2921e2bebe395db Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 4 Jan 2020 13:47:26 +0100 Subject: [PATCH 040/195] 1.9.5b12 --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index bea92a4f9..4d590e577 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b11" +#define APP_VERSION "1.9.5b12" From f31b2f3a6d9dc51d9ef21f2eb627797039512d0c Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 4 Jan 2020 13:48:02 +0100 Subject: [PATCH 041/195] tidy up --- src/ems_devices.h | 21 +++++++++------------ 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 1fdac9178..a8d3d5046 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -16,7 +16,7 @@ #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_HP 0x38 // HeatPump -#define EMS_ID_GATEWAY 0x48 // Gateway e.g. KM200 Web Gateway +#define EMS_ID_GATEWAY 0x48 // Gateway Modem e.g. KM200 Web Gateway. Also on 0x0A->0x0D #define EMS_ID_MIXING1 0x20 // Mixing #define EMS_ID_MIXING2 0x21 // Mixing #define EMS_ID_SWITCH 0x11 // Switch @@ -26,7 +26,6 @@ #define EMS_ID_THERMOSTAT1 0x10 // Thermostat #define EMS_ID_THERMOSTAT2 0x17 // Thermostat #define EMS_ID_THERMOSTAT3 0x18 // Thermostat -#define EMS_ID_MODEM 0x19 // Modem // mapping for EMS_Devices_Type const _EMS_Device_Types EMS_Devices_Types[] = { @@ -45,8 +44,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { {EMS_ID_SWITCH, EMS_DEVICE_TYPE_SWITCH, "Switching Module"}, {EMS_ID_CONTROLLER, EMS_DEVICE_TYPE_CONTROLLER, "Controller"}, {EMS_ID_CONNECT1, EMS_DEVICE_TYPE_CONNECT, "Connect"}, - {EMS_ID_CONNECT2, EMS_DEVICE_TYPE_CONNECT, "Connect"}, - {EMS_ID_MODEM, EMS_DEVICE_TYPE_MODEM, "Modem"} + {EMS_ID_CONNECT2, EMS_DEVICE_TYPE_CONNECT, "Connect"} }; @@ -226,7 +224,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { static const _EMS_Device EMS_Devices[] = { // - // UBA Masters - typically with device_id of 0x08 + // UBA Masters - must have device_id of 0x08 // {72, EMS_DEVICE_TYPE_BOILER, "MC10 Module", EMS_DEVICE_FLAG_NONE}, {123, EMS_DEVICE_TYPE_BOILER, "Buderus GBx72/Nefit Trendline/Junkers Cerapur/Worcester Greenstar Si/27i", EMS_DEVICE_FLAG_NONE}, @@ -257,9 +255,8 @@ static const _EMS_Device EMS_Devices[] = { {161, EMS_DEVICE_TYPE_MIXING, "MM200 Mixing Module", EMS_DEVICE_FLAG_NONE}, {69, EMS_DEVICE_TYPE_MIXING, "MM10 Mixer Module", EMS_DEVICE_FLAG_NONE}, {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_NONE}, - {79, EMS_DEVICE_TYPE_MIXING, "MM100 Mixer Module", EMS_DEVICE_FLAG_NONE}, - {80, EMS_DEVICE_TYPE_MIXING, "MM200 Mixer Module", EMS_DEVICE_FLAG_NONE}, - {78, EMS_DEVICE_TYPE_MIXING, "MM400 Mixer Module", EMS_DEVICE_FLAG_NONE}, + {79, EMS_DEVICE_TYPE_MIXING, "Junkers M100", EMS_DEVICE_FLAG_NONE}, + {80, EMS_DEVICE_TYPE_MIXING, "Junkers M200", EMS_DEVICE_FLAG_NONE}, // // HeatPump - type 0x38 @@ -286,10 +283,10 @@ static const _EMS_Device EMS_Devices[] = { {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_MODEM, "RC Remote Device", EMS_DEVICE_FLAG_NONE}, // 0x19 + {94, EMS_DEVICE_TYPE_MODEM, "RC Remote Device", EMS_DEVICE_FLAG_NONE}, // 0x18 // - // Thermostats, typically device id of 0x10, 0x17, 0x18 and 0x39 (easy) + // Thermostats, typically device id of 0x10, 0x17, 0x18, 0x38 (RC100), 0x39 (Easy) // // Easy devices - not currently supporting write operations @@ -303,9 +300,9 @@ static const _EMS_Device EMS_Devices[] = { {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30}, // 0x10 {78, EMS_DEVICE_TYPE_THERMOSTAT, "RC30/Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 - {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x18 + {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x19 {158, EMS_DEVICE_TYPE_THERMOSTAT, "RC300/RC310/Moduline 3000/Bosch CW400/W-B Sense II", EMS_DEVICE_FLAG_RC300}, // 0x10 - {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1010", EMS_DEVICE_FLAG_RC300 | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write + {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1010", EMS_DEVICE_FLAG_RC300 | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, 0x38 - cannot write // Sieger {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 From 4484c6db60cc5b727baeb29c47d3792f25404a31 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 4 Jan 2020 13:49:11 +0100 Subject: [PATCH 042/195] #284 #283 --- src/ems.cpp | 58 ++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 44 insertions(+), 14 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 837e6c8c9..5375cac26 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1370,19 +1370,43 @@ int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram) { int8_t hc; - if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC1) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC1)) { + switch (EMS_RxTelegram->type) { + case EMS_TYPE_RC35StatusMessage_HC1: + case EMS_TYPE_RC35Set_HC1: + case EMS_TYPE_JunkersStatusMessage_HC1: + case EMS_TYPE_JunkersSetMessage_HC1: hc = 0; - } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC2) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC2)) { + break; + + case EMS_TYPE_RC35StatusMessage_HC2: + case EMS_TYPE_RC35Set_HC2: + case EMS_TYPE_JunkersStatusMessage_HC2: + case EMS_TYPE_JunkersSetMessage_HC2: hc = 1; - } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC3) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC3)) { + break; + + case EMS_TYPE_RC35StatusMessage_HC3: + case EMS_TYPE_RC35Set_HC3: + case EMS_TYPE_JunkersStatusMessage_HC3: + case EMS_TYPE_JunkersSetMessage_HC3: hc = 2; - } else if ((EMS_RxTelegram->type == EMS_TYPE_RC35StatusMessage_HC4) || (EMS_RxTelegram->type = EMS_TYPE_RC35Set_HC4)) { + break; + + case EMS_TYPE_RC35StatusMessage_HC4: + case EMS_TYPE_RC35Set_HC4: + case EMS_TYPE_JunkersStatusMessage_HC4: + case EMS_TYPE_JunkersSetMessage_HC4: hc = 3; - } else { - return -1; // not a valid HC + break; + + default: + hc = -1; // not a valid HC + break; } - EMS_Thermostat.hc[hc].active = true; + if (hc != -1) { + EMS_Thermostat.hc[hc].active = true; + } return (hc); } @@ -1577,7 +1601,7 @@ bool _addDevice(_EMS_DEVICE_TYPE device_type, uint8_t product_id, uint8_t device _Detected_Device device; // check for duplicates - // a combi of product_id and device_id make it unique + // a pair of product_id and device_id together make it unique for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { if (((it)->product_id == product_id) && ((it)->device_id == device_id)) { return (true); // it already exists in the list, don't add @@ -1711,9 +1735,11 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t i = 0; uint8_t found_index = 0; bool typeFound = false; - while ((i < _EMS_Devices_max) && (!typeFound)) { + while (i++ < _EMS_Devices_max) { if (EMS_Devices[i].product_id == product_id) { // we have a matching product id + /* + // this code is to check also that we have a matching device type (e.g. boiler, thermostat etc) // now lets see if there is a matching device_id since product_id can be on multiple devices // e.g. with UBAMasters, there is only one device_id 0x08. To avoid https://github.com/proddy/EMS-ESP/issues/271 _EMS_DEVICE_TYPE device_type = EMS_Devices[i].type; @@ -1724,27 +1750,31 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { break; } } + */ + typeFound = true; + found_index = i; + break; } - i++; } - // if not found, just add it as an unknown device + // if not found, just add it as an unknown device and exit if (!typeFound) { (void)_addDevice(EMS_DEVICE_TYPE_UNKNOWN, product_id, device_id, nullptr, version); return; } const char * device_desc_p = (EMS_Devices[found_index].device_desc); // pointer to the full description of the device - _EMS_DEVICE_TYPE type = EMS_Devices[found_index].type; // type + _EMS_DEVICE_TYPE type = EMS_Devices[found_index].type; // device type // we recognized it, see if we already have it in our recognized list if (_addDevice(type, product_id, device_id, device_desc_p, version)) { return; // already in list } - uint8_t flags = EMS_Devices[found_index].flags; // it's a new entry, set the specifics + uint8_t flags = EMS_Devices[found_index].flags; // it's a new entry, get the specifics - if (type == EMS_DEVICE_TYPE_BOILER) { + // for a boiler, sometimes we get a device_id of 0x09 with the same product_id, so lets make sure it is the UBA Master + if ((type == EMS_DEVICE_TYPE_BOILER) && (device_id == EMS_ID_BOILER)) { EMS_Boiler.device_id = device_id; EMS_Boiler.product_id = product_id; EMS_Boiler.device_flags = flags; From ae61c357c0b9718e8ffc991396868ecfe5704c52 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 4 Jan 2020 15:39:07 +0100 Subject: [PATCH 043/195] fix #285 --- src/ems.cpp | 3 ++- src/version.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 5375cac26..586a99ff4 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1735,7 +1735,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t i = 0; uint8_t found_index = 0; bool typeFound = false; - while (i++ < _EMS_Devices_max) { + while (i < _EMS_Devices_max) { if (EMS_Devices[i].product_id == product_id) { // we have a matching product id /* @@ -1755,6 +1755,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { found_index = i; break; } + i++; } // if not found, just add it as an unknown device and exit diff --git a/src/version.h b/src/version.h index 4d590e577..b4147c440 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b12" +#define APP_VERSION "1.9.5b13" From 05377059242eb4cd1524961324325330ad28c91a Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 4 Jan 2020 16:05:21 +0100 Subject: [PATCH 044/195] Fix unknown device --- src/ems.cpp | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 5375cac26..5d0279c06 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -161,6 +161,7 @@ void ems_init() { EMS_Boiler.burnStarts = EMS_VALUE_LONG_NOTSET; // # burner restarts EMS_Boiler.burnWorkMin = EMS_VALUE_LONG_NOTSET; // Total burner operating time EMS_Boiler.heatWorkMin = EMS_VALUE_LONG_NOTSET; // Total heat operating time + EMS_Boiler.switchTemp = EMS_VALUE_SHORT_NOTSET; // UBAMonitorWWMessage EMS_Boiler.wWCurTmp = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature @@ -1243,7 +1244,7 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = 0; // fixed, for 0xAB + uint8_t hc = 1; // fixed, for 0xAB EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); @@ -1735,7 +1736,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t i = 0; uint8_t found_index = 0; bool typeFound = false; - while (i++ < _EMS_Devices_max) { + while (i < _EMS_Devices_max) { if (EMS_Devices[i].product_id == product_id) { // we have a matching product id /* @@ -1755,6 +1756,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { found_index = i; break; } + i++; } // if not found, just add it as an unknown device and exit @@ -1812,6 +1814,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Mixing.device_desc_p = device_desc_p; EMS_Mixing.device_flags = flags; EMS_Mixing.detected = true; + strlcpy(EMS_Mixing.version, version, sizeof(EMS_Mixing.version)); ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC1, device_id); // fetch MM values } } @@ -2024,6 +2027,12 @@ char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, boo product_id = EMS_HeatPump.product_id; device_desc_p = EMS_HeatPump.device_desc_p; version = EMS_HeatPump.version; + } else if (device_type == EMS_DEVICE_TYPE_MIXING) { + enabled = ems_getMixingDeviceEnabled(); + device_id = EMS_Mixing.device_id; + product_id = EMS_Mixing.product_id; + device_desc_p = EMS_Mixing.device_desc_p; + version = EMS_Mixing.version; } if (!enabled) { @@ -2798,7 +2807,7 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35StatusMessage_HC1, "RC35StatusMessage_HC1", _process_RC35StatusMessage}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35Set_HC2, "RC35Set_HC2", _process_RC35Set}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35StatusMessage_HC2, "RC35StatusMessage_HC2", _process_RC35StatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35Set_HC3, "RC35Set_HC2", _process_RC35Set}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35Set_HC3, "RC35Set_HC3", _process_RC35Set}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35StatusMessage_HC3, "RC35StatusMessage_HC3", _process_RC35StatusMessage}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35Set_HC4, "RC35Set_HC4", _process_RC35Set}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC35StatusMessage_HC4, "RC35StatusMessage_HC4", _process_RC35StatusMessage}, From daf24af323b3fec595614d43ad29ebe9f176d048 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 4 Jan 2020 23:15:41 +0100 Subject: [PATCH 045/195] cleaned up detection - #283 --- CHANGELOG.md | 1 + src/ems-esp.cpp | 16 ++----- src/ems.cpp | 118 ++++++++++++++++++++-------------------------- src/ems.h | 35 ++++++++++---- src/ems_devices.h | 35 +------------- src/version.h | 2 +- 6 files changed, 84 insertions(+), 123 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9ec62a5f5..9e000000a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - improved MQTT publishing to stop flooding ### Removed + - `autodetect scan` ## [1.9.4] 15-12-2019 diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 24310a706..ffaf528ee 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -113,7 +113,7 @@ static const command_t project_cmds[] PROGMEM = { {false, "refresh", "fetch values from the EMS devices"}, {false, "devices", "list detected EMS devices"}, {false, "queue", "show current Tx queue"}, - {false, "autodetect [scan]", "detect EMS devices and attempt to automatically set boiler and thermostat types"}, + {false, "autodetect", "detect EMS devices and attempt to automatically set boiler and thermostat types"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, {false, "thermostat temp [hc] ", "set current thermostat temperature"}, @@ -1218,17 +1218,9 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { } if (strcmp(first_cmd, "autodetect") == 0) { - if (wc == 2) { - char * second_cmd = _readWord(); - if (strcmp(second_cmd, "scan") == 0) { - ems_scanDevices(); // known device scan - ok = true; - } - } else { - ems_clearDeviceList(); - ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); - ok = true; - } + ems_clearDeviceList(); + ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); + ok = true; } // logging diff --git a/src/ems.cpp b/src/ems.cpp index 586a99ff4..cf4e98e49 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -881,7 +881,7 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram) { char type_s[30]; // source - ems_getDeviceTypeDescription(src, type_s); + (void)ems_getDeviceTypeDescription(src, type_s); strlcpy(output_str, type_s, sizeof(output_str)); strlcat(output_str, " -> ", sizeof(output_str)); @@ -1622,10 +1622,8 @@ bool _addDevice(_EMS_DEVICE_TYPE device_type, uint8_t product_id, uint8_t device // get type as a string char type_s[50]; - if (ems_getDeviceTypeDescription(device_id, type_s)) { + if (ems_getDeviceTypeName(device_type, type_s)) { strlcat(line, type_s, sizeof(line)); - } else { - strlcat(line, "?", sizeof(line)); } char tmp[6] = {0}; // for formatting numbers @@ -1738,19 +1736,6 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { while (i < _EMS_Devices_max) { if (EMS_Devices[i].product_id == product_id) { // we have a matching product id - /* - // this code is to check also that we have a matching device type (e.g. boiler, thermostat etc) - // now lets see if there is a matching device_id since product_id can be on multiple devices - // e.g. with UBAMasters, there is only one device_id 0x08. To avoid https://github.com/proddy/EMS-ESP/issues/271 - _EMS_DEVICE_TYPE device_type = EMS_Devices[i].type; - for (uint8_t j = 0; j < _EMS_Devices_Types_max; j++) { - if ((EMS_Devices_Types[j].device_type == device_type) && (EMS_Devices_Types[j].device_id == device_id)) { - typeFound = true; - found_index = i; - break; - } - } - */ typeFound = true; found_index = i; break; @@ -1960,35 +1945,67 @@ void ems_getSolarModuleValues() { } } -/** - * takes a device_id and tries to find the corresponding type name (e.g. Boiler) - * If it can't find it, it will use the hex value and function returns false - */ -bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer) { +// takes a device type (e.g. EMS_DEVICE_TYPE_MIXING) and stores the english name in the given buffer +// returns buffer or "unknown" +char * ems_getDeviceTypeName(_EMS_DEVICE_TYPE device_type, char * buffer) { uint8_t i = 0; bool typeFound = false; - // scan through known ID types while (i < _EMS_Devices_Types_max) { - if (EMS_Devices_Types[i].device_id == device_id) { + if (EMS_Devices_Types[i].device_type == device_type) { typeFound = true; // we have a match break; } i++; } - if (typeFound) { - strlcpy(buffer, EMS_Devices_Types[i].device_type_string, 30); - return true; - } else { - // print as hex value - char hexbuffer[16] = {0}; - strlcpy(buffer, "0x", 30); - strlcat(buffer, _hextoa(device_id, hexbuffer), 30); - return false; + if (!typeFound) { + i = 0; // this will point to "Unknown" in the lookup } + + strlcpy(buffer, EMS_Devices_Types[i].device_type_string, 30); + + return buffer; } +/** + * takes a device_id and tries to find the corresponding type name (e.g. Boiler) + * If it can't find it, it will use the hex value and function returns false + */ +bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer) { + _EMS_DEVICE_TYPE device_type = EMS_DEVICE_TYPE_UNKNOWN; + + // check for the fixed device IDs we already know about, like 0x00 for broadcast, 0x0B for me, 0x08 for Boiler + if (device_id == EMS_ID_BOILER) { + device_type = EMS_DEVICE_TYPE_BOILER; + } else if (device_id == EMS_ID_ME) { + device_type = EMS_DEVICE_TYPE_SERVICEKEY; + } else if (device_id == EMS_ID_NONE) { + device_type = EMS_DEVICE_TYPE_NONE; + } else { + // see if its a device we already know about (via earlier detection) + if (!Devices.empty()) { + for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { + if (it->device_id == device_id) { + device_type = it->device_type; + break; + } + } + } + } + + // if its not unknown, fetch the real name of the type + if (device_type != EMS_DEVICE_TYPE_UNKNOWN) { + ems_getDeviceTypeName(device_type, buffer); + return true; + } + + // we didn't find anything. Use the hex value of the device ID + char hexbuffer[16] = {0}; + strlcpy(buffer, "0x", 30); + strlcat(buffer, _hextoa(device_id, hexbuffer), 30); + return false; +} /** * returns current device details as a string for known thermostat,boiler,solar and heatpump @@ -2056,38 +2073,6 @@ char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, boo return buffer; } -/** - * Find the versions of our connected devices - */ -void ems_scanDevices() { - myDebug_P(PSTR("Started scanning the EMS bus for known devices")); - - std::list Device_Ids; // create a new list - - Device_Ids.push_back(EMS_ID_BOILER); // UBAMaster/Boilers - 0x08 - Device_Ids.push_back(EMS_ID_HP); // HeatPump - 0x38 - Device_Ids.push_back(EMS_ID_SM); // Solar Module - 0x30 - Device_Ids.push_back(EMS_ID_CONTROLLER); // Controllers - 0x09 - Device_Ids.push_back(EMS_ID_CONNECT1); // Connect - 0x02 - Device_Ids.push_back(EMS_ID_CONNECT2); // Connect - 0x50 - Device_Ids.push_back(EMS_ID_GATEWAY); // Gateway - 0x48 - Device_Ids.push_back(EMS_ID_MIXING1); // Mixing Devices - 0x20, 0x21 - Device_Ids.push_back(EMS_ID_MIXING2); // Mixing Devices - 0x20, 0x21 - Device_Ids.push_back(EMS_ID_THERMOSTAT1); // Thermostats - 0x10, 0x17, 0x18 - Device_Ids.push_back(EMS_ID_THERMOSTAT2); // Thermostats - 0x10, 0x17, 0x18 - Device_Ids.push_back(EMS_ID_THERMOSTAT3); // Thermostats - 0x10, 0x17, 0x18 - Device_Ids.push_back(EMS_ID_SWITCH); // Switch - 0x11 - - // remove duplicates and reserved IDs (like our own device) - Device_Ids.sort(); - // Device_Ids.unique(); - - // send the read command with Version command - for (uint8_t device_id : Device_Ids) { - ems_doReadCommand(EMS_TYPE_Version, device_id); - } -} - /** * print out contents of the device list that was captured */ @@ -2126,8 +2111,7 @@ void ems_printDevices() { char device_type[30]; myDebug_P(PSTR("and %d were recognized by EMS-ESP as:"), Devices.size()); for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { - ems_getDeviceTypeDescription(it->device_id, device_type); // get type string, e.g. "Boiler" - + ems_getDeviceTypeName(it->device_type, device_type); // get type string, e.g. "Boiler" if (it->known) { strlcpy(device_string, it->device_desc_p, sizeof(device_string)); } else { diff --git a/src/ems.h b/src/ems.h index 8c0b05fe7..5efd8d89c 100644 --- a/src/ems.h +++ b/src/ems.h @@ -207,14 +207,36 @@ typedef enum : uint8_t { EMS_DEVICE_TYPE_SOLAR, EMS_DEVICE_TYPE_HEATPUMP, EMS_DEVICE_TYPE_GATEWAY, - EMS_DEVICE_TYPE_OTHER, EMS_DEVICE_TYPE_SWITCH, EMS_DEVICE_TYPE_CONTROLLER, EMS_DEVICE_TYPE_CONNECT, - EMS_DEVICE_TYPE_MODEM, EMS_DEVICE_TYPE_UNKNOWN } _EMS_DEVICE_TYPE; +// to store mapping of device_ids to their string name +typedef struct { + _EMS_DEVICE_TYPE device_type; + char device_type_string[30]; +} _EMS_Device_Types; + +// mapping for EMS_Devices_Type +const _EMS_Device_Types EMS_Devices_Types[] = { + + {EMS_DEVICE_TYPE_UNKNOWN, EMS_MODELTYPE_UNKNOWN_STRING}, // the first, at index 0 is reserved for "unknown" + {EMS_DEVICE_TYPE_NONE, "All"}, + {EMS_DEVICE_TYPE_SERVICEKEY, "Me"}, + {EMS_DEVICE_TYPE_BOILER, "UBAMaster"}, + {EMS_DEVICE_TYPE_THERMOSTAT, "Thermostat"}, + {EMS_DEVICE_TYPE_MIXING, "Mixing Module"}, + {EMS_DEVICE_TYPE_SOLAR, "Solar Module"}, + {EMS_DEVICE_TYPE_HEATPUMP, "Heat Pump"}, + {EMS_DEVICE_TYPE_GATEWAY, "Gateway"}, + {EMS_DEVICE_TYPE_SWITCH, "Switching Module"}, + {EMS_DEVICE_TYPE_CONTROLLER, "Controller"}, + {EMS_DEVICE_TYPE_CONNECT, "Connect"} + +}; + // to store all known EMS devices to date typedef struct { uint8_t product_id; @@ -223,13 +245,6 @@ typedef struct { uint8_t flags; } _EMS_Device; -// to store mapping of device_ids to their string name -typedef struct { - uint8_t device_id; - _EMS_DEVICE_TYPE device_type; - char device_type_string[30]; -} _EMS_Device_Types; - // for storing all recognised EMS devices typedef struct { _EMS_DEVICE_TYPE device_type; // type (see above) @@ -404,7 +419,6 @@ void ems_parseTelegram(uint8_t * telegram, uint8_t len); void ems_init(); void ems_doReadCommand(uint16_t type, uint8_t dest); void ems_sendRawTelegram(char * telegram); -void ems_scanDevices(); void ems_printDevices(); uint8_t ems_printDevices_s(char * buffer, uint16_t len); void ems_printTxQueue(); @@ -428,6 +442,7 @@ void ems_setTxMode(uint8_t mode); void ems_setMasterThermostat(uint8_t product_id); char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, bool name_only = false); bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer); +char * ems_getDeviceTypeName(_EMS_DEVICE_TYPE device_type, char * buffer); void ems_getThermostatValues(); void ems_getBoilerValues(); void ems_getSolarModuleValues(); diff --git a/src/ems_devices.h b/src/ems_devices.h index a8d3d5046..486a7d813 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -14,39 +14,8 @@ // 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_SM 0x30 // Solar Module SM10, SM100, SM200 and ISM1 -#define EMS_ID_HP 0x38 // HeatPump -#define EMS_ID_GATEWAY 0x48 // Gateway Modem e.g. KM200 Web Gateway. Also on 0x0A->0x0D -#define EMS_ID_MIXING1 0x20 // Mixing -#define EMS_ID_MIXING2 0x21 // Mixing -#define EMS_ID_SWITCH 0x11 // Switch -#define EMS_ID_CONTROLLER 0x09 // Controller -#define EMS_ID_CONNECT1 0x02 // Connect -#define EMS_ID_CONNECT2 0x50 // Connect -#define EMS_ID_THERMOSTAT1 0x10 // Thermostat -#define EMS_ID_THERMOSTAT2 0x17 // Thermostat -#define EMS_ID_THERMOSTAT3 0x18 // Thermostat - -// mapping for EMS_Devices_Type -const _EMS_Device_Types EMS_Devices_Types[] = { - - {EMS_ID_BOILER, EMS_DEVICE_TYPE_BOILER, "UBAMaster"}, - {EMS_ID_THERMOSTAT1, EMS_DEVICE_TYPE_THERMOSTAT, "Thermostat"}, - {EMS_ID_THERMOSTAT2, EMS_DEVICE_TYPE_THERMOSTAT, "Thermostat"}, - {EMS_ID_THERMOSTAT3, EMS_DEVICE_TYPE_THERMOSTAT, "Thermostat"}, - {EMS_ID_SM, EMS_DEVICE_TYPE_SOLAR, "Solar Module"}, - {EMS_ID_HP, EMS_DEVICE_TYPE_HEATPUMP, "Heat Pump"}, - {EMS_ID_GATEWAY, EMS_DEVICE_TYPE_GATEWAY, "Gateway"}, - {EMS_ID_ME, EMS_DEVICE_TYPE_SERVICEKEY, "Me"}, - {EMS_ID_NONE, EMS_DEVICE_TYPE_NONE, "All"}, - {EMS_ID_MIXING1, EMS_DEVICE_TYPE_MIXING, "Mixing Module"}, - {EMS_ID_MIXING2, EMS_DEVICE_TYPE_MIXING, "Mixing Module"}, - {EMS_ID_SWITCH, EMS_DEVICE_TYPE_SWITCH, "Switching Module"}, - {EMS_ID_CONTROLLER, EMS_DEVICE_TYPE_CONTROLLER, "Controller"}, - {EMS_ID_CONNECT1, EMS_DEVICE_TYPE_CONNECT, "Connect"}, - {EMS_ID_CONNECT2, EMS_DEVICE_TYPE_CONNECT, "Connect"} - -}; /* * Common Type @@ -283,7 +252,7 @@ static const _EMS_Device EMS_Devices[] = { {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_MODEM, "RC Remote Device", EMS_DEVICE_FLAG_NONE}, // 0x18 + {94, EMS_DEVICE_TYPE_GATEWAY, "RC Remote Device", EMS_DEVICE_FLAG_NONE}, // 0x18 // // Thermostats, typically device id of 0x10, 0x17, 0x18, 0x38 (RC100), 0x39 (Easy) diff --git a/src/version.h b/src/version.h index b4147c440..53f287e97 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b13" +#define APP_VERSION "1.9.5b14" From 9c8d180c8e843c3872b40be4445582541cb7740c Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 6 Jan 2020 14:11:49 +0100 Subject: [PATCH 046/195] 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 047/195] 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 048/195] 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 049/195] 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 050/195] 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 051/195] 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 052/195] #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 053/195] 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 054/195] 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 055/195] 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 056/195] 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 057/195] 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) From 7b561f0540451da7abea1c66a1a81f4f88434b74 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 9 Jan 2020 23:04:27 +0100 Subject: [PATCH 058/195] updated wiki --- README.md | 22 +- doc/ems gateway/logo-proddy-fw.jpg | Bin 23115 -> 0 bytes doc/ems references/HT3-Bus_Telegramme.html | 7862 ----------------- doc/ems references/wiki_ ems_ telegrams.pdf | Bin 195670 -> 0 bytes docs/.nojekyll | 1 + docs/Building-firmware.md | 60 + docs/Building-your-own-test-circuit.md | 24 + docs/Configure-firmware.md | 35 + docs/Contributing.md | 15 + docs/Deciphering-EMS-Plus.md | 66 + docs/Domoticz.md | 1 + docs/EMS-Telegram-Types.md | 66 + docs/FAQ.md | 16 + docs/Home-Assistant.md | 171 + docs/Home.md | 61 + docs/How-the-Code-Works.md | 21 + docs/How-the-EMS-bus-works.md | 69 + docs/MC110-controller.md | 130 + docs/MQTT.md | 94 + docs/RC3xx-Thermostats.md | 128 + docs/README.md | 69 + docs/Running-and-Monitoring.md | 32 + docs/SM100.md | 180 + docs/Supported-EMS-Devices.md | 51 + docs/Thermostat-Modes-RC35-vs-RC300.md | 15 + docs/Troubleshooting.md | 70 + docs/Uploading-firmware.md | 14 + docs/Web-test.md | 7 + docs/What's-New.md | 1 + docs/_assets/edit-link.js | 28 + docs/_assets/prism-bash.min.js | 1 + docs/_assets/prism-ems-esp.js | 17 + docs/_assets/prism-http.min.js | 1 + docs/_assets/prism-json.min.js | 1 + docs/_assets/prism-yaml.min.js | 1 + docs/_assets/prism.css | 143 + docs/_assets/prism.js | 14 + docs/_assets/theme-custom.css | 78 + docs/_glossary.md | 12 + docs/_media/EMS-ESP_logo.png | Bin 0 -> 4159 bytes docs/_media/boiler.svg | 1 + docs/_media/boiler_128.png | Bin 0 -> 4329 bytes docs/_media/boiler_16.png | Bin 0 -> 594 bytes docs/_media/boiler_16x16.ico | Bin 0 -> 1150 bytes docs/_media/boiler_24.png | Bin 0 -> 856 bytes docs/_media/boiler_256.png | Bin 0 -> 8572 bytes docs/_media/boiler_32.png | Bin 0 -> 1186 bytes docs/_media/boiler_512.png | Bin 0 -> 18042 bytes docs/_media/boiler_64.png | Bin 0 -> 2238 bytes .../_media}/ems gateway/ems-board-white.jpg | Bin .../_media}/ems gateway/ems-kit-2.jpg | Bin .../_media}/ems gateway/on-boiler.jpg | Bin docs/_media/esp8266.png | Bin 0 -> 92063 bytes docs/_media/favicon.ico | Bin 0 -> 16958 bytes {doc => docs/_media}/home assistant/ha.png | Bin .../_media}/home assistant/ha_notify.jpg | Bin docs/_media/logo-proddy-fw.jpg | Bin 0 -> 8478 bytes docs/_media/logo/domoticz.png | Bin 0 -> 27057 bytes docs/_media/logo/home-assistant.png | Bin 0 -> 4257 bytes .../_media}/schematics/Schematic_EMS-ESP.png | Bin .../_media}/schematics/breadboard.png | Bin .../_media}/schematics/breadboard_example.png | Bin {doc => docs/_media}/schematics/circuit.png | Bin {doc => docs/_media}/schematics/ems_full.diy | 0 .../_media}/schematics/wemos_kees.png | Bin {doc => docs/_media}/telnet/telnet_menu.jpg | Bin {doc => docs/_media}/telnet/telnet_stats.PNG | Bin .../_media}/telnet/telnet_verbose.PNG | Bin {doc => docs/_media}/web/ems_dashboard.PNG | Bin {doc => docs/_media}/web/system_status.PNG | Bin docs/_navbar.md | 8 + docs/_sidebar.md | 27 + docs/favicon.ico | Bin 0 -> 16958 bytes docs/getting_started.md | 22 + docs/index.html | 141 + .../homeassistant}/automation.yaml | 0 .../homeassistant}/binary_sensor.yaml | 0 .../integrations/homeassistant}/climate.yaml | 0 .../homeassistant}/customize.yaml | 0 docs/integrations/homeassistant/ha.md | 22 + .../integrations/homeassistant}/notify.yaml | 0 .../integrations/homeassistant}/script.yaml | 0 .../integrations/homeassistant}/sensor.yaml | 0 .../integrations/homeassistant}/switch.yaml | 0 .../homeassistant}/ui-lovelace.yaml | 0 docs/wish-list.md | 11 + 86 files changed, 1933 insertions(+), 7876 deletions(-) delete mode 100644 doc/ems gateway/logo-proddy-fw.jpg delete mode 100644 doc/ems references/HT3-Bus_Telegramme.html delete mode 100644 doc/ems references/wiki_ ems_ telegrams.pdf create mode 100644 docs/.nojekyll create mode 100644 docs/Building-firmware.md create mode 100644 docs/Building-your-own-test-circuit.md create mode 100644 docs/Configure-firmware.md create mode 100644 docs/Contributing.md create mode 100644 docs/Deciphering-EMS-Plus.md create mode 100644 docs/Domoticz.md create mode 100644 docs/EMS-Telegram-Types.md create mode 100644 docs/FAQ.md create mode 100644 docs/Home-Assistant.md create mode 100644 docs/Home.md create mode 100644 docs/How-the-Code-Works.md create mode 100644 docs/How-the-EMS-bus-works.md create mode 100644 docs/MC110-controller.md create mode 100644 docs/MQTT.md create mode 100644 docs/RC3xx-Thermostats.md create mode 100644 docs/README.md create mode 100644 docs/Running-and-Monitoring.md create mode 100644 docs/SM100.md create mode 100644 docs/Supported-EMS-Devices.md create mode 100644 docs/Thermostat-Modes-RC35-vs-RC300.md create mode 100644 docs/Troubleshooting.md create mode 100644 docs/Uploading-firmware.md create mode 100644 docs/Web-test.md create mode 100644 docs/What's-New.md create mode 100644 docs/_assets/edit-link.js create mode 100644 docs/_assets/prism-bash.min.js create mode 100644 docs/_assets/prism-ems-esp.js create mode 100644 docs/_assets/prism-http.min.js create mode 100644 docs/_assets/prism-json.min.js create mode 100644 docs/_assets/prism-yaml.min.js create mode 100644 docs/_assets/prism.css create mode 100644 docs/_assets/prism.js create mode 100644 docs/_assets/theme-custom.css create mode 100644 docs/_glossary.md create mode 100644 docs/_media/EMS-ESP_logo.png create mode 100644 docs/_media/boiler.svg create mode 100644 docs/_media/boiler_128.png create mode 100644 docs/_media/boiler_16.png create mode 100644 docs/_media/boiler_16x16.ico create mode 100644 docs/_media/boiler_24.png create mode 100644 docs/_media/boiler_256.png create mode 100644 docs/_media/boiler_32.png create mode 100644 docs/_media/boiler_512.png create mode 100644 docs/_media/boiler_64.png rename {doc => docs/_media}/ems gateway/ems-board-white.jpg (100%) rename {doc => docs/_media}/ems gateway/ems-kit-2.jpg (100%) rename {doc => docs/_media}/ems gateway/on-boiler.jpg (100%) create mode 100644 docs/_media/esp8266.png create mode 100644 docs/_media/favicon.ico rename {doc => docs/_media}/home assistant/ha.png (100%) rename {doc => docs/_media}/home assistant/ha_notify.jpg (100%) create mode 100644 docs/_media/logo-proddy-fw.jpg create mode 100644 docs/_media/logo/domoticz.png create mode 100644 docs/_media/logo/home-assistant.png rename {doc => docs/_media}/schematics/Schematic_EMS-ESP.png (100%) rename {doc => docs/_media}/schematics/breadboard.png (100%) rename {doc => docs/_media}/schematics/breadboard_example.png (100%) rename {doc => docs/_media}/schematics/circuit.png (100%) rename {doc => docs/_media}/schematics/ems_full.diy (100%) rename {doc => docs/_media}/schematics/wemos_kees.png (100%) rename {doc => docs/_media}/telnet/telnet_menu.jpg (100%) rename {doc => docs/_media}/telnet/telnet_stats.PNG (100%) rename {doc => docs/_media}/telnet/telnet_verbose.PNG (100%) rename {doc => docs/_media}/web/ems_dashboard.PNG (100%) rename {doc => docs/_media}/web/system_status.PNG (100%) create mode 100644 docs/_navbar.md create mode 100644 docs/_sidebar.md create mode 100644 docs/favicon.ico create mode 100644 docs/getting_started.md create mode 100644 docs/index.html rename {doc/home assistant => docs/integrations/homeassistant}/automation.yaml (100%) rename {doc/home assistant => docs/integrations/homeassistant}/binary_sensor.yaml (100%) rename {doc/home assistant => docs/integrations/homeassistant}/climate.yaml (100%) rename {doc/home assistant => docs/integrations/homeassistant}/customize.yaml (100%) create mode 100644 docs/integrations/homeassistant/ha.md rename {doc/home assistant => docs/integrations/homeassistant}/notify.yaml (100%) rename {doc/home assistant => docs/integrations/homeassistant}/script.yaml (100%) rename {doc/home assistant => docs/integrations/homeassistant}/sensor.yaml (100%) rename {doc/home assistant => docs/integrations/homeassistant}/switch.yaml (100%) rename {doc/home assistant => docs/integrations/homeassistant}/ui-lovelace.yaml (100%) create mode 100644 docs/wish-list.md diff --git a/README.md b/README.md index 3d58fb72c..1970b4d78 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![logo](https://github.com/proddy/EMS-ESP/raw/master/doc/ems%20gateway/logo-proddy-fw.jpg) +![logo](docs/_media/logo-proddy-fw.jpg) # EMS-ESP [![version](https://img.shields.io/github/release/proddy/EMS-ESP.svg?label=Latest%20Release)](https://github.com/proddy/EMS-ESP/blob/master/CHANGELOG.md) @@ -15,7 +15,7 @@ EMS-ESP is a open-source system to communicate with **EMS** (Energy Management S The code is written for the Espressif **ESP8266** microcontroller and supports a telnet console for real-time monitoring and configuration and customizable MQTT support for publishing the information to a home automation system such as Home Assistant or Domoticz. -#### Please reference the [Wiki](https://github.com/proddy/EMS-ESP/wiki) for further details and instructions on how to build and configure the firmware. +#### Please reference the [Wiki](https://proddy.github.io/EMS-ESP) for further details and instructions on how to build and configure the firmware. --- @@ -23,31 +23,25 @@ The code is written for the Espressif **ESP8266** microcontroller and supports a #### A web interface for easy configuration and real-time monitoring of the EMS bus -| ![web menu](https://github.com/proddy/EMS-ESP/raw/master/doc/web/system_status.PNG) | ![web menu](https://github.com/proddy/EMS-ESP/raw/master/doc/web/ems_dashboard.PNG) | +| ![web menu](docs/_media/web/system_status.PNG) | ![web menu](docs/_media/web/ems_dashboard.PNG) | | -------------------------------------------------------- | ---------------------------------------------------------- | #### MQTT support for Home Assistant and Domoticz -![ha](https://github.com/proddy/EMS-ESP/raw/master/doc/home%20assistant/ha.png) +![ha](docs/_media/home%20assistant/ha.png) #### Telnet for advanced configuration and verbose traffic logging -| ![telnet menu](https://github.com/proddy/EMS-ESP/raw/master/doc/telnet/telnet_menu.jpg) | ![telnet menu](https://github.com/proddy/EMS-ESP/raw/master/doc/telnet/telnet_stats.PNG) | +| ![telnet menu](docs/_media/telnet/telnet_menu.jpg) | ![telnet menu](docs/_media/telnet/telnet_stats.PNG) | | ------------------------------------------------------------ | -------------------------------------------------------- | ## Supported EMS devices -More than **50** EMS devices are currently supported. See the [complete list](https://github.com/proddy/EMS-ESP/wiki/Supported-EMS-Devices) from the [Wiki](https://github.com/proddy/EMS-ESP/wiki). - -## Uploading the firmware - -Latest stable firmware build can be found [here](https://github.com/proddy/EMS-ESP/releases/latest). - -Follow [these instructions](https://github.com/proddy/EMS-ESP/wiki/Building-and-Uploading-the-Firmware) on how to upload to the ESP8266. +More than **50** EMS devices are currently supported. See the [complete list](https://proddy.github.io/EMS-ESP/#/Supported-EMS-Devices). ## Compatible with bbqkees' EMS Gateway -The firmware fully supports BBQKees' [EMS Gateway](https://shop.hotgoodies.nl/ems/) board with integrated Wemos D1 ESP8266. +The firmware fully supports BBQKees' [EMS Gateway](https://bbqkees-electronics.nl/) board with integrated Wemos D1 ESP8266. -| ![on boiler](https://github.com/proddy/EMS-ESP/raw/master/doc/ems%20gateway/on-boiler.jpg) | ![kit](https://github.com/proddy/EMS-ESP/raw/master/doc/ems%20gateway/ems-kit-2.jpg) | ![basic circuit](https://github.com/proddy/EMS-ESP/raw/master/doc/ems%20gateway/ems-board-white.jpg) | +| ![on boiler](docs/_media/ems%20gateway/on-boiler.jpg) | ![kit](docs/_media/ems%20gateway/ems-kit-2.jpg) | ![basic circuit](docs/_media/ems%20gateway/ems-board-white.jpg) | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | diff --git a/doc/ems gateway/logo-proddy-fw.jpg b/doc/ems gateway/logo-proddy-fw.jpg deleted file mode 100644 index 3f0d7c36fa4db310a889b899fe105afb64e6d61f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23115 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�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 diff --git a/doc/ems references/HT3-Bus_Telegramme.html b/doc/ems references/HT3-Bus_Telegramme.html deleted file mode 100644 index 1a019762c..000000000 --- a/doc/ems references/HT3-Bus_Telegramme.html +++ /dev/null @@ -1,7862 +0,0 @@ - - - - - - - - - - - - - - - - - -
-

-

Übersicht

- Telegramm Übersicht
- ID 2
- ID 7
- ID 6
- ID 190
- ID 24
- ID 25
- ID 188
- ID 27
- ID 51
- ID 52
- ID 467...468
- ID 26
- ID 268
- ID 296
- ID 357...366
- ID 367...376
- ID 377...386
- ID 677...684
- ID 259
- ID 260
- ID 866
- ID 868
- ID 873
- ID 874
- ID 910
- ID 913
- ID 357_366_14_Modem
- ID 377_387_4_Modem
- ID 357...366_1x_Modem
- ID 377...386_x_Modem
- -

-
-

Tabelle 1: Telegramm Übersicht

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme







Datum:14.10.2016


Version:0.2.0







Message-IDTelegramm(hex)BeschreibungSource-Werte (hex)Bemerkung



(SO)
2SO TT 02 xySoftware-Version / Busteilnehmer88TT = <Target-/Token-Nr>
7SO 00 07 xySteuerung: EMS Token Status88
6SO 00 06 xyDatum / Zeit90 | 98Mit 14 und 17 Bytes Länge
190TT 00 BE xyErrorCode / DisplayCode von Target
TT = <Target-/Token-Nr>
24SO 00 18 xyHeizgerät: Kesseldaten88Mit 31 und 33 Bytes Länge
25SO 00 19 xyHeizgerät: Heizungsdaten88
188SO 00 BC xyHeizgerät: Hybrid (Wärmepumpe)

27SO 00 1B xySollwert Warmwasser90
51SO 00 33 xyWarmwasser: Daten von Steuerung88
52SO 00 34 xyWarmwasser: Daten von Steuerung | IPM88 | Ax (x:=0...7)Mit 22,23 und 25 Bytes Länge
467...468SO 00 FF xy 00 D3...D4Betriebsart WW-System90
26SO 08 1A xyHeizkreis: Systemwerte90
268SO 00 FF xy 00 0CHeizkreis: von IPM1/IPM2 für MischerAx (x:=0...7)
296SO 00 FF xy 00 28Heizkreis: Fehlermeldungen90
357...366SO 00 FF xy 00 65...6EHeizkreis: Bauart190
367...376SO 00 FF xy 00 6F...78Heizkreis: Temperaturniveau90 | 9x (x:=8...F)
377...386SO 00 FF xy 00 79...82Heizkreis: Bauart290
677...684SO 00 FF xy 01 A5...ACHeizkreis: Systemwerte90 | 98Cxyz-Controller (z.B. CW100)
259SO 00 FF xy 00 03Solar: Solardaten von ISM1B0
260SO 00 FF xy 00 04Solar: Solardaten von ISM2B0Mit 24 und 35 Bytes Länge
866SO 00 FF xy 02 62Solar: Solardaten von MS100B0EMS2-Bus
868SO 00 FF xy 02 64Solar: Solardaten von MS100B0EMS2-Bus
873SO 00 FF xy 02 69Solar: Solardaten von MS100B0EMS2-Bus
874SO 00 FF xy 02 6ASolar: Solardaten von MS100B0EMS2-Bus
910SO 00 FF xy 02 8ESolar: Solardaten von MS100B0EMS2-Bus
913SO 00 FF xy 02 91Solar: Solardaten von MS100B0EMS2-Bus
357_14...366_14SO TA FF 0E 00 65...6EModem-CMD: Betriebsart setzen8D | C8TA = <Target-Nr>
377_4 ...386_4SO TA FF 04 00 79...82Modem-CMD: Betriebsart setzen8D | C8TA = <Target-Nr>
357_17...366_17SO TA FF 11 00 65...6EModem-CMD: Temp-Niveau setzen8D | C8TA = <Target-Nr>
377_7 ...386_7SO TA FF 07 00 79...82Modem-CMD: Temp-Niveau setzen8D | C8TA = <Target-Nr>





1: ( Hi-Byte * 256 + Lo-Byte ) / 10
Calculation-Type: 1
2: ( Byte3 * 65536 + Byte2 * 256 + Byte1 )
Calculation-Type: 2
3: ( Byte4 * 1048576 + Byte3 * 65536 + Byte2 * 256 + Byte1 )
Calculation-Type: 3
4: ( Type 3 ) / 10
Calculation-Type: 4
5: ( Type 3 ) / 1000
Calculation-Type: 5
- -
-

Tabelle 2: ID 2

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme



Message-ID: 2_x_0

ByteWerte (Hex)BemerkungBedeutung / IDBeispiel (Hex)

16Byte




Telegramm: Software-Version / Busteilnehmer

0SO
Source88
1TT<Token-/Target-Nr> (Geräteadr. Ungleich 0)Target18
202
2_x_002
3xy Telegramm-Offset (hier 0...9).
00
4xyErste Erkennung Busteilnehmer2_0_05F


- 00 = Variantenerkennung in Betrieb oder fehlerhaft



…..



- 5F = Heatronic III



- 64 = Schaltmodul IPM1



- 65 = Solarmodul ISM1



- 66 = Schaltmodul IPM2



- 67 = Solarmodul ISM2



- 67 = Solarmodul ISM2



- 69 = Witterungsgeführter Regler FW100



- 6A = Witterungsgeführter Regler FW200



- 6B = Raumtemperaturregler FR100



- 6C = Raumtemperaturregler FR110



- 6D = Fernbedienung FB 10



- 6E = Fernbedienung FB100



- 6F = Raumtemperaturregler FR10



…..



- BD = KM200



- BF = Raumtemperaturregler FR120



- C0 = Witterungsgefuehrter Regler FW120



…..

5xySoftware-Familie2_1_022
6xyVersion der Softwarefamilie2_2_004
7xyZweite Erkennung Busteilnehmern2_3_000
8xyKennzahl f. Grosse Änderung in HW- und SW2_4_000
9xyKennzahl f. Kleine Änderung in HW- und SW2_5_000
10xyDritte Erkennung Busteilnehmern2_6_000
11xyKennzahl f. Kleine Änderung in HW- und SW2_7_000
12xyKennzahl f. Grosse Änderung in HW- und SW2_8_000
13xyMarkenidentifizierung2_9_000


- 00 = keine Markenerkennung



- 01 = Bosch



- 02 = Junkers



- 03 = Buderus



…..

14<CRC>CRC
63
15<Ende>Ende
00
- -
-

Tabelle 3: ID 7

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID: 7_x_y
ByteWerte (Hex)BemerkungBedeutung / ID

21Byte



EMS Token Status
0SO
Source
100
Target
207
7_x_y
3xy Telegramm-Offset (hier 0...14).
4Bit0...Bit7EMS Token Status 8: EMS Master 7_0_0 bis


- EMS Token Status 9 … 157_0_7
5Bit0...Bit7EMS Token Status 16 … 23 7_1_0 bis



7_1_7
6Bit0...Bit7Busadresse 24 vorhanden7_2_0 bis


- EMS Token Status 25 … 31 7_2_7
7Bit0...Bit7Busadresse 32:Mischerstellmotor im HK1 vorhanden7_3_0 bis


- EMS Token Status 33 … 397_3_7
8Bit0...Bit7Busadresse 40:Warmwassersystem im HK1 vorhanden7_4_0 bis


- EMS Token Status 41 … 477_4_7
9Bit0...Bit7Busadresse 48:Solarmodul vorhanden7_5_0 bis


- EMS Token Status 49 … 557_5_7
10Bit0...Bit7Busadresse 56:Fernbedienung f. HK1 vorhanden7_6_0 bis


- EMS Token Status 57 … 637_6_7
11Bit0...Bit7Busadresse 64:Temperaturfühler im HK1 vorhanden7_7_0 bis


- EMS Token Status 65 … 717_7_7
12Bit0...Bit7Status für Busadresse 72...797_8_0 bis



7_8_7
13Bit0...Bit7EMS Token Status 80 … 877_9_0 bis



7_9_7
14Bit0...Bit7EMS Token Status 88 … 957_10_0 bis



7_10_7
15Bit0...Bit7EMS Token Status 96 … 1037_11_0 bis



7_11_7
16Bit0...Bit7EMS Token Status 104 … 1117_12_0 bis



7_12_7
17Bit0...Bit7EMS Token Status 112 … 119 (Cascaded EMS)7_13_0 bis



7_13_7
18Bit0...Bit7EMS Token Status 120 … 127 (Cascaded EMS)7_14_0 bis



7_14_7
19<CRC>CRC
20<Ende>Ende Marker
- -
-

Tabelle 4: ID 6

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme



Message-ID:6_x_y
ByteWerte (Hex)BemerkungBedeutung / ID

14Byte 17Byte




Datum/Zeit – Telegramm
090 | 9890 | 98Source :=90h oder :=98hSource
10000
Target
20606
6_x_y
3xyxy Telegramm-Offset (hier 0...6|10).
4xyxyJahr (Wert + 2000)dez.6_0_0
5xyxyMonat (01 … 12)dez.6_1_0
6xyxyStunden (00 … 23)dez.6_2_0
7xyxyTag (01 … 31)dez.6_3_0
8xyxyMinute (00 … 59)dez.6_4_0
9xyxySekunde (00 … 59)dez.6_5_0
10xyxyWochentag6_6_0



01=Montag; 02=Dienstag;... für Fxyz – Regler



00=Montag; 01=Dienstag;... für Cxyz – Regler
11Bit0...Bit7Bit0...Bit7Uhrstatus

Bit0Bit0- Sommerzeit6_7_0

Bit1Bit1- Funkempfang vorhanden6_7_1

Bit2Bit2- Funksignal vorhanden6_7_2

Bit3...Bit7Bit3...Bit7- Immer 0
12<CRC>xyToken-Adresse des aktuellen RTC-Owner6_8_0
13<Ende>xyAutomatische Sommer/Winter Umschaltung6_9_0
14
xyRTC Benutzer Kalibierungswert6_10_0
15
<CRC>

16
<Ende>

- -
-

Tabelle 5: ID 190

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID: 190_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

11Byte



ErrorCode von Target-/Token
0TTTarget-/Token NummerSource
100- 00 = An AlleTarget
2BE
190_x_0
300Immer 0
4xyBus-Adresse des Fehlercodes190_0_0
5Hi-ByteDisplaycode190_1_0
6Lo-Byte
7Hi-ByteCause Code190_3_0
8Lo-Byte
9<CRC>CRC
10<Ende>Ende Marker
- -
-

Tabelle 6: ID 24

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme



Message-ID:24_x_y
ByteWerte (Hex)BemerkungBedeutung / ID

31Byte 33Byte




Kessel-Telegramm: Heizgerät
08888
Source
10000
Target
21818
24_x_y
3xyxy Telegramm-Offset (hier 0...25).
4xyxyVorlauf Soll-Temperatur24_0_0
5Hi-ByteHi-ByteVorlauf Ist-Temperatur24_1_0
6Lo-ByteLo-Byte
7xyxyKessel maximale Leistung (76/84/100; 100)%24_3_0
80-1000-100Aktuelle Brennerleistung in %24_4_0
9Bit0...Bit7BitfeldBetriebsmode

Bit0Bit1- Heizungs-Mode24_5_0

Bit1Bit2- Warmwasser-Mode24_5_1

Bit2Bit3:=0- Status Servicebetrieb24_5_2

Bit3Bit4- Brennerflamme an24_5_3

Bit4Bit5:=0- Aufheizphase des Wärmeerzeugers24_5_4

Bit5Bit6:=0- Verriegelnder Fehler24_5_5

Bit6Bit7:=0- Blockierender Fehler24_5_6

Bit7Bit8:=0- Status Wartungsanforderung24_5_7
10Bit0...Bit7Bit0...Bit7Status Heizbetrieb

Bit0Bit0- Heizbetrieb im Bussystem24_6_0

Bit1Bit1- Wärmeanforderung (durch Schalter)24_6_1

Bit2Bit2- Wärmeanforderung bei Betriebsart: Frost24_6_2

Bit3Bit3- Wärmeanforderung im WW-Betrieb bei Betriebsart: Frost24_6_3

Bit4Bit4- Interne Wärmeanforderung bei WW24_6_4

Bit5Bit5- Wärmeanforderung f. WW-Erkennung im Bussystem24_6_5

Bit6Bit6- Wärmeanforderung24_6_6

Bit7Bit7- Wärmeanforderung im Testmodus24_6_7
11Bit0...Bit7Bit0...Bit7Betriebs-Status

Bit0Bit0- Brenner an (Relais-Signal erste Brennstufe)24_7_0

Bit1Bit1- Brenner an (Relais-Signal zweite Brennstufe)24_7_1

Bit2Bit2- Lüfter an (Relais-Signal f. Lüfter)24_7_2

Bit3Bit3- Zündung an (Relais-Signal f. Zündung)24_7_3

Bit4Bit4- Ölvorwärmer an (Relais-Signal f. Ölvorwärmer)24_7_4

Bit5Bit5- Heizungspumpe an (Relais-Signal f. HP)24_7_5

Bit6Bit6- 3-Wege-Ventil auf Speicherladung24_7_6

Bit7Bit7- Zirkulationspumpe an (Relais-Signal f. ZP)24_7_7
12Bit0...Bit7Bit0...Bit7Status 1

Bit0Bit0- Meldesignal Abgasklappe f. Freigabe Ölbrenner24_8_0

Bit1Bit1- Signal vom Luftdruckschalter24_8_1

Bit2Bit2- Signal vom Flüssiggasbrenner24_8_2

Bit3Bit3- Signal vom Gasdruckwächter24_8_3

Bit4Bit4- Signal vom externen Ein-/Aus-Schalter24_8_4

Bit5Bit5- Digitales Eingangssignal24_8_5

Bit6Bit6- Signal vom Sicherheitstemperaturbegrenzer (TB)24_8_6

Bit7Bit7- Signal vom Raumthermostat24_8_7
13Hi-ByteHi-ByteWW-Temperatur Speicherfühler124_9_0
14Lo-ByteLo-Byte- (0x8300 := Nicht vorhanden)
15Hi-ByteHi-ByteWW-Temperatur Speicherfühler224_11_0
16Lo-ByteLo-Byte- (0x8000 | 0x7D00 := Nicht vorhanden)
17Hi-ByteHi-ByteTemperatur Kessel-Rücklauf24_13_0
18Lo-ByteLo-Byte- (0x8000 | 0x7D00 := Nicht vorhanden)
19Hi-ByteHi-ByteIonisationsstrom24_15_0
20Lo-ByteLo-Byte
21FFFFAnlagendruck am Wärmeerzeuger24_17_0



- (FF := ungültig)
22Hi-ByteHi-ByteDisplaycode24_18_0
23Lo-ByteLo-Byte
24Hi-ByteHi-ByteCause Code24_20_0
25Lo-ByteLo-Byte
2600FFWarmwasserdurchfluss-Menge24_22_0



- (FF := ungültig)
27Bit0...Bit7Bit0...Bit7Status 2

Bit0Bit0- Status Speicherlade-Pumpe (SP)24_23_0

Bit1Bit1- Flüssiggasventil an24_23_1

Bit2Bit2- Status Gaswärmepumpe24_23_2

Bit3Bit3- Status d. Relais im Schaltmodul UM1024_23_3

Bit4Bit4- Zirkulationspumpe an (Relais-Signal f. ZP)24_23_4

Bit5Bit5- Status Brenner Relais24_23_5

Bit6Bit6- FB reservierte Bit24_23_6

Bit7Bit7- FB reservierte Bit24_23_7
28Bit0...Bit7Bit0...Bit7Status 3

Bit0Bit0- Status der Füllfunktion 24_24_0

Bit1Bit1- Status Schaltmodul UM1024_24_1

Bit2Bit2- UM10 Signal für Brenner-Blockierung24_24_2

Bit3Bit3- Brennerfreigabe durch Schaltmodul24_24_3

Bit4Bit4- Status Brenneranlauf im Schaltmodul24_24_4

Bit5Bit5- Heizbetrieb blockiert bei Heatronic III24_24_5

Bit6Bit6- STB – Test aktiv24_24_6

Bit7Bit7- Tastensperre ein24_24_7
29<CRC>Hi-ByteCRC | Hi-Byte - Ansauglufttemperaturxy | 24_25_0
30<Ende>Lo-ByteEnde | Lo-Byte - Ansauglufttemperatur
31<CRC> -– | CRC
32<Ende> –- | Ende
- -
-

Tabelle 7: ID 25

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:25_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

33Byte



Kessel-Telegramm: Heizgerät
088
Source
100
Target
219
25_x_0
3xy Telegramm-Offset (hier 0...25).
4Hi-ByteAußentemperatur25_0_0
5Lo-Byte
6Hi-ByteMaximale Temperatur25_2_0
7Lo-Byte- 0x8000 = Sensorunterbrechung / Fühler nicht vorhanden


- 0x7FFF = Sensorkurzschluss
8Hi-ByteAbgastemperatur25_4_0
9Lo-Byte- 0x8000 = Sensorunterbrechung / Fühler nicht vorhanden


- 0x7FFF = Sensorkurzschluss
10Hi-ByteGasdruck / Luftdruck25_6_0
11Lo-Byte- 0xFFFF = Sensorunterbrechung / Fühler nicht vorhanden
12xyTaktsperre im Zweipunkt Betrieb25_8_0
13xyModulationsbereich Heizungspumpe (HP)25_9_0
14Byte 3Brennerstarts Total (für Warmwasser und Heizung)25_10_0
15Byte 2 „ ( Calculation-Type: 2 )
16Byte 1
17Byte 3Betriebsminuten Brenner Total (für Warmwasser und Heizung)25_13_0
18Byte 2 „ ( Calculation-Type: 2 )
19Byte 1
20Byte 3Betriebszeit f. Zweite Brennerstufe25_16_0
21Byte 2 „ ( Calculation-Type: 2 )
22Byte 1
23Byte 3Betriebsminuten Brenner (nur Heizung)25_19_0
24Byte 2 „ ( Calculation-Type: 2 )
25Byte 1
26Byte 3Brennerstarts (nur Heizung)25_22_0
27Byte 2 „ ( Calculation-Type: 2 )
28Byte 1
29Hi-ByteTemperatur an hydraulischer Weiche25_25_0
30Lo-Byte- 0x8000 = Sensorunterbrechung / Fühler nicht vorhanden


- 0x7FFF = Sensorkurzschluss
31<CRC>CRC
32<Ende>Ende Marker
- -
-

Tabelle 8: ID 188

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:188_x_y
ByteWerte (Hex)BemerkungBedeutung / ID






Kessel-Telegramm: Heizgerät
088
Source
100
Target
2BC
188_x_y
3xy Telegramm-Offset (hier 0...13).
4Hi-ByteTemperatur Puffer-Speicher oben188_0_0
5Lo-Byte
6Hi-ByteTemperatur Puffer-Speicher unten188_2_0
7Lo-Byte
8Hi-ByteTemperatur Vorlauf Verflüssiger188_4_0
9Lo-Byte
10Hi-ByteTemperatur Rücklauf Verflüssiger188_6_0
11Lo-Byte
12Bit0...Bit7Betriebs-Status1

Bit0- Wärmepumpe188_8_0

Bit1
188_8_1

Bit2
188_8_2

Bit3
188_8_3

Bit4- Status Abtaumöglichkeit an W-Pumpe188_8_4

Bit5
188_8_5

Bit6
188_8_6

Bit7
188_8_7
13Bit0...Bit7Betriebs-Status2

Bit0- Abtaufunktion an W-Pumpe188_9_0

Bit1- Status Verdichter188_9_1

Bit2- Fehlerstatus Wärmepumpe188_9_2

Bit3
188_9_3

Bit4
188_9_4

Bit5
188_9_5

Bit6
188_9_6

Bit7
188_9_7
14<CRC>CRC
15<Ende>Ende
- -
-

Tabelle 9: ID 27

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:27_0_0
ByteWerte (Hex)BemerkungBedeutung / ID

7Byte



Telegramm: Solltemperatur WW-System
090 Source
100
Target
21B
27_x_0
300Immer 00
432Sollwert Warmwasser-Temperatur27_0_0
5<CRC>CRC
6<Ende>Ende Marker
- -
-

Tabelle 10: ID 51

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID: 51_x_y
ByteWerte (Hex)BemerkungBedeutung / ID






Kessel-Telegramm: Warmwasser
088
Source
100
Target
233
51_x_y
3xy Telegramm-Offset (hier 0...12).
4xySoll-Temperatur Warmwasser51_0_0
5xy
51_1_0
6xySoll-Temperatur Warmwasser51_2_0
7xyTemperaturhysterese bei T-Soll51_3_0
8xy
51_4_0
9xy
51_5_0
10xy
51_6_0
11xy
51_7_0
12xy
51_8_0
13xy
51_9_0
14xy
51_10_0
15xy
51_11_0
16xy
51_12_0
17<CRC>

18<Ende>

- -
-

Tabelle 11: ID 52

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme






Message-ID: 52_x_y
ByteWerte (Hex)
BemerkungBedeutung / ID

23Byte 22Byte 25Byte





Kessel-Telegramm: Warmwasser
0888888
Source
1000000
Target
2343434
52_x_y
3xyxyxy Telegramm-Offset (hier 0...17).
4xyxyxySoll-Temperatur Warmwasser52_0_0
5Hi-ByteHi-ByteHi-ByteIst-Temperatur Warmwasser52_1_0
6Lo-ByteLo-ByteLo-Byte- 0x8000 = Sensorunterbrechung / Fühler nicht vorhanden




- 0x7FFF = Sensorkurzschluss
7Hi-ByteHi-ByteHi-ByteIst-Temperatur im Warmwasser - Speicher52_3_0
8Lo-ByteLo-ByteLo-Byte- 0x8000 = Sensorunterbrechung / Fühler nicht vorhanden




- 0x7FFF = Sensorkurzschluss
9Bit0...Bit7Bit0...Bit7Bit0...Bit7Warmwasser-Status

Bit0Bit0Bit0- WW-Bereitung im Normalbetrieb52_5_0

Bit1Bit1Bit1- Einmalige Speicher-Ladung52_5_1

Bit2Bit2Bit2- Thermische Desinfektion52_5_2

Bit3Bit3Bit3- Speicherladung im WW-System52_5_3

Bit4Bit4Bit4- Speicherladung im Nachwärmsystem52_5_4

Bit5Bit5Bit5- Erreichter Sollwert Warmwasser-Temperatur52_5_5

Bit6Bit6Bit6- Warmwasserbetrieb52_5_6

Bit7Bit7Bit7- Status f. Art der Warmwasserbereitung52_5_7




-- 0 = Warmwasserteilvorrang




-- 1 = Warmwasservorrang
10Bit0...Bit7Bit0...Bit7Bit0...Bit7WW-Fehlersignale

Bit0Bit0Bit0- WW-Temperaturfühler 1 defekt52_6_0

Bit1Bit1Bit1- WW-Temperaturfühler 2 defekt52_6_1

Bit2Bit2Bit2- WW-System wird nicht aufgeheizt52_6_2

Bit3Bit3Bit3- Thermische Desinfektion ist nicht in Betrieb52_6_3

Bit4Bit4Bit4- WW ist nicht blockiert52_6_4

Bit5...Bit7Bit5...Bit7Bit5...Bit7- Immer 052_6_5 bis





52_6_7
11Bit0...Bit7Bit0...Bit7Bit0...Bit7Zirkulationspumpen-Status

Bit0Bit0Bit0- Zirkulationspumpe (ZP) im Normalbetrieb52_7_0

Bit1Bit1Bit1- Zirkulationspumpe (ZP) an bei einmaliger Speicherladung52_7_1

Bit2Bit2Bit2- Zirkulationspumpe (ZP) an52_7_2

Bit3Bit3Bit3- Ansteuersignal f. Zirkulationspumpe (ZP)52_7_3

Bit4...Bit7Bit4...Bit7Bit4...Bit7- Immer 0
120...40...40...4Bauart des Warmwassersystems52_8_0




- 0 = ohne Warmwasserbereitung




- 1 = nach Durchlaufprinzip




- 2 = Druckloser Speicher




- 3 = Warmwasser-Speicherprinzip




- 4 = Schichtlade-Speicher
13xyxyxyAktuelle Wasserduchflussmenge52_9_0
14Byte 3Byte 3Byte 3Betriebszeit Warmwasser-Erzeugung (Minuten)52_10_0
15Byte 2Byte 2Byte 2
16Byte 1Byte 1Byte 1
17Byte 3Byte 3Byte 3Anzahl Brennerstarts für Warmwassererzeugung52_13_0
18Byte 2Byte 2Byte 2
19Byte 1Byte 1Byte 1
20xy<CRC>xyModulationsbereich ZP im WW-System 152_16_0
21<CRC><Ende>Hi-ByteHi-Byte Warmwasser Eingangstemperatur52_17_0
22<Ende>--Lo-ByteLo-Byte Warmwasser Eingangstemperatur




- 0x8000 = Sensorunterbrechung / Fühler nicht vorhanden




- 0x7FFF = Sensorkurzschluss
23

<CRC>

24

<Ende>

- -
-

Tabelle 12: ID 467...468

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:467_x_0 bis 468_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

11Byte



Telegramm: Betriebsart WW-System
090 Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
400Immer 00EMS Type(H)
5D3 / D4WW-System


- D3=WW-System1467_0_0


- D4=WW-System2468_0_0
6xyBetriebsart Warmwasser-System


- 0=Automatikbetrieb f. WW-Speicher


- 1=Automatikbetrieb b. Kombigerät aktiv


- 2=Automatikbetrieb b. Kombigerät ausgeschaltet


- 3=Automatikbetrieb i. Urlaubsmodus f. WW-Speicher


- 4=Urlaubsfunktion eingeschaltet a. Kombigerät


- 5=Urlaubsfunktion ausgeschaltet a. Kombigerät


- 6=Fest eingestellte Speichertemperatur im Urlaubsprogramm


- 7=Thermische Desinfektion f. WW-Speicher


- 8=Warmwasser sofort


- 9=Estrichtrocknung in Betrieb oder angehalten
7xyWert f. Temperaturreduzierung bei solarer Unterstuetzung467_1_0 bis 468_1_0
8xyStatus der letzten thermischen Desinfektion467_2_0 bis 468_2_0


- 0=Abgeschlossen


- 1=In Betrieb


- 2=Abgebrochen
9<CRC>CRC
10<Ende>Ende Marker
- -
-

Tabelle 13: ID 26

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme



Message-ID:26_x_0

ByteWerte (Hex)BemerkungBedeutung / IDBeispiel (Hex)

11Byte




Telegramm: Heizkreis Systemwerte

090
Source
108Target = SteuerungTarget
21AImmer 1A26_x_0
3xy Telegramm-Offset (hier 0...4).

426Sollwert f. Vorlauftemperatur im Heizkreis26_0_0
564Maximale Leistung des Wärmeerzeugers26_1_0
664Sollwert f. Drehzahl der Umwälzpumpe26_2_0
70 / FFStatus f. Aufheizen mit hohem Wirkungsgrad26_3_0
83Betriebsart f. Umwälzpumpe im Energiesparmodus26_4_0
9<CRC>CRC

10<Ende>Ende Marker

- -
-

Tabelle 14: ID 268

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:268_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

14Byte



IPM – Telegramm (Schaltmodul)
0A0...A7
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
400Immer 00EMS Type(H)
50CImmer 0CEMS Type(L)
60...2Bauart des Heizkreises (Mischer ja/nein)


- 0=Nicht vorhanden


- 1=Ungemischter Heizkreis268_0_0


- 2=Gemischter Heizkreis268_0_1
70...1Status Heizungspumpe im Heizkreis268_1_0


- 0=Pumpe aus


- 1=Pumpe Ein
8xyMischer Position (Prozentwert)268_2_0
9Hi-ByteVorlauftemperatur 'Ist' für gemischten Heizkreis268_3_0
10Lo-Byte
11xySollwert Vorlauftemperatur (Grad)268_5_0
12<CRC>CRC
13<Ende>Ende Marker
- -
-

Tabelle 15: ID 296

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:296_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

32Byte



Telegramm: Heizkreis Fehlermeldungen
090
Source
100
Target
2FF
EMS Marker
3xyOffset auf nächste FehlermeldungEMS Offset
400Immer 00EMS Type(H)
528FehlerEMS Type(L)
6xy1Fehler1: Display-Code1296_0_0
7xy2Fehler1: Display-Code2296_1_0
8Hi-ByteFehler1: Fehlercode296_2_0
9Lo-Byte

10xyFehler1: Jahr (+2000)296_4_0
11xyFehler1: Monat296_5_0
12xyFehler1: Stunde296_6_0
13xyFehler1: Tag296_7_0
14xyFehler1: Minute296_8_0
15Hi-ByteFehler1: Minute (Reserviert)296_9_0
16Lo-Byte

17xyFehler1: Busadresse296_11_0
18xy1Fehler2: Display-Code1296_12_0
19xy2Fehler2: Display-Code2296_13_0
20Hi-ByteFehler2: Fehlercode296_14_0
21Lo-Byte

22xyFehler2: Jahr (+2000)296_16_0
23xyFehler2: Monat296_17_0
24xyFehler2: Stunde296_18_0
25xyFehler2: Tag296_19_0
26xyFehler2: Minute296_20_0
27Hi-ByteFehler2: Minute (Reserviert)296_21_0
28Lo-Byte

29xyFehler2: Busadresse296_23_0
30<CRC>CRC
31<Ende>Ende Marker
- -
-

Tabelle 16: ID 357...366

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:357_x_0 bis 366_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

29Byte



Telegramm: Heizkreis Steuerung


(Bauart des Heizkreises)
090
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
400Immer 00EMS Type(H)
565...6EHeizkreis xEMS Type(L)

65 65=Heizkreis1357_0_0

66 66=Heizkreis2358_0_0

67 67=Heizkreis3359_0_0

68 68=Heizkreis4360_0_0

69 69=Heizkreis5361_0_0

6A 6A=Heizkreis6362_0_0

6B 6B=Heizkreis7363_0_0

6C 6C=Heizkreis8364_0_0

6D 6D=Heizkreis9365_0_0

6E 6E=Heizkreis10366_0_0
60...3Bauart-Werte357_1_0 bis


- 0=Nicht vorhanden366_1_0


- 1=Ungemischter Heizkreis ohne Schaltmodul IPM


- 2=Ungemischter Heizkreis mit Schaltmodul IPM


- 3=Gemischter Heizkreis
70...2Fernbedienung für Heizkreis x


- 0=Nicht vorhanden


- 1=Fernbedienung FB 10


- 2=Fernbedienung FB100
80...4Bauart des Heizkreis x


- 0=nicht definiert357_2_0 bis


- 1=Fußpunkt/Endpunkt366_2_0


- 2=Radiatoren


- 3=Konvektoren


- 4=Fußbodenheizung
9z.B. 19Fußpunkt für Heizkurve (in Grad)357_3_0 bis



366_3_0
10z.B. 30Endpunkt für Heizkurve (in Grad)357_4_0 bis



366_4_0
11z.B. 50Maximale Vorlauftemperatur (in Grad) für Heizkreis x357_5_0 bis



366_5_0
12
Raumeinfluss-Faktor (%) im Heizkreis x357_6_0 bis



366_6_0
130...2Raumeinfluss im Heizkreis x bei Betriebsart357_7_0 bis


- 0=nicht definiert366_7_0


- 1=Normalbetrieb / Sparbetrieb / Frostschutzbetrieb


- 2=Sparbetrieb / Frostschutzbetrieb
14
Einstellung dauerhafte Raumtemperatur-Korrektur im Heizkreis x357_8_0 bis



366_8_0
150...3Betriebsart Raumtemperaturfühler für Heizkreis x357_9_0 bis


- 0=nicht definiert366_9_0


- 1=Externer Temperaturfühler


- 2=Interner Temperaturfühler


- 3=Temperatur im Sparmodus




160/FFStatus für Temperaturniveau Frost357_10_0 bis


- 0 = Aus366_10_0


- FF = Ein
17z.B. 2BAbschaltung (Außentemperaturgesteuert) von Heizkreis x357_11_0 bis


- (in 0.5 Grad Schritten)366_11_0
18
Frostgrenztemperatur für Heizkreis x357_12_0 bis


- (in 0.5 Grad Schritten)366_12_0
190...6Aktives Heizprogramm im Heizkreis x357_13_0 bis


- 0=nicht definiert366_13_0


- 1-6=Nummer des aktiven Heizprogramms


- (1:A; 2:=B;3:=C; …)
200....4Betriebsart für den Heizkreis x357_14_0 bis


- 0=nicht definiert366_14_0


- 1=Betrieb im Frostschutzmodus


- 2=Betrieb im Sparmodus


- 3=Betrieb im Normalmodus


- 4=Automatikbetrieb
21z.B. 14Temperaturniveau für Betriebsart Frost im Heizkreis x357_15_0 bis


- (in 0.5 Grad Schritten)366_15_0
22z.B. 28Temperaturniveau für Betriebsart Sparen im Heizkreis x357_16_0 bis


- (in 0.5 Grad Schritten)366_16_0
23z.B. 2BTemperaturniveau für Betriebsart Normal im Heizkreis x357_17_0 bis


- (in 0.5 Grad Schritten)366_17_0
240...3Aufheizgeschwindigkeit für Heizkreis x357_18_0 bis


- 0=nicht definiert366_18_0


- 1=Langsam


- 2=Normal


- 3=Schnell
250...4Urlaubsprogramm Betriebsart für Heizkreis x357_19_0 bis


- 0=nicht definiert366_19_0


- 1=Betrieb im Frostschutzmodus


- 2=Betrieb im Sparmodus


- 3=Betrieb im Normalmodus


- 4=Automatikbetrieb
26
Optimierungseinfluss für solare Unterstützung im Heizkreis x357_20_0 bis


- (in 1 Grad Schritten)366_20_0
27<CRC>CRC
28<Ende>Ende Marker
- -
-

Tabelle 17: ID 367...376

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme






Message-ID:367_x_0 bis 376_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

17Byte 14Byte 9Byte





Telegramm: Heizkreis Steuerung




(Temperaturniveau für den Heizkreis)
090 | 9x90 | 9x90 | 9x (wobei: x:= 8...F)Source
1000000
Target
2FFFFFF
EMS Marker
3xyxyxy
EMS Offset
4000000Immer 00EMS Type(H)
56F...786F...786F...78Heizkreis-ZuordnungEMS Type(L)




6F=Heizkreis1367_0_0




70=Heizkreis2368_0_0




71=Heizkreis3369_0_0




72=Heizkreis4370_0_0




73=Heizkreis5371_0_0




74=Heizkreis6372_0_0




75=Heizkreis7373_0_0




76=Heizkreis8374_0_0




77=Heizkreis9375_0_0




78=Heizkreis10376_0_0
60...30...30...3Betriebsart Heizung:367_0_0 bis




- 0=nicht definiert376_0_0




- 1=Frost




- 2=Sparen




- 3=Heizen
70...50...5<CRC>Betriebsart Heizkreis | | CRC367_1_0 bis




- 0=nicht definiert376_1_0



- 1=dauernd



- 2=Automatikbetrieb



- 3=Urlaub



- 4=Estrichtrocknung im StandbyModus



- 5=Estrichtrocknung in Betrieb
8Hi-ByteHi-Byte<Ende>Soll-Temperatur (HK1 bis HK10) | | Ende Marker367_2_0 bis
9Lo-ByteLo-Byte376_2_0
10Hi-ByteHi-ByteIst-Temperatur (HK1 bis HK10 vom Regler)367_4_0 bis
11Lo-ByteLo-Byte376_4_0
12Hi-Byte<CRC>T-Raum FB10x | CRC367_6_0
13Lo-Byte<Ende>T-Raum FB10x | Ende Marker
1400 … 07Temperaturwert für solare Unterstützung der Vorlauftemperatur367_8_0
15<CRC>CRC
16<Ende>Ende Marker
- -
-

Tabelle 18: ID 377...386

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:377_x_0 bis 386_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

19Byte



Telegramm: Heizkreis Steuerung
090 (Bauart des Heizkreises)Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
400Immer 00EMS Type(H)
579...82Heizkreis x KennungEMS Type(L)


79=Heizkreis1377_0_0


7A=Heizkreis2378_0_0


7B=Heizkreis3379_0_0


7C=Heizkreis4380_0_0


7D=Heizkreis5381_0_0


7E=Heizkreis6382_0_0


7F=Heizkreis7383_0_0


80=Heizkreis8384_0_0


81=Heizkreis9385_0_0


82=Heizkreis10386_0_0
60...3Bauart-Werte377_0_0 bis


- 0=Nicht vorhanden386_0_0


- 1=Ungemischter Heizkreis ohne Schaltmodul IPM


- 2=Ungemischter Heizkreis mit Schaltmodul IPM


- 3=Gemischter Heizkreis
7
Anpassungsfaktor im Heizkreis x377_1_0 bis



386_1_0
8
Verstärkungsfaktor im Heizkreis x377_2_0 bis



386_2_0
9
Maximale Vorlauftemperatur im Heizkreis x377_3_0 bis



386_3_0
100...4Betriebsart für Heizkreis x377_4_0 bis


- 0=nicht definiert386_4_0


- 1=Betrieb im Frostschutzmodus


- 2=Betrieb im Sparmodus


- 3=Betrieb im Normalmodus


- 4=Automatikbetrieb
11
Temperaturniveau bei Betriebsart Frost377_5_0 bis


- (in 0.5 Grad Schritten)386_5_0
12
Temperaturniveau bei Betriebsart Sparen377_6_0 bis


- (in 0.5 Grad Schritten)386_6_0
13
Temperaturniveau bei Betriebsart Normal377_7_0 bis


- (in 0.5 Grad Schritten)386_7_0
14
Urlaubsprogramm Betriebsart für Heizkreis x377_8_0 bis


- ( Werte wie bei Byte:10 Betriebsart Heizkreis)386_8_0
150/FFStatus Optimierungsfunktion im Heizkreis x377_9_0 bis


- 0 = Aus386_9_0


- FF = Ein
160...6Aktiviertes Heizprogramm377_10_0 bis


- 0=Nicht definiert386_10_0


- 1-6=Nummer des aktiven Heizprogramms


- (1=A; 2=B; 3=C; …)
17<CRC>CRC
18<Ende>Ende Marker
- -
-

Tabelle 19: ID 677...684

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:677_x_0 bis 684_x_0
Byte
BemerkungBedeutung / ID






Telegramm: Heizkreis Steuerung


(Temperaturniveau für den Heizkreis)
090
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
401Immer 01EMS Type(H)
5A5...ACHeizkreis-ZuordnungEMS Type(L)


A5=Heizkreis1677_0_0


A6=Heizkreis2678_0_0


A7=Heizkreis3679_0_0


A8=Heizkreis4680_0_0


A9=Heizkreis5681_0_0


AA=Heizkreis6682_0_0


AB=Heizkreis7683_0_0


AC=Heizkreis8684_0_0
6Hi-ByteIst-Raumtemperatur (HK1 bis HK8)677_0_0 bis
7Lo-Byte684_0_0
8xyStatus Heizkreis6xy_2_0
9xy
6xy_3_0
10xy
6xy_4_0
11xy
6xy_5_0
12xySoll-Raumtemperatur (HK1 bis HK8)6xy_6_0
13xy
6xy_7_0
14Hi-Byte
6xy_8_0
15Lo-Byte
16xy
6xy_10_0
17xyTemperatur-Niveau6xy_11_0
18xy
6xy_12_0
19Hi-Byte
6xy_13_0
20Lo-Byte
21Hi-Byte
6xy_15_0
22Lo-Byte
23xy
6xy_17_0
24xy
6xy_18_0
25xy
6xy_19_0
26xy
6xy_20_0
27xyBetriebsstatus (HK1 bis HK8) {Auto / Manuell}6xy_21_0
28Hi-Byte
6xy_22_0
29Lo-Byte
30xy
6xy_24_0
31xy
6xy_25_0
32xy
6xy_26_0
33Hi-Byte
6xy_27_0
34Lo-Byte
35xy
6xy_29_0
36xy
6xy_30_0
37<CRC>CRC
38<Ende>Ende Marker
- -
-

Tabelle 20: ID 259

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:259_x_0
ByteWerte (Hex)BemerkungBedeutung / ID

21Byte



ISM Solar-Telegramm
0B0
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
400Immer 00EMS Type(H)
503Immer 03EMS Type(L)
6xyOptimierungsfaktor WW mit solarer Unterstützung259_0_0
7xyOptimierungsfaktor Heiz. mit solarer Unterstützung259_1_0
8Hi-ByteSolarertrag in der letzten Stunde (Wh)259_2_0
9Lo-Byte
10Hi-ByteSolarkollektor1 Temperatur T1259_4_0
11Lo-Byte
12Hi-ByteSolarspeicher Temperatur T2259_6_0
13Lo-Byte
14Bit0...Bit7Betriebsart Solarpumpe (1. Kollektorfeld)

Bit0- Solarpumpe (SP); 0=aus; 1=ein259_8_0

Bit1- Relaysignal Umwälzpumpe(PE) bei thermischer Desinfektion259_8_1

Bit2..Bit7- Immer 0
15Bit0...Bit7Solar Systemstatus

Bit0- Abschaltung 1.Kollektorfeld bei Stagnation259_9_0


-- 0 =Nein


-- 1 =Ja (5 Grad Hysterese)

Bit1- Status Temperatur bei thermischer Desinfektion259_9_1

Bit2- Status Solarspeicher259_9_2


-- 0 =Nicht voll geladen


-- 1 =Voll geladen (2 Grad Hysterese)

Bit3-8 Immer 0
16Byte 3Laufzeit Solarpumpe (Minuten)
17Byte 2 „ ( Calculation-Type: 2 )259_10_0
18Byte 1
19<CRC>CRC
20<Ende>Ende Marker
- -
-

Tabelle 21: ID 260

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme



Message-ID:260_x_y
ByteWerte (Hex)
BemerkungBedeutung / ID

24Byte 35Byte




ISM Solar-Telegramm
0B0B0
Source
10000
Target
2FFFF
EMS Marker
3xyxy
EMS Offset
40000Immer 00EMS Type(H)
50404Immer 04EMS Type(L)
6Hi-Byte T3Hi-Byte T3Temperatur T3 im Pufferspeicher f. Rücklaufanhebung260_0_0
7Lo-Byte T3Lo-Byte T3
8Hi-ByteHi-ByteHeizungsrücklauftemperatur260_2_0
9Lo-ByteLo-Byte
10Hi-Byte T5Hi-Byte T5Temperatur T5 im Pufferspeicher (oben)260_4_0
11Lo-Byte T5Lo-Byte T5
12Hi-Byte T6Hi-Byte T6Temperatur T6 im Bereitschaftsspeicher (unten)260_6_0
13Lo-Byte T6Lo-Byte T6
14Hi-ByteHi-ByteTemperatur 2. Kollektorfeld260_8_0
15Lo-ByteLo-Byte
16Hi-ByteHi-ByteTemperatur TB im Pufferspeicher (oben)260_10_0
17Lo-ByteLo-Byte
18Hi-ByteHi-ByteTemperatur TC im Vorrang-/Nachrangspeicher260_12_0
19Lo-ByteLo-Byte
20Hi-ByteHi-ByteTemperatur am externen Wärmetauscher f. Solarsystem260_14_0
21Lo-ByteLo-Byte
22<CRC>Bit0...Bit7Status 1


Bit0- Betriebsart Ventil (DWU) f. Rücklaufanhebung260_16_0


Bit1- Relaisansteuerung f. Umwälzpumpe Umladesystem260_16_1


Bit2- Umwälzpumpe (PA) im 2. Kollektorfeld260_16_2


Bit3- Relaisansteuerung f. Umwälzpumpe (PB) Umladesystem260_16_3


Bit4- Betriebsart Umwälzpumpe (PC)/Umschaltventil260_16_4


Bit5- Betriebsart Umwälzpumpe (PD) im Sekundärkreis260_16_5


Bit6- Relaissignal bei Option F260_16_6


Bit7- unbenutzt260_16_7
23<Ende>Bit0...Bit7Status 2


Bit0- Ansteuerung Ventil DWU1 f. Rücklaufanhebung260_17_0


Bit1- Status maximale Temperatur im Umladespeicher260_17_1


Bit2- Status Umwälzpumpe (PA) im 2.Kollektorfeld (Stagnation)260_17_2


Bit3- Maximaltemperatur erreicht im WW-Speicher B260_17_3


Bit4- WW-Speicher geladen260_17_4


Bit5- Testmodus (Speicherladung Vorrangspeicher)260_17_5


Bit6- Maximaltemperatur erreicht im WW-Speicher C260_17_6


Bit7- Testmodus260_17_7
24
Byte 3Betriebszeit f. Solarmumpe (PA) im zweiten Kollektorfeld260_18_0
25
Byte 2
26
Byte 1
27
Hi-ByteZeitintervall f. Überprüfung ob Speicher C geladen wird260_21_0
28
Lo-Byte

29
Hi-ByteTemperatur TF 1 in Wärmequelle260_23_0
30
Lo-Byte

31
Hi-ByteTemperatur TF 2 in Wärmesenke260_25_0
32
Lo-Byte

33
<CRC>

34
<Ende>

- -
-

Tabelle 22: ID 866

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:866
Byte
BemerkungBedeutung / ID






MS100 Solar-Telegramm
0B0
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
402Immer 02EMS Type(H)
562Immer 62EMS Type(L)
6Hi-ByteSolarkollektor1 Temperatur866_0_0
7Lo-Byte
8Hi-ByteSolarspeicher Temperatur unten866_2_0
9Lo-Byte
10Hi-ByteSolarspeicher Temperatur mittlerer Sensor866_4_0
11Lo-Byte
12Hi-ByteSolarkollektor2 Temperatur866_6_0
13Lo-Byte
14Hi-ByteSolarspeicher Beipass Temperatur866_8_0
15Lo-Byte
16Hi-ByteSolarspeicher Beipass Return-Temperatur866_10_0
17Lo-Byte
18Hi-Byte
866_12_0
19Lo-Byte
20Hi-Byte
866_14_0
21Lo-Byte
22Hi-Byte
866_16_0
23Lo-Byte
24Hi-Byte
866_18_0
25Lo-Byte
26Hi-Byte
866_20_0
27Lo-Byte
28Hi-Byte
866_22_0
29Lo-Byte
30Hi-Byte
866_24_0
31Lo-Byte
32<CRC>

33<Ende>

- -
-

Tabelle 23: ID 868

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:868_x_y
Byte
BemerkungBedeutung / ID






MS100 Solar-Telegramm
0B0
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
402Immer 02EMS Type(H)
564Immer 64EMS Type(L)
6xy
868_0_0
7xy
868_1_0
8Bit0...Bit7
868_2_x

Bit0
868_2_0

Bit1
868_2_1

Bit2
868_2_2

Bit3
868_2_3

Bit4
868_2_4

Bit5
868_2_5

Bit6
868_2_6

Bit7
868_2_7
9Bit0...Bit7Solar Systemstatus868_3_x

Bit0- Abschaltung 1.Kollektorfeld bei Stagnation868_3_0


-- 0 =Nein


-- 1 =Ja

Bit1-- 1 =Solarspeicher maximale Temperatur erreicht868_3_1

Bit2-- 1 =Solarspeicher minimale Temperatur erreicht868_3_2

Bit3
868_3_3

Bit4
868_3_4

Bit5
868_3_5

Bit6
868_3_6

Bit7
868_3_7
10xy
868_4_0
11xy
868_5_0
12xy
868_6_0
13xy
868_7_0
14xy
868_8_0
15xyAktuelle Solarpumpen – Leistung868_9_0
16xy
868_10_0
17xy868_11_0
18xy
868_12_0
19xy868_13_0
20xy
868_14_0
21xy868_15_0
22<CRC>

23<Ende>

- -
-

Tabelle 24: ID 873

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:873_x_0
Byte
BemerkungBedeutung / ID






MS100 Solar-Telegramm
0B0
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
402Immer 02EMS Type(H)
569Immer 69EMS Type(L)
6Byte 4Solarertrag letzte Stunde873_0_0
7Byte 3
8Byte 2 „ ( Calculation-Type: 4 )
9Byte 1
10Byte 4Solarertrag aktueller Tag873_4_0
11Byte 3
12Byte 2
13Byte 1
14Byte 4Solarertrag Summe873_8_0
15Byte 3
16Byte 2
17Byte 1
18<CRC>

19<Ende>

- -
-

Tabelle 25: ID 874

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:874_x_0
Byte
BemerkungBedeutung / ID






MS100 Solar-Telegramm
0B0
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
402Immer 02EMS Type(H)
56AImmer 6AEMS Type(L)
6xy
874_0_0
7xy
874_1_0
8xy
874_2_0
9xy
874_3_0
10xy
874_4_0
11xy
874_5_0
12xy
874_6_0
13xy
874_7_0
14xy
874_8_0
15xy
874_9_0
16Bit0...Bit7
874_10_x

Bit0
874_10_0

Bit1
874_10_1

Bit2- Solarpumpe (SP); 0=aus; 1=ein874_10_2

Bit3
874_10_3

Bit4
874_10_4

Bit5
874_10_5

Bit6
874_10_6

Bit7
874_10_7
17xy
874_11_0
18xy
874_12_0
19xy874_13_0
20xy
874_14_0
21xy874_15_0
22<CRC>

23<Ende>

- -
-

Tabelle 26: ID 910

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:910_x_0
Byte
BemerkungBedeutung / ID






MS100 Solar-Telegramm
0B0
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
402Immer 02EMS Type(H)
58EImmer 8EEMS Type(L)
6Byte 4Solarertrag letzte Stunde910_0_0
7Byte 3
8Byte 2 „ ( Calculation-Type: 4 )
9Byte 1
10Byte 4Solarertrag aktueller Tag910_4_0
11Byte 3
12Byte 2 „ ( Calculation-Type: 5 )
13Byte 1
14Byte 4Solarertrag Summe910_8_0
15Byte 3
16Byte 2 „ ( Calculation-Type: 4 )
17Byte 1
18<CRC>

19<Ende>

- -
-

Tabelle 27: ID 913

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:913_x_0
Byte
BemerkungBedeutung / ID






MS100 Solar-Telegramm
0B0
Source
100
Target
2FF
EMS Marker
3xy
EMS Offset
402Immer 02EMS Type(H)
591Immer 91EMS Type(L)
6Byte 4Laufzeit Solarpumpe (Minuten)913_0_0
7Byte 3
8Byte 2 „ ( Calculation-Type: 2 )
9Byte 1
10xy
913_4_0
11xy
913_5_0
12xy
913_6_0
13xy
913_7_0
14xy
913_8_0
15xy
913_9_0
16xy
913_10_0
17xy
913_11_0
18<CRC>

19<Ende>

- -
-

Tabelle 28: ID 357_366_14_Modem

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:357_14_0 bis 366_14_0
ByteWerte (Hex)BemerkungBedeutung / ID

9Byte



Modem-CMD:: Betriebsart setzen
08DSource: ModemSource
110TargetTarget
2FFEMS-TypeEMS Marker
30E
EMS Offset
400
EMS Type(H)
565...6EHeizkreis xEMS Type(L)


65=Heizkreis1


66=Heizkreis2


67=Heizkreis3


68=Heizkreis4


69=Heizkreis5


6A=Heizkreis6


6B=Heizkreis7


6C=Heizkreis8


6D=Heizkreis9


6E=Heizkreis10
60...4Heizkreisbetriebsart-Werte357_14_0 bis


- 0=Nicht definiert366_14_0


- 1=Betrieb im Frostschutzmodus


- 2=Betrieb im Sparmodus


- 3=Betrieb im Normalmodus


- 4=Automatikbetrieb
7<CRC>CRC
8<Ende>Ende Marker
- -
-

Tabelle 29: ID 377_387_4_Modem

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme


Message-ID:377_4_0 bis 386_4_0
ByteWerte (Hex)BemerkungBedeutung / ID

9Byte



Modem-CMD: Betriebsart setzen
08DSource: ModemSource
110TargetTarget
2FFEMS-TypeEMS Marker
304
EMS Offset
400
EMS Type(H)
579...82Heizkreis x KennungEMS Type(L)


79=Heizkreis1


7A=Heizkreis2


7B=Heizkreis3


7C=Heizkreis4


7D=Heizkreis5


7E=Heizkreis6


7F=Heizkreis7


80=Heizkreis8


81=Heizkreis9


82=Heizkreis10
60...4Heizkreisbetriebsart-Werte357_4_0 bis


- 0=Nicht definiert366_4_0


- 1=Betrieb im Frostschutzmodus


- 2=Betrieb im Sparmodus


- 3=Betrieb im Normalmodus


- 4=Automatikbetrieb
7<CRC>CRC
8<Ende>Ende Marker
- -
-

Tabelle 30: ID 357...366_1x_Modem

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme




Message-ID:357_1x_0 bis 366_1x_0


ByteWerte (Hex)BemerkungBedeutung / ID


9Byte
Betriebsart



Modem-CMD: Temperatur-Niveau setzen (Betriebsart Normal/Sparen/Frost) NormalSparenFrost
08DSource: ModemSourceSourceSource
110TargetTargetTargetTarget
2FFEMS-TypeEMS MarkerEMS MarkerEMS Marker
311/10/0FEMS-Offset 11 (hex)10 (hex) F (hex)
400
EMS Type(H)EMS Type(H)EMS Type(H)
565...6EHeizkreis xEMS Type(L)EMS Type(L)EMS Type(L)


65=Heizkreis1




66=Heizkreis2




67=Heizkreis3




68=Heizkreis4




69=Heizkreis5




6A=Heizkreis6




6B=Heizkreis7




6C=Heizkreis8




6D=Heizkreis9




6E=Heizkreis10


6
Temperaturniveau für Betriebsart: y im Heizkreis x357_17_0 bis357_16_0 bis357_15_0 bis


- (in 0.5 Grad Schritten)366_17_0366_16_0366_15_0
7<CRC>CRC


8<Ende>Ende Marker


- -
-

Tabelle 31: ID 377...386_x_Modem

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
HT Bus-Telegramme




Message-ID:377_x_0 bis 386_x_0


ByteWerte (Hex)BemerkungBedeutung / ID


9Byte





Modem-CMD: Temperatur-Niveau setzen (Betriebsart Normal/Sparen/Frost) NormalSparenFrost
08DSource: ModemSourceSourceSource
110TargetTargetTargetTarget
2FFEMS-TypeEMS MarkerEMS MarkerEMS Marker
307/06/05EMS-Offset 7 (hex) 6 (hex) 5 (hex)
400
EMS Type(H)EMS Type(H)EMS Type(H)
579...82Heizkreis x KennungEMS Type(L)EMS Type(L)EMS Type(L)


79=Heizkreis1




7A=Heizkreis2




7B=Heizkreis3




7C=Heizkreis4




7D=Heizkreis5




7E=Heizkreis6




7F=Heizkreis7




80=Heizkreis8




81=Heizkreis9




82=Heizkreis10


60...4Temperaturniveau für Betriebsart: y im Heizkreis x377_7_0 bis377_6_0 bis377_5_0 bis


- (in 0.5 Grad Schritten)386_7_0386_6_0386_5_0
7<CRC>CRC


8<Ende>Ende Marker


- - - - diff --git a/doc/ems references/wiki_ ems_ telegrams.pdf b/doc/ems references/wiki_ ems_ telegrams.pdf deleted file mode 100644 index 882a997ab51421c585e316172c527cbb5be922a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 195670 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

5^dm_TB_nBbA$dvD?;V0cZ^< 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 I{c7=l0DUF4nE(I) literal 0 HcmV?d00001 diff --git a/docs/_media/logo/domoticz.png b/docs/_media/logo/domoticz.png new file mode 100644 index 0000000000000000000000000000000000000000..4350c23c9a8a2071d39c6da3d1e2f968f2767b07 GIT binary patch literal 27057 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�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 H9P)nv>pJHd literal 0 HcmV?d00001 diff --git a/docs/_media/logo/home-assistant.png b/docs/_media/logo/home-assistant.png new file mode 100644 index 0000000000000000000000000000000000000000..24fdd1628cdd38ff2088ec8035d23530a0f07242 GIT binary patch literal 4257 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 + +Welcome to EMS-ESP! A small project to read and write to EMS controller heating devices. +
+ +Follow these steps to get EMS-ESP up and running: + +- [Build](Building-your-own-test-circuit) or buy an EMS interface board. I highly recommend purchasing a EMS Gateway from BBQKees ([bbqkees-electronics.nl](https://bbqkees-electronics.nl)) + +- Get an ESP8266 dev board (Wemos D1, Lolin, Nodemcu or equivalent) + +- [Build or download the firmware](Building-firmware) + +- [Upload the firmware](Uploading-firmware) + +- Switch it on + +- [Configure the settings](Configure-firmware) + +- [Monitor what is happening](Running-and-Monitoring) + + diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 000000000..f123e0093 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,141 @@ + + + + + EMS-ESP Documentation + + + + + + + + + + + + + + + + + + +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/doc/home assistant/automation.yaml b/docs/integrations/homeassistant/automation.yaml similarity index 100% rename from doc/home assistant/automation.yaml rename to docs/integrations/homeassistant/automation.yaml diff --git a/doc/home assistant/binary_sensor.yaml b/docs/integrations/homeassistant/binary_sensor.yaml similarity index 100% rename from doc/home assistant/binary_sensor.yaml rename to docs/integrations/homeassistant/binary_sensor.yaml diff --git a/doc/home assistant/climate.yaml b/docs/integrations/homeassistant/climate.yaml similarity index 100% rename from doc/home assistant/climate.yaml rename to docs/integrations/homeassistant/climate.yaml diff --git a/doc/home assistant/customize.yaml b/docs/integrations/homeassistant/customize.yaml similarity index 100% rename from doc/home assistant/customize.yaml rename to docs/integrations/homeassistant/customize.yaml diff --git a/docs/integrations/homeassistant/ha.md b/docs/integrations/homeassistant/ha.md new file mode 100644 index 000000000..456a602f5 --- /dev/null +++ b/docs/integrations/homeassistant/ha.md @@ -0,0 +1,22 @@ +# Home Assistant Files + +* automation.yaml +* binary_sensor.yaml +* climate.yaml +* customize.yaml +* notify.yaml +* script.yaml +* sensor.yaml +* switch.yaml +* ui-lovelace.yaml + +Make sure you include these YAML files in your `configuration.yaml` file, e.g. +```yaml +script: !include script.yaml +sensor: !include sensor.yaml +switch: !include switch.yaml +notify: !include notify.yaml +climate: !include climate.yaml +automation: !include automation.yaml +binary_sensor: !include binary_sensor.yaml +``` \ No newline at end of file diff --git a/doc/home assistant/notify.yaml b/docs/integrations/homeassistant/notify.yaml similarity index 100% rename from doc/home assistant/notify.yaml rename to docs/integrations/homeassistant/notify.yaml diff --git a/doc/home assistant/script.yaml b/docs/integrations/homeassistant/script.yaml similarity index 100% rename from doc/home assistant/script.yaml rename to docs/integrations/homeassistant/script.yaml diff --git a/doc/home assistant/sensor.yaml b/docs/integrations/homeassistant/sensor.yaml similarity index 100% rename from doc/home assistant/sensor.yaml rename to docs/integrations/homeassistant/sensor.yaml diff --git a/doc/home assistant/switch.yaml b/docs/integrations/homeassistant/switch.yaml similarity index 100% rename from doc/home assistant/switch.yaml rename to docs/integrations/homeassistant/switch.yaml diff --git a/doc/home assistant/ui-lovelace.yaml b/docs/integrations/homeassistant/ui-lovelace.yaml similarity index 100% rename from doc/home assistant/ui-lovelace.yaml rename to docs/integrations/homeassistant/ui-lovelace.yaml diff --git a/docs/wish-list.md b/docs/wish-list.md new file mode 100644 index 000000000..e45ca7899 --- /dev/null +++ b/docs/wish-list.md @@ -0,0 +1,11 @@ +The feature backlog is maintained in the GitHub Projects which you can find [here](https://github.com/proddy/EMS-ESP/projects/1). + +Top of mind, these are the new features when I plan to address: + +- Measure the amount of gas in m3 per day for the hot water vs the central heating, and convert this into cost. +- Support changing temperatures on an Nefit Easy. To do this we must send XMPP messages directly to the thermostat. There is already a TCP stack and a Wifi and Telnet server running in the code, so the building blocks are there to extend with another XMPP client. Here are a number of Python based projects that show how to do this: + - https://github.com/patvdleer/nefit-client-python + - https://github.com/marconfus/ha-nefit + - https://github.com/robertklep/nefit-easy-core +- Improve detection of Heating Off without checking for selFlowTemp (selected flow temperature) +- Split MQTT into smaller chunks. Now the messages can be up to 600 bytes which may cause issues. Preferably make the topic items configurable. \ No newline at end of file From a38e21ac89d44b1d58bdc3a7f36fd80459ea7cf5 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 11 Jan 2020 15:09:33 +0100 Subject: [PATCH 059/195] moved wiki again --- README.md | 16 +- docs/.nojekyll | 1 - docs/Building-firmware.md | 60 ------ docs/Building-your-own-test-circuit.md | 24 --- docs/Configure-firmware.md | 35 ---- docs/Contributing.md | 15 -- docs/Deciphering-EMS-Plus.md | 66 ------- docs/Domoticz.md | 1 - docs/EMS-Telegram-Types.md | 66 ------- docs/FAQ.md | 16 -- docs/Home-Assistant.md | 171 ----------------- docs/Home.md | 61 ------ docs/How-the-Code-Works.md | 21 -- docs/How-the-EMS-bus-works.md | 69 ------- docs/MC110-controller.md | 130 ------------- docs/MQTT.md | 94 --------- docs/RC3xx-Thermostats.md | 128 ------------- docs/README.md | 69 ------- docs/Running-and-Monitoring.md | 32 ---- docs/SM100.md | 180 ------------------ docs/Supported-EMS-Devices.md | 51 ----- docs/Thermostat-Modes-RC35-vs-RC300.md | 15 -- docs/Troubleshooting.md | 70 ------- docs/Uploading-firmware.md | 14 -- docs/Web-test.md | 7 - docs/What's-New.md | 1 - docs/_assets/edit-link.js | 28 --- docs/_assets/prism-bash.min.js | 1 - docs/_assets/prism-ems-esp.js | 17 -- docs/_assets/prism-http.min.js | 1 - docs/_assets/prism-json.min.js | 1 - docs/_assets/prism-yaml.min.js | 1 - docs/_assets/prism.css | 143 -------------- docs/_assets/prism.js | 14 -- docs/_assets/theme-custom.css | 78 -------- docs/_glossary.md | 12 -- docs/_media/{ => logo}/EMS-ESP_logo.png | Bin docs/_media/logo/EMS-ESP_logo_dark.png | Bin 0 -> 4517 bytes docs/_media/{ => logo}/boiler.svg | 0 docs/_media/{ => logo}/boiler_128.png | Bin docs/_media/{ => logo}/boiler_16.png | Bin docs/_media/{ => logo}/boiler_16x16.ico | Bin docs/_media/{ => logo}/boiler_24.png | Bin docs/_media/{ => logo}/boiler_256.png | Bin docs/_media/{ => logo}/boiler_32.png | Bin docs/_media/{ => logo}/boiler_512.png | Bin docs/_media/{ => logo}/boiler_64.png | Bin docs/_media/{ => logo}/esp8266.png | Bin docs/_media/{ => logo}/logo-proddy-fw.jpg | Bin docs/_navbar.md | 8 - docs/_sidebar.md | 27 --- docs/favicon.ico | Bin 16958 -> 0 bytes docs/getting_started.md | 22 --- docs/index.html | 141 -------------- .../homeassistant/automation.yaml | 42 ---- .../homeassistant/binary_sensor.yaml | 12 -- docs/integrations/homeassistant/climate.yaml | 41 ---- .../integrations/homeassistant/customize.yaml | 12 -- docs/integrations/homeassistant/ha.md | 22 --- docs/integrations/homeassistant/notify.yaml | 16 -- docs/integrations/homeassistant/script.yaml | 8 - docs/integrations/homeassistant/sensor.yaml | 146 -------------- docs/integrations/homeassistant/switch.yaml | 20 -- .../homeassistant/ui-lovelace.yaml | 75 -------- docs/wish-list.md | 11 -- 65 files changed, 10 insertions(+), 2302 deletions(-) delete mode 100644 docs/.nojekyll delete mode 100644 docs/Building-firmware.md delete mode 100644 docs/Building-your-own-test-circuit.md delete mode 100644 docs/Configure-firmware.md delete mode 100644 docs/Contributing.md delete mode 100644 docs/Deciphering-EMS-Plus.md delete mode 100644 docs/Domoticz.md delete mode 100644 docs/EMS-Telegram-Types.md delete mode 100644 docs/FAQ.md delete mode 100644 docs/Home-Assistant.md delete mode 100644 docs/Home.md delete mode 100644 docs/How-the-Code-Works.md delete mode 100644 docs/How-the-EMS-bus-works.md delete mode 100644 docs/MC110-controller.md delete mode 100644 docs/MQTT.md delete mode 100644 docs/RC3xx-Thermostats.md delete mode 100644 docs/README.md delete mode 100644 docs/Running-and-Monitoring.md delete mode 100644 docs/SM100.md delete mode 100644 docs/Supported-EMS-Devices.md delete mode 100644 docs/Thermostat-Modes-RC35-vs-RC300.md delete mode 100644 docs/Troubleshooting.md delete mode 100644 docs/Uploading-firmware.md delete mode 100644 docs/Web-test.md delete mode 100644 docs/What's-New.md delete mode 100644 docs/_assets/edit-link.js delete mode 100644 docs/_assets/prism-bash.min.js delete mode 100644 docs/_assets/prism-ems-esp.js delete mode 100644 docs/_assets/prism-http.min.js delete mode 100644 docs/_assets/prism-json.min.js delete mode 100644 docs/_assets/prism-yaml.min.js delete mode 100644 docs/_assets/prism.css delete mode 100644 docs/_assets/prism.js delete mode 100644 docs/_assets/theme-custom.css delete mode 100644 docs/_glossary.md rename docs/_media/{ => logo}/EMS-ESP_logo.png (100%) create mode 100644 docs/_media/logo/EMS-ESP_logo_dark.png rename docs/_media/{ => logo}/boiler.svg (100%) rename docs/_media/{ => logo}/boiler_128.png (100%) rename docs/_media/{ => logo}/boiler_16.png (100%) rename docs/_media/{ => logo}/boiler_16x16.ico (100%) rename docs/_media/{ => logo}/boiler_24.png (100%) rename docs/_media/{ => logo}/boiler_256.png (100%) rename docs/_media/{ => logo}/boiler_32.png (100%) rename docs/_media/{ => logo}/boiler_512.png (100%) rename docs/_media/{ => logo}/boiler_64.png (100%) rename docs/_media/{ => logo}/esp8266.png (100%) rename docs/_media/{ => logo}/logo-proddy-fw.jpg (100%) delete mode 100644 docs/_navbar.md delete mode 100644 docs/_sidebar.md delete mode 100644 docs/favicon.ico delete mode 100644 docs/getting_started.md delete mode 100644 docs/index.html delete mode 100644 docs/integrations/homeassistant/automation.yaml delete mode 100644 docs/integrations/homeassistant/binary_sensor.yaml delete mode 100644 docs/integrations/homeassistant/climate.yaml delete mode 100644 docs/integrations/homeassistant/customize.yaml delete mode 100644 docs/integrations/homeassistant/ha.md delete mode 100644 docs/integrations/homeassistant/notify.yaml delete mode 100644 docs/integrations/homeassistant/script.yaml delete mode 100644 docs/integrations/homeassistant/sensor.yaml delete mode 100644 docs/integrations/homeassistant/switch.yaml delete mode 100644 docs/integrations/homeassistant/ui-lovelace.yaml delete mode 100644 docs/wish-list.md diff --git a/README.md b/README.md index 1970b4d78..ad79ab171 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -![logo](docs/_media/logo-proddy-fw.jpg) -# EMS-ESP +![logo](docs/_media/logo/EMS-ESP_logo_dark.png) [![version](https://img.shields.io/github/release/proddy/EMS-ESP.svg?label=Latest%20Release)](https://github.com/proddy/EMS-ESP/blob/master/CHANGELOG.md) [![release-date](https://img.shields.io/github/release-date/proddy/EMS-ESP.svg?label=Released)](https://github.com/proddy/EMS-ESP/commits/master) @@ -10,12 +9,14 @@ [![downloads](https://img.shields.io/github/downloads/proddy/EMS-ESP/total.svg)](https://github.com/proddy/EMS-ESP/releases)
[![gitter](https://img.shields.io/gitter/room/EMS-ESP/EMS-ESP.svg)](https://gitter.im/EMS-ESP/community) +
+------------- EMS-ESP is a open-source system to communicate with **EMS** (Energy Management System) based boilers, thermostats and other modules from manufacturers like Bosch, Buderus, Nefit, Junkers and Sieger. The code is written for the Espressif **ESP8266** microcontroller and supports a telnet console for real-time monitoring and configuration and customizable MQTT support for publishing the information to a home automation system such as Home Assistant or Domoticz. -#### Please reference the [Wiki](https://proddy.github.io/EMS-ESP) for further details and instructions on how to build and configure the firmware. +#### Please reference the [Wiki](https://emsesp.github.io/docs) for further details and instructions on how to build and configure the firmware. --- @@ -37,11 +38,14 @@ The code is written for the Espressif **ESP8266** microcontroller and supports a ## Supported EMS devices -More than **50** EMS devices are currently supported. See the [complete list](https://proddy.github.io/EMS-ESP/#/Supported-EMS-Devices). +More than **50** EMS 1.0 and 2.0 devices are currently supported. See the [complete list](https://proddy.github.io/EMS-ESP/#/Supported-EMS-Devices). -## Compatible with bbqkees' EMS Gateway -The firmware fully supports BBQKees' [EMS Gateway](https://bbqkees-electronics.nl/) board with integrated Wemos D1 ESP8266. +--- + +## Native compatibility with bbqkees' **EMS Gateway** + +All firmware versions fully support BBQKees' [EMS Gateway](https://bbqkees-electronics.nl/) board with integrated Wemos D1 ESP8266. | ![on boiler](docs/_media/ems%20gateway/on-boiler.jpg) | ![kit](docs/_media/ems%20gateway/ems-kit-2.jpg) | ![basic circuit](docs/_media/ems%20gateway/ems-board-white.jpg) | | ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index 8b1378917..000000000 --- a/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ - diff --git a/docs/Building-firmware.md b/docs/Building-firmware.md deleted file mode 100644 index 54e2f88b0..000000000 --- a/docs/Building-firmware.md +++ /dev/null @@ -1,60 +0,0 @@ -### Using the PlatformIO IDE - -- Download [Git](https://git-scm.com/download/win) (install using the default settings) -- Download and install [Visual Studio Code](https://code.visualstudio.com/docs/?dv=win) (VSC) -- Restart the PC (if using Windows) to apply the new PATH settings. It should now detect Git -- Install the VSC extension "PlatformIO IDE" -- Git clone this repo with "git clone" from the command palette and using the URL https://github.com/proddy/EMS-ESP.git -- Install NodeJS from [here](https://nodejs.org/en/download/). -- Test if Node is installed correctly by `node --version` (both v10 and v12 are ok) -- Install the modules in the `tools/webfilesbuilder` folder with: -``` -cd tools/webfilesbuilder -npm ci -``` -- Check you can build the web files by typing `node node_modules/gulp/bin/gulp.js` from the `webfilesbuilder` folder. -- Finally use the build targets in PlatformIO's to build & upload. - -If you seeing fatal errors in the npm install and came from an earlier build then you'll may need to refresh the library, like -1. Remove the local `node_modules` -2. Clean npm cache by `npm cache verify` -3. Update the global npm by `sudo npm ci -g npm` -4. Reinstall the local `node_modules` by `npm ci` - -### Using Linux CLI - -- Install python: -```sh -sudo apt install python-pip -``` -- Install PlatformIO (see https://docs.platformio.org/en/latest/installation.html): -```sh -python -c "$(curl -fsSL https://raw.githubusercontent.com/platformio/platformio/develop/scripts/get-platformio.py)" -``` -- Edit `~/.profile` and add: `export PATH=$PATH:~/.platformio/penv/bin` to the end, then `exit`, and start a new shell -- Update platformio and its libraries -```sh -platformio platform update -platformio lib update -``` -- Grab the EMS-ESP source code: -```sh -git clone https://github.com/proddy/EMS-ESP.git -``` - (use `git clone --branch=dev https://github.com/proddy/EMS-ESP.git` for dev builds) -- Install NodeJS. See instructions [here](https://tecadmin.net/install-latest-nodejs-npm-on-ubuntu/). -- Install the EMS-ESP's web builder components -```sh -cd EMS-ESP/tools/webfilesbuilder -npm ci -cd ../.. -``` -- Build the firmware image: -```sh -pio run -``` -- Upload to firmware image. This uses OTA as default. Change `platformio.ini` if using USB -```sh -pio run -t upload -``` - diff --git a/docs/Building-your-own-test-circuit.md b/docs/Building-your-own-test-circuit.md deleted file mode 100644 index d092f90ab..000000000 --- a/docs/Building-your-own-test-circuit.md +++ /dev/null @@ -1,24 +0,0 @@ -Here is a prototype board you can build yourself on a breadboard for testing. - -The breadboard layout was done using [DIY Layout Creator](https://github.com/bancika/diy-layout-creator) and sources files are included in this repo. - -![Breadboard Circuit](_media/schematics/breadboard.png ':size=500') - -The schematic used: - -![Schematic](_media/schematics/circuit.png ':size=500') - -*Optionally I've also added 2 0.5A/72V polyfuses between the EMS and the two inductors L1 and L2 for extra protection.* - -**Powering The EMS Circuit** - -The EMS circuit will work with both 3.3V and 5V. It's easiest though to power directly from the ESP8266's 3V3 line and run a steady 5V into the microcontroller. Powering the ESP8266 microcontroller can be either: - -- via the USB if your dev board has one -- using an external 5V power supply into the 5V vin on the board -- powering from the 3.5mm service jack (stereo jack) on the boiler. This will give you 8V so you need a buck converter (like a [Pololu D24C22F5](https://www.pololu.com/product/2858)) to step this down to 5V to provide enough power to the ESP8266 (250mA at least) -- powering direct from the EMS line, which is 15V DC and using a buck converter as described above. - -**With Power Circuit** - -![Power circuit](_media/schematics/Schematic_EMS-ESP.png ':size=600') | diff --git a/docs/Configure-firmware.md b/docs/Configure-firmware.md deleted file mode 100644 index 2dd841b41..000000000 --- a/docs/Configure-firmware.md +++ /dev/null @@ -1,35 +0,0 @@ - -## Hooking up the interface board - -If you have an EMS Gateway board then follow the instructions on [BBQKees' wiki](https://bbqkees-electronics.nl/wiki/). - -Things to check: - -1. Any external Dallas temperature sensors go to D1 -2. An external LED goes to D5 -3. Check the EMS bus lines are connected the right way: - -| EMS board | ESP8266 dev board | -| ----------|------------------ | -| Ground/G/J2| GND/G | -| Rx/J2 | D7/GPIO13 * | -| Tx/J2 | D8/GPIO15 *| -| VC/J2 | 3v3 | - -\* Note the firmware purposely switches the UART0 from the standard GPIOs (Rx 1 and Tx 3) to pins 13 and 15 to prevent Serial traffic (e.g. via a USB connection) interfere with the EMS line. See [the official document](https://arduino-esp8266.readthedocs.io/en/latest/reference.html#serial). - -## Adjusting the config settings - -When the EMS-ESP is running for the first time it's likely to be Access Point mode with a SSID called ems-esp and IP of 192.168.4.1. Use a phone/pc/laptop and connect to AP's SSID. Then either use Telnet (port 23) to IP address 192.168.4.1 or type in this IP address in a web browser. - -When using the web the default password is **admin**. - -The first thing you probably want to do is set the wifi mode to Client and set the SSID and password dor your own network. Then restart the EMS-ESP device. If everything is working the software should detect the devices on the EMS bus and the LED should light up a solid blue. If not, use the Telnet to look any error messages. - -The rest of the settings can be entered either via the Telnet interface (via `set`) or the web interface. The next settings you may want to change are the MQTT, `tx_mode` and `publish_time`. - -## Adding external Temperature sensors - -The code supports auto-detection of Dallas type temperature sensors. The default GPIO pin used on the ESP8266 is D5 but this can be configured in the setting menu (`set dallas_gpio`) or via the web. The Dallas chips DS1822, DS18S20, DS18B20, DS1825 are supported including their parasite varieties and can be daisy-chained on one line. If you're using parasite make sure you set this using 'set dallas_parasite on'. - -The values will be shown in the telnet session (`info`) and if MQTT is enabled sent as a single topic. See [MQTT](https://github.com/proddy/EMS-ESP/wiki/MQTT). diff --git a/docs/Contributing.md b/docs/Contributing.md deleted file mode 100644 index de0fc5428..000000000 --- a/docs/Contributing.md +++ /dev/null @@ -1,15 +0,0 @@ -Any contribution helps make EMS-ESP better. - -This project needs: -- guides for integrating into home automation systems like Home Assistant and Domoticz -- testing with various types of EMS devices (boilers, thermostats, solar, heap pumps etc) to build up our supported database -- Expand this wiki with more details, fixing spelling mistakes and other inaccuracies you may find - -## Editing articles -!> Warning: You need a GitHub user account to be able to edit! - -If you spot an error in an article use the *Improve this article* link at the top of the page to correct it. Note you will need a GitHub account. Make the change, click on "Propose file change" and "Create pull request". - - - - diff --git a/docs/Deciphering-EMS-Plus.md b/docs/Deciphering-EMS-Plus.md deleted file mode 100644 index 3170336de..000000000 --- a/docs/Deciphering-EMS-Plus.md +++ /dev/null @@ -1,66 +0,0 @@ -> [!NOTE] -> This page is a collection of findings to figure out how the EMS+ / EMS 2.0 protocol works. - -*** - -``` -sr = source ID -de = destination ID (read commands have the 8th bit set) -e+ = EMS flag (>0xF0) -of = offset -TYPE = Type ID -DATA = data block - -if 3rd byte = FF - -sr de FF of TYPE DATA --- -- -- -- ---- ---------------------------------------------------------------------------------- - -48 10 FF 0A 01B9 28 (write 1 byte, offset 0A, type 01B9, value 28 = 20.0 deg) -48 10 FF 0A 01B9 29 (write 1 byte, offset 0A, type 01B9, value 29 = 20.5 deg) -48 10 FF 00 01B9 FF (write 1 byte, type 01B9, value FF) - -48 90 FF 25 0101 (read byte 25 from 0101) - -10 48 FF 25 01A8 (no data. an acknowledgment) - -48 90 FF 1B 0201 A8 (why does a read have a value?) -10 48 FF 1B 01A8 (why no data. an acknowledgment?) - -09 B0 FF 00 FF00 01 (type FF00?) - - -broadcast messages (where de = 00): - -sr 00 FF of TYPE DATA --- -- -- -- ---- ---------------------------------------------------------------------------------- -10 00 FF 00 01B9 FF -10 00 FF 12 01B9 00 -10 00 FF 08 01A5 01 99 -10 00 FF 0A 01A5 01 -10 00 FF 19 01A5 06 04 00 00 00 00 FF 64 37 00 3C 01 FF 01 -10 00 FF 00 01A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00 -10 00 FF 00 01A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 -30 00 FF 00 0262 01 FB 01 9E 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 2B (SM100) -30 00 FF 00 0264 00 00 00 04 00 00 FF 00 00 1E 0C 20 64 00 00 00 00 E9 (SM100) -90 00 FF 00 006F 01 01 00 46 00 B9 (FR10) -10 00 FF 00 01A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00 (RC310) -10 00 FF 00 01A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 (RC1010) - -30 09 FF 00 0001 (this doesn't look correct) - -if 3rd byte = F9 or F7 - -sr de F9 00 no FF TYPE ?? DATA --- -- -- -- -- -- ---- -- ---------------------------------------------------------------------------------- - -10 48 F9 00 FF 016C 08 4F 00 00 00 02 00 00 00 02 00 03 00 03 00 03 00 02 (data, type 016C) -48 90 F9 00 11 FF 016D 08 (read 17 bytes, type 016D) -10 48 F9 00 FF 016D 08 4F 00 00 00 02 00 00 00 02 00 03 00 03 00 03 00 02 - -48 90 F9 00 11 FF 019E 00 (read 17 bytes, type 019E) -10 48 F9 00 FF 019E 00 4B 00 00 00 01 00 00 00 01 00 1B 00 06 00 1B 00 01 -10 00 F7 00 FF 01B9 35 19 (broadcast, type 01B9, value 19) - - -``` \ No newline at end of file diff --git a/docs/Domoticz.md b/docs/Domoticz.md deleted file mode 100644 index 32f3d6cf4..000000000 --- a/docs/Domoticz.md +++ /dev/null @@ -1 +0,0 @@ -Based on the original version by @Gert05, @bbqkees created more extensive version based on the Domoticz Python plugins (list at https://www.domoticz.com/wiki/Plugins#Python_Plugins_List). You can find it [here](https://github.com/bbqkees/ems-esp-domoticz-plugin) along with the instructions on how to install. diff --git a/docs/EMS-Telegram-Types.md b/docs/EMS-Telegram-Types.md deleted file mode 100644 index 46ba91ed4..000000000 --- a/docs/EMS-Telegram-Types.md +++ /dev/null @@ -1,66 +0,0 @@ -> [!TIP] -> Another good source of EMS and EMS+ investigation look at https://github.com/Th3M3/buderus_ems-wiki_ - -## A2 - -This message is a EMS 1.0 message - -Display code and Cause - -``` -(00:28:29.966) Thermostat -> all, type 0xA2 telegram: 10 00 A2 00 00 00 00 00 00 (CRC=CA) #data=5 -``` - - -| data position (0..n) in decimal | description | format | notes | -| - | - | - | - | -| 0-2 | Display code | 3 bytes | HEX To Decimal | -| 3-4 | Cause Code | 2 bytes | HEX To Decimal | - -## 3E, 48, 52, 5C - -These are EMS1.0 type broadcasted from an RC35 compatible thermostat (typically with a device ID of 0x10) as a Heating Controller Monitor Message. The data block is 16 bytes. We use this telegram to read the current room temperature, the setpoint temperature for up to 4 Heating Controllers 0x3E (HC1), 0x48 (HC2), 0x52 (HC3) and 0x5C (HC4) - -Examples: -``` -< header > < 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15> (data block) - 10 0B 3E 00 00 00 00 7D 00 00 00 00 00 00 00 00 00 11 05 04 - 10 00 48 00 00 00 00 00 E4 00 00 00 00 00 00 00 00 11 05 04 - 10 0B 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 - 10 0B 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 -``` -in night mode: -``` - 10 00 3E 00 04 03 00 7D 00 00 00 00 00 00 00 00 00 11 05 00 - 10 00 48 00 00 00 10 00 E9 00 00 00 00 00 00 00 00 11 05 00 -``` -in day mode: -``` - 10 0B 3E 00 04 03 00 7D 00 00 00 00 00 00 00 00 00 11 05 00 - 10 0B 48 00 00 00 10 00 E8 00 00 00 00 00 00 00 00 11 05 00 -``` -in auto day mode: -``` - 10 00 3E 00 04 03 00 7D 00 00 00 00 00 00 00 00 00 11 05 00 - 10 0B 48 00 04 03 00 00 EB 00 00 00 00 00 00 00 00 11 05 00 -``` - -deciphering each data element from 0 to 15 - -| data #n | description | format | notes | -| - | - | - | - | -| 0 | settings1 | 1 byte as a bit mask | bit 2 is automatic mode, bit 7 is manual mode, bit 5 is holiday mode | doesn't seem to make sense? | -| 1 | settings2 | 1 byte as a bit mask | bit 0 if in summer mode, bit 1 if in daytime | needs verifying | -| 2 | setpoint room temperature | 1 byte * 2 | | -| 3 + 4 | current room temperature | 2 bytes * 10 | has value 0x7D00 if switched off | -| 13 | switch state | 1 byte as a bit mask | always 11? | -| 14 | calculate setpoint flow temperature | 1 byte | this looks wrong | -| 15 | settings3 | 1 byte as a bit mask | we see two values 0 and 4 | - -Questions: - -* how to determine if a heating circuit is not active? Check for data #14 if its 0 ? -* when to ignore the setpoint temperature being 0? This depends on the bit masks in data #1 and #2 somehow -* data #0 is sometimes 04 (b0100) always with data#1 being 3 (b0011). This means DWH priority is set and daytime mode, according to https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme#wwbetriebsart. Is this correct since one of the examples we're in nightmode? - - diff --git a/docs/FAQ.md b/docs/FAQ.md deleted file mode 100644 index 3f813edc0..000000000 --- a/docs/FAQ.md +++ /dev/null @@ -1,16 +0,0 @@ -### Which ESP microcontrollers are supported? - - The code and circuit have been tested with a few ESP8266 development boards such as the Wemos D1 Mini, Wemos D1 Mini Pro, Nodemcu0.9 and Nodemcu2 dev boards. It will also work on bare ESP8266 chips such as the ESP-12E but do make sure you disabled the LED support and wire the UART correctly as the code doesn't use the normal Rx and Tx pins. - -### Which EMS devices are currently supported? - - [See here](Supported-EMS-Devices.md) for the list. - -### Getting support - -If you can't find the answer here check out: - -* [Issues](https://github.com/proddy/EMS-ESP/issues?utf8=%E2%9C%93&q=is%3Aissue): this is the most active channel at the moment, you might find an answer to your question by searching open or closed issues. -* [Wiki pages](https://github.com/proddy/EMS-ESP/wiki): I try and keep this up to date -* [Gitter channel](https://gitter.im/EMS-ESP/): get direct contact with some of the key developers behind the project and other users. -* [Post a question](https://github.com/proddy/EMS-ESP/issues/new/choose): as a last resort, you can open new *question* issue on GitHub. diff --git a/docs/Home-Assistant.md b/docs/Home-Assistant.md deleted file mode 100644 index 37b31f67c..000000000 --- a/docs/Home-Assistant.md +++ /dev/null @@ -1,171 +0,0 @@ -The files to read MQTT and parse as sensors and thermostat components into HA can be found [here](integrations/homeassistant/ha) along with a LoveLace dashboard which looks like: - -![Home Assistant panel](_media/home%20assistant/ha.png ':size=500') - -and the alerts on an iOS/Android device using PushBullet, PushOver or any notification service would look like: - -![Home Assistant iPhone notify](_media/home%20assistant/ha_notify.jpg ':size=300') - -## Supporting multiple thermostat heating circuits - -Create a component for each, using the HC number appended to the end of the topics. For example - -```yaml -- platform: mqtt - name: Thermostat HC2 - modes: - - "auto" - - "heat" - - "off" - mode_command_topic: "home/ems-esp/thermostat_cmd_mode2" - temperature_command_topic: "home/ems-esp/thermostat_cmd_temp2" - - mode_state_topic: "home/ems-esp/thermostat_data" - current_temperature_topic: "home/ems-esp/thermostat_data" - temperature_state_topic: "home/ems-esp/thermostat_data" - - mode_state_template: "{% if value_json.hc2.mode == 'manual' %} heat {% else %} {{value_json.hc2.mode}} {% endif %}" - - current_temperature_template: "{{ value_json.hc2.currtemp }}" - temperature_state_template: "{{ value_json.hc2.seltemp }}" - - temp_step: 0.5 - -``` - -## Sending out a heartbeat - -Thanks to @S-Przybylski for these additions. - -`sensors.yaml`: - -```yaml -################################################### -# EMS-ESP Statistics - heartbeat -################################################### -- platform: mqtt - state_topic: 'home/ems-esp/heartbeat' - name: 'ems_esp_wifi' - unit_of_measurement: '%' - value_template: '{{ value_json.rssid }}' - qos: 1 - availability_topic: 'home/ems-esp/status' - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/heartbeat' - name: 'ems_esp_load' - unit_of_measurement: '%' - value_template: '{{ value_json.load }}' - qos: 1 - availability_topic: 'home/ems-esp/status' - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/heartbeat' - name: 'ems_esp_freemem' - unit_of_measurement: '%' - value_template: '{{ value_json.freemem }}' - qos: 1 - availability_topic: 'home/ems-esp/status' - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/heartbeat' - name: 'ems_esp_uptime' - unit_of_measurement: 's' - value_template: '{{ value_json.uptime }}' - qos: 1 - availability_topic: 'home/ems-esp/status' - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/heartbeat' - name: 'ems_esp_version' - value_template: '{{ value_json.version }}' - qos: 1 - availability_topic: 'home/ems-esp/status' - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/heartbeat' - name: 'ems_esp_mqtt_disconnects' - value_template: '{{ value_json.MQTTdisconnects }}' - qos: 1 - availability_topic: 'home/ems-esp/status' - payload_available: "online" - payload_not_available: "offline" -``` - -and in `customize.yaml`: - -```yaml -sensor.ems_esp_wifi: - icon: mdi:wifi - friendly_name: 'Wifi strength' - -sensor.ems_esp_load: - icon: mdi:chart-line - friendly_name: 'System load' - -sensor.ems_esp_freemem: - icon: mdi:memory - friendly_name: 'Free Memory' - -sensor.ems_esp_uptime: - icon: mdi:update - friendly_name: 'Uptime' - -sensor.ems_esp_version: - icon: mdi:mini-sd - friendly_name: 'Firmare Version' - -sensor.ems_esp_mqtt_disconnects: - icon: mdi:chart-line - friendly_name: 'MQTT disconnects' -``` - -## Activating one-time hot water charging DHW once (OneTimeWater) - -switch.yaml -```yaml - one_time_water: - friendly_name: OneTimeWater - value_template: "{{ is_state('sensor.one_time_water', 'on') }}" - turn_on: - service: script.turn_on - entity_id: script.one_time_water_on - turn_off: - service: script.turn_on - entity_id: script.one_time_water_off -``` - -scripts.yaml -```yaml - one_time_water_on: - sequence: - - service: mqtt.publish - data_template: - topic: 'home/ems-esp/boiler_cmd_wwonetime' - payload: '1' - - one_time_water_off: - sequence: - - service: mqtt.publish - data_template: - topic: 'home/ems-esp/boiler_cmd_wwonetime' - payload: '0' -``` - -sensors.yaml -```yaml - - platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'one_time_water' - value_template: '{{ value_json.wWOnetime }}' -``` diff --git a/docs/Home.md b/docs/Home.md deleted file mode 100644 index 19274efc5..000000000 --- a/docs/Home.md +++ /dev/null @@ -1,61 +0,0 @@ -EMS-ESP Logo - -[![version](https://img.shields.io/github/release/proddy/EMS-ESP.svg?label=Latest%20Release)](https://github.com/proddy/EMS-ESP/blob/master/CHANGELOG.md) -[![release-date](https://img.shields.io/github/release-date/proddy/EMS-ESP.svg?label=Released)](https://github.com/proddy/EMS-ESP/commits/master) -[![license](https://img.shields.io/github/license/proddy/EMS-ESP.svg)](LICENSE) -[![travis](https://travis-ci.com/proddy/EMS-ESP.svg?branch=master)](https://travis-ci.com/proddy/EMS-ESP) -[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b8880625bdf841d4adb2829732030887)](https://app.codacy.com/app/proddy/EMS-ESP?utm_source=github.com&utm_medium=referral&utm_content=proddy/EMS-ESP&utm_campaign=Badge_Grade_Settings) -[![downloads](https://img.shields.io/github/downloads/proddy/EMS-ESP/total.svg)](https://github.com/proddy/EMS-ESP/releases) - -**EMS-ESP** is a project to build an electronic controller circuit using an Espressif ESP8266 microcontroller to communicate with EMS (Energy Management System) based Boilers and Thermostats from the Bosch range and compatibles such as Buderus, Nefit, Junkers etc. - -Currently [this is the list](Supported-EMS-Devices) of EMS heating devices that have been tested. - -### What's New? - - - -#### **Version 1.9.5 beta** -**January 6 2020** - -Happy new year everyone! 1.9.5 has been in development for a while now but it's almost ready with a few new features and many bug fixes and improvements such as: - -- Changing heating settings on Junkers thermostats -- Supporting multiple thermostat heat controllers -- MM10 Mixer support -- SM200 Solar module support - -Thanks to everyone for providing feedback. - -Also make sure you check out the full [ChangeLog](https://github.com/proddy/EMS-ESP/blob/dev/CHANGELOG.md). - -Paul. - -#### **Version 2.0** -**January 6 2020** - -The next major version is in the works. Here are some of the changes: -- A re-write of the Web interface. Websocket authentication was problematic in many browsers. The new version moves to a cleaner React and TypeScript -- Tighter security in the Web and Telnet, using SSL/TLS and tokens. -- Improved Telnet console with different levels of admin control and multi-client. -- Refactoring the code to make it easier to read, using more C++11 features now in the Arduino core libraries - - - -### Community Support -Go to [Gitter](https://gitter.im/EMS-ESP/community) for quick feedback, questions and troubleshooting. - -### Acknowledgments - -Kudos out to the following people who have open-sourced their work and helped me build this project: - - **susisstrolch** - One of the first working versions of the EMS bridge circuit I found designed for specifically for the ESP8266. I borrowed Juergen's [schematic](https://github.com/susisstrolch/EMS-ESP12) and parts of his code ideas for reading telegrams. - - **bbqkees** - Kees built a small SMD commercial grade circuit board which is available for purchase on his [website](https://bbqkees-electronics.nl/). - - **EMS Wiki** - A comprehensive [reference](https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme) (in German) for the EMS bus which is a little outdated, not always 100% accurate and sadly no longer maintained. - - -## DISCLAIMER - -!> This code and libraries were developed from information gathered on the internet and many hours of reverse engineering the communications between the EMS bus and thermostats. It is **not** based on any official documentation or supported libraries from Buderus/Junkers/Nefit (and associated companies) and therefore there are no guarantees whatsoever regarding the safety of your devices and/or their settings, or the accuracy of the information provided. diff --git a/docs/How-the-Code-Works.md b/docs/How-the-Code-Works.md deleted file mode 100644 index 786446082..000000000 --- a/docs/How-the-Code-Works.md +++ /dev/null @@ -1,21 +0,0 @@ -## The main source files - -`emsuart.cpp` handles the low level UART read and write logic to the bus. You shouldn't need to touch this. All receive commands from the EMS bus are handled asynchronously using a circular buffer via an interrupt. A separate function processes the buffer and extracts the telegrams. - -`ems.cpp` is the logic to read the EMS data packets (telegrams), validates them and process them based on the type. - -`ems-esp.cpp` is the Arduino code for the ESP8266 that kicks it all off. This is where we have specific logic such as the code to monitor and alert on the Shower timer and light up the LEDs. - -`my_config.h` has all the custom settings tailored to your environment. Specific values here are also stored in the ESP's SPIFFs (File system). - -`ems_devices.h` has all the configuration for the known EMS devices currently supported. - -`MyESP.cpp` is my custom library to handle WiFi, MQTT and Telnet. Uses a modified version of [TelnetSpy](https://github.com/yasheena/telnetspy). - -`ds18.*` are the Dallas libraries for any external temperature sensors. - -## How the shower logic works - -Checking whether the shower is running is tricky. We know when the warm water is on and being heated but need to distinguish between the central heating, shower, hot tap and even a bath tap. So this code is a little experimental. - -There is other logic in the code to compensate for water heating up to shower temperature and whether the shower is turned off and back on again quickly within a 10 second window. \ No newline at end of file diff --git a/docs/How-the-EMS-bus-works.md b/docs/How-the-EMS-bus-works.md deleted file mode 100644 index 5b7d9b845..000000000 --- a/docs/How-the-EMS-bus-works.md +++ /dev/null @@ -1,69 +0,0 @@ -Packages are streamed to the EMS "bus" from any other compatible connected device via serial TTL transmission using protocol 9600 baud, 8N1 (8 bytes, no parity, 1 stop bit). Each package is terminated with a break signal ``, a 11-bit long low signal of zeros. - -A package can be a single byte (see Polling below) or a string of 6 or more bytes making up an actual data telegram. A telegram for the EMS 1.0 is always in the format: - -``[src] [dest] [type] [offset] [data] [crc] `` - -The first 4 bytes is referenced as the *header* in this document. - -### EMS IDs - -Each device has a unique ID. - -In this example a UBA boiler has an ID of 0x08 (such as a MC10) and also referred to as the Bus Master. - -The circuit acts as a service key and thus uses an ID 0x0B. This ID is reserved for special devices intended for service engineers. - -### EMS Polling - -The bus master (boiler) sends out a poll request every second by sending out a sequential list of all possible IDs as a single byte followed by the break signal. The ID always has its high 8th bit (MSB) set so in the code we're looking for 1 byte messages matching the format `[dest|0x80] `. - -Any connected device can respond to a Polling request with an acknowledgement by sending back a single byte with its own ID. In our case we would listen for a `[0x8B] ` (meaning us) and then send back `[0x0B] ` to say we're alive and ready. - -Polling is also the trigger to start transmitting any packages queued for sending. It must be done within 200ms or the bus master will time out. - -### EMS Broadcasting - -When a device is broadcasting to everyone there is no specific destination needed. `[dest]` is always 0x00. - -The tables below shows which types are broadcasted regularly by the boiler (in this case ID 0x08) and thermostat (ID 0x17). The **data length** is excluding the 4 byte header and CRC and the **Name** references those in the German [ems wiki](https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme). - -| Source (ID) | Type ID | Name | Description | Data length | Frequency | -| ------------- | ------- | ------------------- | -------------------------------------- | ----------- | ---------- | -| Boiler (0x08) | 0x34 | UBAMonitorWWMessage | warm water temperature | 19 bytes | 10 seconds | -| Boiler (0x08) | 0x18 | UBAMonitorFast | boiler temps, power, gas/pump switches | 25 bytes | 10 seconds | -| Boiler (0x08) | 0x19 | UBAMonitorSlow | boiler temp and timings | 22 bytes | 60 seconds | -| Boiler (0x08) | 0x1C | UBAWartungsmelding | maintenance messages | 27 bytes | 60 seconds | -| Boiler (0x08) | 0x2A | n/a | status, specific to boiler type | 21 bytes | 10 seconds | -| Boiler (0x08) | 0x07 | n/a | ? | 21 bytes | 30 seconds | - -| Source (ID) | Type ID | Name | Description | Frequency | -| ----------------- | ------- | ----------------- | --------------------------------------------------- | ---------- | -| Thermostat (0x17) | 0x06 | RCTime | returns time and date on the thermostat | 60 seconds | -| Thermostat (0x17) | 0x91 | RC30StatusMessage | returns current and set temperatures | 60 seconds | -| Thermostat (0x17) | 0xA3 | RCTempMessage | returns temp values from external (outdoor) sensors | 60 seconds | - -Refer to the code in `ems.cpp` for further explanation on how to parse these message types and also reference the EMS Wiki. - -### EMS Reading and Writing - -Telegrams can only be sent after the Master (boiler) sends a poll to the receiving device. The response can be a read command to request data or a write command to send data. At the end of the transmission a poll response is sent from the client (` `) to say we're all done and free up the bus for other clients. - -When executing a request to read data the `[src]` is our device `(0x0B)` and the `[dest]` must have has it's MSB (8th bit) set. Say we were requesting data from the thermostat we would use `[dest] = 0x97` since RC20 has an ID of 0x17. - -Following a write request, the `[dest]` doesn't have the 8th bit set and after this write request the destination device will send either a single byte 0x01 for success or 0x04 for failure. - -Every telegram sent is echo'd back to Rx, along the same Bus used for all Rx/Tx transmissions. - -### Special EMS Types - -`ems.cpp` defines callback functions that handle all the broadcast types listed above (e.g. 0x34, 0x18, 0x19 etc) plus these extra types: - -| Source (ID) | Type ID | Name | Description | -| ------------- | ------- | ----------------------------- | ---------------------------------------- | -| Boiler (0x08) | 0x33 | UBAParameterWW | reads selected & desired warm water temp | -| Boiler (0x08) | 0x14 | UBATotalUptimeMessage | | -| Boiler (0x08) | 0x15 | UBAMaintenanceSettingsMessage | | -| Boiler (0x08) | 0x16 | UBAParametersMessage | | - -In `ems.cpp` you can add scheduled calls to specific EMS types in the functions `ems_getThermostatValues()` and `ems_getBoilerValues()`. diff --git a/docs/MC110-controller.md b/docs/MC110-controller.md deleted file mode 100644 index bd66258bb..000000000 --- a/docs/MC110-controller.md +++ /dev/null @@ -1,130 +0,0 @@ -The various types from newer EMS+ controllers like the MC110 found in GB122/125's. - -Byte 1 is the 1st byte of the data block (which is the 5th byte of the telegram for EMS 1.0 for example). - -Bit 0 is the first byte (so value & 0x01) - -This information was compiled with most if it coming from https://github.com/Th3M3/buderus_ems-wiki. Kudos to @Th3M3 for collecting this. - -## 0xD1: UBAOutdoorTemp - -Sent every minute. The first 2 bytes is a short value * 10 - -``` -1 - 2 = outdoor temp, short value * 10 -``` - -## 0x14: UBABetriebszeit - -``` -1 - 2 = total operating time in minutes -``` - -## 0xBF: UBAErrorMessage - -Sent every 10 minutes - -``` -1 = 0x08 -2 = Model ID, 0x85 for MC110/GB125, 0xEA for GB122 -3 = blocking error: always 0x0A (fault class, see service manual) -4 = blocking error: 0x00 or 0x10 = interlocking error, 0x11 = blocking error, 0x12 = system error, 0x13 = reset system error -5 = ASCII | Fault code 0. character (possibly 0x0a = space) -6 = ASCII | Fault code (operation code) 1st character -7 = ASCII | Fault code (operation code) 2nd character -8 - 9 = additional code (status code) -``` - -## 0xE3: UBA?? - -Sent every 10 seconds - -``` -3 = heat request. is 1 if byte 1/bit 1 is set, otherwise 0 -6 = bit 1 for warming water yes/no -12 - 17 = boiler actual temperature * 10 C -14 = Burner capacity-actual in % -15 = Always 0x64 (100%) -16 = Boiler max. temperature in C -19 = %, is 0x64 (100%) if byte 1/bit 1 is set to 1. Otherwise 0. -20 = Cool set temperature for DHW preparation in C -``` - -## 0xE4: UBAMonitorFast - -Sent every 3 seconds - -``` -3 = operation code 1st character -4 = operation code 2nd character -5 - 6 = status code, as numerical value -7 = boiler set temp/heater temp in C -8 - 9 = actual boiler temp * 10 -10 = 0x64 (= 100%) in heating mode, 0x00 in DHW preparation, as % -11 = Burner capacity/power actual as % -12 = bit 0 = flame yes/no, bit 1 = day yes/no, bit 2 = WW prep yes/no -20 - 21 = flame current * 10 in uA -24 - 25 = same as bytes 8-9 -``` - -## 0xE5: UBAMonitorSlow - -Sent every 60 seconds - -``` -3 = - bit 0 = fuel valve 1 open - bit 1 = fuel valve 2 open - bit 2 = blower on - bit 3 = ignition on - bit 4 = oil preheater on - bit 5 = boiler circuit pump on - bit 6 = 3-way valve on WW - bit 7 = circulating pump on -9 = bit 0 = fire control started -11 - 13 = total burner starts -14 - 16 = burner operating hours -17 - 19 = burner level 2 operating hours -20 - 22 = Burner operating hours due to heating demand (excluding DHW preparation) -23 - 25 = Burner starting by heat demand (excluding WW-preparation) -26 = Heating circuit pump modulation % -``` - -## Type 0xE9: DHW status - -Sent every 10 seconds - -``` -1 = DHW setpoint (with setpoint = "off": 0x0A = 10 ° C) -2 - 3 = hot water actual value * 10 -4 - 5 = hot water actual value * 10 -10 = setpoint thermal disinfection -11 = setpoint daily heating temperature -13 = - bit 0 : DHW preparation activated by automatic program - bit 2 : DHW preparation activated by one-time charge - bit 3 : DHW preparation activated by thermal disinfection - bit 4 : DHW preparation active (always 1 if bit 0, 2 or 3 also 1) -14 = - bit 0 : Circulation day mode (or by single charge / th. disinfection activated) - bit 2 : circulating pump on - bit 4 : WW-preparation (when switching to daytime operation sometimes short 0, then again 1) - bit 5 : WW preparation -15 - 17 = Warmwater preparations -18 - 20 = # hours water heating -21 = Warming water (0x64 = 100%) -24 = Set value of time program (if set = "off": 0x00) -26 = same as byte 1, in C -``` - -## 0x07E4: UBA Status - -Sent every 10 seconds - -``` -6 = operation code 1st character -7 = operation code 2nd character -10 = Boiler setpoint temperature during heating operation (0x00 with DHW preparation) -11 = 0x64 (= 100%) in heating mode, 0x00 in DHW preparation or when night -12 = Boiler setpoint temperature during DHW preparation (0x00 during heating operation or when night) -``` diff --git a/docs/MQTT.md b/docs/MQTT.md deleted file mode 100644 index ec91e3842..000000000 --- a/docs/MQTT.md +++ /dev/null @@ -1,94 +0,0 @@ -## MQTT configuration options - -#### QOS -The QOS (Quality Of Service) is configurable within telnet (`mqtt_qos`) and WebUI. Valid options are At most once (0) At least once (1) and Exactly once (2). The default is 0. - -#### Keep Alive -Likewise the Keep Alive (`mqtt_keepalive`) can be set. Keep alive ensures that the connection between the broker and client is still open and that the broker and the client are aware of being connected. This value is the number of seconds before giving up on a response and default set to 60 (1 minute). The lower the number the more WiFi traffic but greater the stability. - -#### Retain -`mqtt_retain` sets the MQTT retain flag for all published messages on the broker. It's set to off as default. - -[HiveMQ](https://www.hivemq.com/tags/mqtt-essentials/) has a good explanation of MQTT. - -## MQTT topics - -*all* topics are prefixed with `[base]`/[`host name`]/ where both `base` and `host name` are configurable in the Web UI. The default is `home/ems-esp/`. - -If you want to configure the topic names, these can be changed in the file `src/my_config.h`. - -## Publishing Topics - -All the key information from each of the EMS devices connected (Boilers, Thermostats, Solar Modules etc) are sent periodically on a single MQTT topic. The frequency of these publishes can be adjusted by the `publish_time` parameter which is set to 2 minutes (120 seconds) as default. - -If the data in the payload has not changed since the last publish, it is ignored. Although from version 1.9.4 this can also be configured with the `publish_always` command and WebUI parameter. For example `set publish_always on` will always publish MQTT topics regardless if any of the data parameters have changed. - -The table below shows examples of the topics being published: - -| Topic | Description | Payload Example | -| ------------------- | ------------------- | --------------- | -| `sensors` | temperature readings from any external Dallas sensors attached to the ESP | `{"temp_1":"20.18","temp_2":"40.81"}` | -| `start` | this is the MQTT will and testament messages | `online` or `offline` | -| `heartbeat` | if enabled send out key system stats in JSON | `{"version":"1.9.3b3","IP":"10.10.10.198","rssid":68,"load":100,"uptime":4,"freemem":68,"MQTTdisconnects":0}` | -| `tapwater_active` | individual message if using a boolean sensor to show if hot tap water is running | `0` or `1` | -| `heating_active` | individual message if using a boolean sensor to show if heating is on | `0` or `1` | -| `boiler_data` | all the key data from the Boiler device | `{"wWComfort":"Hot","wWSelTemp":54,....` (see the example in the Monitoring MQTT section below) | -| `thermostat_data` | data from each of the Thermometer's Heating Circuits. Default HC is 1. The data sent depends on the model. | `{ "hc1":{"seltemp":15,"currtemp":20.6,"mode":"auto"}, "hc2":{"seltemp":8,"currtemp":18.2,"mode":"off"} }` | -| `mixing_data` | data from The Mixing Module for each of the Thermometer's Heating Circuits. | `{"hc1":{"flowTemp":55,"pumpMod":"1","valveStatus":"1"}}` | -| `shower_data` | the shower timer and alert toggles plus the duration of the last shower taken | `{"timer":"0","alert":"0","duration":"4 minutes 32 seconds"}` | -| `sm_data` | all data from the Solar Module (if connected) | JSON with `collectortemp` `bottomtemp` `pumpmodulation` `pump` `energylasthour` `energytoday` `energytotal` `pumpWorkMin` | -| `hp_data` | all data from the Heat Pump (if connected) | `{"pumpmodulation":"1", "pumpspeed": 20}` | - -## Receiving Topics - -EMS-ESP subscribes to the following topics used to send commands to the device: - -| Topic | Description | Payload Format | Example | -| ------------------- | ------------------- | -------------- | ------- | -| `start` | this is the MQTT will and testament messages back from the broker | `online` or `offline` | `offline` | -| `restart` | restarts the ESP | | | -| `thermostat_cmd_temp` | sets the thermostat current setpoint temperature to the Heating Circuit `n` (1-4). This is specific for the Home Assistant climate component | temperature value as a float | `20.8` | -| `thermostat_cmd_mode` | sets the thermostat current mode to the Heating Circuit `n` (1-4). This is specific for the Home Assistant climate component | auto, day, night, off, manual | `auto` | -| `thermostat_cmd` | send a generic command to control the thermostat | JSON `{"cmd":,"data":` with `command` being `temp`, `mode`, `nightemp`, `daytemp` or `holidaytemp` with hc being empty or the heat controller (1-4) and `value` being a numeric value | `{ "cmd":"temp2", "data": 20 }` | -| `shower_data` | for setting the shower timer or alert toggle | JSON as `{"timer|alert":"0|1"}` | `{"timer":"1"}` | -| `generic_cmd` | for sending a command to the EMS-ESP, e.g. sending a shot of cold water | `coldshot` | `coldshot` | -| `boiler_cmd` | for sending generic command to control the Boiler | JSON `{"cmd":,"data":` with `command` being `comfort` and `data` = `[hot,comfort,intelligent]` or `flowtemp` with `data` being the desired temperature or `boiler_cmd_wwonetime` | `{"cmd":"flowtemp",data:55}` | -| `boiler_cmd_wwactivated` | for receiving boiler controls from a HA HVAC component | `"1"` or `"0"` | `"1"` | -| `boiler_cmd_wwtemp` | for receiving boiler temperature setting from a HA HVAC component | the temperature value | `60` | - -## Monitoring MQTT - -In Telnet the command `mqttlog` will show you the last messages published as well as which topics are being subscribed to. In the WebUI you also see real-time the last set of published messages in the System Status screen. Below is an example of the telnet command. - -``` -[telnet session] -mqttlog - -MQTT publish log: - Topic:start Payload:start - Topic:heartbeat Payload:version=1.9.2b6, IP=10.10.10.198, rssid=72%, load=1%, uptime=364secs, freemem=52% - Topic:boiler_data Payload:{"wWComfort":"Hot","wWSelTemp":54,"wWDesiredTemp":70,"selFlowTemp":5,"selBurnPow":0,"curBurnPow":0,"pumpMod":0,"wWCircPump":0,"wWCurTmp":36.7,"wWCurFlow":0,"curFlowTemp":43.4,"retTemp":41,"sysPress":1.7,"boilTemp":45.5,"wWActivated":"on","burnGas":"off","flameCurr":0,"heatPmp":"off","fanWork":"off","ignWork":"off","wWCirc":"off","heating_temp":75,"pump_mod_max":90,"pump_mod_min":60,"wWHeat":"on","wWStarts":206017,"wWWorkM":73890,"UBAuptime":3471966,"burnStarts":229866,"burnWorkMin":368989,"heatWorkMin":295099,"ServiceCode":"0H","ServiceCodeNumber":203} - Topic:tapwater_active Payload:0 - Topic:heating_active Payload:0 - Topic:thermostat_data Payload:{"hc1":{"seltemp":15,"currtemp":20.6,"mode":"auto"}} - -MQTT subscriptions: - Topic:home/ems-esp/restart - Topic:home/ems-esp/start - Topic:home/ems-esp/thermostat_cmd_temp1 - Topic:home/ems-esp/thermostat_cmd_mode1 - Topic:home/ems-esp/thermostat_cmd_temp2 - Topic:home/ems-esp/thermostat_cmd_mode2 - Topic:home/ems-esp/thermostat_cmd_temp3 - Topic:home/ems-esp/thermostat_cmd_mode3 - Topic:home/ems-esp/thermostat_cmd_temp4 - Topic:home/ems-esp/thermostat_cmd_mode4 - Topic:home/ems-esp/thermostat_cmd - Topic:home/ems-esp/boiler_cmd - Topic:home/ems-esp/boiler_cmd_wwactivated - Topic:home/ems-esp/boiler_cmd_wwtemp - Topic:home/ems-esp/generic_cmd - Topic:home/ems-esp/shower_data -``` - -If you want more precise monitoring of the MQTT traffic I suggest using [MQTT Explorer](http://mqtt-explorer.com/). diff --git a/docs/RC3xx-Thermostats.md b/docs/RC3xx-Thermostats.md deleted file mode 100644 index 41b19eeb3..000000000 --- a/docs/RC3xx-Thermostats.md +++ /dev/null @@ -1,128 +0,0 @@ -### How to interpret the tables below - -Take an example telegram: -``` - OO TTTTT -10 00 FF 00 01 A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 - data block --> 00 01 02 03 04 06 07 08 09 0A... - ^ - | - start of data (n=0) - -OO = offset, 1 byte -TTTTT = type, 2 bytes -``` - -The data starts at the 7th byte straight after the typeID of `x01A5`. Position 0 is the first byte of the data block. - -### Reading from and Writing to an EMS+ Telegram - -``` -Reading 2 bytes of data from 0x1A5 its: send 0B 90 FF 00 02 01 A5 -Meaning: -0B - sender -90 - receiver (RC300) (Read request) -FF - EMS+ extended mode -00 - offset -02 - data length to query -01 A5 - EMS+ Command/Type - -And writing a value of 0x77 to type 0x1B9 its: send 0B 10 FF 08 01 B9 77 - -Meaning: -0B - sender -10 - receiver (RC300) (Write request) -FF - EMS+ extended mode -08 - offset -01 B9 - EMS+ Command/Type -77 - the value to write -``` - -example to retrieve 25 bytes of data from HC1: - -``` -send 0B 90 FF 00 19 01 A5 -Thermostat -> me, type 0x01A5, telegram: 10 0B FF 00 01 A5 00 D3 21 22 00 00 22 27 00 EF 01 01 03 00 EF 01 4B 00 00 11 01 04 08 42 00 (CRC=ED) #data=25 -``` - - - -# Type 01A5 - -0x1A5 is a monitoring telegram from the 1st Heat Controller (HC1). The other HCs use `01A6`, `01A7` and `01A8` respectively and share the same format as below. - -| data position (0..n) in decimal | description | format | notes | -| - | - | - | - | -| 0 + 1 | current room temperature | 2 bytes, *10 | -| 2 | ?? (room night set point temperature) | 1 byte, *2 | **(needs verifying!)** most probably to be processed as bit(s) known values are always in (03, 21 ,23)| -| 3 | current target temperature | 1 byte, *2 | current target value | -| 4 | target flow temperature | 1 byte | target flow temp | -| 6 | current setpoint temperature | 1 byte, *2 | temperature for current mode | -| 7 | next setpoint temperature | 1 byte, *2 | note, only when in auto mode | -| 8 | remaining time until next temp change | 2 bytes | remaining time in minutes.| -| 10 | mode and eco/comfort bits info | 1 byte| bit 1 : 0=manual 1=mode auto, bit 2 : 0=night 1=comfort2 | -| 11 | Current temperature mode | 1 byte | eco : 1, comfort1 : 2, comfort2 : 3, comfort3 : 4 | -| 12 | Next temperature mode | 1 byte | eco : 1, comfort1 : 2, comfort2 : 3, comfort3 : 4 | -| 13 + 14 | remaining time to next setpoint | 2 bytes | time in minutes.| -| 15 + 16 | elapsed time in this setpoint | 2 bytes | time in minutes. | - - -# Type 01B9 - -This telegram type is for managing the Heating mode - -``` -AUTO Mode, setting temporary temp to 21.5(0x2B) -(03:43:45.965) Gateway -> Thermostat, type 0x01B9 telegram: 48 10 FF 08 01 B9 2B (CRC=FA) -(03:43:46.445) Thermostat -> all, type 0x01B9 telegram: 10 00 FF 08 01 B9 2B (CRC=17) - -SET to Manual mode ( manual temp is 20.5 (0x29) ) -(03:49:44.575) Gateway -> Thermostat, type 0x01B9 telegram: 48 10 FF 00 01 B9 00 (CRC=91) -(03:49:45.825) Thermostat -> all, type 0x01A5 telegram: 10 00 FF 0A 01 A5 02 (CRC=16) -(03:49:51.726) Thermostat -> all, type 0x01A5 telegram: 10 00 FF 03 01 A5 29 (CRC=75) -<--- RCPLUSStatusMessage(0x1A5) received - (03:49:51.918) Thermostat -> all, type 0x01A5 telegram: 10 00 FF 06 01 A5 29 (CRC=5D) -<--- RCPLUSStatusMessage(0x1A5) received - -``` - -| data position (0..n) in decimal | description | format | notes | -| - | - | - | - | -| 0 | operation mode | 1 byte | (Auto=xFF, Manual=x00) | -| 1 | comfort3 level | 1 byte, *2 | | -| 2 | comfort2 level | 1 byte, *2 | | -| 3 | comfort1 level | 1 byte, *2 | | -| 4 | eco level | 1 byte, *2 | | -| 5 | | | | -| 6 | | | | -| 7 | | | | -| 8 | temporary setpoint temperature | 1 byte, *2 | when changing of templevel (in auto) value is reset and set to FF | -| 9 | | | | -| 10 | manual setpoint temperature | 1 byte, *2 | | - -# Type 01AF - -Summer - Winter Mode - -change the mode -```send 0B 10 FF 00 AF 07 02``` - -query the mode -```send 0B 90 FF 00 AF 07 01``` - -1 Byte value. - -|Byte value | Meaning | -| - | - | -| 00 | Off | -| 01 | Automatic | -| 02 | Forced | - -Data log example : -``` -Thermostat -> all, type 0x01AF telegram: 10 00 FF 07 01 AF 00 (Off) -Thermostat -> all, type 0x01AF telegram: 10 00 FF 07 01 AF 01 (Automatic) -Thermostat -> all, type 0x01AF telegram: 10 00 FF 07 01 AF 02 (Forced) -``` - - diff --git a/docs/README.md b/docs/README.md deleted file mode 100644 index 6da98b9a5..000000000 --- a/docs/README.md +++ /dev/null @@ -1,69 +0,0 @@ -# EMS-ESP Documentation -This is the documentation for EMS-ESP. Thanks to Tasmota for providing examples. - -## Editing Files - -Use normal markdown syntax with some enhancements, see below. - -### Disable click on zoom for an image -Images support click on zoom function. If you don't want to use it: -``` -![](image.png ":no-zoom") -``` -### Image resizing -Due to click on zoom you can directly link to a big image but make it render smaller on the page: - -``` -![logo](https://docsify.js.org/_media/icon.svg ':size=50x100') -![logo](https://docsify.js.org/_media/icon.svg ':size=100') - - - -![logo](https://docsify.js.org/_media/icon.svg ':size=10%') -``` - -### Rendering Alert Tags - -Blockquotes `>` can now look even fancier: - -?> =`?>` - -!> = `!>` - -> [!TIP] -> `> [!TIP]` - -> [!DANGER] -> `> [!DANGER]` - -> [!NOTE] -> `> [!NOTE]` - -> [!EXAMPLE] -> `> [!EXAMPLE]` - -> [!DANGER|style:flat] -> `> [!DANGER|style:flat]` - -### Creating Tabs - -``` - - -#### ** First Tab Title ** - -Hello! - -#### ** Second Tab Title ** - -Bonjour! - -#### ** Third Tab Title ** - -Ciao! - - -``` - - - diff --git a/docs/Running-and-Monitoring.md b/docs/Running-and-Monitoring.md deleted file mode 100644 index 9baa16642..000000000 --- a/docs/Running-and-Monitoring.md +++ /dev/null @@ -1,32 +0,0 @@ - -## Using Telnet to monitor EMS traffic - -Use the telnet client to inform you of all activity and errors real-time. This is an example of the telnet output: - -![Telnet](_media/telnet/telnet_menu.jpg) - -Type `log v` and Enter and you'll be seeing verbose logging messages. ANSI colors with white text for info messages, green are for broadcast telegrams, yellow are the ones sent to us and red are for unknown data or telegrams which have failed the CRC check. - -![Telnet](_media/telnet/telnet_verbose.PNG) - -To see the current stats and collected values type 'info'. Note it is normal behavior to see a few CrcErrors as this is usually noise on the line. - -![Telnet](_media/telnet/telnet_stats.PNG) - -**Warning: be careful when sending values to the boiler. If in doubt you can always reset the boiler to its original factory settings by following the instructions in the user guide. For example on my Nefit Trendline that is done by holding down the Home and Menu buttons simultaneously for a few seconds, selecting factory settings from the scroll menu followed by pressing the Reset button.** - -### Recommended puTTY settings - -The Telnet code handles continuous motioning of key strokes, which is useful when monitoring a stream of incoming telegrams and issuing commands at the same time. If you're using puTTY then this will be need to be enabled. I suggest the following settings: - -``` -Terminal->Local line editing->Force off -Terminal->Bell->None -Window->Columns: 180 -Window->Rows: 70 -Window->Lines of scrollback: 5000 -Window->Appearance->Font quality: Antialiased -``` - - - diff --git a/docs/SM100.md b/docs/SM100.md deleted file mode 100644 index 4a06400f9..000000000 --- a/docs/SM100.md +++ /dev/null @@ -1,180 +0,0 @@ - -### General - -The SM100 (and SM200) is a device to enhance Buderus heatings with the ability to earn solar energy using solar collectors and spend these energy into a water reservoir. - There are different scenarios available to add these module into a heating. - -Protocol: The SM100 device communicates using the EMS+ protocol. That means it sends and interprets EMS and also EMS+ messages. - -External Link to the german product page of SM100: https://www.buderus.de/de/produkte/catalogue/alle-produkte/7607_solarmodul-logamatic-sm100 - - -The following reverse protocol engineering based on a Buderus GB172 heating combined with a water reservoir in one heating circuit. Other combinations, configurations and protocol types are not covered. - -Also refer to https://github.com/proddy/EMS-ESP/issues/267 for the SM200 - - -### Decoded EMS+ Messages - -How to interpret the tables below. Take an example telegram: -``` - EMS+ telegram type - ->| |<- -30 00 FF 00 02 62 01 FB 01 9E 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 2B - data block --> 00 01 02 03 04 06 07 08 09 0A... - ^ - | - start of data -``` - -The data starts at the 7th byte straight after the typeID - here `x0262`. Position 0 is the first byte of the data block. - - -### Telegram overview - -| EMS+ telegram type | description | schedule | number of data bytes in decimal | -| - | - | - | - | -| x0262 | Temperatures | every minute | 26 (max. 24 in one telegram) | -| x0263 | unknown | every minute | 12 | -| x0264 | Solar pump modulation | every minute | 17 | -| x0266 | unknown | every minute | 04 | -| x0268 | unknown | every minute | 02 | -| x026A | Solar pump on/off | every minute | 12 | -| x028E | Solar energy earnings | every hour | 15 | - -### Telegram details - - -| Telegram type | data position (0..n) in decimal | description | format | -| - | - | - | - | -| x0262 | 0+1 | T1 - Temperature of solar collector `[°C]` | 2 bytes | -| x0262 | 2+3 | T2 - Temperature of bottom water reservoir 1 `[°C]` | 2 bytes | -| x0262 | 16+17 | T5 - Temperature of bottom water reservoir 2 `[°C]` | 2 bytes | -| x0264 | 9 | Solar pump modulation `[%]` | 1 byte | -| x026A | 10 | PS1 - Solar pump: on=`04` and off=`03` | 1 byte | -| x026A | 4 | VS2 - Cylinder select value: cyl#2=`04` and cyl#1=`03` | 1 byte | -| x028E | 2+3 | Solar energy earning last hour `/10` `[Wh]` | 2 byte | -| x028E | 6+7 | Solar energy earning today `[Wh]` | 2 byte | -| x028E | 10+11 | Solar energy earning total `/10` `[kWh]` | 2 byte | - - -### Examples - -Solar pump status and changes: - -1.Status solar pump is currently off: see x026A data byte 0A "03" and x0264 data byte 9 "00" -``` - SM -> all, type 0x026A telegram: 30 00 FF 00 02 6A 03 03 03 00 03 03 03 03 03 00 03 03 (CRC=E5), #data=11 - SM -> all, type 0x0264 telegram: 30 00 FF 00 02 64 00 00 00 04 00 00 FF 00 00 00 0C 0A 64 00 00 00 00 (CRC=53), #data=16 -``` - -2.Status pump is currently on: see x026A data byte 0A "04" and x0264 data byte 9 "1E" -``` - SM -> all, type 0x026A telegram: 30 00 FF 00 02 6A 03 03 03 00 03 03 03 03 03 00 04 03 (CRC=EB), #data=11 - SM -> all, type 0x0264 telegram: 30 00 FF 00 02 64 00 00 00 04 00 00 FF 00 00 1E 09 08 64 00 00 00 00 (CRC=CD), #data=16 -``` - -3.Solar pump changes from off --> on: see x0264 data byte 9 set at first to "64" and x026A byte 0A is set to "04" -``` - SM -> all, type 0x0264 telegram: 30 00 FF 09 02 64 64 (CRC=37) - SM -> all, type 0x026A telegram: 30 00 FF 0A 02 6A 04 (CRC=53) - -Less then 10 seconds later the pump is throttled to `30%` 0x1E - - SM -> all, type 0x0264 telegram: 30 00 FF 09 02 64 1E (CRC=4D) -``` - -4.Solar pump changes from on --> off: see x0264 data byte 9 set to "00" and x026a byte 0A is set to "03" -``` - SM -> all, type 0x0264 telegram: 30 00 FF 09 02 64 00 (CRC=53) - SM -> all, type 0x026A telegram: 30 00 FF 0A 02 6A 03 (CRC=54) -``` - -Solar energy earnings: -``` - SM -> all, type 0x028E telegram: 30 00 FF 00 02 8E 00 00 0C F3 00 00 06 02 00 00 76 33 (CRC=8A), #data=11 -``` - -### MQTT message format - -Example of MQTT message: -``` -{"collectortemp":54.8,"bottomtemp":38.8,"pumpmodulation":30,"pump":"on","energylasthour":136.5,"energytoday":447,"energytotal":3029.4} -``` -Please note that not all json elements are available after a restart of the ESP! It takes several minutes (up to 1 h) to collect all necessary values - -### Home Assistant integration - -Example to integrate values into Home Assistant - -##### binary_sensors.yaml: -``` -- platform: mqtt - name: 'Solar Pump' - state_topic: 'home/ems-esp/sm_data' - value_template: '{{ value_json.pump }}' - payload_on: "on" - payload_off: "off" - qos: 1 - payload_available: "online" - payload_not_available: "offline" - -``` - -##### sensors.yaml: -``` -- platform: mqtt - state_topic: 'home/ems-esp/sm_data' - name: 'Collector Temperature' - unit_of_measurement: '°C' - value_template: '{{ value_json.collectortemp }}' - qos: 1 - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/sm_data' - name: 'Bottom Temperature' - unit_of_measurement: '°C' - value_template: '{{ value_json.bottomtemp }}' - qos: 1 - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/sm_data' - name: 'Solar Pump modulation' - unit_of_measurement: '%' - value_template: '{{ value_json.pumpmodulation }}' - qos: 1 - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/sm_data' - name: 'Solar Energy Last Hour' - unit_of_measurement: 'Wh' - value_template: '{{ value_json.energylasthour }}' - qos: 1 - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/sm_data' - name: 'Solar Energy Today' - unit_of_measurement: 'Wh' - value_template: '{{ value_json.energytoday }}' - qos: 1 - payload_available: "online" - payload_not_available: "offline" - -- platform: mqtt - state_topic: 'home/ems-esp/sm_data' - name: 'Solar Energy Total' - unit_of_measurement: 'kWh' - value_template: '{{ value_json.energytotal }}' - qos: 1 - payload_available: "online" - payload_not_available: "offline" - -``` \ No newline at end of file diff --git a/docs/Supported-EMS-Devices.md b/docs/Supported-EMS-Devices.md deleted file mode 100644 index 89a5c89c4..000000000 --- a/docs/Supported-EMS-Devices.md +++ /dev/null @@ -1,51 +0,0 @@ -Most Bosch branded boilers that support the Logamatic EMS bus protocols work with this design. This includes Nefit, Buderus, Worcester, Junkers and Sieger (all copyrighted). - -!> Please make sure you read the **Disclaimer** on the home page carefully before sending ambiguous messages to your EMS bus as you could cause serious damage to your equipment. - -EMS devices are being constantly added to the database (see file `ems_devices.h`) on each new release. - -### Thermostats: - -* Buderus RC10, RC20, RC20F, RC30, R35, RC300, RC310, RC3000 -* Buderus Logamatic TC100 (read-only) -* Nefit Moduline 100, 300, 400 -* Nefit Moduline 1010, 3000 (read-only) -* Nefit Moduline Easy (read-only) -* Bosch CW100, Easy Control/CT200 (read-only) -* Junkers FR10, FR50, FR100, FR110, FW100, FW120 -* Sieger ES73 - -### Boilers: - -* Buderus GBx72, GB162, GB152, GB125, Logamax U122, Logamax Plus GB062/GB122/GB192, Logano -* Bosch Condens 2500 -* Worcester-Bosch Greenstar 550CDi -* Worcester Bosch Greenstar 24i -* Junkers Cerapur, Junkers Heatronic 3 boilers -* Nefit Proline, Trendline, Topline, Enviline, Smartline -* Sieger BK13 and BK15 Boiler - -### Solar Modules: - -* Buderus SM10, SM50, SM100 Solar Module -* Junkers ISM1 Solar Module - -### Mixing Modules: - -* Buderus MM10, MM50, MM100, MM200 Mixer Module - -### Heat Pump Modules: - -* Buderus HeatPump Module - -### Other devices: - -* Generic Buderus MC10 Module -* Buderus WM10 Switch Module -* Buderus RFM20 Receiver -* Buderus BC10, BC25, BC40 Base Controller -* Buderus Web Gateway KM200 -* Nefit Moduline Easy Connect -* Bosch Easy Connect -* EMS-OT OpenTherm converter -* Junkers Controller diff --git a/docs/Thermostat-Modes-RC35-vs-RC300.md b/docs/Thermostat-Modes-RC35-vs-RC300.md deleted file mode 100644 index 3b38233ae..000000000 --- a/docs/Thermostat-Modes-RC35-vs-RC300.md +++ /dev/null @@ -1,15 +0,0 @@ -(thanks to @moustic999 for explaining this) - -## RC300 - -RC300 has 2 modes : Auto and Manual. - -Auto can switch temperature between 2 levels : eco and comfort - -## RC35 - -RC35 has 3 modes : Auto, Day and Night. - -Auto can switch temperature between 2 levels : day and night - -Changing the temperature for Day or Night (in these modes) will also change the temperature levels used in Auto mode diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md deleted file mode 100644 index fb6ca0d91..000000000 --- a/docs/Troubleshooting.md +++ /dev/null @@ -1,70 +0,0 @@ -### Web UI is showing blank pages after logging in - -Due to an issue in how web socket authentication is supported in some browsers, the web interface will currently not work with -* Safari -* Any browser on an iOS or iPadOS device (so iPhones and iPads) - -and the Dashboard will show an empty page. - -A workaround is to use another browser like Chrome or Firefox until the issue has been resolved in the 3rd party library. See [here](https://github.com/me-no-dev/ESPAsyncWebServer/issues/575) and [here](https://bugs.webkit.org/show_bug.cgi?id=80362) for further details on the bug. - -### Web UI is slow or not responding - -Check that you have compiled the firmware with the correct ESP8266 board. In PlatformIO look for `board =` in the `[env]` section. There are noticeable differences between flash chips on certain branded and clone ESP8266 development boards. Best let PlatformIO figure out which one to use (e.g. dio, dout, qio). - -Also certain ESP8266 boards (like from DO-IT) have been problematic. Check that first before logging an issue. - -### Can't connect via WiFi to the EMS-ESP - -The EMS-ESP is probably in Access Point mode. Look for a wifi SSID 'ems-esp', connect to this and open a browser to 'https://192.168.4.1'. If you have configured a WiFi client your router would have appointed an IP address via DHCP. You should be able to connect via https://ems-esp or https://ems-esp.local. - -If you're still unable to connect to the EMS-ESP, hook it up to the USB and open a serial monitor to the COM port to see what is happening. The serial output will always automatically be switched off when there is a connection to the EMS bus. To force it on at bootup, re-compile the code by adding `-DFORCE_SERIAL` to the `general_flags` in `platformio.ini`. Note make sure you re-compile without this flag when putting the EMS-ESP back into production use. - -### EMS Bus shows as disconnected - -The on-board blue LED will flash if there is no connection with the EMS bus. If the LED is disabled re-enable it using the telnet command `set led` or the web interface. The two possible reasons why the bus shows as disabled or disconnected: - -1) The board is running in Serial mode. This will be shown in the telnet session and you can use `set serial off` to disable it or via the web interface. -2) There is no Rx data coming in. The connection to the EMS bus (2-wires or the jack) is faulty or connected to the wrong GPIO pins on the ESP. Rx is D7 and Tx is D8. - -### ESP is unstable and frequently reboots - -Well, that sucks. Sorry! - -Here are some first things to check - -* Check you're using a genuine ESP8266 (like the Wemos D1 or Nodemcuv2). There have been reports of some esp8266 clones (noticeably from DO-IT) which are problematic. See this message from [bbqkees](https://github.com/proddy/EMS-ESP/issues/173#issuecomment-528791079). -* Check that the settings can be saved after a set command. Check with typing `set` into the telnet session. -* Can you reproduce the problem using the official firmware .bin files from the GitHub Release page? -* If you compiled the firmware yourself - 1) Check if you can you reproduce this using the precompiled firmware from the GitHub Releases page - 2) Check that your `platformio.ini` file is up-to-date with the example one provided - 3) Check that your platformio environment up-to-date with the latest libraries -* Did it work before, in an earlier version? Report back which one. - -Then try the following to isolate the root cause of the problem: - -* Use `system` to see how many times it has restarted and what the exception cause was. Note, if the EMS-ESP restarts more than 10 times within a 60-second window of booting it is considered unstable and Serial mode will automatically be enabled to help debug the root cause. This will be shown in the system command too. -* Don't use the web interface, only the Telnet with logging off (`set log n`). Does it still fail? Then try with logging on and see where it fails. Capture the logs and screenshots. -* If compiled with the `debug` target the firmware will capture the stack dump of a crash. Use `crash dump` to output the stack, copy this to a file in scripts/stackdmp.txt (you may need to clean up the formatting) and run the `analyze_stackdmp.py` file to see where in the code the crash occurred. -* Perhaps it's the Tx logic, which can be disabled using `set listen_mode on` (or via the web). See next session below for Tx issues. -* Perhaps the MQTT is failing, which can be disabled with `set publish_time 0` or `set mqtt_enabled false` (or via the web). -* Perhaps the UART low-level code to read the signals from the circuit is causing interference somewhere. Detach the ESP8266 from the circuit (or gateway module) and start it without any of the GPIOs attached to see if it is any more stable. -* As a last resort try wiping the ESP8266 and uploading the firmware again. Use `pio run -t erase` or `esptool.py erase_flash`. - -### Tx is just not working - -First make sure 'listen_mode' is not on as this disables writing to the EMS bus (called Tx). Verify this with the `set` command. - -A quick test is to manually send a command with verbose logging enabled, for example, this will request the version information from the boiler on Device ID 0x08: - -``` -log v -send 0B 88 02 00 20 -``` - -Note for Junkers use `send 8B 88 02 00 20` - -Then try a different Tx setting with `set tx_mode`. 1 is the default, 2 works well for EMS+ and 3 is Junkers specific. With some Bosch devices 2 works better. - -If you see errors pop up in the Telnet session like `** Warning, we missed the bus - Rx non-idle!` and have other components using the +5V power line of the ESP8266 (for example external sensors) then disconnect and try again and this may be causing noise on the line. diff --git a/docs/Uploading-firmware.md b/docs/Uploading-firmware.md deleted file mode 100644 index 19559d6f7..000000000 --- a/docs/Uploading-firmware.md +++ /dev/null @@ -1,14 +0,0 @@ - -A pre-baked firmware for the common ESP8266 devices are available in the GitHub [releases](https://github.com/proddy/EMS-ESP/releases) which you can upload yourself using the [esptool](https://github.com/espressif/esptool) bootloader. - -### via USB - -- Install ESPTool by running `pip install esptool`. You'll need [Python](https://www.python.org/downloads/) installed. -- Download the firmware from `https://github.com/proddy/EMS-ESP/releases/latest`. You can use `wget` for this. -- `esptool -p COM5 write_flash 0x00000 *.bin` (use COM* for windows, /dev/tty* for Linux/OSX) - -### via OTA (Over The Air) - -- Download espota. Eg. `wget https://raw.githubusercontent.com/esp8266/Arduino/master/tools/espota.py` -- Download the firmware from `https://github.com/proddy/EMS-ESP/releases/latest`. You can use `wget` for this. -- `python espota.py -i ems-esp -f *.bin` diff --git a/docs/Web-test.md b/docs/Web-test.md deleted file mode 100644 index 652c36a68..000000000 --- a/docs/Web-test.md +++ /dev/null @@ -1,7 +0,0 @@ -If you plan to make changes to the web (css/html/js) you can simulate the front-end by installing the npm modules in the `wsemulator` folder: -```sh -cd tools\wsemulator -npm ci -``` -for the first time and then using the `run` script to start it. e.g. `./run` or `./run.sh` just `run` depending on the OS. -The password for the web admin user is **neo**. \ No newline at end of file diff --git a/docs/What's-New.md b/docs/What's-New.md deleted file mode 100644 index a73825713..000000000 --- a/docs/What's-New.md +++ /dev/null @@ -1 +0,0 @@ -[remoteMarkdownUrl](https://raw.githubusercontent.com/proddy/EMS-ESP/dev/CHANGELOG.md) \ No newline at end of file diff --git a/docs/_assets/edit-link.js b/docs/_assets/edit-link.js deleted file mode 100644 index 62078ba08..000000000 --- a/docs/_assets/edit-link.js +++ /dev/null @@ -1,28 +0,0 @@ -function normalizeGithubUrl(url) { - if (!url) { return null } - - var isAlias = !/\/\//.test(url) // no protocol in the url, we assume it's an alias - url = isAlias - ? 'https://github.com/' + url + '/edit/master/docs/' - : url.replace(/^git\+/, '') - - return url - } - - function install(hook, vm) { - var editLinkConfig = vm.config.editLink || {} - var text = editLinkConfig.text || 'Edit this page' - var cssClass = editLinkConfig.cssClass || 'edit-link' - var repoUrl = normalizeGithubUrl(editLinkConfig.repo || vm.config.repo) - - if (!repoUrl) { throw Error('$docsify.editLink.repo is required. Fix your config.') } - - hook.afterEach(function (html) { - var editLink = '' + - '' + text + '' - - return editLink + html - }); - } - - $docsify.plugins = [].concat(install, $docsify.plugins) \ No newline at end of file diff --git a/docs/_assets/prism-bash.min.js b/docs/_assets/prism-bash.min.js deleted file mode 100644 index 5cde45fc3..000000000 --- a/docs/_assets/prism-bash.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=n.variable[1].inside,s=0;s]/, - 'deleted': /[;]\s/, - 'json': { - pattern: /[{].*[}]/, - alias: 'language-json', - inside: Prism.languages.json - }, -}; diff --git a/docs/_assets/prism-http.min.js b/docs/_assets/prism-http.min.js deleted file mode 100644 index 0ad46c2fe..000000000 --- a/docs/_assets/prism-http.min.js +++ /dev/null @@ -1 +0,0 @@ -!function(t){t.languages.http={"request-line":{pattern:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[0-9.]+/m,inside:{property:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,"attr-name":/:\w+/}},"response-status":{pattern:/^HTTP\/1.[01] \d+.*/m,inside:{property:{pattern:/(^HTTP\/1.[01] )\d+.*/i,lookbehind:!0}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var a,e,n,i=t.languages,s={"application/javascript":i.javascript,"application/json":i.json||i.javascript,"application/xml":i.xml,"text/xml":i.xml,"text/html":i.html,"text/css":i.css},p={"application/json":!0,"application/xml":!0};for(var r in s)if(s[r]){a=a||{};var T=p[r]?(void 0,n=(e=r).replace(/^[a-z]+\//,""),"(?:"+e+"|\\w+/(?:[\\w.-]+\\+)+"+n+"(?![+\\w.-]))"):r;a[r]={pattern:RegExp("(content-type:\\s*"+T+"[\\s\\S]*?)(?:\\r?\\n|\\r){2}[\\s\\S]*","i"),lookbehind:!0,inside:{rest:s[r]}}}a&&t.languages.insertBefore("http","header-name",a)}(Prism); \ No newline at end of file diff --git a/docs/_assets/prism-json.min.js b/docs/_assets/prism-json.min.js deleted file mode 100644 index b67c29fe9..000000000 --- a/docs/_assets/prism-json.min.js +++ /dev/null @@ -1 +0,0 @@ -Prism.languages.json={property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,number:/-?\d+\.?\d*(e[+-]?\d+)?/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}}; \ No newline at end of file diff --git a/docs/_assets/prism-yaml.min.js b/docs/_assets/prism-yaml.min.js deleted file mode 100644 index 1a6fb682f..000000000 --- a/docs/_assets/prism-yaml.min.js +++ /dev/null @@ -1 +0,0 @@ -Prism.languages.yaml={scalar:{pattern:/([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},Prism.languages.yml=Prism.languages.yaml; \ No newline at end of file diff --git a/docs/_assets/prism.css b/docs/_assets/prism.css deleted file mode 100644 index c2e13ca78..000000000 --- a/docs/_assets/prism.css +++ /dev/null @@ -1,143 +0,0 @@ -/* PrismJS 1.17.1 -https://prismjs.com/download.html#themes=prism-dark&languages=markup+css+clike+javascript+bash+http+json+shell-session+yaml */ -/** - * prism.js Dark theme for JavaScript, CSS and HTML - * Based on the slides of the talk “/Reg(exp){2}lained/” - * @author Lea Verou - */ - -code[class*="language-"], -pre[class*="language-"] { - color: #cacaca; - background: none; - text-shadow: 0 -.1em .2em black; - font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; - font-size: 1em; - text-align: left; - white-space: pre; - word-spacing: normal; - word-break: normal; - word-wrap: normal; - line-height: 1.5; - - -moz-tab-size: 4; - -o-tab-size: 4; - tab-size: 4; - - -webkit-hyphens: none; - -moz-hyphens: none; - -ms-hyphens: none; - hyphens: none; -} - -@media print { - code[class*="language-"], - pre[class*="language-"] { - text-shadow: none; - } -} - -pre[class*="language-"], -:not(pre) > code[class*="language-"] { - background: hsl(30, 20%, 25%); -} - -/* Code blocks */ -pre[class*="language-"] { - padding: 1em; - margin: .5em 0; - overflow: auto; - border: .3em solid hsl(30, 20%, 40%); - border-radius: .5em; - box-shadow: 1px 1px .5em black inset; -} - -/* Inline code */ -:not(pre) > code[class*="language-"] { - padding: .15em .2em .05em; - border-radius: .3em; - border: .13em solid hsl(30, 20%, 40%); - box-shadow: 1px 1px .3em -.1em black inset; - white-space: normal; -} - -.token.comment, -.token.prolog, -.token.doctype, -.token.cdata { - color: hsl(30, 20%, 50%); -} - -.token.punctuation { - opacity: .7; -} - -.namespace { - opacity: .7; -} - -.token.property, -.token.tag, -.token.number, -.token.symbol { - color: hsl(350, 40%, 70%); -} - - -.token.attr-name, -.token.string, -.token.char, -.token.builtin, -.token.inserted { - color: hsl(75, 70%, 60%); -} - -.token.operator, -.token.entity, -.token.url, -.language-css .token.string, -.style .token.string, -.token.variable { - color: hsl(40, 90%, 60%); -} - -.token.atrule, -.token.attr-value, -.token.keyword { - color: hsl(350, 40%, 70%); -} - -.token.important { - color: #e90; -} - -.token.important, -.token.bold { - font-weight: bold; -} -.token.italic { - font-style: italic; -} - -.token.entity { - cursor: help; -} - -.token.deleted { - color: rgb(218, 92, 92); /* the ; in backlogs */ -} -.token.regex { - color: #e90; /* command */ -} - -.token.selector { - color: hsl(187, 78%, 57%); /* rule operators */ -} - -.token.constant { - color: hsl(61, 64%, 47%); /* rule triggers */ -} - -.token.boolean { - color: hsl(290, 38%, 60%); /* backlog */ -} diff --git a/docs/_assets/prism.js b/docs/_assets/prism.js deleted file mode 100644 index 09753c2f9..000000000 --- a/docs/_assets/prism.js +++ /dev/null @@ -1,14 +0,0 @@ -/* PrismJS 1.17.1 -https://prismjs.com/download.html#themes=prism-dark&languages=markup+css+clike+javascript+bash+http+json+jsonp+json5+shell-session+yaml */ -var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,r=0;var _={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof L?new L(e.type,_.util.encode(e.content),e.alias):Array.isArray(e)?e.map(_.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(!(k instanceof L)){if(d&&y!=r.length-1){if(c.lastIndex=v,!(O=c.exec(e)))break;for(var b=O.index+(f&&O[1]?O[1].length:0),w=O.index+O[0].length,A=y,P=v,x=r.length;A"+n.content+""},!u.document)return u.addEventListener&&(_.disableWorkerMessageHandler||u.addEventListener("message",function(e){var r=JSON.parse(e.data),n=r.language,t=r.code,a=r.immediateClose;u.postMessage(_.highlight(t,_.languages[n],n)),a&&u.close()},!1)),_;var e=_.util.currentScript();if(e&&(_.filename=e.src,e.hasAttribute("data-manual")&&(_.manual=!0)),!_.manual){function n(){_.manual||_.highlightAll()}var t=document.readyState;"loading"===t||"interactive"===t&&e&&e.defer?document.addEventListener("DOMContentLoaded",n):window.requestAnimationFrame?window.requestAnimationFrame(n):window.setTimeout(n,16)}return _}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); -Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!)*\]\s*)?>/i,greedy:!0},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var n={"included-cdata":{pattern://i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp("(<__[\\s\\S]*?>)(?:\\s*|[\\s\\S])*?(?=<\\/__>)".replace(/__/g,a),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",t)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup; -!function(s){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var e=s.languages.markup;e&&(e.tag.addInlined("style","css"),s.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:e.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:s.languages.css}},alias:"language-css"}},e.tag))}(Prism); -Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; -Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*(?:$|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript; -!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=n.variable[1].inside,s=0;s])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},Prism.languages.yml=Prism.languages.yaml; diff --git a/docs/_assets/theme-custom.css b/docs/_assets/theme-custom.css deleted file mode 100644 index 273884423..000000000 --- a/docs/_assets/theme-custom.css +++ /dev/null @@ -1,78 +0,0 @@ -:root { - --mono-hue : 201; - --mono-saturation : 18%; - --mono-shade4 : hsl(var(--mono-hue), var(--mono-saturation), 10%); - --base-line-height : 1.5; - --content-max-width : 70em; - --cover-background-blend-mode : darken ; - --cover-background-color : var(--base-background-color); - --cover-background-mask-opacity : 0.8; - --cover-blockquote-color : #1fa3ec; - --code-theme-text : #e4e4e4 ; - --table-cell-padding : 0.4em 0.75em; - --table-head-background : var(--mono-shade4); - --table-row-even-background : var(--mono-shade2); - --table-row-odd-background : var(--mono-shade3); - /* Sidebar - ============================================================================= */ - --sidebar-background : var(--mono-shade2); - --sidebar-padding : 0 25px; - --sidebar-transition-duration : var(--duration-fast); - --sidebar-width : 18rem; - --sidebar-nav-indent : 0.6em; - --sidebar-nav-margin : 0 0 0; - --sidebar-nav-link-padding : 0 0; - --sidebar-nav-link-before-margin : 0 0 0 0; -} - -.alert.ems-esp { - border: 1px solid var(--mono-shade2); - border-left-width: .25rem; - border-radius: .25rem; - background: var(--mono-shade2); - padding: .25rem 1.25rem !important; - margin-bottom: 0.25rem !important; -} - -.medium-zoom-overlay, .medium-zoom-image--open { - z-index: 0 !important; -} -.alert.ems-esp.warning { - border-left-color: #f0ad4e !important; -} - -.alert.ems-esp.warning .title { - color: #f0ad4e; -} - -.alert.ems-esp.tip { - border-left-color: #28a745 !important; -} - -.alert.ems-esp.tip .title { - color: #28a745; -} - -.alert.ems-esp.info { - border-left-color: #E0FFFF !important; -} - -.alert.ems-esp.info .title { - color: #E0FFFF; -} - -.alert.ems-esp.danger { - border-left-color: #dc3545 !important; -} - -.alert.ems-esp.danger .title { - color: #dc3545; -} - -.alert.ems-esp.example { - border-left-color: #1FA3EC !important; -} - -.alert.ems-esp.example .title { - color: #1FA3EC; -} \ No newline at end of file diff --git a/docs/_glossary.md b/docs/_glossary.md deleted file mode 100644 index c93ff6bab..000000000 --- a/docs/_glossary.md +++ /dev/null @@ -1,12 +0,0 @@ -##### Device ID - -TBD - -##### Product ID - -TBD - -##### Telegram - -TBD - diff --git a/docs/_media/EMS-ESP_logo.png b/docs/_media/logo/EMS-ESP_logo.png similarity index 100% rename from docs/_media/EMS-ESP_logo.png rename to docs/_media/logo/EMS-ESP_logo.png diff --git a/docs/_media/logo/EMS-ESP_logo_dark.png b/docs/_media/logo/EMS-ESP_logo_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..bd720a9a2c6573ec451e87999c21b55a19ee6635 GIT binary patch literal 4517 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 DZH9SyvaugJpNg_SW0q+tWS$-|yeue`aSS zNkN}Zoh15pl^S=Eqz@%YYD}OaDUQJ9B6X6abBYp_6jaD}s+pNt%94Zx+xjY%w?d&P zpk4=+(sMW;<2qcI+fbd{!c5d1TKTSs|vpDy}@nhcM-vjU@VFG zP9pHyE%=a>IlmySKd^XO!=|c$g}L(StLkyNLLp_7H1sr*6nsn&JZ-Ej;p^#!=umGg zp4|sKRu96jyT3yI@u|3bW|kJNWz0a%p@}%Sc_>yS24dpy4hRfrjOHKJLRTMGTumEw ztKj6=l z{K@E0uij(>o?nKNSRX|6Yf~>pzzeFP%=w*f=`J#ADM%%9o=tG)@s_LZSX-#HpLPsKu$e{@I- znLqbwC@Gi}LEDxt2n%WrpEhoAa;z@v`Cd|~tOA$1)zQ(@8DW76y#*C!^5dpjFVTd*#Pgo;=b$5210<7kJZ zgeaUnxw_nVzOl`2?L|@kMx5L`7x7aEpq9OQu0@eMH7`gAMA8!gL=%rL%XJi z!9Vvo|Ms4ZWd5w9uF_lc&p5Oc&70LPb-s*)1-sCiCzztz+`ovn)0O z{s(q^3u~)tIR5h@EiT>tJ<+q9msa`F{R>5#)Ljd-ju{(&O?}HdZw%vK-kdehXX0=8 z>!0R$m3LlWllx=NsCy#~B`TKP61Rmz;ANSLNdnW~ayjz<1m&{Ak`0FbAmn0GYoBZE2|4r+k zY5mu`5195p)BbOYe@yWo`G6_@HJpeq zEeAVfW$t@38yE@ye+qx6XTO{UcYYqIv}a?uY(z*qQOC`-9=J`J@s*MA=lRX|%=&h3 z`oi-eFF)tPzx#A;BI?eL8((So^Zl|aRTMb0Kc-Cnr&GrA|F~%2;Z`a5-?(~8jAzq^ zj#}J#{_kBMsa4*D>axGwD#&`h4UEA5&t)GJT)KFBXz_Hgvw}JOZ@(dVzzfH?F7yB6 zOsdiIf8F@=GhzIE6Wd_Rl3=wBD%1G$8eZRB^~(9bBB8_v{XYLh@ULw1pZS-y{vY2y z5(Vkg@ptyu=m~7v0U# zuMHktQjdM{ts}Iz*z$E#G3m!T>N0JllOrTJ5QW!H>(2&7X9fSe1&0tG(n}uu&AKH1 z?A*>|=ZkCueh%8pvn68248gV^SK!*^Or6`~&h^ts-M1F;anbPW?1^gCECqMcDVKC| zsQ~`mMQuV7;VMD4y^!N$hH2U0(Z3gve=$w?%ftH@w2o`;5x1{rqaZ(1?2+5Ievjk@ zu^2Zd0)f5#;qF#)4@t96;?3{bEhf|@=p*qve_@1`gshr1tIx)xJYV7zjt9AMBvKQQ`nmNXx7)rKcW0N0{i(mLTf@5f}y7&q~I@v zbV3dx|Jk@bqCCGlQ%GQ6I!`!7;CE`a6Zk!o@q~T^FM>6pToV8#-DTiZh9os(x!NU3 y>c}!xk}O%q(OW04k<5-8++kTmTVCRFI+011uN_{tcQM;pMFYh$mLv@v4aa}Vt - -Welcome to EMS-ESP! A small project to read and write to EMS controller heating devices. -
- -Follow these steps to get EMS-ESP up and running: - -- [Build](Building-your-own-test-circuit) or buy an EMS interface board. I highly recommend purchasing a EMS Gateway from BBQKees ([bbqkees-electronics.nl](https://bbqkees-electronics.nl)) - -- Get an ESP8266 dev board (Wemos D1, Lolin, Nodemcu or equivalent) - -- [Build or download the firmware](Building-firmware) - -- [Upload the firmware](Uploading-firmware) - -- Switch it on - -- [Configure the settings](Configure-firmware) - -- [Monitor what is happening](Running-and-Monitoring) - - diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index f123e0093..000000000 --- a/docs/index.html +++ /dev/null @@ -1,141 +0,0 @@ - - - - - EMS-ESP Documentation - - - - - - - - - - - - - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/integrations/homeassistant/automation.yaml b/docs/integrations/homeassistant/automation.yaml deleted file mode 100644 index 4b7ee35f9..000000000 --- a/docs/integrations/homeassistant/automation.yaml +++ /dev/null @@ -1,42 +0,0 @@ -- id: ems-esp_offline - alias: See if ems-esp goes offline - initial_state: true - trigger: - platform: state - entity_id: sensor.ems_esp_status - to: offline - action: - - service: notify.admin_notify - data_template: - title: EMS-ESP - message: 'gone offline' - -- id: emsesp_restart - alias: See if ems-esp restarts - initial_state: true - trigger: - platform: mqtt - topic: home/ems-esp/start - payload: start - action: - - service: notify.admin_notify - data_template: - title: ems-esp has booted - message: EMS-ESP - - service: mqtt.publish - data_template: - topic: home/ems-esp/start - payload: '{{ now().strftime("%H:%M:%S %-d/%b/%Y") }}' - -- id: boiler_shower - alias: Alert shower time - initial_state: true - trigger: - platform: state - entity_id: sensor.last_shower_duration - action: - - service: notify.admin_notify - data_template: - title: Shower finished at {{states.sensor.time.state}} - message: "{{ states.sensor.last_shower_duration.state }}" - \ No newline at end of file diff --git a/docs/integrations/homeassistant/binary_sensor.yaml b/docs/integrations/homeassistant/binary_sensor.yaml deleted file mode 100644 index 4b5195d00..000000000 --- a/docs/integrations/homeassistant/binary_sensor.yaml +++ /dev/null @@ -1,12 +0,0 @@ -- platform: mqtt - name: 'Tap Water' - state_topic: 'home/ems-esp/tapwater_active' - payload_on: "1" - payload_off: "0" - -- platform: mqtt - name: 'Heating' - state_topic: 'home/ems-esp/heating_active' - payload_on: "1" - payload_off: "0" - \ No newline at end of file diff --git a/docs/integrations/homeassistant/climate.yaml b/docs/integrations/homeassistant/climate.yaml deleted file mode 100644 index b070f06b2..000000000 --- a/docs/integrations/homeassistant/climate.yaml +++ /dev/null @@ -1,41 +0,0 @@ -- platform: mqtt - name: Thermostat - modes: - - "auto" - - "heat" - - "off" - - mode_command_topic: "home/ems-esp/thermostat_cmd_mode1" - temperature_command_topic: "home/ems-esp/thermostat_cmd_temp1" - - mode_state_topic: "home/ems-esp/thermostat_data" - current_temperature_topic: "home/ems-esp/thermostat_data" - temperature_state_topic: "home/ems-esp/thermostat_data" - - mode_state_template: "{% if value_json.hc1.mode in ['manual', 'day'] %} heat {% elif value_json.hc1.mode in ['night', 'off'] %} off {% else %} auto {% endif %}" - - current_temperature_template: "{{ value_json.hc1.currtemp }}" - temperature_state_template: "{{ value_json.hc1.seltemp }}" - - temp_step: 0.5 - -- platform: mqtt - name: boiler - modes: - - "auto" - - "off" - min_temp: 40 - max_temp: 60 - temp_step: 1 - - current_temperature_topic: "home/ems-esp/boiler_data" - temperature_state_topic: "home/ems-esp/boiler_data" - mode_state_topic: "home/ems-esp/boiler_data" - - current_temperature_template: "{{ value_json.wWCurTmp }}" - temperature_state_template: "{{ value_json.wWSelTemp }}" - mode_state_template: "{% if value_json.wWActivated == 'off' %} off {% else %} auto {% endif %}" - - temperature_command_topic: "home/ems-esp/boiler_cmd_wwtemp" - mode_command_topic: "home/ems-esp/boiler_cmd_wwactivated" - \ No newline at end of file diff --git a/docs/integrations/homeassistant/customize.yaml b/docs/integrations/homeassistant/customize.yaml deleted file mode 100644 index 404c78858..000000000 --- a/docs/integrations/homeassistant/customize.yaml +++ /dev/null @@ -1,12 +0,0 @@ - sensor.boiler_boottime: - friendly_name: Controller last restart - icon: mdi:clock-start - - sensor.showertime_time: - friendly_name: 'Last shower at' - icon: mdi:timelapse - - sensor.boiler_updated: - friendly_name: 'Data last received' - icon: mdi:clock-start - diff --git a/docs/integrations/homeassistant/ha.md b/docs/integrations/homeassistant/ha.md deleted file mode 100644 index 456a602f5..000000000 --- a/docs/integrations/homeassistant/ha.md +++ /dev/null @@ -1,22 +0,0 @@ -# Home Assistant Files - -* automation.yaml -* binary_sensor.yaml -* climate.yaml -* customize.yaml -* notify.yaml -* script.yaml -* sensor.yaml -* switch.yaml -* ui-lovelace.yaml - -Make sure you include these YAML files in your `configuration.yaml` file, e.g. -```yaml -script: !include script.yaml -sensor: !include sensor.yaml -switch: !include switch.yaml -notify: !include notify.yaml -climate: !include climate.yaml -automation: !include automation.yaml -binary_sensor: !include binary_sensor.yaml -``` \ No newline at end of file diff --git a/docs/integrations/homeassistant/notify.yaml b/docs/integrations/homeassistant/notify.yaml deleted file mode 100644 index 5a244f3ca..000000000 --- a/docs/integrations/homeassistant/notify.yaml +++ /dev/null @@ -1,16 +0,0 @@ - - name: pushover - platform: pushover - api_key: !secret pushover_api_key - user_key: !secret pushover_user_key - - - name: general_notify - platform: group - services: - - service: ios_pauls_iphone - - service: pushover - - - name: admin_notify - platform: group - services: - - service: ios_pauls_iphone - - service: pushover diff --git a/docs/integrations/homeassistant/script.yaml b/docs/integrations/homeassistant/script.yaml deleted file mode 100644 index 49b33a6d2..000000000 --- a/docs/integrations/homeassistant/script.yaml +++ /dev/null @@ -1,8 +0,0 @@ -# ems-esp -shower_coldshot: - sequence: - - service: mqtt.publish - data_template: - topic: 'home/ems-esp/generic_cmd' - payload: '{cmd:"coldshot"}' - \ No newline at end of file diff --git a/docs/integrations/homeassistant/sensor.yaml b/docs/integrations/homeassistant/sensor.yaml deleted file mode 100644 index c91d367d8..000000000 --- a/docs/integrations/homeassistant/sensor.yaml +++ /dev/null @@ -1,146 +0,0 @@ - -# thermostat HC1 - -- platform: mqtt - state_topic: 'home/ems-esp/thermostat_data' - name: 'Current Room Temperature' - unit_of_measurement: '°C' - value_template: "{{ value_json.hc1.currtemp }}" - -- platform: mqtt - state_topic: 'home/ems-esp/thermostat_data' - name: 'Current Set Temperature' - unit_of_measurement: '°C' - value_template: "{{ value_json.hc1.seltemp }}" - -- platform: mqtt - state_topic: 'home/ems-esp/thermostat_data' - name: 'Current Mode' - value_template: "{{ value_json.hc1.mode }}" - - # boiler - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Warm Water selected temperature' - unit_of_measurement: '°C' - value_template: '{{ value_json.wWSelTemp }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Warm Water tapwater flow rate' - unit_of_measurement: 'l/min' - value_template: '{{ value_json.wWCurFlow }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Warm Water current temperature' - unit_of_measurement: '°C' - value_template: '{{ value_json.wWCurTmp }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Warm Water activated' - value_template: '{{ value_json.wWActivated }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Warm Water 3-way valve' - value_template: '{{ value_json.wWHeat }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Current flow temperature' - unit_of_measurement: '°C' - value_template: '{{ value_json.curFlowTemp }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Return temperature' - unit_of_measurement: '°C' - value_template: '{{ value_json.retTemp }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Gas' - value_template: '{{ value_json.burnGas }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Boiler pump' - value_template: '{{ value_json.heatPmp }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Fan' - value_template: '{{ value_json.fanWork }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Ignition' - value_template: '{{ value_json.ignWork }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Circulation pump' - value_template: '{{ value_json.wWCirc }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Burner max power' - unit_of_measurement: '%' - value_template: '{{ value_json.selBurnPow }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Burner max power' - unit_of_measurement: '%' - value_template: '{{ value_json.selBurnPow }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Burner current power' - unit_of_measurement: '%' - value_template: '{{ value_json.curBurnPow }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'System Pressure' - unit_of_measurement: 'bar' - value_template: '{{ value_json.sysPress }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Boiler temperature' - unit_of_measurement: '°C' - value_template: '{{ value_json.boilTemp }}' - -- platform: mqtt - state_topic: 'home/ems-esp/boiler_data' - name: 'Pump modulation' - unit_of_measurement: '%' - value_template: '{{ value_json.pumpMod }}' - - # shower time duration - -- platform: mqtt - name: 'Last shower duration' - state_topic: "home/ems-esp/shower_data" - value_template: "{{ value_json.duration | is_defined }}" - -- platform: template - sensors: - showertime_time: - value_template: '{{ as_timestamp(states.sensor.last_shower_duration.last_updated) | int | timestamp_custom("%-I:%M on %a %-d %b") }}' - - boiler_updated: - value_template: '{{ as_timestamp(states.sensor.boiler_temperature.last_updated) | timestamp_custom("%H:%M on %d/%b") }}' - - boiler_boottime: - value_template: '{{ as_timestamp(states.automation.see_if_boiler_restarts.attributes.last_triggered) | timestamp_custom("%H:%M:%S %d/%m/%y") }}' - -# general - -- platform: mqtt - state_topic: 'home/ems-esp/status' - name: 'ems-esp status' diff --git a/docs/integrations/homeassistant/switch.yaml b/docs/integrations/homeassistant/switch.yaml deleted file mode 100644 index 0ebeba4f9..000000000 --- a/docs/integrations/homeassistant/switch.yaml +++ /dev/null @@ -1,20 +0,0 @@ -# EMS-ESP -- platform: mqtt - name: "Shower Timer" - state_topic: "home/ems-esp/shower_data" - value_template: "{{ value_json.timer }}" - command_topic: "home/ems-esp/shower_data" - payload_on: '{"timer":"1"}' - payload_off: '{"timer":"0"}' - state_on: "1" - state_off: "0" - -- platform: mqtt - name: "Long Shower Alert" - state_topic: "home/ems-esp/shower_data" - value_template: "{{ value_json.alert }}" - command_topic: "home/ems-esp/shower_data" - payload_on: '{"alert":"1"}' - payload_off: '{"alert":"0"}' - state_on: "1" - state_off: "0" diff --git a/docs/integrations/homeassistant/ui-lovelace.yaml b/docs/integrations/homeassistant/ui-lovelace.yaml deleted file mode 100644 index 4f4458658..000000000 --- a/docs/integrations/homeassistant/ui-lovelace.yaml +++ /dev/null @@ -1,75 +0,0 @@ - - id: ems-esp_id0 - title: Heating - cards: - - id: ems-esp_id1 - type: glance - entities: - - entity: binary_sensor.tap_water - icon: mdi:fire - - entity: binary_sensor.heating - icon: mdi:radiator - - id: ems-esp_id2 - type: entities - title: Boiler - show_header_toggle: false - entities: - - sensor.boiler_boottime - - sensor.boiler_updated - - sensor.ems_esp_status - - type: divider - - sensor.warm_water_selected_temperature - - sensor.warm_water_current_temperature - - sensor.warm_water_activated - - sensor.warm_water_3_way_valve - - type: divider - - sensor.boiler_temperature - - sensor.return_temperature - - sensor.current_flow_temperature - - sensor.pump_modulation - - sensor.ignition - - sensor.gas - - sensor.fan - - sensor.boiler_pump - - sensor.system_pressure - - sensor.burner_max_power - - sensor.burner_current_power - - - id: ems-esp_id3 - type: vertical-stack - cards: - - type: entities - title: Shower Monitor - show_header_toggle: false - entities: - - switch.shower_timer - - switch.long_shower_alert - - type: divider - - sensor.last_shower_duration - - sensor.showertime_time - - type: entity-button - icon: mdi:shower-head - name: send a cold shot of shower water - entity: script.shower_coldshot - tap_action: - action: call-service - service: script.turn_on - service_data: - entity_id: script.shower_coldshot - - - type: history-graph - entities: - - sensor.ems_esp_wifi - - sensor.ems_esp_freemem - - - id: ems-esp_id4 - type: vertical-stack - cards: - - type: history-graph - entities: - - sensor.pc_room_sensor_temperature - - sensor.current_room_temperature - - sensor.dark_sky_temperature - - type: thermostat - entity: climate.thermostat - - type: thermostat - entity: climate.boiler diff --git a/docs/wish-list.md b/docs/wish-list.md deleted file mode 100644 index e45ca7899..000000000 --- a/docs/wish-list.md +++ /dev/null @@ -1,11 +0,0 @@ -The feature backlog is maintained in the GitHub Projects which you can find [here](https://github.com/proddy/EMS-ESP/projects/1). - -Top of mind, these are the new features when I plan to address: - -- Measure the amount of gas in m3 per day for the hot water vs the central heating, and convert this into cost. -- Support changing temperatures on an Nefit Easy. To do this we must send XMPP messages directly to the thermostat. There is already a TCP stack and a Wifi and Telnet server running in the code, so the building blocks are there to extend with another XMPP client. Here are a number of Python based projects that show how to do this: - - https://github.com/patvdleer/nefit-client-python - - https://github.com/marconfus/ha-nefit - - https://github.com/robertklep/nefit-easy-core -- Improve detection of Heating Off without checking for selFlowTemp (selected flow temperature) -- Split MQTT into smaller chunks. Now the messages can be up to 600 bytes which may cause issues. Preferably make the topic items configurable. \ No newline at end of file From 9f37dfb802b560950a5054ba5b18a562e83856f0 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 11 Jan 2020 16:28:33 +0100 Subject: [PATCH 060/195] silent mode in gulp --- scripts/pre_script.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/pre_script.py b/scripts/pre_script.py index ca9db79ba..4ec4bcdd3 100644 --- a/scripts/pre_script.py +++ b/scripts/pre_script.py @@ -7,7 +7,7 @@ Import("env") def build_web(): print("** Building web...") env.Execute( - "node ./tools/webfilesbuilder/node_modules/gulp/bin/gulp.js --cwd ./tools/webfilesbuilder") + "node ./tools/webfilesbuilder/node_modules/gulp/bin/gulp.js --silent --cwd ./tools/webfilesbuilder") def code_check(source, target, env): print("** Starting cppcheck...") From c3905e0b3361fd79253e58235b6edf8df2220725 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 11 Jan 2020 16:29:51 +0100 Subject: [PATCH 061/195] included showing detection of external temperature sensors in startup and 'autodetect' also re-checks for new external sensors. #238 --- src/ds18.cpp | 20 ++++++++++++++------ src/ds18.h | 3 ++- src/ems-esp.cpp | 28 +++++++++++++++++++++++----- src/ems.cpp | 32 +++++++++++++++++++++----------- 4 files changed, 60 insertions(+), 23 deletions(-) diff --git a/src/ds18.cpp b/src/ds18.cpp index fbaa1ed55..cf7157709 100644 --- a/src/ds18.cpp +++ b/src/ds18.cpp @@ -18,23 +18,30 @@ DS18::DS18() { } DS18::~DS18() { - if (_wire) + if (_wire) { delete _wire; + } } // init -uint8_t DS18::setup(uint8_t gpio, bool parasite) { - uint8_t count; - +void DS18::setup(uint8_t gpio, bool parasite) { _gpio = gpio; _parasite = (parasite ? 1 : 0); // OneWire - if (_wire) + if (_wire) { delete _wire; + } _wire = new OneWire(_gpio); +} - // Search devices +// clear list and scan for devices +uint8_t DS18::scan() { + _devices.clear(); + + uint8_t count; + + // start the search count = loadDevices(); // If no devices found check again pulling up the line @@ -48,6 +55,7 @@ uint8_t DS18::setup(uint8_t gpio, bool parasite) { return count; } + // scan every 2 seconds void DS18::loop() { static uint32_t last = 0; diff --git a/src/ds18.h b/src/ds18.h index 3e2dd717e..aa1c2986f 100644 --- a/src/ds18.h +++ b/src/ds18.h @@ -36,7 +36,8 @@ class DS18 { DS18(); ~DS18(); - uint8_t setup(uint8_t gpio, bool parasite); + void setup(uint8_t gpio, bool parasite); + uint8_t scan(); void loop(); char * getDeviceString(char * s, unsigned char index); float getValue(unsigned char index); diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index b802e584a..01b5f0394 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -100,7 +100,7 @@ static const command_t project_cmds[] PROGMEM = { {true, "shower_alert ", "stop hot water to send 3 cold burst warnings after max shower time is exceeded"}, {true, "publish_time ", "set frequency for publishing data to MQTT (0=automatic)"}, {true, "tx_mode ", "changes Tx logic. 1=EMS generic, 2=EMS+, 3=HT3"}, - {true, "master_thermostat [product id]", "product id to use as the master thermostat. Use no args for list."}, + {true, "master_thermostat [product id]", "set default thermostat to use. Omit [product id] to show options."}, {false, "info", "show current values deciphered from the EMS messages"}, {false, "log ", "send read request to the thermostat for heating circuit hc 1-4"}, {false, "thermostat temp [hc] ", "set current thermostat temperature"}, @@ -505,6 +505,17 @@ void showInfo() { myDebug_P(PSTR("")); // newline } +// scan for external Dallas sensors and display +void scanDallas() { + EMSESP_Settings.dallas_sensors = ds18.scan(); + if (EMSESP_Settings.dallas_sensors) { + char buffer[128] = {0}; + for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { + myDebug_P(PSTR("External temperature sensor %s found"), ds18.getDeviceString(buffer, i)); + } + } +} + // send all dallas sensor values as a JSON package to MQTT void publishSensorValues() { // don't send if MQTT is connected @@ -1222,6 +1233,8 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { } if (strcmp(first_cmd, "autodetect") == 0) { + myDebug("Scanning for new EMS devices and attached external sensors..."); + scanDallas(); ems_clearDeviceList(); ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); ok = true; @@ -1457,14 +1470,18 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { const char * shower_alert = doc[TOPIC_SHOWER_ALERT]; if (shower_alert) { EMSESP_Settings.shower_alert = ((shower_alert[0] - MYESP_MQTT_PAYLOAD_OFF) == 1); - myDebug_P(PSTR("Shower alert has been set to %s"), EMSESP_Settings.shower_alert ? "enabled" : "disabled"); + if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { + myDebug_P(PSTR("Shower alert has been set to %s"), EMSESP_Settings.shower_alert ? "enabled" : "disabled"); + } } // assumes payload is "1" or "0" const char * shower_timer = doc[TOPIC_SHOWER_TIMER]; if (shower_timer) { EMSESP_Settings.shower_timer = ((shower_timer[0] - MYESP_MQTT_PAYLOAD_OFF) == 1); - myDebug_P(PSTR("Shower timer has been set to %s"), EMSESP_Settings.shower_timer ? "enabled" : "disabled"); + if (ems_getLogging() != EMS_SYS_LOGGING_NONE) { + myDebug_P(PSTR("Shower timer has been set to %s"), EMSESP_Settings.shower_timer ? "enabled" : "disabled"); + } } return; @@ -1949,7 +1966,8 @@ void setup() { systemCheckTimer.attach(SYSTEMCHECK_TIME, do_systemCheck); // check if EMS is reachable // check for Dallas sensors - EMSESP_Settings.dallas_sensors = ds18.setup(EMSESP_Settings.dallas_gpio, EMSESP_Settings.dallas_parasite); // returns #sensors + ds18.setup(EMSESP_Settings.dallas_gpio, EMSESP_Settings.dallas_parasite); + scanDallas(); } // diff --git a/src/ems.cpp b/src/ems.cpp index 11f1e4fbc..b070a3fa5 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -2125,21 +2125,31 @@ void ems_printDevices() { have_unknowns = true; } - myDebug_P(PSTR(" %s: %s%s%s (DeviceID:0x%02X ProductID:%d Version:%s)"), - device_type, - COLOR_BOLD_ON, - device_string, - COLOR_BOLD_OFF, - it->device_id, - it->product_id, - it->version); - } + if ((it->device_type == EMS_DEVICE_TYPE_THERMOSTAT) && (EMS_Sys_Status.emsMasterThermostat == it->product_id)) { + myDebug_P(PSTR(" %s: %s%s%s (DeviceID:0x%02X ProductID:%d Version:%s) [master]"), + device_type, + COLOR_BOLD_ON, + device_string, + COLOR_BOLD_OFF, + it->device_id, + it->product_id, + it->version); + } else { + myDebug_P(PSTR(" %s: %s%s%s (DeviceID:0x%02X ProductID:%d Version:%s)"), + device_type, + COLOR_BOLD_ON, + device_string, + COLOR_BOLD_OFF, + it->device_id, + it->product_id, + it->version); + } + } myDebug_P(PSTR("")); // newline if (have_unknowns) { - myDebug_P( - PSTR("You have a device is that is not yet known by EMS-ESP. Please report this as a GitHub issue so we can expand the EMS device library.")); + myDebug_P(PSTR("One or more devices are not recognized by EMS-ESP. Please report this in GitHub.")); } } else { myDebug_P(PSTR("No were devices recognized. This may be because Tx is disabled or failing.")); From 6b81b57b029d68c0d0f8c5643e05b23f618b76b3 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 11 Jan 2020 22:12:00 +0100 Subject: [PATCH 062/195] refactor ds18 #287 --- src/ds18.cpp | 50 +++++++++++++++++++++++++++++-------------------- src/ems-esp.cpp | 19 +++++++++++-------- src/ems.cpp | 48 ++++++++++++++++++++++++++--------------------- src/ems.h | 3 ++- src/version.h | 2 +- 5 files changed, 71 insertions(+), 51 deletions(-) diff --git a/src/ds18.cpp b/src/ds18.cpp index cf7157709..eba3e6b1a 100644 --- a/src/ds18.cpp +++ b/src/ds18.cpp @@ -39,10 +39,7 @@ void DS18::setup(uint8_t gpio, bool parasite) { uint8_t DS18::scan() { _devices.clear(); - uint8_t count; - - // start the search - count = loadDevices(); + uint8_t count = loadDevices(); // start the search // If no devices found check again pulling up the line if (count == 0) { @@ -59,27 +56,26 @@ uint8_t DS18::scan() { // scan every 2 seconds void DS18::loop() { static uint32_t last = 0; - if (millis() - last < DS18_READ_INTERVAL) + if (millis() - last < DS18_READ_INTERVAL) { return; + } last = millis(); // Every second we either start a conversion or read the scratchpad static bool conversion = true; if (conversion) { - // Start conversion _wire->reset(); _wire->skip(); _wire->write(DS18_CMD_START_CONVERSION, _parasite); } else { // Read scratchpads for (unsigned char index = 0; index < _devices.size(); index++) { - // Read scratchpad if (_wire->reset() == 0) { - // Force a CRC check error - _devices[index].data[0] = _devices[index].data[0] + 1; + _devices[index].data[0] = _devices[index].data[0] + 1; // Force a CRC check error return; } + // Read each scratchpad _wire->select(_devices[index].address); _wire->write(DS18_CMD_READ_SCRATCHPAD); @@ -89,8 +85,7 @@ void DS18::loop() { } if (_wire->reset() != 1) { - // Force a CRC check error - _devices[index].data[0] = _devices[index].data[0] + 1; + _devices[index].data[0] = _devices[index].data[0] + 1; // Force a CRC check error return; } @@ -161,8 +156,9 @@ char * DS18::getDeviceString(char * buffer, unsigned char index) { byte 8: SCRATCHPAD_CRC */ int16_t DS18::getRawValue(unsigned char index) { - if (index >= _count) + if (index >= _count) { return 0; + } uint8_t * data = _devices[index].data; @@ -178,23 +174,35 @@ int16_t DS18::getRawValue(unsigned char index) { } } else { byte cfg = (data[4] & 0x60); - if (cfg == 0x00) + if (cfg == 0x00) { raw = raw & ~7; // 9 bit res, 93.75 ms - else if (cfg == 0x20) + } else if (cfg == 0x20) { raw = raw & ~3; // 10 bit res, 187.5 ms - else if (cfg == 0x40) + } else if (cfg == 0x40) { raw = raw & ~1; // 11 bit res, 375 ms // 12 bit res, 750 ms + } } return raw; } -// return real value as a float -// The raw temperature data is in units of sixteenths of a degree, so the value must be divided by 16 in order to convert it to degrees. +// return real value as a float, rounded to 2 decimal places float DS18::getValue(unsigned char index) { - float value = (float)getRawValue(index) / 16.0; - return value; + int16_t raw_value = getRawValue(index); + + // check if valid + if ((raw_value == DS18_CRC_ERROR) || (raw_value == DS18_DISCONNECTED)) { + return (float)DS18_DISCONNECTED; + } + + // The raw temperature data is in units of sixteenths of a degree, + // so the value must first be divided by 16 in order to convert it to degrees. + float new_value = (float)(raw_value / 16.0); + + // round to 2 decimal places + // https://arduinojson.org/v6/faq/how-to-configure-the-serialization-of-floats/ + return (int)(new_value * 100 + 0.5) / 100.0; } // check for a supported DS chip version @@ -204,8 +212,9 @@ bool DS18::validateID(unsigned char id) { // return the type unsigned char DS18::chip(unsigned char index) { - if (index < _count) + if (index < _count) { return _devices[index].address[0]; + } return 0; } @@ -214,6 +223,7 @@ uint8_t DS18::loadDevices() { uint8_t address[8]; _wire->reset(); _wire->reset_search(); + while (_wire->search(address)) { // Check CRC if (_wire->crc8(address, 7) == address[7]) { diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 01b5f0394..747845148 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -494,11 +494,15 @@ void showInfo() { // Dallas external temp sensors if (EMSESP_Settings.dallas_sensors) { myDebug_P(PSTR("")); // newline - char buffer[128] = {0}; - char valuestr[8] = {0}; // for formatting temp + char buffer[128] = {0}; + char valuestr[8] = {0}; // for formatting temp + float sensorValue; myDebug_P(PSTR("%sExternal temperature sensors:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { - myDebug_P(PSTR(" Sensor #%d %s: %s C"), i + 1, ds18.getDeviceString(buffer, i), _float_to_char(valuestr, ds18.getValue(i))); + sensorValue = ds18.getValue(i); + if (sensorValue != DS18_DISCONNECTED) { + myDebug_P(PSTR(" Sensor #%d %s: %s C"), i + 1, ds18.getDeviceString(buffer, i), _float_to_char(valuestr, sensorValue)); + } } } @@ -535,9 +539,8 @@ void publishSensorValues() { // see if the sensor values have changed, if so send it on for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { - // round to 2 decimal places. from https://arduinojson.org/v6/faq/how-to-configure-the-serialization-of-floats/ - float sensorValue = (int)(ds18.getValue(i) * 100 + 0.5) / 100.0; - if (sensorValue != DS18_DISCONNECTED && sensorValue != DS18_CRC_ERROR) { + float sensorValue = ds18.getValue(i); + if (sensorValue != DS18_DISCONNECTED) { sprintf(label, PAYLOAD_EXTERNAL_SENSORS, (i + 1)); sensors[label] = sensorValue; hasdata = true; @@ -1192,9 +1195,9 @@ void _showCommands(uint8_t event) { // we set the logging here void TelnetCallback(uint8_t event) { if (event == TELNET_EVENT_CONNECT) { - ems_setLogging(EMS_SYS_LOGGING_DEFAULT); + ems_setLogging(EMS_SYS_LOGGING_DEFAULT, true); } else if (event == TELNET_EVENT_DISCONNECT) { - ems_setLogging(EMS_SYS_LOGGING_NONE); + ems_setLogging(EMS_SYS_LOGGING_NONE, true); } else if ((event == TELNET_EVENT_SHOWCMD) || (event == TELNET_EVENT_SHOWSET)) { _showCommands(event); } diff --git a/src/ems.cpp b/src/ems.cpp index b070a3fa5..a39d6a2cc 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -209,7 +209,7 @@ void ems_init() { strlcpy(EMS_Thermostat.version, "?", sizeof(EMS_Thermostat.version)); // default logging is none - ems_setLogging(EMS_SYS_LOGGING_DEFAULT); + ems_setLogging(EMS_SYS_LOGGING_DEFAULT, true); } // Getters and Setters for parameters @@ -281,27 +281,33 @@ _EMS_SYS_LOGGING ems_getLogging() { } void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id) { - if (loglevel <= EMS_SYS_LOGGING_JABBER) { - EMS_Sys_Status.emsLogging = loglevel; + EMS_Sys_Status.emsLogging_typeID = type_id; + ems_setLogging(EMS_SYS_LOGGING_WATCH, false); +} - if (loglevel == EMS_SYS_LOGGING_NONE) { - myDebug_P(PSTR("System Logging set to None")); - } else if (loglevel == EMS_SYS_LOGGING_BASIC) { - myDebug_P(PSTR("System Logging set to Basic")); - } else if (loglevel == EMS_SYS_LOGGING_VERBOSE) { - myDebug_P(PSTR("System Logging set to Verbose")); - } else if (loglevel == EMS_SYS_LOGGING_THERMOSTAT) { - myDebug_P(PSTR("System Logging set to Thermostat only")); - } else if (loglevel == EMS_SYS_LOGGING_SOLARMODULE) { - myDebug_P(PSTR("System Logging set to Solar Module only")); - } else if (loglevel == EMS_SYS_LOGGING_RAW) { - myDebug_P(PSTR("System Logging set to Raw mode")); - } else if (loglevel == EMS_SYS_LOGGING_JABBER) { - myDebug_P(PSTR("System Logging set to Jabber mode")); - } else if (loglevel == EMS_SYS_LOGGING_WATCH) { - EMS_Sys_Status.emsLogging_typeID = type_id; - myDebug_P(PSTR("System Logging set to Watch mode")); - } +void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet) { + EMS_Sys_Status.emsLogging = loglevel; + + if (quiet) { + return; // no reporting to console + } + + if (loglevel == EMS_SYS_LOGGING_NONE) { + myDebug_P(PSTR("System Logging set to None")); + } else if (loglevel == EMS_SYS_LOGGING_BASIC) { + myDebug_P(PSTR("System Logging set to Basic")); + } else if (loglevel == EMS_SYS_LOGGING_VERBOSE) { + myDebug_P(PSTR("System Logging set to Verbose")); + } else if (loglevel == EMS_SYS_LOGGING_THERMOSTAT) { + myDebug_P(PSTR("System Logging set to Thermostat only")); + } else if (loglevel == EMS_SYS_LOGGING_SOLARMODULE) { + myDebug_P(PSTR("System Logging set to Solar Module only")); + } else if (loglevel == EMS_SYS_LOGGING_RAW) { + myDebug_P(PSTR("System Logging set to Raw mode")); + } else if (loglevel == EMS_SYS_LOGGING_JABBER) { + myDebug_P(PSTR("System Logging set to Jabber mode")); + } else if (loglevel == EMS_SYS_LOGGING_WATCH) { + myDebug_P(PSTR("System Logging set to Watch mode")); } } diff --git a/src/ems.h b/src/ems.h index 5efd8d89c..0548ac3f0 100644 --- a/src/ems.h +++ b/src/ems.h @@ -434,7 +434,8 @@ void ems_setWarmWaterActivated(bool activated); void ems_setWarmWaterOnetime(bool activated); void ems_setWarmTapWaterActivated(bool activated); void ems_setPoll(bool b); -void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id = 0); +void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id); +void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet = false); void ems_setWarmWaterModeComfort(uint8_t comfort); void ems_setModels(); void ems_setTxDisabled(bool b); diff --git a/src/version.h b/src/version.h index 55b458466..32897e3e2 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b16" +#define APP_VERSION "1.9.5b17" From aa721abe77a9870535be25466e02d04a76c8be45 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 12 Jan 2020 00:27:14 +0100 Subject: [PATCH 063/195] publish_time changes - #287 --- CHANGELOG.md | 3 +-- src/MyESP.cpp | 14 +++++++------- src/MyESP.h | 2 +- src/custom.htm | 2 +- src/custom.js | 2 +- src/ems-esp.cpp | 32 +++++++++++++------------------- tools/wsemulator/wserver.js | 2 +- 7 files changed, 25 insertions(+), 32 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9e000000a..df6f20278 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,8 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - set boiler warm water temp on Junkers/Bosch HT3 ### Changed - -- improved MQTT publishing to stop flooding +- improved MQTT publishing to stop flooding. `publish_time` must be at least 1 (second) ### Removed - `autodetect scan` diff --git a/src/MyESP.cpp b/src/MyESP.cpp index f0b6b79eb..8ce0e816d 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -1474,13 +1474,13 @@ void MyESP::_heartbeatCheck(bool force) { StaticJsonDocument doc; JsonObject rootHeartbeat = doc.to(); - rootHeartbeat["version"] = _app_version; - rootHeartbeat["IP"] = WiFi.localIP().toString(); - rootHeartbeat["rssid"] = getWifiQuality(); - rootHeartbeat["load"] = getSystemLoadAverage(); - rootHeartbeat["uptime"] = _getUptime(); - rootHeartbeat["freemem"] = mem_available; - rootHeartbeat["MQTTdisconnects"] = _getSystemDropoutCounter(); + //rootHeartbeat["version"] = _app_version; + //rootHeartbeat["IP"] = WiFi.localIP().toString(); + rootHeartbeat["rssid"] = getWifiQuality(); + rootHeartbeat["load"] = getSystemLoadAverage(); + rootHeartbeat["uptime"] = _getUptime(); + rootHeartbeat["freemem"] = mem_available; + //rootHeartbeat["MQTTdisconnects"] = _getSystemDropoutCounter(); char data[300] = {0}; serializeJson(doc, data, sizeof(data)); diff --git a/src/MyESP.h b/src/MyESP.h index b79bd64c6..fb6a98570 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.22" +#define MYESP_VERSION "1.2.23" #include #include diff --git a/src/custom.htm b/src/custom.htm index ad1e4d745..931ac7948 100644 --- a/src/custom.htm +++ b/src/custom.htm @@ -114,7 +114,7 @@
+ data-content="How often to send the MQTT topics in seconds. Must be at least 1"> diff --git a/src/custom.js b/src/custom.js index 5d8a16fd7..12468ee6d 100644 --- a/src/custom.js +++ b/src/custom.js @@ -8,7 +8,7 @@ var custom_config = { "listen_mode": false, "shower_timer": false, "shower_alert": false, - "publish_time": 0, + "publish_time": 10, "tx_mode": 1 } }; diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 747845148..d4fa344b4 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -98,7 +98,7 @@ static const command_t project_cmds[] PROGMEM = { {true, "listen_mode ", "when set to on all automatic Tx are disabled"}, {true, "shower_timer ", "send MQTT notification on all shower durations"}, {true, "shower_alert ", "stop hot water to send 3 cold burst warnings after max shower time is exceeded"}, - {true, "publish_time ", "set frequency for publishing data to MQTT (0=automatic)"}, + {true, "publish_time ", "set frequency for publishing data to MQTT"}, {true, "tx_mode ", "changes Tx logic. 1=EMS generic, 2=EMS+, 3=HT3"}, {true, "master_thermostat [product id]", "set default thermostat to use. Omit [product id] to show options."}, @@ -494,12 +494,11 @@ void showInfo() { // Dallas external temp sensors if (EMSESP_Settings.dallas_sensors) { myDebug_P(PSTR("")); // newline - char buffer[128] = {0}; - char valuestr[8] = {0}; // for formatting temp - float sensorValue; + char buffer[128] = {0}; + char valuestr[8] = {0}; // for formatting temp myDebug_P(PSTR("%sExternal temperature sensors:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { - sensorValue = ds18.getValue(i); + float sensorValue = ds18.getValue(i); if (sensorValue != DS18_DISCONNECTED) { myDebug_P(PSTR(" Sensor #%d %s: %s C"), i + 1, ds18.getDeviceString(buffer, i), _float_to_char(valuestr, sensorValue)); } @@ -1090,8 +1089,13 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, // publish_time if ((strcmp(setting, "publish_time") == 0) && (wc == 2)) { - EMSESP_Settings.publish_time = atoi(value); - ok = true; + int16_t val = atoi(value); + if (val > 0) { + EMSESP_Settings.publish_time = atoi(value); + ok = true; + } else { + myDebug_P(PSTR("Error. time must be at least 1 second")); + } } // tx_mode @@ -1140,12 +1144,7 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, myDebug_P(PSTR(" listen_mode=%s"), EMSESP_Settings.listen_mode ? "on" : "off"); myDebug_P(PSTR(" shower_timer=%s"), EMSESP_Settings.shower_timer ? "on" : "off"); myDebug_P(PSTR(" shower_alert=%s"), EMSESP_Settings.shower_alert ? "on" : "off"); - - if (EMSESP_Settings.publish_time) { - myDebug_P(PSTR(" publish_time=%d"), EMSESP_Settings.publish_time); - } else { - myDebug_P(PSTR(" publish_time=0 (always publish on data received)"), EMSESP_Settings.publish_time); - } + myDebug_P(PSTR(" publish_time=%d"), EMSESP_Settings.publish_time); if (EMSESP_Settings.master_thermostat) { myDebug_P(PSTR(" master_thermostat=%d"), EMSESP_Settings.master_thermostat); @@ -1953,7 +1952,7 @@ void setup() { regularUpdatesTimer.attach(REGULARUPDATES_TIME, do_regularUpdates); // regular reads from the EMS } - // set timers for MQTT publish, only if publish_time is not 0 (automatic mode) + // set timers for MQTT publish if (EMSESP_Settings.publish_time) { publishValuesTimer.attach(EMSESP_Settings.publish_time, do_publishValues); // post MQTT EMS values } @@ -1984,11 +1983,6 @@ void loop() { ds18.loop(); } - // publish EMS data to MQTT, only if in automatic mode (publish_time=0) otherwise it'll use the timer - if (EMSESP_Settings.publish_time == 0) { - publishEMSValues(false); - } - // if we have an EMS connect go and fetch some data and MQTT publish it if (_need_first_publish) { publishEMSValues(false); diff --git a/tools/wsemulator/wserver.js b/tools/wsemulator/wserver.js index 8f5353f82..2f5f461e2 100644 --- a/tools/wsemulator/wserver.js +++ b/tools/wsemulator/wserver.js @@ -97,7 +97,7 @@ var custom_configfile = { "listen_mode": false, "shower_timer": true, "shower_alert": false, - "publish_time": 0, + "publish_time": 10, "tx_mode": 1 } }; From 1c424d372fb80d79838d91a4902ff453af72ad2b Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sun, 12 Jan 2020 09:59:19 +0100 Subject: [PATCH 064/195] change command for WW-OneTime --- src/ems-esp.cpp | 87 +++++++++++++++++++++++++------------------------ src/ems.cpp | 8 +++-- 2 files changed, 49 insertions(+), 46 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 132f22a68..706354e7a 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -302,6 +302,7 @@ void showInfo() { _renderIntValue("Warm Water selected temperature", "C", EMS_Boiler.wWSelTemp); _renderIntValue("Warm Water desinfection temperature", "C", EMS_Boiler.wWDesinfectTemp); + _renderBoolValue("Warm Water Circulation active",EMS_Boiler.wWCirc); // UBAMonitorWWMessage _renderUShortValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); @@ -340,7 +341,7 @@ void showInfo() { _renderIntValue("Boiler circuit pump modulation min power", "%", EMS_Boiler.pump_mod_min); // UBAMonitorSlow - if (EMS_Boiler.extTemp != EMS_VALUE_SHORT_NOTSET) { + if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) { _renderShortValue("Outside temperature", "C", EMS_Boiler.extTemp); } _renderUShortValue("Boiler temperature", "C", EMS_Boiler.boilTemp); @@ -445,7 +446,7 @@ void showInfo() { _renderIntValue(" Night temperature", "C", EMS_Thermostat.hc[hc_num - 1].nighttemp, 2); // convert to a single byte * 2 _renderIntValue(" Vacation temperature", "C", EMS_Thermostat.hc[hc_num - 1].holidaytemp, 2); // convert to a single byte * 2 } - if (EMS_Thermostat.hc[hc_num - 1].circuitcalctemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].circuitcalctemp < EMS_VALUE_USHORT_NOTSET) _renderIntValue(" Calculatet flow temperature", "C",EMS_Thermostat.hc[hc_num - 1].circuitcalctemp); // Render Thermostat Mode @@ -479,13 +480,13 @@ void showInfo() { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sMixing module stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Mixing: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type,false)); - //if (EMS_Boiler.switchTemp != EMS_VALUE_SHORT_NOTSET) + //if (EMS_Boiler.switchTemp > EMS_VALUE_SHORT_NOTSET) _renderShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { if (EMS_Mixing.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); - //if (EMS_Mixing.hc[hc_num - 1].flowTemp != EMS_VALUE_SHORT_NOTSET) + //if (EMS_Mixing.hc[hc_num - 1].flowTemp > EMS_VALUE_SHORT_NOTSET) _renderShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); //if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) _renderIntValue(" Setpoint flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowSetTemp); @@ -588,23 +589,23 @@ void publishEMSValues(bool force) { if (EMS_Boiler.wWCircPump != EMS_VALUE_BOOL_NOTSET) rootBoiler["wWCircPump"] = EMS_Boiler.wWCircPump; - if (EMS_Boiler.extTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) rootBoiler["outdoorTemp"] = (float)EMS_Boiler.extTemp / 10; - if (EMS_Boiler.wWCurTmp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.wWCurTmp < EMS_VALUE_USHORT_NOTSET) rootBoiler["wWCurTmp"] = (float)EMS_Boiler.wWCurTmp / 10; if (EMS_Boiler.wWCurFlow != EMS_VALUE_INT_NOTSET) rootBoiler["wWCurFlow"] = (float)EMS_Boiler.wWCurFlow / 10; - if (EMS_Boiler.curFlowTemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.curFlowTemp < EMS_VALUE_USHORT_NOTSET) rootBoiler["curFlowTemp"] = (float)EMS_Boiler.curFlowTemp / 10; - if (EMS_Boiler.retTemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) rootBoiler["retTemp"] = (float)EMS_Boiler.retTemp / 10; - if (EMS_Boiler.switchTemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.switchTemp > EMS_VALUE_SHORT_NOTSET) rootBoiler["switchTemp"] = (float)EMS_Boiler.switchTemp / 10; if (EMS_Boiler.sysPress != EMS_VALUE_INT_NOTSET) rootBoiler["sysPress"] = (float)EMS_Boiler.sysPress / 10; - if (EMS_Boiler.boilTemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) rootBoiler["boilTemp"] = (float)EMS_Boiler.boilTemp / 10; - if (EMS_Boiler.exhaustTemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.exhaustTemp < EMS_VALUE_USHORT_NOTSET) rootBoiler["exhaustTemp"] = (float)EMS_Boiler.exhaustTemp / 10; if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); @@ -612,10 +613,13 @@ void publishEMSValues(bool force) { if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) rootBoiler["wWOnetime"] = _bool_to_char(s, EMS_Boiler.wWOneTime); + if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) + rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); + if (EMS_Boiler.burnGas != EMS_VALUE_BOOL_NOTSET) rootBoiler["burnGas"] = _bool_to_char(s, EMS_Boiler.burnGas); - if (EMS_Boiler.flameCurr != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.flameCurr < EMS_VALUE_USHORT_NOTSET) rootBoiler["flameCurr"] = (float)(int16_t)EMS_Boiler.flameCurr / 10; if (EMS_Boiler.heatPmp != EMS_VALUE_BOOL_NOTSET) @@ -627,9 +631,6 @@ void publishEMSValues(bool force) { if (EMS_Boiler.ignWork != EMS_VALUE_BOOL_NOTSET) rootBoiler["ignWork"] = _bool_to_char(s, EMS_Boiler.ignWork); - if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) - rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); - if (EMS_Boiler.heating_temp != EMS_VALUE_INT_NOTSET) rootBoiler["heating_temp"] = EMS_Boiler.heating_temp; if (EMS_Boiler.pump_mod_max != EMS_VALUE_INT_NOTSET) @@ -654,7 +655,7 @@ void publishEMSValues(bool force) { if (abs(EMS_Boiler.heatWorkMin) != EMS_VALUE_LONG_NOTSET) rootBoiler["heatWorkMin"] = (float)EMS_Boiler.heatWorkMin; - if (EMS_Boiler.serviceCode != EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.serviceCode < EMS_VALUE_USHORT_NOTSET) { rootBoiler["ServiceCode"] = EMS_Boiler.serviceCodeChar; rootBoiler["ServiceCodeNumber"] = EMS_Boiler.serviceCode; } @@ -696,19 +697,19 @@ void publishEMSValues(bool force) { // different logic depending on thermostat types if (model == EMS_DEVICE_FLAG_EASY) { - if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 100; - if (thermostat->curr_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 100; } else if (model == EMS_DEVICE_FLAG_JUNKERS) { - if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 10; - if (thermostat->curr_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 10; } else { - if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 2; - if (thermostat->curr_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 10; if (thermostat->daytemp != EMS_VALUE_INT_NOTSET) @@ -764,7 +765,7 @@ void publishEMSValues(bool force) { strlcat(hc, _int_to_char(s, mixing->hc), sizeof(hc)); JsonObject dataMixing = rootMixing.createNestedObject(hc); - if (mixing->flowTemp != EMS_VALUE_SHORT_NOTSET) + if (mixing->flowTemp > EMS_VALUE_SHORT_NOTSET) dataMixing["flowTemp"] = (float)mixing->flowTemp / 10; if (mixing->flowSetTemp != EMS_VALUE_INT_NOTSET) dataMixing["setflowTemp"] = mixing->flowSetTemp; @@ -788,10 +789,10 @@ void publishEMSValues(bool force) { doc.clear(); JsonObject rootSM = doc.to(); - if (EMS_SolarModule.collectorTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_SolarModule.collectorTemp > EMS_VALUE_SHORT_NOTSET) rootSM[SM_COLLECTORTEMP] = (float)EMS_SolarModule.collectorTemp / 10; - if (EMS_SolarModule.bottomTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) rootSM[SM_BOTTOMTEMP] = (float)EMS_SolarModule.bottomTemp / 10; if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) @@ -805,13 +806,13 @@ void publishEMSValues(bool force) { rootSM[SM_PUMPWORKMIN] = (float)EMS_SolarModule.pumpWorkMin; } - if (EMS_SolarModule.EnergyLastHour != EMS_VALUE_USHORT_NOTSET) + if (EMS_SolarModule.EnergyLastHour < EMS_VALUE_USHORT_NOTSET) rootSM[SM_ENERGYLASTHOUR] = (float)EMS_SolarModule.EnergyLastHour / 10; - if (EMS_SolarModule.EnergyToday != EMS_VALUE_USHORT_NOTSET) + if (EMS_SolarModule.EnergyToday < EMS_VALUE_USHORT_NOTSET) rootSM[SM_ENERGYTODAY] = EMS_SolarModule.EnergyToday; - if (EMS_SolarModule.EnergyTotal != EMS_VALUE_USHORT_NOTSET) + if (EMS_SolarModule.EnergyTotal < EMS_VALUE_USHORT_NOTSET) rootSM[SM_ENERGYTOTAL] = (float)EMS_SolarModule.EnergyTotal / 10; data[0] = '\0'; // reset data for next package @@ -1694,24 +1695,24 @@ void WebCallback(JsonObject root) { char buffer[200]; thermostat["tm"] = ems_getDeviceDescription(EMS_DEVICE_TYPE_THERMOSTAT, buffer, true); - uint8_t hc_num = EMS_THERMOSTAT_DEFAULTHC; // default to HC1 + uint8_t hc_num = 1; // default to HC1 uint8_t model = ems_getThermostatModel(); - + while (hc_num <= EMS_THERMOSTAT_MAXHC && !EMS_Thermostat.hc[hc_num - 1].active) hc_num++; // Render Current & Setpoint Room Temperature if (model == EMS_DEVICE_FLAG_EASY) { - if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) thermostat["ts"] = (float)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 100; - if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp > EMS_VALUE_SHORT_NOTSET) thermostat["tc"] = (float)EMS_Thermostat.hc[hc_num - 1].curr_roomTemp / 100; } else if (model == EMS_DEVICE_FLAG_JUNKERS) { - if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) thermostat["ts"] = (float)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 10; - if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp > EMS_VALUE_SHORT_NOTSET) thermostat["tc"] = (float)EMS_Thermostat.hc[hc_num - 1].curr_roomTemp / 10; } else { - if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) thermostat["ts"] = (float)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 2; - if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp > EMS_VALUE_SHORT_NOTSET) thermostat["tc"] = (float)EMS_Thermostat.hc[hc_num - 1].curr_roomTemp / 10; } @@ -1744,10 +1745,10 @@ void WebCallback(JsonObject root) { if (EMS_Boiler.curFlowTemp != EMS_VALUE_INT_NOTSET) boiler["b4"] = EMS_Boiler.curFlowTemp / 10; - if (EMS_Boiler.boilTemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) boiler["b5"] = (float)EMS_Boiler.boilTemp / 10; - if (EMS_Boiler.retTemp != EMS_VALUE_USHORT_NOTSET) + if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) boiler["b6"] = (float)EMS_Boiler.retTemp / 10; } else { @@ -1762,10 +1763,10 @@ void WebCallback(JsonObject root) { char buffer[200]; sm["sm"] = ems_getDeviceDescription(EMS_DEVICE_TYPE_SOLAR, buffer, true); - if (EMS_SolarModule.collectorTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_SolarModule.collectorTemp > EMS_VALUE_SHORT_NOTSET) sm["sm1"] = (float)EMS_SolarModule.collectorTemp / 10; // Collector temperature oC - if (EMS_SolarModule.bottomTemp != EMS_VALUE_SHORT_NOTSET) + if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) sm["sm2"] = (float)EMS_SolarModule.bottomTemp / 10; // Bottom temperature oC if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) @@ -1776,13 +1777,13 @@ void WebCallback(JsonObject root) { sm["sm4"] = _bool_to_char(s, EMS_SolarModule.pump); // Pump active on/off } - if (EMS_SolarModule.EnergyLastHour != EMS_VALUE_USHORT_NOTSET) + if (EMS_SolarModule.EnergyLastHour < EMS_VALUE_USHORT_NOTSET) sm["sm5"] = (float)EMS_SolarModule.EnergyLastHour / 10; // Energy last hour Wh - if (EMS_SolarModule.EnergyToday != EMS_VALUE_USHORT_NOTSET) // Energy today Wh + if (EMS_SolarModule.EnergyToday < EMS_VALUE_USHORT_NOTSET) // Energy today Wh sm["sm6"] = EMS_SolarModule.EnergyToday; - if (EMS_SolarModule.EnergyTotal != EMS_VALUE_USHORT_NOTSET) // Energy total KWh + if (EMS_SolarModule.EnergyTotal < EMS_VALUE_USHORT_NOTSET) // Energy total KWh sm["sm7"] = (float)EMS_SolarModule.EnergyTotal / 10; } else { sm["ok"] = false; diff --git a/src/ems.cpp b/src/ems.cpp index e477c59f3..a99124959 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -123,7 +123,7 @@ void ems_init() { // init all mixing modules for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) { EMS_Mixing.hc[i].hc = i + 1; - EMS_Mixing.hc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; + EMS_Mixing.hc[i].flowTemp = EMS_VALUE_SHORT_NOTSET; EMS_Mixing.hc[i].pumpMod = EMS_VALUE_INT_NOTSET; EMS_Mixing.hc[i].valveStatus = EMS_VALUE_INT_NOTSET; EMS_Mixing.hc[i].flowSetTemp = EMS_VALUE_INT_NOTSET; @@ -1011,9 +1011,11 @@ void ems_setWarmWaterOnetime(bool activated) { EMS_TxTelegram.dest = EMS_Boiler.device_id; EMS_TxTelegram.type = EMS_TYPE_UBAFlags; EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwOneTime; - EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH+1; EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate - EMS_TxTelegram.dataValue = (activated ? 0x22 : 0x02); // 0x22 is on, 0x02 is off for RC20RF +// EMS_TxTelegram.dataValue = (activated ? 0x22 : 0x02); // 0x22 is on, 0x02 is off for RC20RF + EMS_TxTelegram.data[4] = 0x11; + EMS_TxTelegram.data[5] = (activated ? 0x33 : 0x11); EMS_TxQueue.push(EMS_TxTelegram); } From 5b6df62f8f2fc91a9e5c92921310344952bcfcb0 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 12 Jan 2020 12:37:28 +0100 Subject: [PATCH 065/195] only send heartbeat after MQTT connect --- src/MyESP.cpp | 13 ++++++------- src/MyESP.h | 2 +- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 8ce0e816d..98ae302c7 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -452,7 +452,7 @@ void MyESP::_mqttOnConnect() { mqttPublish(MQTT_TOPIC_START, MQTT_TOPIC_START_PAYLOAD, false); // send heartbeat if enabled - _heartbeatCheck(); + _heartbeatCheck(true); // call custom function to handle mqtt receives (_mqtt_callback_f)(MQTT_CONNECT_EVENT, nullptr, nullptr); @@ -1455,11 +1455,6 @@ void MyESP::_heartbeatCheck(bool force) { if ((millis() - last_heartbeat > MYESP_HEARTBEAT_INTERVAL) || force) { last_heartbeat = millis(); - // print to log if force is set, so at bootup - if (force) { - _printHeap("[SYSTEM]"); - } - #ifdef MYESP_DEBUG _printHeap("[HEARTBEAT] "); #endif @@ -1467,6 +1462,11 @@ void MyESP::_heartbeatCheck(bool force) { return; } + // print to log if force is set + if (force) { + _printHeap("[SYSTEM]"); + } + uint32_t total_memory = _getInitialFreeHeap(); uint32_t free_memory = ESP.getFreeHeap(); uint8_t mem_available = 100 * free_memory / total_memory; // as a % @@ -2870,7 +2870,6 @@ void MyESP::begin(const char * app_hostname, const char * app_name, const char * _webserver_setup(); // init web server _setSystemCheck(false); // reset system check - _heartbeatCheck(true); // force heartbeat, will send out message to log too _setSystemDropoutCounter(0); // reset # TCP dropouts diff --git a/src/MyESP.h b/src/MyESP.h index fb6a98570..d6df5ccc1 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.23" +#define MYESP_VERSION "1.2.24" #include #include From 698358f04eff57e4358a5f5db1caad1de3b70373 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 12 Jan 2020 12:38:00 +0100 Subject: [PATCH 066/195] correct Mixer module flowtemp in MQTT #270 --- src/ems-esp.cpp | 2 +- src/ems.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index d4fa344b4..ccb0619ad 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -771,7 +771,7 @@ void publishEMSValues(bool force) { strlcat(hc, _int_to_char(s, mixing->hc), sizeof(hc)); JsonObject dataMixing = rootMixing.createNestedObject(hc); - if (mixing->flowTemp != EMS_VALUE_SHORT_NOTSET) + if (mixing->flowTemp != EMS_VALUE_USHORT_NOTSET) dataMixing["flowTemp"] = (float)mixing->flowTemp / 10; if (mixing->flowSetTemp != EMS_VALUE_INT_NOTSET) dataMixing["setflowTemp"] = mixing->flowSetTemp; diff --git a/src/ems.cpp b/src/ems.cpp index a39d6a2cc..6287f392a 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1235,7 +1235,7 @@ void _process_EasyStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_EasyStatusMessage_setpoint); // is * 100 } -// 0x01D7, 0x01D8 +// Mixer - 0x01D7, 0x01D8 void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMPLUSStatusMessage_HC1); // 0 to 3 if (hc >= EMS_THERMOSTAT_MAXHC) { @@ -1248,9 +1248,9 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } -// 0xAB +// Mixer - 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = 0; // fixed, for 0xAB + uint8_t hc = 0; // fixed, for 0xAB (HC1 only EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); From c461dcfd35ad70f9bdf5763956ec1edd77dc3b21 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 12 Jan 2020 13:29:18 +0100 Subject: [PATCH 067/195] updated to point to wiki --- README.md | 46 ++++++++++++++++------------------------------ 1 file changed, 16 insertions(+), 30 deletions(-) diff --git a/README.md b/README.md index ad79ab171..774b1a468 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -![logo](docs/_media/logo/EMS-ESP_logo_dark.png) +![logo](https://emsesp.github.io/docs/_media/logo/EMS-ESP_logo_dark.png) [![version](https://img.shields.io/github/release/proddy/EMS-ESP.svg?label=Latest%20Release)](https://github.com/proddy/EMS-ESP/blob/master/CHANGELOG.md) [![release-date](https://img.shields.io/github/release-date/proddy/EMS-ESP.svg?label=Released)](https://github.com/proddy/EMS-ESP/commits/master) @@ -10,42 +10,28 @@
[![gitter](https://img.shields.io/gitter/room/EMS-ESP/EMS-ESP.svg)](https://gitter.im/EMS-ESP/community)
-------------- -EMS-ESP is a open-source system to communicate with **EMS** (Energy Management System) based boilers, thermostats and other modules from manufacturers like Bosch, Buderus, Nefit, Junkers and Sieger. - -The code is written for the Espressif **ESP8266** microcontroller and supports a telnet console for real-time monitoring and configuration and customizable MQTT support for publishing the information to a home automation system such as Home Assistant or Domoticz. - -#### Please reference the [Wiki](https://emsesp.github.io/docs) for further details and instructions on how to build and configure the firmware. - ---- +EMS-ESP is a open-source system built for the Espressif ESP8266 microcontroller to communicate with **EMS** (Energy Management System) based boilers, thermostats and other modules from manufacturers like Bosch, Buderus, Nefit, Junkers and Sieger. ## Features -#### A web interface for easy configuration and real-time monitoring of the EMS bus - -| ![web menu](docs/_media/web/system_status.PNG) | ![web menu](docs/_media/web/ems_dashboard.PNG) | -| -------------------------------------------------------- | ---------------------------------------------------------- | - -#### MQTT support for Home Assistant and Domoticz - -![ha](docs/_media/home%20assistant/ha.png) - -#### Telnet for advanced configuration and verbose traffic logging - -| ![telnet menu](docs/_media/telnet/telnet_menu.jpg) | ![telnet menu](docs/_media/telnet/telnet_stats.PNG) | -| ------------------------------------------------------------ | -------------------------------------------------------- | - -## Supported EMS devices - -More than **50** EMS 1.0 and 2.0 devices are currently supported. See the [complete list](https://proddy.github.io/EMS-ESP/#/Supported-EMS-Devices). +* Supporting more than [50 EMS devices](https://proddy.github.io/EMS-ESP/#/Supported-EMS-Devices) (EMS 1.0, 2.0 and Heatronics). +* A web interface for easy configuration and real-time monitoring of the EMS bus. +* Telnet for advanced configuration and verbose traffic logging. +* Configurable MQTT, with templates for Home Assistant and Domoticz. +* Includes an simple schematic for a test breadboard interface board. +* Native compatibility with bbqkees' [EMS Gateway](https://bbqkees-electronics.nl/) interface board. +Please reference the [Wiki](https://emsesp.github.io/docs) for further details and instructions on how to build and configure the firmware. --- -## Native compatibility with bbqkees' **EMS Gateway** +| ![web menu](https://emsesp.github.io/docs/_media/web/system_status.PNG) | ![web menu](https://emsesp.github.io/docs/_media/web/ems_dashboard.PNG) | +| - | - | +![ha](https://emsesp.github.io/docs/_media/home%20assistant/ha.png) -All firmware versions fully support BBQKees' [EMS Gateway](https://bbqkees-electronics.nl/) board with integrated Wemos D1 ESP8266. +| ![telnet menu](https://emsesp.github.io/docs/_media/telnet/telnet_menu.jpg) | ![telnet menu](https://emsesp.github.io/docs/_media/telnet/telnet_stats.PNG) | +| - | - | -| ![on boiler](docs/_media/ems%20gateway/on-boiler.jpg) | ![kit](docs/_media/ems%20gateway/ems-kit-2.jpg) | ![basic circuit](docs/_media/ems%20gateway/ems-board-white.jpg) | -| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- | +| ![on boiler](https://emsesp.github.io/docs/_media/ems%20gateway/on-boiler.jpg) | ![kit](https://emsesp.github.io/docs/_media/ems%20gateway/ems-kit-2.jpg) | ![basic circuit](https://emsesp.github.io/docs/_media/ems%20gateway/ems-board-white.jpg) | +| - | - | - | From 29624280baf81fbc41f16c306d2f240cd319089c Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 12 Jan 2020 13:33:30 +0100 Subject: [PATCH 068/195] move all docs to wiki, updated README --- docs/_media/ems gateway/ems-board-white.jpg | Bin 65232 -> 0 bytes docs/_media/ems gateway/ems-kit-2.jpg | Bin 43470 -> 0 bytes docs/_media/ems gateway/on-boiler.jpg | Bin 28820 -> 0 bytes docs/_media/favicon.ico | Bin 16958 -> 0 bytes docs/_media/home assistant/ha.png | Bin 137638 -> 0 bytes docs/_media/home assistant/ha_notify.jpg | Bin 13162 -> 0 bytes docs/_media/logo/EMS-ESP_logo.png | Bin 4159 -> 0 bytes docs/_media/logo/EMS-ESP_logo_dark.png | Bin 4517 -> 0 bytes docs/_media/logo/boiler.svg | 1 - docs/_media/logo/boiler_128.png | Bin 4329 -> 0 bytes docs/_media/logo/boiler_16.png | Bin 594 -> 0 bytes docs/_media/logo/boiler_16x16.ico | Bin 1150 -> 0 bytes docs/_media/logo/boiler_24.png | Bin 856 -> 0 bytes docs/_media/logo/boiler_256.png | Bin 8572 -> 0 bytes docs/_media/logo/boiler_32.png | Bin 1186 -> 0 bytes docs/_media/logo/boiler_512.png | Bin 18042 -> 0 bytes docs/_media/logo/boiler_64.png | Bin 2238 -> 0 bytes docs/_media/logo/domoticz.png | Bin 27057 -> 0 bytes docs/_media/logo/esp8266.png | Bin 92063 -> 0 bytes docs/_media/logo/home-assistant.png | Bin 4257 -> 0 bytes docs/_media/logo/logo-proddy-fw.jpg | Bin 8478 -> 0 bytes docs/_media/schematics/Schematic_EMS-ESP.png | Bin 75648 -> 0 bytes docs/_media/schematics/breadboard.png | Bin 170268 -> 0 bytes docs/_media/schematics/breadboard_example.png | Bin 432751 -> 0 bytes docs/_media/schematics/circuit.png | Bin 30272 -> 0 bytes docs/_media/schematics/ems_full.diy | 2280 ----------------- docs/_media/schematics/wemos_kees.png | Bin 205024 -> 0 bytes docs/_media/telnet/telnet_menu.jpg | Bin 102286 -> 0 bytes docs/_media/telnet/telnet_stats.PNG | Bin 58322 -> 0 bytes docs/_media/telnet/telnet_verbose.PNG | Bin 193853 -> 0 bytes docs/_media/web/ems_dashboard.PNG | Bin 94670 -> 0 bytes docs/_media/web/system_status.PNG | Bin 94842 -> 0 bytes 32 files changed, 2281 deletions(-) delete mode 100644 docs/_media/ems gateway/ems-board-white.jpg delete mode 100644 docs/_media/ems gateway/ems-kit-2.jpg delete mode 100644 docs/_media/ems gateway/on-boiler.jpg delete mode 100644 docs/_media/favicon.ico delete mode 100644 docs/_media/home assistant/ha.png delete mode 100644 docs/_media/home assistant/ha_notify.jpg delete mode 100644 docs/_media/logo/EMS-ESP_logo.png delete mode 100644 docs/_media/logo/EMS-ESP_logo_dark.png delete mode 100644 docs/_media/logo/boiler.svg delete mode 100644 docs/_media/logo/boiler_128.png delete mode 100644 docs/_media/logo/boiler_16.png delete mode 100644 docs/_media/logo/boiler_16x16.ico delete mode 100644 docs/_media/logo/boiler_24.png delete mode 100644 docs/_media/logo/boiler_256.png delete mode 100644 docs/_media/logo/boiler_32.png delete mode 100644 docs/_media/logo/boiler_512.png delete mode 100644 docs/_media/logo/boiler_64.png delete mode 100644 docs/_media/logo/domoticz.png delete mode 100644 docs/_media/logo/esp8266.png delete mode 100644 docs/_media/logo/home-assistant.png delete mode 100644 docs/_media/logo/logo-proddy-fw.jpg delete mode 100644 docs/_media/schematics/Schematic_EMS-ESP.png delete mode 100644 docs/_media/schematics/breadboard.png delete mode 100644 docs/_media/schematics/breadboard_example.png delete mode 100644 docs/_media/schematics/circuit.png delete mode 100644 docs/_media/schematics/ems_full.diy delete mode 100644 docs/_media/schematics/wemos_kees.png delete mode 100644 docs/_media/telnet/telnet_menu.jpg delete mode 100644 docs/_media/telnet/telnet_stats.PNG delete mode 100644 docs/_media/telnet/telnet_verbose.PNG delete mode 100644 docs/_media/web/ems_dashboard.PNG delete mode 100644 docs/_media/web/system_status.PNG diff --git a/docs/_media/ems gateway/ems-board-white.jpg b/docs/_media/ems gateway/ems-board-white.jpg deleted file mode 100644 index c0601aea6452aee3f007f79703acb9abb90db5e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 65232 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 diff --git a/docs/_media/ems gateway/ems-kit-2.jpg b/docs/_media/ems gateway/ems-kit-2.jpg deleted file mode 100644 index 36c8cf4eb9c64c4e134f4a9d03f81a2aa1b50a58..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43470 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 I$*1T41J03brvLx| diff --git a/docs/_media/ems gateway/on-boiler.jpg b/docs/_media/ems gateway/on-boiler.jpg deleted file mode 100644 index fe7f366742fb5964291d22767989780a2cb79bf5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28820 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 z 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

>32(t#rsX;5qtM7d#S$} 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 diff --git a/docs/_media/logo/EMS-ESP_logo.png b/docs/_media/logo/EMS-ESP_logo.png deleted file mode 100644 index 7c3d2fbe0a821fe232fcb3348738e2059a69efb8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4159 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 DZH9 \ No newline at end of file diff --git a/docs/_media/logo/boiler_128.png b/docs/_media/logo/boiler_128.png deleted file mode 100644 index 3abbdc1fa0e399c908ee58016dbb2e8e2c49b7a5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4329 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 diff --git a/docs/_media/logo/boiler_16x16.ico b/docs/_media/logo/boiler_16x16.ico deleted file mode 100644 index a7f3d243237b86c8d93556869149c8eab934ef9a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYIlFhVexkA+}l1S())kTKNP zKP4+8oe0842KuK!Vo*6Ox*$TT3L*?5LflGL#_|n;p2i>ILrl-b2AiDobv680lwy|k z?tDJq+w=K2^#di?^)w_WcU5}-pWhn+#F1b;rz`CL><*vbUJi;aKs9XW1~4--frNMh ze5|KU?aBSPYkm9wll!Lpzi?zG7=zf`*R=kh*q-*m&)s+`NG&rHSP$4Jb~aWJtu(#A z;PL;@`~LrWx9k7&+pGV-d$a+JL2QuN|M%PePi;?n3{uO^1`JFnU}p#GSMG1meDdnf zn*YykuKa)h(vtrVuPy^)5E~@+;^xx-y$vx>fZCLyc7jb{Wd)n1oER7QWd5wy|MO1gB@g!@|>AnPyYRU^#9NI2UzjHAGiO{nOY0h&%ure zMwtG&vwEKV|MTSk|6h+F`1j-g|3Mhezx#jg^g2BHyW#r(0rkCqeGQC3Y={{|>IbSn zab!I(zEb~BYEJ{R|NjQM>o;-wzkj~-e{yH`|Fc`N{~uThGy}-~@%b*%`hR`B|9^Ua z$^RXT68}$c_5VM$xA_0BZ}$o6pEsxX$^XAk!C`jq)=^Mc|DQXp_Wyk#8yv2G?){%P zqaGvtSXsg8N2ax@?8ckt7ytkL@c^v;->=92L172NzrNo6|MuDG|E&$#H-T|2!v@g< zPCrnBSzS#zG9fN>^{s0M*Kggp;O>-(&3~p%ZvEZYUH7r7BIkB=gzqLz4aF#+dS;l$ VAMy+gANUy<9srZj0iYs&<+3q diff --git a/docs/_media/logo/boiler_24.png b/docs/_media/logo/boiler_24.png deleted file mode 100644 index 8e37e504b5a136b202fb1e65d5277f31f40c1666..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 856 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 Z(ow`R*(bj`K{5^~y-|N%C2JA>zW~=ONZSAa diff --git a/docs/_media/logo/boiler_32.png b/docs/_media/logo/boiler_32.png deleted file mode 100644 index ba7976f874007f3923b084971f014c86b3c1e189..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1186 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 diff --git a/docs/_media/logo/boiler_64.png b/docs/_media/logo/boiler_64.png deleted file mode 100644 index a2c0aa610692a3a9a09b47068e8a8b2805fb6f40..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2238 zcmV;v2toIWP)5{L~61wv^<5IXWE z0;Uoeq$;*UTSrHwI<$aQM>{$K71YjXZ7Tx`qD~cyRG?7-5s-HX1P~IETrMOexm?cV zlH6S`xBcUiK)5jEj(c%RzB9j>-|g=6?03JnzukRyb_M>yZ-K=?C=dy#gb->er5X@G zGhhMQffm3D)B-v{4^(x%p9Rd`BqqGzBLm0>CILTF@)($Mq;l5{Ca6@rw9@0~qs z&#oQAx($MYf>1|95E>c=LeSpUN?U6y9X8v|>T&?3z$xG;uopPlmF^Kd6<`>!99Rg% zUz_pB)64kNs=xFqY`5EKsJlW~SUBNoHG`DO8#-<_nXp-{T&cNCO|>4qPKUm#3VlTd z=TD!ax}v;y1B5V1DYpPG12yh8#1jFMgb?3IDYb)?N^-`IWBkN?ev&_l@p<`ZVq-mU z*?)X*`kv#bPI2_$L5_aCo8m(Uu(r1&gs75I-ih;b={GzPU<^(TA)%qe`EIjX znUk4}snKASQicPa{q>`8v)*BVDm^nZpp6Gmh^zlza7YL#86%NWhT!Dbe?RWl3!qTA zYvv^Y1YGuH21{3?LHvVs+l zJ;FC%e&Le0_QmI!GGivMy!kdssan5r@|ytX&zxq_%xM@64GbNgN$&iIiO>2mNJ-7P zVvc|OE?*b@mpOS8_^{|J?#RyZ3opM2&}ufbWL^PALj!q>A7kdSmrw*Rs{{zP1S=1gW_b zd!@G+>HvrtqVY97-wP0<(V$JwKv#ASQ;ojYXP_OQ?^3?0T1S29Inpvl5ET>SYkK|} z1PdQrjC43CTKD`-%NDJD4k;yt4=(ltGd~INo25^Yl&Ym<=O^r1y%I;K-KC79)6ULS z%Q;*0Z<4iXEP3+x{-EZcg;2O!&HAm|xPQh}4!-v$rTf1mcfqen$QskN5z*HNRHyd$zv{g&n}$HbBhXG(!V=?go5NKO1|CiYkI!l z6b+AvBw=_uVSViL$E9cq3JP*b4^^w3HiIL4P0#IvlF2|-cHSh`eZJQRblk(Wv%t#> zrgGuP0e}>oC(Qc=cRztP0Bd`jn`S=3HGiL_wYB@TwXdQ#g1Z7V3L$DL&YnSE`kkAm z-bF{JM0WlC)fdiEeW3&)gdT9~RE6sYcyl-$4#(a5w|~kYr4n^?G!b2A0Q?1q1XH^m z-MJDDY<-^%D<8+wY6f@)=RJac!;{nE0(c#GqT5~*pGek(JTgX)Aw6dd!?Q;-WLSa+ zuKR{`IJi=!<6`kiE}kjo(&gp^XQ0anrz9`(O5o+1bMC2$vz%XPge zL={SGawX z^g0?Y>uIdHjJ>1xZ4x1bO-gwf*bRIDT=1k3-ncRY@BpwmW$e!wnx2VKS59M9In8yK zZ`rXTCtpAmPB}r2G!t57vl~~J63ZurrK%@m8H~ImSLzYqfvK>a7`R@ zU)^XNq);3aO2vwGV`5Kwi?lZd0OuXTLYyh0bTH!;E0~;a(0tA{spy3Yz zj#{mjBJ9eTeS7!h3nA)&;y%iq7DCkR+q)+pyE4XNX)nUf$j%e|55;BQ(L&S|`~Uy| M07*qoM6N<$f=`haVgLXD diff --git a/docs/_media/logo/domoticz.png b/docs/_media/logo/domoticz.png deleted file mode 100644 index 4350c23c9a8a2071d39c6da3d1e2f968f2767b07..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27057 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�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 H9P)nv>pJHd diff --git a/docs/_media/logo/esp8266.png b/docs/_media/logo/esp8266.png deleted file mode 100644 index 0eea496f3d04adcade6b3438d4d8dc8176b7c4e0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 92063 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

5^dm_TB_nBbA$dvD?;V0cZ^< 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 I{c7=l0DUF4nE(I) diff --git a/docs/_media/schematics/Schematic_EMS-ESP.png b/docs/_media/schematics/Schematic_EMS-ESP.png deleted file mode 100644 index 56f08f387bbd781d86cb43aa61bc374707f6fa89..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75648 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%0AFq!r?a(fZ1~`8D#A-gqB_>}z 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 RJW-y0vFFl4*#cT0{~rr`r1t;- diff --git a/docs/_media/schematics/breadboard.png b/docs/_media/schematics/breadboard.png deleted file mode 100644 index dd8245a3f622e8b785edd8fde0a924054acb4266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 170268 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 diff --git a/docs/_media/schematics/breadboard_example.png b/docs/_media/schematics/breadboard_example.png deleted file mode 100644 index 211a0039eb3cc1377a7701b06bc40447ead17d1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 432751 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%0A5UMOk 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

3BKrRq$gc4=I8cNc1U>5V1x?5cJb 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�Vh}zV2gB15 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

1YfsQ9-9FH8k5U0-##EDZE{Vks} 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 diff --git a/docs/_media/schematics/ems_full.diy b/docs/_media/schematics/ems_full.diy deleted file mode 100644 index 28444f985..000000000 --- a/docs/_media/schematics/ems_full.diy +++ /dev/null @@ -1,2280 +0,0 @@ - - - - 3 - 40 - 0 - - EMS circuit - Paul - Boiler project - - 10.0 - cm - - - 12.0 - cm - - - 0.1 - in - - - - BB1 - - Half - Inline - _180 - - - Trace1 - 127 - - - - - - - - 0 - 0 - 0 - 255 - - FOUR - - 1.0 - mm - - _1 - - - Trace1 - 127 - - - - - - - - 255 - 51 - 51 - 255 - - FOUR - - 1.0 - mm - - _1 - - - - - 0.09 - in - - - - ROUND - - 0.8 - mm - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - Pad3 - - - - ROUND - - _1 - - - Pad6 - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - Pad9 - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - Pad12 - - - - ROUND - - _1 - - - Pad13 - - - - ROUND - - _1 - - - Pad14 - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - - - ROUND - - _1 - - - - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - - - - - ROUND - - _1 - - - - - 0.09 - in - - - 0 - 0 - 0 - 255 - - - ROUND - - 0.8 - mm - - _1 - - - W1 - 127 - - - - - - - - 0 - 255 - 0 - 255 - - FOUR - _22 - - - W2 - 127 - - - - - - - - FOUR - _22 - - - L2 - 127 - - 0.3 - in - - - 0.08 - in - - - - - - - 0 - 0 - 255 - 255 - - - - NAME - false - ABOVE - - 4.7 - uH - - false - - - L1 - 127 - - 0.3 - in - - - 0.08 - in - - - - - - - - - NAME - false - ABOVE - - 4.7 - uH - - false - - - D4 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - 225 - 240 - 255 - 255 - - - 128 - 128 - 128 - 255 - - - 255 - 255 - 255 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - BAT46 - - - 230 - 110 - 49 - 255 - - - - D2 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - D5 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - D1 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - D3 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - LM393N - 127 - - DEFAULT - _8 - - 0.1 - in - - - 0.3 - in - - - - - - - - - - - - BOTH - - - 89 - 89 - 89 - 255 - - - - 89 - 89 - 89 - 255 - - NO - - - R6 - 127 - - 0.3 - in - - - 0.1 - in - - - - - - - 130 - 207 - 253 - 255 - - - 91 - 144 - 177 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 10.0 - K - - HALF - _5_BAND - Standard - - - R7 - 127 - - - - - - - - - - - NAME - false - - 360.0 - R - - HALF - _5_BAND - Standard - - - R9 - 127 - - - - - - - - - - - NAME - false - - 47.0 - K - - HALF - _5_BAND - Standard - - - R10 - 127 - - - - - - - - - - - NAME - false - - 10.0 - K - - HALF - _5_BAND - Standard - - - D6 - 127 - - 0.2 - in - - - 0.09 - in - - - - - - - - - - NAME - false - BAT46 - - - - - C8 - 127 - - 5.0 - mm - - - - - - - 107 - 109 - 206 - 255 - - - 74 - 76 - 144 - 255 - - - - NAME - false - - 0.1 - in - - - 10.0 - uF - - _63V - - 140 - 172 - 234 - 255 - - - true - false - - 0.2 - in - - false - - - R12 - 127 - - - - - - - - - - - NAME - false - - 4.7 - K - - HALF - _5_BAND - Standard - - - J1 - 127 - - - - - - - - - 0 - 0 - 0 - 255 - - NAME - false - - - R13 - 127 - - - - - - - - - - - NAME - false - - 100.0 - R - - HALF - _5_BAND - Standard - - - C9 - 127 - - 0.15 - in - - - 0.125 - in - - - - - - - 240 - 230 - 140 - 255 - - - 168 - 161 - 98 - 255 - - - - NAME - false - - - 1.0 - nF - - _63V - - - RX - 127 - - - - - - - - 0 - 0 - 255 - 255 - - FOUR - _22 - - - J2 - 127 - - - - - - - - - 255 - 51 - 51 - 255 - - NAME - false - - - C11 - 127 - - 0.1 - in - - - 0.125 - in - - - - - - - - - - NAME - false - - - 100.0 - nF - - _63V - - - J1 - 127 - - - - - - 255 - 255 - 255 - 255 - - - 0 - 0 - 0 - 255 - - - - 0 - 0 - 0 - 255 - - NAME - false - - - R11 - 127 - - 0.3 - in - - - 0.1 - in - - - - - - - 130 - 207 - 253 - 255 - - - 91 - 144 - 177 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 100.0 - K - - HALF - _5_BAND - Standard - - - J3 - 127 - - - - - - 255 - 255 - 255 - 255 - - - - - 255 - 0 - 0 - 255 - - NAME - false - - - J4 - 127 - - - - - - - - - 0 - 0 - 0 - 255 - - NAME - false - - - T2 - 127 - BC547B - _180 - - - - - - - 128 - 128 - 128 - 255 - - - 89 - 89 - 89 - 255 - - - 255 - 255 - 255 - 255 - - NAME - false - - 0.1 - in - - - - R4 - 127 - - 0.3 - in - - - 0.1 - in - - - - - - - 130 - 207 - 253 - 255 - - - 91 - 144 - 177 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 470.0 - R - - HALF - _5_BAND - Standard - - - J5 - 127 - - - - - - - - - 255 - 102 - 0 - 255 - - NAME - false - - - R5 - 127 - - 0.3 - in - - - 0.1 - in - - - - - - - 130 - 207 - 253 - 255 - - - 91 - 144 - 177 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 470.0 - R - - HALF - _5_BAND - Standard - - - C7 - 127 - - 0.15 - in - - - 0.125 - in - - - - - - - 240 - 230 - 140 - 255 - - - 168 - 161 - 98 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 0.1 - in - - - 1.5 - nF - - _63V - - - J6 - 127 - - - - - - - - - 255 - 255 - 0 - 255 - - NAME - false - - - RX - 127 - - - - - - - - 255 - 255 - 255 - 255 - - FOUR - _22 - - - C10 - 127 - - 0.15 - in - - - 0.125 - in - - - - - - - 240 - 230 - 140 - 255 - - - 168 - 161 - 98 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 0.1 - in - - - 10.0 - nF - - _63V - - - J6 - 127 - - - - - - 255 - 255 - 255 - 255 - - - 0 - 0 - 0 - 255 - - - - 255 - 255 - 0 - 255 - - NAME - false - - - R8 - 127 - - 0.3 - in - - - 0.1 - in - - - - - - - 130 - 207 - 253 - 255 - - - 91 - 144 - 177 - 255 - - - 0 - 0 - 0 - 255 - - - 204 - 204 - 204 - 255 - - NAME - false - - 4.7 - K - - HALF - _5_BAND - Standard - - - J7 - 127 - - - - - - 255 - 255 - 255 - 255 - - - - - 0 - 0 - 0 - 255 - - NAME - false - - - J8 - 127 - - - - - - - - - 255 - 0 - 0 - 255 - - NAME - false - - - W3 - 127 - - - - - - - - 255 - 255 - 0 - 255 - - FOUR - _22 - - - GND1 - - - 0 - 0 - 0 - 255 - - - 0.15 - in - - DEFAULT - - - Polyfuse1 - - - - - - 0 - 0 - 255 - 255 - - - - Polyfuse2 - - - - - - - - LN1 - 127 - - - - - - 255 - 255 - 255 - 255 - - - - - 204 - 204 - 204 - 255 - - NAME - false - - 51 - 255 - 51 - 255 - - - - LN1 - 127 - - - - - - 255 - 255 - 255 - 255 - - - 0 - 0 - 0 - 255 - - - - 204 - 204 - 204 - 255 - - NAME - false - - 51 - 255 - 51 - 255 - - - - C5 - 127 - - 0.15 - in - - - 0.125 - in - - - - - - - - - - NAME - false - - - 68.0 - pF - - _63V - - - BOM1 - - 10.0 - cm - - - - - - L3 - - EMS bus - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - -

false
- CENTER - CENTER - DEFAULT - - - L3 - - RX - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
- - L3 - - 3.3V - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
- - L3 - - GND - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
- - L3 - - TX - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
- - L3 - - UEMS - - - - size - 14.0 - - - width - - - - posture - 0.2 - - - transform - - - - superscript - - - - family - Tahoma - - - weight - 2.0 - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
- - L3 - - UREF - - - - size - 14.0 - - - width - - - - posture - 0.2 - - - transform - - - - superscript - - - - family - Tahoma - - - weight - 2.0 - - - tracking - - - - - - 0 - 0 - 0 - 255 - -
false
- CENTER - CENTER - DEFAULT -
- - - - - - - - size - 14.0 - - - width - - - - posture - - - - transform - - - - superscript - - - - family - Tahoma - - - weight - - - - tracking - - - - - \ No newline at end of file diff --git a/docs/_media/schematics/wemos_kees.png b/docs/_media/schematics/wemos_kees.png deleted file mode 100644 index 3c7d88820769676c38069c15a01cd415830c195d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 205024 zcmV)7K*zs{P)KMa000001b5ch_0Itp) z=>Px#1ZP1_K>z@;j|==^1poj532;bRa{vGi!vFvd!vV){sAK>D|D{PpK~#8NjQw}B zZpn4t39k2e_a5)Ax8dt5#8P0 z(cak^d%9n1X^xiWme}3hkLH$^*xv_6#Ln(cEH2JRV?X;P)zoQATWd7enhm?Xy(h*` zoEH3unVFfW_ts-zXjpKCgZkUv*^aIC_1N0n)Nv)|XD4D=Fomhw@2byT;|^{u>YLOi z`1C^=iE~vkT_RO9Ml`7|_N761Q8yOPn=)O393d*6$%fAbqLd4EDQ(SNh}+#a1>-O<(A6&=zA z^r2bh$a`~rBR03zV|#mB`0U5-_D<~X??|ru(zn99Mzl3IM`wF?^z`&Zb8B;KZ>hf8 zcXYHzYg?OT)z;E3T7avz&bxxU6&o8Hv9hwF<9h5#_kh>l-sa=Z4t+_t1q*)YpLkVd zB)u0L%cWeajcy;vmbTe0c}=}$={VJanfNFF^N2hWUXy5|O|y#D(6Taz=vY3> zXFzl9<8oMLDL~{bsC0mA1L80aWqLL?3DC}lUX)zy4r#6v{lnRTshtJzM2rbjcAEo* zNjMN&gxg$eiILG`F*JV6O1Zka7TZF&QwFfJxgDFEYq7Px8A}Tbv8Uti?qqIq2fVT#!boSG3R%&pWc(>J?a)yKZO~5C z1($@8g{qOfRqyIiCHfzS<$ILM*{hg4=D#j5cuFh@(c_yML<$c4k=&oNcnK0%wj3K} z$f8#~JbmVLJoC|K;$t8ANSr%+#(afVQW{|hKoYBw|B@Pc168jkG9r!p{qe?e@~7|&PoH!wlY+jQW@*6+U`nuYt6z@a%$4C zLr$-~y)*jiy;9l^%aA_y1gGepQfq6{5gj)-*JXH{mRqxFP%o;3gJmE~`J{Z& z369oFct!21oI1YNp+&r>4#rO6oSeFq4yd_VgQ3o|mHHE1M^jBauv};(yZ~SD051Fi zf6CBPj=%smhRr!;rBAi4a6ZHv{e(}}HT6*jYG4#z0fTbn)S*GE&{~{4@&O;pfSG+{ z%6=1X+5rQYWe}hoyb4U?rX#e|7DsFwRPpW(G*`aBOsnJ~8ax10ebLVRfV2F2_LHAh zbN-?7M-;v4kW&E4#B{9_T^}W0m$dR--!5%A$C$JDfLI$A#RjaSZgS7379`BK`Tby^Ws z#{rHdrNaVt8davGc}>yLrMEA~w_p5Ty#B`Pv9i2k{va1eRyZf|yhD*%y;qI~N2u_Q z(GiElAhV@N3CDq&!6TyS9gVU%TB}UBx9Ys!EoUc(MO2IdP!B~0kFBk(10!EuU6r9N z%h;tKimXhU@lz_!7qNB6N zbi*9(73N z8aOR2$-h#M1kAy~LC=P8^t(H|v98(5=GNwc^8t7CnkK-inmPdo8VViY&oOzH(I)Mw z=j?JE7B&dp!cY9L4(GqBkIEs7pDnG*4AKCr?wjr}e)%^WOxboc#ey+;mwyO34b0~n z%{?;MXwpdNfcs7udI3(>4Mw;`N*QFBO4_*9kN!2QtR`kQ+>Vi|RYs&~K)p{>iXIaR zGZz=;V|8Ugj%ryEm6Ua7(@_?wMaI|)A%d+Q=-CP;${m%M3Bm)RnI1e(g(u1gdK^o{ zb--lm$axSEa=xeA@1HJW7>w?O>h95S-HiW~iV(=aCvxH+cZ)LE|L7?2POh&b)2rG( zR!#rhpd$a09;fPHxmEX|6QP@~{hE}rE6ymQdhTP-#B-zT6`Bgu|iWO8IsyS1&(1TbKgcz6Y9Xrs-AgWwJr5=q;*AtUD8=dOXr!>T%trA zHcl3NumPNiIiR*A_=CeLc$1FeazI~oT?St=_c)SD`*cv5z>VqfQ5Y_VM(MNZhDW-u z8iqkS3cENa+ESlX99H2;!L3DumSHKA=mUJnWje^&ASJDgk)Tt<& z>3^XWTdV!XZ~uOyOQE|%b1RlcGBqfQwXEo7OBHcFC`%z2X%7tTj_SGViaNAjzJ^MRCfG&~J|@L)22@Z%rFkAC!%n3|lF9CCdShlQ?y z6Mgmd4n$8+-E_5gb(&YO4@YHq%A1>8))A0xX>E$G&JH=Iw&>|#y{bh9-zgjwmFfPz z`q&Ztjm-^3c3YZuZpPB;MyzjaneS~f!cMhcTVIV$l>wIs3%m>ObKNYBrx-K(0FS5x z9mUv6;@pNOL*pDHb~K=KU!%Xk2S@2QiO8Wtj;X(|U;XTh&UH;e(?J8e=peX}1R`-z zIZ-BzDiN6JsPvgcU!0dCuy7Pd6J^jsrVh9h+3g*f0@EMK5t`27&4zTBKt&aNA2_8x zxgBRwm4Oqu<=SK7R`^&F#Tij%dop^^CVYXtS9s^T4Z-h_?zE*oDY}C_t&%Ig#5$q@ z51+s~CheKF)_(tw{uvlb=o>;v0v8|*na=Bdy=LOf%(NXE=cMctLo-~@P5b)?Z1_9d z8c{(^e+VO|a#B7q29tAi0HGo*7k|5>uYb_jgwd;VkSmI)8e-1+>XMz-u9$?7a86!7 zs~ibsT$f0yEbKE4z^2n>rOc4^0B#`w1_ZPJb!D ztn1S%m1qH@wlWd1sRGW^3%$BmrmWy}08jV4W~B&8|0RCHo#`=5-Y44CHObup6F53D zN)7b(#Y5-M$CtkN#dzi;AB};50pBkv@kMz`S;ET1)MqaqOi#woe)&@T_$NP&+qZAW zmYhvPVJ1BD)J}4RKKRtCQMFT3qMn{EI}#haKr-FIsktBN)Rv-S+Ou%pAw?V-=#BoK zwixWKMPJXp99Dbuba$#f(ZW`&uC2$)+Geb*?!@fehH%=5`6YA-UP%t(!P>e8RN-db zgm2QVq!0dA^42|!t;ou}pbGT_(CV0-NRk6Pe{JXKbKb$#~*ElODj{T6OjCG-f~$YpV!G7=9az^k2y9-Wfkwb z8Qcpl;EEiU6shv?r_fKm)cbVyM9hT_2Cw3*$n*l2-t zuJ|dB5JRDsiKfKFwdHw5d->D^M+uc38cpq>K%gSpOjaZY&Kb2~v@#Sk6KbleDr{5+ zZiZ4x8J2PCdO9&Ya05rRM_4F>6-khwp8kuWb538>qrI(ENB5~@+Lb9O%3Bh`BTBOq z;(i6gkrwxjuK&v<{8K41afU*0Mmz2im5z^&#`7P4EW*_^2Z#C&FUA1HPd6of;*ZL%@t%_`+vDAD{coXJdS9%zXNX(&1W_1|BKSv>eq-uf7_8 z^EW?=TZ*VQp}kVf{f0($c&+N2>zYQ$X^}8eo(QrXqDv!XTU)O2(GL6_bqFsOPn+R` zxQ>$c^)$!%GaYg9WLq2?*ogk#4e12~hGf*-8Lgdt(b6>#H95mtQ>zrUMf$NGw{FhF zJMYZK+gE1e*1aX^8<8sxBDY9@BfQ7x3okhq8I^=wjHlXoTBm!(NRB!zr-~l1M;mGP z!2};DH%zrHFj7~=HF5Yx za17WAG6fIg<{mPt0XFTaU;3bZ!I%4FVAF3#_UPGRlm;HE?)IeI7LvLKm#JU4jg1;7 zU`P+RhYc|xfkXCNGi>e`zQ89E_(4PRRQ&t+bHDO62w`6n29Hv*NXW=cSP623j(GM% z1QQWQ2s-xmGI!sTLt1giJSJ~b7}wd+Wuqrlrkp4uA2096(&9o)-MJa6T z=>tas&R!%1uImFg+qzHjE7$y3BRF(W+#?_KSvgafs{eJ&>@sdT9pamH$-eNlAI+-@ z%47Hvr19d<MnDE-s4pBuVD`;gjcEqb|91zZkQJcLr-fJcK%IsjeNBMRQO6jnOJe1p-r4Ow! zGT0Q4Tx^Ml&hEvzW7{z@uqoY;!wIH~OuctwOZtbiYVYccrnY)Cw|7T(y;l)@ySSEX zLrcqw^fvbtb>yJvksg`CAN`qk!V_M>x8!-!UCxV4(e;e<)2STDojN)I`-qqhQh`(OBOG3x6hcei~C(kG?Tl3>=-y%)X>_3Lk7j-X}6KVxv;0kYYmzX&dtuos-moA8Oid(tQ^&YSXo+-QEW+>+l&-W$_kG2 zP`kn`41(#J5U>%Ibv77HO5$J^LX<$NGEy=zg^SSa(WRuVz&nyqe3ato6VswRK*9-l z#M3z&9&>7`e-*<^qCYMf@o*}_G_L`ffLy2G&UHqMDZK2l>f3EHYAs=P(n>js+#JW{ zpnm;JpN}tm?(;D?IF$EvGjU2KJ&GR#)Z+3={PNW|;*bCHpTvvb|3N&sKjB4Kc;Nb~ z$I)43EP{)9(V+;rOEM=^XAz%44adcL2gXIj;LKpAK0Qi{3C&{0@NiQ+b}^J2aqd(t z`uh~QwWRUzIJ{X?#inMB;?3RBXz7SHMOsa*-6ACykvqEBD4JVaCT6!{eqk%NHgjDC zy=fL7(MkAcUa4>H9ZlvPf0Yc7=g`ow_03TVGRT@)*EA&W3J*(pN#(rotE3Os;Z|Q? zpZUX77aKa-#^=@v^=S!kmQfpZ!S85YmR+o;I!Dha%Sc4}LLJG==b}{zSoaG?)P+{; z)Jqzw%XM)|;9GR9B;%(HF2+pvfZZ%vBYSx6vZ@WZ^M`>L2g>}&KpR@;N zIp{Tbka23JMN{0`CqDD}22SPxIc37k4Et1>vPuTr2jOxA(V>CS=+x-vsgxAN#LLQH zoFli*+CVk+-wW(Nlq&49WhClTyJC!>x*xxUNo>#B#OQ zi3~iadilhJ3``;?5<Y`{k&Fw8Vs}e0Tbyc4d2G#9Uj^c(A z>5oXpPDg(zKbupTWAgaB&{P3XJ6co>SIS5UxYoeIb79E5D)0 zYFzgU0tpwqfk`D5YZ_0%Z27xjKqz(NcKSKhB&RYa8qpB_& zI5O|9*S#G9zHP8DFWrGhM8P~EbVMd6bNWPUJpFiETsU8g(Ghm3@5+JWtdbtNUTIBR zZ0&c(#C4kvC3s97+5(G|x{`3pv7DDaXah{HxyLmL zy~AlOE-uf+L+7yrQt30J8ye9# zaW40ZU65!C9pyf<_ViB5o`FR=s)Ado3vRFjj%44-8=g{nty76M)S-RmCO>Vae|!nE zJ;34+&CBP0aJ#1(AwADM?H8)(50p?a|TQm5T9 zkadlQ>_Fd?p{%YfdRoZHms7qJMwyP0Nk;{JG{HEpT`^yVL1yYgtFhfgOM8fU>YG zwCkVSIO!gnMXAF26y*{xz=ECNz;_+t*{O*1`R6_sfB298ATFN2Xnc>RvaWz^*EIlL zfA4nu=qEpkU;OfyeyFl1#e(W9s;ntO$)qAKxabFU?qR%?o! zG_VM-<0JJL&|ui8wFwVoD0%O1$Nf7ut;FSO5lnF`DT7dYrCeRAZQK1ii4NBS@D$~|<$1BdQW zui#V?*CnA#7Q|d>g@Ti zA!Hj{gOc%Njiv6t*vU5q*1WRgP;_ z=c{HggtWFcDWb~7Gzi8~9c4^Og+WI%&aH%=Ajh%bg|Bk4|I79y7)d{+ztR>(GLv=9 z(N0OQ0LKVY+FPjsj!<2qa_Wd@UW_+)=#RElJO1ft;Zd#vTwIQLzFD9wY~d4D_Jes?(@ zOs>gE?nhs5yEp8L0qTx{iovcS$F>*~)0;6nyI~4YX1G}l%~KS3Z=UJi2eJ*c%5GTk zUbmdnc-~)+YZ7pazLv~&nGTl$kxcZ4fv1rJJ7EB?=w2z~8eJ&YC80B-O7OCr+XX)K zp^Qx1J?K>lVFU2<=w*hQr%flcFk`;#Ha5oy}NTnv1oih1l6z*R>E4@;tI;501Cp zo8TOQIHzwDuOqoQ7XJ9hz0A4*SK-2SfpJvW?<)gm!NIld?gkZ=N0V=7pf`? zI@skUuvNgzrexNrc#p5%)uREa(+^RgjsEl49d0C-B>~BBL zpX!cdV|^N3S#D577vz*L>upoBYcVssu1Jw7PpkO|HRuR@tJ{;We2g?sLO! zY`)(;YGQ}H97`vMb9XMA4TU%-J<(8N@d#F22{m^V^tTNtnYN=BCrL2 z6{(y7g#iTkyz<1u5)7XsW%M;PI3)RX3lAQcfCuZa?ZI9x@S}c4sM$&Bn?!r?J4$Ds zt8caEZ3G+;_Fw7>fa@L%h~_0NvMoCgc*2RJwKLKmxE2|afa&#W-6PQs|3k3SeE#C2 zUqfk2a#(7n04kFs2i7HoU}tAtbIiVc17A#MTE{-ErG;5d`&MINZaP+%=3`5vE$cSa zp(7j>kG)}Xn;n*vk3K*~$S15SI-ySs3%8jH%E;yG>V9D?M@B;kF07`0sas%kA7yYo zwMj-E!cgUk+2BOmQUoum``q)j;JPIx@XT&W=@6zD2z4s`a9c_}UExfHu9j6zV?%i6 zLNQk<2Rjkyz|Q%Px+=q2_4oBUx_b1{M5*VKk<{nbSQUscE{+*Nc19KDP*ghfS&}bUGh#2K!e+sl%MI|8XG%TSG+Ha zr_2~nPrX}4QjZTk-XAYK*AwS2XmIP!eN|Cw7oGjeL&Bp|de#!_ayHi5?{K6Df@8*M-yaNvAMMt6H^N@J+&3z}GpGqp36}{kC%FT~TC&-+qaQm#*gE8OHnpRFk{_O^J)1`v zbV%IKslM)i_~Xxityd!{3hGDLEF=ps2_xaj4evuS?d$CwP+5!Lx`zSF8dVqPW@2?w z(bTf0fy;}r&leM9sk}DP*~uICQhX6+?Lv8pMk;1pp{FYhbsFY#q+r2D=F5X;Z? zrP5w>Cq(y1#7$?a;*3Ug(d99;ruXmm(@p<+|k@`eLsphoz_rPqDDE z6|Y>Lh!?+kCEoe@o!DH?uNClG%eiyI@z`TyF*GcPr72@58jA*>m61LO!tUOB+ zPQt=?5bc2*Fw=qYl$NLYInC!Djs)C{OGRtJ|0sQF)A=xqdn)p|mx^4k;+t+T5K{+Q zfzS3BWaw*U;H9q-fAG{w**f`4J+B+9PSe`zTC8qtMn`u&M#fJ{uyui=6ND^9?(SFa zwK8mIH04VPGt-kXH#@0lYRaE=Syn`~v%{8#eYH`$&fKB^(?A$zlyJE?sw6T!IgH>w z&JD#c%!2{ET9DqDov!Z>9Z3SCGIBDYz|EY_i)qXLE>vat`x635I7gXWrg%khN}UGE z0vwbH!*0QdBqZ^R$M1Y?0;k?0NAIbO%6Xa!Kbx5jRdrZ!cJzcY*>&iD88IPy?BmGc z3u^@MQMl+&B8?_ZpLVzR;`sPz3=a;v9eAU}1%IY$ufFzj%uL=-g<-IO4)xh4yt@>V z_sDqr1zO$>#^x@cdH0W?-H}aZvV_r_`!Nf$|d+32dAlQ^5w&m2!iZqUC(V`_4}3m1sluyp+#019_oGJQ!eF zYkeZBkWRrKc*BlyKj9T`JRrd%c&I}%vmV<2m^y+3$!oznl5u8sIO-c%)GzdwRPHlCBdadWvfyiOLy*n4<`mJ~q^u>W9FGdRq|%-;6gAn6a_CI33QU-e0+6##3f6jHs@zI+ltsT1mTIK4q5>=7(H1>m z4F*Qjnym~hW*Qx%hk!C;1nK02zv|IoU*$~63N0MH`E*wX>i(f2M_l?r@s0mJBhr=x znGq2QKL6n#{AT>&KmI-8!xI(Y9x4`VN&n0L{r?v4zI|1rEG25Ee<)LTSEr_YJsz=y ztrez>fW?q7Xq-In=rLd*e-f`pH4&}w(z1-xQ(nRGyL@}w@#G_Y@mpU$9gjXa7;RlB zF8JcC29&#XPPDNbb1RGSqnED6kH334X7BRR#at6XSJ(*J+SU@E{mg~<;ukK)u@lGC zu1_^IXsW%L8SB!=Tk)fxy%pd7_KkS=@{D-J(kAWPGu8|#WDNYDsR;k{)e zP<%9!I?OK68Td}3j@N|b*pBMlL0cW+0sR1zz6uXh=dyk|mP{(nf%?VCT1Sux(YElg z-AG==4#?OCDL(_lbgt@08QBt1kxG3s5f-|^eG)Ww^D?n;A<8UA1`0nElWvs+ZH15E zK_)SKYHRE8+Gz~)NG@h+^lDLN&5j5PrDO`$%0^RN`x7F9!AqJ%PM&U6 z?HS3Ldqd^E1%?3CrwonJL{c^uj8NqhFE}h-cj5g@6b@(A5C9a3bs|2ggE9%2+cHYw zyuSL|Uy85%`sYP6yvG=lMrfa$nu`C+|MGv0$%z@2t8dAJH48>UrbnHUm-*~hnV4SX zJ7>JKyT(+1WyMibdHh_As!gWZF=V`qn@7Z}~V%ltTc9>ceBd z(u6KpO|z}{4(e}}j}?k857^)@eCZ2ZIEQB7;YhMCU?hDdVqs9?25`%sOTO4jU+{qP z!iVCJsKb4}p1|vN*(d8^?bhAJg~ili^@UCmsf%*k5E1zbo6vP%B$)R^XJm9p(A@|1 z*=(Mh!#QVmz^;P)G)?U{zWPrZeD8=)dmy^44UMSsgg_ftr-!4n zM>wj#TBBRI3@Z01x>OV^MV*_Qk4tY{iK%;Y(bL`;$Hzwf9%^SdJK8&AQ&Zh7<>r<~ z96yepK@yHn&YkICMPDt%->uv6{unh^Kh%8dk6uy$dL-%-*n-G*pF-Ibeo|^yX zW7STt>olnyqXkO(neOanti8+ETa`7<2?-`3h3 z_0H}%erz~~hX!JBWWa6j-n}1x{KtRdg;jMQdyW85_?$)%32!K>Th`Q!FHV9FBEh+V zBNqx-x7-g4_;!tkHrz#psV_zhwQB5vK!i& z7RoD}xIVyB*~>8Ezn30dns}oBINy@opUPPd00wj=4tc-eQgAKj9Jz)rY>264U6C<^ z^xXVR1&8(uT7)-L<4@2p5`zNHlXXOIki`yEpARA!U(Fo65mtZr3iDPn!SC?hGnNZ# zU;Op2Hkby?D^%Z8hyJX~R(_n#LQ(GNRph}ASb^bNNHCGPE(Bx<4Y4?!6gH_4W+fMb zAfiJ4xgF_{+4?h#bZAFYxi0@Z+Rzzwahx!Y_BadgEC;@b<@-H6e#bHJzGJ^45gzgO z_6-PUg|KFhLSSGad>JCU!Iu?jFeRRuob(T6FdYV8wl<{GOl2Y3EH9fv4v{7}!Bjg) zV+?c&#dWH>lvIk43WyWSJ8%PD;_Upy7M?*b{fiDZ{PEOmcyLILscu1gwCk(K;2@C- zd*gasHn+IssErN0IN3GPK}gOt6GyhCsSZ;)^H=y3c~+>%@eqc0MwcQ@ru~|Sdf;Ha z$1g?;x1oAl{PwRu6rcaXIq8T74N<~&g<4}!wD2^Lmz6c;*j|r2ckaZ7oPV#P*t#55 zcaNryJ;%NI7zO4BMBck~Gwx5^jT6UuG#%`d!(wByrYBJsY{3FNaN)0oA@Y$M*;8f>bj1<4oytiEyio!sGZe4g;S1}yg1uwgNC8Qqa$)u{oX)Fdp@@R;K99^pP$n- zW!5{tF>1nE5{@ZR$SE*i#e@PdrN1IvXrLZE0VkfG`LoZQE27K~-ZAne{;sTpUv=aL z$%4vq;6ne-Rz`FP9BwjldHv4q#6RU@$H#TeV8EkcrsAzpmox4g9M*K|c#Iw!lY`TU zrU;V=d5f(mYkZ`U#q`ZsoSzq5O*#1$8@`a~^@bc|JkSUpi|lL%Xc1m=QI-WV!NIgN z?Zs!GKN-LOJCDTJ2|mCm+;A$5A;IYbk}$8u+GY*_yi?jHW$o&eBdVW>mi8e{Nq6L= zZpEvwzM^T}o3XgGs6LzHh3AgP7e0SJMn=X21Lw!nP@I-jNSM@OI+j-7ju(G;IbQt6 z?YMn=&b$LZ2FIiN#Zmv|)EGVkL*+*kJTFJ;0E0SQGbkb}&dHWVrI*DS(Vqw9svH<> z5uqGM#yt|{)ZyBAeZU?{BC_tS=j%=^3y_e1fejuQKS$b{F12T091aV8(y;n5boW7a}s$!CYK6C4fGx+M*e z?hD5&9N;4ZFMR;hfsPd?je_;C9&exOGd{4Svx^TA=8u;Mm8hM)_(;PZ4`UMo{pyU@ zW+0Na5ow?^_d&ie=_vEcbxEb1Bjsi`)+QLGT{1y1Ro~}27Upv#QC{j((dRf$-D{V3 zALt+S2j+OP$wR2@Km-2wZ zN6y#dpZxwK@yKIiGO%{lVL`ZG_i!wl5~|t09OcyX0~-ksE_yl!qrK~x?)Ajvu|Kvw8KgYJ1+<4m8*BPJv^s)HTubz(4k&|M`xYUNdW;`jxrGmvm%r3kVFMj{^ z_`!GX#l3rSSnyZ8D~6Z~pE@gzGHlYWXrv4pIYQ3|Gj)(JJF?4XpBdpXJ~H=7MUS~I zy2_EZWtzyn0=LvTXfM1-;8Bj;XSo7BAr72na&( zjvz%y2O$taosvoA$bHU1zLdd85GszZAWKU4Szhwrm+Thsi!x~N#fvxOC5R+C#I)Xl zp%`SXN7E(Jl1A)_`}bpVYEq7BT7p`$iXe1w#1Zk`CU)MdQ^91KnU100A+(&RZ-GF! z&bcO0Mgs00j$KFYI7+j#$`Oil|4@bFFle6lJ6UWcQ z=`&~J*s`>yqCcK6Z>+6(An5KKj@I@uP1RfC?JGCpufOq)cvDdodW7=w1q^)S@$tU+ z%CDV?Pk-i&qGBQ}Ik*@WSk|$K+Mu@)^UIgw+b_NtKmD6KF*PNJs|XpMk{G0lks(8# zR>Myc*YLCGAM&GKxkgq64)v^OIu;!zm2;dRZE^f0HCK5WWoc7VF=Qu|=NjPQeeTiD zK=coNVUR*cbZJ=Tm9Ci*a$aa6F~#*>IGwu=w5VlynVAPB9EnuWAsk80N|NsKA%cQ4 zPK6~8aAJ!Kvk#_i-poqBrj@!l|J*}KLI;6EJJYN>^ntT2xI;gELMyb@8ltl~Z5xp2 zIke+zsKB6!OwqyS{{8`f535&^6?0KPQj}5_FIx!8b*h{O6{0|ZdwKux+zh6jYbEnZ zrQJaSIlN}ornDzncuJ*-;j4evqcF6#wk|oU&gic9$FUQqVo1>jQyBVvaQ|Lhdh?BV z^YvHb?!CK?9yC9bLvD+Dj~rXQJL=t?iokdR$Rt6FwcUJC*em3^!FgErAXwCaU;-7bpFw1aI9>^5iqkHh7f#Y`S{P|uN?`rRuZg z8;=1^!H%Ci9Vbqojlq#|4FbKshx6H2Zb-2@J6qzD&kn_Be&wVhIQCZINHGc-L}Oib z7o|6wib!~Rx-DnbrU7tV&gxif?bL+V8}X-q_UCcs%9R60f$WKx6X^~7FZxHH=r_6O zce!ul(y`Pn=LK%5OFfLbv^muOJaS#ybD!jL>TplaihI=KSl}W@>X2{_xn(G~ka$Z* z)er4TE^x3<>n@6?Ht4KvntK&YaDk3|x(`m3&Q|wn$66l#0KMlGGjGp>f>p`h{bU_>7ZE;b%@h<(CR_5tk|9v(G=PX$KAisKQ14feqcUHuZxaem^!e^<)1P zYjAu58$Q4fp7es>rXrx(naQ|u2M`CMxKVE(1 z&G@rF|MR$d?S`j1@SN!>PacJkbg&T@&JD%KK02a)H4WsI95#$9a>FS~g+=4GXe4st zeahpS=1;`+>o*kTtRxKa7dhFeoDU`HvP#B9cFEh!<#xf|`2`V07&62Rdj-<+PNt-i(ko^9rwY*f{-kzd<^kS5 z2v;?P$I!q%jy|uPOrZxyM*lo%WtT9c9*dSNc6Mvd-Yr}i)!;krOM+*-*o!&or{@|}9p4NQpJKvU5&@>C&Jz}L1;4qObKd}X$j8li4fx_*@+39%u z&9~yEU+_ygH_aoy$T50sJkFdu7iZ6%m*YAmCG56S+S{Iv&9%jtnRqX*zVk-hy>&-8 z^VITWba#wKXV-~nZXLC=dij;t;!pnUFXH+QIjbtNNnVL(LY>IItD_~Jcyu_PdUDhs z@ALbE!IvnybPlC*Ry7_D@XOH~!hKLtWKUeXdfo3gdZ2&}=#Suggh#l_HX{AeFB$nD zXYO0B`e$9QoJX+-QqfQ3;I`ncHpO76TMU+d`~;HT=+_RU>O%=V;@Z(t7U)0pEAOkd z@hnD5bVFP8C!I~o)1T-uTsQL|$38lo6YV^ugFfNI`d~WR9SxAx(^i#3A4d{x3`_?c z0}p1n$AIeT*bzF+7vr4{hb0;C=iIiVdcJPT*QC;pGogb87I1)1GHm@F*g)w=i73wr z=YHbEiLVvnr~pDa!XGvO82Ko17M$w3BOP_(dvsdPNx)#?tO%LJU3*g{;E*YENNbpR z4o=i-mX~gmak39-XmHT)!_7=j#T&1`7MI?7Bj#pj#GG&xQLoDZhzT9-)t)g4**&Uj zdMA>E0nitI6pjKiC1hdyNMr*Z)#wb`UToK&aaB$tk`8bt7ygl~!1`kifgfq$X$Ovp zCn$CHekn>~VHV!g0V7F)L*mi9w;xE^W;KnQ5smBvW28AYJ{q6<+-Eh-YBw536Y^jq z@b|v|eQ!D?AvFxdNyoAfi*d3T3%{5G^!BpgscFvMc1%9F7w=qpBVPIWPvVtdycDx#S6`k3IyxX^Sr_XUf5f8(Pvlsv-V#??W6P&+ z!^3AJ|3x|2+nzQN;5e!fpD=v?iB?ZJEVnX!O8p~wkC|{`GcR?4ODcv%Dtb!FC*`RR zh>Ln96Jha0t+dn0L7$ed{;WgDTV?2@C9XQW2rSETGdnOfwPVvchR-0)IUt!HXJnLX zNJLNI4GtvwH*d-6!;y;0$n;<8aSlw^t?DHmJaoez(hduKq>TDdTj)>QaRermS<0|4 z@q;7!Q#C4r>eSbc8XCtm<{SkI zf$l)59FGc|vJ{0nQr#k0V5K9hoFRnT@YTL*=eF*X`^g+LNshq#F%(^mjvtHRkr5j> zPx;=~^yTuUx4fv%x<@)HUeqRPfIu-{Fo9d>QcrnQe~f@RWyNSwn#8Y6`Ai46iH_3V zZBzy%ClwoS?ia@GDj(xo`ph1CeV70bjOgpi?HXjRZcnV)V_gv#N(?ScK{fS@1slkQ`tMYfH86NAt}4pHsh8;uiD(O1x({7LGmgno zo#5FSs9)=z_{8G8KeO4ALz5BYqha+l8(TC z7!+M4FY>*}PLh zRgdSMY>A5}ccb356)Ow(#M1hHy!Q5; zxP5Obae)6aR^Z!^MH6Lk7y6Ek*EJm+jAO?Kb)NY~H& ziUFrM6vnEW?+c8Q*L*}9{552O!dY-mU)DzqUw`nRwBugNM)lRm>&nJGD`4QJOMUVn zC8vJ*M3i5h=Dk+-D^V|}j_Ozypu0>HfsZpb4T8|Dbq0rC<-!Q%iI{h_;Dm+3I_vBNrwc*&&` z%1h$9+%sxMCaQywrlRsWjfgl@!8h|52n}fgvNS^o{nhK6bv%UNW=sysAmY5d$ zf-4A}5Evn|pk0@f;?4A4h3-rNai%CY@W2hHR`|(!!{XACom6hSnD-7~1gc(K-wLg| zWb;c%unG0-+0*gKPkvJU=lga1kvJj;UJ?1`x4!AULu#0d+BT{*Mik8oD?VEpY=k^H z5FDVlj`sSosI?5n{Ni5Ro!yO&o`E=V=6v)G=IuuIrbi{$eTUmoe)7_LA! zGJrNuO^~bZ_-QS&;T-N!E_BF9n6geDf~dR|zUi7D;wbN8+OYOAQf1#18*KSS>t-I1 z2(D)nbObHZzf8j*xSreE5UibKL)ITH1hr>@j3{S^Hm;Y|JIP?b}!I4lyfO%9`WIkhXgOfpPm zbPqalsH9wE&srR@5op6vLkkaRnlE0wco1PxsTfp2l!~e72i^G|M4IskutMmtt%&DU z4*gjvrD*KqVACUS)q`X{(crx_78O%?Oab{C0`JYS=*kZ68`rPJyYIdm{D=jgnds~7 zj=}!E7#i$XGy?-uFyLNBuR=6<7KRpXa-T%`2NU&a2|GCF59Rl~T7L)>#bgS~leaEK zO|1R&`I}O?c1B3eng~i#6cFX2Uz|6JKom7GF&R@+Q;w{*B$$T!bf$lB0}0aw?~`YK z8Y!3$T{s^vJpY2DBNe{ykHo&9umAPey<;9>TY=OZdH6eBR_Npb>x(EaxcR{dJaB{( zF+9`}pa0ZQJpZxI7#wMrW9W_c-U}K`o|KH9h*PJ|#h|9*IO+a=P1)!e4q2!O+NBN`oRN)Y~JI%aWD<>U)mMzqOnWI zu0~UIOJ}=vk86${g3%{A_v*aAsWk>P81(5lD2Fwq^Wm1x7}iv*zt$o*T2md>RsBx2 zAMMiMDZOYH+zy-&^4b-zMO%}~1X?W^5KXSn)4Y|1D-W!}mFXa=icOJlc*vyaaj~xh zJ4IHikB((dUGZS8lzLO_`2C48>X$Yg(G{0@us?KEWP%#xM;Y~r@^D1?i5n4E*&L3` zuLF+&faEEBL3Qtd=ROVM! z6xqQ<)(EQ@$dirzxPu`i~xzyRpOUX4hiRr^FR^2--|V? ziXZK*wfNNYWAWu*9n@4$iqhOJJciZktPmU2u`PC1r(@>+bvwP@-tp+@I~7~IUGejm z-i-h4|MOqsjZ4>5PYSO{?&P_%@%WQZ#hJ5brK-CzrKov!Y9dya=VFat8SiL{Pk-Wc zeD1Ty;^gUZ(K)VqCxm&Q`V-N@sS%69{d&Cl*5!Ed>#xP2oZqi~=2xPxJ`lUDr{ayb z?!{mI@gK*^+)VJhh#eXMy2QW^(c3Q4aai4wXP4IwS$;iG9K^`ePG#vUpwDX+19pXt(n8R>}6B4h;_+W!&J;^YQG|fxh3UWY3#-- z(F<#ea0b2$r&ht@XZbfYsPm8o8Dta&?<6=SWP+ZdM+|`F>0618(+&=&ekAInza;LJ z`;?JWA5verhZZplAYn7;XK^AV>QROs^HmcT`#GmB_kicDx~zjymoC5)2gT3Y5j7be z|3ssw*XjcrpoR4^f|zWF-eP}AgKhTHpZ>J5E<}PLi;r~d`6dgr{OOvGJ<^v1RJW${ zL#G9PJQ0ws_?q<#k9f*blPXl^zAC6FpU@1((D114?fKQ28#iwFdseIkv5kSLkoP%B ziAp2|ykrunfPdm(hEzB~k8!|TSGbajAZSnGSlV%q=>i{jL$Hplq##63EafcJhx%rQ}N1YZ9>wo^A|AYFTv%?an-bX7{Q4~*On8KheIyPyLvBOl0$1e87 z@Bi+(xOjp0H6=$msYdOTVD#IV_N07^)3;)GeO1%n-sl-R7mb#IxO)A8qN{Jl)pxII z&{>S7<+WIs!{+M{yP7`L`}*SXr=E(FCyzy|XySJO_*Bj4V0(PxxgqbtVl!|pM%3T9 zkmbXD(8i#|V*5Ms^IyCXfAiOGN9)#J{PwSZI!>QHBRacdZLu{jfAf2>H!~OY_Ri?j zAlD`ywo3MrlAV}GYRQi$td`Agw>{)1P%; zZGlFZ1V8~^IxnBKz%ac)taDz@EtTA%+EWXd zjxwY~II80(Pf4ja;<~1QtX1(kKuF5^XH@k z26wcKbG$22Ozwvg!xjGfhcj3sQ(1oI0zA@TOOH~y1!D^()ksSA*I32qAw`PUu3d`- zML8Amj?n0fQ3MC39xZV0i5mxan@@IV+)KL3=-wtp{=?t-jrbS;@?Uv`D+v8E-$4F#VrVZlBuUZl>Ambl$$%*iOP#MPg@ z6L)@iH(Hi<AEsUCC2OS&-294A z*^F!4EBu^vjlDq^j>Mk~7o0NF!72O`3=bOj$h z015^cLM^YW2|kXF%+#`=N&mpW??96`t;*IoFOEB%R^nxc1ri`k!dY<_1Wbgakn2!Y z(hcq}Qpp7gP(&ZbNj(}}D|W>y6o zVPpF!4o^|mq=c*+@yo$%@WeR`4i5UuokWTB36E)uU`U{7G^cwsaygvaV2S?Bxo zZDmmLKl%ONjeq_x{-w+RzT_#P92OB4IP%+Y3?}{-I8)h55urI13%ck>k#0|GeCe~t z84Hoe4u<#D|(PZ1o2QML&8_+mHid zEsdoQ>PbEg&MW*~R~QM3+6oJJ$smm5>+ED+?Wv;y6Y=WY0}*gUUu`$Pm_QV!k&0ct z(O6lHy-nT@*otkO`083LZLY<}AMGq+BH8H*x!AsSY zkI46v4-pGU64xbxpB1bs zN}4j2dI$A&3uC1X+Yn$V*IqPNrY$&8PMy*Qra?RJAN{z3e+fBMf4ar;1GG5_EEyMG%? zi}?jeE2w0N!|LM6<-r{92m!kqwjGCsN>~I&3euvNrUam#$?nE@-T9Kovcqs?MW>-5T z`jQi>E$jXob#lsvv#6=B;1kBek9w|)A?$7;82(kqlod|WQlQKQL|mLGQNW-qzB*ci zkJ6<^r}ReyU-Srf4GuL1ydF7y8k{(HsoEwTrcNCp(%6V<9uWL%V6$^^K z?yfJ#wD6e{?YE?78|oi7utwA-9Lic6^4kP%m5RPO34e1C`_NxbxKh{_X$t?_z##!Tkt1)6BYDYbR@QibyCEzcLaQK7xDZcz68KA3PjSePlHFHK6^P z6uTh%SCt`MaH-7xnH{$z0_>o_(##T`BZNBt? z4B%;H=}em#^!zfbQkP_WTv6R`{?3!}i7!4LUHvCjm+dSp@GF85j+V0}f#X?>+SNPJ zba^6bvx|;a8ge)|9)8KFNu%}N;#%x4@axu0y>Xgqrq;Ux!^`XNdV_&SclVRlMviJ=-b&AEnl?A}4@9F| zPOPsUwShiQOI-=%NWz7unGLoR@VO+>wJWE)p#gD2dbY5=8Mmc>6Y6JTeBMvL`TW!x7Wf{k41ALGknCZ_~_pZ@H|-nR1b#-IKI8cV9j1La6V(R zkZhaC-39U)qQm>pUU=a-MOYXzid#}O(i__}IL>UGlsl7T!vK7AWE2lg}N<4b!NJt8fZ0>})B_yUF7-+JT_pP|R=8~UAW&~R18}WSTPeLvZ zh_D=jb7N!*{(}kUkPGRFR~h}hE>e~I8d_Bbe$J9hma9JE5N+`MfB5hJS^Uu-{&xpB zd@$j#{`J58H{Rm~{g@j~Q8uQ7EVef(%JSoPWn|Oa)e>L%wG;8BUpuSmIL=avS7W-t z$k-I~ORL^WP+Q%Jb0<#6@bGxFD;nBvbi`Y4--++O_~Urz-K*l$its`s7{R5qqRqRZ z)sN+`W4n%Z(Kaqz9+UAtdVDa>ef~@ge)Oy&5=}q-!M*{t;hR#z5wc~PY-xzw*P`~_ zOA$D%H5s>9(5QDr^ZD_JQMDaE6$^J}z0y2|^uccWJfAJDzA z*7oR@?snr_jPv$Xz)v9N4CGkT)OZ zG>yE!z8cpzR^ztn+*5S9BrLbo=Wavo#4ovO2M2yFPWP}6I~?JPz1yiMLnkzIPVxq5 z;m2U;SA|3`cB96=&pH_iy(vG!QUVz2v4;{lqvN#oE(77iHTOOJ^!`A8Pl2_ptmCL$ ze>f=u37!;U*USLQS}l>5BP>TN$~2~9aSN18OiAj~&Y&dMtsEQGYV0@REmmJ8g1%QA z4fWOepq$mHoD~duI%r6?REG_v}AR;S14Gmm70M#RVok0CE zs&QWUXGO0vWruyF5KBEWYfEw^jzXw!SwOGbe)VLWxgfqEF1~5ymycUD zqBi2Kckaf_^{F^LdMr*IKM{Syr=q#{WX#NN#Mi(1eMMJ)>#w$gJI$Nl-{_<#Pt{$pIbc~w!wRz@8tkNU?5 zeXRs9&1sb*8zOoMC*`9*=)m~OHMC)%sxEzJ%F7^3WFQ?CFNstuxMb)#HTD>vEoTwei>LyE>z}M-FRbB$`GPS&|h68)rp{4LMka8e+jl>?`Wp znO}(Y#rarRS&xa0wYagl9`9%nosrScOINmq+v2tyo%qHejLqN-JbMr;(J2om&@7s4 zwdjHz0}+;WR+%ju)IsN=r|2x1R9?Wwc1Wqa*q(Gw*B-1?*YK2hn#oiXc>dgx;Cmn9 zR<84*cQ`9>u&ub2c!V<-9M;*IPoF;ZHTCLSHW(ct&ZdAYK@M0ZEb9S`#H~a~M`cCt zz6NnZzGAcx!LIDCp57SNXrfy2?mKVGS>5teum1i%zYECA$`Iqo$#AM%^#xI^sTBqk zd=QA8lN14i#38X~3+C`u1U{t<(e~aF3JdBuv22^80YW5t;+KtyQ10KqAG0&lc2=02 z!(FwdYx<+U_n?@u5==#FnR2K`zuJS*<#Z_*QoT`BWjII@PVAhff?xV-!ACIO-WT407sG8ZikFv9N#ksXm z34>UOt)10)cV;JkGPM^!)%53w8!Pd%&9%6?xg94S8jI1hCln<$$6BL3-n%~;x9;7E zEesxc2sieb;XE-ubd2Z<-oqmzWwTTNS&xOgBL)2-3)-Rso=S^D(n9ko9hy$)LwOGw z`nM6=a&MIYElOwS1^>38FKCJ@KE~~Pp^-9b zOo61oHLry!DQYSYUwHEMcg#D^6+(bx}HvBh)0`(LNyu2=dk49@XK;M9@nH z5uzlV1yK~_lqbY2iJ)WXH0w!aZ=i~-Yel!qpbdOz<_JHn|Kg=1G9~I^k9JVDYj{i~ z#{R{wv>)MPebFBSsIz2ZpemzJoEyon=HRdp0sSUoA^>GmBLqbU35-z)#i2I!F-ndZ zwjtPbRA~%ur~5WkDIUM;H!wV``>k>F#?5%|)_Z0W&WayV@YBEqolG*qjBGmUUrt9+ zj&zm~0wdUh06~0$CL^bAzp~S>(YxN;Z%0LDdx94d!AOo*0iRj6B7?& zO3}%poR%NOx{sVLLL17-8VACL(WHVib>I;+Co?PBO-m+tRx*h;+(k$pp(~;1#yN3R zibDM5z)yiizR?OSl57tD`MG_H=JN z|B3$S>Xj4My;`kPM%yce?T)#nop|Gwn-MFUarXGJ7#bRj?tzoh)Hy8Yz8bH*{CZrz z{Eok!gfT$DWKc4_%1*@v&&BYt%%P&7yT!(L--W zK(bI3vTl|STv&Z#|J8oueq6nKHD1299E&Yuu|F^xTN(uCmX^Iu;KW#OoIQ6u+B$lo zrL#Zg7dPV4+n4;A;7&P9bj6CKf5_F-7ah@6oVXoUB^&gKvZN)y@=5#m$x{c*NBlwu zu>r(EnYYC--JzQ5!+VT!Po8j7_m`!2?8BOpjIYX}z9DDzrXs;hiWny}UD_p*l1?^F zPDky*M1*LpZB{Q!cgU#-Hyl}WUthFoTFH;Z^y_+9G@X&2kBg7J!hxwMZ)CK~IS48L z$O>y#I4XDmUEs}ICJbtjhHkTu%5c<;2(x$Tw%RM+V=`K+glF~V_u(1*hq%%t1 zafBE65S$@TiCLbZE)ERl6=y{qqF0-e2QA4#u-GEieD>^_ufb?LB>}}SQE(?Cs1aI! z9!Xq;LQ|U#Kvr$s7Vu;oOR5@FWE(|MnhJKwaoo9cH?Cd3=8)R2waB@&vMU~n-2|dE zJ{TvJRSwEmx(DpyNKiUQQ+%OQBMhGh;qx>6005%}Iim{A$)%8V!FzRl1D-7iv$J!G zrY4;E)ejg6d<+?0kYH2_2mG@CgXyE{I2ue$59*anqKriS!#08qY1C2ny{fMJ^G!F? zQ9^S46d>C!o`3$?xOnj)w>z5hhXNXM!prd&|Mf3(M3Mr~)*Ekuqp&AGr-GB*j|*q( z@x{-L#fdW-$#FPx7>$rasEx$-UVB`A`*u9IayL#4_Q#16$D+4?Skcv(96@v3xN#@m zdgF3T&&(=Z&(A71D{L9sZ;B_{yW_LH!*Wy)#YYuUoj7wk+J^^aXdMyDn%>>M6^-|9 z2scF%C)MvD-)SPtk@~BCHL&uFoXwt!uE}ZelypbuI0o!$TWx0)4d0Zr`sLbk{Cs^i zt_bfLP46~W*ByB^O-w~?dN!J5=zeO-lSoBdH4Qj5Ijm;Ze>L#;Dxw-^`YHaMmfrWv z!EGuYT$AJGT|6EbbPFFGwZo4CTywn^{e!kLz++?N;-t7w8?NyUg5YcJ0jD@O_;y$? zZK))Gv{CnS>I@%QUZFmB5AElW*N3ucK6g$I%cj5`&IDYS)TN@QV7f);o|gEi3i<~g zewWXY57!`;jk6AQn}ZL_^Mz2H!u4xcy+M=@$nmM-Hige#XarFsK{N130~IhkMn`TU zjM1;WAr3>?D@6pwZg?UqrZ_OpcmM_Tbj`@ZYcVs^({bnSt(cltB(=asM2$EyUf{vp z!kD6LB|#fXM_H+3JXOVXb8<*PbvQhdsh90xk(8VIRUJ}+=?OXDs3<%Vw_Gn^jqmwq zKlb-JtOUrEa6P{9&2M?m4+vm63IKl`7&24cp~1HJtzRFH4}E0VPCbA0^o;JE(Rn@Y zPE5zkKYlfOgu}Tr$76VSG`ji}CAam8kBjlspS&DzU%Kqyv+PvFdZwi#KGNM6Ul=(a zpF4d%KK#(bF{G%hRZ%pk)-*sgZrq64)vK{TF&XGidl4eXxaZ1z53l|@bzW%{zQ@vA~Rt^r2D3WQ3g_WIn z?X}k>^HoQd&|4PG8E|ms3{YGn7mgTXF<2f@paW$w8Utr~LtVhJhSOrE?q#^|CICra~RtHB}oMKVgAgzI-{R zG#az6)Zf=FN2bvM`*Bs;(HGFNKh7PpYs7%j?CNC)Ivd*hs_7n46~D;Bh(I4|C7fUy zznrWopA>dM;WaTZ!>LO?qorLo)Dd|pL z<+M=O=2Z#;$4at5oN-pB+I(UvQh4VGSNBmON!n%kSXkfjYLb2 zA|@Fi>oM`(dr`Y{M*-EmpCsPiT#4)Tz1Vp|Q}zpk(bU1m>3DAtr^VC3O1W!_Fd9>_ zv@#oSUAiAP-dXTB+^47RYWhAK7an^ePM$e0huagqoxBXqp0PGLtv2b~l~|mgG0%&0 z@((an4y(xH{SGK)&*)ErXULz0V5Tdo;d1KIjw3ok;yR~TX$vI76+C2tv!ZX07m}6h z=%0g9_VwMTwF`j$w*|>1wgAvvtKKvN07u}`UhL00fd&oqN9UZOl%u{3W zo4@sFjEs+~sUn~_AsFXWmmfflxO($S{QUbrisA0|c=!T8@}cOeKC0-dFIJ|OV*cfK zV|;cwUeFZrxpU{@5jm=%kzwz=wvw%HhM2Eu->rzr>DXCZjyXBfOY3X#&Gn`D-u`AR zoa~JA&y2;;$uZ%{3)OsGl+ViG0CFjU-R=7^7t`|-ap^6|auP?AU%i-{nTgAc&o=ix%P5+pP#(kwI_okY=6tL5qy zVR1$!vm}9hku9)@s5mdOMh4(YgwM7969%FVSsv-PEV=k0j_itS>xcSajfdBB*5qs_ zrQfe@F2|d4UaOcW-#pWFv1w{LTI3X)G~LaGdPQAwR=fq!rUAZNj%+}KT)anK!e5&W}I#%Te)e9v{SG zlPC9#FKuMdwD->Q#RWSjp72dfPWX{2%8C*pblRC7F~`hSKkgUCSlM!Pq<@?nOy)?q zfAqyt`YZIBFD1b?U+M%V_>2)O7wSv9tj3^F93wRo4(A0gU(2ETal6jS|DSl_g*bmf zkx(`~lClOriu+f8^;gCpr*E37+t7IG_(1&L?|wKQdia9+AtD)4J|%d4!f`*QW^cu} zaCmYukDM8c)5pf5-lyoQ@0j@A9_{y5VoX!QbKSi$HZ~qzigue7;nw7k81)->??r>- z?0jsmZp4HJke64NFMb7Dar4UCVsuN?hfj!JMdEEO*1O5cxp?!^ zo3XQ}X}=Udqjeb)=jL&>=2AsdMGuh+U*F`1cNqvtl=JN~2F@b;vLu0C!D|xbY`DxQ zPL80G`GIaJN#ce_e64X%MdoHxcT{s|lNvE%mCe5z#g(yJ=_O7R*f?2Qb%o$x7>I$sB6 z`et~E80WdmoT#kL-kWbuv3O22#Whb|nAWgQ1J8>iDW8^ElA!M2zZ{7(2)zxsn$pZLTJaqj&2>fYZ?IO=bFA8m6o4q)$WN6c!59vP3e4mnEU(O^n=Fdc+i$siVDV|zN@y?Q5Je|<(#)vDRS$ZG=< z5BMS2_pWLBx4as?qbFs2O)=bGk1N;Si%XX;%jgto!Yi`)j1%AstniprW(uU@Sjc5y zOc`mqQt1UcMBEfL(NeMB6ebX3DzMV+%$@xkO;l zVcNyh2@Qx><-Bfhuf@*#YBbL*MEm?=G_!Y*CvfEAxQMvgn!VHQcvEYPD+}RRkrRU3 ztR@rrfFJzg>2*F$mE(}(%H8ofc!N81lhI$VvsO5B^z=^U{_L`xJ33E2Y!({i0g@Mx ztRphT7conMb2*S;yVx6gBU`(K{=@rfJkXgotEEokC*-4bMN7OesUvv7w8MFGB8<{_6hMGgJr*HhWKl-&BbPSGp+l!a;%LQ` zCKdQc@8z{GDNwIjj)EcpK-&=Lllw<9$-J)|Bj;sp0Ecy6Q?OF+gNdIA|N7VEuw($p z4L+BzGF&(_6o2r0&&Jp|-?d`hinSxu7ku{P+IyGdfXUx{T66z^=U#}BtxDK0Y?8^w?had1%aw@V%1{}FYPccM{ zgQs~sdbdGVa`M+(l{oj8D0D9u@DG3I5FuIiNrd|X9)m5$k8YxWe7%Em!#(1x&{@-_ z0T&zMn)}vK*=U=h$OC8Uh_N-+G?Ta`T;7sB+~QNo3KUv2W%j^=U22vREz&2xIHDh&Z$Tz+0uGBw?0K$DqkNC<6^gCD)P3afXF@X! PeiAE2Em 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≫46Mode`3()~1`Ay6$T(UI zTO%^4^cjb8_RMR^JNJIS1n#LvA6XuJ=;7*W-|a+~$SQ^Nc+Lyk?`G&FcxWSIlU>Z3 zykw64wA+^gh9Kl~;9GaV4S^hsu4=o?8mTf85S2A@I!IeQs#~htz19y7eoE*B`#_?# zt&=B@KZP+GK;CxKs%!>Uc_4_m7qONvj4NUhf*O+`t~+Aj4IGusAmb?dihwR7cpAmE z_OJ2FAx%SV6d0npt*G21#&Zo|aoHU5W1zC?CBX3Ndq{asvEeudY6Jp#4A{DuwGEOw z8IB;OO&V3HSDhM;5K&}xtf{!?@BxG4$Bw1m)EA*#l`l2j&zDCVUQ#OX<~gP50!8=o z%=iHBE+V{dxHshnmN6#F8)p27Vc^x|Q%}1M=n36N4j*ZRhWCWWjtjW62o$}GRoVQAHf-KjloRxN6EE$&V#dO{?mSr&islF zB7ojuvuwfhMrsr(GHMc~FZ-sv=*nQRbD$cbB|l!_&8m204vu-)Hj>IuQCMy;ytWY* zQOH+*5=0^tp6LaU!3~J}3R?#o9+3@;jE!|E+j6>aX*XTHcfRZ0m6Jax!S$DfeK)9rQKz9kA{v~^pJ`^69^J7-)#`Kcoh zuw8LlbT3Q_xuGv@-#lb4Wyu1$F$^?IVC)hcc{zIIPz+Y`hLLWp%!WXkX(-823mHM{ zT8!kW5eTp*$2_1p`z*`=yz}50^@B{=T9+M>}phzV^#XZ7N!;*XIi9GkY-!@G0xL;Vx1$WmB z0;U?swKho|)7a|UC_P@}7dz|aQ--3c+xnLp3-FS^V{L&a`sz4BaH4>H<3H!qO`Y)} z^@C*~7JkJTo~dZ?A4hRCQDL_-Hh8>uzbqY}Aqeo&8|b@o!NJxoA~@q>bx46zCsw+_ zCam6(vxLA>j^S;msZ-AL@{e5PF#BXC(kvbjysbTx{F03dZOZfoY%ef}R*~KD<0qC^ zUVT+(r95FE$sjqgHmlJ{s!-Z;2Cx|+e|1izCpV`};l$vMu`<}MJ0fa$_>qUZl3iYH zst((rFjVVyz+GOEKTKWQDj-Ye$fA0tUCJZ)YTx98FGY{))X`KiH)Sa_9_6CEd9Dr~#L8Y%-wY32rb`o{^cx&_-kZ16MG1VfH|SKS1g^*lysl{pe1ZivA^(9i z_Q`a`j91MUTI@IE1!&67d7v*wGx*z|8@h zw~Lo9r_AtQdr$<1+*fYuta7ajVG(Mo9{DKU=_u1h%_71FmZVgev zPu-^Z8%?Ed>vd91o{g+F(t&gSrcI~qaQsT5SNt(+$&skj>yEq2rq%(e}8?HXQHOBgJFAFi z7Vgdt6ltd@nuvk1Le`D810F>oC~%C|!9;}&ypKlcx{;qwzemnQl9YC=#;x%FP90_)L=NL(*AmsC+bcLbFweKG)QE-%;ccMPvX-wNRIPGdz77vO_X`%@2^!Y4 zb?oTj7_3puW)AY}A(e@n`;@-nIRT7djj{)L{wPtOVg znm71o>}GJukzX{0#LW_gSXdC#<^g9PX<341TVYf0o z*#c{H#%2SCVJh3jJb!qV>oo|dd^!TpHMraTWPbP_gIWWyd3N&n(dFImd2jhBX`A1j zMxK2|`o$NXOMM%|6L{KAbV(OPR$WjVgR1%iaULBq$TK*DA;G6Oq)n95&i2a^7}RD; z$&cnnPRWlxd?37Z&L29>+NT{KO!|&WX=g!=}&Ufbi@y%U(zcYJgms!uOz1O?m=Xv(k->W46!!s>iEdU7# z3E=hh2Dm~4GytSGZv1DzZe-W{&09Bbl9An{qM#tZMMFhHLrq0ZO-skbKugC+M@`MZ z#=ywT!ph1@L(hJjjpa5I3oFZi9zsHTeGl19%9}SSS!k(gS^mrI>NkM#7Rg7_C{hxB zzzs$cQbv-iE&wk8KyvfCxBuzz|J_J#T=$Wj;ua+p_4Ne^2EYvxQqmh_r2pyl_0<8_ z=K*AlH<|7}QX^+Jd_%$S$|4z(n0re={Z~7y(HKrp>aANSB^4X{Z4OQ$VUc^H_oZcI z*^_R84A)Xdz%()OL5y@R8Zv%80QAx>PQc}~> zGcxn?3kr*hOGJ-vPX1LG5uQ`0klXHmN-Y?>-`DQZuA@5svk(+ZYv_p!Bj3{y)(EC$j%NV4?p<$o?0w{|6TeKtoD$J$R&y z0962C5ThM@1paJu7grRPPwgJyD)if=KEt+881SrWAt7eto%6^OLDBXq@|jx2HrnkI z1-p|ZaqQQ3c?%f%Ke8k}hi?mFmSR>J)Y{3+>Mma6U4AV!?a?`N3g@e2d2udV`O8zuB_B-*RitvH`2r zj>6N%7rCx}wk3|oj9^M5kJxunItAI>1=9BhmPZ#}o8?x1eL`qhR_5&NL`7y`=&@Dw zPVAX7b!n{4Vz$0D9C+!ZQ*>Tmz0e9{fBpBS6Cr z&XH&br3xA|&WM}`jQ#u@Zej|-=C4=jv}nC8dwaxaEj;_?JvrVq;v&+PcXZaMOgSnt zhrg`^4RSzy23EfHQIfjbdcjZvFRlO|54u_f{KPI_+7Lz!@Z4D~yF-_mf9K*w`|VNZ zcAt#_12=pDbl-k8*6a|hCHj&3^uLB@kONnM?8xMuMS3NZW$3eBgXw0eawqnazvn^~ zmmh!Xxu&9&YVB@T!0 z`)uDmkC94fsN7yz8A&WAOmresEwe6(VRkYHEzK${6Vkf>VuyG%3@8x^(FuK9w1q-V={UQyBH!liU6q0e5ok;+CKuXis^iz9q zx;m~5tlByEskdDxa@&3fD`^SS;eOt3BZe)Ay{W|=C1=rMA$0k_yo zPh|x;LYfJrn`$XMsL?4SOVAGM8G*!~qD ztmw>3D&-%x?SkS8Ksxy9w{T3SRL|cBF~%#!(1twYNlRVP14s@ z(q8W4ocIT{V@Z{B{o3y$$I-mB=_)0@C>ny2=U9r(H1nDQPk@LKDL@XrG?R)pjr18M z3Ji?K$%`}f*YZ3_cLD+69N9nXF@Mu=Q-hSNI(UVQhjMAX##5i?3h=Z(j#jH@y~BxL zcU-X~Q`T`_Lm>FKorMnHAz!H2bgQ7hF>VBzPw1DHN1P8XvTy&~Mt;~~)V!nMqapA< zHpxut+kmmW`OmVG7rROay_Ve($TCZVVlc!E*ZT%S+Fv-3=Z%@l_sZH{| zbY>1PJA#dExdx@}5UnYdNSAc|{Ysn}#LJ2|Q_lioGQ)>=3pZ}(f95d8)40jYyZ(L! z@&&g;4Z3{o8%j16>e4D_oy_XI$n`W7xY8P+C1ZlW1XyXqq3t>&PXsc9+UY;Z=Fl~( zmCw&_XO2X`YBS33P9EO+nC4ZjsHIUNr8#?RxqTf`r6O(RcqZNi%Ok|wOnJuY8M8A% zEV~##yFiD_Iu_p6)-Vdcd#soq{G&Z3xLZ%ZNuup5_#*8rKv>RKzO9%%Pt(RV3Re2B(;)MlULDwX!U-MdA=v!F%Gox5>>g%&Re#0rb8E{!whI!|r zXPq8yxetufp6M4LT|?VLE6|!7!4E0u9`|kP6#fVjx(oul?dX{VsqXAv0U`nr&6>Do zxI^ce-R0=#Lkmx3t?`9pS}L+;NGHqRzj|D*bRXQbzoKKZ#q^8`yxxU`QC(aJUN&4c z3g&swqx7&OeEpnq^>tfoVnx?GF$T)dtH*Ql6*)ZqCKDIdxV_FZL6wL2fLc>dXv&ub zPCpZcSGsJZL*?S9%I5YAx&S7HxX_uE$ne94X1m85IY5;b93+yQ(xsQj6 zK$jWoaeuvhYpX%KW31rZ{ccyzGU*q|oy=i~sSuQLSbHCT14Li^Nh{&#WhlhV&&wm@z4TV`qiS3D>mMJ?+*WzMM)=PB*yQD@ z^?@}*dCHi#rW?E0DtfX!l$768aG66>b#jpqNOfrla|vA~$Mc}B+cQ8+TlB$BAm=1d zVDgCLC_0{14?{lLI?A2!B|WsD=<&BtYjYew8>s7-V`-1TQ>cq%?>(sWyUNkCF(Oo= zd8J&1mymCQ!!EShEw|VlsMkCY_tf*Fw3%l5&PIRFx-3}B4c=Fw9JD+~;!XsZQ zq@?Utx$>j`+BiwIv(ycI8gykH1SCaB#FiyJq+Aa7RDg9!P|y2IeSL<1jwA|A<%e#Z zt4u@r?-4s)#hNHzz0}JUt6V?el)vlo!2BlJ-jB3wVVtolmA`5}YH`Oq^Ejh)_(uz3 zI-bnSt-0Sho<37NqpoW9Z^S+k`kU3VOl-CZT6yV7Z1QPgM~ULl+Uee@P10wpHi zj0-j4ijWYtpPQNQlbt5`7is_|Z-j#2FSKrK$g{rc%BIA#hqd-zwte6B8ZP0dF%C-EB8;{M{m1NH158S$503+ zf1XBN0YHHjJ8SDkdTmElr$D8l>p7QwF4(Fr4sc*v+!li#2j*0cC{V5B@PS zWbp;6Y1=P&lSWItqG&MR8QJJR6f09cN?Q9ahApy!5V2uc z_j7!Axs|%eLfi8})txAea+S228sK8~@yeQv%l^Ud%(Sjp=VRhVmzfPmbKEYqg5WE%fOcqtmF19CWbk9tr*y(cu@gsGqRl~nqI)pC_;&hVEE{Z>PF)1xQD}J z`)ST5QkHD@axc>N2g26LLYo1NxTBMZqpw*{ zwMNnH@`N9G&CUW$tTgJ&)kL7b4X!sTtq1&fCXjDZ2p@ZHJ>G~+#{5SQ1ee?0nO-w%yhaaOwj};>+B0O* z;FAd~W}>#tBA7`V!qAb{F5s6mE=ze@-~vf31z`p$U84q_7@P4^L z^RPZMv#`IlEeW|o09Qmuo;0_~oq;xBQc_j~ZP(=->P^m(Dh#cJfx?{OoTY^>?T*fC zFTmhBupvA&l={BTPz%-WDI^zP{CimO1s)mhFTdP&drP7FxVh0vmlTMqb+cAuJ{=l$ zj=C!$Y<%M#)nJ1g*PR`I>qaEO-EV1LPGiC&K=maFck% zsG)e#DcPx!BJ!{aDod>g0g0K5>>C32T2UGEkL-nQI5IxliDdP90+rDh#Jw@pVtkfC zmB`@Ur76*my>@g~wHwugaCNZtu`QX^aJo6++z3Tn9yJ_9e|%DRJpSy(+vN5AW7-_Q zb^SS>eB8{-G0%8*CxwdRuLavSoOI&ADseC6!Gbc5xH;RC_yd<--uu6>pr03BllBu@ zX=MaI4Lo`5u^t5W@BFaA`~*~6BpTK!?e-v8|9(~_OT^j>a(P8n*4{T)07|OP?_1E~kBJ!o)O?B5v={K>-MOncosQn>irrrv==TryW0-pP$(KttRirOqg3sJ z7~yY6M|key7E0w%wup0J?A*d@`zAki-6X-6WlHbEqhBwj%#jEr;3GS%^*R_wP5E+_3p|Wvg-@?Ehr^kQ;c22J-5RG3oq!|Gua(gP(~N7}1dF zK)Pzh_d1L$oGi)Bth&wn#Dmx-#`$b+G|eSv=Hiii`xW4Zza3_eV}W3M&UUUl^#Dkm z@}ni@c-SF6VX21643&CaJph9517FYGdmt-x`Bh1~m=M;5vM&p=&DU5yHEVz2B1inbwlLoxi@OUzvP zrDjiG_id}$)C+P4QD3~O!$n4|&m8XE-25<45eIs_(mcg)t^9@Ixdb<+KXv5ANzi+` z`-hE(GiT?GiDOp)>$W8#ui^qdfy;A+TYQ|z%R=z&;JUQYr+)#O6*tw}DP&|2FbRn& zqfDk3?&j$H(l?s5U@=_0U;uIDh{8~EiV7&3d|8SgGOIKv{sGStc|yJaNMp@<#4uu) z0W$jP97;{1#d-nNYIocpyvOKdL=AF%@Awe-#zswP-&$XAydlZrc2kX~;J4&gmDxFY zm$0Ce#;+7W$U9ZF;VutOdog-lCrSty ztcY{~1=_P2$C@!-Th&kZ)AM4Uj>INYiyw9*z1V$xO%$o{ z{PDNI(?1>a*Ay;Dk4rJ-V) z<5-u~NxF>U@;$N>BgS=o(QFIu+0Y*=UVkVC$UzblDq=x)7Y4~a{mT+`h`t8UAXNCV z1M+8WhJ^*^z2%JCH^n+q#rpfCOD&~d_yzq2e{HEdr7N7XjJpEhz^fHRm^a#Ag& zap-18eNo8HFLr9|J$}wGyUk#Js-x7Ky1Tw^UZ8`CWpv-C9p(?#2AsBa)06k&PB3gO z%Y87dd|2_k^uzg&q8r*%w@WvlB_{4zbLaGmeFcp&lH=;a+;ex34;SX)f%Yx3>g)W^ zh6=1cyQjGs_r2Ux6~7VQk&Lm=4G6#tURrkQ&3H;McJ(Xo7CH*1PDMvbqL)ILFPhXy zNpu0GhDOzGnuOUvsA}74tydG$j9^WCw&*>)y~RU=TQ9@eb_Me5dTL;l`FBU;Odl0y z_b-^B*l*5-FhI}0*wtYbz2$NV$;ThYrNJZ+IUbi>r^+pb=bUM1n8cfN*}}VwGF`IM zc@k3Z)L$353y6B4YuP$Zi$d@w()5vyZ6DJ*ENNFcD|;FzU2IOU&o`~QR_q3PXaa3t zleMpWa7I@6d(6lz(zbq8PR-8zi1O#uoNl?DzGyY8fgD6a$J0{+b@q*9?ElI=8gyxZ ziut$h9n6g4TzR8_*qJ?WW=os?OwQkm+O!1VYIVEg_`OVX0VbW#Iq5&xUUtzev2h%6 zLuRW~XbHXtnC!4T#|`u3XOqp!Yz^EoNJiz$$yn!!XdUaf)ayC}jDcG1E^$v@tvANU zyfQ}MrkY!M$KFP3Mi1D+TyU*LuychvF98A^m66?x?BDT4zrHUn!g)Jg zdkav7QM2g&k_ToF`N^W>b(=AXRaCn}z zqnX0%>*;NoJ4rODN73+Mh9T9nnj1nq_6MR~Z}p_!jc*09n;Lv#Aat7iGHDw7mmjY_ z;c>)|LYbQwO_}%oBU(N2`IhGJjwF7_T)eEV&2w=DBHsD~)$$(OntF5+M7?lL0(no2 zxBwTXG3ItgNm|_;1~1jxS-HiUbpHKw8*(#f5fbuqHm>j<{AsAk(oc0SFZjQ6sAS{W z%9ep#J*`X)_`>w&u~gmt3esmk&ar*=B*9dG_iMsr?|k$Vv`4dL8pmMGh5@RP6`7-2 zUf`PFW3_hVe{S6^{IcQYv*12?lfwBdzPF4k>qQXt>@0fF+uK#9>m~Yk_-Z1$pXx_` zk}e-WtgG+7jsTg70fs-P!|x=7$ZP>WU!Dm$x|coDfuTkZI(@D)^*c2+UuS3_b6~?P zhrGW6lu^c~Ga7VfMr1G21Pb-$7Otm|;5{3yEqZ}X=A&GQgZ8y9J|>N|Pocp=c8c+& zq&$AhP4T?wzng7;nFvXW0;Lbf+iEPAv|t0l3tA&emxXGx2d|@MCp=-%*Rx!(vwFut z&-KAaP{#LGw(*4^`!4f!<1~sv4vAFS$u?zYX9$;g&IY^pNucPil{B;kb_GC7%p54h zNBgFR75XdSDq|i0SZ#PcJ-;q$VKMCJ{b}YHw{NxE%1^Hml^i$)bWaI zw6TAC9}hF_1g*mkCh(VRF#^?kr$!fTed{XhJDC&_7qH@O9^r{aqw%{;u!zUD-^wFo z8T;NOeEcGi5(MlsL)U&|w)rK~6ML-za9KjKMRT;Lq=Oh7NBmVQw^Uebb$~kck4`7H zpmz)vOLPrG=*XA)#-Xolc$XKMAv}yz0+WY8%X7`ie40|9Vyl+sfm`h)e?m#_@Iagw zF(+|Ynez%SdQL(Vx68Ir#EMb8NtTO!tSf@&$$5qrImzRtSFMXP+Jv3fD?o5X+u#9s zs!kc)aqL?aMwHxP;~Xvy_e>00KCiHm7r)hhGH zQ(yblgwmTTCsb-d`(71LMjn&76(Y!CZO$$)k}6V~M<10fjTlGJiu1DX{MpKk9u&fU z^Zm9%JE%+iRq*7m+ZCY8{LV>HRwmSDVES}%f5PRfm&l$NP>Be-0;IM{?p7?fFwJP= zJ&r#>%!Z4%x18RTf_f^7som^&Ta!7M9zVTD(oS+ImiP++Ip6WK^NcM@w58dgqU3vb z?rx+}4n}WzbG|p5d9*ddBsgJFP<}V%4?|4TXLWHGV5(?5(SPAu1_oDRmod-q|P z#}n>b$vAMQZ^U)+V4yR8q%V6WamOi}BdrTHp)ENmjIRCC&Z!>D(5L;#r<#ezLg~f_ zVS*uU&=kKBS*y?7g{*n7=f_h9A*->{e}6Z)FG+0F)=|>J`new$SKt+3c>gpgO37&@ zK%L84waa(!lla>>F`w^{IB9GpW5(x~ondkL6(T`77i4YP#W@Lwr=V+Uco?#_VLPTo55B_7uE8RNN%FgVKzR-DxggRp^3fj>36BQzz z{C{%m?IlkBH0pJW$!wjT5A^o+wVByYs-DY^y_OW#&O}_W^Zz^+sB!ec%}(x>vs=K@ z?ZydkEvN8jSp@l4>Ek8;>eF${W}^m?%NLtpVhHp$ovNKn34%g)IHqh<=rZSmi!DdE5N3CY3`}E_OKw-v zS_5LK4H(S@JZOY^Q%Cu@wCHpz=KYqzAq9jC2yRC^2V6ZkU)K8b`tsHSp zKwC?Hr#3Qxpd_rNv~Z3|i#al&EslgKSyx#T0t9r@baRX{uqMo0EKfm>)U~f|V`xlS zcgq5PI7wX~5!g0!q)fU( z5$=C;x%MXy{Y*hyE3^JhVvZn^Ib9a}m-wzuHeE37)om^GPwrkXvY?vgR406K`C7FJo1e0}Hh%@kIlaIJ7R%VgW5$Wx1kI%^m45#+XrTO2fV!QH zi*VdJ1fCC^x78WEIU=RVq`-L)b$!#vfzxJAB`HY__u_7!W3*X{ZtA#t(>un80@Qqz z4LW@3lQDOaeJvMqW_I=ks*WywxHsaPsh4TlJ5i=B%jtWFD*!!kPId-Wy_2w;ILndA zTP^cL&w0Z(VR*f_cVOIBW&)nvk=n+rqUflgNz5;yWg)oqZ1L=4W*s7Cr4bG0oXc)3Nf213yf7(KKAn7n`+?d#upE^AF*c_SylfoiZrGRJNzEFu zy75b^O+=9GMne#bzZT*1xd!Cn>=w$tuw)MOSEk14OtiHvRWIoAvjxcDgNeRu`_4$W zC=;*ny{@ew#%Ay`I=WPPkp<%W?u0?xLD6!X`RTX@=RciqWi)vuC>9*xH;ZOrdD@Zp znPU^E5?LlD6O=Qcx_as2`!1UciSr>WFBL`fzN*DtNXir*O=pla>)K9Myr!%9a`5Wj z5S7@?)A&0xpUj}kRZ(C@?4Hn1+!Y|Y*^qU*!s}hqjQ(V$#)4I!dg}ey3_;tFY+X#l ztdiUhdipHS3X9q{#8;7e8m@Qe8vj1ftqQ&?eN77Wcd)gU&U|*sbj^fBHG1oM!fIQwZ+ALNUiuj-ihYYGIu9~vK%5Frqw51${8qCg#9t>jRFuIyU@ zJUt`hy9?`}3YD9o=h$%pZ2EhH`;YZ3`;6|{dA>>xX>eWTz2kufs`l>5#MYWV+O`ac zD--%Ah5!~eAfkK(OaM1u?#r@#Ag6HNsPKoDRaC~l@$*snmAfU!>sU7?L;cyNTNgT# z$G76>o`t4LP9F6w#z-)L2{qQO(=ximi4vQE34P%|-+w880kF^oUt7~iy7dvKL^jJH z>qK25IQE3tRHG1euZS-%>K@>~VUTXc-}ZmrNO*;br`hqUb6t!-OfN*HnrXsMKs7X^ zh#KVW#COm4UnV?SQjx~n&BQ6`2UObh{IZ%)5&!(4`W`A*i>4AAb8p3q;t2pi??Omi zQZ~bweexImzS%LiXr=ps)kWBRpE8)K?4&?IewMQ)fs*P2q#c2!+w1gg8OaD(jc&4^ zy@#xi^PmlOZMj`4@K`{ejNyYC>nj3+Kc_QyH;67!%!0tXd<6(OOnSd-S3fQ8g3^F9 z9`;jr)93IX#QdHJ$*LDr3A8c`@(g$*5hqR0YXLd4g_Cy5n)%w4a)P_=7zo(7ghNkY z$ygAQT+{CLkX|767yjry!M3OME>6Gegok?up?m`azbGvn-xI8JVwOjB-)52|X9^X!q=~CD+t&ZS1O&0W*Ak=~nJ;w4X1et3&s-(3*1E@*T=AmB5fPU$p9Rx> zIQknt^H73b+il?io*ELrM6$v$kf1~np!QhNNYt0Akzf0JwZWfM`xD2w^ zL2d?cVPI@~DkUWLXMuc*dId6!Dp}^!9a{ z(lfxhI$IysOgsQ8ak=Mjt1|3it6ZvpK=Bw$d5DRAlFn^SN_tTX_S=8Gesb09V_7_# zh^^ep(&*tY#}j8`WoJ8nCo1uOT$EUgE?8sCH#x=I+<~$C+ZBFQTe99CtYHaS_+EDx zm&Nyi8sF>E#aQo~xqg^K#)^RG0R-QbjxmBFk+JXaT-2qxy-2@YhQK%HQ~FTO&wr`Y zIsRT3du(A@k7L1+_fGM0fU?ZQ80<~mS9IG7Z2to6zPb2`hyN!&C%To}*+!@lS573W z*XL0@$nP!&Ej~3u-P<*KS7+#X$9a$sW%ioHi;lsx?Ng`!GRz3V zwTHcA+V9z2QX_um9x!hwd(Z|`yMHHzj6QX7|YEUaU3)vv8Xm2(pX3%$6xe5tRb=;{!(!u4gUtqzFYNJ91K zlpFr#P}^sXI9M++B^ST*CS?4-I6#Z?dSasj{Q|W~@()IOg+6cV?mE@3p5{&L5KWQA zU~6@W)aflEl-L$>IE`>vst)%tg1qIdn@zv1OXY$#BbcW{QM?G^?8;peoyFjhY;Lfosc>&(F^(gLS6X+qbyX zvA6M2qNOsgvb^h46AX!UdWUVpIi@>2_x!3*ZY!1ztvKa{=m56*v*&-ToIa?1sIeH~ z*P97X4Do``TneRB4@ph`*sOsAn+=O&ed(!e;M3^N>e^phX$mH(DL{PFkmI|Dy2YoV zf3lxRGKVDIBlB<2e0E}_mxm;#Tmkwa^98bdWyHD*Y4p%pe1{a=62=Q3e3hn$YfbtS zt0MHr#WS9M6e_-|5-{X#gwlhB)JkbU7~T(tliH)A446Tkws=U#0!=+m$@Bv}RWVB# zXhbVAkliJ-yhT1r2RgJBJO2#W9}o6!6Y&9=-{a=DW-DlD)lbY$%i6v|@|z`pT#^hxCMo zhEMOqNA~;V0J5dj))niyOP8wMM7oyh==NjF(G-lB-lw2C=}2Uz?8E>HIFxD#0^RT1 zU2+gv=j%^I1j^>+7q(S}YY`j4>pfXn*lPo8P^e1M`0I(vRw;kcY|tXb-yL72)RP6F zmWis`9a?#HFwDAwOB*T}O%l(4qw8=j<(I}1G3`1h(99D?fHvqS)Ba{;$5#N`h!vZ$ z)G;h*Na}W_1b;(~H(7haBR&pPCtdNz!2RU9g`nuxY-?q4ZX!7R3NX5_Qb~AK3J)^C z$0e3Iw&B7EFIe#(Cw3Bd(lP`7rLsW;g%=cc?Tjqs(GFSl1%{XVcK=AU*xZauliVPZDy>XUtVo+-tE|_qld0aZThO1{-`%KsnzwojzeH$ zlyg%yn**Hq^_JGPEm-E5$aLSH5x6c^2u6Jw*b z(uJZX1k|=+z3_Z;>iv8Ns5v|R`fm*x{w<;W?xXW$;g^9yt3*s&)x?3)bkwo6?XjPQ zl3H1N0X(AL1IVj2;i)%ozc1GCR@JF4&S*OUE!_be`s?snz2xQUBaQ>8T*p>vcU3!%M?U!vlGiNBQ%p|K2}7g+7QpPl^ILuU zU-{y5lpvmYi}1X&AbOBYcFeyvhmd^70ov~j8hWB5{|=frN~q|jN-v(iBIsAqTo?o} zcT#jV7Dsx(SU3AUU=s^ZwRFoXWXl3$(_rLWrg53ebLDRd#-I zC&+P+DW&(XN7a#AH?hbj31o?uyQtl%9^qG>J!c@RIDZZ=JJ*#+8r6-%D5mdzDVKb$ z;4HaK-JXD79~vYskye^_R{9I!i1ACe{ncQYwz_Q~3saWd@HoA=nHvW9LN7kebqAKM zV)w#z(?*4$cum%GUOdN>XDxfS;;>yjGDzHIr&TS`A-cG}J#^vmWY@1+nq0kBoY}4i zr;NB`Ybkodxb1jVKdI;naGkN+9kQHNYsm}UxxdKraN&rN5Xfbb=|YECD0daMi=7Vp zVB{ZK%M955d+mu~R-V88q(_$csBYufVU~kdm>yJEU*%GSaZcT30c(L0HS8>}N-#_d zCZYI-y?8R=&x|`U9jj`lEpPv^{c}#Ab~mF`9reZV^*ysU-o@y15EDeNie8y3<9vaHr3H9-T7HVPnmnd&e8Y+sQtD z;Y6Oi3{^FqWZTh2O!edl+GBRdgz7Bj1s~<@{w>%25GA{mAT}!Mqml;Bzd-K1Rg_sH z097e|8rrmD^wnDLTw5DNj(HOE`zbzoG(|UIUm1>7z}7NXu#z2P+7Iw;DQkJ!`@OZH z=W)75w0_+)azTI#6>K5FOEG%*?fHw$-NnvEe={K2LknrhhTx4S?F9*GG#p6ouBrX` z`pUS)*tSR73$E5j7ZRs|BJpEj8~=B>%J`d8-{YU-hA*q(n8g>N`V`M1M$Z*!Gm=Jd zxAL4a_G8LTHM`v2YJ4*rQF%D_uYgd2p_RgVS<(hi?dF0$uO$CF?i2bT`7{6LOTcYo z)o0P$X+itf5*oU#fZ7~+2@|>k)P0L(-B}=um}vJE=_Iqfa5u;In4fW~qD3iR&;wjI0v0SkQY9ugQLK%O5vl)f$1nGQvGROvxRI(# z>wdOz{-m)gQzhde62spwEaI z7!R`s6mgWuQ;$Cm&qKqT&eeOisRsx9P5yBwDZ-z3v;SlF9-yPT>-|(IUa{xVAi^0^pMv%Hnm+gol3`aJQh?n5!{+&!3Px0JlSKSW0~1tN z|0v4@%^bORJ68GNRK6Ax1Xko?q@m&xj81Z>z_cHlZ+w)ekm(Uzl&DwI2Jg4G9=>3G z_Qh;@E_f<>>61V66@W_Y+A1;{A!Dug3Ndv^$UYu54xRsU%{IRbuMl*cSml~=T~NPM zImgkswhppTZTVYiRzs{+3XKx`OBA*s2nF(7C@N@2Ae6<7Cu@s6Cq<@S!*w~shg=*? zYPC{+Hp?ENnph&xsja41mkNpN75=J$U$(raAFTV@PaQ~3Fj%*AToAk#+c-Bfzj&R< zvg^upnUQF~5_2;oSq$OYa7x+Co>*aj8y}`5)VQWO1K!zDR{%8$sTMbL@nSw@7uW+_)a|Ru1cht@RyCd`dIB zoSCU;S-0)+J=>cfLn)zXtTUq?BTIXa>(85WX0vYp#7lWVnto=nfh+|2_CS(oY@q0y z6(^4-Wg}`&zf`>(W!vNd#(;0zV-<;C_O{~b!%XQrN_-mAuLZ)fOfXWgc zw!+&(3+_7MY;AE^Zu-2D^q@kgChfR_CxPL zQ+4YryjaH=oEO9U*gtQ!9BA9k&&sXh~P54xnjuY+9;H!SH3x3(PdG}-fIut^UvXqiNc8iReRxr zKV?hATC@D}EC$(_bFO7Sc0@g_yWf8Ip-$ku^DI@FpoP_&x_iL8X$2tc^-obDK~CZu z;i1|BVIa$%Qp`PZ@nqwsDS@1qNx)~zFu??w!4wJB&RuyoQ&T(lY(YWZuQ^_Lui~Xk zfo0ls+(~3D_cMuqXb#)SqG=CzAE-YKRNhavj(t23_bfs#5p(a9^tE;K43-iD+GBSj z-kCDm=txsgLfL1Ao%3@`a&7J!^)orH#oYvb)b#wo`a1@Y3rD}O!H#cYF9Q}6R`!6t zWkm1>K{bcM2Or(r7*|oeofasE=bkPuhMlwiLm@hcq0P`B;NY4Z9o@L3!gO33eyXRF73x(ZSL0E*1HoP zgAi3wXr0XDql#aShR-DwFtU%D6Q8QdlNS)crA{iqiDm;=Kc{6?O6?MGzufU~hhxpx zd!aN>GNB7XkAmSzea)kaFQrf&%U3ZUdD}ki8`iK{}_`$tS(>6-c~!#W^PWnzlh0UTbe2*uO4+< z-8=WZO-4u=K2hFDDBBc6K`*RJAUQR$b;)+F%Ot{SC1C175L*8}^EMlvan-#K=83?wN<7H<(3D zQ!szezucro+JFXTh$bgj0C3<(ceid;vlGQ28_QE(6=V$JIB8#NMuz{Srq|P>XZQK2 z^t<#`_neH$Uw7jLM7W)MqloN=I?D!oiVi6)0Kwk=~UjXta4|%Uu)}nW9qJw+dw1#@-r>#ccJ4n$wtiSII%am7KV>H>uhcd2>*jGN+9UYB z;e_r!*}(qSUbW9H81%n3u0U|%@dBnoh_wcWd$Aa_13f+f?M2y0O)1G{b2sC?TD+GJ zWBILx1D-h`jGw2>iB*BqACdzMZ%k0(7A=^V3Zp=<-Y9JS|VP`Z(T^!Sa-^$uY(@mUM+5>1R4cTmBriC3nJGxQvSqW>pA+F2Z)zO z8tw3iP9rSDE2hVn_YjmtQtDOf4_;WrtADv- zZ0|`^1aD|7|5lm$26DBUzc&0)98CHOW7n<#fSUXZEBs94szf1tqDuji&W`{({1|22 ze@mvxJFv3)WQf&Q{Kccp(t-;uynRTi^Ysjf32@M#lmRZfG}TTDM}f+ddWSt^HBr>##oou0v)FIThLHM1{UE=K5I2Va3#KrYcKcLa^`b zXdLaTU{a-tj~sO>fyc4V0yyw>wbRe6(_T1htN@kv2J zN2NJ3-wSuH07;7%wJItBvb)MEVkd}<_x35vaa;NPB8fNBp8RdMqx%@rN7I^DSA-Xd zzOJ%vp*N+RGpCT@do`YP=_kxWDLsOGeZQE0;rSWsNe}MsicQ(!?TCnTm011`7)Ab; zWzlzJYFcWhe#<5T4*ck*v7R?5__6n%1f^uw56Z_@8hC+jRD6sIH9^u`1Q%v$X|7z9 z4}(DpP}>h*NEE+g>?uK#P$@lsuJL9tb+tkAc%tz|ftkuC(JgwR{)MWjYT54|TK5Fy0L^PV*yXXdOmXJ)-0@--`v zf9}2SYhTxI^KiQ_J*fF;cZb-NdFMZlvqIF$h6%xOR;>+U{Q(!bsF0gre%sEgBHSP4 z``3hu(Zfq{70_v$hZ_Y8=tw!X8BjbGU?XiEzgVgGUwXUCQ=NBdr66e+nd`{QB5mLlyB zB}!@EgX+JF+MSRPiO$3m$MnN)>%RRJ2={g;-{1-t`sSi2pzHuym>*El|7&5%%u3@? z_Ef#2eNtAq3hz>C%boVXJScU49fLXcn>FnK3gRM0GuqBG|4{d{W!n*Xq~y`&hg*oR zw>yb1(xKUGns9CU{4&KdHo3B{s!}AtXs>FxK`LKJw16i~NI)=OZjh5x4#d^rRrdCZ zaO_(vU_GIrg6_IBiLI@{vVd31OQ)8W7V6Uzaz8CM{iGco<EUE+G)PShRWn)d(87!7M$? zd(8+3akMTso&+z;oXyv`D$sQRQL+Ux8%CJq?(Y_WhPXqAj@g~uBl|lKF!Z*%4JBE< zYk|fhDzfL)+~3==^&26|{q%w72!c7uyVjIj&6SW9evf!6aEDGq^H@h&^7X4p$irY0 zOy^J>Cx)Wy8RkwNj)swI&f4J1vKrG*U5C{cvGFD1WNnC7lOD0Q4o0=H`qlNS3jzTN zlUcTs7#JINceL!a&*0nf>_iXoxP$Z!B`B3njJjGnyIS)uE>No3t_g7z>2EhT8=pz@ z6lzFV#gqCG<`Vx~_WSa&|AWqhqi#ky^BS<|H9Rjmu5z-%GP=dc*?cQaF}zu(DC<|2 zo?*Ctc&aP>9B4~;pk{fyXHVQESoZw>=1A!^rAt2IAA82LMnw9Rh+zNz6(2@bCbKvl zOpVeCQtqDjnWWy&OHQeX07;N*3h=_3dzOMn=-!r-%B2n18h_ho7eXWA@C?`>_1QXT zfs`rwP|5>ohBQ&}bnxFEb)=O`k^_>bFEW10*h+pbV_Q+;aIPl72VbRAULTQDmG38H`p=J$Qlu8%KiBsKfp$IY&(Y8KkkQrao&InXN=4GxIQxZpK<(3> z{_zsNVwR9d2O60%Ud1w`jiz;vY}^S= z(FLr}P6rFN6^3)*cqEyjjpkr)ZK#afQ=aN3alL??^s3aS0ZZ<^KjGqz&L$`6n#__)gNF|Jx~7ml{c0`8Q2^a#y5WKdwhv6WzFv@leW zuAzBt0A#7u)kJMRdlv7+z(8qg4{BaE*EY7KYa5*S;rL~WQ1%&!5nPMtw_-yZCen<< zm_>7Vlg7r0sJ2g04*ZHdl^Utu$%>4F_meV#XM`DV_ejWgGP3)i*t)L)Tw#^e!SQv8 za6`Uo8a;KsXl#jCpV_A73ApEXtKHk9ScB(Q-V`ag2|7ry7GN(!$zo zal{kgY}p)>XOh)dap!o`MuVvWCxMM(h|DpWK4(#D{UtF5s&}EZ?_-%wOjTBS+Pn7g z-TQZ5b`-5-V~fFJ*rK%}%0=uei3<#soDho1_w(av$OnN+(x<@ZIhg_P3t#W@EKw~J z=q`V{$F6V$H*Ur=|K=isv?q2fmyf3jv6!GBl-##7aFKC&%l0(!XAEb&@8#{S1>gNx zb937ufx3s%Vdp2+WS~Ql=ey#?)JV!ddG-fH37i4>qeqMBB;Ls?fod_Kg4ibr`@g0z@Q*IiH6+NFQ5E$&jj>;ZQ3Cle1T3n7|D9clIqoEm%ON%=)%)e z$2@>GvGAb=ACd2?>cxLV&eU=2EG=_gTzhR)byeW(gMKSc&9Un1mT#IST(IXg8t!}I z<-S}N_o=gQbA7DvA6rZP^7a#2ip)SndMMwuZjhkAi=|P&@mYP;A?CVP6erJ*K2OZh zboh^2;xXdUTWX)Is$=r;)=Snk>M}>LYhU0_;TRoC|Fk8wpvIr^^dIEvgl#np-!{d=Nw-jq1Ro|bHp2*gwB2pDexrA$ z*l3$0Q`VW8;z~?(pMc2t?lCq?$daDdPOcxr)+|YtG0<#C4LDvvqFTA!3|bg>r`N_j zKVaHv8T{FMlkQn!c)RQ(V{L*4cDdXXCq}rc1hqDa_-oF9#0Q>%^|fZ{Po)bTCl{YM z6s~&x#Qb=@!DKT=V=NX0?d+b!ljI+4O1O8fE?3~#f>Xr0u>Pn{F}NR|s}ns~4_LoW zDrYkby015{wd(Iy=J(~IcRR^-{Up9as#N*=KAve_yi*kLj>g*Rw#vEo2PAPM}cnJ z`4e_LfX$(LM)A+7^3!U=$w7u3lvut&7<1P7WXvDRKuhJ)ki#${9zV0% z)uew!qTZ+LI*@5c7|W4#!~Y&5@vf4l;}2 z7eyKvfeym=$;zOx(5&@M**!1#R5mMJcK0}2DHrs#AKei!O!lJdM~4PVn-ZI{-W>&D z-Z6w?L?Z#bAEETRuL}A>{^EG2q8(Dz+kPy;<##GKouWkOa&ivB23PqGTxX03iH^Dh zTwO2!((5{vS=>WZSX3A-_jK@!y50l?67zYxtN-F`>SDoLEvt#HIXMphN;s&4g4Dl>#+EYAca)t+&vQ}+N?!s)D?G)S_${b~t=6x^<_)~a=Z z1xEFm551aA5`sWF{4lrQtD9`xG6>?oT{T<1sM~J+`hRDp$N$M0`TvFOA@s{F_*t1) zFPoE5B|#YI^`Wx8y2<#AKbfybg5_q}MtOr`hh+;qs7EXi_L?MZwn9~o;nVRU~# ztncyHW#teqZTSk>)sUJA#!MB?MX&nX5&lF0LE0>lG-g>UqY}xwi*X*1; z@xGaL%%TpVswcoNrPB7A%{toNNj*>a40KOalIC%Yvw0_uiPq=jmaT7!ex(rikH`u8 zhl3icuLXsr7-6D2vbSXu6c_;Mi#!=`*LBQPnT=n^zj&FcdY|uW@7cj*d>-`j0+tJM zRA~C6`RX>X@*j~%Cv2gk**ZT)!6Aib)9W`eH-&Y)*{nP#x)ut&aCIdZa2FMU_IvbO zLJwaE_}VHzY>E6ugRDaC6T%dfVQXPz_Bb;{^w5^Zi38 zXPf66EmQyu1s)hxQ=1g8@=MO(>ee|g@Yt={_+q-<|HY@Nu?D~bEk@|JYUa~BbjPdY z9GFUcsgiH8RtpIc|BAS`_Umroe}cCEo%gJJeV1Uhxl3nzt<^rgtzIYM*p!7zcF@@1 zpJ1u<@wm5TYHGs%>46$a^{-nhk97V!FH&Rl>iS?AM!_mybH*`ZVGWvo3aCg1+5YdPPi+7z*E3?Cbw%z9bax*cN54E1#^DS*souyeUt$BGg2-BweZu_Ax%;EYNs40e zTOx((Q>kng)%AX`LVq@%Zf*c~#TMP68|F(@EHSJ3F#3)<1StNV(Jm#QweUrR3^h}* z10vXKg$wvrRu8##RB#UGPb*-a7vPFBTweI>mU-+XdT2nqFe2INUPq9y%7pL?_`-;T z8y^XR;IVLNTBKW~Jqzumh7+1N~9f z<-rYmH4A!Ez$a0>d6+VJ%VJOyW%|dmaFXc{Z>#wq2mFn8uRCI@(fV%bB86v1UsMPB z2Aq%GujBku@ch`3;^>}f=JR9qMf*O(Q7UO^Erp9rjC;}7#XTk2`x`OZ-7|@&LwtD$ z{*Ti(ZFz{tl_q|CB%)9xY4G1PTGiI-{z;heex9qVT}6kDuBN1Iar1?b)Twr1c|$6& zjVkDx!pBoA17=A#T?LZKNnQ>!TbUo_{>r5YZ3z?KTOQ_PT-*4m$eq?(r#vVBVtJoX z73AI*vP}sG8`_0Xm54&!VDi3)n6;BU$=u?xrxYs|fb7Y4c~j<^gc~iwx+l)+=VDf{ z5IV>V6R|rudZ3+fZG^wnjy%#Ax3PytNSBKGtsB&Qzcs1j9X?^%fE7hHS6*C!5^-Xc zzX!_4zFWAYE?EdmV$?V_?!=;nM>jk^bXotD-$uQbJeF737m|#-$z3m^+Lc7UxkNlQ z+e0t81&E?d$^pz81&dp{uqYcdV53(KBHYo6-vOt9#(>fHzn9bEENG%f zsotwu3CXs27)J{u3PEwbTLr<=nYY2&usg6!LtKpC`oWZF5%_ z%$K-f#p?H@cIG2K8&m@s;l9sm#Zefpb)53Fq$2xy?(JJdr+W-L-51x{qmy zm|hAmDiRTZ0=)zq*#`WiVy_KY!%W}F7b^_OayO_M ze0fm#npT>XS$@79@Q>(Dg{x@*-hDMHd1Ii6Y!hu&3@CGv=bHN2bv6VFC|QKeHtrp+ zajZU#90RuA%H~T8-?$T*3^%*U3^p%5Xrs#a4XQ9NuctdqwOWM-RSa+}*qoKqip+KB z@h>FG_r)j#MGr|;1q0e=<#bE1#d6Zc3)pJy?nu2HQRq;9{^N{k)#ypRult%If!;4kZCdwVT91>NfKDjhb2g_b=(xP`v$6SP%#shGjQmS?5@|fa@V3HgmzQC87yoCDtx^p%sp>cG08`g({J0sTJ`Z(evwQ!ai^IiyZ|%{Y-NueRp%T@G{-mY=Dyl90FCQLw zo4aD_^k5jHlxnkGq*RKPQ21kJ98uZ}bP34Yfa(fzf0>Ll}A|38up`v0j zi{=s3q*%WYZv8^!$u;|)`&M&v9uZ1_`^m=m%QK$Q;bTZgMCk{T)_~fJe?&)h|Al)x#J?1EFIEKl3ogM47l3EesF!97s&=Wjc!nonAN`*k+YJ`c zK|yTF-v`1#4rKdgOILqZ9g`4lrUr zdNO-n^uVOHwZb|3s>zC@36M0)<(gox`sK4+LAk)Co2h@qNb1v`07NwIRS0VG0RSnQ zOI=iH{WJTQstLd75HSy$R4${3HSgG0EE!o?wO(MXneqCUUHe?q0r2@hA~Vf^&_z!Q z%KHhz4*Z|)ag*Be2RlSQz2hlQj}amKtb*0b5ArM$=!+|U<~(@u)t91zTM*1W%MLC7 zf`8+B_>YJ{yu1|(dv$y4B6wD!`bhE>%YYTrywCM~N9_Lm<--A25N{I+${=%sOa_1C z#VDX$)Y&`4y^(TzWG%O;K?0~?@ncRze$lBCQ0NhDf*awI(_(eM2mbQFz~{u0XO&Ij zUhrq1Fsfa7wi!FkHJ>9Hp-A!(f4BMR(Fx(nC+jRWuR{`=YyzY=pp$f#*hmdDzQ~hR zfGW=M!sv)Lbv#L~G5s$epU?P9;*T$XYQ#*hSQ8L^Eaqb&nlo4DGw9VxI|$YsJ^6+( zvFWf5`wnh^!_Rgv$i46QYxpeX$8w+XoIulEaYr}EedgsZ&NQn z1CTTJz!Gm2EH#_#aQ(q4SfBDbcMu@2e+m>HmY`P;CpNSnfk~|C&CNa^Ms*G>JsoiZ z4}w2XZokasboJSmCNgzUQus z^k7`ghy%s^1#=k!S<>E^tOk&*iuX|?J3j1kk(Z(wMzxFu#fgY=719d`zhh(crJz#8 z?Fo4w5N4#-NnOUQ&B6Kmfj5(fm%QCEb!*W18ef9V3SMX89QGTjIjYh$1Nn(94|uG; z0Pp+GEWk#>!N(|G_~a%#*m9jf78MhyAER0pYx?kztKB`Ysz|u;pMOM&mqyl) zxH0`*EWb`b5F|bRzHC3h!U z$*Yd0Pq)|C8B{|5>~FIY)|- zl*|`ALt`T>`}i2;8e0qtCm-R4rPCRz@ua^dGLB0%NL9V}UsOq%FteYL6JKF#B+Tpq>laBV z;1kNX_D%eoIrN#sqLYW|QSdHKuXhKRlFi*FW3OSSrVgFGkm#-vS&x zdc+s^D7PYgo-ue#zeOhsk>1FgT;*bno;LWTMYNct10|0rD$vJys)$9 zkNMasZ^l;#pTl==m313Io=q<;D~#dJyT=^ratKJN3oAj4Q9+pt^BgSZ@VJa-q|!1% z?`hcMj9(1)@6uYQyx`N1(PB~NgY5DN=D&Q8NHx*rnWEe?kK0wcTC&`MYx?5J$?^7Q z3G_*RwTe1DHXYrj=;p@t3C|{=_1lhV2?xPCyUN$|XOBOS9jg%~M%Q$rQq zBxn#I*RsqTqTNtvwW)+`QM0uQ1dk^QN39j4vE^2{=TD$UM5TSdaBLTOYK@`J*Jd1K)Nu{onic}dY76tSOM(^ zDcRSyv8w{)tt72YaGSMsB&}P%+5`*#8rZBchmGuj&fb-Xs{anf{KdCXnxpvQp(oS} zyJkgk&?L1tjSCk*$z!}J@ayj~eS5b7W0!OiQX*6g8j8Sk;5mNI|JI#04hrkl{sYT8 z_CDVYW9{B_pH?_D`$ec!3qY#?b9q9pXf;uSC1`PYJ>EnZ==SJ!sX+3|o$&i33eQYt z3m5o^sQC9l3TO9r7f)fRqFsNE#)+cnb1`OXGi-u#8^W+Dum?^ zF(}i`CMlV&%MDm3hj=pME}40%4+YIzt$ax(M zt){W@Amrfe9uCOs-?4!ym3&EjIOw4&AvH5|{-G(UV-ZJtL#>0!iNcW+2z-0l(`qPz zV6`e|zqT6V1n*l-$pEDca>cC}fsZ@mw72gQ+kME`I=8*n>zK`Z7~m_h5WyS4EfiK^D%KR+M_YY2-VL@}|6oHxjqmXQUDh1%U5OEH>a%-*$i|L}T$0Q=> z3xt+LYufA)W(FQ<%>Yz?5=&C)m;Oe(J8ZoHuc$!rI79ypO4XH%)0ei{0*&dWhqT%Ulph`Z8c80G7k-d(#;Ap$(e#Et`*x$x>ZVtx_UTTK4b+ z8;O+MEy3~x&gY;H;2?~UAzIm|yng#Z}FN;o+R-YOaB&q%pc&)gK5T*00xk|A^dOtW&~ z{!TP+WhDrtI_*4;2IWAC5@9uHMI>HQ`3Em8Y|EHsUKR zQ$B!0$VPpJ>9sOJMtL(m@VK+7zEw@Hs@KHO9Q?P}LMjDpJ!tliC_;j?3w_*L<;>8a zY7k>#xJJM>LAZQ9@?p3)-~KV3-M(tX>A#~^EX|H z#4VMY=Txw^wv*5a&Wu&$oe*5E^PQb<5t>*)Iqn(eV5rPxMKDGib2qEAw$(L^E`N*| za*{dPu+ZLL%5|a?>US?xt3{s9(kN#`n+5AxC#P89N=Wi8nq;fH`)ZnxtV=ae$i<#k zQ$LIOT+@>t>Y;5mUetSaUKf3YQ<03TQdz%_3y$>#i13)3@-U4GmjXpjVMIGy@>%pj z-C`qRLt(kVRnUvp`B`wr+G@Ccke28??jYyNq@#Ie4eB4oS^q4qkjE&qD(mOY((1GA zcG;AVg$#4hPEDn0g3FM58q}mfy8sTvU+bM7bG4ssf%BY;)ziLl4qB*My(_+kGsy>i z$3~(o5q)D!P!5^{ggkLei;QJw=~erPi+z-CztYmM$Ad@QTVyYX-bN~7OE!W|9)Ssz zpxF*f&k`%8tM@72wIu$?+ctcPf2qk%HD_5BIm5_llqbD7VNJ*i5f1c#jgL#`llIqSWruj^k=XMQkK<>Hi* zNmY^RyAliU5W`%ruM~VOaFHFUXnHtlhmxgKzLv*pe&iOAF>QJ%_+(!27KOF@mSE5J zJ_mF)u})%w8Sl!%AoDKgxeCZPpvqDzS6uapjoc;3^S-|Z(E;|@V_73uzWfA}>;sZM>A9#?5;Awx zvhj{?>lr+87YaT;z53jiF$peLWs1UpifamF&!fhdh|Fk}aHXGW>lwxG9q*q9DZb$2NQk@eI z8FqwVo`?kL=%chB4KXHP8nw2^-}-`<`miCfXH5|*gVRDANBD~9 zYyJ|GND`#fI;rbWpLR(L_vXuf<}Cs3*Bu*HqW8eHvaviean8wHznB`XBmEYQma||-i?bR zUVP@)#nw$BPJ#eIaj{~bX6a{EEh)w(&%EyJnqwCD)_G?22Jkq}PWjwtR)a6^Gf^BW+C8Q)o};l!m@W;zxi(Ho98R0$_%gYa@Cn># zf>Ei96JN;Qepa(=QMOf6rtg-p&9*yWB=@wpukM3@P+4s^ddxiV00B&^k*IS+EKL znx;dm6z!$X#Ivz9BPWG|xb`CR_RUD@!ix6=%kHk^dtIDHy;A+dxpw6k zyPFr{PI*02n-oe~1twk3iIONd|Nfy141g|ggd0mTpLzamf;s%2-PVo z8d`Wa@sUkrt}LCPXKOPMe;cc8j4>RHbSdPWDVqv5tiXEfw|C{yYi<=f#cf925xVdv zdA^@Gy=7jqV!HDG35oL zoI*cA*mKc-1Yq`u2VECE%Eua-jsCW<)MOj+)1{R~nv1t*a#JWhHK}_^SOr&u^8`Lg zyU8bw+`mlGw?u>Dxf)aS zFeocefY~r{*yN35WarQGlfI>3E^IzZ`+>`fQ#b*MTEo-jivxUHVzLYHS{n|3-rma1 z=>&CDL!GdKZ%-PcO9K(Ha#F6`BkaZBL}o84e~!|s zF>+DThVE(xXolz~SiQWR7|MBA)xsiNveEmd?h&`Pf0|B-$*Z>EgVwn>^%Gp15sMnX zUmkD}4As*(c^?+BN3KSBOsfUYDV6M-|MpT}e_agyFiy=HEq$O`MKJ5Ot;QVru&E6& z&*5WS9+>atn0=ZySN>rm`DWbEFPVgtxQs)7HR>OcW*~IR`IQ(fY;Ydmfp;p!!Zl)s z^n>YtiC98lw!PKMEx%pbg)K&j(YVT36{8CDt_Kq;o;^h#Tt&@dK6++R@EYr=-#K)U zqjG8TYM+u^{M(LazB+zC_I`|@alMj1c~La?C+I)!Dr089Dm(A;efr6*NkG6u6=AKL zc~zpS3$9MtHE8!I_h11G9ZqF^S=p?uaVmRXTKN1Pa9rbJ@r}IIHQ=qrSsAI2GwB)&oq9t zHMEBF!je!8H2HC6v`#clku={2ss7%x-*rafc+u=B=t=Fl4qa46#X;Uc((-m8cThq2 zw{(+|gi%clazFp<#T4F?PG!M zB3cHK0{GTqk}dw!6;RRHl4ou*&Cio=`+Qf1;E^`k?5$0lD$eW#VDFR6`2G%Ukh9Mt8 zaooqcZO2<-^taR-p$Q6XhimZPVUiV=hGQyOoDFagwe}^D!~zxR&AJ+SW(|G z9_J%pX{ZKr`z~ihl|aboJ;!0v*7NWFRtgxE%eV~;?@*jXPzsHzL3y3XABbO+>Z7;> z5F;xUm`=zw5HGm;%J;DOaE#D$BZBZ|0Vhj;6r#Eb575Shru8fcA|WEyH{XafTl|Zh z2`T3L@2xXS#~{fP{Rq?UIfw-NuqTunTU1IY$@R4>*q{N)s}FM`=lmk} z_Wy|98wfHJkbgzOAj_d3H)+D9Lk)=0A8ZaRuc%tY!mT3p<{t6hY!V2$63Fn6ydDc4 zq>Q%UN}r-wyvQ$K5jEWzIb8?<8C_NcvqZW)R1uli;QL?ch>Wv`BNZZc4vXj7e*!N; z%@R~si_Qtog-vhh5wfUvl@hsUwvwH8P>;<}Mc>qROG0?2*ksn;a@rAC(4>k9AFCf{ z!Jc!Zy7ys|+?T1C?||gGkDUiLU6x~+joc@nK&?mKBP>;gxEaKV zva+VOA_?>`O6M*y?D|)L%qNfCU#@MES<%xXUmK%k50Yf)H7J}TBvcD#TMVt3>Laa; zITAY*>HZ+9YF#t}Bv3B2OCn1VYHdmbe2zcg#aj-0pHWUkju6HfSPOZcIf-^k%>jQH zySyYz5(E}6c6|ITDw*p1wu9T2!G`R6k~KBDXD}qbsS#F85~k}YheTd6Qc%SI5`ombAwhV z3F*&^51J2ozv`^WjbmRBF5uRi5_bwgemT808jbEg5`tGy$}PWhyHoDzy3N6_{#x(a zJLxx(6H^bQ`oB~C3`GJUbAZdR!md2OdNyg$)WK!<^cd#+ypAUHXP{NWdVy1a+;@wv z0${01m9pa`W9}WaIkY2r4QL-=UmzK!A4^z!LI{_w_9>u?z}Ij*>$PGNbJ?L$xr5eW z_~+Y(UQ&`W6p3Fb;;TJ3v>z;+XxK@1R!unYHW`6{yqifZiVxl6xypX%GNxBgX$;?P z;L2Ug;*CQ}(?kkY_3BCAVIQo1AL^b5xbf$@!DgUNXk6y6YO7HNuKKe_CC(o@J7yiTol8C_bG1Kn&|_-2 z)jM)t>(!`nj&H&jWgP-4v=6NJ0+2WFFW2kfmGV4$S7k|G8tdYUTN+)RVbr`wrJt2w zJY6gpKJ8gpB3Z_<+6Pj{;2+{dTBbobWrxDZPX?=mzsW?|7JtKkx8V$l_5cGkW~IeM9h;Y_dmZMSLhT!KgD2 z)7fjzi%zTED||2oH9hH1dy?mn&GK^GkuJe+=M0wnE?3mVO#zIh9IOfma0LQA{pBv^ zi$6UW;eM{t3X|-4&%l?FT#<($n6SasR_L3;s48qe0b#BAs>pH1{bVZ}Nf~b_sY>X( zsyIJ*Q1K^0PF!yY%Cv$~*Bs*fdstaVo%d|8DLSRMjc{NjGhpZwR~{jNJ|V_Bvx(jV ze(7?tXDVc>Ne`(7z7RB)s_P|tBnNS@6pES+8@i~H9b`?q3J>vW8*>Fz-atic&PokT zYNlQN7e5-QGYuZ~vQkK8S`*+h(bYGpV!_6>R+Ma6e^#4ZUMT!F^=yJ?-z=~g-}Ou? zna(i6W}%M4Eb8Zd73f?8lk06F0hI(EvZf~}dP%O8Dd7pV9L=P7iEn#1PNEKE354x- z*9~=7SWYO!BgG=cfmZ!sAq$y_#QDWzn$kS$#&>Mdy~54SgRc#^oklI_g?>H<=OHi( ziG<-Ji_85Gl!&(;;zaKm?b3dZm&I`9{m07EJQV4k$F5xIzuXA6L)-tWEWZ3_Oice+ zT@=Br{uAcv#D@Jxq!Di(;NWAN;@keTN7h`{GmievB=3D@f$0fBu{*DSld??3r@x4Jk*Y{~hla3z?3CebI3~A>c~Nu|My6 zem%j^pSzEQMdO}vMB$WCjCDAEky^ROrM(pk13_+}uqL`1qrIpWd3!Hnw!!TWWs&tP z;kGi=NV0=>7>S{TbU^S!k&7ynNlLWiuj4;w&tM{AMG|x4!f&fjJ{3XLpY~^weeVhW zD;AE^AdNy{gbO+5xY3)FTSGMxnGsWqo|fN$?e|C1J_bg}8Vy{+nf{zm0T|9)%>Z*y za7jx&`cQXSBTNn?q?#z%WAisY{n1!UqG$Ro?_lJs3>?z$eCD`C)kq^CR734}#`;AU zHtyTLWY{A)Ay0y7hh~-!$nd^Ntz}+3|3D&pRXbW>9wccTZUk6?RWtc@TzI_k{?vDZ$?fQCKs{^yO>yCDTb*VAgY5g)??|j!X1iFhFts8L zf;XuTIhTlRzdK{sIjXo)HqJWvACdoGTn2JEGmMgf(B)7B-Mvf{C-j?n#{FRNBh5ZM zUq_Mo)HtnniOEetrlOxCxMn56GJWu_*q4-|J5D+8e+M^|dNx-*e;e0w6nZk+o6W^Nm} zdU#&JvM1*+%p4kC>0(sK@xr8tHYC$bQECyWKOy4N_n_Aj)3KJ(6is1pzVhT(u+WBj zuvYmVLl^ZA1S&&0eH&8?adShyX)chUhuYPX1wfbtNR*G3;^9CrEZir=Zh)N&hTcx{ zn{PaL*Q|G(TN1UgQX9P7X{Q&z`QfI=L!HhylxaV3GL}Uh9aI#nU)GJZ#67bKk{noW z+Tw|jCb@4>kRNI@0hmB90Iy_kmai9wx&G=~5|(+2b!*95Udm^{=7Oc!wzkR(6h5-_ z8FeYliTd8E8mSoB+T#U=ZA{Tu(8>e?@d{yP{75K@SPE$j=d5|0B(0H1` z_YdA9tVY%jLnC2F5QW~5lUBf@rf*pO;-qB=gWXiHO>yT=PaT=H7T+fZgNBZl=jHh! zWon`G+H{q$vy$-s>1F~)MHa5!{VdqH)M9B@CM=P#OoY}FYz?PDf-|&fo%4K<62GG# zdDyoCRfqqUKZAPZSR^f+@jQ-2htc79F~*UEt$Jpc>g^fIEzQstODl4KR?*d)`_EM! z`5DH^Iq!PUvN}P$ncedPATIP5%ps+h2n6lD;^yY0(rjbCTZRU-{e^u^-5odj*N~gw zWBX|jjU%T^LKW;A`WE~a!=ArEO}yJyu^=u)>FJxKiqs5Yo+j55o)gKV++(~uxbyiw zhqok^X>65(Q+0@_Hp9ODzW3f&ne4Ti6a6ZLkYw8zOgAdKF z(bK^!D9R8>j^;0@h(>KK^YkqMfT!Ga&R<-kiS6g3V?k-+yj?k2beQ>^Jf|sE%2a3# z;)N+mUg4lMTQ<+-Nz1a+sv>X87J)yHTHA_x7qZN7Ua>RVmcBjr#~(+?mlJOWvF5Rd zdtblCMqk4NW1@VP?+43@zk^%-Xl}l?{F%bzz$I*>HUZB92}&69WhH)~dbn;KS=+tN zg3SRvsajt&trhP+Y@t2r4-6)8{nXWz^(knFWyaq9O+qHHg+iNdORLoCCU1WW=$Jl@ zbb#e;aof?VFE$IfeW1U$Nj!pFiEb8OjqVbie=@iJgWw?#kxW*fEoq)9PpgStPJ2og z+}*Mo#Nl(rY$>({A{d3;ab12VOhOQS>p<8xV%z%@kjJ?Gz#mUX08bIj5BKRhyW%C5 z&9$Mw7PXRWo|}%5bI7BWNOU?p7E$jgp#3d8Rdq5mIATgQf=oH_{+?uzV8)iMDeigIfp0G|{7ZdqzT2xNRyA}>v zK<**43d>4Vc(FR-#Da1sD+gRk+~ZDtmr*@J1tBST3%po950)|K{dcOn{zgJ z+T;v(BjNa5_4r+T><|+tGs7ySoORg}K=QKd(fkqL{5@tj{k<7(tBk~ZiWVc6|5XQM zM*RK4{KZxgh_4%>26;zVtIIz#+F~7-pnJRW_s~Df))z(IYm@KeA4AclKdV61fWB$1 zH~X|1tcVu_64h@-K7VvHQjQ{9I7NO#Z_Ou!VO|UrT1R&XeI1gcPrdoRVU9k>8PU4^ z-HsLtXDb*^P5PO7?}8)C^cFH$C-?~l?mDv@+1te_GfQ)SYo@zl=lYFjVe-`B(xa=i z_(4R6R5jKJYjR*_d7KioRnzU%4FmK1h6^s55JyOpcCsRZCnqt$e?)nI1ISA>#|SNR z%-^mJoFQc=EM5W(5i6cOvg^pT?QDiUQ1J-=xj_G{Pl)0{$ww;Ex94LZ1{ax~!*yVp zsrLHa9L-s=s3XXEdDh*_1*?_cYCQ5@!VT*0ydp3U1(07eqJ|jOi^994F*y++Im2&Q zSA*F<)j_dGy-hy~9rHa>8;77|4Qg99|2gqwG4Bu7#p1uBLyJ(K#S=Q!6x*9z7sP6S zW!Ws^564LOJo4>$i*2QM)n0vC%%&0>!y#7UySvH>o&NB75sg^14VvnE{0e18Uj_W4 z`}c(Fg>o&MJ`I!Ha?#$0lk4{- zlDyrM&107;d(QR40j&_niSDrC&46E(hO*}3TF#>zQq5%Dg_^WrHqv@esddy`D%Nl4 z!)RTR?rCmQL*A7Z1FjF>slWcYu4sGf|U)~N-IpOaDw5;LyJNt zD}z}uK^mBfsB_-DOKpO;1&o*v^jfkO{A-*e>2BW!pjs7h$lcP~B#JQ9`)z@E*{Hat zz#2?RfPne3@IzP04(=R?ig9PN$w+o-(32LJ44vNMZf5*+cJC!;_|ApG?PG~awt;mK z>VYoy`Ew)9@+=5`@sW-=nQ4h*9)VT|eC!v^#F{D%foQJR^;0wLUfo%Ff(gt0X1+V| zeMlY}=I>3P;>`ZCugQkTN2HBH`0bL+!;e(I+q@0!<|ju-UWJifnOCCzvhi(q93u&X zyq(Y+>7q|!%UI>OS{UC+}oLeEpuS56@ zTAHA9BEFxwIeE|H$A66VNb8Dwb~6o)N2UgOTQa~wpSpyw^$^7htm~VuS(;99crXacHlYTNxplzC(`+SRg1-}#ToKj!1S|S?6A+{ zlshtK!(X%W{2VRmeh0tC`b)tHbE%})gx%qTWsV4cGsm*hN!yE}4*S;-es-^h+N1ra z&((BXva8Xn14z2#9H%OUuG9>xT3K?Dnm#%c zbuR<(xbf>|+iLU>QNJdtEA3EOd-VeKA6)FW{kGz1phJ4tijXR^lGSoBbZKF!H(9PJ z>nvsY#|Vc!7@^pNo{Sf38e>!RH8=Ou$%(h+vZ$11H%J$Ku72H*8P?CD`>)FsW7d+( zDot5NZ|J>gpY~3rzDq^Tb)NcRJIk3-lh32g0ZMc&Onbw%?49O4)_0E1#~48bl9b7w zQuxPu15*bbp# z!~-NLl@`u2aDb7F!^9_c`We5Gi!gq7=DddGyHDQ3U%6sjiVm())Y9V*=1FTAd9S&4@HDNPa;J@ zx4Wxeo#Uf|{twRH`>V+=-uA_gQdN3Ys!EftR1xW71f+(5N-rUFLPwO|1OyZmq<4@S zdW2A=w*(Se=tUr*1_-?8dH1;co^kIOckg}f5BvjRt@V7%oS*3xELA_2=OY~F#gNEK zjzXyMMOR-oB)K+gQ7l8VV&$AOrRpIx4uP2?lz92BA-BN&wr);Np%cp$mHc8u; z-KB<8kSAl7K;gV^Ncnjr5Q<3-S_;ZH1!5I<*HXu9oYWeUh?$E|=A^}wdGD*#T%~Z8 zRP8`s^`hf~w?U{nu!9j%R*2d&=um$C^yVGZWf!WC%+qQp&Vi3NsR9Xp*M+`YS^rGM zSn_+FSO#lMHEJOSPN&b0{CrRSDpuy{1GEV%ZDC8g%pFF|r(EC49Q|x2>zbOc?m=_D zYjS&zJ)RYg;>q@vSz;d=0SOXSJJFd^q{PLzU{JKZu$Qj(;vVJN>*_~ZypO3b-Q(bL z1)-ZC2HOtb-nh6&l=)UNKeawW3PMxiaA(c_=(u;^RMjuucn`~6E==ar`4y{#zQ--p z6ehA$5dCziQFAuMF7mM!#S`l05NEF3dtAPkW9BdywSeIWs_KI|-9OhX%89lP``5Gf z|MQO%_@Hn{ry(iHzIJ7*#g6qd+!AxB{8yuO9niNWza_#iMLw~@Nl%cKNt<^;L}^5v zw9dKe>q*<%MqT$ajankZ@88uwqwsBSZ>4;}qrxE#?bL2vWR4LjF($I+h!hxmEM_IQnm=@ZME^EjrDcq^>k?DP8UVEE_OE2 zIyH>7V=nO~_q}LX5`w003B48deNtMRu?O41oNmnPgc{?T$ietHMpDF2Qu=TY+Cpg3 zD>d0-viuP46~oCh(Vy3;^T_NUw)f4U!MW{XY2QPro3GprdBx6_W=SQ*5=84@0R)VXjT<(#G>6r0 z@V4-`6qV1ueQCCR_ll5<@P#S$R~L5r$z(|RiRr(v2A*Vhr=kCFG9`;{Ww8i*MS79U z9VOI!7tX~{=)?hrGD)y>#?$WodWn%&>Q4tkKFi7|ptL4kY8CZ|^{c*>?>evQL<(3G z^E|eBcW}?p>=49Era%XAk#w|);Uy@2!tCG#eIH=^+`4I^8OQUY5jrBOCl#Ce2G5o#`E-Kc~`9TJo$d=<-I+qlK%riYh=?tYd(F= ziF=+4bW(5XhUWDJ+1qAm0EppsX~1ieTg9xolPfUeto!IcP4erW-4%>J(upgDQWH^E zovW?xRp~#aOX?YJ@xsqj0pLLXuqIO{W()R)@iJ*3)ZvQ`Txr~np-XA>$URF)EA~X; z!^qwAE>a=hA9NKE#epIYj?=-MVg?O0A9hTn$`X73tk81uY61ss&bY1opQ|+ z6lRtdnMYWtY8zjPvA|f52(OAfD*mRBF!xw|Sv_c+^#*%`b5V}~k}eH67s#UtWWk*@ zN%x@OWaI+wB5~XSNgwdgjW84_*jcdODfivg{2vP2X_+XRCWrmr9V5-%+$PgoHZ7>T z9mKVJ4~9yTCgs@CHAp1TEBItSvTjpnEe}%PD#)60D+g4)E;G zK%*88gDV5xgA)BA_rc7Q zBMKDe**m=x&9(FQ+bi!HxRd6a!uGtZOY>634Gd!(9v0&^MSg*<6EWH{PE(o8n`mi= zJ#dQgZjRQB`@<`P{$_Y`625S2hhjDD^?BBzlU7)3J@V&f+K8j~sZzd!okF*+#H#Is z7;$)t`3)oek#7u)3VV{dc*~F`=x!&BhU8-i#8+CdZyS2{uOCeBm@VFX5m`=oeJXUY zF;qJ{d!|tI$)7P0CSz^T=_2*eXkG2ZY6C`2JvxW&H=;?(N8tp-hu~ia&B`QAX+RmH z^I+_Bkus;D!Q{}SGT(smTdLHp*rGP8l}3J#p5y?1;v_NwRx4B#G%;?vp=WB|=Nq^8 zvXWOalx3N7DY@_IVqJhdLH0Ef8CTJwjEB7M?@TnqNzeWZTim?U1!D>PY9CgKaCgw?oOHtLy;8qc)){^((sfG_@$riDTG}HI*TrAK`G!K;0>&ZQwvx zyTFv39viUJ3c+mcuN$_0&r8ca0bgAEhvKeaI~N~eCg>VbHatMhqhw>N2r_MnvvBa% zgCz1%xwe73_tnDQx&3I5V)x@fuf`EWySsqdH5l z-G!M~bUVX9E?7KpW1T=({^Q1$@u&NX2pKd~hw6k<$NuMyoubS4oTEF>3Q$|Bj5q}X z8ouFE$GX|0RuN9@#IP`(Uf>CURfkW>UX#2GXX&FDmQ~<5mG;^AvveZ9#roi|aTGqh z~FdoZtne;yjYqAtNv(J6k{KSA4I_G-NtQ z6aifNg0Pv$_F09u1?Q-H3&mHbh{o+1%GXIZEGH_+8ikudJY#iEiV{n@V^~|TK$3iF zihy01-i*{Gm2eHcx;@YzC!Ge}3IF-Sb9PL9r~7`pYCaOQcQzE!$<1E2Moi7G)K~&g zbUCI6v(K^pXYRA_p-Niaye9upjIEwe^$p1^IpRT%SfB19>8DaOAbp};REzkc|Mk|? zC8H6~bz8~Wao)1`%C)~sxki3h$Q(fOJb}LSI!S%M`}Dxi=6n4SvMFiNzq#k(wOa9P zU;fV_uOHaQ2kfG6Vz{Z5UwoF1=! zwT`F#Arxd3Q8ldjW?U%$KQTP!LsdkhemxQxmfORLC1u(}4_coSb3pJp64>h+jL$5_ub>IZa?4rI6xipXEfBX z>bF3Bi$5V(m4FN-KP=s7lN^_Zsv7;06)QwB?tYU$udw&He)i^d2`@zyhq#S<<2CmH zvt94DbIX%c$X~GgDs;E<@FcLipqzN6JzWY(y-QZ~Dt9t&ql2S$bgi_)huHJL(-nPl zfS<_Yfo?vCqCPl0S(Wr*VfT7~c|w<5;8F9UkkBqdIB>k70dV^!!e#*>pDA@BTJ3e?V;MHm-MK*)h7y z`rdM2zD0cD%D(Ye^0NsAqbI-hCt%aMir>jedmhXsxoX^tUixzvDSgjRgG2Y z>lc)8Ds9q-MH*Y2v1wlYuQA(+I}g0TfszBB_P>o98#LmjPlko%Z~XJKT^EYOF+moZtf?QfDcw6yCOhE4fm~3-^4ewO1oWUda}RwqCodFL^GhKKT%!H6 z^zza6qgYzkKe|uqPJ(2}T}Qr6!AYP!yO>c(tunQX)WKNA;Wp^iNV%A_&<|y{2&_cG zJS=_Zezf|{#!qjH1ij(Fu_fyfTDB}%0-SOjWSU@MQsuXtzKLR;Hg=p3*6+Kq%cfiH z=R;Nu-B`UvbD^SxUP!#%=|2=-v5p(SxTSJrZ&PTz3;^(j95%RU~( zjg|}7=Wcpm=|(5NbtdQGe<}MIZ=D3EpP>Sgm76`^^wj(UvTEidk$6Ky!p}_hA8b#o zG7ZmY$o#igOaP&nb?9@>5T1wThrIXhaAr(_+bjyd>RHq*icKReM!ht~{vMW7b;{Ms zb;>bLrlu$ipb-*L)bBNt_!1m$D{0q2v8vE}A5xZ(;Y}K!6s~1&$#4l&5v6B$iUX~r zu*R7pRwh>UHhOFAchd$2bZGvl&v2|3<^ztEtkv)|$?6NlKNJGKvyAfrtR(+DvL=yn zJG^p{9eSNbYOB9?Kh=G&)@bYxr8w#Vw&3v)?M>Zwi77^H?r>SZ{E9la?9C>h$i=ap za%jex!mCQRqfkS>DE=sxpUKX4uKKLw6d%(|<@4u(Os1Ip=^h}yB0p$Y7F$Z8V2Sq+ zmItSy&_T|}g4>8l9{%^!R{}l_{M5v~<|?}cXw;C^yYXJgYYv;)olil*JqX&u|gBSU~(7hR?KS42KPLqr%Tawj+04B@+KJ3h9} zqjl}8Nk{4fliZ!n%LgTb3yR3NRl+vlYp4(vt_`$%**L+)>D)STB!C5pdI_K}@5iRt zh<8xZy8q;rrknK+LS_MldAn1|9$6ot=xA%ijv9NFQcAVzFQRe!b(0HGztYe;k5G?$ z4DaMT;cT>Q%m!x zbQf{|>vf6;mukLzy`8usqXLY%&|7M4M74tpu6id$*6E<(E9#?P*q_}CPc`^4z2-ao znt`*_fD~Cs_?og|#@qu1Js*LVF+UrD!JxIxKbUCV@5~uDM-O>@QE-ZS@%E$CC#At9 zc^}3R+F6seuRwIMg*Bf+>AHaJ~PT`e=<{11g@mi@xT zUw7~ChjaHxcL{4cMD)jn1_c8TGgz3XZ|-GL5dTr{Muvqfn4W=H@&{#cs>H98&yn$LaM1{{oyyjH>Je(BC{AU>9%jxyCdT2FYwGl=?%%w`j!o&Yx)9)!`FC=0IHt>u{0vUAVq{1Btq z|FVMf_D8zffrMQ39)f1@2~-D$N*R^4BIXD7aQx&<=g!@WL1_@ho0<8Yo>v0uHL2Ufmhqq zB)87vu0$`ls8m2mSr!v@F-OL26Qb5lKXRW%TYC$4Ui!@{7@e)g*@CPbiNARFKSU$_ zf8mpE=n~d?Zs3Pwgj-aYVhXl=QYH9~sy4%y`opcgJik!d#HL>J6My9HUKr~Fw_035 zej@9YYyEb#Z8P=7HKYe!Rv)Ld-Ban4A8>xsj-_2WXb51&gD6Q>Jw#F^%I~||^yaC=G!S2c z_F=Y9#?5Md2>MkEWfz#1fwf)y)qM>&(NMvm~D$?1_v8mAeAK}3C!K5ZS0Q5 z>6u~pI4+EFs+QRt*?jY|j^>P2pBngQlDcxUL|=364u{dJEaJ`WmYd39Fewosqgq)> z3o{7hJljRsHdRUk9;=`8Ju>&i+St5ksUpx!Ib@DyL_wD}rmQm3D`GOh*cYEc^@GbK z2dsCcJJY#jRQdZ~Tcf>+o(}Ge)f1a>U_ziMy7LG125Re37<02y^qq06mK?4XxFpX> z_ZivPgIGbQ`}+Yc%gc>V=Z5+Z$x;C6EcD5ikjNweK|EEI=Uwx9Uq-q4w9uzksY z$qC#m79fakFwmQPi}sSKkKeF-oyni*#+woPCzd~;%!Xpf*nuxgSg$c;NOH?!xR@+X z2(0Xe+`!k;ZBOLNK%_b04lok5wYKhz17sFrMMZVZ3J$rK{AtO%O8_-WI1pg+> z-NS2*JAWGY=cD|zQss=(iQ%62b}Y{h58cY_`}65hxC=oPitsy zqhApwlV1K$x%lP0Nzrm>fZn?T2Q!Y- zl*vyR^!UqtjYro^cCOxP=H$5YwK^he?$Sq^f{Hmza2QT1>5Ey+0ogZL`S*$v2U&%i z*6Uq~>d%eS`rNyDsR&~q;}I?U{;YJFx`t27Yd>&J)K=dQl~~Vnr7P(+0b48Ejflh9 z=ZfwydhE=m_gJ!%ujsIJqE!lg_}+Mg5%vuu*0((PDp{W7wpgl6Ps&--n>Yx*iN%DubArDjjl> zCFT7&#*1kVG7u$9y;9>U$;HeIXa@#g9V0ABu&#ALOt)^AUwQ7lyQjS-tK9RTOo1Ig zD6cspY+zY6=5jDyx0RPtaqsTTOmlhDNjGP~!#_K4MCfqn<2?CpZce77ZXpn@y|>xR zJ$tNeT41?^Hs)9ediB;Qd0at@HI?yR51aU#*FCA%yDJ?QGL)zPp-^jrQE!%4)K?Wv zbLuPVUo((Uu~&U^cHcHeEF}W|C;-*6a}p5rkXj-ynxXpFTUJ$CMU{mFD^SLq-^n@P z`;E$L1b__xM!ofr6JAX!+jE+o{)J%I*=Q4el?q{Hj>b%nU$PrChV|#Zo#_pWtfgHB)l!lVKGZRt zEA2?ctgBL*pRf~AxPd{4Hib>__NNOu7w;{p;X?C@__bCW|DlKrruLitWOHc&;rML+y2)h#@h)t?gc6Wixvw5v7CAz;?=s_<8NNWYINaq;$C6t zZou6kTzjij>$Ndon$odjt9;g4RjMbdQcPvl8^#+T%4oRr196VLJL{=cQ?nbTJjggd+A++VJ)J*9terc%?**8nGne##ysL=@Z?pBk@O}}H zCsQ!hxdnV%O?2~o1$k3{v$Bj35#3w6?DlM#UoJRDq{1e>9vlWf-_k{VvukQH{KCqb zY5W`Zbg1iA$X-dK^FgKz$zVbG8tJ-N9XvZCE`O}-P*Wsj$4vhJ4%iC$-vL|i6pSj2 zpPnKh?h$LMbc$z!I8z_Vt^o#;Qe6#9g+GAWT{xAw>*Su(Gl)rfvyx$5XuJJIgUrc@0v!eo$71EVev18 z*b@{uiM(rrn~G10J+q>ttbPvX0O=NdQ zJ#$l!0BPnh5DVhfDTWJa5zf(3`Ta^s<&5EV7oXGWiBf~&vCuCsQ2s~})^`mH2R*!M z^3C(7hll%D#-x?wj(z4Hjgt*-gnQCRc6np^iU!N3^M}9rO6+x;WO|3(P?o$JC*cu$ zSOgKu(R>5!IMWw&`=HcdZtv-PPCGoNrSX@oE;vb61AAm3IMJ?`h zY(6!j2uy~jbKe0nXoK0;a58ungn8cg7l~NkwFTtn1i!EcD zn_ygVg#dK_<*J4=0IB0!@Sk||no7;u&*r%2htV0TDfP#BShi|l@x~Drdeq2qH?Rp_ zj=g(x#^yn+LS*|?G&}3tflDlNN~AAHdTW0il4?EOyU|S+3s|`2x3v^!K5-5ZYqxKu zS~Z-w6)HZK5Q@#ofHsGYng&B?cRS~qMad3}+wu^MrwFe;_zAV3?mIWe+U1(&-V5`7 zfumI8&naHl5_FLw785~FAdVIa=zv!j%p<%PGodEZf&6MX)A^HxRY|3-k36zpZ}+6} zP*|B?8VbNhTM~jfF96Hl2a>aopGKGFL1Kj|@Uz^od;Q@Q`~Jxw#Xm08m;t7uQ(r0|mt#xQEubsEg=A{pjLXTdh>_`#!0rz&>|U zR92k#$qoD0PnsV2fltRlBR)RJLkxMkbs?B#7Eags*-0j~9x=>epu%6iSEH(+-$~SB z53_NWkf$!a3<%6C`hRCJcvfDWho^Ni$>`>79@od&S>-q!{XGrvo$8kaDeOwr>Z>O| z!dI^&<>H0<*9#6Ug#xk;&PBJ2nhJ524Ts8KhyJ#Cf5sFlL?jKIWWKMQ|FYhuLT)1@(~@DQ5oWWhdKxAAu|ol3-Fe_PAfF-czY z`Paf1fz|T=3C(Npdk}O4nASiWaq@h~a@_eVVw>nJnEbSr;F6KO(WI1BM5$aWSeJRY z++rVH-P|LB>ZmYP5#ez33wfSIch|}_74aD)Qfr*3!P5+WWv=ny20u%#(Axuf6D~M! zxvH8Hf?0X~6g%mBefDg-}%9y;poM z_O|6qIBL-b(~-phw*%MJ#FK;bxufnhnYcFkWRE8Y|QGr4$xoTv?cdc7S4^8v@ajgP# zn}4>MU^UOHGQ8Uor;}uj@A3rTeY-Jfd3@xo;r`Ptn`ZSyQclb8^#)SRVsj;J5B`J< zDjWRS!=03Fp8l!avA98I6o|KSF?`Z3@$;w@SU=9kuT+go#d&lp@%YO#hHiHByl(y8 zFb*hj(C>O zKd+>;$1nMMv7@R^+8sxT$jCAUyCvlaxwI%zGOz51)dWo)^!WYppUv?vYU4zCGv#f- zc~KCE_h)+1k*_D>-e?R^TdZAJeokq8+GGX@cU+L{0a;dE(x7NA35>Lmh=xAVrMbwF zN#f)P;bZn?tRE)80E?TBGCH~YS>;6IXHmerMLI@!$zqQo(I~&naeoH<4@Hip)7^e~ zty|5NJ9E#qo-L}h|9*?AaGJN$y$mjAR4@ioSdTC6K3JKU>+>RnUbHv+iT?sOOZ~)FYOzW(c@9(-fxQ zQUjj~Xj$ri?%2zGMhnXQ(E(mnQByMW^BQ}{IMkiAEv49 z^R8Y>Oyg}zoM1cbVFI!V3Wc*e65+2zMuD|Z$1`c)+O^3SnGSpCOI~N&Ido!9X0d4! zcB_{w0yK%ny zjAYDKWkK}pj=a+`fG9%uM4)@3T38q9uFZhk7dff)M+zGfhQbwJ4e0;|ttG#RD?*7A zZl<^Yp(wK~_dky09kV$vX|Xyl@tp0KKAWnj?ycALyYJyFDDh6lw^veVW_)S1`*cxcVl#6d3 zria@o==k6{VV!cppKNuUpc1><)#G>0&a~|wr~3O;8Pm(3lLnl7+^cLgO1RkD2b1IOp^ug&~_>y7#n0j5fDuQzFLmhb4;^y#x zqSFTK1}di_0an(72mYD%LELHG*pSJgI=8}k1vY0ltUTDPPr%IU(lQp^JDk)^Ilu2q z_W=ul6Nn$m5_7BN-UwXvNUHjW!U4N|^>m4m`$r{7@N{GS!UgAtBRU;mCVdn-q8}7! z{uiLA|2IVHQYAi^)#-wAf(s~|R`Y*a^s$ERcs4hR5s}y2 zLZHsKg!K?$?KOf=Y-T;XsMO?lpStVo8xFxge|DY3kncwK?I>t2tP6G~Zv0*^U9_!Z zQnylguOBpd7P@%%p`IA)(51I^J0c~d=f~Z1{H^IADpGFe=Z$m*rY>nt0Td`ny6Q#q z9?fA{>d&%LmMLD1*OV_QHeGP?Kuk4IGg?ABY zv3_$*cpq8RLT8VhT5@LjynOe;$ptbC%q?eZSP92;Z(HSUu%TNQuh2$1DH?xUTwQ1g7&rdZk&VI8twDCK7YAfgLtK`B*fkK%R3R;U!obTFZ zO8_%)d1^L4{!Fd2RDn4^Z6GbV(RP+?2iE$9RpHj@ovp59_`WssZIZFYh;+FSD9xm< zjVPU&sQBX#dq|dDlGc}qSj~AMzQ`*Sz3|G+7LS5;ta5B!sTiH3Na?!KvAc#%AkVf# zHnq1n3&#@2f?dT8ZQV8}W$9yO)Zu)ugFgZSB~@+&UA^EWD#!dBKNO);nXD`N>qVKD zbf!CAVSC%WyQ)TWtUH1>`^p^?dIk=n`AVP|VeD9YG=TY?VtC=gtg?1;2e!$v+VOht z)?G(^6(2TL)yPvaoXA<$W9@u4;~1+Qy;@Ohk{;~O{P(oke2jm2#gnr>->s7%xvll%s)f`{LA2Ca zxx^~QsI9(ntXo(hd}Va|`cd#Ky?d6tWI)48)TXW@sTt6}eJpn-D_8V+IoWw|m`$+x zL!$1(lpgB`Mt7-JLzl@@6x`Ye!JH7dx4b<2FtrLERSHKKASTeWZN2YDM|mOWAwDj1 zO3a=9l)w_J4^%X9V78+O{FY_>9BUgI+`hNLjDaIE(`yomC5 zE5tb9fjO;s<95UmAjo~TUWJ+d?&a{cK-ZN#=Q+k8aj;;&@8 zVJUHQ%D+1=KDl^?X#66V^wN$UdRt-)0fq|}?+p_IjQ ze_#o?ybmj=nOKY3$;wLCFQdx(*64hwRCg_+6UOA=N44&4@c`|7U@QvOMNA0j*ox+x ze?>v%Kinhs^0DPF7D2aL^h&!N0%;4KIG6hwx9b{0g+9@G_g2NDZ5}{IRP$+8g%T4bKEJw<+*PRIy8{ee?D9vrWfPTDx5aU z|JxMqtk%bTDWE&eIqgy|O+sQ6q&*5rj6dzh;1gn`a1f1lrvj}-9l?>>U78GDPi%mj z#Uma0X9_(};O+a<`9^}S5R})Tdja5`A3JwxNe;ZmIFNP-;6@1CnGu7B?@_wVlcLm2 zMl}{Mt6B==;r+i}Jl~nRl2cN1cj_|eax-_RkstK9bDK@k>}aT?>*bhK+9IaU+XRv% zAgf6bJ-YQ_*~n0oEw%yCgHa>e}Nzxr0c)~MZW>B#p;yg>FW5x`bn#>^6 z9+2np>+$og?=T8<*8g#(+GP3fz4}PTlEuz_*8`^20v#4CZ<7@egy4wUvvT?Nd;K)u zeIzV#ru|;r-_8ry(o({=f2-LxD*L$8Gk(9DyreePBDR3>KbLLy_VXnaB*-Mvv@qRq ztl6xjDJz#M%C5MavX8j=ykje#^*fXMv3cbY1bH3695y3c96Y4b41@cEnvS%xq~`yd zV3je4(?E1-Ak4-F3Iv08#!$-~5z~^4t^TjLc#iLw>Y$NK{x(1+gC8^$4S490J6PaQ zq+ES}{C->fig2Ppyvc%L!wX~MOXifnZ!yQ!^#xobdIsGjwc|Mf`UHz`?!(TFpj}!XFZ5wU_7f*<) zj{5=1!AuojXhS`6gRPp+vwc$cBBsc@f`hoV{UphK=ZY&!9`@TyZ{$EnmKjG>dd0!- z!kCm@_9CzfKeC!}NaanycK!YDiJR%XW*cy3gZnK8^Bl)kzZio^+-rrN-+qr;YG3r% zx6wjqSpz__5u)W4hm|#!*ezo--BL3%U$=`hugMmKgixvtmCNY%11+1Om3{&;TtO%> zo8)hn1oRTFrY1ncjc7x(w$|$uSMCQuBR&IO+@n5cecil(=qoO_9$Bn|r#?9awezcZL=&|8p*$E8LznPzKT&>D$R@a%^smv zVM9-6U$mmn%}xNf(XQ95fG)tu*azf){`LWhM#56KR{e!`8z<@Ie)d0Bh}h<Gz?|>Qbad*S-o&@Zx7u` z;c6aTxByjfK++w8p?5Fndx$A*m3(rsnLJHntCm%iAu)gB;N3T_tH`WEcjAu zyays8PLy>6Lb1Si6gl78@;8CGJkYBB6tGMl%*wu=lv32u{WUQ@P}S5@oAjV!f*XdP zIK=!N8mx>VOG+dE9^*T_M6PQspvAmyI^!{AHcgs#p?y47mj|r->}MEpjov@n)nv-B z+psR|d}TVONX^6S97YnlkoU{(q}&K64DZx)9kw^R~n+7 zMA^Ia(UfsJ=xI&x)%E#X(ogdVL&)<800J}q4lOLr@1R^OT5(k$#ZaLwWfj?i>va94~iCw;GX3yLEC9ySDv!})(PhOqR5x@GB#TO7!2OT%p&IM zED5iJlY-ZdZ+!cX2+$R;zD}3I zdr2~ht%2b7qYK)x0PxZnMu`i6s5790-z7On0n%O*R+gE_q*eA9`aZ!gc^ZAU%w!)~ zN<)ncw_qf({?X*Xf5Yfb_mrFxbel6knI|H){tx&x^BYb2;$>aC7&BO|g+8S?#7?aP zEi-2}91Y&R2{>K?6de|RT(;cq_s59{n#d`3I>9bd1x$8!Uh}uBC*6x>`J8tGzgDv! zr*?QE)@8Xrz6>@Jw)}5i+DX6D;BL1155f2=0?lHd>_)&HP15 zf!GBv7T%`V=fE%B7`9C@`O)q}GY2Lxca4$+mu`IW0!InItxhngXEvC}s<|eruHE;! z`~n(F!6%1LE8;0oIyebbX2{yIn=(}FomnhDXzuUbSq>fZO&U^`Tgi?4`YdBo_UV-s z_8-QAvA;MqOD1>GTq3Q6pjIN+J{We*eA6B7tZGI3gDFiq48{3;s)DEPytA63QUIer z^$emNYpjEJ%DSvo0go{VMWGNE_Zr3zoW45eA;&zo#8=IPEF;4XThP&4PhWO3LW16Y zqS(}|u+BPcMdHucv}N3Na)Z6I)(SmV{s_%fws_^hHBi{Le8589;ksD^uU?=Ly%5s1 z>#f>LZ297?Uw+f|Sqg;$XRL(By2Ul3GHMwpzRD^+hc9;@(@&R=L(I%tJJk(}GeWJC zMJaDjSD5_x@Htj8{PBFl3U)pkxrMA8(nrr#?s%V_o^tb#NWeMLPX#-v@LvP2mGB@w z@)2t6nE+Ec^hmY*hXMV!|7|L#-^L+GkGP{xQ{rQQDgivM@#(<-3|t$nOk;|(H~Vw# z_G5?i%_+%0S)RT=j$mO*UrIj5q_q`)h*qd;SLyZ5qr3t~6FgUw?zVpMsFpi;&$l%MXlUtQ&p;~ptf|t=&7=~e$->w+$fYnum15XI!Q2#yuWR`}gpB*$Y7i0#Bi z)2AT8F~)-0OGpm|*LIo#2cDF9{-qjqgS5W)Gh*AfX}=$v@o)cFjp4uui6_4pT^IwO zDXKuSD{5!d+!}V;y)-WQn$w$!om@nnUqD1Qywg?yXgmSL^=~HVDet02$f0GF#eG7- z$6P9pKsWy1h7I4WdIc!7E9XAPu30+{J>z@WUU?mG#vo}nkL7HRlSH>OtaIiTpN_~} z>OOd%7rPL@)wrJgmgrKo(7a3Q2$T#;KfKxSrrEGmwd>cXHiL|x8)_L{dv#r< zl5Vmt<~;ay>OT|)tql{feB7$}toE4Z)azW~&g2jZu8>OrS0A&4yh#@Z%_hZcr(a~lpswkV znDx=;O`dy_jPTvDb?sg%n79^I_R~u$@|%_&fE_2;SnW`AHNcpV)@4CAwq55m%d?|P zyNE^Oz2GAGGQk`4e0{86e_B2k4q+UA?Uq@mzl%?Zb-p*Y+DOQ3gwhsCzT?9>|3O%} zkUO<6_E%2Y%!z|OKJ#pzXZ>-e`QaBkbFiBmax~?wy+(2Tb^d~%Z?}X+X887Yzp}ns zG&8liNIL(Qtl)!P{XWMx5#PE9R`fTho8XC-uF}l&foI!%YdPjIR`b67?o9wvyi3bz z=lC2-Dn$zUMojDO!n!f!gQ|t};0Q0MDRiz!r==AflV2THzCEYHk8=N2aYNMq!Sbn5 z-oF?U=;GaQ={4I3@}oir*>F)QdFBXI zy&U&6*5OlZrdnB9rs=?^diR%~pgZqhVcaI2_D46Capbe?{Aw7Y9~^Knv8U^gIxP&V zGd&n|(gmVe9*D0_&;KUqay{d9e|*)N-j|cII6x5}XV7JA(4LQ#9>?MOyyRWp#IwA% z$xECHQ{$kny23}BcdIb4*uqiwW=m80-}XE0w=Z}f4wv3`5#3e0r`3p3DkZEoPt13 zat~n-)18Yl%S*q8(!EIJ{Isk=?ZAGXjk6u4y7{=W`D*t+6tg8*3<_L+<984@2F7eq zKjBqc%v(3^;u(dHcXEx?hr6&ie-#gazD#VtxNlS*poMQ$#d8F4Oze1pIjwXjDh}BN zYOA9c=hlY8ukNkbeq$46ciVr|hvIs&W_59=@+y`rN$5_26>sft`5Bc9R0`|c6ZmUt z`yH!aRL9gi-$T4->DhOoDDf)46O)orJ$?WLKsk>3{7Ii1J3B;doC~PD@}hrrFJ1myT{uKcT_~ zduHK){4XvK9(Qgpyv6*o2%2n?bSw_2XRG-6YhL89HzLzS{araIXj&fUAg*<1&EX_D zo8sWf?lYX%x@{W+1k)s8bBCw=PV0EHQ78M6@ntSaO2dt32 z0*vu_z#%z~O3d$xWKt^fLe~D8O`6ss3e?0Z4y@fxh6H^Z@xQ} z!>?!@$kK%J!q^rqr7VBG(dX&5xqfW3Ay9(ppd78rLaiem=gsyT>1!3zI{p1%C#RUk zwfZ{hd*NEFNg{)d^_N{66~22ZV5|t1`n6+ZI}gR}2^rV=sM1cphR-}{fpYlU?jR#u z!z+#VXm#~THbGTceJIdD&oLu9_L?n@>P6qB|P|Ss1CYUbijzhw2+?y5$jpk$chlf zGEqFndQ4hZY4`6b~iF2ezv|j{zbGf6JByWPfIq;pWcv7 zYhy)=h)BEVzG}$qcoTo{>)H!p<2%;$>N9IRO@lg}7SsT&NiBOl)i1u$qjCcqi_HbF z=N+l;3Pc=l*J?}wwDibb)i+pX;Z~v9P7Cbpx&7QdB4d2%J0BmK*tvVP=-mTpLcurN z*PR2)RO=i%?tN`)20Q`_%T+g?HVa|Tjr(CFnFEY_P)DHi1@NkYcSrUUXaS_zKNOK< z-Jk0YctzXpH8YztJ`5Jx>BbUs&!KOxZ!g&|)s>RsWAjuZ;mUB`t_QyltJS$7bhZqYtj2=eYgF zQtJI&8d>V16*{)^r>{>0>g2l%tRcrPH0ab|@U3p2d3puI;7Uhvvvyzj*{lf9R8|xp zz}{_^tm?A`awOOsk0wC9{}p@kKbe$ryWzmLK0udf^``k30iEVi)b9ipnHZ*Nsm^=H z<9j)ot)BIW;aSjr3g;%3SXi6nM2nj5PcyiNMH9w3EfAeX`%QB8Sxdk$J>-v)&2qvb zSDh6e6kR)igES;`4iU|GnL2dTjW5%)u-1t&eJdJ0P|_7Ji_;Nxi;b@vCHZvDQC1O- zBNZO{mXMO>HJT=%(n1j19-WWd`d{_c#C4rrLW|D#8Q)1lAJL9CM~`id6WfsPm|>fu z%y|rKf4u*HQFh+JaQ=V0mqrp1qDJo|(GtCHM6`$!oy8_0`dTGeJt2B02!e=SR$tu` zt3>ZaXSFEH>Wj7CbN^16^URq!&+~i!FviZ9G2?UJpLe;g*HzpLcVEelmbc>F^&tz9 z7Ir`a$`g7*k+0} zj}9uf?~8zli#O}ew#ZHV5qgQLwsgT~)nN3P;spQ`aga;|f`Y~^?45An?s`5M4|1VR z^5#ABQc?B<^(TL31q0|)mkW{|P{O#Y{PlvUViVzN?7jL2%Di1@aZBYTwCH(>3rTfa zd+L+5RU5aK_j8N=2gZcs<4NfI)RwU$AS<^Yvb{OvbM|RT1?L=sF+pZZ8B|Z&q|f!$ z&_qCOBDlO_-|(o5-rVYA&>xmJ6tV?Kd$_%%!tJK|uoEp2%?SgAWbFFac(hx-@(t$d z5Emt~b^hS=T@R55a4{kseb`UaZQ1pqwn7InhnQPaad%CBAN4rJF{BHp)m6;&Qmhl^ zK0V2F{DEIMDAmG86gu2cMKvI!j3#K_G><|$nxKhY9LC)+#N1HBBWn-RmwL*H-aBq% zr~5<*4!Tvo!Yp1f^RKX4)KPcsmEsPtW~!>HOFul_Pzfb>gbyUX+I1-^k+A{vKx-S# z5OM`ZriYy!QS8Zke~m94xWhw)9*ST-ZoLRS>)3EYukH+h@`qP6WjfD8Vyw2?B?GbH~KC3WfV} z9f3Ffj1TUz16)CU^$7_qNaa>cS9!KvMm7)_B0c%0&F5v1j$r%?fvic(@#VH?4-pDf z&AT5COwlfu7N!=nrZa;=T}j|PEdlM%AkW;PH;F!_*7w|tS76k5kn&WEZQ*cWx#mi% z@9WEZK3{#Txeoa*Uou=v|1-bK{gKy&@2@-7OpzRq%*RVEwO{yXl+4>VQAU55-h0uV za8=Yer+Nxy_egl;b3BXDBKid7sr;ms{m2~LS{6qVTDHUP*{(>5#Fw9w zULlXuJh9BdAeP#O0OqX=3*^M?{rW=tvnIE5OWJXXTg|byX>F^AHm2A! z!F}eN_n)P(RMGvy?_H?fdJ)mWzR!&AlEI6!uV1U9VHNwBqz2 zv-_W0Tn}FCbn0%SIBLdEG8*?!Zm*3ldpl+Jy0UOse3sqgakhGJ<2#Tj%Vuc@acm~i zUj-I~`-*X!;f+h`$J+)~hFu3=hNnLjt6q6>4C}TjeY# zc26W@9UnqBqWUK=&543S=rCsPjyhG7=#p4_Cy-qn<)S_HR#W04SW_q_2vzF3vO@tK z>}sChCtbvLB)@Y{;P7xUz$r8Jv7@7WPXM*{&U%voR>P@@P2>kb>cA_~x&dGf%}$k{ z?rw?xu^-pAvhK$HGFUEO|E(Z(@1)!%C@<)#icer9QDhi_chs$o)1R=N5|%d<31`;3 zl=pn0_x^6;H;fy1s*6p>n(%6<#D*6G^@0x1xcZS6H-k6N`+)&%4W1L8F|8$tNH1s* zdB~OmC~l-KObLUfao6za(`YJuV&MJl5xl3(41EP}bg4bJb+llYCr!K>S&{gaBX9;= zr1F$Ywuy}Yih8zx{QzS5NAn&f2LK%V`WTknKn8kzT=9AeB?7lxRi8Q`7c0;7HN{~o z!Zt=XB6-KLM!X?@6W`R$l%hO7M0aMG4i9(|<{@3M@G<;OH<5E7az0Dy^5yNGtP6#&1WB4ci#I7|3G21; zwA{}krUb^FBTjf1$LgU9I`p{xAU~y53L}3p^ekU4h8%C0=L>x@rkO@}?XG#rV@|i{ zLvnFuHUG}>s8GeRckbVTOD=UaaamZR(ux<%7H4)CvS`PVjKME?C|FXA#l#&bzyI+_ zb@?NWjtAhZ2Lb*tv{^`=PgbsCl`E#$@A+)%%xX1t5|zQ%9-0J}=3q$%PA`^cMLq)M z{RfVR%}aIZVy3(U6Q0eNW!ST=v$P~X@`C{gCDhLza5D}S^99Qdrj2#DaYc&945I4> zOaE_MR4#m}*F4Fm0TV80PUecG^Ij9~XL|JVxyFj2p~3x6BxKitgb&Nl2*ML0daA-B z%0Hmrpk-3XroJ|Io4GsdAywYcIJc_u^ZU4JTkq9axFd6N4XVDuF2y5KCBE|?5|4Hc ztYSC9bZBtKPT4bL>VoJK5Q^PLgBZ3dx2PBJ`e0;~$ww_ojoPgQnCYh{m5FUF{M^^v zzeg5hbZ+9Kel1xMmqt7kD6t9WbxX5GZs7B+o`H-BXO>tsgl{y2t%Wle-n3~^8A!d& zZ+4&+7JkAEeeqD&1ko}mphkWt1AE`ETg8)V#lRIX(Afm94&UEN31F>0Ft2y-D%_b( zX%0BMJLZq%ja*2af680m%iCNkMnd-OVZHflk0qU+`laTRx{SCB0uh_K=;oD8PEetY zC~J}XP&kZmJd;eY0L**#x*D#oRPfH9k}Br=2AtpSVTbPg=3ryTJC->r3bc-hB>PEu z6#kMJ`f)L#|57kFg1q@vWDJKi3G}u}BB?-N#}f4}45`BkirSNSq!tB@_F~FPx~t{t z{11s;Yyg*6jHTqWkjJeqx4HM0PwAIxyQafVu#n3erU#0dc~YU%FKg`f2K2RDX~}7& z+_^N6%)!xOUmudxiK*;XK%I_{YOb7`o1+j-76MnZM4@wV@urUmTKZ&A+42Fr;$_&& z(Vwy4II7pFL8J9eKc8^aizS*?1yfy?`P|D=JiLi)$$D7M-4ZLqNROfV#Y?g*8)gWw z&Roc{p355-<8@A>4#L9Z*)dmgL>hKlzQR&@vDx`wC9mZhzszkWWDMM6oDOQIUfAj5 zP2NmcOPJMQNwKv`>^$K)6Gx87#Q^iIPya#0cgn`P1; zzlRxma1@`B=CrglOjPhUH)m;HUR{QUHPD)WE$yEqa= zUI zjFrmm@H_HPN=iPDkdQ1J`aB}}-%!RITl){-l&|qItB^auQlaQ$hN*S-S>$MFd}=*J z$V<}esa2d1uixsKlc?Homc$5DUJMh3746ZrFq&HU%8U6Hp8DjzS~5>mbfV&cyc_Mh zT7JMN`?j9~@oM-mw8fz$@BuB6s(dAYc0n1pxYV6G+nrsob>^l?m)wF|Xi3#!M02(1 z%0D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�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 S0b~7t!(0FV<@+@M{Q4jIij@`s diff --git a/docs/_media/telnet/telnet_stats.PNG b/docs/_media/telnet/telnet_stats.PNG deleted file mode 100644 index 295d7c4de689aba3b7f602041bd9a9e6bcc78711..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 58322 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 diff --git a/docs/_media/telnet/telnet_verbose.PNG b/docs/_media/telnet/telnet_verbose.PNG deleted file mode 100644 index 7f28d229b562f77989c64d02318faf4fbc14d5f2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 193853 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

>aYLR;Qg;hHy z!qIew6FNn+f0>xp&tvox-%C^ukdHI!4DxBnOF5RtKVWAGF~W*lc~=A6B`Z6$l(M9n z&?a$>U3=fIrgZ;=_=&cwT!o1L6XE}R&GBCdAH=*qAq)C^6!~YO;aeFeYHN2)Dw-zu zO>F~3Y(bYNl`5Uuv*6Mk7One@wxS~zZe9(ZqbvuzNE)MQ1%yv_d1{NkoylAt?LyAb z5UTYat`&PEG>L+R8Vb*=ExoR9jV5gLBJ>|^>Y`~GS&9sJ#NnFQ|qvDT>As5c|_uM)2Ch+g@GOIMZF z0eV$nHJ0#{8UHnn0ZinDr~u&-6)=)A%9%j`4EnURofixcY~>_o{{S;MbOk?nYF=$v z#=B% z8}gH6*nod)%~+ZkZx~od=eCZ&=rf1tM+79V9DiHtC99PfrpQfZ4elO(C+-t5aT93y z5(Sx?x}5`-At!zGC&F+4f$$XqWdMX)cw$j^uiR#ICMD01c4JEZ1&$z4|O7^WZzpHXS)~5MK@yE=&gN zT>`qoHK%J_^37;&*Ap zhIL&{ZxO}GmRPR=rWG==cnxhobx-vdW@~j@`n5z+%hph9Oj|chOXU1O-YZNnQl;4F zmZ2CzbATR@C%1M>(4&%#Nia@RnBYRSHvv5tDer?753@Ednlre6vdVy|m~a9ExT?l) ztGe`@!IMwUURbECd@tQK<+B&kyrt)}kGltlgl#^Led7G5TRKJxUH?7$_d;%(?8i8h zTj|%dvAFNH+GN7E)W6eNIS%@U7=7`d$-S-haudhqB>W!Ubw`Y7B#tx}jZCRR9AO3t z&!rsdHk6Tq<}u7-`;F)qL9eGelnf9cyZdk9@0wbNe+hp_RN+>xjv5CW;92zRyr+0- z)`7>TXzSZ)+Q}>?7}A@D$DSd!?#KD+2^8uFX$K@B9!rmG@j;sm@&Gjj=~*s29S4k& z#C$l^LB?iM6zoAeX5WN-YOE?C>ytv&57y=m>v{qC5dhD9F!3&#{jIpZvc0$wUu{&` zR@&>_Rs0cspgP7SQ0?)_>3ZBA9Ky~gx_w|v7^Kzqu)<{^=@qrcdr`BoSrR%1*3-Lu zea@E32024av_UR;4~=Bqh$r22#ZKg2N_uGQ z3`!yHTCOL`W(aQ1Uy8o=gQ%`Q_cl8_{9Q{4)M5 zBDU~r>&6o@HvcP;6_(8O$bi--U9FP@5TvzYfu_{-H5CZL4TgIveH5=YibkXk^d{=^ zycuPaV}O}4P8eq{cVXh8fC|60$(OTF=>3dg?pNk={9=$%ZnU#HF)Ow5+B74~F$=e$ z?=N=K2#^SFghy&p*HN$IY!E!s%Xl<((ts z)h#>&zZNLI0%f3wp`Rfx3~}TU-S~(V;%hutQVCg4eb_v_Y+u(~4IVGPWMH@cc}{ef-!vxcN+_kWM-A2|`|HZ&hGi7wgHJ{`DByn>a2~gPZsH7jth4 z{n^6KW5sh6+|rMi3G7#$Wv&Q|6ZLTh-%D~fU)js)i=JgYfl?6XVUUox+iq#X;JrlS zi{a}M94gp55#aZS)xPCvR9Gg=-*2u0=GRmOD*|QFM^Br_x-aU@ZC5oe6~^j{{OQLf zWNEvAs$6Js1x3&*VH?fSLrD$N%IzS~s4KL6hc4tyPAZSSFkoTm^5!CMDI3TmhygTE zPZo@$j8DCBcft$H2Dsj;LCE$-Zd9|0xKYpO8>uF;wK#x#MU^)72n+oj7~xPAE>C8v`y99hPwQMBRQ?HimP82(H@?7X==1#=@j#v9WT7mb$GHxbd$UTC0AOcAYeYicUO=*tN8`aYk3m zaT$gq?~lJC^#X;)EOB(j?Rdp?EI=|APp>B~KjI{~yyA5GvH|(LMgVbSE?Fs>*O>BqOzJ`HV8{9X zi8QH64fK9%Xh3=2TU~zzxsxJvz1aRY2>t@l;D@+}`vljOT{jYA#nv`T7x51G=Y$!( z$IWA9gKbh`n(3E2*)xW*hn{$4&IUFP`?-*v-hMDYBm3n9k%l{P>uES?psEWa%&wmD_>OEpsMzEEns(Z`b710W@JlGSjG7A>%x%HxnRV8H1#u^UWz23B#BZ z4M?ufJ7%C`eImoKaI>=1>L8b#7_(D-#O{&jviZ?veVkcTQT{T+aX~?H$&wCInRpxc zQbMCJr~Zz2s)Qz_*E9^priKUqD)rTxfoYZ|V7q(m-!>lxVs%-sHEhlHbFR?HUFy#{4#nu$=KgWnBr6p{Cy4^=|14~>_&67V zFug5lnL}i)481$VzQ5)<<6R;@T7G~P5(kn3mPw;JCCL!?0*VDR{W^O2@@82DXT`a( z`xj;?&+v)auk)@~IKAZsq9`Zfwodxh-3#2DIH?fRmO_l~2{DMHA)D8X#v-|GX-@Ld zqFfW(d@n7sjJ@g?U|K~rvA30)A}~TnK4ZgSz`kM3r&~XFeZADtdG@`>f5N0t-gad* z)V2AZlxFO!le%Zeh7;C!}uu&SJb zW5zPSXy5^JKCqVN3BQ074v6S7F&r>opkA`MEUJpZNTe)S6<}$#QYyB?2p%iDZYQps zeVmssc-8g?g#SHA*>NA!o6G*5hW_+gd8eAUfOaiPdLZsbCp9GWi*u}bE8X;F-6(_j zX+^`9%2BpsB$>0UP;VROhx>y*cm+8RfJH`e$%>wC25JioId9qo%+bx(eCi^vMLev+3Ns$0d!CJxK4wUT+S-Z1$x0^lV@^TT>Cs5nW`Gn94qDcltwJsV>_#)UtEa3U<|wZ66qj72s22;A_xW)_Eu z2&}a08f0Urzw!=1Xf-Ml_%nC!vxlbqMT^JcJ(Q3wSKuHrZBuLcLr-yT5v}1cw-PI{ z_*KLk@gvN-h9X3U22t`aLYyHGC8G`hv-=yspf^x~oEn^;Y_4b|ts%KU^IAf1r0^J& zo(G#Iz#HX|tD5=DLeH>UketI;FstLnbz9R+MyP7)x_hq)G}=;P4e#1k^6t&)7cMj# zytGjZFzq00xj@*qxsdL`hgs|dCOiQ^bIE_ETe8bAWZFM3zneoD6ujAcgOFlxKa)6JiSlIP#}tXMG=!-f3BTJB2enC^i8 zP_yK^gnnF@S$W4aVe;O3es<25YE(`*JwKr;dUhd-8}_@KkNx`M(Y(sQ9f)*%3W2#4 zbu9z&l4``UiI>)s;g3t=`s+JPge0$@D`i4DJqP7pNhw6+byk7Y~X%dr>royxp)#5;%C2@VoQ1UP5&dfGb>Y(UrIQwpEmlpWGh*7c2wrGh6CGY6)qp+XbJvO#F8-2}spV?VPkowF!+LD#C_H_)kc@KCq z%`X*mS7|R}3Jd7G4IgS<#R@vptC+SDrt0-dSj{2X$zRunmW{0A#Wuug@7Do1f0D*R zS$uuoGF96xdi8#7gQK{A_AjPM$3h+mWU2|)nLhxT`lRXp20Bt=6`aFZ&dA@3j*<6( z*tFm56n0ptLY)sywCSEhHx5X7ha}e6vEHO1k-EjAu!^#BY-($L+jiz)&7QXwI`^Hb z`}4JZ_t|=Z!|Kx8_aM3|Cc47o#fu-RaY-y?8M;zi88=;tkmRID)F{VChnnl*)y6sX zXa%z+3~mk#uY|hH|DDE@{*`er_#2If>mZDcOzIax#*7slZ=2$e#%RE!=B$tXky|fp zZibSeo9Xg`J8}UcY$Z+#yzG;#nN>KrxyXV#3#Xt-i@EO%fz6`i<;z~Jwhw!!^e!w} zFh3lAzEq}TEG;DSsr>*A8)8RNhpEW>D~ky15KQ;5jcyB%N+n+q0rds?izLA4Roivt&To=H!|iKBK`!4|jW z%VVO+qITmiy(sRSN4~y7VNZ=dUU<#=CVmc2nU=d%zpPYmK@SYq8tmOyWZX!+u6u#^ zZZgc))-hi}iv(FwbMQ_@293W&9HCCRz8 z6&xMV1LFzO4zor|@)IIR1e}X?J9wh&%x0v!FO2ZbS{i_6=sQLG8{;8nBItW3h~@d; z1ipL;l``H0s>@|TiO{Nt?U#}Sw~q9(MMPtHq_9BUh;xF(;}YCS@G7dtEuk(f1h6O+NHw} zg84^!G@G}X0$F@o)WfWqc@ls9GCnd*4ssV#PRCEd7N%F#u$Bg^1Fxc7QOd@|513_0 zeEPOI5!rLH=#O7vr}Z5SpNO^;x=T2J#aL*7s_D13U;ccLgmUugt`Gh06}h5v+Ut!% z^xZ4#zy);pwJDo#C}&o9Xn<$Ilbi66%{d9nX3EU8dqZ}DoZ;t`REyNs&BFYJ*Lakk z{WZl)EF(8ZgXL1^6cV5u=AeyuV?RJkx1G2ri+u6f#N3X5oS@<}?tMP)cLpyo?~$T7 zkw4k!o}`95mY#IreXrnoED85Glb3r%nwNHP(bBC$46BIY6ZwkIJ>I*iyXLL~oLfc< zg^j0E>$A=~6lWK-GYabi>drfrH%Yc9tU}}F1HHR~DV!!ncBjwvbWPXtX1|dwN_YNx z$$Y%?I>sT~F+$EDFPnu&5uOy{;#3Peg%vgNtCo3+S}TR;`+9YoJH??Q-P@1`+>sH{ zy{`xNh8jBMi;ybn9-KYs9wpwg*Q;I4aI{yF=}D0o*rJo!g)g+7S$G_+ZqE%$4BN7s zl_Eu_7Ebjs4k=2kvm9YEj>MmIeHjAI5Hauekr`NxI8iTkc5>wTV8?WlC>vtl-I(|= zw(*Ms*{|o>`aTJ2aGusDzTIUv{wM@1Ho0y>#j=#$omi(`+Q_TFf)d#I77}Hdf2?p3 zZN{>xCD7%;Dx4?3bJQ6z6`;paKxa8TGdRhPqaH`A?RcttQV2Gxt9yVP$vQyb+fk(g4bu2q*M?8rp5Z2tZ+94 zxySV^<4Js#Qu@(+l5_xP%)pF{m8GNjY|r({=;!UqW~%Bsm$~@}zar+SKc`0?unxaW z5CV~he@iVPS85_=dEyl8S)4hiQaT#hd3Z(~b~aNw#x3p?lH9x776~SqU{LpeH?Lw% zS8i>7W0`5S+Vj@#HLjC5)^iGXT>XGD>%C~@Vnkf>U~aO&;_Q$Mz>4np!qsoW%3m4dm>-NZY;fT$%hrl~Y^d>n3Fd0F=kB{+& zgn$Jn2t%)MrO}x5ob}Tz`p%Wh+QF2pKL&u{m0?)%3io!1nuf0Q|w6Rdye*o>LVbU!N`? z4V_D_k=d=Dh2mm+p&4#AZHp~80=G;~O6a6&+3$D#DNvaAG^+K?KWN>wv^yU7 zU_HcR^>hOo<_P)qo+?fK1T~Q1s$FmmM53@ppFVAj!ULtt{(r2!cT`h<*X^q)q9R2R zBV9ncfHdhK2!iz9Nu>8q2ptgtX`%PtOX$595kiyDd+!|y0i=Z!_4z&T^WO2^Gw!+f z=8p_AM%V*(`R=vXXRbN5YDS$}tNY>wR}EW*^3R@ZrWl#D(>hb_i$aMR=(uiEGR>yO z&)OzUr)!3@e<(!2Bci&DhZ1=ifV5x*UHU1Y3`%S zdIYo%u1^eoz*_3f+{v?+b-TxvvuEVmGi-i2fS20;zTx)_Z`7etaGwR`oMU~d*2@FI z^M%6}y0)v`HfDl0-z6`8TpR7i#>0$nlTFWNWE0tc&`SaMN`6Km17O4d{_o!1PnE*? zm&A=FL&;5kPmzA~jj&v*B;OWJyC z*uIqB9+5yW>+2=9LcQnMMW3Aye0cpcwoc{(nIYuy!V%6ID%K%!5gH)4UTbJ^vF^?I zV6BV;NHNG9Vvr~LLVo6*SQh&&+ZKdPU3NLzZ=aN?AWnfB znyRutNkVRZpN_X$sJw>U>cF{9N7qykZ{%n?*crlGJt3&OTXMZmBL_A%$)#2OrN6s1 zH_z`m3wjomyFx45^P+$QX@#?CL zU+~?xH7~IPPv~A>uH5ES!p}77d}tsXuJGItUAdb}*4@=Ql>MPe{sfzpZM%Yg-*U?Z zGd-gw1cDoE3w=#7*nVxB`6tNYOb8+fentF#m@>kJ`M0$Q%4tyWwFXb5c7PTp#NzXH z_H^;wsm;?c&Bug@x;Bqu8B=DFJAYrDWTf7gqUdEG;HYS@eDPcN-Nh^D)%?vtsh5TR zrR@3sJ{c00-(}h>`gLz_3vni4iq^_$p+lanXI5bxK8B)w&WoF_84g3_6uw?%JK-N# zqWuqU@Qh+v|V>C z_SCJnGOGH##I#Zs)_l60yD84oL-dq%X;6K)E_tr&oEKNp!Qn0HJJ=6(+2W4S(Fa39 z*3_W-cUJ%!pMdM=b&+i70B1ei=vC?0tAoRktLD(l&N}ksE@b{vDH3Ph`$mh~hxnJ9 zy~$_u)G(#3uc+|-{*)`YtrydXz~+|v3>p+^>R+Pj5)^68lC+r)Be&9xua7UAuo3Qwi-HZ2@0Ey z$U|mwn^+#9oOiwoYS7ut&&RImvz{@WT_7ag+RhM3XE)jh_P!;9U$6AF0cgqH+4I$T zq+B;_DNttjrnq&%cuohp{L?Nr#uDAUJQ=qQbm z!1bbERmo3MC!PhEB!_NJAHSUqtr4Z0>3%AN|HT=)eeUYHEnBl46j~Xs%wKB$IS)7O zV?T4C+Id)pb#iT>+5*ddRFI$s-b+;$IFoS0q++b+O?}^3^XBW4lcU5LvYeHU2gWYd zOW}U;sYa%|dit#@6wvL4KL;lV{BMVZwfxFv-4iyW*L9;O9X;o2)Y>1{>#}ltfEwFGD8or+3Q-SeS$sLv0#mmhAvMTdUi zxA2Z<78wSHucVny@cI*==#nhSo9;E}gCJBUUlcfAq4;}L57YQNQnt|T@B zGm|_S7Ss4D3~vjreYME$xEzJMlR7@(t&lCcihyn-E7B59zOAaAo5a`yP(JsA9 z?OM5yn5*9CP&p9Yb@5ego~)x|+)*Nde=cKLFfxW$+G_k7`ny-CKnlEk&qJlg&fjG?zQ+jYBC--!*s z=<9}Jn7j5UtfkR>;4K-W2He6MYT+dlmpUQ~bi0ttE?XR}7kM z_FL-23@mvg{1TIpVcwi)b4*-UA+Rb_VW~)NyTG@Rc8@Ru(vVR$?gqa_~Hh9Vax1wB{=*1zU=u@ zG3R{fb~I+z@R+^yju!2BrFJ`; zd_Tt8g!wWe_)Y5QB=&=~7K`b;6+DNsQkXNEbHBoYT+Ct z5Y8r2QDI4#_;pRh)@sVAzLxXNJq;oQ?0jKlN^pD?l2M|R?YW{8Rm~q6x!XHwpCZv; z=dP*Or(QaMr3zoyA)E%4_l*Y6$l7>2#lSI2|&j`$=W91JxQiRsPdilmao6iR@P zkP#O-l|HYELgE9l806(9j)3H}5vEpNvKzJRJ(hzWd2(%(0^2Ufi}8?LGu17(?h609 z{hjkA-#i02)_H$y5X7v$=%TUvt&q^h<3{_S4Mm61OO>;9!PYWa%zX(pEtny?)|bDI zNyMnX_>~^bhTPf$F2(yzcB{C2cx=TY*?LkJ|31Du);$<@l_|2xn*kMvb)>mU5e^u8eOi2zG=-7v zdM{Xw1*x5@$J#^)7-dJzQf9ens=%}E?#QYk^b+Y9Z*=x%h@9ZlcD=|yf zYDOMD_ij1Z)#WnI`&T3enaqq^PJ3p>5HJc>cRDX+eD^K|SnAVI*IoJz*Yx-LQvJyR zKEwK-LSS-%0BWYGH@%E}dtk<$TYnD-#@VKbO6Yogv5x>fi+9d`v&gA)=dT5(h0=;wNLD@NOdu_ig#9+6h;nuLpN>ql6`N1*XqYXk0)T$4Hw z=N7q&mXg7*#leGs$Pa*+E-laLX)778@hU8q%a6j$Z5jGX*$vzk{gGvUg`AH2#cM8L zrbIs!(YrFD!e-v$CY*r#o4d$DBYrLPy!+Hxnr#c4J=ozGnC%tzEiLwlG{!@nf9hvK z32niU(^Jmqed_M}#`L>UBQFnIJ4zIY!&I`2*+mk?Gyz+&p(^ z&dn>axgnglMx0WavX%o!>l6uQnJI&l36n7|e%SF0YLfb_OEg>W>X|*d)?w8UZE4h2 zGPC79Xm>*`go|u7&o+)U{6dEdik@#H1R9&jbaqoqPA1SUkMjg7D@P)ku1djUZwD)? zD72kU<@HDQB{yA7`Ctyu)HUXfyr^?=q5SU4Q^EIUq4(H7~m=TtdeNxpVOqWUw@n|1nxa7g!j}Tyq{|4`74fSgw%zzt~4Q@_8*v}D+ zM|obIuEdM6O9)ssf-ZYnulWrKn?gh611VHY);9Sk?@e=poKg!$xLjTl4=Mh-SSN=) zl%#yTIBKNi(G5)u6}Vnt+)E6ete%7QW%jgDmW?iIuG>vcJObEs6AX# zpXb+RkA<|Ksc_C8bx>6$??jP0y{Iy)lJ4P$6KI_Fyt91O&kFe>u(|O??RpP4(ov|G z`g}^q%J#hrrqpB2W_9FR5fJpq+r8k4UqD%0AI2OU+CDR9B`oQkVO&kYh$vQ)9Xlmy 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

%1{}_W^?BZB+|afW~FO2 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 diff --git a/docs/_media/web/ems_dashboard.PNG b/docs/_media/web/ems_dashboard.PNG deleted file mode 100644 index 168c8395c65ef324dafeef1b85c280436ead79bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94670 zcmeFZcTkgEv@eVWu^}n~0#XzZ0RaW1SCKBgNk@wG&)7@j=j*?aB1*YjIz{npxi(9=<)z07i% zii(O>L;aZn6&3YGDys9JE?%JAxdDHjO!;-j*Ffzl6{P>pD&@m@CnaqqDyo`l4jW(@?IJ6`_P^#Oi{R|=Guk(ERZS&aeTiVcr&-#zv-*~33 zn9X^Q^C}nrvomZbd)d;Zh^D3^5mC8Eq9hQ$0@&14vF=meq#PQmlk=v{aA}i~O0cK$ zLzJe{%Yu5B5mj>-z=OTYyg>xdaO>7bBt>XSD<3?e9(?1DZnbJXn7=Yvv!HdjR#9C9 zg_;E5myoA3qoN9TIR94h%I;4la;mVlVxwUIZc0UwvOJV#aF6r6d47%zum@5dkh#`| zc^mQfJ}2$jr}@;w(MqOIzL07D-b%cD=I-AMs>IHV7tj2?43|~?w$7i4Z^JmV4 z8`sbNa|wzKzy8lvm;L#-|6D1ub8(*k=W_e@|KH{R=2{BemUY|&5Suj+D{qw-r|kub zv@6aMHA#X&VKJ85gINJRgcy!H{H51cUzUdCh1O^RGV7l5X8^udJK$&X?%Y)l_OCZ= zbz-beu_56R0sK>KInmfyF67+^0nK79Vra3Iz5w4>MDtFC`Qb6Dda;EzuR8`05JRCF zIsnUGE%BbAP%_G@VP?V2tPYeVOB_#NDYhciqdV&}K7YRFG7fp6sTtj8lOy!-;qDY{ zu9NZa*4N)Lx?ZARtINv#tL~SMqo=w`+3tpsU1@D$+XU?bT}r30jClu#nGi#cR#Bse z>_bD9sw>6z8cBCR>Y2yKzm&0=-JLyr5%kJ^OP~30czKV@#mX}H7hwxjb-BFv*#sl# zAVlwf^wv54;>D2%53ftrs|C})8vU6V9q*&)os`q_ykcdOG+rPQWD9gbOCyv&E14$@ z2W)fL6En-kB3dk_Aw80L+*}tqvS3-`39D$0_`_FDJ22D< z@kcq%j}`xs2+SmnshwP*9h|^bviOEYpponAnC+DcV;^!1eiB$1w=%1u!}81O-QMc0 zD-VIev(d;(NIHt$%)KOwwdwY`Q@O(3^_6ZbMHJ&?TEz#}r}|!0^!K2m`+QrfF{U%M z!$XHr`$931jvQe}#m_-@A1qJMu*I<1<426?W#cA*^sJLc%l^iNf$gL6zHR?1~L9c(MdC z9Q#Ee;Ab9>{5Dv9wf39m-vO8@1F)!%x}#s_I-&a{Ct40hgaf*X9ASW5r;0Dy1@)d8 zq~G@|#6yH+0!Di>W|YZ{4G^>~f3St&^lZZ@TAR9Tq~Kaa-#^`nshxkz=j@Lra(Idk z)Zt#;*^sZ8v)x+;fBP8Uzra5h9b=BtIEQe;-d%zyh-L_Jgd*pW;pUuGz=aAvBdagalfkkc^fpA+hVyi!qvdXso=-27HUggX>c6 z7)|xdj#E94`0CzFoGTRpb|1aCURGe12OxHjmhNUSmBc2_+62^FNEr~0L0w4EIab?Dgm81S2T+ip>r=SvKcDC-rf1r}xsMTJ>3Q5qXTiJ7}tkLH9 zx1N;0I^9kPF}@nRG>OvA7?T0ZN-~$@zMZczNZ|Y9KVNcdK!qzUTVtN2r|Ff4&z1ydA6zjp zMgx6HYtWM}l_XjK(u7L>$Te-6JRiJ|aUflD7gi1irqW--@wXs0nOGIE>r@p+6Tjui!W}u9%4L!FCv%%2N zTP^8oa0z6SI1=ph)84aty+Rz7foO$R-yaTM*n21-uCx?J4t(Exn6R*D6Gd=Mw@M=X zIB``EJlSe-*b0l+IXuAesC7H??myodc%!>>6PUl zHs(7uR@zn+wXJpqX03JRk;All)yMwr-l`5~mkmJxLW|byDnJ;dki`^KNQ?m>Azx={ z9Re%_>B@muAC0K&QOt|TLNQ?x26c0Voc;dwWoXYLnQf1Dq{fKF@ zHh_bV6<3?XEJSm9N(KVD{B;G>ej0-xjNPI<<-R|D2@obu;B+th*L_ihuGnQq`e9;I z5KI!_z07N41y;WJa!bCvu){QvwrJk#S;=qbBLuZual(Ja{gz942_u0D$G@(c7u2(E zy~MKh`aUT#RikGq2P#bS3&}8x@ll2y9-7K$YuAxn2{;Am#1V?077Je5eez&fG89+4xYdR$8;q z^v|a5DJy>Dp&j~;iA^AxEWe;ecjkric{ZDRc9{)5?lCPn#)dugU%Q`M{0%L|*>0I7Z-IIq}%ahg9Xa~RqUSvj%{ z1Xv2C)dAAn2FOXVaiM^sZ1Bl>_&(IhVQ6XqmreV1zW=R<=H6}psq^sP+crJt(ol{I zI>gEQ?GS{F@gNphQDr)#LAO)0a3^UV!?!0RILMdZSO1ZjZxM8{Y zp;bZF=Mc0FRad0MGO765-R|XDhZ(JX(0x{i8Etxp4Ladui_Me5=GLI9ADxl2e0i1D zg4F}LLZ;-v*w~h14YL{=FaS7OnNG-P<`(sAQtv;aOc1_(&Qt4jnZ?ACEx5uwv)UKo6AEtPIq0qrCv=n;=kbXztjBvgU2~Lu0J# zWN``)Y4N~2WwFO%8mgU!>WoYEJXCw{&Q0yGKm4TP&L`U=P5> zcAFar-v-&Rkx8F64C>M)iUAK-RaJaJLqQdqTTB`tvl>wAYMrp-&{~tfaKNkP-P}`P zp%3K4J(W3;!EX01F8pBR#4~ssNkC zP5@0#NJVeZzJw3X(Wz^t0D#s>Oc5p)Pw#B_`k*CQ?I59=C!|fJm}I2@j%|YcHVW4N zK_SfzPb!op{dSQ0+?7XeH=A+WSsUwPp=^#KMhqSP=ht1iQ;>y>E2|BUa+X8hU}E>= z13wv45F{yWb&lPmJ1G8E@?$l4LYRe-LqFa(6z}UFm+o#yN$OF*#*%%B!U^+6=N8{DYKyp1`k(F8tY)`?-FUTaF23C~}vgcn7EuTLA&3%}jImPEWv-@>I zmi||7p(uiwG zy*b&4?)ToM6UzdNdkn!}K2;xIg|9_}Pj+&`QcKJ3o!WL5+A}ZNs1eK+2{16<&WuN( zRHTg=K|*Q)Nqz`4fut6@!FtBRHj{H~ezvO@&nEq5q!-M52ml3i1<0I`Vnui#!bfd zv?wiM0tzrR=nDehmp2*BL@d<$tP%q1JvJn`JCx7=g~C&^anMp<*!0S+ORjo?_z(zMrHV8Oa- zB4ol_`Kf#c2zi?e8Kk|qvYwm5dVypHk;bWlMuL~$SL7vSsR4JLL<71$Q{JNrr}dqC zhhslvuuFAEr7r;Sm5qj~mfNYIPt9_x?uk99fkcb+l^w&y5+?9{Wvj-rfL7i*$Z^?p zmdmY-&oe$tYy=cF={R`0!{g5sj@KGdd>9fvFlMBa?k%zUnu9;X64=-rGUB=D$=9UB z#35?TelU7zcvMG*rP4}VD=#iXpc>6duq2z?a<5W(vg(jWt9(`mR{|=`e2|vGSiAwm zhJi!WY!kj|#776sYw+Dm@fpPeyN9p#O_UH47WadNlfea!KlbgXpZH*>R%Zxz8}F)! z?8h%J&e9y>V7@p}pLU)R>|U4u>S18q9i+pjX}3=%$aD6?ey=GJp&~?2=^~Y4N<-dN zA583WOKOnVf=5_VhRq1?REuQaH(pf>=Ai9JpF~ir;feUdJ*h(?QxC0ZZVHbZOswWc z1VRJkNi<4Fb-eZI6coWTF->}XRS$~GeJCM!P}B?Fm%?ww%KG4q;11956Ysl3tHU%+ z)^|R#)!KCoxJ$mccaB#l4G~6+B_Art3c;+rlXr(XpDP3(#wANDTXGYu$*hN2yXgzU zS^T28U)PcLwXthBUKg}Y)_sZI8QWa7U`@b~*Viww*rs_M&>~$o`p<5fLfS0vW_XS7 z&zx<12HIKMd_~(c6b_@!VR3m;zY+ZUbG6I~{3EfNA@bQD^CWzmm zV8J)`Qw~W{N0ui84#+f<+e~HHPgza<(Zr187A~a(7lSR5Sq9%`oKSs8>F#%Lb3FtW zv9q%eOpgzYnB_u>vLP5ZrzdgWzH+BuhosX*+{LWHx5HUKfTnYN21ZMJ24^ruMGgx1 zA^jd=4(9>{VFO@yTHhBx(P!i-vTqtVaXx4fqTEziKfh`^Geizqm2epBHeAfL=pb@w z;6pT)n$t^&ZbN$TZ5SP@VL>Nx#tL^tlf!R{A-XZURp3raFlnUHp$!p;^r07@aGYoR zIb=&m{7SP4dowQchtQnNY+1n7(Z@-ZJn}Ji%jqP;~Jf4M*}0tH~RRKNucFA?2v@`2?7`)i@RuLP0ah?}^_+ zg<_U6x0R%VegJDX`KR|j@@=nhY^Lr+r5_mwJeI+xj8=DNBRp&a=lOg_F=jI~)i+Xa zsQ@2Ul}$dd3MQnVi;hq79at9@kGkR_5TP0}EF5hN-1aD~ z;tW{sXEFU%m=G~D_8Ni1L}fNfpBF7?(PA!MV)-m7mNZ&jm@(uZYZ;WO-Dh&FvqU`% z_o$ZR^X(NG37K(=m~qlh(!$-74_Qp8<%Y6Z6uq)H^&~g@{{DE$2VlVDUa{gOHIo}r zTXSDq%P*~_kS;-<5zW}0J$b^5&OWYtzd4ipS$VOtf)_nhL2*vL@}9DZiS(UaJiuu_ zm?KG&C+5c6QLu>LTWzN$l8VXOkxXfS;cI+ymi0KuuVgwy(M0olE*KqM?9_%nmUR&=dZh~}Rja+rw{+3L8 zqiy`I&zL9q0bSra{H31+(foy}RFh3Pp&1xVS34lCu3etkuyTv}iI|GyG9O1!^i{C| z@g9_b{G$P}+t%BkIIcP!HFrrk{4j%79QDJugC06;JW#G~M4=V%cPM!1(vA(}agv@* zn&Hz~%Moba`6VlmoMIUHzWmsWIjygpVrml&&%dRjT6`w4DzW0loVvHbYGz7IyUOOG zwnL(Lsoe6(trTa{~r0n{pCn9qfieKLZ$n9L>Qd z+z@2V=&vH&$1L~d<=U#Hb7nP*Dw&}KVanw3$poCmha=Pr(@dCeWN-8FRpzR~)suOX zOyfgnWmR{80*XiFjNSf)Jsp;B+)Cq~6M&|B_-cQ9DbLgfNJ3D_K(J;H&1Ak`X{A+` z)CvZU^DQ$&Sf=*|t8T(io*ohqBmNHqqKmjywoMn<=<{G~E)rvC(~L3-No<>N_f*%* z1P*m7W0teW)6er`<|)nz$Kwa<-yWyj^Toprv9n=&GMPIY%05_UQ%0ysZfh`LKJ*XE zB$NdPRT>uHe_vttpRvbiuuQI`s*XI)9lo*c;?r4~vFQ1vOy);=UP#4s=wyE2MSk>R z`}oNN!pyFr6uzF`;qA2^; z$kjxaw+?_%6*}0`SYppCL@KCukPhy_=Z{vmcbgeLVCoE+f5~8_T}`qIzQ|#U#M(c6 zvTC?T*-M`f6dFAIzVKjQ;C|i$Au)!saeSS0<@SVm_q03r3aeX z39l>t;mLRIS<&-Tg4i{)6o(BLrfxwXS>M{G#RQ559xLK*GY3yTdBy$v*M16kVKZ4u zSe6fHL*kNZwOIkjN(Z7a3Mo4}S)6nmb3NU^39L5{K_60SeKiG_MeI$ z;Df-aA!mC3lmafxr;X|-&{EBd60L#*h`2l6ft6WR<(U#HLM_1`I4-AOO&+04?v?CT zb}vOQMLbU|LA!0N*xAmwB&C)*=Z~KO!=Ae;6ub;eU0y~$r~?O=T7t&Z4^7JA5CM?% z%#2xv+tXZ~V_@5gvxbxRIhq0<;9phjMlVt^eSCG??1b)r4}x|z+fXd0(3W!BywU=; z$AUe1R)Lsp)K8e&nw;%Ehdj!RWyLjwo*bu zgHuZr6EJmnxB;9t(UIYx!Un*@M8|4C&hLV|u>ETwWD0U}`2+DF*QoymH)7Xie9H&T zv6-x;7N!;i#0Vd<2fo(xT!y-rQ=v6o4(CLI=7q7j3bI_VxH=hxFQhp$^s~8yo7*r= zh}$f^sXFMH=lFqD@$}47{q)NI30yFG4LK3~m{9}29lw-WnJYl|aGUiDs!;~JDg)*( zjAFlMrM0hBem+)WL8p&pz0z%5d81Bc8#cNc-_B@e(TUcfyifUar`(1!<2)u7XnbO3 z;%RZOdb}{$8(+XX38=5Y<|6V?+u%1GU7sh#Kd%Kf?#|H5DUQo?!3MrsjPE^_+WGiR z9)Ny;N6>N{Suv;9+N@tQ6Tv6!!@D{ZSEry1x;?ZRx{1C>1v7rb5?^9>{*Bp&frT3` z{T|1K4>jrKAz&O(e0rT%jjnbs7l3{&{&?n44Rq8nKw3_cPXyI%yzlf$zFJ@W5iJf$ zPau_w?0yvEx`Gd}u+H_!bJ9O^yKENdSZSr?h`px)fBy;Dg}QZ`OWN@MtBv%O;F{$k zWYcwOKviXQ>iLv_zy{_iU8u~W0 z3ako|4r{7n-{3E`k(2k%;VIr~d&Ee+*?qg#d&Z9v9qeZDsK_|}Odj2ygQ|$^5KxA1 z!&n}jOv-ccox{8kl!EEAH=pR3-Ke=CV>-U6{w+g>q&+I zbLReL;wX~bFm10UEAKqdXGez|kKHN)4!L=jI!Dlo;Gq_dI?>|&=0kHL`?AP0z&=V? zs|RnB)va%n881O)1)SzEgRh+?#-wVLOdf(P(toYiSc;GF1oBB)#*4$wPV)()H-Flz z(N!(1{A6?d!GKKF7vGpVnW6;!E?n4MEifOUH%NzZ(!;{&uxQ$s6zOy1qL5_4Pm<63 z*=fl|mj7=2byT-+&5L!S^YgO9SgZwhiX)GkH&4N8Mhs`bJ^Sgv4Q{Jvu`}5? zj-5J4we&yCF@P_gE1TShyQ85>Cc&tt50t=Mp4abd$8y4p0YPV=6vJ z*aTEF1AsXX)iEmEQ@JjjT=D9#46Wo8mr>yFwzA=mcR|@=27Rg{uP&x6Z>~j>Xgl*@tj|!w$1YwN3Q)oaASv4O=|JXj~a5@RP{v2J4oDm^9=1`=&RoyfTHc-qn6>045m zY@iIbFRMTO3LvNh;u%wEwH-Shax&=?gWIMcL%3Xp?VnUQ0_RI5_~SHIO9DO~hgj95 zrrydzN?W~n@qn6|IzWhu7N){qEo%%Y17>s;_+U9oP%AI)j{Cr!4pg@5<=KMbdYc@d zHyiYqmt{X(0Qd;VssMuKoNA)Ke*Cn&SUv&}OM9VaNs678mA?0Dq~{wVOb})Y*>5kb z*L3*(!v@vh#FkqxXJ+PI8r!(YCzDkCc}8Sy%?4%6)ilZUG(aeWM(D7t*D^<1&vhiY zdD;u5ZWh|Dvi)1tGiaK$ee6iWA#y3Gj~6D)#PDOTNILIQxb_O9K%0edM}qRf?faS% zv(X5oKt|toZY;u>oiEHlsIhOx^l{}eH~b`>&*yn`u)^5GCPT>4Ps45SC(HwOF%19` zdv%pf+B5*tXd~2e40MsV;BM&v5f$d;;JeAQU7eJq1)-HYqlw57WJgSz&(_x4VS+FB z@NN4=FN~c=aEmj@lv06~5ANxda4bAK{|&`9zAExtQJ4BIpOG?x2@{S;R(9AOr9)-& zvM1YEKDLhM_+@eJa(XF4nr8J(XV-)PAWbbdM*uc1ai=n3etSm5>qj8`IK9(x{|a5{ zH5z06F!=8_UhHN?Cu*ogYr*&p4|YZb%xyYDjFlz-)^&7t@myVQGD7Yf*h$P#oXv-x zt!jYGhxQ4pf-Tcue&&kLEMJKK$SpzImja31y0&EfAvI6d>ebA;M`ykdpLjJx_Ze$q z9(a!=vJNY2S2C8~E#3ac!Jd%?k^Jd)g#b$Mh_R79$nJ%6N!>A0AqgeZE zKVizCOI{dgQr$dh*V_K(IGZ#)L-M%ZVrZR}QLYuhsEOptkpJQ#uMv-DQUJUP&A{-9 zax|;Qdsb>{Q*fc^8TH-4v-*?(_O#WiP*YIiwEdTiJk!Gc4JHLiBTBlEdt9!;h|zR( z!jyIMG~4S)Y)BJ5L35lDeLfz%mdL(zNTJD#EXfou4_lr>)bd7~T-qs~+KkbWeAX`q zeL7XIxiR1LPu?a-AawDvRV>9Nrv%Z^FP!e*!Fx!2&&MpAevqVOz3C6<^z?UuWS@iA z+r9JtB8$suwK$ZO4|d|4UgX#*H}7s_W7Z0An>u{68MY-Swbr!UcYHMH?>@WLaGEyW zxO3Vw71hMZ#fz*f-4r6`Eg)Wgd_47?$CYXho*1%keX|dS@cd`a@MW2tF+wh4E%0z? zNREx6YfE4;i zwhhqvx3ooVAKw9levB+1eY#-hbZwoFOxRZ|G2dL!MLuExN+%3^;f72ro=5&33YE#c zESrOGDxGp~~>w9!5S~Cr8sGMx>3u$#75vOm4@11wau(O(tx3WQ- z){c}I7o=t|p!xE$tSwqF$5kgGQHSf+cuH>Ll$W0n^$OHRK<0x zy?ivszbhg~S&{li*BHt+rd{e4dtNaKpwR1ACr3W8zOU}b5O9>Kofqno zi#Q`~;D2LNZ@MF7Y)DUA;98EAjapRPUIF1!NU(MsbI~(cG4Twp7y2%vTIn-HBJKA{ zBz1(*zk^wwF8|A%0Q{(zp7M8F>b&@k3ad8_Syl3W;n!$?e|9F=jQVL zg}-}4CmfiLvF#d9MmH7QGfH!{r zg4__!&+7FPDq0}**f%}ch`;X`GN`)EcCTpt6&qOhoHB6W>3_~ZD&IIDNcWrV#gZ^5 zp%?ZS=!YOpQG|z2M)Zw+6PgWpNWp%Oc3d(XS|n@&TP>CTBTSa+Vs% zn}U2H-_dsiy#XstVjumi@*{R!Yy$~90`}-ChByFgnu)Hf>HMEy$dNaR*XEF;D) zJ~>8++&gXzhUXOInoRR?K|*v~Hyre|v5N=WBfYR?kE9*}qyXUuO`YeR*W$CH>rIBo zql6+6>p_fWLQPt0su z1wU+}?A5)w=E*Dj`$uP}6zl%dP%X4+0^~nVnG&;dn;9ccR=*DB($)xunLyNSzJ?Ug z%LP}E?=-2TN*L#4e2Yfg5k zkN$f!K4$Oq9_$6xSy<06=Oqb@i=TjI@U;r4zCxKPKFV5&-9Jm&Sf3K)9R(c++*IIb ziir}uyyA!J7d=OllIThXU{7Nfg+t~?1nr4>_iIVPK2LTj10*hrgZjUU>c$Cz_9 zpvke(Rh;;~-1e%m_T8)n&{va^7le#|%(c(epW1PJ768)s_aESwUApK@pM>hMpEU#fy zI$x{jE7A5JO8J=}^Cjq+(3C@)3GpBI z^q%Q44B|^g*4GN|nJWR!!iaX$SrS$03-+ic^^U5O4`%zA1;%bcB%wX(7n)x0h)oLY z%z4LrD_K^~ujs1asMnkkym-3$x9Dhc3?Mbr|Kc@+>M;1UZ#PYi>+>qxV6ofZ_^LiO z1Dm__@H-G6pQNs>Bj%hjDr|D8dofznr+E6o!r20CaUA`)jnL?!L-Vv8xpY37AupHL zCrzjw9WUW|)DYI(8-#)KR>L4YDCAwweqszQGpy^LXHF*_>0PEs@75Odu-?{r!J`^x zwO3wVIlg^!V29H;{=HlWSF?Csb(Vd|RGa}o;0B(ZkZM`dX8LJIuq#`}Za@w{QQ7i? zZu4fp2EI`?RKw_Z)+!OI-ZLwd)^PY6ZVG?K3tr>&@WFugaTfd@mug6-$z=r|w_qaCiy&F;!J)yRT51;d z2~W<#o&cXF1P9$`|H9-%W4n>M?JY!qhWTJ9*nBGa>CaTdd? zg}hOHy`tKii^Pd~==Q}Dl+JN404MkBSQ{y)1ood8**Q*h``KJ-mp3Gox8+q^vFj7l zuL)fz%&^GGp&-RGtw-G-W=Vl7Pkc&T&R2&HunLQ;7YFW{cIK6a&KaaY8N3-Zz*RT_`FflP5rgr2LOG@qsv`Z zvS?o5^Em>Ef5Q>D;KNUG|(EmW?wWfeTL6-f}TF$}G&>%h-@3*&??=KGLbFzzb z14hbxQ1{5#ruWuJla094466wi;~EA>XHW0osx*^JP5alTVZy|H4c>CQ{uh3QvA(#^ znEa9Rni_<&&zlm80t^Z5x9R26!?<=^iy6`Y%q5@u71Rv;gZmn1ZlQd?=OtY8lIS72 z3|zw1dcgYp=1vsHg4WeRtv`!w0J6=y1KnMa0T-m_>-@?0GyUhyhh*l9C%ko6d~)k$ zu~DT;TVB%OUejKpVh|;uYk4+s7lZ#@`#GJJXD?*6l{~j2Q}GuAE}UWjobqZXVQ!?n zVK#hSYUOGLd=Wa$QK265*w|o`Wb1Fx{>)SNeTAJx0fx7H7=f#lP$>E0I`8usf#TDf%*Ag{)oijE%eH9SBErB$t0)6 z1JDi39{oXDvQiuV9s5p$TShP)Ey2&aT9Dr+xzq~l7Voe}lBjhtrJ@>4zJAI}bCHCu z%w$v-US)eM=9Tvq`|8i@ADUb?+F0dohPP4~r2WR|5(^=?K6e?Sv|%1tCUDUTs9|{H zmGxGU8Imph?#Jq1@OfQ<3-%sJ6@Cs7|4dcmjZ9)E^`?^(|3Ph4_;VG4<5-+Eu>;Z6 z;rx-2oezB{reF(D>z_1&jg0sHbLa70+vD7{Acf`wD$dM)*bhM0$>C>)_K_aayW9FNaUgf_n0z{Q04`Z^ncvg$gRlMLEw~nG5uSPwIcz=Lq0$T}Krr_gVWZ*51aDKhuroEtL zG>WUl!Clz*#4XMH7j*6MxIWNQvHbPiXHRaLAGCU<_%M^d(3$+VTpK!Yrv5rC!9`d_ zMP>NEVGI8HR{Z}_Ioo?d#!*D|mlY!+IzXiCr57le;;L3BwJA)8V_4u7C5zF zr|thr1vK7Rh>09eeHK0o;B{m>W>fGWrBT4`>r7O9cQ@Rw%6AE6mBF^V@VgO%`cI4 z$p-1WSi(Vo(Z9U0V?pYNYZ!nlU-t&k09y^6IWov55XeJa`0R({&=)dIThP<$E$pi$%0I=XH!%ooOc)^J z+%?H>tp*%fj;k@O4u2TNyAMmVIeD|Mhg?m`{TTo$7VeQD9~+re1BBZz+*ftXTGGv! zeRy1|?(He%`a+ivsx)a4QJuKnukcf7{gDf4-gEIJvI_f1RCgl4tj??8Rt`AjxxBzv zTFe-#x6?XxEb1qW$Mm`6gXJ#ml!54~YV;ZrDk%bo}t-t?nA@|M)hQ8R8F>#~=h&IEv@q9G?$7*AS-1yn*cm-QL={9}T- zGg@{IH=Zcc`Ve;QRM8Yplaqss{>k773F2I4;miE1>1`Ch+kbPh4{pXUpzLkBJSTE^ zABplAOGoku9L4o-i=wbFn6YN5FCaM!Fx)9MT(%8;8!iM%Nd?|C(`UZQY8-Z0Logdr zX(T6LOMH(GG4Y;9HH3KDGcq~$8DS}wkEhThJ)I6GCH*2H+YIyCpM-`|>LzSyuV}+I zCThh|_Lt^(DZ(Y%oaO>1+{Cr89&MVG0OMkXG=cSD*11b__XRobOzWQAi^x6MUJy{# zDrHEZPM5GUVBDd0-n05H{_%2a-`>@}voCFK((d*rflH(xwYIK28X6jyPW9qY@ksa) zT8->)=S69oVb)JicsOVNGnU_@o2LFufzKk1bBNSU%tTBKJ>sTCiTR+ATE!pBi>Tp-K@QeQ7s^RAa|%R1-FD(J_ydhO#Rt##VI(|0KIFL0W4dZ7}1YU=xL$sDx|h zQzxmvPzF)dI>k)Iy1_|5QOGYbRDf`N4-LJusTKW?Lx$kV$WRl?S~ul&MZX32m1XkF zT4lUThQ4{c7kcrW-RqJ7dh0p7&3UG)9ZeU|wl!c&#ju!aPIFE$xS7@CQHb36!Ac?+= z)tc)=7W-275{%Q)0T=OgR%(9dC=kF&XJl-w;bO+*i^)#7c=0vk`|#_|mhek|EvOj7 zA^Y{=pOo^@)7E8A9i<(VefepAB%DY#rd0Td-TP~4!_y-#|7#SeK&N~B@7GT)%xU{S zco^waf{=gg14RV&{}<~TIyyF{slC_vH_fA{rDs0&(^6u&P@3kgGTrJuGN}L2>U2TQ z@yj`)h{qBu#q4TR0_ed;OT~#oH9F#HZYX@o9n<6wV!J-(QXMguFOB z+$_0r5z}&=ytU;dvXz_B>&Eh%wD|U9xWxaMvlY2D^5QpBYuG%b+LivSD(yuy6u_f0 zvy72#8$g8rX`!`n9Bj+!b(?d1Kr7skJbZ}iiL3E2%7hw5AkWF9|A4lKTHBCyW+AU~ zaWyJs&=FaasKl9Q#fGKv-$n3%V-b>UnM%w_Ecn_$}u9c8hK=J z*%gR-O(eu!y~O-e^34TTvUq@A%Xg(>25_7|Ql9pQJlQ8BwPAMrx!cDtbC_%i@{RTA z$}^7D5S+GcDTF=j?O|*%xf<`8%yDN@V2&Lu*Q2@Efb@8Tcl$Hepp1A6=~bz+&>)

#S8u`sBE|@Ncv!H1ydYN=&ZrGH=%qJ1f^EdQIv-UHUv0&i=L&hHXnqMd66V#uEqH7h1+8(h{Ew8O<0 zqcejm1vcwEPn6$T9XdQMp0lV>5KjxxRQ^VKs#JQxvni}?O$M_Mk0HOzT^ErE8WDPH zB!fIMKOw{s?DIf>B7uF|^I}-h^nEXY2 zWXd1dCg{|4E=A|PKi4(S3=_=ix;f^c8!C+bK6K9DLL~fGS*VP!f>K&vz*$Ovloo7W zC*UpV($!W{-tXVeHjPFmchrl0Rs;wWLK;{O@n~m-7O@n00KZ7~c>4rJv^i=!R+9m(vXZT4juQ zINc&;2P9k*GNln5+8q981VtgS)$l*{g+ZCYd+?|L+A;lb|HK<=2)cDn_M==x^=t)d zJZlZ{nkFMN5r2DTyx5-(bt>7`Xi!R*QdBzUdwgr!cVGs(CXnMSn*@B=7dYw#~h z$DX+xz7%z8h5p(P#hqu0w*?glrzPf;7OwQ~5v%_zXJKpJwBMI&Ma$C+KAk3!`HQ}M zQJ-oMNKa0-+c7P@a^*^Ke*U+9>ikw$H@D)FBm32%!l+Q5O;VL-cdLgM&PdJ(DFo{c ze3m}h{Z+qIfzydVGO{N14J^JEJaIesZkFHlnj2nMJx%sxofQk(X+~N;+VYWt_CDtp zMl67Q#v|3VXk;=UG-iKI67lb$D~9E`KD1z(zMHZn3^Q~csFWbo3o>;l?ac%PKOAPS z-e?rpmUJ?azq|a9l|Lb_;?MnQ?}64Tt_(AdOX$0`L1WY+9%(YmeOjx<#LdNgoKJUy zS$U|IJb~U3b6=_uDMc5P4G7b?NIpXy|igRm>xGu9e>MAq&u;_|8 zq4`?7P)28oY~t-}@}y*Ph^OlYZqPT>BrQh~!+kRT3G>6JU+u$L?4W-=XC>u|Qrh`-&6F5{)>tTh=Rg~N9I-T?%WT={co|$2G&>7gog~-sP3)eNue4uFUm&pqWSJ`NE)a{hFz9s z=RUWKFK5Mii+V<8S1~9Wt_3H}7&kc);c2?(-<(0A<1H9NTzPL+SuaJY6zb4jV8dZ2 zMg~&Ou&5VZrb&ZM`zDvO+C)c1@Q+>aM%lHcn+ws&ve~HGeJy^&klKAlv!ti@NB%R= zde+w4N~qxx*ei6vP0~4!cU8tnb#+#d^?1+NGjZ=|++vBf;&^`#U5C6gSt^7HYYDvy z^>~&Q$W&-}uDRBP&q*F(cdE zD4xg&{;gvQPy}JRK$j+0c_3 ze)n!bAtwmbU2oy(#d`de-}rh`ya~Gt!G!R>)h35l%CYDUGo*4D5cj(0>!^6*2VugP zqO;wr4?~)QIZmz|VN>;{i5C)@Vm~Y&Dy^l{{Txs&U!R=HYMGZyLYKdMT0@<^PAPKGI@U6wK+ zbXV#+td~pJE2YlvO?x0YesQl5+Yf3Ro<1@HEsc5ZkEi^4^>R+!>$U#g`Zf*ywRZ$F z<%V%bw|BTdHaqh4GUDP_wJC=`7V_%Oy~}gRaBF{sH+vYeJC;# zq;$_s2Q-D&pyB>)?h2CHu6ggeu=0(*Iu%F91d=`EZe3RmQxk4)HsNR{U}b@PO%B;h zr-A`V+I}mTAv`(NRjN;CPpP3#b@7-Y1i@*t7Uqnj017WoVO*eqb~VgvShFkE(%h;Iz7Y z=xThq+3)dUDn#fBEknLS*DoH;_FY|;rNrwu|JDgcpJi~{QZpL0Zho^txBpqTY+H!a zT4RwPJ#VF7NL>!zXgB64KDMmPs<20hA}&8lD6@;*;GeQ?$_f|y{8S5ZtFxS4MiXRo zt%(LJJKbf(obj|dX#J9c7*5ov)$?h4+;&HZLUv4~Y1{+j$d}MF_Wg}`osEzfX;Z7> z^2>g4arv0SC%=NAg&d!F-faXM8csziN-R)AgKL27_sQ0gzjm@IH9~N;)39H3nZGN2 zRRz=;!CmgvXMF7^o@jb^7G|a9`;+=v8vt@?x~o(uTWnOd+cJ%^ku(TJ1hKNk0Z(3j z^TSp`#WVL1>}WuUH#3oUoG%~yd=~A^Q1i!a@)%y@;s5fvUs}->@stQt(R-B^Hu+h8 zl`*dTHEUHF$B=sK_Je{s9}w7hX;9L%K6;cc*pfO^?%MuIMw@svurFTT#`o!f1R5g| zGVrbH3j6-JXC|b7AM`n}xP10qo1T!&2|=_mK2T!&UDu@ivuxj2zi(IVR+WfFJ z0H^vPDC7O;O`s%m*o2aVf$?qlX6dE%fQW~?8CP@&%8@heq{}r2@{^!97+=<2W9N4X zQ8+ucnyQk}WN2F$Ii31uMg3)11;>Mq2n%3!msjxpD*j+9Ervm*slzj5&NFKEG8V*0{NYCRd|*ITtjG-e-2fM=e7!IE#Jht1^>x zKkRWSuLd(Ku|6Eh15)IJKomQBrR*L}x&|}LyC&IA<<&s{m%CDVd`6V54L*B@!szx{ zZM1@1zROpYT=v`Ab7|De(~qTBU}DuDW$|xXZ`~LnX2M?!+11|@#>$Nx6AySoJB&D~ zp%Sine);e3nDV&5HoP)=^-B@BK@VCw={XN4ch+QqCxuhWH0Ivtp05zw_GoW|t)B*~ zegH1`7iytxM+zAt`F@`5f2TFABd0cRHJ^eWq=VW;xGs9hd=E;fTP~y>G#T)TNPqsQ z^AWokZ^H9RTp*Oy@7XHIZ9qzbQ|;A^$j$zdBp;<=xRnG2^S}6t%-w+z_ItSl5(e}h zD7I5CH)xQl%pZC{?7F0Md~vy#~(RHl9w@Sb>Hc|8oRJKy59 zl~-35-Rv@?^4}F2|Mi5Gn(LRl0SA4hDNe@dG%I&-iKwxH{goa8oS~Xae8^t+$~s#E zQ5+fn97{$RC#6{D4_Ek&O!ce^>ARtF68H71i{c}u<39ruu^+HB2HLo7=Mr|D2$ew= zWb-KeY<$CQy#!H!Fr*D|%p%?ZaC|(qX1XEUXbolbIm@!{8Ri{aia8G&gpEI`qx2Zo z68r)L@}++1%ov zABPij03^}y_>`fas5v6q30xvt2QZ2peMp9v=WyP%`zYFQdNThER%0=_8qU*2%r|*e z?~ul*k7|dFNrUkg@Yu|=EtS>Ey&hh@)yjZ>6ixO{{|IFYS4w6-A{vCo(_|5B@$f_H zX18UwE0rMJ#2C4cjQ5r?%%zkVv2r+RZERD7Q@B>41L1I7$qCRXj5^%3N9jbP7A(IO zCwUXYSIqDD+3rZv$iHdxJ3D$e=6Bw(dH`f~d`+_x5Wn+9b=qj6B?4ThR9gX>j^g1Nn*Zxwj+>vDo<=|upO(=8RNkFGa~UqVIC6>bju^rUq9 z_YIIaT5gTmTr#J`dK92l#(n-h{&z#phh##_*|~f|H~5i^|BqmgjK2rnirhZ&L28Wt z+vAU<*JA>Zi?RLX8>Si_4AvNPY;F?BsZi^DN_AK#q+NPjRFHD~B_`zeeY#hR6e0AU z4o}t_6iI6dGLnE5A8OU|NA_qJZ);2{L`5npKTh&;VcG$t(zI3S5=HLSet>&;P|9!s z21UB8^#Y#aJQb8kCAi53lA@`nVbtsi4XgndZt$1mX+`hXHM}EFYyr1iry}uU5SbaT zm~z4ILq862*qY}aax)mjq3v44AvQ2*0Vn$K?-8E8Ql#^!ge{3O!PLfl!m&BKf9#W5 zCx7{ONYLr)7szktC-L;N$9m3X{ng|VUCt(Hzg`lvM)syhKR$uRTbA@aLC-Zlq3$JlweW>);tV!xnRR9OVyFl46iwJwus(YcsAs zRJ)Yi3rc_c&9_ECVduAiTpEsu-slj|fA^jLoDj@JkKh7hT2PYB^zBArvW>2i_oB(; zjbn=@LpIi7Z%nohH(<>!JqJ1XoW%l4ZU(D7d*a&#CJJb<#HwDu!Qpuk>9;0+IG~4g zDj|=@>nDd}x_IshZmyXoujoE~Jsae#@tl@XVphi8h>1?A(FmJXw526_IhxW%w9XS0 z3QDq3Y|4IxLwJEX9}=Mv0EwkexbV8kT?>-7c}8CA$48swMgJ?m1^eqn>o<@bW6W2i z7k1`fr?qazSa2cBC6_#+;>2p^-}5`kgDDR!SxKT1wic1 z(WBzN$_fJ=!U3WzV*W!q$q>Lgu%h8eL2CO`^ayWsNM7=R0SRZ(iGQ z*95x3S!W&JtV4%!)wqMW@h&b#%R}d03Q^AYfw<0cA$)nfdcB2jmS_kR-3(7#$vLJ2 z_sEWw=$7&u4zo`kS|Qo8zNQ zpX`2$soVhX*QvT_jrB>D=cP4UX!PCu_%6^LSS~s5IsI#9)dSW`?%6<^+M5!&ugo(3 zGX}q5D5%;L_{4|X9%+2l#BTwz>IE?eeoA)NXkYtWrB5HG684!H4d*Vu`uW_7@GqM- zFf%-IL0$(ie+(>89tOmq(HpdcymWYOxVNG_3-c(&1r~w<=@3a9DjWGRI(klRLl$|z z^Qn^jObn@l!A4P?V+BNj?GyGdgqa&aKY-1(bvZzOrVKY1+fYW`@f7$Q;L64{J-+q# zAO8ns`2U;u)c>#XZ~rh}(!4mr@@2ZY(%eV?#Ge77T^har)@}c{*x`Ro#{h8_k6(>8 zKPwS)P825KMe#f#1>r>KkDs-ysHm!v_;~GyN=iz0C0PfWrs*&96NX23fvmMRB>;A= zdty*{-~~2cBmLwwkc|<_`#zz`p^5{leBf%!{3OQOO3Z5m=Jo1vv7-OCims=U<(0e{ zT5H1`RIH+bp2QlfWLi=ryxGm#Rf>c2Q_88pLXA$)W!1J1KX=h#YAYu@q=}*OGRc*H zhB}AvSS$0tx0IQ^G4gO6{3!Eu0l_j`yzeQSA!i^`wKZG(jQ=D{iKxq8&DnYa$g&IG zJT{@fZsz44ykV_)kIF%$Y-6&kGF*2~FBLOp|0qdqIt||b>1AiTM|}AwJqFptwXa9m zzZczYDmutLA7FdLs}F!FK!%0X8Q!6LqF*BYL33DMN`2?AU3#L2dI`ju%Qgd$lmpL8 zBP+8Lup>-JPk(w@Y9Pu8$i1mZ&;EKKAyEDmRu1F*wHE5qe~KclB5(IeKVTo8HF%b3 z)H-y@k81HNBoH}OcJX$(m?uto{@}pHZ-0_UXYd{hMwJ!FR&IPpb?pq1x}lMU7Hl6( z0%F`8%I{CO3>r5#z22e~8X-^6#xt81^4kF#cocwqaC~P#&%U0pYueP4Ij6@5T70^d z{r2(mEA->j=D~bffhQlF78*2QhXgS2WJ3T9zUAddsN)jpT(WAZ{?0YthktWTBO$xZgkEN`4+0VwG}s1nbl85wN??Z$wYJg4cV`QC2C>PBx#??9ZqX)MIK32?JWhr z0kG5ZmT#3iQ+K&87MV4|wPt&IL1~uMmz-)v_E zwq>h__7D?7^I4Yn)u(h@oYTR(5nxVEU$r|w$krSm8S53X~N1! zT8X83ebv;w-9o3)0K!6Z`yxq*`hI2@+0GD=>+H$zFvjepE6jzwRD1$WHWMSxHCmD9 z0YLhb62HK`XPX{q%k7er!*C!WZqU5k%(HH*+WTpoCC17=Oo8e2hgUo~N!`my59_f{ zY(ft<9=}-CMfkd$(&}6N$V_@R zfEc4n5}*a#X=jyAA^aAkFkTX=cw-&nfz4R&S>|9c0D&Htez_5O{ z%)nu$fSs3DJPU=>B5nO8O+VluZZ6)|E9KajiWw~~xh*_u6MVWsTODxi%~4|or`hbi zAoE5IT$eKq!2UCe>hWlhtjqBfGTWGCO0?@;<21O@ve`1jZfe`;-7hHu=$IdtHQ@XBjo1^VOKp)Tb*udTzoQc;b1^{O>^ zwKLkL<|}Kx zy6qi99SFRKkogki80YT7&Iz_^tcHKJMS^A0uTqp`JYaLh@y1L)Ar$emf=x{f~!NOjlfYmGKDLZe`u1@ToCxZ!8@I{gcRY`qdln#p|S8d zf>6hn=@YcJ&K)BeyGVGPp=dsmlQ?EHRD*tgr^-fV0ah1wz~vI_1tuhSQh!k~FBd|V z15!X*+Fu$BOj{KU*mB5I{gmHO;gx3wUg8!tEPW|Ltv0)%S%U%E9>?}U1r++7kMz5kVh!``Zmw`-3rz9yMYrQRJuy;mrj>G4qif( z-T8ddM?b39Vv{K`s`u(^$}n*kvp2qcd8-}i1LT_?EMi6hgz?Sf?==UN7g;W=5jUjl zU##f5UeCI+_1Q(_UVhqs?|mPJUtHn49UT%u*}fAW+`p*dU+s3nT3(oQ5dBx#4#Xq_ z3oXOLB6CnO_ZMCUUY`_9QxL6r%5mtUXtEGtn@ENyKd1^4SNx*WLL_*w~ zrY(2*hx{v}g7$ozIPh(1(C0j6ybWiN0qK$*3i19!Oa%G zSKOVd-qc-h;BQjoos3_7`)4|`}kIMP_W6$ zep}1<)oqjR;DkjJg4W#JaH>^3!P?KsbQhcG(p{(Leg8%0P(oSCp}$U?$d>B7Yc1Ga zW4U2Eni+1RnD{lhB6gE!4Pk26yLMbuHk@0afjFc_a=pME1F@X%u}QCCxwlR*;x9WS z-kA62hc6^8V>2Y=)&LeZCC={mPW;K)W6z8|YE?V~vze=U_n!L+A`5aZGYZb)Td6qf zSW{4tqL{D=epP4k+tuMHIN;Vfj(g>CyP1;wy;%OA!0X}rXyzu%8n5v|4nxns+ZMxR zU7wL_G#-sJKUYWHb91z35$~%rUtp``jA_YmHhD%CmkE?-^smH8%)(jg z7cG3S7g53I^c%A0cDqNadk&?lC_~X#aWSA@0?8DaL7;}YVt=FN=b6*drl7Tm!alfv zaP5_F|9B6?hKwf5hWSIt26q4}<3O8}`Sq}d$$qoX+N6j2ZjBW7zOPBAX5MD_W|jq? zTx_;!FZ3?3?L&xDnN>1+e+vxu4K`}nM!v_!;Gh}jpK)NuREXQlBqlxsu_@fsVBt*E zy>pNx)bTeqp>cr_{OmIG@E>eyF5E;s_0NPHK^rcYsr%IEi|q7_O&5!flq|p|kGCz9 zK{*!1E8_5p-;wH1nmAyldvKZRmDzK?jrF<5U5_uMJ|r?sA$Kbjv)CW_iobxiN!S5o z^6s}0KHr-qNpvXb)wfa75EP7&CQ$CJkuj5df9SLob}K@=;9$efvS0P;acFCFWg*MW z4@Eueg4^yXb9T+G)jVLqTP~ErNPht2SDu}IHQVy*wVy@*^OQG=W#y%)FE%K$b)40r zX~Y%bO!K=l22^{Y7nE6CWlWe8=u$2+(h!=&b`aVr=*eh(SGvT3EkgAOPQxZnpQOA+ zd#HGt49dTC#cz@+enx1F1?yo8#ei;iFHlG6tR6vdtHJi>8h53&_Wk}ykE#4tYA}1> zy`Y9#a1%^Z7;DaIVw&AHPe&B^{#wd1$J8!j4c$#B5Ijxk)~Ge;9&2%ndT05#N?*;f z2Wgf@@M*`wbY8;&^A32*#t&cp3NZ*{al${E6ZQkYMxCs=exZ!SF9`2t91P*?I`{P9 zysl0gENKE>CV0f3rbe^iv@_hR2Cp&M@HzI8AVTZArJ{I?fN$8hfwQG+a`*e^gDqZy zwLViy!XCIbd1sw}zIIQRjS$pQ<-TIN7vO2U-6(j9w~EJ)GuY^65f1BHwq#DFE6?Oa z!s1iT4i2$;)86ga4~X-;JuzQG1OfM;^Vss6-~1Y~xu}1luXhEQ2fAz8b*Lp^j6e9p zz$mG_fzSvxc&1DhZ*bfDo_7r{jZn~Tw_=3)IrUk5x*}7BbOrQHgrptXOH`BCN_2|tm#!{?{50*LuIR@&D`%G zUP>S?J)!0@z0D<<#5<=q)bJwvV^5jz%QIRhb1=4I5k*$6e_;}WN2%?Gc*7?TQf;hd zQ8k-4$3+oxK_Bo1wD_GjX(lT@d;(o9R(7|f<2~V-!E+h3^fM3i6H-gEEsAbjw`I6L zNa#97EE`-uUV9(OS-_i*{JHEQRbAedCg)}I>OCea@3OqcN~x6A)(Myj6NQK)aD{n`VIy?vvX4os?up! zH=6*;o&=jd6_#@=Eoj#6FE zXxs834TJO#g(uihyYG>jQ&VKME61|am-s);^;Z{Waos92tf568+WngC^RPh+fe19h&%uT&|p%0-_?j3`9vu$vbEbRIDz4y|B z!Na;amjrBUrBLs@H>4&Y_U8PK8Z=R*&Zol#3=A?)v&Z@>Pv;+QiRKAi81oZ)e1jav z>=PSfEGl)^(!uxhy&od-eP_`oGFx`GX_${*2~+Y$%c0|>Ps=4R0=+C37foA!vGRm? zfA7e7=yeYB$C|HG$Z0lh>XQv?!8-=@U)r#DV#DCB$XkaHTu8!|_T&XvKe{;yWKy{G zF}v8A>t7<{&AF(aeP?#k zH~LCeX0T+H7K+{dPl!zR({6Z6k zLv=ZO*bHNOXR#kVLMvK5=FH52!`fviqAYy)4)jbx;SbZT114HH&np|^U>!JSxc)Tl zh7KE)=N_w+m_06T5rni;nZJ0!KK1W)M$+SL#xWt#Xq>+cb5ZQ@x%NS__Nl^~5^r{q zcEgX9mgRA8aUC`4EAdG3aj010Nu5$bMR2v7;1242fs{wz%j)~i23F8U(^h9R`=pY; zRsY7$&`m^__T z@3##ck11K9-qfK3^jQWkcZp$IZ4u98%g2Z?x**E40DHiCe|IMOubbR`*5qjNrRZ0? zsk%{tlxbgu5!F(B&6atUirI~1CLR^?()aYNX$@|nI7zkdILh?J1$N%YF+JZu@=Z

}ukB#asg)4?b^PhH0mDD`)g;)6Z-HwY0GlG87YO=Gea2T<`Bo=m$>0cEsDjAAc z^^X@74^eu*v6=oG+SW$xB^NZuHy`QD9hOsMML(JZGy6Sh_qw{BRsRHZY_(9X?6lS6 zQI1-xg1de|#-GVgc#4YSUqeRi*j8M+dZqTw+8V;pA8J`kyov)*M&cQ@p~f_i2hF3nhT5qO3NfTzS>XtWY7-p8+df}dx zF6>Z}%Mw^`E?V7{D>%e&W7@xl9g1}G*2KKTVhh=vEWpa_z=qzuis_|=t(kfcoY99h zK6!p5Gj{grM?hjKPUn<4GPo3ZMuJ-px!3EARSpoxF%A5IbEOQ?`VfAqRJk0v=0MEt z|1cML-GnUI>xN`{s?&SJNCE(q3=oaz%BXNs(cM@4%$#Vg`Bm@2Y*D6g?<1dA{InnM zc6cRIN@t=T(yGT8NH(SQK=1_UWBF1$#`2;am5(A>89Oh`CccTL)!OK^Nt+5DZ8V3 zPr>4^ODV-#87VYQzYI84GKz$UztCEyEGqat?Y|W-sU7!m)4%w_LU?$-UvzX-IQ?}_ zn2Zi*(~Xy<%!*k_5#!dLPhJy|g%K0#p4fmDSQ^Qv%D=vZy)VyB>kRTz-}w*WQ9yfm zn2JVuonB-Tr~F?~%&bAd(`=kifyU)hT9`!(pQGEibZY(nbh@CnLeRItU1r&Fb$pgN zr@#?!w4P|{$DaV~GipKZyV~h(vdun4+oJvxm0yYEuxjoVBU!G#DiP3^xp7jOn`-B= zpg|(bl+qi4hNmrx45plad${D)h*2PInN{1`aD@?+ zV$}fFm2usYF}Nuc3IxZEpK2!z$0SiidL_zA<_>(JtJu}T@&a5r{ch61?b?QsHty8~ z!Mt6P6elwrL@L_bk&}(cuo+7eiw%0kY^h4WnWyqY=})HMQNKcHH0sS-qpQJ}N)P*f z_B}HgqurKG&r|<7M`zW~;H;=r3%lU{9bWUp***7Gl!~A?GQ;_s1LkedL*f}*KKiep z%KY|=dU=ci#mS`q4nGtoys`*!3bCgW?9JrT!C6ArvYEd97~Oo<2)mF-tG4bevG-bP z{rL~O+yQzksHc98&-p&liF=)wZ_BbGZBILlw1e$VzB?dUSv>~2DR4Zvlu810hI)JR#`kIw zY1XpO-NE2oY1hKvC;enJ0?Ae$+P93)TIPk8G$d+r`c00*)A#Cn{sLC2H+K2Z4ybd-@-lLvJ5&hoyaSE8N+O-No0 zHe~EVFCdr21)yAZEFM*!D0q1W`zVlIb>r4W4U+#LMcip_41L{olefKC7u!sE#e#=69TZ>F30_;03(ts~0=$xpBt4 zq*~1LiU51v2m72t9yLD9{K$&jtFdw-K8TRC1>*vus63aKnoHxv5siiGEu825joZ34 z#GWR#P%5M=00StG;-cKA-4g!BIg+0daVC#<>3fd&qu7Aq;Ipq}S*hGAVUl~P?`$lXYD>1aX18R3&|rDs81K?dKX-O=#R#p{yLlYnQzOgO9X1T( z>Lp_`|17TWKa6f5YkZ+7k2~Hx=vO+q7EAVl>4cGuv?1^w%fsi%^()GLrpdr~83_fr zminu1h-9yGftmhk=cKi-WsN#id;f%Wy@&@INVImB+y>EZnt@ced4T~jsAYMS&-QD0 zIrc(hpOp?Xp#NlINqE88<|q(FwJy;A70Pg#rgS-0?`)+<7LBgc;fNpheb$nN5m>6` zo_>xymaBc2x_~sY#3J8xG`RiwmV(SYFgfjo$?bn#DIt}+1NM{0#o6{vn|baY+n``y z0FWkA_SM(HtSyR83$My7Awe0`1F1t4~|zzsno~bQvL>1!ZZT$+0zNG#yDE zD;FfRIIl-j1VOt&?78}bVoC3Uz8w{`E~#$l^M78GVrGkqXyI}N2_gc{q>qEl@u9js zvpUS5YM~B$W?7B{9_9fOhx>caObrbvm?XXL%+|2oFy!1sJ$~FI(w=3-d$n-TA7lnT zxtXv?V>ubg6ba&w&)^pt)PJIB99$!PceBrFis|xAV7)W`p6*pP<@Pe{hs*|1k|!Oy z5Bo5OG&tueCz;^ytq5>$;;k}?lH;6w}pzPPD6?Juzp!H>+`8 zQY>)K8D^{|74V6$auczSPJYign=9a}H}B2o0aEgsC3iooBy)75|E!u2ppAZk19U*1 zQr^+6;@N(#ldHOat@SQtoTz@nW-nFN8b%BRYXq67-zdU8Gp+SA zDf_Jrkv9jV7~!9)zI%Ky`U(q1>R_M0MNI7`Ep}L%g#ED~pM<`-=KyD-e%7>I*oEUxQ zEO8U!?XUl7usID;$@|DgIU*{V!#%(+O`r*iUcKilwtl8dZQ#bfkvJ ztujvZN#=u`hyh|(*fR8g0MbaU@jLpY5cQGqZW)vpy-tgKM}KwGA9SN|GNc55 z0nh0S0dn_3Jq5p>=#ty^N5ndoHm1S*oFTAjzjN?_cjfsqCBCBa#N!+l2dolQHM>_* z^1?jQT}oFhaVwPJHaVm3K;lajtMD&1{*|3oi8d2oRhDOG9>RBSenJLRk4DMZURs>7 z@0~RQ0Eri%urPn>X-p>pN<#&O|Nffbo(IJ(PLWX~h7D#ae!A%XzA8}@-?O*3gs@sY zkPR?)1DVKvv1#v9BLc1ug;*yrjezXHu`pE(&=s1FyS*&ksXH0gTXZ-on0!}Z;`(Rw zHn~o(P11ef|GPFz3$nW{$bqH#ghZ#nhV{u-0uxVPT*O@#*}DWeKS2W8W_p1#g`rF$ zygXOFWw$He?YOK;Q+15(1zZ7Bj~!-jx*OQv_;l$7PN`MCpjY$*Y19L<6vNdBw5byyT@e??X5s9_Tw*2a^voPU+b48`4k;g!NBierj)xphxg`F})2c z{citW68b+`!t<_bgq#$Ylzi@pgKXbElr4WBXt=y@(F6>v)Y|`4CCovmLeweN?E6HX zm{h&-aFUOQ6WE#aWPnu1frY)eXck|pEze7@eONlxJ&)(en%O3UBrQIoaDSHDWz+?W zJa2p<{TQuImWQBV%6ss{{=?R9U=a&}%0qa4q*DMH0ZE;&1Mg+rU4y5F^9@O0j?qIV zb1vPj=HvQ+w^g@ZD)Fgdo!3jQ3G3b90luj1%O8IxT+o+4EvD;0Bcs1M=~aJJ$iEZs z^70;NI?AL$&EbU!&t+{pKt&xJeN{o^F3;t(&pdvo)6vU4{xK~;c1bEf&*fav-jExz zRM+a=A2a%2OaaQ>Sbz|VjUc+ni4~A?|1i|WvJO!lM}p>|P4X6<;_r5OW(&*+;L3h{ zt8?oWkl@pg*^_{CY#ex$eg<9hE0% z*@p~7@l?_;bsY4A+yG91_QE*IZDJyP;j<(<-a!s~dUX`L7M^1F6P`t5!0||c7A_af zg4sADEU)6t#18q50;dffV#Xzo19x!Z&dFmGmceW@PPrr2d} zz;7=>#jOf_+QAjkF@4tCKZJEIsTW5y4weg>9enoP$$UBa`L=CjNw|=yG@iCCkw!rP z+7o;<5Fvyf{bi?P5T9~2W5eSXPs%*L`j10_51T80#aUmPL`4agcYB8a@kTz%9E8i0 z@UXv8d&U^MGxj@s`(hCw1-TOLLYguRIM2;H#0SCYXdqK^^|*RLT7?r ztCWPfuh8tpjUR?18;w>LAR~G=j4sxr)H+Oa{m>6D-d&&J9Q~s~%ZH%#S;b&BS?`qz zV(Ih5Ps|=hdcsEYQ_62JmvZ5g_*a5(E|kEaNaI+zRo?cYrr{D(Sh)FxVWG!^CvLy+ z62DAqr9FcD5vkD&EUxTl=g%MW-Am6uGE=I{k*hpUl@M$95UP>MxV_br+6ecNd1U7g z=c|sNT9LA72zMTjo*Es`D>N#U6{#}42l1VzoVnuoJ4yA!oyS3+*xH8+iXZMO zW~_f~x{wGR*7C+4^-~$db3F1{6)_SWt-vh`+bq^Oa0-r8Rl9F$2OVfVipk&}*Vouz z6RotVK7F2o^I5E;&5JMp_7SbwR-;nrNAbjs`Acll2RnZg`!E5O_)!HaXe-^py$8CP zsaMN>WWQOh(-RtP4Nmrv&6Bcy3gAu#;T+^#?;7^zHU=Wz{c&is#){I~JAKllRPyJ{ zOdso(N;bQkp3Xgt{5fv8JQzrMz(mKL4^YmU2GD6JhFDPZG6ep!Dq(qdeFVjgX!(?p(u%A8f zGqkrDIl!T@F6Bl`Or4Bpgokn?_3dTO-91>nS#8ub#}4Ce&~t0s`7@r6TC!(V-3kZa?0&_x!+A6K%FRX#gV3@+U6{3K!f zv_!w}(9zM{0oKA&RY^RpIGt>(0Zu1&1Z;jX`|M=$9LB4c*3b)dc_f~OS>=wCWUKpb zV{`PJs-yRND7$aBM)y>2TzvP^{yxCNL%{TWoee4ch3z*w;FmQxX7Vfjhpwggt#)3? zVv^ER3)?1h3w?uCFc6pfef7zYN4TP5A<>sIViLZu%Uf|)5$dFxx3QoPqCVlmS~22p z^!wvKO%e*IiciHZXHk%fysc_ac1@AqWXcuhI(c1S`%$NmoJWg7{cF_lHQkI75m17T zcW0fRKXtcv&q7wN?a*aiCoskD*MF&xF;{IGxY^L#1f_0Ubc>Etnvi)^o1^!u#A2{wsJnpE%O z2@Cyqf|Xj!;lL&&E#C!v@q*LmYYP|3FYXUzT`|7kJl0;^a8)e20e4B!orF)Z_Uh$a zd(j+knd|yuk&tUqkVjj4x=7oDTFH3tbFVB){gnuF4|Yj8;p3*6-P#TQ)1kR?Vo&E7 z<{9L6=ToNWLC1sqE#BF}*o==J_}us+{<(ISp_37Ze0<@Z55{aIN#9+9JCW&~&c#~+ zr(>_H552R-;TYi)w=Li>*}Q6Sa+Jh)>Q&l?ytX*58WI8{+(+0I^d@8ZUo1&Q;>(dHijo2Iz6dZkXQR4-bBh zCS4)Mkx#m-h7}7(9eg84|?(=_O)ulj6YL6>Mg8@Dl5Y}$**+8nl{4Z!vzMemkcS6I>lh?gvPmN?sPFPIzU(?PsKh~K+)xLK1m zU|RLFwK8j5@J|3~OV?Cxu$N4DI8bo0aqhnbE!CwNRh1f&{%Bb-;`~vR8}97UZqZtr zxAC1}$zbstzaPr(G@EAxst4I^`Stkl`S#fQURcsZlK9}WDLez)O0{a)XQ4Z<-r>I~ zMYf{YXZU2aBdwg>x-J<=(czp@jMnp@{Byy2B9Byo zYB*HS4(O#WqUX*(6X4S8FM&CchZ43mh0>D6uO+@KIs0icunf8ev663V77K;8JA1rYyPgJ_oNSCnPVahM^ zdfgG^C`EL}#jG!MsXL0Vv7VJR6q+a->YB8yVPp;fgu+b9>GAM^A%Icb2l_9vO;rGX z1knfA$fJozmt$I=UgUD_Y3B)No3AJ|`#`Om&{5lutAcZr z{MscwFirOrI^;d2YIA3_YWnmbwNRhkotW2RVkQ0pCnD`uT^r_gp zU+)(UT`2xeqV}X&$}{J*D=>8*i(reSmIb+rxcdlM=A*p%pN~Y30zX<~eNu(mO4y|g z`y1y+D zQU`>fi}ob|3Z+eId5OjNapOiUlQ(AmD)p=HcU+7)Xe)*&y#uJI({Hs-oAVgIEs9s) z%fCgKpW8&Qx|Rf7eY1jElu;Wb*o$V2ef&v03bd@+mXuL4(>Sx|Prhrn(3(c(fEdP^ z+gY`7#Nkziw`d)FB1J4PZZGjI#tQq1Lv9cCHi0A=wW3QvO^WHkGv zc(YJa-OXA26&{}Obo}A?1-`rF%J}+R+kz$wP3}79D{S308&^OvVeJ_=*9n^~H9yJA z|2!CEvBqZ5vMjf+QD0ibG}G44+X#Ubno24Nn~+mUtn01dw$SyeVN{q?D2hfvR(I$gD4d|Gxo#UNH&zY1ovt-YH zSoYfRO9Skdj=j#V%IrS5yitv#*CcPgPjPO$$6(PJuz+v**|f(k8|u{=Hf%F~<}%)1 zQRF%*gApH_{z+Cr3ZaA-jP65yYjEzKM+Ya&69@oS$*_RFP`lwDHYKlwT0ef|j!- zO8+Gfs8Rpgren)BgA~K$3V4g0Hcr;Fum7V4ht-qq$*2m1-W@=?Z~7Mbgf#w&-ogb?X6eiD#bCo?q~#x&5SIx(2?xbF(pwj)-Ss9@*?yRGdb)XVj-#j2gxm|f3v`d ze=RX_1}B^2&NP;NYBeV(1KWUxW)HEhZt{2X!(tvVvP;oBmYA&N%h^8l*W}F7Y9DLX;IkbCn_$-H{xiTE6^?KG~iwTpX<$7(m6YF8`bZ*P62pZhsly8Ocp z7l?(_jX>oztSyhg*g#|9c8p>NZkGHf%17MBqDgS4@fi!v52>JbF>03FYoCM6TZOrO zr)ER-+K|`3 zz2I5UV6ekuOv0!1kGK6X1_n0%P}r{Bg5PnF_ast9vVq1ge33e8G%c8^C=RokBA`uT~ zGW(!#z$he%oW4or@n1r_fB?jh`J$4N->n^)I)H2-){KK@>n&E8OE(DeVZZTH!>o2Gk(h}K&qXXI zNOT)Pr6hv^-Uu(5c2(K4(k(9>t0w}3ntrFeFFk^u5Y$FE?k>5e@OMeVWozhWl#*$s zHBUxtmcP#tBQ+1iEp|Ka({R2h$;>7B^c-u&y@y+@>=iP!&A1LgmXFwVcmV$Cq{B}1wbljs=7U#r7YH;}jT0G4&?mw?M`HNVT~osiC3yAq{Uo}BnIU>NSO zAaaT}6cjwJ9SubwL7aym0pTAm(+g0qfh|^?xqBJVrG<0Mxw)am9J(<4BM{}RM&9nX zwcFgHCOwoA_jU|FSAcrEhvuR+KV_HT?|eOWmg4p6#)hnGby@rqu4}cX2@Dl7M%Swa zL=6v0-Iu^DeN~Sds?CJzx~8Usxo8LR^I7ZPHl+LZkuL(}jss|tt5Df7h?nBFGHTR) z?LuA)ch$6}gBCs5axzHAFj~7@OUR0Z!?em8xl4@f@(ZBuFk$$__#ME;MroNCd;)DGiR6{6U=;eJ^>2`~%eH)xR;Duq4hPI*GqO%t=zc1Z&3uh~*FJpI{hKg?HI)%v zJvLrD+?!a#GvB4tw0#qRJ=?iIU2qB`nV})FixP%_y|@8;WK48o0xi_dYq3Yne))Z^ z$&P^BAlaY-Z>He0`ip(0zBz}VaTZbLs&&<8^13Y0`05BcrV+3U4~)hv0_2DxSn;Vw zee3S>)r6aiC3M*PgODSpCiiNVXQ$x&0gWc#L;f}u&v=0~Eaftc4|oR$17I$O~v;>W#j%?c#aOMSN1v zBlRk;LCw+VUf`BDA8xJN!LC5(0Q<7mSC z+7Vi_2%OzOC=6!}+x&X}y4vIHQ)jDVOw!`s05FlR1mpTndaL5H`a_e7uY1-hD*G<1 z@tN4vYOWLf@wktUkYC5EhjJSMG}7n6T*0S3FsBDu!!OnXJ8+#D-9bkZ2C~U`OsUC; zcMsjtvZWClt{JPieve~!YUzym8slRg$&kGUv@G!Q9Rit3r$ik=<(f#NfTZoxANmqxxOje;}eAp)1RJ14T?Bl4gG?FE_? znBE8^`DDTk95Dw^aO)Nq+knKF@ML zQt7mR>GOAdPJcv2`&r9+@ZA(#1&f?pe54osrFiMOQewsrUnZ4ZL(MKiox0ZLQ>Wnm);w?BTYvznrqFFmeezhaAyQ zyHr}}nI`h%Hat|2?bigZ&ay{$C=arZy-!LJlzGqHA+6`B(6+pk^E#QUdy>JnrMUnG zYr=*EMU46;G`DXZM;bOOOvSkMqxsd=WLPL~iiAH#N)L){;2lZ=KlA)I>fQsWsrO$W z1W~XdSP%gzHc${ys?q`?AWfu$^j-r znQGcTbZrYc43x=*Vh%$}ltvPNw(@(D%mTlanXwE-zkGz-Yr`p(sc4mUH`mpT^?R+C z7%hW*@NxN^Q((k(gl7Nv1aq%3u72+Coa^gg&IoohM8z-6#yXIUT~2eu8dkERbkGCn@Li-=V}OMvzF+TCsQlO;=V2en&Gk3Pg*#b;bO?yul zP*Uo9zkM0S2U1?^MUaHuPQT0mW;5a`K~C2-A%FHyqv_FDG$Jid@%)yB?)ak}u$~RO zbrxvN%x#NDx_$kLq@KXIV{unS$87kvRLja$<9*1n!WJY6c15Y&*@&}&ajaFP`S230 zST}W;ci2d!OURT9U~!G7upw&3HRGxH`Rc)lHwG1)ie*2Umx9uG+;><)tjxz@rnY}d zLUZg}vl5g9duO)8{idxR54TwTrQYx~Ut8n485o|JWUS0A6(UiN<+5tw_|J(jSu{m@VhIM2IVVZvhU^YQBDR<*7n-r|$MrkE+L6ZI%+gs8EIg-bt5RA{n2BD_Ww3Jz5R zVj!(#k46o?w9KpI#QlVYbEqV()H((-9XC~gUQci(C7r$MEI!>oy^RLhH-E5gr?*);h>IZ6iF6 zoWz;ltyq~l)pVa^y80n!R)aZX>7$PYLgw!sJGhVKDajen+0bB$zFD0O{9zEX_!E80 zDkPIWqYw0C{U?A@-IlyW0iiuwm>u_*lHrjBCUO#J;aNz&o}bB#oNfLTeB&rPRls#d zsf`e(XmITQijA}#VaTo11kiosFfDU;j=*HaYm;D=cpm`>P}#m4#aLzzd_3~@=iZR? zIU4tmO_5GE4jX{+^RF|YdL3RHa@@(IDkwE--^&iD*;9B^j~Yd7c{+e`Jp9VfU-LRv zP43Qssl%lTgA2LdQ@U7oY^-ALy-8gjd=iDab6+f0W};%~ObSDwuc8#{Z8Uydm?{0j zB1Hlr@Zf&~Wd;#u5WPGopB{^)oy;Q&+~>nUS_iD@sTa%5QgZSa+xbye^Q93%SPr9m zvGDgck9Q_J61N@XiAHwIW51bzP?f`9`*sUL zK@3zU&n>;XY|229qmY$9Mju+D2m20;DtZ5CW1}j4UnGlsQ*5~LM~COcSl853cCMr` z2gb@ne>E%C-}q}m0eVUXFJCGmXFC$_`xX5FMfIXM=Lz!p85=6&G568uMITMI#7X4v z`G+9^2V@$E4P@!r2 zqYIv(F^P$AW$kHX)NFr+jwz~`iYYa|x`m>s4vc<`YXc42v`{3!ZqHCuubL=3e164pB#NE$0QYnyOr+m{&%cnrMc^`+b;oi&KCx>u@ z?BIT#n~l_rPd#=V1p0DIcW?Y|Vg+#CnURNWJu=G^qowcp4YLmtRQTplLOt^F1!Z{A ze|2v&mW6F~7`~DGBwt{)q96CjyYWE2^*2F9VrQ-T8Db45Z+PN^2(Z{_E?Or&bkqIr z4}dL(Xy+WN$Lg;IWf#U3^S{DCt`673@KREfN>-no3BFwrced(V$3%x`Y|p|=b#6YK zwG&nr*uvWL-XfwzUT4_d`}vM^a0?wJy_y(@l&FfUAXX9J2s_wqj5&;TV)e+@k>DQ$ zpk91MnQ%__*oO;rV1o+ITV$fEEs^-K=YVI z5m(p`q?P2G&0CAmm7;kg&)&+vqQ_}@A-zMx;_Y>_^tM+Q5?}Id+yyIS>s@hVo-_aE zOWJ9%%+At#aVI<05k zm}jojGlZuK_(it~O;@l7M$qH=s{Ul&<*#=s`6}2d5pVT1AS5RK?wxpfL9JZHbHHcx zDmLN9l7bRlo+gGj6;DNSb56!ww}_J$TY@sv2SvvbMU*N{38*^OU~7%>hPaVCMCNsd zpS$Dps~;p3NJspQ4P|Q{NNLe{Us3^Ky{v#~*TCWMjWc*1`}onOtyrEXQmSL=qgzJJ zYytL|^~WHiNn$cHrlK4Q;A|>1mW}Y%kf?u!HFbGd5BeoW!B1nP*szhuJ93XsL2f_r z+4GnMe8xUZy^z)S_p^K2zgslY{V`!X@h2j)<=qpFK9L4}Xl8XhrW%-{>K|v=|lZLmSzn4Kskyy~G&nyBnr# z3K*XU9P8M_TlDQB+rwV4%5ut%jo{+a@J)cdd~3v|jrB*9N_&&1;CSWE855~ZIrPCD zABySiUaB|swTQfv7ZmLkr2j$n`|HI}hpZB6hi8vRFU!+&h<>~(_<+}$67c4KH}%s! zI%W$t9R10`tUC7#EzZG)_X4o~HM2dxda@GdR*nu|Lul_dz;#QrC|kWp04yigTBF?| zu8~OadiP@zw0b%uS-tkEl*Zqext!U?3nz|P&&+FPPVu%;pG6#b`{E$i6F0s4*SVPK zq7wVe*>(u)Xde0Is6c`#&5HDvCu6J=QtTM@XhEBv#3-Zat%ETTwNJIOpB?v5QevuG z_h0j9Jo>w$X_atEL0cy}WxI{QRA!JS_Pt^xDJW~3~(fE`x|fH-k>epul6UmrkjoV$3o*~8B}UbPMW++y*Ka7 zW;$O;f}%f(%Bqjis>J@I$$5s}@;(>}M9UPk++t!*6^&t=h-cZrJ;V)7?h-Npu?!P2$TwQhYF2G1@6v4fU>WVLdzEElU zftknf3Q12t!=K0N%RXUgkMUC43R!UI7+6|G*hlcK0?iwsl74Nm1v*q0qOP0eQlA@= zfuaMM&_!N~k-6JUms7fObt{hTT?fC%nJq4G;)?lIS3ewkjRT$=Y$f`e_fP8DqiA#oQ%@W;8zwRa;1}!b;9ZPIY=+SZ-^F}6ca`A}=a%((2m6fQ+bn4u0^2WWJ5vx<5mXRP& zx^mtL2%4CHsZSQQWeS*~Wbxg#A>LsbdlRvi2}zF#HDa63)+$|WO^T=QB0E>)55Mb` zzgLEcDHOQBqiFo-F=$adb^fb?*tx|Hp3K1ewS@DqZEEB@Lo=3!z{I}EX>GXCY(M-W zRdHFo5)O4AYwBLJI45vbRx#WR%yEqKCHhRlH&u2IQ(pp^7oL^B7|H4x3YcyDb_uMI zU!v+`p7nh2&mDVX&*zF(*=IyT*@c{_4>b}L#66@2q-}9OJTM2US|8+1pg6sbRsCg#N{7>=w zZzXsCAH{j2X`(jHAaM81uvqUKjEY(R-ym3)y``QP1iKYIrAXiXjC?C8&#ST&Bp@|> z`tN2Ll)CjV)4YsfigfU+2#P9h;SYWjm~NBTTYG-WGgyDr{uiku zGkiA*D|658HyPz?T!0sz6u~L_1@2UC91fH@h3xkYf>)Cd%Gn=90-F?OSJQH$-77O5 zzmyhG-k)jK8=opBYBZVka}Kq=y|B`FWIXV76FBX#r6uY0cLn+;hj4t)Vin1$!9eP%{r>ucu)uge@dI@7Z$g$ zG5}4B_u^!4?X`R&EAph{91skql4*Rqfe}{JS$=QW7#)|)6|gs^;0sQTTg5($|EN|k z1W=^$_Dn0HSw>Av8@B>3p;ORS^9Q+$IXB(O3{l56h+z032tsCp*q$3`ZU`1p<@iz>YK#GEn zWchkk&J=+(bRcP=&Ch5vfK^Y5SFj&86eRfM{Fn8Yd9X6S2~fYkPe|F`bY5h-r%2x? zsNh}aH3@Wpc+Y9=p-p>`ps%KDVuCv?w0D<-MPT^AU<1&hXTmPgSF`%d!05%{ordG# zGWq(=Hb3a^S#eakoQ65c*9f)uc>j3P{pPgt#47uUUz^okFktX4j-)v|75L*WQ)!~a z>xfK|cjNrt>s5s9m6JRV$rK;Bl(;?xZjCok(7|3`$WxjlEV$wocHd$btukx-JG(V! zFUz3vHgi$TUL4$Yph|w-R|IJa#=Lf=zBb4>6chK`hOpNmKj0P14HYbxA4sUyxZ#Jr zUcX7g3#=X$64@K?F*aPFc|kOJpX#P|!l2CVR=8Mue2mRl+%(!YzD$&%KtRgCmFGYg z(<>B~=H_aisnYn5Y4I9T4Tc&9Yy%1*GD*jkfjh=fxdp^fdJ87vh-_+2l1awwt50yB zx=`C^Xi@T@1P*XRZRdk2gdTwbenVHxj>ARosUo=6Kj{j1ih!j+wxuSgE427KMNG4c z!h8rpcge%1i%)uOU%vl7RjvKmn3AhzN!X{P2Ry`bV)*7WV(7DbU#_o&ZBi!wF1B=7 z0Q0QsQabjApd&JTCny|N=#|tSQKoSfEn*&TF^rgbE4jqnJ2m^~6L;tMLy*pe9sbUDlh{%D>hmd^R zYM*}ZYY`j%rv8{{16ip)%+}tGSWx@Nf%d^hOVn^JsDY?R;hAnFrhWknhW2`Q>Mnld zt1Tz4!OCET@4=Nd9Zqs%ZAN(tn#=BLg?|KR4RU?MNZAboluthLuDAPn+ z&+kRXVFuo~dSTswwVx`8n5H+*7z!7n*^j(nITdvLlmNq~8x_1CA!9ze+2FWw;#{V3 zX-Ir_7#{JcO_oE}BSDDklvK|kGLPByGK%{p=QUH`)U{E6gQl61XgRZj=M1zb5zey7 z+ztHDB)ZZkgM+mc_{XNL1bJz5zmyD`@SJdoAy8o2)Ehqce1XmHAE|q#o4SE-Hx!Lr zk>3&64`og%A%7BSOX1o1I|K`Ss!=xFvky+Ar51k^i=57%1O{0uq&LoqG4V6gmE0Ie z&?G(x)nt2mUJ#5_r~_@~UE>bD_MMa-rkl*_c%DZ5Afqo6HVWI0!NivCeTq_Vu;D#$ zKDu4HyBe657N}M5rOqC*jQrtsiAf)vU(`pm;u^d-S#m#b@`o z=}f|6d-i&7mV&~t*$#xa%)Q+|HxH+GXW|xxM-Hzuc@^}CsVa}zc2gU-B$H+5f7M&B z1}W7bMQ^DewBQ>{y0I;|*&=^0eTu#`D_Rjqcd70tP>DG&<=OLhjn2F^?HE4|3j4Gs zrm1TX?tq{vupA>q2QD)C?RT2Z|Ky? z2t+qgaO;??GDt~;%WD8SNir2C_!T#8IMyzB=(BSk!`XrraM`{SeoDVh83Y7RS?Etp zPmkXSJ66LB(b?!0*7n}d!$hhe*(9z__-2#adX;BDm`Q?{WEeCY_GG>i(zfIRQ6+(|U%ES>4fgm{ z5Em+0Vq}C3332HFJA9w2sDdr4SD@6V(3NcV<^}D$GN^zS3#p1#e9ee=Q<8K-$5-Y!q>_VQ* zQbcRJKL*S%eROzKpl9v)?GDrMOV%EacgBn5y_|OyCyLQOCY)z&c^O3aN47BjW^d5& zvm{itb&{iKjyKX9A3f?|(z#zv2N{5g4Q@89Es`#+<22Xw#n%W;SJ7|Lc4$t}CItk( zIZau`i+uQbMTY##4Lp1yQ_r>>Us~sk|9f&(Z62e<-~W+~I%QVl$!+fw6SX*8Qc}tl zT4Yh5nD0e>Mq72hE$4$YOpC7|IZ~TFeY!?t`?_?heTf)@ckVvTw^rhPUH0*8OX`@2 z5iw)6sm+&3V&NrMYAuIl$|a2~ZZG&GKoOthc$$^mDV$dPJJ? z!wU|NlPO#IBM`B4{(bV5jkQ-vL6qluu=E{a2=l}U^jXRYI~u15qP z6EWjXrds)!arsx&P$nXN4PVZ^F4>TvhDutIgK5zbAi3;lp!} zD_1!^=_+#To?E|1lTV!@ZVzOxIW~kRwjuXVyv@@bn0!{4INvPK%H5Joy=2uOA0OHP zyx+&zelg*h*d_O_EB6HJ^2z?=rcSt8ydOZKDz7>S6X+e-KSkKUx718{WYmfU*XB5| zd}QsL_SMWTmdo3|_b4^JP(6c(BTeJrbCG(sxR3K!8X$PEP>_$_#o?POW*vJV5;vwM z4FDhudL<4lwPf$5*HLu zqWL009yo0m??B~3530Y}8jiDVQ{ItIO8cJOH`wQx556-Es@*-VnF*@-x%@}cJ2D-^ z=3)rHZvqVbazziFN$);Q=RCtTfr|-^aYdDbeqLZ;{XlF~Sg8KhD!j}xYWV(et_#vK5q7C9nPnfd zY+tuAXyJa>&(I;%73UH zo$FD0Wc;N7nOLt|LC4nYA`)<`^}VK;Y*9#YB|w6`=fXryN=eY)pA4p=5ZhS?J@dm$ z9jvFjNC!|Wk^!y(Kt3MD!;33ro;PS^4dQWlJouQY?zjT1ALh&VN8DqaF8PQXVfJ#T z0m(WV+4d0`rF+MG6nD(syL2v`_4U|B>vnfHc+iH1Dp)U@h*!`UR6BtQwI>}oR4%24 zH_^$8uu=`#wjMtDR?c)uT#QWc$w;@Dus zf5xNmJxmB7Z|Crvk=LEJw-UO8MQT0+_g~N2rwql}5)ao76*O`WP-7lO$y0V67!Dch zWw|K}!uO|toKddpH1adeo`%BW-Gm++6-Q2srK&WMJ2oVKrmj*a76pQ&f2e11q?yjF z#+WtD_Y~q<2Fb|j=4?(@;Y-Aq@$x4uMF)dUjlPh-pcKQ-Ri~|*&cQtf(9VL!#_-;3 z@0Q@idCZ|ImZoEQuZp@|3&i{7C3s%cfM1xu-E`yz6nf}YtkHhh`EDSo(zs|TP`O_o zFhG}&t#2P*N>M; zUwTGZDhIhdU!?Kmtz>a%^THw|~23KMr$MV1b`OJjWU z7)lZ)XvgXpoH|Wl;>rO5Fi%fU6@C3eqCTd+wpKa&otrkb{pjDnIZ}<=4f}_OO&Y<= z$q+~!;^2!n{+hi2(lHgzeNl+IwaVey(a8P!q?7No1`rYf)2y>AV~T69Sb_J9L-vZ6 z%dbIN{aJN}Z7W#srUl$*e`j=wb!Ip?p(2X5E&ebi2^9Q^wtkgx07axBN^j-oq9yIxyB*5Vggx<|C`9LZS8aLLw=6fT}2CF9@ z8D0$GA`K(pDR@zI`k@(O28H=yOqD8KY#2{^(n)!>+XJU(j0ljYXsJ6?tXXJ9;}pM! z>%m^dj=}GQ={UVZL@=?LoPmRC!gQeJDV34ntco~WddF|7G?p@Z1NfhXa;o%o4y{_9 zWKKN55rR8880YR_wcls)JCVJXj~QvT^7f~Pqsd*XqjBM?m$2Hr+XZa^AZrdNq)}uFfL_}HaS>}&8aE8MfUJ>E_BSB_ipILQAH%HBL1oW%vstK~0hj(pdDS&2H zxXJNtzs?G}C_>Ts;0Sw6vL!+6d?iWO*)k9dbxG17Pj$a|kuN6*s;VqxxPGs-#$AL; z!c$vgZ26DuZS}7q2?{r@%5J6Jp-^bco~GVO(i4;YG*&njG(CF!%Em6oi;?TR-fikv zWw*|Kq|^^z6qSX;@ywcNKR&yN;dUdo)MM)(pEJsx9A9Ltkb^@h!uawOWrwp8oFMz3 zmhI2~`99^KY|QolKyTf@QvC-@*XsN~w(yki+Zo*MB-9-mWimJd_S^RHrO7Z{x=lpLkImW~_GZqjYc$`W6a@q#)4LjRko|RVr zf7gr27?unOQu2pxR6)tO6wYq)VGsxfr>(5}KT}f5^)6l>^-a9>&FW|(AUSz<$Gwm8Pw)dqBcoNLpeQ3axq3|1m(0aD#`1t z?b)~GgL_pkfPIlTSVn}*7Hl+rn;HmNL&Z%oPg&{YJY9jkd`Y+I&knFK)0g1pl?G;Q z_-R79jidC0@vh|)vQJj6;!O1NK~OAO9)y%m3aNG8>FfA`-|^@4{&!Cib*;6fKbgxq z;q+-E?1RMelaDxvea7_D*&JcrZS3Wfko1Ye%@=iQ6-%#5H@WV)*9gLt-%mumsl*{0avUWQPJr+T`f%VIOQ_l)un+h58-a zz{#^O#oOHXdkB3}`n-?z$fWWE*2j-LoHwdMcejQHQb2+>&`2i?@%nedxQZdYdF|*e zuF<(UwjhhBfTW`U#OdYZIh5(btmwd&*)+Eqks0w`h-#|Lw*Lf_9@`Jq<7`-Z4|9p$ zMTzbS(y3kp2Z(BGQ(P8<6LM2{eYyyMtq8zrlhjg&LF%Q&&Z#zC4p78kN`Q5q%C>7Y zy*bg~t-~W-8Zk}{x)l+pKl=NkzFE*sJC~IA-|I37UKc~pNuYT+)2`HI>ud{dcEC%Q zvg1;E4s$Wz2=y4tap4EG#6Nr2CidbwIXyCY%Zm!bsJz*#2;zE6FRUHrTze&rmo=a> z4JM1Eg+G`f*=T3{h^|2d2lF1u2^`?biLy#i%e+i=p|h`~GBd|&-wOsf73l_l9)FTi zZ@8S9HgnHsW+N;XvWOJN+^??2#7u}zV>7>LFZ&)e4)h$8b^@%$X2A|q?%Wqlf2F~8fG@AEY zfet-p^m(YjjYVQ0tX!j6y2W!@ zl-+||gv*+t-k@{KAaNVevO2bf-nHM`FhO{f*>9`YVfI|f!)LQ9pFCfIX55QRv{2I$ z2g^=^JlpxJRnTk6mm8%Rbvd8`(9@sAi;65^>MklkBxA~$?VGP%c;$QJ|n(0E4#ps#lpo7 zVFr=p5QC)`x1Nu1P8_HU9aXeUZ6pa};+3>e(mV|5x5Q28dtZ1^h_%S*p!&(LDnJ)@ zb@KHo?^F3=E|sz#uvT>^;>kqA&d~D%>TC4-52tM0m!DTNKofy7!P#}qye&Xf4u~`l zF2tqAwCi-BHq8r*4wD+e_TX=> z(;SopKTIG#nY$Jevwww*`qzWXNE?AJSHOKPjNrunjJ1Dqw% zYIj5sF3Zm9TxE3h&a%CvH|)2gu&d$HQc_ zT4YEZtEbTSAKQ}~Cv=hBNqwT}X_2Wv2}TEW=cAmTWA&FM`1q=?T`61|O}VMiw)F5# za-xLBdS0iyUT&*5`|B-V{Ytbqph-5BzAHQ>m-R)j>0Ze&sjQ09CQ}F|D7E&uz2f}N zhvVrm|1I?WTm>Z2q+@M9;I+`iGAAxT{zmhdjCD0&d(vhMGIS{`fzle@rp#g3ahKefrpZkbvW}eV-uW$!N0|E1(68U{SAV=k92lCF4o;lgoom zS3%I;ZPZ3mInK-MI`OgxYT%YZLJyw-gH1j=$8GxPzRX^mh8Q|5Q$ zi;qrJgu{@J-JQo{f%ntSGuE!!Y9d_Z_Bww$rl>3Ijo^|mZ&aPTo#LGORg1+^b1Na7jtmmH-Ua;q>(p5R??tR$asH!IXrlZfviW~U0wjR)e#(4?K z*A!dCw>T8?Ly!hGfZDVhA$UR!qGgw1%HW09E9>6z{bMML#g?SGSTX&bv8K(%TUHm#aA= zAYZ5O- zpg~rh1iuw|!+qHFzCOk&ScfM6WELM@bn3HD2*Avs;<+qV67-FE88S{kn{>F6B3-8k zD8aApab(goSNXMp7TTW}QqXaY;mw+bI@%8tBsB*nAkVwX(_duA5`jz`cBpyMcxYwUAMS2wu5ME&$ONqnN$IemVHe|?s2mQ#C-}Gi zS$pz5|NX;D*YrT<>WqvBf9K5AHHZT0u{OIja;sJgkS%WH*IseKii%w!M|~Ue_y>BO zD~mSul4!EkXJ<3~gDb(OC9C%yt+xfG2WiRdVKLQEO3Kz`3U;wvvZ9K*5>kg~wm+S@ z38;pSC6Q52{CaVu6ynTC*8Ak=DYd0OQS`&;y|KJ^^hrjaZ68D!dXEWhdP)a=6U>v7 zr=MGUMvlvzD(kmmPzrhlZrDz1_H-G7k8cK?u3~|V?;NtW3kO=PJJ-EeWY+xrlF}pl zRq=6K3O~Q?3UJxATHk4k zK_-}F-njfnG5=V^!%Tk~QEN<7XGq`|augQsT)5i$g8+9K5C*u zKwI-CsZ)5$1lQnmoqjxFI>KF~6)Q|z-?E`q4FJ0=f0(7Ehc=(yVA~jVc*Q!pr~ZjN z1U(I<$USDzNHCxWrsfLal=;Z%YkkyITuNpQ)An6mc~0| zn)81jYYM%nd9|V4JTUVha$!TY+7&kfX3JF*0FYF{W+)=olx>Pmby9|qlcabkCBn-w z!D_!fAO;agI(8bz90KvhKT-~lQy!C| z!sBy(jAd%2H2^0=Mf#FWOvywrD)R)CN$qP^16RQQfQU&oK9!3K6qjIx-5HPPL?Cy;4*3Do|`%8F0 zc-P$QvnG{fMHt(a#|S2aQeC1$=pdRp_aJJ**bQx!c0V2#jp_3fGM6T|G8wuV2)`oZ zlR>2n{Gaig;){yF5+kjpg?DAYXs$WCwVfKpf6&JXgFSz_$t@Y7!o`z?naMMRDW^$&bI z>m^8+_T@f9Fxtz^al{JPRJy)eeNaV^wJGcs=;hSrTqIyfP(#Q;p+=S->z#wnicz6z z6kA0uug~2|iLL1tGr^&dI(KmSX62+m!P&XE&0n{<#Qho{cma0wt7- zV>P?W50MJ%OfvhHjUuqkXhh{7+5)L`yregL_^>dEz9*bva1ggbBLR2+`+;q47=BW< zP^}&!N>Hz!i>HN&P}T3`JpA?-vUlQ80|jh`X-sswR)aN!uTT7yf9VOZ|E9y~o1-3e z(BfKG7Bc6&XDLnc=Xi{EWxZSWI;?>8Zl6roYnso~&M-qPg>xrc;Sgt`oSJ^Fb=M&R zJ0|KiM3v=LK2=#{+u~5IN3V8F+6cTkr)BsBa||g2c4WRyLT-%sIdEqk<`yo9-rR;2 zX8c@;kC})}KH8bCITYjs{gT;l2TaOCFpkxB>54SLtmY$ECG*#p5cP?|D^iBAQs;FX@7w73D*=Bh=!3@M9z0|DT#Q(C_jx8s6bs&}zC zOsRT-py$m%Dkt@B?hbgPeSV~8d=7Q(751w=V)++jZ(5n>5BfeLE0=Se+de~jC|o|;9qOceOZI|GWBN`nUoS-yG8Ty#O-VS=~m`itH`z1#SEul_xrsNVnn zpCjWheYVn0_g8tAumeQn{!Am!%rpE}bGpnxm`?PC?~np>qsGYc^77)Bty1Tfm$4Mc zlm8Rdy~?V8VV~uXaMZ8k?VWzq#47PL8NB3D`(%4Zdl2QTFjwmQAIzY>~*DqA;Gq8j}Y8UN2e|G()E|0D2z$>9C_AA72HOUHkBmX19%x~Kjy&)hkC z(Dk;CI@QHtddSjn9p7TkuMXphr2nkXK)3BeL8NNupCrgcl)KAn+P|A&^4%mCGt>0q zF>~g3EboYSfpD2Hru&QJbknbH^t%h{s~Ud z`;tzz-N8G}0hE;^m3hnXKV3lhESNE>47rnO%K#_i;L|Pt5>{#0PGskrfgiZzFUvk?i1_F9R>$|=!EUPhuz(9$*Nx@>Ic6@( zFZmzA8*?J1`~GwEzl2OKOETOwafh-AQ6OM6A64}9fn?`Q>2iY;p4-9IH7O?M?dsZE z4S9`FS10!5)@2u7s_6H|#_=P9QumWg1H%b<)K|=sG&s(XbW}WleQ!2Hv$7bhe(Ya? ziJhCnK6{0W?czXQf5eSbp)bzlPp3Pu05rrO*=+|PUHa~W=EuSMK{eAH#I$BIoNfm4 z#v3u-BIudXX~uMS!5)UIhmQQPu_<^W>MC8hb#n?IQoj2rz3#V&w}~C*-QF>i3knIv z-0RdJ;MPt8H7lm@M!U-{k`kJ$GkU!eN{)D90PfrK&xuSf^`ngpB?0f@hmi}*&B(2& z%Y-6R?@X|^i*rXaYYyt@UL)aafK!?E@j0qiM_>TM?ryeTUX2sCuCy{U4#N(yGS2jI$jLZfL$6Fr+?N$mia!^C*~qay5|>k zcr@B1sB-?Ug8vez7&prw=`w2}gHV`dIZvm7K7Ari(su7m`RfPp+J)Q)K{Y~6ZI3fS zqb)97BfDK2ml_XDh9rpXKFND!iCORQkj3_$x@0f({T-@p8V?DNfN42xGChxo)@d<5xXrW7pHucrmy zdpS%GjLuyGw}VpOL~8)+``0~oMFF!xv}9g`qo%tu6(KL{H;=(YXlhmEF)4%~E8rhfzF2H9-x z^Zsa~-+(K{4czFZ)U(Y$)yzM=%e!+)`Tcbc$<RNtk8t>e(7a)=ctF)HYxYlVfcmwadL}LdE6+5jIGN)nt6+J5(YIujm6BncV7>b z3QMZEX0}}W!98$b3WbDiZm)kRP2sLZ@&N7yRUy+ey)hG}TTJ`|Ac{u5%2^D$)p2;>;&pss_voHOD5}E3CyBq^kHrja3h-YvuS~=4G#%&CU{d8G%5I0nenKy ztuMm)hj>tyarFiTLT336G+MiOqJw5`*3v`y#_xM1TA)lJTpMtMgp@DWu01wj~Cc%1^+Td`Jr) zaaSSJpZiYAzFFA+kjaN$cGkeje2{O=N25BUuc@;wPDP~h2mLSLcPCF+yb12Hw$Rn) zeBpcR^QlXY2nPvh6XdRKs$1$kCQqYr_?y=u6)J6MkBy$PGky``P^Fc3mM!(vwt|Ew z)4xNtF7p~J@0h-@>0ea~t_d(oD45Yzz!m{5*~_%oLPVxd0|;!T)^TD{Qvm!b!^Ksn zF_!=_S(DX!&xiS3>#-jpb(yq09XWBS{hkQ&~?aTZPN#KCb^pn;pYX+W~=Z zz=wZd;+6k~+>Gr-0sM?Je3upQ$~GAAhQo1ytv`{Osj1EaFOtE7N~39w#=$;&>P)Gu%;`ZAW#e(~kicfh!-HTZKm*ZC>>2Ep zr-=w3bj9HIg(9!Vn5(mZ$u8RmusO@_uU~{kA$E}_nNF^6#o5gC^wO`SI@QyxM$W!KLzCF*)1ILW z9XVec)_O~`z5t6Ejb9M!^>%uCw?|pwwx3U&_gLICsn#I7pNwKQ`S|@ED6}|b#w`Lq0%-&i?s_(N zbC9boj3LSYhx2R5WxPX= z)uW2yosASOds|3}UDeQrwvE0}m+o6)r)14>fzM=Q)NkVdV(z`8nrPd-Q4|Fg5F08T zMT%4jO}a=E1d-keJoFl*cTg0Rs`L;b2-2hzdW(S6(0dQPNRt{u5;y}s@3;4U&$st} z&spDI=gc20R?1}No_prLuIpDW+oVnFI+2={-u|5-8O8a%7qH>r3nsLW!axDsxc#+7 z&xvQoH$GQTX1pm{kG2uos+90A4mE`n8CFpHxg)hZ4I|#6obfVHa+#En>g)6VjI`qZ z(nPOEt5*|0vHJ%k_I1aLlq=S~IBog+IsfkR= zSBVv)m*0*yh)wSE*mmlyH_L`1i&Uuc1egn0UdL`?l!IUflF^q+>_2m_C2SPeH4DPs zyN+apPoG}*J?W^J)KKv#r#8RyZEr6sbx7a6mXn9~s;lf?jZACL6i*0;x!N!P!R$F! z)aZkW*7W>rTUlWb7kd58TfgTUBdq z8qdf>w~nk_iX5D0Hb7LE(s11Lh(aoDS{6K{KaA-m#m z?g4ViQ(yYRU2)*E$Av5qO zNa9ZruTOlT$xSxMv+cBH(tgD9DSrKQEn)i3L#cqBI`NZzG9hbSo{zenaWEc53sz${ zEK7QBrfQfOiASm2d*&xTip!<&0bw zRss!7u>V}$26uxGwUXQgi?7Ul5-|xOL6cUEdMkZHMGVkn5 zKRS+`e{$vizzGFggCqoOhYULIyPZNw9rEWp1rbE1WCLuJr>*FUWu` zfg96h^^=lQvf0ywqSJS5XFNDyTa-0jd7E*}6&h@VcGpD<)V}tcuSc4nwtUEb`@gvy zK7NKiU(+JmE^xI0Y{+E)xtrDd^PE$_{RXUdh!wD}dWErbJy37FNew(j&$fSJ!PyV~ zmGrlZO8J^ZG8Vj2*gRj@<5YdzacXhQ+_nXlzm4TTV9(wwe zf#G2r09A5ua8PHzGo=Z9q^gQN8|?Y>JhSV&_K(8?Y9tg)K)Hce^4U?C&S9-8k;x_$ zU~5#IfEpVWfF;IUe2UR7uB`?1Y{X5A$db?e#`e%}9 zx0S;GA~)Hbd))e?bN+EF(Fk#>Yc*)Bh)DakMPDcI@}FTPat`~?Xot`Exs^NH3yn(c z%+>EsDSXir$$@W+S{o0W9;R)G>Tc1Jfke{xxP*tQ^Fx&i0*diNha;5*WHHPj5Ol_X zNLxdM*%5y6}*=Osq2oAyTe5gl45?mToEx)hdZ%0DJF)%y(`@IihqN39sryTDEw2Amk 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 z zdsyS=YLsN+w3KLXNtWhpR=4v;zMGVXju>N~?cL>-?h-VQDSc^eb{icgH{E4`#7w>t zWy+|VNb{NCw|p#N-*eyRq^je&pAW~S2z}k(3wj-CARehI}_!_QS%tmf)c=H7CBq9p5 zT;ED~%WnE}DhLNFD|QBP9y1s2N40kI+XsKj^`+|=Qi!d8%YVuWrB#!k|2dblTk^!~ zY0XZrC6}!Q+H!Bq!?7+mtwzZ{V5;s(=a1jx+&lRBgFR}RVV24DU}vh=utxKf?k(bi zvb9&gaebG$Hi~9?>atk5m0xOlaQVgP8>_E{!{jCi{0~A9aV(Wm3mfpY)K#%I`3$1p z`yE}pONu06r>|naXq|!%NM>f*ackW-=v!?{4%XD$1if`=k!V5Uv`(za^HIfH6}xYrVyh`n|ZT2Da%>x8V)*FmGIo&_~gKnJ+A#)%r# zJ+OP?fl(h*;3;fw`6h`lLO(YgW0A^hklj*XXM6g-Gj7KXuToSJUOBGoNbN4c--hJq zJo42~Ou(+$tXaAr>DD3O<&;TxK1igI=`$Ad4rw}UsgsZa`HT`|nA0JSMWd_MN+_Hmlk7Kc1 zBnV^6ogMrk7S`&xhPm0xx)axEPObl7;+~eeLuS5#8RcoFTF%R)08YoD+jmQ1%mVu1(QZhJ=^Qfjl0ekzVrcu zj~7bPr=mm@KclB8lVJUi?r;2ji}Z7LE_SZGn7O}ygdi)h1k$O@i+u7XB2~eGBXQ=W zM;qkbA9H+#Qw#dEMmAtR2`Lrias-VyMY$cSQl(=O*CME&`{KuLz%FTwlUV<2vgBih zbk~TgccXVI25QJ7e34BazHluC@9X1!(Cbe}TXo235%|3ecDjdCVKC2;zw%aD48dN* z$M~qLEjX563kB*dzFwoY)Df|YTCZD2vj+s9Q%8}dtGie2e=-gh#7M3CGdV0rG3gq_ z(?hN8YTN(R+tLn>>;u0kD(n*lCiXrfOJdggZjTMsuI`y5c%m1_bmUQPPq#Qr6kRgR z`&#bx_8y1~%KFnsTdexKsKC0P8nC$P@ig$V5L!gPzpgo{JVqVBG!*ZQJ@MhU@m~({ zhB;YWruWOP%=}_e!)muIrq=WcRh;{Yk`9;U9;XF7O}sbwdIi2zz70--xzyy(e`?Oe zy);OS8&`){io&77b2xZ}Y|8O^+c>DY!LGcFifb_bfsTc5O28mKMEj;k1B39&PIrW_kgRJE zm5@ScFzAAWFw)siszoJb9$UREBkjVD($wDsRn#cy75lq83CFeUpaMhy4y%{0xuHs^Fw$ZB=G2=D$^C9}O!H@z>3 z2OL;FcCI2nuRbZ!U!992MZ?iadRcON)}76q&RVUb7-5M5Z)(Q4?ujTq3vrIHR3*AY zKM^~4KG58EJ6-|@>W&}`t}fV>)-(_%IOKaLyMhABz|D{AX^K<1rJhxNHM(}`>f2yz zr(%a@d7y-f>XS6V2XXy1QSCKwp-M=qM~IDvhIdffGZ$-<^&CGKFxF9bI}$@xuKQ`N zyLRVkZBw`^H{^x_V~WtV9oM!;j@L9@4Z9`jRTwLGk|y%c=feJRm}pVdyUWcWFh+0|r?2vk z)g5q>bMf6;EoYEwXHTP^t%wQ8>jx&nQi2VX3zOBZLk%89yXFBSajJVSBV2)M%m0n! zDneAN0$3$RTYYbdGp4Fe!$#zL+3G9!rH^voUZY0n^8TH(CRo_))NwT&)p4at$ zU+A5QZ=2~61MWMS%S)XCybb>Xe1i0}sJZwqc_2KukqW4`w?zKiYpo?BmbLU(8|1nYjf5@?c1}-a6 zBGI_5t8d7n;Jcnk)p{CMiYV`AIr!Kc{JG)`W6?=vBwM$=# z`fIa}z7!eyxf^iMnZJ4zH$_7KYbLV%a|M^Wau1d+LP{b&Kw%#l&!x zT4BLN3Ed@q{sx?{Mr6XWAJtiMB;QWn zCZ7qGf+s2w^kMjkUjb@v%;EYVl0h_Oz|})NCeo!ec-D}L5&FcOzAYrZH@J17_xh$t zN)PMRmAQZql257eppB6SM;}BD1CR}*Y|YBBF5WRHSMqP%j--fZpUT3aUU8lE?>%zP ziQ6Fi)-~2U+XkoW?nm{je(tB(ZF!kxon24(w~8yeW_Qi~8^9G1HwcPvbbd@TihR5& zk7OCo82?}oT;FvdEW|pPwV_D*xYnZgs~LzXdm88V(BPyuTmkn;>jVdCrFaAFp8|1W zXUvQ1?A=v!R1d92C-G>~E0)(czYJQOZXLOS_TXJ76j%5^MsE+*_#d1Wpf<%l16sU&eQ3u?^yh&@tAoeczIh@K(&&A>cp~TL7#o^mYv>GsZme}s7%$D?>v+r z)BqXnE*gGb%eB!+-W1Gy{tfaY_6ig?)~TOw-+SRK1TuU9_SK51AW7Rba5@`JzNxd5q}s ztKTp8OrG+5|6zgYC>v)Ni;LnMh5V1x<#V2h!5X9zY@C5Zin9&SG+fW)ePp}9^m zxic0-5jmOmI)&vy)q*NpFFAjYmo?wcQvUv$soZxwmH4dkQDqXHe+8U-1?KqT3~kVO z*`flucz{lO_=|sXxt!z0titH?n1Q=;XM=*ZaS=wZ1UV#NkF>!+)3-YKd};YXS&o1d`Gry&u|%ClcVR9 zSYPF9Dx_HufCwZ@w;kX5IgQ$gi4iO_-0}OXmu`|LgwtK^wGwB-WD5JdURq-IyXD5I%kq46obkRbcdvf&-_M175|8HiW3ADH;ai6qy79du zoY!QNzK-O>Iec&M+mIxXql{#o`9(Pu(jzKVUi(%k4j7^+)m-A#=k1l@U!9M?`GLc# z-mN9!wJNmIhsl!evXm1s9duEPJylZo}S2-3^E2x^Eb_xyNlG8m|MoEsM>+daE+kXY?r_Gwi! zqB`789eq;8*l^UyB$!Zu;zlGnTt40Uxz~j+Fzf*>Y*!)qS!CO0)4E!X%#U{K@gC2$ zPAyxgw^WX5uWG7Q+eamBX9pxovNzv0t>pchLzY-fx%xrTkA3>{Mut5EZ~!{H2?h4J zY$~!-L~0jrvHi;aJ|Y`FzipRU2h}5^VgH@7Eb*Zo1rJ zpc`g*R#KFWNz>Ln%B;$vgQ_BmSS^DFSonOo{_8KV% z_m=g^3Nw|*3o+sg5{gd#PWfzZj0Q1xc_t0i&bTh;(wl#QIU?)7)2Wq{Qs8nNR>Im~ zeItri#>Aq#yIT=(TJj08G(`$U34Iz0iCm@RF1Jd)h?W0S(YG1*?l?H}S~CA%Mo#|} z^Uc2NZ}_$^O(MWcLS)Tobu9dLxrM0s_&ju?*xlGu?Nm+mQ8pIG zxCjG2QGlV+SHSp3>a=Um%6wsd=}=Ot=cJx22ALHB*cXI8hU!Ak#>E)Fq1!%uXjcpNy}<0BlLKjgAj!bZIc zd2cga(!T+~O%~YMS;`)s&buxSR9)*XVUCZ0&j-4h%D}2CA)M{dgr3ek;k(ZCkIv;^ z6uM6tFO&Adng0y3f;VFkX3tyCJTG~rj0(SlX${X$9F6zIY7B(ETYG&6)jE=Xt@VPT7#GV_xjn@wUbo~147RsDXf)vU zVd!`~Z*ugc|8$*y0j-VP`pzsxIm3ceePu_(`l}ApH|v?Wbxzn4KN4#>ZlA3(=!RWw zTBl(EM-Upo2^>u}>sVvLKwI?$9}i6tZiue3-NJb##Vr|VPHbZ2wXyNCbZ;Q+Oh4HU zWJ^Sx`A_fbXmLEz;G~%KeJzRUcRHe~-t0$yR`vC3R59c7Rgv5&VQ0Vhs&bPP)9E91 znge6MMwjB92Vb6cUU~kMaXQP%cb~wFcFQPGSZY+L>`;+@_IveS13TKKh_>`Mz1Qz9 zA#9@2ve;t5Hs9$8m9CGnBt67zKDX$U4QsvAcJHU%ubE)|>b*joPA6Rk2jCbP!z&I; z)qgj{>u9&&;VO3;cNVI|pBTJA1Jja`FM6 zXU4xK_DL+!C!hx^)LfT$>ssJO>450)jxP)Z8K7KK9W-g68X-5 z9;dr^W^4*>f$S(-Ul{Vh?0PFx5g(|AnZ8+Ui*>$glYaS=Iwza)X0R}I6%c@%h zZ(Hj?<5Wj@saowO9QPENu2Gi!hvMF@5EwLY4htE@3aAB@B6zl#%I(^b%O!@W$ zHS}nLY_|u452ZzOr$qI(n+9xYiv*)_18PvfpvZTXVoTQz@+AR�&C)iZK8ve5N?U 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

bNtI7xEfu?B#Uxa9RAw zZ3--XFya=ugxKp}IT2SUGa31cAwZk)(Th7U$X=e8m@Zj-EK~oEwrSjZi?jx(j=|@z z=;QaYjMRc%$4;;Zjc)T}{nb5t?5qBH65$dier{7VY@1Ha`a|*P;{xYQibgjd@uE|| z?iNwi(Ybu)BZ+}~q9jc-r;~Fj@CL{li9K&b$hHxxj&Q^=XWXmnv%fZ*>ZR*AaHIV7 zNwYK|_Q6acU%@pTyWk{7&D#fS3kb=nH;kz-?_C9Y&Cl8^cCR-*_ZrOVO~$oC!10xi zC!pTi-|V!In|>kiD}Qz14;M*kA*kUnyR#Qk%Ugqxh4+D9fbgPe+I!RWzRjyx%uGl;i@A4Jxdh~X)&AC`@`AcBw z-JciQGTJ(BV?lWoV1WHRU5HYU!RlLK8%m`)hCF4?H*^Vs=+tEMQfwgkNpxqQ_u-I^r9f%a(1UYqd{;j zPnv!#XR(cO@Y|8Poz1m9o?joJ|=B92MI2_6&@H>C20&o9_6`5n1tED}nU7o?$R^#B_gGFo=h57k~ z?!f(LA9Wmp8&`o>N+%W`6qI-;srkKj8gM5&?sUl9SWKN3jMq(F;^+RoyU6o6J{lh8 z>xa2y(T@v8@}%zL1ZXCkkv!4`hf?DW963z=TZ7m^F(ex@2fuCc%*xLP_;8}@t%al? zw8aj9Q%&=-0X_fhNio8_%`^V)h@eVOar^&TWn;&l4)=MV-}V1{)$S@9RVH{gGqQ2o zW8)3KPFvp#ZV8L5jA%8l-1>y)*s66~!CstGSb6mB9cDWjx^2a++51ob+IE7$@O*XzYt!BR)4jg$WcYk7RxwIZ0P%FtzHt!m+>`yMU?b+U8&1e)mu9_wQPx_xp-(zMfuR;U@hr0inu% z%Xh!5nYQo=`~7W7cE6XpA8XB8e&}Ug?Xoi5V^u&S3%GVm%;%8|dHdtaZ>y^bk-ZV2 z#|w*6RO7-L|6ToFrz8XH&M-tU_*Jng7Q9*s>fA6a%Z>|&Y!P1Hi#gH+R6z9LN!XG9 Z>;?L&p*hE&p9Sh;@O1TaS?83{1OQq;Vxj;5 diff --git a/docs/_media/web/system_status.PNG b/docs/_media/web/system_status.PNG deleted file mode 100644 index 41ba11a2aca1836068c019025897e3cb55f1b014..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94842 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 Q-y6aMZM{2Xw{2hk4@y9mtN;K2 From fc13004093073295cc24124cd1faadfd3ac65062 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sun, 12 Jan 2020 13:46:05 +0100 Subject: [PATCH 069/195] add mqtt-subscription for WWcirculation --- src/ems-esp.cpp | 11 +++++++++++ src/ems.cpp | 22 +++++++++++++++++++++- src/ems.h | 1 + src/my_config.h | 1 + 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 8fb7b7f2a..9068152df 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -1423,6 +1423,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // these three need to be unique topics myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWACTIVATED); myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWONETIME); + myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWCIRCULATION); myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWTEMP); // generic incoming MQTT command for EMS-ESP @@ -1552,6 +1553,16 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { return; } + // wwCirculation + if (strcmp(topic, TOPIC_BOILER_CMD_WWCIRCULATION) == 0) { + if (message[0] == '1' || strcmp(message, "on") == 0) { + ems_setWarmWaterCirculation(true); + } else if (message[0] == '0' || strcmp(message, "off") == 0) { + ems_setWarmWaterCirculation(false); + } + return; + } + // boiler wwtemp changes if (strcmp(topic, TOPIC_BOILER_CMD_WWTEMP) == 0) { uint8_t t = atoi((char *)message); diff --git a/src/ems.cpp b/src/ems.cpp index 1cbd8cff4..959bb29aa 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1013,13 +1013,33 @@ void ems_setWarmWaterOnetime(bool activated) { EMS_TxTelegram.timestamp = millis(); // set timestamp EMS_Sys_Status.txRetryCount = 0; // reset retry counter + EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; + EMS_TxTelegram.dest = EMS_Boiler.device_id; + EMS_TxTelegram.type = EMS_TYPE_UBAFlags; + EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwOneTime; + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; + EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate + EMS_TxTelegram.dataValue = (activated ? 0x22 : 0x02); // 0x22 is on, 0x02 is off for RC20RF + + EMS_TxQueue.push(EMS_TxTelegram); +} +/** + * Activate / De-activate circulation of warm water 0x35 + * true = on, false = off + */ +void ems_setWarmWaterCirculation(bool activated) { + myDebug_P(PSTR("Setting boiler warm water circulation %s"), activated ? "on" : "off"); + + _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter + EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; EMS_TxTelegram.dest = EMS_Boiler.device_id; EMS_TxTelegram.type = EMS_TYPE_UBAFlags; EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwOneTime; EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH+1; EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate -// EMS_TxTelegram.dataValue = (activated ? 0x22 : 0x02); // 0x22 is on, 0x02 is off for RC20RF EMS_TxTelegram.data[4] = 0x11; EMS_TxTelegram.data[5] = (activated ? 0x33 : 0x11); diff --git a/src/ems.h b/src/ems.h index 993a04e9f..644806e47 100644 --- a/src/ems.h +++ b/src/ems.h @@ -432,6 +432,7 @@ void ems_setWarmWaterTemp(uint8_t temperature); void ems_setFlowTemp(uint8_t temperature); void ems_setWarmWaterActivated(bool activated); void ems_setWarmWaterOnetime(bool activated); +void ems_setWarmWaterCirculation(bool activated); void ems_setWarmTapWaterActivated(bool activated); void ems_setPoll(bool b); void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id); diff --git a/src/my_config.h b/src/my_config.h index 8fcec4e4f..231f8e3c1 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -45,6 +45,7 @@ #define TOPIC_BOILER_CMD "boiler_cmd" // for receiving boiler commands via MQTT #define TOPIC_BOILER_CMD_WWACTIVATED "boiler_cmd_wwactivated" // change water on/off #define TOPIC_BOILER_CMD_WWONETIME "boiler_cmd_wwonetime" // warm warter one time loading +#define TOPIC_BOILER_CMD_WWCIRCULATION "boiler_cmd_wwcirculation" // start warm warter circulation #define TOPIC_BOILER_CMD_WWTEMP "boiler_cmd_wwtemp" // wwtemp changes via MQTT #define TOPIC_BOILER_CMD_COMFORT "comfort" // ww comfort setting via MQTT #define TOPIC_BOILER_CMD_FLOWTEMP "flowtemp" // flowtemp value via MQTT From e6efa1aebd9b823ed1bcbc41a2a24ed7638f7fed Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 12 Jan 2020 13:54:01 +0100 Subject: [PATCH 070/195] retry publish, count #mqtt fails in system cmd - #264 --- src/MyESP.cpp | 16 ++++++++++++++-- src/MyESP.h | 13 +++++++------ 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 98ae302c7..0d0f3f645 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -78,6 +78,7 @@ MyESP::MyESP() { _mqtt_will_topic = strdup(MQTT_WILL_TOPIC); _mqtt_will_online_payload = strdup(MQTT_WILL_ONLINE_PAYLOAD); _mqtt_will_offline_payload = strdup(MQTT_WILL_OFFLINE_PAYLOAD); + _mqtt_publish_fails = 0; // count of number of failed MQTT topic publishes // network _network_password = nullptr; @@ -425,9 +426,19 @@ bool MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { if (packet_id) { _addMQTTLog(topic, payload, MYESP_MQTTLOGTYPE_PUBLISH); // add to the log return true; - } else { - myDebug_P(PSTR("[MQTT] Error publishing to %s with payload %s [error %d]"), _mqttTopic(topic), payload, packet_id); } + + // it failed, try again https://github.com/proddy/EMS-ESP/issues/264 + delay(100); // this is blocking and probably not a good idea + packet_id = mqttClient.publish(_mqttTopic(topic), _mqtt_qos, retain, payload); + if (packet_id) { + _addMQTTLog(topic, payload, MYESP_MQTTLOGTYPE_PUBLISH); // add to the log + return true; // ok this time + } + + // it didn't work again, will return false + myDebug_P(PSTR("[MQTT] Error publishing to %s with payload %s [error %d]"), _mqttTopic(topic), payload, packet_id); + _mqtt_publish_fails++; // increment failure counter } return false; // failed @@ -1372,6 +1383,7 @@ void MyESP::showSystemStats() { if (isMQTTConnected()) { myDebug_P(PSTR(" [MQTT] is connected (heartbeat %s)"), getHeartbeat() ? "enabled" : "disabled"); + myDebug_P(PSTR(" [MQTT] # failed topic publishes: %d"), _mqtt_publish_fails); } else { myDebug_P(PSTR(" [MQTT] is disconnected")); } diff --git a/src/MyESP.h b/src/MyESP.h index d6df5ccc1..3f78b7b5b 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -335,12 +335,12 @@ class MyESP { private: // mqtt - void _mqttOnMessage(char * topic, char * payload, size_t len); - void _mqttConnect(); - void _mqtt_setup(); - void _mqttOnConnect(); - void _sendStart(); - char * _mqttTopic(const char * topic); + void _mqttOnMessage(char * topic, char * payload, size_t len); + void _mqttConnect(); + void _mqtt_setup(); + void _mqttOnConnect(); + void _sendStart(); + char * _mqttTopic(const char * topic); // mqtt log _MQTT_Log_t MQTT_log[MYESP_MQTTLOG_MAX]; // log for publish and subscribe messages @@ -366,6 +366,7 @@ class MyESP { uint32_t _mqtt_last_connection; bool _mqtt_connecting; bool _mqtt_heartbeat; + uint16_t _mqtt_publish_fails; // wifi void _wifiCallback(justwifi_messages_t code, char * parameter); From 0fb9019c5110f9388740e4d5bc018924cb6f2867 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sun, 12 Jan 2020 18:41:53 +0100 Subject: [PATCH 071/195] Sync with upstream/dev --- src/MyESP.cpp | 16 ++++++++++++++-- src/MyESP.h | 13 +++++++------ src/ems-esp.cpp | 20 ++++++++------------ src/ems.cpp | 9 ++------- src/ems.h | 4 ++-- 5 files changed, 33 insertions(+), 29 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 98ae302c7..0d0f3f645 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -78,6 +78,7 @@ MyESP::MyESP() { _mqtt_will_topic = strdup(MQTT_WILL_TOPIC); _mqtt_will_online_payload = strdup(MQTT_WILL_ONLINE_PAYLOAD); _mqtt_will_offline_payload = strdup(MQTT_WILL_OFFLINE_PAYLOAD); + _mqtt_publish_fails = 0; // count of number of failed MQTT topic publishes // network _network_password = nullptr; @@ -425,9 +426,19 @@ bool MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { if (packet_id) { _addMQTTLog(topic, payload, MYESP_MQTTLOGTYPE_PUBLISH); // add to the log return true; - } else { - myDebug_P(PSTR("[MQTT] Error publishing to %s with payload %s [error %d]"), _mqttTopic(topic), payload, packet_id); } + + // it failed, try again https://github.com/proddy/EMS-ESP/issues/264 + delay(100); // this is blocking and probably not a good idea + packet_id = mqttClient.publish(_mqttTopic(topic), _mqtt_qos, retain, payload); + if (packet_id) { + _addMQTTLog(topic, payload, MYESP_MQTTLOGTYPE_PUBLISH); // add to the log + return true; // ok this time + } + + // it didn't work again, will return false + myDebug_P(PSTR("[MQTT] Error publishing to %s with payload %s [error %d]"), _mqttTopic(topic), payload, packet_id); + _mqtt_publish_fails++; // increment failure counter } return false; // failed @@ -1372,6 +1383,7 @@ void MyESP::showSystemStats() { if (isMQTTConnected()) { myDebug_P(PSTR(" [MQTT] is connected (heartbeat %s)"), getHeartbeat() ? "enabled" : "disabled"); + myDebug_P(PSTR(" [MQTT] # failed topic publishes: %d"), _mqtt_publish_fails); } else { myDebug_P(PSTR(" [MQTT] is disconnected")); } diff --git a/src/MyESP.h b/src/MyESP.h index d6df5ccc1..3f78b7b5b 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -335,12 +335,12 @@ class MyESP { private: // mqtt - void _mqttOnMessage(char * topic, char * payload, size_t len); - void _mqttConnect(); - void _mqtt_setup(); - void _mqttOnConnect(); - void _sendStart(); - char * _mqttTopic(const char * topic); + void _mqttOnMessage(char * topic, char * payload, size_t len); + void _mqttConnect(); + void _mqtt_setup(); + void _mqttOnConnect(); + void _sendStart(); + char * _mqttTopic(const char * topic); // mqtt log _MQTT_Log_t MQTT_log[MYESP_MQTTLOG_MAX]; // log for publish and subscribe messages @@ -366,6 +366,7 @@ class MyESP { uint32_t _mqtt_last_connection; bool _mqtt_connecting; bool _mqtt_heartbeat; + uint16_t _mqtt_publish_fails; // wifi void _wifiCallback(justwifi_messages_t code, char * parameter); diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 0032ad4bf..f1a624557 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -480,17 +480,17 @@ void showInfo() { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sMixing module stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Mixing: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type,false)); - //if (EMS_Boiler.switchTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) _renderShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { if (EMS_Mixing.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); - //if (EMS_Mixing.hc[hc_num - 1].flowTemp > EMS_VALUE_SHORT_NOTSET) - _renderShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); - //if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) + if (EMS_Mixing.hc[hc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) + _renderUShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); + if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) _renderIntValue(" Setpoint flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowSetTemp); - //if (EMS_Mixing.hc[hc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) + if (EMS_Mixing.hc[hc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) _renderIntValue(" Current pump modulation", "%", EMS_Mixing.hc[hc_num - 1].pumpMod); if (EMS_Mixing.hc[hc_num - 1].valveStatus != EMS_VALUE_INT_NOTSET) _renderIntValue(" Current valve status", "", EMS_Mixing.hc[hc_num - 1].valveStatus); @@ -612,7 +612,7 @@ void publishEMSValues(bool force) { rootBoiler["curFlowTemp"] = (float)EMS_Boiler.curFlowTemp / 10; if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) rootBoiler["retTemp"] = (float)EMS_Boiler.retTemp / 10; - if (EMS_Boiler.switchTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) rootBoiler["switchTemp"] = (float)EMS_Boiler.switchTemp / 10; if (EMS_Boiler.sysPress != EMS_VALUE_INT_NOTSET) rootBoiler["sysPress"] = (float)EMS_Boiler.sysPress / 10; @@ -668,7 +668,7 @@ void publishEMSValues(bool force) { if (abs(EMS_Boiler.heatWorkMin) != EMS_VALUE_LONG_NOTSET) rootBoiler["heatWorkMin"] = (float)EMS_Boiler.heatWorkMin; - if (EMS_Boiler.serviceCode < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.serviceCode != EMS_VALUE_USHORT_NOTSET) { rootBoiler["ServiceCode"] = EMS_Boiler.serviceCodeChar; rootBoiler["ServiceCodeNumber"] = EMS_Boiler.serviceCode; } @@ -778,11 +778,7 @@ void publishEMSValues(bool force) { strlcat(hc, _int_to_char(s, mixing->hc), sizeof(hc)); JsonObject dataMixing = rootMixing.createNestedObject(hc); -<<<<<<< HEAD - if (mixing->flowTemp > EMS_VALUE_SHORT_NOTSET) -======= - if (mixing->flowTemp != EMS_VALUE_USHORT_NOTSET) ->>>>>>> upstream/dev + if (mixing->flowTemp < EMS_VALUE_USHORT_NOTSET) dataMixing["flowTemp"] = (float)mixing->flowTemp / 10; if (mixing->flowSetTemp != EMS_VALUE_INT_NOTSET) dataMixing["setflowTemp"] = mixing->flowSetTemp; diff --git a/src/ems.cpp b/src/ems.cpp index e42de13fb..5ad2c6048 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -123,7 +123,7 @@ void ems_init() { // init all mixing modules for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) { EMS_Mixing.hc[i].hc = i + 1; - EMS_Mixing.hc[i].flowTemp = EMS_VALUE_SHORT_NOTSET; + EMS_Mixing.hc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; EMS_Mixing.hc[i].pumpMod = EMS_VALUE_INT_NOTSET; EMS_Mixing.hc[i].valveStatus = EMS_VALUE_INT_NOTSET; EMS_Mixing.hc[i].flowSetTemp = EMS_VALUE_INT_NOTSET; @@ -161,7 +161,7 @@ void ems_init() { EMS_Boiler.burnStarts = EMS_VALUE_LONG_NOTSET; // # burner restarts EMS_Boiler.burnWorkMin = EMS_VALUE_LONG_NOTSET; // Total burner operating time EMS_Boiler.heatWorkMin = EMS_VALUE_LONG_NOTSET; // Total heat operating time - EMS_Boiler.switchTemp = EMS_VALUE_SHORT_NOTSET; + EMS_Boiler.switchTemp = EMS_VALUE_USHORT_NOTSET; // UBAMonitorWWMessage EMS_Boiler.wWCurTmp = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature @@ -1273,11 +1273,7 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // Mixer - 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { -<<<<<<< HEAD uint8_t hc = 1; // fixed, for 0xAB -======= - uint8_t hc = 0; // fixed, for 0xAB (HC1 only ->>>>>>> upstream/dev EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); @@ -2865,7 +2861,6 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage} - }; // calculate sizes of arrays at compile time diff --git a/src/ems.h b/src/ems.h index 644806e47..b7c596fb2 100644 --- a/src/ems.h +++ b/src/ems.h @@ -298,7 +298,7 @@ typedef struct { uint32_t burnStarts; // # burner starts uint32_t burnWorkMin; // Total burner operating time uint32_t heatWorkMin; // Total heat operating time - int16_t switchTemp; // Switch temperature + uint16_t switchTemp; // Switch temperature // UBAMonitorWWMessage uint16_t wWCurTmp; // Warm Water current temperature @@ -338,7 +338,7 @@ typedef struct { typedef struct { uint8_t hc; // heating circuit 1, 2, 3 or 4 bool active; // true if there is data for this HC - int16_t flowTemp; + uint16_t flowTemp; uint8_t pumpMod; uint8_t valveStatus; uint8_t flowSetTemp; From e4cf074c668bf3cf1a614cdd1606b4d5ec9bb8d8 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 12 Jan 2020 20:56:18 +0100 Subject: [PATCH 072/195] Create weekly-digest.yml --- .github/weekly-digest.yml | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .github/weekly-digest.yml diff --git a/.github/weekly-digest.yml b/.github/weekly-digest.yml new file mode 100644 index 000000000..fe502fbc9 --- /dev/null +++ b/.github/weekly-digest.yml @@ -0,0 +1,7 @@ +# Configuration for weekly-digest - https://github.com/apps/weekly-digest +publishDay: sun +canPublishIssues: true +canPublishPullRequests: true +canPublishContributors: true +canPublishStargazers: true +canPublishCommits: true From e3940c3797390e8549476355d34eab3e64ba5f13 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 12 Jan 2020 20:58:21 +0100 Subject: [PATCH 073/195] Create FUNDING.yaml keeping in sync with master --- .github/FUNDING.yaml | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .github/FUNDING.yaml diff --git a/.github/FUNDING.yaml b/.github/FUNDING.yaml new file mode 100644 index 000000000..598df2a3d --- /dev/null +++ b/.github/FUNDING.yaml @@ -0,0 +1,2 @@ + +custom: https://www.paypal.me/prderbyshire/2 From 89f3ce98a125e7ce22b1487322699ee3acf0b389 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 12 Jan 2020 20:59:07 +0100 Subject: [PATCH 074/195] Create FUNDING.yml --- .github/FUNDING.yml | 1 + 1 file changed, 1 insertion(+) create mode 100644 .github/FUNDING.yml diff --git a/.github/FUNDING.yml b/.github/FUNDING.yml new file mode 100644 index 000000000..1956ac692 --- /dev/null +++ b/.github/FUNDING.yml @@ -0,0 +1 @@ +custom: https://www.paypal.me/prderbyshire/2 From bf12ef313c9f910e70428db370926326541202e5 Mon Sep 17 00:00:00 2001 From: Proddy Date: Sun, 12 Jan 2020 20:59:17 +0100 Subject: [PATCH 075/195] Delete FUNDING.yaml --- .github/FUNDING.yaml | 2 -- 1 file changed, 2 deletions(-) delete mode 100644 .github/FUNDING.yaml diff --git a/.github/FUNDING.yaml b/.github/FUNDING.yaml deleted file mode 100644 index 598df2a3d..000000000 --- a/.github/FUNDING.yaml +++ /dev/null @@ -1,2 +0,0 @@ - -custom: https://www.paypal.me/prderbyshire/2 From 093df344e267418a670a22a80a39349327a42af0 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Mon, 13 Jan 2020 10:25:37 +0100 Subject: [PATCH 076/195] Test --- platformio.ini | 1 + src/ems.cpp | 7 +++---- src/ems_devices.h | 1 + 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/platformio.ini b/platformio.ini index 747006030..1c0fd31b0 100644 --- a/platformio.ini +++ b/platformio.ini @@ -112,3 +112,4 @@ build_flags = ${common.build_flags} ${common.custom_flags} extra_scripts = pre:scripts/pre_script.py scripts/main_script.py + diff --git a/src/ems.cpp b/src/ems.cpp index 5ad2c6048..03f65ad2c 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1037,11 +1037,10 @@ void ems_setWarmWaterCirculation(bool activated) { EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; EMS_TxTelegram.dest = EMS_Boiler.device_id; EMS_TxTelegram.type = EMS_TYPE_UBAFlags; - EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwOneTime; - EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH+1; + EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwCirulation; + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate - EMS_TxTelegram.data[4] = 0x11; - EMS_TxTelegram.data[5] = (activated ? 0x33 : 0x11); + EMS_TxTelegram.dataValue = (activated ? 0x22 : 0x02); EMS_TxQueue.push(EMS_TxTelegram); } diff --git a/src/ems_devices.h b/src/ems_devices.h index 9d65b40c4..c780b0c37 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -46,6 +46,7 @@ #define EMS_OFFSET_UBAParameterWW_wwtemp 2 // WW Temperature #define EMS_OFFSET_UBAParameterWW_wwactivated 1 // WW Activated #define EMS_OFFSET_UBAParameterWW_wwOneTime 0x00 // WW OneTime loading +#define EMS_OFFSET_UBAParameterWW_wwCirulation 1 // WW circulation #define EMS_OFFSET_UBAParameterWW_wwComfort 9 // WW is in comfort or eco mode #define EMS_VALUE_UBAParameterWW_wwComfort_Hot 0x00 // the value for hot #define EMS_VALUE_UBAParameterWW_wwComfort_Eco 0xD8 // the value for eco From 8f564ab1f732792d5d74387a12ebae6109fe94da Mon Sep 17 00:00:00 2001 From: Proddy Date: Thu, 16 Jan 2020 10:30:56 +0100 Subject: [PATCH 077/195] fix link to supported devices --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 774b1a468..890370502 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ EMS-ESP is a open-source system built for the Espressif ESP8266 microcontroller ## Features -* Supporting more than [50 EMS devices](https://proddy.github.io/EMS-ESP/#/Supported-EMS-Devices) (EMS 1.0, 2.0 and Heatronics). +* Supporting more than [50 EMS devices](https://emsesp.github.io/docs/#/Supported-EMS-Devices) (EMS 1, EMS 2.0/Plus and Heatronics 3). * A web interface for easy configuration and real-time monitoring of the EMS bus. * Telnet for advanced configuration and verbose traffic logging. * Configurable MQTT, with templates for Home Assistant and Domoticz. From b950cf824679c52a731c05cf94e205a590117926 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sat, 18 Jan 2020 19:12:53 +0100 Subject: [PATCH 078/195] summery over last commitsto MM10 - add MM200 warm water circuits (#299) - add terminal boiler wwactive on/off command (#301) - show first active thermostat hc in web (instead always 1) - add log d [id] to show messages from/to specific ID (may replace log t and log s) - add mixer version to info - add warm water circulation active to terminal and mqtt - mqtt subscribe only to active hc - change NOTSET values for short/ushort and set the compare to level (match 0x7D00, 0x8000 and 0x8300 as notset) - add calculated flow temperature to thermostat stats --- src/ems-esp.cpp | 81 ++++++++++++++++++++++++++++++++++++----------- src/ems.cpp | 41 +++++++++++++++++++++--- src/ems.h | 18 +++++++++-- src/ems_devices.h | 7 +++- src/version.h | 2 +- 5 files changed, 122 insertions(+), 27 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index f1a624557..634070e98 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -103,8 +103,8 @@ static const command_t project_cmds[] PROGMEM = { {true, "master_thermostat [product id]", "set default thermostat to use. Omit [product id] to show options."}, {false, "info", "show current values deciphered from the EMS messages"}, - {false, "log ", "logging: none, basic, thermo, solar, raw, jabber, verbose, watch a type or device"}, + #ifdef TESTS {false, "test ", "insert a test telegram on to the EMS bus"}, #endif @@ -120,6 +120,7 @@ static const command_t project_cmds[] PROGMEM = { {false, "thermostat mode [hc] ", "set mode (0=off, 1=manual, 2=auto) for heating circuit hc 1-4"}, {false, "boiler read ", "send read request to boiler"}, {false, "boiler wwtemp ", "set boiler warm water temperature"}, + {false, "boiler wwactive ", "set boiler warm water on/off"}, {false, "boiler tapwater ", "set boiler warm tap water on/off"}, {false, "boiler flowtemp ", "set boiler flow temperature"}, {false, "boiler comfort ", "set boiler warm water comfort setting"} @@ -232,6 +233,8 @@ void showInfo() { myDebug_P(PSTR(" System logging set to Jabber")); } else if (sysLog == EMS_SYS_LOGGING_WATCH) { myDebug_P(PSTR(" System logging set to Watch")); + } else if (sysLog == EMS_SYS_LOGGING_DEVICE) { + myDebug_P(PSTR(" System logging set to device")); } else { myDebug_P(PSTR(" System logging set to None")); } @@ -481,7 +484,7 @@ void showInfo() { myDebug_P(PSTR("%sMixing module stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Mixing: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type,false)); if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) - _renderShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); + _renderUShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { if (EMS_Mixing.hc[hc_num - 1].active) { @@ -496,6 +499,17 @@ void showInfo() { _renderIntValue(" Current valve status", "", EMS_Mixing.hc[hc_num - 1].valveStatus); } } + for (uint8_t wwc_num = 1; wwc_num <= EMS_THERMOSTAT_MAXWWC; wwc_num++) { + if (EMS_Mixing.wwc[wwc_num - 1].active) { + myDebug_P(PSTR(" Warm Water Buffer %d"), wwc_num); + if (EMS_Mixing.wwc[wwc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) + _renderUShortValue(" Current warm water temperature", "C", EMS_Mixing.wwc[wwc_num - 1].flowTemp); + if (EMS_Mixing.wwc[wwc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Current pump status", "", EMS_Mixing.wwc[wwc_num - 1].pumpMod); + if (EMS_Mixing.wwc[wwc_num - 1].tempStatus != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Current temp status", "", EMS_Mixing.wwc[wwc_num - 1].tempStatus); + } + } } // Dallas external temp sensors @@ -777,7 +791,6 @@ void publishEMSValues(bool force) { strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); strlcat(hc, _int_to_char(s, mixing->hc), sizeof(hc)); JsonObject dataMixing = rootMixing.createNestedObject(hc); - if (mixing->flowTemp < EMS_VALUE_USHORT_NOTSET) dataMixing["flowTemp"] = (float)mixing->flowTemp / 10; if (mixing->flowSetTemp != EMS_VALUE_INT_NOTSET) @@ -788,6 +801,23 @@ void publishEMSValues(bool force) { dataMixing["valveStatus"] = mixing->valveStatus; } } + for (uint8_t wwc_v = 1; wwc_v <= EMS_THERMOSTAT_MAXWWC; wwc_v++) { + _EMS_Mixing_WWC * mixing = &EMS_Mixing.wwc[wwc_v - 1]; + // only send if we have an active Warm water Circuit with real data + if (mixing->active) { + // build new json object + char wwc[10]; // wc{1-2} + strlcpy(wwc, "wwc", sizeof(wwc)); + strlcat(wwc, _int_to_char(s, mixing->wwc), sizeof(wwc)); + JsonObject dataMixing = rootMixing.createNestedObject(wwc); + if (mixing->flowTemp < EMS_VALUE_USHORT_NOTSET) + dataMixing["wwTemp"] = (float)mixing->flowTemp / 10; + if (mixing->pumpMod != EMS_VALUE_INT_NOTSET) + dataMixing["pumpStatus"] = mixing->pumpMod; + if (mixing->tempStatus != EMS_VALUE_INT_NOTSET) + dataMixing["tempStatus"] = mixing->tempStatus; + } + } data[0] = '\0'; // reset data for next package serializeJson(doc, data, sizeof(data)); @@ -1276,6 +1306,9 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { } else if ((strcmp(second_cmd, "w") == 0) && (wc == 3)) { ems_setLogging(EMS_SYS_LOGGING_WATCH, _readHexNumber()); // get type_id ok = true; + } else if ((strcmp(second_cmd, "d") == 0) && (wc == 3)) { + ems_setLogging(EMS_SYS_LOGGING_DEVICE, _readHexNumber()); // get device_id + ok = true; } } @@ -1335,6 +1368,15 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { } else if (strcmp(second_cmd, "flowtemp") == 0) { ems_setFlowTemp(_readIntNumber()); ok = true; + } else if (strcmp(second_cmd, "wwactive") == 0) { + char * third_cmd = _readWord(); + if (strcmp(third_cmd, "on") == 0) { + ems_setWarmWaterActivated(true); + ok = true; + } else if (strcmp(third_cmd, "off") == 0) { + ems_setWarmWaterActivated(false); + ok = true; + } } } @@ -1403,13 +1445,16 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { char topic_s[50]; char buffer[4]; for (uint8_t hc = 1; hc <= EMS_THERMOSTAT_MAXHC; hc++) { - strlcpy(topic_s, TOPIC_THERMOSTAT_CMD_TEMP_HA, sizeof(topic_s)); - strlcat(topic_s, itoa(hc, buffer, 10), sizeof(topic_s)); - myESP.mqttSubscribe(topic_s); + // subscribe onlyto active hc + if(EMS_Thermostat.hc[hc - 1].active) { + strlcpy(topic_s, TOPIC_THERMOSTAT_CMD_TEMP_HA, sizeof(topic_s)); + strlcat(topic_s, itoa(hc, buffer, 10), sizeof(topic_s)); + myESP.mqttSubscribe(topic_s); - strlcpy(topic_s, TOPIC_THERMOSTAT_CMD_MODE_HA, sizeof(topic_s)); - strlcat(topic_s, itoa(hc, buffer, 10), sizeof(topic_s)); - myESP.mqttSubscribe(topic_s); + strlcpy(topic_s, TOPIC_THERMOSTAT_CMD_MODE_HA, sizeof(topic_s)); + strlcat(topic_s, itoa(hc, buffer, 10), sizeof(topic_s)); + myESP.mqttSubscribe(topic_s); + } } // generic incoming MQTT command for Thermostat @@ -1574,7 +1619,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { uint8_t hc; // thermostat temp changes hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_TEMP_HA, topic); - if (hc) { + if (hc && EMS_Thermostat.hc[hc - 1].active) { float f = strtof((char *)message, 0); ems_setThermostatTemp(f, hc); publishEMSValues(true); // publish back immediately @@ -1583,7 +1628,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // thermostat mode changes hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_MODE_HA, topic); - if (hc) { + if (hc && EMS_Thermostat.hc[hc - 1].active) { if (strncmp(message, "auto", 4) == 0) { ems_setThermostatMode(2, hc); } else if ((strncmp(message, "day", 4) == 0) || (strncmp(message, "manual", 6) == 0) || (strncmp(message, "heat", 4) == 0)) { @@ -1607,7 +1652,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // thermostat temp changes hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_TEMP, command); - if (hc) { + if (hc && EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; ems_setThermostatTemp(f, hc); publishEMSValues(true); // publish back immediately @@ -1616,7 +1661,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // thermostat mode changes hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_MODE, command); - if (hc) { + if (hc && EMS_Thermostat.hc[hc - 1].active) { const char * data_cmd = doc["data"]; if (strncmp(data_cmd, "auto", 4) == 0) { ems_setThermostatMode(2, hc); @@ -1630,7 +1675,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // set night temp value hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_NIGHTTEMP, command); - if (hc) { + if (hc && EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; ems_setThermostatTemp(f, hc, 1); // night return; @@ -1638,7 +1683,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // set daytemp value hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_DAYTEMP, command); - if (hc) { + if (hc && EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; ems_setThermostatTemp(f, hc, 2); // day return; @@ -1646,7 +1691,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // set holiday value hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_HOLIDAYTEMP, command); - if (hc) { + if (hc && EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; ems_setThermostatTemp(f, hc, 3); // holiday return; @@ -1727,7 +1772,7 @@ void WebCallback(JsonObject root) { uint8_t hc_num = 1; // default to HC1 uint8_t model = ems_getThermostatModel(); - while (hc_num <= EMS_THERMOSTAT_MAXHC && !EMS_Thermostat.hc[hc_num - 1].active) hc_num++; + while (hc_num < EMS_THERMOSTAT_MAXHC && !EMS_Thermostat.hc[hc_num - 1].active) hc_num++; // first active hc // Render Current & Setpoint Room Temperature if (model == EMS_DEVICE_FLAG_EASY) { if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) diff --git a/src/ems.cpp b/src/ems.cpp index 03f65ad2c..c4a40b791 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -128,6 +128,12 @@ void ems_init() { EMS_Mixing.hc[i].valveStatus = EMS_VALUE_INT_NOTSET; EMS_Mixing.hc[i].flowSetTemp = EMS_VALUE_INT_NOTSET; } + for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXWWC; i++) { + EMS_Mixing.wwc[i].wwc = i + 1; + EMS_Mixing.wwc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; + EMS_Mixing.wwc[i].pumpMod = EMS_VALUE_INT_NOTSET; + EMS_Mixing.wwc[i].tempStatus = EMS_VALUE_INT_NOTSET; + } // UBAParameterWW EMS_Boiler.wWActivated = EMS_VALUE_BOOL_NOTSET; // Warm Water activated @@ -281,9 +287,9 @@ _EMS_SYS_LOGGING ems_getLogging() { return EMS_Sys_Status.emsLogging; } -void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id) { - EMS_Sys_Status.emsLogging_typeID = type_id; - ems_setLogging(EMS_SYS_LOGGING_WATCH, false); +void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t id) { + EMS_Sys_Status.emsLogging_ID = id; + ems_setLogging(loglevel, false); } void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet) { @@ -309,6 +315,8 @@ void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet) { myDebug_P(PSTR("System Logging set to Jabber mode")); } else if (loglevel == EMS_SYS_LOGGING_WATCH) { myDebug_P(PSTR("System Logging set to Watch mode")); + } else if (loglevel == EMS_SYS_LOGGING_DEVICE) { + myDebug_P(PSTR("System Logging set to Device mode")); } } @@ -850,8 +858,11 @@ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { // but still continue to process it if ((EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_RAW)) { _debugPrintTelegram("", &EMS_RxTelegram, COLOR_WHITE, true); - } else if ((EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_WATCH) && (EMS_RxTelegram.type == EMS_Sys_Status.emsLogging_typeID)) { + } else if ((EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_WATCH) && (EMS_RxTelegram.type == EMS_Sys_Status.emsLogging_ID)) { _debugPrintTelegram("", &EMS_RxTelegram, COLOR_WHITE, true); + // raw printout for log d [id] disabled, moved to _printMessage() +// } else if ((EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_DEVICE) && ((EMS_RxTelegram.src == EMS_Sys_Status.emsLogging_ID) || (EMS_RxTelegram.dest == EMS_Sys_Status.emsLogging_ID))) { +// _debugPrintTelegram("", &EMS_RxTelegram, COLOR_WHITE, true); } // Assume at this point we have something that vaguely resembles a telegram in the format [src] [dest] [type] [offset] [data] [crc] @@ -929,6 +940,11 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram) { if ((src == EMS_SolarModule.device_id) || (dest == EMS_SolarModule.device_id)) { _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); } + } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_DEVICE) { + // only print ones to/from DeviceID + if ((src == EMS_Sys_Status.emsLogging_ID) || (dest == EMS_Sys_Status.emsLogging_ID)) { + _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); + } } else { // always print _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); @@ -1269,6 +1285,19 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].pumpMod, EMS_OFFSET_MMPLUSStatusMessage_pump_mod); _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } +// Mixer warm water loading - 0x0231, 0x0232 + +void _process_MMPLUSStatusMessageWW(_EMS_RxTelegram * EMS_RxTelegram) { + uint8_t wwc = (EMS_RxTelegram->type - EMS_TYPE_MMPLUSStatusMessage_WWC1); // 0 to 3 + if (wwc >= EMS_THERMOSTAT_MAXWWC) { + return; // invalid type + } + EMS_Mixing.wwc[wwc].active = true; + + _setValue(EMS_RxTelegram, &EMS_Mixing.wwc[wwc].flowTemp, EMS_OFFSET_MMPLUSStatusMessage_WW_flow_temp); + _setValue(EMS_RxTelegram, &EMS_Mixing.wwc[wwc].pumpMod, EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod); + _setValue(EMS_RxTelegram, &EMS_Mixing.wwc[wwc].tempStatus, EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status); +} // Mixer - 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { @@ -2859,6 +2888,10 @@ const _EMS_Type EMS_Types[] = { // Mixing devices MM10 - MM400 {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC3, "MMPLUSStatusMessage_HC3", _process_MMPLUSStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC4, "MMPLUSStatusMessage_HC4", _process_MMPLUSStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC1, "MMPLUSStatusMessage_WWC1", _process_MMPLUSStatusMessageWW}, + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC2, "MMPLUSStatusMessage_WWC2", _process_MMPLUSStatusMessageWW}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage} }; diff --git a/src/ems.h b/src/ems.h index b7c596fb2..56c829474 100644 --- a/src/ems.h +++ b/src/ems.h @@ -34,6 +34,7 @@ // thermostat specific #define EMS_THERMOSTAT_MAXHC 4 // max number of heating circuits +#define EMS_THERMOSTAT_MAXWWC 2 // max number of warm water circuits #define EMS_THERMOSTAT_DEFAULTHC 1 // default heating circuit is 1 #define EMS_THERMOSTAT_WRITE_YES true #define EMS_THERMOSTAT_WRITE_NO false @@ -112,9 +113,10 @@ typedef enum { EMS_SYS_LOGGING_WATCH, // watch a specific type ID EMS_SYS_LOGGING_BASIC, // only basic read/write messages EMS_SYS_LOGGING_THERMOSTAT, // only telegrams sent from thermostat - EMS_SYS_LOGGING_SOLARMODULE, // only telegrams sent from thermostat + EMS_SYS_LOGGING_SOLARMODULE, // only telegrams sent from solarmodule EMS_SYS_LOGGING_VERBOSE, // everything - EMS_SYS_LOGGING_JABBER // lots of debug output... + EMS_SYS_LOGGING_JABBER, // lots of debug output... + EMS_SYS_LOGGING_DEVICE // watch the device ID } _EMS_SYS_LOGGING; // status/counters since last power on @@ -126,7 +128,7 @@ typedef struct { uint16_t emxCrcErr; // CRC errors bool emsPollEnabled; // flag enable the response to poll messages _EMS_SYS_LOGGING emsLogging; // logging - uint16_t emsLogging_typeID; // the typeID to watch + uint16_t emsLogging_ID; // the type or device ID to watch uint8_t emsRefreshedFlags; // fresh data, needs to be pushed out to MQTT bool emsBusConnected; // is there an active bus uint32_t emsRxTimestamp; // timestamp of last EMS message received @@ -344,6 +346,15 @@ typedef struct { uint8_t flowSetTemp; } _EMS_Mixing_HC; +// Mixing Module per WWC +typedef struct { + uint8_t wwc; // warm water circuit 1, 2 + bool active; // true if there is data for this WWC + uint16_t flowTemp; + uint8_t pumpMod; + uint8_t tempStatus; +} _EMS_Mixing_WWC; + // Mixer data typedef struct { uint8_t device_id; @@ -353,6 +364,7 @@ typedef struct { char version[10]; bool detected; _EMS_Mixing_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits + _EMS_Mixing_WWC wwc[EMS_THERMOSTAT_MAXWWC]; // array for the 2 ww circuits } _EMS_Mixing; // Solar Module - SM10/SM100/SM200/ISM1 diff --git a/src/ems_devices.h b/src/ems_devices.h index c780b0c37..f44b414b7 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -46,7 +46,7 @@ #define EMS_OFFSET_UBAParameterWW_wwtemp 2 // WW Temperature #define EMS_OFFSET_UBAParameterWW_wwactivated 1 // WW Activated #define EMS_OFFSET_UBAParameterWW_wwOneTime 0x00 // WW OneTime loading -#define EMS_OFFSET_UBAParameterWW_wwCirulation 1 // WW circulation +#define EMS_OFFSET_UBAParameterWW_wwCirulation 1 // WW circulation #define EMS_OFFSET_UBAParameterWW_wwComfort 9 // WW is in comfort or eco mode #define EMS_VALUE_UBAParameterWW_wwComfort_Hot 0x00 // the value for hot #define EMS_VALUE_UBAParameterWW_wwComfort_Eco 0xD8 // the value for eco @@ -176,9 +176,14 @@ #define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2 #define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixer status HC3 #define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixer status HC4 +#define EMS_TYPE_MMPLUSStatusMessage_WWC1 0x0231 // mixer status WWC1 +#define EMS_TYPE_MMPLUSStatusMessage_WWC2 0x0232 // mixer status WWC2 #define EMS_OFFSET_MMPLUSStatusMessage_flow_temp 3 // flow temperature #define EMS_OFFSET_MMPLUSStatusMessage_pump_mod 5 // pump modulation #define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent +#define EMS_OFFSET_MMPLUSStatusMessage_WW_flow_temp 0 // flow temperature +#define EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod 2 // pump on 6, off 0 +#define EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status 11 // 0,1,2 // MM10 #define EMS_TYPE_MMStatusMessage 0xAB // mixer status diff --git a/src/version.h b/src/version.h index 32897e3e2..1cfb1f22a 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b17" +#define APP_VERSION "1.9.5b17m" From ed4b16f24d04207794da70f7322f6aa8b20f40c5 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 19 Jan 2020 14:52:17 +0100 Subject: [PATCH 079/195] update arduinojson --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 747006030..7bf25ed66 100644 --- a/platformio.ini +++ b/platformio.ini @@ -52,7 +52,7 @@ lib_deps = JustWifi@2.0.2 ; https://github.com/xoseperez/justwifi AsyncMqttClient@0.8.2 ; https://github.com/marvinroger/async-mqtt-client EEPROM_Rotate@0.9.2 ; https://github.com/xoseperez/eeprom_rotate - ArduinoJson@6.13.0 ; https://github.com/bblanchon/ArduinoJson + ArduinoJson@6.14.0 ; https://github.com/bblanchon/ArduinoJson ESPAsyncTCP@1.2.2 ; https://github.com/me-no-dev/ESPAsyncTCP upload_speed = 921600 monitor_speed = 115200 From 5911aa8506ef3ccaa99990fa071e18491faf6c22 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 19 Jan 2020 14:52:26 +0100 Subject: [PATCH 080/195] bump to b18 --- src/version.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/version.h b/src/version.h index 32897e3e2..6406162bd 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b17" +#define APP_VERSION "1.9.5b18" From db2d2e994dce9f097e6bcfdc916f195bf9607a3b Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 19 Jan 2020 14:52:54 +0100 Subject: [PATCH 081/195] mqttlog [all] function --- src/MyESP.cpp | 35 +++++++++++++++++++---------------- src/MyESP.h | 16 ++++++++-------- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 0d0f3f645..a8804efbd 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -725,8 +725,8 @@ void MyESP::_consoleShowHelp() { myDebug_P(PSTR("*")); myDebug_P(PSTR("* Commands:")); - myDebug_P(PSTR("* ?/help=show commands, CTRL-D/quit=close telnet session")); - myDebug_P(PSTR("* set, system, restart, mqttlog, kick, save")); + myDebug_P(PSTR("* ?/help=show commands, CTRL-D/quit=end telnet session")); + myDebug_P(PSTR("* set, system, restart, mqttlog [all], kick, save")); #ifdef CRASH myDebug_P(PSTR("* crash ")); @@ -1052,12 +1052,12 @@ void MyESP::_telnetCommand(char * commandLine) { } // print mqtt log command - if ((strcmp(ptrToCommandName, "mqttlog") == 0) && (wc == 1)) { - _printMQTTLog(); + if (strcmp(ptrToCommandName, "mqttlog") == 0) { + _printMQTTLog(wc != 1); return; } - // show system stats + // show system status if ((strcmp(ptrToCommandName, "system") == 0) && (wc == 1)) { showSystemStats(); return; @@ -1070,7 +1070,7 @@ void MyESP::_telnetCommand(char * commandLine) { return; } - // show system stats + // quit if ((strcmp(ptrToCommandName, "quit") == 0) && (wc == 1)) { myDebug_P(PSTR("[TELNET] exiting telnet session")); SerialAndTelnet.disconnectClient(); @@ -1333,13 +1333,13 @@ void MyESP::_systemCheckLoop() { } } -// print out ESP system stats +// print out ESP system status // for battery power is ESP.getVcc() void MyESP::showSystemStats() { #if defined(ESP8266) - myDebug_P(PSTR("%sESP8266 System stats:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); + myDebug_P(PSTR("%sESP8266 System status:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); #else - myDebug_P(PSTR("ESP32 System stats:")); + myDebug_P(PSTR("ESP32 System status:")); #endif myDebug_P(PSTR("")); @@ -2688,13 +2688,13 @@ void MyESP::_printHeap(const char * prefix) { } // print MQTT log - everything that was published last per topic -void MyESP::_printMQTTLog() { +void MyESP::_printMQTTLog(bool show_sub = false) { myDebug_P(PSTR("MQTT publish log:")); uint8_t i; for (i = 0; i < MYESP_MQTTLOG_MAX; i++) { if ((MQTT_log[i].topic != nullptr) && (MQTT_log[i].type == MYESP_MQTTLOGTYPE_PUBLISH)) { - myDebug_P(PSTR(" Timestamp:%02d:%02d:%02d Topic:%s Payload:%s"), + myDebug_P(PSTR(" (%02d:%02d:%02d) Topic:%s Payload:%s"), to_hour(MQTT_log[i].timestamp), to_minute(MQTT_log[i].timestamp), to_second(MQTT_log[i].timestamp), @@ -2703,12 +2703,15 @@ void MyESP::_printMQTTLog() { } } - myDebug_P(PSTR("")); // newline - myDebug_P(PSTR("MQTT subscriptions:")); + // show subscriptions + if (show_sub) { + myDebug_P(PSTR("")); // newline + myDebug_P(PSTR("MQTT subscriptions:")); - for (i = 0; i < MYESP_MQTTLOG_MAX; i++) { - if ((MQTT_log[i].topic != nullptr) && (MQTT_log[i].type == MYESP_MQTTLOGTYPE_SUBSCRIBE)) { - myDebug_P(PSTR(" Topic:%s"), MQTT_log[i].topic); + for (i = 0; i < MYESP_MQTTLOG_MAX; i++) { + if ((MQTT_log[i].topic != nullptr) && (MQTT_log[i].type == MYESP_MQTTLOGTYPE_SUBSCRIBE)) { + myDebug_P(PSTR(" Topic:%s"), MQTT_log[i].topic); + } } } diff --git a/src/MyESP.h b/src/MyESP.h index 3f78b7b5b..53bfdf1e8 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.24" +#define MYESP_VERSION "1.2.25" #include #include @@ -335,17 +335,17 @@ class MyESP { private: // mqtt - void _mqttOnMessage(char * topic, char * payload, size_t len); - void _mqttConnect(); - void _mqtt_setup(); - void _mqttOnConnect(); - void _sendStart(); - char * _mqttTopic(const char * topic); + void _mqttOnMessage(char * topic, char * payload, size_t len); + void _mqttConnect(); + void _mqtt_setup(); + void _mqttOnConnect(); + void _sendStart(); + char * _mqttTopic(const char * topic); // mqtt log _MQTT_Log_t MQTT_log[MYESP_MQTTLOG_MAX]; // log for publish and subscribe messages - void _printMQTTLog(); + void _printMQTTLog(bool show_sub); void _addMQTTLog(const char * topic, const char * payload, const MYESP_MQTTLOGTYPE_t type); AsyncMqttClient mqttClient; // the MQTT class From b037efb48d6ba8980f61de844692c2d82c5c531c Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 19 Jan 2020 14:53:08 +0100 Subject: [PATCH 082/195] minor text changes --- src/ems_devices.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index 9d65b40c4..cf46fba39 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -54,7 +54,7 @@ #define EMS_OFFSET_UBASetPoints_flowtemp 0 // flow temp // SM and HP Types -// Assuming SM100 behaves like SM200 +// Assuming here that the SM200 behaves like SM100 #define EMS_TYPE_SM10Monitor 0x97 // SM10Monitor #define EMS_TYPE_SM100Monitor 0x0262 // SM100Monitor #define EMS_TYPE_SM100Status 0x0264 // SM100Status @@ -112,7 +112,6 @@ #define EMS_OFFSET_RC35StatusMessage_mode 1 // day mode, also summer on RC3's #define EMS_OFFSET_RC35StatusMessage_mode1 0 // for holiday mode - #define EMS_TYPE_RC35Set_HC1 0x3D // for setting values like temp and mode (Working mode HC1) #define EMS_TYPE_RC35Set_HC2 0x47 // for setting values like temp and mode (Working mode HC2) #define EMS_TYPE_RC35Set_HC3 0x51 // for setting values like temp and mode (Working mode HC3) From cd848817691421e5f5d75fdb488c52a97152df89 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 19 Jan 2020 14:53:42 +0100 Subject: [PATCH 083/195] rename 'stats' to 'data' --- src/ems.cpp | 11 +++++++---- src/websrc/myesp.htm | 2 +- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 6287f392a..8217f9f21 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -76,7 +76,7 @@ bool ems_isHT3() { return (EMS_Sys_Status.emsIDMask == 0x80); } -// init stats and counters and buffers +// init EMS device values, counters and buffers void ems_init() { ems_clearDeviceList(); // init the device map @@ -742,12 +742,14 @@ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { * It may happen that we were interrupted (for instance by WIFI activity) and the * buffer isn't valid anymore, so we must not answer at all... */ + /* if (EMS_Sys_Status.emsRxStatus != EMS_RX_STATUS_IDLE) { if (EMS_Sys_Status.emsLogging > EMS_SYS_LOGGING_NONE) { myDebug_P(PSTR("** Warning, we missed the bus - Rx non-idle!")); } return; } + */ /* * check if we just received one byte @@ -1250,7 +1252,7 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // Mixer - 0xAB void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = 0; // fixed, for 0xAB (HC1 only + uint8_t hc = 0; // fixed, for 0xAB (HC1 only) EMS_Mixing.hc[hc].active = true; _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); @@ -1937,8 +1939,8 @@ void ems_getThermostatValues() { * Generic function to return various settings from the thermostat */ void ems_getBoilerValues() { - ems_doReadCommand(EMS_TYPE_UBAMonitorFast, EMS_Boiler.device_id); // get boiler stats, instead of waiting 10secs for the broadcast - ems_doReadCommand(EMS_TYPE_UBAMonitorSlow, EMS_Boiler.device_id); // get more boiler stats, instead of waiting 60secs for the broadcast + ems_doReadCommand(EMS_TYPE_UBAMonitorFast, EMS_Boiler.device_id); // get boiler data, instead of waiting 10secs for the broadcast + ems_doReadCommand(EMS_TYPE_UBAMonitorSlow, EMS_Boiler.device_id); // get more boiler data, instead of waiting 60secs for the broadcast ems_doReadCommand(EMS_TYPE_UBAParameterWW, EMS_Boiler.device_id); // get Warm Water values ems_doReadCommand(EMS_TYPE_UBAParametersMessage, EMS_Boiler.device_id); // get MC10 boiler values ems_doReadCommand(EMS_TYPE_UBATotalUptimeMessage, EMS_Boiler.device_id); // get uptime from boiler @@ -2567,6 +2569,7 @@ void ems_setFlowTemp(uint8_t temperature) { /** * Set the warm water mode to comfort to Eco/Comfort * 1 = Hot, 2 = Eco, 3 = Intelligent + * to 0x33 */ void ems_setWarmWaterModeComfort(uint8_t comfort) { _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx diff --git a/src/websrc/myesp.htm b/src/websrc/myesp.htm index 2ada3ff59..6ed02bd4c 100644 --- a/src/websrc/myesp.htm +++ b/src/websrc/myesp.htm @@ -253,7 +253,7 @@

+ data-content="Enable or Disable an automatic MQTT topic publish with system status">
+ data-content="MQTT Server port number (default 1883)"> -
@@ -191,9 +191,9 @@
+ data-content="MQTT QOS 0, 1 or 2 (default 0)"> -
@@ -201,9 +201,9 @@
+ data-content="MQTT Keep Alive time in seconds (default 60)"> -
@@ -246,7 +246,7 @@ aria-hidden="true" data-toggle="popover" data-trigger="hover" data-placement="right" data-content="MQTT topic prefix (<mqtt base>/<host name>/)">
-
From 5fd3b666cab1212689db2c1fc69b35e26be7b090 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 2 Feb 2020 23:15:13 +0100 Subject: [PATCH 109/195] minor formatting --- src/ems-esp.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 276345cb6..0dd66c70b 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -1637,7 +1637,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { float f = strtof((char *)message, 0); if (f) { ems_setThermostatTemp(f, hc); - publishEMSValues(true); // publish back immediately } + publishEMSValues(true); // publish back immediately return; } } @@ -1679,7 +1679,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { float f = doc["data"]; if (f) { ems_setThermostatTemp(f, hc); - publishEMSValues(true); // publish back immediately } + publishEMSValues(true); // publish back immediately return; } } @@ -1710,7 +1710,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, 1); // night } + ems_setThermostatTemp(f, hc, 1); // night return; } } From 416cd43e132b6a6cf80f61b0f8af85351bc560e4 Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 3 Feb 2020 17:52:39 +0100 Subject: [PATCH 110/195] added back autodetect scan, added RC30 set temp fix, fixed detection of controllers - #318 #311 --- src/ems-esp.cpp | 20 +++++++++++----- src/ems.cpp | 61 +++++++++++++++++++++++++++++++++++++---------- src/ems.h | 8 ++++--- src/ems_devices.h | 11 +++++---- src/version.h | 2 +- 5 files changed, 75 insertions(+), 27 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 0dd66c70b..9a6c23476 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -113,7 +113,7 @@ static const command_t project_cmds[] PROGMEM = { {false, "refresh", "fetch values from the EMS devices"}, {false, "devices", "list detected EMS devices"}, {false, "queue", "show current Tx queue"}, - {false, "autodetect", "scan for EMS devices and external sensors"}, + {false, "autodetect [scan]", "scan for EMS devices and external sensors. scan uses brute-force"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, {false, "thermostat temp [hc] ", "set current thermostat temperature"}, @@ -1275,11 +1275,19 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { } if (strcmp(first_cmd, "autodetect") == 0) { - myDebug("Scanning for new EMS devices and attached external sensors..."); - scanDallas(); - ems_clearDeviceList(); - ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); - ok = true; + if (wc == 2) { + char * second_cmd = _readWord(); + if (strcmp(second_cmd, "scan") == 0) { + ems_scanDevices(); // known device scan + ok = true; + } + } else { + myDebug("Scanning for new EMS devices and attached external sensors..."); + scanDallas(); + ems_clearDeviceList(); + ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); + ok = true; + } } // logging diff --git a/src/ems.cpp b/src/ems.cpp index e33d208e2..f0f2e6f57 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1839,7 +1839,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t found_index = 0; bool typeFound = false; while (i < _EMS_Devices_max) { - if ((EMS_Devices[i].product_id == product_id) && (EMS_Devices[i].type != EMS_DEVICE_TYPE_BOILER)) { + if ((EMS_Devices[i].product_id == product_id)) { // we have a matching product id typeFound = true; found_index = i; @@ -1857,9 +1857,15 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { const char * device_desc_p = (EMS_Devices[found_index].device_desc); // pointer to the full description of the device _EMS_DEVICE_TYPE type = EMS_Devices[found_index].type; // device type - // we recognized it, see if we already have it in our recognized list + // sometimes boilers have a built-in controller on device ID 0x09 + // we don't want this to appear as another boiler so switch them + if ((type == EMS_DEVICE_TYPE_BOILER) && (device_id = EMS_ID_CONTROLLER)) { + type = EMS_DEVICE_TYPE_CONTROLLER; + } + + // we recognized it, add it to list if (_addDevice(type, product_id, device_id, device_desc_p, version, brand)) { - return; // already in list + return; // already in list, don't bother initializing it } uint8_t flags = EMS_Devices[found_index].flags; // it's a new entry, get the specifics @@ -2388,7 +2394,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) EMS_TxTelegram.type_validate = EMS_ID_NONE; // validate by reading from a different telegram - } else if (model == EMS_DEVICE_FLAG_RC35) { + } else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { switch (temptype) { case 1: // change the night temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; @@ -2401,15 +2407,16 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) break; default: case 0: // automatic selection, if no type is defined, we use the standard code - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; - - /* commented out for https://github.com/proddy/EMS-ESP/issues/310 - if (EMS_Thermostat.hc[hc_num - 1].day_mode == 0) { - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; - } else if (EMS_Thermostat.hc[hc_num - 1].day_mode == 1) { - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; + if (model == EMS_DEVICE_FLAG_RC35) { + // https://github.com/proddy/EMS-ESP/issues/310 + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; + } else { + if (EMS_Thermostat.hc[hc_num - 1].day_mode == 0) { + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; + } else if (EMS_Thermostat.hc[hc_num - 1].day_mode == 1) { + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; + } } - */ break; } @@ -3171,3 +3178,33 @@ void ems_doReadCommand(uint16_t type, uint8_t dest) { EMS_TxQueue.push(EMS_TxTelegram); } + +/** + * Find the versions of our connected devices + */ +void ems_scanDevices() { + myDebug_P(PSTR("Started scanning the EMS bus for known devices")); + + std::list Device_Ids; // create a new list + + Device_Ids.push_back(EMS_ID_BOILER); // UBAMaster/Boilers - 0x08 + Device_Ids.push_back(EMS_ID_HP); // HeatPump - 0x38 + Device_Ids.push_back(EMS_ID_SM); // Solar Module - 0x30 + Device_Ids.push_back(0x09); // Controllers - 0x09 + Device_Ids.push_back(0x02); // Connect - 0x02 + Device_Ids.push_back(0x48); // Gateway - 0x48 + Device_Ids.push_back(0x20); // Mixing Devices - 0x20 + Device_Ids.push_back(0x21); // Mixing Devices - 0x21 + Device_Ids.push_back(0x10); // Thermostats - 0x10 + Device_Ids.push_back(0x17); // Thermostats - 0x17 + Device_Ids.push_back(0x18); // Thermostats - 0x18 + + // remove duplicates and reserved IDs (like our own device) + // Device_Ids.sort(); + // Device_Ids.unique(); + + // send the read command with Version command + for (uint8_t device_id : Device_Ids) { + ems_doReadCommand(EMS_TYPE_Version, device_id); + } +} \ No newline at end of file diff --git a/src/ems.h b/src/ems.h index dccb4c0fc..e0e7cc9ff 100644 --- a/src/ems.h +++ b/src/ems.h @@ -50,9 +50,10 @@ #define EMS_DEVICE_FLAG_RC10 2 #define EMS_DEVICE_FLAG_RC20 3 #define EMS_DEVICE_FLAG_RC30 4 -#define EMS_DEVICE_FLAG_RC35 5 -#define EMS_DEVICE_FLAG_RC300 6 -#define EMS_DEVICE_FLAG_JUNKERS 7 +#define EMS_DEVICE_FLAG_RC30N 5 // newer type of RC30 with RC35 circuit +#define EMS_DEVICE_FLAG_RC35 6 +#define EMS_DEVICE_FLAG_RC300 7 +#define EMS_DEVICE_FLAG_JUNKERS 8 typedef enum { EMS_THERMOSTAT_MODE_UNKNOWN, @@ -479,6 +480,7 @@ void ems_Device_add_flags(unsigned int flags); bool ems_Device_has_flags(unsigned int flags); void ems_Device_remove_flags(unsigned int flags); bool ems_isHT3(); +void ems_scanDevices(); // private functions uint8_t _crcCalculator(uint8_t * data, uint8_t len); diff --git a/src/ems_devices.h b/src/ems_devices.h index 4674724a1..5a29048e1 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -12,10 +12,11 @@ #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_SM 0x30 // Solar Module SM10, SM100, SM200 and ISM1 +#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_HP 0x38 // Heat Pump +#define EMS_ID_CONTROLLER 0x09 // controllers, some are built in /* * Common Type @@ -278,7 +279,7 @@ static const _EMS_Device EMS_Devices[] = { // 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_RC35}, // 0x10 - based on RC35 + {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30N}, // 0x10 - based on RC35 {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x19 diff --git a/src/version.h b/src/version.h index 0260854e0..f1f4fbb24 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b25" +#define APP_VERSION "1.9.5b26" From e8e7b22e30c80435831d0cb256ef8bfc4e5615bd Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 3 Feb 2020 23:16:26 +0100 Subject: [PATCH 111/195] fix RC30 mode - #318 --- src/ems-esp.cpp | 7 ++++--- src/ems.cpp | 7 ++++--- src/version.h | 2 +- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 9a6c23476..261ca69e6 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -196,7 +196,7 @@ _EMS_THERMOSTAT_MODE _getThermostatDayMode(uint8_t hc_num) { } else if (mode == 2) { thermoMode = EMS_THERMOSTAT_MODE_NIGHT; } - } else if (model == EMS_DEVICE_FLAG_RC35) { + } else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { if (mode == 0) { thermoMode = EMS_THERMOSTAT_MODE_NIGHT; } else if (mode == 1) { @@ -435,7 +435,7 @@ void showInfo() { // Render Day/Night/Holiday Temperature on RC35s // there is no single setpoint temp, but one for day, night and vacation - if (model == EMS_DEVICE_FLAG_RC35) { + if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { if (EMS_Thermostat.hc[hc_num - 1].summer_mode) { myDebug_P(PSTR(" Program is set to Summer mode")); } else if (EMS_Thermostat.hc[hc_num - 1].holiday_mode) { @@ -1278,7 +1278,8 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { if (wc == 2) { char * second_cmd = _readWord(); if (strcmp(second_cmd, "scan") == 0) { - ems_scanDevices(); // known device scan + ems_clearDeviceList(); + ems_scanDevices(); ok = true; } } else { diff --git a/src/ems.cpp b/src/ems.cpp index f0f2e6f57..c3b96ba3b 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1995,6 +1995,7 @@ void ems_getThermostatValues() { ems_doReadCommand(EMS_TYPE_EasyStatusMessage, device_id); break; case EMS_DEVICE_FLAG_RC35: + case EMS_DEVICE_FLAG_RC30N: for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { if (hc_num == 1) { statusMsg = EMS_TYPE_RC35StatusMessage_HC1; @@ -2550,7 +2551,7 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { EMS_TxTelegram.type_validate = EMS_TYPE_RC30Set; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; - } else if (model == EMS_DEVICE_FLAG_RC35) { + } else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { if (hc_num == 1) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC1; @@ -3183,7 +3184,7 @@ void ems_doReadCommand(uint16_t type, uint8_t dest) { * Find the versions of our connected devices */ void ems_scanDevices() { - myDebug_P(PSTR("Started scanning the EMS bus for known devices")); + myDebug_P(PSTR("Started scanning the EMS bus for known devices. This can take up to 10 seconds...")); std::list Device_Ids; // create a new list @@ -3207,4 +3208,4 @@ void ems_scanDevices() { for (uint8_t device_id : Device_Ids) { ems_doReadCommand(EMS_TYPE_Version, device_id); } -} \ No newline at end of file +} diff --git a/src/version.h b/src/version.h index f1f4fbb24..b887d7d04 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b26" +#define APP_VERSION "1.9.5b27" From ec25636d996b8589e2b3a4245419139f61103cdb Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 3 Feb 2020 23:35:35 +0100 Subject: [PATCH 112/195] some mixing minor changes --- src/ems-esp.cpp | 41 ++++++++++++------------- src/ems.cpp | 79 ++++++++++++++++++++++++------------------------- src/ems.h | 33 ++++++++++----------- 3 files changed, 76 insertions(+), 77 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 261ca69e6..774abcc26 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -479,32 +479,33 @@ void showInfo() { if (ems_getMixingDeviceEnabled()) { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sMixing module data:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); - // myDebug_P(PSTR(" Mixing: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type,false)); - if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) + myDebug_P(PSTR(" Mixing Module: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type, false)); + if ((EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) && (EMS_Boiler.switchTemp != 0)) { _renderUShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); + } for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { - if (EMS_Mixing.hc[hc_num - 1].active) { + if (EMS_MixingModule.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); - if (EMS_Mixing.hc[hc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) - _renderUShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); - if (EMS_Mixing.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) - _renderIntValue(" Setpoint flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowSetTemp); - if (EMS_Mixing.hc[hc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) - _renderIntValue(" Current pump modulation", "%", EMS_Mixing.hc[hc_num - 1].pumpMod); - if (EMS_Mixing.hc[hc_num - 1].valveStatus != EMS_VALUE_INT_NOTSET) - _renderIntValue(" Current valve status", "", EMS_Mixing.hc[hc_num - 1].valveStatus); + if (EMS_MixingModule.hc[hc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) + _renderUShortValue(" Current flow temperature", "C", EMS_MixingModule.hc[hc_num - 1].flowTemp); + if (EMS_MixingModule.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Setpoint flow temperature", "C", EMS_MixingModule.hc[hc_num - 1].flowSetTemp); + if (EMS_MixingModule.hc[hc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Current pump modulation", "%", EMS_MixingModule.hc[hc_num - 1].pumpMod); + if (EMS_MixingModule.hc[hc_num - 1].valveStatus != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Current valve status", "", EMS_MixingModule.hc[hc_num - 1].valveStatus); } } for (uint8_t wwc_num = 1; wwc_num <= EMS_THERMOSTAT_MAXWWC; wwc_num++) { - if (EMS_Mixing.wwc[wwc_num - 1].active) { + if (EMS_MixingModule.wwc[wwc_num - 1].active) { myDebug_P(PSTR(" Warm Water Circuit %d"), wwc_num); - if (EMS_Mixing.wwc[wwc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) - _renderUShortValue(" Current warm water temperature", "C", EMS_Mixing.wwc[wwc_num - 1].flowTemp); - if (EMS_Mixing.wwc[wwc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) - _renderIntValue(" Current pump status", "", EMS_Mixing.wwc[wwc_num - 1].pumpMod); - if (EMS_Mixing.wwc[wwc_num - 1].tempStatus != EMS_VALUE_INT_NOTSET) - _renderIntValue(" Current temp status", "", EMS_Mixing.wwc[wwc_num - 1].tempStatus); + if (EMS_MixingModule.wwc[wwc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) + _renderUShortValue(" Current warm water temperature", "C", EMS_MixingModule.wwc[wwc_num - 1].flowTemp); + if (EMS_MixingModule.wwc[wwc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Current pump status", "", EMS_MixingModule.wwc[wwc_num - 1].pumpMod); + if (EMS_MixingModule.wwc[wwc_num - 1].tempStatus != EMS_VALUE_INT_NOTSET) + _renderIntValue(" Current temp status", "", EMS_MixingModule.wwc[wwc_num - 1].tempStatus); } } } @@ -779,7 +780,7 @@ void publishEMSValues(bool force) { JsonObject rootMixing = doc.to(); for (uint8_t hc_v = 1; hc_v <= EMS_THERMOSTAT_MAXHC; hc_v++) { - _EMS_Mixing_HC * mixing = &EMS_Mixing.hc[hc_v - 1]; + _EMS_MixingModule_HC * mixing = &EMS_MixingModule.hc[hc_v - 1]; // only send if we have an active Heating Circuit with real data if (mixing->active) { @@ -799,7 +800,7 @@ void publishEMSValues(bool force) { } } for (uint8_t wwc_v = 1; wwc_v <= EMS_THERMOSTAT_MAXWWC; wwc_v++) { - _EMS_Mixing_WWC * mixing = &EMS_Mixing.wwc[wwc_v - 1]; + _EMS_MixingModule_WWC * mixing = &EMS_MixingModule.wwc[wwc_v - 1]; // only send if we have an active Warm water Circuit with real data if (mixing->active) { // build new json object diff --git a/src/ems.cpp b/src/ems.cpp index c3b96ba3b..6144eec8b 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -27,11 +27,11 @@ uint8_t _EMS_Devices_max = ArraySize(EMS_Devices); uint8_t _EMS_Devices_Types_max = ArraySize(EMS_Devices_Types); // these structs contain the data we store from the specific EMS devices -_EMS_Boiler EMS_Boiler; // for boiler -_EMS_Thermostat EMS_Thermostat; // for thermostat -_EMS_SolarModule EMS_SolarModule; // for solar modules -_EMS_HeatPump EMS_HeatPump; // for heatpumps -_EMS_Mixing EMS_Mixing; // for mixing devices +_EMS_Boiler EMS_Boiler; // for boiler +_EMS_Thermostat EMS_Thermostat; // for thermostat +_EMS_SolarModule EMS_SolarModule; // for solar modules +_EMS_HeatPump EMS_HeatPump; // for heatpumps +_EMS_MixingModule EMS_MixingModule; // for mixing devices // CRC lookup table with poly 12 for faster checking const uint8_t ems_crc_table[] = {0x00, 0x02, 0x04, 0x06, 0x08, 0x0A, 0x0C, 0x0E, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x20, 0x22, 0x24, 0x26, @@ -119,20 +119,20 @@ void ems_init() { EMS_Thermostat.hc[i].curr_roomTemp = EMS_VALUE_SHORT_NOTSET; } - EMS_Mixing.detected = false; + EMS_MixingModule.device_id = EMS_ID_NONE; // init all mixing modules for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) { - EMS_Mixing.hc[i].hc = i + 1; - EMS_Mixing.hc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; - EMS_Mixing.hc[i].pumpMod = EMS_VALUE_INT_NOTSET; - EMS_Mixing.hc[i].valveStatus = EMS_VALUE_INT_NOTSET; - EMS_Mixing.hc[i].flowSetTemp = EMS_VALUE_INT_NOTSET; + EMS_MixingModule.hc[i].hc = i + 1; + EMS_MixingModule.hc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; + EMS_MixingModule.hc[i].pumpMod = EMS_VALUE_INT_NOTSET; + EMS_MixingModule.hc[i].valveStatus = EMS_VALUE_INT_NOTSET; + EMS_MixingModule.hc[i].flowSetTemp = EMS_VALUE_INT_NOTSET; } for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXWWC; i++) { - EMS_Mixing.wwc[i].wwc = i + 1; - EMS_Mixing.wwc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; - EMS_Mixing.wwc[i].pumpMod = EMS_VALUE_INT_NOTSET; - EMS_Mixing.wwc[i].tempStatus = EMS_VALUE_INT_NOTSET; + EMS_MixingModule.wwc[i].wwc = i + 1; + EMS_MixingModule.wwc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; + EMS_MixingModule.wwc[i].pumpMod = EMS_VALUE_INT_NOTSET; + EMS_MixingModule.wwc[i].tempStatus = EMS_VALUE_INT_NOTSET; } // UBAParameterWW @@ -238,7 +238,7 @@ bool ems_getThermostatEnabled() { } bool ems_getMixingDeviceEnabled() { - return EMS_Mixing.detected; + return EMS_MixingModule.device_id != EMS_ID_NONE; } bool ems_getSolarModuleEnabled() { @@ -1287,11 +1287,11 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { if (hc >= EMS_THERMOSTAT_MAXHC) { return; // invalid type } - EMS_Mixing.hc[hc].active = true; + EMS_MixingModule.hc[hc].active = true; - _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMPLUSStatusMessage_flow_temp); - _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].pumpMod, EMS_OFFSET_MMPLUSStatusMessage_pump_mod); - _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); + _setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].flowTemp, EMS_OFFSET_MMPLUSStatusMessage_flow_temp); + _setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].pumpMod, EMS_OFFSET_MMPLUSStatusMessage_pump_mod); + _setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } // Mixer warm water loading - 0x0231, 0x0232 @@ -1300,25 +1300,25 @@ void _process_MMPLUSStatusMessageWW(_EMS_RxTelegram * EMS_RxTelegram) { if (wwc >= EMS_THERMOSTAT_MAXWWC) { return; // invalid type } - EMS_Mixing.wwc[wwc].active = true; + EMS_MixingModule.wwc[wwc].active = true; - _setValue(EMS_RxTelegram, &EMS_Mixing.wwc[wwc].flowTemp, EMS_OFFSET_MMPLUSStatusMessage_WW_flow_temp); - _setValue(EMS_RxTelegram, &EMS_Mixing.wwc[wwc].pumpMod, EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod); - _setValue(EMS_RxTelegram, &EMS_Mixing.wwc[wwc].tempStatus, EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status); + _setValue(EMS_RxTelegram, &EMS_MixingModule.wwc[wwc].flowTemp, EMS_OFFSET_MMPLUSStatusMessage_WW_flow_temp); + _setValue(EMS_RxTelegram, &EMS_MixingModule.wwc[wwc].pumpMod, EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod); + _setValue(EMS_RxTelegram, &EMS_MixingModule.wwc[wwc].tempStatus, EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status); } // Mixer - 0xAB // https://github.com/proddy/EMS-ESP/issues/270 // We assume MM10 is on HC2 and WM10 is using HC1 void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t hc = 1; // fixed to HC2 - EMS_Mixing.hc[hc].active = true; + uint8_t hc = 1; // fixed to HC2 + EMS_MixingModule.hc[hc].active = true; - _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); - _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].pumpMod, EMS_OFFSET_MMStatusMessage_pump_mod); - _setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].flowSetTemp, EMS_OFFSET_MMStatusMessage_flow_set); + _setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); + _setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].pumpMod, EMS_OFFSET_MMStatusMessage_pump_mod); + _setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].flowSetTemp, EMS_OFFSET_MMStatusMessage_flow_set); - //_setValue(EMS_RxTelegram, &EMS_Mixing.hc[hc].valveStatus, EMS_OFFSET_MMStatusMessage_valve_status); + //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].valveStatus, EMS_OFFSET_MMStatusMessage_valve_status); } /** @@ -1896,12 +1896,11 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { EMS_HeatPump.device_desc_p = device_desc_p; strlcpy(EMS_HeatPump.version, version, sizeof(EMS_HeatPump.version)); } else if (type == EMS_DEVICE_TYPE_MIXING) { - EMS_Mixing.device_id = device_id; - EMS_Mixing.product_id = product_id; - EMS_Mixing.device_desc_p = device_desc_p; - EMS_Mixing.device_flags = flags; - EMS_Mixing.detected = true; - strlcpy(EMS_Mixing.version, version, sizeof(EMS_Mixing.version)); + EMS_MixingModule.device_id = device_id; + EMS_MixingModule.product_id = product_id; + EMS_MixingModule.device_desc_p = device_desc_p; + EMS_MixingModule.device_flags = flags; + strlcpy(EMS_MixingModule.version, version, sizeof(EMS_MixingModule.version)); ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC1, device_id); // fetch MM values } } @@ -2149,10 +2148,10 @@ char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, boo version = EMS_HeatPump.version; } else if (device_type == EMS_DEVICE_TYPE_MIXING) { enabled = ems_getMixingDeviceEnabled(); - device_id = EMS_Mixing.device_id; - product_id = EMS_Mixing.product_id; - device_desc_p = EMS_Mixing.device_desc_p; - version = EMS_Mixing.version; + device_id = EMS_MixingModule.device_id; + product_id = EMS_MixingModule.product_id; + device_desc_p = EMS_MixingModule.device_desc_p; + version = EMS_MixingModule.version; } if (!enabled) { diff --git a/src/ems.h b/src/ems.h index e0e7cc9ff..7e7ad1d67 100644 --- a/src/ems.h +++ b/src/ems.h @@ -345,7 +345,7 @@ typedef struct { uint8_t pumpMod; uint8_t valveStatus; uint8_t flowSetTemp; -} _EMS_Mixing_HC; +} _EMS_MixingModule_HC; // Mixing Module per WWC typedef struct { @@ -354,19 +354,18 @@ typedef struct { uint16_t flowTemp; uint8_t pumpMod; uint8_t tempStatus; -} _EMS_Mixing_WWC; +} _EMS_MixingModule_WWC; // Mixer data typedef struct { - uint8_t device_id; - uint8_t device_flags; - const char * device_desc_p; - uint8_t product_id; - char version[10]; - bool detected; - _EMS_Mixing_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits - _EMS_Mixing_WWC wwc[EMS_THERMOSTAT_MAXWWC]; // array for the 2 ww circuits -} _EMS_Mixing; + uint8_t device_id; + uint8_t device_flags; + const char * device_desc_p; + uint8_t product_id; + char version[10]; + _EMS_MixingModule_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits + _EMS_MixingModule_WWC wwc[EMS_THERMOSTAT_MAXWWC]; // array for the 2 ww circuits +} _EMS_MixingModule; // Solar Module - SM10/SM100/SM200/ISM1 typedef struct { @@ -491,11 +490,11 @@ void _removeTxQueue(); int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram); // global so can referenced in other classes -extern _EMS_Sys_Status EMS_Sys_Status; -extern _EMS_Boiler EMS_Boiler; -extern _EMS_Thermostat EMS_Thermostat; -extern _EMS_SolarModule EMS_SolarModule; -extern _EMS_HeatPump EMS_HeatPump; -extern _EMS_Mixing EMS_Mixing; +extern _EMS_Sys_Status EMS_Sys_Status; +extern _EMS_Boiler EMS_Boiler; +extern _EMS_Thermostat EMS_Thermostat; +extern _EMS_SolarModule EMS_SolarModule; +extern _EMS_HeatPump EMS_HeatPump; +extern _EMS_MixingModule EMS_MixingModule; extern std::list<_Detected_Device> Devices; From af3971ef023a8d81f489b36641416ca60ece6282 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 3 Feb 2020 23:51:49 +0100 Subject: [PATCH 113/195] increase buffer length to show boiler details --- src/ems-esp.cpp | 2 +- src/ems.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 774abcc26..73de0c353 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -215,7 +215,7 @@ _EMS_THERMOSTAT_MODE _getThermostatDayMode(uint8_t hc_num) { // Info - display status and data on an 'info' command void showInfo() { - static char buffer_type[128] = {0}; + static char buffer_type[200] = {0}; myDebug_P(PSTR("%sEMS-ESP system status:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); _EMS_SYS_LOGGING sysLog = ems_getLogging(); diff --git a/src/ems.cpp b/src/ems.cpp index 6144eec8b..b1d3a7cb1 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -2115,7 +2115,7 @@ bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer) { * returns current device details as a string for known thermostat,boiler,solar and heatpump */ char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, bool name_only) { - const uint8_t size = 128; + const uint8_t size = 200; bool enabled = false; uint8_t device_id; uint8_t product_id; From 7f503b166fb846a6fea0aec4ebc9b95b660c1228 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 4 Feb 2020 22:12:29 +0100 Subject: [PATCH 114/195] fix controller/thermostat clash #321 --- src/ems.cpp | 10 ++-------- src/version.h | 2 +- 2 files changed, 3 insertions(+), 9 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index b1d3a7cb1..12266f11f 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1834,12 +1834,12 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { i++; } - // not a boiler, continue... + // not a boiler, continue by matching the product_id i = 0; uint8_t found_index = 0; bool typeFound = false; while (i < _EMS_Devices_max) { - if ((EMS_Devices[i].product_id == product_id)) { + if ((EMS_Devices[i].product_id == product_id) && (EMS_Devices[i].type != EMS_DEVICE_TYPE_BOILER)) { // we have a matching product id typeFound = true; found_index = i; @@ -1857,12 +1857,6 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { const char * device_desc_p = (EMS_Devices[found_index].device_desc); // pointer to the full description of the device _EMS_DEVICE_TYPE type = EMS_Devices[found_index].type; // device type - // sometimes boilers have a built-in controller on device ID 0x09 - // we don't want this to appear as another boiler so switch them - if ((type == EMS_DEVICE_TYPE_BOILER) && (device_id = EMS_ID_CONTROLLER)) { - type = EMS_DEVICE_TYPE_CONTROLLER; - } - // we recognized it, add it to list if (_addDevice(type, product_id, device_id, device_desc_p, version, brand)) { return; // already in list, don't bother initializing it diff --git a/src/version.h b/src/version.h index b887d7d04..9aec625c7 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b27" +#define APP_VERSION "1.9.5b28" From bcd80cb1ec350abdd489b51becaaebe33b0fc88d Mon Sep 17 00:00:00 2001 From: Proddy Date: Fri, 7 Feb 2020 12:30:39 +0100 Subject: [PATCH 115/195] Update README.md --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 890370502..d950f26a9 100644 --- a/README.md +++ b/README.md @@ -26,6 +26,11 @@ Please reference the [Wiki](https://emsesp.github.io/docs) for further details a --- +## Say Thanks +If you like EMS-ESP buy me a :coffee: via [PayPal](https://www.paypal.me/prderbyshire/2). + +--- + | ![web menu](https://emsesp.github.io/docs/_media/web/system_status.PNG) | ![web menu](https://emsesp.github.io/docs/_media/web/ems_dashboard.PNG) | | - | - | ![ha](https://emsesp.github.io/docs/_media/home%20assistant/ha.png) From 55225f702857824a7f2102c77ee7b0890b858a5c Mon Sep 17 00:00:00 2001 From: proddy Date: Sat, 8 Feb 2020 14:37:15 +0100 Subject: [PATCH 116/195] ignore setpoint temp on RC300/310 when in night mode - #256 --- src/ems.cpp | 15 ++++++++++----- src/version.h | 2 +- 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 12266f11f..61878f35f 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1339,14 +1339,19 @@ void _process_RCPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // or partial, e.g. for modes: // manual : 10 00 FF 0A 01 A5 02 // auto : 10 00 FF 0A 01 A5 03 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_curr); // value is * 10 - _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_setpoint); // convert to single byte, value is * 2 + + // current room temp + // quite often this is 0x8000 (n/a). still not sure why + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_curr); // value is * 10 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 0); // bit 1, mode (auto=1 or manual=0) - // TODO figure out current setpoint temp at offset 6 - // e.g. Thermostat -> all, telegram: 10 00 FF 06 01 A5 22 - // EMS_Thermostat.hc[hc].setpoint_roomTemp = EMS_RxTelegram->data[EMS_OFFSET_RCPLUSStatusMessage_currsetpoint]; + // setpoint as in position 3 and also 6 (EMS_OFFSET_RCPLUSStatusMessage_currsetpoint). We're sticking to 3 for now. + // don't fetch temp if in nightmode + if (EMS_Thermostat.hc[hc].day_mode) { + _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_setpoint); // convert to single byte, value is * 2 + } } /** diff --git a/src/version.h b/src/version.h index 9aec625c7..354d326d6 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b28" +#define APP_VERSION "1.9.5b29" From a2be2f7c6b97883fc96b4f7de1e6ab9f2f0f7e43 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 9 Feb 2020 22:03:45 +0100 Subject: [PATCH 117/195] rename mixer to mixing --- 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 5a29048e1..287d54438 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -234,7 +234,7 @@ static const _EMS_Device EMS_Devices[] = { // {160, EMS_DEVICE_TYPE_MIXING, "MM100 Mixing Module", EMS_DEVICE_FLAG_NONE}, {161, EMS_DEVICE_TYPE_MIXING, "MM200 Mixing Module", EMS_DEVICE_FLAG_NONE}, - {69, EMS_DEVICE_TYPE_MIXING, "MM10 Mixer Module", EMS_DEVICE_FLAG_NONE}, + {69, EMS_DEVICE_TYPE_MIXING, "MM10 Mixing Module", EMS_DEVICE_FLAG_NONE}, {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_NONE}, {79, EMS_DEVICE_TYPE_MIXING, "Junkers M100", EMS_DEVICE_FLAG_NONE}, {80, EMS_DEVICE_TYPE_MIXING, "Junkers M200", EMS_DEVICE_FLAG_NONE}, From 7bd70e735c209a843da97059607e58afb55fca8c Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 9 Feb 2020 22:04:43 +0100 Subject: [PATCH 118/195] cleaned up mixing --- src/ems.h | 11 ++++++++--- src/my_config.h | 4 ++++ src/version.h | 2 +- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/ems.h b/src/ems.h index 7e7ad1d67..5d15bb346 100644 --- a/src/ems.h +++ b/src/ems.h @@ -34,11 +34,14 @@ // thermostat specific #define EMS_THERMOSTAT_MAXHC 4 // max number of heating circuits -#define EMS_THERMOSTAT_MAXWWC 2 // max number of warm water circuits #define EMS_THERMOSTAT_DEFAULTHC 1 // default heating circuit is 1 #define EMS_THERMOSTAT_WRITE_YES true #define EMS_THERMOSTAT_WRITE_NO false +// mixing specific +#define EMS_MIXING_MAXHC 4 // max number of heating circuits +#define EMS_MIXING_MAXWWC 2 // max number of warm water circuits + // Device Flags #define EMS_DEVICE_FLAG_NONE 0 // no flags set #define EMS_DEVICE_FLAG_SM10 10 // solar module1 @@ -269,6 +272,8 @@ typedef struct { uint8_t product_id; char version[10]; + uint8_t brand; // 0=unknown, 1=bosch, 2=junkers, 3=buderus, 4=nefit, 5=sieger, 11=worcester + // UBAParameterWW uint8_t wWActivated; // Warm Water activated uint8_t wWSelTemp; // Warm Water selected temperature @@ -363,8 +368,8 @@ typedef struct { const char * device_desc_p; uint8_t product_id; char version[10]; - _EMS_MixingModule_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits - _EMS_MixingModule_WWC wwc[EMS_THERMOSTAT_MAXWWC]; // array for the 2 ww circuits + _EMS_MixingModule_HC hc[EMS_MIXING_MAXHC]; // array for the 4 heating circuits + _EMS_MixingModule_WWC wwc[EMS_MIXING_MAXWWC]; // array for the 2 ww circuits } _EMS_MixingModule; // Solar Module - SM10/SM100/SM200/ISM1 diff --git a/src/my_config.h b/src/my_config.h index 8f909c409..4948b4c2b 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -37,6 +37,10 @@ #define THERMOSTAT_HEATINGTYPE "heatingtype" // RC35 specific (3=floorheating) #define THERMOSTAT_CIRCUITCALCTEMP "circuitcalctemp" // RC35 specific +// mixing module +#define MIXING_HC "hc" // which heating circuit number +#define MIXING_WWC "wwc" // which warm water circuit number + // MQTT for boiler #define TOPIC_BOILER_DATA "boiler_data" // for sending boiler values to MQTT #define TOPIC_BOILER_TAPWATER_ACTIVE "tapwater_active" // if hot tap water is running diff --git a/src/version.h b/src/version.h index 354d326d6..6ee70b06c 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b29" +#define APP_VERSION "1.9.5b30" From c80116035194e9b8d16bd13addca40e99214e39f Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 9 Feb 2020 22:05:11 +0100 Subject: [PATCH 119/195] minor changes to mixing --- src/ems-esp.cpp | 18 ++++++++++-------- src/ems.cpp | 34 ++++++++++++++++++++++++---------- 2 files changed, 34 insertions(+), 18 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 73de0c353..f088b8768 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -484,7 +484,7 @@ void showInfo() { _renderUShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); } - for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { + for (uint8_t hc_num = 1; hc_num <= EMS_MIXING_MAXHC; hc_num++) { if (EMS_MixingModule.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); if (EMS_MixingModule.hc[hc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) @@ -497,7 +497,8 @@ void showInfo() { _renderIntValue(" Current valve status", "", EMS_MixingModule.hc[hc_num - 1].valveStatus); } } - for (uint8_t wwc_num = 1; wwc_num <= EMS_THERMOSTAT_MAXWWC; wwc_num++) { + + for (uint8_t wwc_num = 1; wwc_num <= EMS_MIXING_MAXWWC; wwc_num++) { if (EMS_MixingModule.wwc[wwc_num - 1].active) { myDebug_P(PSTR(" Warm Water Circuit %d"), wwc_num); if (EMS_MixingModule.wwc[wwc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) @@ -774,19 +775,19 @@ void publishEMSValues(bool force) { ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT); // unset flag } - // handle the thermostat values + // handle the mixing values if (ems_getMixingDeviceEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_MIXING) || force)) { doc.clear(); JsonObject rootMixing = doc.to(); - for (uint8_t hc_v = 1; hc_v <= EMS_THERMOSTAT_MAXHC; hc_v++) { + for (uint8_t hc_v = 1; hc_v <= EMS_MIXING_MAXHC; hc_v++) { _EMS_MixingModule_HC * mixing = &EMS_MixingModule.hc[hc_v - 1]; // only send if we have an active Heating Circuit with real data if (mixing->active) { // build new json object char hc[10]; // hc{1-4} - strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); + strlcpy(hc, MIXING_HC, sizeof(hc)); strlcat(hc, _int_to_char(s, mixing->hc), sizeof(hc)); JsonObject dataMixing = rootMixing.createNestedObject(hc); if (mixing->flowTemp < EMS_VALUE_USHORT_NOTSET) @@ -799,13 +800,14 @@ void publishEMSValues(bool force) { dataMixing["valveStatus"] = mixing->valveStatus; } } - for (uint8_t wwc_v = 1; wwc_v <= EMS_THERMOSTAT_MAXWWC; wwc_v++) { + + for (uint8_t wwc_v = 1; wwc_v <= EMS_MIXING_MAXWWC; wwc_v++) { _EMS_MixingModule_WWC * mixing = &EMS_MixingModule.wwc[wwc_v - 1]; // only send if we have an active Warm water Circuit with real data if (mixing->active) { // build new json object - char wwc[10]; // wc{1-2} - strlcpy(wwc, "wwc", sizeof(wwc)); + char wwc[10]; // wwc{1-2} + strlcpy(wwc, MIXING_WWC, sizeof(wwc)); strlcat(wwc, _int_to_char(s, mixing->wwc), sizeof(wwc)); JsonObject dataMixing = rootMixing.createNestedObject(wwc); if (mixing->flowTemp < EMS_VALUE_USHORT_NOTSET) diff --git a/src/ems.cpp b/src/ems.cpp index 61878f35f..817f611ca 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -121,15 +121,19 @@ void ems_init() { EMS_MixingModule.device_id = EMS_ID_NONE; // init all mixing modules - for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) { + for (uint8_t i = 0; i < EMS_MIXING_MAXHC; i++) { EMS_MixingModule.hc[i].hc = i + 1; + EMS_MixingModule.hc[i].active = false; EMS_MixingModule.hc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; EMS_MixingModule.hc[i].pumpMod = EMS_VALUE_INT_NOTSET; EMS_MixingModule.hc[i].valveStatus = EMS_VALUE_INT_NOTSET; EMS_MixingModule.hc[i].flowSetTemp = EMS_VALUE_INT_NOTSET; } - for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXWWC; i++) { + + // init ww circuits + for (uint8_t i = 0; i < EMS_MIXING_MAXWWC; i++) { EMS_MixingModule.wwc[i].wwc = i + 1; + EMS_MixingModule.wwc[i].active = false; EMS_MixingModule.wwc[i].flowTemp = EMS_VALUE_USHORT_NOTSET; EMS_MixingModule.wwc[i].pumpMod = EMS_VALUE_INT_NOTSET; EMS_MixingModule.wwc[i].tempStatus = EMS_VALUE_INT_NOTSET; @@ -1086,9 +1090,12 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.wWHeat, 7, 6); _setValue(EMS_RxTelegram, &EMS_Boiler.wWCirc, 7, 7); - // there may also be a BoilTemp in this telgram for Bosch - see https://github.com/proddy/EMS-ESP/issues/206 + // there may also be a BoilTemp in this telegram for Bosch - see https://github.com/proddy/EMS-ESP/issues/206 // as well as the one from UBAMonitorSlow - _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 11); // 0x8000 if not available + // brand is 0=unknown, 1=bosch, 2=junkers, 3=buderus, 4=nefit, 5=sieger, 11=worcester + if ((EMS_Boiler.brand == 1) || (EMS_Boiler.brand == 2) || (EMS_Boiler.brand == 11)) { + _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 11); // 0x8000 if not available + } _setValue(EMS_RxTelegram, &EMS_Boiler.retTemp, 13); _setValue(EMS_RxTelegram, &EMS_Boiler.flameCurr, 15); @@ -1281,10 +1288,10 @@ void _process_EasyStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_EasyStatusMessage_setpoint); // is * 100 } -// Mixer - 0x01D7, 0x01D8 +// Mixing module - 0x01D7, 0x01D8 void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMPLUSStatusMessage_HC1); // 0 to 3 - if (hc >= EMS_THERMOSTAT_MAXHC) { + if (hc >= EMS_MIXING_MAXHC) { return; // invalid type } EMS_MixingModule.hc[hc].active = true; @@ -1293,11 +1300,11 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].pumpMod, EMS_OFFSET_MMPLUSStatusMessage_pump_mod); _setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].valveStatus, EMS_OFFSET_MMPLUSStatusMessage_valve_status); } -// Mixer warm water loading - 0x0231, 0x0232 +// Mixing module warm water loading - 0x0231, 0x0232 void _process_MMPLUSStatusMessageWW(_EMS_RxTelegram * EMS_RxTelegram) { - uint8_t wwc = (EMS_RxTelegram->type - EMS_TYPE_MMPLUSStatusMessage_WWC1); // 0 to 3 - if (wwc >= EMS_THERMOSTAT_MAXWWC) { + uint8_t wwc = (EMS_RxTelegram->type - EMS_TYPE_MMPLUSStatusMessage_WWC1); // 0 to 1 + if (wwc >= EMS_MIXING_MAXWWC) { return; // invalid type } EMS_MixingModule.wwc[wwc].active = true; @@ -1831,6 +1838,10 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Boiler.product_id = product_id; EMS_Boiler.device_desc_p = EMS_Devices[i].device_desc; strlcpy(EMS_Boiler.version, version, sizeof(EMS_Boiler.version)); + + // set brand of boiler + EMS_Boiler.brand = brand; + _addDevice(EMS_DEVICE_TYPE_BOILER, product_id, EMS_ID_BOILER, EMS_Devices[i].device_desc, version, brand); ems_getBoilerValues(); // get Boiler values that we would usually have to wait for return; // quit @@ -2937,7 +2948,10 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC4, "MMPLUSStatusMessage_HC4", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC1, "MMPLUSStatusMessage_WWC1", _process_MMPLUSStatusMessageWW}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC2, "MMPLUSStatusMessage_WWC2", _process_MMPLUSStatusMessageWW}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage}}; + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage} + + +}; // calculate sizes of arrays at compile time uint8_t _EMS_Types_max = ArraySize(EMS_Types); From ff97b3b70bd5a0bb323efeb93853d25d9617083a Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 12 Feb 2020 22:00:45 +0100 Subject: [PATCH 120/195] use dallas sensor address as ID - #327 --- src/ds18.cpp | 31 +++++++++++++--------------- src/ds18.h | 3 ++- src/ems-esp.cpp | 36 ++++++++++++++++---------------- src/ems.cpp | 2 +- src/ems_devices.h | 52 +++++++++++++++++++++++------------------------ src/version.h | 2 +- 6 files changed, 62 insertions(+), 64 deletions(-) diff --git a/src/ds18.cpp b/src/ds18.cpp index eba3e6b1a..17db75013 100644 --- a/src/ds18.cpp +++ b/src/ds18.cpp @@ -97,7 +97,7 @@ void DS18::loop() { } // return string of the device, with name and address -char * DS18::getDeviceString(char * buffer, unsigned char index) { +char * DS18::getDeviceType(char * buffer, unsigned char index) { uint8_t size = 128; if (index < _count) { unsigned char chip_id = chip(index); @@ -112,25 +112,22 @@ char * DS18::getDeviceString(char * buffer, unsigned char index) { } else { strlcpy(buffer, "Unknown", size); } + } else { + strlcpy(buffer, "invalid", size); + } - /* + return buffer; +} + +// return string of the device, with name and address +char * DS18::getDeviceID(char * buffer, unsigned char index) { + uint8_t size = 128; + if (index < _count) { uint8_t * address = _devices[index].address; - char a[30] = {0}; - snprintf(a, - sizeof(a), - " (%02X%02X%02X%02X%02X%02X%02X%02X) @ GPIO%d", - address[0], - address[1], - address[2], - address[3], - address[4], - address[5], - address[6], - address[7], - _gpio); + char a[30] = {0}; + snprintf(a, sizeof(a), "%02X%02X%02X%02X%02X%02X%02X%02X", address[0], address[1], address[2], address[3], address[4], address[5], address[6], address[7]); - strlcat(buffer, a, size); - */ + strlcpy(buffer, a, size); } else { strlcpy(buffer, "invalid", size); } diff --git a/src/ds18.h b/src/ds18.h index aa1c2986f..8fbfc1141 100644 --- a/src/ds18.h +++ b/src/ds18.h @@ -39,7 +39,8 @@ class DS18 { void setup(uint8_t gpio, bool parasite); uint8_t scan(); void loop(); - char * getDeviceString(char * s, unsigned char index); + char * getDeviceType(char * s, unsigned char index); + char * getDeviceID(char * buffer, unsigned char index); float getValue(unsigned char index); int16_t getRawValue(unsigned char index); // raw values, needs / 16 diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index f088b8768..43d01d3b2 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -514,13 +514,18 @@ void showInfo() { // Dallas external temp sensors if (EMSESP_Settings.dallas_sensors) { myDebug_P(PSTR("")); // newline - char buffer[128] = {0}; - char valuestr[8] = {0}; // for formatting temp + char buffer[128] = {0}; + char buffer2[128] = {0}; + char valuestr[8] = {0}; // for formatting temp myDebug_P(PSTR("%sExternal temperature sensors:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { float sensorValue = ds18.getValue(i); if (sensorValue != DS18_DISCONNECTED) { - myDebug_P(PSTR(" Sensor #%d %s: %s C"), i + 1, ds18.getDeviceString(buffer, i), _float_to_char(valuestr, sensorValue)); + myDebug_P(PSTR(" Sensor #%d type:%s id:%s temperature: %s C"), + i + 1, + ds18.getDeviceType(buffer, i), + ds18.getDeviceID(buffer2, i), + _float_to_char(valuestr, sensorValue)); } } } @@ -532,9 +537,10 @@ void showInfo() { void scanDallas() { EMSESP_Settings.dallas_sensors = ds18.scan(); if (EMSESP_Settings.dallas_sensors) { - char buffer[128] = {0}; + char buffer[128]; + char buffer2[128]; for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { - myDebug_P(PSTR("External temperature sensor %s found"), ds18.getDeviceString(buffer, i)); + myDebug_P(PSTR("External temperature sensor type:%s id:%s found"), ds18.getDeviceType(buffer, i), ds18.getDeviceID(buffer2, i)); } } } @@ -553,16 +559,14 @@ void publishSensorValues() { StaticJsonDocument<200> doc; JsonObject sensors = doc.to(); - bool hasdata = false; - char label[8] = {0}; - + bool hasdata = false; + char buffer[128] = {0}; // see if the sensor values have changed, if so send it on for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { float sensorValue = ds18.getValue(i); if (sensorValue != DS18_DISCONNECTED) { - sprintf(label, PAYLOAD_EXTERNAL_SENSORS, (i + 1)); - sensors[label] = sensorValue; - hasdata = true; + sensors[ds18.getDeviceID(buffer, i)] = sensorValue; + hasdata = true; } } @@ -1001,11 +1005,6 @@ bool LoadSaveCallback(MYESP_FSACTION_t action, JsonObject settings) { EMSESP_Settings.shower_alert = settings["shower_alert"]; EMSESP_Settings.publish_time = settings["publish_time"] | DEFAULT_PUBLISHTIME; - // can't be 0 which could be the case coming from earlier builds < 1.9.5b12 - if (EMSESP_Settings.publish_time == 0) { - EMSESP_Settings.publish_time = DEFAULT_PUBLISHTIME; - } - EMSESP_Settings.listen_mode = settings["listen_mode"]; ems_setTxDisabled(EMSESP_Settings.listen_mode); @@ -1164,8 +1163,11 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, myDebug_P(PSTR(" %d = %s"), (it)->product_id, device_string); } } + myDebug_P(""); myDebug_P(PSTR("Usage: set master_thermostat ")); - ok = true; + ems_setMasterThermostat(0); // default value + EMSESP_Settings.master_thermostat = 0; // back to default + ok = true; } else if (wc == 2) { uint8_t pid = atoi(value); EMSESP_Settings.master_thermostat = pid; diff --git a/src/ems.cpp b/src/ems.cpp index 817f611ca..3a4cde315 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1354,7 +1354,7 @@ void _process_RCPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 0); // bit 1, mode (auto=1 or manual=0) - // setpoint as in position 3 and also 6 (EMS_OFFSET_RCPLUSStatusMessage_currsetpoint). We're sticking to 3 for now. + // setpoint is in position 3 and also 6 (EMS_OFFSET_RCPLUSStatusMessage_currsetpoint). We're sticking to 3 for now. // don't fetch temp if in nightmode if (EMS_Thermostat.hc[hc].day_mode) { _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_setpoint); // convert to single byte, value is * 2 diff --git a/src/ems_devices.h b/src/ems_devices.h index 287d54438..e1c183ad9 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -55,6 +55,27 @@ #define EMS_OFFSET_UBASetPoints_flowtemp 0 // flow temp +// Mixing Modules +// MM100/MM200 (EMS Plus) +#define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixer status HC1 +#define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2 +#define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixer status HC3 +#define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixer status HC4 +#define EMS_TYPE_MMPLUSStatusMessage_WWC1 0x0231 // mixer status WWC1 +#define EMS_TYPE_MMPLUSStatusMessage_WWC2 0x0232 // mixer status WWC2 +#define EMS_OFFSET_MMPLUSStatusMessage_flow_temp 3 // flow temperature +#define EMS_OFFSET_MMPLUSStatusMessage_pump_mod 5 // pump modulation +#define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent +#define EMS_OFFSET_MMPLUSStatusMessage_WW_flow_temp 0 // flow temperature +#define EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod 2 // pump on 6, off 0 +#define EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status 11 // 0,1,2 +// MM10 +#define EMS_TYPE_MMStatusMessage 0xAB // mixer status +#define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint +#define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature +#define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent +#define EMS_OFFSET_MMStatusMessage_valve_status 4 // valve 0..255 + // Solar Module // Assuming here that the SM200 behaves like SM100 #define EMS_TYPE_SM10Monitor 0x97 // SM10Monitor @@ -62,17 +83,15 @@ #define EMS_TYPE_SM100Status 0x0264 // SM100Status #define EMS_TYPE_SM100Status2 0x026A // SM100Status2 #define EMS_TYPE_SM100Energy 0x028E // SM100Energy - -// Heat Pump -#define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1 -#define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2 - - // ISPM solar module #define EMS_TYPE_ISM1StatusMessage 0x0003 // Solar Module Junkers ISM1 Status #define EMS_TYPE_ISM1Set 0x0001 // for setting values of the solar module like max boiler temp #define EMS_OFFSET_ISM1Set_MaxBoilerTemp 6 // position of max boiler temp e.g. 50 in the following example: 90 30 FF 06 00 01 50 (CRC=2C) +// Heat Pump +#define EMS_TYPE_HPMonitor1 0xE3 // HeatPump Monitor 1 +#define EMS_TYPE_HPMonitor2 0xE5 // HeatPump Monitor 2 + /* * Thermostat Types */ @@ -176,27 +195,6 @@ #define EMS_OFFSET_JunkersSetMessage_no_frost_temp 0x0F // EMS offset to set temperature on thermostat for no frost mode #define EMS_OFFSET_JunkersSetMessage_set_mode 0x0E // EMS offset to set mode on thermostat -// MM100/MM200 (EMS Plus) -#define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixer status HC1 -#define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2 -#define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixer status HC3 -#define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixer status HC4 -#define EMS_TYPE_MMPLUSStatusMessage_WWC1 0x0231 // mixer status WWC1 -#define EMS_TYPE_MMPLUSStatusMessage_WWC2 0x0232 // mixer status WWC2 -#define EMS_OFFSET_MMPLUSStatusMessage_flow_temp 3 // flow temperature -#define EMS_OFFSET_MMPLUSStatusMessage_pump_mod 5 // pump modulation -#define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent -#define EMS_OFFSET_MMPLUSStatusMessage_WW_flow_temp 0 // flow temperature -#define EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod 2 // pump on 6, off 0 -#define EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status 11 // 0,1,2 - -// MM10 -#define EMS_TYPE_MMStatusMessage 0xAB // mixer status -#define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint -#define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature -#define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent -#define EMS_OFFSET_MMStatusMessage_valve_status 4 // valve 0..255 - /* * Table of all known EMS Devices * ProductID, DeviceType, Description, Flags diff --git a/src/version.h b/src/version.h index 6ee70b06c..4d64191cd 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b30" +#define APP_VERSION "1.9.5b31" From 820cda1266656015d1a0d1d0d5e60a351834b688 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 12 Feb 2020 22:04:04 +0100 Subject: [PATCH 121/195] bug with publish_time --- src/ems-esp.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 43d01d3b2..1b28870c6 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -1131,11 +1131,9 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, // publish_time if ((strcmp(setting, "publish_time") == 0) && (wc == 2)) { int16_t val = atoi(value); - if (val > 0) { + if (val >= 0) { EMSESP_Settings.publish_time = atoi(value); ok = true; - } else { - myDebug_P(PSTR("Error. time must be at least 1 second")); } } From 1d251a52b3d876675c6c06669b87c1124553bd87 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 12 Feb 2020 22:11:34 +0100 Subject: [PATCH 122/195] publish_time optimizations --- src/ems-esp.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 1b28870c6..7f3b482af 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -548,7 +548,7 @@ void scanDallas() { // send all dallas sensor values as a JSON package to MQTT void publishSensorValues() { // don't send if MQTT is connected - if (!myESP.isMQTTConnected()) { + if (!myESP.isMQTTConnected() || (!EMSESP_Settings.publish_time)) { return; } @@ -584,7 +584,7 @@ void publishSensorValues() { // a json object is created for each device type void publishEMSValues(bool force) { // don't send if MQTT is not connected or EMS bus is not connected - if (!myESP.isMQTTConnected() || (!ems_getBusConnected())) { + if (!myESP.isMQTTConnected() || (!ems_getBusConnected()) || (!EMSESP_Settings.publish_time)) { return; } @@ -918,6 +918,11 @@ bool do_publishShowerData() { // call PublishValues with forcing forcing void do_publishValues() { + if (!EMSESP_Settings.publish_time) { + myDebugLog("publish_time is set to 0. Publishing disabled."); + return; + } + myDebugLog("Starting scheduled MQTT publish..."); publishEMSValues(false); publishSensorValues(); @@ -1187,12 +1192,17 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, myDebug_P(PSTR(" listen_mode=%s"), EMSESP_Settings.listen_mode ? "on" : "off"); myDebug_P(PSTR(" shower_timer=%s"), EMSESP_Settings.shower_timer ? "on" : "off"); myDebug_P(PSTR(" shower_alert=%s"), EMSESP_Settings.shower_alert ? "on" : "off"); - myDebug_P(PSTR(" publish_time=%d"), EMSESP_Settings.publish_time); + + if (EMSESP_Settings.publish_time) { + myDebug_P(PSTR(" publish_time=%d"), EMSESP_Settings.publish_time); + } else { + myDebug_P(PSTR(" publish_time=0 (no MQTT publishing)")); + } if (EMSESP_Settings.master_thermostat) { myDebug_P(PSTR(" master_thermostat=%d"), EMSESP_Settings.master_thermostat); } else { - myDebug_P(PSTR(" master_thermostat=0 (using first one detected)"), EMSESP_Settings.master_thermostat); + myDebug_P(PSTR(" master_thermostat=0 (using first one detected)")); } } From cd294e88b89beccb6b163b11189a3ab476057400 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 12 Feb 2020 22:46:35 +0100 Subject: [PATCH 123/195] dallas mqtt buffer to 600 - #327 --- src/ems-esp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 7f3b482af..6e288d748 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -556,7 +556,7 @@ void publishSensorValues() { return; // no sensors attached } - StaticJsonDocument<200> doc; + StaticJsonDocument<600> doc; JsonObject sensors = doc.to(); bool hasdata = false; From 33a840606d504b9ebb0e514ebaeeba730e7e14b9 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 13 Feb 2020 11:03:13 +0100 Subject: [PATCH 124/195] size of mqtt buffer for dallas sensors fix --- src/ems-esp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 6e288d748..d31b00cb0 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -556,7 +556,7 @@ void publishSensorValues() { return; // no sensors attached } - StaticJsonDocument<600> doc; + StaticJsonDocument<400> doc; JsonObject sensors = doc.to(); bool hasdata = false; @@ -574,7 +574,7 @@ void publishSensorValues() { return; // nothing to send } - char data[200] = {0}; + char data[400] = {0}; serializeJson(doc, data, sizeof(data)); myDebugLog("Publishing external sensor data via MQTT"); myESP.mqttPublish(TOPIC_EXTERNAL_SENSORS, data); From 86b075cfcf663d93eac3d0d66290b220fe9aac98 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 13 Feb 2020 11:03:31 +0100 Subject: [PATCH 125/195] fix for travis and platformio latest version --- platformio.ini | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/platformio.ini b/platformio.ini index e95d884ca..4c4636936 100644 --- a/platformio.ini +++ b/platformio.ini @@ -47,13 +47,14 @@ lib_deps = https://github.com/me-no-dev/ESPAsyncWebServer https://github.com/me-no-dev/ESPAsyncUDP uuid-common@^1.1.0 - uuid-log@^2.1.1 - uuid-syslog@^2.0.4 ; https://github.com/nomis/mcu-uuid-syslog + uuid-log@^2.1.1 + uuid-syslog@^2.0.4 ; https://github.com/nomis/mcu-uuid-syslog JustWifi@2.0.2 ; https://github.com/xoseperez/justwifi AsyncMqttClient@0.8.2 ; https://github.com/marvinroger/async-mqtt-client EEPROM_Rotate@0.9.2 ; https://github.com/xoseperez/eeprom_rotate - ArduinoJson@6.14.0 ; https://github.com/bblanchon/ArduinoJson + ArduinoJson@6.14.1 ; https://github.com/bblanchon/ArduinoJson ESPAsyncTCP@1.2.2 ; https://github.com/me-no-dev/ESPAsyncTCP +lib_ignore = AsyncTCP upload_speed = 921600 monitor_speed = 115200 From 9672aece1fe5c2adac02d32621db6e8eb1f590db Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 13 Feb 2020 11:15:54 +0100 Subject: [PATCH 126/195] added `boiler onetime` function to telnet --- CHANGELOG.md | 1 + src/ems-esp.cpp | 10 ++++++++++ src/version.h | 2 +- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ffbf046cf..f9d9b82fa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - MM200 warm water circuits (https://github.com/proddy/EMS-ESP/pull/315) - First implementation of writing to Junker Thermostats (thanks @Neonox31) - Added model type (Buderus, Sieger, Junkers, Nefit, Bosch, Worcester) to device names +- `boiler wwonetime` command from Telnet ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index d31b00cb0..7f6672a2e 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -121,6 +121,7 @@ static const command_t project_cmds[] PROGMEM = { {false, "boiler read ", "send read request to boiler"}, {false, "boiler wwtemp ", "set boiler warm water temperature"}, {false, "boiler wwactive ", "set boiler warm water on/off"}, + {false, "boiler wwonetime ", "set boiler warm water onetime on/off"}, {false, "boiler tapwater ", "set boiler warm tap water on/off"}, {false, "boiler flowtemp ", "set boiler flow temperature"}, {false, "boiler comfort ", "set boiler warm water comfort setting"} @@ -1402,6 +1403,15 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { ems_setWarmWaterActivated(false); ok = true; } + } else if (strcmp(second_cmd, "wwonetime") == 0) { + char * third_cmd = _readWord(); + if (strcmp(third_cmd, "on") == 0) { + ems_setWarmWaterOnetime(true); + ok = true; + } else if (strcmp(third_cmd, "off") == 0) { + ems_setWarmWaterOnetime(false); + ok = true; + } } } diff --git a/src/version.h b/src/version.h index 4d64191cd..8a5332f69 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b31" +#define APP_VERSION "1.9.5b32" From 98f44f43f100255c27743a397f5f1422a57fb95f Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 13 Feb 2020 14:51:00 +0100 Subject: [PATCH 127/195] publish_time optimizations --- src/ds18.cpp | 10 +------ src/ems-esp.cpp | 77 ++++++++++++++++++++++++++++++------------------- src/my_config.h | 1 - 3 files changed, 49 insertions(+), 39 deletions(-) diff --git a/src/ds18.cpp b/src/ds18.cpp index 17db75013..ddb22cc40 100644 --- a/src/ds18.cpp +++ b/src/ds18.cpp @@ -52,16 +52,8 @@ uint8_t DS18::scan() { return count; } - -// scan every 2 seconds void DS18::loop() { - static uint32_t last = 0; - if (millis() - last < DS18_READ_INTERVAL) { - return; - } - last = millis(); - - // Every second we either start a conversion or read the scratchpad + // we either start a conversion or read the scratchpad static bool conversion = true; if (conversion) { _wire->reset(); diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 7f6672a2e..dccfa8c66 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -32,8 +32,8 @@ DS18 ds18; #define APP_URL "https://github.com/proddy/EMS-ESP" #define APP_URL_API "https://api.github.com/repos/proddy/EMS-ESP" -// timers, all values are in seconds -#define DEFAULT_PUBLISHTIME 10 // 10 seconds +#define DEFAULT_PUBLISHTIME 0 // 0=automatic +#define DEFAULT_SENSOR_PUBLISHTIME 10 // 10 seconds to post MQTT topics on Dallas sensors when in automatic mode Ticker publishValuesTimer; bool _need_first_publish = true; // this ensures on boot we always send out MQTT messages @@ -69,16 +69,16 @@ typedef struct { uint8_t dallas_sensors; // count of dallas sensors // custom params - bool shower_timer; // true if we want to report back on shower times - bool shower_alert; // true if we want the alert of cold water - bool led; // LED on/off - bool listen_mode; // stop automatic Tx on/off - uint16_t publish_time; // frequency of MQTT publish in seconds - uint8_t led_gpio; // pin for LED - uint8_t dallas_gpio; // pin for attaching external dallas temperature sensors - bool dallas_parasite; // on/off is using parasite - uint8_t tx_mode; // TX mode 1,2 or 3 - uint8_t master_thermostat; // Product ID of master thermostat to use, 0 for automatic + bool shower_timer; // true if we want to report back on shower times + bool shower_alert; // true if we want the alert of cold water + bool led; // LED on/off + bool listen_mode; // stop automatic Tx on/off + int16_t publish_time; // frequency of MQTT publish in seconds, -1 for off + uint8_t led_gpio; // pin for LED + uint8_t dallas_gpio; // pin for attaching external dallas temperature sensors + bool dallas_parasite; // on/off is using parasite + uint8_t tx_mode; // TX mode 1,2 or 3 + uint8_t master_thermostat; // Product ID of master thermostat to use, 0 for automatic } _EMSESP_Settings; typedef struct { @@ -98,7 +98,7 @@ static const command_t project_cmds[] PROGMEM = { {true, "listen_mode ", "when set to on all automatic Tx are disabled"}, {true, "shower_timer ", "send MQTT notification on all shower durations"}, {true, "shower_alert ", "stop hot water to send 3 cold burst warnings after max shower time is exceeded"}, - {true, "publish_time ", "set frequency for publishing data to MQTT"}, + {true, "publish_time ", "set frequency for publishing data to MQTT (-1=off, 0=automatic)"}, {true, "tx_mode ", "changes Tx logic. 1=EMS generic, 2=EMS+, 3=HT3"}, {true, "master_thermostat [product id]", "set default thermostat to use. No argument lists options"}, @@ -549,7 +549,7 @@ void scanDallas() { // send all dallas sensor values as a JSON package to MQTT void publishSensorValues() { // don't send if MQTT is connected - if (!myESP.isMQTTConnected() || (!EMSESP_Settings.publish_time)) { + if (!myESP.isMQTTConnected() || (EMSESP_Settings.publish_time == -1)) { return; } @@ -585,7 +585,7 @@ void publishSensorValues() { // a json object is created for each device type void publishEMSValues(bool force) { // don't send if MQTT is not connected or EMS bus is not connected - if (!myESP.isMQTTConnected() || (!ems_getBusConnected()) || (!EMSESP_Settings.publish_time)) { + if (!myESP.isMQTTConnected() || (!ems_getBusConnected()) || (EMSESP_Settings.publish_time == -1)) { return; } @@ -919,8 +919,13 @@ bool do_publishShowerData() { // call PublishValues with forcing forcing void do_publishValues() { - if (!EMSESP_Settings.publish_time) { - myDebugLog("publish_time is set to 0. Publishing disabled."); + if (EMSESP_Settings.publish_time == -1) { + myDebugLog("publish_time is set to -1. Publishing disabled."); + return; + } + + // automatic mode + if (EMSESP_Settings.publish_time == 0) { return; } @@ -1136,11 +1141,8 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, // publish_time if ((strcmp(setting, "publish_time") == 0) && (wc == 2)) { - int16_t val = atoi(value); - if (val >= 0) { - EMSESP_Settings.publish_time = atoi(value); - ok = true; - } + EMSESP_Settings.publish_time = atoi(value); + ok = true; } // tx_mode @@ -1194,16 +1196,18 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, myDebug_P(PSTR(" shower_timer=%s"), EMSESP_Settings.shower_timer ? "on" : "off"); myDebug_P(PSTR(" shower_alert=%s"), EMSESP_Settings.shower_alert ? "on" : "off"); - if (EMSESP_Settings.publish_time) { - myDebug_P(PSTR(" publish_time=%d"), EMSESP_Settings.publish_time); + if (EMSESP_Settings.publish_time == 0) { + myDebug_P(PSTR(" publish_time=0 (automatic)")); + } else if (EMSESP_Settings.publish_time == -1) { + myDebug_P(PSTR(" publish_time=-1 (disabled)")); } else { - myDebug_P(PSTR(" publish_time=0 (no MQTT publishing)")); + myDebug_P(PSTR(" publish_time=%d"), EMSESP_Settings.publish_time); } if (EMSESP_Settings.master_thermostat) { myDebug_P(PSTR(" master_thermostat=%d"), EMSESP_Settings.master_thermostat); } else { - myDebug_P(PSTR(" master_thermostat=0 (using first one detected)")); + myDebug_P(PSTR(" master_thermostat=0 (use first detected)")); } } @@ -2096,8 +2100,11 @@ void setup() { } // set timers for MQTT publish - if (EMSESP_Settings.publish_time) { + if (EMSESP_Settings.publish_time > 0) { publishValuesTimer.attach(EMSESP_Settings.publish_time, do_publishValues); // post MQTT EMS values + } else if (EMSESP_Settings.publish_time == 0) { + // automatic mode. use this Ticker to send out sensor values + publishValuesTimer.attach(DEFAULT_SENSOR_PUBLISHTIME, publishSensorValues); } // set pin for LED @@ -2121,16 +2128,28 @@ void setup() { void loop() { myESP.loop(); // handle telnet, mqtt, wifi etc - // Dallas sensors which are polled every 2 seconds (see DS18_READ_INTERVAL) + // to prevent load, only run checks every second + static uint32_t last_check = 0; + if (millis() - last_check < 1000) { + return; + } + last_check = millis(); + + // get Dallas Sensor readings if (EMSESP_Settings.dallas_sensors) { ds18.loop(); } - // if we have an EMS connect go and fetch some data and MQTT publish it + // if we have an EMS bus connection go and fetch some data and MQTT publish it if (_need_first_publish) { publishEMSValues(false); publishSensorValues(); _need_first_publish = false; // reset flag + } else { + // check if we're on auto mode for publishing + if (EMSESP_Settings.publish_time == 0) { + publishEMSValues(false); + } } // do shower logic, if enabled diff --git a/src/my_config.h b/src/my_config.h index 4948b4c2b..d59c0a537 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -82,4 +82,3 @@ // MQTT for External Sensors #define TOPIC_EXTERNAL_SENSORS "sensors" // for sending sensor values to MQTT -#define PAYLOAD_EXTERNAL_SENSORS "temp_%d" // for formatting the payload for each external dallas sensor From fd24fe3a469c17a7c27c1998eca999323bd4ed12 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 13 Feb 2020 15:40:25 +0100 Subject: [PATCH 128/195] RC300 changes - #256 --- src/ems-esp.cpp | 30 +++++++++++++++++++----------- src/ems.cpp | 35 ++++++++++++++++++++--------------- src/ems.h | 6 ++++-- 3 files changed, 43 insertions(+), 28 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index dccfa8c66..e75fb833f 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -183,13 +183,13 @@ _EMS_THERMOSTAT_MODE _getThermostatMode(uint8_t hc_num) { } // figures out the thermostat day/night mode depending on the thermostat type -// returns {EMS_THERMOSTAT_MODE_NIGHT, EMS_THERMOSTAT_MODE_DAY} +// returns {EMS_THERMOSTAT_MODE_NIGHT, EMS_THERMOSTAT_MODE_DAY, etc...} // hc_num is 1 to 4 -_EMS_THERMOSTAT_MODE _getThermostatDayMode(uint8_t hc_num) { +_EMS_THERMOSTAT_MODE _getThermostatMode2(uint8_t hc_num) { _EMS_THERMOSTAT_MODE thermoMode = EMS_THERMOSTAT_MODE_UNKNOWN; uint8_t model = ems_getThermostatModel(); - uint8_t mode = EMS_Thermostat.hc[hc_num - 1].day_mode; + uint8_t mode = EMS_Thermostat.hc[hc_num - 1].mode_type; if (model == EMS_DEVICE_FLAG_JUNKERS) { if (mode == 3) { @@ -205,9 +205,9 @@ _EMS_THERMOSTAT_MODE _getThermostatDayMode(uint8_t hc_num) { } } else if (model == EMS_DEVICE_FLAG_RC300) { if (mode == 0) { - thermoMode = EMS_THERMOSTAT_MODE_NIGHT; + thermoMode = EMS_THERMOSTAT_MODE_ECO; } else if (mode == 1) { - thermoMode = EMS_THERMOSTAT_MODE_DAY; + thermoMode = EMS_THERMOSTAT_MODE_COMFORT; } } @@ -447,6 +447,8 @@ void showInfo() { _renderIntValue(" Night temperature", "C", EMS_Thermostat.hc[hc_num - 1].nighttemp, 2); // convert to a single byte * 2 _renderIntValue(" Vacation temperature", "C", EMS_Thermostat.hc[hc_num - 1].holidaytemp, 2); // convert to a single byte * 2 } + + // show flow temp if we have it if (EMS_Thermostat.hc[hc_num - 1].circuitcalctemp < EMS_VALUE_INT_NOTSET) _renderIntValue(" Calculated flow temperature", "C", EMS_Thermostat.hc[hc_num - 1].circuitcalctemp); @@ -465,12 +467,18 @@ void showInfo() { myDebug_P(PSTR(" Mode is set to day")); } - // Render Thermostat Day Mode - thermoMode = _getThermostatDayMode(hc_num); - if (thermoMode == EMS_THERMOSTAT_MODE_NIGHT) { - myDebug_P(PSTR(" Day Mode is set to night")); - } else if (thermoMode == EMS_THERMOSTAT_MODE_DAY) { - myDebug_P(PSTR(" Day Mode is set to day")); + // Render Thermostat Mode2, only if its in Auto mode + if (thermoMode == EMS_THERMOSTAT_MODE_AUTO) { + thermoMode = _getThermostatMode2(hc_num); + if (thermoMode == EMS_THERMOSTAT_MODE_NIGHT) { + myDebug_P(PSTR(" Mode type is set to night")); + } else if (thermoMode == EMS_THERMOSTAT_MODE_DAY) { + myDebug_P(PSTR(" Mode type is set to day")); + } else if (thermoMode == EMS_THERMOSTAT_MODE_COMFORT) { + myDebug_P(PSTR(" Mode type is set to comfort")); + } else if (thermoMode == EMS_THERMOSTAT_MODE_ECO) { + myDebug_P(PSTR(" Mode type is set to eco")); + } } } } diff --git a/src/ems.cpp b/src/ems.cpp index 3a4cde315..4e876ecf7 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -107,7 +107,7 @@ void ems_init() { EMS_Thermostat.hc[i].hc = i + 1; EMS_Thermostat.hc[i].active = false; EMS_Thermostat.hc[i].mode = EMS_VALUE_INT_NOTSET; - EMS_Thermostat.hc[i].day_mode = EMS_VALUE_INT_NOTSET; + EMS_Thermostat.hc[i].mode_type = EMS_VALUE_INT_NOTSET; EMS_Thermostat.hc[i].summer_mode = EMS_VALUE_INT_NOTSET; EMS_Thermostat.hc[i].holiday_mode = EMS_VALUE_INT_NOTSET; EMS_Thermostat.hc[i].daytemp = EMS_VALUE_INT_NOTSET; @@ -1270,7 +1270,7 @@ void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { } _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_RC35StatusMessage_mode, 1); + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_RC35StatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].summer_mode, EMS_OFFSET_RC35StatusMessage_mode, 0); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].holiday_mode, EMS_OFFSET_RC35StatusMessage_mode1, 5); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].circuitcalctemp, EMS_OFFSET_RC35Set_circuitcalctemp); @@ -1351,12 +1351,13 @@ void _process_RCPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { // quite often this is 0x8000 (n/a). still not sure why _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_curr); // value is * 10 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 1); + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_RCPLUSStatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 0); // bit 1, mode (auto=1 or manual=0) // setpoint is in position 3 and also 6 (EMS_OFFSET_RCPLUSStatusMessage_currsetpoint). We're sticking to 3 for now. - // don't fetch temp if in nightmode - if (EMS_Thermostat.hc[hc].day_mode) { + // only fetch temp if in comfort mode (not eco/night mode) + // also ignore if its 0 - see https://github.com/proddy/EMS-ESP/issues/256#issuecomment-585171426 + if ((EMS_Thermostat.hc[hc].mode_type) && (EMS_RxTelegram->data[EMS_OFFSET_RCPLUSStatusMessage_setpoint] != 0)) { _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_setpoint); // convert to single byte, value is * 2 } } @@ -1381,7 +1382,7 @@ void _process_JunkersStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_JunkersStatusMessage_curr); // value is * 10 _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_JunkersStatusMessage_setpoint); // value is * 10 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].day_mode, EMS_OFFSET_JunkersStatusMessage_daymode); // 3 = day, 2 = night + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_JunkersStatusMessage_daymode); // 3 = day, 2 = night _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_JunkersStatusMessage_mode); // 1 = manual, 2 = auto } @@ -2328,7 +2329,7 @@ void ems_sendRawTelegram(char * telegram) { /** * Set the temperature of the thermostat * hc_num is 1 to 4 - * temptype 0 = normal, 1=night temp, 2=day temp, 3=holiday temp + * temptype 0=normal, 1=night temp, 2=day temp, 3=holiday temp */ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) { if (!ems_getThermostatEnabled()) { @@ -2357,10 +2358,14 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) EMS_TxTelegram.dest = device_id; char s[10] = {0}; - myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d type %d (0=auto,1=night,2=day,3=holiday)"), - _float_to_char(s, temperature), - hc_num, - temptype); + if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { + myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d type %d (0=auto,1=night,2=day,3=holiday)"), + _float_to_char(s, temperature), + hc_num, + temptype); + } else { + myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d"), _float_to_char(s, temperature), hc_num); + } if (model == EMS_DEVICE_FLAG_RC20) { EMS_TxTelegram.type = EMS_TYPE_RC20Set; @@ -2421,9 +2426,9 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) // https://github.com/proddy/EMS-ESP/issues/310 EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; } else { - if (EMS_Thermostat.hc[hc_num - 1].day_mode == 0) { + if (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) { EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; - } else if (EMS_Thermostat.hc[hc_num - 1].day_mode == 1) { + } else if (EMS_Thermostat.hc[hc_num - 1].mode_type == 1) { EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; } } @@ -2460,9 +2465,9 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) default: case 0: // automatic selection, if no type is defined, we use the standard code // not sure if this is correct for Junkers - if (EMS_Thermostat.hc[hc_num - 1].day_mode == 0) { + if (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) { EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; - } else if (EMS_Thermostat.hc[hc_num - 1].day_mode == 1) { + } else if (EMS_Thermostat.hc[hc_num - 1].mode_type == 1) { EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_day_temp; } break; diff --git a/src/ems.h b/src/ems.h index 5d15bb346..13d8c0b6b 100644 --- a/src/ems.h +++ b/src/ems.h @@ -64,7 +64,9 @@ typedef enum { EMS_THERMOSTAT_MODE_MANUAL, EMS_THERMOSTAT_MODE_AUTO, EMS_THERMOSTAT_MODE_NIGHT, - EMS_THERMOSTAT_MODE_DAY + EMS_THERMOSTAT_MODE_DAY, + EMS_THERMOSTAT_MODE_ECO, + EMS_THERMOSTAT_MODE_COMFORT } _EMS_THERMOSTAT_MODE; // trigger settings to determine if hot tap water or the heating is active @@ -397,7 +399,7 @@ typedef struct { int16_t setpoint_roomTemp; // current set temp int16_t curr_roomTemp; // current room temp uint8_t mode; // 0=low, 1=manual, 2=auto (or night, day on RC35s) - uint8_t day_mode; // 0=night, 1=day + uint8_t mode_type; // 0=night/eco, 1=day/comfort uint8_t summer_mode; uint8_t holiday_mode; uint8_t daytemp; From 833694a5731b832293db70ee7bfcbe67db78d178 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 14 Feb 2020 14:49:33 +0100 Subject: [PATCH 129/195] always show setpoint pn RC3x0 - #256 --- src/ems-esp.cpp | 1 + src/ems.cpp | 6 +++--- src/version.h | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index e75fb833f..d1f7bdb5a 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -2155,6 +2155,7 @@ void loop() { _need_first_publish = false; // reset flag } else { // check if we're on auto mode for publishing + // then send EMS values, only if its been flagged to update if (EMSESP_Settings.publish_time == 0) { publishEMSValues(false); } diff --git a/src/ems.cpp b/src/ems.cpp index 4e876ecf7..4f6dd55a2 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1354,10 +1354,10 @@ void _process_RCPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_RCPLUSStatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RCPLUSStatusMessage_mode, 0); // bit 1, mode (auto=1 or manual=0) - // setpoint is in position 3 and also 6 (EMS_OFFSET_RCPLUSStatusMessage_currsetpoint). We're sticking to 3 for now. - // only fetch temp if in comfort mode (not eco/night mode) + // setpoint is in offset 3 (EMS_OFFSET_RCPLUSStatusMessage_setpoint) and also 7 (EMS_OFFSET_RCPLUSStatusMessage_currsetpoint). + // We're sticking to 3 for now. // also ignore if its 0 - see https://github.com/proddy/EMS-ESP/issues/256#issuecomment-585171426 - if ((EMS_Thermostat.hc[hc].mode_type) && (EMS_RxTelegram->data[EMS_OFFSET_RCPLUSStatusMessage_setpoint] != 0)) { + if (EMS_RxTelegram->data[EMS_OFFSET_RCPLUSStatusMessage_setpoint] != 0) { _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RCPLUSStatusMessage_setpoint); // convert to single byte, value is * 2 } } diff --git a/src/version.h b/src/version.h index 8a5332f69..a017a338b 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b32" +#define APP_VERSION "1.9.5b33" From 842d47293bb8f157ee15d3126c88824c05af0eed Mon Sep 17 00:00:00 2001 From: proddy Date: Fri, 14 Feb 2020 20:24:58 +0100 Subject: [PATCH 130/195] fix for boiltemp - should work ith buderus and bosch --- src/ems.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 4f6dd55a2..960cabde5 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1092,10 +1092,10 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { // there may also be a BoilTemp in this telegram for Bosch - see https://github.com/proddy/EMS-ESP/issues/206 // as well as the one from UBAMonitorSlow - // brand is 0=unknown, 1=bosch, 2=junkers, 3=buderus, 4=nefit, 5=sieger, 11=worcester - if ((EMS_Boiler.brand == 1) || (EMS_Boiler.brand == 2) || (EMS_Boiler.brand == 11)) { - _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 11); // 0x8000 if not available - } + // brand is 0=unknown, 1=bosch, 2=junkers, 3=buderus, 4=nefit, 5=sieger, 11=worcester + //if ((EMS_Boiler.brand == 1) || (EMS_Boiler.brand == 2) || (EMS_Boiler.brand == 11)) { + _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 11); // 0x8000 if not available + //} _setValue(EMS_RxTelegram, &EMS_Boiler.retTemp, 13); _setValue(EMS_RxTelegram, &EMS_Boiler.flameCurr, 15); From 65ae347b720814ad4dfaabd0438d1656aba568ee Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Feb 2020 14:01:06 +0100 Subject: [PATCH 131/195] only send thermostat mqtt data if we have actual temperature values --- src/ems-esp.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index d1f7bdb5a..0774c133a 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -725,8 +725,8 @@ void publishEMSValues(bool force) { for (uint8_t hc_v = 1; hc_v <= EMS_THERMOSTAT_MAXHC; hc_v++) { _EMS_Thermostat_HC * thermostat = &EMS_Thermostat.hc[hc_v - 1]; - // only send if we have an active Heating Circuit with real data - if (thermostat->active) { + // only send if we have an active Heating Circuit with actual temperature values + if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) && (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET)) { // build new json object char hc[10]; // hc{1-4} strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); From 844312740122a0bc4568542a458b606a1ee11289 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Feb 2020 18:01:46 +0100 Subject: [PATCH 132/195] revert last change, only send thermostat MQTT if there is a setpoint temp --- src/ems-esp.cpp | 4 ++-- src/ems.cpp | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 0774c133a..dc8af7844 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -725,8 +725,8 @@ void publishEMSValues(bool force) { for (uint8_t hc_v = 1; hc_v <= EMS_THERMOSTAT_MAXHC; hc_v++) { _EMS_Thermostat_HC * thermostat = &EMS_Thermostat.hc[hc_v - 1]; - // only send if we have an active Heating Circuit with actual temperature values - if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) && (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET)) { + // only send if we have an active Heating Circuit with an actual setpoint temp temperature values + if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET)) { // build new json object char hc[10]; // hc{1-4} strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); diff --git a/src/ems.cpp b/src/ems.cpp index 960cabde5..b5a015cc1 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1269,7 +1269,7 @@ void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2, force to single byte } - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 - or 0x7D00 if thermostat is mounted on boiler _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_RC35StatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].summer_mode, EMS_OFFSET_RC35StatusMessage_mode, 0); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].holiday_mode, EMS_OFFSET_RC35StatusMessage_mode1, 5); @@ -1338,6 +1338,7 @@ void _process_RCPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { if (hc >= EMS_THERMOSTAT_MAXHC) { return; // invalid type } + EMS_Thermostat.hc[hc].active = true; // the whole telegram From 6e609de1ca4db28adf2baf35db47da8cb56d5ac6 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 15 Feb 2020 18:02:14 +0100 Subject: [PATCH 133/195] ldf to avoid compiling non-essential libraries --- platformio.ini | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platformio.ini b/platformio.ini index 4c4636936..623130d6f 100644 --- a/platformio.ini +++ b/platformio.ini @@ -41,6 +41,7 @@ framework = arduino platform = espressif8266 ;platform = https://github.com/platformio/platform-espressif8266#develop ;platform = https://github.com/platformio/platform-espressif8266#feature/stage +lib_compat_mode = strict lib_deps = https://github.com/rlogiacco/CircularBuffer https://github.com/PaulStoffregen/OneWire @@ -54,7 +55,6 @@ lib_deps = EEPROM_Rotate@0.9.2 ; https://github.com/xoseperez/eeprom_rotate ArduinoJson@6.14.1 ; https://github.com/bblanchon/ArduinoJson ESPAsyncTCP@1.2.2 ; https://github.com/me-no-dev/ESPAsyncTCP -lib_ignore = AsyncTCP upload_speed = 921600 monitor_speed = 115200 From 4ef86e66ae8464f5c89c6f300c3dc688218fe363 Mon Sep 17 00:00:00 2001 From: proddy Date: Sun, 16 Feb 2020 10:56:29 +0100 Subject: [PATCH 134/195] removed junkers mixers which wern't actually mixers --- src/ems_devices.h | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index e1c183ad9..59e3aa9ac 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -234,8 +234,6 @@ static const _EMS_Device EMS_Devices[] = { {161, EMS_DEVICE_TYPE_MIXING, "MM200 Mixing Module", EMS_DEVICE_FLAG_NONE}, {69, EMS_DEVICE_TYPE_MIXING, "MM10 Mixing Module", EMS_DEVICE_FLAG_NONE}, {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_NONE}, - {79, EMS_DEVICE_TYPE_MIXING, "Junkers M100", EMS_DEVICE_FLAG_NONE}, - {80, EMS_DEVICE_TYPE_MIXING, "Junkers M200", EMS_DEVICE_FLAG_NONE}, // // HeatPump - type 0x38 From ce49b37a34a26fcb0544974dea8aaf680c122ff5 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 16 Feb 2020 21:32:10 +0100 Subject: [PATCH 135/195] minor formatting - no feature changes --- src/MyESP.cpp | 4 +- src/custom.js | 2 +- src/ems-esp.cpp | 10 ++--- src/ems.cpp | 46 ++++++++++++++-------- src/ems.h | 97 +++++++++++++++++++++++++---------------------- src/ems_devices.h | 15 +++----- src/version.h | 2 +- 7 files changed, 97 insertions(+), 79 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index bcc16952a..8f6ace613 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -2694,7 +2694,7 @@ void MyESP::_printMQTTLog(bool show_sub = false) { for (i = 0; i < MYESP_MQTTLOG_MAX; i++) { if ((MQTT_log[i].topic != nullptr) && (MQTT_log[i].type == MYESP_MQTTLOGTYPE_PUBLISH)) { - myDebug_P(PSTR(" (%02d:%02d:%02d) Topic:%s Payload:%s"), + myDebug_P(PSTR(" (%02d:%02d:%02d) Topic: %s Payload: %s"), to_hour(MQTT_log[i].timestamp), to_minute(MQTT_log[i].timestamp), to_second(MQTT_log[i].timestamp), @@ -2710,7 +2710,7 @@ void MyESP::_printMQTTLog(bool show_sub = false) { for (i = 0; i < MYESP_MQTTLOG_MAX; i++) { if ((MQTT_log[i].topic != nullptr) && (MQTT_log[i].type == MYESP_MQTTLOGTYPE_SUBSCRIBE)) { - myDebug_P(PSTR(" Topic:%s"), MQTT_log[i].topic); + myDebug_P(PSTR(" Topic: %s"), MQTT_log[i].topic); } } } diff --git a/src/custom.js b/src/custom.js index 12468ee6d..0de8b6a48 100644 --- a/src/custom.js +++ b/src/custom.js @@ -108,7 +108,7 @@ function listCustomStats() { } else if (type === "Heat Pump") { color = "list-group-item-success"; } - l.innerHTML = obj[i].model + " (Version:" + obj[i].version + " ProductID:" + obj[i].productid + " DeviceID:0x" + obj[i].deviceid + ")"; + l.innerHTML = obj[i].model + " (DeviceID: 0x" + obj[i].deviceid + ", ProductID: " + obj[i].productid + ", Version: " + obj[i].version + ")"; l.className = "list-group-item " + color; list.appendChild(l); } diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index dc8af7844..68a57ae77 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -247,7 +247,7 @@ void showInfo() { (ems_getBoilerEnabled() ? "enabled" : "disabled"), (ems_getThermostatEnabled() ? "enabled" : "disabled"), (ems_getSolarModuleEnabled() ? "enabled" : "disabled"), - (ems_getMixingDeviceEnabled() ? "enabled" : "disabled")); + (ems_getMixingModuleEnabled() ? "enabled" : "disabled")); myDebug_P(PSTR(" Shower Timer: %s, Shower Alert: %s"), ((EMSESP_Settings.shower_timer) ? "enabled" : "disabled"), @@ -485,7 +485,7 @@ void showInfo() { } // Mixing modules sensors - if (ems_getMixingDeviceEnabled()) { + if (ems_getMixingModuleEnabled()) { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sMixing module data:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Mixing Module: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type, false)); @@ -530,7 +530,7 @@ void showInfo() { for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { float sensorValue = ds18.getValue(i); if (sensorValue != DS18_DISCONNECTED) { - myDebug_P(PSTR(" Sensor #%d type:%s id:%s temperature: %s C"), + myDebug_P(PSTR(" Sensor #%d type: %s id: %s temperature: %s C"), i + 1, ds18.getDeviceType(buffer, i), ds18.getDeviceID(buffer2, i), @@ -549,7 +549,7 @@ void scanDallas() { char buffer[128]; char buffer2[128]; for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { - myDebug_P(PSTR("External temperature sensor type:%s id:%s found"), ds18.getDeviceType(buffer, i), ds18.getDeviceID(buffer2, i)); + myDebug_P(PSTR("External temperature sensor type: %s id: %s found"), ds18.getDeviceType(buffer, i), ds18.getDeviceID(buffer2, i)); } } } @@ -789,7 +789,7 @@ void publishEMSValues(bool force) { } // handle the mixing values - if (ems_getMixingDeviceEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_MIXING) || force)) { + if (ems_getMixingModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_MIXING) || force)) { doc.clear(); JsonObject rootMixing = doc.to(); diff --git a/src/ems.cpp b/src/ems.cpp index b5a015cc1..048550868 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -241,7 +241,7 @@ bool ems_getThermostatEnabled() { return (EMS_Thermostat.device_id != EMS_ID_NONE); } -bool ems_getMixingDeviceEnabled() { +bool ems_getMixingModuleEnabled() { return EMS_MixingModule.device_id != EMS_ID_NONE; } @@ -1737,11 +1737,11 @@ bool _addDevice(_EMS_DEVICE_TYPE device_type, uint8_t product_id, uint8_t device strlcat(line, device_desc_p, sizeof(line)); } - strlcat(line, " (DeviceID:0x", sizeof(line)); + strlcat(line, " (DeviceID: 0x", sizeof(line)); strlcat(line, _hextoa(device_id, tmp), sizeof(line)); - strlcat(line, " ProductID:", sizeof(line)); + strlcat(line, ", ProductID: ", sizeof(line)); strlcat(line, itoa(product_id, tmp, 10), sizeof(line)); - strlcat(line, " Version:", sizeof(line)); + strlcat(line, ", Version: ", sizeof(line)); strlcat(line, version, sizeof(line)); strlcat(line, ")", sizeof(line)); @@ -1913,7 +1913,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { EMS_MixingModule.device_desc_p = device_desc_p; EMS_MixingModule.device_flags = flags; strlcpy(EMS_MixingModule.version, version, sizeof(EMS_MixingModule.version)); - ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC1, device_id); // fetch MM values + ems_getMixingModuleValues(); // fetch Mixing Module values } } @@ -2049,14 +2049,27 @@ void ems_getBoilerValues() { } /* - * Get other values from EMS devices + * Get solar values from EMS devices */ void ems_getSolarModuleValues() { if (ems_getSolarModuleEnabled()) { if (EMS_SolarModule.device_flags == EMS_DEVICE_FLAG_SM10) { - ems_doReadCommand(EMS_TYPE_SM10Monitor, EMS_ID_SM); // fetch all from SM10Monitor + ems_doReadCommand(EMS_TYPE_SM10Monitor, EMS_SolarModule.device_id); // fetch all from SM10Monitor } else if (EMS_SolarModule.device_flags == EMS_DEVICE_FLAG_SM100) { - ems_doReadCommand(EMS_TYPE_SM100Monitor, EMS_ID_SM); // fetch all from SM100Monitor + ems_doReadCommand(EMS_TYPE_SM100Monitor, EMS_SolarModule.device_id); // fetch all from SM100Monitor + } + } +} + +/* + * Get mixing module values from EMS devices + */ +void ems_getMixingModuleValues() { + if (ems_getMixingModuleEnabled()) { + if (EMS_MixingModule.device_flags == EMS_DEVICE_FLAG_MMPLUS) { + ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC1, EMS_MixingModule.device_id); + } else if (EMS_MixingModule.device_flags == EMS_DEVICE_FLAG_MM10) { + ems_doReadCommand(EMS_TYPE_MMStatusMessage, EMS_MixingModule.device_id); } } } @@ -2159,7 +2172,7 @@ char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, boo device_desc_p = EMS_HeatPump.device_desc_p; version = EMS_HeatPump.version; } else if (device_type == EMS_DEVICE_TYPE_MIXING) { - enabled = ems_getMixingDeviceEnabled(); + enabled = ems_getMixingModuleEnabled(); device_id = EMS_MixingModule.device_id; product_id = EMS_MixingModule.product_id; device_desc_p = EMS_MixingModule.device_desc_p; @@ -2183,12 +2196,12 @@ char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, boo return buffer; // only interested in the model name } - strlcat(buffer, " (DeviceID:0x", size); + strlcat(buffer, " (DeviceID: 0x", size); char tmp[6] = {0}; strlcat(buffer, _hextoa(device_id, tmp), size); - strlcat(buffer, " ProductID:", size); + strlcat(buffer, ", ProductID: ", size); strlcat(buffer, itoa(product_id, tmp, 10), size); - strlcat(buffer, " Version:", size); + strlcat(buffer, ", Version: ", size); strlcat(buffer, version, size); strlcat(buffer, ")", size); @@ -2242,7 +2255,7 @@ void ems_printDevices() { } if ((it->device_type == EMS_DEVICE_TYPE_THERMOSTAT) && (EMS_Sys_Status.emsMasterThermostat == it->product_id)) { - myDebug_P(PSTR(" %s: %s%s%s (DeviceID:0x%02X ProductID:%d Version:%s) [master]"), + myDebug_P(PSTR(" %s: %s%s%s (DeviceID: 0x%02X, ProductID: %d, Version: %s) [master]"), device_type, COLOR_BOLD_ON, device_string, @@ -2252,7 +2265,7 @@ void ems_printDevices() { it->version); } else { - myDebug_P(PSTR(" %s: %s%s%s (DeviceID:0x%02X ProductID:%d Version:%s)"), + myDebug_P(PSTR(" %s: %s%s%s (DeviceID: 0x%02X, ProductID: %d, Version: %s)"), device_type, COLOR_BOLD_ON, device_string, @@ -3207,8 +3220,9 @@ void ems_scanDevices() { std::list Device_Ids; // create a new list Device_Ids.push_back(EMS_ID_BOILER); // UBAMaster/Boilers - 0x08 - Device_Ids.push_back(EMS_ID_HP); // HeatPump - 0x38 - Device_Ids.push_back(EMS_ID_SM); // Solar Module - 0x30 + Device_Ids.push_back(0x09); // Controllers - 0x09 + Device_Ids.push_back(0x38); // HeatPump - 0x38 + Device_Ids.push_back(0x30); // Solar Module - 0x30 Device_Ids.push_back(0x09); // Controllers - 0x09 Device_Ids.push_back(0x02); // Connect - 0x02 Device_Ids.push_back(0x48); // Gateway - 0x48 diff --git a/src/ems.h b/src/ems.h index 13d8c0b6b..5693a6918 100644 --- a/src/ems.h +++ b/src/ems.h @@ -43,11 +43,13 @@ #define EMS_MIXING_MAXWWC 2 // max number of warm water circuits // Device Flags -#define EMS_DEVICE_FLAG_NONE 0 // no flags set -#define EMS_DEVICE_FLAG_SM10 10 // solar module1 -#define EMS_DEVICE_FLAG_SM100 11 // solar module2 +#define EMS_DEVICE_FLAG_NONE 0 // no flags set +#define EMS_DEVICE_FLAG_SM10 10 // solar module1 +#define EMS_DEVICE_FLAG_SM100 11 // solar module2 +#define EMS_DEVICE_FLAG_MMPLUS 12 // mixing module EMS+ +#define EMS_DEVICE_FLAG_MM10 13 // mixing modules MM10 and MM50 -// group flags specific for thermostats +// device flags specific for thermostats #define EMS_DEVICE_FLAG_NO_WRITE 0x80 // top bit set if write not supported #define EMS_DEVICE_FLAG_EASY 1 #define EMS_DEVICE_FLAG_RC10 2 @@ -433,47 +435,52 @@ typedef struct { } _EMS_Type; // function definitions -void ems_dumpBuffer(const char * prefix, uint8_t * telegram, uint8_t length); -void ems_parseTelegram(uint8_t * telegram, uint8_t len); -void ems_init(); -void ems_doReadCommand(uint16_t type, uint8_t dest); -void ems_sendRawTelegram(char * telegram); -void ems_printDevices(); -uint8_t ems_printDevices_s(char * buffer, uint16_t len); -void ems_printTxQueue(); -void ems_testTelegram(uint8_t test_num); -void ems_startupTelegrams(); -bool ems_checkEMSBUSAlive(); -void ems_clearDeviceList(); -void ems_setThermostatTemp(float temperature, uint8_t hc, uint8_t temptype = 0); -void ems_setThermostatMode(uint8_t mode, uint8_t hc); -void ems_setWarmWaterTemp(uint8_t temperature); -void ems_setFlowTemp(uint8_t temperature); -void ems_setWarmWaterActivated(bool activated); -void ems_setWarmWaterOnetime(bool activated); -void ems_setWarmWaterCirculation(bool activated); -void ems_setWarmTapWaterActivated(bool activated); -void ems_setPoll(bool b); -void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id); -void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet = false); -void ems_setWarmWaterModeComfort(uint8_t comfort); -void ems_setModels(); -void ems_setTxDisabled(bool b); -void ems_setTxMode(uint8_t mode); -void ems_setMasterThermostat(uint8_t product_id); -char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, bool name_only = false); -bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer); -char * ems_getDeviceTypeName(_EMS_DEVICE_TYPE device_type, char * buffer); -void ems_getThermostatValues(); -void ems_getBoilerValues(); -void ems_getSolarModuleValues(); -bool ems_getPoll(); -bool ems_getTxEnabled(); -bool ems_getThermostatEnabled(); -bool ems_getMixingDeviceEnabled(); -bool ems_getBoilerEnabled(); -bool ems_getSolarModuleEnabled(); -bool ems_getHeatPumpEnabled(); +void ems_dumpBuffer(const char * prefix, uint8_t * telegram, uint8_t length); +void ems_parseTelegram(uint8_t * telegram, uint8_t len); +void ems_init(); +void ems_doReadCommand(uint16_t type, uint8_t dest); +void ems_sendRawTelegram(char * telegram); +void ems_printDevices(); +uint8_t ems_printDevices_s(char * buffer, uint16_t len); +void ems_printTxQueue(); +void ems_testTelegram(uint8_t test_num); +void ems_startupTelegrams(); +bool ems_checkEMSBUSAlive(); +void ems_clearDeviceList(); +void ems_setThermostatTemp(float temperature, uint8_t hc, uint8_t temptype = 0); +void ems_setThermostatMode(uint8_t mode, uint8_t hc); +void ems_setWarmWaterTemp(uint8_t temperature); +void ems_setFlowTemp(uint8_t temperature); +void ems_setWarmWaterActivated(bool activated); +void ems_setWarmWaterOnetime(bool activated); +void ems_setWarmWaterCirculation(bool activated); +void ems_setWarmTapWaterActivated(bool activated); +void ems_setPoll(bool b); +void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id); +void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet = false); +void ems_setWarmWaterModeComfort(uint8_t comfort); +void ems_setModels(); +void ems_setTxDisabled(bool b); +void ems_setTxMode(uint8_t mode); +void ems_setMasterThermostat(uint8_t product_id); +char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, bool name_only = false); +bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer); +char * ems_getDeviceTypeName(_EMS_DEVICE_TYPE device_type, char * buffer); + +void ems_getThermostatValues(); +void ems_getBoilerValues(); +void ems_getSolarModuleValues(); +void ems_getMixingModuleValues(); + +bool ems_getPoll(); +bool ems_getTxEnabled(); + +bool ems_getThermostatEnabled(); +bool ems_getMixingModuleEnabled(); +bool ems_getBoilerEnabled(); +bool ems_getSolarModuleEnabled(); +bool ems_getHeatPumpEnabled(); + bool ems_getBusConnected(); _EMS_SYS_LOGGING ems_getLogging(); uint8_t ems_getThermostatModel(); diff --git a/src/ems_devices.h b/src/ems_devices.h index 59e3aa9ac..87748f3f1 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -12,11 +12,8 @@ #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_SM 0x30 // Solar Module SM10, SM100, SM200 and ISM1 -#define EMS_ID_HP 0x38 // Heat Pump -#define EMS_ID_CONTROLLER 0x09 // controllers, some are built in +#define EMS_ID_ME 0x0B // our device, hardcoded as the "Service Key" +#define EMS_ID_BOILER 0x08 // all UBA Boilers have 0x08 /* * Common Type @@ -230,10 +227,10 @@ static const _EMS_Device EMS_Devices[] = { // // Mixing Devices - type 0x20 or 0x21 // - {160, EMS_DEVICE_TYPE_MIXING, "MM100 Mixing Module", EMS_DEVICE_FLAG_NONE}, - {161, EMS_DEVICE_TYPE_MIXING, "MM200 Mixing Module", EMS_DEVICE_FLAG_NONE}, - {69, EMS_DEVICE_TYPE_MIXING, "MM10 Mixing Module", EMS_DEVICE_FLAG_NONE}, - {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_NONE}, + {160, EMS_DEVICE_TYPE_MIXING, "MM100 Mixing Module", EMS_DEVICE_FLAG_MMPLUS}, + {161, EMS_DEVICE_TYPE_MIXING, "MM200 Mixing Module", EMS_DEVICE_FLAG_MMPLUS}, + {69, EMS_DEVICE_TYPE_MIXING, "MM10 Mixing Module", EMS_DEVICE_FLAG_MM10}, + {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_MM10}, // // HeatPump - type 0x38 diff --git a/src/version.h b/src/version.h index a017a338b..303603e7a 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b33" +#define APP_VERSION "1.9.5b34" From 0712ab51524cfa5103951f34a1e26332053f4064 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 17 Feb 2020 11:13:41 +0100 Subject: [PATCH 136/195] check for max sensors - #327 --- src/ems-esp.cpp | 12 +++++++++--- src/my_config.h | 3 ++- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 68a57ae77..b324aea35 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -19,6 +19,7 @@ // Dallas external temp sensors #include "ds18.h" DS18 ds18; +#define DS18_MQTT_PAYLOAD_MAXSIZE 400 // public libraries #include // https://github.com/bblanchon/ArduinoJson @@ -565,8 +566,13 @@ void publishSensorValues() { return; // no sensors attached } - StaticJsonDocument<400> doc; - JsonObject sensors = doc.to(); + // each payload per sensor is 30 bytes so calculate if we have enough space + if ((EMSESP_Settings.dallas_sensors * 30) > DS18_MQTT_PAYLOAD_MAXSIZE) { + myDebug("Error: too many Dallas sensors for MQTT payload"); + } + + StaticJsonDocument doc; + JsonObject sensors = doc.to(); bool hasdata = false; char buffer[128] = {0}; @@ -583,7 +589,7 @@ void publishSensorValues() { return; // nothing to send } - char data[400] = {0}; + char data[DS18_MQTT_PAYLOAD_MAXSIZE] = {0}; serializeJson(doc, data, sizeof(data)); myDebugLog("Publishing external sensor data via MQTT"); myESP.mqttPublish(TOPIC_EXTERNAL_SENSORS, data); diff --git a/src/my_config.h b/src/my_config.h index d59c0a537..c55414c16 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -10,8 +10,9 @@ #include "ems.h" -// TOPICS with _CMD_ are used for receiving commands from an MQTT Broker +// TOPICS with *_CMD_* are used for receiving commands from an MQTT Broker // EMS-ESP will subscribe to these topics + #define TOPIC_GENERIC_CMD "generic_cmd" // for receiving generic system commands via MQTT // MQTT for thermostat From b4e1d35d86323892d981365968d514a90271f292 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 18 Feb 2020 16:03:54 +0100 Subject: [PATCH 137/195] multiple bus ids - #329 --- src/ems-esp.cpp | 209 ++++++++++++++++++++++++++---------- src/ems.cpp | 54 +++++----- src/ems.h | 9 +- src/ems_devices.h | 1 - src/version.h | 2 +- tools/wsemulator/wserver.js | 3 +- 6 files changed, 192 insertions(+), 86 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index b324aea35..d13cef5fa 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -79,7 +79,9 @@ typedef struct { uint8_t dallas_gpio; // pin for attaching external dallas temperature sensors bool dallas_parasite; // on/off is using parasite uint8_t tx_mode; // TX mode 1,2 or 3 + uint8_t bus_id; // BUS ID, defaults to 0x0B for the service key uint8_t master_thermostat; // Product ID of master thermostat to use, 0 for automatic + char * known_devices; // list of known deviceIDs for quick boot } _EMSESP_Settings; typedef struct { @@ -101,6 +103,7 @@ static const command_t project_cmds[] PROGMEM = { {true, "shower_alert ", "stop hot water to send 3 cold burst warnings after max shower time is exceeded"}, {true, "publish_time ", "set frequency for publishing data to MQTT (-1=off, 0=automatic)"}, {true, "tx_mode ", "changes Tx logic. 1=EMS generic, 2=EMS+, 3=HT3"}, + {true, "bus_id ", "EMS-ESP's deviceID. 0B=Service Key (default), 0D=Modem, 0A=Hand terminal, 0F=Time module, 12=Error module"}, {true, "master_thermostat [product id]", "set default thermostat to use. No argument lists options"}, {false, "info", "show current values deciphered from the EMS messages"}, @@ -112,9 +115,8 @@ static const command_t project_cmds[] PROGMEM = { {false, "publish", "publish all values to MQTT"}, {false, "refresh", "fetch values from the EMS devices"}, - {false, "devices", "list detected EMS devices"}, + {false, "devices [scan [deep]]", "list, ask Master or perform deep scan of EMS devices"}, {false, "queue", "show current Tx queue"}, - {false, "autodetect [scan]", "scan for EMS devices and external sensors. scan uses brute-force"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, {false, "thermostat temp [hc] ", "set current thermostat temperature"}, @@ -259,6 +261,9 @@ void showInfo() { if (ems_getBusConnected()) { myDebug_P(PSTR(" Bus is connected, protocol: %s"), (ems_isHT3() ? "HT3" : "Buderus")); myDebug_P(PSTR(" Rx: # successful read requests=%d, # CRC errors=%d"), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); + if (strlen(EMSESP_Settings.known_devices) > 0) { + myDebug_P(PSTR(" Saved known device IDs: %s"), EMSESP_Settings.known_devices); + } if (ems_getTxCapable()) { char valuestr[8] = {0}; // for formatting floats @@ -550,7 +555,7 @@ void scanDallas() { char buffer[128]; char buffer2[128]; for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { - myDebug_P(PSTR("External temperature sensor type: %s id: %s found"), ds18.getDeviceType(buffer, i), ds18.getDeviceID(buffer2, i)); + myDebug_P(PSTR("External temperature sensor found, type: %s id: %s"), ds18.getDeviceType(buffer, i), ds18.getDeviceID(buffer2, i)); } } } @@ -567,21 +572,28 @@ void publishSensorValues() { } // each payload per sensor is 30 bytes so calculate if we have enough space - if ((EMSESP_Settings.dallas_sensors * 30) > DS18_MQTT_PAYLOAD_MAXSIZE) { - myDebug("Error: too many Dallas sensors for MQTT payload"); - } + if ((EMSESP_Settings.dallas_sensors * 50) > DS18_MQTT_PAYLOAD_MAXSIZE) { + myDebug("Error: too many Dallas sensors for MQTT payload"); + } StaticJsonDocument doc; JsonObject sensors = doc.to(); bool hasdata = false; - char buffer[128] = {0}; + char buffer[128] = {0}; // temp string buffer // see if the sensor values have changed, if so send it on for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { float sensorValue = ds18.getValue(i); if (sensorValue != DS18_DISCONNECTED) { - sensors[ds18.getDeviceID(buffer, i)] = sensorValue; - hasdata = true; + hasdata = true; + // create a nested object + // https://github.com/proddy/EMS-ESP/issues/327 + char sensorID[10]; // sensor{1-n} + strlcpy(sensorID, PAYLOAD_EXTERNAL_SENSOR_NUM, sizeof(sensorID)); + strlcat(sensorID, _int_to_char(buffer, i + 1), sizeof(sensorID)); + JsonObject dataSensor = sensors.createNestedObject(sensorID); + dataSensor[PAYLOAD_EXTERNAL_SENSOR_ID] = ds18.getDeviceID(buffer, i); + dataSensor[PAYLOAD_EXTERNAL_SENSOR_TEMP] = sensorValue; } } @@ -800,47 +812,45 @@ void publishEMSValues(bool force) { JsonObject rootMixing = doc.to(); for (uint8_t hc_v = 1; hc_v <= EMS_MIXING_MAXHC; hc_v++) { - _EMS_MixingModule_HC * mixing = &EMS_MixingModule.hc[hc_v - 1]; + _EMS_MixingModule_HC * mixingHC = &EMS_MixingModule.hc[hc_v - 1]; // only send if we have an active Heating Circuit with real data - if (mixing->active) { - // build new json object + if (mixingHC->active) { char hc[10]; // hc{1-4} strlcpy(hc, MIXING_HC, sizeof(hc)); - strlcat(hc, _int_to_char(s, mixing->hc), sizeof(hc)); - JsonObject dataMixing = rootMixing.createNestedObject(hc); - if (mixing->flowTemp < EMS_VALUE_USHORT_NOTSET) - dataMixing["flowTemp"] = (float)mixing->flowTemp / 10; - if (mixing->flowSetTemp != EMS_VALUE_INT_NOTSET) - dataMixing["setflowTemp"] = mixing->flowSetTemp; - if (mixing->pumpMod != EMS_VALUE_INT_NOTSET) - dataMixing["pumpMod"] = mixing->pumpMod; - if (mixing->valveStatus != EMS_VALUE_INT_NOTSET) - dataMixing["valveStatus"] = mixing->valveStatus; + strlcat(hc, _int_to_char(s, mixingHC->hc), sizeof(hc)); + JsonObject dataMixingHC = rootMixing.createNestedObject(hc); + if (mixingHC->flowTemp < EMS_VALUE_USHORT_NOTSET) + dataMixingHC["flowTemp"] = (float)mixingHC->flowTemp / 10; + if (mixingHC->flowSetTemp != EMS_VALUE_INT_NOTSET) + dataMixingHC["setflowTemp"] = mixingHC->flowSetTemp; + if (mixingHC->pumpMod != EMS_VALUE_INT_NOTSET) + dataMixingHC["pumpMod"] = mixingHC->pumpMod; + if (mixingHC->valveStatus != EMS_VALUE_INT_NOTSET) + dataMixingHC["valveStatus"] = mixingHC->valveStatus; } } for (uint8_t wwc_v = 1; wwc_v <= EMS_MIXING_MAXWWC; wwc_v++) { - _EMS_MixingModule_WWC * mixing = &EMS_MixingModule.wwc[wwc_v - 1]; + _EMS_MixingModule_WWC * mixingWWC = &EMS_MixingModule.wwc[wwc_v - 1]; // only send if we have an active Warm water Circuit with real data - if (mixing->active) { - // build new json object + if (mixingWWC->active) { char wwc[10]; // wwc{1-2} strlcpy(wwc, MIXING_WWC, sizeof(wwc)); - strlcat(wwc, _int_to_char(s, mixing->wwc), sizeof(wwc)); + strlcat(wwc, _int_to_char(s, mixingWWC->wwc), sizeof(wwc)); JsonObject dataMixing = rootMixing.createNestedObject(wwc); - if (mixing->flowTemp < EMS_VALUE_USHORT_NOTSET) - dataMixing["wwTemp"] = (float)mixing->flowTemp / 10; - if (mixing->pumpMod != EMS_VALUE_INT_NOTSET) - dataMixing["pumpStatus"] = mixing->pumpMod; - if (mixing->tempStatus != EMS_VALUE_INT_NOTSET) - dataMixing["tempStatus"] = mixing->tempStatus; + if (mixingWWC->flowTemp < EMS_VALUE_USHORT_NOTSET) + dataMixing["wwTemp"] = (float)mixingWWC->flowTemp / 10; + if (mixingWWC->pumpMod != EMS_VALUE_INT_NOTSET) + dataMixing["pumpStatus"] = mixingWWC->pumpMod; + if (mixingWWC->tempStatus != EMS_VALUE_INT_NOTSET) + dataMixing["tempStatus"] = mixingWWC->tempStatus; } } data[0] = '\0'; // reset data for next package serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing mixing device data via MQTT"); + myDebugLog("Publishing mixing data via MQTT"); myESP.mqttPublish(TOPIC_MIXING_DATA, data); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_MIXING); // unset flag } @@ -1039,6 +1049,11 @@ bool LoadSaveCallback(MYESP_FSACTION_t action, JsonObject settings) { EMSESP_Settings.master_thermostat = settings["master_thermostat"] | 0; // default to 0 (none) ems_setMasterThermostat(EMSESP_Settings.master_thermostat); + EMSESP_Settings.bus_id = settings["bus_id"] | EMS_BUSID_DEFAULT; // default to 0x0B (Service Key) + ems_setEMSbusid(EMSESP_Settings.bus_id); + + EMSESP_Settings.known_devices = strdup(settings["known_devices"] | ""); + return true; } @@ -1052,7 +1067,9 @@ bool LoadSaveCallback(MYESP_FSACTION_t action, JsonObject settings) { settings["shower_alert"] = EMSESP_Settings.shower_alert; settings["publish_time"] = EMSESP_Settings.publish_time; settings["tx_mode"] = EMSESP_Settings.tx_mode; + settings["bus_id"] = EMSESP_Settings.bus_id; settings["master_thermostat"] = EMSESP_Settings.master_thermostat; + settings["known_devices"] = EMSESP_Settings.known_devices; return true; } @@ -1171,6 +1188,18 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, } } + // bus_id + if ((strcmp(setting, "bus_id") == 0) && (wc == 2)) { + uint8_t id = strtoul(value, 0, 16); + if ((id == 0x0B) || (id == 0x0D) || (id == 0x0A) || (id == 0x0F) || (id == 0x12)) { + EMSESP_Settings.bus_id = id; + ems_setEMSbusid(id); + ok = true; + } else { + myDebug_P(PSTR("Error. Usage: set bus_id , with ID=0B, 0D, 0A, 0F or 12")); + } + } + // master_thermostat if (strcmp(setting, "master_thermostat") == 0) { if (wc == 1) { @@ -1206,6 +1235,7 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, myDebug_P(PSTR(" dallas_gpio=%d"), EMSESP_Settings.dallas_gpio); myDebug_P(PSTR(" dallas_parasite=%s"), EMSESP_Settings.dallas_parasite ? "on" : "off"); myDebug_P(PSTR(" tx_mode=%d"), EMSESP_Settings.tx_mode); + myDebug_P(PSTR(" bus_id=0x%02X"), EMSESP_Settings.bus_id); myDebug_P(PSTR(" listen_mode=%s"), EMSESP_Settings.listen_mode ? "on" : "off"); myDebug_P(PSTR(" shower_timer=%s"), EMSESP_Settings.shower_timer ? "on" : "off"); myDebug_P(PSTR(" shower_alert=%s"), EMSESP_Settings.shower_alert ? "on" : "off"); @@ -1274,6 +1304,27 @@ void TelnetCallback(uint8_t event) { } } +// get the list of know devices, as a string, and save them to the config file +void saveEMSDevices() { + if (Devices.empty()) { + return; + } + + char s[100]; + char buffer[16] = {0}; + s[0] = '\0'; + + for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { + strlcat(s, _hextoa(it->device_id, buffer), sizeof(s)); + strlcat(s, " ", sizeof(s)); + } + + strlcpy(EMSESP_Settings.known_devices, s, sizeof(s)); + + myDebug("The device IDs %s%s%swill be automatically scanned when EMS-ESP boots up.", COLOR_BOLD_ON, EMSESP_Settings.known_devices, COLOR_BOLD_OFF); + myESP.saveSettings(); +} + // extra commands options for telnet debug window // wc is the word count, i.e. number of arguments. Everything is in lower case. void TelnetCommandCallback(uint8_t wc, const char * commandLine) { @@ -1297,32 +1348,46 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { } if (strcmp(first_cmd, "devices") == 0) { - ems_printDevices(); - ok = true; + if (wc == 1) { + // print + ems_printDevices(); + return; + } + + // wc = 2 or more. check for "scan" + char * second_cmd = _readWord(); + if (strcmp(second_cmd, "scan") == 0) { + if (wc == 2) { + // just scan use UBA 0x07 telegram + myDebug_P(PSTR("Requesting EMS bus master for its device list and scanning for external sensors...")); + scanDallas(); + ems_clearDeviceList(); + ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); + return; + } + + // wc is 3 or more. check for additional "force" argument + char * third_cmd = _readWord(); + if (strcmp(third_cmd, "deep") == 0) { + myDebug_P(PSTR("Started deep scan of EMS bus for our known devices. This can take up to 10 seconds...")); + ems_clearDeviceList(); + ems_scanDevices(); + return; + } + } else if (strcmp(second_cmd, "save") == 0) { + saveEMSDevices(); + return; + } + + ok = false; // unknown command } + if (strcmp(first_cmd, "queue") == 0) { ems_printTxQueue(); ok = true; } - if (strcmp(first_cmd, "autodetect") == 0) { - if (wc == 2) { - char * second_cmd = _readWord(); - if (strcmp(second_cmd, "scan") == 0) { - ems_clearDeviceList(); - ems_scanDevices(); - ok = true; - } - } else { - myDebug("Scanning for new EMS devices and attached external sensors..."); - scanDallas(); - ems_clearDeviceList(); - ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); - ok = true; - } - } - // logging if ((strcmp(first_cmd, "log") == 0) && (wc >= 2)) { char * second_cmd = _readWord(); @@ -1995,7 +2060,9 @@ void initEMSESP() { EMSESP_Settings.led_gpio = EMSESP_LED_GPIO; EMSESP_Settings.dallas_gpio = EMSESP_DALLAS_GPIO; EMSESP_Settings.tx_mode = EMS_TXMODE_DEFAULT; // default tx mode + EMSESP_Settings.bus_id = EMS_BUSID_DEFAULT; // Service Key is default EMSESP_Settings.master_thermostat = 0; + EMSESP_Settings.known_devices = nullptr; // shower settings EMSESP_Shower.timerStart = 0; @@ -2067,6 +2134,38 @@ void showerCheck() { } } +// this is called when we've first established an EMS connection +// go send out some spies to figure out what is on the bus and who's driving it +void startupEMSscan() { + if (EMSESP_Settings.listen_mode) { + return; + } + + // First scan anything we may have saved as known devices from a "devices save" command + if (strlen(EMSESP_Settings.known_devices) > 0) { + char * p; + char * temp = strdup(EMSESP_Settings.known_devices); // because strlok is destructive, make a copy + char value[10] = {0}; + // get first value + if ((p = strtok(temp, " "))) { // delimiter + strlcpy(value, p, sizeof(value)); + uint8_t val = (uint8_t)strtol(value, 0, 16); + ems_doReadCommand(EMS_TYPE_Version, val); + } + // and iterate until end + while (p != 0) { + if ((p = strtok(nullptr, " "))) { + strlcpy(value, p, sizeof(value)); + uint8_t val = (uint8_t)strtol(value, 0, 16); + ems_doReadCommand(EMS_TYPE_Version, val); + } + } + } + + // ask the Boiler to show us it's attached devices in case we missed anything + ems_discoverModels(); +} + // // SETUP // @@ -2102,12 +2201,10 @@ void setup() { myESP.setUseSerial(false); emsuart_init(); // start EMS bus transmissions myDebug_P(PSTR("[UART] Rx/Tx connection established")); - if (!EMSESP_Settings.listen_mode) { - // go and find the boiler and thermostat types, if not in listen mode - ems_discoverModels(); - } + startupEMSscan(); } + // enable regular checks to fetch data and publish using Tx (unless listen_mode is enabled) if (!EMSESP_Settings.listen_mode) { regularUpdatesTimer.attach(REGULARUPDATES_TIME, do_regularUpdates); // regular reads from the EMS diff --git a/src/ems.cpp b/src/ems.cpp index 048550868..5198a9afd 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -95,7 +95,9 @@ void ems_init() { EMS_Sys_Status.emsPollFrequency = 0; EMS_Sys_Status.txRetryCount = 0; EMS_Sys_Status.emsIDMask = 0x00; - EMS_Sys_Status.emsPollAck[0] = EMS_ID_ME; + EMS_Sys_Status.emsTxMode = EMS_TXMODE_DEFAULT; + EMS_Sys_Status.emsbusid = EMS_BUSID_DEFAULT; + EMS_Sys_Status.emsPollAck[0] = EMS_BUSID_DEFAULT; // thermostat strlcpy(EMS_Thermostat.datetime, "?", sizeof(EMS_Thermostat.datetime)); @@ -442,6 +444,11 @@ void ems_setTxMode(uint8_t mode) { EMS_Sys_Status.emsTxMode = mode; } +void ems_setEMSbusid(uint8_t id) { + EMS_Sys_Status.emsbusid = id; + EMS_Sys_Status.emsPollAck[0] = id; +} + void ems_setMasterThermostat(uint8_t product_id) { EMS_Sys_Status.emsMasterThermostat = product_id; } @@ -577,7 +584,7 @@ void _ems_sendTelegram() { } // create the header - EMS_TxTelegram.data[0] = EMS_ID_ME ^ EMS_Sys_Status.emsIDMask; // src + EMS_TxTelegram.data[0] = EMS_Sys_Status.emsbusid ^ EMS_Sys_Status.emsIDMask; // src // dest if (EMS_TxTelegram.action == EMS_TX_TELEGRAM_WRITE) { @@ -752,7 +759,7 @@ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { if ((length >= 5) && (telegram[length - 1] == _crcCalculator(telegram, length))) { EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_IDLE; EMS_Sys_Status.emsIDMask = telegram[0] & 0x80; - EMS_Sys_Status.emsPollAck[0] = EMS_ID_ME ^ EMS_Sys_Status.emsIDMask; + EMS_Sys_Status.emsPollAck[0] = EMS_Sys_Status.emsbusid ^ EMS_Sys_Status.emsIDMask; } else return; // ignore the whole telegram Rx Telegram while in DETECT mode } @@ -779,7 +786,7 @@ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { uint8_t value = telegram[0]; // 1st byte of data package // check first for a Poll for us - if ((value ^ 0x80 ^ EMS_Sys_Status.emsIDMask) == EMS_ID_ME) { + if ((value ^ 0x80 ^ EMS_Sys_Status.emsIDMask) == EMS_Sys_Status.emsbusid) { static uint32_t _last_emsPollFrequency = 0; uint32_t timenow_microsecs = micros(); EMS_Sys_Status.emsPollFrequency = (timenow_microsecs - _last_emsPollFrequency); @@ -919,7 +926,7 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram) { (void)ems_getDeviceTypeDescription(dest, type_s); strlcat(output_str, type_s, sizeof(output_str)); - if (dest == EMS_ID_ME) { + if (dest == EMS_Sys_Status.emsbusid) { strlcpy(color_s, COLOR_YELLOW, sizeof(color_s)); // me } else if (dest == EMS_ID_NONE) { strlcpy(color_s, COLOR_GREEN, sizeof(color_s)); // broadcast @@ -1753,7 +1760,7 @@ bool _addDevice(_EMS_DEVICE_TYPE device_type, uint8_t product_id, uint8_t device /** * type 0x07 - shows us the connected EMS devices * e.g. 08 00 07 00 0B 80 00 00 00 00 00 00 00 00 00 00 00 (CRC=47) #data=13 - * Junkers is 15 (I think) + * Junkers has 15 bytes of data */ void _process_UBADevices(_EMS_RxTelegram * EMS_RxTelegram) { if (EMS_RxTelegram->data_length > EMS_SYS_DEVICEMAP_LENGTH) { @@ -1774,8 +1781,8 @@ void _process_UBADevices(_EMS_RxTelegram * EMS_RxTelegram) { for (uint8_t bit = 0; bit < 8; bit++) { if ((byte & 0x01) && ((saved_byte & 0x01) == 0)) { uint8_t device_id = ((data_byte + 1) * 8) + bit; - if (device_id != EMS_ID_ME) { - // myDebug("[EMS] Detected new EMS Device with ID 0x%02X", device_id); + if (device_id != EMS_Sys_Status.emsbusid) { + myDebug("[EMS] Detected new EMS Device with ID 0x%02X. Fetching version information...", device_id); if (!ems_getTxDisabled()) { ems_doReadCommand(EMS_TYPE_Version, device_id); // get version, but ignore ourselves } @@ -1921,7 +1928,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { * Figure out the boiler and thermostat types */ void ems_discoverModels() { - //myDebug_P(PSTR("Starting auto discover of EMS devices...")); + // ask Boiler for it's known devices ems_doReadCommand(EMS_TYPE_UBADevices, EMS_ID_BOILER); } @@ -2107,7 +2114,7 @@ bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer) { // check for the fixed device IDs we already know about, like 0x00 for broadcast, 0x0B for me, 0x08 for Boiler if (device_id == EMS_ID_BOILER) { device_type = EMS_DEVICE_TYPE_BOILER; - } else if (device_id == EMS_ID_ME) { + } else if (device_id == EMS_Sys_Status.emsbusid) { device_type = EMS_DEVICE_TYPE_SERVICEKEY; } else if (device_id == EMS_ID_NONE) { device_type = EMS_DEVICE_TYPE_NONE; @@ -2225,7 +2232,7 @@ void ems_printDevices() { for (uint8_t bit = 0; bit < 8; bit++) { if (byte & 0x01) { uint8_t device_id = ((data_byte + 1) * 8) + bit; - if (device_id != EMS_ID_ME) { + if (device_id != EMS_Sys_Status.emsbusid) { strlcat(s, " 0x", sizeof(s)); strlcat(s, _hextoa(device_id, buffer), sizeof(s)); } @@ -2236,7 +2243,6 @@ void ems_printDevices() { } strlcat(s, COLOR_BOLD_OFF, sizeof(s)); - myDebug_P(PSTR("")); // newline myDebug(s); // print out the ones we recognized @@ -2312,7 +2318,7 @@ void ems_sendRawTelegram(char * telegram) { strlcpy(value, p, sizeof(value)); EMS_TxTelegram.data[0] = (uint8_t)strtol(value, 0, 16); } - // and interate until end + // and iterate until end while (p != 0) { if ((p = strtok(nullptr, " ,"))) { strlcpy(value, p, sizeof(value)); @@ -2785,10 +2791,10 @@ void ems_setWarmTapWaterActivated(bool activated) { EMS_TxTelegram.comparisonPostRead = EMS_TxTelegram.type; // create header - EMS_TxTelegram.data[0] = EMS_ID_ME; // src - EMS_TxTelegram.data[1] = EMS_TxTelegram.dest; // dest - EMS_TxTelegram.data[2] = EMS_TxTelegram.type; // type - EMS_TxTelegram.data[3] = EMS_TxTelegram.offset; // offset + EMS_TxTelegram.data[0] = EMS_Sys_Status.emsbusid; // src + EMS_TxTelegram.data[1] = EMS_TxTelegram.dest; // dest + EMS_TxTelegram.data[2] = EMS_TxTelegram.type; // type + EMS_TxTelegram.data[3] = EMS_TxTelegram.offset; // offset // we use the special test mode 0x1D for this. Setting the first data to 5A puts the system into test mode and // a setting of 0x00 puts it back into normal operating mode @@ -2823,11 +2829,11 @@ void ems_startupTelegrams() { char s[20] = {0}; // Write type 0x1D to get out of function test mode - snprintf(s, sizeof(s), "%02X %02X 1D 00 00", EMS_ID_ME, EMS_Boiler.device_id); + snprintf(s, sizeof(s), "%02X %02X 1D 00 00", EMS_Sys_Status.emsbusid, EMS_Boiler.device_id); ems_sendRawTelegram(s); // Read type 0x01 - snprintf(s, sizeof(s), "%02X %02X 01 00 1B", EMS_ID_ME, EMS_Boiler.device_id | 0x80); + snprintf(s, sizeof(s), "%02X %02X 01 00 1B", EMS_Sys_Status.emsbusid, EMS_Boiler.device_id | 0x80); ems_sendRawTelegram(s); } @@ -2862,7 +2868,7 @@ void ems_testTelegram(uint8_t test_num) { telegram[0] = (uint8_t)strtol(value, 0, 16); } - // and interate until end + // and iterate until end while (p != 0) { if ((p = strtok(nullptr, " ,"))) { strlcpy(value, p, sizeof(value)); @@ -3011,7 +3017,7 @@ void _ems_processTelegram(_EMS_RxTelegram * EMS_RxTelegram) { // we're only interested in broadcast messages (dest is 0x00) or ones for us (dest is 0x0B) uint8_t dest = EMS_RxTelegram->dest; - if ((dest != EMS_ID_NONE) && (dest != EMS_ID_ME)) { + if ((dest != EMS_ID_NONE) && (dest != EMS_Sys_Status.emsbusid)) { return; } @@ -3048,7 +3054,7 @@ void _processType(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t * telegram = EMS_RxTelegram->telegram; // if its an echo of ourselves from the master UBA, ignore. This should never happen mind you - if (EMS_RxTelegram->src == EMS_ID_ME) { + if (EMS_RxTelegram->src == EMS_Sys_Status.emsbusid) { if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_JABBER) _debugPrintTelegram("echo: ", EMS_RxTelegram, COLOR_WHITE); return; @@ -3066,7 +3072,7 @@ void _processType(_EMS_RxTelegram * EMS_RxTelegram) { // at this point we can assume TxStatus was EMS_TX_STATUS_WAIT as we just sent a read or validate telegram // for READ or VALIDATE the dest (telegram[1]) is always us, so check for this // and if not we probably didn't get any response so remove the last Tx from the queue and process the telegram anyway - if ((telegram[1] & 0x7F) != EMS_ID_ME) { + if ((telegram[1] & 0x7F) != EMS_Sys_Status.emsbusid) { _removeTxQueue(); _ems_processTelegram(EMS_RxTelegram); return; @@ -3215,8 +3221,6 @@ void ems_doReadCommand(uint16_t type, uint8_t dest) { * Find the versions of our connected devices */ void ems_scanDevices() { - myDebug_P(PSTR("Started scanning the EMS bus for known devices. This can take up to 10 seconds...")); - std::list Device_Ids; // create a new list Device_Ids.push_back(EMS_ID_BOILER); // UBAMaster/Boilers - 0x08 diff --git a/src/ems.h b/src/ems.h index 5693a6918..a28a15819 100644 --- a/src/ems.h +++ b/src/ems.h @@ -12,6 +12,9 @@ #include #include // std::list +// EMS bus IDs +#define EMS_BUSID_DEFAULT 0x0B // Default 0x0B (Service Key) + // EMS tx_mode types #define EMS_TXMODE_DEFAULT 1 // Default (was previously known as tx_mode 2 in v1.8.x) #define EMS_TXMODE_EMSPLUS 2 // EMS+ @@ -147,6 +150,7 @@ typedef struct { uint8_t emsIDMask; // Buderus: 0x00, Junkers: 0x80 uint8_t emsPollAck[1]; // acknowledge buffer for Poll uint8_t emsTxMode; // Tx mode 1, 2 or 3 + uint8_t emsbusid; // EMS bus ID, default 0x0B for Service Key uint8_t emsMasterThermostat; // product ID for the default thermostat to use char emsDeviceMap[EMS_SYS_DEVICEMAP_LENGTH]; // contents of 0x07 telegram with bitmasks for all active EMS devices } _EMS_Sys_Status; @@ -235,7 +239,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { {EMS_DEVICE_TYPE_UNKNOWN, EMS_MODELTYPE_UNKNOWN_STRING}, // the first, at index 0 is reserved for "unknown" {EMS_DEVICE_TYPE_NONE, "All"}, {EMS_DEVICE_TYPE_SERVICEKEY, "Me"}, - {EMS_DEVICE_TYPE_BOILER, "UBAMaster"}, + {EMS_DEVICE_TYPE_BOILER, "Boiler"}, {EMS_DEVICE_TYPE_THERMOSTAT, "Thermostat"}, {EMS_DEVICE_TYPE_MIXING, "Mixing Module"}, {EMS_DEVICE_TYPE_SOLAR, "Solar Module"}, @@ -243,7 +247,7 @@ const _EMS_Device_Types EMS_Devices_Types[] = { {EMS_DEVICE_TYPE_GATEWAY, "Gateway"}, {EMS_DEVICE_TYPE_SWITCH, "Switching Module"}, {EMS_DEVICE_TYPE_CONTROLLER, "Controller"}, - {EMS_DEVICE_TYPE_CONNECT, "Connect"} + {EMS_DEVICE_TYPE_CONNECT, "Connect Module"} }; @@ -462,6 +466,7 @@ void ems_setWarmWaterModeComfort(uint8_t comfort); void ems_setModels(); void ems_setTxDisabled(bool b); void ems_setTxMode(uint8_t mode); +void ems_setEMSbusid(uint8_t id); void ems_setMasterThermostat(uint8_t product_id); char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, bool name_only = false); bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer); diff --git a/src/ems_devices.h b/src/ems_devices.h index 87748f3f1..c46da34a5 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -12,7 +12,6 @@ #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 /* diff --git a/src/version.h b/src/version.h index 303603e7a..325403ca9 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b34" +#define APP_VERSION "1.9.5b35" diff --git a/tools/wsemulator/wserver.js b/tools/wsemulator/wserver.js index 2f5f461e2..5e606ad21 100644 --- a/tools/wsemulator/wserver.js +++ b/tools/wsemulator/wserver.js @@ -98,7 +98,8 @@ var custom_configfile = { "shower_timer": true, "shower_alert": false, "publish_time": 10, - "tx_mode": 1 + "tx_mode": 1, + "bus_id": 11 } }; From 2656b80f7667210aeed902eb816fc6aef078a2c7 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 18 Feb 2020 16:04:11 +0100 Subject: [PATCH 138/195] rename UBAMaster back to boiler --- src/custom.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/custom.js b/src/custom.js index 0de8b6a48..f5dd6f8ac 100644 --- a/src/custom.js +++ b/src/custom.js @@ -99,7 +99,7 @@ function listCustomStats() { var l = document.createElement("li"); var type = obj[i].type; var color = ""; - if (type === "UBAMaster") { + if (type === "Boiler") { color = "list-group-item-success"; } else if (type === "Thermostat") { color = "list-group-item-info"; From fe63fb3fc5e52326426a7f4b35f9b8ffbef00071 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 18 Feb 2020 16:04:31 +0100 Subject: [PATCH 139/195] safety when converting ints to strings --- src/ems_utils.cpp | 1 + 1 file changed, 1 insertion(+) diff --git a/src/ems_utils.cpp b/src/ems_utils.cpp index 6746f289c..f4d4f4c06 100644 --- a/src/ems_utils.cpp +++ b/src/ems_utils.cpp @@ -149,6 +149,7 @@ void _renderUShortValue(const char * prefix, const char * postfix, uint16_t valu // convert int (single byte) to text value and returns it char * _int_to_char(char * s, uint8_t value, uint8_t div) { + s[0] = '\0'; // reset if (value == EMS_VALUE_INT_NOTSET) { strlcpy(s, "?", sizeof(s)); return (s); From 2fa34c369fa157a8ff962f4f9123953537ab4692 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 18 Feb 2020 16:06:24 +0100 Subject: [PATCH 140/195] external sensor MQTT format - #327 --- CHANGELOG.md | 2 ++ src/MyESP.cpp | 48 +++++++++++++++++++++++------------------------- src/MyESP.h | 7 ++++--- src/my_config.h | 5 ++++- 4 files changed, 33 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f9d9b82fa..3467fd981 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - First implementation of writing to Junker Thermostats (thanks @Neonox31) - Added model type (Buderus, Sieger, Junkers, Nefit, Bosch, Worcester) to device names - `boiler wwonetime` command from Telnet +- `set bus_id ` to support multiple EMS-ESP circuits. Default is 0x0B to mimic a service key. ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 @@ -23,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - improved MQTT publishing to stop flooding. `publish_time` must be at least 1 (second) +- External sensors (like dallas) are sent as a nested MQTT topic including their unqiue identifier ### Removed - `autodetect scan` diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 8f6ace613..6d560abaf 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -410,37 +410,30 @@ void MyESP::mqttUnsubscribe(const char * topic) { // Publish using the user's custom retain flag bool MyESP::mqttPublish(const char * topic, const char * payload) { - // use the custom MQTT retain flag return mqttPublish(topic, payload, _mqtt_retain); } // MQTT Publish // returns true if all good bool MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { - if (mqttClient.connected() && (strlen(topic) > 0)) { -#ifdef MYESP_DEBUG - myDebug_P(PSTR("[MQTT] Sending publish to %s with payload %s"), _mqttTopic(topic), payload); -#endif - uint16_t packet_id = mqttClient.publish(_mqttTopic(topic), _mqtt_qos, retain, payload); - - if (packet_id) { - _addMQTTLog(topic, payload, MYESP_MQTTLOGTYPE_PUBLISH); // add to the log - return true; - } - - // it failed, try again https://github.com/proddy/EMS-ESP/issues/264 - delay(100); // this is blocking and probably not a good idea - packet_id = mqttClient.publish(_mqttTopic(topic), _mqtt_qos, retain, payload); - if (packet_id) { - _addMQTTLog(topic, payload, MYESP_MQTTLOGTYPE_PUBLISH); // add to the log - return true; // ok this time - } - - // it didn't work again, will return false - myDebug_P(PSTR("[MQTT] Error publishing to %s with payload %s [error %d]"), _mqttTopic(topic), payload, packet_id); - _mqtt_publish_fails++; // increment failure counter + if (!mqttClient.connected() || !_hasValue(topic) || !_hasValue(payload)) { + return false; } +#ifdef MYESP_DEBUG + myDebug_P(PSTR("[MQTT] Sending publish to %s with payload %s"), _mqttTopic(topic), payload); +#endif + uint16_t packet_id = mqttClient.publish(_mqttTopic(topic), _mqtt_qos, retain, payload); + + if (packet_id) { + _addMQTTLog(topic, payload, MYESP_MQTTLOGTYPE_PUBLISH); // add to the log + return true; + } + + // it failed, we should try again https://github.com/proddy/EMS-ESP/issues/264 + myDebug_P(PSTR("[MQTT] Error publishing to %s with payload %s [error %d]"), _mqttTopic(topic), payload, packet_id); + _mqtt_publish_fails++; // increment failure counter + return false; // failed } @@ -1065,8 +1058,7 @@ void MyESP::_telnetCommand(char * commandLine) { // save everything if ((strcmp(ptrToCommandName, "save") == 0) && (wc == 1)) { - _fs_writeConfig(); - _fs_createCustomConfig(); + saveSettings(); return; } @@ -1098,6 +1090,12 @@ void MyESP::_telnetCommand(char * commandLine) { } } +// public function so clients can save config +void MyESP::saveSettings() { + _fs_writeConfig(); + _fs_createCustomConfig(); +} + // returns WiFi hostname as a String object String MyESP::_getESPhostname() { String hostname; diff --git a/src/MyESP.h b/src/MyESP.h index 9ed10806d..ce2621d76 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.26" +#define MYESP_VERSION "1.2.27" #include #include @@ -215,9 +215,9 @@ static_assert(sizeof(RtcmemData) <= (RTCMEM_BLOCKS * 4u), "RTCMEM struct is too #define MYESP_HEARTBEAT_INTERVAL 120000 // in milliseconds, how often the MQTT heartbeat is sent (2 mins) typedef struct { - bool set; // is it a set command + bool set; // is it a set command? char key[50]; - char description[100]; + char description[110]; } command_t; typedef enum { MYESP_FSACTION_SET, MYESP_FSACTION_LIST, MYESP_FSACTION_SAVE, MYESP_FSACTION_LOAD } MYESP_FSACTION_t; @@ -302,6 +302,7 @@ class MyESP { // FS void setSettings(fs_loadsave_callback_f loadsave, fs_setlist_callback_f setlist, bool useSerial = true); + void saveSettings(); bool fs_saveConfig(JsonObject root); bool fs_saveCustomConfig(JsonObject root); bool fs_setSettingValue(char ** setting, const char * value, const char * value_default); diff --git a/src/my_config.h b/src/my_config.h index c55414c16..27117b416 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -82,4 +82,7 @@ #define TOPIC_SHOWER_DURATION "duration" // duration of the last shower // MQTT for External Sensors -#define TOPIC_EXTERNAL_SENSORS "sensors" // for sending sensor values to MQTT +#define TOPIC_EXTERNAL_SENSORS "sensors" // topic for sending sensor values to MQTT +#define PAYLOAD_EXTERNAL_SENSOR_NUM "sensor" // which sensor # +#define PAYLOAD_EXTERNAL_SENSOR_ID "id" +#define PAYLOAD_EXTERNAL_SENSOR_TEMP "temp" From 00ffb34ca112f6d3ab2d4780623c377d6d0041e0 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 19 Feb 2020 22:21:48 +0100 Subject: [PATCH 141/195] added mqtt publish failures to heartbeat --- src/MyESP.cpp | 11 ++++++----- src/MyESP.h | 2 +- src/version.h | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 6d560abaf..07578e4e0 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -1486,11 +1486,12 @@ void MyESP::_heartbeatCheck(bool force) { //rootHeartbeat["version"] = _app_version; //rootHeartbeat["IP"] = WiFi.localIP().toString(); - rootHeartbeat["rssid"] = getWifiQuality(); - rootHeartbeat["load"] = getSystemLoadAverage(); - rootHeartbeat["uptime"] = _getUptime(); - rootHeartbeat["freemem"] = mem_available; - //rootHeartbeat["MQTTdisconnects"] = _getSystemDropoutCounter(); + rootHeartbeat["rssid"] = getWifiQuality(); + rootHeartbeat["load"] = getSystemLoadAverage(); + rootHeartbeat["uptime"] = _getUptime(); + rootHeartbeat["freemem"] = mem_available; + rootHeartbeat["tcpdrops"] = _getSystemDropoutCounter(); + rootHeartbeat["mqttpublishfails"] = _mqtt_publish_fails; char data[300] = {0}; serializeJson(doc, data, sizeof(data)); diff --git a/src/MyESP.h b/src/MyESP.h index ce2621d76..02fe74644 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.27" +#define MYESP_VERSION "1.2.28" #include #include diff --git a/src/version.h b/src/version.h index 325403ca9..d938bb64e 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b35" +#define APP_VERSION "1.9.5b36" From 93dff6493a6e7059e72ea9c6bc2459bcaac2d290 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 19 Feb 2020 22:22:12 +0100 Subject: [PATCH 142/195] optimize detection of EMS devices --- src/ems-esp.cpp | 26 ++++++++++---- src/ems.cpp | 93 ++++++++++++++++++------------------------------- src/ems.h | 38 ++++++++++---------- 3 files changed, 71 insertions(+), 86 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index d13cef5fa..19dc9629a 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -19,7 +19,7 @@ // Dallas external temp sensors #include "ds18.h" DS18 ds18; -#define DS18_MQTT_PAYLOAD_MAXSIZE 400 +#define DS18_MQTT_PAYLOAD_MAXSIZE 600 // public libraries #include // https://github.com/bblanchon/ArduinoJson @@ -115,7 +115,7 @@ static const command_t project_cmds[] PROGMEM = { {false, "publish", "publish all values to MQTT"}, {false, "refresh", "fetch values from the EMS devices"}, - {false, "devices [scan [deep]]", "list, ask Master or perform deep scan of EMS devices"}, + {false, "devices [scan] | [scan deep] | [save]", "list detected devices, quick scan or deep scan and save as known devices"}, {false, "queue", "show current Tx queue"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, @@ -581,6 +581,7 @@ void publishSensorValues() { bool hasdata = false; char buffer[128] = {0}; // temp string buffer + // see if the sensor values have changed, if so send it on for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { float sensorValue = ds18.getValue(i); @@ -597,12 +598,26 @@ void publishSensorValues() { } } + /* test code - https://github.com/proddy/EMS-ESP/issues/326 + float sensorValue = 23.43; + hasdata = true; + char sensorID[10]; // sensor{1-n} + for (uint8_t i = 0; i < 10; i++) { + strlcpy(sensorID, PAYLOAD_EXTERNAL_SENSOR_NUM, sizeof(sensorID)); + strlcat(sensorID, _int_to_char(buffer, i + 1), sizeof(sensorID)); + JsonObject dataSensor = sensors.createNestedObject(sensorID); + dataSensor[PAYLOAD_EXTERNAL_SENSOR_ID] = "28D45A79A2190310"; + dataSensor[PAYLOAD_EXTERNAL_SENSOR_TEMP] = sensorValue; + } + */ + if (!hasdata) { return; // nothing to send } char data[DS18_MQTT_PAYLOAD_MAXSIZE] = {0}; serializeJson(doc, data, sizeof(data)); + myDebugLog("Publishing external sensor data via MQTT"); myESP.mqttPublish(TOPIC_EXTERNAL_SENSORS, data); } @@ -1222,7 +1237,7 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, EMSESP_Settings.master_thermostat = pid; ems_setMasterThermostat(pid); // force a scan - ems_clearDeviceList(); + Devices.clear(); // init the device map ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); ok = true; } @@ -1361,7 +1376,7 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { // just scan use UBA 0x07 telegram myDebug_P(PSTR("Requesting EMS bus master for its device list and scanning for external sensors...")); scanDallas(); - ems_clearDeviceList(); + Devices.clear(); // init the device map ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); return; } @@ -1370,7 +1385,7 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { char * third_cmd = _readWord(); if (strcmp(third_cmd, "deep") == 0) { myDebug_P(PSTR("Started deep scan of EMS bus for our known devices. This can take up to 10 seconds...")); - ems_clearDeviceList(); + Devices.clear(); // init the device map ems_scanDevices(); return; } @@ -2204,7 +2219,6 @@ void setup() { startupEMSscan(); } - // enable regular checks to fetch data and publish using Tx (unless listen_mode is enabled) if (!EMSESP_Settings.listen_mode) { regularUpdatesTimer.attach(REGULARUPDATES_TIME, do_regularUpdates); // regular reads from the EMS diff --git a/src/ems.cpp b/src/ems.cpp index 5198a9afd..34232d717 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -78,7 +78,7 @@ bool ems_isHT3() { // init EMS device values, counters and buffers void ems_init() { - ems_clearDeviceList(); // init the device map + Devices.clear(); // init the device map // overall status EMS_Sys_Status.emsRxPgks = 0; @@ -445,6 +445,10 @@ void ems_setTxMode(uint8_t mode) { } void ems_setEMSbusid(uint8_t id) { + if ((id != 0x0B) && (id != 0x0A) && (id != 0x0D) && (id != 0x0F) && (id != 0x12)) { + id = EMS_BUSID_DEFAULT; + } + EMS_Sys_Status.emsbusid = id; EMS_Sys_Status.emsPollAck[0] = id; } @@ -1679,17 +1683,6 @@ void _process_RCTime(_EMS_RxTelegram * EMS_RxTelegram) { strlcpy(EMS_Thermostat.datetime, time_sp, sizeof(time_sp)); // store } -/* - * Clear devices list - */ -void ems_clearDeviceList() { - Devices.clear(); - - for (uint8_t i = 0; i < EMS_SYS_DEVICEMAP_LENGTH; i++) { - EMS_Sys_Status.emsDeviceMap[i] = 0x00; - } -} - /* * add an EMS device to our list of detected devices if its unique * returns true if already in list @@ -1761,35 +1754,41 @@ bool _addDevice(_EMS_DEVICE_TYPE device_type, uint8_t product_id, uint8_t device * type 0x07 - shows us the connected EMS devices * e.g. 08 00 07 00 0B 80 00 00 00 00 00 00 00 00 00 00 00 (CRC=47) #data=13 * Junkers has 15 bytes of data + * each byte is a bitmask for which devices are active + * byte 1 = range 0x08 - 0x0F, byte 2=0x10 - 0x17 etc... */ void _process_UBADevices(_EMS_RxTelegram * EMS_RxTelegram) { - if (EMS_RxTelegram->data_length > EMS_SYS_DEVICEMAP_LENGTH) { - return; // should be 13 or 15 bytes long + // exit it length is incorrect (13 or 15 bytes long) + // or didn't come from the boiler + // or we can't write to the EMS bus yet + if ((EMS_RxTelegram->data_length > EMS_SYS_DEVICEMAP_LENGTH) || (EMS_RxTelegram->src != EMS_ID_BOILER) || (ems_getTxDisabled())) { + return; } + // for each byte, check the bits and determine the device_id for (uint8_t data_byte = 0; data_byte < EMS_RxTelegram->data_length; data_byte++) { - uint8_t byte = EMS_RxTelegram->data[data_byte]; - uint8_t saved_byte = EMS_Sys_Status.emsDeviceMap[data_byte]; - - // see if this matches what we already have stored - if (byte != saved_byte) { - // we have something new - EMS_Sys_Status.emsDeviceMap[data_byte] = byte; // save new value - // go through all bits - // myDebug("Byte #%d 0x%02X", data_byte, byte); // for debugging - if (byte) { - for (uint8_t bit = 0; bit < 8; bit++) { - if ((byte & 0x01) && ((saved_byte & 0x01) == 0)) { - uint8_t device_id = ((data_byte + 1) * 8) + bit; - if (device_id != EMS_Sys_Status.emsbusid) { - myDebug("[EMS] Detected new EMS Device with ID 0x%02X. Fetching version information...", device_id); - if (!ems_getTxDisabled()) { - ems_doReadCommand(EMS_TYPE_Version, device_id); // get version, but ignore ourselves + uint8_t byte = EMS_RxTelegram->data[data_byte]; + if (byte) { + for (uint8_t bit = 0; bit < 8; bit++) { + if (byte & 0x01) { + uint8_t device_id = ((data_byte + 1) * 8) + bit; + // ignore ourselves, we're not an EMS device + if ((device_id != EMS_Sys_Status.emsbusid) && (!Devices.empty())) { + // see if we already have this device in our list + bool exists = false; + for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { + if (it->device_id == device_id) { + exists = true; + break; } } + if (!exists) { + myDebug("[EMS] Detected new EMS Device with ID 0x%02X. Fetching version information...", device_id); + ems_doReadCommand(EMS_TYPE_Version, device_id); // get version, but ignore ourselves + } } - byte = byte >> 1; - saved_byte = saved_byte >> 1; + // advance 1 bit + byte = byte >> 1; } } } @@ -2219,38 +2218,12 @@ char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, boo * print out contents of the device list that was captured */ void ems_printDevices() { - char s[100]; - char buffer[16] = {0}; - - strlcpy(s, "These device IDs are on the EMS Bus:", sizeof(s)); - strlcat(s, COLOR_BOLD_ON, sizeof(s)); - - for (uint8_t data_byte = 0; data_byte < EMS_SYS_DEVICEMAP_LENGTH; data_byte++) { - uint8_t byte = EMS_Sys_Status.emsDeviceMap[data_byte]; - if (byte) { - // go through all bits - for (uint8_t bit = 0; bit < 8; bit++) { - if (byte & 0x01) { - uint8_t device_id = ((data_byte + 1) * 8) + bit; - if (device_id != EMS_Sys_Status.emsbusid) { - strlcat(s, " 0x", sizeof(s)); - strlcat(s, _hextoa(device_id, buffer), sizeof(s)); - } - } - byte = byte >> 1; - } - } - } - - strlcat(s, COLOR_BOLD_OFF, sizeof(s)); - myDebug(s); - // print out the ones we recognized if (!Devices.empty()) { bool have_unknowns = false; char device_string[100]; char device_type[30]; - myDebug_P(PSTR("and %d were recognized by EMS-ESP as:"), Devices.size()); + myDebug_P(PSTR("These %d were recognized by EMS-ESP:"), Devices.size()); for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { ems_getDeviceTypeName(it->device_type, device_type); // get type string, e.g. "Boiler" if (it->known) { diff --git a/src/ems.h b/src/ems.h index a28a15819..006145821 100644 --- a/src/ems.h +++ b/src/ems.h @@ -134,25 +134,24 @@ typedef enum { typedef struct { _EMS_RX_STATUS emsRxStatus; _EMS_TX_STATUS emsTxStatus; - uint16_t emsRxPgks; // # successfull received - uint16_t emsTxPkgs; // # successfull sent - uint16_t emxCrcErr; // CRC errors - bool emsPollEnabled; // flag enable the response to poll messages - _EMS_SYS_LOGGING emsLogging; // logging - uint16_t emsLogging_ID; // the type or device ID to watch - uint8_t emsRefreshedFlags; // fresh data, needs to be pushed out to MQTT - bool emsBusConnected; // is there an active bus - uint32_t emsRxTimestamp; // timestamp of last EMS message received - uint32_t emsPollFrequency; // time between EMS polls - bool emsTxCapable; // able to send via Tx - bool emsTxDisabled; // true to prevent all Tx - uint8_t txRetryCount; // # times the last Tx was re-sent - uint8_t emsIDMask; // Buderus: 0x00, Junkers: 0x80 - uint8_t emsPollAck[1]; // acknowledge buffer for Poll - uint8_t emsTxMode; // Tx mode 1, 2 or 3 - uint8_t emsbusid; // EMS bus ID, default 0x0B for Service Key - uint8_t emsMasterThermostat; // product ID for the default thermostat to use - char emsDeviceMap[EMS_SYS_DEVICEMAP_LENGTH]; // contents of 0x07 telegram with bitmasks for all active EMS devices + uint16_t emsRxPgks; // # successfull received + uint16_t emsTxPkgs; // # successfull sent + uint16_t emxCrcErr; // CRC errors + bool emsPollEnabled; // flag enable the response to poll messages + _EMS_SYS_LOGGING emsLogging; // logging + uint16_t emsLogging_ID; // the type or device ID to watch + uint8_t emsRefreshedFlags; // fresh data, needs to be pushed out to MQTT + bool emsBusConnected; // is there an active bus + uint32_t emsRxTimestamp; // timestamp of last EMS message received + uint32_t emsPollFrequency; // time between EMS polls + bool emsTxCapable; // able to send via Tx + bool emsTxDisabled; // true to prevent all Tx + uint8_t txRetryCount; // # times the last Tx was re-sent + uint8_t emsIDMask; // Buderus: 0x00, Junkers: 0x80 + uint8_t emsPollAck[1]; // acknowledge buffer for Poll + uint8_t emsTxMode; // Tx mode 1, 2 or 3 + uint8_t emsbusid; // EMS bus ID, default 0x0B for Service Key + uint8_t emsMasterThermostat; // product ID for the default thermostat to use } _EMS_Sys_Status; // The Tx send package @@ -450,7 +449,6 @@ void ems_printTxQueue(); void ems_testTelegram(uint8_t test_num); void ems_startupTelegrams(); bool ems_checkEMSBUSAlive(); -void ems_clearDeviceList(); void ems_setThermostatTemp(float temperature, uint8_t hc, uint8_t temptype = 0); void ems_setThermostatMode(uint8_t mode, uint8_t hc); void ems_setWarmWaterTemp(uint8_t temperature); From 4ae18602a2e04657895341a779731440262bca1b Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 20 Feb 2020 00:00:43 +0100 Subject: [PATCH 143/195] show message to restart after setting params --- src/MyESP.cpp | 8 +++++--- src/MyESP.h | 26 ++++++++++++++++--------- src/ems-esp.cpp | 50 ++++++++++++++++++++++++++----------------------- 3 files changed, 49 insertions(+), 35 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 07578e4e0..7ec88b4e0 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -877,9 +877,10 @@ char * MyESP::_telnet_readWord(bool allow_all_chars) { // wc is word count, number of parameters after the 'set' command bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) { bool save_config = false; - bool save_custom_config = false; bool restart = false; + MYESP_FSACTION_t save_custom_config = MYESP_FSACTION_ERR; // default + // check for our internal commands first if (strcmp(setting, "erase") == 0) { _fs_eraseConfig(); @@ -941,13 +942,14 @@ bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) // finally check for any custom commands if (_fs_setlist_callback_f) { save_custom_config = (_fs_setlist_callback_f)(MYESP_FSACTION_SET, wc, setting, value); + restart = (save_custom_config == MYESP_FSACTION_RESTART); } } bool ok = false; // if we were able to recognize the set command, continue - if ((save_config || save_custom_config)) { + if ((save_config || save_custom_config != MYESP_FSACTION_ERR)) { // check for 2 params if (value == nullptr) { myDebug_P(PSTR("%s has been reset to its default value."), setting); @@ -963,7 +965,7 @@ bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) } // and see if we need to also save for custom config - if (save_custom_config) { + if (save_custom_config != MYESP_FSACTION_ERR) { ok = _fs_createCustomConfig(); } diff --git a/src/MyESP.h b/src/MyESP.h index 02fe74644..839ffe572 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -220,7 +220,15 @@ typedef struct { char description[110]; } command_t; -typedef enum { MYESP_FSACTION_SET, MYESP_FSACTION_LIST, MYESP_FSACTION_SAVE, MYESP_FSACTION_LOAD } MYESP_FSACTION_t; +typedef enum { + MYESP_FSACTION_SET, + MYESP_FSACTION_LIST, + MYESP_FSACTION_SAVE, + MYESP_FSACTION_LOAD, + MYESP_FSACTION_ERR, + MYESP_FSACTION_OK, + MYESP_FSACTION_RESTART +} MYESP_FSACTION_t; typedef enum { MYESP_BOOTSTATUS_POWERON = 0, @@ -239,14 +247,14 @@ typedef struct { time_t timestamp; } _MQTT_Log_t; -typedef std::function mqtt_callback_f; -typedef std::function wifi_callback_f; -typedef std::function ota_callback_f; -typedef std::function telnetcommand_callback_f; -typedef std::function telnet_callback_f; -typedef std::function fs_loadsave_callback_f; -typedef std::function fs_setlist_callback_f; -typedef std::function web_callback_f; +typedef std::function mqtt_callback_f; +typedef std::function wifi_callback_f; +typedef std::function ota_callback_f; +typedef std::function telnetcommand_callback_f; +typedef std::function telnet_callback_f; +typedef std::function fs_loadsave_callback_f; +typedef std::function fs_setlist_callback_f; +typedef std::function web_callback_f; // calculates size of an 2d array at compile time template diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 19dc9629a..086382f59 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -1095,18 +1095,18 @@ bool LoadSaveCallback(MYESP_FSACTION_t action, JsonObject settings) { // callback for custom settings when showing Stored Settings with the 'set' command // wc is number of arguments after the 'set' command // returns true if the setting was recognized and changed and should be saved back to SPIFFs -bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, const char * value) { - bool ok = false; +MYESP_FSACTION_t SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, const char * value) { + MYESP_FSACTION_t ok = MYESP_FSACTION_ERR; if (action == MYESP_FSACTION_SET) { // led if ((strcmp(setting, "led") == 0) && (wc == 2)) { if (strcmp(value, "on") == 0) { EMSESP_Settings.led = true; - ok = true; + ok = MYESP_FSACTION_RESTART; } else if (strcmp(value, "off") == 0) { EMSESP_Settings.led = false; - ok = true; + ok = MYESP_FSACTION_RESTART; // let's make sure LED is really off - For onboard high=off digitalWrite(EMSESP_Settings.led_gpio, (EMSESP_Settings.led_gpio == LED_BUILTIN) ? HIGH : LOW); } else { @@ -1118,12 +1118,12 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, if ((strcmp(setting, "listen_mode") == 0) && (wc == 2)) { if (strcmp(value, "on") == 0) { EMSESP_Settings.listen_mode = true; - ok = true; + ok = MYESP_FSACTION_OK; myDebug_P(PSTR("* in listen mode. All Tx is disabled.")); ems_setTxDisabled(true); } else if (strcmp(value, "off") == 0) { EMSESP_Settings.listen_mode = false; - ok = true; + ok = MYESP_FSACTION_OK; ems_setTxDisabled(false); myDebug_P(PSTR("* out of listen mode. Tx is now enabled.")); } else { @@ -1137,23 +1137,23 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, // reset pin pinMode(EMSESP_Settings.led_gpio, OUTPUT); digitalWrite(EMSESP_Settings.led_gpio, (EMSESP_Settings.led_gpio == LED_BUILTIN) ? HIGH : LOW); // light off. For onboard high=off - ok = true; + ok = MYESP_FSACTION_OK; } // dallas_gpio if ((strcmp(setting, "dallas_gpio") == 0) && (wc == 2)) { EMSESP_Settings.dallas_gpio = atoi(value); - ok = true; + ok = MYESP_FSACTION_RESTART; } // dallas_parasite if ((strcmp(setting, "dallas_parasite") == 0) && (wc == 2)) { if (strcmp(value, "on") == 0) { EMSESP_Settings.dallas_parasite = true; - ok = true; + ok = MYESP_FSACTION_RESTART; } else if (strcmp(value, "off") == 0) { EMSESP_Settings.dallas_parasite = false; - ok = true; + ok = MYESP_FSACTION_RESTART; } else { myDebug_P(PSTR("Error. Usage: set dallas_parasite ")); } @@ -1163,10 +1163,10 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, if ((strcmp(setting, "shower_timer") == 0) && (wc == 2)) { if (strcmp(value, "on") == 0) { EMSESP_Settings.shower_timer = true; - ok = do_publishShowerData(); + ok = do_publishShowerData() ? MYESP_FSACTION_OK : MYESP_FSACTION_ERR; } else if (strcmp(value, "off") == 0) { EMSESP_Settings.shower_timer = false; - ok = do_publishShowerData(); + ok = do_publishShowerData() ? MYESP_FSACTION_OK : MYESP_FSACTION_ERR; } else { myDebug_P(PSTR("Error. Usage: set shower_timer ")); } @@ -1176,19 +1176,23 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, if ((strcmp(setting, "shower_alert") == 0) && (wc == 2)) { if (strcmp(value, "on") == 0) { EMSESP_Settings.shower_alert = true; - ok = do_publishShowerData(); + ok = do_publishShowerData() ? MYESP_FSACTION_OK : MYESP_FSACTION_ERR; } else if (strcmp(value, "off") == 0) { EMSESP_Settings.shower_alert = false; - ok = do_publishShowerData(); + ok = do_publishShowerData() ? MYESP_FSACTION_OK : MYESP_FSACTION_ERR; } else { myDebug_P(PSTR("Error. Usage: set shower_alert ")); } } // publish_time - if ((strcmp(setting, "publish_time") == 0) && (wc == 2)) { - EMSESP_Settings.publish_time = atoi(value); - ok = true; + if (strcmp(setting, "publish_time") == 0) { + if (wc == 1) { + EMSESP_Settings.publish_time = 0; + } else { + EMSESP_Settings.publish_time = atoi(value); + } + ok = MYESP_FSACTION_RESTART; } // tx_mode @@ -1197,7 +1201,7 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, if ((mode >= 1) && (mode <= 3)) { // see ems.h for definitions EMSESP_Settings.tx_mode = mode; ems_setTxMode(mode); - ok = true; + ok = MYESP_FSACTION_RESTART; } else { myDebug_P(PSTR("Error. Usage: set tx_mode <1 | 2 | 3>")); } @@ -1209,7 +1213,7 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, if ((id == 0x0B) || (id == 0x0D) || (id == 0x0A) || (id == 0x0F) || (id == 0x12)) { EMSESP_Settings.bus_id = id; ems_setEMSbusid(id); - ok = true; + ok = MYESP_FSACTION_RESTART; } else { myDebug_P(PSTR("Error. Usage: set bus_id , with ID=0B, 0D, 0A, 0F or 12")); } @@ -1231,15 +1235,15 @@ bool SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char * setting, myDebug_P(PSTR("Usage: set master_thermostat ")); ems_setMasterThermostat(0); // default value EMSESP_Settings.master_thermostat = 0; // back to default - ok = true; + ok = MYESP_FSACTION_OK; } else if (wc == 2) { uint8_t pid = atoi(value); EMSESP_Settings.master_thermostat = pid; ems_setMasterThermostat(pid); - // force a scan - Devices.clear(); // init the device map + // force a scan again to detect and set the thermostat + Devices.clear(); ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); - ok = true; + ok = MYESP_FSACTION_OK; } } } From 9dc0de275f2d615a0a74f83eb377719ade414483 Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 20 Feb 2020 00:01:05 +0100 Subject: [PATCH 144/195] fix devices scan - #326 --- src/ems.cpp | 22 +++++++++++----------- src/version.h | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 34232d717..005e20faf 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1759,9 +1759,9 @@ bool _addDevice(_EMS_DEVICE_TYPE device_type, uint8_t product_id, uint8_t device */ void _process_UBADevices(_EMS_RxTelegram * EMS_RxTelegram) { // exit it length is incorrect (13 or 15 bytes long) - // or didn't come from the boiler + // or it wasn't specifically for us // or we can't write to the EMS bus yet - if ((EMS_RxTelegram->data_length > EMS_SYS_DEVICEMAP_LENGTH) || (EMS_RxTelegram->src != EMS_ID_BOILER) || (ems_getTxDisabled())) { + if ((EMS_RxTelegram->data_length > EMS_SYS_DEVICEMAP_LENGTH) || (EMS_RxTelegram->dest != EMS_Sys_Status.emsbusid) || (ems_getTxDisabled())) { return; } @@ -1772,14 +1772,15 @@ void _process_UBADevices(_EMS_RxTelegram * EMS_RxTelegram) { for (uint8_t bit = 0; bit < 8; bit++) { if (byte & 0x01) { uint8_t device_id = ((data_byte + 1) * 8) + bit; + // see if we already have this device in our list // ignore ourselves, we're not an EMS device - if ((device_id != EMS_Sys_Status.emsbusid) && (!Devices.empty())) { - // see if we already have this device in our list + if (device_id != EMS_Sys_Status.emsbusid) { bool exists = false; - for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { - if (it->device_id == device_id) { - exists = true; - break; + if (!Devices.empty()) { + for (std::list<_Detected_Device>::iterator it = Devices.begin(); it != Devices.end(); ++it) { + if (it->device_id == device_id) { + exists = true; + } } } if (!exists) { @@ -1787,9 +1788,8 @@ void _process_UBADevices(_EMS_RxTelegram * EMS_RxTelegram) { ems_doReadCommand(EMS_TYPE_Version, device_id); // get version, but ignore ourselves } } - // advance 1 bit - byte = byte >> 1; } + byte = byte >> 1; // advance 1 bit } } } @@ -2260,7 +2260,7 @@ void ems_printDevices() { myDebug_P(PSTR("One or more devices are not recognized by EMS-ESP. Please report this in GitHub.")); } } else { - myDebug_P(PSTR("No were devices recognized. This may be because Tx is disabled or failing.")); + myDebug_P(PSTR("No devices were recognized. This may be because Tx is disabled or failing.")); } myDebug_P(PSTR("")); // newline diff --git a/src/version.h b/src/version.h index d938bb64e..092997e3f 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b36" +#define APP_VERSION "1.9.5b37" From fd93758da3997d75565a23932a4b79263d58bbff Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 21 Feb 2020 17:50:22 +0100 Subject: [PATCH 145/195] update to 4.2.0 standard --- platformio.ini | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/platformio.ini b/platformio.ini index 623130d6f..c382e59bd 100644 --- a/platformio.ini +++ b/platformio.ini @@ -26,14 +26,16 @@ custom_flags = # -DVTABLES_IN_FLASH # -DNO_GLOBAL_EEPROM # -DBEARSSL_SSL_BASIC +#general_flags = -DNO_GLOBAL_EEPROM -DVTABLES_IN_FLASH -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH general_flags = -DNO_GLOBAL_EEPROM + # From https://github.com/esp8266/Arduino/blob/master/tools/sdk/ld # eagle.flash.4m1m.ld = 1019 KB sketch, 1000 KB SPIFFS. 4KB EEPROM, 4KB RFCAL, 12KB WIFI stack, 2052 KB OTA & buffer # eagle.flash.4m2m.ld = same as above but with 2024 KB SPIFFS # eagle.flash.4m.ld = same as above but with no SPIFFS storage -build_flags_4m1m = -Wl,-Teagle.flash.4m1m.ld -build_flags = ${common.general_flags} ${common.build_flags_4m1m} +board_build.ldscript = eagle.flash.4m.ld +build_flags = ${common.general_flags} -std=c++11 -fno-exceptions [env] framework = arduino From 97aaff07ef34236a3215fa1a2a07b482b334abb8 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 21 Feb 2020 17:51:25 +0100 Subject: [PATCH 146/195] add mqtt queue to help publish failures - #326 #298 --- CHANGELOG.md | 3 +- src/MyESP.cpp | 305 ++++++++++++++++++++---------------- src/MyESP.h | 49 +++--- src/ems-esp.cpp | 25 ++- src/ems.cpp | 8 +- src/version.h | 2 +- src/websrc/myesp.htm | 10 -- src/websrc/myesp.js | 34 ---- tools/wsemulator/wserver.js | 12 +- 9 files changed, 205 insertions(+), 243 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3467fd981..b8d0af1c1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added model type (Buderus, Sieger, Junkers, Nefit, Bosch, Worcester) to device names - `boiler wwonetime` command from Telnet - `set bus_id ` to support multiple EMS-ESP circuits. Default is 0x0B to mimic a service key. +- MQTT publish messages are queued and gracefully published every second to avoid TCP blocks ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 @@ -28,7 +29,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - `autodetect scan` - + - `mqttlog` and showing MQTT log in the web interface - no point showing history of previous mqtt publishes in ESP's precious memory. For debugging recommend using MQTT Explorer or another external tool. ## [1.9.4] 15-12-2019 diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 7ec88b4e0..3e52d6bad 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -23,6 +23,15 @@ union system_rtcmem_t { uint32_t value; }; +struct mqtt_message_t { + uint16_t packetId = 0; + char * topic = nullptr; + char * payload = nullptr; + bool retain = false; + uint8_t retry_count = 0; +}; +std::deque _mqtt_queue; + // nasty global variables that are called from internal ws functions static char * _general_password = nullptr; static bool _shouldRestart = false; @@ -111,14 +120,6 @@ MyESP::MyESP() { // get the build time _buildTime = _getBuildTime(); - - // MQTT log - for (uint8_t i = 0; i < MYESP_MQTTLOG_MAX; i++) { - MQTT_log[i].type = 0; - MQTT_log[i].timestamp = 0; - MQTT_log[i].topic = nullptr; - MQTT_log[i].payload = nullptr; - } } MyESP::~MyESP() { @@ -383,21 +384,17 @@ bool MyESP::mqttSubscribe(const char * topic) { if (mqttClient.connected() && (strlen(topic) > 0)) { char * topic_s = _mqttTopic(topic); - uint16_t packet_id = mqttClient.subscribe(topic_s, _mqtt_qos); #ifdef MYESP_DEBUG myDebug_P(PSTR("[MQTT] Subscribing to %s"), topic_s); #endif - - if (packet_id) { - // add to mqtt log - _addMQTTLog(topic_s, "", MYESP_MQTTLOGTYPE_SUBSCRIBE); // Has an empty payload for now - return true; - } else { + uint16_t packet_id = mqttClient.subscribe(topic_s, _mqtt_qos); + if (!packet_id) { myDebug_P(PSTR("[MQTT] Error subscribing to %s, error %d"), _mqttTopic(topic), packet_id); + return false; } } - return false; // didn't work + return true; } // MQTT unsubscribe @@ -408,33 +405,152 @@ void MyESP::mqttUnsubscribe(const char * topic) { } } +// print MQTT log +void MyESP::_printMQTTLog() { + myDebug_P(PSTR("MQTT publish queue:")); + + if (_mqtt_queue.empty()) { + myDebug_P(PSTR(" queue is empty!")); + myDebug_P(PSTR("")); // newline + return; + } + + for (mqtt_message_t it : _mqtt_queue) { + if (it.retry_count == 0) { + if (it.packetId == 0) { + myDebug_P(PSTR(" topic=%s payload=%s"), it.topic, it.payload); + } else { + myDebug_P(PSTR(" topic=%s payload=%s (pid %d)"), it.topic, it.payload, it.packetId); + } + } else { + myDebug_P(PSTR(" topic=%s payload=%s (pid %d, retry #%d)"), it.topic, it.payload, it.packetId, it.retry_count); + } + } + + myDebug_P(PSTR("")); // newline +} + // Publish using the user's custom retain flag -bool MyESP::mqttPublish(const char * topic, const char * payload) { - return mqttPublish(topic, payload, _mqtt_retain); +void MyESP::mqttPublish(const char * topic, const char * payload) { + mqttPublish(topic, payload, _mqtt_retain); } // MQTT Publish -// returns true if all good -bool MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { - if (!mqttClient.connected() || !_hasValue(topic) || !_hasValue(payload)) { +void MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { + if (!_hasValue(topic)) { + return; + } + + _mqttQueue(topic, payload, retain); // queue the message +} + +bool MyESP::_mqttQueue(const char * topic, const char * payload, bool retain) { + // Queue is not meant to send message "offline" + // We must prevent the queue does not get full while offline + if (!mqttClient.connected() || (_mqtt_queue.size() >= MQTT_QUEUE_MAX_SIZE)) { return false; } + // create a new message + mqtt_message_t element; + element.topic = strdup(topic); + element.retain = retain; + element.packetId = 0; + element.retry_count = 0; + if (NULL != payload) { + element.payload = strdup(payload); + } #ifdef MYESP_DEBUG - myDebug_P(PSTR("[MQTT] Sending publish to %s with payload %s"), _mqttTopic(topic), payload); + myDebug_P(PSTR("[MQTT] Adding to queue: #%d [%s] %s"), _mqtt_queue.size(), element.topic, element.payload); #endif - uint16_t packet_id = mqttClient.publish(_mqttTopic(topic), _mqtt_qos, retain, payload); + _mqtt_queue.push_back(element); - if (packet_id) { - _addMQTTLog(topic, payload, MYESP_MQTTLOGTYPE_PUBLISH); // add to the log - return true; + return true; +} + +// called when an MQTT Publish ACK is received +// check if ACK matches the last Publish we sent, if not report an error +// and always remove from queue +void MyESP::_mqttOnPublish(uint16_t packetId) { +#ifdef MYESP_DEBUG + myDebug_P(PSTR("[MQTT] Publish ACK for PID %d"), packetId); +#endif + + // find the MQTT message in the queue and remove it + if ((_mqtt_queue.empty()) || (_mqtt_qos == 0)) { + return; } - // it failed, we should try again https://github.com/proddy/EMS-ESP/issues/264 - myDebug_P(PSTR("[MQTT] Error publishing to %s with payload %s [error %d]"), _mqttTopic(topic), payload, packet_id); - _mqtt_publish_fails++; // increment failure counter + mqtt_message_t element = _mqtt_queue.front(); // get top of list - return false; // failed + // if the last published failed, don't bother checking it. wait for the re-try + if (element.packetId == 0) { + return; + } + + if (element.packetId == packetId) { +#ifdef MYESP_DEBUG + myDebug_P(PSTR("[MQTT] Found PID %d. Removing from queue."), packetId); +#endif + } else { +#ifdef MYESP_DEBUG + myDebug_P(PSTR("[MQTT] Mismatch, expecting PID %d, got %d."), element.packetId, packetId); + _mqtt_publish_fails++; // increment error count +#endif + } + + _mqttRemoveLastPublish(); // always remove +} + +// removes top of queue +void MyESP::_mqttRemoveLastPublish() { + mqtt_message_t element = _mqtt_queue.front(); // get top of list + free(element.topic); + if (element.payload) { + free(element.payload); + } + _mqtt_queue.pop_front(); +} + +// take top from queue and try and publish it +void MyESP::_mqttPublishQueue() { + if ((!mqttClient.connected()) || (_mqtt_queue.empty())) { + return; + } + + mqtt_message_t element = _mqtt_queue.front(); // fetch from queue + + // try and publish it + uint16_t packet_id = mqttClient.publish(_mqttTopic(element.topic), _mqtt_qos, element.retain, element.payload); +#ifdef MYESP_DEBUG + myDebug_P(PSTR("[MQTT] Sent publish (attempt #%d, pid %d) [%s] [%s]"), element.retry_count, packet_id, _mqttTopic(element.topic), element.payload); +#endif + + if (packet_id == 0) { + // it failed + // if we retried 3 times, give up. remove from queue + if (element.retry_count == 2) { + myDebug_P(PSTR("[MQTT] Failed to publish to %s with payload %s"), _mqttTopic(element.topic), element.payload); + _mqtt_publish_fails++; // increment failure counter + _mqttRemoveLastPublish(); + } else { + _mqtt_queue[0].retry_count++; + } + return; + } + + // if we have ACK set with QOS 1 or 2, leave on queue and let the ACK process remove it + // but add the packet_id so we can check it later + if (_mqtt_qos != 0) { + _mqtt_queue[0].packetId = packet_id; +#ifdef MYESP_DEBUG + myDebug_P(PSTR("[MQTT] Setting packetID %d"), packet_id); +#endif + return; + } + + // delete it from queue + _mqttRemoveLastPublish(); } // MQTT onConnect - when a connect is established @@ -456,7 +572,7 @@ void MyESP::_mqttOnConnect() { mqttPublish(MQTT_TOPIC_START, MQTT_TOPIC_START_PAYLOAD, false); // send heartbeat if enabled - _heartbeatCheck(true); + heartbeatCheck(true); // call custom function to handle mqtt receives (_mqtt_callback_f)(MQTT_CONNECT_EVENT, nullptr, nullptr); @@ -493,7 +609,8 @@ void MyESP::_mqtt_setup() { }); //mqttClient.onSubscribe([this](uint16_t packetId, uint8_t qos) { myDebug_P(PSTR("[MQTT] Subscribe ACK for PID %d"), packetId); }); - //mqttClient.onPublish([this](uint16_t packetId) { myDebug_P(PSTR("[MQTT] Publish ACK for PID %d"), packetId); }); + + mqttClient.onPublish([this](uint16_t packetId) { _mqttOnPublish(packetId); }); mqttClient.onMessage([this](char * topic, char * payload, AsyncMqttClientMessageProperties properties, size_t len, size_t index, size_t total) { _mqttOnMessage(topic, payload, len); @@ -719,7 +836,7 @@ void MyESP::_consoleShowHelp() { myDebug_P(PSTR("*")); myDebug_P(PSTR("* Commands:")); myDebug_P(PSTR("* ?/help=show commands, CTRL-D/quit=end telnet session")); - myDebug_P(PSTR("* set, system, restart, mqttlog [all], kick, save")); + myDebug_P(PSTR("* set, system, restart, mqttlog, kick, save")); #ifdef CRASH myDebug_P(PSTR("* crash ")); @@ -876,8 +993,8 @@ char * MyESP::_telnet_readWord(bool allow_all_chars) { // messy code but effective since we don't have too many settings // wc is word count, number of parameters after the 'set' command bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) { - bool save_config = false; - bool restart = false; + bool save_config = false; + bool restart = false; MYESP_FSACTION_t save_custom_config = MYESP_FSACTION_ERR; // default @@ -942,7 +1059,7 @@ bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) // finally check for any custom commands if (_fs_setlist_callback_f) { save_custom_config = (_fs_setlist_callback_f)(MYESP_FSACTION_SET, wc, setting, value); - restart = (save_custom_config == MYESP_FSACTION_RESTART); + restart = (save_custom_config == MYESP_FSACTION_RESTART); } } @@ -1048,7 +1165,7 @@ void MyESP::_telnetCommand(char * commandLine) { // print mqtt log command if (strcmp(ptrToCommandName, "mqttlog") == 0) { - _printMQTTLog(wc != 1); + _printMQTTLog(); return; } @@ -1461,14 +1578,14 @@ void MyESP::showSystemStats() { /* * Send heartbeat via MQTT with all system data */ -void MyESP::_heartbeatCheck(bool force) { +void MyESP::heartbeatCheck(bool force) { static uint32_t last_heartbeat = 0; if ((millis() - last_heartbeat > MYESP_HEARTBEAT_INTERVAL) || force) { last_heartbeat = millis(); #ifdef MYESP_DEBUG - _printHeap("[HEARTBEAT] "); + _printHeap("[HEARTBEAT]"); #endif if (!isMQTTConnected() || !(_mqtt_heartbeat)) { return; @@ -2498,30 +2615,6 @@ void MyESP::_sendStatus() { sprintf(uptime, "%d day%s %d hour%s %d minute%s %d second%s", d, (d == 1) ? "" : "s", h, (h == 1) ? "" : "s", m, (m == 1) ? "" : "s", sec, (sec == 1) ? "" : "s"); root["uptime"] = uptime; - char topic_s[MQTT_MAX_TOPIC_SIZE] = {0}; - if (_hasValue(_mqtt_base)) { - strlcpy(topic_s, _mqtt_base, sizeof(topic_s)); - strlcat(topic_s, "/", sizeof(topic_s)); - strlcat(topic_s, _general_hostname, sizeof(topic_s)); - } else { - strlcpy(topic_s, _general_hostname, sizeof(topic_s)); - } - strlcat(topic_s, "/", sizeof(topic_s)); - root["mqttloghdr"] = topic_s; - - // create MQTT log - JsonArray list = root.createNestedArray("mqttlog"); - - // only send Publish - for (uint8_t i = 0; i < MYESP_MQTTLOG_MAX; i++) { - if ((MQTT_log[i].type == 1) && (MQTT_log[i].topic != nullptr)) { - JsonObject item = list.createNestedObject(); - item["topic"] = MQTT_log[i].topic; - item["payload"] = MQTT_log[i].payload; - item["time"] = MQTT_log[i].timestamp; - } - } - char buffer[MQTT_MAX_PAYLOAD_SIZE_LARGE]; size_t len = serializeJson(root, buffer); @@ -2688,80 +2781,6 @@ void MyESP::_printHeap(const char * prefix) { 100 * free_memory / total_memory); } -// print MQTT log - everything that was published last per topic -void MyESP::_printMQTTLog(bool show_sub = false) { - myDebug_P(PSTR("MQTT publish log:")); - uint8_t i; - - for (i = 0; i < MYESP_MQTTLOG_MAX; i++) { - if ((MQTT_log[i].topic != nullptr) && (MQTT_log[i].type == MYESP_MQTTLOGTYPE_PUBLISH)) { - myDebug_P(PSTR(" (%02d:%02d:%02d) Topic: %s Payload: %s"), - to_hour(MQTT_log[i].timestamp), - to_minute(MQTT_log[i].timestamp), - to_second(MQTT_log[i].timestamp), - MQTT_log[i].topic, - MQTT_log[i].payload); - } - } - - // show subscriptions - if (show_sub) { - myDebug_P(PSTR("")); // newline - myDebug_P(PSTR("MQTT subscriptions:")); - - for (i = 0; i < MYESP_MQTTLOG_MAX; i++) { - if ((MQTT_log[i].topic != nullptr) && (MQTT_log[i].type == MYESP_MQTTLOGTYPE_SUBSCRIBE)) { - myDebug_P(PSTR(" Topic: %s"), MQTT_log[i].topic); - } - } - } - - myDebug_P(PSTR("")); // newline -} - -// add an MQTT log entry to our buffer -void MyESP::_addMQTTLog(const char * topic, const char * payload, const MYESP_MQTTLOGTYPE_t type) { - static uint8_t logCount = 0; - uint8_t logPointer = 0; - bool found = false; - -#ifdef MYESP_DEBUG - myDebug("_addMQTTLog [#%d] %s (%d) [%s] (%d)", logCount, topic, strlen(topic), payload, strlen(payload)); -#endif - - // find the topic - // topics must be unique for either publish or subscribe - while ((logPointer < MYESP_MQTTLOG_MAX) && (_hasValue(MQTT_log[logPointer].topic))) { - if ((strcmp(MQTT_log[logPointer].topic, topic) == 0) && (MQTT_log[logPointer].type == type)) { - found = true; - break; - } - logPointer++; - } - - // if not found add it and increment next free space pointer - if (!found) { - logPointer = logCount; - if (++logCount == MYESP_MQTTLOG_MAX) { - logCount = 0; // rotate - } - } - - // delete old record - if (MQTT_log[logPointer].topic) { - free(MQTT_log[logPointer].topic); - } - if (MQTT_log[logPointer].payload) { - free(MQTT_log[logPointer].payload); - } - - // and add new record - MQTT_log[logPointer].type = type; - MQTT_log[logPointer].topic = strdup(topic); - MQTT_log[logPointer].payload = strdup(payload); - MQTT_log[logPointer].timestamp = now(); -} - // send UTC time via ws void MyESP::_sendTime() { StaticJsonDocument doc; @@ -2898,7 +2917,7 @@ void MyESP::begin(const char * app_hostname, const char * app_name, const char * void MyESP::loop() { _calculateLoad(); _systemCheckLoop(); - _heartbeatCheck(); + heartbeatCheck(); _bootupSequence(); // see if a reset was pressed during bootup jw.loop(); // WiFi @@ -2911,6 +2930,14 @@ void MyESP::loop() { _mqttConnect(); // MQTT + // every second check MQTT queue for publishing + static unsigned long lastMqttPoll = 0; + unsigned long currentMillis = millis(); + if ((unsigned long)(currentMillis - lastMqttPoll) >= MQTT_PUBLISH_WAIT) { + _mqttPublishQueue(); + lastMqttPoll = currentMillis; + } + // SysLog uuid::loop(); syslog.loop(); @@ -2939,4 +2966,6 @@ void MyESP::loop() { delay(MYESP_DELAY); // some time to WiFi and everything else to catch up, calls yield, and also prevent overheating } + + MyESP myESP; diff --git a/src/MyESP.h b/src/MyESP.h index 839ffe572..6a6ec485f 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.28" +#define MYESP_VERSION "1.2.29" #include #include @@ -17,6 +17,7 @@ #include #include #include +#include // for MQTT publish queue // SysLog #include @@ -97,6 +98,8 @@ extern struct rst_info resetInfo; #define MQTT_MAX_TOPIC_SIZE 50 // max length of MQTT topic #define MQTT_MAX_PAYLOAD_SIZE 700 // max size of a JSON object. See https://arduinojson.org/v6/assistant/ #define MQTT_MAX_PAYLOAD_SIZE_LARGE 2000 // max size of a large JSON object, like for sending MQTT log +#define MQTT_QUEUE_MAX_SIZE 20 // Size of the MQTT queue +#define MQTT_PUBLISH_WAIT 1000 // every 2 seconds check MQTT queue // Internal MQTT events #define MQTT_CONNECT_EVENT 0 @@ -107,8 +110,6 @@ extern struct rst_info resetInfo; #define MYESP_JSON_MAXSIZE_MEDIUM 800 // for medium Dynamic json files #define MYESP_JSON_MAXSIZE_SMALL 200 // for smaller Static json documents -#define MYESP_MQTTLOG_MAX 60 // max number of log entries for MQTT publishes and subscribes - #define MYESP_MQTT_PAYLOAD_ON '1' // for MQTT switch on #define MYESP_MQTT_PAYLOAD_OFF '0' // for MQTT switch off @@ -237,16 +238,6 @@ typedef enum { MYESP_BOOTSTATUS_RESETNEEDED = 3 } MYESP_BOOTSTATUS_t; // boot messages -typedef enum { MYESP_MQTTLOGTYPE_NONE, MYESP_MQTTLOGTYPE_PUBLISH, MYESP_MQTTLOGTYPE_SUBSCRIBE } MYESP_MQTTLOGTYPE_t; - -// for storing all MQTT publish messages -typedef struct { - uint8_t type; // 0=none, 1=publish, 2=subscribe - char * topic; - char * payload; - time_t timestamp; -} _MQTT_Log_t; - typedef std::function mqtt_callback_f; typedef std::function wifi_callback_f; typedef std::function ota_callback_f; @@ -291,8 +282,8 @@ class MyESP { bool isMQTTConnected(); bool mqttSubscribe(const char * topic); void mqttUnsubscribe(const char * topic); - bool mqttPublish(const char * topic, const char * payload); - bool mqttPublish(const char * topic, const char * payload, bool retain); + void mqttPublish(const char * topic, const char * payload); + void mqttPublish(const char * topic, const char * payload, bool retain); void setMQTT(mqtt_callback_f callback); // OTA @@ -341,22 +332,21 @@ class MyESP { bool _have_ntp_time; unsigned long getSystemTime(); void heartbeatPrint(); + void heartbeatCheck(bool force = false); private: // mqtt - void _mqttOnMessage(char * topic, char * payload, size_t len); - void _mqttConnect(); - void _mqtt_setup(); - void _mqttOnConnect(); - void _sendStart(); - char * _mqttTopic(const char * topic); - - // mqtt log - _MQTT_Log_t MQTT_log[MYESP_MQTTLOG_MAX]; // log for publish and subscribe messages - - void _printMQTTLog(bool show_sub); - void _addMQTTLog(const char * topic, const char * payload, const MYESP_MQTTLOGTYPE_t type); - + void _mqttOnMessage(char * topic, char * payload, size_t len); + void _mqttOnPublish(uint16_t packetId); + void _mqttConnect(); + void _mqtt_setup(); + void _mqttOnConnect(); + void _sendStart(); + char * _mqttTopic(const char * topic); + bool _mqttQueue(const char * topic, const char * payload, bool retain); + void _printMQTTLog(); + void _mqttPublishQueue(); + void _mqttRemoveLastPublish(); AsyncMqttClient mqttClient; // the MQTT class uint32_t _mqtt_reconnect_delay; mqtt_callback_f _mqtt_callback_f; @@ -489,9 +479,6 @@ class MyESP { uint32_t _getInitialFreeHeap(); uint32_t _getUsedHeap(); - // heartbeat - void _heartbeatCheck(bool force = false); - // web web_callback_f _web_callback_f; const char * _http_username; diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 086382f59..103ad57c4 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -930,7 +930,7 @@ void publishEMSValues(bool force) { } // Publish shower data -bool do_publishShowerData() { +void do_publishShowerData() { StaticJsonDocument<200> doc; JsonObject rootShower = doc.to(); rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0"; @@ -953,24 +953,20 @@ bool do_publishShowerData() { myDebugLog("Publishing shower data via MQTT"); // Publish MQTT forcing retain to be off - return (myESP.mqttPublish(TOPIC_SHOWER_DATA, data, false)); + myESP.mqttPublish(TOPIC_SHOWER_DATA, data, false); } // call PublishValues with forcing forcing void do_publishValues() { if (EMSESP_Settings.publish_time == -1) { - myDebugLog("publish_time is set to -1. Publishing disabled."); - return; - } - - // automatic mode - if (EMSESP_Settings.publish_time == 0) { + myDebugLog("Publishing is disabled."); return; } myDebugLog("Starting scheduled MQTT publish..."); publishEMSValues(false); publishSensorValues(); + myESP.heartbeatCheck(true); } // callback to light up the LED, called via Ticker every second @@ -1162,11 +1158,13 @@ MYESP_FSACTION_t SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char // shower timer if ((strcmp(setting, "shower_timer") == 0) && (wc == 2)) { if (strcmp(value, "on") == 0) { + do_publishShowerData(); EMSESP_Settings.shower_timer = true; - ok = do_publishShowerData() ? MYESP_FSACTION_OK : MYESP_FSACTION_ERR; + ok = MYESP_FSACTION_OK; } else if (strcmp(value, "off") == 0) { + do_publishShowerData(); EMSESP_Settings.shower_timer = false; - ok = do_publishShowerData() ? MYESP_FSACTION_OK : MYESP_FSACTION_ERR; + ok = MYESP_FSACTION_OK; } else { myDebug_P(PSTR("Error. Usage: set shower_timer ")); } @@ -1175,11 +1173,13 @@ MYESP_FSACTION_t SetListCallback(MYESP_FSACTION_t action, uint8_t wc, const char // shower alert if ((strcmp(setting, "shower_alert") == 0) && (wc == 2)) { if (strcmp(value, "on") == 0) { + do_publishShowerData(); EMSESP_Settings.shower_alert = true; - ok = do_publishShowerData() ? MYESP_FSACTION_OK : MYESP_FSACTION_ERR; + ok = MYESP_FSACTION_OK; } else if (strcmp(value, "off") == 0) { + do_publishShowerData(); EMSESP_Settings.shower_alert = false; - ok = do_publishShowerData() ? MYESP_FSACTION_OK : MYESP_FSACTION_ERR; + ok = MYESP_FSACTION_OK; } else { myDebug_P(PSTR("Error. Usage: set shower_alert ")); } @@ -1368,7 +1368,6 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { if (strcmp(first_cmd, "devices") == 0) { if (wc == 1) { - // print ems_printDevices(); return; } diff --git a/src/ems.cpp b/src/ems.cpp index 005e20faf..5ccaa9e6a 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1628,7 +1628,7 @@ void _process_ISM1Set(_EMS_RxTelegram * EMS_RxTelegram) { // only trigger if at offset 6 _setValue(EMS_RxTelegram, &EMS_SolarModule.setpoint_maxBottomTemp, 6); - // TODO: we may need to convert this to a single byte like + // Note: we may need to convert this to a single byte like // EMS_SolarModule.setpoint_maxBottomTemp = EMS_RxTelegram->data[0]; } @@ -1932,7 +1932,7 @@ void ems_discoverModels() { } /** - * Print the Tx queue - for debugging + * Print the Tx queue */ void ems_printTxQueue() { _EMS_TxTelegram EMS_TxTelegram; @@ -2254,10 +2254,10 @@ void ems_printDevices() { it->version); } } - myDebug_P(PSTR("")); // newline if (have_unknowns) { - myDebug_P(PSTR("One or more devices are not recognized by EMS-ESP. Please report this in GitHub.")); + myDebug_P(PSTR("")); // newline + myDebug_P(PSTR("One or more devices are not recognized by EMS-ESP. Please report this back in GitHub.")); } } else { myDebug_P(PSTR("No devices were recognized. This may be because Tx is disabled or failing.")); diff --git a/src/version.h b/src/version.h index 092997e3f..79d69bf19 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b37" +#define APP_VERSION "1.9.5b38" diff --git a/src/websrc/myesp.htm b/src/websrc/myesp.htm index 6984d5c47..dd368199f 100644 --- a/src/websrc/myesp.htm +++ b/src/websrc/myesp.htm @@ -508,16 +508,6 @@ - - - - - - - -
MQTT  
 
TimeTopicPayload
diff --git a/src/websrc/myesp.js b/src/websrc/myesp.js index 04a07161a..f3daa8b54 100644 --- a/src/websrc/myesp.js +++ b/src/websrc/myesp.js @@ -391,40 +391,6 @@ function listStats() { document.getElementById("mqttheartbeat").className = "label label-primary"; } - document.getElementById("mqttloghdr").setAttribute('data-content', "Topics are prefixed with " + ajaxobj.mqttloghdr); - - var mtable = document.getElementById("mqttlog"); - var obj = ajaxobj.mqttlog; - var tr, td; - - for (var i = 0; i < obj.length; i++) { - tr = document.createElement("tr"); - - td = document.createElement("td"); - - if (obj[i].time < 1563300000) { - td.innerHTML = "(" + obj[i].time + ")"; - } else { - var vuepoch = new Date(obj[i].time * 1000); - td.innerHTML = vuepoch.getUTCFullYear() + - "-" + twoDigits(vuepoch.getUTCMonth() + 1) + - "-" + twoDigits(vuepoch.getUTCDate()) + - " " + twoDigits(vuepoch.getUTCHours()) + - ":" + twoDigits(vuepoch.getUTCMinutes()) + - ":" + twoDigits(vuepoch.getUTCSeconds()); - } - tr.appendChild(td); - - td = document.createElement("td"); - td.innerHTML = obj[i].topic - tr.appendChild(td); - - td = document.createElement("td"); - td.innerHTML = obj[i].payload - tr.appendChild(td); - - mtable.appendChild(tr); - } } function getContent(contentname) { diff --git a/tools/wsemulator/wserver.js b/tools/wsemulator/wserver.js index 5e606ad21..7b4e129eb 100644 --- a/tools/wsemulator/wserver.js +++ b/tools/wsemulator/wserver.js @@ -119,17 +119,7 @@ function sendStatus() { "systemload": 0, "mqttconnected": true, "mqttheartbeat": false, - "uptime": "0 days 0 hours 1 minute 45 seconds", - "mqttloghdr": "home/ems-esp/", - "mqttlog": [ - { "topic": "start", "payload": "start", "time": 1565956388 }, - { "topic": "shower_timer", "payload": "1", "time": 1565956388 }, - { "topic": "shower_alert", "payload": "0", "time": 1565956388 }, - { "topic": "boiler_data", "payload": "{\"wWComfort\":\"Hot\",\"wWSelTemp\":60,\"selFlowTemp\":5,\"selBurnPow\":0,\"curBurnPow\":0,\"pumpMod\":0,\"wWCurTmp\":48.4,\"wWCurFlow\":0,\"curFlowTemp\":49.3,\"retTemp\":49.3,\"sysPress\":1.8,\"boilTemp\":50.5,\"wWActivated\":\"on\",\"burnGas\":\"off\",\"heatPmp\":\"off\",\"fanWork\":\"off\",\"ignWork\":\"off\",\"wWCirc\":\"off\",\"wWHeat\":\"on\",\"burnStarts\":223397,\"burnWorkMin\":366019,\"heatWorkMin\":294036,\"ServiceCode\":\"0H\",\"ServiceCodeNumber\":203}", "time": 1565956463 }, - { "topic": "tapwater_active", "payload": "0", "time": 1565956408 }, - { "topic": "heating_active", "payload": "0", "time": 1565956408 }, - { "topic": "thermostat_data", "payload": "{\"thermostat_hc\":\"1\",\"thermostat_seltemp\":15,\"thermostat_currtemp\":23,\"thermostat_mode\":\"auto\"}", "time": 1565956444 } - ] + "uptime": "0 days 0 hours 1 minute 45 seconds" }; wss.broadcast(stats); From 9eda49b46a188e60b98e7bc56e76d72df5330793 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 22 Feb 2020 11:37:55 +0100 Subject: [PATCH 147/195] added mqtt_nestedjson --- CHANGELOG.md | 3 +- src/MyESP.cpp | 61 +++-- src/MyESP.h | 65 +++-- src/ems-esp.cpp | 697 +++++++++++++++++++++++++----------------------- src/version.h | 2 +- 5 files changed, 434 insertions(+), 394 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8d0af1c1..56df86ab9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `boiler wwonetime` command from Telnet - `set bus_id ` to support multiple EMS-ESP circuits. Default is 0x0B to mimic a service key. - MQTT publish messages are queued and gracefully published every second to avoid TCP blocks +- Added `mqtt_nestedjson` option to disable multiple data records being nested into a single JSON string ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 @@ -29,7 +30,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Removed - `autodetect scan` - - `mqttlog` and showing MQTT log in the web interface - no point showing history of previous mqtt publishes in ESP's precious memory. For debugging recommend using MQTT Explorer or another external tool. + - `mqttlog all` and showing MQTT log in the web interface - no point showing history of previous mqtt publishes in ESP's precious memory. For debugging I recommend using MQTT Explorer or another external tool. ## [1.9.4] 15-12-2019 diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 3e52d6bad..8712ade7f 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -83,6 +83,7 @@ MyESP::MyESP() { _mqtt_heartbeat = false; _mqtt_keepalive = MQTT_KEEPALIVE; _mqtt_qos = MQTT_QOS; + _mqtt_nestedjson = false; _mqtt_retain = MQTT_RETAIN; _mqtt_will_topic = strdup(MQTT_WILL_TOPIC); _mqtt_will_online_payload = strdup(MQTT_WILL_ONLINE_PAYLOAD); @@ -527,9 +528,8 @@ void MyESP::_mqttPublishQueue() { #endif if (packet_id == 0) { - // it failed - // if we retried 3 times, give up. remove from queue - if (element.retry_count == 2) { + // it failed. if we retried n times, give up. remove from queue + if (element.retry_count == (MQTT_PUBLISH_MAX_RETRY - 1)) { myDebug_P(PSTR("[MQTT] Failed to publish to %s with payload %s"), _mqttTopic(element.topic), element.payload); _mqtt_publish_fails++; // increment failure counter _mqttRemoveLastPublish(); @@ -879,6 +879,7 @@ void MyESP::_printSetCommands() { myDebug_P(PSTR(" set mqtt_qos [0-3]")); myDebug_P(PSTR(" set mqtt_keepalive [seconds]")); myDebug_P(PSTR(" set mqtt_retain [on | off]")); + myDebug_P(PSTR(" set mqtt_nestedjson [on | off]")); myDebug_P(PSTR(" set ntp_enabled ")); myDebug_P(PSTR(" set ntp_interval [minutes]")); myDebug_P(PSTR(" set ntp_timezone [n]")); @@ -941,6 +942,7 @@ void MyESP::_printSetCommands() { myDebug_P(PSTR(" mqtt_retain=%s"), (_mqtt_retain) ? "on" : "off"); myDebug_P(PSTR(" mqtt_qos=%d"), _mqtt_qos); myDebug_P(PSTR(" mqtt_heartbeat=%s"), (_mqtt_heartbeat) ? "on" : "off"); + myDebug_P(PSTR(" mqtt_nestedjson=%s"), (_mqtt_nestedjson) ? "on" : "off"); #ifdef FORCE_SERIAL myDebug_P(PSTR(" serial=%s (this is always when compiled with -DFORCE_SERIAL)"), (_general_serial) ? "on" : "off"); @@ -1045,6 +1047,8 @@ bool MyESP::_changeSetting(uint8_t wc, const char * setting, const char * value) restart = save_config; } else if (strcmp(setting, "mqtt_heartbeat") == 0) { save_config = fs_setSettingValue(&_mqtt_heartbeat, value, false); + } else if (strcmp(setting, "mqtt_nestedjson") == 0) { + save_config = fs_setSettingValue(&_mqtt_nestedjson, value, false); } else if (strcmp(setting, "ntp_enabled") == 0) { save_config = fs_setSettingValue(&_ntp_enabled, value, false); } else if (strcmp(setting, "ntp_interval") == 0) { @@ -1867,17 +1871,18 @@ bool MyESP::_fs_loadConfig() { _general_serial = general["serial"]; #endif - JsonObject mqtt = doc["mqtt"]; - _mqtt_enabled = mqtt["enabled"]; - _mqtt_heartbeat = mqtt["heartbeat"]; - _mqtt_ip = strdup(mqtt["ip"] | ""); - _mqtt_user = strdup(mqtt["user"] | ""); - _mqtt_port = mqtt["port"] | MQTT_PORT; - _mqtt_keepalive = mqtt["keepalive"] | MQTT_KEEPALIVE; - _mqtt_retain = mqtt["retain"]; - _mqtt_qos = mqtt["qos"] | MQTT_QOS; - _mqtt_password = strdup(mqtt["password"] | ""); - _mqtt_base = strdup(mqtt["base"] | MQTT_BASE_DEFAULT); + JsonObject mqtt = doc["mqtt"]; + _mqtt_enabled = mqtt["enabled"]; + _mqtt_heartbeat = mqtt["heartbeat"]; + _mqtt_ip = strdup(mqtt["ip"] | ""); + _mqtt_user = strdup(mqtt["user"] | ""); + _mqtt_port = mqtt["port"] | MQTT_PORT; + _mqtt_keepalive = mqtt["keepalive"] | MQTT_KEEPALIVE; + _mqtt_retain = mqtt["retain"]; + _mqtt_qos = mqtt["qos"] | MQTT_QOS; + _mqtt_nestedjson = mqtt["nestedjson"] | true; // default to on + _mqtt_password = strdup(mqtt["password"] | ""); + _mqtt_base = strdup(mqtt["base"] | MQTT_BASE_DEFAULT); JsonObject ntp = doc["ntp"]; _ntp_server = strdup(ntp["server"] | ""); @@ -2080,17 +2085,18 @@ bool MyESP::_fs_writeConfig() { general["log_ip"] = _general_log_ip; general["version"] = _app_version; - JsonObject mqtt = doc.createNestedObject("mqtt"); - mqtt["enabled"] = _mqtt_enabled; - mqtt["heartbeat"] = _mqtt_heartbeat; - mqtt["ip"] = _mqtt_ip; - mqtt["user"] = _mqtt_user; - mqtt["port"] = _mqtt_port; - mqtt["qos"] = _mqtt_qos; - mqtt["keepalive"] = _mqtt_keepalive; - mqtt["retain"] = _mqtt_retain; - mqtt["password"] = _mqtt_password; - mqtt["base"] = _mqtt_base; + JsonObject mqtt = doc.createNestedObject("mqtt"); + mqtt["enabled"] = _mqtt_enabled; + mqtt["heartbeat"] = _mqtt_heartbeat; + mqtt["ip"] = _mqtt_ip; + mqtt["user"] = _mqtt_user; + mqtt["port"] = _mqtt_port; + mqtt["qos"] = _mqtt_qos; + mqtt["keepalive"] = _mqtt_keepalive; + mqtt["retain"] = _mqtt_retain; + mqtt["password"] = _mqtt_password; + mqtt["base"] = _mqtt_base; + mqtt["nestedjson"] = _mqtt_nestedjson; JsonObject ntp = doc.createNestedObject("ntp"); ntp["server"] = _ntp_server; @@ -2192,6 +2198,11 @@ void MyESP::_calculateLoad() { } } +// returns true if nested JSON setting is enabled +bool MyESP::mqttUseNestedJson() { + return _mqtt_nestedjson; +} + // returns true is MQTT is alive bool MyESP::isMQTTConnected() { return mqttClient.connected(); diff --git a/src/MyESP.h b/src/MyESP.h index 6a6ec485f..faa404cbd 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -97,9 +97,11 @@ extern struct rst_info resetInfo; #define MQTT_WILL_TOPIC "status" // for last will & testament topic name #define MQTT_MAX_TOPIC_SIZE 50 // max length of MQTT topic #define MQTT_MAX_PAYLOAD_SIZE 700 // max size of a JSON object. See https://arduinojson.org/v6/assistant/ -#define MQTT_MAX_PAYLOAD_SIZE_LARGE 2000 // max size of a large JSON object, like for sending MQTT log -#define MQTT_QUEUE_MAX_SIZE 20 // Size of the MQTT queue -#define MQTT_PUBLISH_WAIT 1000 // every 2 seconds check MQTT queue +#define MQTT_MAX_PAYLOAD_SIZE_LARGE 2000 // max size of a large JSON object +#define MQTT_MAX_PAYLOAD_SIZE_SMALL 200 +#define MQTT_QUEUE_MAX_SIZE 20 // Size of the MQTT queue +#define MQTT_PUBLISH_WAIT 1000 // every 1 second check MQTT queue +#define MQTT_PUBLISH_MAX_RETRY 4 // max retries for giving up on publishing // Internal MQTT events #define MQTT_CONNECT_EVENT 0 @@ -285,6 +287,7 @@ class MyESP { void mqttPublish(const char * topic, const char * payload); void mqttPublish(const char * topic, const char * payload, bool retain); void setMQTT(mqtt_callback_f callback); + bool mqttUseNestedJson(); // OTA void setOTA(ota_callback_f OTACallback_pre, ota_callback_f OTACallback_post); @@ -329,7 +332,6 @@ class MyESP { uint32_t getSystemLoadAverage(); uint32_t getSystemResetReason(); uint8_t getSystemBootStatus(); - bool _have_ntp_time; unsigned long getSystemTime(); void heartbeatPrint(); void heartbeatCheck(bool force = false); @@ -365,6 +367,7 @@ class MyESP { uint32_t _mqtt_last_connection; bool _mqtt_connecting; bool _mqtt_heartbeat; + bool _mqtt_nestedjson; uint16_t _mqtt_publish_fails; // wifi @@ -408,20 +411,18 @@ class MyESP { void _syslog_setup(); // fs and settings - void _fs_setup(); - bool _fs_loadConfig(); - bool _fs_loadCustomConfig(); - void _fs_eraseConfig(); - bool _fs_writeConfig(); - bool _fs_createCustomConfig(); - bool _fs_sendConfig(); - size_t _fs_validateConfigFile(const char * filename, size_t maxsize, JsonDocument & doc); - size_t _fs_validateLogFile(const char * filename); - + void _fs_setup(); + bool _fs_loadConfig(); + bool _fs_loadCustomConfig(); + void _fs_eraseConfig(); + bool _fs_writeConfig(); + bool _fs_createCustomConfig(); + bool _fs_sendConfig(); + size_t _fs_validateConfigFile(const char * filename, size_t maxsize, JsonDocument & doc); + size_t _fs_validateLogFile(const char * filename); fs_loadsave_callback_f _fs_loadsave_callback_f; fs_setlist_callback_f _fs_setlist_callback_f; - - void _printSetCommands(); + void _printSetCommands(); // general char * _general_hostname; @@ -444,34 +445,27 @@ class MyESP { void _kick(); // reset reason and rtcmem - bool _rtcmem_status; - bool _rtcmemStatus(); - bool _getRtcmemStatus(); - - void _rtcmemInit(); - void _rtcmemSetup(); - - void _deferredReset(unsigned long delay, uint8_t reason); - + bool _rtcmem_status; + bool _rtcmemStatus(); + bool _getRtcmemStatus(); + void _rtcmemInit(); + void _rtcmemSetup(); + void _deferredReset(unsigned long delay, uint8_t reason); uint8_t _getSystemStabilityCounter(); void _setSystemStabilityCounter(uint8_t counter); - uint8_t _getSystemDropoutCounter(); void _setSystemDropoutCounter(uint8_t counter); void _increaseSystemDropoutCounter(); - void _setSystemResetReason(uint8_t reason); uint8_t _getCustomResetReason(); void _setCustomResetReason(uint8_t reason); uint8_t _getSystemResetReason(); - - void _setSystemBootStatus(uint8_t status); - - bool _systemStable; - void _bootupSequence(); - bool _getSystemCheck(); - void _systemCheckLoop(); - void _setSystemCheck(bool stable); + void _setSystemBootStatus(uint8_t status); + bool _systemStable; + void _bootupSequence(); + bool _getSystemCheck(); + void _systemCheckLoop(); + void _setSystemCheck(bool stable); // load average (0..100) and heap ram void _calculateLoad(); @@ -497,6 +491,7 @@ class MyESP { uint16_t _ntp_interval; bool _ntp_enabled; uint8_t _ntp_timezone; + bool _have_ntp_time; }; extern MyESP myESP; diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 103ad57c4..347e71677 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -582,13 +582,34 @@ void publishSensorValues() { bool hasdata = false; char buffer[128] = {0}; // temp string buffer + // if we're not using nested JSON, send each sensor out seperately + if (!myESP.mqttUseNestedJson()) { + for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { + float sensorValue = ds18.getValue(i); + if (sensorValue != DS18_DISCONNECTED) { + hasdata = true; + char topic[30]; // sensors{1-n} + strlcpy(topic, TOPIC_EXTERNAL_SENSORS, sizeof(topic)); // create topic + strlcat(topic, _int_to_char(buffer, i + 1), sizeof(topic)); + sensors[PAYLOAD_EXTERNAL_SENSOR_ID] = ds18.getDeviceID(buffer, i); // add ID + sensors[PAYLOAD_EXTERNAL_SENSOR_TEMP] = sensorValue; // add temp value + char data[100] = {0}; + serializeJson(doc, data, sizeof(data)); // convert to string + myESP.mqttPublish(topic, data); // and publish + } + } + if (hasdata) { + myDebugLog("Publishing external sensor data via MQTT"); + } + return; // exit + } + // see if the sensor values have changed, if so send it on for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { float sensorValue = ds18.getValue(i); if (sensorValue != DS18_DISCONNECTED) { hasdata = true; - // create a nested object - // https://github.com/proddy/EMS-ESP/issues/327 + // create a nested object - https://github.com/proddy/EMS-ESP/issues/327 char sensorID[10]; // sensor{1-n} strlcpy(sensorID, PAYLOAD_EXTERNAL_SENSOR_NUM, sizeof(sensorID)); strlcat(sensorID, _int_to_char(buffer, i + 1), sizeof(sensorID)); @@ -598,343 +619,313 @@ void publishSensorValues() { } } - /* test code - https://github.com/proddy/EMS-ESP/issues/326 - float sensorValue = 23.43; - hasdata = true; - char sensorID[10]; // sensor{1-n} - for (uint8_t i = 0; i < 10; i++) { - strlcpy(sensorID, PAYLOAD_EXTERNAL_SENSOR_NUM, sizeof(sensorID)); - strlcat(sensorID, _int_to_char(buffer, i + 1), sizeof(sensorID)); - JsonObject dataSensor = sensors.createNestedObject(sensorID); - dataSensor[PAYLOAD_EXTERNAL_SENSOR_ID] = "28D45A79A2190310"; - dataSensor[PAYLOAD_EXTERNAL_SENSOR_TEMP] = sensorValue; - } - */ - - if (!hasdata) { - return; // nothing to send - } - char data[DS18_MQTT_PAYLOAD_MAXSIZE] = {0}; serializeJson(doc, data, sizeof(data)); - - myDebugLog("Publishing external sensor data via MQTT"); myESP.mqttPublish(TOPIC_EXTERNAL_SENSORS, data); + + if (hasdata) { + myDebugLog("Publishing external sensor data via MQTT"); + } } -// send values via MQTT -// a json object is created for each device type -void publishEMSValues(bool force) { - // don't send if MQTT is not connected or EMS bus is not connected - if (!myESP.isMQTTConnected() || (!ems_getBusConnected()) || (EMSESP_Settings.publish_time == -1)) { - return; - } - +// publish Boiler data via MQTT +void publishEMSValues_boiler() { char s[20] = {0}; // for formatting strings StaticJsonDocument doc; char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; + JsonObject rootBoiler = doc.to(); - // do we have boiler changes? - if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_BOILER) || force)) { - JsonObject rootBoiler = doc.to(); - - if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Hot) { - rootBoiler["wWComfort"] = "Hot"; - } else if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Eco) { - rootBoiler["wWComfort"] = "Eco"; - } else if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Intelligent) { - rootBoiler["wWComfort"] = "Intelligent"; - } - - if (EMS_Boiler.wWSelTemp != EMS_VALUE_INT_NOTSET) - rootBoiler["wWSelTemp"] = EMS_Boiler.wWSelTemp; - if (EMS_Boiler.wWDesinfectTemp != EMS_VALUE_INT_NOTSET) - rootBoiler["wWDesinfectionTemp"] = EMS_Boiler.wWDesinfectTemp; - if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET) - rootBoiler["selFlowTemp"] = EMS_Boiler.selFlowTemp; - if (EMS_Boiler.selBurnPow != EMS_VALUE_INT_NOTSET) - rootBoiler["selBurnPow"] = EMS_Boiler.selBurnPow; - if (EMS_Boiler.curBurnPow != EMS_VALUE_INT_NOTSET) - rootBoiler["curBurnPow"] = EMS_Boiler.curBurnPow; - if (EMS_Boiler.pumpMod != EMS_VALUE_INT_NOTSET) - rootBoiler["pumpMod"] = EMS_Boiler.pumpMod; - if (EMS_Boiler.wWCircPump != EMS_VALUE_BOOL_NOTSET) - rootBoiler["wWCircPump"] = EMS_Boiler.wWCircPump; - - if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) - rootBoiler["outdoorTemp"] = (float)EMS_Boiler.extTemp / 10; - if (EMS_Boiler.wWCurTmp < EMS_VALUE_USHORT_NOTSET) - rootBoiler["wWCurTmp"] = (float)EMS_Boiler.wWCurTmp / 10; - if (EMS_Boiler.wWCurFlow != EMS_VALUE_INT_NOTSET) - rootBoiler["wWCurFlow"] = (float)EMS_Boiler.wWCurFlow / 10; - if (EMS_Boiler.curFlowTemp < EMS_VALUE_USHORT_NOTSET) - rootBoiler["curFlowTemp"] = (float)EMS_Boiler.curFlowTemp / 10; - if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) - rootBoiler["retTemp"] = (float)EMS_Boiler.retTemp / 10; - if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) - rootBoiler["switchTemp"] = (float)EMS_Boiler.switchTemp / 10; - if (EMS_Boiler.sysPress != EMS_VALUE_INT_NOTSET) - rootBoiler["sysPress"] = (float)EMS_Boiler.sysPress / 10; - if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) - rootBoiler["boilTemp"] = (float)EMS_Boiler.boilTemp / 10; - if (EMS_Boiler.exhaustTemp < EMS_VALUE_USHORT_NOTSET) - rootBoiler["exhaustTemp"] = (float)EMS_Boiler.exhaustTemp / 10; - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) - rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); - - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) - rootBoiler["wWOnetime"] = _bool_to_char(s, EMS_Boiler.wWOneTime); - - if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) - rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); - - if (EMS_Boiler.burnGas != EMS_VALUE_BOOL_NOTSET) - rootBoiler["burnGas"] = _bool_to_char(s, EMS_Boiler.burnGas); - - if (EMS_Boiler.flameCurr < EMS_VALUE_USHORT_NOTSET) - rootBoiler["flameCurr"] = (float)(int16_t)EMS_Boiler.flameCurr / 10; - - if (EMS_Boiler.heatPmp != EMS_VALUE_BOOL_NOTSET) - rootBoiler["heatPmp"] = _bool_to_char(s, EMS_Boiler.heatPmp); - - if (EMS_Boiler.fanWork != EMS_VALUE_BOOL_NOTSET) - rootBoiler["fanWork"] = _bool_to_char(s, EMS_Boiler.fanWork); - - if (EMS_Boiler.ignWork != EMS_VALUE_BOOL_NOTSET) - rootBoiler["ignWork"] = _bool_to_char(s, EMS_Boiler.ignWork); - - if (EMS_Boiler.heating_temp != EMS_VALUE_INT_NOTSET) - rootBoiler["heating_temp"] = EMS_Boiler.heating_temp; - if (EMS_Boiler.pump_mod_max != EMS_VALUE_INT_NOTSET) - rootBoiler["pump_mod_max"] = EMS_Boiler.pump_mod_max; - if (EMS_Boiler.pump_mod_min != EMS_VALUE_INT_NOTSET) - rootBoiler["pump_mod_min"] = EMS_Boiler.pump_mod_min; - - if (EMS_Boiler.wWHeat != EMS_VALUE_BOOL_NOTSET) - rootBoiler["wWHeat"] = _bool_to_char(s, EMS_Boiler.wWHeat); - - if (abs(EMS_Boiler.wWStarts) != EMS_VALUE_LONG_NOTSET) - rootBoiler["wWStarts"] = (float)EMS_Boiler.wWStarts; - if (abs(EMS_Boiler.wWWorkM) != EMS_VALUE_LONG_NOTSET) - rootBoiler["wWWorkM"] = (float)EMS_Boiler.wWWorkM; - if (abs(EMS_Boiler.UBAuptime) != EMS_VALUE_LONG_NOTSET) - rootBoiler["UBAuptime"] = (float)EMS_Boiler.UBAuptime; - - if (abs(EMS_Boiler.burnStarts) != EMS_VALUE_LONG_NOTSET) - rootBoiler["burnStarts"] = (float)EMS_Boiler.burnStarts; - if (abs(EMS_Boiler.burnWorkMin) != EMS_VALUE_LONG_NOTSET) - rootBoiler["burnWorkMin"] = (float)EMS_Boiler.burnWorkMin; - if (abs(EMS_Boiler.heatWorkMin) != EMS_VALUE_LONG_NOTSET) - rootBoiler["heatWorkMin"] = (float)EMS_Boiler.heatWorkMin; - - if (EMS_Boiler.serviceCode != EMS_VALUE_USHORT_NOTSET) { - rootBoiler["ServiceCode"] = EMS_Boiler.serviceCodeChar; - rootBoiler["ServiceCodeNumber"] = EMS_Boiler.serviceCode; - } - - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing boiler data via MQTT"); - myESP.mqttPublish(TOPIC_BOILER_DATA, data); - - // see if the heating or hot tap water has changed, if so send - // last_boilerActive stores heating in bit 1 and tap water in bit 2 - static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off - if ((last_boilerActive != ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive)) || force) { - myDebugLog("Publishing hot water and heating states via MQTT"); - myESP.mqttPublish(TOPIC_BOILER_TAPWATER_ACTIVE, EMS_Boiler.tapwaterActive == 1 ? "1" : "0"); - myESP.mqttPublish(TOPIC_BOILER_HEATING_ACTIVE, EMS_Boiler.heatingActive == 1 ? "1" : "0"); - - last_boilerActive = ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive); // remember last state - } - - ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_BOILER); // unset flag + if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Hot) { + rootBoiler["wWComfort"] = "Hot"; + } else if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Eco) { + rootBoiler["wWComfort"] = "Eco"; + } else if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Intelligent) { + rootBoiler["wWComfort"] = "Intelligent"; } - // handle the thermostat values - if (ems_getThermostatEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT) || force)) { - doc.clear(); - JsonObject rootThermostat = doc.to(); + if (EMS_Boiler.wWSelTemp != EMS_VALUE_INT_NOTSET) + rootBoiler["wWSelTemp"] = EMS_Boiler.wWSelTemp; + if (EMS_Boiler.wWDesinfectTemp != EMS_VALUE_INT_NOTSET) + rootBoiler["wWDesinfectionTemp"] = EMS_Boiler.wWDesinfectTemp; + if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET) + rootBoiler["selFlowTemp"] = EMS_Boiler.selFlowTemp; + if (EMS_Boiler.selBurnPow != EMS_VALUE_INT_NOTSET) + rootBoiler["selBurnPow"] = EMS_Boiler.selBurnPow; + if (EMS_Boiler.curBurnPow != EMS_VALUE_INT_NOTSET) + rootBoiler["curBurnPow"] = EMS_Boiler.curBurnPow; + if (EMS_Boiler.pumpMod != EMS_VALUE_INT_NOTSET) + rootBoiler["pumpMod"] = EMS_Boiler.pumpMod; + if (EMS_Boiler.wWCircPump != EMS_VALUE_BOOL_NOTSET) + rootBoiler["wWCircPump"] = EMS_Boiler.wWCircPump; - for (uint8_t hc_v = 1; hc_v <= EMS_THERMOSTAT_MAXHC; hc_v++) { - _EMS_Thermostat_HC * thermostat = &EMS_Thermostat.hc[hc_v - 1]; + if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) + rootBoiler["outdoorTemp"] = (float)EMS_Boiler.extTemp / 10; + if (EMS_Boiler.wWCurTmp < EMS_VALUE_USHORT_NOTSET) + rootBoiler["wWCurTmp"] = (float)EMS_Boiler.wWCurTmp / 10; + if (EMS_Boiler.wWCurFlow != EMS_VALUE_INT_NOTSET) + rootBoiler["wWCurFlow"] = (float)EMS_Boiler.wWCurFlow / 10; + if (EMS_Boiler.curFlowTemp < EMS_VALUE_USHORT_NOTSET) + rootBoiler["curFlowTemp"] = (float)EMS_Boiler.curFlowTemp / 10; + if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) + rootBoiler["retTemp"] = (float)EMS_Boiler.retTemp / 10; + if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) + rootBoiler["switchTemp"] = (float)EMS_Boiler.switchTemp / 10; + if (EMS_Boiler.sysPress != EMS_VALUE_INT_NOTSET) + rootBoiler["sysPress"] = (float)EMS_Boiler.sysPress / 10; + if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) + rootBoiler["boilTemp"] = (float)EMS_Boiler.boilTemp / 10; + if (EMS_Boiler.exhaustTemp < EMS_VALUE_USHORT_NOTSET) + rootBoiler["exhaustTemp"] = (float)EMS_Boiler.exhaustTemp / 10; + if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) + rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); - // only send if we have an active Heating Circuit with an actual setpoint temp temperature values - if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET)) { - // build new json object - char hc[10]; // hc{1-4} - strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); - strlcat(hc, _int_to_char(s, thermostat->hc), sizeof(hc)); - JsonObject dataThermostat = rootThermostat.createNestedObject(hc); - uint8_t model = ems_getThermostatModel(); + if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) + rootBoiler["wWOnetime"] = _bool_to_char(s, EMS_Boiler.wWOneTime); - // different logic depending on thermostat types - if (model == EMS_DEVICE_FLAG_EASY) { - if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) - dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 100; - if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) - dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 100; - } else if (model == EMS_DEVICE_FLAG_JUNKERS) { - if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) - dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 10; - if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) - dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 10; - } else { - if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) - dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 2; - if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) - dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 10; + if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) + rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); - if (thermostat->daytemp != EMS_VALUE_INT_NOTSET) - dataThermostat[THERMOSTAT_DAYTEMP] = (float)thermostat->daytemp / 2; - if (thermostat->nighttemp != EMS_VALUE_INT_NOTSET) - dataThermostat[THERMOSTAT_NIGHTTEMP] = (float)thermostat->nighttemp / 2; - if (thermostat->holidaytemp != EMS_VALUE_INT_NOTSET) - dataThermostat[THERMOSTAT_HOLIDAYTEMP] = (float)thermostat->holidaytemp / 2; + if (EMS_Boiler.burnGas != EMS_VALUE_BOOL_NOTSET) + rootBoiler["burnGas"] = _bool_to_char(s, EMS_Boiler.burnGas); - if (thermostat->heatingtype != EMS_VALUE_INT_NOTSET) - dataThermostat[THERMOSTAT_HEATINGTYPE] = thermostat->heatingtype; + if (EMS_Boiler.flameCurr < EMS_VALUE_USHORT_NOTSET) + rootBoiler["flameCurr"] = (float)(int16_t)EMS_Boiler.flameCurr / 10; - if (thermostat->circuitcalctemp != EMS_VALUE_INT_NOTSET) - dataThermostat[THERMOSTAT_CIRCUITCALCTEMP] = thermostat->circuitcalctemp; - } + if (EMS_Boiler.heatPmp != EMS_VALUE_BOOL_NOTSET) + rootBoiler["heatPmp"] = _bool_to_char(s, EMS_Boiler.heatPmp); - // Thermostat Mode - _EMS_THERMOSTAT_MODE thermoMode = _getThermostatMode(hc_v); - if (thermoMode == EMS_THERMOSTAT_MODE_OFF) { - dataThermostat[THERMOSTAT_MODE] = "off"; - } else if (thermoMode == EMS_THERMOSTAT_MODE_MANUAL) { - dataThermostat[THERMOSTAT_MODE] = "manual"; - } else if (thermoMode == EMS_THERMOSTAT_MODE_AUTO) { - dataThermostat[THERMOSTAT_MODE] = "auto"; - } else if (thermoMode == EMS_THERMOSTAT_MODE_DAY) { - dataThermostat[THERMOSTAT_MODE] = "day"; - } else if (thermoMode == EMS_THERMOSTAT_MODE_NIGHT) { - dataThermostat[THERMOSTAT_MODE] = "night"; - } + if (EMS_Boiler.fanWork != EMS_VALUE_BOOL_NOTSET) + rootBoiler["fanWork"] = _bool_to_char(s, EMS_Boiler.fanWork); + + if (EMS_Boiler.ignWork != EMS_VALUE_BOOL_NOTSET) + rootBoiler["ignWork"] = _bool_to_char(s, EMS_Boiler.ignWork); + + if (EMS_Boiler.heating_temp != EMS_VALUE_INT_NOTSET) + rootBoiler["heating_temp"] = EMS_Boiler.heating_temp; + if (EMS_Boiler.pump_mod_max != EMS_VALUE_INT_NOTSET) + rootBoiler["pump_mod_max"] = EMS_Boiler.pump_mod_max; + if (EMS_Boiler.pump_mod_min != EMS_VALUE_INT_NOTSET) + rootBoiler["pump_mod_min"] = EMS_Boiler.pump_mod_min; + + if (EMS_Boiler.wWHeat != EMS_VALUE_BOOL_NOTSET) + rootBoiler["wWHeat"] = _bool_to_char(s, EMS_Boiler.wWHeat); + + if (abs(EMS_Boiler.wWStarts) != EMS_VALUE_LONG_NOTSET) + rootBoiler["wWStarts"] = (float)EMS_Boiler.wWStarts; + if (abs(EMS_Boiler.wWWorkM) != EMS_VALUE_LONG_NOTSET) + rootBoiler["wWWorkM"] = (float)EMS_Boiler.wWWorkM; + if (abs(EMS_Boiler.UBAuptime) != EMS_VALUE_LONG_NOTSET) + rootBoiler["UBAuptime"] = (float)EMS_Boiler.UBAuptime; + + if (abs(EMS_Boiler.burnStarts) != EMS_VALUE_LONG_NOTSET) + rootBoiler["burnStarts"] = (float)EMS_Boiler.burnStarts; + if (abs(EMS_Boiler.burnWorkMin) != EMS_VALUE_LONG_NOTSET) + rootBoiler["burnWorkMin"] = (float)EMS_Boiler.burnWorkMin; + if (abs(EMS_Boiler.heatWorkMin) != EMS_VALUE_LONG_NOTSET) + rootBoiler["heatWorkMin"] = (float)EMS_Boiler.heatWorkMin; + + if (EMS_Boiler.serviceCode != EMS_VALUE_USHORT_NOTSET) { + rootBoiler["ServiceCode"] = EMS_Boiler.serviceCodeChar; + rootBoiler["ServiceCodeNumber"] = EMS_Boiler.serviceCode; + } + + serializeJson(doc, data, sizeof(data)); + myDebugLog("Publishing boiler data via MQTT"); + myESP.mqttPublish(TOPIC_BOILER_DATA, data); + + // see if the heating or hot tap water has changed, if so send + // last_boilerActive stores heating in bit 1 and tap water in bit 2 + static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off + if (last_boilerActive != ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive)) { + myDebugLog("Publishing hot water and heating states via MQTT"); + myESP.mqttPublish(TOPIC_BOILER_TAPWATER_ACTIVE, EMS_Boiler.tapwaterActive == 1 ? "1" : "0"); + myESP.mqttPublish(TOPIC_BOILER_HEATING_ACTIVE, EMS_Boiler.heatingActive == 1 ? "1" : "0"); + + last_boilerActive = ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive); // remember last state + } +} + +// handle the thermostat values +void publishEMSValues_thermostat() { + char s[20] = {0}; // for formatting strings + StaticJsonDocument doc; + char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; + JsonObject rootThermostat = doc.to(); + + for (uint8_t hc_v = 1; hc_v <= EMS_THERMOSTAT_MAXHC; hc_v++) { + _EMS_Thermostat_HC * thermostat = &EMS_Thermostat.hc[hc_v - 1]; + + // only send if we have an active Heating Circuit with an actual setpoint temp temperature values + if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET)) { + // build new json object + char hc[10]; // hc{1-4} + strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); + strlcat(hc, _int_to_char(s, thermostat->hc), sizeof(hc)); + JsonObject dataThermostat = rootThermostat.createNestedObject(hc); + uint8_t model = ems_getThermostatModel(); + + // different logic depending on thermostat types + if (model == EMS_DEVICE_FLAG_EASY) { + if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 100; + if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 100; + } else if (model == EMS_DEVICE_FLAG_JUNKERS) { + if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 10; + if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 10; + } else { + if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 2; + if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 10; + + if (thermostat->daytemp != EMS_VALUE_INT_NOTSET) + dataThermostat[THERMOSTAT_DAYTEMP] = (float)thermostat->daytemp / 2; + if (thermostat->nighttemp != EMS_VALUE_INT_NOTSET) + dataThermostat[THERMOSTAT_NIGHTTEMP] = (float)thermostat->nighttemp / 2; + if (thermostat->holidaytemp != EMS_VALUE_INT_NOTSET) + dataThermostat[THERMOSTAT_HOLIDAYTEMP] = (float)thermostat->holidaytemp / 2; + + if (thermostat->heatingtype != EMS_VALUE_INT_NOTSET) + dataThermostat[THERMOSTAT_HEATINGTYPE] = thermostat->heatingtype; + + if (thermostat->circuitcalctemp != EMS_VALUE_INT_NOTSET) + dataThermostat[THERMOSTAT_CIRCUITCALCTEMP] = thermostat->circuitcalctemp; + } + + // Thermostat Mode + _EMS_THERMOSTAT_MODE thermoMode = _getThermostatMode(hc_v); + if (thermoMode == EMS_THERMOSTAT_MODE_OFF) { + dataThermostat[THERMOSTAT_MODE] = "off"; + } else if (thermoMode == EMS_THERMOSTAT_MODE_MANUAL) { + dataThermostat[THERMOSTAT_MODE] = "manual"; + } else if (thermoMode == EMS_THERMOSTAT_MODE_AUTO) { + dataThermostat[THERMOSTAT_MODE] = "auto"; + } else if (thermoMode == EMS_THERMOSTAT_MODE_DAY) { + dataThermostat[THERMOSTAT_MODE] = "day"; + } else if (thermoMode == EMS_THERMOSTAT_MODE_NIGHT) { + dataThermostat[THERMOSTAT_MODE] = "night"; } } - - data[0] = '\0'; // reset data for next package - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing thermostat data via MQTT"); - myESP.mqttPublish(TOPIC_THERMOSTAT_DATA, data); - ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT); // unset flag } - // handle the mixing values - if (ems_getMixingModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_MIXING) || force)) { - doc.clear(); - JsonObject rootMixing = doc.to(); + serializeJson(doc, data, sizeof(data)); + myDebugLog("Publishing thermostat data via MQTT"); + myESP.mqttPublish(TOPIC_THERMOSTAT_DATA, data); +} - for (uint8_t hc_v = 1; hc_v <= EMS_MIXING_MAXHC; hc_v++) { - _EMS_MixingModule_HC * mixingHC = &EMS_MixingModule.hc[hc_v - 1]; +// publish mixing data +void publishEMSValues_mixing() { + char s[20] = {0}; // for formatting strings + StaticJsonDocument doc; + char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; + JsonObject rootMixing = doc.to(); - // only send if we have an active Heating Circuit with real data - if (mixingHC->active) { - char hc[10]; // hc{1-4} - strlcpy(hc, MIXING_HC, sizeof(hc)); - strlcat(hc, _int_to_char(s, mixingHC->hc), sizeof(hc)); - JsonObject dataMixingHC = rootMixing.createNestedObject(hc); - if (mixingHC->flowTemp < EMS_VALUE_USHORT_NOTSET) - dataMixingHC["flowTemp"] = (float)mixingHC->flowTemp / 10; - if (mixingHC->flowSetTemp != EMS_VALUE_INT_NOTSET) - dataMixingHC["setflowTemp"] = mixingHC->flowSetTemp; - if (mixingHC->pumpMod != EMS_VALUE_INT_NOTSET) - dataMixingHC["pumpMod"] = mixingHC->pumpMod; - if (mixingHC->valveStatus != EMS_VALUE_INT_NOTSET) - dataMixingHC["valveStatus"] = mixingHC->valveStatus; - } + for (uint8_t hc_v = 1; hc_v <= EMS_MIXING_MAXHC; hc_v++) { + _EMS_MixingModule_HC * mixingHC = &EMS_MixingModule.hc[hc_v - 1]; + + // only send if we have an active Heating Circuit with real data + if (mixingHC->active) { + char hc[10]; // hc{1-4} + strlcpy(hc, MIXING_HC, sizeof(hc)); + strlcat(hc, _int_to_char(s, mixingHC->hc), sizeof(hc)); + JsonObject dataMixingHC = rootMixing.createNestedObject(hc); + if (mixingHC->flowTemp < EMS_VALUE_USHORT_NOTSET) + dataMixingHC["flowTemp"] = (float)mixingHC->flowTemp / 10; + if (mixingHC->flowSetTemp != EMS_VALUE_INT_NOTSET) + dataMixingHC["setflowTemp"] = mixingHC->flowSetTemp; + if (mixingHC->pumpMod != EMS_VALUE_INT_NOTSET) + dataMixingHC["pumpMod"] = mixingHC->pumpMod; + if (mixingHC->valveStatus != EMS_VALUE_INT_NOTSET) + dataMixingHC["valveStatus"] = mixingHC->valveStatus; } - - for (uint8_t wwc_v = 1; wwc_v <= EMS_MIXING_MAXWWC; wwc_v++) { - _EMS_MixingModule_WWC * mixingWWC = &EMS_MixingModule.wwc[wwc_v - 1]; - // only send if we have an active Warm water Circuit with real data - if (mixingWWC->active) { - char wwc[10]; // wwc{1-2} - strlcpy(wwc, MIXING_WWC, sizeof(wwc)); - strlcat(wwc, _int_to_char(s, mixingWWC->wwc), sizeof(wwc)); - JsonObject dataMixing = rootMixing.createNestedObject(wwc); - if (mixingWWC->flowTemp < EMS_VALUE_USHORT_NOTSET) - dataMixing["wwTemp"] = (float)mixingWWC->flowTemp / 10; - if (mixingWWC->pumpMod != EMS_VALUE_INT_NOTSET) - dataMixing["pumpStatus"] = mixingWWC->pumpMod; - if (mixingWWC->tempStatus != EMS_VALUE_INT_NOTSET) - dataMixing["tempStatus"] = mixingWWC->tempStatus; - } - } - - data[0] = '\0'; // reset data for next package - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing mixing data via MQTT"); - myESP.mqttPublish(TOPIC_MIXING_DATA, data); - ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_MIXING); // unset flag } - // For SM10 and SM100/SM200 Solar Modules - if (ems_getSolarModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_SOLAR) || force)) { - // build new json object - doc.clear(); - JsonObject rootSM = doc.to(); - - if (EMS_SolarModule.collectorTemp > EMS_VALUE_SHORT_NOTSET) - rootSM[SM_COLLECTORTEMP] = (float)EMS_SolarModule.collectorTemp / 10; - - if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) - rootSM[SM_BOTTOMTEMP] = (float)EMS_SolarModule.bottomTemp / 10; - - if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) - rootSM[SM_PUMPMODULATION] = EMS_SolarModule.pumpModulation; - - if (EMS_SolarModule.pump != EMS_VALUE_BOOL_NOTSET) { - rootSM[SM_PUMP] = _bool_to_char(s, EMS_SolarModule.pump); + for (uint8_t wwc_v = 1; wwc_v <= EMS_MIXING_MAXWWC; wwc_v++) { + _EMS_MixingModule_WWC * mixingWWC = &EMS_MixingModule.wwc[wwc_v - 1]; + // only send if we have an active Warm water Circuit with real data + if (mixingWWC->active) { + char wwc[10]; // wwc{1-2} + strlcpy(wwc, MIXING_WWC, sizeof(wwc)); + strlcat(wwc, _int_to_char(s, mixingWWC->wwc), sizeof(wwc)); + JsonObject dataMixing = rootMixing.createNestedObject(wwc); + if (mixingWWC->flowTemp < EMS_VALUE_USHORT_NOTSET) + dataMixing["wwTemp"] = (float)mixingWWC->flowTemp / 10; + if (mixingWWC->pumpMod != EMS_VALUE_INT_NOTSET) + dataMixing["pumpStatus"] = mixingWWC->pumpMod; + if (mixingWWC->tempStatus != EMS_VALUE_INT_NOTSET) + dataMixing["tempStatus"] = mixingWWC->tempStatus; } - - if (EMS_SolarModule.pumpWorkMin != EMS_VALUE_LONG_NOTSET) { - rootSM[SM_PUMPWORKMIN] = (float)EMS_SolarModule.pumpWorkMin; - } - - if (EMS_SolarModule.EnergyLastHour < EMS_VALUE_USHORT_NOTSET) - rootSM[SM_ENERGYLASTHOUR] = (float)EMS_SolarModule.EnergyLastHour / 10; - - if (EMS_SolarModule.EnergyToday < EMS_VALUE_USHORT_NOTSET) - rootSM[SM_ENERGYTODAY] = EMS_SolarModule.EnergyToday; - - if (EMS_SolarModule.EnergyTotal < EMS_VALUE_USHORT_NOTSET) - rootSM[SM_ENERGYTOTAL] = (float)EMS_SolarModule.EnergyTotal / 10; - - data[0] = '\0'; // reset data for next package - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing SM data via MQTT"); - myESP.mqttPublish(TOPIC_SM_DATA, data); - ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_SOLAR); // unset flag } - // handle HeatPump - if (ems_getHeatPumpEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_HEATPUMP) || force)) { - // build new json object - doc.clear(); - JsonObject rootSM = doc.to(); + serializeJson(doc, data, sizeof(data)); + myDebugLog("Publishing mixing data via MQTT"); + myESP.mqttPublish(TOPIC_MIXING_DATA, data); +} - if (EMS_HeatPump.HPModulation != EMS_VALUE_INT_NOTSET) - rootSM[HP_PUMPMODULATION] = EMS_HeatPump.HPModulation; +// For SM10 and SM100/SM200 Solar Modules +void publishEMSValues_solar() { + char s[20] = {0}; // for formatting strings + StaticJsonDocument doc; + char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; + JsonObject rootSM = doc.to(); - if (EMS_HeatPump.HPSpeed != EMS_VALUE_INT_NOTSET) - rootSM[HP_PUMPSPEED] = EMS_HeatPump.HPSpeed; + if (EMS_SolarModule.collectorTemp > EMS_VALUE_SHORT_NOTSET) + rootSM[SM_COLLECTORTEMP] = (float)EMS_SolarModule.collectorTemp / 10; - data[0] = '\0'; // reset data for next package - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing HeatPump data via MQTT"); - myESP.mqttPublish(TOPIC_HP_DATA, data); - ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_HEATPUMP); // unset flag + if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) + rootSM[SM_BOTTOMTEMP] = (float)EMS_SolarModule.bottomTemp / 10; + + if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) + rootSM[SM_PUMPMODULATION] = EMS_SolarModule.pumpModulation; + + if (EMS_SolarModule.pump != EMS_VALUE_BOOL_NOTSET) { + rootSM[SM_PUMP] = _bool_to_char(s, EMS_SolarModule.pump); } + + if (EMS_SolarModule.pumpWorkMin != EMS_VALUE_LONG_NOTSET) { + rootSM[SM_PUMPWORKMIN] = (float)EMS_SolarModule.pumpWorkMin; + } + + if (EMS_SolarModule.EnergyLastHour < EMS_VALUE_USHORT_NOTSET) + rootSM[SM_ENERGYLASTHOUR] = (float)EMS_SolarModule.EnergyLastHour / 10; + + if (EMS_SolarModule.EnergyToday < EMS_VALUE_USHORT_NOTSET) + rootSM[SM_ENERGYTODAY] = EMS_SolarModule.EnergyToday; + + if (EMS_SolarModule.EnergyTotal < EMS_VALUE_USHORT_NOTSET) + rootSM[SM_ENERGYTOTAL] = (float)EMS_SolarModule.EnergyTotal / 10; + + serializeJson(doc, data, sizeof(data)); + myDebugLog("Publishing SM data via MQTT"); + myESP.mqttPublish(TOPIC_SM_DATA, data); +} + +// handle HeatPump +void publishEMSValues_heatpump() { + StaticJsonDocument doc; + char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; + JsonObject rootHP = doc.to(); + + if (EMS_HeatPump.HPModulation != EMS_VALUE_INT_NOTSET) + rootHP[HP_PUMPMODULATION] = EMS_HeatPump.HPModulation; + + if (EMS_HeatPump.HPSpeed != EMS_VALUE_INT_NOTSET) + rootHP[HP_PUMPSPEED] = EMS_HeatPump.HPSpeed; + + serializeJson(doc, data, sizeof(data)); + myDebugLog("Publishing HeatPump data via MQTT"); + myESP.mqttPublish(TOPIC_HP_DATA, data); } // Publish shower data void do_publishShowerData() { - StaticJsonDocument<200> doc; - JsonObject rootShower = doc.to(); - rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0"; - rootShower[TOPIC_SHOWER_ALERT] = EMSESP_Settings.shower_alert ? "1" : "0"; + StaticJsonDocument doc; + JsonObject rootShower = doc.to(); + rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0"; + rootShower[TOPIC_SHOWER_ALERT] = EMSESP_Settings.shower_alert ? "1" : "0"; // only publish shower duration if there is a value char s[50] = {0}; @@ -956,17 +947,58 @@ void do_publishShowerData() { myESP.mqttPublish(TOPIC_SHOWER_DATA, data, false); } -// call PublishValues with forcing forcing -void do_publishValues() { +// send values via MQTT +// a json object is created for each device type +void publishEMSValues(bool force) { + // don't send if MQTT is not connected or EMS bus is not connected + if (!myESP.isMQTTConnected() || (!ems_getBusConnected()) || (EMSESP_Settings.publish_time == -1)) { + return; + } + + if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_BOILER) || force)) { + publishEMSValues_boiler(); + ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_BOILER); // unset flag + } + + if (ems_getThermostatEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT) || force)) { + publishEMSValues_thermostat(); + ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT); // unset flag + } + + if (ems_getMixingModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_MIXING) || force)) { + publishEMSValues_mixing(); + ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_MIXING); // unset flag + } + + if (ems_getSolarModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_SOLAR) || force)) { + publishEMSValues_solar(); + ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_SOLAR); // unset flag + } + + if (ems_getHeatPumpEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_HEATPUMP) || force)) { + publishEMSValues_heatpump(); + ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_HEATPUMP); // unset flag + } +} + +// publishes value via MQTT +void publishValues(bool force, bool send_sensor) { if (EMSESP_Settings.publish_time == -1) { - myDebugLog("Publishing is disabled."); return; } myDebugLog("Starting scheduled MQTT publish..."); - publishEMSValues(false); - publishSensorValues(); - myESP.heartbeatCheck(true); + publishEMSValues(force); + if (send_sensor) { + publishSensorValues(); + } + // myESP.heartbeatCheck(true); +} + +// calls publishValues fron the Ticker loop, also sending sensor data +// but not using false for force so only data that has changed will be sent +void do_publishValues() { + publishValues(false, true); } // callback to light up the LED, called via Ticker every second @@ -2096,6 +2128,10 @@ void initEMSESP() { * Shower Logic */ void showerCheck() { + if (!EMSESP_Settings.shower_timer) { + return; + } + uint32_t time_now = millis(); // if already in cold mode, ignore all this logic until we're out of the cold blast if (!EMSESP_Shower.doingColdShot) { @@ -2231,7 +2267,7 @@ void setup() { if (EMSESP_Settings.publish_time > 0) { publishValuesTimer.attach(EMSESP_Settings.publish_time, do_publishValues); // post MQTT EMS values } else if (EMSESP_Settings.publish_time == 0) { - // automatic mode. use this Ticker to send out sensor values + // automatic mode. use this Ticker to send out sensor values only. the EMS ones are done in the loop. publishValuesTimer.attach(DEFAULT_SENSOR_PUBLISHTIME, publishSensorValues); } @@ -2256,33 +2292,30 @@ void setup() { void loop() { myESP.loop(); // handle telnet, mqtt, wifi etc - // to prevent load, only run checks every second + // get Dallas Sensor readings every 2 seconds static uint32_t last_check = 0; - if (millis() - last_check < 1000) { - return; - } - last_check = millis(); - - // get Dallas Sensor readings - if (EMSESP_Settings.dallas_sensors) { - ds18.loop(); - } - - // if we have an EMS bus connection go and fetch some data and MQTT publish it - if (_need_first_publish) { - publishEMSValues(false); - publishSensorValues(); - _need_first_publish = false; // reset flag - } else { - // check if we're on auto mode for publishing - // then send EMS values, only if its been flagged to update - if (EMSESP_Settings.publish_time == 0) { - publishEMSValues(false); + uint32_t time_now = millis(); + if (time_now - last_check > 2000) { + last_check = time_now; + if (EMSESP_Settings.dallas_sensors) { + ds18.loop(); } } - // do shower logic, if enabled - if (EMSESP_Settings.shower_timer) { - showerCheck(); + // if we just have an EMS bus connection go and fetch the data and MQTT publish it to get started + if (_need_first_publish) { + publishValues(true, true); + _need_first_publish = false; + return; } + + // check if we're on auto mode for publishing + // then send EMS values, only if its been flagged to update. + // Don't send sensor data as this is done by the Ticker + if (EMSESP_Settings.publish_time == 0) { + publishValues(false, false); + } + + // do shower logic + showerCheck(); } diff --git a/src/version.h b/src/version.h index 79d69bf19..e64fc27fb 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b38" +#define APP_VERSION "1.9.5b39" From 6c39154e9012cd8aa1a90aa6135d96f955c7ef90 Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 22 Feb 2020 11:48:13 +0100 Subject: [PATCH 148/195] minor fix for default mqtt_nestedjson cmd --- src/MyESP.cpp | 2 +- src/ems-esp.cpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 8712ade7f..194645247 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -1880,7 +1880,7 @@ bool MyESP::_fs_loadConfig() { _mqtt_keepalive = mqtt["keepalive"] | MQTT_KEEPALIVE; _mqtt_retain = mqtt["retain"]; _mqtt_qos = mqtt["qos"] | MQTT_QOS; - _mqtt_nestedjson = mqtt["nestedjson"] | true; // default to on + _mqtt_nestedjson = mqtt["nestedjson"]; // default to on _mqtt_password = strdup(mqtt["password"] | ""); _mqtt_base = strdup(mqtt["base"] | MQTT_BASE_DEFAULT); diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 347e71677..03442ca17 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -867,7 +867,6 @@ void publishEMSValues_mixing() { // For SM10 and SM100/SM200 Solar Modules void publishEMSValues_solar() { - char s[20] = {0}; // for formatting strings StaticJsonDocument doc; char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; JsonObject rootSM = doc.to(); @@ -882,6 +881,7 @@ void publishEMSValues_solar() { rootSM[SM_PUMPMODULATION] = EMS_SolarModule.pumpModulation; if (EMS_SolarModule.pump != EMS_VALUE_BOOL_NOTSET) { + char s[20] = {0}; // for formatting strings rootSM[SM_PUMP] = _bool_to_char(s, EMS_SolarModule.pump); } From 059861a14faa3a598a34be3f1559537e077de672 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 23 Feb 2020 14:22:46 +0100 Subject: [PATCH 149/195] use flash mem for strings when we can --- src/Ntp.cpp | 20 ++++++++++---------- src/ems.cpp | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/Ntp.cpp b/src/Ntp.cpp index bb3154670..e01d6b7db 100644 --- a/src/Ntp.cpp +++ b/src/Ntp.cpp @@ -110,16 +110,16 @@ time_t ICACHE_FLASH_ATTR NtpClient::getNtpTime() { time_t UnixUTCtime = (highWord << 16 | lowWord) - 2208988800UL; time_t adjustedtime = (*tz).toLocal(UnixUTCtime, &tcr); - myESP.myDebug("[NTP] Internet time: %02d:%02d:%02d UTC on %d/%d. Local time: %02d:%02d:%02d %s", - to_hour(UnixUTCtime), - to_minute(UnixUTCtime), - to_second(UnixUTCtime), - to_day(UnixUTCtime), - to_month(UnixUTCtime), - to_hour(adjustedtime), - to_minute(adjustedtime), - to_second(adjustedtime), - tcr->abbrev); + myESP.myDebug_P(PSTR("[NTP] Internet time: %02d:%02d:%02d UTC on %d/%d. Local time: %02d:%02d:%02d %s"), + to_hour(UnixUTCtime), + to_minute(UnixUTCtime), + to_second(UnixUTCtime), + to_day(UnixUTCtime), + to_month(UnixUTCtime), + to_hour(adjustedtime), + to_minute(adjustedtime), + to_second(adjustedtime), + tcr->abbrev); setTime(adjustedtime); }); diff --git a/src/ems.cpp b/src/ems.cpp index 5ccaa9e6a..566f4a975 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1784,7 +1784,7 @@ void _process_UBADevices(_EMS_RxTelegram * EMS_RxTelegram) { } } if (!exists) { - myDebug("[EMS] Detected new EMS Device with ID 0x%02X. Fetching version information...", device_id); + myDebug_P(PSTR("[EMS] Detected new EMS Device with ID 0x%02X. Fetching version information..."), device_id); ems_doReadCommand(EMS_TYPE_Version, device_id); // get version, but ignore ourselves } } From 7d402d45180db2cb99b6d862dcf0eecee38ce91b Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 23 Feb 2020 14:22:57 +0100 Subject: [PATCH 150/195] added compile flag for #327 --- platformio.ini | 1 + 1 file changed, 1 insertion(+) diff --git a/platformio.ini b/platformio.ini index c382e59bd..7d99ce738 100644 --- a/platformio.ini +++ b/platformio.ini @@ -13,6 +13,7 @@ default_envs = release ; -DCRASH ; -DFORCE_SERIAL ; -DMYESP_DEBUG +; -DSENSOR_MQTT_USEID ;custom_flags = -DFORCE_SERIAL -DMYESP_DEBUG custom_flags = From 89a2dcac059a67b6eb1118f538f66a0b586b1382 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 23 Feb 2020 14:23:10 +0100 Subject: [PATCH 151/195] optimized MQTT json --- src/MyESP.cpp | 107 ++++++++++------- src/MyESP.h | 25 ++-- src/ems-esp.cpp | 308 +++++++++++++++++++++++++++--------------------- src/version.h | 2 +- 4 files changed, 252 insertions(+), 190 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 194645247..018408143 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -433,22 +433,23 @@ void MyESP::_printMQTTLog() { // Publish using the user's custom retain flag void MyESP::mqttPublish(const char * topic, const char * payload) { - mqttPublish(topic, payload, _mqtt_retain); + _mqttQueue(topic, payload, _mqtt_retain); +} +void MyESP::mqttPublish(const char * topic, JsonDocument payload) { + _mqttQueue(topic, payload, _mqtt_retain); } // MQTT Publish void MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { - if (!_hasValue(topic)) { - return; - } - - _mqttQueue(topic, payload, retain); // queue the message + _mqttQueue(topic, payload, retain); +} +void MyESP::mqttPublish(const char * topic, JsonDocument payload, bool retain) { + _mqttQueue(topic, payload, retain); } +// put a payload string into the queue bool MyESP::_mqttQueue(const char * topic, const char * payload, bool retain) { - // Queue is not meant to send message "offline" - // We must prevent the queue does not get full while offline - if (!mqttClient.connected() || (_mqtt_queue.size() >= MQTT_QUEUE_MAX_SIZE)) { + if (!mqttClient.connected() || _mqtt_queue.size() >= MQTT_QUEUE_MAX_SIZE || !_hasValue(topic)) { return false; } @@ -458,7 +459,7 @@ bool MyESP::_mqttQueue(const char * topic, const char * payload, bool retain) { element.retain = retain; element.packetId = 0; element.retry_count = 0; - if (NULL != payload) { + if (payload != NULL) { element.payload = strdup(payload); } #ifdef MYESP_DEBUG @@ -469,6 +470,34 @@ bool MyESP::_mqttQueue(const char * topic, const char * payload, bool retain) { return true; } +// convert json doc to a string buffer and place on queue +bool MyESP::_mqttQueue(const char * topic, JsonDocument payload, bool retain) { + if (!mqttClient.connected() || _mqtt_queue.size() >= MQTT_QUEUE_MAX_SIZE || !_hasValue(topic)) { + return false; + } + + // create a new message + mqtt_message_t element; + element.topic = strdup(topic); + element.retain = retain; + element.packetId = 0; + element.retry_count = 0; + + // reserve space for buffer and serialize json into it + const size_t capacity = measureJson(payload) + 1; + if (capacity) { + element.payload = (char *)malloc(capacity); + serializeJson(payload, (char *)element.payload, capacity); + } + +#ifdef MYESP_DEBUG + myDebug_P(PSTR("[MQTT] Adding to queue: #%d [%s] %s"), _mqtt_queue.size(), element.topic, element.payload); +#endif + _mqtt_queue.push_back(element); + + return true; +} + // called when an MQTT Publish ACK is received // check if ACK matches the last Publish we sent, if not report an error // and always remove from queue @@ -1604,11 +1633,10 @@ void MyESP::heartbeatCheck(bool force) { uint32_t free_memory = ESP.getFreeHeap(); uint8_t mem_available = 100 * free_memory / total_memory; // as a % - StaticJsonDocument doc; - JsonObject rootHeartbeat = doc.to(); + const size_t capacity = JSON_OBJECT_SIZE(6); + StaticJsonDocument doc; + JsonObject rootHeartbeat = doc.to(); - //rootHeartbeat["version"] = _app_version; - //rootHeartbeat["IP"] = WiFi.localIP().toString(); rootHeartbeat["rssid"] = getWifiQuality(); rootHeartbeat["load"] = getSystemLoadAverage(); rootHeartbeat["uptime"] = _getUptime(); @@ -1616,10 +1644,7 @@ void MyESP::heartbeatCheck(bool force) { rootHeartbeat["tcpdrops"] = _getSystemDropoutCounter(); rootHeartbeat["mqttpublishfails"] = _mqtt_publish_fails; - char data[300] = {0}; - serializeJson(doc, data, sizeof(data)); - - (void)mqttPublish(MQTT_TOPIC_HEARTBEAT, data, false); // send to MQTT with retain off + mqttPublish(MQTT_TOPIC_HEARTBEAT, doc, false); // send to MQTT with retain off } } @@ -1632,13 +1657,13 @@ void MyESP::heartbeatPrint() { uint32_t total_memory = _getInitialFreeHeap(); uint32_t free_memory = ESP.getFreeHeap(); - myDebug("[%d] uptime:%d bytesfree:%d (%2u%%), load:%d, dropouts:%d", - i++, - _getUptime(), - free_memory, - 100 * free_memory / total_memory, - getSystemLoadAverage(), - _getSystemDropoutCounter() + myDebug_P(PSTR("[%d] uptime:%d bytesfree:%d (%2u%%), load:%d, dropouts:%d"), + i++, + _getUptime(), + free_memory, + 100 * free_memory / total_memory, + getSystemLoadAverage(), + _getSystemDropoutCounter() ); } @@ -2418,7 +2443,7 @@ void MyESP::writeLogEvent(const uint8_t type, const char * msg) { // Handles WebSocket Events void MyESP::_onWsEvent(AsyncWebSocket * server, AsyncWebSocketClient * client, AwsEventType type, void * arg, uint8_t * data, size_t len) { if (type == WS_EVT_ERROR) { - myDebug("[WEB] WebSocket[%s][%u] error(%u): %s\r\n", server->url(), client->id(), *((uint16_t *)arg), (char *)data); + myDebug_P(PSTR("[WEB] WebSocket[%s][%u] error(%u): %s\r\n"), server->url(), client->id(), *((uint16_t *)arg), (char *)data); } else if (type == WS_EVT_DATA) { AwsFrameInfo * info = (AwsFrameInfo *)arg; uint64_t index = info->index; @@ -2550,7 +2575,7 @@ bool MyESP::_fs_sendConfig() { // send custom status via ws void MyESP::_sendCustomStatus() { - DynamicJsonDocument doc(MYESP_JSON_MAXSIZE_LARGE); + DynamicJsonDocument doc(MYESP_JSON_MAXSIZE_MEDIUM); JsonObject root = doc.to(); @@ -2566,7 +2591,7 @@ void MyESP::_sendCustomStatus() { (_web_callback_f)(root); } - char buffer[MYESP_JSON_MAXSIZE_LARGE]; + char buffer[MYESP_JSON_MAXSIZE_MEDIUM]; size_t len = serializeJson(root, buffer); #ifdef MYESP_DEBUG @@ -2582,13 +2607,13 @@ void MyESP::_sendStatus() { uint32_t total_memory = _getInitialFreeHeap(); uint32_t free_memory = ESP.getFreeHeap(); - DynamicJsonDocument doc(MQTT_MAX_PAYLOAD_SIZE_LARGE); + DynamicJsonDocument doc(MYESP_JSON_MAXSIZE_MEDIUM); JsonObject root = doc.to(); root["command"] = "status"; FSInfo fsinfo; if (!SPIFFS.info(fsinfo)) { - myDebug("[SYSTEM] Error getting info on SPIFFS"); + myDebug_P(PSTR("[SYSTEM] Error getting info on SPIFFS")); } else { root["availspiffs"] = (fsinfo.totalBytes - fsinfo.usedBytes) / 1000; root["spiffssize"] = (fsinfo.totalBytes / 1000); @@ -2626,7 +2651,7 @@ void MyESP::_sendStatus() { sprintf(uptime, "%d day%s %d hour%s %d minute%s %d second%s", d, (d == 1) ? "" : "s", h, (h == 1) ? "" : "s", m, (m == 1) ? "" : "s", sec, (sec == 1) ? "" : "s"); root["uptime"] = uptime; - char buffer[MQTT_MAX_PAYLOAD_SIZE_LARGE]; + char buffer[MYESP_JSON_MAXSIZE_MEDIUM]; size_t len = serializeJson(root, buffer); _ws->textAll(buffer, len); @@ -2783,13 +2808,13 @@ void MyESP::_printHeap(const char * prefix) { uint32_t total_memory = _getInitialFreeHeap(); uint32_t free_memory = ESP.getFreeHeap(); - myDebug("%s Free Heap: %d bytes initially | %d bytes used (%2u%%) | %d bytes free (%2u%%)", - prefix, - total_memory, - total_memory - free_memory, - 100 * (total_memory - free_memory) / total_memory, - free_memory, - 100 * free_memory / total_memory); + myDebug_P(PSTR("%s Free Heap: %d bytes initially | %d bytes used (%2u%%) | %d bytes free (%2u%%)"), + prefix, + total_memory, + total_memory - free_memory, + 100 * (total_memory - free_memory) / total_memory, + free_memory, + 100 * free_memory / total_memory); } // send UTC time via ws @@ -2959,7 +2984,7 @@ void MyESP::loop() { } if (_formatreq) { - myDebug("[SYSTEM] Factory reset initiated. Please wait. System will automatically restart when complete..."); + myDebug_P(PSTR("[SYSTEM] Factory reset initiated. Please wait. System will automatically restart when complete...")); SPIFFS.end(); _ws->enable(false); SPIFFS.format(); @@ -2969,7 +2994,7 @@ void MyESP::loop() { if (_shouldRestart) { writeLogEvent(MYESP_SYSLOG_INFO, "System is restarting"); - myDebug("[SYSTEM] Restarting..."); + myDebug_P(PSTR("[SYSTEM] Restarting...")); _deferredReset(500, CUSTOM_RESET_TERMINAL); ESP.restart(); } @@ -2977,6 +3002,4 @@ void MyESP::loop() { delay(MYESP_DELAY); // some time to WiFi and everything else to catch up, calls yield, and also prevent overheating } - - MyESP myESP; diff --git a/src/MyESP.h b/src/MyESP.h index faa404cbd..c8b755db6 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -96,22 +96,18 @@ extern struct rst_info resetInfo; #define MQTT_QOS 0 // default qos 0 #define MQTT_WILL_TOPIC "status" // for last will & testament topic name #define MQTT_MAX_TOPIC_SIZE 50 // max length of MQTT topic -#define MQTT_MAX_PAYLOAD_SIZE 700 // max size of a JSON object. See https://arduinojson.org/v6/assistant/ -#define MQTT_MAX_PAYLOAD_SIZE_LARGE 2000 // max size of a large JSON object -#define MQTT_MAX_PAYLOAD_SIZE_SMALL 200 -#define MQTT_QUEUE_MAX_SIZE 20 // Size of the MQTT queue -#define MQTT_PUBLISH_WAIT 1000 // every 1 second check MQTT queue -#define MQTT_PUBLISH_MAX_RETRY 4 // max retries for giving up on publishing +#define MQTT_QUEUE_MAX_SIZE 50 // Size of the MQTT queue +#define MQTT_PUBLISH_WAIT 750 // time in ms before sending MQTT messages +#define MQTT_PUBLISH_MAX_RETRY 4 // max retries for giving up on publishing +#define MYESP_JSON_MAXSIZE_LARGE 2000 // for large Dynamic json files - https://arduinojson.org/v6/assistant/ +#define MYESP_JSON_MAXSIZE_MEDIUM 800 // for medium Dynamic json files - https://arduinojson.org/v6/assistant/ +#define MYESP_JSON_MAXSIZE_SMALL 200 // for smaller Static json documents - https://arduinojson.org/v6/assistant/ // Internal MQTT events #define MQTT_CONNECT_EVENT 0 #define MQTT_DISCONNECT_EVENT 1 #define MQTT_MESSAGE_EVENT 2 -#define MYESP_JSON_MAXSIZE_LARGE 2000 // for large Dynamic json files -#define MYESP_JSON_MAXSIZE_MEDIUM 800 // for medium Dynamic json files -#define MYESP_JSON_MAXSIZE_SMALL 200 // for smaller Static json documents - #define MYESP_MQTT_PAYLOAD_ON '1' // for MQTT switch on #define MYESP_MQTT_PAYLOAD_OFF '0' // for MQTT switch off @@ -213,9 +209,9 @@ struct RtcmemData { static_assert(sizeof(RtcmemData) <= (RTCMEM_BLOCKS * 4u), "RTCMEM struct is too big"); -#define MYESP_SYSTEM_CHECK_TIME 60000 // The system is considered stable after these many millis (1 minute) -#define MYESP_SYSTEM_CHECK_MAX 10 // After this many crashes on boot -#define MYESP_HEARTBEAT_INTERVAL 120000 // in milliseconds, how often the MQTT heartbeat is sent (2 mins) +#define MYESP_SYSTEM_CHECK_TIME 60000 // The system is considered stable after these many millis (1 min) +#define MYESP_SYSTEM_CHECK_MAX 10 // After this many crashes on boot +#define MYESP_HEARTBEAT_INTERVAL 60000 // in milliseconds, how often the MQTT heartbeat is sent (1 min) typedef struct { bool set; // is it a set command? @@ -286,6 +282,8 @@ class MyESP { void mqttUnsubscribe(const char * topic); void mqttPublish(const char * topic, const char * payload); void mqttPublish(const char * topic, const char * payload, bool retain); + void mqttPublish(const char * topic, JsonDocument payload); + void mqttPublish(const char * topic, JsonDocument payload, bool retain); void setMQTT(mqtt_callback_f callback); bool mqttUseNestedJson(); @@ -346,6 +344,7 @@ class MyESP { void _sendStart(); char * _mqttTopic(const char * topic); bool _mqttQueue(const char * topic, const char * payload, bool retain); + bool _mqttQueue(const char * topic, JsonDocument payload, bool retain); void _printMQTTLog(); void _mqttPublishQueue(); void _mqttRemoveLastPublish(); diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 03442ca17..826465bca 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -573,14 +573,14 @@ void publishSensorValues() { // each payload per sensor is 30 bytes so calculate if we have enough space if ((EMSESP_Settings.dallas_sensors * 50) > DS18_MQTT_PAYLOAD_MAXSIZE) { - myDebug("Error: too many Dallas sensors for MQTT payload"); + myDebug_P(PSTR("Error: too many Dallas sensors for MQTT payload")); } StaticJsonDocument doc; JsonObject sensors = doc.to(); - bool hasdata = false; - char buffer[128] = {0}; // temp string buffer + bool hasdata = false; + char buffer[128]; // temp string buffer // if we're not using nested JSON, send each sensor out seperately if (!myESP.mqttUseNestedJson()) { @@ -593,9 +593,7 @@ void publishSensorValues() { strlcat(topic, _int_to_char(buffer, i + 1), sizeof(topic)); sensors[PAYLOAD_EXTERNAL_SENSOR_ID] = ds18.getDeviceID(buffer, i); // add ID sensors[PAYLOAD_EXTERNAL_SENSOR_TEMP] = sensorValue; // add temp value - char data[100] = {0}; - serializeJson(doc, data, sizeof(data)); // convert to string - myESP.mqttPublish(topic, data); // and publish + myESP.mqttPublish(topic, doc); // and publish } } if (hasdata) { @@ -604,24 +602,25 @@ void publishSensorValues() { return; // exit } - // see if the sensor values have changed, if so send it on + // group all sensors together - https://github.com/proddy/EMS-ESP/issues/327 for (uint8_t i = 0; i < EMSESP_Settings.dallas_sensors; i++) { float sensorValue = ds18.getValue(i); if (sensorValue != DS18_DISCONNECTED) { hasdata = true; - // create a nested object - https://github.com/proddy/EMS-ESP/issues/327 +#ifdef SENSOR_MQTT_USEID + sensors[ds18.getDeviceID(buffer, i)] = sensorValue; +#else char sensorID[10]; // sensor{1-n} strlcpy(sensorID, PAYLOAD_EXTERNAL_SENSOR_NUM, sizeof(sensorID)); strlcat(sensorID, _int_to_char(buffer, i + 1), sizeof(sensorID)); JsonObject dataSensor = sensors.createNestedObject(sensorID); dataSensor[PAYLOAD_EXTERNAL_SENSOR_ID] = ds18.getDeviceID(buffer, i); dataSensor[PAYLOAD_EXTERNAL_SENSOR_TEMP] = sensorValue; +#endif } } - char data[DS18_MQTT_PAYLOAD_MAXSIZE] = {0}; - serializeJson(doc, data, sizeof(data)); - myESP.mqttPublish(TOPIC_EXTERNAL_SENSORS, data); + myESP.mqttPublish(TOPIC_EXTERNAL_SENSORS, doc); if (hasdata) { myDebugLog("Publishing external sensor data via MQTT"); @@ -630,10 +629,11 @@ void publishSensorValues() { // publish Boiler data via MQTT void publishEMSValues_boiler() { - char s[20] = {0}; // for formatting strings - StaticJsonDocument doc; - char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; - JsonObject rootBoiler = doc.to(); + const size_t capacity = JSON_OBJECT_SIZE(34); // must recalculate if more objects addded https://arduinojson.org/v6/assistant/ + DynamicJsonDocument doc(capacity); + JsonObject rootBoiler = doc.to(); + + char s[20]; // for formatting strings if (EMS_Boiler.wWComfort == EMS_VALUE_UBAParameterWW_wwComfort_Hot) { rootBoiler["wWComfort"] = "Hot"; @@ -643,126 +643,153 @@ void publishEMSValues_boiler() { rootBoiler["wWComfort"] = "Intelligent"; } - if (EMS_Boiler.wWSelTemp != EMS_VALUE_INT_NOTSET) + if (EMS_Boiler.wWSelTemp != EMS_VALUE_INT_NOTSET) { rootBoiler["wWSelTemp"] = EMS_Boiler.wWSelTemp; - if (EMS_Boiler.wWDesinfectTemp != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.wWDesinfectTemp != EMS_VALUE_INT_NOTSET) { rootBoiler["wWDesinfectionTemp"] = EMS_Boiler.wWDesinfectTemp; - if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET) { rootBoiler["selFlowTemp"] = EMS_Boiler.selFlowTemp; - if (EMS_Boiler.selBurnPow != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.selBurnPow != EMS_VALUE_INT_NOTSET) { rootBoiler["selBurnPow"] = EMS_Boiler.selBurnPow; - if (EMS_Boiler.curBurnPow != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.curBurnPow != EMS_VALUE_INT_NOTSET) { rootBoiler["curBurnPow"] = EMS_Boiler.curBurnPow; - if (EMS_Boiler.pumpMod != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.pumpMod != EMS_VALUE_INT_NOTSET) { rootBoiler["pumpMod"] = EMS_Boiler.pumpMod; - if (EMS_Boiler.wWCircPump != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.wWCircPump != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWCircPump"] = EMS_Boiler.wWCircPump; - - if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) + } + if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) { rootBoiler["outdoorTemp"] = (float)EMS_Boiler.extTemp / 10; - if (EMS_Boiler.wWCurTmp < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_Boiler.wWCurTmp < EMS_VALUE_USHORT_NOTSET) { rootBoiler["wWCurTmp"] = (float)EMS_Boiler.wWCurTmp / 10; - if (EMS_Boiler.wWCurFlow != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.wWCurFlow != EMS_VALUE_INT_NOTSET) { rootBoiler["wWCurFlow"] = (float)EMS_Boiler.wWCurFlow / 10; - if (EMS_Boiler.curFlowTemp < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_Boiler.curFlowTemp < EMS_VALUE_USHORT_NOTSET) { rootBoiler["curFlowTemp"] = (float)EMS_Boiler.curFlowTemp / 10; - if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) { rootBoiler["retTemp"] = (float)EMS_Boiler.retTemp / 10; - if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) { rootBoiler["switchTemp"] = (float)EMS_Boiler.switchTemp / 10; - if (EMS_Boiler.sysPress != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.sysPress != EMS_VALUE_INT_NOTSET) { rootBoiler["sysPress"] = (float)EMS_Boiler.sysPress / 10; - if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) { rootBoiler["boilTemp"] = (float)EMS_Boiler.boilTemp / 10; - if (EMS_Boiler.exhaustTemp < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_Boiler.exhaustTemp < EMS_VALUE_USHORT_NOTSET) { rootBoiler["exhaustTemp"] = (float)EMS_Boiler.exhaustTemp / 10; - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); - - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWOnetime"] = _bool_to_char(s, EMS_Boiler.wWOneTime); - - if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); - - if (EMS_Boiler.burnGas != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.burnGas != EMS_VALUE_BOOL_NOTSET) { rootBoiler["burnGas"] = _bool_to_char(s, EMS_Boiler.burnGas); - - if (EMS_Boiler.flameCurr < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_Boiler.flameCurr < EMS_VALUE_USHORT_NOTSET) { rootBoiler["flameCurr"] = (float)(int16_t)EMS_Boiler.flameCurr / 10; - - if (EMS_Boiler.heatPmp != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.heatPmp != EMS_VALUE_BOOL_NOTSET) { rootBoiler["heatPmp"] = _bool_to_char(s, EMS_Boiler.heatPmp); - - if (EMS_Boiler.fanWork != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.fanWork != EMS_VALUE_BOOL_NOTSET) { rootBoiler["fanWork"] = _bool_to_char(s, EMS_Boiler.fanWork); - - if (EMS_Boiler.ignWork != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.ignWork != EMS_VALUE_BOOL_NOTSET) { rootBoiler["ignWork"] = _bool_to_char(s, EMS_Boiler.ignWork); - - if (EMS_Boiler.heating_temp != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.heating_temp != EMS_VALUE_INT_NOTSET) { rootBoiler["heating_temp"] = EMS_Boiler.heating_temp; - if (EMS_Boiler.pump_mod_max != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.pump_mod_max != EMS_VALUE_INT_NOTSET) { rootBoiler["pump_mod_max"] = EMS_Boiler.pump_mod_max; - if (EMS_Boiler.pump_mod_min != EMS_VALUE_INT_NOTSET) + } + if (EMS_Boiler.pump_mod_min != EMS_VALUE_INT_NOTSET) { rootBoiler["pump_mod_min"] = EMS_Boiler.pump_mod_min; - - if (EMS_Boiler.wWHeat != EMS_VALUE_BOOL_NOTSET) + } + if (EMS_Boiler.wWHeat != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWHeat"] = _bool_to_char(s, EMS_Boiler.wWHeat); - - if (abs(EMS_Boiler.wWStarts) != EMS_VALUE_LONG_NOTSET) + } + if (abs(EMS_Boiler.wWStarts) != EMS_VALUE_LONG_NOTSET) { rootBoiler["wWStarts"] = (float)EMS_Boiler.wWStarts; - if (abs(EMS_Boiler.wWWorkM) != EMS_VALUE_LONG_NOTSET) + } + if (abs(EMS_Boiler.wWWorkM) != EMS_VALUE_LONG_NOTSET) { rootBoiler["wWWorkM"] = (float)EMS_Boiler.wWWorkM; - if (abs(EMS_Boiler.UBAuptime) != EMS_VALUE_LONG_NOTSET) + } + if (abs(EMS_Boiler.UBAuptime) != EMS_VALUE_LONG_NOTSET) { rootBoiler["UBAuptime"] = (float)EMS_Boiler.UBAuptime; - - if (abs(EMS_Boiler.burnStarts) != EMS_VALUE_LONG_NOTSET) + } + if (abs(EMS_Boiler.burnStarts) != EMS_VALUE_LONG_NOTSET) { rootBoiler["burnStarts"] = (float)EMS_Boiler.burnStarts; - if (abs(EMS_Boiler.burnWorkMin) != EMS_VALUE_LONG_NOTSET) + } + if (abs(EMS_Boiler.burnWorkMin) != EMS_VALUE_LONG_NOTSET) { rootBoiler["burnWorkMin"] = (float)EMS_Boiler.burnWorkMin; - if (abs(EMS_Boiler.heatWorkMin) != EMS_VALUE_LONG_NOTSET) + } + if (abs(EMS_Boiler.heatWorkMin) != EMS_VALUE_LONG_NOTSET) { rootBoiler["heatWorkMin"] = (float)EMS_Boiler.heatWorkMin; + } if (EMS_Boiler.serviceCode != EMS_VALUE_USHORT_NOTSET) { rootBoiler["ServiceCode"] = EMS_Boiler.serviceCodeChar; rootBoiler["ServiceCodeNumber"] = EMS_Boiler.serviceCode; } - serializeJson(doc, data, sizeof(data)); myDebugLog("Publishing boiler data via MQTT"); - myESP.mqttPublish(TOPIC_BOILER_DATA, data); + myESP.mqttPublish(TOPIC_BOILER_DATA, doc); // see if the heating or hot tap water has changed, if so send // last_boilerActive stores heating in bit 1 and tap water in bit 2 static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off if (last_boilerActive != ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive)) { - myDebugLog("Publishing hot water and heating states via MQTT"); myESP.mqttPublish(TOPIC_BOILER_TAPWATER_ACTIVE, EMS_Boiler.tapwaterActive == 1 ? "1" : "0"); myESP.mqttPublish(TOPIC_BOILER_HEATING_ACTIVE, EMS_Boiler.heatingActive == 1 ? "1" : "0"); - last_boilerActive = ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive); // remember last state } } // handle the thermostat values void publishEMSValues_thermostat() { - char s[20] = {0}; // for formatting strings - StaticJsonDocument doc; - char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; - JsonObject rootThermostat = doc.to(); + StaticJsonDocument doc; + JsonObject rootThermostat = doc.to(); + JsonObject dataThermostat; + + bool has_data = false; for (uint8_t hc_v = 1; hc_v <= EMS_THERMOSTAT_MAXHC; hc_v++) { _EMS_Thermostat_HC * thermostat = &EMS_Thermostat.hc[hc_v - 1]; // only send if we have an active Heating Circuit with an actual setpoint temp temperature values if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET)) { - // build new json object - char hc[10]; // hc{1-4} - strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); - strlcat(hc, _int_to_char(s, thermostat->hc), sizeof(hc)); - JsonObject dataThermostat = rootThermostat.createNestedObject(hc); - uint8_t model = ems_getThermostatModel(); + uint8_t model = ems_getThermostatModel(); // fetch model flags + has_data = true; + + if (myESP.mqttUseNestedJson()) { + // create nested json for each HC + char hc[10]; // hc{1-4} + strlcpy(hc, THERMOSTAT_HC, sizeof(hc)); + char s[20]; // for formatting strings + strlcat(hc, _int_to_char(s, thermostat->hc), sizeof(hc)); + dataThermostat = rootThermostat.createNestedObject(hc); + } else { + dataThermostat = rootThermostat; + } // different logic depending on thermostat types if (model == EMS_DEVICE_FLAG_EASY) { @@ -808,26 +835,46 @@ void publishEMSValues_thermostat() { } else if (thermoMode == EMS_THERMOSTAT_MODE_NIGHT) { dataThermostat[THERMOSTAT_MODE] = "night"; } + + + // if its not nested, send immediately + if (!myESP.mqttUseNestedJson()) { + char topic[30]; + char s[20]; // for formatting strings + strlcpy(topic, TOPIC_THERMOSTAT_DATA, sizeof(topic)); + strlcat(topic, _int_to_char(s, thermostat->hc), sizeof(topic)); // append hc to topic + char data[MYESP_JSON_MAXSIZE_MEDIUM]; + serializeJson(doc, data); + myESP.mqttPublish(topic, data); + } } } - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing thermostat data via MQTT"); - myESP.mqttPublish(TOPIC_THERMOSTAT_DATA, data); + // if we're using nested json, send all in one go + if (myESP.mqttUseNestedJson() && has_data) { + char data[MYESP_JSON_MAXSIZE_MEDIUM]; + serializeJson(doc, data); + myESP.mqttPublish(TOPIC_THERMOSTAT_DATA, data); + } + + if (has_data) { + myDebugLog("Publishing thermostat data via MQTT"); + } } // publish mixing data +// only sending if we have an active hc void publishEMSValues_mixing() { - char s[20] = {0}; // for formatting strings - StaticJsonDocument doc; - char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; - JsonObject rootMixing = doc.to(); + char s[20]; // for formatting strings + StaticJsonDocument doc; + JsonObject rootMixing = doc.to(); + bool has_data = false; for (uint8_t hc_v = 1; hc_v <= EMS_MIXING_MAXHC; hc_v++) { _EMS_MixingModule_HC * mixingHC = &EMS_MixingModule.hc[hc_v - 1]; - // only send if we have an active Heating Circuit with real data if (mixingHC->active) { + has_data = true; char hc[10]; // hc{1-4} strlcpy(hc, MIXING_HC, sizeof(hc)); strlcat(hc, _int_to_char(s, mixingHC->hc), sizeof(hc)); @@ -845,8 +892,9 @@ void publishEMSValues_mixing() { for (uint8_t wwc_v = 1; wwc_v <= EMS_MIXING_MAXWWC; wwc_v++) { _EMS_MixingModule_WWC * mixingWWC = &EMS_MixingModule.wwc[wwc_v - 1]; - // only send if we have an active Warm water Circuit with real data + if (mixingWWC->active) { + has_data = true; char wwc[10]; // wwc{1-2} strlcpy(wwc, MIXING_WWC, sizeof(wwc)); strlcat(wwc, _int_to_char(s, mixingWWC->wwc), sizeof(wwc)); @@ -860,72 +908,69 @@ void publishEMSValues_mixing() { } } - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing mixing data via MQTT"); - myESP.mqttPublish(TOPIC_MIXING_DATA, data); + if (has_data) { + myDebugLog("Publishing mixing data via MQTT"); + myESP.mqttPublish(TOPIC_MIXING_DATA, doc); + } } // For SM10 and SM100/SM200 Solar Modules void publishEMSValues_solar() { - StaticJsonDocument doc; - char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; - JsonObject rootSM = doc.to(); + StaticJsonDocument doc; + JsonObject rootSM = doc.to(); - if (EMS_SolarModule.collectorTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_SolarModule.collectorTemp > EMS_VALUE_SHORT_NOTSET) { rootSM[SM_COLLECTORTEMP] = (float)EMS_SolarModule.collectorTemp / 10; - - if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) + } + if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) { rootSM[SM_BOTTOMTEMP] = (float)EMS_SolarModule.bottomTemp / 10; - - if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) + } + if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) { rootSM[SM_PUMPMODULATION] = EMS_SolarModule.pumpModulation; - + } if (EMS_SolarModule.pump != EMS_VALUE_BOOL_NOTSET) { - char s[20] = {0}; // for formatting strings + char s[20]; rootSM[SM_PUMP] = _bool_to_char(s, EMS_SolarModule.pump); } - if (EMS_SolarModule.pumpWorkMin != EMS_VALUE_LONG_NOTSET) { rootSM[SM_PUMPWORKMIN] = (float)EMS_SolarModule.pumpWorkMin; } - - if (EMS_SolarModule.EnergyLastHour < EMS_VALUE_USHORT_NOTSET) + if (EMS_SolarModule.EnergyLastHour < EMS_VALUE_USHORT_NOTSET) { rootSM[SM_ENERGYLASTHOUR] = (float)EMS_SolarModule.EnergyLastHour / 10; - - if (EMS_SolarModule.EnergyToday < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_SolarModule.EnergyToday < EMS_VALUE_USHORT_NOTSET) { rootSM[SM_ENERGYTODAY] = EMS_SolarModule.EnergyToday; - - if (EMS_SolarModule.EnergyTotal < EMS_VALUE_USHORT_NOTSET) + } + if (EMS_SolarModule.EnergyTotal < EMS_VALUE_USHORT_NOTSET) { rootSM[SM_ENERGYTOTAL] = (float)EMS_SolarModule.EnergyTotal / 10; + } - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing SM data via MQTT"); - myESP.mqttPublish(TOPIC_SM_DATA, data); + myDebugLog("Publishing solar module data via MQTT"); + myESP.mqttPublish(TOPIC_SM_DATA, doc); } // handle HeatPump void publishEMSValues_heatpump() { - StaticJsonDocument doc; - char data[MQTT_MAX_PAYLOAD_SIZE] = {0}; - JsonObject rootHP = doc.to(); + StaticJsonDocument doc; + JsonObject rootHP = doc.to(); - if (EMS_HeatPump.HPModulation != EMS_VALUE_INT_NOTSET) + if (EMS_HeatPump.HPModulation != EMS_VALUE_INT_NOTSET) { rootHP[HP_PUMPMODULATION] = EMS_HeatPump.HPModulation; - - if (EMS_HeatPump.HPSpeed != EMS_VALUE_INT_NOTSET) + } + if (EMS_HeatPump.HPSpeed != EMS_VALUE_INT_NOTSET) { rootHP[HP_PUMPSPEED] = EMS_HeatPump.HPSpeed; + } - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing HeatPump data via MQTT"); - myESP.mqttPublish(TOPIC_HP_DATA, data); + myDebugLog("Publishing peat pump data via MQTT"); + myESP.mqttPublish(TOPIC_HP_DATA, doc); } // Publish shower data void do_publishShowerData() { - StaticJsonDocument doc; - JsonObject rootShower = doc.to(); - rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0"; - rootShower[TOPIC_SHOWER_ALERT] = EMSESP_Settings.shower_alert ? "1" : "0"; + StaticJsonDocument doc; + JsonObject rootShower = doc.to(); + rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0"; + rootShower[TOPIC_SHOWER_ALERT] = EMSESP_Settings.shower_alert ? "1" : "0"; // only publish shower duration if there is a value char s[50] = {0}; @@ -938,13 +983,8 @@ void do_publishShowerData() { rootShower[TOPIC_SHOWER_DURATION] = s; } - char data[300] = {0}; - serializeJson(doc, data, sizeof(data)); - myDebugLog("Publishing shower data via MQTT"); - - // Publish MQTT forcing retain to be off - myESP.mqttPublish(TOPIC_SHOWER_DATA, data, false); + myESP.mqttPublish(TOPIC_SHOWER_DATA, doc, false); // Publish MQTT forcing retain to be off } // send values via MQTT @@ -955,16 +995,18 @@ void publishEMSValues(bool force) { return; } - if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_BOILER) || force)) { - publishEMSValues_boiler(); - ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_BOILER); // unset flag - } - if (ems_getThermostatEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT) || force)) { publishEMSValues_thermostat(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT); // unset flag } + return; // XXX + + if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_BOILER) || force)) { + publishEMSValues_boiler(); + ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_BOILER); // unset flag + } + if (ems_getMixingModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_MIXING) || force)) { publishEMSValues_mixing(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_MIXING); // unset flag @@ -1073,8 +1115,6 @@ bool LoadSaveCallback(MYESP_FSACTION_t action, JsonObject settings) { return false; } - // serializeJsonPretty(settings, Serial); // for debugging - EMSESP_Settings.led = settings["led"]; EMSESP_Settings.led_gpio = settings["led_gpio"] | EMSESP_LED_GPIO; EMSESP_Settings.dallas_gpio = settings["dallas_gpio"] | EMSESP_DALLAS_GPIO; @@ -1372,7 +1412,7 @@ void saveEMSDevices() { strlcpy(EMSESP_Settings.known_devices, s, sizeof(s)); - myDebug("The device IDs %s%s%swill be automatically scanned when EMS-ESP boots up.", COLOR_BOLD_ON, EMSESP_Settings.known_devices, COLOR_BOLD_OFF); + myDebug_P(PSTR("The device IDs %s%s%swill be automatically scanned when EMS-ESP boots up."), COLOR_BOLD_ON, EMSESP_Settings.known_devices, COLOR_BOLD_OFF); myESP.saveSettings(); } diff --git a/src/version.h b/src/version.h index e64fc27fb..fb2102c46 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b39" +#define APP_VERSION "1.9.5b40" From e7dacc2c1596d82b3d0196382a6cd8e2e019f5c0 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 23 Feb 2020 14:26:31 +0100 Subject: [PATCH 152/195] fix typo --- src/ems-esp.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 826465bca..cb89e54a4 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -1000,8 +1000,6 @@ void publishEMSValues(bool force) { ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT); // unset flag } - return; // XXX - if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_BOILER) || force)) { publishEMSValues_boiler(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_BOILER); // unset flag From 5d7feb172210633c17ed5066f1a90e568012f029 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 23 Feb 2020 15:47:14 +0100 Subject: [PATCH 153/195] added 2 x warm water boiler temps --- src/ems-esp.cpp | 11 ++- src/ems.cpp | 241 ++++++++++++++++++++++++---------------------- src/ems.h | 3 + src/ems_utils.cpp | 2 +- src/version.h | 2 +- 5 files changed, 141 insertions(+), 118 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index cb89e54a4..13dac5f9e 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -352,6 +352,9 @@ void showInfo() { _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); _renderLongValue("Burner # starts", "times", EMS_Boiler.burnStarts); @@ -629,7 +632,7 @@ void publishSensorValues() { // publish Boiler data via MQTT void publishEMSValues_boiler() { - const size_t capacity = JSON_OBJECT_SIZE(34); // must recalculate if more objects addded https://arduinojson.org/v6/assistant/ + const size_t capacity = JSON_OBJECT_SIZE(36); // must recalculate if more objects addded https://arduinojson.org/v6/assistant/ DynamicJsonDocument doc(capacity); JsonObject rootBoiler = doc.to(); @@ -688,6 +691,12 @@ void publishEMSValues_boiler() { if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) { rootBoiler["boilTemp"] = (float)EMS_Boiler.boilTemp / 10; } + if (EMS_Boiler.wwStorageTemp1 < EMS_VALUE_USHORT_NOTSET) { + rootBoiler["wwStorageTemp1"] = (float)EMS_Boiler.wwStorageTemp1 / 10; + } + if (EMS_Boiler.wwStorageTemp2 < EMS_VALUE_USHORT_NOTSET) { + rootBoiler["wwStorageTemp2"] = (float)EMS_Boiler.wwStorageTemp2 / 10; + } if (EMS_Boiler.exhaustTemp < EMS_VALUE_USHORT_NOTSET) { rootBoiler["exhaustTemp"] = (float)EMS_Boiler.exhaustTemp / 10; } diff --git a/src/ems.cpp b/src/ems.cpp index 566f4a975..71b6b4d6d 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -148,24 +148,26 @@ void ems_init() { EMS_Boiler.wWDesinfectTemp = EMS_VALUE_INT_NOTSET; // Warm Water desinfection temperature to prevent infection EMS_Boiler.wWComfort = EMS_VALUE_INT_NOTSET; // WW comfort mode - // UBAMonitorFast - EMS_Boiler.selFlowTemp = EMS_VALUE_INT_NOTSET; // Selected flow temperature - EMS_Boiler.curFlowTemp = EMS_VALUE_USHORT_NOTSET; // Current flow temperature - EMS_Boiler.retTemp = EMS_VALUE_USHORT_NOTSET; // Return temperature - EMS_Boiler.burnGas = EMS_VALUE_BOOL_NOTSET; // Gas on/off - EMS_Boiler.fanWork = EMS_VALUE_BOOL_NOTSET; // Fan on/off - EMS_Boiler.ignWork = EMS_VALUE_BOOL_NOTSET; // Ignition on/off - EMS_Boiler.heatPmp = EMS_VALUE_BOOL_NOTSET; // Boiler pump on/off - EMS_Boiler.wWHeat = EMS_VALUE_INT_NOTSET; // 3-way valve on WW - EMS_Boiler.wWCirc = EMS_VALUE_BOOL_NOTSET; // Circulation on/off - EMS_Boiler.selBurnPow = EMS_VALUE_INT_NOTSET; // Burner max power % - EMS_Boiler.curBurnPow = EMS_VALUE_INT_NOTSET; // Burner current power % - EMS_Boiler.flameCurr = EMS_VALUE_USHORT_NOTSET; // Flame current in micro amps - EMS_Boiler.sysPress = EMS_VALUE_INT_NOTSET; // System pressure + // UBAMonitorFast - 0x18 on EMS1 + EMS_Boiler.selFlowTemp = EMS_VALUE_INT_NOTSET; // Selected flow temperature + EMS_Boiler.curFlowTemp = EMS_VALUE_USHORT_NOTSET; // Current flow temperature + EMS_Boiler.wwStorageTemp1 = EMS_VALUE_USHORT_NOTSET; // warm water storage temp 1 + EMS_Boiler.wwStorageTemp2 = EMS_VALUE_USHORT_NOTSET; // warm water storage temp 2 + EMS_Boiler.retTemp = EMS_VALUE_USHORT_NOTSET; // Return temperature + EMS_Boiler.burnGas = EMS_VALUE_BOOL_NOTSET; // Gas on/off + EMS_Boiler.fanWork = EMS_VALUE_BOOL_NOTSET; // Fan on/off + EMS_Boiler.ignWork = EMS_VALUE_BOOL_NOTSET; // Ignition on/off + EMS_Boiler.heatPmp = EMS_VALUE_BOOL_NOTSET; // Boiler pump on/off + EMS_Boiler.wWHeat = EMS_VALUE_INT_NOTSET; // 3-way valve on WW + EMS_Boiler.wWCirc = EMS_VALUE_BOOL_NOTSET; // Circulation on/off + EMS_Boiler.selBurnPow = EMS_VALUE_INT_NOTSET; // Burner max power % + EMS_Boiler.curBurnPow = EMS_VALUE_INT_NOTSET; // Burner current power % + EMS_Boiler.flameCurr = EMS_VALUE_USHORT_NOTSET; // Flame current in micro amps + EMS_Boiler.sysPress = EMS_VALUE_INT_NOTSET; // System pressure strlcpy(EMS_Boiler.serviceCodeChar, "??", sizeof(EMS_Boiler.serviceCodeChar)); EMS_Boiler.serviceCode = EMS_VALUE_USHORT_NOTSET; - // UBAMonitorSlow + // UBAMonitorSlow - 0x19 on EMS1 EMS_Boiler.extTemp = EMS_VALUE_SHORT_NOTSET; // Outside temperature EMS_Boiler.boilTemp = EMS_VALUE_USHORT_NOTSET; // Boiler temperature EMS_Boiler.exhaustTemp = EMS_VALUE_USHORT_NOTSET; // Exhaust temperature @@ -503,14 +505,17 @@ void _debugPrintTelegram(const char * prefix, _EMS_RxTelegram * EMS_RxTelegram, strlcat(output_str, _smallitoa3(t_msec, buffer), sizeof(output_str)); } - if (!raw) + if (!raw) { strlcat(output_str, COLOR_RESET, sizeof(output_str)); + } strlcat(output_str, ") ", sizeof(output_str)); - if (!raw) + if (!raw) { strlcat(output_str, color, sizeof(output_str)); + } + // add the header strlcat(output_str, prefix, sizeof(output_str)); if (!raw) { @@ -523,14 +528,15 @@ void _debugPrintTelegram(const char * prefix, _EMS_RxTelegram * EMS_RxTelegram, } if (!raw) { - strlcat(output_str, "(CRC=", sizeof(output_str)); - strlcat(output_str, _hextoa(data[length - 1], buffer), sizeof(output_str)); - strlcat(output_str, ")", sizeof(output_str)); + //strlcat(output_str, "(CRC=", sizeof(output_str)); + //strlcat(output_str, _hextoa(data[length - 1], buffer), sizeof(output_str)); + //strlcat(output_str, ")", sizeof(output_str)); // print number of data bytes only if its a valid telegram if (data_len) { - strlcat(output_str, " #data=", sizeof(output_str)); + strlcat(output_str, "(#data=", sizeof(output_str)); strlcat(output_str, itoa(data_len, buffer, 10), sizeof(output_str)); + strlcat(output_str, ")", sizeof(output_str)); } strlcat(output_str, COLOR_RESET, sizeof(output_str)); @@ -907,73 +913,6 @@ void ems_parseTelegram(uint8_t * telegram, uint8_t length) { _processType(&EMS_RxTelegram); } -/** - * print the telegram - */ -void _printMessage(_EMS_RxTelegram * EMS_RxTelegram) { - // header info - uint8_t src = EMS_RxTelegram->src; - uint8_t dest = EMS_RxTelegram->dest; - uint16_t type = EMS_RxTelegram->type; - uint8_t length = EMS_RxTelegram->data_length; - - char output_str[200] = {0}; - char color_s[20] = {0}; - char type_s[30]; - - // source - (void)ems_getDeviceTypeDescription(src, type_s); - strlcpy(output_str, type_s, sizeof(output_str)); - strlcat(output_str, " -> ", sizeof(output_str)); - - // destination - (void)ems_getDeviceTypeDescription(dest, type_s); - strlcat(output_str, type_s, sizeof(output_str)); - - if (dest == EMS_Sys_Status.emsbusid) { - strlcpy(color_s, COLOR_YELLOW, sizeof(color_s)); // me - } else if (dest == EMS_ID_NONE) { - strlcpy(color_s, COLOR_GREEN, sizeof(color_s)); // broadcast - } else { - strlcpy(color_s, COLOR_MAGENTA, sizeof(color_s)); // everything else - } - - if (length) { - char buffer[16] = {0}; - // type - strlcat(output_str, ", type 0x", sizeof(output_str)); - - if (EMS_RxTelegram->emsplus) { - strlcat(output_str, _hextoa(type >> 8, buffer), sizeof(output_str)); - strlcat(output_str, _hextoa(type & 0xFF, buffer), sizeof(output_str)); - } else { - strlcat(output_str, _hextoa(type, buffer), sizeof(output_str)); - } - } - - strlcat(output_str, ", ", sizeof(output_str)); - - if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_THERMOSTAT) { - // only print ones to/from thermostat if logging is set to thermostat only - if ((src == EMS_Thermostat.device_id) || (dest == EMS_Thermostat.device_id)) { - _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); - } - } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_SOLARMODULE) { - // only print ones to/from thermostat if logging is set to thermostat only - if ((src == EMS_SolarModule.device_id) || (dest == EMS_SolarModule.device_id)) { - _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); - } - } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_DEVICE) { - // only print ones to/from DeviceID - if ((src == EMS_Sys_Status.emsLogging_ID) || (dest == EMS_Sys_Status.emsLogging_ID)) { - _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); - } - } else { - // always print - _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); - } -} - /** * Remove current Tx telegram from queue and release lock on Tx */ @@ -1101,12 +1040,10 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.wWHeat, 7, 6); _setValue(EMS_RxTelegram, &EMS_Boiler.wWCirc, 7, 7); - // there may also be a BoilTemp in this telegram for Bosch - see https://github.com/proddy/EMS-ESP/issues/206 - // as well as the one from UBAMonitorSlow - // brand is 0=unknown, 1=bosch, 2=junkers, 3=buderus, 4=nefit, 5=sieger, 11=worcester - //if ((EMS_Boiler.brand == 1) || (EMS_Boiler.brand == 2) || (EMS_Boiler.brand == 11)) { - _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 11); // 0x8000 if not available - //} + // warm water storage sensors (if present) + // wwStorageTemp2 is also used by some brands as the boiler temperature - see https://github.com/proddy/EMS-ESP/issues/206 + _setValue(EMS_RxTelegram, &EMS_Boiler.wwStorageTemp1, 9); // 0x8300 if not available + _setValue(EMS_RxTelegram, &EMS_Boiler.wwStorageTemp2, 11); // 0x8000 if not available _setValue(EMS_RxTelegram, &EMS_Boiler.retTemp, 13); _setValue(EMS_RxTelegram, &EMS_Boiler.flameCurr, 15); @@ -1157,7 +1094,7 @@ void _process_UBAMonitorFast2(_EMS_RxTelegram * EMS_RxTelegram) { /** * UBAMonitorSlow - type 0x19 - central heating monitor part 2 (27 bytes long) * received every 60 seconds - * e.g. 08 00 19 00 80 00 02 41 80 00 00 00 00 00 03 91 7B 05 B8 40 00 00 00 04 92 AD 00 5E EE 80 00 (CRC=C9) #data=27 + * e.g. 08 00 19 00 80 00 02 41 80 00 00 00 00 00 03 91 7B 05 B8 40 00 00 00 04 92 AD 00 5E EE 80 00 * 08 0B 19 00 FF EA 02 47 80 00 00 00 00 62 03 CA 24 2C D6 23 00 00 00 27 4A B6 03 6E 43 * 00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 17 19 20 21 22 23 24 */ @@ -1197,7 +1134,7 @@ void _process_UBAOutdoorTemp(_EMS_RxTelegram * EMS_RxTelegram) { * type 0xB1 - data from the RC10 thermostat (0x17) * For reading the temp values only * received every 60 seconds - * e.g. 17 0B 91 00 80 1E 00 CB 27 00 00 00 00 05 01 00 CB 00 (CRC=47), #data=14 + * e.g. 17 0B 91 00 80 1E 00 CB 27 00 00 00 00 05 01 00 CB 00 */ void _process_RC10StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 @@ -1752,7 +1689,7 @@ bool _addDevice(_EMS_DEVICE_TYPE device_type, uint8_t product_id, uint8_t device /** * type 0x07 - shows us the connected EMS devices - * e.g. 08 00 07 00 0B 80 00 00 00 00 00 00 00 00 00 00 00 (CRC=47) #data=13 + * e.g. 08 00 07 00 0B 80 00 00 00 00 00 00 00 00 00 00 00 * Junkers has 15 bytes of data * each byte is a bitmask for which devices are active * byte 1 = range 0x08 - 0x0F, byte 2=0x10 - 0x17 etc... @@ -2896,7 +2833,7 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_SOLAR, EMS_TYPE_ISM1StatusMessage, "ISM1StatusMessage", _process_ISM1StatusMessage}, {EMS_DEVICE_UPDATE_FLAG_SOLAR, EMS_TYPE_ISM1Set, "ISM1Set", _process_ISM1Set}, - // heatpumps + // heat pumps {EMS_DEVICE_UPDATE_FLAG_HEATPUMP, EMS_TYPE_HPMonitor1, "HeatPumpMonitor1", _process_HPMonitor1}, {EMS_DEVICE_UPDATE_FLAG_HEATPUMP, EMS_TYPE_HPMonitor2, "HeatPumpMonitor2", _process_HPMonitor2}, @@ -2973,24 +2910,98 @@ int8_t _ems_findType(uint16_t type) { return (typeFound ? i : -1); } +/** + * print the telegram + */ +void _printMessage(_EMS_RxTelegram * EMS_RxTelegram, const int show_type) { + // only print if we have logging enabled + if (EMS_Sys_Status.emsLogging < EMS_SYS_LOGGING_THERMOSTAT) { + return; + } + + // header info + uint8_t src = EMS_RxTelegram->src; + uint8_t dest = EMS_RxTelegram->dest; + uint16_t type = EMS_RxTelegram->type; + uint8_t length = EMS_RxTelegram->data_length; + + char output_str[200] = {0}; + char color_s[20] = {0}; + char type_s[30]; + + // source + (void)ems_getDeviceTypeDescription(src, type_s); + strlcpy(output_str, type_s, sizeof(output_str)); + strlcat(output_str, " -> ", sizeof(output_str)); + + // destination + (void)ems_getDeviceTypeDescription(dest, type_s); + strlcat(output_str, type_s, sizeof(output_str)); + + if (dest == EMS_Sys_Status.emsbusid) { + strlcpy(color_s, COLOR_YELLOW, sizeof(color_s)); // me + } else if (dest == EMS_ID_NONE) { + strlcpy(color_s, COLOR_GREEN, sizeof(color_s)); // broadcast + } else { + strlcpy(color_s, COLOR_MAGENTA, sizeof(color_s)); // everything else + } + + // print type + if (length) { + char buffer[16]; + strlcat(output_str, ", ", sizeof(output_str)); + if (show_type != -1) { + strlcat(output_str, EMS_Types[show_type].typeString, sizeof(output_str)); + } + strlcat(output_str, "(0x", sizeof(output_str)); + + if (EMS_RxTelegram->emsplus) { + strlcat(output_str, _hextoa(type >> 8, buffer), sizeof(output_str)); + strlcat(output_str, _hextoa(type & 0xFF, buffer), sizeof(output_str)); + } else { + strlcat(output_str, _hextoa(type, buffer), sizeof(output_str)); + } + strlcat(output_str, ")", sizeof(output_str)); + } + + strlcat(output_str, ", ", sizeof(output_str)); + + if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_THERMOSTAT) { + // only print ones to/from thermostat if logging is set to thermostat only + if ((src == EMS_Thermostat.device_id) || (dest == EMS_Thermostat.device_id)) { + _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); + } + } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_SOLARMODULE) { + // only print ones to/from thermostat if logging is set to thermostat only + if ((src == EMS_SolarModule.device_id) || (dest == EMS_SolarModule.device_id)) { + _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); + } + } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_DEVICE) { + // only print ones to/from DeviceID + if ((src == EMS_Sys_Status.emsLogging_ID) || (dest == EMS_Sys_Status.emsLogging_ID)) { + _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); + } + } else { + // always print + _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); + } +} + /** * print detailed telegram * and then call its callback if there is one defined */ void _ems_processTelegram(_EMS_RxTelegram * EMS_RxTelegram) { - // print out the telegram for verbose mode - if (EMS_Sys_Status.emsLogging >= EMS_SYS_LOGGING_THERMOSTAT) { - _printMessage(EMS_RxTelegram); - } - // ignore telegrams that don't have any data if (EMS_RxTelegram->data_length == 0) { + _printMessage(EMS_RxTelegram); return; } - // we're only interested in broadcast messages (dest is 0x00) or ones for us (dest is 0x0B) + // we're only interested in broadcast messages (dest is 0x00) or ones for us uint8_t dest = EMS_RxTelegram->dest; if ((dest != EMS_ID_NONE) && (dest != EMS_Sys_Status.emsbusid)) { + _printMessage(EMS_RxTelegram); return; } @@ -2998,21 +3009,21 @@ void _ems_processTelegram(_EMS_RxTelegram * EMS_RxTelegram) { uint16_t type = EMS_RxTelegram->type; int8_t i = _ems_findType(type); if (i == -1) { + _printMessage(EMS_RxTelegram); return; // not found } - // if it's a common type (across ems devices) or something specifically for us process it. - // dest will be EMS_ID_NONE and offset 0x00 for a broadcast message - if ((EMS_Types[i].processType_cb) != nullptr) { - // print non-verbose message - if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_BASIC) { - myDebug_P(PSTR("<--- %s(0x%02X)"), EMS_Types[i].typeString, type); - } - // call callback function to process the telegram - (void)EMS_Types[i].processType_cb(EMS_RxTelegram); + // we have a matching type ID, print the detailed telegram to the console + if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_BASIC) { + myDebug_P(PSTR("<--- %s(0x%02X)"), EMS_Types[i].typeString, type); + } else { + _printMessage(EMS_RxTelegram, i); // print with index to the Type string + } - // see if we need to flag something has changed - ems_Device_add_flags(EMS_Types[i].device_flag); + // process it by calling its respective callback function + if ((EMS_Types[i].processType_cb) != nullptr) { + (void)EMS_Types[i].processType_cb(EMS_RxTelegram); + ems_Device_add_flags(EMS_Types[i].device_flag); // see if we need to flag something has changed } EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_IDLE; diff --git a/src/ems.h b/src/ems.h index 006145821..a1793ca4f 100644 --- a/src/ems.h +++ b/src/ems.h @@ -291,6 +291,8 @@ typedef struct { // UBAMonitorFast uint8_t selFlowTemp; // Selected flow temperature uint16_t curFlowTemp; // Current flow temperature + uint16_t wwStorageTemp1; // warm water storage temp 1 + uint16_t wwStorageTemp2; // warm water storage temp 2 uint16_t retTemp; // Return temperature uint8_t burnGas; // Gas on/off uint8_t fanWork; // Fan on/off @@ -505,6 +507,7 @@ void _debugPrintPackage(const char * prefix, _EMS_RxTelegram * EMS_RxTelegram void _ems_clearTxData(); void _removeTxQueue(); int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram); +void _printMessage(_EMS_RxTelegram * EMS_RxTelegram, const int show_type = -1); // global so can referenced in other classes extern _EMS_Sys_Status EMS_Sys_Status; diff --git a/src/ems_utils.cpp b/src/ems_utils.cpp index f4d4f4c06..65c1a8e7c 100644 --- a/src/ems_utils.cpp +++ b/src/ems_utils.cpp @@ -80,7 +80,7 @@ char * _short_to_char(char * s, int16_t value, uint8_t decimals) { // decimals: 0 = no division, 1=divide value by 10, 2=divide by 2, 10=divide value by 100 char * _ushort_to_char(char * s, uint16_t value, uint8_t decimals) { // remove errors or invalid values - if (value >= EMS_VALUE_USHORT_NOTSET) { + if (value >= EMS_VALUE_USHORT_NOTSET) { // 0x7D00 strlcpy(s, "?", 10); return (s); } diff --git a/src/version.h b/src/version.h index fb2102c46..488ad62e4 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b40" +#define APP_VERSION "1.9.5b41" From e48d380e26c3be9f217d0cd6c889aafd4e6f4c33 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 24 Feb 2020 09:51:59 +0100 Subject: [PATCH 154/195] web mqtt size fix - #298 --- src/MyESP.cpp | 9 +++++---- src/MyESP.h | 2 +- src/version.h | 2 +- 3 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 018408143..7e0fee31f 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -1905,15 +1905,16 @@ bool MyESP::_fs_loadConfig() { _mqtt_keepalive = mqtt["keepalive"] | MQTT_KEEPALIVE; _mqtt_retain = mqtt["retain"]; _mqtt_qos = mqtt["qos"] | MQTT_QOS; - _mqtt_nestedjson = mqtt["nestedjson"]; // default to on + _mqtt_nestedjson = mqtt["nestedjson"] | true; // default to on _mqtt_password = strdup(mqtt["password"] | ""); _mqtt_base = strdup(mqtt["base"] | MQTT_BASE_DEFAULT); JsonObject ntp = doc["ntp"]; _ntp_server = strdup(ntp["server"] | ""); _ntp_interval = ntp["interval"] | 60; - if (_ntp_interval < 2) + if (_ntp_interval < 2) { _ntp_interval = NTP_INTERVAL_DEFAULT; + } _ntp_enabled = ntp["enabled"]; _ntp_timezone = ntp["timezone"] | NTP_TIMEZONE_DEFAULT; @@ -2575,7 +2576,7 @@ bool MyESP::_fs_sendConfig() { // send custom status via ws void MyESP::_sendCustomStatus() { - DynamicJsonDocument doc(MYESP_JSON_MAXSIZE_MEDIUM); + DynamicJsonDocument doc(MYESP_JSON_MAXSIZE_LARGE); JsonObject root = doc.to(); @@ -2591,7 +2592,7 @@ void MyESP::_sendCustomStatus() { (_web_callback_f)(root); } - char buffer[MYESP_JSON_MAXSIZE_MEDIUM]; + char buffer[MYESP_JSON_MAXSIZE_LARGE]; size_t len = serializeJson(root, buffer); #ifdef MYESP_DEBUG diff --git a/src/MyESP.h b/src/MyESP.h index c8b755db6..affe0af42 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.29" +#define MYESP_VERSION "1.2.30" #include #include diff --git a/src/version.h b/src/version.h index 488ad62e4..c9f9494e7 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b41" +#define APP_VERSION "1.9.5b42" From 9a6c5eeca0b90ac0ca823b6bbe74516dfe99b464 Mon Sep 17 00:00:00 2001 From: proddy Date: Mon, 24 Feb 2020 16:20:35 +0100 Subject: [PATCH 155/195] add enough mqtt memory for all boiler objects --- src/ems-esp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 13dac5f9e..9784c5ebd 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -632,7 +632,7 @@ void publishSensorValues() { // publish Boiler data via MQTT void publishEMSValues_boiler() { - const size_t capacity = JSON_OBJECT_SIZE(36); // must recalculate if more objects addded https://arduinojson.org/v6/assistant/ + const size_t capacity = JSON_OBJECT_SIZE(41); // must recalculate if more objects addded https://arduinojson.org/v6/assistant/ DynamicJsonDocument doc(capacity); JsonObject rootBoiler = doc.to(); From 74ef11631c4abe5c7f52a5e3e6ac110a6e2cbdda Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 25 Feb 2020 15:47:28 +0100 Subject: [PATCH 156/195] added Moduline 200 & Sieger ES72 --- src/ems_devices.h | 4 +++- src/version.h | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index c46da34a5..0878d4125 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -271,6 +271,7 @@ static const _EMS_Device EMS_Devices[] = { // 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 + {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", EMS_DEVICE_FLAG_RC20}, // 0x17 {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30N}, // 0x10 - based on RC35 {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 @@ -279,7 +280,8 @@ static const _EMS_Device EMS_Devices[] = { {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1010", EMS_DEVICE_FLAG_RC300 | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, 0x38 - cannot write // Sieger - {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 + {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 + {113, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES72", EMS_DEVICE_FLAG_RC20}, // 0x17 // Junkers {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 diff --git a/src/version.h b/src/version.h index c9f9494e7..c978fe68c 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b42" +#define APP_VERSION "1.9.5b43" From 459610be515d33caebe8936bac4643119bddaa39 Mon Sep 17 00:00:00 2001 From: proddy Date: Tue, 25 Feb 2020 16:58:28 +0100 Subject: [PATCH 157/195] text changes --- CHANGELOG.md | 1 + src/ems.cpp | 1 - 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 56df86ab9..3d0aefffd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `set bus_id ` to support multiple EMS-ESP circuits. Default is 0x0B to mimic a service key. - MQTT publish messages are queued and gracefully published every second to avoid TCP blocks - Added `mqtt_nestedjson` option to disable multiple data records being nested into a single JSON string +- Support for Moduline 200 and Sieger ES72 thermostats ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 diff --git a/src/ems.cpp b/src/ems.cpp index 71b6b4d6d..126cd9f04 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1790,7 +1790,6 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { _addDevice(EMS_DEVICE_TYPE_BOILER, product_id, EMS_ID_BOILER, EMS_Devices[i].device_desc, version, brand); ems_getBoilerValues(); // get Boiler values that we would usually have to wait for return; // quit - break; } i++; } From c8c95eeadcf39a3da1da24a89beb9682d59a5f1d Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 26 Feb 2020 12:13:38 +0100 Subject: [PATCH 158/195] rename mqttlog to mqttqueue --- src/MyESP.cpp | 8 ++++---- src/MyESP.h | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 7e0fee31f..8090de24e 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -407,7 +407,7 @@ void MyESP::mqttUnsubscribe(const char * topic) { } // print MQTT log -void MyESP::_printMQTTLog() { +void MyESP::_printMQTTQueue() { myDebug_P(PSTR("MQTT publish queue:")); if (_mqtt_queue.empty()) { @@ -865,7 +865,7 @@ void MyESP::_consoleShowHelp() { myDebug_P(PSTR("*")); myDebug_P(PSTR("* Commands:")); myDebug_P(PSTR("* ?/help=show commands, CTRL-D/quit=end telnet session")); - myDebug_P(PSTR("* set, system, restart, mqttlog, kick, save")); + myDebug_P(PSTR("* set, system, restart, mqttqueue, kick, save")); #ifdef CRASH myDebug_P(PSTR("* crash ")); @@ -1197,8 +1197,8 @@ void MyESP::_telnetCommand(char * commandLine) { } // print mqtt log command - if (strcmp(ptrToCommandName, "mqttlog") == 0) { - _printMQTTLog(); + if (strcmp(ptrToCommandName, "mqttqueue") == 0) { + _printMQTTQueue(); return; } diff --git a/src/MyESP.h b/src/MyESP.h index affe0af42..ad20d5be0 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.30" +#define MYESP_VERSION "1.2.31" #include #include @@ -345,7 +345,7 @@ class MyESP { char * _mqttTopic(const char * topic); bool _mqttQueue(const char * topic, const char * payload, bool retain); bool _mqttQueue(const char * topic, JsonDocument payload, bool retain); - void _printMQTTLog(); + void _printMQTTQueue(); void _mqttPublishQueue(); void _mqttRemoveLastPublish(); AsyncMqttClient mqttClient; // the MQTT class From 42d6cb1c9d4b8e72962aa9bcfb2577c0319e4d81 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 26 Feb 2020 12:14:16 +0100 Subject: [PATCH 159/195] added @PhillyGilly SM200 PR - #267 --- CHANGELOG.md | 1 + src/ems.cpp | 23 +++++++++++++++++------ src/ems.h | 40 +++++++++++++++++++++------------------- src/version.h | 2 +- 4 files changed, 40 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3d0aefffd..dca6ced33 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - improved MQTT publishing to stop flooding. `publish_time` must be at least 1 (second) - External sensors (like dallas) are sent as a nested MQTT topic including their unqiue identifier +- `mqttlog` console command renamed to `mqttqueue` ### Removed - `autodetect scan` diff --git a/src/ems.cpp b/src/ems.cpp index 126cd9f04..327dc2046 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -195,8 +195,10 @@ void ems_init() { // Solar Module values EMS_SolarModule.collectorTemp = EMS_VALUE_SHORT_NOTSET; // collector temp from SM10/SM100/SM200 EMS_SolarModule.bottomTemp = EMS_VALUE_SHORT_NOTSET; // bottom temp from SM10/SM100/SM200 + EMS_SolarModule.bottomTemp2 = EMS_VALUE_SHORT_NOTSET; // bottom temp 2 from SM200 EMS_SolarModule.pumpModulation = EMS_VALUE_INT_NOTSET; // modulation solar pump SM10/SM100/SM200 EMS_SolarModule.pump = EMS_VALUE_BOOL_NOTSET; // pump active + EMS_SolarModule.valveStatus = EMS_VALUE_BOOL_NOTSET; // valve status from SM200 EMS_SolarModule.EnergyLastHour = EMS_VALUE_USHORT_NOTSET; EMS_SolarModule.EnergyToday = EMS_VALUE_USHORT_NOTSET; EMS_SolarModule.EnergyTotal = EMS_VALUE_USHORT_NOTSET; @@ -1494,18 +1496,23 @@ void _process_SM10Monitor(_EMS_RxTelegram * EMS_RxTelegram) { } /* - * SM100Monitor - type 0x0262 EMS+ + * SM100Monitor - type 0x0262 EMS+ - for SM100 and SM200 + * e.g. B0 0B FF 00 02 62 00 44 02 7A 80 00 80 00 80 00 80 00 80 00 80 00 00 7C 80 00 80 00 80 00 80 * e.g, 30 00 FF 00 02 62 01 AC * 30 00 FF 18 02 62 80 00 * 30 00 FF 00 02 62 01 A1 - for bottom temps + * bytes 0+1 = TS1 Temperature sensor for collector + * bytes 2+3 = TS2 Temperature sensor bottom cylinder 1 + * bytes 16+17 = TS5 Temperature sensor bottom cylinder 2 */ void _process_SM100Monitor(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_SolarModule.collectorTemp, 0); // is *10 _setValue(EMS_RxTelegram, &EMS_SolarModule.bottomTemp, 2); // is *10 + _setValue(EMS_RxTelegram, &EMS_SolarModule.bottomTemp2, 16); // is *10 } /* - * SM100Status - type 0x0264 EMS+ for pump modulation + * SM100Status - type 0x0264 EMS+ for pump modulation - for SM100 and SM200 * e.g. 30 00 FF 09 02 64 64 = 100% * 30 00 FF 09 02 64 1E = 30% */ @@ -1514,10 +1521,14 @@ void _process_SM100Status(_EMS_RxTelegram * EMS_RxTelegram) { } /* - * SM100Status2 - type 0x026A EMS+ for pump on/off at offset 0x0A + * SM100Status2 - type 0x026A EMS+ for pump on/off at offset 0x0A - for SM100 and SM200 + * e.g. B0 00 FF 00 02 6A 03 03 03 03 01 03 03 03 03 03 01 03 + * byte 4 = VS2 3-way valve for cylinder 2 : test=01, on=04 and off=03 + * byte 10 = PS1 Solar circuit pump for collector array 1: test=01, on=04 and off=03 */ void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 10, 2); // 03=off 04=on + _setValue(EMS_RxTelegram, &EMS_SolarModule.valveStatus, 4, 2); // 03=off 04=on + _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 10, 2); // 03=off 04=on } /* @@ -1998,7 +2009,7 @@ void ems_getSolarModuleValues() { if (EMS_SolarModule.device_flags == EMS_DEVICE_FLAG_SM10) { ems_doReadCommand(EMS_TYPE_SM10Monitor, EMS_SolarModule.device_id); // fetch all from SM10Monitor } else if (EMS_SolarModule.device_flags == EMS_DEVICE_FLAG_SM100) { - ems_doReadCommand(EMS_TYPE_SM100Monitor, EMS_SolarModule.device_id); // fetch all from SM100Monitor + ems_doReadCommand(EMS_TYPE_SM100Monitor, EMS_SolarModule.device_id); // fetch all from SM100Monitor (also for SM200) } } } @@ -2823,7 +2834,7 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_BOILER, EMS_TYPE_UBAMonitorFast2, "UBAMonitorFast2", _process_UBAMonitorFast2}, {EMS_DEVICE_UPDATE_FLAG_BOILER, EMS_TYPE_UBAMonitorSlow2, "UBAMonitorSlow2", _process_UBAMonitorSlow2}, - // Solar Module devices + // Solar Module devices. Note SM100 also covers SM200 {EMS_DEVICE_UPDATE_FLAG_SOLAR, EMS_TYPE_SM10Monitor, "SM10Monitor", _process_SM10Monitor}, {EMS_DEVICE_UPDATE_FLAG_SOLAR, EMS_TYPE_SM100Monitor, "SM100Monitor", _process_SM100Monitor}, {EMS_DEVICE_UPDATE_FLAG_SOLAR, EMS_TYPE_SM100Status, "SM100Status", _process_SM100Status}, diff --git a/src/ems.h b/src/ems.h index a1793ca4f..40a2b2dc0 100644 --- a/src/ems.h +++ b/src/ems.h @@ -46,22 +46,23 @@ #define EMS_MIXING_MAXWWC 2 // max number of warm water circuits // Device Flags -#define EMS_DEVICE_FLAG_NONE 0 // no flags set -#define EMS_DEVICE_FLAG_SM10 10 // solar module1 -#define EMS_DEVICE_FLAG_SM100 11 // solar module2 -#define EMS_DEVICE_FLAG_MMPLUS 12 // mixing module EMS+ -#define EMS_DEVICE_FLAG_MM10 13 // mixing modules MM10 and MM50 - -// device flags specific for thermostats -#define EMS_DEVICE_FLAG_NO_WRITE 0x80 // top bit set if write not supported -#define EMS_DEVICE_FLAG_EASY 1 -#define EMS_DEVICE_FLAG_RC10 2 -#define EMS_DEVICE_FLAG_RC20 3 -#define EMS_DEVICE_FLAG_RC30 4 -#define EMS_DEVICE_FLAG_RC30N 5 // newer type of RC30 with RC35 circuit -#define EMS_DEVICE_FLAG_RC35 6 -#define EMS_DEVICE_FLAG_RC300 7 -#define EMS_DEVICE_FLAG_JUNKERS 8 +// They are unique to the model type (mixing, solar, thermostat etc) +enum EMS_DEVICE_FLAG_TYPES : uint8_t { + EMS_DEVICE_FLAG_NONE = 0, + EMS_DEVICE_FLAG_MMPLUS = 20, // mixing EMS+ + EMS_DEVICE_FLAG_MM10 = 21, // mixing MM10, MM50 + EMS_DEVICE_FLAG_SM10 = 10, + EMS_DEVICE_FLAG_SM100 = 11, // for SM100 and SM200 + EMS_DEVICE_FLAG_EASY = 1, + EMS_DEVICE_FLAG_RC10 = 2, + EMS_DEVICE_FLAG_RC20 = 3, + EMS_DEVICE_FLAG_RC30 = 4, + EMS_DEVICE_FLAG_RC30N = 5, // newer type of RC30 with RC35 circuit + EMS_DEVICE_FLAG_RC35 = 6, + EMS_DEVICE_FLAG_RC300 = 7, + EMS_DEVICE_FLAG_JUNKERS = (1 << 6), // 6th bit set if its junkers HT3 + EMS_DEVICE_FLAG_NO_WRITE = (1 << 7) // top bit set if thermostat write not supported +}; typedef enum { EMS_THERMOSTAT_MODE_UNKNOWN, @@ -335,7 +336,6 @@ typedef struct { // calculated values uint8_t tapwaterActive; // Hot tap water is on/off uint8_t heatingActive; // Central heating is on/off - } _EMS_Boiler; /* @@ -388,10 +388,12 @@ typedef struct { const char * device_desc_p; uint8_t product_id; char version[10]; - int16_t collectorTemp; // collector temp - int16_t bottomTemp; // bottom temp + int16_t collectorTemp; // collector temp (TS1) + int16_t bottomTemp; // bottom temp (TS2) + int16_t bottomTemp2; // bottom temp cylinder 2 (TS5) uint8_t pumpModulation; // modulation solar pump uint8_t pump; // pump active + uint8_t valveStatus; // valve status (VS2) int16_t setpoint_maxBottomTemp; // setpoint for maximum collector temp uint16_t EnergyLastHour; uint16_t EnergyToday; diff --git a/src/version.h b/src/version.h index c978fe68c..1fe84677b 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b43" +#define APP_VERSION "1.9.5b44" From e08efa74752c6f588c35179d4a77ff3581ac8656 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 26 Feb 2020 12:59:09 +0100 Subject: [PATCH 160/195] show SM200 in telnet console --- src/ems-esp.cpp | 8 +++++--- src/ems.cpp | 4 ++-- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 9784c5ebd..1e73784f0 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -383,10 +383,12 @@ void showInfo() { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sSolar Module data:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Solar module: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_SOLAR, buffer_type)); - _renderShortValue("Collector temperature", "C", EMS_SolarModule.collectorTemp); - _renderShortValue("Bottom temperature", "C", EMS_SolarModule.bottomTemp); + _renderShortValue("Collector temperature (TS1)", "C", EMS_SolarModule.collectorTemp); + _renderShortValue("Bottom temperature (TS2)", "C", EMS_SolarModule.bottomTemp); + _renderShortValue("Bottom temperature (TS5)", "C", EMS_SolarModule.bottomTemp2); _renderIntValue("Pump modulation", "%", EMS_SolarModule.pumpModulation); - _renderBoolValue("Pump active", EMS_SolarModule.pump); + _renderBoolValue("Valve (VS2) status", EMS_SolarModule.valveStatus); + _renderBoolValue("Pump (PS1) active", EMS_SolarModule.pump); if (EMS_SolarModule.pumpWorkMin != EMS_VALUE_LONG_NOTSET) { myDebug_P(PSTR(" Pump working time: %d days %d hours %d minutes"), EMS_SolarModule.pumpWorkMin / 1440, diff --git a/src/ems.cpp b/src/ems.cpp index 327dc2046..0e1adce6f 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1527,8 +1527,8 @@ void _process_SM100Status(_EMS_RxTelegram * EMS_RxTelegram) { * byte 10 = PS1 Solar circuit pump for collector array 1: test=01, on=04 and off=03 */ void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.valveStatus, 4, 2); // 03=off 04=on - _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 10, 2); // 03=off 04=on + _setValue(EMS_RxTelegram, &EMS_SolarModule.valveStatus, 4, 2); // on if bit 2 set + _setValue(EMS_RxTelegram, &EMS_SolarModule.pump, 10, 2); // on if bit 2 set } /* From 52d8231229830ebd665db1009373f31182fcb854 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 26 Feb 2020 18:14:51 +0100 Subject: [PATCH 161/195] added RC20 and SM200 to MQTT --- src/MyESP.cpp | 34 +++++++++------ src/MyESP.h | 10 ++--- src/ems-esp.cpp | 106 +++++++++++++++++++++++++++++++--------------- src/ems.cpp | 84 +++++++++++++++++++++++++++--------- src/ems_devices.h | 4 ++ src/my_config.h | 4 +- src/version.h | 2 +- 7 files changed, 171 insertions(+), 73 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 8090de24e..1582ccac0 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -432,22 +432,24 @@ void MyESP::_printMQTTQueue() { } // Publish using the user's custom retain flag -void MyESP::mqttPublish(const char * topic, const char * payload) { - _mqttQueue(topic, payload, _mqtt_retain); +bool MyESP::mqttPublish(const char * topic, const char * payload) { + return (_mqttQueue(topic, payload, _mqtt_retain)); } -void MyESP::mqttPublish(const char * topic, JsonDocument payload) { - _mqttQueue(topic, payload, _mqtt_retain); +bool MyESP::mqttPublish(const char * topic, JsonDocument payload) { + return (_mqttQueue(topic, payload, _mqtt_retain)); } // MQTT Publish -void MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { - _mqttQueue(topic, payload, retain); +bool MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { + return (_mqttQueue(topic, payload, retain)); } -void MyESP::mqttPublish(const char * topic, JsonDocument payload, bool retain) { - _mqttQueue(topic, payload, retain); +bool MyESP::mqttPublish(const char * topic, JsonDocument payload, bool retain) { + return (_mqttQueue(topic, payload, retain)); } // put a payload string into the queue +// can't have empty topic +// returns false if can't add to queue bool MyESP::_mqttQueue(const char * topic, const char * payload, bool retain) { if (!mqttClient.connected() || _mqtt_queue.size() >= MQTT_QUEUE_MAX_SIZE || !_hasValue(topic)) { return false; @@ -471,11 +473,19 @@ bool MyESP::_mqttQueue(const char * topic, const char * payload, bool retain) { } // convert json doc to a string buffer and place on queue +// can't have empty payload or topic +// returns false if can't add to queue bool MyESP::_mqttQueue(const char * topic, JsonDocument payload, bool retain) { if (!mqttClient.connected() || _mqtt_queue.size() >= MQTT_QUEUE_MAX_SIZE || !_hasValue(topic)) { return false; } + // check for empty JSON doc - we don't like those + size_t capacity = measureJson(payload); + if (!capacity) { + return false; + } + // create a new message mqtt_message_t element; element.topic = strdup(topic); @@ -484,11 +494,9 @@ bool MyESP::_mqttQueue(const char * topic, JsonDocument payload, bool retain) { element.retry_count = 0; // reserve space for buffer and serialize json into it - const size_t capacity = measureJson(payload) + 1; - if (capacity) { - element.payload = (char *)malloc(capacity); - serializeJson(payload, (char *)element.payload, capacity); - } + capacity++; // add one more to cover the EOL + element.payload = (char *)malloc(capacity); + serializeJson(payload, (char *)element.payload, capacity); #ifdef MYESP_DEBUG myDebug_P(PSTR("[MQTT] Adding to queue: #%d [%s] %s"), _mqtt_queue.size(), element.topic, element.payload); diff --git a/src/MyESP.h b/src/MyESP.h index ad20d5be0..573b04e6f 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.31" +#define MYESP_VERSION "1.2.32" #include #include @@ -280,10 +280,10 @@ class MyESP { bool isMQTTConnected(); bool mqttSubscribe(const char * topic); void mqttUnsubscribe(const char * topic); - void mqttPublish(const char * topic, const char * payload); - void mqttPublish(const char * topic, const char * payload, bool retain); - void mqttPublish(const char * topic, JsonDocument payload); - void mqttPublish(const char * topic, JsonDocument payload, bool retain); + bool mqttPublish(const char * topic, const char * payload); + bool mqttPublish(const char * topic, const char * payload, bool retain); + bool mqttPublish(const char * topic, JsonDocument payload); + bool mqttPublish(const char * topic, JsonDocument payload, bool retain); void setMQTT(mqtt_callback_f callback); bool mqttUseNestedJson(); diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 1e73784f0..8e026d0d5 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -566,14 +566,14 @@ void scanDallas() { } // send all dallas sensor values as a JSON package to MQTT -void publishSensorValues() { +bool publishSensorValues() { // don't send if MQTT is connected if (!myESP.isMQTTConnected() || (EMSESP_Settings.publish_time == -1)) { - return; + return false; } if (!EMSESP_Settings.dallas_sensors) { - return; // no sensors attached + return false; // no sensors attached } // each payload per sensor is 30 bytes so calculate if we have enough space @@ -604,7 +604,7 @@ void publishSensorValues() { if (hasdata) { myDebugLog("Publishing external sensor data via MQTT"); } - return; // exit + return true; // exit } // group all sensors together - https://github.com/proddy/EMS-ESP/issues/327 @@ -625,15 +625,16 @@ void publishSensorValues() { } } - myESP.mqttPublish(TOPIC_EXTERNAL_SENSORS, doc); - if (hasdata) { myDebugLog("Publishing external sensor data via MQTT"); + return (myESP.mqttPublish(TOPIC_EXTERNAL_SENSORS, doc)); } + + return false; } // publish Boiler data via MQTT -void publishEMSValues_boiler() { +bool publishEMSValues_boiler() { const size_t capacity = JSON_OBJECT_SIZE(41); // must recalculate if more objects addded https://arduinojson.org/v6/assistant/ DynamicJsonDocument doc(capacity); JsonObject rootBoiler = doc.to(); @@ -762,9 +763,6 @@ void publishEMSValues_boiler() { rootBoiler["ServiceCodeNumber"] = EMS_Boiler.serviceCode; } - myDebugLog("Publishing boiler data via MQTT"); - myESP.mqttPublish(TOPIC_BOILER_DATA, doc); - // see if the heating or hot tap water has changed, if so send // last_boilerActive stores heating in bit 1 and tap water in bit 2 static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off @@ -773,10 +771,12 @@ void publishEMSValues_boiler() { myESP.mqttPublish(TOPIC_BOILER_HEATING_ACTIVE, EMS_Boiler.heatingActive == 1 ? "1" : "0"); last_boilerActive = ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive); // remember last state } + + return (myESP.mqttPublish(TOPIC_BOILER_DATA, doc)); } // handle the thermostat values -void publishEMSValues_thermostat() { +bool publishEMSValues_thermostat() { StaticJsonDocument doc; JsonObject rootThermostat = doc.to(); JsonObject dataThermostat; @@ -868,14 +868,12 @@ void publishEMSValues_thermostat() { myESP.mqttPublish(TOPIC_THERMOSTAT_DATA, data); } - if (has_data) { - myDebugLog("Publishing thermostat data via MQTT"); - } + return (has_data); } // publish mixing data // only sending if we have an active hc -void publishEMSValues_mixing() { +bool publishEMSValues_mixing() { char s[20]; // for formatting strings StaticJsonDocument doc; JsonObject rootMixing = doc.to(); @@ -920,13 +918,15 @@ void publishEMSValues_mixing() { } if (has_data) { - myDebugLog("Publishing mixing data via MQTT"); myESP.mqttPublish(TOPIC_MIXING_DATA, doc); + return true; } + + return false; } // For SM10 and SM100/SM200 Solar Modules -void publishEMSValues_solar() { +bool publishEMSValues_solar() { StaticJsonDocument doc; JsonObject rootSM = doc.to(); @@ -936,6 +936,9 @@ void publishEMSValues_solar() { if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) { rootSM[SM_BOTTOMTEMP] = (float)EMS_SolarModule.bottomTemp / 10; } + if (EMS_SolarModule.bottomTemp2 > EMS_VALUE_SHORT_NOTSET) { + rootSM[SM_BOTTOMTEMP2] = (float)EMS_SolarModule.bottomTemp2 / 10; + } if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) { rootSM[SM_PUMPMODULATION] = EMS_SolarModule.pumpModulation; } @@ -943,6 +946,10 @@ void publishEMSValues_solar() { char s[20]; rootSM[SM_PUMP] = _bool_to_char(s, EMS_SolarModule.pump); } + if (EMS_SolarModule.valveStatus != EMS_VALUE_BOOL_NOTSET) { + char s[20]; + rootSM[SM_VALVESTATUS] = _bool_to_char(s, EMS_SolarModule.valveStatus); + } if (EMS_SolarModule.pumpWorkMin != EMS_VALUE_LONG_NOTSET) { rootSM[SM_PUMPWORKMIN] = (float)EMS_SolarModule.pumpWorkMin; } @@ -956,12 +963,12 @@ void publishEMSValues_solar() { rootSM[SM_ENERGYTOTAL] = (float)EMS_SolarModule.EnergyTotal / 10; } - myDebugLog("Publishing solar module data via MQTT"); - myESP.mqttPublish(TOPIC_SM_DATA, doc); + return (myESP.mqttPublish(TOPIC_SM_DATA, doc)); } -// handle HeatPump -void publishEMSValues_heatpump() { +// handle Heat Pump +// returns true if added to MQTT queue went ok +bool publishEMSValues_heatpump() { StaticJsonDocument doc; JsonObject rootHP = doc.to(); @@ -972,12 +979,13 @@ void publishEMSValues_heatpump() { rootHP[HP_PUMPSPEED] = EMS_HeatPump.HPSpeed; } - myDebugLog("Publishing peat pump data via MQTT"); - myESP.mqttPublish(TOPIC_HP_DATA, doc); + myDebugLog("Publishing heat pump data via MQTT"); + return (myESP.mqttPublish(TOPIC_HP_DATA, doc)); } // Publish shower data -void do_publishShowerData() { +// returns true if added to MQTT queue went ok +bool do_publishShowerData() { StaticJsonDocument doc; JsonObject rootShower = doc.to(); rootShower[TOPIC_SHOWER_TIMER] = EMSESP_Settings.shower_timer ? "1" : "0"; @@ -995,41 +1003,73 @@ void do_publishShowerData() { } myDebugLog("Publishing shower data via MQTT"); - myESP.mqttPublish(TOPIC_SHOWER_DATA, doc, false); // Publish MQTT forcing retain to be off + return (myESP.mqttPublish(TOPIC_SHOWER_DATA, doc, false)); // Publish MQTT forcing retain to be off } // send values via MQTT // a json object is created for each device type -void publishEMSValues(bool force) { +bool publishEMSValues(bool force) { // don't send if MQTT is not connected or EMS bus is not connected if (!myESP.isMQTTConnected() || (!ems_getBusConnected()) || (EMSESP_Settings.publish_time == -1)) { - return; + return false; } + bool thermo = false; + bool boiler = false; + bool mixing = false; + bool solar = false; + bool heatpump = false; + if (ems_getThermostatEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT) || force)) { - publishEMSValues_thermostat(); + thermo = publishEMSValues_thermostat(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_THERMOSTAT); // unset flag } if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_BOILER) || force)) { - publishEMSValues_boiler(); + boiler = publishEMSValues_boiler(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_BOILER); // unset flag } if (ems_getMixingModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_MIXING) || force)) { - publishEMSValues_mixing(); + mixing = publishEMSValues_mixing(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_MIXING); // unset flag } if (ems_getSolarModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_SOLAR) || force)) { - publishEMSValues_solar(); + solar = publishEMSValues_solar(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_SOLAR); // unset flag } if (ems_getHeatPumpEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_HEATPUMP) || force)) { - publishEMSValues_heatpump(); + heatpump = publishEMSValues_heatpump(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_HEATPUMP); // unset flag } + + if (!thermo && !boiler && !mixing && !solar && !heatpump) { + return false; // nothing was sent + } + + // print + char log_s[50]; + strlcpy(log_s, "Publishing MQTT data for:", sizeof(log_s)); + if (thermo) { + strlcat(log_s, " thermostat", sizeof(log_s)); + } + if (boiler) { + strlcat(log_s, " boiler", sizeof(log_s)); + } + if (mixing) { + strlcat(log_s, " mixing", sizeof(log_s)); + } + if (solar) { + strlcat(log_s, " solar", sizeof(log_s)); + } + if (heatpump) { + strlcat(log_s, " heatpump", sizeof(log_s)); + } + myDebugLog(log_s); + + return true; } // publishes value via MQTT @@ -1038,7 +1078,7 @@ void publishValues(bool force, bool send_sensor) { return; } - myDebugLog("Starting scheduled MQTT publish..."); + // myDebugLog("Starting scheduled MQTT publish..."); publishEMSValues(force); if (send_sensor) { publishSensorValues(); diff --git a/src/ems.cpp b/src/ems.cpp index 0e1adce6f..54e6fe716 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1146,6 +1146,29 @@ void _process_RC10StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC10StatusMessage_curr); // is * 10 } +/** + * type 0xAD - data from the RC20 thermostat (0x17) + * e.g. 17 00 AD 0D 2E + */ +void _process_RC20StatusMessage2(_EMS_RxTelegram * EMS_RxTelegram) { + uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 + EMS_Thermostat.hc[hc].active = true; + + _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, 0); // is * 2, force as single byte +} + +/** + * type 0xAE - data from the RC20 thermostat (0x17) + * e.g. 17 00 AE 00 80 12 2E 00 D0 00 00 64 + */ +void _process_RC20StatusMessage3(_EMS_RxTelegram * EMS_RxTelegram) { + uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 + EMS_Thermostat.hc[hc].active = true; + + // _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RC20StatusMessage_setpoint); // is * 2, force as single byte + //_setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC20StatusMessage_curr); // is * 10 +} + /** * type 0x91 - data from the RC20 thermostat (0x17) - 15 bytes long * For reading the temp values only @@ -2814,13 +2837,16 @@ void ems_testTelegram(uint8_t test_num) { */ const _EMS_Type EMS_Types[] = { + // types that we know about but don't have handlers yet + {EMS_DEVICE_UPDATE_FLAG_NONE, EMS_TYPE_UBAFlags, "UBAFlags", nullptr}, + {EMS_DEVICE_UPDATE_FLAG_NONE, EMS_TYPE_UBAMaintenanceStatusMessage, "UBAMaintenanceStatusMessage", nullptr}, + {EMS_DEVICE_UPDATE_FLAG_NONE, EMS_TYPE_MC10Status, "MC10Status", nullptr}, + // common {EMS_DEVICE_UPDATE_FLAG_NONE, EMS_TYPE_Version, "Version", _process_Version}, - {EMS_DEVICE_UPDATE_FLAG_NONE, EMS_TYPE_UBADevices, "UBADevices", _process_UBADevices}, - {EMS_DEVICE_UPDATE_FLAG_NONE, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, - {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RCOutdoorTempMessage, "RCOutdoorTempMessage", _process_RCOutdoorTempMessage}, // UBA/Boiler + {EMS_DEVICE_UPDATE_FLAG_NONE, EMS_TYPE_UBADevices, "UBADevices", _process_UBADevices}, {EMS_DEVICE_UPDATE_FLAG_BOILER, EMS_TYPE_UBAMonitorFast, "UBAMonitorFast", _process_UBAMonitorFast}, {EMS_DEVICE_UPDATE_FLAG_BOILER, EMS_TYPE_UBAMonitorSlow, "UBAMonitorSlow", _process_UBAMonitorSlow}, {EMS_DEVICE_UPDATE_FLAG_BOILER, EMS_TYPE_UBAMonitorWWMessage, "UBAMonitorWWMessage", _process_UBAMonitorWWMessage}, @@ -2847,6 +2873,10 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_HEATPUMP, EMS_TYPE_HPMonitor1, "HeatPumpMonitor1", _process_HPMonitor1}, {EMS_DEVICE_UPDATE_FLAG_HEATPUMP, EMS_TYPE_HPMonitor2, "HeatPumpMonitor2", _process_HPMonitor2}, + // Thermostats... + {EMS_DEVICE_UPDATE_FLAG_NONE, EMS_TYPE_RCTime, "RCTime", _process_RCTime}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RCOutdoorTempMessage, "RCOutdoorTempMessage", _process_RCOutdoorTempMessage}, + // RC10 {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC10Set, "RC10Set", _process_RC10Set}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC10StatusMessage, "RC10StatusMessage", _process_RC10StatusMessage}, @@ -2854,6 +2884,8 @@ const _EMS_Type EMS_Types[] = { // RC20 and RC20RF {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20Set, "RC20Set", _process_RC20Set}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20StatusMessage, "RC20StatusMessage", _process_RC20StatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20StatusMessage2, "RC20StatusMessage2", _process_RC20StatusMessage2}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20StatusMessage3, "RC20StatusMessage3", _process_RC20StatusMessage3}, // RC30 {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC30Set, "RC30Set", _process_RC30Set}, @@ -2906,6 +2938,10 @@ uint8_t _EMS_Types_max = ArraySize(EMS_Types); * or -1 if not found */ int8_t _ems_findType(uint16_t type) { + if (type == 0) { + return -1; + } + uint8_t i = 0; bool typeFound = false; // scan through known ID types @@ -2923,7 +2959,7 @@ int8_t _ems_findType(uint16_t type) { /** * print the telegram */ -void _printMessage(_EMS_RxTelegram * EMS_RxTelegram, const int show_type) { +void _printMessage(_EMS_RxTelegram * EMS_RxTelegram, const int8_t show_type) { // only print if we have logging enabled if (EMS_Sys_Status.emsLogging < EMS_SYS_LOGGING_THERMOSTAT) { return; @@ -2957,11 +2993,14 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram, const int show_type) { } // print type + // if we're been given an index to the type string, use that if (length) { char buffer[16]; strlcat(output_str, ", ", sizeof(output_str)); if (show_type != -1) { strlcat(output_str, EMS_Types[show_type].typeString, sizeof(output_str)); + } else { + strlcat(output_str, "Type", sizeof(output_str)); } strlcat(output_str, "(0x", sizeof(output_str)); @@ -3002,38 +3041,43 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram, const int show_type) { * and then call its callback if there is one defined */ void _ems_processTelegram(_EMS_RxTelegram * EMS_RxTelegram) { + // first see if we know which type this. -1 if not found. + uint16_t type = EMS_RxTelegram->type; + int8_t type_index = _ems_findType(type); + // ignore telegrams that don't have any data if (EMS_RxTelegram->data_length == 0) { - _printMessage(EMS_RxTelegram); + _printMessage(EMS_RxTelegram, type_index); return; } - // we're only interested in broadcast messages (dest is 0x00) or ones for us + // we're only interested in broadcast messages (dest is 0x00) or ones sent to us uint8_t dest = EMS_RxTelegram->dest; if ((dest != EMS_ID_NONE) && (dest != EMS_Sys_Status.emsbusid)) { - _printMessage(EMS_RxTelegram); + _printMessage(EMS_RxTelegram, type_index); return; } - // see if we recognize the type first by scanning our known EMS types list - uint16_t type = EMS_RxTelegram->type; - int8_t i = _ems_findType(type); - if (i == -1) { - _printMessage(EMS_RxTelegram); - return; // not found - } - // we have a matching type ID, print the detailed telegram to the console if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_BASIC) { - myDebug_P(PSTR("<--- %s(0x%02X)"), EMS_Types[i].typeString, type); + if (type == -1) { + myDebug_P(PSTR("<--- Type(0x%02X)"), type); + } else { + myDebug_P(PSTR("<--- %s(0x%02X)"), EMS_Types[type_index].typeString, type); + } } else { - _printMessage(EMS_RxTelegram, i); // print with index to the Type string + _printMessage(EMS_RxTelegram, type_index); // print with index to the Type string + } + + // quit if we don't know how to handle this type + if (type_index == -1) { + return; } // process it by calling its respective callback function - if ((EMS_Types[i].processType_cb) != nullptr) { - (void)EMS_Types[i].processType_cb(EMS_RxTelegram); - ems_Device_add_flags(EMS_Types[i].device_flag); // see if we need to flag something has changed + if ((EMS_Types[type_index].processType_cb) != nullptr) { + (void)EMS_Types[type_index].processType_cb(EMS_RxTelegram); + ems_Device_add_flags(EMS_Types[type_index].device_flag); // see if we need to flag something has changed } EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_IDLE; diff --git a/src/ems_devices.h b/src/ems_devices.h index 0878d4125..cf3897cea 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -27,6 +27,7 @@ #define EMS_TYPE_UBAMonitorSlow 0x19 // is an automatic monitor broadcast #define EMS_TYPE_UBAMonitorWWMessage 0x34 // is an automatic monitor broadcast #define EMS_TYPE_UBAMaintenanceStatusMessage 0x1C // is an automatic monitor broadcast +#define EMS_TYPE_MC10Status 0x2A #define EMS_TYPE_UBAParameterWW 0x33 #define EMS_TYPE_UBATotalUptimeMessage 0x14 #define EMS_TYPE_UBAFlags 0x35 @@ -109,6 +110,9 @@ #define EMS_OFFSET_RC20StatusMessage_setpoint 1 // setpoint temp #define EMS_OFFSET_RC20StatusMessage_curr 2 // current temp +#define EMS_TYPE_RC20StatusMessage2 0xAD +#define EMS_TYPE_RC20StatusMessage3 0xAE + #define EMS_TYPE_RC20Set 0xA8 // for setting values like temp and mode #define EMS_OFFSET_RC20Set_mode 23 // position of thermostat mode #define EMS_OFFSET_RC20Set_temp 28 // position of thermostat setpoint temperature diff --git a/src/my_config.h b/src/my_config.h index 27117b416..91e1fdea0 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -61,9 +61,11 @@ // MQTT for SM10/SM100/SM200 Solar Module #define TOPIC_SM_DATA "sm_data" // topic name #define SM_COLLECTORTEMP "collectortemp" // collector temp -#define SM_BOTTOMTEMP "bottomtemp" // bottom temp +#define SM_BOTTOMTEMP "bottomtemp" // bottom temp1 +#define SM_BOTTOMTEMP2 "bottomtemp2" // bottom temp2 #define SM_PUMPMODULATION "pumpmodulation" // pump modulation #define SM_PUMP "pump" // pump active +#define SM_VALVESTATUS "valvestatus" // valve status #define SM_ENERGYLASTHOUR "energylasthour" // energy last hour #define SM_ENERGYTODAY "energytoday" // energy today #define SM_ENERGYTOTAL "energytotal" // energy total diff --git a/src/version.h b/src/version.h index 1fe84677b..5ef00f5f9 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b44" +#define APP_VERSION "1.9.5b45" From 9aba737f0af65fabf09960e3c29480decda93138 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 26 Feb 2020 18:31:38 +0100 Subject: [PATCH 162/195] added RC20 support - #334 --- src/ems.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 54e6fe716..128c89fc3 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1154,7 +1154,7 @@ void _process_RC20StatusMessage2(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 EMS_Thermostat.hc[hc].active = true; - _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, 0); // is * 2, force as single byte + // _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, 0); // is * 2, force as single byte } /** @@ -1165,8 +1165,9 @@ void _process_RC20StatusMessage3(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 EMS_Thermostat.hc[hc].active = true; - // _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RC20StatusMessage_setpoint); // is * 2, force as single byte - //_setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC20StatusMessage_curr); // is * 10 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, 0, 7); // day/night MSB 7th bit is day + _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, 2); // is * 2, force as single byte + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, 3); // is * 10 } /** From b7dad9d9d9733033d79a6bcdcca432d4d1741edc Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 28 Feb 2020 14:05:27 +0100 Subject: [PATCH 163/195] removed no-write flag for Junkers FR100 --- src/ems_devices.h | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/ems_devices.h b/src/ems_devices.h index cf3897cea..d95c8e190 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -273,15 +273,15 @@ static const _EMS_Device EMS_Devices[] = { {157, EMS_DEVICE_TYPE_THERMOSTAT, "Buderus RC200/Bosch CW100/Junkers CW100", EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write // 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 - {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", EMS_DEVICE_FLAG_RC20}, // 0x17 - {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30N}, // 0x10 - based on RC35 - {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 - {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 - {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x19 - {158, EMS_DEVICE_TYPE_THERMOSTAT, "RC300/RC310/Moduline 3000/Bosch CW400/W-B Sense II", EMS_DEVICE_FLAG_RC300}, // 0x10 - {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1010", EMS_DEVICE_FLAG_RC300 | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, 0x38 - cannot write + {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 + {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", EMS_DEVICE_FLAG_RC20}, // 0x17 + {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30N}, // 0x10 - based on RC35 + {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 + {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 + {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x19 + {158, EMS_DEVICE_TYPE_THERMOSTAT, "RC300/RC310/Moduline 3000/Bosch CW400/W-B Sense II", EMS_DEVICE_FLAG_RC300}, // 0x10 + {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1000/1010", EMS_DEVICE_FLAG_RC300 | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, 0x38 - cannot write // Sieger {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 @@ -290,7 +290,7 @@ static const _EMS_Device EMS_Devices[] = { // Junkers {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 {106, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW200", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write - {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write + {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 {108, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR110", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write From b43fd46e272e077faf46d7f973decab07de9a01a Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 28 Feb 2020 14:06:31 +0100 Subject: [PATCH 164/195] NTP debug text change --- src/MyESP.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 1582ccac0..3327da461 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -1546,9 +1546,9 @@ void MyESP::showSystemStats() { myDebug_P(PSTR(" [MQTT] is disconnected")); } - if (_have_ntp_time) { + if ((_have_ntp_time) && (NTP.tcr->abbrev != nullptr)) { uint32_t real_time = getSystemTime(); - myDebug_P(PSTR(" [NTP] Local Time is %02d:%02d:%02d %s (%d)"), to_hour(real_time), to_minute(real_time), to_second(real_time), NTP.tcr->abbrev, real_time); + myDebug_P(PSTR(" [NTP] Local Time is %02d:%02d:%02d %s"), to_hour(real_time), to_minute(real_time), to_second(real_time), NTP.tcr->abbrev); } #ifdef CRASH From 51535a2dcf89ca5e9c881dcb7c1da4e201c027ae Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 28 Feb 2020 14:06:58 +0100 Subject: [PATCH 165/195] fix for multiple Heating Circuits on Junkers thermostats --- src/ems.cpp | 12 ++++++------ src/version.h | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 128c89fc3..6ed0e7f61 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -2441,14 +2441,14 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; } else if (hc_num == 2) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC2; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC2; } else if (hc_num == 3) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC3; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC3; } else if (hc_num == 4) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC4; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC4; } EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } diff --git a/src/version.h b/src/version.h index 5ef00f5f9..dc214cd18 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b45" +#define APP_VERSION "1.9.5b46" From 81188eccd9e2261d82b4c59d49b76a478ff92d06 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 28 Feb 2020 14:22:41 +0100 Subject: [PATCH 166/195] make Moduline 200 behave like RC10 --- src/ems.cpp | 24 ++++++++++++++---------- src/ems_devices.h | 4 ++-- 2 files changed, 16 insertions(+), 12 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 6ed0e7f61..3f92dd7ac 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -2331,25 +2331,28 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d"), _float_to_char(s, temperature), hc_num); } - if (model == EMS_DEVICE_FLAG_RC20) { - EMS_TxTelegram.type = EMS_TYPE_RC20Set; - EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; - - } else if (model == EMS_DEVICE_FLAG_RC10) { + if (model == EMS_DEVICE_FLAG_RC10) { EMS_TxTelegram.type = EMS_TYPE_RC10Set; EMS_TxTelegram.offset = EMS_OFFSET_RC10Set_temp; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC10StatusMessage; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } - } else if (model == EMS_DEVICE_FLAG_RC30) { + else if (model == EMS_DEVICE_FLAG_RC20) { + EMS_TxTelegram.type = EMS_TYPE_RC20Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } + + else if (model == EMS_DEVICE_FLAG_RC30) { EMS_TxTelegram.type = EMS_TYPE_RC30Set; EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } - } else if (model == EMS_DEVICE_FLAG_RC300) { + else if (model == EMS_DEVICE_FLAG_RC300) { // check mode to determine offset if (EMS_Thermostat.hc[hc_num - 1].mode == 1) { // auto EMS_TxTelegram.offset = 0x08; // auto offset @@ -2372,8 +2375,9 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) } EMS_TxTelegram.type_validate = EMS_ID_NONE; // validate by reading from a different telegram + } - } else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { + else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { switch (temptype) { case 1: // change the night temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; diff --git a/src/ems_devices.h b/src/ems_devices.h index d95c8e190..75b6e2001 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -273,9 +273,9 @@ static const _EMS_Device EMS_Devices[] = { {157, EMS_DEVICE_TYPE_THERMOSTAT, "Buderus RC200/Bosch CW100/Junkers CW100", EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write // Buderus/Nefit specific - {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 + {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 + {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", EMS_DEVICE_FLAG_RC10}, // 0x17 {77, EMS_DEVICE_TYPE_THERMOSTAT, "RC20/Moduline 300", EMS_DEVICE_FLAG_RC20}, // 0x17 - {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", EMS_DEVICE_FLAG_RC20}, // 0x17 {67, EMS_DEVICE_TYPE_THERMOSTAT, "RC30", EMS_DEVICE_FLAG_RC30N}, // 0x10 - based on RC35 {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 From 658a230ea36770e4f8de2668f35e9b2f6d679066 Mon Sep 17 00:00:00 2001 From: ypaindaveine Date: Sat, 29 Feb 2020 21:11:49 +0100 Subject: [PATCH 167/195] Add features to WW messages (0x33, 0x34) to improve WW monitoring. --- src/ems-esp.cpp | 48 +++++++++++++++++++++++++++++++++++++++++++++--- src/ems.cpp | 15 ++++++++++++++- src/ems.h | 6 ++++++ src/my_config.h | 1 + 4 files changed, 66 insertions(+), 4 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 8e026d0d5..415aeb715 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -299,6 +299,18 @@ void showInfo() { // UBAParameterWW _renderBoolValue("Warm Water activated", EMS_Boiler.wWActivated); _renderBoolValue("Warm Water circulation pump available", EMS_Boiler.wWCircPump); + myDebug_P(PSTR(" Warm Water circulation pump type: %s"), EMS_Boiler.wWCircPumpType ? "charge pump" : "3-way pump"); + if (EMS_Boiler.wWCircPumpMode == 7) { + myDebug_P(PSTR(" Warm Water circulation pump freq: continuous")); + } else { + char s[7]; + char buffer[2]; + buffer[0] = (EMS_Boiler.wWCircPumpMode % 10) + '0'; + buffer[1] = '\0'; + strlcpy(s, buffer, 3); + strlcat(s, "x3min", sizeof(s)); + myDebug_P(PSTR(" Warm Water circulation pump freq: %s"), s); + } 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) { @@ -309,7 +321,7 @@ void showInfo() { _renderIntValue("Warm Water selected temperature", "C", EMS_Boiler.wWSelTemp); _renderIntValue("Warm Water desinfection temperature", "C", EMS_Boiler.wWDesinfectTemp); - _renderBoolValue("Warm Water Circulation active", EMS_Boiler.wWCirc); + _renderBoolValue("Warm Water circulation active", EMS_Boiler.wWCirc); // UBAMonitorWWMessage _renderUShortValue("Warm Water current temperature", "C", EMS_Boiler.wWCurTmp); @@ -635,7 +647,7 @@ bool publishSensorValues() { // publish Boiler data via MQTT bool publishEMSValues_boiler() { - const size_t capacity = JSON_OBJECT_SIZE(41); // must recalculate if more objects addded https://arduinojson.org/v6/assistant/ + const size_t capacity = JSON_OBJECT_SIZE(47); // must recalculate if more objects addded https://arduinojson.org/v6/assistant/ DynamicJsonDocument doc(capacity); JsonObject rootBoiler = doc.to(); @@ -670,6 +682,12 @@ bool publishEMSValues_boiler() { if (EMS_Boiler.wWCircPump != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWCircPump"] = EMS_Boiler.wWCircPump; } + if (EMS_Boiler.wWCircPumpType != EMS_VALUE_BOOL_NOTSET) { + rootBoiler["wWCiPuType"] = EMS_Boiler.wWCircPumpType; + } + if (EMS_Boiler.wWCircPumpMode != EMS_VALUE_INT_NOTSET) { + rootBoiler["wWCiPuMode"] = EMS_Boiler.wWCircPumpMode; + } if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) { rootBoiler["outdoorTemp"] = (float)EMS_Boiler.extTemp / 10; } @@ -709,6 +727,18 @@ bool publishEMSValues_boiler() { if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWOnetime"] = _bool_to_char(s, EMS_Boiler.wWOneTime); } + if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + rootBoiler["wWDesinfecting"] = _bool_to_char(s, EMS_Boiler.wWDesinfecting); + } + if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + rootBoiler["wWReady"] = _bool_to_char(s, EMS_Boiler.wWReadiness); + } + if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + rootBoiler["wWRecharge"] = _bool_to_char(s, EMS_Boiler.wWRecharging); + } + if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + rootBoiler["wWTempOK"] = _bool_to_char(s, EMS_Boiler.wWTemperaturOK); + } if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); } @@ -846,7 +876,19 @@ bool publishEMSValues_thermostat() { } else if (thermoMode == EMS_THERMOSTAT_MODE_NIGHT) { dataThermostat[THERMOSTAT_MODE] = "night"; } - + // Render Thermostat Mode2, only if its in Auto mode + if (thermoMode == EMS_THERMOSTAT_MODE_AUTO) { + thermoMode = _getThermostatMode2(hc_v); + if (thermoMode == EMS_THERMOSTAT_MODE_NIGHT) { + dataThermostat[THERMOSTAT_MODETYPE] = "night"; + } else if (thermoMode == EMS_THERMOSTAT_MODE_DAY) { + dataThermostat[THERMOSTAT_MODETYPE] = "day"; + } else if (thermoMode == EMS_THERMOSTAT_MODE_COMFORT) { + dataThermostat[THERMOSTAT_MODETYPE] = "comfort"; + } else if (thermoMode == EMS_THERMOSTAT_MODE_ECO) { + dataThermostat[THERMOSTAT_MODETYPE] = "eco"; + } + } // if its not nested, send immediately if (!myESP.mqttUseNestedJson()) { diff --git a/src/ems.cpp b/src/ems.cpp index 3f92dd7ac..296190414 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -145,6 +145,8 @@ void ems_init() { EMS_Boiler.wWActivated = EMS_VALUE_BOOL_NOTSET; // Warm Water activated EMS_Boiler.wWSelTemp = EMS_VALUE_INT_NOTSET; // Warm Water selected temperature EMS_Boiler.wWCircPump = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump available + EMS_Boiler.wWCircPumpMode = EMS_VALUE_INT_NOTSET; // Warm Water circulation pump mode + EMS_Boiler.wWCircPumpType = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump mode EMS_Boiler.wWDesinfectTemp = EMS_VALUE_INT_NOTSET; // Warm Water desinfection temperature to prevent infection EMS_Boiler.wWComfort = EMS_VALUE_INT_NOTSET; // WW comfort mode @@ -182,6 +184,11 @@ void ems_init() { 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 + EMS_Boiler.wWDesinfecting = EMS_VALUE_INT_NOTSET; // Warm Water desinfection on/off + EMS_Boiler.wWReadiness = EMS_VALUE_INT_NOTSET; // Warm Water readiness on/off + EMS_Boiler.wWRecharging = EMS_VALUE_INT_NOTSET; // Warm Water recharge on/off + EMS_Boiler.wWTemperaturOK = EMS_VALUE_INT_NOTSET; // Warm Water temperatur ok on/off + EMS_Boiler.wWCurFlow = EMS_VALUE_INT_NOTSET; // WW current flow temp // UBATotalUptimeMessage @@ -927,7 +934,7 @@ void _removeTxQueue() { /** * Check if hot tap water or heating is active - * using a quick hack for checking the heating. Selected Flow Temp >= 70 + * using a quick hack for checking the heating. Selected Flow Temp >= 30 */ void _checkActive() { // hot tap water, using flow to check instead of the burner power @@ -948,6 +955,8 @@ void _checkActive() { void _process_UBAParameterWW(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.wWActivated, 1); // 0xFF means on _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPump, 6); // 0xFF means on + _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPumpMode, 7); // 1=1x3min... 6=6x3min, 7=continuous + _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPumpType, 10); // 0 = charge pump, 0xff = 3-way valve _setValue(EMS_RxTelegram, &EMS_Boiler.wWSelTemp, 2); _setValue(EMS_RxTelegram, &EMS_Boiler.wWDesinfectTemp, 8); _setValue(EMS_RxTelegram, &EMS_Boiler.wWComfort, EMS_OFFSET_UBAParameterWW_wwComfort); @@ -979,6 +988,10 @@ void _process_UBAMonitorWWMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.wWStarts, 13); _setValue(EMS_RxTelegram, &EMS_Boiler.wWWorkM, 10); _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.wWTemperaturOK, 5, 5); _setValue(EMS_RxTelegram, &EMS_Boiler.wWCurFlow, 9); } diff --git a/src/ems.h b/src/ems.h index 40a2b2dc0..98f7cb860 100644 --- a/src/ems.h +++ b/src/ems.h @@ -286,6 +286,8 @@ typedef struct { uint8_t wWActivated; // Warm Water activated uint8_t wWSelTemp; // Warm Water selected temperature uint8_t wWCircPump; // Warm Water circulation pump Available + uint8_t wWCircPumpMode; // Warm Water circulation pump mode (1 = 1x3min, ..., 6=6x3min, 7 continuous) + uint8_t wWCircPumpType; // Warm Water circulation pump type (0 = charge pump, 0xff = 3-way pump) uint8_t wWDesinfectTemp; // Warm Water desinfection temperature uint8_t wWComfort; // Warm water comfort or ECO mode @@ -323,6 +325,10 @@ typedef struct { uint32_t wWStarts; // Warm Water # starts uint32_t wWWorkM; // Warm Water # minutes uint8_t wWOneTime; // Warm Water one time function on/off + uint8_t wWDesinfecting; // Warm Water desinfection on/off + uint8_t wWReadiness; // Warm Water readiness on/off + uint8_t wWRecharging; // Warm Water recharge on/off + uint8_t wWTemperaturOK; // Warm Water temperatur ok on/off uint8_t wWCurFlow; // Warm Water current flow in l/min // UBATotalUptimeMessage diff --git a/src/my_config.h b/src/my_config.h index 91e1fdea0..2c4e574a8 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -32,6 +32,7 @@ #define THERMOSTAT_SELTEMP "seltemp" // selected temperature #define THERMOSTAT_HC "hc" // which heating circuit number #define THERMOSTAT_MODE "mode" // mode +#define THERMOSTAT_MODETYPE "modetype" // mode type #define THERMOSTAT_DAYTEMP "daytemp" // RC35 specific #define THERMOSTAT_NIGHTTEMP "nighttemp" // RC35 specific #define THERMOSTAT_HOLIDAYTEMP "holidayttemp" // RC35 specific From f06ebee15c8fef74f9af407c5455d568dfc3c49e Mon Sep 17 00:00:00 2001 From: ypaindaveine Date: Sat, 29 Feb 2020 21:33:25 +0100 Subject: [PATCH 168/195] Corrected comment. --- src/ems.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems.cpp b/src/ems.cpp index 296190414..ac6179c46 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -146,7 +146,7 @@ void ems_init() { EMS_Boiler.wWSelTemp = EMS_VALUE_INT_NOTSET; // Warm Water selected temperature EMS_Boiler.wWCircPump = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump available EMS_Boiler.wWCircPumpMode = EMS_VALUE_INT_NOTSET; // Warm Water circulation pump mode - EMS_Boiler.wWCircPumpType = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump mode + EMS_Boiler.wWCircPumpType = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump type EMS_Boiler.wWDesinfectTemp = EMS_VALUE_INT_NOTSET; // Warm Water desinfection temperature to prevent infection EMS_Boiler.wWComfort = EMS_VALUE_INT_NOTSET; // WW comfort mode From 634e7cb7cd7f1c3acc2ab7a21f9050835bbc99bc Mon Sep 17 00:00:00 2001 From: ypaindaveine Date: Sun, 1 Mar 2020 12:23:13 +0100 Subject: [PATCH 169/195] Added mixer log, and stub for EMS type 0xAC. --- src/MyESP.h | 2 +- src/ems-esp.cpp | 7 ++++++- src/ems.cpp | 35 ++++++++++++++++++++++++++++------- src/ems.h | 3 ++- src/ems_devices.h | 1 + 5 files changed, 38 insertions(+), 10 deletions(-) diff --git a/src/MyESP.h b/src/MyESP.h index 573b04e6f..25adf82aa 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -215,7 +215,7 @@ static_assert(sizeof(RtcmemData) <= (RTCMEM_BLOCKS * 4u), "RTCMEM struct is too typedef struct { bool set; // is it a set command? - char key[50]; + char key[55]; // longest is log (alternatively, the log command description could be shortened) char description[110]; } command_t; diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 415aeb715..f9fa985ff 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -107,7 +107,7 @@ static const command_t project_cmds[] PROGMEM = { {true, "master_thermostat [product id]", "set default thermostat to use. No argument lists options"}, {false, "info", "show current values deciphered from the EMS messages"}, - {false, "log ", "logging: none, basic, thermo, solar, raw, jabber, verbose, watch a type or device"}, + {false, "log ", "logging: none, basic, thermo, solar, mixer, raw, jabber, verbose, watch a type or device"}, #ifdef TESTS {false, "test ", "insert a test telegram on to the EMS bus"}, @@ -231,6 +231,8 @@ void showInfo() { myDebug_P(PSTR(" System logging set to Thermostat only")); } else if (sysLog == EMS_SYS_LOGGING_SOLARMODULE) { myDebug_P(PSTR(" System logging set to Solar Module only")); + } else if (sysLog == EMS_SYS_LOGGING_MIXERMODULE) { + myDebug_P(PSTR(" System logging set to Mixer Module only")); } else if (sysLog == EMS_SYS_LOGGING_JABBER) { myDebug_P(PSTR(" System logging set to Jabber")); } else if (sysLog == EMS_SYS_LOGGING_WATCH) { @@ -1584,6 +1586,9 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { } else if (strcmp(second_cmd, "s") == 0) { ems_setLogging(EMS_SYS_LOGGING_SOLARMODULE); ok = true; + } else if (strcmp(second_cmd, "m") == 0) { + ems_setLogging(EMS_SYS_LOGGING_MIXERMODULE); + ok = true; } else if (strcmp(second_cmd, "r") == 0) { ems_setLogging(EMS_SYS_LOGGING_RAW); ok = true; diff --git a/src/ems.cpp b/src/ems.cpp index ac6179c46..c103e18dc 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -326,6 +326,8 @@ void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet) { myDebug_P(PSTR("System Logging set to Thermostat only")); } else if (loglevel == EMS_SYS_LOGGING_SOLARMODULE) { myDebug_P(PSTR("System Logging set to Solar Module only")); + } else if (loglevel == EMS_SYS_LOGGING_MIXERMODULE) { + myDebug_P(PSTR("System Logging set to Mixer Module only")); } else if (loglevel == EMS_SYS_LOGGING_RAW) { myDebug_P(PSTR("System Logging set to Raw mode")); } else if (loglevel == EMS_SYS_LOGGING_JABBER) { @@ -1079,7 +1081,7 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { } /** - * UBAMonitorFast2 - type 0xE4 - central heating monitor + * UBAMonitorFast2 - type 0xE4 - central heating monitor EMS+ */ void _process_UBAMonitorFast2(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.selFlowTemp, 6); @@ -1125,7 +1127,7 @@ void _process_UBAMonitorSlow(_EMS_RxTelegram * EMS_RxTelegram) { } /** - * UBAMonitorSlow2 - type 0xE5 - central heating monitor + * UBAMonitorSlow2 - type 0xE5 - central heating monitor EMS+ */ void _process_UBAMonitorSlow2(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.fanWork, 2, 2); @@ -1139,7 +1141,7 @@ void _process_UBAMonitorSlow2(_EMS_RxTelegram * EMS_RxTelegram) { } /** - * UBAOutdoorTemp - type 0xD1 - external temperature + * UBAOutdoorTemp - type 0xD1 - external temperature EMS+ */ void _process_UBAOutdoorTemp(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.extTemp, 0); @@ -1315,6 +1317,17 @@ void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].valveStatus, EMS_OFFSET_MMStatusMessage_valve_status); } +// Mixer Parameters - 0xAC +// We assume MM10 is on HC2 and WM10 is using HC1 +void _process_MM10ParameterMessage(_EMS_RxTelegram * EMS_RxTelegram) { + //uint8_t hc = 1; // fixed to HC2 + //EMS_MixingModule.hc[hc].active = true; + + //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); + //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].pumpMod, EMS_OFFSET_MMStatusMessage_pump_mod); + //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].flowSetTemp, EMS_OFFSET_MMStatusMessage_flow_set); +} + /** * type 0x01A5 - data from the Nefit RC1010/3000 thermostat (0x18) and RC300/310s on 0x10 * EMS+ messages may come in with different offsets so handle them here @@ -2943,9 +2956,8 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC4, "MMPLUSStatusMessage_HC4", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC1, "MMPLUSStatusMessage_WWC1", _process_MMPLUSStatusMessageWW}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC2, "MMPLUSStatusMessage_WWC2", _process_MMPLUSStatusMessageWW}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage} - - + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage}, + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MM10ParameterMessage, "MM10ParameterMessage", _process_MM10ParameterMessage} }; // calculate sizes of arrays at compile time @@ -3039,10 +3051,19 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram, const int8_t show_type) { _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); } } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_SOLARMODULE) { - // only print ones to/from thermostat if logging is set to thermostat only + // only print ones to/from solar module if logging is set to solar module only if ((src == EMS_SolarModule.device_id) || (dest == EMS_SolarModule.device_id)) { _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); } + } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_MIXERMODULE) { + // only print ones to/from mixer module if logging is set to mixer module only + if ((src == EMS_MixingModule.device_id) || (dest == EMS_MixingModule.device_id)) { + _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); + // also analyse the sequence of instructions prior to instructions to/from mixer module + // typically: EMS_TYPE_MM10ParameterMessage(0xAC) - EMS_TYPE_UBASetPoints(0x1A) - EMS_TYPE_UBAFlags(0x35) + } else if ((type == EMS_TYPE_MMStatusMessage) || (type == EMS_TYPE_MM10ParameterMessage) || (type == EMS_TYPE_UBASetPoints) || (type == EMS_TYPE_UBAFlags)) { + _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); + } } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_DEVICE) { // only print ones to/from DeviceID if ((src == EMS_Sys_Status.emsLogging_ID) || (dest == EMS_Sys_Status.emsLogging_ID)) { diff --git a/src/ems.h b/src/ems.h index 98f7cb860..b5e5d00cb 100644 --- a/src/ems.h +++ b/src/ems.h @@ -125,7 +125,8 @@ typedef enum { EMS_SYS_LOGGING_WATCH, // watch a specific type ID EMS_SYS_LOGGING_BASIC, // only basic read/write messages EMS_SYS_LOGGING_THERMOSTAT, // only telegrams sent from thermostat - EMS_SYS_LOGGING_SOLARMODULE, // only telegrams sent from solarmodule + EMS_SYS_LOGGING_SOLARMODULE, // only telegrams sent from solar module + EMS_SYS_LOGGING_MIXERMODULE, // only telegrams sent from mixer module EMS_SYS_LOGGING_VERBOSE, // everything EMS_SYS_LOGGING_JABBER, // lots of debug output... EMS_SYS_LOGGING_DEVICE // watch the device ID diff --git a/src/ems_devices.h b/src/ems_devices.h index 75b6e2001..7960a0685 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -72,6 +72,7 @@ #define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature #define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent #define EMS_OFFSET_MMStatusMessage_valve_status 4 // valve 0..255 +#define EMS_TYPE_MM10ParameterMessage 0xAC // mixer parameters // Solar Module // Assuming here that the SM200 behaves like SM100 From 4cc670f01054e9d2ff45ad5c274c5dbf1eb50fb9 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 1 Mar 2020 16:47:26 +0100 Subject: [PATCH 170/195] emsplus for Tx --- CHANGELOG.md | 6 +++--- src/ems.cpp | 8 ++++++-- src/ems.h | 36 +++++++++++++++++++----------------- src/ems_devices.h | 22 +++++++++++----------- src/version.h | 2 +- 5 files changed, 40 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index dca6ced33..c53b8e0e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,9 +26,9 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - RC35 setting temperature also forces the current select temp to change, irrespective of the mode ### Changed -- improved MQTT publishing to stop flooding. `publish_time` must be at least 1 (second) -- External sensors (like dallas) are sent as a nested MQTT topic including their unqiue identifier -- `mqttlog` console command renamed to `mqttqueue` +- improved MQTT publishing to stop network flooding. `publish_time` of -1 is no publish, 0 is automatic otherwise its a time interval +- External sensors (like Dallas DS18*) are sent as a nested MQTT topic including their unqiue identifier +- `mqttlog` console command renamed to `mqttqueue` to only show the current publish queue ### Removed - `autodetect scan` diff --git a/src/ems.cpp b/src/ems.cpp index 3f92dd7ac..5d0e8cce1 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -607,7 +607,8 @@ void _ems_sendTelegram() { } // complete the rest of the header depending on EMS or EMS+ - if (EMS_TxTelegram.type > 0xFF) { + // or if we explicitly set EMS+ like with Junkers + if ((EMS_TxTelegram.type > 0xFF) || (EMS_TxTelegram.emsplus)) { // EMS 2.0 / EMS+ EMS_TxTelegram.data[2] = 0xFF; // fixed value indicating an extended message EMS_TxTelegram.data[3] = EMS_TxTelegram.offset; @@ -699,6 +700,7 @@ void _createValidate() { new_EMS_TxTelegram.comparisonValue = EMS_TxTelegram.comparisonValue; new_EMS_TxTelegram.comparisonPostRead = EMS_TxTelegram.comparisonPostRead; new_EMS_TxTelegram.comparisonOffset = EMS_TxTelegram.comparisonOffset; + new_EMS_TxTelegram.emsplus = EMS_TxTelegram.emsplus; // this is what is different new_EMS_TxTelegram.offset = EMS_TxTelegram.comparisonOffset; // location of byte to fetch @@ -2420,6 +2422,8 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) } else if (model == EMS_DEVICE_FLAG_JUNKERS) { + // All Junkers use EMS+. I think. + EMS_TxTelegram.emsplus = true; switch (temptype) { case 1: // change the no frost temp EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_no_frost_temp; @@ -2432,7 +2436,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) break; default: case 0: // automatic selection, if no type is defined, we use the standard code - // not sure if this is correct for Junkers + // TODO: not sure if this is correct for Junkers if (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) { EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; } else if (EMS_Thermostat.hc[hc_num - 1].mode_type == 1) { diff --git a/src/ems.h b/src/ems.h index 40a2b2dc0..cf9a9e0fe 100644 --- a/src/ems.h +++ b/src/ems.h @@ -155,22 +155,6 @@ typedef struct { uint8_t emsMasterThermostat; // product ID for the default thermostat to use } _EMS_Sys_Status; -// The Tx send package -typedef struct { - _EMS_TX_TELEGRAM_ACTION action; // read, write, validate, init - uint8_t dest; - uint16_t type; - uint8_t offset; - uint8_t length; // full length of complete telegram, including CRC - uint8_t dataValue; // value to validate against - uint16_t type_validate; // type to call after a successful Write command - uint8_t comparisonValue; // value to compare against during a validate command - uint8_t comparisonOffset; // offset of where the byte is we want to compare too during validation - uint16_t comparisonPostRead; // after a successful write, do a read from this type ID - unsigned long timestamp; // when created - uint8_t data[EMS_MAX_TELEGRAM_LENGTH]; -} _EMS_TxTelegram; - // The Rx receive package typedef struct { unsigned long timestamp; // timestamp from millis() @@ -186,6 +170,23 @@ typedef struct { uint8_t emsplus_type; // FF, F7 or F9 } _EMS_RxTelegram; +// The Tx send package +typedef struct { + _EMS_TX_TELEGRAM_ACTION action; // read, write, validate, init + uint8_t dest; + uint16_t type; + uint8_t offset; + uint8_t length; // full length of complete telegram, including CRC + bool emsplus; // true if ems+/ems 2.0 + uint8_t dataValue; // value to validate against + uint16_t type_validate; // type to call after a successful Write command + uint8_t comparisonValue; // value to compare against during a validate command + uint8_t comparisonOffset; // offset of where the byte is we want to compare too during validation + uint16_t comparisonPostRead; // after a successful write, do a read from this type ID + unsigned long timestamp; // when created + uint8_t data[EMS_MAX_TELEGRAM_LENGTH]; +} _EMS_TxTelegram; + // default empty Tx, must match struct const _EMS_TxTelegram EMS_TX_TELEGRAM_NEW = { EMS_TX_TELEGRAM_INIT, // action @@ -193,7 +194,8 @@ const _EMS_TxTelegram EMS_TX_TELEGRAM_NEW = { EMS_ID_NONE, // type 0, // offset 0, // length - 0, // data value + false, // emsplus (no) + 0, // dataValue EMS_ID_NONE, // type_validate 0, // comparisonValue 0, // comparisonOffset diff --git a/src/ems_devices.h b/src/ems_devices.h index 75b6e2001..52ba5f555 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -273,8 +273,8 @@ static const _EMS_Device EMS_Devices[] = { {157, EMS_DEVICE_TYPE_THERMOSTAT, "Buderus RC200/Bosch CW100/Junkers CW100", EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write // Buderus/Nefit specific - {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 - {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", EMS_DEVICE_FLAG_RC10}, // 0x17 + {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 + {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", 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_RC30N}, // 0x10 - based on RC35 {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 @@ -287,15 +287,15 @@ static const _EMS_Device EMS_Devices[] = { {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 {113, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES72", EMS_DEVICE_FLAG_RC20}, // 0x17 - // Junkers - {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {106, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW200", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write - {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {108, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR110", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write - {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write - {191, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR120", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_NO_WRITE}, // 0x10, cannot write - {192, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW120", EMS_DEVICE_FLAG_JUNKERS} // 0x10 + // Junkers - all 0x10 + {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 + {106, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW200", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 + {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 + {108, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR110", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 + {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 + {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 + {191, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR120", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 + {192, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW120", EMS_DEVICE_FLAG_JUNKERS} // 0x10 }; diff --git a/src/version.h b/src/version.h index dc214cd18..1898ef6d0 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b46" +#define APP_VERSION "1.9.5b47" From 3c660318701b55e866371e49482e91337a664d8b Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 1 Mar 2020 17:03:52 +0100 Subject: [PATCH 171/195] minor text changes --- CHANGELOG.md | 4 +++- src/MyESP.h | 4 ++-- src/ems-esp.cpp | 14 ++++-------- src/ems.cpp | 54 +++++++++++++++++++++++------------------------ src/ems.h | 36 +++++++++++++++---------------- src/ems_devices.h | 16 +++++++------- 6 files changed, 62 insertions(+), 66 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c53b8e0e3..9820b7e44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,7 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Solar Module SM200 support - `set master_thermostat ` to choose with thermostat is master when there are multiple on the bus -- MM10 Mixer support (thanks @MichaelDvP) +- MM10 Mixing module support (thanks @MichaelDvP) - MM200 warm water circuits (https://github.com/proddy/EMS-ESP/pull/315) - First implementation of writing to Junker Thermostats (thanks @Neonox31) - Added model type (Buderus, Sieger, Junkers, Nefit, Bosch, Worcester) to device names @@ -19,6 +19,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - MQTT publish messages are queued and gracefully published every second to avoid TCP blocks - Added `mqtt_nestedjson` option to disable multiple data records being nested into a single JSON string - Support for Moduline 200 and Sieger ES72 thermostats +- Added features to WW messages (0x33, 0x34) to improve WW monitoring. (PR#338 by @ypaindaveine) +- Added mixing log and stub for EMS type 0xAC (PR#338 by @ypaindaveine) ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 diff --git a/src/MyESP.h b/src/MyESP.h index 25adf82aa..c93c54707 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.32" +#define MYESP_VERSION "1.2.33" #include #include @@ -215,7 +215,7 @@ static_assert(sizeof(RtcmemData) <= (RTCMEM_BLOCKS * 4u), "RTCMEM struct is too typedef struct { bool set; // is it a set command? - char key[55]; // longest is log (alternatively, the log command description could be shortened) + char key[60]; char description[110]; } command_t; diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index f9fa985ff..8d3d50fb4 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -105,14 +105,8 @@ static const command_t project_cmds[] PROGMEM = { {true, "tx_mode ", "changes Tx logic. 1=EMS generic, 2=EMS+, 3=HT3"}, {true, "bus_id ", "EMS-ESP's deviceID. 0B=Service Key (default), 0D=Modem, 0A=Hand terminal, 0F=Time module, 12=Error module"}, {true, "master_thermostat [product id]", "set default thermostat to use. No argument lists options"}, - {false, "info", "show current values deciphered from the EMS messages"}, - {false, "log ", "logging: none, basic, thermo, solar, mixer, raw, jabber, verbose, watch a type or device"}, - -#ifdef TESTS - {false, "test ", "insert a test telegram on to the EMS bus"}, -#endif - + {false, "log ", "logging: none, basic, thermo, solar, mixing, raw, jabber, verbose, watch a type or device"}, {false, "publish", "publish all values to MQTT"}, {false, "refresh", "fetch values from the EMS devices"}, {false, "devices [scan] | [scan deep] | [save]", "list detected devices, quick scan or deep scan and save as known devices"}, @@ -231,8 +225,8 @@ void showInfo() { myDebug_P(PSTR(" System logging set to Thermostat only")); } else if (sysLog == EMS_SYS_LOGGING_SOLARMODULE) { myDebug_P(PSTR(" System logging set to Solar Module only")); - } else if (sysLog == EMS_SYS_LOGGING_MIXERMODULE) { - myDebug_P(PSTR(" System logging set to Mixer Module only")); + } else if (sysLog == EMS_SYS_LOGGING_MIXINGMODULE) { + myDebug_P(PSTR(" System logging set to Mixing Module only")); } else if (sysLog == EMS_SYS_LOGGING_JABBER) { myDebug_P(PSTR(" System logging set to Jabber")); } else if (sysLog == EMS_SYS_LOGGING_WATCH) { @@ -1587,7 +1581,7 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { ems_setLogging(EMS_SYS_LOGGING_SOLARMODULE); ok = true; } else if (strcmp(second_cmd, "m") == 0) { - ems_setLogging(EMS_SYS_LOGGING_MIXERMODULE); + ems_setLogging(EMS_SYS_LOGGING_MIXINGMODULE); ok = true; } else if (strcmp(second_cmd, "r") == 0) { ems_setLogging(EMS_SYS_LOGGING_RAW); diff --git a/src/ems.cpp b/src/ems.cpp index e971402bf..bfb45634c 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -146,7 +146,7 @@ void ems_init() { EMS_Boiler.wWSelTemp = EMS_VALUE_INT_NOTSET; // Warm Water selected temperature EMS_Boiler.wWCircPump = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump available EMS_Boiler.wWCircPumpMode = EMS_VALUE_INT_NOTSET; // Warm Water circulation pump mode - EMS_Boiler.wWCircPumpType = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump type + EMS_Boiler.wWCircPumpType = EMS_VALUE_BOOL_NOTSET; // Warm Water circulation pump type EMS_Boiler.wWDesinfectTemp = EMS_VALUE_INT_NOTSET; // Warm Water desinfection temperature to prevent infection EMS_Boiler.wWComfort = EMS_VALUE_INT_NOTSET; // WW comfort mode @@ -180,16 +180,16 @@ void ems_init() { EMS_Boiler.switchTemp = EMS_VALUE_USHORT_NOTSET; // UBAMonitorWWMessage - EMS_Boiler.wWCurTmp = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature - 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 - EMS_Boiler.wWDesinfecting = EMS_VALUE_INT_NOTSET; // Warm Water desinfection on/off - EMS_Boiler.wWReadiness = EMS_VALUE_INT_NOTSET; // Warm Water readiness on/off - EMS_Boiler.wWRecharging = EMS_VALUE_INT_NOTSET; // Warm Water recharge on/off - EMS_Boiler.wWTemperaturOK = EMS_VALUE_INT_NOTSET; // Warm Water temperatur ok on/off + EMS_Boiler.wWCurTmp = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature + 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 + EMS_Boiler.wWDesinfecting = EMS_VALUE_INT_NOTSET; // Warm Water desinfection on/off + EMS_Boiler.wWReadiness = EMS_VALUE_INT_NOTSET; // Warm Water readiness on/off + EMS_Boiler.wWRecharging = EMS_VALUE_INT_NOTSET; // Warm Water recharge on/off + EMS_Boiler.wWTemperaturOK = EMS_VALUE_INT_NOTSET; // Warm Water temperatur ok on/off - EMS_Boiler.wWCurFlow = EMS_VALUE_INT_NOTSET; // WW current flow temp + EMS_Boiler.wWCurFlow = EMS_VALUE_INT_NOTSET; // WW current flow temp // UBATotalUptimeMessage EMS_Boiler.UBAuptime = EMS_VALUE_LONG_NOTSET; // Total UBA working hours @@ -326,8 +326,8 @@ void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet) { myDebug_P(PSTR("System Logging set to Thermostat only")); } else if (loglevel == EMS_SYS_LOGGING_SOLARMODULE) { myDebug_P(PSTR("System Logging set to Solar Module only")); - } else if (loglevel == EMS_SYS_LOGGING_MIXERMODULE) { - myDebug_P(PSTR("System Logging set to Mixer Module only")); + } else if (loglevel == EMS_SYS_LOGGING_MIXINGMODULE) { + myDebug_P(PSTR("System Logging set to Mixing Module only")); } else if (loglevel == EMS_SYS_LOGGING_RAW) { myDebug_P(PSTR("System Logging set to Raw mode")); } else if (loglevel == EMS_SYS_LOGGING_JABBER) { @@ -938,7 +938,7 @@ void _removeTxQueue() { /** * Check if hot tap water or heating is active - * using a quick hack for checking the heating. Selected Flow Temp >= 30 + * using a quick hack for checking the heating by looking at the Selected Flow Temp */ void _checkActive() { // hot tap water, using flow to check instead of the burner power @@ -957,10 +957,10 @@ void _checkActive() { * received only after requested (not broadcasted) */ void _process_UBAParameterWW(_EMS_RxTelegram * EMS_RxTelegram) { - _setValue(EMS_RxTelegram, &EMS_Boiler.wWActivated, 1); // 0xFF means on - _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPump, 6); // 0xFF means on - _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPumpMode, 7); // 1=1x3min... 6=6x3min, 7=continuous - _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPumpType, 10); // 0 = charge pump, 0xff = 3-way valve + _setValue(EMS_RxTelegram, &EMS_Boiler.wWActivated, 1); // 0xFF means on + _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPump, 6); // 0xFF means on + _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPumpMode, 7); // 1=1x3min... 6=6x3min, 7=continuous + _setValue(EMS_RxTelegram, &EMS_Boiler.wWCircPumpType, 10); // 0 = charge pump, 0xff = 3-way valve _setValue(EMS_RxTelegram, &EMS_Boiler.wWSelTemp, 2); _setValue(EMS_RxTelegram, &EMS_Boiler.wWDesinfectTemp, 8); _setValue(EMS_RxTelegram, &EMS_Boiler.wWComfort, EMS_OFFSET_UBAParameterWW_wwComfort); @@ -1121,7 +1121,7 @@ void _process_UBAMonitorSlow(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.extTemp, 0); _setValue(EMS_RxTelegram, &EMS_Boiler.boilTemp, 2); _setValue(EMS_RxTelegram, &EMS_Boiler.exhaustTemp, 4); - _setValue(EMS_RxTelegram, &EMS_Boiler.switchTemp, 25); // only if there is a mixer + _setValue(EMS_RxTelegram, &EMS_Boiler.switchTemp, 25); // only if there is a mixing module present _setValue(EMS_RxTelegram, &EMS_Boiler.pumpMod, 9); _setValue(EMS_RxTelegram, &EMS_Boiler.burnStarts, 10); _setValue(EMS_RxTelegram, &EMS_Boiler.burnWorkMin, 13); @@ -1305,7 +1305,7 @@ void _process_MMPLUSStatusMessageWW(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_MixingModule.wwc[wwc].tempStatus, EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status); } -// Mixer - 0xAB +// Mixing - 0xAB // https://github.com/proddy/EMS-ESP/issues/270 // We assume MM10 is on HC2 and WM10 is using HC1 void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { @@ -1319,7 +1319,7 @@ void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].valveStatus, EMS_OFFSET_MMStatusMessage_valve_status); } -// Mixer Parameters - 0xAC +// Mixing Parameters - 0xAC // We assume MM10 is on HC2 and WM10 is using HC1 void _process_MM10ParameterMessage(_EMS_RxTelegram * EMS_RxTelegram) { //uint8_t hc = 1; // fixed to HC2 @@ -2961,8 +2961,7 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC1, "MMPLUSStatusMessage_WWC1", _process_MMPLUSStatusMessageWW}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC2, "MMPLUSStatusMessage_WWC2", _process_MMPLUSStatusMessageWW}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MM10ParameterMessage, "MM10ParameterMessage", _process_MM10ParameterMessage} -}; + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MM10ParameterMessage, "MM10ParameterMessage", _process_MM10ParameterMessage}}; // calculate sizes of arrays at compile time uint8_t _EMS_Types_max = ArraySize(EMS_Types); @@ -3059,13 +3058,14 @@ void _printMessage(_EMS_RxTelegram * EMS_RxTelegram, const int8_t show_type) { if ((src == EMS_SolarModule.device_id) || (dest == EMS_SolarModule.device_id)) { _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); } - } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_MIXERMODULE) { - // only print ones to/from mixer module if logging is set to mixer module only + } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_MIXINGMODULE) { + // only print ones to/from mixing module if logging is set to mixing module only if ((src == EMS_MixingModule.device_id) || (dest == EMS_MixingModule.device_id)) { _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); - // also analyse the sequence of instructions prior to instructions to/from mixer module - // typically: EMS_TYPE_MM10ParameterMessage(0xAC) - EMS_TYPE_UBASetPoints(0x1A) - EMS_TYPE_UBAFlags(0x35) - } else if ((type == EMS_TYPE_MMStatusMessage) || (type == EMS_TYPE_MM10ParameterMessage) || (type == EMS_TYPE_UBASetPoints) || (type == EMS_TYPE_UBAFlags)) { + // also analyse the sequence of instructions prior to instructions to/from mixing module + // typically: EMS_TYPE_MM10ParameterMessage(0xAC) - EMS_TYPE_UBASetPoints(0x1A) - EMS_TYPE_UBAFlags(0x35) + } else if ((type == EMS_TYPE_MMStatusMessage) || (type == EMS_TYPE_MM10ParameterMessage) || (type == EMS_TYPE_UBASetPoints) + || (type == EMS_TYPE_UBAFlags)) { _debugPrintTelegram(output_str, EMS_RxTelegram, color_s); } } else if (EMS_Sys_Status.emsLogging == EMS_SYS_LOGGING_DEVICE) { diff --git a/src/ems.h b/src/ems.h index 7f8bfcc64..9132a5f63 100644 --- a/src/ems.h +++ b/src/ems.h @@ -120,16 +120,16 @@ typedef enum { /* EMS logging */ typedef enum { - EMS_SYS_LOGGING_NONE, // no messages - EMS_SYS_LOGGING_RAW, // raw data mode - EMS_SYS_LOGGING_WATCH, // watch a specific type ID - EMS_SYS_LOGGING_BASIC, // only basic read/write messages - EMS_SYS_LOGGING_THERMOSTAT, // only telegrams sent from thermostat - EMS_SYS_LOGGING_SOLARMODULE, // only telegrams sent from solar module - EMS_SYS_LOGGING_MIXERMODULE, // only telegrams sent from mixer module - EMS_SYS_LOGGING_VERBOSE, // everything - EMS_SYS_LOGGING_JABBER, // lots of debug output... - EMS_SYS_LOGGING_DEVICE // watch the device ID + EMS_SYS_LOGGING_NONE, // no messages + EMS_SYS_LOGGING_RAW, // raw data mode + EMS_SYS_LOGGING_WATCH, // watch a specific type ID + EMS_SYS_LOGGING_BASIC, // only basic read/write messages + EMS_SYS_LOGGING_THERMOSTAT, // only telegrams sent from thermostat + EMS_SYS_LOGGING_SOLARMODULE, // only telegrams sent from solar module + EMS_SYS_LOGGING_MIXINGMODULE, // only telegrams sent from mixing module + EMS_SYS_LOGGING_VERBOSE, // everything + EMS_SYS_LOGGING_JABBER, // lots of debug output... + EMS_SYS_LOGGING_DEVICE // watch the device ID } _EMS_SYS_LOGGING; // status/counters since last power on @@ -324,15 +324,15 @@ typedef struct { uint16_t switchTemp; // Switch temperature // UBAMonitorWWMessage - uint16_t wWCurTmp; // Warm Water current temperature - uint32_t wWStarts; // Warm Water # starts - uint32_t wWWorkM; // Warm Water # minutes - uint8_t wWOneTime; // Warm Water one time function on/off + uint16_t wWCurTmp; // Warm Water current temperature + uint32_t wWStarts; // Warm Water # starts + uint32_t wWWorkM; // Warm Water # minutes + uint8_t wWOneTime; // Warm Water one time function on/off uint8_t wWDesinfecting; // Warm Water desinfection on/off - uint8_t wWReadiness; // Warm Water readiness on/off - uint8_t wWRecharging; // Warm Water recharge on/off + uint8_t wWReadiness; // Warm Water readiness on/off + uint8_t wWRecharging; // Warm Water recharge on/off uint8_t wWTemperaturOK; // Warm Water temperatur ok on/off - uint8_t wWCurFlow; // Warm Water current flow in l/min + uint8_t wWCurFlow; // Warm Water current flow in l/min // UBATotalUptimeMessage uint32_t UBAuptime; // Total UBA working hours @@ -379,7 +379,7 @@ typedef struct { uint8_t tempStatus; } _EMS_MixingModule_WWC; -// Mixer data +// Mixing data typedef struct { uint8_t device_id; uint8_t device_flags; diff --git a/src/ems_devices.h b/src/ems_devices.h index 4588e3243..1aeb2a16e 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -54,12 +54,12 @@ // Mixing Modules // MM100/MM200 (EMS Plus) -#define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixer status HC1 -#define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2 -#define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixer status HC3 -#define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixer status HC4 -#define EMS_TYPE_MMPLUSStatusMessage_WWC1 0x0231 // mixer status WWC1 -#define EMS_TYPE_MMPLUSStatusMessage_WWC2 0x0232 // mixer status WWC2 +#define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixing status HC1 +#define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixing status HC2 +#define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixing status HC3 +#define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixing status HC4 +#define EMS_TYPE_MMPLUSStatusMessage_WWC1 0x0231 // mixing status WWC1 +#define EMS_TYPE_MMPLUSStatusMessage_WWC2 0x0232 // mixing status WWC2 #define EMS_OFFSET_MMPLUSStatusMessage_flow_temp 3 // flow temperature #define EMS_OFFSET_MMPLUSStatusMessage_pump_mod 5 // pump modulation #define EMS_OFFSET_MMPLUSStatusMessage_valve_status 2 // valve in percent @@ -67,12 +67,12 @@ #define EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod 2 // pump on 6, off 0 #define EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status 11 // 0,1,2 // MM10 -#define EMS_TYPE_MMStatusMessage 0xAB // mixer status +#define EMS_TYPE_MMStatusMessage 0xAB // mixing status #define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint #define EMS_OFFSET_MMStatusMessage_flow_temp 1 // flow temperature #define EMS_OFFSET_MMStatusMessage_pump_mod 3 // pump modulation in percent #define EMS_OFFSET_MMStatusMessage_valve_status 4 // valve 0..255 -#define EMS_TYPE_MM10ParameterMessage 0xAC // mixer parameters +#define EMS_TYPE_MM10ParameterMessage 0xAC // mixing parameters // Solar Module // Assuming here that the SM200 behaves like SM100 From 98a41db973927b0017d45c1e00772eaba83d5bd5 Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 3 Mar 2020 22:23:53 +0100 Subject: [PATCH 172/195] support writing to FR100 - #335 --- src/ems-esp.cpp | 76 +++++++++++++++++------ src/ems.cpp | 149 +++++++++++++++++++++++++--------------------- src/ems.h | 86 ++++++++++++++------------ src/ems_devices.h | 45 +++++++++----- src/my_config.h | 3 + src/version.h | 2 +- 6 files changed, 220 insertions(+), 141 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 8d3d50fb4..bb884411e 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -113,8 +113,8 @@ static const command_t project_cmds[] PROGMEM = { {false, "queue", "show current Tx queue"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, - {false, "thermostat temp [hc] ", "set current thermostat temperature"}, - {false, "thermostat mode [hc] ", "set mode (0=off, 1=manual, 2=auto) for heating circuit hc 1-4"}, + {false, "thermostat temp [temp]", "set current thermostat temperature. temp=0-6 (see wiki)"}, + {false, "thermostat mode ", "set mode (0=off, 1=manual, 2=auto) for heating circuit hc 1-4"}, {false, "boiler read ", "send read request to boiler"}, {false, "boiler wwtemp ", "set boiler warm water temperature"}, {false, "boiler wwactive ", "set boiler warm water on/off"}, @@ -144,7 +144,7 @@ _EMS_THERMOSTAT_MODE _getThermostatMode(uint8_t hc_num) { _EMS_THERMOSTAT_MODE thermoMode = EMS_THERMOSTAT_MODE_UNKNOWN; uint8_t mode = EMS_Thermostat.hc[hc_num - 1].mode; - uint8_t model = ems_getThermostatModel(); + uint8_t model = ems_getThermostatFlags(); if (model == EMS_DEVICE_FLAG_RC20) { if (mode == 0) { @@ -184,7 +184,7 @@ _EMS_THERMOSTAT_MODE _getThermostatMode(uint8_t hc_num) { // hc_num is 1 to 4 _EMS_THERMOSTAT_MODE _getThermostatMode2(uint8_t hc_num) { _EMS_THERMOSTAT_MODE thermoMode = EMS_THERMOSTAT_MODE_UNKNOWN; - uint8_t model = ems_getThermostatModel(); + uint8_t model = ems_getThermostatFlags(); uint8_t mode = EMS_Thermostat.hc[hc_num - 1].mode_type; @@ -424,7 +424,7 @@ void showInfo() { myDebug_P(PSTR(" Thermostat: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_THERMOSTAT, buffer_type, false)); // Render Thermostat Date & Time - uint8_t model = ems_getThermostatModel(); + uint8_t model = ems_getThermostatFlags(); if ((model != EMS_DEVICE_FLAG_EASY)) { myDebug_P(PSTR(" Thermostat time is %s"), EMS_Thermostat.datetime); } @@ -733,7 +733,7 @@ bool publishEMSValues_boiler() { rootBoiler["wWRecharge"] = _bool_to_char(s, EMS_Boiler.wWRecharging); } if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { - rootBoiler["wWTempOK"] = _bool_to_char(s, EMS_Boiler.wWTemperaturOK); + rootBoiler["wWTempOK"] = _bool_to_char(s, EMS_Boiler.wWTemperatureOK); } if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWCirc"] = _bool_to_char(s, EMS_Boiler.wWCirc); @@ -814,7 +814,7 @@ bool publishEMSValues_thermostat() { // only send if we have an active Heating Circuit with an actual setpoint temp temperature values if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET)) { - uint8_t model = ems_getThermostatModel(); // fetch model flags + uint8_t model = ems_getThermostatFlags(); // fetch model flags has_data = true; if (myESP.mqttUseNestedJson()) { @@ -1603,19 +1603,21 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { // thermostat commands if ((strcmp(first_cmd, "thermostat") == 0) && (wc >= 3)) { - char * second_cmd = _readWord(); - uint8_t hc = EMS_THERMOSTAT_DEFAULTHC; + char * second_cmd = _readWord(); if (strcmp(second_cmd, "temp") == 0) { - if (wc == 4) { - hc = _readIntNumber(); // next parameter is the heating circuit + uint8_t hc = _readIntNumber(); // next parameter is the heating circuit + float temp = _readFloatNumber(); // read in next param which is the temp + if (wc == 5) { + // we have a temp mode given + _THERMOSTAT_TEMP_MODE temp_mode = (_THERMOSTAT_TEMP_MODE)_readIntNumber(); // next parameter is the temp mode type + ems_setThermostatTemp(temp, hc, temp_mode); + } else { + ems_setThermostatTemp(temp, hc); } - ems_setThermostatTemp(_readFloatNumber(), hc); ok = true; } else if (strcmp(second_cmd, "mode") == 0) { - if (wc == 4) { - hc = _readIntNumber(); // next parameter is the heating circuit - } + uint8_t hc = _readIntNumber(); // next parameter is the heating circuit ems_setThermostatMode(_readIntNumber(), hc); ok = true; } else if (strcmp(second_cmd, "read") == 0) { @@ -2005,7 +2007,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, 1); // night + ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_NIGHT); // night return; } } @@ -2017,7 +2019,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, 2); // day + ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_DAY); // day } return; } @@ -2029,7 +2031,43 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, 3); // holiday + ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_HOLIDAY); // holiday + } + return; + } + } + + // set eco value + hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_ECOTEMP, command); + if (hc) { + if (EMS_Thermostat.hc[hc - 1].active) { + float f = doc["data"]; + if (f) { + ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_ECO); // holiday + } + return; + } + } + + // set heat value + hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_HEATTEMP, command); + if (hc) { + if (EMS_Thermostat.hc[hc - 1].active) { + float f = doc["data"]; + if (f) { + ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_HEAT); // holiday + } + return; + } + } + + // set nofrost value + hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_NOFROSTTEMP, command); + if (hc) { + if (EMS_Thermostat.hc[hc - 1].active) { + float f = doc["data"]; + if (f) { + ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_NOFROST); // holiday } return; } @@ -2109,7 +2147,7 @@ void WebCallback(JsonObject root) { thermostat["tm"] = ems_getDeviceDescription(EMS_DEVICE_TYPE_THERMOSTAT, buffer, true); uint8_t hc_num = 1; // default to HC1 - uint8_t model = ems_getThermostatModel(); + uint8_t model = ems_getThermostatFlags(); while (hc_num < EMS_THERMOSTAT_MAXHC && !EMS_Thermostat.hc[hc_num - 1].active) hc_num++; // first active hc // Render Current & Setpoint Room Temperature diff --git a/src/ems.cpp b/src/ems.cpp index bfb45634c..60508a276 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -180,14 +180,14 @@ void ems_init() { EMS_Boiler.switchTemp = EMS_VALUE_USHORT_NOTSET; // UBAMonitorWWMessage - EMS_Boiler.wWCurTmp = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature - 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 - EMS_Boiler.wWDesinfecting = EMS_VALUE_INT_NOTSET; // Warm Water desinfection on/off - EMS_Boiler.wWReadiness = EMS_VALUE_INT_NOTSET; // Warm Water readiness on/off - EMS_Boiler.wWRecharging = EMS_VALUE_INT_NOTSET; // Warm Water recharge on/off - EMS_Boiler.wWTemperaturOK = EMS_VALUE_INT_NOTSET; // Warm Water temperatur ok on/off + EMS_Boiler.wWCurTmp = EMS_VALUE_USHORT_NOTSET; // Warm Water current temperature + 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 + EMS_Boiler.wWDesinfecting = EMS_VALUE_INT_NOTSET; // Warm Water desinfection on/off + EMS_Boiler.wWReadiness = EMS_VALUE_INT_NOTSET; // Warm Water readiness on/off + EMS_Boiler.wWRecharging = EMS_VALUE_INT_NOTSET; // Warm Water recharge on/off + EMS_Boiler.wWTemperatureOK = EMS_VALUE_INT_NOTSET; // Warm Water temperature ok on/off EMS_Boiler.wWCurFlow = EMS_VALUE_INT_NOTSET; // WW current flow temp @@ -266,11 +266,11 @@ bool ems_getHeatPumpEnabled() { return (EMS_HeatPump.device_id != EMS_ID_NONE); } -uint8_t ems_getThermostatModel() { - return (EMS_Thermostat.device_flags & 0x7F); // strip 7th bit +uint8_t ems_getThermostatFlags() { + return (EMS_Thermostat.device_flags & 0x7F); // strip 7th bit which is used to show whether Write is supported } -uint8_t ems_getSolarModuleModel() { +uint8_t ems_getSolarModuleFlags() { return (EMS_SolarModule.device_flags); } @@ -995,7 +995,7 @@ void _process_UBAMonitorWWMessage(_EMS_RxTelegram * EMS_RxTelegram) { _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.wWTemperaturOK, 5, 5); + _setValue(EMS_RxTelegram, &EMS_Boiler.wWTemperatureOK, 5, 5); _setValue(EMS_RxTelegram, &EMS_Boiler.wWCurFlow, 9); } @@ -1062,7 +1062,7 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { // warm water storage sensors (if present) // wwStorageTemp2 is also used by some brands as the boiler temperature - see https://github.com/proddy/EMS-ESP/issues/206 _setValue(EMS_RxTelegram, &EMS_Boiler.wwStorageTemp1, 9); // 0x8300 if not available - _setValue(EMS_RxTelegram, &EMS_Boiler.wwStorageTemp2, 11); // 0x8000 if not available + _setValue(EMS_RxTelegram, &EMS_Boiler.wwStorageTemp2, 11); // 0x8000 if not available - this is boiler temp _setValue(EMS_RxTelegram, &EMS_Boiler.retTemp, 13); _setValue(EMS_RxTelegram, &EMS_Boiler.flameCurr, 15); @@ -1466,28 +1466,32 @@ int8_t _getHeatingCircuit(_EMS_RxTelegram * EMS_RxTelegram) { case EMS_TYPE_RC35StatusMessage_HC1: case EMS_TYPE_RC35Set_HC1: case EMS_TYPE_JunkersStatusMessage_HC1: - case EMS_TYPE_JunkersSetMessage_HC1: + case EMS_TYPE_JunkersSetMessage1_HC1: + case EMS_TYPE_JunkersSetMessage2_HC1: hc = 0; break; case EMS_TYPE_RC35StatusMessage_HC2: case EMS_TYPE_RC35Set_HC2: case EMS_TYPE_JunkersStatusMessage_HC2: - case EMS_TYPE_JunkersSetMessage_HC2: + case EMS_TYPE_JunkersSetMessage1_HC2: + case EMS_TYPE_JunkersSetMessage2_HC2: hc = 1; break; case EMS_TYPE_RC35StatusMessage_HC3: case EMS_TYPE_RC35Set_HC3: case EMS_TYPE_JunkersStatusMessage_HC3: - case EMS_TYPE_JunkersSetMessage_HC3: + case EMS_TYPE_JunkersSetMessage1_HC3: + case EMS_TYPE_JunkersSetMessage2_HC3: hc = 2; break; case EMS_TYPE_RC35StatusMessage_HC4: case EMS_TYPE_RC35Set_HC4: case EMS_TYPE_JunkersStatusMessage_HC4: - case EMS_TYPE_JunkersSetMessage_HC4: + case EMS_TYPE_JunkersSetMessage1_HC4: + case EMS_TYPE_JunkersSetMessage2_HC4: hc = 3; break; @@ -2323,7 +2327,7 @@ void ems_sendRawTelegram(char * telegram) { * hc_num is 1 to 4 * temptype 0=normal, 1=night temp, 2=day temp, 3=holiday temp */ -void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) { +void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_MODE temptype) { if (!ems_getThermostatEnabled()) { myDebug_P(PSTR("Thermostat not online.")); return; @@ -2343,15 +2347,15 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) EMS_TxTelegram.timestamp = millis(); // set timestamp EMS_Sys_Status.txRetryCount = 0; // reset retry counter - uint8_t model = ems_getThermostatModel(); + uint8_t model = ems_getThermostatFlags(); uint8_t device_id = EMS_Thermostat.device_id; EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; EMS_TxTelegram.dest = device_id; char s[10] = {0}; - if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { - myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d type %d (0=auto,1=night,2=day,3=holiday)"), + if (temptype != 0) { + myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d temp mode %d (0=auto,1=night,2=day,3=holiday,4=nofrost,5=eco,6=heat)"), _float_to_char(s, temperature), hc_num, temptype); @@ -2407,17 +2411,17 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { switch (temptype) { - case 1: // change the night temp + case THERMOSTAT_TEMP_MODE_NIGHT: // change the night temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; break; - case 2: // change the day temp + case THERMOSTAT_TEMP_MODE_DAY: // change the day temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; break; - case 3: // change the holiday temp + case THERMOSTAT_TEMP_MODE_HOLIDAY: // change the holiday temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_holiday; break; default: - case 0: // automatic selection, if no type is defined, we use the standard code + case THERMOSTAT_TEMP_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code if (model == EMS_DEVICE_FLAG_RC35) { // https://github.com/proddy/EMS-ESP/issues/310 EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; @@ -2448,42 +2452,54 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, uint8_t temptype) } else if (model == EMS_DEVICE_FLAG_JUNKERS) { - // All Junkers use EMS+. I think. - EMS_TxTelegram.emsplus = true; - switch (temptype) { - case 1: // change the no frost temp - EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_no_frost_temp; - break; - case 2: // change the night temp - EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; - break; - case 3: // change the day temp - EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_day_temp; - break; - default: - case 0: // automatic selection, if no type is defined, we use the standard code - // TODO: not sure if this is correct for Junkers - if (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) { + EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ + + // figure out if we have older or new thermostats + // Heating Circuits on 0x65 or 0x79 (see https://github.com/proddy/EMS-ESP/issues/335#issuecomment-593324716) + // strip 7th (write) and 6th (junkers) bits to leave EMS_DEVICE_FLAG_JUNKERS_CONFIG1 or CONFIG2 + bool newer_junkers = ((model & 0x3F) == EMS_DEVICE_FLAG_JUNKERS_CONFIG1); + + if (newer_junkers) { + // new models like the FW series + switch (temptype) { + case THERMOSTAT_TEMP_MODE_NOFROST: + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_no_frost_temp; + break; + case THERMOSTAT_TEMP_MODE_NIGHT: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; - } else if (EMS_Thermostat.hc[hc_num - 1].mode_type == 1) { + break; + case THERMOSTAT_TEMP_MODE_DAY: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_day_temp; + break; + default: + case THERMOSTAT_TEMP_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code + if (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) { + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; + } else if (EMS_Thermostat.hc[hc_num - 1].mode_type == 1) { + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_day_temp; + } + break; } - break; + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; // 0x65 + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc_num - 1; + } else { + switch (temptype) { + case THERMOSTAT_TEMP_MODE_NOFROST: + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage2_no_frost_temp; + break; + case THERMOSTAT_TEMP_MODE_ECO: + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage2_eco_temp; + break; + default: + case THERMOSTAT_TEMP_MODE_HEAT: + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage3_heat; + break; + } + // older junkers models like the FR100 + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc_num - 1; // 0x79 + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc_num - 1; } - if (hc_num == 1) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; - } else if (hc_num == 2) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC2; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC2; - } else if (hc_num == 3) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC3; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC3; - } else if (hc_num == 4) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC4; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC4; - } EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } @@ -2517,7 +2533,7 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { return; } - uint8_t model = ems_getThermostatModel(); + uint8_t model = ems_getThermostatFlags(); uint8_t device_id = EMS_Thermostat.device_id; uint8_t set_mode; @@ -2581,19 +2597,16 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } else if (model == EMS_DEVICE_FLAG_JUNKERS) { - if (hc_num == 1) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC1; + if ((model & 0x3F) == EMS_DEVICE_FLAG_JUNKERS_CONFIG1) { + // config 1 + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + } else { + // config 2 + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc_num - 1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; - } else if (hc_num == 2) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC2; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC2; - } else if (hc_num == 3) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC3; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC3; - } else if (hc_num == 4) { - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage_HC4; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC4; } + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; diff --git a/src/ems.h b/src/ems.h index 9132a5f63..93cad6ff1 100644 --- a/src/ems.h +++ b/src/ems.h @@ -48,33 +48,24 @@ // Device Flags // They are unique to the model type (mixing, solar, thermostat etc) enum EMS_DEVICE_FLAG_TYPES : uint8_t { - EMS_DEVICE_FLAG_NONE = 0, - EMS_DEVICE_FLAG_MMPLUS = 20, // mixing EMS+ - EMS_DEVICE_FLAG_MM10 = 21, // mixing MM10, MM50 - EMS_DEVICE_FLAG_SM10 = 10, - EMS_DEVICE_FLAG_SM100 = 11, // for SM100 and SM200 - EMS_DEVICE_FLAG_EASY = 1, - EMS_DEVICE_FLAG_RC10 = 2, - EMS_DEVICE_FLAG_RC20 = 3, - EMS_DEVICE_FLAG_RC30 = 4, - EMS_DEVICE_FLAG_RC30N = 5, // newer type of RC30 with RC35 circuit - EMS_DEVICE_FLAG_RC35 = 6, - EMS_DEVICE_FLAG_RC300 = 7, - EMS_DEVICE_FLAG_JUNKERS = (1 << 6), // 6th bit set if its junkers HT3 - EMS_DEVICE_FLAG_NO_WRITE = (1 << 7) // top bit set if thermostat write not supported + EMS_DEVICE_FLAG_NONE = 0, + EMS_DEVICE_FLAG_MMPLUS = 20, // mixing EMS+ + EMS_DEVICE_FLAG_MM10 = 21, // mixing MM10, MM50 + EMS_DEVICE_FLAG_SM10 = 10, + EMS_DEVICE_FLAG_SM100 = 11, // for SM100 and SM200 + EMS_DEVICE_FLAG_EASY = 1, + EMS_DEVICE_FLAG_RC10 = 2, + EMS_DEVICE_FLAG_RC20 = 3, + EMS_DEVICE_FLAG_RC30 = 4, + EMS_DEVICE_FLAG_RC30N = 5, // newer type of RC30 with RC35 circuit + EMS_DEVICE_FLAG_RC35 = 6, + EMS_DEVICE_FLAG_RC300 = 7, + EMS_DEVICE_FLAG_JUNKERS_CONFIG1 = 1, // use 0x65 for HC + EMS_DEVICE_FLAG_JUNKERS_CONFIG2 = 2, // use 0x79 for HC, older models + EMS_DEVICE_FLAG_JUNKERS = (1 << 6), // 6th bit set if its junkers HT3 + EMS_DEVICE_FLAG_NO_WRITE = (1 << 7) // top bit set if thermostat write not supported }; -typedef enum { - EMS_THERMOSTAT_MODE_UNKNOWN, - EMS_THERMOSTAT_MODE_OFF, - EMS_THERMOSTAT_MODE_MANUAL, - EMS_THERMOSTAT_MODE_AUTO, - EMS_THERMOSTAT_MODE_NIGHT, - EMS_THERMOSTAT_MODE_DAY, - EMS_THERMOSTAT_MODE_ECO, - EMS_THERMOSTAT_MODE_COMFORT -} _EMS_THERMOSTAT_MODE; - // trigger settings to determine if hot tap water or the heating is active #define EMS_BOILER_BURNPOWER_TAPWATER 100 #define EMS_BOILER_SELFLOWTEMP_HEATING 30 // was 70, changed to 30 for https://github.com/proddy/EMS-ESP/issues/193 @@ -324,15 +315,15 @@ typedef struct { uint16_t switchTemp; // Switch temperature // UBAMonitorWWMessage - uint16_t wWCurTmp; // Warm Water current temperature - uint32_t wWStarts; // Warm Water # starts - uint32_t wWWorkM; // Warm Water # minutes - uint8_t wWOneTime; // Warm Water one time function on/off - uint8_t wWDesinfecting; // Warm Water desinfection on/off - uint8_t wWReadiness; // Warm Water readiness on/off - uint8_t wWRecharging; // Warm Water recharge on/off - uint8_t wWTemperaturOK; // Warm Water temperatur ok on/off - uint8_t wWCurFlow; // Warm Water current flow in l/min + uint16_t wWCurTmp; // Warm Water current temperature + uint32_t wWStarts; // Warm Water # starts + uint32_t wWWorkM; // Warm Water # minutes + uint8_t wWOneTime; // Warm Water one time function on/off + uint8_t wWDesinfecting; // Warm Water desinfection on/off + uint8_t wWReadiness; // Warm Water readiness on/off + uint8_t wWRecharging; // Warm Water recharge on/off + uint8_t wWTemperatureOK; // Warm Water temperature ok on/off + uint8_t wWCurFlow; // Warm Water current flow in l/min // UBATotalUptimeMessage uint32_t UBAuptime; // Total UBA working hours @@ -450,6 +441,27 @@ typedef struct { EMS_processType_cb processType_cb; } _EMS_Type; +typedef enum : uint8_t { + THERMOSTAT_TEMP_MODE_AUTO = 0, + THERMOSTAT_TEMP_MODE_NIGHT, + THERMOSTAT_TEMP_MODE_DAY, + THERMOSTAT_TEMP_MODE_HOLIDAY, + THERMOSTAT_TEMP_MODE_NOFROST, + THERMOSTAT_TEMP_MODE_ECO, // 'sparen' + THERMOSTAT_TEMP_MODE_HEAT // 'heizen' +} _THERMOSTAT_TEMP_MODE; + +typedef enum { + EMS_THERMOSTAT_MODE_UNKNOWN, + EMS_THERMOSTAT_MODE_OFF, + EMS_THERMOSTAT_MODE_MANUAL, + EMS_THERMOSTAT_MODE_AUTO, + EMS_THERMOSTAT_MODE_NIGHT, + EMS_THERMOSTAT_MODE_DAY, + EMS_THERMOSTAT_MODE_ECO, + EMS_THERMOSTAT_MODE_COMFORT +} _EMS_THERMOSTAT_MODE; + // function definitions void ems_dumpBuffer(const char * prefix, uint8_t * telegram, uint8_t length); void ems_parseTelegram(uint8_t * telegram, uint8_t len); @@ -462,7 +474,7 @@ void ems_printTxQueue(); void ems_testTelegram(uint8_t test_num); void ems_startupTelegrams(); bool ems_checkEMSBUSAlive(); -void ems_setThermostatTemp(float temperature, uint8_t hc, uint8_t temptype = 0); +void ems_setThermostatTemp(float temperature, uint8_t hc, _THERMOSTAT_TEMP_MODE temptype = THERMOSTAT_TEMP_MODE_AUTO); void ems_setThermostatMode(uint8_t mode, uint8_t hc); void ems_setWarmWaterTemp(uint8_t temperature); void ems_setFlowTemp(uint8_t temperature); @@ -499,8 +511,8 @@ bool ems_getHeatPumpEnabled(); bool ems_getBusConnected(); _EMS_SYS_LOGGING ems_getLogging(); -uint8_t ems_getThermostatModel(); -uint8_t ems_getSolarModuleModel(); +uint8_t ems_getThermostatFlags(); +uint8_t ems_getSolarModuleFlags(); void ems_discoverModels(); bool ems_getTxCapable(); uint32_t ems_getPollFrequency(); diff --git a/src/ems_devices.h b/src/ems_devices.h index 1aeb2a16e..99d1b4992 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -177,25 +177,38 @@ #define EMS_OFFSET_RCPLUSSet_manual_setpoint 10 // manual setpoint // Junkers FR10, FR50, FW100, FW120 (EMS Plus) -#define EMS_TYPE_JunkersStatusMessage_HC1 0x6F // is an automatic thermostat broadcast giving us temps -#define EMS_TYPE_JunkersStatusMessage_HC2 0x70 // is an automatic thermostat broadcast giving us temps -#define EMS_TYPE_JunkersStatusMessage_HC3 0x71 // is an automatic thermostat broadcast giving us temps -#define EMS_TYPE_JunkersStatusMessage_HC4 0x72 // is an automatic thermostat broadcast giving us temps +// HC1 = 0x6F-0x72 +#define EMS_TYPE_JunkersStatusMessage_HC1 0x6F +#define EMS_TYPE_JunkersStatusMessage_HC2 0x70 +#define EMS_TYPE_JunkersStatusMessage_HC3 0x71 +#define EMS_TYPE_JunkersStatusMessage_HC4 0x72 #define EMS_OFFSET_JunkersStatusMessage_daymode 0 // 3 = day, 2 = night #define EMS_OFFSET_JunkersStatusMessage_mode 1 // current mode, 1 = manual, 2 = auto #define EMS_OFFSET_JunkersStatusMessage_setpoint 2 // setpoint temp #define EMS_OFFSET_JunkersStatusMessage_curr 4 // current temp -#define EMS_TYPE_JunkersSetMessage_HC1 0x65 // EMS type to set temperature on thermostat for heating circuit 1 -#define EMS_TYPE_JunkersSetMessage_HC2 0x66 // EMS type to set temperature on thermostat for heating circuit 2 -#define EMS_TYPE_JunkersSetMessage_HC3 0x67 // EMS type to set temperature on thermostat for heating circuit 3 -#define EMS_TYPE_JunkersSetMessage_HC4 0x68 // EMS type to set temperature on thermostat for heating circuit 4 +// HC1-4 0x65-0x68 - EMS_DEVICE_FLAG_JUNKERS_CONFIG1 +// Junkers FR10, FR50, FW100, FW120 +#define EMS_TYPE_JunkersSetMessage1_HC1 0x65 +#define EMS_TYPE_JunkersSetMessage1_HC2 0x66 +#define EMS_TYPE_JunkersSetMessage1_HC3 0x67 +#define EMS_TYPE_JunkersSetMessage1_HC4 0x68 #define EMS_OFFSET_JunkersSetMessage_day_temp 0x11 // EMS offset to set temperature on thermostat for day mode #define EMS_OFFSET_JunkersSetMessage_night_temp 0x10 // EMS offset to set temperature on thermostat for night mode #define EMS_OFFSET_JunkersSetMessage_no_frost_temp 0x0F // EMS offset to set temperature on thermostat for no frost mode #define EMS_OFFSET_JunkersSetMessage_set_mode 0x0E // EMS offset to set mode on thermostat +// HC1-4 0x79-0x7C - EMS_DEVICE_FLAG_JUNKERS_CONFIG2 +// Junkers FR100 +#define EMS_TYPE_JunkersSetMessage2_HC1 0x79 +#define EMS_TYPE_JunkersSetMessage2_HC2 0x7A +#define EMS_TYPE_JunkersSetMessage2_HC3 0x7B +#define EMS_TYPE_JunkersSetMessage2_HC4 0x7C +#define EMS_OFFSET_JunkersSetMessage2_no_frost_temp 0x05 +#define EMS_OFFSET_JunkersSetMessage2_eco_temp 0x06 +#define EMS_OFFSET_JunkersSetMessage3_heat 0x07 + /* * Table of all known EMS Devices * ProductID, DeviceType, Description, Flags @@ -289,14 +302,14 @@ static const _EMS_Device EMS_Devices[] = { {113, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES72", EMS_DEVICE_FLAG_RC20}, // 0x17 // Junkers - all 0x10 - {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {106, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW200", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {108, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR110", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {191, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR120", EMS_DEVICE_FLAG_JUNKERS}, // 0x10 - {192, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW120", EMS_DEVICE_FLAG_JUNKERS} // 0x10 + {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 + {106, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW200", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 + {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG2}, // 0x10 + {108, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR110", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG2}, // 0x10 + {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 + {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 + {191, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR120", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 + {192, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW120", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1} // 0x10 }; diff --git a/src/my_config.h b/src/my_config.h index 2c4e574a8..ccd09358f 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -27,6 +27,9 @@ #define TOPIC_THERMOSTAT_CMD_DAYTEMP "daytemp" // day temp (RC35 specific) #define TOPIC_THERMOSTAT_CMD_NIGHTTEMP "nighttemp" // night temp (RC35 specific) #define TOPIC_THERMOSTAT_CMD_HOLIDAYTEMP "holidayttemp" // holiday temp (RC35 specific) +#define TOPIC_THERMOSTAT_CMD_NOFROSTTEMP "nofrosttemp" // frost temp (Junkers specific) +#define TOPIC_THERMOSTAT_CMD_ECOTEMP "ecotemp" // eco temp (Junkers specific) +#define TOPIC_THERMOSTAT_CMD_HEATTEMP "heattemp" // heat temp (Junkers specific) #define THERMOSTAT_CURRTEMP "currtemp" // current temperature #define THERMOSTAT_SELTEMP "seltemp" // selected temperature diff --git a/src/version.h b/src/version.h index 1898ef6d0..d01d75c46 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b47" +#define APP_VERSION "1.9.5b48" From 8874543a751a6e4b9492b58971dc3e594a2a8bdb Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 4 Mar 2020 19:19:10 +0100 Subject: [PATCH 173/195] fix for #335 --- src/ems-esp.cpp | 22 +++++++++++++--------- src/ems.cpp | 25 +++++++++++++++++-------- src/version.h | 2 +- 3 files changed, 31 insertions(+), 18 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index bb884411e..27e090b17 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -113,7 +113,7 @@ static const command_t project_cmds[] PROGMEM = { {false, "queue", "show current Tx queue"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, - {false, "thermostat temp [temp]", "set current thermostat temperature. temp=0-6 (see wiki)"}, + {false, "thermostat temp [mode] [hc]", "set current thermostat temperature. mode=0-6 (see wiki), hc=1-4"}, {false, "thermostat mode ", "set mode (0=off, 1=manual, 2=auto) for heating circuit hc 1-4"}, {false, "boiler read ", "send read request to boiler"}, {false, "boiler wwtemp ", "set boiler warm water temperature"}, @@ -1602,20 +1602,24 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { } // thermostat commands + // thermostat temp if ((strcmp(first_cmd, "thermostat") == 0) && (wc >= 3)) { char * second_cmd = _readWord(); if (strcmp(second_cmd, "temp") == 0) { - uint8_t hc = _readIntNumber(); // next parameter is the heating circuit - float temp = _readFloatNumber(); // read in next param which is the temp - if (wc == 5) { - // we have a temp mode given - _THERMOSTAT_TEMP_MODE temp_mode = (_THERMOSTAT_TEMP_MODE)_readIntNumber(); // next parameter is the temp mode type - ems_setThermostatTemp(temp, hc, temp_mode); + float temp = _readFloatNumber(); // read in next param which is the temp + + if (wc == 3) { + // no more params + ems_setThermostatTemp(temp, EMS_THERMOSTAT_DEFAULTHC); + ok = true; } else { - ems_setThermostatTemp(temp, hc); + // get modevalue and heatingcircuit + _THERMOSTAT_TEMP_MODE temp_mode = (_THERMOSTAT_TEMP_MODE)_readIntNumber(); // next parameter is the temp mode type + uint8_t hc = _readIntNumber(); // next parameter is the heating circuit + ems_setThermostatTemp(temp, hc, temp_mode); + ok = true; } - ok = true; } else if (strcmp(second_cmd, "mode") == 0) { uint8_t hc = _readIntNumber(); // next parameter is the heating circuit ems_setThermostatMode(_readIntNumber(), hc); diff --git a/src/ems.cpp b/src/ems.cpp index 60508a276..332a89b9a 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -266,8 +266,9 @@ bool ems_getHeatPumpEnabled() { return (EMS_HeatPump.device_id != EMS_ID_NONE); } +// thermostat has already the 7th bit (to indicate write) stripped uint8_t ems_getThermostatFlags() { - return (EMS_Thermostat.device_flags & 0x7F); // strip 7th bit which is used to show whether Write is supported + return (EMS_Thermostat.device_flags); } uint8_t ems_getSolarModuleFlags() { @@ -1840,6 +1841,15 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { brand = 0; // unknown } + /* + // override to emulate other thermostats - FR100 + if (device_id == 0x17) { + brand = 2; + device_id = 0x10; + product_id = 107; + } +*/ + // first scan through matching boilers, as these are unique to DeviceID 0x08 uint8_t i = 0; while (i < _EMS_Devices_max) { @@ -2451,16 +2461,14 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } - else if (model == EMS_DEVICE_FLAG_JUNKERS) { + else if (model & EMS_DEVICE_FLAG_JUNKERS) { EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ // figure out if we have older or new thermostats - // Heating Circuits on 0x65 or 0x79 (see https://github.com/proddy/EMS-ESP/issues/335#issuecomment-593324716) - // strip 7th (write) and 6th (junkers) bits to leave EMS_DEVICE_FLAG_JUNKERS_CONFIG1 or CONFIG2 - bool newer_junkers = ((model & 0x3F) == EMS_DEVICE_FLAG_JUNKERS_CONFIG1); - - if (newer_junkers) { - // new models like the FW series + // Heating Circuits on 0x65 (EMS_DEVICE_FLAG_JUNKERS_CONFIG1) or 0x79 (EMS_DEVICE_FLAG_JUNKERS_CONFIG2) + // see https://github.com/proddy/EMS-ESP/issues/335#issuecomment-593324716) + if ((model & 0x3F) == EMS_DEVICE_FLAG_JUNKERS_CONFIG1) { + // EMS_DEVICE_FLAG_JUNKERS_CONFIG1 - new models like the FW series switch (temptype) { case THERMOSTAT_TEMP_MODE_NOFROST: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_no_frost_temp; @@ -2483,6 +2491,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; // 0x65 EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc_num - 1; } else { + // EMS_DEVICE_FLAG_JUNKERS_CONFIG2 switch (temptype) { case THERMOSTAT_TEMP_MODE_NOFROST: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage2_no_frost_temp; diff --git a/src/version.h b/src/version.h index d01d75c46..28bd23e18 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b48" +#define APP_VERSION "1.9.5b49" From 64def6e4cdd83cc1788ef5ca56a329270c13e0b7 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 4 Mar 2020 21:05:15 +0100 Subject: [PATCH 174/195] #335 fix again --- src/ems-esp.cpp | 11 ++++++----- src/ems.cpp | 36 +++++++++++++++++------------------- src/ems.h | 32 ++++++++++++++++---------------- src/ems_devices.h | 20 ++++++++++---------- 4 files changed, 49 insertions(+), 50 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 27e090b17..92742f577 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -160,7 +160,7 @@ _EMS_THERMOSTAT_MODE _getThermostatMode(uint8_t hc_num) { } else if (mode == 1) { thermoMode = EMS_THERMOSTAT_MODE_AUTO; } - } else if (model == EMS_DEVICE_FLAG_JUNKERS) { + } else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { if (mode == 1) { thermoMode = EMS_THERMOSTAT_MODE_MANUAL; } else if (mode == 2) { @@ -188,7 +188,7 @@ _EMS_THERMOSTAT_MODE _getThermostatMode2(uint8_t hc_num) { uint8_t mode = EMS_Thermostat.hc[hc_num - 1].mode_type; - if (model == EMS_DEVICE_FLAG_JUNKERS) { + if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { if (mode == 3) { thermoMode = EMS_THERMOSTAT_MODE_DAY; } else if (mode == 2) { @@ -435,7 +435,8 @@ void showInfo() { _m_setpoint = 10; // *100 _m_curr = 10; // *100 break; - case EMS_DEVICE_FLAG_JUNKERS: + case EMS_DEVICE_FLAG_JUNKERS1: + case EMS_DEVICE_FLAG_JUNKERS2: _m_setpoint = 1; // *10 _m_curr = 1; // *10 break; @@ -834,7 +835,7 @@ bool publishEMSValues_thermostat() { dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 100; if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 100; - } else if (model == EMS_DEVICE_FLAG_JUNKERS) { + } else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 10; if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) @@ -2160,7 +2161,7 @@ void WebCallback(JsonObject root) { thermostat["ts"] = (float)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 100; if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp > EMS_VALUE_SHORT_NOTSET) thermostat["tc"] = (float)EMS_Thermostat.hc[hc_num - 1].curr_roomTemp / 100; - } else if (model == EMS_DEVICE_FLAG_JUNKERS) { + } else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) thermostat["ts"] = (float)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 10; if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp > EMS_VALUE_SHORT_NOTSET) diff --git a/src/ems.cpp b/src/ems.cpp index 332a89b9a..f18926959 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -2461,14 +2461,13 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } - else if (model & EMS_DEVICE_FLAG_JUNKERS) { + else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ // figure out if we have older or new thermostats - // Heating Circuits on 0x65 (EMS_DEVICE_FLAG_JUNKERS_CONFIG1) or 0x79 (EMS_DEVICE_FLAG_JUNKERS_CONFIG2) + // Heating Circuits on 0x65 or 0x79 // see https://github.com/proddy/EMS-ESP/issues/335#issuecomment-593324716) - if ((model & 0x3F) == EMS_DEVICE_FLAG_JUNKERS_CONFIG1) { - // EMS_DEVICE_FLAG_JUNKERS_CONFIG1 - new models like the FW series + if (model == EMS_DEVICE_FLAG_JUNKERS1) { switch (temptype) { case THERMOSTAT_TEMP_MODE_NOFROST: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_no_frost_temp; @@ -2491,7 +2490,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; // 0x65 EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc_num - 1; } else { - // EMS_DEVICE_FLAG_JUNKERS_CONFIG2 + // EMS_DEVICE_FLAG_JUNKERS2 switch (temptype) { case THERMOSTAT_TEMP_MODE_NOFROST: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage2_no_frost_temp; @@ -2605,21 +2604,20 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_mode; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; - } else if (model == EMS_DEVICE_FLAG_JUNKERS) { - if ((model & 0x3F) == EMS_DEVICE_FLAG_JUNKERS_CONFIG1) { - // config 1 - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; - } else { - // config 2 - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc_num - 1; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; - } + // Junkers + } else if (model == EMS_DEVICE_FLAG_JUNKERS1) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } else if (model == EMS_DEVICE_FLAG_JUNKERS2) { + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc_num - 1; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; + EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + } - EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; - - } else if (model == EMS_DEVICE_FLAG_RC300) { + else if (model == EMS_DEVICE_FLAG_RC300) { EMS_TxTelegram.offset = EMS_OFFSET_RCPLUSSet_mode; if (hc_num == 1) { diff --git a/src/ems.h b/src/ems.h index 93cad6ff1..9856313be 100644 --- a/src/ems.h +++ b/src/ems.h @@ -48,22 +48,22 @@ // Device Flags // They are unique to the model type (mixing, solar, thermostat etc) enum EMS_DEVICE_FLAG_TYPES : uint8_t { - EMS_DEVICE_FLAG_NONE = 0, - EMS_DEVICE_FLAG_MMPLUS = 20, // mixing EMS+ - EMS_DEVICE_FLAG_MM10 = 21, // mixing MM10, MM50 - EMS_DEVICE_FLAG_SM10 = 10, - EMS_DEVICE_FLAG_SM100 = 11, // for SM100 and SM200 - EMS_DEVICE_FLAG_EASY = 1, - EMS_DEVICE_FLAG_RC10 = 2, - EMS_DEVICE_FLAG_RC20 = 3, - EMS_DEVICE_FLAG_RC30 = 4, - EMS_DEVICE_FLAG_RC30N = 5, // newer type of RC30 with RC35 circuit - EMS_DEVICE_FLAG_RC35 = 6, - EMS_DEVICE_FLAG_RC300 = 7, - EMS_DEVICE_FLAG_JUNKERS_CONFIG1 = 1, // use 0x65 for HC - EMS_DEVICE_FLAG_JUNKERS_CONFIG2 = 2, // use 0x79 for HC, older models - EMS_DEVICE_FLAG_JUNKERS = (1 << 6), // 6th bit set if its junkers HT3 - EMS_DEVICE_FLAG_NO_WRITE = (1 << 7) // top bit set if thermostat write not supported + EMS_DEVICE_FLAG_NONE = 0, + EMS_DEVICE_FLAG_MMPLUS = 20, // mixing EMS+ + EMS_DEVICE_FLAG_MM10 = 21, // mixing MM10, MM50 + EMS_DEVICE_FLAG_SM10 = 10, + EMS_DEVICE_FLAG_SM100 = 11, // for SM100 and SM200 + EMS_DEVICE_FLAG_EASY = 1, + EMS_DEVICE_FLAG_RC10 = 2, + EMS_DEVICE_FLAG_RC20 = 3, + EMS_DEVICE_FLAG_RC30 = 4, + EMS_DEVICE_FLAG_RC30N = 5, // newer type of RC30 with RC35 circuit + EMS_DEVICE_FLAG_RC35 = 6, + EMS_DEVICE_FLAG_RC300 = 7, + EMS_DEVICE_FLAG_JUNKERS1 = 31, // use 0x65 for HC + EMS_DEVICE_FLAG_JUNKERS2 = 32, // use 0x79 for HC, older models + EMS_DEVICE_FLAG_JUNKERS = (1 << 6), // 6th bit set if its junkers HT3 + EMS_DEVICE_FLAG_NO_WRITE = (1 << 7) // top bit set if thermostat write not supported }; // trigger settings to determine if hot tap water or the heating is active diff --git a/src/ems_devices.h b/src/ems_devices.h index 99d1b4992..273b178da 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -188,7 +188,7 @@ #define EMS_OFFSET_JunkersStatusMessage_setpoint 2 // setpoint temp #define EMS_OFFSET_JunkersStatusMessage_curr 4 // current temp -// HC1-4 0x65-0x68 - EMS_DEVICE_FLAG_JUNKERS_CONFIG1 +// HC1-4 0x65-0x68 - EMS_DEVICE_FLAG_JUNKERS1 // Junkers FR10, FR50, FW100, FW120 #define EMS_TYPE_JunkersSetMessage1_HC1 0x65 #define EMS_TYPE_JunkersSetMessage1_HC2 0x66 @@ -199,7 +199,7 @@ #define EMS_OFFSET_JunkersSetMessage_no_frost_temp 0x0F // EMS offset to set temperature on thermostat for no frost mode #define EMS_OFFSET_JunkersSetMessage_set_mode 0x0E // EMS offset to set mode on thermostat -// HC1-4 0x79-0x7C - EMS_DEVICE_FLAG_JUNKERS_CONFIG2 +// HC1-4 0x79-0x7C - EMS_DEVICE_FLAG_JUNKERS2 // Junkers FR100 #define EMS_TYPE_JunkersSetMessage2_HC1 0x79 #define EMS_TYPE_JunkersSetMessage2_HC2 0x7A @@ -302,14 +302,14 @@ static const _EMS_Device EMS_Devices[] = { {113, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES72", EMS_DEVICE_FLAG_RC20}, // 0x17 // Junkers - all 0x10 - {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 - {106, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW200", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 - {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG2}, // 0x10 - {108, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR110", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG2}, // 0x10 - {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 - {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 - {191, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR120", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1}, // 0x10 - {192, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW120", EMS_DEVICE_FLAG_JUNKERS | EMS_DEVICE_FLAG_JUNKERS_CONFIG1} // 0x10 + {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS1}, // 0x10 + {106, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW200", EMS_DEVICE_FLAG_JUNKERS1}, // 0x10 + {107, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR100", EMS_DEVICE_FLAG_JUNKERS2}, // 0x10 + {108, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR110", EMS_DEVICE_FLAG_JUNKERS2}, // 0x10 + {111, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR10", EMS_DEVICE_FLAG_JUNKERS1}, // 0x10 + {147, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR50", EMS_DEVICE_FLAG_JUNKERS1}, // 0x10 + {191, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FR120", EMS_DEVICE_FLAG_JUNKERS1}, // 0x10 + {192, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW120", EMS_DEVICE_FLAG_JUNKERS1} // 0x10 }; From 1385af3d5447c9bc77146c8e082d420a553d6659 Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 6 Mar 2020 17:13:29 +0100 Subject: [PATCH 175/195] added IP and version to MQTT start payload, added support for RC100/Moduline 1010, Fixed Junkers thermostat writing --- CHANGELOG.md | 11 +++++++---- src/MyESP.cpp | 9 ++++++++- src/MyESP.h | 2 +- src/ems-esp.cpp | 6 ++++-- src/ems.cpp | 44 ++++++++++++++++++++------------------------ src/ems.h | 3 ++- src/ems_devices.h | 18 +++++++++--------- src/version.h | 2 +- 8 files changed, 52 insertions(+), 43 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 9820b7e44..d54df1c76 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,16 +9,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - Solar Module SM200 support -- `set master_thermostat ` to choose with thermostat is master when there are multiple on the bus +- Support writing to Junkers FR100 thermostats +- Support writing to RC100, Moduline 1000/1010 thermostats - MM10 Mixing module support (thanks @MichaelDvP) - MM200 warm water circuits (https://github.com/proddy/EMS-ESP/pull/315) -- First implementation of writing to Junker Thermostats (thanks @Neonox31) +- Support for Moduline 200 and Sieger ES72 thermostats +- First implementation of writing to generic Junker Thermostats (thanks @Neonox31) - Added model type (Buderus, Sieger, Junkers, Nefit, Bosch, Worcester) to device names +- `set master_thermostat ` to choose with thermostat is master when there are multiple on the bus - `boiler wwonetime` command from Telnet - `set bus_id ` to support multiple EMS-ESP circuits. Default is 0x0B to mimic a service key. +- `mqtt_nestedjson` option to disable multiple data records being nested into a single JSON string - MQTT publish messages are queued and gracefully published every second to avoid TCP blocks -- Added `mqtt_nestedjson` option to disable multiple data records being nested into a single JSON string -- Support for Moduline 200 and Sieger ES72 thermostats - Added features to WW messages (0x33, 0x34) to improve WW monitoring. (PR#338 by @ypaindaveine) - Added mixing log and stub for EMS type 0xAC (PR#338 by @ypaindaveine) @@ -31,6 +33,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - improved MQTT publishing to stop network flooding. `publish_time` of -1 is no publish, 0 is automatic otherwise its a time interval - External sensors (like Dallas DS18*) are sent as a nested MQTT topic including their unqiue identifier - `mqttlog` console command renamed to `mqttqueue` to only show the current publish queue +- `status` payload on start-up shows the IP and Version of EMS-ESP ### Removed - `autodetect scan` diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 3327da461..9ca191110 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -598,7 +598,14 @@ void MyESP::_mqttOnConnect() { _mqtt_last_connection = millis(); // say we're alive to the Last Will topic - mqttPublish(_mqtt_will_topic, _mqtt_will_online_payload, true); // force retain on + // send online appended with the version information as JSON + const size_t capacity = JSON_OBJECT_SIZE(3); + StaticJsonDocument doc; + JsonObject payload = doc.to(); + payload["status"] = _mqtt_will_online_payload; + payload["version"] = _app_version; + payload["IP"] = WiFi.localIP().toString(); + mqttPublish(_mqtt_will_topic, doc, true); // force retain on // subscribe to general subs mqttSubscribe(MQTT_TOPIC_RESTART); diff --git a/src/MyESP.h b/src/MyESP.h index c93c54707..aa50c097f 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.33" +#define MYESP_VERSION "1.2.34" #include #include diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 92742f577..ebe108b09 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -154,7 +154,7 @@ _EMS_THERMOSTAT_MODE _getThermostatMode(uint8_t hc_num) { } else if (mode == 2) { thermoMode = EMS_THERMOSTAT_MODE_AUTO; } - } else if (model == EMS_DEVICE_FLAG_RC300) { + } else if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { if (mode == 0) { thermoMode = EMS_THERMOSTAT_MODE_MANUAL; } else if (mode == 1) { @@ -206,6 +206,8 @@ _EMS_THERMOSTAT_MODE _getThermostatMode2(uint8_t hc_num) { } else if (mode == 1) { thermoMode = EMS_THERMOSTAT_MODE_COMFORT; } + } else if (model == EMS_DEVICE_FLAG_RC100) { + thermoMode = EMS_THERMOSTAT_MODE_DAY; // no modes on these devices } return thermoMode; @@ -425,7 +427,7 @@ void showInfo() { // Render Thermostat Date & Time uint8_t model = ems_getThermostatFlags(); - if ((model != EMS_DEVICE_FLAG_EASY)) { + if (strlen(EMS_Thermostat.datetime) > 2) { myDebug_P(PSTR(" Thermostat time is %s"), EMS_Thermostat.datetime); } diff --git a/src/ems.cpp b/src/ems.cpp index f18926959..412b23e14 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -666,7 +666,7 @@ void _ems_sendTelegram() { } // send the telegram to the UART Tx - _EMS_TX_STATUS _txStatus = emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); // send the telegram to the UART Tx + _EMS_TX_STATUS _txStatus = emsuart_tx_buffer(EMS_TxTelegram.data, EMS_TxTelegram.length); if (EMS_TX_STATUS_OK == _txStatus || EMS_TX_STATUS_IDLE == _txStatus) EMS_Sys_Status.emsTxStatus = EMS_TX_STATUS_WAIT; else { @@ -1386,7 +1386,7 @@ void _process_JunkersStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_JunkersStatusMessage_curr); // value is * 10 _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_JunkersStatusMessage_setpoint); // value is * 10 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_JunkersStatusMessage_daymode); // 3 = day, 2 = night + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_JunkersStatusMessage_daymode, 0); // first bit 1=day, 0=night _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_JunkersStatusMessage_mode); // 1 = manual, 2 = auto } @@ -1841,14 +1841,15 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { brand = 0; // unknown } - /* +#ifdef EMSESP_SIMULATE // override to emulate other thermostats - FR100 if (device_id == 0x17) { - brand = 2; - device_id = 0x10; - product_id = 107; + brand = 2; + device_id = 0x10; + //product_id = 107; // FR100 + product_id = 192; // FW120 } -*/ +#endif // first scan through matching boilers, as these are unique to DeviceID 0x08 uint8_t i = 0; @@ -2045,6 +2046,7 @@ void ems_getThermostatValues() { } break; case EMS_DEVICE_FLAG_RC300: + case EMS_DEVICE_FLAG_RC100: ems_doReadCommand(EMS_TYPE_RCPLUSStatusMessage_HC1, device_id); ems_doReadCommand(EMS_TYPE_RCPLUSStatusMessage_HC2, device_id); ems_doReadCommand(EMS_TYPE_RCPLUSStatusMessage_HC3, device_id); @@ -2369,8 +2371,10 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M _float_to_char(s, temperature), hc_num, temptype); - } else { + } else if (hc_num != 1) { myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d"), _float_to_char(s, temperature), hc_num); + } else { + myDebug_P(PSTR("Setting new thermostat temperature to %s"), _float_to_char(s, temperature)); } if (model == EMS_DEVICE_FLAG_RC10) { @@ -2394,7 +2398,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } - else if (model == EMS_DEVICE_FLAG_RC300) { + else if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { // check mode to determine offset if (EMS_Thermostat.hc[hc_num - 1].mode == 1) { // auto EMS_TxTelegram.offset = 0x08; // auto offset @@ -2433,14 +2437,9 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M default: case THERMOSTAT_TEMP_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code if (model == EMS_DEVICE_FLAG_RC35) { - // https://github.com/proddy/EMS-ESP/issues/310 - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; // https://github.com/proddy/EMS-ESP/issues/310 } else { - if (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) { - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; - } else if (EMS_Thermostat.hc[hc_num - 1].mode_type == 1) { - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; - } + EMS_TxTelegram.offset = (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) ? EMS_OFFSET_RC35Set_temp_night : EMS_OFFSET_RC35Set_temp_day; } break; } @@ -2480,11 +2479,8 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M break; default: case THERMOSTAT_TEMP_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code - if (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) { - EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; - } else if (EMS_Thermostat.hc[hc_num - 1].mode_type == 1) { - EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_day_temp; - } + EMS_TxTelegram.offset = + (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) ? EMS_OFFSET_JunkersSetMessage_night_temp : EMS_OFFSET_JunkersSetMessage_day_temp; break; } EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; // 0x65 @@ -2546,7 +2542,7 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { uint8_t set_mode; // RC300/1000/3000 have different settings - if (model == EMS_DEVICE_FLAG_RC300) { + if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { if (mode == 1) { set_mode = 0; // manual } else { @@ -2617,7 +2613,7 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } - else if (model == EMS_DEVICE_FLAG_RC300) { + else if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { EMS_TxTelegram.offset = EMS_OFFSET_RCPLUSSet_mode; if (hc_num == 1) { @@ -2959,7 +2955,7 @@ const _EMS_Type EMS_Types[] = { // Easy {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_EasyStatusMessage, "EasyStatusMessage", _process_EasyStatusMessage}, - // Nefit 1010, RC300, RC310 (EMS Plus) + // Nefit 1010, RC300, RC100, RC310 (EMS Plus) {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RCPLUSStatusMessage_HC1, "RCPLUSStatusMessage_HC1", _process_RCPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RCPLUSStatusMessage_HC2, "RCPLUSStatusMessage_HC2", _process_RCPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RCPLUSStatusMessage_HC3, "RCPLUSStatusMessage_HC3", _process_RCPLUSStatusMessage}, diff --git a/src/ems.h b/src/ems.h index 9856313be..18844b1ce 100644 --- a/src/ems.h +++ b/src/ems.h @@ -59,7 +59,8 @@ enum EMS_DEVICE_FLAG_TYPES : uint8_t { EMS_DEVICE_FLAG_RC30 = 4, EMS_DEVICE_FLAG_RC30N = 5, // newer type of RC30 with RC35 circuit EMS_DEVICE_FLAG_RC35 = 6, - EMS_DEVICE_FLAG_RC300 = 7, + EMS_DEVICE_FLAG_RC100 = 7, + EMS_DEVICE_FLAG_RC300 = 8, EMS_DEVICE_FLAG_JUNKERS1 = 31, // use 0x65 for HC EMS_DEVICE_FLAG_JUNKERS2 = 32, // use 0x79 for HC, older models EMS_DEVICE_FLAG_JUNKERS = (1 << 6), // 6th bit set if its junkers HT3 diff --git a/src/ems_devices.h b/src/ems_devices.h index 273b178da..e9ffbe6a1 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -287,15 +287,15 @@ static const _EMS_Device EMS_Devices[] = { {157, EMS_DEVICE_TYPE_THERMOSTAT, "Buderus RC200/Bosch CW100/Junkers CW100", EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, cannot write // Buderus/Nefit specific - {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 - {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", 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_RC30N}, // 0x10 - based on RC35 - {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 - {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 - {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x19 - {158, EMS_DEVICE_TYPE_THERMOSTAT, "RC300/RC310/Moduline 3000/Bosch CW400/W-B Sense II", EMS_DEVICE_FLAG_RC300}, // 0x10 - {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1000/1010", EMS_DEVICE_FLAG_RC300 | EMS_DEVICE_FLAG_NO_WRITE}, // 0x18, 0x38 - cannot write + {79, EMS_DEVICE_TYPE_THERMOSTAT, "RC10/Moduline 100", EMS_DEVICE_FLAG_RC10}, // 0x17 + {80, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 200", 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_RC30N}, // 0x10 - based on RC35 + {78, EMS_DEVICE_TYPE_THERMOSTAT, "Moduline 400", EMS_DEVICE_FLAG_RC30}, // 0x10 + {86, EMS_DEVICE_TYPE_THERMOSTAT, "RC35", EMS_DEVICE_FLAG_RC35}, // 0x10 + {93, EMS_DEVICE_TYPE_THERMOSTAT, "RC20RF", EMS_DEVICE_FLAG_RC20}, // 0x19 + {158, EMS_DEVICE_TYPE_THERMOSTAT, "RC300/RC310/Moduline 3000/Bosch CW400/W-B Sense II", EMS_DEVICE_FLAG_RC300}, // 0x10 + {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1000/1010", EMS_DEVICE_FLAG_RC100}, // 0x18, 0x38 // Sieger {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 diff --git a/src/version.h b/src/version.h index 28bd23e18..4036f5327 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b49" +#define APP_VERSION "1.9.5b50" From b8fb03a5ffeeeb32b0863586b1d362491cea28db Mon Sep 17 00:00:00 2001 From: Paul Date: Sat, 7 Mar 2020 12:33:27 +0100 Subject: [PATCH 176/195] use MQTT start topic to show version & IP & boottime - #342 --- src/MyESP.cpp | 26 ++++++++++++++++---------- src/MyESP.h | 3 +-- src/version.h | 2 +- 3 files changed, 18 insertions(+), 13 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 9ca191110..db5428c69 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -597,15 +597,8 @@ void MyESP::_mqttOnConnect() { _mqtt_reconnect_delay = MQTT_RECONNECT_DELAY_MIN; _mqtt_last_connection = millis(); - // say we're alive to the Last Will topic - // send online appended with the version information as JSON - const size_t capacity = JSON_OBJECT_SIZE(3); - StaticJsonDocument doc; - JsonObject payload = doc.to(); - payload["status"] = _mqtt_will_online_payload; - payload["version"] = _app_version; - payload["IP"] = WiFi.localIP().toString(); - mqttPublish(_mqtt_will_topic, doc, true); // force retain on + // say we're alive to the Last Will topic, with retain on + mqttPublish(_mqtt_will_topic, _mqtt_will_online_payload, true); // subscribe to general subs mqttSubscribe(MQTT_TOPIC_RESTART); @@ -613,7 +606,20 @@ void MyESP::_mqttOnConnect() { // subscribe to a start message and send the first publish // forcing retain to off since we only want to send this once mqttSubscribe(MQTT_TOPIC_START); - mqttPublish(MQTT_TOPIC_START, MQTT_TOPIC_START_PAYLOAD, false); + + // send online appended with the version information as JSON + StaticJsonDocument doc; + JsonObject payload = doc.to(); + payload["version"] = _app_version; + payload["IP"] = WiFi.localIP().toString(); + // add time if we know it + if ((_ntp_enabled) && (NTP.tcr->abbrev != nullptr)) { + uint32_t real_time = getSystemTime(); + char s[30]; + snprintf_P(s, 30, PSTR("%02d:%02d:%02d %s"), to_hour(real_time), to_minute(real_time), to_second(real_time), NTP.tcr->abbrev); + payload["boottime"] = s; + } + mqttPublish(MQTT_TOPIC_START, doc, false); // send heartbeat if enabled heartbeatCheck(true); diff --git a/src/MyESP.h b/src/MyESP.h index aa50c097f..51729e17c 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.34" +#define MYESP_VERSION "1.2.35" #include #include @@ -86,7 +86,6 @@ extern struct rst_info resetInfo; #define MQTT_RECONNECT_DELAY_MAX 120000 // Set reconnect time to 2 minutes at most #define MQTT_TOPIC_START "start" #define MQTT_TOPIC_HEARTBEAT "heartbeat" -#define MQTT_TOPIC_START_PAYLOAD "start" #define MQTT_TOPIC_RESTART "restart" #define MQTT_WILL_ONLINE_PAYLOAD "online" // for last will & testament payload #define MQTT_WILL_OFFLINE_PAYLOAD "offline" // for last will & testament payload diff --git a/src/version.h b/src/version.h index 4036f5327..bdc83bbf2 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b50" +#define APP_VERSION "1.9.5b51" From c55ed82c3064ceed4427bb70182e1f2e0b00255d Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 8 Mar 2020 19:41:21 +0100 Subject: [PATCH 177/195] optimize thermostat modes - #138 --- CHANGELOG.md | 1 + platformio.ini | 2 +- src/ems-esp.cpp | 41 +++++-------- src/ems.cpp | 150 +++++++++++++++++++++++++++++++++++++----------- src/ems.h | 26 ++++----- src/version.h | 2 +- 6 files changed, 145 insertions(+), 77 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d54df1c76..7a2961d9f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -34,6 +34,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - External sensors (like Dallas DS18*) are sent as a nested MQTT topic including their unqiue identifier - `mqttlog` console command renamed to `mqttqueue` to only show the current publish queue - `status` payload on start-up shows the IP and Version of EMS-ESP +- `thermostat mode` takes a string like manual,auto,heat,day,night,eco,comfort,holiday,nofrost ### Removed - `autodetect scan` diff --git a/platformio.ini b/platformio.ini index 7d99ce738..837d143fa 100644 --- a/platformio.ini +++ b/platformio.ini @@ -14,7 +14,7 @@ default_envs = release ; -DFORCE_SERIAL ; -DMYESP_DEBUG ; -DSENSOR_MQTT_USEID -;custom_flags = -DFORCE_SERIAL -DMYESP_DEBUG +;custom_flags = -DFORCE_SERIAL -DMYESP_DEBUG -DEMSESP_SIMULATE custom_flags = # Available lwIP variants (macros): diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index ebe108b09..0f8355f2b 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -113,8 +113,8 @@ static const command_t project_cmds[] PROGMEM = { {false, "queue", "show current Tx queue"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, - {false, "thermostat temp [mode] [hc]", "set current thermostat temperature. mode=0-6 (see wiki), hc=1-4"}, - {false, "thermostat mode ", "set mode (0=off, 1=manual, 2=auto) for heating circuit hc 1-4"}, + {false, "thermostat temp [mode] [hc]", "set current thermostat temperature. mode=0-6 (see wiki) for hc=1-4"}, + {false, "thermostat mode [hc]", "set mode (manual,auto,heat,day,night,eco,comfort,holiday,nofrost)"}, {false, "boiler read ", "send read request to boiler"}, {false, "boiler wwtemp ", "set boiler warm water temperature"}, {false, "boiler wwactive ", "set boiler warm water on/off"}, @@ -1618,14 +1618,15 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { ok = true; } else { // get modevalue and heatingcircuit - _THERMOSTAT_TEMP_MODE temp_mode = (_THERMOSTAT_TEMP_MODE)_readIntNumber(); // next parameter is the temp mode type - uint8_t hc = _readIntNumber(); // next parameter is the heating circuit + _EMS_THERMOSTAT_MODE temp_mode = (_EMS_THERMOSTAT_MODE)_readIntNumber(); // next parameter is the temp mode type + uint8_t hc = _readIntNumber(); // next parameter is the heating circuit ems_setThermostatTemp(temp, hc, temp_mode); ok = true; } } else if (strcmp(second_cmd, "mode") == 0) { - uint8_t hc = _readIntNumber(); // next parameter is the heating circuit - ems_setThermostatMode(_readIntNumber(), hc); + char * mode_s = _readWord(); + uint8_t hc = (wc == 3) ? EMS_THERMOSTAT_DEFAULTHC : _readIntNumber(); + ems_setThermostatMode(mode_s, hc); ok = true; } else if (strcmp(second_cmd, "read") == 0) { ems_doReadCommand(_readHexNumber(), EMS_Thermostat.device_id); @@ -1951,13 +1952,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_MODE_HA, topic); if (hc) { if (EMS_Thermostat.hc[hc - 1].active) { - if (strncmp(message, "auto", 4) == 0) { - ems_setThermostatMode(2, hc); - } else if ((strncmp(message, "day", 4) == 0) || (strncmp(message, "manual", 6) == 0) || (strncmp(message, "heat", 4) == 0)) { - ems_setThermostatMode(1, hc); - } else if ((strncmp(message, "night", 5) == 0) || (strncmp(message, "off", 3) == 0)) { - ems_setThermostatMode(0, hc); - } + ems_setThermostatMode(message, hc); return; } } @@ -1997,13 +1992,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (data_cmd == nullptr) { return; } - if (strncmp(data_cmd, "auto", 4) == 0) { - ems_setThermostatMode(2, hc); - } else if ((strncmp(data_cmd, "day", 4) == 0) || (strncmp(data_cmd, "manual", 6) == 0) || (strncmp(data_cmd, "heat", 4) == 0)) { - ems_setThermostatMode(1, hc); - } else if ((strncmp(data_cmd, "night", 5) == 0) || (strncmp(data_cmd, "off", 3) == 0)) { - ems_setThermostatMode(0, hc); - } + ems_setThermostatMode(data_cmd, hc); return; } } @@ -2014,7 +2003,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_NIGHT); // night + ems_setThermostatTemp(f, hc, EMS_THERMOSTAT_MODE_NIGHT); // night return; } } @@ -2026,7 +2015,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_DAY); // day + ems_setThermostatTemp(f, hc, EMS_THERMOSTAT_MODE_DAY); // day } return; } @@ -2038,7 +2027,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_HOLIDAY); // holiday + ems_setThermostatTemp(f, hc, EMS_THERMOSTAT_MODE_HOLIDAY); // holiday } return; } @@ -2050,7 +2039,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_ECO); // holiday + ems_setThermostatTemp(f, hc, EMS_THERMOSTAT_MODE_ECO); // holiday } return; } @@ -2062,7 +2051,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_HEAT); // holiday + ems_setThermostatTemp(f, hc, EMS_THERMOSTAT_MODE_HEAT); // holiday } return; } @@ -2074,7 +2063,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc, THERMOSTAT_TEMP_MODE_NOFROST); // holiday + ems_setThermostatTemp(f, hc, EMS_THERMOSTAT_MODE_NOFROST); // holiday } return; } diff --git a/src/ems.cpp b/src/ems.cpp index 412b23e14..769ce4ca6 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -2339,7 +2339,7 @@ void ems_sendRawTelegram(char * telegram) { * hc_num is 1 to 4 * temptype 0=normal, 1=night temp, 2=day temp, 3=holiday temp */ -void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_MODE temptype) { +void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MODE temptype) { if (!ems_getThermostatEnabled()) { myDebug_P(PSTR("Thermostat not online.")); return; @@ -2425,17 +2425,17 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { switch (temptype) { - case THERMOSTAT_TEMP_MODE_NIGHT: // change the night temp + case EMS_THERMOSTAT_MODE_NIGHT: // change the night temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; break; - case THERMOSTAT_TEMP_MODE_DAY: // change the day temp + case EMS_THERMOSTAT_MODE_DAY: // change the day temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; break; - case THERMOSTAT_TEMP_MODE_HOLIDAY: // change the holiday temp + case EMS_THERMOSTAT_MODE_HOLIDAY: // change the holiday temp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_holiday; break; default: - case THERMOSTAT_TEMP_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code + case EMS_THERMOSTAT_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code if (model == EMS_DEVICE_FLAG_RC35) { EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; // https://github.com/proddy/EMS-ESP/issues/310 } else { @@ -2468,17 +2468,17 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M // see https://github.com/proddy/EMS-ESP/issues/335#issuecomment-593324716) if (model == EMS_DEVICE_FLAG_JUNKERS1) { switch (temptype) { - case THERMOSTAT_TEMP_MODE_NOFROST: + case EMS_THERMOSTAT_MODE_NOFROST: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_no_frost_temp; break; - case THERMOSTAT_TEMP_MODE_NIGHT: + case EMS_THERMOSTAT_MODE_NIGHT: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_night_temp; break; - case THERMOSTAT_TEMP_MODE_DAY: + case EMS_THERMOSTAT_MODE_DAY: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_day_temp; break; default: - case THERMOSTAT_TEMP_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code + case EMS_THERMOSTAT_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code EMS_TxTelegram.offset = (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) ? EMS_OFFSET_JunkersSetMessage_night_temp : EMS_OFFSET_JunkersSetMessage_day_temp; break; @@ -2488,14 +2488,14 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M } else { // EMS_DEVICE_FLAG_JUNKERS2 switch (temptype) { - case THERMOSTAT_TEMP_MODE_NOFROST: + case EMS_THERMOSTAT_MODE_NOFROST: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage2_no_frost_temp; break; - case THERMOSTAT_TEMP_MODE_ECO: + case EMS_THERMOSTAT_MODE_ECO: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage2_eco_temp; break; default: - case THERMOSTAT_TEMP_MODE_HEAT: + case EMS_THERMOSTAT_MODE_HEAT: EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage3_heat; break; } @@ -2515,13 +2515,38 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _THERMOSTAT_TEMP_M EMS_TxQueue.push(EMS_TxTelegram); } +// wrapper for setting thermostat mode, taking a string as an argument +void ems_setThermostatMode(const char * mode_s, uint8_t hc_num) { + if (strncmp(mode_s, "auto", 4) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_AUTO, hc_num); + } else if (strncmp(mode_s, "day", 3) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_DAY, hc_num); + } else if (strncmp(mode_s, "manual", 6) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_MANUAL, hc_num); + } else if (strncmp(mode_s, "heat", 4) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_HEAT, hc_num); + } else if (strncmp(mode_s, "night", 5) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_NIGHT, hc_num); + } else if (strncmp(mode_s, "off", 3) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_OFF, hc_num); + } else if (strncmp(mode_s, "comfort", 7) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_COMFORT, hc_num); + } else if (strncmp(mode_s, "holiday", 7) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_HOLIDAY, hc_num); + } else if (strncmp(mode_s, "nofrost", 7) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_NOFROST, hc_num); + } else if (strncmp(mode_s, "eco", 3) == 0) { + ems_setThermostatMode(EMS_THERMOSTAT_MODE_ECO, hc_num); + } +} + /** * Set the thermostat working mode * 0xA8 on a RC20 and 0xA7 on RC30 * 0x01B9 for EMS+ 300/1000/3000, Auto=0xFF Manual=0x00. See https://github.com/proddy/EMS-ESP/wiki/RC3xx-Thermostats * hc_num is 1 to 4 */ -void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { +void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc_num) { if (!ems_getThermostatEnabled()) { myDebug_P(PSTR("Thermostat not online.")); return; @@ -2537,28 +2562,85 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { return; } - uint8_t model = ems_getThermostatFlags(); - uint8_t device_id = EMS_Thermostat.device_id; - uint8_t set_mode; - - // RC300/1000/3000 have different settings - if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { - if (mode == 1) { - set_mode = 0; // manual + // set the value to send via EMS depending on the mode type + uint8_t set_mode_value = 0x02; // default is 2 which is usually auto + char mode_str[20]; + switch (mode) { + case EMS_THERMOSTAT_MODE_AUTO: + strlcpy(mode_str, "auto", sizeof(mode_str)); + set_mode_value = 2; + break; + case EMS_THERMOSTAT_MODE_NIGHT: + strlcpy(mode_str, "night", sizeof(mode_str)); + set_mode_value = 0; + break; + case EMS_THERMOSTAT_MODE_DAY: + strlcpy(mode_str, "day", sizeof(mode_str)); + set_mode_value = 1; + break; + case EMS_THERMOSTAT_MODE_HOLIDAY: + strlcpy(mode_str, "holiday", sizeof(mode_str)); + set_mode_value = 2; // auto + break; + case EMS_THERMOSTAT_MODE_NOFROST: + strlcpy(mode_str, "nofrost", sizeof(mode_str)); + set_mode_value = 1; + break; + case EMS_THERMOSTAT_MODE_ECO: + strlcpy(mode_str, "eco", sizeof(mode_str)); + set_mode_value = 2; // same as auto + break; + case EMS_THERMOSTAT_MODE_HEAT: + strlcpy(mode_str, "heat", sizeof(mode_str)); + set_mode_value = 1; + break; + case EMS_THERMOSTAT_MODE_OFF: + strlcpy(mode_str, "off", sizeof(mode_str)); + set_mode_value = 0; + break; + case EMS_THERMOSTAT_MODE_MANUAL: + strlcpy(mode_str, "manual", sizeof(mode_str)); + set_mode_value = 1; + break; + case EMS_THERMOSTAT_MODE_UNKNOWN: + default: + strlcpy(mode_str, "unknown", sizeof(mode_str)); + 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(); + switch (model) { + case EMS_DEVICE_FLAG_RC300: + case EMS_DEVICE_FLAG_RC100: + if (mode == EMS_THERMOSTAT_MODE_AUTO) { + set_mode_value = 0xFF; // special value for auto } else { - set_mode = 0xFF; // auto + set_mode_value = 0; // everything else, like manual/day etc.. } - } else { - set_mode = mode; + break; + case EMS_DEVICE_FLAG_JUNKERS1: + case EMS_DEVICE_FLAG_JUNKERS2: + if (mode == EMS_THERMOSTAT_MODE_NOFROST) { + set_mode_value = 0x01; + } else if (mode == EMS_THERMOSTAT_MODE_ECO) { + set_mode_value = 0x02; + } else if ((mode == EMS_THERMOSTAT_MODE_DAY) || (mode == EMS_THERMOSTAT_MODE_HEAT)) { + set_mode_value = 0x03; // comfort + } else if (mode == EMS_THERMOSTAT_MODE_AUTO) { + set_mode_value = 0x04; + } + break; + default: + break; } - // 0=off, 1=manual, 2=auto - if (mode == 0) { - myDebug_P(PSTR("Setting thermostat mode to off for heating circuit %d"), hc_num); - } else if (set_mode == 1) { - myDebug_P(PSTR("Setting thermostat mode to manual for heating circuit %d"), hc_num); - } else if (set_mode == 2) { - myDebug_P(PSTR("Setting thermostat mode to auto for heating circuit %d"), hc_num); + if (hc_num == 1) { + myDebug_P(PSTR("Setting thermostat mode to %s"), mode_str); + } else { + myDebug_P(PSTR("Setting thermostat mode to %s for heating circuit %d"), mode_str, hc_num); } _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx @@ -2566,9 +2648,9 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { EMS_Sys_Status.txRetryCount = 0; // reset retry counter EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; - EMS_TxTelegram.dest = device_id; + EMS_TxTelegram.dest = EMS_Thermostat.device_id; EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; - EMS_TxTelegram.dataValue = set_mode; + EMS_TxTelegram.dataValue = set_mode_value; // handle different thermostat types if (model == EMS_DEVICE_FLAG_RC20) { @@ -2602,11 +2684,13 @@ void ems_setThermostatMode(uint8_t mode, uint8_t hc_num) { // Junkers } else if (model == EMS_DEVICE_FLAG_JUNKERS1) { + EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } else if (model == EMS_DEVICE_FLAG_JUNKERS2) { + EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc_num - 1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; diff --git a/src/ems.h b/src/ems.h index 18844b1ce..0425282c5 100644 --- a/src/ems.h +++ b/src/ems.h @@ -71,7 +71,7 @@ enum EMS_DEVICE_FLAG_TYPES : uint8_t { #define EMS_BOILER_BURNPOWER_TAPWATER 100 #define EMS_BOILER_SELFLOWTEMP_HEATING 30 // was 70, changed to 30 for https://github.com/proddy/EMS-ESP/issues/193 -// define min & maximum setable tapwater temperature +// define min & maximum setable tapwater temperatures #define EMS_BOILER_TAPWATER_TEMPERATURE_MAX 60 #define EMS_BOILER_TAPWATER_TEMPERATURE_MIN 30 @@ -443,24 +443,17 @@ typedef struct { } _EMS_Type; typedef enum : uint8_t { - THERMOSTAT_TEMP_MODE_AUTO = 0, - THERMOSTAT_TEMP_MODE_NIGHT, - THERMOSTAT_TEMP_MODE_DAY, - THERMOSTAT_TEMP_MODE_HOLIDAY, - THERMOSTAT_TEMP_MODE_NOFROST, - THERMOSTAT_TEMP_MODE_ECO, // 'sparen' - THERMOSTAT_TEMP_MODE_HEAT // 'heizen' -} _THERMOSTAT_TEMP_MODE; - -typedef enum { - EMS_THERMOSTAT_MODE_UNKNOWN, + EMS_THERMOSTAT_MODE_UNKNOWN = 0, EMS_THERMOSTAT_MODE_OFF, EMS_THERMOSTAT_MODE_MANUAL, EMS_THERMOSTAT_MODE_AUTO, + EMS_THERMOSTAT_MODE_HEAT, // 'heizen' EMS_THERMOSTAT_MODE_NIGHT, EMS_THERMOSTAT_MODE_DAY, - EMS_THERMOSTAT_MODE_ECO, - EMS_THERMOSTAT_MODE_COMFORT + EMS_THERMOSTAT_MODE_ECO, // 'sparen' + EMS_THERMOSTAT_MODE_COMFORT, + EMS_THERMOSTAT_MODE_HOLIDAY, + EMS_THERMOSTAT_MODE_NOFROST } _EMS_THERMOSTAT_MODE; // function definitions @@ -475,8 +468,9 @@ void ems_printTxQueue(); void ems_testTelegram(uint8_t test_num); void ems_startupTelegrams(); bool ems_checkEMSBUSAlive(); -void ems_setThermostatTemp(float temperature, uint8_t hc, _THERMOSTAT_TEMP_MODE temptype = THERMOSTAT_TEMP_MODE_AUTO); -void ems_setThermostatMode(uint8_t mode, uint8_t hc); +void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE temptype = EMS_THERMOSTAT_MODE_AUTO); +void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc); +void ems_setThermostatMode(const char * mode_s, uint8_t hc); void ems_setWarmWaterTemp(uint8_t temperature); void ems_setFlowTemp(uint8_t temperature); void ems_setWarmWaterActivated(bool activated); diff --git a/src/version.h b/src/version.h index bdc83bbf2..f493957a8 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b51" +#define APP_VERSION "1.9.5b52" From 37fe454278b6ce7a73b38134b7f0f5d173708ec7 Mon Sep 17 00:00:00 2001 From: Paul Date: Sun, 8 Mar 2020 21:49:09 +0100 Subject: [PATCH 178/195] 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": { From 6397754a0557b1ec0fa4d5e9c39abdf3f66eed8b Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 9 Mar 2020 18:03:58 +0100 Subject: [PATCH 179/195] more thermostat mode generalization --- CHANGELOG.md | 1 + src/ems-esp.cpp | 14 +-- src/ems.cpp | 225 +++++++++++++++++++++++++++--------------------- src/ems.h | 66 ++++++++------ src/version.h | 2 +- 5 files changed, 175 insertions(+), 133 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7a2961d9f..c374d5a19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `mqttlog` console command renamed to `mqttqueue` to only show the current publish queue - `status` payload on start-up shows the IP and Version of EMS-ESP - `thermostat mode` takes a string like manual,auto,heat,day,night,eco,comfort,holiday,nofrost +- `thermostat temp` also takes a mode string, e.g. `thermostat temp 20 heat` ### Removed - `autodetect scan` diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 51716c59d..f0c36ff9a 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -113,7 +113,7 @@ static const command_t project_cmds[] PROGMEM = { {false, "queue", "show current Tx queue"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, - {false, "thermostat temp [mode] [hc]", "set current thermostat temperature. mode=0-6 (see wiki) for hc=1-4"}, + {false, "thermostat temp [mode] [hc]", "set thermostat temperature. mode is manual,auto,heat,day,night,eco,comfort,holiday,nofrost"}, {false, "thermostat mode [hc]", "set mode (manual,auto,heat,day,night,eco,comfort,holiday,nofrost)"}, {false, "boiler read ", "send read request to boiler"}, {false, "boiler wwtemp ", "set boiler warm water temperature"}, @@ -1616,13 +1616,13 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { if (wc == 3) { // no more params - ems_setThermostatTemp(temp, EMS_THERMOSTAT_DEFAULTHC); + ems_setThermostatTemp(temp, EMS_THERMOSTAT_DEFAULTHC, EMS_THERMOSTAT_MODE_AUTO); ok = true; } else { // get modevalue and heatingcircuit - _EMS_THERMOSTAT_MODE temp_mode = (_EMS_THERMOSTAT_MODE)_readIntNumber(); // next parameter is the temp mode type - uint8_t hc = _readIntNumber(); // next parameter is the heating circuit - ems_setThermostatTemp(temp, hc, temp_mode); + char * mode_s = _readWord(); // get mode string next + uint8_t hc = (wc == 4) ? EMS_THERMOSTAT_DEFAULTHC : _readIntNumber(); + ems_setThermostatTemp(temp, hc, mode_s); ok = true; } } else if (strcmp(second_cmd, "mode") == 0) { @@ -1943,7 +1943,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = strtof((char *)message, 0); if (f) { - ems_setThermostatTemp(f, hc); + ems_setThermostatTemp(f, hc, EMS_THERMOSTAT_MODE_AUTO); publishEMSValues(true); // publish back immediately return; } @@ -1979,7 +1979,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { if (EMS_Thermostat.hc[hc - 1].active) { float f = doc["data"]; if (f) { - ems_setThermostatTemp(f, hc); + ems_setThermostatTemp(f, hc, EMS_THERMOSTAT_MODE_AUTO); publishEMSValues(true); // publish back immediately return; } diff --git a/src/ems.cpp b/src/ems.cpp index 668cee7a0..ef973ad06 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1007,6 +1007,7 @@ void _process_UBAMonitorWWMessage(_EMS_RxTelegram * EMS_RxTelegram) { /** * Activate / De-activate One Time warm water 0x35 * true = on, false = off + * See also https://github.com/proddy/EMS-ESP/issues/341#issuecomment-596245458 for Junkers */ void ems_setWarmWaterOnetime(bool activated) { myDebug_P(PSTR("Setting boiler warm water OneTime loading %s"), activated ? "on" : "off"); @@ -1018,7 +1019,7 @@ void ems_setWarmWaterOnetime(bool activated) { EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; EMS_TxTelegram.dest = EMS_Boiler.device_id; EMS_TxTelegram.type = EMS_TYPE_UBAFlags; - EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwOneTime; + EMS_TxTelegram.offset = EMS_OFFSET_UBAParameterWW_wwOneTime; // use offset 0x01 for external storage on Junkers EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate EMS_TxTelegram.dataValue = (activated ? 0x22 : 0x02); // 0x22 is on, 0x02 is off for RC20RF @@ -2338,12 +2339,17 @@ void ems_sendRawTelegram(char * telegram) { EMS_TxQueue.push(EMS_TxTelegram); } +// wrapper for setting thermostat temp, taking mode as a string argument +void ems_setThermostatTemp(float temperature, uint8_t hc, const char * mode_s) { + ems_setThermostatTemp(temperature, hc, ems_getThermostatMode(mode_s)); +} + /** * Set the temperature of the thermostat * hc_num is 1 to 4 * temptype 0=normal, 1=night temp, 2=day temp, 3=holiday temp */ -void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MODE temptype) { +void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE temptype) { if (!ems_getThermostatEnabled()) { myDebug_P(PSTR("Thermostat not online.")); return; @@ -2354,7 +2360,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MO return; } - if (hc_num < 1 || hc_num > EMS_THERMOSTAT_MAXHC) { + if (hc < 1 || hc > EMS_THERMOSTAT_MAXHC) { myDebug_P(PSTR("Invalid HC number")); return; } @@ -2369,17 +2375,11 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MO EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; EMS_TxTelegram.dest = device_id; + // get mode as a string + char mode_str[10]; + ems_getThermostatModeString(temptype, mode_str); char s[10] = {0}; - if (temptype != 0) { - myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d temp mode %d (0=auto,1=night,2=day,3=holiday,4=nofrost,5=eco,6=heat)"), - _float_to_char(s, temperature), - hc_num, - temptype); - } else if (hc_num != 1) { - myDebug_P(PSTR("Setting new thermostat temperature to %s for heating circuit %d"), _float_to_char(s, temperature), hc_num); - } else { - myDebug_P(PSTR("Setting new thermostat temperature to %s"), _float_to_char(s, temperature)); - } + myDebug_P(PSTR("Setting thermostat temperature to %s for heating circuit %d, mode %s"), _float_to_char(s, temperature), hc, mode_str); if (model == EMS_DEVICE_FLAG_RC10) { EMS_TxTelegram.type = EMS_TYPE_RC10Set; @@ -2404,22 +2404,22 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MO else if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { // check mode to determine offset - if (EMS_Thermostat.hc[hc_num - 1].mode == 1) { // auto - EMS_TxTelegram.offset = 0x08; // auto offset - } else if (EMS_Thermostat.hc[hc_num - 1].mode == 0) { // manuaL - EMS_TxTelegram.offset = 0x0A; // manual offset + if (EMS_Thermostat.hc[hc - 1].mode == 1) { // auto + EMS_TxTelegram.offset = 0x08; // auto offset + } else if (EMS_Thermostat.hc[hc - 1].mode == 0) { // manuaL + EMS_TxTelegram.offset = 0x0A; // manual offset } - if (hc_num == 1) { + if (hc == 1) { EMS_TxTelegram.type = EMS_TYPE_RCPLUSSet; // for 3000 and 1010, e.g. 0B 10 FF (0A | 08) 01 89 2B EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RCPLUSStatusMessage_HC1; - } else if (hc_num == 2) { + } else if (hc == 2) { EMS_TxTelegram.type = EMS_TYPE_RCPLUSSet + 1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RCPLUSStatusMessage_HC2; - } else if (hc_num == 3) { + } else if (hc == 3) { EMS_TxTelegram.type = EMS_TYPE_RCPLUSSet + 2; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RCPLUSStatusMessage_HC3; - } else if (hc_num == 4) { + } else if (hc == 4) { EMS_TxTelegram.type = EMS_TYPE_RCPLUSSet + 3; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RCPLUSStatusMessage_HC4; } @@ -2443,21 +2443,21 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MO if (model == EMS_DEVICE_FLAG_RC35) { EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; // https://github.com/proddy/EMS-ESP/issues/310 } else { - EMS_TxTelegram.offset = (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) ? EMS_OFFSET_RC35Set_temp_night : EMS_OFFSET_RC35Set_temp_day; + EMS_TxTelegram.offset = (EMS_Thermostat.hc[hc - 1].mode_type == 0) ? EMS_OFFSET_RC35Set_temp_night : EMS_OFFSET_RC35Set_temp_day; } break; } - if (hc_num == 1) { + if (hc == 1) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC1; - } else if (hc_num == 2) { + } else if (hc == 2) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC2; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC2; - } else if (hc_num == 3) { + } else if (hc == 3) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC3; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC3; - } else if (hc_num == 4) { + } else if (hc == 4) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC4; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC4; } @@ -2484,11 +2484,11 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MO default: case EMS_THERMOSTAT_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code EMS_TxTelegram.offset = - (EMS_Thermostat.hc[hc_num - 1].mode_type == 0) ? EMS_OFFSET_JunkersSetMessage_night_temp : EMS_OFFSET_JunkersSetMessage_day_temp; + (EMS_Thermostat.hc[hc - 1].mode_type == 0) ? EMS_OFFSET_JunkersSetMessage_night_temp : EMS_OFFSET_JunkersSetMessage_day_temp; break; } - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; // 0x65 - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc_num - 1; + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc - 1; // 0x65 + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc - 1; } else { // EMS_DEVICE_FLAG_JUNKERS2 switch (temptype) { @@ -2504,8 +2504,8 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MO break; } // older junkers models like the FR100 - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc_num - 1; // 0x79 - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc_num - 1; + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc - 1; // 0x79 + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc - 1; } EMS_TxTelegram.type_validate = EMS_TxTelegram.type; @@ -2519,29 +2519,75 @@ void ems_setThermostatTemp(float temperature, uint8_t hc_num, _EMS_THERMOSTAT_MO EMS_TxQueue.push(EMS_TxTelegram); } -// wrapper for setting thermostat mode, taking a string as an argument -void ems_setThermostatMode(const char * mode_s, uint8_t hc_num) { - if (strncmp(mode_s, "auto", 4) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_AUTO, hc_num); - } else if (strncmp(mode_s, "day", 3) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_DAY, hc_num); - } else if (strncmp(mode_s, "manual", 6) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_MANUAL, hc_num); - } else if (strncmp(mode_s, "heat", 4) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_HEAT, hc_num); - } else if (strncmp(mode_s, "night", 5) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_NIGHT, hc_num); - } else if (strncmp(mode_s, "off", 3) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_OFF, hc_num); - } else if (strncmp(mode_s, "comfort", 7) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_COMFORT, hc_num); - } else if (strncmp(mode_s, "holiday", 7) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_HOLIDAY, hc_num); - } else if (strncmp(mode_s, "nofrost", 7) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_NOFROST, hc_num); - } else if (strncmp(mode_s, "eco", 3) == 0) { - ems_setThermostatMode(EMS_THERMOSTAT_MODE_ECO, hc_num); +// takes a thermostat mode string and returns its enum value +_EMS_THERMOSTAT_MODE ems_getThermostatMode(const char * mode_s) { + if (strncmp(mode_s, EMS_THERMOSTAT_MODE_AUTO_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_AUTO; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_DAY_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_DAY; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_MANUAL_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_MANUAL; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_HEAT_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_HEAT; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_NIGHT_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_NIGHT; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_OFF_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_OFF; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_COMFORT_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_COMFORT; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_HOLIDAY_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_HOLIDAY; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_NOFROST_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_NOFROST; + } else if (strncmp(mode_s, EMS_THERMOSTAT_MODE_ECO_STR, 10) == 0) { + return EMS_THERMOSTAT_MODE_ECO; } + + return EMS_THERMOSTAT_MODE_UNKNOWN; +} + +// takes a thermostat mode value and returns its string name +char * ems_getThermostatModeString(_EMS_THERMOSTAT_MODE mode, char * mode_str) { + switch (mode) { + case EMS_THERMOSTAT_MODE_AUTO: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_AUTO_STR, 10); + break; + case EMS_THERMOSTAT_MODE_NIGHT: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_NIGHT_STR, 10); + break; + case EMS_THERMOSTAT_MODE_DAY: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_DAY_STR, 10); + break; + case EMS_THERMOSTAT_MODE_HOLIDAY: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_HOLIDAY_STR, 10); + break; + case EMS_THERMOSTAT_MODE_NOFROST: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_NOFROST_STR, 10); + break; + case EMS_THERMOSTAT_MODE_ECO: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_ECO_STR, 10); + break; + case EMS_THERMOSTAT_MODE_HEAT: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_HEAT_STR, 10); + break; + case EMS_THERMOSTAT_MODE_OFF: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_OFF_STR, 10); + break; + case EMS_THERMOSTAT_MODE_MANUAL: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_MANUAL_STR, 10); + break; + case EMS_THERMOSTAT_MODE_UNKNOWN: + default: + strlcpy(mode_str, EMS_THERMOSTAT_MODE_UNKNOWN_STR, 10); + break; + } + + return (mode_str); +} + +// wrapper for setting thermostat mode, taking a string as an argument +void ems_setThermostatMode(const char * mode_s, uint8_t hc) { + ems_setThermostatMode(ems_getThermostatMode(mode_s), hc); } /** @@ -2550,7 +2596,7 @@ void ems_setThermostatMode(const char * mode_s, uint8_t hc_num) { * 0x01B9 for EMS+ 300/1000/3000, Auto=0xFF Manual=0x00. See https://github.com/proddy/EMS-ESP/wiki/RC3xx-Thermostats * hc_num is 1 to 4 */ -void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc_num) { +void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc) { if (!ems_getThermostatEnabled()) { myDebug_P(PSTR("Thermostat not online.")); return; @@ -2561,55 +2607,32 @@ void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc_num) { return; } - if (hc_num < 1 || hc_num > EMS_THERMOSTAT_MAXHC) { + if (hc < 1 || hc > EMS_THERMOSTAT_MAXHC) { myDebug_P(PSTR("Invalid HC number")); return; } // set the value to send via EMS depending on the mode type uint8_t set_mode_value = 0x02; // default is 2 which is usually auto - char mode_str[20]; switch (mode) { - case EMS_THERMOSTAT_MODE_AUTO: - strlcpy(mode_str, "auto", sizeof(mode_str)); - set_mode_value = 2; - break; case EMS_THERMOSTAT_MODE_NIGHT: - strlcpy(mode_str, "night", sizeof(mode_str)); - set_mode_value = 0; - break; - case EMS_THERMOSTAT_MODE_DAY: - strlcpy(mode_str, "day", sizeof(mode_str)); - set_mode_value = 1; - break; - case EMS_THERMOSTAT_MODE_HOLIDAY: - strlcpy(mode_str, "holiday", sizeof(mode_str)); - set_mode_value = 2; // auto - break; - case EMS_THERMOSTAT_MODE_NOFROST: - strlcpy(mode_str, "nofrost", sizeof(mode_str)); - set_mode_value = 1; - break; - case EMS_THERMOSTAT_MODE_ECO: - strlcpy(mode_str, "eco", sizeof(mode_str)); - set_mode_value = 2; // same as auto - break; - case EMS_THERMOSTAT_MODE_HEAT: - strlcpy(mode_str, "heat", sizeof(mode_str)); - set_mode_value = 1; - break; case EMS_THERMOSTAT_MODE_OFF: - strlcpy(mode_str, "off", sizeof(mode_str)); set_mode_value = 0; break; + + case EMS_THERMOSTAT_MODE_DAY: + case EMS_THERMOSTAT_MODE_HEAT: case EMS_THERMOSTAT_MODE_MANUAL: - strlcpy(mode_str, "manual", sizeof(mode_str)); + case EMS_THERMOSTAT_MODE_NOFROST: set_mode_value = 1; break; - case EMS_THERMOSTAT_MODE_UNKNOWN: + default: - strlcpy(mode_str, "unknown", sizeof(mode_str)); - set_mode_value = 2; // auto + case EMS_THERMOSTAT_MODE_AUTO: + case EMS_THERMOSTAT_MODE_HOLIDAY: + case EMS_THERMOSTAT_MODE_ECO: + case EMS_THERMOSTAT_MODE_UNKNOWN: + set_mode_value = 2; break; } @@ -2641,10 +2664,12 @@ void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc_num) { break; } - if (hc_num == 1) { + char mode_str[10]; + ems_getThermostatModeString(mode, mode_str); // get text name of mode + if (hc == 1) { myDebug_P(PSTR("Setting thermostat mode to %s"), mode_str); } else { - myDebug_P(PSTR("Setting thermostat mode to %s for heating circuit %d"), mode_str, hc_num); + myDebug_P(PSTR("Setting thermostat mode to %s for heating circuit %d"), mode_str, hc); } _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx @@ -2670,16 +2695,16 @@ void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc_num) { EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; } else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { - if (hc_num == 1) { + if (hc == 1) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC1; - } else if (hc_num == 2) { + } else if (hc == 2) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC2; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC2; - } else if (hc_num == 3) { + } else if (hc == 3) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC3; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC3; - } else if (hc_num == 4) { + } else if (hc == 4) { EMS_TxTelegram.type = EMS_TYPE_RC35Set_HC4; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC35StatusMessage_HC4; } @@ -2689,13 +2714,13 @@ void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc_num) { // Junkers } else if (model == EMS_DEVICE_FLAG_JUNKERS1) { EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc_num - 1; + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc - 1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } else if (model == EMS_DEVICE_FLAG_JUNKERS2) { EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ - EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc_num - 1; + EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage2_HC1 + hc - 1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1; EMS_TxTelegram.offset = EMS_OFFSET_JunkersSetMessage_set_mode; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; @@ -2704,16 +2729,16 @@ void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc_num) { else if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { EMS_TxTelegram.offset = EMS_OFFSET_RCPLUSSet_mode; - if (hc_num == 1) { + if (hc == 1) { EMS_TxTelegram.type = EMS_TYPE_RCPLUSSet; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RCPLUSStatusMessage_HC1; - } else if (hc_num == 2) { + } else if (hc == 2) { EMS_TxTelegram.type = EMS_TYPE_RCPLUSSet + 1; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RCPLUSStatusMessage_HC2; - } else if (hc_num == 3) { + } else if (hc == 3) { EMS_TxTelegram.type = EMS_TYPE_RCPLUSSet + 2; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RCPLUSStatusMessage_HC3; - } else if (hc_num == 4) { + } else if (hc == 4) { EMS_TxTelegram.type = EMS_TYPE_RCPLUSSet + 3; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RCPLUSStatusMessage_HC4; } diff --git a/src/ems.h b/src/ems.h index 5e0eaecbd..2bcf18402 100644 --- a/src/ems.h +++ b/src/ems.h @@ -458,6 +458,18 @@ typedef enum : uint8_t { EMS_THERMOSTAT_MODE_NOFROST } _EMS_THERMOSTAT_MODE; +#define EMS_THERMOSTAT_MODE_UNKNOWN_STR "unknown" +#define EMS_THERMOSTAT_MODE_OFF_STR "off" +#define EMS_THERMOSTAT_MODE_MANUAL_STR "manual" +#define EMS_THERMOSTAT_MODE_AUTO_STR "auto" +#define EMS_THERMOSTAT_MODE_HEAT_STR "heat" +#define EMS_THERMOSTAT_MODE_NIGHT_STR "night" +#define EMS_THERMOSTAT_MODE_DAY_STR "day" +#define EMS_THERMOSTAT_MODE_ECO_STR "eco" +#define EMS_THERMOSTAT_MODE_COMFORT_STR "comfort" +#define EMS_THERMOSTAT_MODE_HOLIDAY_STR "holiday" +#define EMS_THERMOSTAT_MODE_NOFROST_STR "nofrost" + // function definitions void ems_dumpBuffer(const char * prefix, uint8_t * telegram, uint8_t length); void ems_parseTelegram(uint8_t * telegram, uint8_t len); @@ -470,32 +482,36 @@ void ems_printTxQueue(); void ems_testTelegram(uint8_t test_num); void ems_startupTelegrams(); bool ems_checkEMSBUSAlive(); -void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE temptype = EMS_THERMOSTAT_MODE_AUTO); -void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc); -void ems_setThermostatMode(const char * mode_s, uint8_t hc); -void ems_setWarmWaterTemp(uint8_t temperature); -void ems_setFlowTemp(uint8_t temperature); -void ems_setWarmWaterActivated(bool activated); -void ems_setWarmWaterOnetime(bool activated); -void ems_setWarmWaterCirculation(bool activated); -void ems_setWarmTapWaterActivated(bool activated); -void ems_setPoll(bool b); -void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id); -void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet = false); -void ems_setWarmWaterModeComfort(uint8_t comfort); -void ems_setModels(); -void ems_setTxDisabled(bool b); -void ems_setTxMode(uint8_t mode); -void ems_setEMSbusid(uint8_t id); -void ems_setMasterThermostat(uint8_t product_id); -char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, bool name_only = false); -bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer); -char * ems_getDeviceTypeName(_EMS_DEVICE_TYPE device_type, char * buffer); -void ems_getThermostatValues(); -void ems_getBoilerValues(); -void ems_getSolarModuleValues(); -void ems_getMixingModuleValues(); +void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE temptype); +void ems_setThermostatTemp(float temperature, uint8_t hc, const char * mode_s); +void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc); +void ems_setThermostatMode(const char * mode_s, uint8_t hc); +void ems_setWarmWaterTemp(uint8_t temperature); +void ems_setFlowTemp(uint8_t temperature); +void ems_setWarmWaterActivated(bool activated); +void ems_setWarmWaterOnetime(bool activated); +void ems_setWarmWaterCirculation(bool activated); +void ems_setWarmTapWaterActivated(bool activated); +void ems_setPoll(bool b); +void ems_setLogging(_EMS_SYS_LOGGING loglevel, uint16_t type_id); +void ems_setLogging(_EMS_SYS_LOGGING loglevel, bool quiet = false); +void ems_setWarmWaterModeComfort(uint8_t comfort); +void ems_setModels(); +void ems_setTxDisabled(bool b); +void ems_setTxMode(uint8_t mode); +void ems_setEMSbusid(uint8_t id); +void ems_setMasterThermostat(uint8_t product_id); + +char * ems_getDeviceDescription(_EMS_DEVICE_TYPE device_type, char * buffer, bool name_only = false); +bool ems_getDeviceTypeDescription(uint8_t device_id, char * buffer); +char * ems_getDeviceTypeName(_EMS_DEVICE_TYPE device_type, char * buffer); +_EMS_THERMOSTAT_MODE ems_getThermostatMode(const char * mode_s); +void ems_getThermostatValues(); +void ems_getBoilerValues(); +void ems_getSolarModuleValues(); +void ems_getMixingModuleValues(); +char * ems_getThermostatModeString(_EMS_THERMOSTAT_MODE mode, char * mode_str); bool ems_getPoll(); bool ems_getTxEnabled(); diff --git a/src/version.h b/src/version.h index 6b52394fa..c8d009f73 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b53" +#define APP_VERSION "1.9.5b54" From f5f2791bcf69e7abcc81eaa1b1775ba02b62951f Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 12 Mar 2020 14:33:54 +0100 Subject: [PATCH 180/195] lowered sel flow temp #344 --- src/ems.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ems.h b/src/ems.h index 2bcf18402..4f08ef7ed 100644 --- a/src/ems.h +++ b/src/ems.h @@ -29,11 +29,11 @@ #define EMS_VALUE_BOOL_ON 0x01 // boolean true #define EMS_VALUE_BOOL_ON2 0xFF // boolean true, EMS sometimes uses 0xFF for TRUE #define EMS_VALUE_BOOL_OFF 0x00 // boolean false +#define EMS_VALUE_BOOL_NOTSET 0xFE // random number that's not 0, 1 or FF #define EMS_VALUE_INT_NOTSET 0xFF // for 8-bit unsigned ints/bytes #define EMS_VALUE_SHORT_NOTSET -32000 // was -32768 for 2-byte signed shorts #define EMS_VALUE_USHORT_NOTSET 32000 // was 0x8000 for 2-byte unsigned shorts #define EMS_VALUE_LONG_NOTSET 0xFFFFFF // for 3-byte longs -#define EMS_VALUE_BOOL_NOTSET 0xFE // random number that's not 0, 1 or FF // thermostat specific #define EMS_THERMOSTAT_MAXHC 4 // max number of heating circuits @@ -69,7 +69,7 @@ enum EMS_DEVICE_FLAG_TYPES : uint8_t { // trigger settings to determine if hot tap water or the heating is active #define EMS_BOILER_BURNPOWER_TAPWATER 100 -#define EMS_BOILER_SELFLOWTEMP_HEATING 30 // was 70, changed to 30 for https://github.com/proddy/EMS-ESP/issues/193 +#define EMS_BOILER_SELFLOWTEMP_HEATING 20 // was originally 70, changed to 30 for issue #193, then to 20 with issue #344 // define min & maximum setable tapwater temperatures #define EMS_BOILER_TAPWATER_TEMPERATURE_MAX 60 From 9321b53e40e087b25371617e4f45c084b50eae7f Mon Sep 17 00:00:00 2001 From: Paul Date: Thu, 12 Mar 2020 14:35:08 +0100 Subject: [PATCH 181/195] start topic show datetime #347 #348 --- src/MyESP.cpp | 49 ++++++++++++++++++++++++++++++++++++------------- src/MyESP.h | 3 ++- src/ems-esp.cpp | 12 ++++++------ src/ems.cpp | 1 + src/version.h | 2 +- 5 files changed, 46 insertions(+), 21 deletions(-) diff --git a/src/MyESP.cpp b/src/MyESP.cpp index db5428c69..3a4958758 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -590,6 +590,36 @@ void MyESP::_mqttPublishQueue() { _mqttRemoveLastPublish(); } +// send online appended with the version information as JSON +void MyESP::_sendStartTopic() { + StaticJsonDocument doc; + JsonObject payload = doc.to(); + payload["version"] = _app_version; + payload["IP"] = WiFi.localIP().toString(); + // add time if we know it + if ((_ntp_enabled) && (NTP.tcr->abbrev != nullptr)) { + uint32_t real_time = getSystemTime(); + // exclude millis() just in case + if (real_time > 10000L) { + char s[25]; + // ISO 8601 describes an internationally accepted way to represent dates and times using numbers + snprintf_P(s, + 25, + PSTR("%04u-%02u-%02uT%02u:%02u:%02u"), + to_year(real_time), + to_month(real_time), + to_day(real_time), + to_hour(real_time), + to_minute(real_time), + to_second(real_time) + + ); + payload["boottime"] = s; + } + } + mqttPublish(MQTT_TOPIC_START, doc, true); // send with retain on +} + // MQTT onConnect - when a connect is established void MyESP::_mqttOnConnect() { myDebug_P(PSTR("[MQTT] MQTT connected")); @@ -607,19 +637,10 @@ void MyESP::_mqttOnConnect() { // forcing retain to off since we only want to send this once mqttSubscribe(MQTT_TOPIC_START); - // send online appended with the version information as JSON - StaticJsonDocument doc; - JsonObject payload = doc.to(); - payload["version"] = _app_version; - payload["IP"] = WiFi.localIP().toString(); - // add time if we know it - if ((_ntp_enabled) && (NTP.tcr->abbrev != nullptr)) { - uint32_t real_time = getSystemTime(); - char s[30]; - snprintf_P(s, 30, PSTR("%02d:%02d:%02d %s"), to_hour(real_time), to_minute(real_time), to_second(real_time), NTP.tcr->abbrev); - payload["boottime"] = s; + // send start topic now unless NTP is enabled, otherwise wait for the time + if (!_ntp_enabled) { + _sendStartTopic(); } - mqttPublish(MQTT_TOPIC_START, doc, false); // send heartbeat if enabled heartbeatCheck(true); @@ -2868,9 +2889,11 @@ void MyESP::_bootupSequence() { // check if its booted if (boot_status == MYESP_BOOTSTATUS_BOOTED) { - if ((_ntp_enabled) && (now() > 10000) && !_have_ntp_time) { + if ((_ntp_enabled) && (now() > 10000L) && !_have_ntp_time) { _have_ntp_time = true; writeLogEvent(MYESP_SYSLOG_INFO, "System booted"); + // send start topic + _sendStartTopic(); } return; } diff --git a/src/MyESP.h b/src/MyESP.h index 51729e17c..1568860d4 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.35" +#define MYESP_VERSION "1.2.36" #include #include @@ -347,6 +347,7 @@ class MyESP { void _printMQTTQueue(); void _mqttPublishQueue(); void _mqttRemoveLastPublish(); + void _sendStartTopic(); AsyncMqttClient mqttClient; // the MQTT class uint32_t _mqtt_reconnect_delay; mqtt_callback_f _mqtt_callback_f; diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index f0c36ff9a..44d113c04 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -798,8 +798,8 @@ bool publishEMSValues_boiler() { // last_boilerActive stores heating in bit 1 and tap water in bit 2 static uint8_t last_boilerActive = 0xFF; // for remembering last setting of the tap water or heating on/off if (last_boilerActive != ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive)) { - myESP.mqttPublish(TOPIC_BOILER_TAPWATER_ACTIVE, EMS_Boiler.tapwaterActive == 1 ? "1" : "0"); - myESP.mqttPublish(TOPIC_BOILER_HEATING_ACTIVE, EMS_Boiler.heatingActive == 1 ? "1" : "0"); + myESP.mqttPublish(TOPIC_BOILER_TAPWATER_ACTIVE, EMS_Boiler.tapwaterActive ? "1" : "0"); + myESP.mqttPublish(TOPIC_BOILER_HEATING_ACTIVE, EMS_Boiler.heatingActive ? "1" : "0"); last_boilerActive = ((EMS_Boiler.tapwaterActive << 1) + EMS_Boiler.heatingActive); // remember last state } @@ -1908,9 +1908,9 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // wwOneTime if (strcmp(topic, TOPIC_BOILER_CMD_WWONETIME) == 0) { - if (message[0] == '1' || strcmp(message, "on") == 0) { + if (message[0] == MYESP_MQTT_PAYLOAD_ON || strcmp(message, "on") == 0) { ems_setWarmWaterOnetime(true); - } else if (message[0] == '0' || strcmp(message, "off") == 0) { + } else if (message[0] == MYESP_MQTT_PAYLOAD_OFF || strcmp(message, "off") == 0) { ems_setWarmWaterOnetime(false); } return; @@ -1918,9 +1918,9 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // wwCirculation if (strcmp(topic, TOPIC_BOILER_CMD_WWCIRCULATION) == 0) { - if (message[0] == '1' || strcmp(message, "on") == 0) { + if (message[0] == MYESP_MQTT_PAYLOAD_ON || strcmp(message, "on") == 0) { ems_setWarmWaterCirculation(true); - } else if (message[0] == '0' || strcmp(message, "off") == 0) { + } else if (message[0] == MYESP_MQTT_PAYLOAD_OFF || strcmp(message, "off") == 0) { ems_setWarmWaterCirculation(false); } return; diff --git a/src/ems.cpp b/src/ems.cpp index ef973ad06..72cf98114 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -953,6 +953,7 @@ void _checkActive() { if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET && EMS_Boiler.burnGas != EMS_VALUE_INT_NOTSET) { EMS_Boiler.heatingActive = ((EMS_Boiler.selFlowTemp >= EMS_BOILER_SELFLOWTEMP_HEATING) && (EMS_Boiler.burnGas == EMS_VALUE_BOOL_ON)); } + } /** diff --git a/src/version.h b/src/version.h index c8d009f73..bf444aad1 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b54" +#define APP_VERSION "1.9.5b55" From 7253299469a28c3b8b93a49fc360ad8656be16d3 Mon Sep 17 00:00:00 2001 From: ypaindaveine Date: Sun, 22 Mar 2020 20:02:22 +0100 Subject: [PATCH 182/195] Added retrieving settings (0xA5) (validated on RC30N), and MQTT cmd to set display, building type and language. --- src/ems-esp.cpp | 206 +++++++++++++++++++++++++++++++++++++++++++++- src/ems.cpp | 152 ++++++++++++++++++++++++++++++++++ src/ems.h | 17 +++- src/ems_devices.h | 29 +++++++ src/my_config.h | 8 ++ 5 files changed, 408 insertions(+), 4 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 44d113c04..cdafbc789 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -45,6 +45,9 @@ Ticker systemCheckTimer; #define REGULARUPDATES_TIME 60 // every minute a call is made to fetch data from EMS devices manually Ticker regularUpdatesTimer; +#define DAILYUPDATES_TIME 86400 // every day a call is made to fetch data from EMS devices manually +Ticker dailyUpdatesTimer; + #define LEDCHECK_TIME 500 // every 1/2 second blink the heartbeat LED Ticker ledcheckTimer; @@ -433,6 +436,58 @@ void showInfo() { myDebug_P(PSTR(" Thermostat time is %s"), EMS_Thermostat.datetime); } + // settings parameters + if (EMS_Thermostat.ibaMainDisplay != EMS_VALUE_INT_NOTSET) { + if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_INTTEMP) { + myDebug_P(PSTR(" Display: internal temperature")); + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_INTSETPOINT) { + myDebug_P(PSTR(" Display: internal setpoint")); + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_EXTTEMP) { + myDebug_P(PSTR(" Display: external temperature")); + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_BURNERTEMP) { + myDebug_P(PSTR(" Display: burner temperature")); + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_WWTEMP) { + myDebug_P(PSTR(" Display: WW temperature")); + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_FUNCMODE) { + myDebug_P(PSTR(" Display: functioning mode")); + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_TIME) { + myDebug_P(PSTR(" Display: time")); + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_DATE) { + myDebug_P(PSTR(" Display: date")); + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_SMOKETEMP) { + myDebug_P(PSTR(" Display: smoke temperature")); + } + } + if (EMS_Thermostat.ibaLanguage != EMS_VALUE_INT_NOTSET) { + if (EMS_Thermostat.ibaLanguage == EMS_VALUE_IBASettings_LANG_GERMAN) { + myDebug_P(PSTR(" Language: German")); + } else if (EMS_Thermostat.ibaLanguage == EMS_VALUE_IBASettings_LANG_DUTCH) { + myDebug_P(PSTR(" Language: Dutch")); + } else if (EMS_Thermostat.ibaLanguage == EMS_VALUE_IBASettings_LANG_FRENCH) { + myDebug_P(PSTR(" Language: French")); + } else if (EMS_Thermostat.ibaLanguage == EMS_VALUE_IBASettings_LANG_ITALIAN) { + myDebug_P(PSTR(" Language: Italian")); + } + } + if (EMS_Thermostat.ibaCalIntTemperature != EMS_VALUE_INT_NOTSET) { + _renderIntValue("Offset int. temperature", "K", EMS_Thermostat.ibaCalIntTemperature, 10); // offset int. temperature sensor, by * 0.1 Kelvin + } + if (EMS_Thermostat.ibaMinExtTemperature != EMS_VALUE_SHORT_NOTSET) { + _renderShortValue("Min ext. temperature", "C", EMS_Thermostat.ibaMinExtTemperature, 0); // min ext temp for heating curve, in deg. + } + if (EMS_Thermostat.ibaBuildingType != EMS_VALUE_INT_NOTSET) { + if (EMS_Thermostat.ibaBuildingType == EMS_VALUE_IBASettings_BUILDING_LIGHT) { + myDebug_P(PSTR(" Building: light")); + } else if (EMS_Thermostat.ibaBuildingType == EMS_VALUE_IBASettings_BUILDING_MEDIUM) { + myDebug_P(PSTR(" Building: medium")); + } else if (EMS_Thermostat.ibaBuildingType == EMS_VALUE_IBASettings_BUILDING_HEAVY) { + myDebug_P(PSTR(" Building: heavy")); + } + } + if (EMS_Thermostat.ibaClockOffset != EMS_VALUE_INT_NOTSET) { + _renderIntValue("Offset clock", "s", EMS_Thermostat.ibaClockOffset); // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + } + uint8_t _m_setpoint, _m_curr; switch (model) { case EMS_DEVICE_FLAG_EASY: @@ -580,7 +635,7 @@ void scanDallas() { // send all dallas sensor values as a JSON package to MQTT bool publishSensorValues() { - // don't send if MQTT is connected + // don't send if MQTT is not connected if (!myESP.isMQTTConnected() || (EMSESP_Settings.publish_time == -1)) { return false; } @@ -914,6 +969,65 @@ bool publishEMSValues_thermostat() { return (has_data); } +// publish Settings parameters via MQTT +bool publishEMSValues_settings() { + const size_t capacity = JSON_OBJECT_SIZE(5); // must recalculate if more objects added https://arduinojson.org/v6/assistant/ + DynamicJsonDocument doc(capacity); + JsonObject rootSettings = doc.to(); + + if (EMS_Thermostat.ibaMainDisplay != EMS_VALUE_INT_NOTSET) { + if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_INTTEMP) { + rootSettings["display"] = "int. temperature"; + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_INTSETPOINT) { + rootSettings["display"] = "int. setpoint"; + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_EXTTEMP) { + rootSettings["display"] = "ext. temperature"; + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_BURNERTEMP) { + rootSettings["display"] = "burner temperature"; + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_WWTEMP) { + rootSettings["display"] = "WW temperature"; + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_FUNCMODE) { + rootSettings["display"] = "functioning mode"; + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_TIME) { + rootSettings["display"] = "time"; + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_DATE) { + rootSettings["display"] = "date"; + } else if (EMS_Thermostat.ibaMainDisplay == EMS_VALUE_IBASettings_DISPLAY_SMOKETEMP) { + rootSettings["display"] = "smoke temperature"; + } + } + if (EMS_Thermostat.ibaLanguage != EMS_VALUE_INT_NOTSET) { + if (EMS_Thermostat.ibaLanguage == EMS_VALUE_IBASettings_LANG_GERMAN) { + rootSettings["language"] = "German"; + } else if (EMS_Thermostat.ibaLanguage == EMS_VALUE_IBASettings_LANG_DUTCH) { + rootSettings["language"] = "Dutch"; + } else if (EMS_Thermostat.ibaLanguage == EMS_VALUE_IBASettings_LANG_FRENCH) { + rootSettings["language"] = "French"; + } else if (EMS_Thermostat.ibaLanguage == EMS_VALUE_IBASettings_LANG_ITALIAN) { + rootSettings["language"] = "Italian"; + } + } + if (EMS_Thermostat.ibaCalIntTemperature != EMS_VALUE_INT_NOTSET) { + rootSettings["CalIntTemperature"] = (float)EMS_Thermostat.ibaCalIntTemperature / 10; // offset int. temperature sensor, by * 0.1 Kelvin + } + if (EMS_Thermostat.ibaMinExtTemperature != EMS_VALUE_SHORT_NOTSET) { + rootSettings["MinExtTemperature"] = EMS_Thermostat.ibaMinExtTemperature; // min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 + } + if (EMS_Thermostat.ibaBuildingType != EMS_VALUE_INT_NOTSET) { + if (EMS_Thermostat.ibaBuildingType == EMS_VALUE_IBASettings_BUILDING_LIGHT) { + rootSettings["building"] = "light"; + } else if (EMS_Thermostat.ibaBuildingType == EMS_VALUE_IBASettings_BUILDING_MEDIUM) { + rootSettings["building"] = "medium"; + } else if (EMS_Thermostat.ibaBuildingType == EMS_VALUE_IBASettings_BUILDING_HEAVY) { + rootSettings["building"] = "heavy"; + } + } + if (EMS_Thermostat.ibaClockOffset != EMS_VALUE_INT_NOTSET) { + rootSettings["clockOffset"] = EMS_Thermostat.ibaClockOffset; // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + } + return (myESP.mqttPublish(TOPIC_SETTINGS_DATA, doc)); +} + // publish mixing data // only sending if we have an active hc bool publishEMSValues_mixing() { @@ -1059,6 +1173,7 @@ bool publishEMSValues(bool force) { bool thermo = false; bool boiler = false; + bool settings = false; bool mixing = false; bool solar = false; bool heatpump = false; @@ -1073,6 +1188,12 @@ bool publishEMSValues(bool force) { ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_BOILER); // unset flag } + if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_SETTINGS))) { + // never force publication of settings + settings = publishEMSValues_settings(); + ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_SETTINGS); // unset flag + } + if (ems_getMixingModuleEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_MIXING) || force)) { mixing = publishEMSValues_mixing(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_MIXING); // unset flag @@ -1093,7 +1214,7 @@ bool publishEMSValues(bool force) { } // print - char log_s[50]; + char log_s[60]; strlcpy(log_s, "Publishing MQTT data for:", sizeof(log_s)); if (thermo) { strlcat(log_s, " thermostat", sizeof(log_s)); @@ -1101,6 +1222,9 @@ bool publishEMSValues(bool force) { if (boiler) { strlcat(log_s, " boiler", sizeof(log_s)); } + if (settings) { + strlcat(log_s, " settings", sizeof(log_s)); + } if (mixing) { strlcat(log_s, " mixing", sizeof(log_s)); } @@ -1167,6 +1291,16 @@ void do_regularUpdates() { } } +// force low-frequency (daily) calls to get data from EMS for the types that aren't sent as broadcasts +// only if we have a EMS connection +// which will cause the values to get published +void do_dailyUpdates() { + if (ems_getBusConnected() && !ems_getTxDisabled()) { + myDebugLog("Fetching settings data"); + ems_getSettingsValues(); + } +} + // turn back on the hot water for the shower void _showerColdShotStop() { if (EMSESP_Shower.doingColdShot) { @@ -1194,6 +1328,7 @@ void runUnitTest(uint8_t test_num) { publishValuesTimer.detach(); systemCheckTimer.detach(); regularUpdatesTimer.detach(); + dailyUpdatesTimer.detach(); // EMSESP_Settings.listen_mode = true; // temporary go into listen mode to disable Tx ems_testTelegram(test_num); } @@ -1527,6 +1662,7 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { if (strcmp(first_cmd, "refresh") == 0) { do_regularUpdates(); + do_dailyUpdates(); ok = true; } @@ -1775,12 +1911,15 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { // this is used for example for comfort, flowtemp myESP.mqttSubscribe(TOPIC_BOILER_CMD); - // these three need to be unique topics + // these need to be unique topics myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWACTIVATED); myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWONETIME); myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWCIRCULATION); myESP.mqttSubscribe(TOPIC_BOILER_CMD_WWTEMP); + // generic incoming MQTT command for Settings + myESP.mqttSubscribe(TOPIC_SETTINGS_CMD); + // generic incoming MQTT command for EMS-ESP // this is used for example for shower_coldshot myESP.mqttSubscribe(TOPIC_GENERIC_CMD); @@ -1936,6 +2075,66 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { return; } + // check for settings commands + if (strcmp(topic, TOPIC_SETTINGS_CMD) == 0) { + // convert JSON and get the command + StaticJsonDocument<100> doc; + DeserializationError error = deserializeJson(doc, message); // Deserialize the JSON document + if (error) { + myDebug_P(PSTR("[MQTT] Invalid command from topic %s, payload %s, error %s"), topic, message, error.c_str()); + return; + } + const char * command = doc["cmd"]; + if (command == nullptr) { + return; + } + + // language setting + if (strcmp(command, TOPIC_SETTINGS_CMD_LANGUAGE) == 0) { + const char * data = doc["data"]; + if (data == nullptr) { + return; + } + if (strcasecmp((char *)data, "french") == 0) { + ems_setSettingsLanguage(EMS_VALUE_IBASettings_LANG_FRENCH); + } else if (strcasecmp((char *)data, "german") == 0) { + ems_setSettingsLanguage(EMS_VALUE_IBASettings_LANG_GERMAN); + } else if (strcasecmp((char *)data, "italian") == 0) { + ems_setSettingsLanguage(EMS_VALUE_IBASettings_LANG_ITALIAN); + } + return; + } + // building setting + if (strcmp(command, TOPIC_SETTINGS_CMD_BUILDING) == 0) { + const char * data = doc["data"]; + if (data == nullptr) { + return; + } + if (strcasecmp((char *)data, "light") == 0) { + ems_setSettingsBuilding(EMS_VALUE_IBASettings_BUILDING_LIGHT); + } else if (strcasecmp((char *)data, "medium") == 0) { + ems_setSettingsBuilding(EMS_VALUE_IBASettings_BUILDING_MEDIUM); + } else if (strcasecmp((char *)data, "heavy") == 0) { + ems_setSettingsBuilding(EMS_VALUE_IBASettings_BUILDING_HEAVY); + } + return; + } + // display setting + if (strcmp(command, TOPIC_SETTINGS_CMD_DISPLAY) == 0) { + const char * data = doc["data"]; + if (data == nullptr) { + return; + } + uint8_t t = atoi((char *)data); + if (t) { + ems_setSettingsDisplay(t-1); + } + return; + } + return; // unknown settings command + } + + uint8_t hc; // thermostat temp changes hc = _hasHCspecified(TOPIC_THERMOSTAT_CMD_TEMP_HA, topic); @@ -2427,6 +2626,7 @@ void setup() { // enable regular checks to fetch data and publish using Tx (unless listen_mode is enabled) if (!EMSESP_Settings.listen_mode) { regularUpdatesTimer.attach(REGULARUPDATES_TIME, do_regularUpdates); // regular reads from the EMS + dailyUpdatesTimer.attach(DAILYUPDATES_TIME, do_dailyUpdates); // daily reads from the EMS } // set timers for MQTT publish diff --git a/src/ems.cpp b/src/ems.cpp index 72cf98114..bf1e7df8c 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -103,6 +103,13 @@ void ems_init() { strlcpy(EMS_Thermostat.datetime, "?", sizeof(EMS_Thermostat.datetime)); EMS_Thermostat.write_supported = false; EMS_Thermostat.device_id = EMS_ID_NONE; + // settings + EMS_Thermostat.ibaMainDisplay = EMS_VALUE_INT_NOTSET; // display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 boiler temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp + EMS_Thermostat.ibaLanguage = EMS_VALUE_INT_NOTSET; // language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian + EMS_Thermostat.ibaCalIntTemperature = EMS_VALUE_INT_NOTSET; // offset int. temperature sensor, by * 0.1 Kelvin + EMS_Thermostat.ibaMinExtTemperature = EMS_VALUE_SHORT_NOTSET; // min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 + EMS_Thermostat.ibaBuildingType = EMS_VALUE_INT_NOTSET; // building type: 0 = light, 1 = medium, 2 = heavy + EMS_Thermostat.ibaClockOffset = EMS_VALUE_INT_NOTSET; // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s // init all heating circuits for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) { @@ -1286,6 +1293,33 @@ void _process_EasyStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_EasyStatusMessage_setpoint); // is * 100 } +// Settings Parameters - 0xA5 +void _process_IBASettingsMessage(_EMS_RxTelegram * EMS_RxTelegram) { + // thermostat compatible with this settings message, checked by in ems_getSettingsValues() + + // at init, and every 24h, send read request for settings parameters message, done with Ticker on do_dailyUpdates() + // send 0B 90 A5 00 20: + // 10 0B A5 00 00 02 00 00 FF F6 01 06 00 01 0D 03 03 + // 00 01 02 03 04 05 06 07 08 09 10 11 12 + + // values validated for RC30N + uint8_t extTemp = 100; // Min. ext temperature is coded as int8, 0xF6=-10, 0x0 = 0, 0xFF=-1. 100 is out of permissible range + + _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaMainDisplay, EMS_OFFSET_IBASettings_Display); // display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 burner temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp + _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaLanguage, EMS_OFFSET_IBASettings_Language); // language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian + _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaBuildingType, EMS_OFFSET_IBASettings_Building); // building type: 0 = light, 1 = medium, 2 = heavy + _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaCalIntTemperature, EMS_OFFSET_IBASettings_CalIntTemp); // offset int. temperature sensor, by * 0.1 Kelvin + _setValue(EMS_RxTelegram, &extTemp, EMS_OFFSET_IBASettings_MinExtTemp); // min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 + if (extTemp != 100) { + // code as signed short, to benefit from negative value rendering + EMS_Thermostat.ibaMinExtTemperature = (int16_t)(extTemp > 127) ? (extTemp-256) : extTemp; + } + _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaClockOffset, EMS_OFFSET_IBASettings_ClockOffset); // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + + // publish settings to mqtt (assuming this is a very low frequency message), done in publishEMSValues_settings() + ems_Device_add_flags(EMS_DEVICE_UPDATE_FLAG_SETTINGS); +} + // Mixing module - 0x01D7, 0x01D8 void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = (EMS_RxTelegram->type - EMS_TYPE_MMPLUSStatusMessage_HC1); // 0 to 3 @@ -2075,6 +2109,24 @@ void ems_getBoilerValues() { ems_doReadCommand(EMS_TYPE_UBATotalUptimeMessage, EMS_Boiler.device_id); // get uptime from boiler } +void ems_getSettingsValues() { + if (!ems_getThermostatEnabled()) { + return; + } + + uint8_t device_flags = EMS_Thermostat.device_flags; + uint8_t device_id = EMS_Thermostat.device_id; + + // for the moment, only validated on RC30 + switch (device_flags) { + case EMS_DEVICE_FLAG_RC30N: + ems_doReadCommand(EMS_TYPE_IBASettingsMessage, device_id); + break; + default: + break; + } +} + /* * Get solar values from EMS devices */ @@ -2753,6 +2805,103 @@ void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc) { EMS_TxQueue.push(EMS_TxTelegram); } +/** + * Set the language settings + * to 0xA5 + */ +void ems_setSettingsLanguage(uint8_t lg) { + _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter + + switch(lg) { + case EMS_VALUE_IBASettings_LANG_FRENCH: + case EMS_VALUE_IBASettings_LANG_GERMAN: + case EMS_VALUE_IBASettings_LANG_DUTCH: + case EMS_VALUE_IBASettings_LANG_ITALIAN: + myDebug_P(PSTR("Setting language to %d"),lg); + EMS_TxTelegram.dataValue = lg; + break; + default: + return; // invalid value + } + + EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; + EMS_TxTelegram.dest = EMS_Thermostat.device_id; + EMS_TxTelegram.type = EMS_TYPE_IBASettingsMessage; + EMS_TxTelegram.offset = EMS_OFFSET_IBASettings_Language; + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; + EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate + + EMS_TxQueue.push(EMS_TxTelegram); +} + +/** + * Set the building settings + * to 0xA5 + */ +void ems_setSettingsBuilding(uint8_t bg) { + _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter + + switch(bg) { + case EMS_VALUE_IBASettings_BUILDING_LIGHT: + case EMS_VALUE_IBASettings_BUILDING_MEDIUM: + case EMS_VALUE_IBASettings_BUILDING_HEAVY: + myDebug_P(PSTR("Setting building to %d"),bg); + EMS_TxTelegram.dataValue = bg; + break; + default: + return; // invalid value + } + + EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; + EMS_TxTelegram.dest = EMS_Thermostat.device_id; + EMS_TxTelegram.type = EMS_TYPE_IBASettingsMessage; + EMS_TxTelegram.offset = EMS_OFFSET_IBASettings_Building; + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; + EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate + + EMS_TxQueue.push(EMS_TxTelegram); +} + +/** + * Set the display settings + * to 0xA5 + */ +void ems_setSettingsDisplay(uint8_t ds) { + _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx + EMS_TxTelegram.timestamp = millis(); // set timestamp + EMS_Sys_Status.txRetryCount = 0; // reset retry counter + + switch(ds) { + case EMS_VALUE_IBASettings_DISPLAY_INTTEMP: + case EMS_VALUE_IBASettings_DISPLAY_INTSETPOINT: + case EMS_VALUE_IBASettings_DISPLAY_EXTTEMP: + case EMS_VALUE_IBASettings_DISPLAY_BURNERTEMP: + case EMS_VALUE_IBASettings_DISPLAY_WWTEMP: + case EMS_VALUE_IBASettings_DISPLAY_FUNCMODE: + case EMS_VALUE_IBASettings_DISPLAY_TIME: + case EMS_VALUE_IBASettings_DISPLAY_DATE: + case EMS_VALUE_IBASettings_DISPLAY_SMOKETEMP: + myDebug_P(PSTR("Setting display to %d"),ds); + EMS_TxTelegram.dataValue = ds; + break; + default: + return; // invalid value + } + + EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; + EMS_TxTelegram.dest = EMS_Thermostat.device_id; + EMS_TxTelegram.type = EMS_TYPE_IBASettingsMessage; + EMS_TxTelegram.offset = EMS_OFFSET_IBASettings_Display; + EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; + EMS_TxTelegram.type_validate = EMS_ID_NONE; // don't validate + + EMS_TxQueue.push(EMS_TxTelegram); +} + /** * Set the warm water temperature 0x33 */ @@ -3083,6 +3232,9 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_JunkersStatusMessage_HC3, "JunkersStatusMessage_HC3", _process_JunkersStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_JunkersStatusMessage_HC4, "JunkersStatusMessage_HC4", _process_JunkersStatusMessage}, + // settings + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_IBASettingsMessage, "IBASettingsMessage", _process_IBASettingsMessage}, + // Mixing devices MM10 - MM400 {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC1, "MMPLUSStatusMessage_HC1", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC2, "MMPLUSStatusMessage_HC2", _process_MMPLUSStatusMessage}, diff --git a/src/ems.h b/src/ems.h index 4f08ef7ed..88434ead8 100644 --- a/src/ems.h +++ b/src/ems.h @@ -204,7 +204,8 @@ typedef enum : uint8_t { EMS_DEVICE_UPDATE_FLAG_THERMOSTAT = (1 << 1), EMS_DEVICE_UPDATE_FLAG_MIXING = (1 << 2), EMS_DEVICE_UPDATE_FLAG_SOLAR = (1 << 3), - EMS_DEVICE_UPDATE_FLAG_HEATPUMP = (1 << 4) + EMS_DEVICE_UPDATE_FLAG_HEATPUMP = (1 << 4), + EMS_DEVICE_UPDATE_FLAG_SETTINGS = (1 << 5) } _EMS_DEVICE_UPDATE_FLAG; typedef enum : uint8_t { @@ -430,6 +431,15 @@ typedef struct { char version[10]; char datetime[25]; // HH:MM:SS DD/MM/YYYY bool write_supported; + + // Installation parameters (tested on RC30) + uint8_t ibaMainDisplay; // 00, display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 burner temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp + uint8_t ibaLanguage; // 01, language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian + uint8_t ibaCalIntTemperature; // 02, offset int. temperature sensor, by * 0.1 Kelvin + int16_t ibaMinExtTemperature; // 05, min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 (actually a int8_t, coded as int16_t to benefit from negative value rendering) + uint8_t ibaBuildingType; // 06, building type: 0 = light, 1 = medium, 2 = heavy + uint8_t ibaClockOffset; // 12, offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + _EMS_Thermostat_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits } _EMS_Thermostat; @@ -483,6 +493,10 @@ void ems_testTelegram(uint8_t test_num); void ems_startupTelegrams(); bool ems_checkEMSBUSAlive(); +void ems_setSettingsLanguage(uint8_t lg); +void ems_setSettingsBuilding(uint8_t bg); +void ems_setSettingsDisplay(uint8_t ds); + void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE temptype); void ems_setThermostatTemp(float temperature, uint8_t hc, const char * mode_s); void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc); @@ -509,6 +523,7 @@ char * ems_getDeviceTypeName(_EMS_DEVICE_TYPE device_type, char * _EMS_THERMOSTAT_MODE ems_getThermostatMode(const char * mode_s); void ems_getThermostatValues(); void ems_getBoilerValues(); +void ems_getSettingsValues(); void ems_getSolarModuleValues(); void ems_getMixingModuleValues(); char * ems_getThermostatModeString(_EMS_THERMOSTAT_MODE mode, char * mode_str); diff --git a/src/ems_devices.h b/src/ems_devices.h index e9ffbe6a1..cf8151cc0 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -52,6 +52,34 @@ #define EMS_OFFSET_UBASetPoints_flowtemp 0 // flow temp +// Installation settings +#define EMS_TYPE_IBASettingsMessage 0xA5 // installation settings +#define EMS_OFFSET_IBASettings_Display 0 // display +#define EMS_OFFSET_IBASettings_Language 1 // language +#define EMS_OFFSET_IBASettings_MinExtTemp 5 // min. ext. temperature +#define EMS_OFFSET_IBASettings_Building 6 // building +#define EMS_OFFSET_IBASettings_CalIntTemp 2 // cal. int. temperature +#define EMS_OFFSET_IBASettings_ClockOffset 12 // clock offset + +#define EMS_VALUE_IBASettings_LANG_GERMAN 0 +#define EMS_VALUE_IBASettings_LANG_DUTCH 1 +#define EMS_VALUE_IBASettings_LANG_FRENCH 2 +#define EMS_VALUE_IBASettings_LANG_ITALIAN 3 + +#define EMS_VALUE_IBASettings_BUILDING_LIGHT 0 +#define EMS_VALUE_IBASettings_BUILDING_MEDIUM 1 +#define EMS_VALUE_IBASettings_BUILDING_HEAVY 2 + +#define EMS_VALUE_IBASettings_DISPLAY_INTTEMP 0 +#define EMS_VALUE_IBASettings_DISPLAY_INTSETPOINT 1 +#define EMS_VALUE_IBASettings_DISPLAY_EXTTEMP 2 +#define EMS_VALUE_IBASettings_DISPLAY_BURNERTEMP 3 +#define EMS_VALUE_IBASettings_DISPLAY_WWTEMP 4 +#define EMS_VALUE_IBASettings_DISPLAY_FUNCMODE 5 +#define EMS_VALUE_IBASettings_DISPLAY_TIME 6 +#define EMS_VALUE_IBASettings_DISPLAY_DATE 7 +#define EMS_VALUE_IBASettings_DISPLAY_SMOKETEMP 9 + // Mixing Modules // MM100/MM200 (EMS Plus) #define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixing status HC1 @@ -66,6 +94,7 @@ #define EMS_OFFSET_MMPLUSStatusMessage_WW_flow_temp 0 // flow temperature #define EMS_OFFSET_MMPLUSStatusMessage_WW_pump_mod 2 // pump on 6, off 0 #define EMS_OFFSET_MMPLUSStatusMessage_WW_temp_status 11 // 0,1,2 + // MM10 #define EMS_TYPE_MMStatusMessage 0xAB // mixing status #define EMS_OFFSET_MMStatusMessage_flow_set 0 // flow setpoint diff --git a/src/my_config.h b/src/my_config.h index ccd09358f..0dc1ab297 100644 --- a/src/my_config.h +++ b/src/my_config.h @@ -59,6 +59,14 @@ #define TOPIC_BOILER_CMD_COMFORT "comfort" // ww comfort setting via MQTT #define TOPIC_BOILER_CMD_FLOWTEMP "flowtemp" // flowtemp value via MQTT +// MQTT for settings +#define TOPIC_SETTINGS_DATA "settings_data" // for sending settings values to MQTT +#define TOPIC_SETTINGS_CMD "settings_cmd" // for receiving settings commands via MQTT +#define TOPIC_SETTINGS_CMD_DISPLAY "display" // change display +#define TOPIC_SETTINGS_CMD_LANGUAGE "language" // change language +#define TOPIC_SETTINGS_CMD_BUILDING "building" // change building +#define TOPIC_SETTINGS_CMD_MINEXTTEMP "minextTemp" // change min. ext. temp. + // MQTT for mixing device #define TOPIC_MIXING_DATA "mixing_data" // for sending mixing device values to MQTT From 850e3cb65c44299d1c5bcbfb79e634ca775eb283 Mon Sep 17 00:00:00 2001 From: ypaindaveine Date: Sun, 22 Mar 2020 22:29:44 +0100 Subject: [PATCH 183/195] minor dimension of JSON msg. --- src/ems-esp.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index cdafbc789..abd09c516 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -971,7 +971,7 @@ bool publishEMSValues_thermostat() { // publish Settings parameters via MQTT bool publishEMSValues_settings() { - const size_t capacity = JSON_OBJECT_SIZE(5); // must recalculate if more objects added https://arduinojson.org/v6/assistant/ + const size_t capacity = JSON_OBJECT_SIZE(6); // must recalculate if more objects added https://arduinojson.org/v6/assistant/ DynamicJsonDocument doc(capacity); JsonObject rootSettings = doc.to(); From 393f9201166bbcc58ed14db1acd467608772af27 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 23 Mar 2020 11:26:09 +0100 Subject: [PATCH 184/195] minor updates --- CHANGELOG.md | 3 +- platformio.ini | 11 +++----- src/MyESP.cpp | 73 +++++++++++++++++++++++++------------------------ src/MyESP.h | 8 +++--- src/ems-esp.cpp | 55 +++++++++++++++++++------------------ src/version.h | 2 +- 6 files changed, 77 insertions(+), 75 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c374d5a19..268cb9e45 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -36,9 +36,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - `status` payload on start-up shows the IP and Version of EMS-ESP - `thermostat mode` takes a string like manual,auto,heat,day,night,eco,comfort,holiday,nofrost - `thermostat temp` also takes a mode string, e.g. `thermostat temp 20 heat` +- `queue` renamed to `txqueue` ### Removed - - `autodetect scan` + - `autodetect scan`. Replaced with `devices scan` and `devices scan+` for deep scanning - `mqttlog all` and showing MQTT log in the web interface - no point showing history of previous mqtt publishes in ESP's precious memory. For debugging I recommend using MQTT Explorer or another external tool. ## [1.9.4] 15-12-2019 diff --git a/platformio.ini b/platformio.ini index 837d143fa..971457c81 100644 --- a/platformio.ini +++ b/platformio.ini @@ -4,7 +4,7 @@ [platformio] default_envs = release -;default_envs = debug +; default_envs = debug [common] ; custom build options are: @@ -14,7 +14,7 @@ default_envs = release ; -DFORCE_SERIAL ; -DMYESP_DEBUG ; -DSENSOR_MQTT_USEID -;custom_flags = -DFORCE_SERIAL -DMYESP_DEBUG -DEMSESP_SIMULATE +; custom_flags = -DFORCE_SERIAL -DMYESP_DEBUG -DEMSESP_SIMULATE custom_flags = # Available lwIP variants (macros): @@ -27,7 +27,7 @@ custom_flags = # -DVTABLES_IN_FLASH # -DNO_GLOBAL_EEPROM # -DBEARSSL_SSL_BASIC -#general_flags = -DNO_GLOBAL_EEPROM -DVTABLES_IN_FLASH -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH +# general_flags = -DNO_GLOBAL_EEPROM -DVTABLES_IN_FLASH -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH general_flags = -DNO_GLOBAL_EEPROM @@ -40,10 +40,7 @@ build_flags = ${common.general_flags} -std=c++11 -fno-exceptions [env] framework = arduino -;platform = espressif8266@2.2.2 ; arduino core 2.5.2 platform = espressif8266 -;platform = https://github.com/platformio/platform-espressif8266#develop -;platform = https://github.com/platformio/platform-espressif8266#feature/stage lib_compat_mode = strict lib_deps = https://github.com/rlogiacco/CircularBuffer @@ -56,7 +53,7 @@ lib_deps = JustWifi@2.0.2 ; https://github.com/xoseperez/justwifi AsyncMqttClient@0.8.2 ; https://github.com/marvinroger/async-mqtt-client EEPROM_Rotate@0.9.2 ; https://github.com/xoseperez/eeprom_rotate - ArduinoJson@6.14.1 ; https://github.com/bblanchon/ArduinoJson + https://github.com/bblanchon/ArduinoJson ESPAsyncTCP@1.2.2 ; https://github.com/me-no-dev/ESPAsyncTCP upload_speed = 921600 monitor_speed = 115200 diff --git a/src/MyESP.cpp b/src/MyESP.cpp index 3a4958758..c67c4925f 100644 --- a/src/MyESP.cpp +++ b/src/MyESP.cpp @@ -435,7 +435,7 @@ void MyESP::_printMQTTQueue() { bool MyESP::mqttPublish(const char * topic, const char * payload) { return (_mqttQueue(topic, payload, _mqtt_retain)); } -bool MyESP::mqttPublish(const char * topic, JsonDocument payload) { +bool MyESP::mqttPublish(const char * topic, JsonDocument & payload) { return (_mqttQueue(topic, payload, _mqtt_retain)); } @@ -443,7 +443,7 @@ bool MyESP::mqttPublish(const char * topic, JsonDocument payload) { bool MyESP::mqttPublish(const char * topic, const char * payload, bool retain) { return (_mqttQueue(topic, payload, retain)); } -bool MyESP::mqttPublish(const char * topic, JsonDocument payload, bool retain) { +bool MyESP::mqttPublish(const char * topic, JsonDocument & payload, bool retain) { return (_mqttQueue(topic, payload, retain)); } @@ -475,7 +475,7 @@ bool MyESP::_mqttQueue(const char * topic, const char * payload, bool retain) { // convert json doc to a string buffer and place on queue // can't have empty payload or topic // returns false if can't add to queue -bool MyESP::_mqttQueue(const char * topic, JsonDocument payload, bool retain) { +bool MyESP::_mqttQueue(const char * topic, JsonDocument & payload, bool retain) { if (!mqttClient.connected() || _mqtt_queue.size() >= MQTT_QUEUE_MAX_SIZE || !_hasValue(topic)) { return false; } @@ -2753,48 +2753,49 @@ void MyESP::_webserver_setup() { request->send(response); }); - _webServer->on("/update", - HTTP_POST, - [](AsyncWebServerRequest * request) { - AsyncWebServerResponse * response = request->beginResponse(200, "text/plain", _shouldRestart ? "OK" : "FAIL"); - response->addHeader("Connection", "close"); - request->send(response); - }, - [](AsyncWebServerRequest * request, String filename, size_t index, uint8_t * data, size_t len, bool final) { - if (!request->authenticate(MYESP_HTTP_USERNAME, _general_password)) { - return; - } - if (!index) { - ETS_UART_INTR_DISABLE(); // disable all UART interrupts to be safe - //_writeLogEvent(MYESP_SYSLOG_INFO, "Firmware update started"); - Update.runAsync(true); - if (!Update.begin((ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000)) { + _webServer->on( + "/update", + HTTP_POST, + [](AsyncWebServerRequest * request) { + AsyncWebServerResponse * response = request->beginResponse(200, "text/plain", _shouldRestart ? "OK" : "FAIL"); + response->addHeader("Connection", "close"); + request->send(response); + }, + [](AsyncWebServerRequest * request, String filename, size_t index, uint8_t * data, size_t len, bool final) { + if (!request->authenticate(MYESP_HTTP_USERNAME, _general_password)) { + return; + } + if (!index) { + ETS_UART_INTR_DISABLE(); // disable all UART interrupts to be safe + //_writeLogEvent(MYESP_SYSLOG_INFO, "Firmware update started"); + Update.runAsync(true); + if (!Update.begin((ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000)) { //_writeLogEvent(MYESP_SYSLOG_ERROR, "Not enough space to update"); #ifdef MYESP_DEBUG - Update.printError(Serial); + Update.printError(Serial); #endif - } - } - if (!Update.hasError()) { - if (Update.write(data, len) != len) { + } + } + if (!Update.hasError()) { + if (Update.write(data, len) != len) { //_writeLogEvent(MYESP_SYSLOG_ERROR, "Writing to flash failed"); #ifdef MYESP_DEBUG - Update.printError(Serial); + Update.printError(Serial); #endif - } - } - if (final) { - if (Update.end(true)) { - //_writeLogEvent(MYESP_SYSLOG_INFO, "Firmware update finished"); - _shouldRestart = !Update.hasError(); - } else { + } + } + if (final) { + if (Update.end(true)) { + //_writeLogEvent(MYESP_SYSLOG_INFO, "Firmware update finished"); + _shouldRestart = !Update.hasError(); + } else { //_writeLogEvent(MYESP_SYSLOG_ERROR, "Firmware update failed"); #ifdef MYESP_DEBUG - Update.printError(Serial); + Update.printError(Serial); #endif - } - } - }); + } + } + }); _webServer->on("/fonts/glyphicons-halflings-regular.woff", HTTP_GET, [](AsyncWebServerRequest * request) { AsyncWebServerResponse * response = diff --git a/src/MyESP.h b/src/MyESP.h index 1568860d4..5b623a4ef 100644 --- a/src/MyESP.h +++ b/src/MyESP.h @@ -9,7 +9,7 @@ #ifndef MyESP_h #define MyESP_h -#define MYESP_VERSION "1.2.36" +#define MYESP_VERSION "1.2.37" #include #include @@ -281,8 +281,8 @@ class MyESP { void mqttUnsubscribe(const char * topic); bool mqttPublish(const char * topic, const char * payload); bool mqttPublish(const char * topic, const char * payload, bool retain); - bool mqttPublish(const char * topic, JsonDocument payload); - bool mqttPublish(const char * topic, JsonDocument payload, bool retain); + bool mqttPublish(const char * topic, JsonDocument & payload); + bool mqttPublish(const char * topic, JsonDocument & payload, bool retain); void setMQTT(mqtt_callback_f callback); bool mqttUseNestedJson(); @@ -343,7 +343,7 @@ class MyESP { void _sendStart(); char * _mqttTopic(const char * topic); bool _mqttQueue(const char * topic, const char * payload, bool retain); - bool _mqttQueue(const char * topic, JsonDocument payload, bool retain); + bool _mqttQueue(const char * topic, JsonDocument & payload, bool retain); void _printMQTTQueue(); void _mqttPublishQueue(); void _mqttRemoveLastPublish(); diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 44d113c04..adea4d992 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -109,8 +109,8 @@ static const command_t project_cmds[] PROGMEM = { {false, "log ", "logging: none, basic, thermo, solar, mixing, raw, jabber, verbose, watch a type or device"}, {false, "publish", "publish all values to MQTT"}, {false, "refresh", "fetch values from the EMS devices"}, - {false, "devices [scan] | [scan deep] | [save]", "list detected devices, quick scan or deep scan and save as known devices"}, - {false, "queue", "show current Tx queue"}, + {false, "devices [scan] | [scan+] | [clear] | [save] ", "list detected devices, quick scan, deep scan, clear and and save"}, + {false, "txqueue", "show current Tx queue"}, {false, "send XX ...", "send raw telegram data to EMS bus (XX are hex values)"}, {false, "thermostat read ", "send read request to the thermostat for heating circuit hc 1-4"}, {false, "thermostat temp [mode] [hc]", "set thermostat temperature. mode is manual,auto,heat,day,night,eco,comfort,holiday,nofrost"}, @@ -254,14 +254,17 @@ void showInfo() { ((EMSESP_Settings.shower_timer) ? "enabled" : "disabled"), ((EMSESP_Settings.shower_alert) ? "enabled" : "disabled")); + if (strlen(EMSESP_Settings.known_devices) > 0) { + myDebug_P(PSTR(" Saved known device IDs: %s"), EMSESP_Settings.known_devices); + } else { + myDebug_P(PSTR(" Saved known device IDs: none")); + } + myDebug_P(PSTR("\n%sEMS Bus status:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); if (ems_getBusConnected()) { myDebug_P(PSTR(" Bus is connected, protocol: %s"), (ems_isHT3() ? "HT3" : "Buderus")); myDebug_P(PSTR(" Rx: # successful read requests=%d, # CRC errors=%d"), EMS_Sys_Status.emsRxPgks, EMS_Sys_Status.emxCrcErr); - if (strlen(EMSESP_Settings.known_devices) > 0) { - myDebug_P(PSTR(" Saved known device IDs: %s"), EMSESP_Settings.known_devices); - } if (ems_getTxCapable()) { char valuestr[8] = {0}; // for formatting floats @@ -1487,6 +1490,11 @@ void TelnetCallback(uint8_t event) { } } +void clearEMSDevices() { + EMSESP_Settings.known_devices = strdup(""); + myESP.saveSettings(); +} + // get the list of know devices, as a string, and save them to the config file void saveEMSDevices() { if (Devices.empty()) { @@ -1539,33 +1547,28 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { // wc = 2 or more. check for "scan" char * second_cmd = _readWord(); if (strcmp(second_cmd, "scan") == 0) { - if (wc == 2) { - // just scan use UBA 0x07 telegram - myDebug_P(PSTR("Requesting EMS bus master for its device list and scanning for external sensors...")); - scanDallas(); - Devices.clear(); // init the device map - ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); - return; - } - - // wc is 3 or more. check for additional "force" argument - char * third_cmd = _readWord(); - if (strcmp(third_cmd, "deep") == 0) { - myDebug_P(PSTR("Started deep scan of EMS bus for our known devices. This can take up to 10 seconds...")); - Devices.clear(); // init the device map - ems_scanDevices(); - return; - } + // just scan use UBA 0x07 telegram + myDebug_P(PSTR("Requesting EMS bus master for its device list and scanning for external sensors...")); + scanDallas(); + Devices.clear(); // init the device map + ems_doReadCommand(EMS_TYPE_UBADevices, EMS_Boiler.device_id); + return; + } else if (strcmp(second_cmd, "scan+") == 0) { + myDebug_P(PSTR("Started deep scan of EMS bus for our known devices. This can take up to 10 seconds...")); + Devices.clear(); // init the device map + ems_scanDevices(); + return; } else if (strcmp(second_cmd, "save") == 0) { saveEMSDevices(); return; + } else if (strcmp(second_cmd, "clear") == 0) { + clearEMSDevices(); + return; } - ok = false; // unknown command } - - if (strcmp(first_cmd, "queue") == 0) { + if (strcmp(first_cmd, "txqueue") == 0) { ems_printTxQueue(); ok = true; } @@ -2278,7 +2281,7 @@ void initEMSESP() { EMSESP_Settings.tx_mode = EMS_TXMODE_DEFAULT; // default tx mode EMSESP_Settings.bus_id = EMS_BUSID_DEFAULT; // Service Key is default EMSESP_Settings.master_thermostat = 0; - EMSESP_Settings.known_devices = nullptr; + EMSESP_Settings.known_devices = strdup(""); // shower settings EMSESP_Shower.timerStart = 0; diff --git a/src/version.h b/src/version.h index bf444aad1..1086d0eba 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b55" +#define APP_VERSION "1.9.5b57" From b51d34add049efdda4c732c9ecc4347af39e6888 Mon Sep 17 00:00:00 2001 From: Paul Date: Mon, 23 Mar 2020 11:40:48 +0100 Subject: [PATCH 185/195] merge of Yves' "Added retrieving settings (0xA5)" feature --- CHANGELOG.md | 1 + src/ems-esp.cpp | 16 ++++---- src/ems.cpp | 98 ++++++++++++++++++++++++----------------------- src/ems.h | 26 ++++++------- src/ems_devices.h | 14 +++---- src/version.h | 2 +- 6 files changed, 80 insertions(+), 77 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 268cb9e45..d880e97a3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - MQTT publish messages are queued and gracefully published every second to avoid TCP blocks - Added features to WW messages (0x33, 0x34) to improve WW monitoring. (PR#338 by @ypaindaveine) - Added mixing log and stub for EMS type 0xAC (PR#338 by @ypaindaveine) +- Added Thermostat retrieving settings (0xA5) (validated on RC30N) with MQTT support (thanks Yves @ypaindaveine. See #352) ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 77210dea7..82a418381 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -476,7 +476,7 @@ void showInfo() { _renderIntValue("Offset int. temperature", "K", EMS_Thermostat.ibaCalIntTemperature, 10); // offset int. temperature sensor, by * 0.1 Kelvin } if (EMS_Thermostat.ibaMinExtTemperature != EMS_VALUE_SHORT_NOTSET) { - _renderShortValue("Min ext. temperature", "C", EMS_Thermostat.ibaMinExtTemperature, 0); // min ext temp for heating curve, in deg. + _renderShortValue("Min ext. temperature", "C", EMS_Thermostat.ibaMinExtTemperature, 0); // min ext temp for heating curve, in deg. } if (EMS_Thermostat.ibaBuildingType != EMS_VALUE_INT_NOTSET) { if (EMS_Thermostat.ibaBuildingType == EMS_VALUE_IBASettings_BUILDING_LIGHT) { @@ -488,7 +488,7 @@ void showInfo() { } } if (EMS_Thermostat.ibaClockOffset != EMS_VALUE_INT_NOTSET) { - _renderIntValue("Offset clock", "s", EMS_Thermostat.ibaClockOffset); // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + _renderIntValue("Offset clock", "s", EMS_Thermostat.ibaClockOffset); // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s } uint8_t _m_setpoint, _m_curr; @@ -1011,10 +1011,10 @@ bool publishEMSValues_settings() { } } if (EMS_Thermostat.ibaCalIntTemperature != EMS_VALUE_INT_NOTSET) { - rootSettings["CalIntTemperature"] = (float)EMS_Thermostat.ibaCalIntTemperature / 10; // offset int. temperature sensor, by * 0.1 Kelvin + rootSettings["CalIntTemperature"] = (float)EMS_Thermostat.ibaCalIntTemperature / 10; // offset int. temperature sensor, by * 0.1 Kelvin } if (EMS_Thermostat.ibaMinExtTemperature != EMS_VALUE_SHORT_NOTSET) { - rootSettings["MinExtTemperature"] = EMS_Thermostat.ibaMinExtTemperature; // min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 + rootSettings["MinExtTemperature"] = EMS_Thermostat.ibaMinExtTemperature; // min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 } if (EMS_Thermostat.ibaBuildingType != EMS_VALUE_INT_NOTSET) { if (EMS_Thermostat.ibaBuildingType == EMS_VALUE_IBASettings_BUILDING_LIGHT) { @@ -1026,7 +1026,7 @@ bool publishEMSValues_settings() { } } if (EMS_Thermostat.ibaClockOffset != EMS_VALUE_INT_NOTSET) { - rootSettings["clockOffset"] = EMS_Thermostat.ibaClockOffset; // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + rootSettings["clockOffset"] = EMS_Thermostat.ibaClockOffset; // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s } return (myESP.mqttPublish(TOPIC_SETTINGS_DATA, doc)); } @@ -1192,7 +1192,7 @@ bool publishEMSValues(bool force) { } if (ems_getBoilerEnabled() && (ems_Device_has_flags(EMS_DEVICE_UPDATE_FLAG_SETTINGS))) { - // never force publication of settings + // never force publication of settings settings = publishEMSValues_settings(); ems_Device_remove_flags(EMS_DEVICE_UPDATE_FLAG_SETTINGS); // unset flag } @@ -1670,7 +1670,7 @@ void TelnetCommandCallback(uint8_t wc, const char * commandLine) { if (strcmp(first_cmd, "refresh") == 0) { do_regularUpdates(); - do_dailyUpdates(); + do_dailyUpdates(); ok = true; } @@ -2130,7 +2130,7 @@ void MQTTCallback(unsigned int type, const char * topic, const char * message) { } uint8_t t = atoi((char *)data); if (t) { - ems_setSettingsDisplay(t-1); + ems_setSettingsDisplay(t - 1); } return; } diff --git a/src/ems.cpp b/src/ems.cpp index bf1e7df8c..656c765d1 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -104,12 +104,13 @@ void ems_init() { EMS_Thermostat.write_supported = false; EMS_Thermostat.device_id = EMS_ID_NONE; // settings - EMS_Thermostat.ibaMainDisplay = EMS_VALUE_INT_NOTSET; // display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 boiler temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp - EMS_Thermostat.ibaLanguage = EMS_VALUE_INT_NOTSET; // language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian - EMS_Thermostat.ibaCalIntTemperature = EMS_VALUE_INT_NOTSET; // offset int. temperature sensor, by * 0.1 Kelvin - EMS_Thermostat.ibaMinExtTemperature = EMS_VALUE_SHORT_NOTSET; // min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 - EMS_Thermostat.ibaBuildingType = EMS_VALUE_INT_NOTSET; // building type: 0 = light, 1 = medium, 2 = heavy - EMS_Thermostat.ibaClockOffset = EMS_VALUE_INT_NOTSET; // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + EMS_Thermostat.ibaMainDisplay = + EMS_VALUE_INT_NOTSET; // display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 boiler temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp + EMS_Thermostat.ibaLanguage = EMS_VALUE_INT_NOTSET; // language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian + EMS_Thermostat.ibaCalIntTemperature = EMS_VALUE_INT_NOTSET; // offset int. temperature sensor, by * 0.1 Kelvin + EMS_Thermostat.ibaMinExtTemperature = EMS_VALUE_SHORT_NOTSET; // min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 + EMS_Thermostat.ibaBuildingType = EMS_VALUE_INT_NOTSET; // building type: 0 = light, 1 = medium, 2 = heavy + EMS_Thermostat.ibaClockOffset = EMS_VALUE_INT_NOTSET; // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s // init all heating circuits for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) { @@ -960,7 +961,6 @@ void _checkActive() { if (EMS_Boiler.selFlowTemp != EMS_VALUE_INT_NOTSET && EMS_Boiler.burnGas != EMS_VALUE_INT_NOTSET) { EMS_Boiler.heatingActive = ((EMS_Boiler.selFlowTemp >= EMS_BOILER_SELFLOWTEMP_HEATING) && (EMS_Boiler.burnGas == EMS_VALUE_BOOL_ON)); } - } /** @@ -1300,21 +1300,23 @@ void _process_IBASettingsMessage(_EMS_RxTelegram * EMS_RxTelegram) { // at init, and every 24h, send read request for settings parameters message, done with Ticker on do_dailyUpdates() // send 0B 90 A5 00 20: // 10 0B A5 00 00 02 00 00 FF F6 01 06 00 01 0D 03 03 - // 00 01 02 03 04 05 06 07 08 09 10 11 12 + // 00 01 02 03 04 05 06 07 08 09 10 11 12 // values validated for RC30N - uint8_t extTemp = 100; // Min. ext temperature is coded as int8, 0xF6=-10, 0x0 = 0, 0xFF=-1. 100 is out of permissible range + uint8_t extTemp = 100; // Min. ext temperature is coded as int8, 0xF6=-10, 0x0 = 0, 0xFF=-1. 100 is out of permissible range - _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaMainDisplay, EMS_OFFSET_IBASettings_Display); // display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 burner temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp - _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaLanguage, EMS_OFFSET_IBASettings_Language); // language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian - _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaBuildingType, EMS_OFFSET_IBASettings_Building); // building type: 0 = light, 1 = medium, 2 = heavy + _setValue(EMS_RxTelegram, + &EMS_Thermostat.ibaMainDisplay, + EMS_OFFSET_IBASettings_Display); // display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 burner temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp + _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaLanguage, EMS_OFFSET_IBASettings_Language); // language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian + _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaBuildingType, EMS_OFFSET_IBASettings_Building); // building type: 0 = light, 1 = medium, 2 = heavy _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaCalIntTemperature, EMS_OFFSET_IBASettings_CalIntTemp); // offset int. temperature sensor, by * 0.1 Kelvin _setValue(EMS_RxTelegram, &extTemp, EMS_OFFSET_IBASettings_MinExtTemp); // min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 if (extTemp != 100) { // code as signed short, to benefit from negative value rendering - EMS_Thermostat.ibaMinExtTemperature = (int16_t)(extTemp > 127) ? (extTemp-256) : extTemp; + EMS_Thermostat.ibaMinExtTemperature = (int16_t)(extTemp > 127) ? (extTemp - 256) : extTemp; } - _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaClockOffset, EMS_OFFSET_IBASettings_ClockOffset); // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + _setValue(EMS_RxTelegram, &EMS_Thermostat.ibaClockOffset, EMS_OFFSET_IBASettings_ClockOffset); // offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s // publish settings to mqtt (assuming this is a very low frequency message), done in publishEMSValues_settings() ems_Device_add_flags(EMS_DEVICE_UPDATE_FLAG_SETTINGS); @@ -2814,16 +2816,16 @@ void ems_setSettingsLanguage(uint8_t lg) { EMS_TxTelegram.timestamp = millis(); // set timestamp EMS_Sys_Status.txRetryCount = 0; // reset retry counter - switch(lg) { - case EMS_VALUE_IBASettings_LANG_FRENCH: - case EMS_VALUE_IBASettings_LANG_GERMAN: - case EMS_VALUE_IBASettings_LANG_DUTCH: - case EMS_VALUE_IBASettings_LANG_ITALIAN: - myDebug_P(PSTR("Setting language to %d"),lg); - EMS_TxTelegram.dataValue = lg; - break; - default: - return; // invalid value + switch (lg) { + case EMS_VALUE_IBASettings_LANG_FRENCH: + case EMS_VALUE_IBASettings_LANG_GERMAN: + case EMS_VALUE_IBASettings_LANG_DUTCH: + case EMS_VALUE_IBASettings_LANG_ITALIAN: + myDebug_P(PSTR("Setting language to %d"), lg); + EMS_TxTelegram.dataValue = lg; + break; + default: + return; // invalid value } EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; @@ -2845,15 +2847,15 @@ void ems_setSettingsBuilding(uint8_t bg) { EMS_TxTelegram.timestamp = millis(); // set timestamp EMS_Sys_Status.txRetryCount = 0; // reset retry counter - switch(bg) { - case EMS_VALUE_IBASettings_BUILDING_LIGHT: - case EMS_VALUE_IBASettings_BUILDING_MEDIUM: - case EMS_VALUE_IBASettings_BUILDING_HEAVY: - myDebug_P(PSTR("Setting building to %d"),bg); - EMS_TxTelegram.dataValue = bg; - break; - default: - return; // invalid value + switch (bg) { + case EMS_VALUE_IBASettings_BUILDING_LIGHT: + case EMS_VALUE_IBASettings_BUILDING_MEDIUM: + case EMS_VALUE_IBASettings_BUILDING_HEAVY: + myDebug_P(PSTR("Setting building to %d"), bg); + EMS_TxTelegram.dataValue = bg; + break; + default: + return; // invalid value } EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; @@ -2875,21 +2877,21 @@ void ems_setSettingsDisplay(uint8_t ds) { EMS_TxTelegram.timestamp = millis(); // set timestamp EMS_Sys_Status.txRetryCount = 0; // reset retry counter - switch(ds) { - case EMS_VALUE_IBASettings_DISPLAY_INTTEMP: - case EMS_VALUE_IBASettings_DISPLAY_INTSETPOINT: - case EMS_VALUE_IBASettings_DISPLAY_EXTTEMP: - case EMS_VALUE_IBASettings_DISPLAY_BURNERTEMP: - case EMS_VALUE_IBASettings_DISPLAY_WWTEMP: - case EMS_VALUE_IBASettings_DISPLAY_FUNCMODE: - case EMS_VALUE_IBASettings_DISPLAY_TIME: - case EMS_VALUE_IBASettings_DISPLAY_DATE: - case EMS_VALUE_IBASettings_DISPLAY_SMOKETEMP: - myDebug_P(PSTR("Setting display to %d"),ds); - EMS_TxTelegram.dataValue = ds; - break; - default: - return; // invalid value + switch (ds) { + case EMS_VALUE_IBASettings_DISPLAY_INTTEMP: + case EMS_VALUE_IBASettings_DISPLAY_INTSETPOINT: + case EMS_VALUE_IBASettings_DISPLAY_EXTTEMP: + case EMS_VALUE_IBASettings_DISPLAY_BURNERTEMP: + case EMS_VALUE_IBASettings_DISPLAY_WWTEMP: + case EMS_VALUE_IBASettings_DISPLAY_FUNCMODE: + case EMS_VALUE_IBASettings_DISPLAY_TIME: + case EMS_VALUE_IBASettings_DISPLAY_DATE: + case EMS_VALUE_IBASettings_DISPLAY_SMOKETEMP: + myDebug_P(PSTR("Setting display to %d"), ds); + EMS_TxTelegram.dataValue = ds; + break; + default: + return; // invalid value } EMS_TxTelegram.action = EMS_TX_TELEGRAM_WRITE; diff --git a/src/ems.h b/src/ems.h index 88434ead8..abfe45f01 100644 --- a/src/ems.h +++ b/src/ems.h @@ -424,21 +424,21 @@ typedef struct { // Thermostat data typedef struct { - uint8_t device_id; // the device ID of the thermostat - uint8_t device_flags; // thermostat model flags - const char * device_desc_p; - uint8_t product_id; - char version[10]; - char datetime[25]; // HH:MM:SS DD/MM/YYYY - bool write_supported; + uint8_t device_id; // the device ID of the thermostat + uint8_t device_flags; // thermostat model flags + const char * device_desc_p; + uint8_t product_id; + char version[10]; + char datetime[25]; // HH:MM:SS DD/MM/YYYY + bool write_supported; // Installation parameters (tested on RC30) - uint8_t ibaMainDisplay; // 00, display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 burner temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp - uint8_t ibaLanguage; // 01, language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian - uint8_t ibaCalIntTemperature; // 02, offset int. temperature sensor, by * 0.1 Kelvin - int16_t ibaMinExtTemperature; // 05, min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 (actually a int8_t, coded as int16_t to benefit from negative value rendering) - uint8_t ibaBuildingType; // 06, building type: 0 = light, 1 = medium, 2 = heavy - uint8_t ibaClockOffset; // 12, offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s + uint8_t ibaMainDisplay; // 00, display on Thermostat: 0 int. temp, 1 int. setpoint, 2 ext. temp., 3 burner temp., 4 ww temp, 5 functioning mode, 6 time, 7 data, 9 smoke temp + uint8_t ibaLanguage; // 01, language on Thermostat: 0 german, 1 dutch, 2 french, 3 italian + uint8_t ibaCalIntTemperature; // 02, offset int. temperature sensor, by * 0.1 Kelvin + int16_t ibaMinExtTemperature; // 05, min ext temp for heating curve, in deg., 0xF6=-10, 0x0 = 0, 0xFF=-1 (actually a int8_t, coded as int16_t to benefit from negative value rendering) + uint8_t ibaBuildingType; // 06, building type: 0 = light, 1 = medium, 2 = heavy + uint8_t ibaClockOffset; // 12, offset (in sec) to clock, 0xff = -1 s, 0x02 = 2 s _EMS_Thermostat_HC hc[EMS_THERMOSTAT_MAXHC]; // array for the 4 heating circuits } _EMS_Thermostat; diff --git a/src/ems_devices.h b/src/ems_devices.h index cf8151cc0..907ec4abd 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -53,13 +53,13 @@ #define EMS_OFFSET_UBASetPoints_flowtemp 0 // flow temp // Installation settings -#define EMS_TYPE_IBASettingsMessage 0xA5 // installation settings -#define EMS_OFFSET_IBASettings_Display 0 // display -#define EMS_OFFSET_IBASettings_Language 1 // language -#define EMS_OFFSET_IBASettings_MinExtTemp 5 // min. ext. temperature -#define EMS_OFFSET_IBASettings_Building 6 // building -#define EMS_OFFSET_IBASettings_CalIntTemp 2 // cal. int. temperature -#define EMS_OFFSET_IBASettings_ClockOffset 12 // clock offset +#define EMS_TYPE_IBASettingsMessage 0xA5 // installation settings +#define EMS_OFFSET_IBASettings_Display 0 // display +#define EMS_OFFSET_IBASettings_Language 1 // language +#define EMS_OFFSET_IBASettings_MinExtTemp 5 // min. ext. temperature +#define EMS_OFFSET_IBASettings_Building 6 // building +#define EMS_OFFSET_IBASettings_CalIntTemp 2 // cal. int. temperature +#define EMS_OFFSET_IBASettings_ClockOffset 12 // clock offset #define EMS_VALUE_IBASettings_LANG_GERMAN 0 #define EMS_VALUE_IBASettings_LANG_DUTCH 1 diff --git a/src/version.h b/src/version.h index 1086d0eba..84bf4b23e 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b57" +#define APP_VERSION "1.9.5b58" From ff1b45fd8b8bc3083daa4f0c19e6f4300c7b3960 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 9 Apr 2020 09:52:14 +0200 Subject: [PATCH 186/195] add new RC20 thermostat (messages 0xAD, 0xAE) --- src/ems.cpp | 43 ++++++++++++++++++++++++++++++++++++++++++- src/ems.h | 1 + src/ems_devices.h | 9 ++++++++- 3 files changed, 51 insertions(+), 2 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 656c765d1..5492bd984 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1196,7 +1196,7 @@ void _process_RC20StatusMessage3(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 EMS_Thermostat.hc[hc].active = true; - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, 0, 7); // day/night MSB 7th bit is day + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, 1, 1); // day/night 1th bit is day _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, 2); // is * 2, force as single byte _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, 3); // is * 10 } @@ -1466,6 +1466,18 @@ void _process_RC10Set(_EMS_RxTelegram * EMS_RxTelegram) { // mode not implemented yet } +/** + * type 0xAD - for reading the mode from the new RC20 thermostat (0x17) + * received only after requested + */ +void _process_RC20NSet(_EMS_RxTelegram * EMS_RxTelegram) { + uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 + EMS_Thermostat.hc[hc].active = true; + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RC20NSet_mode); // note, fixed for HC1 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].daytemp, EMS_OFFSET_RC20NSet_temp_day); // is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].nighttemp, EMS_OFFSET_RC20NSet_temp_night); // is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].heatingtype, EMS_OFFSET_RC20NSet_heatingtype); // byte 0 bit floor heating = 3 +} /** * type 0xA8 - for reading the mode from the RC20 thermostat (0x17) * received only after requested @@ -2060,6 +2072,10 @@ void ems_getThermostatValues() { ems_doReadCommand(EMS_TYPE_RC20StatusMessage, device_id); // to get the temps ems_doReadCommand(EMS_TYPE_RC20Set, device_id); // to get the mode break; + case EMS_DEVICE_FLAG_RC20N: + ems_doReadCommand(EMS_TYPE_RC20StatusMessage3, device_id); // to get the temps + ems_doReadCommand(EMS_TYPE_RC20NSet, device_id); // to get the mode + break; case EMS_DEVICE_FLAG_RC30: ems_doReadCommand(EMS_TYPE_RC30StatusMessage, device_id); // to get the temps ems_doReadCommand(EMS_TYPE_RC30Set, device_id); // to get the mode @@ -2450,6 +2466,24 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } + else if (model == EMS_DEVICE_FLAG_RC20N) { + EMS_TxTelegram.type = EMS_TYPE_RC20NSet; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage3; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + switch (temptype) { + case EMS_THERMOSTAT_MODE_NIGHT: // change the night temp + EMS_TxTelegram.offset = EMS_OFFSET_RC20NSet_temp_night; + break; + case EMS_THERMOSTAT_MODE_DAY: // change the day temp + EMS_TxTelegram.offset = EMS_OFFSET_RC20NSet_temp_day; + break; + default: + case EMS_THERMOSTAT_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code + EMS_TxTelegram.offset = (EMS_Thermostat.hc[hc - 1].mode_type == 0) ? EMS_OFFSET_RC20NSet_temp_night : EMS_OFFSET_RC20NSet_temp_day; + break; + } + } + else if (model == EMS_DEVICE_FLAG_RC30) { EMS_TxTelegram.type = EMS_TYPE_RC30Set; EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; @@ -2743,6 +2777,12 @@ void ems_setThermostatMode(_EMS_THERMOSTAT_MODE mode, uint8_t hc) { EMS_TxTelegram.type_validate = EMS_TYPE_RC20Set; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; + } else if (model == EMS_DEVICE_FLAG_RC20N) { + EMS_TxTelegram.type = EMS_TYPE_RC20NSet; + EMS_TxTelegram.offset = EMS_OFFSET_RC20NSet_mode; + EMS_TxTelegram.type_validate = EMS_TYPE_RC20NSet; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage3; + } else if (model == EMS_DEVICE_FLAG_RC30) { EMS_TxTelegram.type = EMS_TYPE_RC30Set; EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_mode; @@ -3199,6 +3239,7 @@ const _EMS_Type EMS_Types[] = { // RC20 and RC20RF {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20Set, "RC20Set", _process_RC20Set}, + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20NSet, "RC20Set", _process_RC20NSet}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20StatusMessage, "RC20StatusMessage", _process_RC20StatusMessage}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20StatusMessage2, "RC20StatusMessage2", _process_RC20StatusMessage2}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20StatusMessage3, "RC20StatusMessage3", _process_RC20StatusMessage3}, diff --git a/src/ems.h b/src/ems.h index abfe45f01..823ddd47c 100644 --- a/src/ems.h +++ b/src/ems.h @@ -61,6 +61,7 @@ enum EMS_DEVICE_FLAG_TYPES : uint8_t { EMS_DEVICE_FLAG_RC35 = 6, EMS_DEVICE_FLAG_RC100 = 7, EMS_DEVICE_FLAG_RC300 = 8, + EMS_DEVICE_FLAG_RC20N = 9, EMS_DEVICE_FLAG_JUNKERS1 = 31, // use 0x65 for HC EMS_DEVICE_FLAG_JUNKERS2 = 32, // use 0x79 for HC, older models EMS_DEVICE_FLAG_JUNKERS = (1 << 6), // 6th bit set if its junkers HT3 diff --git a/src/ems_devices.h b/src/ems_devices.h index 907ec4abd..4609b99af 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -142,6 +142,13 @@ #define EMS_TYPE_RC20StatusMessage2 0xAD #define EMS_TYPE_RC20StatusMessage3 0xAE +#define EMS_TYPE_RC20NSet 0xAD +#define EMS_OFFSET_RC20NStatusMessage_setpoint 2 // setpoint temp in AE +#define EMS_OFFSET_RC20NStatusMessage_curr 3 // current temp in AE +#define EMS_OFFSET_RC20NSet_temp_day 2 // position of thermostat setpoint temperature for day time +#define EMS_OFFSET_RC20NSet_temp_night 1 // position of thermostat setpoint temperature for night time +#define EMS_OFFSET_RC20NSet_mode 3 // position mode +#define EMS_OFFSET_RC20NSet_heatingtype 0 #define EMS_TYPE_RC20Set 0xA8 // for setting values like temp and mode #define EMS_OFFSET_RC20Set_mode 23 // position of thermostat mode @@ -328,7 +335,7 @@ static const _EMS_Device EMS_Devices[] = { // Sieger {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 - {113, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES72", EMS_DEVICE_FLAG_RC20}, // 0x17 + {113, EMS_DEVICE_TYPE_THERMOSTAT, "RC20/Sieger ES72", EMS_DEVICE_FLAG_RC20N}, // 0x17 // Junkers - all 0x10 {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS1}, // 0x10 From 32e3e64b4afa78d5dbf4c76e3e5943102e1be1be Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 9 Apr 2020 09:56:09 +0200 Subject: [PATCH 187/195] add bin-file --- EMS-ESP-1_9_5b58-d1_mini.bin | Bin 0 -> 629568 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 EMS-ESP-1_9_5b58-d1_mini.bin diff --git a/EMS-ESP-1_9_5b58-d1_mini.bin b/EMS-ESP-1_9_5b58-d1_mini.bin new file mode 100644 index 0000000000000000000000000000000000000000..920896efbfc1d879486cadd61cd1881acd797da8 GIT binary patch literal 629568 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

aJI=4U$9OwAW@sdGM<@_L>jae2<{6wMV` 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 z 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%0As^w}!c)uQ62lIV}))+v#{thPgqURlN;KH6tz zp4hl^d+eMC!}ljC-q2;k8{e?%ceC3uh^6q22%yR!uA~hZ4YV{2h*P^vSP=^moG6 z&1mWFyf%!iGi~@bm1zMOn7TsGZ@e6 zVyv5g1m>}gUTL`jmF5pGYcbv2(Ze*(L27l_h0# z@`@-UsLjLUr7)O6@(v8anNk@NP^FT?Ub4}eWsJV!@tGuBCnO&$1F~lPz-?NyEUx>F zT~f2sKIFb#<-rWZF9ETic6dE zR|F10bs$U7#(DAYDn#=YCXLSyLuL)y_Q!*VrKTi>y=$}f*amkM7p>ea3lS}z%!d9= z{FEbeWRXU1ux4rRN|mNrjD2vhSx#_ki+;OF`K&F!UghKT2%GKfr=MJ=lUuF7(Nue3 zbhvvu$_E-4H1}94A&rH#ynqTY(zdRO#zI0GKqw>{Nc0?YW#k zrco@wY6viJzokxkc9nTZ@+t{CTfMGLR`>+oMIPE)Q$Iv_Ov!2Jlss+J;?2?RPYW+y z4a(2$p7LN_n&i(HmdSV=Vc?m_z*W3Wc#lwGlw&3faO%MhOR2w)*Nql&^T_;Y$2H`O zDXSFUpRQ8OQ%)-b8%X9>B`|Itko4ho38Xs8{Kkm#ja+G%?S9&IkE8K*=1;F3m}){T zs#RzZAs?@s=(YbeX#`q1+LGUy>`u~=dG|LHLizMize>sLVz$XzVfN%&K3pF?01dI` z>AP= z**`XKmY`<5J)VU6cw%F*(I|G($i7b(=}AuBR`dO~0#fW8oC4bJXqSe&AkjR(d!$wf zCUeAR<^#@f>d=hgYVFd;8{RVaFs~@KbkVig=XQaXe1vIQGp4d?{47bMLpmyy?q;=A z%lb=%4QnII%&WmvExDAv$1b+rl2d%Qk)!(?k(zfI#{2-FthY}r-K@PYXg9zq7H_uK zYc+nBL1;VfdWPcgkqD5S{57N0@e~5UZx#*%x#H@YS2 zWkQTi{b&>3MduM{Lg(*I23|?As#>omzZnDNVdIFt?*&~)I|K&5ciX%gw#@4!&>!75 zgX5FSG4ri9mE8gwEJczs;p53a|L8%tC*Ros{U|I$m{`n{b-cFF#n<2DiQ5;bP<4{?{KGlY}+KrIFyj*8Jt zI((jOvYu(L0((_(;P*idR0@i-#txi?SXLbZgpR2w23@xOK;G(jnuMt`=9#Hkf z3JoQOId;faucr2@svrC^n_%n9p2yBK8E1(_zDL%&DaTytMv(P+8@ZN%N}#3mcigf2+ZNj!xMHpx zkIA0&qgA??n-c-#sG(dknc)uvRIfC=_acDk1s*BvJ}?WCo|OE`ASj5WfCO1GZ=kFP z96%8Y^7F|?D1v)~8VG`LI?gZ*jIyAd_r?wW3m9I~^aXVQ{H)_M14XeXh|h`Bj?nUU zWy%p|dA1PBTj39c90<5H1tJt$$!UJ~c0SF{lw!k*iqkD@K;L=~l0dNA2t_D?o@i`2OUR#zAh7?6~j zD+MG)q#Cf^bENn`7z3yUWM_7`3P{>F*m4H}>;cOV_z+MWt~4XNFZNy(f5G)aSgpK=SWgv@Y*)}ox?a=$P5X;z?>1QnkJ+HuZM(^rX)x(SISkF}w-sMN zoM8SS7C$619if+C^1bj66po7Cp$ZX>?S)>N7SV(B8VHeR&=t?Ou4d05U7!XMOu_Tm zX1~+@_8j5aPKRk;BFO3K9ZIjZtaMl_{=GryTLWS#P?1nX(36usI-P*|5gAPOp0Z!i zXr*O2MT6a!?yoDj5_$n2dQQ&T%|Y1!t~rvKA}k23N3ZEkMOq0S%8BW^f#)|OsMfio z16m}3ghzL4`tArVSWPz|5`jmVJJ3JEz%r1;{xX}Q7un*lpXBg{^JCUCZlbNFoEiwky_HKO+HJFmx z9o5~BUm+f77UqbdF7MDnI>TPa`mTe(T3NSaZzI_)stp*aEcRH1z9&TY)MpPe+Kx1U z0Q_F4U>}GO23TbE4^ob4`7~H%k3f@I1hz0zvMD3u6$iLnm=^|liq3HqdqtoE&>z1& z0=VxNnVjISD{AG)Lx`kH>^5$MPD~j&)st)Xi+JB4>FE9{DAgL)1q`U60kW7=Z0tdR z|287hEKnW%%SUevp`({*hJR>)C7-u+MiqX~#Q3Un7bp6_g+_l&3mn&Yv#@hjjRC3~ zazJa)uQ=aW$Y#C;$W5>T?v~G7yMIPK594#K$<6PI*5lZ854=HZcKhErlx(F!%$<%YEERD+vKX zt=Ou56fo`-$&(fx@NFo1)EM!2rjN6!LeYmI%asi>Qt(Pn5f5-~$b)0wg5`6~ea!g* zOIMOOUyq(nrp2DA3}gD6NygZNFC(rH4kPPqsjDE!9(?iM;UN{`r@k{8FmQ;m2D7DJ zl(Zd^)e7omlK@5`G!%=a`b7j~;9DJkBNU(4U?Nwvf)A$8kg*exQZ`#kPJ(L!e+#he z9vBWQ2+|XI6NiR3fW+K|uc5!^PM0sjf)2|0VAYLkn#Q1J=RUM$Y7y5^f-gm|@f7Ni zgkYzaE+FdpRIk4X*!q@lXJ6LHOw5K88R@&Err!w;#@8@+S zNPlF{bJ*CX;>!=(ZM)^zL)-r<&1i_$H@D#pWH69`R1ZdA1)nQ0q^A+{kLH|}dU`G(hB4zDAC?G2|~ z|5t<$?cdtcX*yDw0g-$I^~5-HbC{RxFSHA?@29B*k7}7eNB$F!n+*)z^&_ml60Edx zRs4WjSEaN_62P|Ui(gN2ZlKlhQlyN(HjWTl(#N(DgCi^rVYT0GaOE*Q-XuZP^)1*d!2urC;%DK@=|;Q%4<}M^Xm1)+*y_ zMRsN4_{FpjcGl?khCfB+DCrQpj%d6W%mUi`1}G#vWv_qKs?aE%x}=u53&t&*W>*vo zV`MSh*#YB&3$cJ&tE@`#<@;BzS#qPy7`Y@jDEy=PK}+vUOYI!R0RgHRHzKO_9>+b@ zQJ%gdbwfBsSZc5_=XQ3FSTDX&4q-+7b+ar><2*z{zJdU!tjh%gF0r$2iiOi?mPv4P z8reDO0))hMKRT6ySITW`^gKioT`*ET*b7Z(U}7tY5`?=~<4!$yimSPCne4SWGuRH+ z=!>}GI=!JaH3#hNqiWW2dq-L=7fge$8cHIFk+1iOUZPp@x=U2@c_cfE3s2PLI3~gD z&|kLa+bii~A7$O-vE$cxs#1w1xO9QAby3;lATmUSabrFGeO1XMf1=6Gakx!(SjPXQ zX1@$xIaO7Vj#L?H=Hp0)q>qb})uG#I8YMOL!JjUE#gE5ca?Git3&x;QKZ5&GOh`1% zS%)7%-?QX+WM7?v;&)8g#uZv|8pl?|TNxX5MZ~2;N>r{tyN%AE4-06L+8{&&wCgWX zPxCG9VfVXQ_k^eBRslqQaIz6ucF;;(9y`#cf_mVRvD&7-H%-)3XtNQC} zuCs+V-$>G(XTcXXl{20BhDU~wHXaiHW_d|xptoaI%r>F_pItSD8|6lxa^0HD!}FNYHe!>r!WHHR&pSTZ6M@P$jAL?m3RQKn-AM#pkkee*uXzSV1X8PW1I!yN#*4{J|)rGH(jNNz> zbc>IGe=d_ggHJy{rBbq=mM1>a(sf|(EzGeB%d2oM&?v6r z5Ls7InqXQnDW$SEU_t0MnDOWqgc+glXU8{<^Qy5ZDUqX)h*t2)O2fo9`rEEjP~s_q zk0}7x$|I2*{3s#`@~vT%ff&{Lrcgm8PJ`$d5g?1U>S2ks9^r_!9Hl?N78R{J_>Ht4 zjR!1C8o?7HApDYm62OMjrvdiVtGRlwBCBT6=GMv{qxkL+mg*;A0P?@5@6V}kE!pV9i`2o`4Gl;>w; zl;&k-0Ow|AKtN|?ROMu51pfz6|JUAyJv?CMJ2?=7KRb|wKRtj0J3U|qbF^>EaJ0wv z{Q(dshn6%a2Rz>ofHE^^$ucwaAa@TOy><>%g|ibJ_}(%yK-Z2BsL6K^sQI!J>SMj6 zrv#9tr$8P!IAB+Q0>u9dIJ~T19#9iF+Gp}7bk8Di-Pq>=dd8s{Md`>+NIEl4AY3`5 z!A=j^D+>Vog8tgkh$#>D8FW9+MSylR6X3z#vm_B<;FJhpQfdG&5i|hi3H$)_Xg~L# zu~PF$|JP>n%QRJHymRYyOmI{L|B`cDq6e{%T0KuGuIj{#vV-AT6a7+c`U6Pgr2*SiA| z_02k;e4Nb7BNjq3rF!xl%0*4|$vP|5a$o1jP(I8v*=**GaM$~~Qi5=MlUK{JRq_}nWWu$n8;m09xz|{&?YL>n zWAe!fW5j#1<+gUt@PxYC`C`+Icc{!vSd`zA!a2(nQJiXX2RF;mU>~Ch;U1!_PXnqY zL{+IwJCQ*j6S_+m%1>_TD!R#20Sg(jKzP}gOXxK4ZbJCTrl*h~x|%$2S7CO(cL4Wt zyKn^9wXo}F3{=KXZsdYnY#azVRFDNU}2>i7iS-8f3fa5BC+ z=RgD3fc$X3-PxB@Dub4a%S;A!e9aU*BU@2H=H5Sfi#hkm>&{uz&h>nd3!Ti8@IR}8 z{#gx#YT;q@1Day4IzPd{+Z?Cwe{5_40>`&Jy6;`i9j(uNC2-$I(+C;TJbFA%brbh% zlA?CQcKC&V+N=W&|CV#aiKrMdfmzh)`n+}F%jnrz3-BvZ^muC^l+ba~FGIQp!p?m? zLK2ox@ykTyxR8Hw+r`bA&$+ZZ)^B3d*x65LW)O`gxW09EhTIIcGZLVTh@3J+Y^`yB znYSVXe*;lrfgpusWVR!m{o8+;Nr8Lww2={?cyMV9C9UUV`aAL<}#lC-VoW{ zUby^I)9u?4Ha~T_xQ^+iAs904!rIX&5;E?>>gd5NmVU6A{yXJ@;55yg8~!v5=kDwY zuQr%~s}FRk{SRF|sSVvzza>slY`B$u38T+w3|7n5F{bTGvM6LfN{epTW=Ehs0S9_~ zt#0qP*0^H=;3evN3hExDpkNp9D4f@p?aFl`^7_-eqcU}BVl7uxjB-xEZLK5@>Ia4H z->r2wV1N#{I~=DlQjMgH@8qA=+VX5Bl$$s2qwbLbXts$W{TO%|aiVy~%*}M_AN>+h z9S^hiT~c@4wVg?>8)KcPfQ&}_KIysNGo)>Hg}IICTGQsXwB&z?Q#>!9(0rNS)odCJ zBl{~0u9?cKz0qL1vZJVtC@QT=4f#lU3aN%A7_r@tmR56Tv-L#grb&&y3@x+JW3WJ@ zp*ySGqp9qKJV&!i@A_4e{3{Q!`iT?9`J;EFg%?6#5clL8ztT6?J?XMO=CKNwELd@x49M52 zV-#jWuloX7h_E5N$c;A^f*%QWOwK;0t_tcM*Z*1%(N(V^#}zjT;bz!8#(vsoDR9|w zUI<6J(q~dGLppxK*Bvfd{`CA)e-9*#W{1~l^bsNQ zRRfg7noh8@Nf->pUg!Gbk$erq5W{N+LQekUPb1?G8HDK^))jc(sxsQb;yvjig``AIApBm?E$>}0lNteCom z0mph)+@ef8!Ju5GZOusemMUW{Ly?Q=w{XXziE1=@K`Y??l~0SnjRYhU-4;CHo%MJW z!XU)g7E^^IXICLi@+XYJAG4%^XC(Um8MgN4qO`IDtepbKyB7~{6uQD3d9kf;y+hR+ zx}U)j1ANbshwfa{$|tTM`YhFZ_#2c)>`<#&*l-&sV4e>R8GNG)z3r!t!8oGgbrb5L zn7B)ENu#-K;cWk!cSfku^9kLlma$}QoaUB?t6(FZh{MNR&_8&odYBAs$%6ttSEsdM z=047lOfQatS)0GVIyB-<+8IMcj98g65vMmy07Y>I!=!Wuj)8JQYm(=3S?U8F)`o&) z)gA(mZ7k!WpVSJ5+{EQwhMXXQc1eX0@cJS^-)Z8y+paQq21zZC@>mVEb4|bS5If3y zbH~QptRIaU{=(cvs<-Q#3$+9p|vu{_%se0Z->1R}XO0f6Z|3G%p%mb}tti0io#}Aj1Zugs$GG)R_r)tDX!qMR_h($g?@v!96^*9e<~6*IRAYUt z2!ay=XTLXrjmYnFQC-qEm9cXO<}fBWZ}u=(A=&|G-g$S`OtLm>;Sx4BOzoM8+22sK z(iL!L>->8tjAy>E%+BODMcmrd4yN*1UZm}2pdF-HYC({2kWt&}_SLEoEbWRA9({XF zw2iy)f0h4X{2R8Vc6G(%U;72y&BPiHu4*D3hCxZLDhBwx8~i%s zknJ^*eED^5rjoeFl5p1`vt5>t%}a~L@U}8!*oyhlC48n36iY}zYs!_NM1OTX=dju) zf9g)Oyz#o{!kFV2KS0p{~8vh-jF-7xzoQtSrLQuuL|LrM{yUFf2-sZ+W;siiVkebkByJMH*Pvr#zSHg*?)3#F&YXPh z_O4{O2iY&F>UT9i6R28C4I*evf>JJ)&m*yf*s(%f*rzAIL)N~YFm|20Ai4G!v?Kk! zd2>W`!Zr#}<9x1Z!Fk#WzW7JC9SC+(ELN8~jOVViXx)=EaBm4N>J$||v~8mZQ7bV| z-%~P^NZ2712~%RXu#JyGiiNzcn-4Ou1-oLSXdTy}tJS@f^ACJUk83b8ysSS;TsBM> z*HY1Q>xu6XGpS2NEo90@SKX0`O9a6Na_e9aymiGI4_#yC-822@zA|LcsPUQ7lI`u) zGjlRGi#TGCQO)%vgtu*$f*(6(jA3mry5QmMN~A;XtwA z0oIi^pxS4UCk?=FVj8vOYL*fwKPOBXhV#5L+jC^aKdO)#7}?F-vfN9BbcZ7|ukaNS z*8emxo}H}w8Z4XaZV2_dHn4iq^Gp(Bt zf~q)vrMz2-@j5sz3no*r^T#@bLfb{)O1VJ%s=*gwT(NBVa~XWbhACJ`{yLwJP*QqB z2{NSj&tGK+y|3DD1Y#W`#7~QWTRE2rbTY>c`qIx_a2+%=u~0#=oqh7C=A26=VRf#5 zk8#Okp!2s^msWL=ZA6o|>c!rKAg@rltmf*T9)pypyw-ir?XyNG|HT|L96d6#5ft4o z1z>ZWr04&S49owL@jK@KCjQ%VmL3cQaKqyqhBd(sP```w|TL(*5a;#TT@Mx=F zg|HHhwTdbt)C%fCl*0q9E=#+C`ogT;NvsCWV_-vcE82#X#qsA$aD5I7!r1q`b-R)I zdfVHfOfuxdKAc7k~1o8;%%CslLA;F%AHs9ft!&P1TOB`ISTD0m&ZJ4yHRsKta4Y@8TxphH z^k?E2%b}qvMNWu_k3FqH$_@;oyIS@;DUKH>u>e!KGCei9;h9u4UCg2V3^#3!R;u(- z)#t0oOw|n|RlxMZcN^iEEG6vNWa~4z`T};1Ps}mqH5-v^H2PFD#il6P7=5mF0S-hL zcAlNp9G%QyViizFHwv+~#epBt*qx8^U<}U`0+6F1J@t&~%*xp$KF9&i*s|Vx|ANgz z{CJO(HJ_)4%Fvua2g3bZ^4XS)2eKg(#7^= zE!vjF>Cs+h{?eJd$SL&>$%ykb1Ckrbquty(`|ZI&_6{&0f{A!|NNC1IUkP;Hzwuxr zw&46!@VqYCDVPI+k88ndXf}`_hRpTmBYrN6=M>Lz#obIKuH$b@W>5Jm8~fmxTzBp% z?sKsenIQ>!$$`}PYn>(khprbeeNj2@eXKgQehRxY6*x7vI@o>;q(`l8sY&^4wiO6% zwu+$60f6hPj(&zBLq~|56YEYXgzj|J(K6Wi3y;1~aseqmXbk793XAhnCY@N3QmfU5Y;;oye`JF7WId)|MT+F_^paCIQ zm`>_vaJ_|wys>j;GUWUD0klgIA0|bRR|n}KGynn&keM_T zJt9)ry4Vld1SjVp6o7fJBs|r1mk2{e{6;B7fg%K!Oe|{xICquf5956R>L)aDpDC1Y zH-?i~BV5hUg-|#)NMP`|2eQVt2&VC{d|It{xv&1VT+v5ed7( z>A(?33d;~z?pM%jif15eu#UBlTt1PHP?F@hXr0$GDRAgBk=jAy=*B}jVUgo*3U2hp zB((#qWQT!-i=PeyM;R3!wV+I$Q->P6f%XVc*<}lRP2X+iI2-^NdXLh*f)7K{-s#Nl zz(shq*AwTj;^0ClyZ!(9+_c56$TL4=?wS@ELuXaYqp3};{aPj>?vG7=O6#=EQOtoI z^lQMqdf6Lz&R3K3J>7w`sK4Nb5Qq0Sjdrv6Qp6#(oL~n77T_o9P@5T_8++(hmOmITnc#5HR651^}X?8Jf(olfDjU ziqe5iG|e!RBtZ@d6_POs6tYaluKY}UT{_2Wdvp$hz%GA{Y_J6B1k5018#IieX=gj> z>wvyd*(jQE-3Z7bp#~~jAIkz|gSl#YG|SzuSXbU0#g#GYG9gl4;UHASY%hY(vfyAt#3dbVQP#PB`zmsj zED8CPgTb1BE?TKRP@#3fXR6nl?J%hoLi(M$VyS%!xpPcEflO#Yh9+=4NVIt_i@x_s zG~9FA`;v+81r~}f?|h2+yW>;@>hv@!=VXO1JM`ymSV967y2PZ*q*gq!0=9Eo$l2`hC38rFHr#TRu-k5pcj&NNGa zyTGF3DkmrqKWsSA36=QLi>W47e7^JpC@VSV3DaQRN+Re#PGX~YokvHAF(8ph8-5%< zD1LTi0JJ?B6s)|d@rRm4K|n1d;auH@^YacKvf*`2`5|-euRLgff{1%El9p3ZmcTOk z6?Uvpb{gV6YYmPy`v72YL9sicuyV-Ve(L~u+S~2V_-wUR4#^@Harh06vKH5HLcwnC zwFSS13AkKH;1xtb4TYb!@A-Tu&oN?2g>B~CMfirBIQ81K7V14|iCDV+)0yftu46yVNlbGU z2pnBm1V>kRiC&eCzdVZTG5$Ree0A58em<7xQFI^hm6_aX%Ly?9fj$8A`c}d>>Hl<_KqF97kFmzs|`-R?`jKLeQQ?pzXz&guwuN1bMoR{ zZ$o9+t3eJnQd>4Pe`wnYEx10?1e_Ks;MDbLUB1!kqIDJ>wu}x;`He-?#9uh{4fxrz zKk{&mLI5dSAM6t9k)cVSBPDJd2)P=5t@TGAPwK9!@~Qa{tU|<>oZBxb-4??ELkcfq zdezaSU_2Z11rBzPJ4x)jbm3>MY0#TR_ueA*-~R2_Yb6VB-D&#aky;h7Tk+Qqqp^vU zs%jN%b>9GRpHz0AdkOU0btam&l}nq6Lc+zZ(HuD|!xLO$)#AMu(X9$n=(n$JC<>iF zwWaH6;W6@2+X!*)Hvv5FXiwUZ&St>2bi)SWU^{sRIAX3*LG0C;C{m?h5QJ8?1)^-8 zt>ItkE={q61dTnmcE6_II0T!S1n}geC8bd*c$B8z_A1p5G)aK82@{+_;lZY4go_aWH^8{vnIR&wr3 zgw&=M<{}veH-t*+9E&&sdN((nV=Fx{Lum94xeVcBuggWc>DaLi z)7-&(x7*sjnvUar3{w1_ruUBTm8S^N$*_6T+xYH5-aW%;)9anw)OkMDp(DCM&j=I{ znSHbuzY{tOn?F1}kj;Y+3lKmoRB!T};?nqlc^js`6pv6rXmby}3#A64_-yKj_ZQ{> z9RNw^1nr^trY2CA%^->+t7vjW2a*J46OSMGKiCvs|Ex3quNxL{35V%FB!gL0h|697 z^pFOZKm);h27|AH?j8@m3hIO!K;TVBlX|p)S_SpM4WW{<(R2SzqZ_#iRzV#wLukZS zL7jZ;T?HZCP(BQ#Q@d#vQ)q1x#d}ntf4$Z}%?2;oZfpB$6LRR1?e?bkj_;M{^YA6x zJ&o@kQZ&2{~FgPsxeEZO?;cP`mPf_S2Nuw;V($dYXu^M52tcYW0}b;AV+ zN-JEoQCNwETUbB5OLF1X1=+iBqbR3VMS$_Ca9H;Rc4~0IH>8{*QDI1eG zh=G6BKyN;Y!AIy}T#GLp6{zJV%`afKqdTi(_>4TfuhpCOSERWenxvPyKN5^Yt2QiF z*&xGV;tfO%xIm{#S8pi{x!Dv_=v}FUeD^Aa46qLxUD1Ck^^xC=bN4PF!Ko7z-1%7n z_UbGUuu?<{z^$WooIs0$b`fk{z9)Ez7h>$_Mw>tyK+8y3ydpt_T#Vb`!)^vyKC)2W83DuV09 z0!xJZS5cwHA%6>^yPUfe+Z;QA*nfpmpZ8ms;YGk9>XO^BWq$uB>xnHa=u?0 z;8UG{DynniG%!U@BY9X$0RU_17x^Q>ZKPKrdbz{6T_^Hd()zNt;~0*5rwNk}UGWHI-B=F6qC9Jwu>4qw=e%@jvE= zQ~MQME#leR6nnz;p}sYw5OjQb7E4|a=%;<1@665wt0Lb>6<>@sI`slO`FJ~k!@BjW zsBV*oWz5s!%QpH&a_UuQ0Ecz!S5e){SIsp#@pv)yY^)1}b?B6n+ja5uu|}jHLZu#) z1aMfNeifM`Ks=^uG(^6WNWDJigQ0rl)=+)Qmlm(;r8@j*nSIH|J(|yR39mw5`>UD) z{m>9Lv!F*1r)$aYc!(rYlQ12v;KDOiB$bRY5u&g-SwKDzzhEG>fRYKErLrx5yGC%3zOdM@*_pJJu7A3ewqUUOO)GmP+Fx;#q zcP~-h*Rz}l`Xo>^Nt%ei%f{T(xH`Askv{^c7s45RB(lMbY=KG+z_cEt13=w0dj)$TVtM-v!#IN0gsW8JEGB%b~gSA&R zlyl>*S{<9=}Y*)(}wtL8SyEuaD=bc^15r&S=Y~ zJ|>*Fe7;$4V*rWJ_AsBZ#q9N;wPE}@|GKNwL*7LE(X*PV0ska6ZrZvy<;`VR^UK1P zSfku?5xlsz6brRrJljZKtO_A5{o?y( zkor6RUSH%CnXNj4cZpr>5qk(SXx%Zsv2*3id;D@JB;wY^$fC(ox?|wZK_yw^Gft^e zHnOFvB=Q*?TsPG8$@hQ9=C#22BFkS!$W^z+yC_+FKXQC&@b@DAo@hzetN;%1_q*_x zG2`3+eMJA=Q*7pfrCiK6VT$IlABpvAe3dj0%jrT@02EU9mmV2|gq~w2GD`Fd)e-Zw z#gT0>`MkNk(akO3JnM~Wbx%MH!9OPAKPF;8G0?l7ux5|a!PfuKxPNF|pT_lvwtJKg zLGTZ~`-k53>0R%)jUKfN+y6uB{-Je<)`_4tyeX}Uv8Qp>I}@UQB>#u)7_+YzxU>GH z;vWO9E{F-Hi!^JhrrP{D-?lIhrCT>C4liRHq=xCbC8!A1DT1CS_DypCEXUO8m>2jB z#IldXOhTn1E-lZeC#ljhJ z(X{YvOK^6@e!}X`sxR{afe&7{=gCL%rQdeY6HqYZk-?s{2q8{7b;UP6JqbTq>N6@M zvc`PDrt0rIyC=T?Q8*)5qxG(j%zGLN`pJgyJLGVZc_i$1dV5+C#0Cim@K4hrVp&ef zSk)5ekGpbc6DLyf4sMWIPlM-4b6`4md%MnNH|y4*W<9j_weD`*t<-lm>!Y}*wP@To zpD01$^P-zoooxopr0t3=EOz`rn-4US?}-M!NJj@2i?9tX3mjRWK@wkNgI?^RJ5Vl9 zCgNSGMnq+heqiWT3GrFuO0dd(H`jhKkY_OAz;FBJ88Ss9AV!Ger_tOh$=-HgN{}5> z!Zr0>LIy~Bfc#tdB*SCzJ((oP9!}^6=o^?fWqU~1eGY;e#0=jHcKbfXDc|==eG1Uu z@U0wSF>g%~9%3dC+^ou-je7N%w4~R_?jwpCBS{#`3Z!l3IRnsil0Vvv)1;t>s4HZfRwnd@07NWqzA|o zAM6BV8mZ-KvZoE=YKKIKUE^-vMZY zHacePJg5TZ3D&h6bq-MaZ)^9GG#Hl?-lmfP44VpG|2EnkcJDqt-9M6HnBZG;ucKYw z6n}q<3Jm##(3#H}bbUux>e#32B;Nbe7y~8*(#iw$suuZcT<6WHIyU0Alqex*8;Uzp zHx+!Wcxl*I1nxO>Uf#J<$ow~{MJ+n-f|>yr)jKE7jf6b6+!gvIHBIR)h`GWIM*Iyl z-PG&f8+)TRdmV1~_Ot)1NcGjm)7wwScwSEeugBxpxbNYbbk;=L=vn`lwuaSQ4}df1JWuigeC zy_cBb{r&y1b+9-4ralIG=5LVXD~+S4k1p@`IxK%BuD%lE?&i(qZ==cIZZ3LR{wrIg z*BM2xsJ`6}ag^NypdH@c0zC+~!?jzW2RX$1xHM2r z?`l7UlLM9XuJ%K?Jy1nMm!%(`>rp!2$oJ|f*tqto#!&1iIK)0c6}tPo8Nn?S3>xvx z2=?$RO|LxNg-yRWU1(aGO3?@6#-Q(!Wmj*vw!fwSA)~#ueV-gHKH{p2{lJBNmzB4I zocc)qLEW42(}KfR@BPLmJyZy3&Jp0FLt(o<3XX1Scf(TH#~6IfBPf<|u;U2nI5;lh z_H7cc`gy1V0Pyv+^GQE&SYRm5flM5XFY;44YNGImMo>gJk1@K`CM+b)B$-8T+juYp zi|@F^(}ng%E)PK&-I6mCMRYHted zZ1T)qT=rcQS7%;r#^@O4?hBDdL5VsB7yya_q`VLb3Xuw#i2$kKuL4$fH0g$|y3Vc4 zA<9>|`W&ykLhszOa})a6m31(H>2mXReF3?H7t2Yq_#T0tZ@$hT@QOoz&P%q8E{w}3Xyv!);qy+EEgiR)Yk7M=9hPJ4SCnifKBnbqpT4b5>9%OU z{+Pt?p49KhNuub`*U04`-Z6L6Lw8Pfyt9SdnYmJ`lIfb+3NTq+;u$-Q#vA=ePp3Ss z)8kgX)HXg;zXXNg@9X4HWobF)4O1w*co9Fj+3}qWh-)}a6%@#G-C!z5}XxjS-o7mteE^2Lis==vxhlT z(lMLj?-(DN?)s{;y0dARlrx|xn#@$b>@erH+qDlj9HRqyFT|+3ixEktmP~QHNiK1h zP~r}W#FRMVcdjNYVvItMzi6d1C0}LYai8kYqe^e%BrVtJY(z8l6d}@%xJu%bmc{AO zx)~(N_;>5|IxKa~Z}Kj*v-tfJ{*J~P7=L*Egn)swP$cx^cRcR33-cIzJT?ySi|Kwr z&8K5M!)C=1Zvk?xffl6%SbxozZrwL;u9#7 zf9Xep!mB8pZYS@6^qhDk%^!tCBwh@C&;Kh3GrGz80|FxZcu9!DyjY2~5i5@O_NV_K zqi!L60#C>hWe2ZMc=kY6En}MrTRa64 zxu!$g0Ce6h)CHl=iAMk#7U+AN9u%@8c3vy$H(^Rdr0rU}wrg$S+sdRE6EEDE*(&CQSWjzEFO{2mRX2DgM+2+G zX(Vb7*vSY?9F{16M$9jZ9)633AsKFB-zBn262%{TYSOuzp^Qxe0M*B)+v2!Zd4 zk?)fJh(brCsJ9_2FXVt+SC$?|ENHHiQ*{zMb1H-sEJ2rGYw9pzwREF8I^6INNBFId zu;b~~n>I!K1^8Fm6zP|I!{+@!M(KnLcITwrAL?4^bzS4+*DFWsCXe;%g>Utj({BCq zL^~J92u!CT#0dQTnC@D1#`vqiSDBZ7mukKI_~wmoy8Ll7PS~-jw5EJE;`Uxtg-+6L zpq)}rj*EA|P}+;Y0U?ThyDNMO{_oKbtu+8MW7 zPK;dm-A+RMk;{=vUB-v(5#tOR?@6L{$9#*ZwT7bp&S8XC0XRX>qK2(@&%>qNNs|1g z@62u}Z1rH;0BM7M-1U<)aHp6YwnK*+w7NiUm&oLZduee;timDMzdqihW`UDz^rW}t9LedXTL`XVy=^I%DQZ@cbILRT0T(`L-9>2h^PCFpC=+)2K^aN zM)AWCvwpfsJ-`@=Wq}`9MnQV&ar&Osn~rE5f8Nns#^~roT9)#CPqX3}&$4%;w?SN( z7hiD33=6I=yWX_)1J_IPWy^lNcntjxAS~7nA-bq`-&NYNwbuAk(G;7arQMK+>J zw?5@{bIN7*rfDo!{y`D05Gv`@M5T*ILHPUiUEcs^*;_tCMpQ)KtJe|1E@EUdc@*MQ z=bw6L8TS!0zKNO+rt}f27L48G#$BYw9+@GX6p2TXS{RlJ=7EO=aEupYyT@EbUMI&t|f z^s-JpQ>8&)Q{cEHhXy~MBIM!6zoXbIU>0fmF5*la_Oi*hVpN1$d;*@n8Sv?>XK-YTGdRL$R%^rrNa= z(}xHf{EkbyY3m<<``tq<|L?b>C_iRSMQkhnO*Q`G*HixE)Eh{hpK^X!L;TP93!)2h z7UKj#e(r zcAz-Q(4dISgdwMI8JH!A*mV!?p`Ri8^Na06Z+VGM2C`B|vF)c{@!O5x%E+w0Vd=v8 zxXIZh$!*N)Pf0vmzv(0rZIiz7RtQ9Lci~>7B zCAGz$!u^UFkY1mv0VK`<5;ycf+`q7*);ab9ndxkM-#@uWKUKm#M|$QYu9&v&`BCr8 z=r=FuLZZcyiwpcFpf~Hyw$AgT+^>fxBL2P%ralT`r8tXWq|8ivu}Gf1qILZBjAFMb zRH|1iv!+7AiDLzn0?nvtaB(z@?F!AQow0r#?b(*e7~rS}NZL6G#lP=u(%NmPi!|7_ zWDA*H@kPU!zYPFmO3Lg_J>HdPwp7t@pf~^z01Zf1j`vkv{K6~BC^IO7a@{}#q?{^Q z;PIpjM5A#JJLz^_nGYz>k@rpXMK?VpPlQSk#M~sBHP{H_; z@OU3G+F`Ex=*AhrA3oeO;~*S~I&|lM?(>Y0bLe$!wrp4TT}bDU{%?xIsjA!b*j}B7 zASD3*>DKRy%u1X4A-A&GSD$^V+}h$OLYn;DM;O|?PK0|C$hq-|?8q&V>o}wc!X7fD1hzIs5VkoWC9t(Ag0Np2qy)A$ML>N4JIoPDbFO2x zT#3aD!b+%Q!v0`@qQV8NNvJWKdM;$NFfQ5^O5pj6<>&EdB4q0tj*o zQH)^8sTQK9pY?j`_0t>%%FY4okR61gWyj{CBfFp-DZ87;H&~*#V;(N&dvV__eR+%- z_A{OGout#zAsZ-u2e3o@5Q-K*Gs}+ngLeJmA3VU@EpT)Uh(T*`6qjj&<$F*rT8d zr88suQ5v49#*PZW#)hq@x;VBJnCe2p5KX#u+=uN@a|DpqbOG!tJJuTNyAM2QF@_Di zZ$rNU`1{9o&+Jl&l)iQ9()GXm(}y3vi<;_OZ}UH-r&Do!`G5bP|M+pk zww(>zy__aYktf@xnHdCn>8L2ZP&YgGhO)0uQ zn(trcepaM*H<5qq{n2}C3TrrS_vgbVy0~q=%OCi^rz_vhf~wtgH`^`2<%wv?kLX@c z(Z$C7qUmIsAG}l7(F`2BW-u!TBe#9x#$|L(M^UOiNwFXDQDyZJDpK!31s|d!dBoZt z{}BhE_)XcX+OkLHoSD4qHHCa~-x`zX`~Y_ZFR4Uxfx;eEHdp*-HXqzeA=5Ze8dk&YKe;= zdnh*do^T{TRXf9Yb}?4^Kb_M)ni+LtiDf zHX;ekgPEMV@wuFAE9Mf8jOz_(8pYT&QymnWJUruZa=Gl*Jea=7n zgYd8=`7%rA%>MtBrERKSFZ@wQWj|u>lLPym?9!6KKI%|6PK2(G%tzwrw|~l$#rn5^ zE!b326Dat$9sTy-^mnHw`uDWl@k|=cZ(Yt$mifVF82kU!ia+(-=VZ;HZyCTc{%wff zXo9j(s{%L!oMU*OQXKfcrW5`YWm%=!05f1nPbVq=%usRx>Yu1Fk)*rc z#7-;U1A;{qvmcl_qfDp1bm+MWXsh(V<0s7Z&e3-&^?EA07LorAGMaMn|NjeO{g<%h z0RSJ12mk;80000AWOZ|JB~Gw)ys>R-@s=&M0WdHa=Z)HfAQN|2 zQZO*6oPRM;{|j1(7Yieoe{oO+|9sg000MzQTG)D-|Klpaz!Y%6z*0;6^amX*&5TUJ zz?A=;1;+jloX`r)YnK1Wf84|W%a0OX916|S&eanPOa=9ywjvl9r0e1ssiCcd$-g*N z!+*KZ`~!=_`|nvhBhP=j>XHA|@V|9fgRR*c*_r+0{^^3}{o7mA%utZ+=-~3NR!!-D z`7nZk!7p?bA8~k?8UM>q_n!_J%zqfdRa5$B|MwQB1&ZeWv-9pjZvSUp(mgj!3{4FU z|3VtW!Jrx%|C^g)LMAg95<`MPOM}UR{kLv@W}Y)JFgY+dJ>(h`6hsCu`h&@c#drh! z5V90C5H5-cNOU#!cc9<~By=AHf)I8iM_d**lBA@9M~nqyO+!HZr{%eEnJQ$dDnd9G zkX~Y?Iz0Ln6=%2G%g)|dJI{dZG^r#PLh7`LxTqz8uir!qg~G)!s0`6>2__{+ zmLSX#Z-=if?cBA}7Y7vT$UeUI>cOD3c5%P{O_{sy^|-#u_UI3d%!(XGK@QR&Z0BSI*fb|0zc^64=rAm`+gJL zMfWhs-39a0%uO!cmGF}#OcXlrOcGvi^c`}D z>iT73*00G}Y&r3#xnP6CU}oa>)_kmkq!<9;idq#I1}#cBJ*I`Q$^qSBPZ%RU3;+f8 z29rWsWl^nDupT?ISh;Wp07AQVMS`?Z4cj^qu3zX*28gH^m>n5y66jxqM0+3%gA(vn#Mm0pNGR4{)fjO z@_7{9JPFt2wJpsEDBjPdT3$+W%!f=twi%EK2;q){ewXRfHva*1__N@P`3dy$W%(7; z_(xyL_47>aG-#K27c5}`1^2&x@ZUT7*8?CtH%5Bld<5uwOD74$mbd#yH zcNn!*2x*+3LWi}-t=k&JsZdGbf*6F?MAzg9bgZS`!uhW;+q5T38S}V{MGN zB~5wrspMBvhsftXSifpSUY1jb2oXe%wULXVV+9%T$JbJapbjwN11WMGLv_a4AJ_7~ zhB@Mh?2L9zVN=YSK1hYebG~_v3B;8Iy~yy2;YW>;rigDHJkr|3%9O-;5=6=)CNV*< z7Lj3wD$!)hibuI7Nm~aB%d;n6geiqTq*&76kHGhPq`W2*RM9#}ePNt`j2o54wK*6}r6*J;Qw=^DKOU{R64?%L!_qSjdS$6g*;c zUNShTgaS2Io~pM}d|)A)y#5eVNW1psGrDW6ejudl8_Bq}kPx@v&jnQ*GrQ2HG7;_O z)+TXd)IxToby>QS-+aG?JMpbkMwBSwGp=czEbF)pv(NdAuw#LcFhN=~FhiVTaj%m5 z^r5Cxkl5OvCVP#z8|1ivZ?VCzp>wZT#hWi!G(wi6@--R<>9H#ey@Do5W>Y`R&@>=B z7cIk4NCm{+lLi8^0>aP6{0|>J#d>q~Xlb2{g%NQvJJ@fcJj3OvEmwnP(U3|pD%the zpt{ByQ8<6H`Z5CeYUj?avoWvJCXlq<0K(yW*1)Umg=){Yvd8c|tB%9y@-I8Nd&Kk2 z^*Heti6>-_GN&J)>2{{>9upA{;Wl;B~4rZ8XwS#ttMMH z@ae`6afpp;o|D*!ZCWpo6V(AV)mylkvIXrHqmT%H=UjSNbz(<4l9068qAq*kvJu_* z(REIX>z+j}%N4L=!W!_0p*mohgezV24#7eG{4`@U0l#DrHflCx~>LOVRxz@&rrqBer@?qBY(t*kncS>nr?V9e^aeni@A4E+J~_F@XtvWek2=3ZO=)w@|w!V z(emM14x2JWlym`8goCD=CCIsQLDI{Q?;ozCVke9a@MBfs5TQiOheMCQY#gq)+5$jr zJubJ)-_099vx>XkjjoQHZr`{VGyTF$A1}XnM&KY_{=x=CR+{0H#y0EmFiEo~ld&X} zs_KzWHU`+RWnPmDSvhj$=t1DHd6%yP0Jb{~3$6m4S7Dm3CwgS>a$bsBR(9%x7bJc5 z4({0(D2SV5_?%6|yuGJKNNm`n2>0?jHX^v6B7`#r`%YrG$C*2+aMViB$3&6WSVoeg zz*3nimaPN9FKXQD*MKl(1e_oW$ztWt?giUpK_ro8Jd)W6C;AMm9{~!0Rtzp%B4Q$u-zd4dYmrJQ5@P zJ+c}jd3INHE%zSe!VhrX5y__~%jYJZm}_f;R?nT-kG{e)@A)~u7EOEDct0+`wpE;N z>y-M@*(~DOYpY)A%DCG8uC~!XJA_uHpChio>kqjP)!6(fqZtA%iH9zUE@NW?d{JfA zwTUNlSdvs&*CfyI2g&ieErfPPa#J)X5sc^6Q9U3@yT7DiGivuKXOq=o(C_ag0|+2M z(Wb$8)1cpK<@IW~4R!bSa3^YC_a*fBUw%d;z0(}NVUm3dR>2C7aA=k-mREhrXk(J}ccc zH`sgB^m6~fnq!B*B!|-7sNOTzOo6bv?|1_Arew$MYM!k!+a$qNl z_LtW_WDfAQ`||je3%Vo0&h1;fu=twm&Hwr=4^Y{eBX`{?Sfc*v0P!=hl#ZQfbV324 zS!`2^4Xrv#&$?-nJJFPpa6(v+VpGx8pl#rSqvyNl3{Hj_9+SbIe#mOi-=7mE}Eem2Zn=xkT(6urpbguyH2M6tL&TY#d-k%xi?qgp39@mE+;WU)3+JvC`)@>wmKZ$TUz@m4PXP$Hc?=UyQ}HtTX+#AG65B2CXsTNGl$)k3zO5mDW+&K(Bu`1Lf* zzfWLbK#zUB%~11I+`<}8OZNH!*z$n^xp85EJ=nr#b*OOQt#k8K-2*)%q^jN0gjb^}*-hIxJ zh!H^bZ+8RQBzGM#4i+qal*DH>wp7h9J-si;#lqJCaMu_;(CMxCi37s#Cs?UraY^g* z-rqQ5s>waj{2A0{&LqQ%FI$_uz3XE?HYicDZP^14uO`**f1G^cpx<$$(X`hY z5gtzLZT~!<=xw^jz&t=_9c0S{{ko0d!S4ZA(FK7Z^e!^4qvZR{dvKjbumDcmZ=hy}1Un;=KBw$2-!!}fS z;$4b{k}ey7sGXB+TI0DDJuKhhz23|J+_ON*e_m0wX?O6xT(ik;yQer(J$A^Su5bu2 z`B4%Wn%yr_lu5JHX}8+fX0>FqYCrWyCy{Z{>rF=qX=+RWLER*iCM+!kQ?v>x zGQ!v_{NaUUti~?Pf_Y&~p)VdQzO(=fmC_4oYaJ-AYURKSEn+eM_i0$Q_d;3N(u~G#);W>yKQcCy6{%s|X- zE$?^qw6wabzO(ggd+#)~R(JF*;YQC)u!l?Bhiu|WMhYu~f;kM&TlyeMy1Ll`T+NT< zgA#!iMLqM^!}~y8&4AdJl&3E(e~lWUY7p$z7w$X?f}y;bRShq%JNwEm2_yuiP>g`e z7s`FcZzCuQkV(n2KDRdb(YB=Qex@-jH7tz}mAu%6#K0V3QEk)=V!N1mkp7qfW%MgE z-puRuqWNysjso9MAl?RF_5B2LP8eKi!z65CDCcW~m=;0qvPMVgK=};?a8xV6A3^da zWP?8d;slQO%U!I$-lVJ5OO(J7L*6~QxF%tV^@b#1UNY64VwWcz5}q0O#H}HDUdh6W zx%9X8mmDMx!NaA{JRlSrsLC%6hN5B1P}(lu|w^Aaf8oqN&bGx2>KGYuoR=@r$m2!2%{A8M8S zTY)pQ(p;czhWM4nblWaiNq=MJ?`|QO1F%aHa2*`s^CD@`VMCZcRxW;*E`CPokAbHE zj=*UuR7C^=@QNNF3EhsKL1@Cl5vdN}TZUkqy}%l13%Ug?}UR9uba~@W?b;H$DNlAqz&nQOiqj+i;%T@Q?=Ijfm4X%ZD>D@Zj|g= z)ayejN|&z<{QNF>A+|eClGm#G@Xr?QNf~SolO)P}G4oGjvU;r&dSA&oz=}Z^Wx$qW z7uU7p;Ux!0`N%f(ZX2g=zg_EJYm1=HiiWx(TftoVr(1AzI4n6uYIxGdDDLO2+#+b+ zv4$`lhkoFS&0|r7+>xDsrbD0VAtOC|sYH*T67&1U3{?Sw4R4{@D)|ws$eC_J6&n|Q`4b#(Ake&x9TThPv#$QgI(kzA?;ja4w2x_9`Vszeq{mCWic(fi{L z2j=?o=TCv#?srSanH`NSp~7t13yBd@(BG`y{yq(&(q`xP8KIq)voS85yt>cFosTJv z;*FT7iT?doOs19t#h1=4z6O}*-z5bLjwN6S?0Jbl&s22mn4r=W0WX523T}M~@-#IQ z)*O{p`%AEfBz!Fjt}!CYTWt!V*#y@QUgsK@ndkh5s7cA#NZ%;!=ytraN;aAov_dmC z#f`3biKh3Uwu7LmvY?#0S#xEdB%PXBIlxN}8Fy?uPW3{QC9~daX`)|E35)3|W5u_4%OM@^K9_2*iwQL!ieWRzi!6gbBMr5uNEp z*1ww7UK0N?ux4$FMDVr*vjU($_VC>Y_DIRk_4>UMOeNWHb;J!t%n7ip9&$p3Is_DX z)5Fx}we5R51Y_T@`pcepuza$p&H>C)lsu?Ppi&blghgdV;RXtjs30Lw*I&MeCc}Nu zboAy7@RcA_kx^Hcqa)DW5KF_1JCR;-nNK)9Ni&tlA2(ghPn-mitx0T*#hW)@Br%|V z@GNJAQ1Yab9!vZ9V_SX83*3au*J-|ipi}e>P9P(X_z-83i&|7hG-6wZr>ZQ@!e!Hp zB`HOp2-ZV6kM}vlrq6s7_2JrQ$Ux>nXL_MA^B`4+G^hyCtWTicq3m|%>1jQ2Hj#Q1 zeK;ZXu&pV(105#YKJkAny!B-Upij1gU*V}L4;}=EMJ8BYkda#TFI2c6T+PZtAn`T_ zXbXMZQoR1|__bum-t_LIdlT{bIraXI;J3=qBXR#I;-hgyIG^7Y8I@CqIjiKGC;oI~ zQ7OcuP&qOtV=ClR0tHD|_l`EnJa{t?$E>GI8d)v-x|k5snR~ALH^-bEQc7^@8~C4T z;y=oPas~GW1&BDYcB}iHIHciagxQMeVA8Bs=+MZ#+O#Ls(`E`UwaGlc%K5SZ7q@(^a*6x z9U{T6j%)A29GuN)tU6eI&d0c@X`jtdR&_wywB34tb(!e5{DgP~35oPavN=^P%^MDE za}{p7-`)i(qUgJswOhwMVuXwkR8R?B zZ}w0xtt}X73i(_YO%c^jvFU#KO)L^<3eE1w04+e$zYgOE7~d_*mFESMwd7d>kPQYi8QvFRLHOa@*z37bf=t9}h z6`VC2r_3Yy6fW=8&$&uN2x)W)u@BC_k&|e^i?dU{;`X@QA05S6 zO$?`3hEeY6AQWaT$Ah?=xl6Sy%!%=&Mhkwy!NC%`49qB9S?*#e2Sa!wzBhoX-jeD( z4n%q1Xuwm-z#e)EI8|1-rT@*ehzXN4 zu%Mw1&YvB-;rwr)x4g}lJh$>kZw$W&Ks!7|N6{q+mSN+suRD}S&Fj<9}+8Oh)Ji2PM-QQCJkAMje zA(7ud1?N!GLh_~td;H$4mGSw<5*)`03}$cdXfe72{rVewds(kTzxSuG5sm$ILXd2F zW>@J8ZNagU9!^NVl2JQ%=3a!D-$gbk&)j$=v#_hZKNRek1tqr3((FBt?rd~eE{sZi z7}mN>M>}*L%x>8B-G*%vli@wm^7vmCA;sW0%>VtOqPU^^@*fR(v!>h;4qQ%+ly~fv zIwDat@;R%U+3h!YyZkI2 z))U%NJ&oA$0BCQZesl!%*E%J)$;t-xiY4ZuSN?X-W7dqvY@W{)kO$2mqv!aKi}`Nn zQI?&q`_b}1Fj30TQZd;CtEOM|9%1*9CFaWRL;%&8$!BN!Qx!qJ=dFZ&GVjL` zyY|rMBmQ7h4}+HukQwgMAK_PSa^%fL5yaBxRH4ZPYzxFvC;@8Ygd z$Hih-d+E5PD>97aL$3;K;i?td69~vJX!_HS=ea}>+UnH>`I#<%{V3+;kQtWDf2%yH zNJ;ms8OK>lXh*djUgx|WzHIuKni;X&yL^*OlITN6bjq;QU*dgj_L^p4pe(A#T&Oe|N)`9rG1!^J%vZ@CqLj2mEjipoM^LEfDB}mu}LDawQgX7zBql*ufr#Z*=2dVkep6CuY6!C7!3WrIUk$DpRY50SQq{$|{1~ zBlpF}g2uqGB?J#e`4ZAF;QX7pBOY{u5mFh0ko3KU^s6~r4NhdMit$xglRUgToZyc7 zfT}}gT7v;AGecG+$#6=MyGeC}_8mlllpVywz(_?R4#2-d#4ZjU=v{?4B{ardmJDJC z%tEt7fnh{=S>sH1IPTdrUBLvku~k1w!&i@*Nd&6w8lR2KF_YsfAaUJsxHZ`h>gJm| zizQKO&m`h(QOo4Q8z3nk2 zw<`K4yYKRwZJEAh@A94zy2~zD4Bu#es{7Uj)_3B6llaSj%MMM4j#&+^k`@zt#8ari^{ zr<-$~u}5Y@+<0KXWUS|apKgfZ4Odrha?DGKPWjX%dbX>QttH$t6h?EIJQLkd^`DaN2jbCnd9A zHWcxKTHng|3hj%qh+D(eo0*Hw7 zl?CG)hnEETI%4gLbnSE9_&I&UTEyxTZDsUi4o;8&tqI(pxB<}R?uABoS25}Xw z_2{ef7~`V&9QMWkbFA#$1gIqAn}>F~xe`_M#)h~;f*W^UFg#M93qDW48umt{>-IK3bzNxS9jP1Fm(zJChU5VewR^+578TwqM^A4E!a$R&4KUW)PSIo))T42F9X0ZR3?Q zI2EeVEAykBQptJ!q`S?G4t53@CA1^SYrkN<$sfiOG~^^X0+W*_xvQAD;9VDh3F4=L z_7vjuH0c9_TLxG%tMAPj%`dGVIz+^NjyN)EcBb;MRL@+!!lh7RJG{h_Uqzx`RH%0W zd0?Z!N0g)FgH?ojIaPkSZWXihk>ToX7l$sJmkHnTT<3_t21_noZkO5q?QdzD*B&W9 z+kdrc0F@9%IQe3<|L9HYjoQxJmEF#r%M@Rb$Aw4Y4yoM0qqBjbw9i7ix>T?{9~hwd zC+|JBW?x~!FTif|4O`$y1jw6U6NYkiLjO5<%_D!0OB;XYH;CB3Y+I+?v7l`7s_KiZ zByg!%mtSqE#GW|Bpj;^c6HgF?(>r9IF=zU-zI@m$$ptzoa@YvmVagj_A>#|R42a{o>e zmMn;{*Qfy9tJ73XO44u_5qNDcb{UWpi&*pTrQ@SfpmQ)QK0&BM1}yy4qx}KnFf1IV zi;lvDVi==f!RYf)pyXRhaU+nerdzEV<&ypvS1sef+8QCH!_;Y7V6*h$m%uz!Eu zvv<_6u#3C?gX729hs~Teur?`&2z*ySGoR~Z|NCr=m*}NR0Ot*K%XK1t3oj=rO->#v=$@5TN zO>SkFLdX*ih*|iXFlvK;lw~NM8e*aEj0`HyZ1)9zX#34*I3;_ih|vQu;(2r(x3K(b{7PcP_NQ9XW~egLTn^b48h5Pa=cprwbVEd9lzM!F!ST=gV#|<6vJ- z>Biqs5o-3nC+sx%JN@$eJRCW9@N`8Hl&`D54*8~$h9tQ=zAM!uY&y%cI;zWm>%!b~ zS+~i=&vn&!v*L1JF4{DKnP+;PD2h(g?x7X@krUrM+kg1ctaH{{{IRFm^k+GJU68G* zSLl*$yt%&dnLGQWCU1F3z~}M8+#Y_)hy1~H8p({m+!84}Syp@;PtKhb$-kzsCSL1%6 zRJEK-0QIcv?&>tz4TbSiuY(HWx7^WOnYw%1EI|(gUiW@;VCdxtP)C4p#Xb9d-=@C5 ze|OwPTYG3>tu@UM1(tFD8%eD#k{h-7unewULX0RUul}J{QIr~L{ z3w@mkcU&1!ut@V7)NCNpmY{fDq5uc7n@8Kq;}A)gbu-Xj3JJ^`T8J%G8KsI@M&K%A z)BIEV^AzHleZ;=&2s=eT^SCcCl0@6?rb>#ud4lawiBMu&Iv{h#ywe?1$3E{H|6mqG zx{{U1uSF;3=6EIa3GwCr8@PiCO3HWwB7dr%UY5>Vilz#BNsM2ycKNiChr)WzT?rJu zp)dg8Xiv)G&+8M}d__XQ(Se}RcMxf-n=DQR6g@3f&|s0IQmE`Ogk~yiYH4&??@QY5 zO%g)@C0)YFGdSJ1BTxp>TXQl9=(h^WfJYY9t4;em_pAH*Z4B$H&!bf1OrMk`d_fJP zR8edwTG{Wk@0_D?esJGM8pVPBFcXW959;wWDR07gtYRMs{-^*jIr_#?i@9~Mz^)3< zOWN|O5F2xKjGfJuNNc0bdk$V%)$!YV(J<1&5h+_X+{JY&>a)?Erm3*Z>}FBQ!2fXZ zPZ~a?)roj^H)~c_QZ#3msR-$sFwIX=h@0qRtj6Y*T7IFW#blm zXS}U;pWBU7THXk9{X=e;={&?Bh4ve-;Z`e*N*TW~M~gw#*{5W_GY$XVlt#4X{815@ zJP*|ojp_*Xl9VFnY>AF}J~ub`?Mf>RD04CzZ@mlOAM8+j%KB%72RS*UjIrNHOlKTO>XT&RxDs2P-;$(^wI`NF3CE@Zq5b8E|%z_|DrU zKYlwx_@yK-FT({fmRx2viCTy8c!o$$qXvfw?KgUGEkw%ReUHmY_@&&koF+`Jc~YmYW=?^$4YMr-orD(0pE| zkd90eCfV#wT6yC9jNmP{wym31j!fMK#B2MG%d5O`Nb7D1%vaq{A6S`8)g#)v*Uq+h ziS@sZ**mfhdMAi&yk{x>#ht?RxtP^{@t-ENM)s8M9I(qFms8%1re%OgGrMo7JyNQl z4%?B!^D0#fNjmVjK(HX#R$sXogO9lAm+bicdag?a7X>Mt&%M_ZP{XO^*bs_GYFOvc zK~W2fzED#O3RDKNxwX*@CWjGJyj5Jce9QY+jIDs%`rd`U5MQDB{wt%zGKBx(#nT?aoc)~p%d#IwP{-UV zAys$QdEfKrTiV5`;&OMh>3LkgK&TD`6}Wq6{3+=YRP#J0l6}2gdI6>z>HKsGy=+-1 zFqeY$&@$AG6<^x~Yd`{a7OEx%WS&|av!^y_`M+J?HjXlC7(r$GDhDnFk1?J~}^I^05JA7_aBrz(on z9wxAPQaqo9Mrq=wvEQcJGzVNH?A{J^!P(qjUQo zfC-@g?S!|Lb6V)_8PdqnLq&?#51V~MC6{5~%hu$_ezN`8(e;J^fgRdw*B|{DK#1%V zF@cRs=*+#^5|3%-BE+Ma_D@5-4cmNJOZumx zRSH?r?*#C)Erk$PQl5H#{xU1glI`2>!fMY`ZsD6NwH-j&iVb*##@gp;P|gs1qA;U; zPG-fP$D#KSGP-v8l|_2$+tR*Al%adXav}>IB-RLBgZnVDI<$9TF8FINn!}pVERf$irV+% zq+i!Mp`KeNQy}PhYkI@?_oGO^1Yb|&eg6*mG08;w4OMyvV7|gy6;Pyh=02_IlkiF{ zkJWJuimR1XC`JX*RS@OuzPn9@hKT$vF=pU!6bJK<#Guy_okNIH0t{DP>T&Q08ddew z0Hrh9kUP<14U%$x|9h{QMC#bV8um%*cbK@|Zu?hn+wCI_+igi_XdBmw6`IyE8X*;w zx=+DW4$oQ6V2hisVntN1#VA5HpW9uz-qgdm&PmSq#70ygf zr{3vrk(q}j<#~6-Vb$eFeHNxo;M-5giVG|)9+ystW%oj3Aw@z7{|!kcbw3h9hdf>F zD>)3jBj6p_xM=@fOUh@f&V@jwq8B;rrtQ=}6B!FZ4PGRblr>2gnG9TUGX z$x_K!c`Zd&lzUkQvFq@g&>p@F43z-Xh*py87KUOeUni{+QIaKOm;8lkG0XyzDmWDB zZyIDv&~{_Kpzqf!3P`Oxsb)(K)v z6}Gq0e-!fmrg<-I;WuY<$-3_V)(57NG$K?q=VE>~|K2`ym}SR{qTOH&ZPgMrSQN9R z*06tQw9oJF`(sZk&aP`i$eGt1o_+B%VU@bI%g?+#<%f2Uvd6qIWr{i_?O2sV8!zLB zj#N(=1$E2_dN?ytm>)u#(D3e0ztPg3V6ICMGKH4EA5gHCPcNE+#mCn|R$5JtlSH4d zkj~jXB5CV|e~rJM?uFdu8nb6Rn;9){4^h@G&yP6yx`C=7(MJmA;MOzYg?ZaPD^#pk&D{xB(EATnJ%w5uN0^GoUxnVlPp8Ku*?EA?>L1$D|>-- zS&7bdFq&HIbpxJDLyWgu`XqM4V^5Y#AZI*ky8hby0GMa~K8h3!NB9DnD;$EOE{g}B zhAkI#7#-bWir<_eCiweNKcT?Z{1NUc=0J^eLxi%hugE4=953SUtfetTpf+Br>1kx- z{QF$T7eev}S?ifR$&|jysL*5aV~1EfwXDT`1>o8)-+WW1bzZa5VRNev7O-21@>2WJ zZgh1D5Rg{+H6%<_Ry_ROI)yF$NsT^gu=tefVu^XC!(p_fpucg+YcB$bRGi*@mCYIg z;9=&lSR=W1;ri#=?z7XLRUz+9V0ui<|y8JmGbiq)*6q)ao&j#udhADEJ56yId^eZaCY+} z>a^u=D%Dxq5Q;^FX6s9bPni1sIj;o+&_24p!?vlvRXs@$Eq~56lV$~@=9X&lV?iRg z+VAfj-c0VLThW_X_9-wUd1kA7x6857PkjpOJC1=dO-x*JeYFEEhs8mU#*pZ;Ois_C zqQr-tVEe*AZ{=4YhgX)j#Z$Q78}XmgEyxd%)Ji4B7bWI5lt8qEoocX)Q1rWkWzOku zbeM&n9L$iee5_e$jw!6E@&#Qyk0M*mzR$qz1-j4Hy`w8FeY?1z_j?;ji8E~xdza(FGHx~a7Tg>Ql$Ks)pd35 z?zT00(=8Da9)Jm+(|6~HBiWE*Zdr%%*~R^jxl_hces1<9(4~DQOAr^g=wQPGhzTmV z;u1?o!#eVT6G?dsi(XvO#}e%$JYT-@X0UperZIgDJ=}BO5K1T(BdL20WHWknkFs>kM5cnI1xzPDee_KRPkgR(0Lu8JHWuOuEK@H_o0>cIcD%^> ze95cVbFnAWDs!DZgT1k*Tuzmuq{Y-$-7AzR!_FRUz5F7qye!=n;>BLWoaweHhCJ)C zVf&#Nw=kG!?_H_P-MSwp2Low0!_5Bt##UEPbJ%Z!FLi7IIGGVGOcfsePA|oBx%29< z>VnfsJGLn`oDd`~)~Xj~Q+laqLaJb!i50B25A{u&WMF1bF9zU$`3>F`AlBUoiClJ2 z&&cLuhmRaPmw!*Fy&0NFOt>Wy(@4?xi9f~0xzL$m0b_)FdleB#!-qYDmxO$&qdfnf zy7Y8QrQU(16X#V_JGhe`->}}KvWx`XE*jEB2Z`DLTpGRap~j8x)C`X~zVx(j}wGlx485JYC+s>6%LJSK<5K+`w~ltdy%;tA{)IM_IrisT0? z@AxKmxq$CRkU~z`#n^Y%B>8-=%639~k24_&&!Swp^<675E9k~!oS|D^!1&ox*C|gl zMp-5q1`+A2{Ed%}{Le^i))LRwBHKaM1Lu&l&bzq*+bI^<(zME#scfn`W zgZxW2MuBjD!#L_wC9`lBM=gyF3*dW!K{;>DgY1Eyy2h0LDE(3=#Xsjnu(T-eHlKI> zAA%8x{dBvNGhxv6e1ULTw|S@2EP@J*1?(1h@Rnj+@6Gq&w+tIUZT zn;N|f678g(d8(YQwazNY3h?T@&~p}OIle8RIjQ5>Ym+`Sr^^CW)NG9b!km}jJRmW# z5+}&`_}pD80iu}*xLiwtdHpnZHs?q5)o)hLtrd~a(Z*lQ6>{(20jZk93o4lxiloqS z)1VPcN;1P3)<@k^XN10TlCt-B+H4~|wM-SLrmVY<4m@(DJfVM`f=>t%VR>*N4E@|o zPDN{9^G;DL!23R?7zjXz-Kw0EPPA6C|J>JYs5t764(2}j00n@W zV#1r(4N=?>)J3TN;*Zt4n)SyhhZq-2Hc`60S^Oi*34RYu&*ZB76e8!>i zO;iW$t#J5b%|JzF_E-5|N-jsx$!KZ-!G3w=>|t@*H-wChhgVtdJCGz+>)dxbYcXT^ zYz0)eH8w31G;YdU*9N~FYJQ=PCuAO5O;DMCFT`U1Ow!S&eaaCJi^v}VYE1!`F+l%7 zdJfbtjo{C-CBGsen-_Ijk|4YA7dI$Z2>_731Aaq}>JI7A73Ovee_03l*0D{tc?g9x zUNl=Xs2!zGi4^)nq`;P>6(WyTXGR_>q1{^&zu@u{N~g)Mq>ee_w4a?N)izTDt_GqB zF~*8Yz8z$sVHj-fn6GrWJB67?xV_4ujIWWtrUA6+oF9Sp*5d9Qo(nK=X-*s|)?`!tMK!$X zCL~Z*up2Rrpf6lBb^0-+W64KfJfewy*53%M@@~h`R2oBfCg7gqry!Zy9n`%0X=G#IkJ2-(#Xs$>P%C&>aYB zIZQC5`oY_BZS-GL%k3_wdUnP5blKCb6QB@f&3kOF&oI;&gsQp%QsZ% zhfP?+oHs_mi1zE=&-c!)(g3NMLBhXtvum$ouVV}4I5h>tm%a@!`=u6P3n71kbHgpm z6WuSITxFkSVa8VE#;!Jj(j5lwQSrSwwapfex8+RRD?$P1IUQ4?9iW{9mJS1_XYMv% z^9xm7!XDRjz|oqRXYpccPG?!b*VW}}O@?{>d?);w0p6>mXaszo5~dY;#v~Afc&>fKlXuj?>FY&r*8!5lKi2G)k>%F#d=BO z>NPYFCPMRz=c1Q~$CgQ^oVXs9Sb_0V zCEsT^A^Mz2OgO7#;Lr6)fwc7Q*ez^5LG0=#v}ht9q|?PbZ$F-5kM+mApVvORYoSs2 zSZE3f1P(VBz=`M?%s7@gtGYD+Mhw$Vmec6;59duv!XD!_4N^@V%u9+Z*3Z5~=+mf@ z&@y&oa1=`3c;_U1vK1bXlkr%7c?J9hNpA@G11K=wh-&EZU~k`Cp`aon{fi9;#~Y=T zsQ82s>Nse3XkpzdQYjEp$Hv{4qh-c#FDZB!grss`3u}zo<@7(5Edcqr$oh*Cx_=QJ zEhp>CBOo@VaI!HA|9&?t*cu+ra4ZlS5#AFdLq>(%@FT~>gr8aL?U-~H0Ei8Ub6k^h zvh|heXai57j=-S7gfRZDA~dg9-AswZRm8xnVbH!vAgKSAb;EDwBloLZL;m+grU7H* zBTXs}C(oABi!~1K&XzR46yLL{*TrN2nQxn8Zrt=IA$iKjC*O>2lnv;;@o6gpM?MkMtTxbuTzzpw2haLm7Qd)%g9tPhu2 z(^`-pZR$gH1j>^DfIe`f05n!jsZUFf!+*1&)ko`F$R`f>#IDq%#8pHQ<3#S~ zX8dc;>jMl?O;~I`&8l#~{$%IPS(@6S!-+4QLe(_xA$J?Ga{HfB&N3(tW=q3J2oAw5 zNC*%d0wK5shYTJV+!@>@3>JbWSa5d>4ueB*39d81puqwRJ_7`2@AuWM-Fs{AuibvC z`qbN1eg2%T{`s`n#l;16T5pZ+AF|%oGSA z{tSk*s=rl8?_}2& zWY_F}J$5u^3Qx}w?Q4bfe%F>5Vz$o*<~NJAs;oq_TSV#wcU@-F-E5VP?UsqZ!PchV zzfMD$1g1?h)n& z%)uCHCPgwap$nE@%QMHMd4DVaQN{y-ffhrj)9^&uW3s3~fCg5n4beTY?@qZ)J;Wn_ z8nu+CPyAi{% zi4*WX8~lP#x`l(BJ&7NGWD}19p!0@3b2!b8;dId-(w>p{`;6!K)q-8z?=J_g2;o~R zIhxsAno()u=(mu~vqZ?N0B=j`C|Hq9<3sHDiw4X4{)~cxyN+pFe=qPAPWbB&v$E2X zF*4a38@O0BUaaZcDPMZVchKy;Gn0%6)se&Y8}fbl^-)Tzx-wtIrranb?$|G^=79Sn zLm!+mVg;6_>V?5sOB%={fa#^;RHMNMTVEy5yWXUi30`7-d|xU;Q<^7tg6cIq*G!sz zDlR-u?XD)&=Ca@1v6~K4MfcWAzbC(qXX(*-GTIqVpbyrSaz1<&Y(`u5neN6qre+$t zD^@~0fF@M){)t_%IA*P~@QOYNi~tQ74h}%6XnaMHU)~++`rjw6bRKRmOBpZyowgw%|td=_9-DVVB#$9?r+(?sYOZ>X!&A zG%;%*EkgG^B5PU3Q!Pd7mG=#$YQ@g8n%ZMWgvD+jq%o0B{Ri`ewYOkU9ZvB$yJfNl%!4GTr6-{6tp(a_aEa0G&j99*v{jiBNvb+s4mJ zgIM?KB!0=Ezq#P<>_fA1_0jhmx@_PjXrzk!B3{1{Yhlss;!&%3$cg^|gkPqO0P zE_reQ-d2s4(ngh?Is5mQxS`rVUI_uq<;%vgweqP)-2r27LAO?~Ebni;8!)lNUZtHs zX4ELN6NJ%8xBAh*no4e($KDnN@gi-$R~flb;CN4nl;|sm2I651;8)MUGbh|(~R3_Avw9636 zgCXw8tt%=^GlNfg@vOO?dCN>SQa!(z!(l>nIi|t~ivvYV5W1B0; z6}E4eZU6Sx*jDz^(2Bdo!$C1ymvQIwG{8Z`QRARe=ymjiZpV*%cl}N?xXb>cIaP{q z4Qqp1<=)D^{)%U+H9vOd=MAxr8S}=e9g=ZQ(L?SauN1+{Q{N3eynBl=T(K~GC~%CQQ#(o{evD; zms=P*L=)P{C6-!5YHjS$&n$Uo@yUUr=<8|qHiv#0l*Rqh|L4;DMD~IkN1EQWVjr5eQD1n>96 zz|4-_GU(Oyzkeai%>wH!A5!WpgqjG?6T=jitdm&niCcFwsshdkFuRCv_Tb|RP<=pe zQUg%s(i#8Akn{L?gTs%~uz25?Eax30F2q@1$kV984pbg~IK9 zsk1v*lZ@`y%qy%6zo%-88-OKsJ!XBB;~zvx4y<_b3+5pRrR}e?WbJP|INe}(li~ES zPcdJ07;Q$2-SDN)Rsa{VO0pZ}3}(UsXX*1;UgOg|ui8zDT)6#Z?oJ8tt*&U&H7r{n zD1JZmsW8r{Q%3SKCV!-%>QxWHZ&MUK7(K|!QGcvfL#-RN7p(#3JS3OT_v!Q}ol$fI z@pY^5bwj0#23#2NU8B;T_o^3#0}G&WV3YTl=6zc&>u{Q$Y49Wamc8v&kd{Q&~WIdkAD+{eNPOaCt(OxW=F%D4q zFgI-+eC?n}@Xx}-Q@7M-%%>)KAm48&m}D!fl3qg@bp0gH!|Un-yXzaBRPQo@E#`ti z4s?gl4>>X=efH$2V_W331|T!1MGT$f91H8aAHFOoIFj22UdKAp7XE=q1Bk&?x@dmV z^}k?-WBmr+3k@8PTiE+16DjNGuTy!p(jF}0AB7#xKL;gG3~b=>T5tVh@1Q139e6cI z{k)~KHS>8{dy*dX3S8s`R11E93pkFqSyM?DmVrM%FS`MkG{P~|VkmjrrML@P-x-#6 zo4bcGq`hi)OjX`<_ba@u`&}%=P}}7oW$|+ma}di|4jv49Il8MX{?hH|Rp+#@Q~R54 zioj${{CO4aR$>8-Ers57+d*T2flUW&GlY%99Lu%eW-smzMUg5{Z`(@ras~0ic**AlLj>g z-i6Me zLW5o%G~n=>1UpwWy*Xhq{Y|QDmGNAN1>6_%tY`u_X9;#eE`Fjm%r*$m~F*w#bZHC4Bae0EqBpHMS=SpcB0Jts!1Y_D#% z4l-*lc8vt-Ob7B*-^rip(pi7TU**vyqUw>g7)BV_Heo=p(iwgVa%;-!S~)|O2w^|o zfVNr#Kht%lIR8?3&hjoU%(pOSutH=-s=9YAkzPU0%BXyb+?1~j1)&%Rk!gOv(|8e5#d?EMl@+pqk^!EHlq*LQbx=6<4`oK|f5Nd3tv`_(p z+3k>`TejYNRBWJ}Zm`kebLA4MXR4xZVuI5bw<8C11ic*e#JB3vxs7_4NYC=6KSwf= zktM#u@hZ?tsg3RO58wB7@NUO?;O=(!?&uJ9liBf%&s%bd5K`e*vQ8TGdot=q6SM0%4(4BeU9o4(h8CS7Pm%`Pfdr{)6ScV z&e7_BPIBaolre*SedY#e#WdkB;{(0?-1Vmxk1VOkREv6lwlLY3}x z_mnUMX&|M#IWji5d-jbX3*1qmbsiY4InVJl1SIOF_fqz$XPvkjdg}NnxqDMtzqD05 zLw+&+m|M;SF1lm|q$*@)HUBY5kBcgF`qp2aah{z!G-c#0kr?o@4ZOe=CKOf3B+N!- zETnVJlkWd;M?)n0Oktg3!4&?Sw)L>eD@kpepl@uFwt9V+8Vhh%ZtCG~^7&ZNc}MEcOd%7R+6-_~zu%C8L$ zHG}k;6BZ$R>h^~}CRXr;<6x%)%URt_2a^xdzONArX#aExnp-0$q{m4ar(97fvbi>x znqeF749>i$@1;*4pU;a|G0X5`W0EP8qgg#6*!$-litBYeHq1v8i_U&Da#{3f^sn(x z%|0##>U64N%0A15=}07)lf*2+siP~O;FCOw{7?E?Mv{A76f^9tQb5Xi_I9;S=4JH*+t_>h>}Q!i%a_zyc+HhU|?U6?}Ku-!X+ zJrMgJBiSvIkJX}6t1sr)8viH&^5PNeX(tqK9@Hb)=5iNKeH|LS9x@uBx#Tuep?mM$ zVx&&KMn?E1oJ3qmDgA=G*@DfDD%%++mqkSilE=TuE)m{5);u_~}}X?^*)+ z3|IkiX_J0+rft)9pE=_GQyHzT+V%_Mbs7`~{6eQ&v8^ub745H*s*q-UtVsDteIT+$ z@`12@WSqg-a^hOdHch>rE%6@HL3G^U@A;Tdf9?Yi@KKxc-)w}ar7xx@rz6sr(&zal zEqtsdt&T0E`uch;2NDM$Q9DGA1P8p$%*}jdz|_ueh*S=zU7 z&Dd#l3yuxa4SZ%pW_@{QdHtwd5-SoxGPP&ROqUuG$^jWqlEQN3QwQFBAtWVcc~Egs zwpCV7kYM&xL*^uB=te+^%3WvOXN|05tV@R_5>pbq6DAUJm^+j%GqQ7yGgi>AS+3Ra zT<~tmW68(Jec46X0XjsLOgucl+L_Iob*IF1UV*Ru3k1?;$Gc*_IoA!JhL4IQ)MTm zW@X(fkC7ocveCV)axeOy^m|9}#puRt#@N!V3hD_o3r_N{*)m%snnU`w6U*cFCFZDX zeQbqneaB12@5f(dnAJb4bA#A5h**r+?AyRC{DxGAIDa~%!Xyu{=6#)5oG_dy;dgaH zkU%St&4QKhplQFz2F)&fvu!kbL~V)-2QAOD zLiBH2C^{8d85+sos#T1?{h@yuL}k!;(f)RMRws6Em<56S>2}R<({K~OPjL+3 zv+=~hx^7VCPkrR`BY~Km!hwDMpbRPOM!v1DwC<`gxs*zH_Ro>$68Ez&t?pwQ`N$yRs zYAYoVz@5D;+UkoP{{16lYS#F&mVrMMui`!nkZVAh-ZtF~mK+&du&5I=a!^<;%)_mM z;J-6GG<=kFIluF4HJ>2jB5|F#$AFH<$Nx1SXV`~i9T2tR#$hN`*}GK})cuI43IdbG z+xHI!50)P0~$W$8GZv!G=w_3;fc*>`EX8AEFr`jU}D_83w%`7wLiYknMWR+K!!&^K|M1N zm|%i46DT1iGBbIQC}2ne1}Ha~$xO&-9>dIpB$i%dERpuo7SJm8qBl_6T5H>AE7jIp zV-y4nw-IX#z1o7MD%J-eDk|jsziXd!CX*0+^xog+|NH!+Gjq<~Ywx}G+H0@ZevsmL z(Y)i=hJ%^kY`<^mnSH;#^7b*_=U?i)F=f|J8{6MZ-W6+<^E(~W=JvekDShMe@Gs=K ztJ11V(o?^0?hhtkc(iu+N?dsNoq4yN`$yG>Q_?s8bnH`g8=n1pc>D4Hd~Dwje(;YU zY&!ab6^<9Kxor2+=gM@KYb~u^mhvzez)*H zx)$0!_ZR)$|4_!Gobbs~7S5Ex+{;!X@^6Z%Vcl2Kw=)eD5&Xuv8 z`;Ywg%BtVq|Lm;`rzkxGo45Ub^YXmYrEj+XVM5xBC(PfhP5o$N>ZYgfnDO_*<1g7l zH!r_o?Y6sqX5T$w#xp6Y_gTvNH}@YZJbYqT@4>AT>+SumGcM$(R$g8<^IQGzmK<*V ze(&wus-CvLy7<4hPkHB&4gda<*?jwtXJ6(JK>`Aw(_zUsiuyS^B8IW=uMEYTkGC^Dq0} zJ$16O=6uER{cThJvTAYby+=Zal5YIuo{F14x+;9`ucsb+Am=+*y#1A1&i$(OXFGm< ze$o?Tvo@Z3_L=C%f5>_M%~-~QvAgaVxazxm9#g*kyIcES{p*eeV;9~1NoDxv4z=g!_B$K5e)asKeJ|~QYRwHv@04{o_b4~acXw@hH{Vh8qgczk-+cTB;yWMz>5gyz>?cQW*wp<&&6^Xy z`hMpc#)QUTKwj9=EN_%s>g%s%U+6E^vTj{tP>#lYvDT=(q_{|KX}$*4e4$D{H!z`E zvo0KJkr&eU7sE9gjLETvAV)GBYMvt(1?zpSjWIbC<>@WW{uW;(!1G;mxyUKEMuYOa&y6V)0=~vZU-X~DR!4QHeO{Ry3pRy=5s*3pk_VfkEs>}^vMbKH zay?Kl`uw=+sD^zJUo;d8ej#SysJ39#pAZpaaLQTQQ7a}Q|1K|Sl(&bfEa&t>8R3EAXjvz7qC#=<)X7bpmw~q zTx$_iGzFtkAGqbxwS8s|m`q+sCV(HG7(P*an(&F>a}z!r@M)9RlohSTLx4Z%tb(%Z zFoW_TtC}%tekc(zs7l{#Ioi_bi)719p?1Jz%Mo8&wtSP%?++qzLoniRiJ}Z-M_q%A z`PUH+${28!lSao{o3o>5enzTRmP=8MsM?hOjDr7Mb|eUK6K(jX3fBjTBpQ;#hFc}h z|75gBK}f4qUK6eJHPaaLhpYKhU1QJ}QPX@If@|fG#c8f!$YQ~|7+6!QDO+CO8mhZl zruwpx7z}HVyf&F;K7FF7ab$g;@g8f31aJMKrPNA?O)Ci3f4-*AKvHXt^mui(JZH|F z&jp_d#MLOK3j}0ia9zaL6jxC+=OM9WJ8CAQr6Jg^G0GR!Q3>rO$iqm`2VKDD;^$Kc zDyme9YgcdsW)&(-6tZNLHUwd?K-boVB6Y2ynA}h&J9FkHAo2Mg6Hq0KSY8+aeS*R0 zwelJ=4A;tQ8tN{k3Ap{2Ao_N%ulxG~b?Yi@-;BF&#oC}#(J9ofyHbq%p>*c;h( zEluc5EW4qlF~oCPFg>HOQE^W|mDj$IzJceZ5ge+9Q00Z}{~SVJkQw|fA=rNy!7n)Y zgz%^gpjJ54pZ~ol4b`@`;luyA8X&6b<$aMR-E1A=gU?mV=LXW7YV*~_LL0uA(=s}$ z|HmBcII2+N+%EqDL4ix5s#f&Bjxl*nQJ~Tk_w*b6YGwcRhdO$yl@_3agZvl8vIt zWD-rxXfo0NgBO%jr%oL^cI zoEm>!b4^QgV+Z#u=hW%Bj3E=QRg@i zhnwWOMwsdVk&%h_nqVZ7U5^kKd~xVt#3fql$*og47V&|QBd}HT6SE2m0y^qcocRI)csNmnlIj`=NqVPBFcElN z_(gUqYlCr2mFoar^E;c=KOd|CvJ7p6OP~@eCVw${Z{&jJFy{|Dk1dzavyuQz1M@I99vnsc4(Df1Y z_zZSs%`H`BORd&;sge8})wrQmdk6)C!90h{>D0)|#e$JBZqDV)#P5yNQScq_uRYV@ zYR|vaR~D16mN{Isr9S2c6yr_CsFXy-%j%-=$KHk-rdO1SO$f#5RW{yrL|2q9iEm77C#~X9(#^Q4M zW(2S@F?SRHeBl~M!=c0kd}2PJLvbn2?Q+hwz*)9uwr3^Q(AHQ}*W5mYcO~G7icthp z5i+5WDxnxJ5}`O}GyH2U1@y^`g8Z$`=uJFR3$Hqd@X~RPwuLB~fPtmJVl$-8@Bt>p z0+SDek&Ui#lGl(;UxSWB(CDy4xdm|>YL+6q2u=fEzWRgONn%8!Ep>6kH3SF({lonK zG(N`&BN~t`d&-LBf?*g^#8{&Msu`MxdjCEvA2S{riY9-D%n=L)1BtbKPW*0a2_cqo zF?wue@v@>DDr8S#RoM;8@;Rrf@)fblurn_9baX!*-bL_nQ2sEY{?_K3n_Jqju7O>JixjQkk?pf@cR(J z;T^$%8h}Z%_93K_3o_kr6=u5Wd8qzyLkHLzqHff`jguHNivK43mEFqo&&|fW;cnq2 z*2>@Cphj31%NO#w$Q(#QzVLNH6n69c|3AN^OEj+aNgUB9!{_M}buv5|Ut=WWLbj06 z`!Na?rA{$Bn1jFfQ79wDk(|x4`FrPY@Sa>7e?N5??^0v@-98=f!`AEVv*dF#ZM=_5nNBvtIX@RY9iA;d#?bn2Y9EH!SuYBqC@-iqS zy?)|bv-Y7hs;|k1Mc_Jm1GzQfg776IWdnpOES3aG8EB{r!(s_hFrJG<1oRSRTwOyD zGo_=YHNu4<))PbFMET+iMsvu6qQ&GKtUl@Os;!g$4G+Ty4$EgaE)~nJD{}vDI4&Fo z1LrIq8^%gPktVotLHUMdOIFFz)^HdBuc(Y=o;=r=zGO|Xgw!&Kp2RxjmRMLLN(oH5 zM!u-W7f>#eXZEs2#58@4WzEr81WPwyhC(tBv+~sn?3EqRe~pd95{J-Z_Jo2J6euqy zOLqv`zNEz$sEoBlf+I4tI_yh=8-k6_G8&RdYdAJkQU$Pk$ekHVMSHQ}x?rRzv>_A- zdOKDJBP~O@u*b?H$U&EafyCrE#zXjc;6pdl3ezw+wLj%$B}E|IC@2q=9~~xM-V+E! zKCApFFuZ)#67SMbG&&41onAz5%Ex|*P-$p5@_^yxOK2eCgcw#$Vtz|Q$d6qH!w5Ch zztNExo_{eCL;06zpZK9XGFsEThjz{@mj+0j>r@~Zu5%W^uX5zIXUlkTCBEbiy|mYD zfa?~CCjSv({Ifi5Jm`JFi1+y;-sh1+msg!VR7%H2 zt#4jOer7m3lZ#BMZ{CRVUmEcq0k~Y}r`-|>krTB}NHJ%&x`%@AuAutVB_VYPk?;Dn ze1dl*vlJh4Qi$OTEPva#^M9EnB=8PgSL!WwO%|XJ1CKo?rkg)Nww#wg9Y@t3$vS zoCU^H^&D7@2Ma*Su%_k7*MTEM4ir$QPek^InlS^^&`OMaA>F|U!@~#$hS>*^AZK2! zIEPLw&PKLR27F=#>nLW8_M)v#BI+VD#SMpb20%kOpic|7)HDxw_&+QEi^`9S+NaG$ zkiHa(lmC_fWRsVui*jsW0mP;A{n4oWY2~p>8UD0$c55cW(wGh9 z^96Wff|f+Aczzh6s!Nn#gW11!8PvheEzNE6;v(0)<+-jxJrEHJv{QpJwWR)iQTP(h zpXj4LrMe&D+A zo-Mym{`H#7!j^{vc5{Qp;dJHBo%f~rc?*30I_%h5*ATkt=EkPxmhgJ)Cv4r&*4}Xo zW0(@^pPl~nm!aRy>BIkw@jory!~cX){!{=j{}V^~qkI`1{D1t#M&`k(IMzrjO?=vS`k5xw|*V?*hD`rUok9etF-~j>7ggi-!2n<1K{I!G;o4 z#snf8yV6d%#wSh9byXy#onoxAYK0g7lto9h2I3HQ5kw}RqeJOKsf}&0bn@jeg6TEt z3YynbBo}%ri&M3F$g-`8UO-lx^Ouro z{#{9V6Bmf9kYt}Yf4j*(A#38Q38fQPo*e`bVHQ;b#P+OwlK$B5i|xvCi$8|YiX5)< z^M2QLRn~nBI=wYG-A(bLw@PO4-vmYPa{6-@oB^7Yxtlj=@;^o!i|WtYk`PhAS%0>qH64d zF9HBA@mGJQ^7Q;!?*ym+VST$M(q6L;{mz#o^|AJXOgM&-`bc{LG=8>>5NiR|7i;(X z$^S!=-ydn`KBV@{T}V8~0(J03vJ;dm8i}CKTixgxwq8fy|)dx;st_35-pY&gN z=IgQvP3$_X!G8Oo3WwMrf1nf!pyMU6!><3!@M&&ss<~Mme|{(dGD#;Lr!ZKhM&%T6 z0xZ#CnSel^!xfNa5Dibcc#5q<4g3k@)SloKsZX5Ukr^im=SLbJFdq!VA#Ud5o;xzbM^Km5#^%2kzB#Y@-96{=&0y(xT)W<0$F>m)6a z4!9_^u_c6Xb_gRKm?M{SNeovj6q_R>N=adiwh*k}_&EW{abAu)jQq?A1xy-YcdNTV zQ&VSC6a}FQih<)1xKq1JZdklluMyEnxN_RYYFQ2GkWBQ1!;Si35blxU!~_s*4I>YA zmS7j8Tnb-+Pi21x98C>(!f7MTZ#5APEGo5%@3%$3`h4fsXz;_D9u2;5Si>~dobfb1Gd0qGM!Of)IdZsFT9pSQG*E<~4JTw#X}Ou=uYAoS&IekXg?h5eN2*-8 zMExWQ;N9|A2q{h(Ta3wPrUBvOQHWgvWXcg!=(AD74>aJB8{&#JbXsaHR{Hqn1fmSM znbK5I$JSI8FIiR$h+sQsBihT3&83hgQN92uuUSe`_=YMENn#Q)2-0N+n3ld2NKqb< zBr!d{JQdFX-twA~C7#OCwX*8GkEm~09u<@Ah-uUOCt)_CteRg~T2`(BjL4^LJR~_T zDi=n45gDy==`ADk>Ka1$cUFtIY32A*HMOY=&`7MV3DN~Bwv`HVd`9G{5rll%k7cQw zqxooo))n$$Xp!hosB5}hRaj2@FfeMgVFc=y(^IccQ+OCucqb$BmQeIv*Ld|U$R%Ml zgl9rNW-6GOLk#76DL}8$hQ?5Dlc#I?jyIW*2d+h=TGfSWgG1#C%U56(b_CfH%4&-e z#7P(7N@ZzPgrD_8ZmYbMkI4{DIP1$x4Yj8U4GL|c&KaQeo}Yhy+t5)r*f%nv1mHn9I| z&5dOxWzfW-l90UAQ>b-!czP5oi?m1-!wq ztx_Gnh@a-8PQ#h=l&eP(`099NB{t}c;EiF>m7bDfdFc&B#VT)l%0WksxU>+bV@9~~ zycJj_=I!J3kgo$W5aOu;i|OhUBrc+k>a%*_Q)`=-^^%U0sXXRL6Inid?0DYN4!GCD zxhvi#>Kn#(EHkPtZ|kUPbB^kZv+|AVNmlI9QZ0fN%POlp-X+Db1-Y14sRWv7HXHVG zWIE>JZV9jq{~EzTAkYeJGY=V>wC{pWMM1>2MG&OMN>39`%Hd#s{A6O3wufj|=qyZD zGBan9*u@?K7wV;P4(qtgH_`DJaR}!-Ii#Kz4F$Az zXro;Xlx83?pJZ);4;ny&=kMw^73^s#)J~7;h9~w`$k4ppuc%SSEb*|nnx~Gz#p#LT zDz9l?OKnnJiDQf7SA42Qk(-#WbvLoncs{4c&^XI$;5zV&C=%-6FzR?-IzK+PIJu~v z3XkK+%Y#4UHIAIzk@eE}^A4%~;jlF3bgVd7A8H>7ALqSQZAS#Xvdetr}1i>_%1 zHiiq-1D2{7!zQZ2s){8!Mc3dcXsm$FLXNQiX2W#k5-*z1W&@|$>hb$wdQ?lhq;8z8 zYDH2?B>ZK&rUyy;kv%(GPE>I4ZZSZ!arp;7o&G7>ZKRhj=jeiw>|D~>py9Bzwjn>6 zggAfY&Z#Qj2o|)9a=#L`1y@>(T@N}^jhK0aQj|n)+-}w^Yghyj)0ayzZH}j^b$GA~FrK8fkF>!~EYrTY&>adQ>ha%DTWO<@CM>G`zMN81luA~4)Z z#%re4QePu^WS~wR4#mTThoi-5t>ss$L5tRA-v&61+QAnsuZ+Xjhk_9d%T2J9sbVdU zOz1?M^mH0@a)-#U=6FE2w~|^{zpChotV8u{2+tvxRX>2PjwZLJ!oCjjPcfu4C%KUb z8ISk|Po_tEm>>6`X^8bzdAjPSeJU)ML8H_KoMiRTGZ}V#+nyC^ykk0Ue17NaeO5j5 zXsbV37s19Y)y1RzkwG=iLc^iMY79olfVo|w+cSv6aPyT1Z}=Jk#tZQ@iYJ0^aBmFE z1742?7mvP-p3jx3Rwp7$>Sk#8l@O-zk9lYbIH`3Ze`HQPuM&IgHS2s>8eLYRmmkgt z7xhDB26cAE>(C}toLHRk<2EF?5`2nIL-EkWZEe;=dP8<2(NuR;fB{&SD$|tn#U&GH z2k$_ZiJ7$imzCo+;hh`r3GZa4!@Ng(+}$C$#BDWl)5)sVEm@f^@gW(72?L(wtV{W1 z=#h)5$$}-chn(m~B&pZ8k+y~rRSx1l4T^Wpfe-6zgbzECUaFMSybHKM34Teota>is zYZcEjzMEFV5rRi|$+&YSuc#{IZBg80j^@H?F2-;`qSFdb1tJs`?bqNw0Bv$pV3t^z z-!+4ou9^K-SwDI|eB1)stwAym_iE$Im9D16=g2EyQOqJOtBoOUm*H0X&^(E=0Sx># zmHhIcwV+@#Zo2_tIKA~7e^h#_ZliuwMN+aOsa;#jk}R4@ajh1(;|jwK}bFVvcJ? zxvBxvgC=YYC(C4P7YC|N2k4103vjK;Sb~DpYg6xw;aXC4cDUZB16=C;6R451E43QG zZwqH%=yEMSZ>w;RfruU-evK@vY%@v@e-=e|g_r!2K-U=h1|>nwI0ll{*?wk_j}j44RB1 zuH}>6hMhfp#JP)sGFlo<94zdRVuioQ=QlrqswN>#y*-HUYjsuQUAy>5MGf!TRcN&R zi0&7QmrJ-JEe?x_cn#g{ruPf)8vF{n;|2@sVA6{SBQM06CG8F%Zrf%C=mZhB1w6X$ zPrQu+CW{6R%M<$zNte+ijW>~SBNDEsp)&zxMFkEoU0_647tv)!pX_$YWJjOhs2*_eok0@rK9&Z8SJJln~5zzHN> zHxO&XriQVoR;9stuq>v+>dZ)h7t?`OL582;=P=m&)k5Y0DHDnT(9o0Zj8WzJR(SRtvF&aqU>VaV}_!DgP|C1^mRZ+Hnl)SCh#$eB<7PbmiSIm zCGou;=g8?y4$VAHf`qznym3Uu33<5f57*OOIzO&o6H!YjuNs~d!w$ycKEY`D!^=ZM z$FFiDixor7`F$vzPYlo?Gdh$OpBS7rG`?~TZmnbDzizC)MS%fZOkAo^%# zC68Rk1K0dP3x=t*ucT|xM%1mQVNxbeQ;b6u?T?UGcs=qLX+$pvKI98`bUEbb$4_lj z8$c}keg4vrfod$AoCCV?uMU%j3p}h_ay#Y{`JC zFOzSe-BmKOjf-H5N&JE4pH^RKi#lHuVMs1Fg2GTsVd5HEYf^b;cwM8z!DPkYw6?TD z;D0*2u5t*j5D|_DIDOxinN4-B_7BB)R5gxle=Z(U2aJRK($xa(ez z146WgAP5c3V_#~JUWU7sKOBl{@B|>Lq_Cn;4Krw=eYESvK5EQw4euZ}4#7%@wcxT* zy|1ZIvbZ3P0O4F=-?ge%QMQsFEJ}1M$f8&8Eu=nPDxZ^?^0|#HSCKtTt!3*e9=bSH zZ$FXt+3;F)*`$@=azLH)YKo?5)xVYM#gmt;$4hrufOIfN9j-4Md z?GRt0U&>)G4T-&W&9XL*U+tO z=E#e2R24w2xM?CnTbSsDM-6!3k6i>`i0x}Wx^$G7hc8rU-BSG`?5w1yvbJ@UoCTE( z#9yduB`h1VH)zUIJcy=jBW*NLI{-ZI7=@>zckuY&m@K`{c8mh!fpvl6VoE%Jeeb|Q1N7E)5 z=oIxlq#6^WVJBNbjrrshRTWoORe~0k+6Fo8maR5YU~#F9%86d1!KgQ!eOA7%*qXSB z-!ei6Ub^0q7;LP;|&bK zH)@u(UO>kWN=>&EbwY7bdhyki6loc%Z`5+g*Mo1Rh1yCz(p07;#z;6%2xl`!@hfT- zPH`L!zz@BsyXTt`>J7qw9R=r+L?SIP8tPc5BQ{WZW;A>{Fm0$P$0-2;jvjD=WuV2~ zu!@BZI+)`v>zZlt1>QgJ2L=Piff@4ArcZ#B4ttok<2BmUJ=P76|Ni+bdrgB zj+p=Egg16j(&2xSwvftv zUo-6krd_S*wW^0S3-lt{K;GJ?%Laa3tY&O~mK+4Pk$uLu6%#rtJmkI>4pL_WNW}Nq zsJcSceze>`w3t0xTiT)vkf;hA&Z$=oKBieHOVk^$xk7~G(MUp*2jxeH;T990mej`R zFsjw01C0(-feV4vhDOgH&9b^wdly?)qt}@rAT;}HbU59rx>S3rRW*89)gq-!@jz=9 zjnrKeYOZT+4Fs<#!W^i?dH~LeQ|N=?j7L;nSRiA^419(r@Hoz=`sIQGzVpr3gmW*5 zxM*-!^Sz@gIK&sFTh*JbXa_$=mkn#HkYDjq2=5HWH=3)V2^i&#Qv-C&H5|i@HaOcv z?=|>kD$4wopyjKPOgPDzIC*bsr#=wA(61c)dXTi)$rf-0tGG6Tk)+jBAjrt`QmO_4FIV@YQ z063m;=tizA=9>%gpzWt%5LutUIvf&-SEkoBR26g1nKvgF_+ee720g?s*!cdpq4=xH zAgl+b2Ki z%NxfpHJ-Xy{kK0bO5i`#M-xK6v8YOANRD4>obgG!<2I#)i)s?@si9~6ni?Wy;w?2W zP=;MnljU@v}jX!_0>ZI0TNUa68W-+4+4e8W@T2+(j79QUurpx z6##Mi58rf79#&6{FC0>3J1joLwy;qSR|eo;yJ#f)#ttJ<-N{%}k6Q}!^9hq>Ep1u( z`OV}57Pp5(n3Aj#mvB)el`{|8%5=uMb7JTY3XGx$F?v;Fv_6 zvmy{4QUZYA(1IN}Uap&h0d=wrsilQgYRa|w`PxBUO^snA6Ru5?TM^dItBK9VW;sl! znpl>+hI@)yF)UQl`U6e?sMUN~FMtflCCqS88oPKSU)IVerlab$m???Pd>%aMD4wdf zuv_l`2u^CX@-T&(pI_5PQHvV#tZP)YY9FHG>?{UXzXlh_C2C<5LjTkqSN0eVLqq3+ zlpHdPZ3snTxT{}I7@(mFKkst0xhiZ9&C>|uWD;3U}lXEqOm}J zzP_}wkjmM!uAPaCk1&Y2t{UvFRNEgN4t*si9OBIU{Ae(Evp#;TrlzjlR};oHx-}Y6 z7>)~JGd6DFKxRiM*cf26ahdUpoEh$2YsNn-6=XH&R3$VUqakCM3$Tlz8L4vI)6$B6 zz67c%!1&0q4NxICS)E_A6o+B)FBD;4HwoOtbZt91CN&NZ1rl@MSu{d%)Q~TS>jc{q z^VE8Hs-J>yWZglXqNPe2f4tGZ@WbyJA=jGwJnUjfpo%UHPgnh+k*Tz!4W`^k&~V3y zBoC$;+byDT41T_4__pyorcM>sjf7snQXnJ|_FD!c ziTN#J0xVr-JhyAQJ8INn%XtyNj^nVM0zq>eb|B&W9n;;9;Wx3~@0d6aTSUSFIH-T= z?sJ47OLtopMSgw4rbB1~7n-q>L4_W)zZWNLy2qry;MX%EKOu`hzA&M|NJ(n@m zOZh9SnDE-j+=RTpj*^$+EVWU&BctT$b-pl4o?hecH#B}!nCfDG*?+%LT=|XkHb3u_N zEdK6T+u`)mF6$@C>>^2YyKc`h(9wAot56ngz{feL*bMB0$oQ#VZy|HkG0(?}+qTtJ zffM#}9Y1EzobMCN&d3-Wc5K-Sne&X|ux+)CXYy+k7#+u#YdPSIv5a^&#o6x@0onJO zLHLC5?Big`&iz)->de(cq__15jzT%bx%a%z^bZ4{4{x!%OaIE;Me8{KAFv)WI6uau zaT(Z_2{TV57f73)Gj(G^0;wEH<$d+rw&Z3>j5jiXx(?!V>PP#oM|au$Z+KX_neZDp zd0WaO2X-CZcE*=fTx>!;Z;N>bY5e?aMOzPZzNb9>o^sCc!h6b6X>HoaXC%Y1IkIq? z`r&z3S^l=tWXKsS8T>vbyhVu(!cuAWYirY_@$0S?Br(4~XPjgZ{!Ur5=SUM@cL|a) z|Df}jlKhB6>3V*~>}&S#I^Y|FlD!_j?zb^m)(exA)5?&j3cR)VLVM4W9o3 zg-VSe-gUV&cn9ZjI*UGoaDm#<%R)xhCganP#A;E`0jt~>%aIQI1jvGc*xqNDbmlqN z<)Ay8=4So7oM)AlIn?1knH?~glW^JElT)mx(Jm57MaNwEV8O<}Ip(J0bpfaB5epx{ zDQII0+K?SF>CAlBWsqvpL;%@EHo?v2?viuUCDAeC&a_jKSpSPuD+Cl}%Cb?HbB%GF zfoFjzjRzZSOH4~~7O#uHGa0cMMah~-7d|jt>~l5m{{ib!%SrU@knt7M>Ju|3jN3+iyK$c|%ZHkM4-5g*dKlc$M?Qfn6z&9Nl*EwvW~y5*_8S zjDE9COwRC|k1Tm3=Um#=#=hwmhpW%}y3(0znLVBNda>UqP4q5F_3n}ui~Mnn=a_O`E;6$W$&U^?D1~QsZ4a{W_)Jj;c<&Sq7ia$_F z$NqV4g+YK+Myv7)*}b9{ee?6a)$+c%y}kWKV&8sGe~|$q8zit53M3s9=7Q(vN~zIp z>#YzC5mE4qVi&MoVd-q6j&!!k?qF{iSGM9VE1+E>pgVrvo!VU4UD#VuB$iiuDvAs) zQM8E$AndTooI_=d4eP`hcaqU_?2ONF`Y!a-lsE2x&jDtB(KFC@c3|M_NzcIBmX!5x z=BjS0C)_JA1lXaek;& zkCTjtO(vVk*!hY@enrkn+XvIR+~4ap3lTE|LxqcExBG-#)aQ1eo&U?E=jIya!*YSq zW;R94gn!s3uRMI-cS2crr{NW`z&Ox^k?9=4#m65|G9t;({X#5}*+7o`+?`|mK4$uZ z(jb)JzIf05O5Z}6QVuD8E6W@A{3|yV+KfpRMzczwf%3DCuHN!+41*adHCB|G9Iy1+ zmYRu7OOrs#E>6l$&Ww>lb46j2Z7C<>Qj_gU*4N)>AJ_jc>?Z&9GtIES?N?5*Da;N1;WU z#V%w#%KBQE=|x2~WkhRIztzl{!TA@0cTH!aFR9;WK3Ito@1cZbm_I%pWzsEj@he)f z0x@}gj$yw~Ne%bo`;Hy5VR7^R2^o5Ted0RYKwZLk6N6E7u zY|Jqff28c|U@NB!efT$hePZ$ZNY62tDM-bntM*i;Ry^}bd8Oy-73HVS+Q-UU`Z{m- zbPk;D>^wWrZn?$gSA|i%#a%BC)c1jE12ZkQ{_|NDxdq*PTeSXUaEEwHhb>9iokUZi z$0l!mw0HLy!8?X^K4ft}B(q;zB;(?rB=_h%YfCchPNGRku-khhDZ=g)2Jz9;CbKrn zAAgi8f2}VZKASN)^`?8S`|*bliTg5Hhv!~r+43%*xcA4(W~*e#N#67;#rfV~yXO_r zHi7MMh9iBEO18E3?D0DWKird-leWMba+-dM-j*&0K!ek5>$|DQR>?4Fn#L`DDkCSY z05i?>A4=ZXk8>chueWV_Txl9-7gY1qK6c=1=zpoDK)T-6;R!i~-Na1op8aEQIe7iS zV=bt1-xT)Yo?3T(=Z7<`op#ylGliUcf1p?o4VErdrHIBc+y{G|V$$3ssFOq1t+teYlj$`k#Y&7~h?O%W|KZtRh={mtwtP@Z(ot z6y*@UKUI#sMy7O*WER+=w0)l_$*1=pKk~vGPoH~a{L^mC8O#o73i-t@*w&cku#b)? zhr}&il3{6@a1FHzQ%5>t(QRxu=GH=dW(?pyJp2~n6MJR4`&`9zchz#Ttp|>7BRiO^ zh&$%Z#zp? zE%{A@S4uv3*BjH0+4}zEx(qiLN=B-$AWeY5i@PIjUDCuiUp+Yu zWHTmc#U=M-x+T_UVAcyt59C?08UNNA?x&RSTMZgQR$(Z}OcF^-Eg3)S_6gQ=%ElLw zT(&9JNBkD-2PyJSpp3f$}0 zt$W54Qar!|FrGoUU}TtQ89_K+Y0|6XtuHAOS)JT?$1m_8h3x!2C`hmd=YJ7w7F@uu zpf6|$9uG|KUl{gYP>Rnf){o(6NCt>TE(;p~6TqhyA2@AX>n@HX!bB(LZ$*-e**#CJV<`H=S7y~=~9y>g^XyS9qB4g*^qAf+t{gnor z8;)-08wQ{Xc^rPkApBCPebi9?3xoR|gQL&z4NC`v$tq9Ta+}B&`0B@JOACO6Bo+wM zp50!%@FqQ&Q{lJ@9NJa8WZJU}gaTpHI-~U%K=)P) zQorYAxK6GjMxG0tJJlBA^Hw}yNdaS;QsA-{&lL~)_ogZv&zQ$Ci1JNWGDwnx{!J;$ z##c*HS@L%0K_!{x75*ta&Nh9Oclzq7wlPKCy4AM2RmDl9%rX5<8w`@T-*Uv7tot<| zbY1QFtx{UlTVYvU&rS)&I=aZ0Be>G-z6W46Hk7!%b3gdH zrMJj(T}gFdRoB6Jk$$-&mK6YyXQy6~tB9y@+YV)OY43K+_cpt#EvxoNlI5}^H?>7d zDev6x2NxM3qwYkc@ZbzSms5n7MQ|eAe#9cw2!dHroZX7pFXt6XChzp?S9N6>#k%XY z-g`O~SHE0ZB$+E_EDd#KnOuRTgez!&6m#_Hb|uADcH=}xgC+bE0jpI7)zR!KT|xBam#u0tZ|wPjDT1>#i?VWbHAgA&Ww zIoPlz6a-!OPU&dHSc;9wdkuyR+l2xN7JzZ@x5eeFlG zrdVDPH;rY&az(l-*?sJ7OKJ{V+EY5wCQf|o0u$YC$F`)pR2t3l3X^^2q-m0rd+e3;feY?|f!f1| zuDbg^VL*b++ zw@p$+pD5am$08P1(US^8ZDQUeW^_By-M@+Zu426b%T2Yr&GwDwGG-@9V;-!3w8Vb? zdmWZCA#YEX^R4&VCv7|jQ6pur`dyv%j@q{Lj!C6V>Z&bDFJqgoVRmP!u<@Mm$zZi5 z*)3g`x}tj0!`~&@6x!9f!7--3Hke-f14mC=de~hXE=qSJJm{|VK6};OzhtQq@8XHc zRxbK#-L*L_eV9vqve;)WH~oSMF+lW|qc{FyJ9>jYCG@8I zcgn^OYF9YQ*QS@h?=COz^Y6{9*gLa!4%#{aqq_nIqJ2jG(lYnwU~dc zbh6mKU#s&3_VAcjeQ6&ZKl*gaE=-ii2A{rTaQ~A1Qt___&-5tLwa4C)Prc*F_*t6u zw!wi57Q6SO)3BsowUxLI3mMC#lef8^nIbXKU*hsFJ~TGt%GBzOZ+shpzbywh9ocy# zZQuoCNis9_4!W|Fs&~2!8|g?w(s-m05gTL7TmU5<7EHuK(5~Ps3pK>C&Rr zMHMp^r))W3IulrIepBiC`7{3Pl!5TvYV)x+OXrI8@CtdAdGAAmFMMTi$4+U?6I&ik z*}Sx8_uSrxEDt^S;4KGIccg6HKDYN?$ia`=H$60H-)SE&&&Vt`VgbhdM@1UH|B)k4 zzwyGkiQqjlqwoC4^La}h%-k&Ox*Cgm{gE=|yhe6WikS(GQYG&{5 zK}gM1DMf(&vZdDaz@Q{{Ph>7Dv-JtKLT38@px_*=f7s;h5xnjN2+I^mlCk)K!8GyV z?OD$Hhch?bKe#JvaI+w#M3UL|>)03wYfRUu@7M+Czl!?3d+#5F-Ng1=X?kPzg3H{*OVk0Nj`~KCYvZ5clDD8XyE5&&a~~!2;s~NRwW#=@gn7y;{Z9-a+Z8}Z(UyX+6}u;rYGcWJp>KDVm{`)8 z^tM;ikYK|4z)lTu(VLyJ{`(gyWMQjc2(L&-P^6+(uo;sprj03`=$e-5Uc6~_E`msV zMGVH~o%=1eYLi9|=J?~_A{llGY&Ezf&I^i7G^s&zih&+;`Iy%y9B`&s4~d)dOj({h zAxGMa#yxo!>4DkP_iPcS8TUJ{D_?CRi6kQ&!DFXXLO7{N4>PgX#!M-~o-Sb;YzmXj zC)lhk+kj>^2`tZ&Y|US|-6}RIoyzTOe-fGjHE|cq-4D`S; zuj{&8hwG(1UFMC?emU2jo9>_nF?_41rn^6QG#~b+?Am%=ZjXVLWH4~kzVU2dGBYQ$ zZVTHtj_otCk~G#mhV4tC#1aETjDDYiAtYeyQB>nW^5fTwj}4y)J{9=5@EMO!7e3qZ z*^O4^T}jNTC>6FTlF?f{rfhfF_Oe&K-VCpIGWqoW48UYxt}F_JzAW|3qS~i2-QX(> z?qQ$U?-O1zU=nsEX=&|l( zM2^L2TRUxnYnJYN*obzRqD4Ad(h*G;Pdx}>~UH&)a&qa&nsRLh zC8IXUJ3XnwFfQq?Ccka$)cVk?^^?}NS9JB2~BJ6i6VGCv`3s+@(%;(bnrqjulxxF}jVvU`DIx6xbR^YH5soQMz4lgjenDQ%|oNcQ9{KN6l-_MK2fDXIGv1ug754jRnJP!>H1U*uHJ zO3!m22c#qkq4^yXHb=MKHMeumR__>LYW*#-a5&bMCD+!*>Pt?pzfS4dW{f1=0!xDT ztHfFY$?;W8wJlwx71aXzKL76pKDW}d-sm^q!jfR8Y)h(7vo0hsTVXPv?4IL_*O=^m zc5rdl7+bQr&WBV4f zZac$l+Bb*oo5#!$7GGv1)7U-~w6SgxB5Kwz473QDb}D=FtY3-iwi}_I5ajOvtF8Z- zWBM;-t5vpb#rk3QS!K_5E&mf(_#fK(&&Bi2a6JDo>z8WwzW0#*o~{3EJiFvwWm=V< zjq!K&|HIb*Ry@1=b!A$-bjb;1|IOBaBA&hPuZr|_y>$1>$UbN5|0teqKBDZ|t+rh9 z5;EVn^?wl0+&7?1GsepvLiQwi6-UGlUdozSz*zeV;L zTmO6U?CvMxE$`bivgMLT6)9e|`RB;~z}ElaP}zrQ%>ScXV2(dwKBg3~9y~)A9rhVM zTApG#>A_;Fc>Li(NVCIpI`aN4swO5a+3T3PHc&6+2gSF)oopWZci z{2j&qaOv2sHp|qava!N_pY$l~C$`aGT7r*j=T+}Cxe|_#X;D%H-f8IEM4^C)N(wC;e5;8H#9O-F> z<@@@tQsmqFuHO9m!@Undh| z;*!a;fD`@!I;(5RWK9#SCo=&m!J9p$LTd9GQ_CwLwkMxjv9-cPeYtV&JfVSLP@kW4 zNouWs>#6#!ezTCYCtItemIFv_&?Tq1E6T}rj7ynN!yO=pRAjBR>W@k^75e79j=Qi_d@ z>4c&G!^@KVW5w)@ZQoFm7MM=;SavsNNHWwg{*d#?>_J!0pu?5!a*ufwIjlZ?ZjQ9+ z8;U1qkoWyxnF+qowxqx!tzWZM;pO-GG=?@lw+IauCg&;ul3^xBeOa?4tC$C zxJ098&!99O@(Ma-@%OcG1bes(JUV!Kk)kN$Af2jB-brltBmqp~UBUd55Wv_oGr3`U zC^Kt1;wbeQ<2KKO7rtZqy-4V=BaUKQA?#kk8df}B{6uC}acExFik_ac^_LsHd#9Am z%$mObq|%THRQ&6@woekeCNb;ZmG5nS%`QLk53+GxS3iVRYc6ll6PEbjMU z@ySPFKseGp|IKZE(I@o##G}qbSQmn^pJPat3(`^qESA}^AEAKOyq(4W#^UBVll}7g z(-88&nhYi9gG#k6&tQLU)pMf3D4ABxbhAFO&{$wL?TmXC6q}I{n^BZg%99w6Dp^_7 z^D@1YJw0&7XLk9L5BrQ|mKW|)R;@phmSR1Ub8`8SD-Jl{xZ;p_>>sAR_2LB)(VVvx z=R1mb*Db;wBqU&$N3Jl7KmXzKlZq=x^onL%8gsknGAyy?rmGehRIIB>oYj--JFfW6 zEaFS4&zQA$v9Wzy*RHFXXhBpn$$pvbXMafAJ;C~C#kQTLLc>!sOekUUN7g?oZ~b;h zTDWKK)+bHRePr5NV9F>=b@iOeSUuMJ{P~PndWul-{JD(QNq*b(sr7#UbSXuejEIIb zxyyEyblKF+UH+?f{fmN--|pGWEA~8kxv=|k=6zQA^+T`CHcC^se)ab7K+OH(?OVQ; zBjw$;=`{rguP%WAk@wJXxgzv6k>Wc|6~{JG-YT`H7nUGG~WAG=mQb&XtoTZ5%t zDE@C{zw?OajpgTjWa(o|$m<`OKKw|8E(P)#t5arPmlgq{f0DX@D6ry)noVrSdg*d0 zY3nVwZwWnWvrYZYqkfxo*MMu+*6sntu{gc{#I!B{{d&ikhV{}UDXF&g_LBX| z)~}f|?m4~nJEn}h(^8W8S;f(oKJ)dq?LAxXxkv1_vfVvBKbjnU)OID+c%?L1O6mSj zW&Ml`@CB3pMY>{4Tli~tnx9Z$waole;48^@Otx%)t}`R$!`(dtKbl(H*KqP?B-pspei)1_?R_G1hZL7PL`z&B_ zn@<3jn;yN8Z1M5zP5U=6N5uS=gfG zJ6{~MPk*vM>yb1Opbv`29!l@|*`$|KlZm#Evtz$W@BQthj86tr9x>g;ocjmG>8prq z>Q;%?F-cdLz(Xs?gI<%icu!@|HJuTT|5%y7aX!il86$omyT$t4pz}H8pA>vrK2cT_ z{hEu$n@@&O=jzl2c17gyWbQFbt=V_V@uMpM&k7eE9-<5 z>+2HM6pKG*%UhIWYx%)+jU4`$pmwyXbq#v5a|_kWTRlB{

IJ0097EywzR$b1^B;e#@?5O61ea5*LR!piF@l^jd#dx zFSzfue6tO$ZeMrmwvVWJ|E$xU^~7k)uSCqFC(qm%ax@Md#&n2R`0w+;d&4%-r~q9GEd}@3DI9QR%}TS2oGbHt)js*3FL2ucxy* z#OtX||GJrEY0BGVc`j_JaWo9dU(pCf2+BdL6yd1#faN6i^}P-2CS$i*O2uv(&#i;L zhX&X0x^UZj3KnR=SYqwH>F#@}%6mz$REvnw^{k+G$PY*s(eaz~p5M^>6ZF1A+`9Fb z;14`jiwM_l<)BjmY_~CXcIEDmOAxAINz*LW{tM3j3*H~RCan3WkDDu-mR=CnTo5rh z>1?}fSm_my%ARUYt8{ia(Di(-tDN#qI_k&IY;aWcO<6V5oW$zKr?L@hdtkQH0z|JtDHTWF6>TcLg|HHKlH=d+0H)Yg{6F)a~?uXSS0|Swx)-U|Ax4- zKj$Y565t>u_BZ{c-zproimzG?#U;90a-|DLXFUH*_unxmK*I$>iiOs`UNK^w9uyqo z`H|wgW^nzg!Q09&Z2P`SK~6D5HBl+2Sf1FKo8HSAV}UBF-4CVrK1BIHRw-Ow{!8}? zqF|o5H8)-5p{ZEo9!|k4EY|fGoa--mf9Md#XcR17a6uSD6!goIOHMnu??9h5nF!eL zza4ZxFufmB|2|C@7IYj55 zii-Scdw=h9Z_=h9?(_LfzOUCW?M==-_c_n`_nhZE=Q+=F?zDE8=IybO4x7wlW6QQ% z%I+Pz)ut$0tJt;Avd6}BWRVr}GE-dDnD8?5*s2(YE1IE#!QWiGMwN;E8eIa#yQ`?s2CXohEm;n_lVZZz8U&g>a5k0ooNGeh<01{36qS11;i ze<(j13cv6@Y-`yqy}#{06?H24)Xn;viSlMX#j*+CsuRPlk^+BJwr4%T;-p65W zVSVa!=iC8s9<6?Gb`p+|JF|Godg%gkCz5G?-+ZLuUT z$@b@_QM+Pm()|hVFGawC$OZn==Rfj1M~rQ>ZOSKqweoFnx3Ze%7uU>1M0e6A-($4N zyX!XLy8}tjDG}I%0QMy?rs^KRH#_;E{F`Z;{{EKM(-TFb34PM0z^JR+M3+wi(kr~X z9}VeSJE@q)Tt|os$O!*plOsbdjqVC+K4O z6IpId;(^Wy!kQ-H;5h7CfqLxb)mEoUdjgvPUdstV!6Ov}(^&^#WC{67F^OV%g&dpB z!^plfT3Ay_Y97`eoRBE_>LvFD>-s+%+XvzeiMeRuUKr9uuJ9~gv$#J znvTY@OD1rY`dE#A$xZq{-^NU%2_>|OD8Y6wQ_`*0<@X!&`z$WCjVi`*keoIZJYQnb1BdLnn9(^@9KgZ^?^%xb!op=2x*`=uIWYIysXcc#tI+(E*Q34sO}7}V{&66hac z@Zd{AVPwB4m8I)$A3wD2rb_M9g3;W1Th?GzbVTxKp z%DT&*?X$`?@NAj9S`<~N&O!~H1vraJ!}JNtuBpsBL^3C_`aWT*16^;JjKL=B^uT;U zpQYxuDwYaEa}7<)Fz+GlW)^AxB^dvOeb|f4!jQBobx(t!_eCh`hIeU@4t2I+XGMoO zSnVa!hrtg-MdZR4 zX{K7Zn7qR3AF8?NwOytXX1kIbL0p^S~y$kpV3nPG;dWZFZ_-T+b3`lYxWBISWasV2SIi4DvZ$XL^6X3zcj7& z!-N%EC_Noop_BrTt{B^;PtRnmv0TsPfwnCYeSswBG6^q?_AHLnFOI+}JfGvDF<*EV zM{w+RB?u3y`8{Z?msD%JwkwejqBu-k2MY!5U4t`p67uSg-Uf0;OL=R}?tQvFCCpJ1 zI2Uw0-K<){MgNYlC5&=^+m^LmYd#c+^W>o8zy&UbqkDZSjXiy}BaB3`2E}?v7%zG? zy1xz@|2k;h`aLF>&NY~LJO>TLyvv>K>yT^W$7f#XOtISnw^54t@d>&&290kZMK1Hb zKng6m9X{4!)+pq}))iFjvN=!}kgD!6#uo?8Q+SgsN%4YE`1~Md-@KnInHo}3(yx1I z(D)K?&1Vt=xKK*E)sx7oG*o68G`@hxRSX|^T=@8)^2yAfe{A0Qyl&^9aVH+uGZO+2 z?Jl`CEW#s~yPGZB64KPtNV;luG#n+@Zb?r!w7KB)aqHZ?|rW*mhGGH*rsX zlv1ue4#%KKE61&q9Zh#|Q9J)a^y!M`0jrM8eMBkWbcU2z!uuX;J-wl@eUKY7_2<~4 z*a1P(}oJmHzae4?Gl*HC#-=!xDLjeFsJU> zMt37P87J=?7+iBA#17vv)Q#>8skCu?*SgT@K~>|~Aw0F+%^cqXwv!5Y?Ba@Q&jH7$Dd zixQ7j<*`N_@cq~Umm+J}0kevYk6?L~2TK6;-s*UJdivSP{KPENbE7dQ`?EEM3^kpT z)!0^*3l=+xI?E^*u0VT{F7jP+Bb*C_P64nu!B*OlVwqd zPGc`6UGal~*QpwgTCANjUbN7{P_sT_ym?S+3*4BCd61UXC&w(PxHvp7V(&qk8Zo3f z^=$dV<#W3yE?Bgj%^uzPw-CLlIC{{gN;bYiql+3ejzX(`$^0#=GU zhSg~Iw(xd+dRcn6M50~f}JiXY8Hq)dwJ`B*>;z$}Uaz|uk|Edo(4Nq@t#kyuFW#9kQ3k#*-2 zxx{W*@S}C+4ou|^LPbTUa#|CM_5<;Ct|XYyI2lzaDqyb5tyeOp{OH5diWc{BYkuTG zs^|iKY9I{ku;?#?XHtG-4nyhJ#>#a50li*@6&&|!XmUJ7*{HaIk}-SHIm#{-Yil9g z^CQ3rm+tUAfJ>f=4!Eqedu5;j8l?D>4n+-DQH zlI)w-nHFx=cBbfd4j6Y1SRY@+ObB#BJRcLU*66kk7`Gw*kIa~0=OjmXl2s*km@$Du zZ!6E&bk>niSkBJoN9Wv3v`?{XyVfd`Iqw4sZ^rtbS|M?>?Rx_v@Qm%xKFxI_K`l*C zcJREgkJCnm>mD31K8QTtVlICvjmawe1e8$uY>8T>TQgu>gNF|=Uj!cN+6Rmsh*?FWQE!*gzIiUQXQD zwGl(9>oG-F#(Gmh((F;Tvn=?}_RUXowwGY3#>vm;N1w^pWIo&ZhQO)0Tf$BXdteIx zFKD?{Af>4a?SV1L%&o>dEI%!@T^v+CyHKa>nyaZHCJj>tT3@OtxiE?g>zOu?Gn>ra ztTJk|<=XQxI_rSZipu=;HNO!`wo<<$41UF5*>Wy&ofdUO13u+J_bCX{;;HQ|_6&5sr??5|t&aR?Rwo1h zN+e44UJs99KmsGNXVSo2W5`JCyrn5>2uF zMu6SSo+ys|x_Ix*a>OD#49lM9g*7LIaw0FQv`nmmjf`#Lz}#o8Q&dBvyk~qrC8C}` zvuE<7VRj-_qUR0P!9{B0h}2UU(d9l_Ijyl`ufUC3b3h1YA&2kH!9T$6hvsP8FQ7Yf zjtCxJh1<69Pl$Vk!VP-8T}b>@B73r&J9Gve-18bm@(L!L&O`7X5Boi3#4H`h7>(4@ zzcZrWxahKO5mh*_`ppJu8>xJ=EwVpJ&vf;Ho^8th_J)gf-op8qS$pp!fb{U62XxD2 zpF0;_MvOIXb5Mb_*?6GepG0RJE32uBVdGb(1Hi<8UihA{VKu8{wO;w$u0%N>X5q_< z?QY)Js)0VZRt{xhkF0-aNwRz4C8XQRf4)oF&@TI&t6j@>TQ%Cb13ga(lBGJcwO{Ge z8v2!8*q@)PP9)~+xZL$G6cAvCS|7E=7BIDAl;#(zuhrd5D|-O8j?laNe}gcKIg(IS z3|qcy=TYvKl>&AxkMYf5h}fs5rsboy^uY@KsQM}s^fw@e)kU;L?+h$hEGnkwr-QGvFFUwNP`w^I-3*n2ZS5famJ!L6J#`Dw8~AJUiyG*BVDOqO zX@61!OO0-6zj0~5^@-b=lV3=j$hidSkX>bZUncwV&-^Z!8B;F7rkJ$T3;f zJth*GBhTZ+USetO9N#e}!gKJLXIyyKTJQZ&sd^HElOGqOfURUd8rE|3E3}w(ig#hR z(bB)rl{vk}2suLC83 z7RbZGJ|t>(c*5R@iPKH_Dom8P-?w>7pOEmpS`RaCPC2o>bWdb?ei$Yl4;Svq4@;cb zL5OdwnolgAsK<%!@bKez@J~;KSJI;!;}bWxMZ43}*FECiSG@P}33J&)U&c(Va6C8K zUaBrDOZU?a0De();${;E@hB#Kj7E1;zi}c;*38@=C|T#}0Y=qd;$g~@RW(`@HsNrfL-g-7gZq#;Y6ZcCGdQq!pkx_&r3gfs>LXZv2={*R zPKWjy?3QLJv)#*Pa*0iu>pNS47Ee1(c)I3q0>Q}`)CkkTMo1*oyX^{Of+#Lo5&oNq ziE(hq#|_Uz>8xhCFgWv1G*91!*^d&5g9~@$hi!az<74fg3fm`?M-lH&u%%l(afi=W z%*m=Og$;*9V)+mBbDt#n47cUdS z7>N9xcL{VT2Pgv>f|NW_m4FZbk+-D=S3!tGC{m) zxMFO)VttZf{u(ThPY$xs=WEccioXj7F`Yq^W7>r#v@E`&V$73$EZDO8=1dj?amf|q z5+onT{3(!}i=o=io?(%g@)ihhw&R1^4tY=SU`aHiE4*SXM5?LG9|EZ?mMeNWb|fRL zuNm0MDsUW7wOQ}`piIrla4>=B;H>KW2dy_8U|$KMH>O?DXOXDBK4~vO5)vgYVf)jd z))UtA$3d)lGOidikY5h7HIN?@cZG$m7`AUxt{7ACD3|$V;8A>Ra{R1mvC)V0?Aezy zOg{hg*i_v)C{QUg|1;6)uNd`6a3}M#K!W5bNZ2F$fvYrXt`J_F!mJo2wh{prxoAiA zz2cq+csYvtI;+?}sD%}~pO%rkV&s6go>?(ekhJ(&hFJ9>9tD}M_w7HVSJ2|@yjAxp ziqm-zCxu)#3YV=+n0@R;=T1o0$8cEkN!G_9Bnio z@U0qWCM9qP!b}9VW`fJz6b*)&9Uf8UFAr;al!HS}iBW;3Lf466&z?cL)aEd+$k}|& zVT~;;2niq)U93nhDxK~9nVXcdN6W$w^~n=gc8(d~tUdqTuVglv170ybTL#y41j35r z{Xct9jQUTn%JI*%bmV1IBUY}4Q)s@IR9v*YPkV(*}PA^xOn)qbX5n9W4!B~QX+ zhB^DWA3E0kqOOa)54*Ou912TyzWo9Qz$Q|qzKM%QO=1|xGO!!RGL98*#iO={^2A|F zbJiumh9I1~5Hv{gqL0cXo1{yyN%B%(+d4V-4++0`)(%u?<^^g)K=bCMjm&$)&%AH^ z1TL`a#`tB}Em7K1*z)HF3+2?vz#1o$q`Wf* zPqc=4lj`vt{G<3jz;B=k`JdyPF~fQ`@&E90@kQ+udm99Gs&zOsu4oM0yx%5{f@>|vQb7G^6; zwpv)Vj<;!9|J;^ba1kFlNS!Z88OEC6{Iy_#N!O9SvwGXI3)FlfbBbHqhMs~Oef&?l zw~}$?RK3^{=fx2(G~n`5UEUUg@YXnQK+)>*>dt-vNA&iOgh8K-| z=7(uB^^sK7+BQWJvsX~;rud(Do)yMbQ0(P#-hicqh`syQwBf`osThkacmMKh1h!9s z>+OOC_ zxUtTk^&x3yd*Z`$mnpYw-@k9Sqbh$9^V`CwohnP7W-8p|C6DCJEkxNX(J8qc^l|CQ zzM_Loxt=huitC6If<&c5q=Ak^XATNWAfIEv!Myv7Q+}y%Dog@w8^{3Ldr{bb5u1Fg z-t&IBMn+Gl=y`%XGtgxSh*b>%3HM8R^j}>McNjRozi~ zUz7sd+goAW0{sc=iwcisp#Wk-wm~ZAtIc#9WXFOX3-G^VAN+Ux>k<*CMtQv?3BJD{ zv+?GmxGwg`nTr$S&H5)!^BTXkSAL)}{Y>R;Y-QT<%8XtQ?UVz_Ievd!&$A3XwWY(k zKwdq^1c#6I%G_08nfT?{yj7-N_&E8vY`BE_vGsHd7g6{(q1V&L_R3kjIX0?lv7FPd zkrR@caW+kU>*RwBvA+5_r#GjpHeMPeT*k{~k#6nuaUK3aZJW0JXP5T)2edyLyKLR1 z1O9$3H`eOEqJ3d(hySwn)Yy1;qkc z846LrqEL}~KB>d>>h=S#4J65#6SQ!NQK+j)zCF=oxP84Td;82;)+ewh-7%YCj?(A) zUim5J49eZBVEx$6GcE`fQRayZ>af%z{QaBdWk3#-4ix@*$14KUy|wsz5d z%_>6oHF4nDMhcZ9BlyIVa6~*pBi1t0&ryRp+aX5x0Jts6%^dj@510q(V{{}6hLRsg zU*bP0{djW5nUvdDK5ZHfgwfqAZU#R|xy~x(-Qi)og~A^SYn~GdfBjY1uMvfPgJmg~ zR%pX^3h{5Kk?C@Z6+Sl0mI*Kwn>{L-0p{b$CI-Yo$jNT@;M-W7GxhWi-Wmi_=cy^? z!}H_Kho?<3yY2DjdTK;MEo9&tE_+>ev`acN>~$80c5tj|jGU9#GK_ds#JlXK6*l{6i%ih>ZvMb!9pfo9p}@ zVb*;HLWTB+Px7CQjz!q`xp072VZ-ylQM>kW>H;;JQ_LVtI|V%A4-sR&#N1UT;l~OX zSzsxAMDse^+e$%CZC=ctd6F0}2+X^5{}eeJ&a6kyUr>bUwd5*Y{jUsFjBUG?-)(G8yRgI(fth|J@NFk zsLzCbg@-lUBTwn}{vt;AmSB7vTep8>KBVJLn$#{@q>6~@Yl6O^z2c<3qWJ7`VYi?h z%dwmK!eb|4lbV#+!6=FTIl7^sN`gT1+2ueZaIDra2)8Vgid}O-P>t2v2NKn`4+K~! z>V1bOk=TV}j}NbKq#qCOYiJ zGZV1M^DEt-fP}7nqDUsQPIe@@=hS89&!2)kp*aL**2%22Z1vF@TTj)G_In+)by{FqN9NMGNy$BNpl5>#`aumUEw8IK2x{v5~ix?C{ z`!efz{LVwa(fCitoc`43KVb16^_@QI3;U~}ds;B=5NN3zq*7BiZ0;boiO9zoTU4H8 zv5vx!HT!NR<}UQb;c3K7CJ}RoZ71aZY8O zH^T=NW>ITy0V&9P`vfddOu8v-FIYHp=8Z1a-^Ds(6J9kZ2M!pCWN$q{{Lgb{{{bCV z9Po3Vn51{!)ahZ~Wfidmu8b%5Sl?yx=^=T}iHFkR=wbGMc~A|qKjR#4bxtVXzjzfq zCC1GSTd1vxr(z!=2Xwa_*G)R3tnOyYZuPpGtiDFN#qq&q{y5*^BOT6(C>d;W z;hVtR^$C*cUZch%XPjfp_uJoI$Ax$6V!7{cb!xkvF>nPBWbg-?!5-bjlAm6Jb<#cz zw0mvuUtV*Dc7>M^b6+ko>o$IhA*Nz*oXVr(gdm;>TGwneQd=+m*02K-U~c82+l`&7e3#DpnJP7Q--H{y?3Ub zK9J^s&eSU*LeZ}7;N0+{X%viPs6h(0E`0=&t^NQD?Tg}>%Q$4SZ14P#vIVa9M_FKqtl+(jY~9UTKL^#4Clrq7V@8t z$#fce$0*wkGMOHNk)AQg#&BQ2zI99H?(q++)6l`avglr6YT*p0asJ2rIhn!a%ar9U z^HGUN5C(+uUkk=R_7|?8reoH))j{q3YTW84-@eX+U(e**OR9y3#dDC>PVQPu*A@>< zM&mF0>=N|M&fn3r3*#lzj79NQagC#&yc#M@ilss{bP@*@lR(K-_sS<2U4A-jIR*0! zP3&}LtH42ltzN={7le2_6Z%WzYy8U23kaM^}NmmrKOVS zx<4`LFgyrsw1By!V^H^?2>%d;$21NT+@S5R0RpD*O5@-mH+TZZ48d!4U^D(T=ELL8 zurto^1DFpjP#m2TbSr5_t0<1%n*R6FKS5GPv*TA+|H+J1Nc|^TAdk5AD^Ce72phauHUKENw8&evk~#||t_mE(wTcmaYW5|Q zmuP?fHhIel3jTCGr^3%;Hy@qFmB3uFDpo$Lu>nckI?b^eu%%VN`kyTp^^nUFspF~Ql zmYw<>_j6Z46@lNpRR^9T_&xF%xW8nRkp1E&C&xA=mzQTr@wfHN zxIoX03-ru5^bEQMvqWdR;PFv=zC_JJU5#HZJl!S{%g;t>wY$ldY+*=$y~;A5Qp7mipZgJYk#bH+fC38bYT z!`tb{eK4>zS~jKmzA$h7<3)0lnWSyuCiounhrv|6&#Ez7Ebdf=S`SMA{%E#k=~tK$ z=$s9cY+h&Cr1zZPp>XZ<9%uBgfuxaj9hEb`|-=& z)a@JBw?i}CB%ioLii&)!&ZP^e7=V{B_@jrT~+*>Vf_<#^i^p})?5j|{!0i}46Qf4 zJI48(P;G@@B(_H(#<)G2H4OU9!}qnqHkcdZo{YoDiE|r(qN-oL&E2GVSp>#J;?ZdL z;(#Qv4Spp(*W&r6a7i8tJQrmnG|+}|%mxohNRv`e-}5zv+Q6di#H^q+c1woH&Yy0Y93#nSf=?1Q_>a0-|fFenN zs|hkhHMCD*CsM3iHDL67Zj1G`j3XfRM5xXhYG!kjhHvGeD6lut+9Mp&*7<-ORo!#DxkY1c z(cP=NS?p(A0U<1+nkRqA%8IIl=(YsS2QWBh z2o^j57;<{jJ@W~jSoB`N6ay!TAY~{5wg?1aA@0S!0<6^g#W2oFiEqCkaN{uTzh$JS z8%}l3SVoHR*(J zdtAv(;la_*%5ksXGR~BA+7Vv2E6vciz;Eb!0yZ3`SN~;r{CR#yN2ZfZh5v}oFuUui zROZ2mX^Emw54=NQxuMh9Q&ulrrY|BV$Fgfq32;wtKgFPmwCYgJatoA%D?zQfa1;my zyN{OtxLD}(b+m)d)X}anC7m#2#;toCK`VM`Zd^&au%(^Cb|;+-x?7!Gc@7btq@k*x z!fkodDZYv}p|p2UUU!O99M(C^3>EI_iutoYgPMLp%HYj`GsXaDn$jM0K5egxj*g`Q zYWbA*fNN`IdsJVQe$2ylltMeEvlcaUO>5(^7COy3FEWSv7^Z;i?D zE@12njV#P%|2jx5^~C9%oVX8XXZC7gyRhfMjR~J z)#~rCs4-65ZsUsgz_~jPU3y@*=g`GK)Ry|udPaTtJ?SJ4SYlYzQKO}sX-B6sw~1_p z--5f%xGjN+3g7z11)euf?Jb%4m2&@KC&a~z5BC`~)1RHR>5XIjv5BTz_0qXV1fmgd zq+&6ZiOqB_6OSi@<5Fai$p6S#a}-N*w&dzZkuhcxwuP`LHZAXvlM>lL%3eVKitw;> zyYtiiV61&02fhAhJfCr)V;T)7dBe*m@`=sdYQ<$dHu;ts^u2sMR=Kncm?m}SKY*TF z*GGxek+hdApcG~KP;k`k4al$hV#=3mp6oiCaO{PTbTb8Re4&pX$mEGT9$-bT<15c1 z!Wwrxs9QL0`~mgCHcj5ZJz7If$?k;I_+v>UtKH1cv6>qa} zuZ7Nwo)6te4FRbk04rm9*Is<5%dv&>dPn_T7Bx+-PrfUl#HhcE+se#4i;U^3axlV^ z7jIZY5bz`~ezRJzuvBlSPhQL^ja7pkW}Fy>DNlVNjkEkyI89$wk}1m}Bx$u@uVI99 zKyymBGg=wDX_sS*kg!WZOn$U9Z}3mg;HW(p-vt+{$(E_HL%S#IP`?Lp3E)3{Z^oM~ zuhH_WbmcKjEmLU!fKiEU%5MNOGR(2e(8Nba#_N?_Gcm zuvOEW72x}B>^qy~aFQ?ix_{*rr{PoMS+S+avVRI&pY!WRe~7wm)a)tGtD2Crmhp;C zwumxK=>VURoT^Qg9o`pW%r8+c)jg%d{g_%>6m}ziO)(-JQ||XIP{V_VhAZ!Xc-&z7 zv$Vtxy)_V7ZsmTul1_LXQ;!+es&}mwL4B1SwZ}GUA{SICE>}$`#N$2s@9)|bbMzSm zP5SQ}3^Cd?+9OhFXrQu#LZJ|%W@C?d+l}lcH`~hlxkNm7=)dn>pmvyXB>b8ev97cH z_Uld2E0@zJQ`VF%pbJ|^EZ7 z>_2g^p^1g3=Q?ki+U<_<92#(!tj}G~+`1rH^4)&XG3Lb%RZ{kaJ>jw0pdYKRjEcW{ zpC9X|a{qLbEIBNyFEXBHuroS7dR)AIe7q?t-Z3h^e001=K77)p9vMS?rKek>Eafud z&0)-$M(tMlLV6lw_&=>4mc9Sc@N$??gu%WVzus!fzwfCibLu2kK0D0A%C0?zG2NX0 zydhnOw^oR_>6aCzdWv<~c)Nwe8ifc>fl5ZE#mf>o;2;zA_EG~5WUw!jY^cLsO0O7! z5p;KW)ta+8UkYLizyRG4Q#B?mp*)P1KB4>~Z9SY5Xv(v${E7>!jjq)%Ld+_b*OeKJ zWiL)P*w35IUzl@$GY(d&^pxeaEz?abmVsEu;;5t&xgg!XnLv2HjN&?4ga*mZD=|o@ z3I7k#U{taIM@NZ+-&z z>7fbe0bo3tg2R<4BT6S`tf6tb0deCT^fm%*DULw^Jk6K(G3|Rocnh?+R$`9L;a~nk z{vRify7SjPo0|#o&UyXl(b6Wyf_4arUBOq+l5EK*A3S zf<2qwvy2S)i*a8N@?5+RdAW=l^Aw6;O2J=prE7U&TBb8SJm(ChK+>0_m$#K)P>@ZE7csmC~S<f?chJK-w@Cjpr&*|8~M`W78FVL?TIs7G8N5{~+Q4z{;cxaID(c!}n z5lX~$6Rz>Nnq6(psd%AtZ3CIt*vwZowlq|d97|q4$&%hPPTzhly(8OMSr4e9mWm2j zQxmCbY-mnxZLF%IfX%Lk=44w#MPnu2QZ3=E0E~$I9_MmrQ-!D2-7MYLG}qUW)KtBG z@#1o271t2qiE37nBt8PK;G3C#+e~8`v0!<@&)`i4lYxBS*+6n!<)pyrq4D@#LB8M8 zfUAyJTB=Er%T4B2G^6y(Nw%wk)UR+gxk(CkiW^i&h1pf3P-kt%0hlZ#Z=HaW}dT$Kdx0mm;{fcI_FfQ}T-Ur=t;bcFLOUn* zo{)%pr2Ak2Nos9FrK>GP>MJQ$3fDDOg9zr#nL`>}%_!bd(pukG=^`k4b8SVfn^dD% zt4#cGdIr9-Veq(W0Va+S(qxPP~#- zd0eh~S3PO2a94U7-Ay8XcT0I)ZBtE^v$n2@;DzY*P7pm_{4Sz%xf?5Lh}1oJ@4BiL~8#Lp(WsWgk}odctN?CJuL*m06<3W+N!E1BK?SOE3a*+ZLV=S zQS+s)=876IP6DOxGOu@5;2reU4IoJzfZQb3v98fsDOLbI-GFz`qq?-YfW*^Wj(5G2 zxJtg#xgxHKN1&#$#Uq6=w^%|k%Gk*7(vTYyhtz=b+zbyvHZ06Mf#@QE;jNAYL}kjZSH6k zaTGLSkcgqBE|=R`SGzp$U|FNoy-QpT(f}5LJg#QS-Nf*4ONqA)7;&yjaXf+-3?-xC zTJSW_a?m5ap>*-XMzD|?SDl+It*uxJbrGdE5$m!R7kG!%L!`-x(qNP|V}yr{?NpK0 zLFv*^uSCY4#uZ?qo(i-ANT3324ire!5RB707pmKoT8F^|S{jaMc2+l~HhY}QYn$i< zn_S*fTL(rZjey!FKEOjL7oNYA~*g7W>M z7PlL%3VJGTY|KWhk`m0ji*VKAT8`_-xYprHPR<&d7kJ9B#E}HjSzhbpi(Pf#3Mmmp z3e4o^H`J}*(QuT^D8XXr^6o~^1=uOT?kcwB&$AWZP3g{J=S8|0ij#2g5(5B%g2qw4 zNwJe|!JqgQXD}`Nwu{tC^(EOw#>^tjCG^)C_%)ftTT=%3`_hKSRyxaI6r$xYgqodv zm8Y?uw-preXy#hXc*BpID5C&_72&{dY8qQzp1b)fjOV5rv_w-4Cep?#)VZ#bZ$%G! zQuw)u5`%nmi>CoV<<5$wXc;oMIE`3aDqS9M8Ba??1MRtr8mFh)#k*VT-6Sm;%v1`N zIz9D#DaFS-(Ui*(sw5$i6}6rUFnp%+vP6E662J(WLhC4X4@MP6eNnJYDUuOY zD{!`9dIAIWjEHu)C^3wPvPw{5*XMvG0UdcTJOUkAk38Iz5=mU} zS+E(T=$txdJqDuGG^E86;ax`+*3QN4n%bE2qp z-VH`HH)1*-zG=pMvb3~DLeS)PVf@aAP=Ij)B2Nh|6)8ZofMQ2R27n=sV+P{00#xp4 z99bj67rC0&bSshC5O z>0%@Z;dIxggg|*9Z#G>Giz(SP6YWGLV!pAZ8Iv~_1$A{iCMv$%#Rr!tDZE{j6nIEZ zd|>t^O|FKfMh_)Zac-tHka!<(NzbGij?UNxg~i2z1caC5#3mlnFi!xANxQO%RJLGx zpe!f^A6f*Q=4v!zd!tpdXXv_=_8 zAUjb!r^2)i#7l|&@SB8f4ywpNhV z;m3hkN@sy!eQg`6EHx2D5W>ait;7;S+8Od{fVGM;$xx5gxFsAAF(g(;^T3LTGPkRO zCaHw93SeC{mr|_Sz+MPll2xyuJWFI*(yhd?f?>+An(C#zK=NoC(zuk=H&qiV8ChGJ zc*vYVV&q$ETn$u|3(zg?q7*)>#sx_S97&X!l5fwYxIu}-F#&Kp73+g&141VHADpFz zceDjKEnkk2P~67XIGZpIklj$`kP~=`HZV~^>ZG|(O}QRIG?j!Eqz-hF@bXR2f&5U- z21?0jI&|PLU?4sq-eP4 zplq0w*OPK1DL0YwG*X^U$}`aV_&4G*;Y!1mj*CX$hHE;hag&;Qd>e6@NNZ_UV?EXs z%>?o$u~jre;%|1<)zxD8-HfM@P(<2oEzJ&*?!+j_5jjE9Mwm($c8Ed{7lJ_`hYVr| z0nvPF?JdPC+*s&|!2((x@TtniMo%CIaPndaw8cX)Q&dAaU`;0FD$W~Ha7B}yN+O`* z+CV8=i!g~ht6lWD5d$ma) z$82`GMgF=ZAbvMkBnZ$WZSvrX18m6FHX=q` z&>|xOqQ!uycU9K5fWTeOwB5b!u#Ng`AYl{1IFrjmKC)(`~&R4)~cSgrjKa~38iCy%v86J%nltX>MOCGMqV zK97V|STT{JS{G`=6O41{7wEE{@QK+X4d-RggWlt=MACjD%qQQ@ONE8T zS*%P(JxN58S#+8T=)Z0k*$DKgBCV4^(*)-xVs+d>O0$dSgQ+x7y*-aw0(J0CYyzss zpyZFzP)!Tp+!zQY4Fggt{GY%DTl3ps`6MFdBYqjPd4mD}AyEb+jWSw^tD>e6g%ztl zy`IYB(2jeWFjv&Msy)tnJj-hIc)(@B%7&suaA@kKJxOt2lA+)9!?MyZ-Xbdth6uw3 z!XraKK%h9XTCk|DZlZVB|HM+b0;nJ%wmKUsT#_hQfT@o1%i+&7QjlddNKc1juMM#z zKnB-73dEe4sWW5OhvqAh({)PNKTBt3unR=X*9bjBqbCQ#;I(Mm##6WnA#g=>LciwI zrKWIrox%{l($Z_|NeHi@aA_3I4k^7J`bke|={4wxo1<_s6t1`t1Ac)xWnPPMv6!!R z1iq$g!N>^_-%S**$klA8E97r%8DBWfx0k{}Cov?`TvNcEkreKI3K!CTFpjwDQ#OIZ z{WAoPw%@gIFQZ+Q8tpt6(`g9YHFe1b9ClTSBdeIoiP!y{03ER8alnO;!8g#=Yo(I`w+nC> zzu!_1zX-Qmf)m$c-+&CIS&Z_rWINzY--_?>C<^!NzlFO`gnL+m`<8syiTMWbg~DCc zf?Z;}{Q6paX(O9533SSmrvR7st@Su3md_%=h2}dF9eG(S-)st(fp%UpH|rV_5L0jy zX}-5haH06FN|AUIh06`WcU46L`Ahilc6gfaRro?vNcajv@Lkm)Bk(!C5npHu3Ey2I z_|mUx5$RSc-{Nn?7n(xC7eQ>!rWGUVaTV617{4rel5u3&^A{A2fE>|+HDdp6yAIrN z%SdofT?cNs#uD82>%a}yM1uQm5YE;7&BKU%EYiz!K{%=B=ql=}&&%StYz#_j*RAji zBE7h;2RBq<32xc-;D#zJ!FjF+H&kH>?n#m-&RgOV;u~u`K1yenlaowA!MFF@IuY*F zb>N1oK_s}ht^+qzjR4%+*MS?VMgY#pepC5MONR&ZDY1N}>%k2bP=b4g6cmi;va5O* z{u$sea++VMBV-oopr#3xQmN->zyZ_AuH>vpp> zJ7@0q^XJ(e#U%^xT>OKw^2(~3d+Hk8p62CkKU{gQx8uGwYk#utp|0*nHf;RGreFEC zKCx~4j-9{WwdaKw_x-I?75FV{mlrNx z?jM{m@#aaIF=NN6BBMq#GDY}|@6DcLOv{))_15H6-Q>80MR(o3q_Ai~Y2Fwo^}13!K6XYH#y@Bi&fzkg--^S{~q^fS*s zx8?CCpL*-B@BY2_zyEUb$e&*S^Zr+R4qdu3AbkGCS6_eluTMUE?;rpCU@l9gP`-ff z;A$w>+BV&kDlLhMvBrb-M1w0exM<3PrU3R9sl#ieTo`mvgB%ZE zRGVs=Ui+;@=nTomXv#>)CKLvvHXqn1X)x2FAHJZxeEm>f4M<2T;8+TnxQ);f&IKz}GEoz~jtwb;Ixmhy|SfBl$ zK4vzs0Jh#?OiRL7Mt};6>Y*#Ux*gm8ukHBJHMOy$Hauzr3xMzLQ+&N_4Bu%sOW2Ve zV9GEUQiJ3cq>5at;kIkYf-i1#f8#K!O%+x07!%YMLHhhKK+sS>(2n@-nrS4a9U~g8 zp%J}eGJco6B4xKTP#asr^4c3%oje6yknu%Sr+4ERXvE`UHa9w-$S07E3A&aWTb)Rk zBFO6LYVk(p7P%F*$+*##A(1{gl`$}Viu&CfMFcThkPYpd8=Q?ztj!J1g^c|#WP`rB zv6UfX`@@2Ifg9B?BDXpG|0bJUWvR$)B*TjvCaz_xtPlrN9XX&k-r=fn!PwF>l8Jv8 zcWT%Gnm$%ZK{I5M+}zv~`q-z*C*&8R9L z^P0FLoK;He6`b(IyZ@+0-uW`R^N>2!MnL}`A^hgVtX(#g!*|_MAvv-IsEsM4HhAx0 z$m8!SD9b`NX*UA%h!QI14L4f)4XKEjoxFtBCSyd_H{d4hZn1A1I8@p&apve^uI5V@=0VvhvE=fMCUrQk?_QCDGN@{0LC%#!`PjcJ*8lPOq&AR0`G>P9y@A;zM-JHpe{)4F@Nm8U zhbj10EiBZ+)V=6>>1CprE7`Gs1C0FJbuWr<*8z$O51txad;@Cmzkmq*jSq3KjO05) z?axF$d{s67&8jdWun76av^d=!c3~~pO;`f!{_>WpDwhX#Vbr#a+VOqk7wkghI4~hx z!OE4buJR^WoWi2R=5Wk+%!CTP5&j4bFfNy@x0-m-8nZHjm@+bLmK;k)vTcSjJvn`P zwk3H+MwTTxE5l+nWM^e&SdB(l)>R~9O;9A_Ot!#}9zO9SBcX6_ZiLO_Rnd32R$LVm zv;mv%sih9t3*0bz!_GDwO)O0-8Y*ZuqUUt7J#Stv%)w#TMFm~hfhUW0+x0DV&9$(Y zYfc@C&v!LcH`l=B%1u{w;D*T+NCDqr7aZ;3BjBn1q2vex{Yh;F$%a)qu!=tZqIYXD zd|F-3`XPMTFgI?53kLNaq29xyXK#L^ki;79ME#FpbBX+ps+bzXec!h(_l1=8@i}U8sD}tkC zu|3t8Vu0}}jKF_H?jn|Xi=>VvDb+s=J~#5HI9=L`6_1LDionsc*wvFto!XY%+S-~7 z)86`I_kq83w8XLsMLLb120XjH750=8Pv=$q8UZYrGYUA&4!IF094x8Q0 z)PpF{^Q1uR^g1ZNY8pjL>4L`PFjuvUHnm7zN2$!k&!^_U;&BidkvNI~1z3OuAIjIZ zf)vA`8dmw973iHx93}u#vBLh7b`>Ru1r2a#5NQRe?9LVSKs(frB&X3+UR#N+LlJw9 zc-TaN3-FaZT%LHaK=>8W>LM%-57B#7%$N@$7EshM&OpvQwdG2N4+3pkoPdCGUe;bZ`^t`y0V&w*n;@(ZG{q1T&Nh{HUey5I&MBrkB}g~Z}Oh@ihTUw}q%^5T#R zU_pa=U=8mQ9Y&haLrqn+Vl||JC3aabW0=EJk9X<~LytLt!pPGowR|4++op|&;?edE zGSPqo0FQR2rwWLOgF1$x7N8^-G!~YM5iBpEM>>q4XwmyUl*B{M>qv3KNWHcmcB-i~ z1h=)Sz%31>+~W>Dy~pjsV;n#cc-)pu52GL{P0NE22;JI-gFjMS)Rr5=E0qSsvnfo& zXNj0dN^^6SbWZ~*G>OPz#I)|psu5+U_bETb=>ehTzxuu{xtc~v^pxzNUDE_xXplxR z`l$(XLh{hbB^5Q)Si3UF4B{&3K?-qAU;=?5lq`|cOvHyo((XqTg^Ozn1f0#y&Wak^ zgWrQ|I9LVjTxaX!n)EQ(r<;&h$HujhAK)k@q>pPNP_MyK82*L&Bz{?=d$yhqDuhw& z3SgnpjczAK9Ks^UB+@Nu@zf#$d>0xTf|R78f>em9NU6;ZTXVZb{4x>C0$6^}x7+5C z9E@ zS|SLka@P|#gs1U?>C{UMeqj{^QR4Yb_0C%Abxx2Ntcgx^c?-$pWW%j^$wys2aaC2@ za&pOqFE93e_4)ZPE?vITKQJheFE4z3@%&exUmS{%4BGnu^5s`}7KFPdq6r2#OK?yQ z_6TA&2@A@g%`;Ol2|!`3Y=(G;a*ZfeHn4YOU;rNw|Evyc_ToG z{@Npd^wg_w2&_r+;DRqL4(MsBBrTQH)hC$}C-QJRQU0|*;mwQJ^XBxYdGq^WI`dka z&Kx^WXKpUmnKzZ|%<1(ybN=sf|EbQr^1RM`Dok(QK3#9FwCT;8au6=ko5xq^&9m;+ zn@{~rZ?2I|Hpl*yH^=^*H)jK<7dE@&b9Ck|;M@*;X5gy?z9)dM54ilmbsumY1|9?O ZyaPP%1CJMYwjamYVCWOt&iK6e{{fI`H>m&s literal 0 HcmV?d00001 From 4c6410d9ba6ae2f97a1eb232f34a3544506daa12 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Thu, 9 Apr 2020 10:56:02 +0200 Subject: [PATCH 188/195] rename RC20StatusMessage3 to RC20NStatusMessage --- EMS-ESP-1_9_5b58-d1_mini.bin | Bin 629568 -> 629520 bytes src/ems.cpp | 22 +++++----------------- src/ems_devices.h | 6 +++--- 3 files changed, 8 insertions(+), 20 deletions(-) diff --git a/EMS-ESP-1_9_5b58-d1_mini.bin b/EMS-ESP-1_9_5b58-d1_mini.bin index 920896efbfc1d879486cadd61cd1881acd797da8..1cc98021cacbb141916bd6e4e2e1c797f8dd8c0b 100644 GIT binary patch delta 43964 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 delta 43835 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%0Dc>-z6}tRB<9hEFm(~+p+NusN?Q6!hRF~gn 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 z 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 sdWlGH8`7&nTE$2!3u&D|I)0 Date: Sun, 19 Apr 2020 15:47:52 +0200 Subject: [PATCH 189/195] mqtt temperature pushback, read seltemp on RC35, MM50 fix, use first found thermostat --- src/ems.cpp | 61 +++++++++++++++++++++++++++++++---------------- src/ems.h | 6 ++--- src/ems_devices.h | 2 +- 3 files changed, 44 insertions(+), 25 deletions(-) diff --git a/src/ems.cpp b/src/ems.cpp index 3e91f4d9a..2f64a551b 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1351,17 +1351,6 @@ void _process_MMStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].valveStatus, EMS_OFFSET_MMStatusMessage_valve_status); } -// Mixing Parameters - 0xAC -// We assume MM10 is on HC2 and WM10 is using HC1 -void _process_MM10ParameterMessage(_EMS_RxTelegram * EMS_RxTelegram) { - //uint8_t hc = 1; // fixed to HC2 - //EMS_MixingModule.hc[hc].active = true; - - //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].flowTemp, EMS_OFFSET_MMStatusMessage_flow_temp); - //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].pumpMod, EMS_OFFSET_MMStatusMessage_pump_mod); - //_setValue(EMS_RxTelegram, &EMS_MixingModule.hc[hc].flowSetTemp, EMS_OFFSET_MMStatusMessage_flow_set); -} - /** * type 0x01A5 - data from the Nefit RC1010/3000 thermostat (0x18) and RC300/310s on 0x10 * EMS+ messages may come in with different offsets so handle them here @@ -1948,7 +1937,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { if (type == EMS_DEVICE_TYPE_THERMOSTAT) { // we can only support a single thermostat currently, so check which product_id we may have chosen // to be the master - see https://github.com/proddy/EMS-ESP/issues/238 - if ((EMS_Sys_Status.emsMasterThermostat == 0) || (EMS_Sys_Status.emsMasterThermostat == product_id)) { + if (((EMS_Sys_Status.emsMasterThermostat == 0) && (EMS_Thermostat.device_id == EMS_ID_NONE)) || (EMS_Sys_Status.emsMasterThermostat == product_id)) { EMS_Thermostat.device_id = device_id; EMS_Thermostat.device_flags = (flags & 0x7F); // remove 7th bit EMS_Thermostat.write_supported = (flags & EMS_DEVICE_FLAG_NO_WRITE) == 0; @@ -1956,6 +1945,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Thermostat.device_desc_p = device_desc_p; strlcpy(EMS_Thermostat.version, version, sizeof(EMS_Thermostat.version)); ems_getThermostatValues(); // get Thermostat values + ems_getSettingsValues() ; // get Settings from Thermostat } } else if (type == EMS_DEVICE_TYPE_SOLAR) { EMS_SolarModule.device_id = device_id; @@ -2090,6 +2080,7 @@ void ems_getThermostatValues() { } ems_doReadCommand(statusMsg, device_id); // to get the temps ems_doReadCommand(opMode, device_id); // to get the mode + ems_doReadCommand(opMode, device_id, 27); // to get the mode } break; case EMS_DEVICE_FLAG_RC300: @@ -2154,6 +2145,11 @@ void ems_getMixingModuleValues() { if (ems_getMixingModuleEnabled()) { if (EMS_MixingModule.device_flags == EMS_DEVICE_FLAG_MMPLUS) { ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC1, EMS_MixingModule.device_id); + ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC2, EMS_MixingModule.device_id); + ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC3, EMS_MixingModule.device_id); + ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_HC4, EMS_MixingModule.device_id); + ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_WWC1, EMS_MixingModule.device_id); + ems_doReadCommand(EMS_TYPE_MMPLUSStatusMessage_WWC2, EMS_MixingModule.device_id); } else if (EMS_MixingModule.device_flags == EMS_DEVICE_FLAG_MM10) { ems_doReadCommand(EMS_TYPE_MMStatusMessage, EMS_MixingModule.device_id); } @@ -2442,6 +2438,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t myDebug_P(PSTR("Setting thermostat temperature to %s for heating circuit %d, mode %s"), _float_to_char(s, temperature), hc, mode_str); if (model == EMS_DEVICE_FLAG_RC10) { + EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; EMS_TxTelegram.type = EMS_TYPE_RC10Set; EMS_TxTelegram.offset = EMS_OFFSET_RC10Set_temp; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC10StatusMessage; @@ -2449,6 +2446,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t } else if (model == EMS_DEVICE_FLAG_RC20) { + EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; EMS_TxTelegram.type = EMS_TYPE_RC20Set; EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; @@ -2456,6 +2454,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t } else if (model == EMS_DEVICE_FLAG_RC20N) { + EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; EMS_TxTelegram.type = EMS_TYPE_RC20NSet; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20NStatusMessage; EMS_TxTelegram.type_validate = EMS_TxTelegram.type; @@ -2474,6 +2473,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t } else if (model == EMS_DEVICE_FLAG_RC30) { + EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; EMS_TxTelegram.type = EMS_TYPE_RC30Set; EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; @@ -2481,6 +2481,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t } else if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { + EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; // check mode to determine offset if (EMS_Thermostat.hc[hc - 1].mode == 1) { // auto EMS_TxTelegram.offset = 0x08; // auto offset @@ -2508,21 +2509,35 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { switch (temptype) { case EMS_THERMOSTAT_MODE_NIGHT: // change the night temp + EMS_Thermostat.hc[hc- 1].nighttemp = temperature * 2; EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; break; case EMS_THERMOSTAT_MODE_DAY: // change the day temp + EMS_Thermostat.hc[hc- 1].daytemp = temperature * 2; EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; break; case EMS_THERMOSTAT_MODE_HOLIDAY: // change the holiday temp + EMS_Thermostat.hc[hc- 1].holidaytemp = temperature * 2; EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_holiday; break; default: case EMS_THERMOSTAT_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code if (model == EMS_DEVICE_FLAG_RC35) { - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; // https://github.com/proddy/EMS-ESP/issues/310 + switch(EMS_Thermostat.hc[hc - 1].mode) { + case 0: // if in nightmode, change nighttemp, seltemp is set automatically + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; + break; + case 1: // if in daymode, change daytemp, seltemp is set automatically + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; + break; + default: // in automode change only seltemp + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; // https://github.com/proddy/EMS-ESP/issues/310 + break; + } } else { EMS_TxTelegram.offset = (EMS_Thermostat.hc[hc - 1].mode_type == 0) ? EMS_OFFSET_RC35Set_temp_night : EMS_OFFSET_RC35Set_temp_day; } + EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; // set temperature for immediate publish back break; } @@ -2544,6 +2559,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ + EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; // figure out if we have older or new thermostats // Heating Circuits on 0x65 or 0x79 @@ -2568,6 +2584,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc - 1; // 0x65 EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc - 1; } else { + EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; // EMS_DEVICE_FLAG_JUNKERS2 switch (temptype) { case EMS_THERMOSTAT_MODE_NOFROST: @@ -2943,7 +2960,7 @@ void ems_setWarmWaterTemp(uint8_t temperature) { } myDebug_P(PSTR("Setting boiler warm water temperature to %d C"), temperature); - + EMS_Boiler.wWSelTemp = temperature; _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx EMS_TxTelegram.timestamp = millis(); // set timestamp EMS_Sys_Status.txRetryCount = 0; // reset retry counter @@ -3228,8 +3245,10 @@ const _EMS_Type EMS_Types[] = { // RC20 and RC20RF {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20Set, "RC20Set", _process_RC20Set}, - {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20NSet, "RC20Set", _process_RC20NSet}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20StatusMessage, "RC20StatusMessage", _process_RC20StatusMessage}, + + // RC20 and ES72 + {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20NSet, "RC20NSet", _process_RC20NSet}, {EMS_DEVICE_UPDATE_FLAG_THERMOSTAT, EMS_TYPE_RC20NStatusMessage, "RC20NStatusMessage", _process_RC20NStatusMessage}, // RC30 @@ -3273,8 +3292,7 @@ const _EMS_Type EMS_Types[] = { {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_HC4, "MMPLUSStatusMessage_HC4", _process_MMPLUSStatusMessage}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC1, "MMPLUSStatusMessage_WWC1", _process_MMPLUSStatusMessageWW}, {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMPLUSStatusMessage_WWC2, "MMPLUSStatusMessage_WWC2", _process_MMPLUSStatusMessageWW}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage}, - {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MM10ParameterMessage, "MM10ParameterMessage", _process_MM10ParameterMessage}}; + {EMS_DEVICE_UPDATE_FLAG_MIXING, EMS_TYPE_MMStatusMessage, "MMStatusMessage", _process_MMStatusMessage}}; // calculate sizes of arrays at compile time uint8_t _EMS_Types_max = ArraySize(EMS_Types); @@ -3569,7 +3587,7 @@ void _processType(_EMS_RxTelegram * EMS_RxTelegram) { * Send a command to UART Tx to Read from another device * Read commands when sent must respond by the destination (target) immediately (or within 10ms) */ -void ems_doReadCommand(uint16_t type, uint8_t dest) { +void ems_doReadCommand(uint16_t type, uint8_t dest, uint8_t offset) { // if not a valid type of boiler is not accessible then quits if ((type == EMS_ID_NONE) || (dest == EMS_ID_NONE)) { return; @@ -3599,7 +3617,7 @@ void ems_doReadCommand(uint16_t type, uint8_t dest) { } EMS_TxTelegram.action = EMS_TX_TELEGRAM_READ; // read command EMS_TxTelegram.dest = dest; // 8th bit will be set to indicate a read - EMS_TxTelegram.offset = 0; // 0 for all data + EMS_TxTelegram.offset = offset; // defaults to 0 EMS_TxTelegram.type = type; EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; // EMS 1.0: 6 bytes long (including CRC at end), EMS+ will add 2 bytes. includes CRC EMS_TxTelegram.dataValue = EMS_MAX_TELEGRAM_LENGTH; // for a read this is the # bytes we want back @@ -3621,14 +3639,15 @@ void ems_scanDevices() { Device_Ids.push_back(0x09); // Controllers - 0x09 Device_Ids.push_back(0x38); // HeatPump - 0x38 Device_Ids.push_back(0x30); // Solar Module - 0x30 - Device_Ids.push_back(0x09); // Controllers - 0x09 Device_Ids.push_back(0x02); // Connect - 0x02 Device_Ids.push_back(0x48); // Gateway - 0x48 Device_Ids.push_back(0x20); // Mixing Devices - 0x20 Device_Ids.push_back(0x21); // Mixing Devices - 0x21 Device_Ids.push_back(0x10); // Thermostats - 0x10 Device_Ids.push_back(0x17); // Thermostats - 0x17 - Device_Ids.push_back(0x18); // Thermostats - 0x18 + Device_Ids.push_back(0x18); // Remote Thermostats - 0x18 + Device_Ids.push_back(0x19); // Remote Thermostats - 0x19 + Device_Ids.push_back(0x11); // Switch WM10 - 0x11 // remove duplicates and reserved IDs (like our own device) // Device_Ids.sort(); diff --git a/src/ems.h b/src/ems.h index 823ddd47c..cf718e0a4 100644 --- a/src/ems.h +++ b/src/ems.h @@ -50,7 +50,7 @@ enum EMS_DEVICE_FLAG_TYPES : uint8_t { EMS_DEVICE_FLAG_NONE = 0, EMS_DEVICE_FLAG_MMPLUS = 20, // mixing EMS+ - EMS_DEVICE_FLAG_MM10 = 21, // mixing MM10, MM50 + EMS_DEVICE_FLAG_MM10 = 21, // mixing MM10 EMS_DEVICE_FLAG_SM10 = 10, EMS_DEVICE_FLAG_SM100 = 11, // for SM100 and SM200 EMS_DEVICE_FLAG_EASY = 1, @@ -61,7 +61,7 @@ enum EMS_DEVICE_FLAG_TYPES : uint8_t { EMS_DEVICE_FLAG_RC35 = 6, EMS_DEVICE_FLAG_RC100 = 7, EMS_DEVICE_FLAG_RC300 = 8, - EMS_DEVICE_FLAG_RC20N = 9, + EMS_DEVICE_FLAG_RC20N = 9, EMS_DEVICE_FLAG_JUNKERS1 = 31, // use 0x65 for HC EMS_DEVICE_FLAG_JUNKERS2 = 32, // use 0x79 for HC, older models EMS_DEVICE_FLAG_JUNKERS = (1 << 6), // 6th bit set if its junkers HT3 @@ -485,7 +485,7 @@ typedef enum : uint8_t { void ems_dumpBuffer(const char * prefix, uint8_t * telegram, uint8_t length); void ems_parseTelegram(uint8_t * telegram, uint8_t len); void ems_init(); -void ems_doReadCommand(uint16_t type, uint8_t dest); +void ems_doReadCommand(uint16_t type, uint8_t dest, uint8_t offset = 0); void ems_sendRawTelegram(char * telegram); void ems_printDevices(); uint8_t ems_printDevices_s(char * buffer, uint16_t len); diff --git a/src/ems_devices.h b/src/ems_devices.h index 70451044e..bc1766e8a 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -283,7 +283,7 @@ static const _EMS_Device EMS_Devices[] = { {160, EMS_DEVICE_TYPE_MIXING, "MM100 Mixing Module", EMS_DEVICE_FLAG_MMPLUS}, {161, EMS_DEVICE_TYPE_MIXING, "MM200 Mixing Module", EMS_DEVICE_FLAG_MMPLUS}, {69, EMS_DEVICE_TYPE_MIXING, "MM10 Mixing Module", EMS_DEVICE_FLAG_MM10}, - {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_MM10}, + {159, EMS_DEVICE_TYPE_MIXING, "MM50 Mixing Module", EMS_DEVICE_FLAG_MMPLUS}, // // HeatPump - type 0x38 From 2f58f88ee3aa2740fd9be01a84096b8320be3381 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 22 Apr 2020 15:58:16 +0200 Subject: [PATCH 190/195] minor prep for PR merge --- src/ems-esp.cpp | 13 +++++++------ src/ems.cpp | 3 +++ src/ems.h | 1 + src/ems_devices.h | 4 ++-- 4 files changed, 13 insertions(+), 8 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 82a418381..7898ffeec 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -349,6 +349,7 @@ void showInfo() { _renderUShortValue("Max boiler temperature", "C", EMS_Boiler.boilTemp); _renderUShortValue("Return temperature", "C", EMS_Boiler.retTemp); _renderBoolValue("Gas", EMS_Boiler.burnGas); + _renderBoolValue("Warm water mode", EMS_Boiler.wWMode); _renderBoolValue("Boiler pump", EMS_Boiler.heatPmp); _renderBoolValue("Fan", EMS_Boiler.fanWork); _renderBoolValue("Ignition", EMS_Boiler.ignWork); @@ -829,22 +830,22 @@ bool publishEMSValues_boiler() { rootBoiler["wWHeat"] = _bool_to_char(s, EMS_Boiler.wWHeat); } if (abs(EMS_Boiler.wWStarts) != EMS_VALUE_LONG_NOTSET) { - rootBoiler["wWStarts"] = (float)EMS_Boiler.wWStarts; + rootBoiler["wWStarts"] = EMS_Boiler.wWStarts; } if (abs(EMS_Boiler.wWWorkM) != EMS_VALUE_LONG_NOTSET) { - rootBoiler["wWWorkM"] = (float)EMS_Boiler.wWWorkM; + rootBoiler["wWWorkM"] = EMS_Boiler.wWWorkM; } if (abs(EMS_Boiler.UBAuptime) != EMS_VALUE_LONG_NOTSET) { - rootBoiler["UBAuptime"] = (float)EMS_Boiler.UBAuptime; + rootBoiler["UBAuptime"] = EMS_Boiler.UBAuptime; } if (abs(EMS_Boiler.burnStarts) != EMS_VALUE_LONG_NOTSET) { - rootBoiler["burnStarts"] = (float)EMS_Boiler.burnStarts; + rootBoiler["burnStarts"] = EMS_Boiler.burnStarts; } if (abs(EMS_Boiler.burnWorkMin) != EMS_VALUE_LONG_NOTSET) { - rootBoiler["burnWorkMin"] = (float)EMS_Boiler.burnWorkMin; + rootBoiler["burnWorkMin"] = EMS_Boiler.burnWorkMin; } if (abs(EMS_Boiler.heatWorkMin) != EMS_VALUE_LONG_NOTSET) { - rootBoiler["heatWorkMin"] = (float)EMS_Boiler.heatWorkMin; + rootBoiler["heatWorkMin"] = EMS_Boiler.heatWorkMin; } if (EMS_Boiler.serviceCode != EMS_VALUE_USHORT_NOTSET) { diff --git a/src/ems.cpp b/src/ems.cpp index 656c765d1..49534391d 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -165,6 +165,7 @@ void ems_init() { EMS_Boiler.wwStorageTemp2 = EMS_VALUE_USHORT_NOTSET; // warm water storage temp 2 EMS_Boiler.retTemp = EMS_VALUE_USHORT_NOTSET; // Return temperature EMS_Boiler.burnGas = EMS_VALUE_BOOL_NOTSET; // Gas on/off + EMS_Boiler.wWMode = EMS_VALUE_BOOL_NOTSET; // Warm Water mode EMS_Boiler.fanWork = EMS_VALUE_BOOL_NOTSET; // Fan on/off EMS_Boiler.ignWork = EMS_VALUE_BOOL_NOTSET; // Ignition on/off EMS_Boiler.heatPmp = EMS_VALUE_BOOL_NOTSET; // Boiler pump on/off @@ -1067,6 +1068,7 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.curBurnPow, 4); _setValue(EMS_RxTelegram, &EMS_Boiler.burnGas, 7, 0); + _setValue(EMS_RxTelegram, &EMS_Boiler.wWMode, 7, 1); _setValue(EMS_RxTelegram, &EMS_Boiler.fanWork, 7, 2); _setValue(EMS_RxTelegram, &EMS_Boiler.ignWork, 7, 3); _setValue(EMS_RxTelegram, &EMS_Boiler.heatPmp, 7, 5); @@ -1102,6 +1104,7 @@ void _process_UBAMonitorFast(_EMS_RxTelegram * EMS_RxTelegram) { void _process_UBAMonitorFast2(_EMS_RxTelegram * EMS_RxTelegram) { _setValue(EMS_RxTelegram, &EMS_Boiler.selFlowTemp, 6); _setValue(EMS_RxTelegram, &EMS_Boiler.burnGas, 11, 0); + _setValue(EMS_RxTelegram, &EMS_Boiler.wWMode, 11, 1); _setValue(EMS_RxTelegram, &EMS_Boiler.wWHeat, 11, 2); _setValue(EMS_RxTelegram, &EMS_Boiler.curBurnPow, 10); _setValue(EMS_RxTelegram, &EMS_Boiler.selBurnPow, 9); diff --git a/src/ems.h b/src/ems.h index abfe45f01..b4b9596cb 100644 --- a/src/ems.h +++ b/src/ems.h @@ -294,6 +294,7 @@ typedef struct { uint16_t wwStorageTemp2; // warm water storage temp 2 uint16_t retTemp; // Return temperature uint8_t burnGas; // Gas on/off + uint8_t wWMode; // warm water mode uint8_t fanWork; // Fan on/off uint8_t ignWork; // Ignition on/off uint8_t heatPmp; // Circulating pump on/off diff --git a/src/ems_devices.h b/src/ems_devices.h index 907ec4abd..20a9ca9c9 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -256,7 +256,7 @@ static const _EMS_Device EMS_Devices[] = { {64, EMS_DEVICE_TYPE_BOILER, "Sieger BK13,BK15/Nefit Smartline/Buderus GB1x2", EMS_DEVICE_FLAG_NONE}, {234, EMS_DEVICE_TYPE_BOILER, "Buderus Logamax Plus GB122", EMS_DEVICE_FLAG_NONE}, {84, EMS_DEVICE_TYPE_BOILER, "Buderus Logamax Plus GB022", EMS_DEVICE_FLAG_NONE}, - {95, EMS_DEVICE_TYPE_BOILER, "Bosch Condens 2500/Buderus Logamax GB062/Junkers Cerapur Top/Worcester Greenstar i/Generic HT3", EMS_DEVICE_FLAG_NONE}, + {95, EMS_DEVICE_TYPE_BOILER, "Bosch Condens 2500/Buderus Logamax,Logomatic/Junkers Cerapur Top/Worcester Greenstar i/Generic HT3", EMS_DEVICE_FLAG_NONE}, {122, EMS_DEVICE_TYPE_BOILER, "Nefit Proline", EMS_DEVICE_FLAG_NONE}, {170, EMS_DEVICE_TYPE_BOILER, "Buderus Logano GB212", EMS_DEVICE_FLAG_NONE}, {172, EMS_DEVICE_TYPE_BOILER, "Nefit Enviline", EMS_DEVICE_FLAG_NONE}, @@ -328,7 +328,7 @@ static const _EMS_Device EMS_Devices[] = { // Sieger {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 - {113, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES72", EMS_DEVICE_FLAG_RC20}, // 0x17 + {113, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES72/Buderus RC20", EMS_DEVICE_FLAG_RC20}, // 0x17 // Junkers - all 0x10 {105, EMS_DEVICE_TYPE_THERMOSTAT, "Junkers FW100", EMS_DEVICE_FLAG_JUNKERS1}, // 0x10 From 48bcd06e257d51c066dce68e9cdb1dbc4c4e3672 Mon Sep 17 00:00:00 2001 From: Paul Date: Wed, 22 Apr 2020 16:25:55 +0200 Subject: [PATCH 191/195] merged with PR366 with fixed to RC20 and MM50 --- CHANGELOG.md | 1 + EMS-ESP-1_9_5b58-d1_mini.bin | Bin 629520 -> 0 bytes src/ems.cpp | 88 +++++++++++++++++------------------ src/ems_devices.h | 9 ++-- src/version.h | 2 +- 5 files changed, 50 insertions(+), 50 deletions(-) delete mode 100644 EMS-ESP-1_9_5b58-d1_mini.bin diff --git a/CHANGELOG.md b/CHANGELOG.md index d880e97a3..9fdebab1b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Added features to WW messages (0x33, 0x34) to improve WW monitoring. (PR#338 by @ypaindaveine) - Added mixing log and stub for EMS type 0xAC (PR#338 by @ypaindaveine) - Added Thermostat retrieving settings (0xA5) (validated on RC30N) with MQTT support (thanks Yves @ypaindaveine. See #352) +- Merged with PR https://github.com/proddy/EMS-ESP/pull/366 from @MichaelDvP fixing RC20 and MM50 ### Fixed - set boiler warm water temp on Junkers/Bosch HT3 diff --git a/EMS-ESP-1_9_5b58-d1_mini.bin b/EMS-ESP-1_9_5b58-d1_mini.bin deleted file mode 100644 index 1cc98021cacbb141916bd6e4e2e1c797f8dd8c0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 629520 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

O|Lc%V#?G7g3w3Ja@hO6u@se zbMXwE(1JVBn&J}SpoDpMKtSdo?btnPZiQB9Z)rC+)8LZepRcQB@_z%q+WK8Jq$>z_ zpCxSJ6*kjs?0NhvcZ1B}WkCWch4?QCYy%vhhSxg3CJOvEo6h;d-8K@4#$4A=IR^>qfKotd7(w9iW=DIBVhT~S zK`A3wQU&2DB&Uo0BiV`fS-n}&#@Y`Z99cl4!%C=Ck?o?SzlV_|)+-tOQUV@~4kS6{ zA!KSA-k&snm2W(MWSu4o9@E+2iiN|C_|lb_l=IY{rRVW6TeqKP2PiAD$9RZW4D9ew zL3X9e8BmaPI?VKw^wm)*GfAlXTACp58OSc*in;n=9cPam!0eo#BDFu@+S7^2e0?=WKzU+Qq z9+)rzU~3!Kcg>6VCQH6d?h)t-y}q%2-?(Pqcn4jhTavUQ@jl~#FPHJ&>-L2;lVSWyWR`^x3)N9Y%)FM{`5`ln6h$pU)fMb2T*=6~o*B z#0J6Fc-MjxyfD||yzQ=#uK)lXz}--OnXv@q_6L5f33gQQli;D>GW~%T=-Q#!gpBC* zS^Pep{cVOdrHo!U*|TmagbArOBgW(wLGh=GC|sD!5-OeAnss4Iti0_m8Hi@WIRyD+_Bd;ro% zm*w+dU*GC7?$Fh2|E@wXm;Jkn@kM_PH749vc}!mgV~`_7-G>fbNqmj1@$l;&sLfV; z^jN4ET)3D4(Ri3bT0i168oHbg;9rQ3^vF8X@G5&4dhXq5qOJ5I+w#7dvD(Ap+5zmP z@=G*5ixhB`dhFmQXNm6{u+hd2m-ynuen)n?VSwitjwCT45Z%sT)Z(=~xtYRh^dez< z_)N!PNI927|B}Ape8VimHXIXdm2ISd=!|@fR0PLX*v1^(`>$OXeXij?_&~?Htb7K+ zKRzvD-;=#**U6DD(QJH=LDuXngmY8FCp-L{4nu8&4>Nhgr7O2VONP-IVb@0OK|A^Q zt?bT|NYe)#Gj8f0jy-B@-)Ti z>*-nM1+J!9xwEV_V)mGsLTz#xOHU@-qqXUMFD-Fd;wvr3Ez1gLq*`(L=jWkUiSpqTo;bsA%iW6}k>Q&>B6U;ujI=k9l z-B8_BT~obw3X|&Pp5oHx&DaEyfqt7XC1lWs2^siqIb|VZfn2@&q!^mk&dzF@oRx^o zX`2XO8?S#dXI|>qAk2M=-x3U3C@W*JT-|6kaNAn5L4Z0P6ho{qmnK2yr=vZ|fN|y* zHe=^ej09pb9OBmFSFEQ~QDSItq{zrnX^hOJ)wS32vzz6-sPonH?i-qC-n>HRqRZvf zqpvyt^Zfjm&(B=wq8Gi+lwTcmOU>UCU_8!$Z7TdXNo5eJ!Jee!`Ox-2vz5Q;pM1x8 zL^N6|TV@sQcRmeFq!xZgbIEs0?l>}6`RszT8>z5a-f<5m3FIN+4xKPvr`$x_a;&uN z$HH`LSQ6f`vp*$+b-AFYt*ai!fg}XbO5EKX1bd-((T$-5jFIvzwB}ez`eE)`qbKH_ zHZ}%gpeAgU#qv6rQzy{^M}^JG_i0xX&ovj8y4f7aqpl`!c%1Q=F@Mvv`n7wXu@2eZz8{k$iP@4uYLuWdlN)LN%qoCD!l}e- zX8@Tz#Dp(&gQ0iTSR0U+9mXAeg7Zp5f(S>8c76P7DEqdYVK9Z6S-hzh^z5}HftL3{v%+-p{8NT1oC)XEdw1M(pG zy=ZGLqzs<2GzKlXEuYP(HTZoreFNE|t@h>c&bHaH6Z|8(9GW;i`Ujn89U`0RVIpGu zcAaHz%kg7DSN5!H{@|eta&dnOeQoS!S3|*ftu>3$T36GM5&LBR6TlQuKaE;0Y^X9& zL&?|<>l-{x<#Mnf4?g!*A4G?Ytw&%71^B^N*J$ua*Wu=!2V)s#dYHO7h7-@Oay2+o zYH3cE%{ZJ6fcpn!MXhJB3liT4k%lqtNPgN?+E1IS2u(#=hXqnN!>xXBp$y5PO5EzM z3odu@wj8Zcd+h#Dv^UwH!+F$!J;B@uD?9QbpFoDHgQHT=fFB5IcG+prp-K^-gYix8 z_t^)0Q#m6x;JvUHEu$ok-kZ*}mQtRE8w5{N{^Lyd5^C=z#^3^p+u-K}h&1B20FQKA z4VQuuAMjaVYN{%tAU8A|ymeJUkrZeVx1V<;-{AHJ^s)|`VQYl9K-AQM<&7VV zs}Xohr02Y)Hz?TiP>3=n2yHw?J; zggOx}E40mNttl}<^hWaA5}wV$L|0yjl87LL^ld-V-AUpKr(@^<;lfXg@Q!}oKEO{U z9NuHQfv1n_PFxMRJh*1y%EOh4>o8=Qw{Znbn^C-XyXjV;2>{5jy6^@RR!d2f3$G{ z)0$7-_C*_)G2MAo<7$WXSN%Q2M&9p81d+rZyIhHol;ym0A2{~felyiN z9#N%si}T&+l;;;W-p}ue+zGwOvlotO!AYGLV5eHbfCc5)s%UF6ArSIvgT^G*sf)cD5$-D52i*`8|YP38A}zIPjv=wK~tgjNI-@DT|w zoS#c%iOD8-1&EK~xyP7H|B%bh>wd(&V97;PtT&sKE~u1O$TdW09GYh^efB`l5lu~w2QDspF&}- z(k7fRMuj1beLvbd1x(uYWHXa>CVCa2zu;iNvJL{LmpORfeS&e!AzdaJKEWc?j)8QF zvfS(P!E_v!WFFubcaB zDTLX#>^@6TDqPgk#0E4Oki%zFt@hnQYM6nQ=rZpyjBm^dtAudID)OY0jg;gt9L--5 z*&&t$j3_RP&AdaWbfh3%hJc5kNUdc^>^>%0zh>k>1u7QXC4+V8bL61*9Fk}3E6<6o zZ3KDApJEdKh=E}fo~ImCC+3nU2hfSZ{4YXdd0 zocg>I)ngD?HJT})73$wGC?x-xx;NDW`J$jwONO>C1sO9Lx9875NB$AK4d(Z2`WtkWjHh04wH)m}FR5e~C4MQ$CG`2`@!(yDynu zWNyU#S~?H|ixzxuR0}@RZh|8U5y0cq8ha3UH%x0xH-ufD){3xCUozujeZ$5VOZ0P$ zftb#&0HeKS0Bvf*PHe@a@!{-~)Tnt}r7`+m-VP`dZ``uTc|%$z@;zt8i0p8ro!Kg?wz{R)v_ zb_UU+_DFhYWy}bN0$Car-I8K}>LoQ`SCE1#2VS9IyT7mSME~JH#1qaQ)llkbj(<-- zLT7s5PkKQ}{1r4UHeKLblm;+=xDiR!|BZfOT#pA@_qP6sPl&DC=@J+?7(+(Iplzyl zGGLOfq2Lt5KNMr83Y6Q+RIs?1H zkh)7Rs1skE4-&0@P?-1fl+f`WYeCkW*&W}M=Z8gj+ zK8~5!sE%Kj1v|ka=$Iut`q?-t7+0%;p6Pxwfh`oIo7 zz*NWYz;>9EgN3Xh9JE_)yn9K^Qf`lNrcIa42JQlUc-TEg!zZ&LFZHj*3SQZ$mTSno z#6;1=_Nh*=V0Ycyv4lYC&@X9TcSOSTPe94trDP=e&Wb2!+EOli(il_DncZ7y2V(fG zI0yv6!zSL5WK+AH%J|H-7>qA-Y<$Mfxsc7+r)Z1+{Q#$fpTpXZodZAwtUBMIPyE0D z8gY9J>4X9=fw1A!XGDPHINLViC$GTB2`EqK)D66-7j%j5Lxs#cV!kq}KW^&-{HNM< zSMBw8__lEW)W|+H)(9D9LYwr7?;}lPAPxJSq5D|k_fPBW4pyEsXKcY%SDr(oO7Xlg z01D&1OR;%`;KHHk&A^QI9%V9dFAQ1KJj8w#{~Q`eQQ?pcjep!mP-erb0j(9kit&DM z>|EUuuA#kfM>t)^JA&*E;*PP~l(Pj|GBvW<95cJugTz(B&lm1Y*0qe5UXBA1t2X+TQRGGanBtdau;fG2J*N6>NNf@mn- z3?VVbVL)nv_=hd*W4rf`sB2gz@%`Vm|64g6Hk7b->TvxCcI&iy@&Bk!^Tj9~1E2my zkUs+D`a(EXr1y}usfP!g2I6Bnr7D-g^x@cfN-wBBK~ZjyH~uO8NjpICIlSjC$8q$D zupIajT1kfk z9HNn(0$Ww4Pda5Wgp9OLI`(H|0*4}@Z8*!zNFvwRjsMw@J_a?Pm&Vl0Bn^d;>HSd< zXXl#5K#Y~nXHo;6xQbMp_Q$eY7e0O-4j(@;{9@|Cr%#eG8lS$*ne-)~-;2Gvi%un< z-eTaR!yT`pj#qO9(k1K>+rApV;$1jLV?wUDnmfR<%^NsBTxpcSbronbdLPimR7 zKpMRW<-x6tgLv#&#A7es?E;UY4%`9`gKUKO*SIbkwXlgid_t}q2mGY@p=Ajb>Y?a? z(;YIj3hoC$1T12KtH0(?SbY9|ea#KnkWdjp64rq)&?B9VIA2PV@46E_i<4i5nSxVD z4UOtx%uMai58marso*E)o(E2szgO=N=MSKTW!T2M@@?9pRDM{8mDa+iK2Kkm>Tu$H zK5$E%vLSiI?%b=t6lQlUY_v<$b%oCwY?-h%DYnp|wM4^CR1=FC$ic3IYJG60=_6HV zUl8#er`4FQ`)+-&9PD&eVMq!`vxNAU90IB{05WywJ;4wvVhEungwRGby$UpU3*oNtqTh6n*4nAmFG{<^Iu=}{C4O~_W#p@x*sy~ zcw#6E-heK>jIrn$X7rnHM$Pz(Vx_nt;FO~vCUy&*I4}-7Q4!^cKD{#Ce^*X+jaIG-Rt1Lq5c{!ArW)av6gynTR#Iv$<00a3TP&8Rr(E&R@+^*0Sl@<@X z*G;lRp>2LtHtk@O4Fyn{jGHJs6*i!utV{4b3&H6%M!q@sPF3y^{DieQz}J$h&E zBU0w)2Q8V&1TS5qclIkj3P@VPhL?c%&kwHx`g8wy8vduEZboD4*|5&7tz+0C1Tmbm zC?$TDZK07)>Vnpr=9`7AE8p?Kw1i%1@7Cy{rl@Fp~$DTWZPGv>tyQJRX{N%X#=CmNsaFf8bKK zO1Y159KVS{Oi?d%*Dmi|pEqSG=WE&}HNiS>%lF<~?oCa~d)zB5h9^0!;NIIf?>wK^ zn(wugdz1FD?v_~M<>EWSekQajMo^Y{Xs}JZO)->z4j5HzS&A+N4s&~(Gq_~kg1@&% zFuqw_+lTt#oM8XY&8}HYVQfX3`Nb{B@VSYF-8Mrwn0DlQl$mM{$#-tX+8!?jF5+)R zwVxQme~A>|mII%WvQ+#ZIn*N`-64x_%EizrBl@97{-i@u450m8GJixCpB!~?re8D8 zCq~6T${sZ_9Ibi?g>ZCme-b0!Ud8?wO)ju%KHSt9_Z)61hcuzZ@K!`B>Q6e{H*&-= zyHOo@4n-IVn$G}66Qx@R&nmuX?<=rGG=e=!F$Hx-CYKQ_LD)u-@p@2p@0XFcMnkEh ziI#{}gjCLPUhqTT1v?mK$Lua$DpyKiU0XG`mljKSCt>c+5odQXT;J@X{IW7Mp6 zyqWRweatY^<5WyZ*-v2ez~80_rerfd>+k^q63#-ushua~5}!WP)l`Ud-qEG&)g@1DSyQrZ zv1$4oDYm@r{F*iE-kLYXyl^ADINC91n0KpgF$n6#rugx@$c>=&x1ANHRV}8cvS>29 z79r~rLaXMP%z|l-blsI_*Q@ZT`A1u-ZrhSFPfyRPf=b2}j3%8&Rj`^SCaZ)I0=f6< zO+VB)Tjl)URo&(4T|^TpQ|CnF7SKd6@b_e4DoteB*hElwQM2YLeSR~8*{mtpxIp7k zro#YuStszjo;KWXigC3KW6FZ*!fbXmUy{4diHO5x zhBeE~ce$w7$nkMw65|6eP1E5PmV05!t<-(GdfeYXwKjZS04fXOqA-ZOjj}KuTT-zl zH@|6hL?ORkU3a0OZFqg;=BjlUEL`R~GX^E7F_y)q7=PPvRTYiJ!md`AWUdP?GOSrd zJ!JEO$@!$R>!q||PLaCu&BYsM zl`f3I4-Y47garoQh?>~t%45n!xT}E6N02~_XrrZv+miB-lA?)$*j^&woCjSHxG-f1 zoJvP9i6G$Fy(lhD@3i^Ic7hWMDlvYKT)L`X=t!7xgg2hY5yX_=HH}5FI#ihmJ+YC;KtE-X8tSA1m8ry=M!>+nq9SNyp_+W zm7edl0+Cgx&@p;vA2e&79e!$pG(4vn7Hff%U}uLv^>4!`RQPXv4CC5B8aI4t=G);E z%u^TwaU$vLKE97v&oO$C#v3Ajfl*hiwy=q>=%Bn8`f}8nHwN3&7)W$lraZ*y`HrrWt-eG1xwfiC^8VW#TV(&UTvT znjym@;6LzqOoiCldyBM~={;kBG;e5!Jzc$8i{2XrL@z77-yDP^O}>WdZfA4n(97t) z$Pg-xk?ujVfZX2uY`U8s!i7h1fwd$j%t5$nvM06B@EGzk??bJ-FY)((!Bt52KuEm( zA!~B`9`Kh}u~T%GDZcvHC#8Bwd`&cxORL=_F$?yCv$p53wCa$MG|86*!*`~3-KOOsfmX3KK8ct{aP1CqKjX}`O zmFt1sldgX~ah-3Obp5G!C!T+O;yNx;y>bX-nkR% zhkifldcnkX_iGc^v5v?#sep=)+W9*<@sd9qdovDEybsR5K(}6vTz@J4q+-9aZrAn(1TR7eQJMQ^pw`vp|-v6B^#@%50 zp4|mX@UF z1>@Z_^!}{>tN$ILrAq&qCFP+}G_odZOXyAxUhRk;L>bnb5e7n>Ewyv~m2pI+793;7 z7w-*`FV+dniqsU z4SEZbr7souz2IxUYwQY>7Ny;hNqahJT)hVvWCKyy&V@@#x{mv^xMEqGJJWl zH=Rof+yhRoZU@C6Cx65?J&uNzN?17ysJ7@B5g~Y)8g4U;(-Q5ss$<7E+y~urpz&Ey z=TmZbx^ZTtS|&nn=nR9P$L|%3P`5_hBBv)?1=k8qe$E2QZ^NVGYU&u;cS-ZX}RaMZ2uMMVL4G+>mRjg^sqTfeFg&00=3$9p2lJqBV8zu@?j+W{4!w>xnR{=XHYa6{PL*Scb}*q z(*YDJ^Q4+MDxY=*ne*Xd$7S#~bw}w+VPyjOKl5Md5ao{qTi`&RpJm^d5(=_{>NGcR zhbCP}PiT+D#4|A@7`--+T3JVNoqee;@F~T+iwUknto!Gqb-TwV^0|E2o{nG=R`RmX zi|L|!Js35Ifzkk44OTWiVTtIj)J|B{$4CuxN;x-`JSH~v;jVCDD6$I|<&9|EhvW_^ zOAm%hzENdwGt<2kOB?WyI=ohvNi)D0o|1aeC=MCLk4Npr z8msn%ZD8pFX`i0bQ6#hPtPGO6!QD2t65S#bdUj$@o3Rwio{q0YVAWM?5%__YVuTKL z{q^Ya)^Y0%TnB+hP)Gx*)72&@rmq7<3nTyLr=-kv_!Q!E>M?@hCd7=`frD*kSCbiP zq;UO-a5)P0=QKoU2nUkQR;LJkda`8AgFd-CS+shQ%VKD)wOZV^I=$IiZ;LtH!tN@= z^GDBqp7>`j^x3E_25ZOu7hOXL+#RR-Z3b(rqZOv^F7~%{HC{p~NKaSd9bM6j7T?iv zcsr7%Jbwh1<2^cj0~OG^_vl8Dn`rhaWQPbn3AbUS_DMo;B_%@+|3s=`pc!nLPbhb{ zB7a5*F<^UTSMu!qy4_n-7U8s~rOv@D}r%g0vw)Ao{=^q_|>Z4HAkao8jfdX(Gbzd#B_A->4)snRblAX1<(-nGi(kq(bv1 z+1Np2;Ylf(!_m3m9gVi`4)_j){-nbU1t=roi>&3>C~>pPDD~UChG=+%JVADeNFTm>jIm<)IB zXzIUYSd#_u$^O(e{epJB-3~L+_H&05;EpY=GDFdpp_NvNumW_iLf#xn$d^{l5-lU$ zt8SE5B?`vwRdb}ACRfwC=abnl2$&MMz3gE_;I2`S5(y5x9v0D%KY0vfBNpng*?aBT zMzKe>&RQb!4p5K@8R$6lcUNq9?%T9sW~2%eV3>Z~8^q@w^@L0e!x5OIu;~S^CJ1mB zrY0_61wN%GXoYu-cwWve4kFPRd}NB^AgYa>yGIOTZS3QKnPL54oj_S4Ce}^ApUGTv zP_dnyKta5{;t&f@1k*8I{7i1+m?JB~s(@lIAyfBf*{ALRwtI3KM5wIZjX<0QR1eHD4{t+B%Y)fU5kL07Cdgfl1}Hw?1j z!GeHq) z^^NbmyY-E$-+fvsoRq8vrt?!*Z2mn6Ie( zICSHo|DZX`j5FWpMEU`H+)t$W5;zSdcf~j(wR4A^izKV=tYnV;!K3KHlH*>F9`W-> zZ_rPH{gitCL~55O|m%W-JGP202GiO7K!n(_J9z#Lfh4up!R&MzXGR};(Z-zS8`DV3OBL89mGm(_n`!a4_<1FMnlIm+eBBhV1GkKNa6_w zK`q%yBo*Ts^O>L>BabQs{YZd|C=}o@=ChmW{X^QXjIOU{q-x+7?&=_tA54i$=?JzZ zGt8{a;DT!C_z~tb0P3|*{nhqQPse~`J5Brud>dle4ayi;WT80Kj=UNzaL#HzR6i*p zhcYKJMBN4b+|xdP8eQEdu|wTp)diBgbSIHLW9g3hotqIJjL9d#S(VKlX7&LZkwaU@y?-nvMID@Fa9%H`*n>zE zd{-LnmCB6t6J#8OUU8?C zZnSU^%BhVugSjIJSsxpl*-^!ADa8n=i^+u40s)L+2HDxb)7faNBtoBA8$)yzIVpSi zd^Yn1F2NN}O}QyG>TJ3pn?0==i6|1;o5%-ZA6J`da*3ND?@KvT5C%}URnV1A=TOf! zYatoG4$DEToxl+lcJ2 z_8eicad`rVGzF=wo_a&+7%G`Qk>{8KfKmd4Z%Ru4>lCzMM#ZP88lURe(1tKd|@2hm2v2(RG|ajhcF8w4N`ZZSoa?uHuY5*CL))25-!(|0tAp%HANz%%=aQBS8KY>o7 zbet9wcevdOjY`ewyZY88<(9p9hH@+QX<5i;pC%%T?Y-E7zwEE6w;sXd*Wl6sT_RVc z9$7) zReKPwSl?*xKH}7E^yFBaiKBQxi>ud5=_0w*vMe zclKFwEOvHUDW0+9uv6(Tn@4ZJJ6nESm44g1YM_PHi^bYS`#*rz7fs8kc=cBe2xRx4$`&BqY(Sx zTcVslWB%>m%L9p2gEk85(~HD&@!JK9=t#CEQ_e=m0_y@LV`CLkXf1qaMNFY;0&Vq&P}G#G(Wl@?-|^PHS_PG0c_A2n)` zsQz(QJlbOVPa?;ioU*V9mO;UUVmQ7g2L53SxNPUjywLoq`#6uYEYH+8>~lssL^ywQ zMfU9cq8&rN^zsbd5-A&EEDt(Q(bs{qa^{mvYL9GD)lo)#6cX9X?Nw!d8OxZj5u3yq zf6UCrm@W92@i`Sk{9KT-0EeY=q*AdO;D&P)Sxi_ESENwU34+y$O%i4zcRgh5OnWfp z?;9QVf_n)(_}x<-t|b!GcWa(x3bhv9{S7Jz;yMdocB@spy>ZE{MS103P0B3Dud1Mi zDa;eN3a|B6=}|SDMjRZfh45>X(IN^<$>3Di%|1a~jriCF2+4eFibY#zG_4pMk2V>X zqxBg7BiuE|-#$KgajSfsGmYxtdx1?u+*<#cU?A(V zl30Rg9C?M#-dVw<8#7pN#wVz`tFucpOv8>$_-&aR%%bn*)CS04fbQ|TU_k3|9x!Mp_?zGy#k2=W?y`T%en!2sjAJt3T|$w+H8*N zUmx7D1IAR1IG?7rIon(u5lX&XVCO0B@P&w{|HS!sFd0!xBW-NCw;Da{@NV>b{p>F4 z$1nQDWM6S)Mhw=(ZM|GBR^t-7+aYf3$glh+ONT|PdOEmyYtzrX zw;u;} z1JBYunG!Qh8Q=@;!NnDA*d?xD7Q;U|)nNy@Adz;0&nKRE&g|$pw@fXKn`TiF|05Vf zi$|vV#Y)>ct$=7Q~sKOijA+emi9J$J6HD z;=VMBoVX4g&8=U`NohD>BqM{rN8tyBbBp~N?;#EumR~hHdJ;bb_*2_|eH>my!}L@9 zvuu%e?m#|u)JhD@AAzp!0JtTTZ~mvel!d0QRlipZ{E~7_PZ#hbFdadMm};|w5S?SD$zK@`BT<6-qW>4@^3v`c=YA+%w<7O>zZYoZ9>9AVNQAL z+`zw7BV4#kcv(n>X?Bq_n?IL|8Hp8KAF|R?u)GMZ+G3s2SIqyf?bFm`HGeS17Q>10 zZQ}La;&pxE^Z{|2v2_hr;1AFvGgV}RrQA9x{pXQdr*eM}7kx9-q)>`NI||(~az&r! z*X%JPJyhZw5jeWCW-(a10XZ?|Y}tCt>I_YG*UDCQH4Wd>Rn}@=)S98e!_am@_4!!% zvN`uWY(uwhIr;g?V`Z(qz2^&;mOSCNX_pry+$*S)ztpcahq@3#J8YB;Y=M8s&ccC@DK70gY^?!U%ho_#Cgq#Oy!rrX#Q_puNiQ;W3 zSH)`7jX+!tKSwv`t2bw5o(X>SNA|R~WDYSd{r8xQbt~DxZmx`N>}Gq5gD2&a9bZmW zBO?vG)5f0(-OnA^J^Fo52k84iRKm)>u+1R!2Ievb8gWdY$VfNn?(g$Rb0Z7(`j$@Wj)~6Hh1gbmFJIvJKJnmdf%~rd^T&*+9(QW>lMi2-m4P zRB2g-DEjy4{S5602k2$rp&!Bx=D8agU1n!Wz4_)K+w>T&F*jr)sSL7UBz_Q+6~S1# z`f|#oRnxIlJR|-J3x$+mZXbKVHA+n6yR>pw!_1Za*)qOATT-zzJ9i%%7IZaG!!Y(& zIMaUG^w41$-=RMLnJWHF_r4SqDo(tkm!$Qw?`;FqkA3LCryHL$%AUYZM6pb#Rk^w6 z0TANTG8L*AYAJG}{tLmxS{d7lo;%9Ler1!h5k<=WsRR>EI7dlzPRYpehhZRL8%(%? zCshah1dyOV8YDMMrnp~Mt0vTelmv;ZNo#PRT-%N_nXxx5O345UFG}397~l&szJ&`s zs}c{(SzpNTVov?=EQrQ#paNfJIx)iYbaf7{5uDHoVuDP`fTCJ5d(Y?6YDb8saJ)izy$I=hxsA!D ziB`;wlKPxRxI$`T9522(T64bw^DZ$>Zodx`S;__qX%;nkjE9xtbc_2UU>?=njh-WX zQyjAeF8vm?7_YoNc%K<*8&^fR;`r}a4t>oV#h9+`ef5>)ZUx%)Rd{B^(1 zkBxMs&A)XXm}1rak8qlKjH9y5KW{FlnZuYa=sdUOn<5uyMBnwpgYz^e*Ux|M>344R zY1s1dgTR-l#z~NJTa|kYjQUGC2P)~J!)lesc_5C`+#j}EHWK$0iM8>YRFRf6yNX3- z9!n(-6R9mOMe;iq;cwEcPb6#r`2EvF(k$%B9=jCjij7?S0cF1EzBkh0J4s8c!=9Q- zRr#8+(bWiSvq=L1wqYR8F)kE&QIn1rJ~A;&wY?9T-L-P~@Pi!@ z0e%mk{QShj00ICrU?B4rbG9?I7VkP(tlP$d@^e{#zY3H78s0~ONril+^eQmv89m%Z z(V0C+j7%`;8igk$;gU;i9n}ztLE3jVbh`qNGnjB%h)_W8LpCbTF*kl8c%wNprzB+z z{C%{4|HgKx@Sd38b6`CKmK5?7!yMeP-1-C@Z#5(j*gqPCz?zckWN-Ci-Qp#4|9R<# z$csjsxO>EYg9==OIn4|P3DW}ESmH%>oH6c9ht&W*8OV>c=SNs@oFOw@6yvFkwh1xz zk1luKyfNF!nyFQf6HHeAN8P!3&in06S$$V61!M>%&mZWRLQ^6};b@1st0wT#KMH)T znN6DeoQKe6m~KBidWCL-xbShR19nF9txO7i40wq%uolzH^i@(FurZhikQgM$1?_4Dnjkwd@e5-d$`;OTRvq}`C}=EH{*#Q4 zV>ScKL&3{`jzqN(E_RJvp)0vG4@8*4JH^Rfr_AI$N+i9h5todD=TOkpUCJGBDf0lq zCV;}+a1HN@_U8 z!-y}I!~7hb++pbpZO~ZB1$lg|FOEc|(l~!MQUg9;Ih&(K+au7RGENlN0GxqHj{PRp zQ520E%lBQG@vwqNW;1YWCd+gMcJC z@y;n=2i~F|iGSh66C>@EG%7>qYBdFx5|i6L2k$Zit#RQM15)rgT)W z`wh4alP(lqNH;-ApiAuo z%*CqmV_~uz5?8V-4ePc1Pmo=N^7a7lwE-F4G-`kZcmaNpgB|$5&9o%fi1*2t5>js+ znKyMxYU+sHXAnrona`C$f%PAJ>gyvo%dBeqeO&tNuzNalWb>FDj2vtz=}u=lun{ll zzS=UyxnsoTGuTu$dgRiMb9p&etKJ0>J%Mv2b8FAaCt#}=+^co`3(OI}WSAnY;4Dt^ zs+MNJP(b1v#0-{k2-3p_n{ND&Rsh+-iP0mjSqX$F5hH*im#R!^ViI5C#lQ$2CqY($ zLF_AFkQsxU;o&Pd^^+08Dda6jl1=wH{Kr3ogUfx1zP+R9ddGDD3Vu%TE~kgXd5Xd? za(p-oAUp<(rPOA7EOVT=W*vKmFtw}>(yb1Ba}n$Fvg`@ECd46Qm;pjA^6&ZDM@ts@ z`~G%0eo@_>y^H+WF?IW-@!~SpE}KtXh4wP zqd}9ylleY46&b)W7dhFt=whK0X|5ozFWhqSi<6&|0GreKnV;O#6Yg7HEEKF~Ltk*U z-mQ6!`6`!z`Nd1gb^|L-hkMH`$g=sbZ$#)%=@--TW)I)5RzG%(t=rvkC%kJoMw*F2 z-si;`!{663GR$Yd-5z|7;PW{?U*mHUpJVtyzZlM=EOvg{=N0HoJls{}96_!G%KaxY zV*<@jY4F$>-li+cW7jA`R^DnDIr?ujtjuFKD7zF}mIsuXcUzHV0c4;b)3vYc_bD@U z{R&KZ!o%Sy1`Z;)t`W7lS#`v*%&J-J0ZBdW*y6-vInqp3>gmggs)d+!p%bMua*qXj zXKw^4M}Q&acflVeE(CFg#GEt46N>+;9`bxfdg|2{6-79KTbF)@la)LC=UMBg+pVUgmt%ZV>= zSu>eILb8~mu9Zi#TiMvL3C2Lpf(c^mxTp(XEbKCukecPTEz9p)o(5FuKQ}R(hmyZs z&j#M(YL7PNa}aJ%xxPCclP&VoRMtS#aXvNL;j0l~>&=R0Iy*n_Jss?wB{uf4j>>tv zuXCL0?VW9&RfSwUBnKaBM!ueuGv+=Q<6K2kx2dn8iea3IpJG6Zw+KhRwM)kMG`r6T zn$+=YyA(%1;s~GZQY?Ls6_;NovIe>aAA_N_ZEf9P2oCdxKPJeqcre#C~ZNYpmSMF7@FOj~2dc$Tp*rbK7IJNlsCy8;A zbc5QVL*)v!Dg~kTgoVUef9lc6g<)nH{sj!lyhlYO-4?8>fZTG@1(S4Ipr zjlGS&dX5&J#nih%CQBaiSF|oq>%Z6k`(wXKyUsDgJU7TDP*?V39bp&8*gs_LE=Fv; zbS-)Uh7n3?@S0FaLr)EbG}O}2R7+m{2;}vB8oSp(TvHBrTG+E2nhZ%qVitqFDH^=; zY8{6AW3G`KyDFS3j#;gP4mME7HST75JAx;BPRa!dNM?8~#qn!^srwTd=JyJ05naOy zAMy>B=jN^}au)ir(qRR1O7Q$?(tm4bVGy56+6kqP1XI?&P|4Szt?ph@z*+q=&CC9ruz0rkrf~qJb(ZD5x6Ww zwGYa;7u6HBFDkL@5Y$SVM-KL)m8Flpa@f2Usr~+x_0eP8y@qE z*Vj#ND}+%gzHa)CGN#sRddE=fbgZ3roU_kleB$(S@w!@X@s!`UzT0KfEfrACJM|6u zwbuFece>u1#kJqgq_#lKaYNa&wQR-RC58SUuU~$D#b@EsxV_wKt?zU-?htD8;{QM+ zxk;|gdu2*|E!IS=N($B*e!62p;j@+}GWg#gr7ntE*cWIK3tOrbDh}QTV8K6I&}nwJM(auR$~h1wjKg=O^@D81gH^P1Lg3n5{?Wy~btj zl7;B_4$Bjc7qR|HJ@XbsW96529?}=AKE6*YMAfEN-JDt_1;O2$-up`Yk-Y1sU)M0u z40x{v!-|dckncn*P?l`{`?$_gKRhANCQ-TpPckK54nmE!B1wi)pL!);s1DF&b_ans@&<;<{58oGyC9eyedsVGw0#^^H!uvH z<-D;{UNkC->auQ!VaXFVEU8!4KhwOeI=h86Dr0KFgyD##qaPK`W%WRzmaWz1SsT}s z`ZM$W4SRod`(<=Yh2)VuF<9URASaEa4n&#|7)(+}_$vo@C1Lu&K1R5Zg%hOWx@j6VL@cvobo((|{1_D4w&My-eE z8IkJotKEn?z&>ZhB>sg1lMZW>WQdNJFi+*o6W^1wu4fp=XNZQ`;VrJFRZe|d?!7q} zevJtujrakoXB`V>cu@5Vp#sDLM*9EWRQ8Zu^eFlxD^7IY`=lAuP{2a@oDKh z9omllDBT&IW?yAgc+K9cc!c1u6qo`u4V~S`x$^Y+c}7ng1ex;I*&~{ilJj;WjGeiO zTTq;))oeAOIFnUe3;&l^y){*sieeyM1Hcb3>D~d;lNcCHoUx?w19hKaipTl>hC<>+ z`RtaWW_ArhLt(S|iPj7r6d%C2vYGus7+%Vn#|?gWm6oJc*&l*=$&}qeWA6F{UewnJ zzQL_Lq!$nAI$n6bp-0eP%5(ku=(;S)TM6xWaqPrG8i-7MA!n1AUMxGK@TN zNY^`6x;a+30SNMBtX)u7_JNs@a@1u{9@pR@BeW?_35h1+ok^{*cr;A?hHlPfUxrZbnwnG{1n4Q_ef}c+6 z!7H6WjT^lEpUgsq&yX*HJdskChBbV+Lh1} zuy0ZiU}%tymVLDZ-`5ilGuQA8&KvfRbh9|doWF(c<5YT$E_e{TkSY1gyoJukeYy9; zWKlxq{G}>k&JWfGzGW3mk1Nc%BuT5{pbc5FEE?ZpEtT+}?V&XgK3TRpX31Lq9Q*xK zgz%*aY#_0`DXFJ%a!gHM+oQJMVD$X=N^gE%Bm|fxc?5dXz>R@JEB8hQ{zq=y9Y?1< z{Hv>IfNfa87;}fRf|Yc^oJk_&En6%s9q}EKIQ`=f@vY9-md_LvN4KXljSc#;Cn}zG z+-=jOdov?!Ym~Lwz>@OmQ?y}y5;u^PYLSI^$40{+e5HaMdr^{_m}(obNmQ4T)v2& zSRLc`K>j-9P0!PW>y%$zGDzN_$Xujrg8#MJGYs;ZYyP|_6+4nG79%H3IAkx~IUwpw zde1)t{`8OP_L~@F(UPXBFf<2?Qy^;&Q=p5SV_P9jjWcyeS`5-MjY-xF-RKC|baP^i zSx&~1wmUX5={+bq-~J1?>n8I%%iiA2NssdHJo@%-*7~R^R=sHpvww?4ajPxJec9$c7oV5bo-+_qDPubVj7J5B-JC<=fmZ_wvkzX~$%&|o| z4EALaitx2#Sw#Gz{E%XYMvk5?`7K*SdGd9`zXK0ZAqp|%oAL{8d$;55?OUAh%hEJe zri2uUiyH(>WubGa?wLF{Cs*Xf%jJ8NHty`K`9>Z-BNktDq$aB7&6#nXv~T1sX*!bQ z>N9R|$j-O`GAvX3w)Ypf*C5 zoXdS)^MH3I=bhE<6>&PN%e_-e`q#OSsT!rJNWd>>T z{h-&emQ_B31Xi)s4?$|2U{mfSa67sDyKEz80Qx4Y0jR5DC4(hHC*>j7M#_t-^h?gT z0cV2LIs-0^Uj9{W8F*OYvY;>bQ6(}H`^s`4LzpQ3lD^sv5`+lh2GDW4s0TqW7foZt zoY*V^)8sF~W(8W<9@wa(JUEu~(Wx56&0J`26E%VXyF`<@v^7JG^Eph_(I4wqdJy&K z0g96OrRHZhKK^t*6gR>UYj4#r)gk53n)9LkK!B<5mxr}a><{UsHiM)Pi*Q@)8oCCZ zn)%okn+{>LAQLA$g7zxBNAy<9iLO%>HAmhmD~A@c2Rv-?187Ers4Y>Ceg>W&w$@LRcXoc;{UBfWko{L& zJEIt;!TaQkQRU(kD@#=>1daO-azUF$5>0jGU}5c|NxGM@R0~>Rk$LGB=?30@1AMm) zpdP*(*m6T;VZ9aAy-EKZln>6d;}z*4q|wcqg674BOId_xV(i&04gLN3r7Si5een|b zUh#!XGzLKMwa=!evT~4jEE70q_)8VF7P>&o_o-bkaqyganA8p+`(YJF4;NU^Hs%Xu zt1H%nL5Ns+wj5q%5wu4NVb-x~`u+kDY2Buy>}gUqRFF#=k?Eo?cDM)^%Ffmv1*wFZ zqs(tXx$~sblx0DjStKSS(w>~q+)pDw*n*;h)?}Aqnx!>;g?&XNG#-cHnWgDl5#d^) zl2+&m$FFz z%ZORm)OkSR0d0rkdpF2gBq%(f`GC&DNH=jtzcM4`jE+RHan~{!?Xb zX>{dD37X>@q&ywW50-jZELv%2dZC2hCQ+CcKN<0C6?8o7UHfC$JDO+1GT~k~CGpjk} zTd7!WFXo2}T?QoH%@B$s1J8{%4%}6?q1>P=yr<-8ziT@Ofc^#?)We~5Y@;iCYc;)U zO}4H;Bn2`Y5#_@=7Vu({Ms>}KFUnbk-_T#AL~jD5JmT zu*{U-98vI@+Go(^->imwiGk-9RIQGnu_ru?67Y@w3>>n+M9tRC zgM5IgUwoUmk;^&(%@-W}=4UO1Rv_8F=W?`E?u})OX)VjeSV865)1B#bF1E+o_mFBg zQwp*LbQ8w+l=EMu>1wM5UbwERXbY50rdu^)=ePC*mB7OeU)cacixf!^Y!V>1Sq-ql zf%oRu^We$*@}dH6xlu~vwVFZ}xzT5%U5Nhf#wI-MUc@%;zA3yo?Y~wQM`gw0 z)cl4PNAsV`;=D?WquD`=1NU?KVu%K~N(Rh#YrV80;$=(Uib(4UYcdqLfbXr9|1VNFfa5mX zsw9Mh<_Ru?P}ppXS+c;rZM2b_;nZV)=Hn`xf*{An*+fHY<^P=~LH2JY34;a=i9e80ueu4eH36%71f zY$RwQ$!5=2qm8pK*KVq=?GmD(-s;+R)Gr#hcD-x?rq@EuvyD4+JG2~OmiF)!m;qWf z5n3(P@+ESE7<&bqtm0vIn}LvZwH6lZ&2nvv+44q>m6VDF4!)sSy?OJu4aGb?Q5@-Z zjW+I%yhhi;!vQ<^j0kB4Z=W%K0L@@0@Y;q<3u4KM(9`mP0kuY^c3q;j@F;4t zEs6fqOg$lfK9#o*_ z03%(;nxsg4QE1P>hR87O0rxAube>3$c8v7s1fGab?`Wejt?XGMK6j6wD&=!^y>rbV zKf_F;E48*-id6Wdca^T6noE4rpQ!8hKPg>5OI^3W%}CSPgGTz&V2Iw(-GXIiN;vHbWfGl8wYB$u6o(gtHKwQ8u2WXCcnvRjJ^|jTYj#bvppsg_J z0*kQH3OAGZt|m;}L4_uescdX#w$f`!RwAk`TU$X?TWZfLMD^^pX1^E*I!ivRNK;^0Lsgj+Aiw~z>R4{P58DnvRE5BKhoG83EZma8pp0MZUxSb0&W3b z!Rikyo!p%^JXNMky5)_u1$#nlogn} z5&V}cPYa2$+#AOZ7hos~Esl-98TB(QryN~^3CV7BDRZ_UnS{03(&}h7f4PxrCwpN{ zG?j~SCY8FKN8Crj>`RVHo6w(Tuzz@gKLh`+p{zNqBl3x08?G6u{28#LGFEX28=awDuW`r8 z2mB)%I45|jJJv}vG*X_HsPf!%_8B-Y#;CGDRQdYAPe&We)5|K+S78oOD$ivfB{ZMP6jn;1ZnM(~<>cZ!X4pf6naToUqw~E} z*(XW$mM>1l4uS?d>XT*>ALrF6PaCd0%|1%c;R#QD<+-HUAO)7@BMl%hM;3Z29j($w zmmxht_Hv2Fl$%kYy4WR>5NzM4F4lzxM|Mi7h4Os+_BT>Ly-3=u``|5Ri?RRhGJ6lT zyWOtH!v)A7brca8zZ*66jbtrhdcO%iKv5HBIcPaMWQ&)EimhignG9AOk1ff7kNCNf zf_#1DfTy{z8LJMm2&w`KpUsBP1^5yoRd1N(ch`&-G-%5z9YxT>415(nW zq-A!|D2YONMSOt%BpQ@mH2B20l=2{!#?g!=vI&nr=8hUIa7EE5`Bz2@c0kmPLrj1| zkS&$@Fq!3q=`r?K(aj)wfC%z0n1VjuQ$1ja?s!Srp@IBq8nCpLW90YGkyvl=*7!F8 z;gMICJZbg-7QEGJvlfqVc+4)wy2O~wSwV=K7&!b^+HaAO+pOTj$b#23p62%#0saX} zi(~j#0sn?E_^(G9&c;za;2wZD1dz{&5oY&4X%79*DEWCZmQ$We$V0A=x}~+Jq>{LawW)}3XxJZ<6$Uqo!y87e-3h;8a%wQjx6{VAqLzNAx_AzMup_}JSng!L_NpHkpUOuG=)x7aU)?To1x zvY>C#{X5zpj)fcKNX?>hY=HI!d@ZG}3hP;rV{I+Fdl?o9M95n2JlkdY28D)>Se@zK z>^z(5aJ6O)WBK!Tzul;wml5kS@&|9xTDX*qpgC=`FP15|pm%H-1Aq^>_I1kE!wCq) zZ9BCJ;Gbm$a*%=R`P+~~Z-5-iXmA#ah5JFWij+9%2KPU(vbPVoSyeK>H)eyh?uq~cG2h@QtABqsvfR!)^dD$Zqy|h22nK zEuyDA&F^%XX9vq#mHVb2L}9M>zp0mMinS}@{}5^!Y2>0RHWc221MLCW=8Ia&y;Im* z=~Y<9TMJvDvUsPf`&BM!S;g9=+Q*kcFA$yZRNyYg<9(+qeo?l!k>ed}|J3oPwDh%m zAN15ayz_tKscz~#zxaJF>vbg=jkm zeY7R7!1sC9dnhw-wQV4C2Wm_F=LCP@DKGRZ42H!AKB5P?r;Dl;ZUQE*=>!p;dT8&| zSS~h>ek$ho!fKGmT-gsI$EY&<`|Ib+{cvUbh6CXgPh3QK=e($)ygn~VgGT_1?1re! zrt_VDpsXGKWZk@^C#x)GLB;M@8idwIzxET^YRJ%>U{{JOQ-On;VvW0PBvnI%8>Ygt zN8XXct)kbk73E#DBid{JiFE_*S9O2hGsN}oF#pZ3_6 zPSG(4y9R>J3qDk17#K`;y?ItJL+$rQvc30VLbcT(3wdx(j$~g~#-pO~y#4<;dl#^% z&TD;q?>(~zkj-U=aYO~3*$|l_j4~S&2M;7LGKi5;nIt2om^h>*qz4<}c&hebi99$+rt z{;um=-}=^i*IKd%9B8d(z2=(!n&le$J!hVM|I+6^UmLM#52rgRue!JO0dHrS7XWJ=F1%2rF1`b*A#YK*R1~r5 z-j>xs!}Q2?zf;ikP(8x$z;CKO_chAcv#O21-ye>cmYhG592zqLJs;58wLxQ`Zlpl& z{9FBk*lca}<;rtMg(zUbYw4|^t0VfT+Rb%7UlnKkeTp`6Q`No3*=5q(=}+uAoj)Wq zwfOF8@U9)ZQ{s)aamG!5&_GWRKD!qso`0op-G}C~C{A}9bF^z`OQ-&wgQg#cIU7=T zuXiOFO&fKa$siimpP&Qayb7s;en^wLo}?8N0BHJ5L zgYYBApCSBVn2G1Sc<#0vpUc#`c5{w12;=|+1`1pLp*{i(e4C$QHrq867zJvNUM(E! zDXe0sV#GP@O@mH2SWn2^6ln@ z+g%6Q=aWAY8<}~Uunj3@!RUTHVmv-28UQh(+Z=^ebN?bDn+w)U8l2IPfJ1vxZrnqJ z+(Ja?mR}8&tygpwZWkXx`2&UMAr@gyH6hQy-&_8^AkIP!PCKm+|G3p@IP~b>i zXw?_6>|NB$;#@o5u7O`!xlo|DN44k}rv;Fto6O_D4kM2(_9`q%x>A}mxF(0CZ%}9L zQOg!Rg*jgJftmd?^&Ha%@orbdTCUu(S#RQW2?ukQ#wOIJ7!hBB?R;~?24nCMh^f0H zbb5GkSqrNU8q*imZq6s)xJ~FQ_%@g)R^bKe@n)oqPECQkvYvWeZYgH1Cir`pB%ZNN z2Qkcecv^7+lCQ*gq7gf1+~MPD<+$$>(K0T$6vqM47x|A64Ixw?5o|-!WtOoo-Df0$1&Iaf zBG4DH1YsN}2u;P{w23D5R*QQcLjCq~ri2JloFUo6#I|!7GFwTL_A^7Z5Iqtt#0|>& z+2_+`bIOk|!5<>e&azoVi(;p-`b%4GHV8T)Z;fTmw*Fk^nuG16@7nC9@~tj`DQ!1e z3v=>oaU3n6&#hU-+i<@$-=A(xTjh;ilcxBeJGT}TqS%C?7v!EU*QUyyo4oJNU$u58q%hapWUqju+tTc4$niO< zjAJ4y@V*Q#D%KZX{IKgy#W#|}XVxrhB6S1BD1fF{UzkkH9YGWPXEIYn{cmbiUOABeC z;5UGW5H86ctwKWxm4pT6pB>rLHfszQa@~u*6S5{|3|VuTKA6OXD99S`yWJnZ2bV>H zt!G(W?_OP1(t>#al1RI38)W3O^bDlgno9-SiYq%eA7+Jc&?CdFx{W+QpR8oNNb|9y z(#Bf-#VdfaNVr#pzzTrl*80Ojzm<1X?y1sm{+k4QY8dMZV`|{G0day5$*FC`@+Vn$CnJRciG64+kVKsFU8rRQ8K`s%nDXy; zzGf}j(797AnbA)2bvs%4QVxU-rs;KIs90*hikPP$lv01hmP)pXdc3)^d>5p#)I-)H z?3{J4)E2K$lyKSy)&%|lBap7(J00IIUjg8dux#6-yV#%8L?{N>D0UZBuoaLc7+kkh z3JL5_l$mWKR15-u(3^s7<+}hF+FbcFFJB7}nM%;ujiV25ap4NBh_kD&*nH`zXvC63pwEa$tR7_XcUu z%~~t?7FW7|1USaSCl-k8%o>s1(}s9MTVtM%se6=x?ECazQ|5AY4a4t{Z4D|#U23JMaiY3XeH?^g@ascLZD5Kum!(Y5 zFxuf?9N8oKlqaX-8M}~^VGjL8#!PJGOu8r+Yx1(wQ4;`~$TRiuS`JrPd};DUDqqFd zv(szY87NS5KgtM6JM+vn_nWu$VWu|s!GYyi@I1zJG{cM{sA1=$W;^2YT_THCbl|}e zjP5_ac%d)l`7)6;NoYygF-IlhcM$p`)<&$42s|<(ByQ!Nj`Df=$sxNx#$aCP+q3B& zbZ74#wKvUEdb6d^9wB5jD*aJt47A+ML>yQZuX0LYeszf2|=_qo&f{2MWQ{Ld( z1s2mGqA$wL(o%BXyu=KuS$534lKvMTTh_YtIj+5)mbAvjez-A*v}6ohn76c+%O7Q` z8nsx44OOvNTa4N+m}X4F(6O9YRQ@Njq%>QVai&DI$;ye{@>P; z|CNmWmIM7V)^f4BmhS42J++xPt|k9dTFVhmNNl+C*2ToU*kksryb~Hd$s#D76gR9k zSNWquc_WVLUu^DMR3BDVq*te|Eo17$V2qaO=P^cbatsrbhv$iM8=2Bpb0}xT!DF1t zab6UQsfK=WfvArSx52l|&d8GU(ZJiU!9&ubdkJcc77wK_~?CDRN+M1vx ziwW|!m9{4E|1#n@kFp3CD;CA7edAKAYrSkdsopT__v_8~o6(N9C}N13l=LyCx8c?s zZ2~ahZhk7QIZh3@T4M=zSA=l6ukluaQpTy2giQ!ZJ z9$vSMNqLyl6)=N2r1R(1Da{Lz>z{`L{aZ^p+TGdBKNV?~dR7e&wm%$3_Z z;`k}bPNTVs&R4K3!1|(>=pAhNP?q~jjSV!+DrMq?Bu@zz0&fj}SQ?R^hAE@%2Y}V~@EQFS zzE2%LMxPx6LZpQx4*FytUoJaJ&+h;wb2^dP8IUn;;m5u_*G_bhUX&|v{-s~GL#Z(+=@)OTn!&8w6npx4zKkma#X~Y*UH=d8 z8-#Tt4)U*l8hz;UFm=9jzcc*kdprBrA~u0SEkM zE`K_MPl2Vhg%?*t$Xvaj^>E9=k9~9KL{fevv$z-DbB<%@NH^IdAN%V$nt-1n^5YUu zj5>aBI=EZ#;t0IikSazO!Q_U{)rFBqs}5D8IrM?5cUEKk2pXE-F4wgKKx)@^^c_Do znO=ek|A2ILCqW|=Jc8m$3~)qt*}$YLWG4tP1s-M(BYwkS2SiWA>Ln4&{mgJLXSri2 zC2`iF#F?e@;}4nQK*({PsFo61A%&43+%CRB*HN9T39gs;;-=7Eu8CvcSvWo-QUiv<5?ixF zU+XuZRMU=Kuy?=*>_U4cxK;Opc+=BbCp1b_{_099-vonCOMh*;wKh8%?1a5YpCUN% z1^SOGmc@V|E9?Nh6EvxX$Y_l4$t_U~>OGE%6pX8p{fAmwg}C<9n;lI6YzW4dj#gkQ z-+3SR2t1*SVu3Gf>8izz3Em0>QG1|daV0-Ex*ncOkM4jO?}_Y4SfUM2*jc;AoW60# zuA@2Hnzbz_A@LOD!u+{cL#(Qb{qPAktbaO2AHPbhsRv~lbD#^}xyfARVyYk&ay8Gh zDK<`bo+(_jb5rcRkGOoG)#7I0iMR(u*FlaRSfV&LBcQX3DP0hTuC3cz3)M3&Dxc84 z417xcYI{h+SqO%vh%g@PDZQxWoi;u z>W9H)t+stn9>ZE}vxn;rF_@Tb1;=u%JNpe-E05-hy98yp^O1_nY|hze`QS*(oLS-m zjkEy1lyS69&(L(bEOD5>)6#O27BDn%fo|QMX8Q68`qBdpGSCqy&u*Ygwpw^Chcbi7 zz)r@oTd9~3=e3Y`7b;4*gKNK&0RkQtekcpfXKIjuSsfrmc9IUDx=_rV{9D70PtT3X z2T=-H@2M|NXrlczWVd0j9cHQ%rR+Yr{4?GG?j^92rJfm%2ER;nYVg$3KUO z2~y8`B(H(k?h4p%LRPn~yJvNSAp39J{rQ)FI26ds091Yo#52A1IdVO<_$ zIuwT@%}NoZcJ~Szots(rU@aV9ViX4J6SO#ILWgNJ`(0jDAca`tHbd6SF`r7=ow#FL z@jfW9AF!tE))OS7F`(QjA5YoM)h#Bx5lnFq0v21b33HU`35N~17D%$64?BK*uGSJa zCT>xri#@e>Vo(rMAatDzl`a7Lu2}*wiSV#0vfyKvA`;tUa&SW!LBBra!rMT!7(1WCPj{!eI8Nr z%!)nW07ql`?pO!l!#3Ul>>Ug!FbHtnJiNvNbqr(9n{O8k&M$WKJ+(xLBWyWh3TTy> z0(lI{vT)tmu?={>Z9BF(TNk|+hBKm`%fCZbLJs&QgZSC_(I+Y&Q}2hAU zV8j)f0ioUNi2|+D4GYSjW+Ez|PSAoKb#Vw|PyXT?FQ;*)g?%a|om*)A!H#Vye~5MN z5`=W?POxIzK97)pSq2!&qQ^ESj7fy*ZAR;K2hF(iM>}>QrW(-|=*K#W+z}>ymyU>i z5Bd=2foP3B(EFd!`Alaz9nh+=88&1~BG5)tp+?N{|3~r#=`6W|t=4`)$zp$Y8+%S! zVZPKJzb1FJDO@mQ^B$_Ztq~BYSaR6(vu%Dx5jvo>QH2gZY#189_`#GpGY`#)$Fqk_ z20Y0@LKg6>Dsv17_(JKQVZ48nxiu68G~}Jb{?me;iblP((u6oawhYma%K}`9(mSYefqSHoc*$h7MeE2uxV=Nos*3lIPs2z!Va3kqL=pjR~Qoz?Xb@K?`;XUd`d5vC-50EzSv zw`lebr(>P9Wl^*H4`e=zT(%4Dl-r)%_f{qQM;gQ*DzVujp}O+=!`R=`C)r$arC>-; z+70Y3qVn!4Z`!dL7q-IM!DVS4@rJyYI<8nSil&*%+e2PJPW zZ`!dhPMLSGhF;)v!^+U1X6U!qTdj+kz~ZM!+S<(&aRoATp%?JP6T z*a1NTcQK3hkOcowqh#TacDHmtX2hPN?DSC}Q9W!8k44^}nvsb>Oed0^mI9VQBcSi1 z&Sxzj48n9`*OE>K!OeT4pN@w27H5fTv)q^pkM2d+_F=uM&bDHauwtJG(O5dVC?S-2 zuFY{4y2M`8k)I50hE`ml%~?{ruB6tyamr!^?!!{~YIRn};P>?#s#@B^m<@JXBgan< zFEZ#mYY~M&wCU?`<~vz9IK#H+w4AhKUG7jPb6MpUKcW=*l-Vr8n&^}@;n^Z(O5<>w zO4?5AQCVftt+qE=EwejQ&kt)09xML=G_X22ZWgim>eK34EKwiCV+EC^7CvP!SNE=r z>k7PWop7;C?{C4pI`#dJ#ic7Vd-H`r#oHkSQ7tfcHh-_iTJ1amSA@(9V%t^WVV57b zqcQZI*RN+&sJQ~a4KeK4Wx2(zLiAZ4=A(1ufpAgj*Ewr$v45So^Is&}v1;;Wv^6<% zt##{sV24_1huuR{p!oD~`PNE4*>iyG0*_iEm z%XD9TSn-9yEwm}>FyZrQ!u?ARKVn$dS*u3xCB?*S8Mn;Y=be2!=VQK?mgA-hanR*A zR{0I6tP}^&)k1W>R5^Imd5>c+(no@c4xV{5@h*$8%3?sHtLHzLPeg9r=Iq0oZd?4K z@0;P})nb}1TQ^qSsj=$Rh3HdiGI}lH*cWI7b)@_!mw!kus5k?yFIF!aogvxuLn^66 z7GvL|m(G1?b-WLtx|99mAsz&6!o8m%#KTsWw_`3oY-92lG7R?3FZ1W&KLRuWvH~w5 z^fWTVYoSzHf-Wm*)t!JhUIJr3+S@od(vm7WcNI6;b(PmUa1kwyV_wm0+7n&8ue`~7 zFSAZ;yvDW1GOzLL`P(y=-+$$o4rgxhv8uO6aZk$EGR>jU=2=YSrsn&Z=C_AmoAwJ0 z!cRzV52yV6RPjFV8s?e~)IM7*&wWIE)!Ay*V6HU9mE}d&ipa9m``3V8Pn>eX_i}8{ z?hBq0;D|JW=q3XZ`M)CNRYB3%aiYB$xjKTcL7yN@KtZdpTR}pgOMk3$z}lPHCjzb4 z2njq^(11p9nN&fd>Ru8P4S<&|tv5*aaPc6^mK9;9#kB_9{eLZlZE5Wa(=B2J4uce7 znibd=2&a#Cwquw#Awu-)AtLUB3r~z_*XAt61U3sh*;IEi&reHnk$=ly4`!<0+ZLRZWE-15cb@$+S z_Z^-SIo}aN9vadg=YN;6ynDtxKi0=3x^m40t^GyQfM`XIAVjyYN4yeqI*w$x&8_90 zRjbhv68Ak2kPr#B zk;{JonlNjPNRiLP)>NqxBNpH`sIgPr)6&-Dz`Wr-^;y;no7X#!m2cfp1t&V})YMHh z1NJELqC*ntS12BF-KQYsR=^Wx45J_2P9z}`i>8bExXw=s`Xv4I9FZ{Fy1P(nt7>Fi zx}S~+XkN(9D2{jWE4tRBi}-3YJ(rpS<8XdDgITH`pQQziqwb7d`$`M~9_j2%0Zqq! z6Vrj4HqFPikv&7{W21BN7@eTm+^UXkEi|FY{LJA!{qtepsM1dtV6c)}lZAzAqpz{N zWB7j_uqVcSY2+2|N^^StFF`N@ETw^PjQB(wYNGnHBj8tAFd1+GDXLky4%DVDm(G~BCDnv4}#BN9f=enyHG3Zy_0nP<%tC2mj9JArI7=eJH z$tnfhwVgf!pfj5*1)x)lGu%86c^!1zMi#I}2#;@`ClH z_At9vVT>lK>kX<4)u_Q?aJIirA8bB`U^8d|U!?q;)7>Rs%`KZtxVf?gT-~=AU(76w z$@JuC`=g*9v#BaZM1m^67Ij-&5eUCjHE>0Z5$54az7KlYcr5!kVWuop{9Tf1&DnZt z5~kI`OP1I(AoGbRw3u4O9*{az6dCx-R}SXvqWU-q08J#e`3eHu5bfq%cuef6GN5fN zqZeb_REy_8o&$`?%At&af#h0bG~AfY`j?dCq`Kxvq!8HQoPdm8|K#RNk=*jQ%fb;IDo zf@I5WXPMxNI_NS5})OEYt`qg6Tf+66Y1 z7N|=NhRLST8-(V08a}n@S-?1s;>Z&1acy>^`BIB$H?+Ll0#NktT|#MqKkfAvELrG+~Hx}-<6@ucd{qq z3W_WboIjMz{8JzLTog=RW zPYl0Gc^zWB!027M2kpaTO|iP50>4Oah4?=_y}8m{yLF_V!&Eb&o4?2v-23PCFT6r$)^s>isQylC9OyH!B({tD$Y2xV0QW##eDc4RHT8?V>@zU#r&y| zCe(v_C=K^)Zm(w5$xFznJLK1}+tfPjVg-Unq@5I77N18Q{S|hfON%zFQRu%0DHKmo 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

1F6o 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 Y7crpx!FrXz<1T+nFX1Xt* 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ν6f?8{r~ygw8gH-Ge2bRnid&DXI0Fj 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

Yo+yltb?wL4qo4|O#U0O}cg5hwV^v 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

F*?~($M0782+@2e@2 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 I!#-R8KPcT02LJ#7 diff --git a/src/ems.cpp b/src/ems.cpp index cbbfbff23..fb4e0c73d 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -1454,10 +1454,10 @@ void _process_RC10Set(_EMS_RxTelegram * EMS_RxTelegram) { void _process_RC20NSet(_EMS_RxTelegram * EMS_RxTelegram) { uint8_t hc = EMS_THERMOSTAT_DEFAULTHC - 1; // use HC1 EMS_Thermostat.hc[hc].active = true; - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RC20NSet_mode); // note, fixed for HC1 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].daytemp, EMS_OFFSET_RC20NSet_temp_day); // is * 2 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].nighttemp, EMS_OFFSET_RC20NSet_temp_night); // is * 2 - _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].heatingtype, EMS_OFFSET_RC20NSet_heatingtype); // byte 0 bit floor heating = 3 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode, EMS_OFFSET_RC20NSet_mode); // note, fixed for HC1 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].daytemp, EMS_OFFSET_RC20NSet_temp_day); // is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].nighttemp, EMS_OFFSET_RC20NSet_temp_night); // is * 2 + _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].heatingtype, EMS_OFFSET_RC20NSet_heatingtype); // byte 0 bit floor heating = 3 } /** * type 0xA8 - for reading the mode from the RC20 thermostat (0x17) @@ -1948,7 +1948,7 @@ void _process_Version(_EMS_RxTelegram * EMS_RxTelegram) { EMS_Thermostat.device_desc_p = device_desc_p; strlcpy(EMS_Thermostat.version, version, sizeof(EMS_Thermostat.version)); ems_getThermostatValues(); // get Thermostat values - ems_getSettingsValues() ; // get Settings from Thermostat + ems_getSettingsValues(); // get Settings from Thermostat } } else if (type == EMS_DEVICE_TYPE_SOLAR) { EMS_SolarModule.device_id = device_id; @@ -2081,9 +2081,9 @@ void ems_getThermostatValues() { statusMsg = EMS_TYPE_RC35StatusMessage_HC4; opMode = EMS_TYPE_RC35Set_HC4; } - ems_doReadCommand(statusMsg, device_id); // to get the temps - ems_doReadCommand(opMode, device_id); // to get the mode - ems_doReadCommand(opMode, device_id, 27); // to get the mode + ems_doReadCommand(statusMsg, device_id); // to get the temps + ems_doReadCommand(opMode, device_id); // to get the mode + ems_doReadCommand(opMode, device_id, 27); // to get the mode } break; case EMS_DEVICE_FLAG_RC300: @@ -2441,26 +2441,26 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t myDebug_P(PSTR("Setting thermostat temperature to %s for heating circuit %d, mode %s"), _float_to_char(s, temperature), hc, mode_str); if (model == EMS_DEVICE_FLAG_RC10) { - EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; - EMS_TxTelegram.type = EMS_TYPE_RC10Set; - EMS_TxTelegram.offset = EMS_OFFSET_RC10Set_temp; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC10StatusMessage; - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + EMS_Thermostat.hc[hc - 1].setpoint_roomTemp = temperature * 2; + EMS_TxTelegram.type = EMS_TYPE_RC10Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC10Set_temp; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC10StatusMessage; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } else if (model == EMS_DEVICE_FLAG_RC20) { - EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; - EMS_TxTelegram.type = EMS_TYPE_RC20Set; - EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + EMS_Thermostat.hc[hc - 1].setpoint_roomTemp = temperature * 2; + EMS_TxTelegram.type = EMS_TYPE_RC20Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC20Set_temp; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20StatusMessage; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } else if (model == EMS_DEVICE_FLAG_RC20N) { - EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; - EMS_TxTelegram.type = EMS_TYPE_RC20NSet; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20NStatusMessage; - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + EMS_Thermostat.hc[hc - 1].setpoint_roomTemp = temperature * 2; + EMS_TxTelegram.type = EMS_TYPE_RC20NSet; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC20NStatusMessage; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; switch (temptype) { case EMS_THERMOSTAT_MODE_NIGHT: // change the night temp EMS_TxTelegram.offset = EMS_OFFSET_RC20NSet_temp_night; @@ -2476,15 +2476,15 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t } else if (model == EMS_DEVICE_FLAG_RC30) { - EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; - EMS_TxTelegram.type = EMS_TYPE_RC30Set; - EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; - EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; - EMS_TxTelegram.type_validate = EMS_TxTelegram.type; + EMS_Thermostat.hc[hc - 1].setpoint_roomTemp = temperature * 2; + EMS_TxTelegram.type = EMS_TYPE_RC30Set; + EMS_TxTelegram.offset = EMS_OFFSET_RC30Set_temp; + EMS_TxTelegram.comparisonPostRead = EMS_TYPE_RC30StatusMessage; + EMS_TxTelegram.type_validate = EMS_TxTelegram.type; } else if ((model == EMS_DEVICE_FLAG_RC300) || (model == EMS_DEVICE_FLAG_RC100)) { - EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; + EMS_Thermostat.hc[hc - 1].setpoint_roomTemp = temperature * 2; // check mode to determine offset if (EMS_Thermostat.hc[hc - 1].mode == 1) { // auto EMS_TxTelegram.offset = 0x08; // auto offset @@ -2512,35 +2512,35 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t else if ((model == EMS_DEVICE_FLAG_RC35) || (model == EMS_DEVICE_FLAG_RC30N)) { switch (temptype) { case EMS_THERMOSTAT_MODE_NIGHT: // change the night temp - EMS_Thermostat.hc[hc- 1].nighttemp = temperature * 2; - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; + EMS_Thermostat.hc[hc - 1].nighttemp = temperature * 2; + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; break; case EMS_THERMOSTAT_MODE_DAY: // change the day temp - EMS_Thermostat.hc[hc- 1].daytemp = temperature * 2; - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; + EMS_Thermostat.hc[hc - 1].daytemp = temperature * 2; + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; break; case EMS_THERMOSTAT_MODE_HOLIDAY: // change the holiday temp - EMS_Thermostat.hc[hc- 1].holidaytemp = temperature * 2; - EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_holiday; + EMS_Thermostat.hc[hc - 1].holidaytemp = temperature * 2; + EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_holiday; break; default: case EMS_THERMOSTAT_MODE_AUTO: // automatic selection, if no type is defined, we use the standard code if (model == EMS_DEVICE_FLAG_RC35) { - switch(EMS_Thermostat.hc[hc - 1].mode) { - case 0: // if in nightmode, change nighttemp, seltemp is set automatically + switch (EMS_Thermostat.hc[hc - 1].mode) { + case 0: // if in nightmode, change nighttemp, seltemp is set automatically EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_night; break; - case 1: // if in daymode, change daytemp, seltemp is set automatically + case 1: // if in daymode, change daytemp, seltemp is set automatically EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_temp_day; break; - default: // in automode change only seltemp + default: // in automode change only seltemp EMS_TxTelegram.offset = EMS_OFFSET_RC35Set_seltemp; // https://github.com/proddy/EMS-ESP/issues/310 break; } } else { EMS_TxTelegram.offset = (EMS_Thermostat.hc[hc - 1].mode_type == 0) ? EMS_OFFSET_RC35Set_temp_night : EMS_OFFSET_RC35Set_temp_day; } - EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; // set temperature for immediate publish back + EMS_Thermostat.hc[hc - 1].setpoint_roomTemp = temperature * 2; // set temperature for immediate publish back break; } @@ -2561,8 +2561,8 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t } else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { - EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ - EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; + EMS_TxTelegram.emsplus = true; // Assuming here that all Junkers use EMS+ + EMS_Thermostat.hc[hc - 1].setpoint_roomTemp = temperature * 2; // figure out if we have older or new thermostats // Heating Circuits on 0x65 or 0x79 @@ -2587,7 +2587,7 @@ void ems_setThermostatTemp(float temperature, uint8_t hc, _EMS_THERMOSTAT_MODE t EMS_TxTelegram.type = EMS_TYPE_JunkersSetMessage1_HC1 + hc - 1; // 0x65 EMS_TxTelegram.comparisonPostRead = EMS_TYPE_JunkersStatusMessage_HC1 + hc - 1; } else { - EMS_Thermostat.hc[hc- 1].setpoint_roomTemp = temperature * 2; + EMS_Thermostat.hc[hc - 1].setpoint_roomTemp = temperature * 2; // EMS_DEVICE_FLAG_JUNKERS2 switch (temptype) { case EMS_THERMOSTAT_MODE_NOFROST: @@ -2963,7 +2963,7 @@ void ems_setWarmWaterTemp(uint8_t temperature) { } myDebug_P(PSTR("Setting boiler warm water temperature to %d C"), temperature); - EMS_Boiler.wWSelTemp = temperature; + EMS_Boiler.wWSelTemp = temperature; _EMS_TxTelegram EMS_TxTelegram = EMS_TX_TELEGRAM_NEW; // create new Tx EMS_TxTelegram.timestamp = millis(); // set timestamp EMS_Sys_Status.txRetryCount = 0; // reset retry counter @@ -3620,7 +3620,7 @@ void ems_doReadCommand(uint16_t type, uint8_t dest, uint8_t offset) { } EMS_TxTelegram.action = EMS_TX_TELEGRAM_READ; // read command EMS_TxTelegram.dest = dest; // 8th bit will be set to indicate a read - EMS_TxTelegram.offset = offset; // defaults to 0 + EMS_TxTelegram.offset = offset; // defaults to 0 EMS_TxTelegram.type = type; EMS_TxTelegram.length = EMS_MIN_TELEGRAM_LENGTH; // EMS 1.0: 6 bytes long (including CRC at end), EMS+ will add 2 bytes. includes CRC EMS_TxTelegram.dataValue = EMS_MAX_TELEGRAM_LENGTH; // for a read this is the # bytes we want back diff --git a/src/ems_devices.h b/src/ems_devices.h index beca9bc29..5f25aeffc 100644 --- a/src/ems_devices.h +++ b/src/ems_devices.h @@ -145,9 +145,9 @@ #define EMS_OFFSET_RC20NStatusMessage_curr 3 // current temp in AE #define EMS_TYPE_RC20NSet 0xAD -#define EMS_OFFSET_RC20NSet_temp_day 2 // position of thermostat setpoint temperature for day time -#define EMS_OFFSET_RC20NSet_temp_night 1 // position of thermostat setpoint temperature for night time -#define EMS_OFFSET_RC20NSet_mode 3 // position mode +#define EMS_OFFSET_RC20NSet_temp_day 2 // position of thermostat setpoint temperature for day time +#define EMS_OFFSET_RC20NSet_temp_night 1 // position of thermostat setpoint temperature for night time +#define EMS_OFFSET_RC20NSet_mode 3 // position mode #define EMS_OFFSET_RC20NSet_heatingtype 0 #define EMS_TYPE_RC20Set 0xA8 // for setting values like temp and mode @@ -334,8 +334,7 @@ static const _EMS_Device EMS_Devices[] = { {165, EMS_DEVICE_TYPE_THERMOSTAT, "RC100/Moduline 1000/1010", EMS_DEVICE_FLAG_RC100}, // 0x18, 0x38 // Sieger - {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 - {113, EMS_DEVICE_TYPE_THERMOSTAT, "RC20/Sieger ES72", EMS_DEVICE_FLAG_RC20N}, // 0x17 + {76, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES73", EMS_DEVICE_FLAG_RC35}, // 0x10 {113, EMS_DEVICE_TYPE_THERMOSTAT, "Sieger ES72/Buderus RC20", EMS_DEVICE_FLAG_RC20N}, // 0x17 // Junkers - all 0x10 diff --git a/src/version.h b/src/version.h index 84bf4b23e..e59450330 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b58" +#define APP_VERSION "1.9.5b59" From 743e09e5f46bfc21b4f47c1e10396c5830940dcf Mon Sep 17 00:00:00 2001 From: Paul Date: Fri, 24 Apr 2020 10:41:12 +0200 Subject: [PATCH 192/195] render unsigned shorts correctly - #372 --- src/ems-esp.cpp | 102 +++++++++++++++++++++++----------------------- src/ems.h | 4 +- src/ems_utils.cpp | 4 +- src/version.h | 2 +- 4 files changed, 56 insertions(+), 56 deletions(-) diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index 7898ffeec..ff395acea 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -370,7 +370,7 @@ void showInfo() { _renderIntValue("Boiler circuit pump modulation min power", "%", EMS_Boiler.pump_mod_min); // UBAMonitorSlow - if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) { + if (EMS_Boiler.extTemp != EMS_VALUE_SHORT_NOTSET) { _renderShortValue("Outside temperature", "C", EMS_Boiler.extTemp); } @@ -572,14 +572,14 @@ void showInfo() { myDebug_P(PSTR("")); // newline myDebug_P(PSTR("%sMixing module data:%s"), COLOR_BOLD_ON, COLOR_BOLD_OFF); myDebug_P(PSTR(" Mixing Module: %s"), ems_getDeviceDescription(EMS_DEVICE_TYPE_MIXING, buffer_type, false)); - if ((EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) && (EMS_Boiler.switchTemp != 0)) { + if ((EMS_Boiler.switchTemp != EMS_VALUE_USHORT_NOTSET) && (EMS_Boiler.switchTemp != 0)) { _renderUShortValue("Switch temperature", "C", EMS_Boiler.switchTemp); } for (uint8_t hc_num = 1; hc_num <= EMS_MIXING_MAXHC; hc_num++) { if (EMS_MixingModule.hc[hc_num - 1].active) { myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); - if (EMS_MixingModule.hc[hc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) + if (EMS_MixingModule.hc[hc_num - 1].flowTemp != EMS_VALUE_USHORT_NOTSET) _renderUShortValue(" Current flow temperature", "C", EMS_MixingModule.hc[hc_num - 1].flowTemp); if (EMS_MixingModule.hc[hc_num - 1].flowSetTemp != EMS_VALUE_INT_NOTSET) _renderIntValue(" Setpoint flow temperature", "C", EMS_MixingModule.hc[hc_num - 1].flowSetTemp); @@ -593,7 +593,7 @@ void showInfo() { for (uint8_t wwc_num = 1; wwc_num <= EMS_MIXING_MAXWWC; wwc_num++) { if (EMS_MixingModule.wwc[wwc_num - 1].active) { myDebug_P(PSTR(" Warm Water Circuit %d"), wwc_num); - if (EMS_MixingModule.wwc[wwc_num - 1].flowTemp < EMS_VALUE_USHORT_NOTSET) + if (EMS_MixingModule.wwc[wwc_num - 1].flowTemp != EMS_VALUE_USHORT_NOTSET) _renderUShortValue(" Current warm water temperature", "C", EMS_MixingModule.wwc[wwc_num - 1].flowTemp); if (EMS_MixingModule.wwc[wwc_num - 1].pumpMod != EMS_VALUE_INT_NOTSET) _renderIntValue(" Current pump status", "", EMS_MixingModule.wwc[wwc_num - 1].pumpMod); @@ -748,55 +748,55 @@ bool publishEMSValues_boiler() { if (EMS_Boiler.wWCircPumpMode != EMS_VALUE_INT_NOTSET) { rootBoiler["wWCiPuMode"] = EMS_Boiler.wWCircPumpMode; } - if (EMS_Boiler.extTemp > EMS_VALUE_SHORT_NOTSET) { + if (EMS_Boiler.extTemp != EMS_VALUE_SHORT_NOTSET) { rootBoiler["outdoorTemp"] = (float)EMS_Boiler.extTemp / 10; } - if (EMS_Boiler.wWCurTmp < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.wWCurTmp != EMS_VALUE_USHORT_NOTSET) { rootBoiler["wWCurTmp"] = (float)EMS_Boiler.wWCurTmp / 10; } if (EMS_Boiler.wWCurFlow != EMS_VALUE_INT_NOTSET) { rootBoiler["wWCurFlow"] = (float)EMS_Boiler.wWCurFlow / 10; } - if (EMS_Boiler.curFlowTemp < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.curFlowTemp != EMS_VALUE_USHORT_NOTSET) { rootBoiler["curFlowTemp"] = (float)EMS_Boiler.curFlowTemp / 10; } - if (EMS_Boiler.retTemp < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.retTemp != EMS_VALUE_USHORT_NOTSET) { rootBoiler["retTemp"] = (float)EMS_Boiler.retTemp / 10; } - if (EMS_Boiler.switchTemp < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.switchTemp != EMS_VALUE_USHORT_NOTSET) { rootBoiler["switchTemp"] = (float)EMS_Boiler.switchTemp / 10; } if (EMS_Boiler.sysPress != EMS_VALUE_INT_NOTSET) { rootBoiler["sysPress"] = (float)EMS_Boiler.sysPress / 10; } - if (EMS_Boiler.boilTemp < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.boilTemp != EMS_VALUE_USHORT_NOTSET) { rootBoiler["boilTemp"] = (float)EMS_Boiler.boilTemp / 10; } - if (EMS_Boiler.wwStorageTemp1 < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.wwStorageTemp1 != EMS_VALUE_USHORT_NOTSET) { rootBoiler["wwStorageTemp1"] = (float)EMS_Boiler.wwStorageTemp1 / 10; } - if (EMS_Boiler.wwStorageTemp2 < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.wwStorageTemp2 != EMS_VALUE_USHORT_NOTSET) { rootBoiler["wwStorageTemp2"] = (float)EMS_Boiler.wwStorageTemp2 / 10; } - if (EMS_Boiler.exhaustTemp < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.exhaustTemp != EMS_VALUE_USHORT_NOTSET) { rootBoiler["exhaustTemp"] = (float)EMS_Boiler.exhaustTemp / 10; } if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWActivated"] = _bool_to_char(s, EMS_Boiler.wWActivated); } - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + if (EMS_Boiler.wWOneTime != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWOnetime"] = _bool_to_char(s, EMS_Boiler.wWOneTime); } - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + if (EMS_Boiler.wWDesinfecting != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWDesinfecting"] = _bool_to_char(s, EMS_Boiler.wWDesinfecting); } - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + if (EMS_Boiler.wWReadiness != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWReady"] = _bool_to_char(s, EMS_Boiler.wWReadiness); } - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + if (EMS_Boiler.wWRecharging != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWRecharge"] = _bool_to_char(s, EMS_Boiler.wWRecharging); } - if (EMS_Boiler.wWActivated != EMS_VALUE_BOOL_NOTSET) { + if (EMS_Boiler.wWTemperatureOK != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWTempOK"] = _bool_to_char(s, EMS_Boiler.wWTemperatureOK); } if (EMS_Boiler.wWCirc != EMS_VALUE_BOOL_NOTSET) { @@ -805,7 +805,7 @@ bool publishEMSValues_boiler() { if (EMS_Boiler.burnGas != EMS_VALUE_BOOL_NOTSET) { rootBoiler["burnGas"] = _bool_to_char(s, EMS_Boiler.burnGas); } - if (EMS_Boiler.flameCurr < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.flameCurr != EMS_VALUE_USHORT_NOTSET) { rootBoiler["flameCurr"] = (float)(int16_t)EMS_Boiler.flameCurr / 10; } if (EMS_Boiler.heatPmp != EMS_VALUE_BOOL_NOTSET) { @@ -829,22 +829,22 @@ bool publishEMSValues_boiler() { if (EMS_Boiler.wWHeat != EMS_VALUE_BOOL_NOTSET) { rootBoiler["wWHeat"] = _bool_to_char(s, EMS_Boiler.wWHeat); } - if (abs(EMS_Boiler.wWStarts) != EMS_VALUE_LONG_NOTSET) { + if (EMS_Boiler.wWStarts != EMS_VALUE_LONG_NOTSET) { rootBoiler["wWStarts"] = EMS_Boiler.wWStarts; } - if (abs(EMS_Boiler.wWWorkM) != EMS_VALUE_LONG_NOTSET) { + if (EMS_Boiler.wWWorkM != EMS_VALUE_LONG_NOTSET) { rootBoiler["wWWorkM"] = EMS_Boiler.wWWorkM; } - if (abs(EMS_Boiler.UBAuptime) != EMS_VALUE_LONG_NOTSET) { + if (EMS_Boiler.UBAuptime != EMS_VALUE_LONG_NOTSET) { rootBoiler["UBAuptime"] = EMS_Boiler.UBAuptime; } - if (abs(EMS_Boiler.burnStarts) != EMS_VALUE_LONG_NOTSET) { + if (EMS_Boiler.burnStarts != EMS_VALUE_LONG_NOTSET) { rootBoiler["burnStarts"] = EMS_Boiler.burnStarts; } - if (abs(EMS_Boiler.burnWorkMin) != EMS_VALUE_LONG_NOTSET) { + if (EMS_Boiler.burnWorkMin != EMS_VALUE_LONG_NOTSET) { rootBoiler["burnWorkMin"] = EMS_Boiler.burnWorkMin; } - if (abs(EMS_Boiler.heatWorkMin) != EMS_VALUE_LONG_NOTSET) { + if (EMS_Boiler.heatWorkMin != EMS_VALUE_LONG_NOTSET) { rootBoiler["heatWorkMin"] = EMS_Boiler.heatWorkMin; } @@ -877,7 +877,7 @@ bool publishEMSValues_thermostat() { _EMS_Thermostat_HC * thermostat = &EMS_Thermostat.hc[hc_v - 1]; // only send if we have an active Heating Circuit with an actual setpoint temp temperature values - if ((thermostat->active) && (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET)) { + if ((thermostat->active) && (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET)) { uint8_t model = ems_getThermostatFlags(); // fetch model flags has_data = true; @@ -894,19 +894,19 @@ bool publishEMSValues_thermostat() { // different logic depending on thermostat types if (model == EMS_DEVICE_FLAG_EASY) { - if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 100; if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 100; } else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { - if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 10; - if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (thermostat->curr_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 10; } else { - if (thermostat->setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 2; - if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (thermostat->curr_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 10; if (thermostat->daytemp != EMS_VALUE_INT_NOTSET) @@ -1049,7 +1049,7 @@ bool publishEMSValues_mixing() { strlcpy(hc, MIXING_HC, sizeof(hc)); strlcat(hc, _int_to_char(s, mixingHC->hc), sizeof(hc)); JsonObject dataMixingHC = rootMixing.createNestedObject(hc); - if (mixingHC->flowTemp < EMS_VALUE_USHORT_NOTSET) + if (mixingHC->flowTemp != EMS_VALUE_USHORT_NOTSET) dataMixingHC["flowTemp"] = (float)mixingHC->flowTemp / 10; if (mixingHC->flowSetTemp != EMS_VALUE_INT_NOTSET) dataMixingHC["setflowTemp"] = mixingHC->flowSetTemp; @@ -1069,7 +1069,7 @@ bool publishEMSValues_mixing() { strlcpy(wwc, MIXING_WWC, sizeof(wwc)); strlcat(wwc, _int_to_char(s, mixingWWC->wwc), sizeof(wwc)); JsonObject dataMixing = rootMixing.createNestedObject(wwc); - if (mixingWWC->flowTemp < EMS_VALUE_USHORT_NOTSET) + if (mixingWWC->flowTemp != EMS_VALUE_USHORT_NOTSET) dataMixing["wwTemp"] = (float)mixingWWC->flowTemp / 10; if (mixingWWC->pumpMod != EMS_VALUE_INT_NOTSET) dataMixing["pumpStatus"] = mixingWWC->pumpMod; @@ -1091,13 +1091,13 @@ bool publishEMSValues_solar() { StaticJsonDocument doc; JsonObject rootSM = doc.to(); - if (EMS_SolarModule.collectorTemp > EMS_VALUE_SHORT_NOTSET) { + if (EMS_SolarModule.collectorTemp != EMS_VALUE_SHORT_NOTSET) { rootSM[SM_COLLECTORTEMP] = (float)EMS_SolarModule.collectorTemp / 10; } - if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) { + if (EMS_SolarModule.bottomTemp != EMS_VALUE_SHORT_NOTSET) { rootSM[SM_BOTTOMTEMP] = (float)EMS_SolarModule.bottomTemp / 10; } - if (EMS_SolarModule.bottomTemp2 > EMS_VALUE_SHORT_NOTSET) { + if (EMS_SolarModule.bottomTemp2 != EMS_VALUE_SHORT_NOTSET) { rootSM[SM_BOTTOMTEMP2] = (float)EMS_SolarModule.bottomTemp2 / 10; } if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) { @@ -1114,13 +1114,13 @@ bool publishEMSValues_solar() { if (EMS_SolarModule.pumpWorkMin != EMS_VALUE_LONG_NOTSET) { rootSM[SM_PUMPWORKMIN] = (float)EMS_SolarModule.pumpWorkMin; } - if (EMS_SolarModule.EnergyLastHour < EMS_VALUE_USHORT_NOTSET) { + if (EMS_SolarModule.EnergyLastHour != EMS_VALUE_USHORT_NOTSET) { rootSM[SM_ENERGYLASTHOUR] = (float)EMS_SolarModule.EnergyLastHour / 10; } - if (EMS_SolarModule.EnergyToday < EMS_VALUE_USHORT_NOTSET) { + if (EMS_SolarModule.EnergyToday != EMS_VALUE_USHORT_NOTSET) { rootSM[SM_ENERGYTODAY] = EMS_SolarModule.EnergyToday; } - if (EMS_SolarModule.EnergyTotal < EMS_VALUE_USHORT_NOTSET) { + if (EMS_SolarModule.EnergyTotal != EMS_VALUE_USHORT_NOTSET) { rootSM[SM_ENERGYTOTAL] = (float)EMS_SolarModule.EnergyTotal / 10; } @@ -2353,19 +2353,19 @@ void WebCallback(JsonObject root) { hc_num++; // first active hc // Render Current & Setpoint Room Temperature if (model == EMS_DEVICE_FLAG_EASY) { - if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) thermostat["ts"] = (float)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 100; - if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp != EMS_VALUE_SHORT_NOTSET) thermostat["tc"] = (float)EMS_Thermostat.hc[hc_num - 1].curr_roomTemp / 100; } else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { - if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) thermostat["ts"] = (float)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 10; - if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp != EMS_VALUE_SHORT_NOTSET) thermostat["tc"] = (float)EMS_Thermostat.hc[hc_num - 1].curr_roomTemp / 10; } else { - if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) thermostat["ts"] = (float)EMS_Thermostat.hc[hc_num - 1].setpoint_roomTemp / 2; - if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].curr_roomTemp != EMS_VALUE_SHORT_NOTSET) thermostat["tc"] = (float)EMS_Thermostat.hc[hc_num - 1].curr_roomTemp / 10; } @@ -2404,7 +2404,7 @@ void WebCallback(JsonObject root) { boiler["b4"] = EMS_Boiler.curFlowTemp / 10; } - if (EMS_Boiler.wWCurTmp < EMS_VALUE_USHORT_NOTSET) { + if (EMS_Boiler.wWCurTmp != EMS_VALUE_USHORT_NOTSET) { boiler["b5"] = (float)EMS_Boiler.wWCurTmp / 10; } @@ -2420,10 +2420,10 @@ void WebCallback(JsonObject root) { char buffer[200]; sm["sm"] = ems_getDeviceDescription(EMS_DEVICE_TYPE_SOLAR, buffer, true); - if (EMS_SolarModule.collectorTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_SolarModule.collectorTemp != EMS_VALUE_SHORT_NOTSET) sm["sm1"] = (float)EMS_SolarModule.collectorTemp / 10; // Collector temperature oC - if (EMS_SolarModule.bottomTemp > EMS_VALUE_SHORT_NOTSET) + if (EMS_SolarModule.bottomTemp != EMS_VALUE_SHORT_NOTSET) sm["sm2"] = (float)EMS_SolarModule.bottomTemp / 10; // Bottom temperature oC if (EMS_SolarModule.pumpModulation != EMS_VALUE_INT_NOTSET) @@ -2434,13 +2434,13 @@ void WebCallback(JsonObject root) { sm["sm4"] = _bool_to_char(s, EMS_SolarModule.pump); // Pump active on/off } - if (EMS_SolarModule.EnergyLastHour < EMS_VALUE_USHORT_NOTSET) + if (EMS_SolarModule.EnergyLastHour != EMS_VALUE_USHORT_NOTSET) sm["sm5"] = (float)EMS_SolarModule.EnergyLastHour / 10; // Energy last hour Wh - if (EMS_SolarModule.EnergyToday < EMS_VALUE_USHORT_NOTSET) // Energy today Wh + if (EMS_SolarModule.EnergyToday != EMS_VALUE_USHORT_NOTSET) // Energy today Wh sm["sm6"] = EMS_SolarModule.EnergyToday; - if (EMS_SolarModule.EnergyTotal < EMS_VALUE_USHORT_NOTSET) // Energy total KWh + if (EMS_SolarModule.EnergyTotal != EMS_VALUE_USHORT_NOTSET) // Energy total KWh sm["sm7"] = (float)EMS_SolarModule.EnergyTotal / 10; } else { sm["ok"] = false; diff --git a/src/ems.h b/src/ems.h index 3d35d5f5a..424dbba5b 100644 --- a/src/ems.h +++ b/src/ems.h @@ -31,8 +31,8 @@ #define EMS_VALUE_BOOL_OFF 0x00 // boolean false #define EMS_VALUE_BOOL_NOTSET 0xFE // random number that's not 0, 1 or FF #define EMS_VALUE_INT_NOTSET 0xFF // for 8-bit unsigned ints/bytes -#define EMS_VALUE_SHORT_NOTSET -32000 // was -32768 for 2-byte signed shorts -#define EMS_VALUE_USHORT_NOTSET 32000 // was 0x8000 for 2-byte unsigned shorts +#define EMS_VALUE_SHORT_NOTSET -32000 // 0x8300 for 2-byte signed shorts +#define EMS_VALUE_USHORT_NOTSET 32000 // 0x7D00 (was 0x8000) for 2-byte unsigned shorts #define EMS_VALUE_LONG_NOTSET 0xFFFFFF // for 3-byte longs // thermostat specific diff --git a/src/ems_utils.cpp b/src/ems_utils.cpp index 65c1a8e7c..1225afb83 100644 --- a/src/ems_utils.cpp +++ b/src/ems_utils.cpp @@ -40,7 +40,7 @@ char * _bool_to_char(char * s, uint8_t value) { // negative values are assumed stored as 1-compliment (https://medium.com/@LeeJulija/how-integers-are-stored-in-memory-using-twos-complement-5ba04d61a56c) char * _short_to_char(char * s, int16_t value, uint8_t decimals) { // remove errors or invalid values - if (value <= EMS_VALUE_SHORT_NOTSET) { + if (value == EMS_VALUE_SHORT_NOTSET) { strlcpy(s, "?", 10); return (s); } @@ -80,7 +80,7 @@ char * _short_to_char(char * s, int16_t value, uint8_t decimals) { // decimals: 0 = no division, 1=divide value by 10, 2=divide by 2, 10=divide value by 100 char * _ushort_to_char(char * s, uint16_t value, uint8_t decimals) { // remove errors or invalid values - if (value >= EMS_VALUE_USHORT_NOTSET) { // 0x7D00 + if (value == EMS_VALUE_USHORT_NOTSET) { // 0x7D00 strlcpy(s, "?", 10); return (s); } diff --git a/src/version.h b/src/version.h index e59450330..6fa3eb041 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b59" +#define APP_VERSION "1.9.5b60" From d284a3c1b8ba3f5253a8f9bab7fc09476458194a Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Sun, 26 Apr 2020 12:02:12 +0200 Subject: [PATCH 193/195] solar energy values changed to 32bit --- EMS-ESP-1_9_5b60-d1_mini.bin | Bin 0 -> 630144 bytes src/ems-esp.cpp | 24 ++++++++++++------------ src/ems.cpp | 28 +++++++++++++--------------- src/ems.h | 7 ++++--- src/ems_utils.cpp | 10 ++++++++-- src/ems_utils.h | 2 +- 6 files changed, 38 insertions(+), 33 deletions(-) create mode 100644 EMS-ESP-1_9_5b60-d1_mini.bin diff --git a/EMS-ESP-1_9_5b60-d1_mini.bin b/EMS-ESP-1_9_5b60-d1_mini.bin new file mode 100644 index 0000000000000000000000000000000000000000..2b432144b785d1e7f78be005b0e0ff9ff45fdb28 GIT binary patch literal 630144 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 z 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%0AUnspWpxPdOt9Hdhd}86{6v8sEsi1v$8JW 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

    5~Rs784+xmNiDt2A+9&& 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

    O3qFO*kGrz*V5Q`&Gg%c;jKdJbiA2} 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 H4{&1|#%a1-4e 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
    ErV8b|B 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 CmF8vu literal 0 HcmV?d00001 diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp index ff395acea..bd5d7d37b 100644 --- a/src/ems-esp.cpp +++ b/src/ems-esp.cpp @@ -303,7 +303,7 @@ void showInfo() { // UBAParameterWW _renderBoolValue("Warm Water activated", EMS_Boiler.wWActivated); _renderBoolValue("Warm Water circulation pump available", EMS_Boiler.wWCircPump); - myDebug_P(PSTR(" Warm Water circulation pump type: %s"), EMS_Boiler.wWCircPumpType ? "charge pump" : "3-way pump"); + myDebug_P(PSTR(" Warm Water circulation pump type: %s"), EMS_Boiler.wWCircPumpType ? "3-way pump" : "charge pump"); if (EMS_Boiler.wWCircPumpMode == 7) { myDebug_P(PSTR(" Warm Water circulation pump freq: continuous")); } else { @@ -414,9 +414,9 @@ void showInfo() { (EMS_SolarModule.pumpWorkMin % 1440) / 60, EMS_SolarModule.pumpWorkMin % 60); } - _renderUShortValue("Energy last hour", "Wh", EMS_SolarModule.EnergyLastHour, 1); // *10 - _renderUShortValue("Energy today", "Wh", EMS_SolarModule.EnergyToday, 0); - _renderUShortValue("Energy total", "kWh", EMS_SolarModule.EnergyTotal, 1); // *10 + _renderLongValue("Energy last hour", "Wh", EMS_SolarModule.EnergyLastHour, 1); // *10 + _renderLongValue("Energy today", "Wh", EMS_SolarModule.EnergyToday, 0); + _renderLongValue("Energy total", "kWh", EMS_SolarModule.EnergyTotal, 1); // *10 } // For HeatPumps @@ -532,7 +532,7 @@ void showInfo() { } // show flow temp if we have it - if (EMS_Thermostat.hc[hc_num - 1].circuitcalctemp < EMS_VALUE_INT_NOTSET) + if (EMS_Thermostat.hc[hc_num - 1].circuitcalctemp != EMS_VALUE_INT_NOTSET) _renderIntValue(" Calculated flow temperature", "C", EMS_Thermostat.hc[hc_num - 1].circuitcalctemp); // Render Thermostat Mode @@ -896,7 +896,7 @@ bool publishEMSValues_thermostat() { if (model == EMS_DEVICE_FLAG_EASY) { if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_SELTEMP] = (float)thermostat->setpoint_roomTemp / 100; - if (thermostat->curr_roomTemp > EMS_VALUE_SHORT_NOTSET) + if (thermostat->curr_roomTemp != EMS_VALUE_SHORT_NOTSET) dataThermostat[THERMOSTAT_CURRTEMP] = (float)thermostat->curr_roomTemp / 100; } else if ((model == EMS_DEVICE_FLAG_JUNKERS1) || (model == EMS_DEVICE_FLAG_JUNKERS2)) { if (thermostat->setpoint_roomTemp != EMS_VALUE_SHORT_NOTSET) @@ -1114,13 +1114,13 @@ bool publishEMSValues_solar() { if (EMS_SolarModule.pumpWorkMin != EMS_VALUE_LONG_NOTSET) { rootSM[SM_PUMPWORKMIN] = (float)EMS_SolarModule.pumpWorkMin; } - if (EMS_SolarModule.EnergyLastHour != EMS_VALUE_USHORT_NOTSET) { + if (EMS_SolarModule.EnergyLastHour != EMS_VALUE_LONG_NOTSET) { rootSM[SM_ENERGYLASTHOUR] = (float)EMS_SolarModule.EnergyLastHour / 10; } - if (EMS_SolarModule.EnergyToday != EMS_VALUE_USHORT_NOTSET) { + if (EMS_SolarModule.EnergyToday != EMS_VALUE_LONG_NOTSET) { rootSM[SM_ENERGYTODAY] = EMS_SolarModule.EnergyToday; } - if (EMS_SolarModule.EnergyTotal != EMS_VALUE_USHORT_NOTSET) { + if (EMS_SolarModule.EnergyTotal != EMS_VALUE_LONG_NOTSET) { rootSM[SM_ENERGYTOTAL] = (float)EMS_SolarModule.EnergyTotal / 10; } @@ -2434,13 +2434,13 @@ void WebCallback(JsonObject root) { sm["sm4"] = _bool_to_char(s, EMS_SolarModule.pump); // Pump active on/off } - if (EMS_SolarModule.EnergyLastHour != EMS_VALUE_USHORT_NOTSET) + if (EMS_SolarModule.EnergyLastHour != EMS_VALUE_LONG_NOTSET) sm["sm5"] = (float)EMS_SolarModule.EnergyLastHour / 10; // Energy last hour Wh - if (EMS_SolarModule.EnergyToday != EMS_VALUE_USHORT_NOTSET) // Energy today Wh + if (EMS_SolarModule.EnergyToday != EMS_VALUE_LONG_NOTSET) // Energy today Wh sm["sm6"] = EMS_SolarModule.EnergyToday; - if (EMS_SolarModule.EnergyTotal != EMS_VALUE_USHORT_NOTSET) // Energy total KWh + if (EMS_SolarModule.EnergyTotal != EMS_VALUE_LONG_NOTSET) // Energy total KWh sm["sm7"] = (float)EMS_SolarModule.EnergyTotal / 10; } else { sm["ok"] = false; diff --git a/src/ems.cpp b/src/ems.cpp index fb4e0c73d..762d776fb 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -217,9 +217,9 @@ void ems_init() { EMS_SolarModule.pumpModulation = EMS_VALUE_INT_NOTSET; // modulation solar pump SM10/SM100/SM200 EMS_SolarModule.pump = EMS_VALUE_BOOL_NOTSET; // pump active EMS_SolarModule.valveStatus = EMS_VALUE_BOOL_NOTSET; // valve status from SM200 - EMS_SolarModule.EnergyLastHour = EMS_VALUE_USHORT_NOTSET; - EMS_SolarModule.EnergyToday = EMS_VALUE_USHORT_NOTSET; - EMS_SolarModule.EnergyTotal = EMS_VALUE_USHORT_NOTSET; + EMS_SolarModule.EnergyLastHour = EMS_VALUE_LONG_NOTSET; + EMS_SolarModule.EnergyToday = EMS_VALUE_LONG_NOTSET; + EMS_SolarModule.EnergyTotal = EMS_VALUE_LONG_NOTSET; EMS_SolarModule.device_id = EMS_ID_NONE; EMS_SolarModule.product_id = EMS_ID_NONE; EMS_SolarModule.pumpWorkMin = EMS_VALUE_LONG_NOTSET; @@ -394,8 +394,9 @@ bool _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint16_t * param_op, uint8_t in uint16_t value = (EMS_RxTelegram->data[pos] << 8) + EMS_RxTelegram->data[pos + 1]; - // check for undefined/unset values, 0x8000 - if (value >= EMS_VALUE_USHORT_NOTSET) { + // check for undefined/unset values, 0x8000, 0x8300, 0x7D00 + if ((value == EMS_VALUE_USHORT_NOTSET) || (value == EMS_VALUE_SHORT_NOTSET) || (value == EMS_VALUE_USHORT_NOTVALID)) { + *param_op = EMS_VALUE_USHORT_NOTSET; // make sure we render this right return false; } @@ -412,8 +413,9 @@ bool _setValue(_EMS_RxTelegram * EMS_RxTelegram, int16_t * param_op, uint8_t ind int16_t value = (EMS_RxTelegram->data[pos] << 8) + EMS_RxTelegram->data[pos + 1]; - // check for undefined/unset values, 0x8000 - if ((value == EMS_VALUE_SHORT_NOTSET) || (EMS_RxTelegram->data[pos] == 0x7D)) { + // check for undefined/unset values, 0x8000, 0x8300, 0x7D00 + if ((value == EMS_VALUE_USHORT_NOTSET) || (value == EMS_VALUE_SHORT_NOTSET) || (value == EMS_VALUE_USHORT_NOTVALID)) { + *param_op = EMS_VALUE_SHORT_NOTSET; // make sure we render this right return false; } @@ -1261,11 +1263,7 @@ void _process_RC35StatusMessage(_EMS_RxTelegram * EMS_RxTelegram) { return; } - // ignore if the value is 0 (see https://github.com/proddy/EMS-ESP/commit/ccc30738c00f12ae6c89177113bd15af9826b836) - if (EMS_RxTelegram->data[EMS_OFFSET_RC35StatusMessage_setpoint] != 0x00) { - _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2, force to single byte - } - + _setValue8(EMS_RxTelegram, &EMS_Thermostat.hc[hc].setpoint_roomTemp, EMS_OFFSET_RC35StatusMessage_setpoint); // is * 2, force to single byte _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].curr_roomTemp, EMS_OFFSET_RC35StatusMessage_curr); // is * 10 - or 0x7D00 if thermostat is mounted on boiler _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].mode_type, EMS_OFFSET_RC35StatusMessage_mode, 1); _setValue(EMS_RxTelegram, &EMS_Thermostat.hc[hc].summer_mode, EMS_OFFSET_RC35StatusMessage_mode, 0); @@ -1628,9 +1626,9 @@ void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram) { * e.g. 30 00 FF 00 02 8E 00 00 00 00 00 00 06 C5 00 00 76 35 */ void _process_SM100Energy(_EMS_RxTelegram * EMS_RxTelegram) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyLastHour, 2); // last hour / 10 in Wh - _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyToday, 6); // todays in Wh - _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyTotal, 10); // total / 10 in kWh + _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyLastHour, 0); // last hour / 10 in Wh + _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyToday, 4); // todays in Wh + _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyTotal, 8); // total / 10 in kWh } /* diff --git a/src/ems.h b/src/ems.h index 424dbba5b..bf8529aca 100644 --- a/src/ems.h +++ b/src/ems.h @@ -33,6 +33,7 @@ #define EMS_VALUE_INT_NOTSET 0xFF // for 8-bit unsigned ints/bytes #define EMS_VALUE_SHORT_NOTSET -32000 // 0x8300 for 2-byte signed shorts #define EMS_VALUE_USHORT_NOTSET 32000 // 0x7D00 (was 0x8000) for 2-byte unsigned shorts +#define EMS_VALUE_USHORT_NOTVALID 0x8000 // 0x8000 for 2-byte unsigned shorts #define EMS_VALUE_LONG_NOTSET 0xFFFFFF // for 3-byte longs // thermostat specific @@ -401,9 +402,9 @@ typedef struct { uint8_t pump; // pump active uint8_t valveStatus; // valve status (VS2) int16_t setpoint_maxBottomTemp; // setpoint for maximum collector temp - uint16_t EnergyLastHour; - uint16_t EnergyToday; - uint16_t EnergyTotal; + uint32_t EnergyLastHour; + uint32_t EnergyToday; + uint32_t EnergyTotal; uint32_t pumpWorkMin; // Total solar pump operating time } _EMS_SolarModule; diff --git a/src/ems_utils.cpp b/src/ems_utils.cpp index 1225afb83..dc6138a93 100644 --- a/src/ems_utils.cpp +++ b/src/ems_utils.cpp @@ -201,7 +201,7 @@ void _renderIntValue(const char * prefix, const char * postfix, uint8_t value, u } // takes a long value at prints it to debug log and prints -void _renderLongValue(const char * prefix, const char * postfix, uint32_t value) { +void _renderLongValue(const char * prefix, const char * postfix, uint32_t value, uint8_t div) { static char buffer[200] = {0}; strlcpy(buffer, " ", sizeof(buffer)); strlcat(buffer, prefix, sizeof(buffer)); @@ -211,7 +211,13 @@ void _renderLongValue(const char * prefix, const char * postfix, uint32_t value) strlcat(buffer, "?", sizeof(buffer)); } else { char s[20] = {0}; - strlcat(buffer, ltoa(value, s, 10), sizeof(buffer)); + if(div == 0) { + strlcat(buffer, ltoa(value, s, 10), sizeof(buffer)); + } else { + strlcat(buffer, ltoa(value/10, s, 10), sizeof(buffer)); + strlcat(buffer, ".", sizeof(buffer)); + strlcat(buffer, ltoa(value%10, s, 10), sizeof(buffer)); + } } if (postfix != nullptr) { diff --git a/src/ems_utils.h b/src/ems_utils.h index c3c624f63..93fe5a52f 100644 --- a/src/ems_utils.h +++ b/src/ems_utils.h @@ -22,7 +22,7 @@ void _renderShortValue(const char * prefix, const char * postfix, int16_t va void _renderUShortValue(const char * prefix, const char * postfix, uint16_t value, uint8_t decimals = 1); char * _int_to_char(char * s, uint8_t value, uint8_t div = 1); void _renderIntValue(const char * prefix, const char * postfix, uint8_t value, uint8_t div = 1); -void _renderLongValue(const char * prefix, const char * postfix, uint32_t value); +void _renderLongValue(const char * prefix, const char * postfix, uint32_t value, uint8_t div = 0); void _renderBoolValue(const char * prefix, uint8_t value); char * _hextoa(uint8_t value, char * buffer); char * _smallitoa(uint8_t value, char * buffer); From 0f2b4b27b9dfe5f0190189de565578413dbe4104 Mon Sep 17 00:00:00 2001 From: MichaelDvP Date: Mon, 27 Apr 2020 13:31:33 +0200 Subject: [PATCH 194/195] add _setValue32() for energy-values --- EMS-ESP-1_9_5b60-d1_mini.bin | Bin 630144 -> 630208 bytes src/ems.cpp | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/EMS-ESP-1_9_5b60-d1_mini.bin b/EMS-ESP-1_9_5b60-d1_mini.bin index 2b432144b785d1e7f78be005b0e0ff9ff45fdb28..e06efd0220b527c950d197d825c1f2ea443251eb 100644 GIT binary patch delta 51623 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 lEGUbktbjBqdata[pos] << 16) + (EMS_RxTelegram->data[pos + 1] << 8) + (EMS_RxTelegram->data[pos + 2])); return true; } +// Long 32 bit +bool _setValue32(_EMS_RxTelegram * EMS_RxTelegram, uint32_t * param_op, uint8_t index) { + int8_t pos = _getDataPosition(EMS_RxTelegram, index); + if (pos < 0) { + return false; + } + + *param_op = (uint32_t)((EMS_RxTelegram->data[pos] << 24) +(EMS_RxTelegram->data[pos + 1] << 16) + (EMS_RxTelegram->data[pos + 2] << 8) + (EMS_RxTelegram->data[pos + 3])); + return true; +} // bit from a byte bool _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint8_t * param_op, uint8_t index, uint8_t bit) { @@ -1626,9 +1636,9 @@ void _process_SM100Status2(_EMS_RxTelegram * EMS_RxTelegram) { * e.g. 30 00 FF 00 02 8E 00 00 00 00 00 00 06 C5 00 00 76 35 */ void _process_SM100Energy(_EMS_RxTelegram * EMS_RxTelegram) { - _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyLastHour, 0); // last hour / 10 in Wh - _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyToday, 4); // todays in Wh - _setValue(EMS_RxTelegram, &EMS_SolarModule.EnergyTotal, 8); // total / 10 in kWh + _setValue32(EMS_RxTelegram, &EMS_SolarModule.EnergyLastHour, 0); // last hour / 10 in Wh + _setValue32(EMS_RxTelegram, &EMS_SolarModule.EnergyToday, 4); // todays in Wh + _setValue32(EMS_RxTelegram, &EMS_SolarModule.EnergyTotal, 8); // total / 10 in kWh } /* From 487cda0841147a294fa957a02227712a266cf52c Mon Sep 17 00:00:00 2001 From: Paul Date: Tue, 28 Apr 2020 19:02:01 +0200 Subject: [PATCH 195/195] SM200 energy to 32 bit, fixes #372 --- EMS-ESP-1_9_5b60-d1_mini.bin | Bin 630208 -> 0 bytes platformio.ini | 15 ++++++++------- src/ems.cpp | 4 +++- src/ems_utils.cpp | 6 +++--- src/version.h | 2 +- 5 files changed, 15 insertions(+), 12 deletions(-) delete mode 100644 EMS-ESP-1_9_5b60-d1_mini.bin diff --git a/EMS-ESP-1_9_5b60-d1_mini.bin b/EMS-ESP-1_9_5b60-d1_mini.bin deleted file mode 100644 index e06efd0220b527c950d197d825c1f2ea443251eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 630208 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
  1. ==rjG5-A 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
      5IIkzp= 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 z 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%0AquLH^FEuwmVGuwe(&OORhCchhP( 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 S{s7G>xCD$_V4MJ*sRRI?YUmCC diff --git a/platformio.ini b/platformio.ini index 971457c81..ffb8977db 100644 --- a/platformio.ini +++ b/platformio.ini @@ -7,6 +7,12 @@ default_envs = release ; default_envs = debug [common] +# From https://github.com/esp8266/Arduino/blob/master/tools/sdk/ld +# eagle.flash.4m1m.ld = 1019 KB sketch, 1000 KB SPIFFS. 4KB EEPROM, 4KB RFCAL, 12KB WIFI stack, 2052 KB OTA & buffer +# eagle.flash.4m2m.ld = same as above but with 2024 KB SPIFFS +# eagle.flash.4m.ld = same as above but with no SPIFFS storage +ldscript = eagle.flash.4m1m.ld + ; custom build options are: ; -DMYESP_TIMESTAMP ; -DTESTS @@ -30,17 +36,12 @@ custom_flags = # general_flags = -DNO_GLOBAL_EEPROM -DVTABLES_IN_FLASH -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH general_flags = -DNO_GLOBAL_EEPROM - -# From https://github.com/esp8266/Arduino/blob/master/tools/sdk/ld -# eagle.flash.4m1m.ld = 1019 KB sketch, 1000 KB SPIFFS. 4KB EEPROM, 4KB RFCAL, 12KB WIFI stack, 2052 KB OTA & buffer -# eagle.flash.4m2m.ld = same as above but with 2024 KB SPIFFS -# eagle.flash.4m.ld = same as above but with no SPIFFS storage -board_build.ldscript = eagle.flash.4m.ld build_flags = ${common.general_flags} -std=c++11 -fno-exceptions [env] framework = arduino platform = espressif8266 +board_build.ldscript = ${common.ldscript} lib_compat_mode = strict lib_deps = https://github.com/rlogiacco/CircularBuffer @@ -53,7 +54,7 @@ lib_deps = JustWifi@2.0.2 ; https://github.com/xoseperez/justwifi AsyncMqttClient@0.8.2 ; https://github.com/marvinroger/async-mqtt-client EEPROM_Rotate@0.9.2 ; https://github.com/xoseperez/eeprom_rotate - https://github.com/bblanchon/ArduinoJson + ArduinoJson ESPAsyncTCP@1.2.2 ; https://github.com/me-no-dev/ESPAsyncTCP upload_speed = 921600 monitor_speed = 115200 diff --git a/src/ems.cpp b/src/ems.cpp index fe40623c9..1cb335a5e 100644 --- a/src/ems.cpp +++ b/src/ems.cpp @@ -455,6 +455,7 @@ bool _setValue(_EMS_RxTelegram * EMS_RxTelegram, uint32_t * param_op, uint8_t in *param_op = (uint32_t)((EMS_RxTelegram->data[pos] << 16) + (EMS_RxTelegram->data[pos + 1] << 8) + (EMS_RxTelegram->data[pos + 2])); return true; } + // Long 32 bit bool _setValue32(_EMS_RxTelegram * EMS_RxTelegram, uint32_t * param_op, uint8_t index) { int8_t pos = _getDataPosition(EMS_RxTelegram, index); @@ -462,7 +463,8 @@ bool _setValue32(_EMS_RxTelegram * EMS_RxTelegram, uint32_t * param_op, uint8_t return false; } - *param_op = (uint32_t)((EMS_RxTelegram->data[pos] << 24) +(EMS_RxTelegram->data[pos + 1] << 16) + (EMS_RxTelegram->data[pos + 2] << 8) + (EMS_RxTelegram->data[pos + 3])); + *param_op = (uint32_t)((EMS_RxTelegram->data[pos] << 24) + (EMS_RxTelegram->data[pos + 1] << 16) + (EMS_RxTelegram->data[pos + 2] << 8) + + (EMS_RxTelegram->data[pos + 3])); return true; } diff --git a/src/ems_utils.cpp b/src/ems_utils.cpp index dc6138a93..a96811115 100644 --- a/src/ems_utils.cpp +++ b/src/ems_utils.cpp @@ -211,12 +211,12 @@ void _renderLongValue(const char * prefix, const char * postfix, uint32_t value, strlcat(buffer, "?", sizeof(buffer)); } else { char s[20] = {0}; - if(div == 0) { + if (div == 0) { strlcat(buffer, ltoa(value, s, 10), sizeof(buffer)); } else { - strlcat(buffer, ltoa(value/10, s, 10), sizeof(buffer)); + strlcat(buffer, ltoa(value / 10, s, 10), sizeof(buffer)); strlcat(buffer, ".", sizeof(buffer)); - strlcat(buffer, ltoa(value%10, s, 10), sizeof(buffer)); + strlcat(buffer, ltoa(value % 10, s, 10), sizeof(buffer)); } } diff --git a/src/version.h b/src/version.h index 6fa3eb041..d6476f82f 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define APP_VERSION "1.9.5b60" +#define APP_VERSION "1.9.5b61"

    m$mOdCD%$$l{m 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

Jkd*b~^HV+oVhsw(EEY-7?ZY#2`z9 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®`>vG1mSqz73Ve`tdt=qCO>4r2L|KENr*o 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 Warning: You need a GitHub user account to be able to edit! + +If you spot an error in an article use the *Improve this article* link at the top of the page to correct it. Note you will need a GitHub account. Make the change, click on "Propose file change" and "Create pull request". + + + + diff --git a/docs/Deciphering-EMS-Plus.md b/docs/Deciphering-EMS-Plus.md new file mode 100644 index 000000000..3170336de --- /dev/null +++ b/docs/Deciphering-EMS-Plus.md @@ -0,0 +1,66 @@ +> [!NOTE] +> This page is a collection of findings to figure out how the EMS+ / EMS 2.0 protocol works. + +*** + +``` +sr = source ID +de = destination ID (read commands have the 8th bit set) +e+ = EMS flag (>0xF0) +of = offset +TYPE = Type ID +DATA = data block + +if 3rd byte = FF + +sr de FF of TYPE DATA +-- -- -- -- ---- ---------------------------------------------------------------------------------- + +48 10 FF 0A 01B9 28 (write 1 byte, offset 0A, type 01B9, value 28 = 20.0 deg) +48 10 FF 0A 01B9 29 (write 1 byte, offset 0A, type 01B9, value 29 = 20.5 deg) +48 10 FF 00 01B9 FF (write 1 byte, type 01B9, value FF) + +48 90 FF 25 0101 (read byte 25 from 0101) + +10 48 FF 25 01A8 (no data. an acknowledgment) + +48 90 FF 1B 0201 A8 (why does a read have a value?) +10 48 FF 1B 01A8 (why no data. an acknowledgment?) + +09 B0 FF 00 FF00 01 (type FF00?) + + +broadcast messages (where de = 00): + +sr 00 FF of TYPE DATA +-- -- -- -- ---- ---------------------------------------------------------------------------------- +10 00 FF 00 01B9 FF +10 00 FF 12 01B9 00 +10 00 FF 08 01A5 01 99 +10 00 FF 0A 01A5 01 +10 00 FF 19 01A5 06 04 00 00 00 00 FF 64 37 00 3C 01 FF 01 +10 00 FF 00 01A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00 +10 00 FF 00 01A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 +30 00 FF 00 0262 01 FB 01 9E 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 2B (SM100) +30 00 FF 00 0264 00 00 00 04 00 00 FF 00 00 1E 0C 20 64 00 00 00 00 E9 (SM100) +90 00 FF 00 006F 01 01 00 46 00 B9 (FR10) +10 00 FF 00 01A5 80 00 01 30 28 00 30 28 01 54 03 03 01 01 54 02 A8 00 00 11 01 03 FF FF 00 (RC310) +10 00 FF 00 01A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 (RC1010) + +30 09 FF 00 0001 (this doesn't look correct) + +if 3rd byte = F9 or F7 + +sr de F9 00 no FF TYPE ?? DATA +-- -- -- -- -- -- ---- -- ---------------------------------------------------------------------------------- + +10 48 F9 00 FF 016C 08 4F 00 00 00 02 00 00 00 02 00 03 00 03 00 03 00 02 (data, type 016C) +48 90 F9 00 11 FF 016D 08 (read 17 bytes, type 016D) +10 48 F9 00 FF 016D 08 4F 00 00 00 02 00 00 00 02 00 03 00 03 00 03 00 02 + +48 90 F9 00 11 FF 019E 00 (read 17 bytes, type 019E) +10 48 F9 00 FF 019E 00 4B 00 00 00 01 00 00 00 01 00 1B 00 06 00 1B 00 01 +10 00 F7 00 FF 01B9 35 19 (broadcast, type 01B9, value 19) + + +``` \ No newline at end of file diff --git a/docs/Domoticz.md b/docs/Domoticz.md new file mode 100644 index 000000000..32f3d6cf4 --- /dev/null +++ b/docs/Domoticz.md @@ -0,0 +1 @@ +Based on the original version by @Gert05, @bbqkees created more extensive version based on the Domoticz Python plugins (list at https://www.domoticz.com/wiki/Plugins#Python_Plugins_List). You can find it [here](https://github.com/bbqkees/ems-esp-domoticz-plugin) along with the instructions on how to install. diff --git a/docs/EMS-Telegram-Types.md b/docs/EMS-Telegram-Types.md new file mode 100644 index 000000000..46ba91ed4 --- /dev/null +++ b/docs/EMS-Telegram-Types.md @@ -0,0 +1,66 @@ +> [!TIP] +> Another good source of EMS and EMS+ investigation look at https://github.com/Th3M3/buderus_ems-wiki_ + +## A2 + +This message is a EMS 1.0 message + +Display code and Cause + +``` +(00:28:29.966) Thermostat -> all, type 0xA2 telegram: 10 00 A2 00 00 00 00 00 00 (CRC=CA) #data=5 +``` + + +| data position (0..n) in decimal | description | format | notes | +| - | - | - | - | +| 0-2 | Display code | 3 bytes | HEX To Decimal | +| 3-4 | Cause Code | 2 bytes | HEX To Decimal | + +## 3E, 48, 52, 5C + +These are EMS1.0 type broadcasted from an RC35 compatible thermostat (typically with a device ID of 0x10) as a Heating Controller Monitor Message. The data block is 16 bytes. We use this telegram to read the current room temperature, the setpoint temperature for up to 4 Heating Controllers 0x3E (HC1), 0x48 (HC2), 0x52 (HC3) and 0x5C (HC4) + +Examples: +``` +< header > < 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15> (data block) + 10 0B 3E 00 00 00 00 7D 00 00 00 00 00 00 00 00 00 11 05 04 + 10 00 48 00 00 00 00 00 E4 00 00 00 00 00 00 00 00 11 05 04 + 10 0B 52 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 + 10 0B 5C 00 00 00 00 00 00 00 00 00 00 00 00 00 00 11 00 00 +``` +in night mode: +``` + 10 00 3E 00 04 03 00 7D 00 00 00 00 00 00 00 00 00 11 05 00 + 10 00 48 00 00 00 10 00 E9 00 00 00 00 00 00 00 00 11 05 00 +``` +in day mode: +``` + 10 0B 3E 00 04 03 00 7D 00 00 00 00 00 00 00 00 00 11 05 00 + 10 0B 48 00 00 00 10 00 E8 00 00 00 00 00 00 00 00 11 05 00 +``` +in auto day mode: +``` + 10 00 3E 00 04 03 00 7D 00 00 00 00 00 00 00 00 00 11 05 00 + 10 0B 48 00 04 03 00 00 EB 00 00 00 00 00 00 00 00 11 05 00 +``` + +deciphering each data element from 0 to 15 + +| data #n | description | format | notes | +| - | - | - | - | +| 0 | settings1 | 1 byte as a bit mask | bit 2 is automatic mode, bit 7 is manual mode, bit 5 is holiday mode | doesn't seem to make sense? | +| 1 | settings2 | 1 byte as a bit mask | bit 0 if in summer mode, bit 1 if in daytime | needs verifying | +| 2 | setpoint room temperature | 1 byte * 2 | | +| 3 + 4 | current room temperature | 2 bytes * 10 | has value 0x7D00 if switched off | +| 13 | switch state | 1 byte as a bit mask | always 11? | +| 14 | calculate setpoint flow temperature | 1 byte | this looks wrong | +| 15 | settings3 | 1 byte as a bit mask | we see two values 0 and 4 | + +Questions: + +* how to determine if a heating circuit is not active? Check for data #14 if its 0 ? +* when to ignore the setpoint temperature being 0? This depends on the bit masks in data #1 and #2 somehow +* data #0 is sometimes 04 (b0100) always with data#1 being 3 (b0011). This means DWH priority is set and daytime mode, according to https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme#wwbetriebsart. Is this correct since one of the examples we're in nightmode? + + diff --git a/docs/FAQ.md b/docs/FAQ.md new file mode 100644 index 000000000..3f813edc0 --- /dev/null +++ b/docs/FAQ.md @@ -0,0 +1,16 @@ +### Which ESP microcontrollers are supported? + + The code and circuit have been tested with a few ESP8266 development boards such as the Wemos D1 Mini, Wemos D1 Mini Pro, Nodemcu0.9 and Nodemcu2 dev boards. It will also work on bare ESP8266 chips such as the ESP-12E but do make sure you disabled the LED support and wire the UART correctly as the code doesn't use the normal Rx and Tx pins. + +### Which EMS devices are currently supported? + + [See here](Supported-EMS-Devices.md) for the list. + +### Getting support + +If you can't find the answer here check out: + +* [Issues](https://github.com/proddy/EMS-ESP/issues?utf8=%E2%9C%93&q=is%3Aissue): this is the most active channel at the moment, you might find an answer to your question by searching open or closed issues. +* [Wiki pages](https://github.com/proddy/EMS-ESP/wiki): I try and keep this up to date +* [Gitter channel](https://gitter.im/EMS-ESP/): get direct contact with some of the key developers behind the project and other users. +* [Post a question](https://github.com/proddy/EMS-ESP/issues/new/choose): as a last resort, you can open new *question* issue on GitHub. diff --git a/docs/Home-Assistant.md b/docs/Home-Assistant.md new file mode 100644 index 000000000..37b31f67c --- /dev/null +++ b/docs/Home-Assistant.md @@ -0,0 +1,171 @@ +The files to read MQTT and parse as sensors and thermostat components into HA can be found [here](integrations/homeassistant/ha) along with a LoveLace dashboard which looks like: + +![Home Assistant panel](_media/home%20assistant/ha.png ':size=500') + +and the alerts on an iOS/Android device using PushBullet, PushOver or any notification service would look like: + +![Home Assistant iPhone notify](_media/home%20assistant/ha_notify.jpg ':size=300') + +## Supporting multiple thermostat heating circuits + +Create a component for each, using the HC number appended to the end of the topics. For example + +```yaml +- platform: mqtt + name: Thermostat HC2 + modes: + - "auto" + - "heat" + - "off" + mode_command_topic: "home/ems-esp/thermostat_cmd_mode2" + temperature_command_topic: "home/ems-esp/thermostat_cmd_temp2" + + mode_state_topic: "home/ems-esp/thermostat_data" + current_temperature_topic: "home/ems-esp/thermostat_data" + temperature_state_topic: "home/ems-esp/thermostat_data" + + mode_state_template: "{% if value_json.hc2.mode == 'manual' %} heat {% else %} {{value_json.hc2.mode}} {% endif %}" + + current_temperature_template: "{{ value_json.hc2.currtemp }}" + temperature_state_template: "{{ value_json.hc2.seltemp }}" + + temp_step: 0.5 + +``` + +## Sending out a heartbeat + +Thanks to @S-Przybylski for these additions. + +`sensors.yaml`: + +```yaml +################################################### +# EMS-ESP Statistics - heartbeat +################################################### +- platform: mqtt + state_topic: 'home/ems-esp/heartbeat' + name: 'ems_esp_wifi' + unit_of_measurement: '%' + value_template: '{{ value_json.rssid }}' + qos: 1 + availability_topic: 'home/ems-esp/status' + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/heartbeat' + name: 'ems_esp_load' + unit_of_measurement: '%' + value_template: '{{ value_json.load }}' + qos: 1 + availability_topic: 'home/ems-esp/status' + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/heartbeat' + name: 'ems_esp_freemem' + unit_of_measurement: '%' + value_template: '{{ value_json.freemem }}' + qos: 1 + availability_topic: 'home/ems-esp/status' + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/heartbeat' + name: 'ems_esp_uptime' + unit_of_measurement: 's' + value_template: '{{ value_json.uptime }}' + qos: 1 + availability_topic: 'home/ems-esp/status' + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/heartbeat' + name: 'ems_esp_version' + value_template: '{{ value_json.version }}' + qos: 1 + availability_topic: 'home/ems-esp/status' + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/heartbeat' + name: 'ems_esp_mqtt_disconnects' + value_template: '{{ value_json.MQTTdisconnects }}' + qos: 1 + availability_topic: 'home/ems-esp/status' + payload_available: "online" + payload_not_available: "offline" +``` + +and in `customize.yaml`: + +```yaml +sensor.ems_esp_wifi: + icon: mdi:wifi + friendly_name: 'Wifi strength' + +sensor.ems_esp_load: + icon: mdi:chart-line + friendly_name: 'System load' + +sensor.ems_esp_freemem: + icon: mdi:memory + friendly_name: 'Free Memory' + +sensor.ems_esp_uptime: + icon: mdi:update + friendly_name: 'Uptime' + +sensor.ems_esp_version: + icon: mdi:mini-sd + friendly_name: 'Firmare Version' + +sensor.ems_esp_mqtt_disconnects: + icon: mdi:chart-line + friendly_name: 'MQTT disconnects' +``` + +## Activating one-time hot water charging DHW once (OneTimeWater) + +switch.yaml +```yaml + one_time_water: + friendly_name: OneTimeWater + value_template: "{{ is_state('sensor.one_time_water', 'on') }}" + turn_on: + service: script.turn_on + entity_id: script.one_time_water_on + turn_off: + service: script.turn_on + entity_id: script.one_time_water_off +``` + +scripts.yaml +```yaml + one_time_water_on: + sequence: + - service: mqtt.publish + data_template: + topic: 'home/ems-esp/boiler_cmd_wwonetime' + payload: '1' + + one_time_water_off: + sequence: + - service: mqtt.publish + data_template: + topic: 'home/ems-esp/boiler_cmd_wwonetime' + payload: '0' +``` + +sensors.yaml +```yaml + - platform: mqtt + state_topic: 'home/ems-esp/boiler_data' + name: 'one_time_water' + value_template: '{{ value_json.wWOnetime }}' +``` diff --git a/docs/Home.md b/docs/Home.md new file mode 100644 index 000000000..19274efc5 --- /dev/null +++ b/docs/Home.md @@ -0,0 +1,61 @@ +EMS-ESP Logo + +[![version](https://img.shields.io/github/release/proddy/EMS-ESP.svg?label=Latest%20Release)](https://github.com/proddy/EMS-ESP/blob/master/CHANGELOG.md) +[![release-date](https://img.shields.io/github/release-date/proddy/EMS-ESP.svg?label=Released)](https://github.com/proddy/EMS-ESP/commits/master) +[![license](https://img.shields.io/github/license/proddy/EMS-ESP.svg)](LICENSE) +[![travis](https://travis-ci.com/proddy/EMS-ESP.svg?branch=master)](https://travis-ci.com/proddy/EMS-ESP) +[![Codacy Badge](https://api.codacy.com/project/badge/Grade/b8880625bdf841d4adb2829732030887)](https://app.codacy.com/app/proddy/EMS-ESP?utm_source=github.com&utm_medium=referral&utm_content=proddy/EMS-ESP&utm_campaign=Badge_Grade_Settings) +[![downloads](https://img.shields.io/github/downloads/proddy/EMS-ESP/total.svg)](https://github.com/proddy/EMS-ESP/releases) + +**EMS-ESP** is a project to build an electronic controller circuit using an Espressif ESP8266 microcontroller to communicate with EMS (Energy Management System) based Boilers and Thermostats from the Bosch range and compatibles such as Buderus, Nefit, Junkers etc. + +Currently [this is the list](Supported-EMS-Devices) of EMS heating devices that have been tested. + +### What's New? + + + +#### **Version 1.9.5 beta** +**January 6 2020** + +Happy new year everyone! 1.9.5 has been in development for a while now but it's almost ready with a few new features and many bug fixes and improvements such as: + +- Changing heating settings on Junkers thermostats +- Supporting multiple thermostat heat controllers +- MM10 Mixer support +- SM200 Solar module support + +Thanks to everyone for providing feedback. + +Also make sure you check out the full [ChangeLog](https://github.com/proddy/EMS-ESP/blob/dev/CHANGELOG.md). + +Paul. + +#### **Version 2.0** +**January 6 2020** + +The next major version is in the works. Here are some of the changes: +- A re-write of the Web interface. Websocket authentication was problematic in many browsers. The new version moves to a cleaner React and TypeScript +- Tighter security in the Web and Telnet, using SSL/TLS and tokens. +- Improved Telnet console with different levels of admin control and multi-client. +- Refactoring the code to make it easier to read, using more C++11 features now in the Arduino core libraries + + + +### Community Support +Go to [Gitter](https://gitter.im/EMS-ESP/community) for quick feedback, questions and troubleshooting. + +### Acknowledgments + +Kudos out to the following people who have open-sourced their work and helped me build this project: + + **susisstrolch** - One of the first working versions of the EMS bridge circuit I found designed for specifically for the ESP8266. I borrowed Juergen's [schematic](https://github.com/susisstrolch/EMS-ESP12) and parts of his code ideas for reading telegrams. + + **bbqkees** - Kees built a small SMD commercial grade circuit board which is available for purchase on his [website](https://bbqkees-electronics.nl/). + + **EMS Wiki** - A comprehensive [reference](https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme) (in German) for the EMS bus which is a little outdated, not always 100% accurate and sadly no longer maintained. + + +## DISCLAIMER + +!> This code and libraries were developed from information gathered on the internet and many hours of reverse engineering the communications between the EMS bus and thermostats. It is **not** based on any official documentation or supported libraries from Buderus/Junkers/Nefit (and associated companies) and therefore there are no guarantees whatsoever regarding the safety of your devices and/or their settings, or the accuracy of the information provided. diff --git a/docs/How-the-Code-Works.md b/docs/How-the-Code-Works.md new file mode 100644 index 000000000..786446082 --- /dev/null +++ b/docs/How-the-Code-Works.md @@ -0,0 +1,21 @@ +## The main source files + +`emsuart.cpp` handles the low level UART read and write logic to the bus. You shouldn't need to touch this. All receive commands from the EMS bus are handled asynchronously using a circular buffer via an interrupt. A separate function processes the buffer and extracts the telegrams. + +`ems.cpp` is the logic to read the EMS data packets (telegrams), validates them and process them based on the type. + +`ems-esp.cpp` is the Arduino code for the ESP8266 that kicks it all off. This is where we have specific logic such as the code to monitor and alert on the Shower timer and light up the LEDs. + +`my_config.h` has all the custom settings tailored to your environment. Specific values here are also stored in the ESP's SPIFFs (File system). + +`ems_devices.h` has all the configuration for the known EMS devices currently supported. + +`MyESP.cpp` is my custom library to handle WiFi, MQTT and Telnet. Uses a modified version of [TelnetSpy](https://github.com/yasheena/telnetspy). + +`ds18.*` are the Dallas libraries for any external temperature sensors. + +## How the shower logic works + +Checking whether the shower is running is tricky. We know when the warm water is on and being heated but need to distinguish between the central heating, shower, hot tap and even a bath tap. So this code is a little experimental. + +There is other logic in the code to compensate for water heating up to shower temperature and whether the shower is turned off and back on again quickly within a 10 second window. \ No newline at end of file diff --git a/docs/How-the-EMS-bus-works.md b/docs/How-the-EMS-bus-works.md new file mode 100644 index 000000000..5b7d9b845 --- /dev/null +++ b/docs/How-the-EMS-bus-works.md @@ -0,0 +1,69 @@ +Packages are streamed to the EMS "bus" from any other compatible connected device via serial TTL transmission using protocol 9600 baud, 8N1 (8 bytes, no parity, 1 stop bit). Each package is terminated with a break signal ``, a 11-bit long low signal of zeros. + +A package can be a single byte (see Polling below) or a string of 6 or more bytes making up an actual data telegram. A telegram for the EMS 1.0 is always in the format: + +``[src] [dest] [type] [offset] [data] [crc] `` + +The first 4 bytes is referenced as the *header* in this document. + +### EMS IDs + +Each device has a unique ID. + +In this example a UBA boiler has an ID of 0x08 (such as a MC10) and also referred to as the Bus Master. + +The circuit acts as a service key and thus uses an ID 0x0B. This ID is reserved for special devices intended for service engineers. + +### EMS Polling + +The bus master (boiler) sends out a poll request every second by sending out a sequential list of all possible IDs as a single byte followed by the break signal. The ID always has its high 8th bit (MSB) set so in the code we're looking for 1 byte messages matching the format `[dest|0x80] `. + +Any connected device can respond to a Polling request with an acknowledgement by sending back a single byte with its own ID. In our case we would listen for a `[0x8B] ` (meaning us) and then send back `[0x0B] ` to say we're alive and ready. + +Polling is also the trigger to start transmitting any packages queued for sending. It must be done within 200ms or the bus master will time out. + +### EMS Broadcasting + +When a device is broadcasting to everyone there is no specific destination needed. `[dest]` is always 0x00. + +The tables below shows which types are broadcasted regularly by the boiler (in this case ID 0x08) and thermostat (ID 0x17). The **data length** is excluding the 4 byte header and CRC and the **Name** references those in the German [ems wiki](https://emswiki.thefischer.net/doku.php?id=wiki:ems:telegramme). + +| Source (ID) | Type ID | Name | Description | Data length | Frequency | +| ------------- | ------- | ------------------- | -------------------------------------- | ----------- | ---------- | +| Boiler (0x08) | 0x34 | UBAMonitorWWMessage | warm water temperature | 19 bytes | 10 seconds | +| Boiler (0x08) | 0x18 | UBAMonitorFast | boiler temps, power, gas/pump switches | 25 bytes | 10 seconds | +| Boiler (0x08) | 0x19 | UBAMonitorSlow | boiler temp and timings | 22 bytes | 60 seconds | +| Boiler (0x08) | 0x1C | UBAWartungsmelding | maintenance messages | 27 bytes | 60 seconds | +| Boiler (0x08) | 0x2A | n/a | status, specific to boiler type | 21 bytes | 10 seconds | +| Boiler (0x08) | 0x07 | n/a | ? | 21 bytes | 30 seconds | + +| Source (ID) | Type ID | Name | Description | Frequency | +| ----------------- | ------- | ----------------- | --------------------------------------------------- | ---------- | +| Thermostat (0x17) | 0x06 | RCTime | returns time and date on the thermostat | 60 seconds | +| Thermostat (0x17) | 0x91 | RC30StatusMessage | returns current and set temperatures | 60 seconds | +| Thermostat (0x17) | 0xA3 | RCTempMessage | returns temp values from external (outdoor) sensors | 60 seconds | + +Refer to the code in `ems.cpp` for further explanation on how to parse these message types and also reference the EMS Wiki. + +### EMS Reading and Writing + +Telegrams can only be sent after the Master (boiler) sends a poll to the receiving device. The response can be a read command to request data or a write command to send data. At the end of the transmission a poll response is sent from the client (` `) to say we're all done and free up the bus for other clients. + +When executing a request to read data the `[src]` is our device `(0x0B)` and the `[dest]` must have has it's MSB (8th bit) set. Say we were requesting data from the thermostat we would use `[dest] = 0x97` since RC20 has an ID of 0x17. + +Following a write request, the `[dest]` doesn't have the 8th bit set and after this write request the destination device will send either a single byte 0x01 for success or 0x04 for failure. + +Every telegram sent is echo'd back to Rx, along the same Bus used for all Rx/Tx transmissions. + +### Special EMS Types + +`ems.cpp` defines callback functions that handle all the broadcast types listed above (e.g. 0x34, 0x18, 0x19 etc) plus these extra types: + +| Source (ID) | Type ID | Name | Description | +| ------------- | ------- | ----------------------------- | ---------------------------------------- | +| Boiler (0x08) | 0x33 | UBAParameterWW | reads selected & desired warm water temp | +| Boiler (0x08) | 0x14 | UBATotalUptimeMessage | | +| Boiler (0x08) | 0x15 | UBAMaintenanceSettingsMessage | | +| Boiler (0x08) | 0x16 | UBAParametersMessage | | + +In `ems.cpp` you can add scheduled calls to specific EMS types in the functions `ems_getThermostatValues()` and `ems_getBoilerValues()`. diff --git a/docs/MC110-controller.md b/docs/MC110-controller.md new file mode 100644 index 000000000..bd66258bb --- /dev/null +++ b/docs/MC110-controller.md @@ -0,0 +1,130 @@ +The various types from newer EMS+ controllers like the MC110 found in GB122/125's. + +Byte 1 is the 1st byte of the data block (which is the 5th byte of the telegram for EMS 1.0 for example). + +Bit 0 is the first byte (so value & 0x01) + +This information was compiled with most if it coming from https://github.com/Th3M3/buderus_ems-wiki. Kudos to @Th3M3 for collecting this. + +## 0xD1: UBAOutdoorTemp + +Sent every minute. The first 2 bytes is a short value * 10 + +``` +1 - 2 = outdoor temp, short value * 10 +``` + +## 0x14: UBABetriebszeit + +``` +1 - 2 = total operating time in minutes +``` + +## 0xBF: UBAErrorMessage + +Sent every 10 minutes + +``` +1 = 0x08 +2 = Model ID, 0x85 for MC110/GB125, 0xEA for GB122 +3 = blocking error: always 0x0A (fault class, see service manual) +4 = blocking error: 0x00 or 0x10 = interlocking error, 0x11 = blocking error, 0x12 = system error, 0x13 = reset system error +5 = ASCII | Fault code 0. character (possibly 0x0a = space) +6 = ASCII | Fault code (operation code) 1st character +7 = ASCII | Fault code (operation code) 2nd character +8 - 9 = additional code (status code) +``` + +## 0xE3: UBA?? + +Sent every 10 seconds + +``` +3 = heat request. is 1 if byte 1/bit 1 is set, otherwise 0 +6 = bit 1 for warming water yes/no +12 - 17 = boiler actual temperature * 10 C +14 = Burner capacity-actual in % +15 = Always 0x64 (100%) +16 = Boiler max. temperature in C +19 = %, is 0x64 (100%) if byte 1/bit 1 is set to 1. Otherwise 0. +20 = Cool set temperature for DHW preparation in C +``` + +## 0xE4: UBAMonitorFast + +Sent every 3 seconds + +``` +3 = operation code 1st character +4 = operation code 2nd character +5 - 6 = status code, as numerical value +7 = boiler set temp/heater temp in C +8 - 9 = actual boiler temp * 10 +10 = 0x64 (= 100%) in heating mode, 0x00 in DHW preparation, as % +11 = Burner capacity/power actual as % +12 = bit 0 = flame yes/no, bit 1 = day yes/no, bit 2 = WW prep yes/no +20 - 21 = flame current * 10 in uA +24 - 25 = same as bytes 8-9 +``` + +## 0xE5: UBAMonitorSlow + +Sent every 60 seconds + +``` +3 = + bit 0 = fuel valve 1 open + bit 1 = fuel valve 2 open + bit 2 = blower on + bit 3 = ignition on + bit 4 = oil preheater on + bit 5 = boiler circuit pump on + bit 6 = 3-way valve on WW + bit 7 = circulating pump on +9 = bit 0 = fire control started +11 - 13 = total burner starts +14 - 16 = burner operating hours +17 - 19 = burner level 2 operating hours +20 - 22 = Burner operating hours due to heating demand (excluding DHW preparation) +23 - 25 = Burner starting by heat demand (excluding WW-preparation) +26 = Heating circuit pump modulation % +``` + +## Type 0xE9: DHW status + +Sent every 10 seconds + +``` +1 = DHW setpoint (with setpoint = "off": 0x0A = 10 ° C) +2 - 3 = hot water actual value * 10 +4 - 5 = hot water actual value * 10 +10 = setpoint thermal disinfection +11 = setpoint daily heating temperature +13 = + bit 0 : DHW preparation activated by automatic program + bit 2 : DHW preparation activated by one-time charge + bit 3 : DHW preparation activated by thermal disinfection + bit 4 : DHW preparation active (always 1 if bit 0, 2 or 3 also 1) +14 = + bit 0 : Circulation day mode (or by single charge / th. disinfection activated) + bit 2 : circulating pump on + bit 4 : WW-preparation (when switching to daytime operation sometimes short 0, then again 1) + bit 5 : WW preparation +15 - 17 = Warmwater preparations +18 - 20 = # hours water heating +21 = Warming water (0x64 = 100%) +24 = Set value of time program (if set = "off": 0x00) +26 = same as byte 1, in C +``` + +## 0x07E4: UBA Status + +Sent every 10 seconds + +``` +6 = operation code 1st character +7 = operation code 2nd character +10 = Boiler setpoint temperature during heating operation (0x00 with DHW preparation) +11 = 0x64 (= 100%) in heating mode, 0x00 in DHW preparation or when night +12 = Boiler setpoint temperature during DHW preparation (0x00 during heating operation or when night) +``` diff --git a/docs/MQTT.md b/docs/MQTT.md new file mode 100644 index 000000000..ec91e3842 --- /dev/null +++ b/docs/MQTT.md @@ -0,0 +1,94 @@ +## MQTT configuration options + +#### QOS +The QOS (Quality Of Service) is configurable within telnet (`mqtt_qos`) and WebUI. Valid options are At most once (0) At least once (1) and Exactly once (2). The default is 0. + +#### Keep Alive +Likewise the Keep Alive (`mqtt_keepalive`) can be set. Keep alive ensures that the connection between the broker and client is still open and that the broker and the client are aware of being connected. This value is the number of seconds before giving up on a response and default set to 60 (1 minute). The lower the number the more WiFi traffic but greater the stability. + +#### Retain +`mqtt_retain` sets the MQTT retain flag for all published messages on the broker. It's set to off as default. + +[HiveMQ](https://www.hivemq.com/tags/mqtt-essentials/) has a good explanation of MQTT. + +## MQTT topics + +*all* topics are prefixed with `[base]`/[`host name`]/ where both `base` and `host name` are configurable in the Web UI. The default is `home/ems-esp/`. + +If you want to configure the topic names, these can be changed in the file `src/my_config.h`. + +## Publishing Topics + +All the key information from each of the EMS devices connected (Boilers, Thermostats, Solar Modules etc) are sent periodically on a single MQTT topic. The frequency of these publishes can be adjusted by the `publish_time` parameter which is set to 2 minutes (120 seconds) as default. + +If the data in the payload has not changed since the last publish, it is ignored. Although from version 1.9.4 this can also be configured with the `publish_always` command and WebUI parameter. For example `set publish_always on` will always publish MQTT topics regardless if any of the data parameters have changed. + +The table below shows examples of the topics being published: + +| Topic | Description | Payload Example | +| ------------------- | ------------------- | --------------- | +| `sensors` | temperature readings from any external Dallas sensors attached to the ESP | `{"temp_1":"20.18","temp_2":"40.81"}` | +| `start` | this is the MQTT will and testament messages | `online` or `offline` | +| `heartbeat` | if enabled send out key system stats in JSON | `{"version":"1.9.3b3","IP":"10.10.10.198","rssid":68,"load":100,"uptime":4,"freemem":68,"MQTTdisconnects":0}` | +| `tapwater_active` | individual message if using a boolean sensor to show if hot tap water is running | `0` or `1` | +| `heating_active` | individual message if using a boolean sensor to show if heating is on | `0` or `1` | +| `boiler_data` | all the key data from the Boiler device | `{"wWComfort":"Hot","wWSelTemp":54,....` (see the example in the Monitoring MQTT section below) | +| `thermostat_data` | data from each of the Thermometer's Heating Circuits. Default HC is 1. The data sent depends on the model. | `{ "hc1":{"seltemp":15,"currtemp":20.6,"mode":"auto"}, "hc2":{"seltemp":8,"currtemp":18.2,"mode":"off"} }` | +| `mixing_data` | data from The Mixing Module for each of the Thermometer's Heating Circuits. | `{"hc1":{"flowTemp":55,"pumpMod":"1","valveStatus":"1"}}` | +| `shower_data` | the shower timer and alert toggles plus the duration of the last shower taken | `{"timer":"0","alert":"0","duration":"4 minutes 32 seconds"}` | +| `sm_data` | all data from the Solar Module (if connected) | JSON with `collectortemp` `bottomtemp` `pumpmodulation` `pump` `energylasthour` `energytoday` `energytotal` `pumpWorkMin` | +| `hp_data` | all data from the Heat Pump (if connected) | `{"pumpmodulation":"1", "pumpspeed": 20}` | + +## Receiving Topics + +EMS-ESP subscribes to the following topics used to send commands to the device: + +| Topic | Description | Payload Format | Example | +| ------------------- | ------------------- | -------------- | ------- | +| `start` | this is the MQTT will and testament messages back from the broker | `online` or `offline` | `offline` | +| `restart` | restarts the ESP | | | +| `thermostat_cmd_temp` | sets the thermostat current setpoint temperature to the Heating Circuit `n` (1-4). This is specific for the Home Assistant climate component | temperature value as a float | `20.8` | +| `thermostat_cmd_mode` | sets the thermostat current mode to the Heating Circuit `n` (1-4). This is specific for the Home Assistant climate component | auto, day, night, off, manual | `auto` | +| `thermostat_cmd` | send a generic command to control the thermostat | JSON `{"cmd":,"data":` with `command` being `temp`, `mode`, `nightemp`, `daytemp` or `holidaytemp` with hc being empty or the heat controller (1-4) and `value` being a numeric value | `{ "cmd":"temp2", "data": 20 }` | +| `shower_data` | for setting the shower timer or alert toggle | JSON as `{"timer|alert":"0|1"}` | `{"timer":"1"}` | +| `generic_cmd` | for sending a command to the EMS-ESP, e.g. sending a shot of cold water | `coldshot` | `coldshot` | +| `boiler_cmd` | for sending generic command to control the Boiler | JSON `{"cmd":,"data":` with `command` being `comfort` and `data` = `[hot,comfort,intelligent]` or `flowtemp` with `data` being the desired temperature or `boiler_cmd_wwonetime` | `{"cmd":"flowtemp",data:55}` | +| `boiler_cmd_wwactivated` | for receiving boiler controls from a HA HVAC component | `"1"` or `"0"` | `"1"` | +| `boiler_cmd_wwtemp` | for receiving boiler temperature setting from a HA HVAC component | the temperature value | `60` | + +## Monitoring MQTT + +In Telnet the command `mqttlog` will show you the last messages published as well as which topics are being subscribed to. In the WebUI you also see real-time the last set of published messages in the System Status screen. Below is an example of the telnet command. + +``` +[telnet session] +mqttlog + +MQTT publish log: + Topic:start Payload:start + Topic:heartbeat Payload:version=1.9.2b6, IP=10.10.10.198, rssid=72%, load=1%, uptime=364secs, freemem=52% + Topic:boiler_data Payload:{"wWComfort":"Hot","wWSelTemp":54,"wWDesiredTemp":70,"selFlowTemp":5,"selBurnPow":0,"curBurnPow":0,"pumpMod":0,"wWCircPump":0,"wWCurTmp":36.7,"wWCurFlow":0,"curFlowTemp":43.4,"retTemp":41,"sysPress":1.7,"boilTemp":45.5,"wWActivated":"on","burnGas":"off","flameCurr":0,"heatPmp":"off","fanWork":"off","ignWork":"off","wWCirc":"off","heating_temp":75,"pump_mod_max":90,"pump_mod_min":60,"wWHeat":"on","wWStarts":206017,"wWWorkM":73890,"UBAuptime":3471966,"burnStarts":229866,"burnWorkMin":368989,"heatWorkMin":295099,"ServiceCode":"0H","ServiceCodeNumber":203} + Topic:tapwater_active Payload:0 + Topic:heating_active Payload:0 + Topic:thermostat_data Payload:{"hc1":{"seltemp":15,"currtemp":20.6,"mode":"auto"}} + +MQTT subscriptions: + Topic:home/ems-esp/restart + Topic:home/ems-esp/start + Topic:home/ems-esp/thermostat_cmd_temp1 + Topic:home/ems-esp/thermostat_cmd_mode1 + Topic:home/ems-esp/thermostat_cmd_temp2 + Topic:home/ems-esp/thermostat_cmd_mode2 + Topic:home/ems-esp/thermostat_cmd_temp3 + Topic:home/ems-esp/thermostat_cmd_mode3 + Topic:home/ems-esp/thermostat_cmd_temp4 + Topic:home/ems-esp/thermostat_cmd_mode4 + Topic:home/ems-esp/thermostat_cmd + Topic:home/ems-esp/boiler_cmd + Topic:home/ems-esp/boiler_cmd_wwactivated + Topic:home/ems-esp/boiler_cmd_wwtemp + Topic:home/ems-esp/generic_cmd + Topic:home/ems-esp/shower_data +``` + +If you want more precise monitoring of the MQTT traffic I suggest using [MQTT Explorer](http://mqtt-explorer.com/). diff --git a/docs/RC3xx-Thermostats.md b/docs/RC3xx-Thermostats.md new file mode 100644 index 000000000..41b19eeb3 --- /dev/null +++ b/docs/RC3xx-Thermostats.md @@ -0,0 +1,128 @@ +### How to interpret the tables below + +Take an example telegram: +``` + OO TTTTT +10 00 FF 00 01 A5 00 D7 21 00 00 00 00 30 01 84 01 01 03 01 84 01 F1 00 00 11 01 00 08 63 00 + data block --> 00 01 02 03 04 06 07 08 09 0A... + ^ + | + start of data (n=0) + +OO = offset, 1 byte +TTTTT = type, 2 bytes +``` + +The data starts at the 7th byte straight after the typeID of `x01A5`. Position 0 is the first byte of the data block. + +### Reading from and Writing to an EMS+ Telegram + +``` +Reading 2 bytes of data from 0x1A5 its: send 0B 90 FF 00 02 01 A5 +Meaning: +0B - sender +90 - receiver (RC300) (Read request) +FF - EMS+ extended mode +00 - offset +02 - data length to query +01 A5 - EMS+ Command/Type + +And writing a value of 0x77 to type 0x1B9 its: send 0B 10 FF 08 01 B9 77 + +Meaning: +0B - sender +10 - receiver (RC300) (Write request) +FF - EMS+ extended mode +08 - offset +01 B9 - EMS+ Command/Type +77 - the value to write +``` + +example to retrieve 25 bytes of data from HC1: + +``` +send 0B 90 FF 00 19 01 A5 +Thermostat -> me, type 0x01A5, telegram: 10 0B FF 00 01 A5 00 D3 21 22 00 00 22 27 00 EF 01 01 03 00 EF 01 4B 00 00 11 01 04 08 42 00 (CRC=ED) #data=25 +``` + + + +# Type 01A5 + +0x1A5 is a monitoring telegram from the 1st Heat Controller (HC1). The other HCs use `01A6`, `01A7` and `01A8` respectively and share the same format as below. + +| data position (0..n) in decimal | description | format | notes | +| - | - | - | - | +| 0 + 1 | current room temperature | 2 bytes, *10 | +| 2 | ?? (room night set point temperature) | 1 byte, *2 | **(needs verifying!)** most probably to be processed as bit(s) known values are always in (03, 21 ,23)| +| 3 | current target temperature | 1 byte, *2 | current target value | +| 4 | target flow temperature | 1 byte | target flow temp | +| 6 | current setpoint temperature | 1 byte, *2 | temperature for current mode | +| 7 | next setpoint temperature | 1 byte, *2 | note, only when in auto mode | +| 8 | remaining time until next temp change | 2 bytes | remaining time in minutes.| +| 10 | mode and eco/comfort bits info | 1 byte| bit 1 : 0=manual 1=mode auto, bit 2 : 0=night 1=comfort2 | +| 11 | Current temperature mode | 1 byte | eco : 1, comfort1 : 2, comfort2 : 3, comfort3 : 4 | +| 12 | Next temperature mode | 1 byte | eco : 1, comfort1 : 2, comfort2 : 3, comfort3 : 4 | +| 13 + 14 | remaining time to next setpoint | 2 bytes | time in minutes.| +| 15 + 16 | elapsed time in this setpoint | 2 bytes | time in minutes. | + + +# Type 01B9 + +This telegram type is for managing the Heating mode + +``` +AUTO Mode, setting temporary temp to 21.5(0x2B) +(03:43:45.965) Gateway -> Thermostat, type 0x01B9 telegram: 48 10 FF 08 01 B9 2B (CRC=FA) +(03:43:46.445) Thermostat -> all, type 0x01B9 telegram: 10 00 FF 08 01 B9 2B (CRC=17) + +SET to Manual mode ( manual temp is 20.5 (0x29) ) +(03:49:44.575) Gateway -> Thermostat, type 0x01B9 telegram: 48 10 FF 00 01 B9 00 (CRC=91) +(03:49:45.825) Thermostat -> all, type 0x01A5 telegram: 10 00 FF 0A 01 A5 02 (CRC=16) +(03:49:51.726) Thermostat -> all, type 0x01A5 telegram: 10 00 FF 03 01 A5 29 (CRC=75) +<--- RCPLUSStatusMessage(0x1A5) received + (03:49:51.918) Thermostat -> all, type 0x01A5 telegram: 10 00 FF 06 01 A5 29 (CRC=5D) +<--- RCPLUSStatusMessage(0x1A5) received + +``` + +| data position (0..n) in decimal | description | format | notes | +| - | - | - | - | +| 0 | operation mode | 1 byte | (Auto=xFF, Manual=x00) | +| 1 | comfort3 level | 1 byte, *2 | | +| 2 | comfort2 level | 1 byte, *2 | | +| 3 | comfort1 level | 1 byte, *2 | | +| 4 | eco level | 1 byte, *2 | | +| 5 | | | | +| 6 | | | | +| 7 | | | | +| 8 | temporary setpoint temperature | 1 byte, *2 | when changing of templevel (in auto) value is reset and set to FF | +| 9 | | | | +| 10 | manual setpoint temperature | 1 byte, *2 | | + +# Type 01AF + +Summer - Winter Mode + +change the mode +```send 0B 10 FF 00 AF 07 02``` + +query the mode +```send 0B 90 FF 00 AF 07 01``` + +1 Byte value. + +|Byte value | Meaning | +| - | - | +| 00 | Off | +| 01 | Automatic | +| 02 | Forced | + +Data log example : +``` +Thermostat -> all, type 0x01AF telegram: 10 00 FF 07 01 AF 00 (Off) +Thermostat -> all, type 0x01AF telegram: 10 00 FF 07 01 AF 01 (Automatic) +Thermostat -> all, type 0x01AF telegram: 10 00 FF 07 01 AF 02 (Forced) +``` + + diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 000000000..6da98b9a5 --- /dev/null +++ b/docs/README.md @@ -0,0 +1,69 @@ +# EMS-ESP Documentation +This is the documentation for EMS-ESP. Thanks to Tasmota for providing examples. + +## Editing Files + +Use normal markdown syntax with some enhancements, see below. + +### Disable click on zoom for an image +Images support click on zoom function. If you don't want to use it: +``` +![](image.png ":no-zoom") +``` +### Image resizing +Due to click on zoom you can directly link to a big image but make it render smaller on the page: + +``` +![logo](https://docsify.js.org/_media/icon.svg ':size=50x100') +![logo](https://docsify.js.org/_media/icon.svg ':size=100') + + + +![logo](https://docsify.js.org/_media/icon.svg ':size=10%') +``` + +### Rendering Alert Tags + +Blockquotes `>` can now look even fancier: + +?> =`?>` + +!> = `!>` + +> [!TIP] +> `> [!TIP]` + +> [!DANGER] +> `> [!DANGER]` + +> [!NOTE] +> `> [!NOTE]` + +> [!EXAMPLE] +> `> [!EXAMPLE]` + +> [!DANGER|style:flat] +> `> [!DANGER|style:flat]` + +### Creating Tabs + +``` + + +#### ** First Tab Title ** + +Hello! + +#### ** Second Tab Title ** + +Bonjour! + +#### ** Third Tab Title ** + +Ciao! + + +``` + + + diff --git a/docs/Running-and-Monitoring.md b/docs/Running-and-Monitoring.md new file mode 100644 index 000000000..9baa16642 --- /dev/null +++ b/docs/Running-and-Monitoring.md @@ -0,0 +1,32 @@ + +## Using Telnet to monitor EMS traffic + +Use the telnet client to inform you of all activity and errors real-time. This is an example of the telnet output: + +![Telnet](_media/telnet/telnet_menu.jpg) + +Type `log v` and Enter and you'll be seeing verbose logging messages. ANSI colors with white text for info messages, green are for broadcast telegrams, yellow are the ones sent to us and red are for unknown data or telegrams which have failed the CRC check. + +![Telnet](_media/telnet/telnet_verbose.PNG) + +To see the current stats and collected values type 'info'. Note it is normal behavior to see a few CrcErrors as this is usually noise on the line. + +![Telnet](_media/telnet/telnet_stats.PNG) + +**Warning: be careful when sending values to the boiler. If in doubt you can always reset the boiler to its original factory settings by following the instructions in the user guide. For example on my Nefit Trendline that is done by holding down the Home and Menu buttons simultaneously for a few seconds, selecting factory settings from the scroll menu followed by pressing the Reset button.** + +### Recommended puTTY settings + +The Telnet code handles continuous motioning of key strokes, which is useful when monitoring a stream of incoming telegrams and issuing commands at the same time. If you're using puTTY then this will be need to be enabled. I suggest the following settings: + +``` +Terminal->Local line editing->Force off +Terminal->Bell->None +Window->Columns: 180 +Window->Rows: 70 +Window->Lines of scrollback: 5000 +Window->Appearance->Font quality: Antialiased +``` + + + diff --git a/docs/SM100.md b/docs/SM100.md new file mode 100644 index 000000000..4a06400f9 --- /dev/null +++ b/docs/SM100.md @@ -0,0 +1,180 @@ + +### General + +The SM100 (and SM200) is a device to enhance Buderus heatings with the ability to earn solar energy using solar collectors and spend these energy into a water reservoir. + There are different scenarios available to add these module into a heating. + +Protocol: The SM100 device communicates using the EMS+ protocol. That means it sends and interprets EMS and also EMS+ messages. + +External Link to the german product page of SM100: https://www.buderus.de/de/produkte/catalogue/alle-produkte/7607_solarmodul-logamatic-sm100 + + +The following reverse protocol engineering based on a Buderus GB172 heating combined with a water reservoir in one heating circuit. Other combinations, configurations and protocol types are not covered. + +Also refer to https://github.com/proddy/EMS-ESP/issues/267 for the SM200 + + +### Decoded EMS+ Messages + +How to interpret the tables below. Take an example telegram: +``` + EMS+ telegram type + ->| |<- +30 00 FF 00 02 62 01 FB 01 9E 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 80 00 2B + data block --> 00 01 02 03 04 06 07 08 09 0A... + ^ + | + start of data +``` + +The data starts at the 7th byte straight after the typeID - here `x0262`. Position 0 is the first byte of the data block. + + +### Telegram overview + +| EMS+ telegram type | description | schedule | number of data bytes in decimal | +| - | - | - | - | +| x0262 | Temperatures | every minute | 26 (max. 24 in one telegram) | +| x0263 | unknown | every minute | 12 | +| x0264 | Solar pump modulation | every minute | 17 | +| x0266 | unknown | every minute | 04 | +| x0268 | unknown | every minute | 02 | +| x026A | Solar pump on/off | every minute | 12 | +| x028E | Solar energy earnings | every hour | 15 | + +### Telegram details + + +| Telegram type | data position (0..n) in decimal | description | format | +| - | - | - | - | +| x0262 | 0+1 | T1 - Temperature of solar collector `[°C]` | 2 bytes | +| x0262 | 2+3 | T2 - Temperature of bottom water reservoir 1 `[°C]` | 2 bytes | +| x0262 | 16+17 | T5 - Temperature of bottom water reservoir 2 `[°C]` | 2 bytes | +| x0264 | 9 | Solar pump modulation `[%]` | 1 byte | +| x026A | 10 | PS1 - Solar pump: on=`04` and off=`03` | 1 byte | +| x026A | 4 | VS2 - Cylinder select value: cyl#2=`04` and cyl#1=`03` | 1 byte | +| x028E | 2+3 | Solar energy earning last hour `/10` `[Wh]` | 2 byte | +| x028E | 6+7 | Solar energy earning today `[Wh]` | 2 byte | +| x028E | 10+11 | Solar energy earning total `/10` `[kWh]` | 2 byte | + + +### Examples + +Solar pump status and changes: + +1.Status solar pump is currently off: see x026A data byte 0A "03" and x0264 data byte 9 "00" +``` + SM -> all, type 0x026A telegram: 30 00 FF 00 02 6A 03 03 03 00 03 03 03 03 03 00 03 03 (CRC=E5), #data=11 + SM -> all, type 0x0264 telegram: 30 00 FF 00 02 64 00 00 00 04 00 00 FF 00 00 00 0C 0A 64 00 00 00 00 (CRC=53), #data=16 +``` + +2.Status pump is currently on: see x026A data byte 0A "04" and x0264 data byte 9 "1E" +``` + SM -> all, type 0x026A telegram: 30 00 FF 00 02 6A 03 03 03 00 03 03 03 03 03 00 04 03 (CRC=EB), #data=11 + SM -> all, type 0x0264 telegram: 30 00 FF 00 02 64 00 00 00 04 00 00 FF 00 00 1E 09 08 64 00 00 00 00 (CRC=CD), #data=16 +``` + +3.Solar pump changes from off --> on: see x0264 data byte 9 set at first to "64" and x026A byte 0A is set to "04" +``` + SM -> all, type 0x0264 telegram: 30 00 FF 09 02 64 64 (CRC=37) + SM -> all, type 0x026A telegram: 30 00 FF 0A 02 6A 04 (CRC=53) + +Less then 10 seconds later the pump is throttled to `30%` 0x1E + + SM -> all, type 0x0264 telegram: 30 00 FF 09 02 64 1E (CRC=4D) +``` + +4.Solar pump changes from on --> off: see x0264 data byte 9 set to "00" and x026a byte 0A is set to "03" +``` + SM -> all, type 0x0264 telegram: 30 00 FF 09 02 64 00 (CRC=53) + SM -> all, type 0x026A telegram: 30 00 FF 0A 02 6A 03 (CRC=54) +``` + +Solar energy earnings: +``` + SM -> all, type 0x028E telegram: 30 00 FF 00 02 8E 00 00 0C F3 00 00 06 02 00 00 76 33 (CRC=8A), #data=11 +``` + +### MQTT message format + +Example of MQTT message: +``` +{"collectortemp":54.8,"bottomtemp":38.8,"pumpmodulation":30,"pump":"on","energylasthour":136.5,"energytoday":447,"energytotal":3029.4} +``` +Please note that not all json elements are available after a restart of the ESP! It takes several minutes (up to 1 h) to collect all necessary values + +### Home Assistant integration + +Example to integrate values into Home Assistant + +##### binary_sensors.yaml: +``` +- platform: mqtt + name: 'Solar Pump' + state_topic: 'home/ems-esp/sm_data' + value_template: '{{ value_json.pump }}' + payload_on: "on" + payload_off: "off" + qos: 1 + payload_available: "online" + payload_not_available: "offline" + +``` + +##### sensors.yaml: +``` +- platform: mqtt + state_topic: 'home/ems-esp/sm_data' + name: 'Collector Temperature' + unit_of_measurement: '°C' + value_template: '{{ value_json.collectortemp }}' + qos: 1 + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/sm_data' + name: 'Bottom Temperature' + unit_of_measurement: '°C' + value_template: '{{ value_json.bottomtemp }}' + qos: 1 + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/sm_data' + name: 'Solar Pump modulation' + unit_of_measurement: '%' + value_template: '{{ value_json.pumpmodulation }}' + qos: 1 + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/sm_data' + name: 'Solar Energy Last Hour' + unit_of_measurement: 'Wh' + value_template: '{{ value_json.energylasthour }}' + qos: 1 + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/sm_data' + name: 'Solar Energy Today' + unit_of_measurement: 'Wh' + value_template: '{{ value_json.energytoday }}' + qos: 1 + payload_available: "online" + payload_not_available: "offline" + +- platform: mqtt + state_topic: 'home/ems-esp/sm_data' + name: 'Solar Energy Total' + unit_of_measurement: 'kWh' + value_template: '{{ value_json.energytotal }}' + qos: 1 + payload_available: "online" + payload_not_available: "offline" + +``` \ No newline at end of file diff --git a/docs/Supported-EMS-Devices.md b/docs/Supported-EMS-Devices.md new file mode 100644 index 000000000..89a5c89c4 --- /dev/null +++ b/docs/Supported-EMS-Devices.md @@ -0,0 +1,51 @@ +Most Bosch branded boilers that support the Logamatic EMS bus protocols work with this design. This includes Nefit, Buderus, Worcester, Junkers and Sieger (all copyrighted). + +!> Please make sure you read the **Disclaimer** on the home page carefully before sending ambiguous messages to your EMS bus as you could cause serious damage to your equipment. + +EMS devices are being constantly added to the database (see file `ems_devices.h`) on each new release. + +### Thermostats: + +* Buderus RC10, RC20, RC20F, RC30, R35, RC300, RC310, RC3000 +* Buderus Logamatic TC100 (read-only) +* Nefit Moduline 100, 300, 400 +* Nefit Moduline 1010, 3000 (read-only) +* Nefit Moduline Easy (read-only) +* Bosch CW100, Easy Control/CT200 (read-only) +* Junkers FR10, FR50, FR100, FR110, FW100, FW120 +* Sieger ES73 + +### Boilers: + +* Buderus GBx72, GB162, GB152, GB125, Logamax U122, Logamax Plus GB062/GB122/GB192, Logano +* Bosch Condens 2500 +* Worcester-Bosch Greenstar 550CDi +* Worcester Bosch Greenstar 24i +* Junkers Cerapur, Junkers Heatronic 3 boilers +* Nefit Proline, Trendline, Topline, Enviline, Smartline +* Sieger BK13 and BK15 Boiler + +### Solar Modules: + +* Buderus SM10, SM50, SM100 Solar Module +* Junkers ISM1 Solar Module + +### Mixing Modules: + +* Buderus MM10, MM50, MM100, MM200 Mixer Module + +### Heat Pump Modules: + +* Buderus HeatPump Module + +### Other devices: + +* Generic Buderus MC10 Module +* Buderus WM10 Switch Module +* Buderus RFM20 Receiver +* Buderus BC10, BC25, BC40 Base Controller +* Buderus Web Gateway KM200 +* Nefit Moduline Easy Connect +* Bosch Easy Connect +* EMS-OT OpenTherm converter +* Junkers Controller diff --git a/docs/Thermostat-Modes-RC35-vs-RC300.md b/docs/Thermostat-Modes-RC35-vs-RC300.md new file mode 100644 index 000000000..3b38233ae --- /dev/null +++ b/docs/Thermostat-Modes-RC35-vs-RC300.md @@ -0,0 +1,15 @@ +(thanks to @moustic999 for explaining this) + +## RC300 + +RC300 has 2 modes : Auto and Manual. + +Auto can switch temperature between 2 levels : eco and comfort + +## RC35 + +RC35 has 3 modes : Auto, Day and Night. + +Auto can switch temperature between 2 levels : day and night + +Changing the temperature for Day or Night (in these modes) will also change the temperature levels used in Auto mode diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md new file mode 100644 index 000000000..fb6ca0d91 --- /dev/null +++ b/docs/Troubleshooting.md @@ -0,0 +1,70 @@ +### Web UI is showing blank pages after logging in + +Due to an issue in how web socket authentication is supported in some browsers, the web interface will currently not work with +* Safari +* Any browser on an iOS or iPadOS device (so iPhones and iPads) + +and the Dashboard will show an empty page. + +A workaround is to use another browser like Chrome or Firefox until the issue has been resolved in the 3rd party library. See [here](https://github.com/me-no-dev/ESPAsyncWebServer/issues/575) and [here](https://bugs.webkit.org/show_bug.cgi?id=80362) for further details on the bug. + +### Web UI is slow or not responding + +Check that you have compiled the firmware with the correct ESP8266 board. In PlatformIO look for `board =` in the `[env]` section. There are noticeable differences between flash chips on certain branded and clone ESP8266 development boards. Best let PlatformIO figure out which one to use (e.g. dio, dout, qio). + +Also certain ESP8266 boards (like from DO-IT) have been problematic. Check that first before logging an issue. + +### Can't connect via WiFi to the EMS-ESP + +The EMS-ESP is probably in Access Point mode. Look for a wifi SSID 'ems-esp', connect to this and open a browser to 'https://192.168.4.1'. If you have configured a WiFi client your router would have appointed an IP address via DHCP. You should be able to connect via https://ems-esp or https://ems-esp.local. + +If you're still unable to connect to the EMS-ESP, hook it up to the USB and open a serial monitor to the COM port to see what is happening. The serial output will always automatically be switched off when there is a connection to the EMS bus. To force it on at bootup, re-compile the code by adding `-DFORCE_SERIAL` to the `general_flags` in `platformio.ini`. Note make sure you re-compile without this flag when putting the EMS-ESP back into production use. + +### EMS Bus shows as disconnected + +The on-board blue LED will flash if there is no connection with the EMS bus. If the LED is disabled re-enable it using the telnet command `set led` or the web interface. The two possible reasons why the bus shows as disabled or disconnected: + +1) The board is running in Serial mode. This will be shown in the telnet session and you can use `set serial off` to disable it or via the web interface. +2) There is no Rx data coming in. The connection to the EMS bus (2-wires or the jack) is faulty or connected to the wrong GPIO pins on the ESP. Rx is D7 and Tx is D8. + +### ESP is unstable and frequently reboots + +Well, that sucks. Sorry! + +Here are some first things to check + +* Check you're using a genuine ESP8266 (like the Wemos D1 or Nodemcuv2). There have been reports of some esp8266 clones (noticeably from DO-IT) which are problematic. See this message from [bbqkees](https://github.com/proddy/EMS-ESP/issues/173#issuecomment-528791079). +* Check that the settings can be saved after a set command. Check with typing `set` into the telnet session. +* Can you reproduce the problem using the official firmware .bin files from the GitHub Release page? +* If you compiled the firmware yourself + 1) Check if you can you reproduce this using the precompiled firmware from the GitHub Releases page + 2) Check that your `platformio.ini` file is up-to-date with the example one provided + 3) Check that your platformio environment up-to-date with the latest libraries +* Did it work before, in an earlier version? Report back which one. + +Then try the following to isolate the root cause of the problem: + +* Use `system` to see how many times it has restarted and what the exception cause was. Note, if the EMS-ESP restarts more than 10 times within a 60-second window of booting it is considered unstable and Serial mode will automatically be enabled to help debug the root cause. This will be shown in the system command too. +* Don't use the web interface, only the Telnet with logging off (`set log n`). Does it still fail? Then try with logging on and see where it fails. Capture the logs and screenshots. +* If compiled with the `debug` target the firmware will capture the stack dump of a crash. Use `crash dump` to output the stack, copy this to a file in scripts/stackdmp.txt (you may need to clean up the formatting) and run the `analyze_stackdmp.py` file to see where in the code the crash occurred. +* Perhaps it's the Tx logic, which can be disabled using `set listen_mode on` (or via the web). See next session below for Tx issues. +* Perhaps the MQTT is failing, which can be disabled with `set publish_time 0` or `set mqtt_enabled false` (or via the web). +* Perhaps the UART low-level code to read the signals from the circuit is causing interference somewhere. Detach the ESP8266 from the circuit (or gateway module) and start it without any of the GPIOs attached to see if it is any more stable. +* As a last resort try wiping the ESP8266 and uploading the firmware again. Use `pio run -t erase` or `esptool.py erase_flash`. + +### Tx is just not working + +First make sure 'listen_mode' is not on as this disables writing to the EMS bus (called Tx). Verify this with the `set` command. + +A quick test is to manually send a command with verbose logging enabled, for example, this will request the version information from the boiler on Device ID 0x08: + +``` +log v +send 0B 88 02 00 20 +``` + +Note for Junkers use `send 8B 88 02 00 20` + +Then try a different Tx setting with `set tx_mode`. 1 is the default, 2 works well for EMS+ and 3 is Junkers specific. With some Bosch devices 2 works better. + +If you see errors pop up in the Telnet session like `** Warning, we missed the bus - Rx non-idle!` and have other components using the +5V power line of the ESP8266 (for example external sensors) then disconnect and try again and this may be causing noise on the line. diff --git a/docs/Uploading-firmware.md b/docs/Uploading-firmware.md new file mode 100644 index 000000000..19559d6f7 --- /dev/null +++ b/docs/Uploading-firmware.md @@ -0,0 +1,14 @@ + +A pre-baked firmware for the common ESP8266 devices are available in the GitHub [releases](https://github.com/proddy/EMS-ESP/releases) which you can upload yourself using the [esptool](https://github.com/espressif/esptool) bootloader. + +### via USB + +- Install ESPTool by running `pip install esptool`. You'll need [Python](https://www.python.org/downloads/) installed. +- Download the firmware from `https://github.com/proddy/EMS-ESP/releases/latest`. You can use `wget` for this. +- `esptool -p COM5 write_flash 0x00000 *.bin` (use COM* for windows, /dev/tty* for Linux/OSX) + +### via OTA (Over The Air) + +- Download espota. Eg. `wget https://raw.githubusercontent.com/esp8266/Arduino/master/tools/espota.py` +- Download the firmware from `https://github.com/proddy/EMS-ESP/releases/latest`. You can use `wget` for this. +- `python espota.py -i ems-esp -f *.bin` diff --git a/docs/Web-test.md b/docs/Web-test.md new file mode 100644 index 000000000..652c36a68 --- /dev/null +++ b/docs/Web-test.md @@ -0,0 +1,7 @@ +If you plan to make changes to the web (css/html/js) you can simulate the front-end by installing the npm modules in the `wsemulator` folder: +```sh +cd tools\wsemulator +npm ci +``` +for the first time and then using the `run` script to start it. e.g. `./run` or `./run.sh` just `run` depending on the OS. +The password for the web admin user is **neo**. \ No newline at end of file diff --git a/docs/What's-New.md b/docs/What's-New.md new file mode 100644 index 000000000..a73825713 --- /dev/null +++ b/docs/What's-New.md @@ -0,0 +1 @@ +[remoteMarkdownUrl](https://raw.githubusercontent.com/proddy/EMS-ESP/dev/CHANGELOG.md) \ No newline at end of file diff --git a/docs/_assets/edit-link.js b/docs/_assets/edit-link.js new file mode 100644 index 000000000..62078ba08 --- /dev/null +++ b/docs/_assets/edit-link.js @@ -0,0 +1,28 @@ +function normalizeGithubUrl(url) { + if (!url) { return null } + + var isAlias = !/\/\//.test(url) // no protocol in the url, we assume it's an alias + url = isAlias + ? 'https://github.com/' + url + '/edit/master/docs/' + : url.replace(/^git\+/, '') + + return url + } + + function install(hook, vm) { + var editLinkConfig = vm.config.editLink || {} + var text = editLinkConfig.text || 'Edit this page' + var cssClass = editLinkConfig.cssClass || 'edit-link' + var repoUrl = normalizeGithubUrl(editLinkConfig.repo || vm.config.repo) + + if (!repoUrl) { throw Error('$docsify.editLink.repo is required. Fix your config.') } + + hook.afterEach(function (html) { + var editLink = '' + + '' + text + '' + + return editLink + html + }); + } + + $docsify.plugins = [].concat(install, $docsify.plugins) \ No newline at end of file diff --git a/docs/_assets/prism-bash.min.js b/docs/_assets/prism-bash.min.js new file mode 100644 index 000000000..5cde45fc3 --- /dev/null +++ b/docs/_assets/prism-bash.min.js @@ -0,0 +1 @@ +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=n.variable[1].inside,s=0;s]/, + 'deleted': /[;]\s/, + 'json': { + pattern: /[{].*[}]/, + alias: 'language-json', + inside: Prism.languages.json + }, +}; diff --git a/docs/_assets/prism-http.min.js b/docs/_assets/prism-http.min.js new file mode 100644 index 000000000..0ad46c2fe --- /dev/null +++ b/docs/_assets/prism-http.min.js @@ -0,0 +1 @@ +!function(t){t.languages.http={"request-line":{pattern:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\s(?:https?:\/\/|\/)\S+\sHTTP\/[0-9.]+/m,inside:{property:/^(?:POST|GET|PUT|DELETE|OPTIONS|PATCH|TRACE|CONNECT)\b/,"attr-name":/:\w+/}},"response-status":{pattern:/^HTTP\/1.[01] \d+.*/m,inside:{property:{pattern:/(^HTTP\/1.[01] )\d+.*/i,lookbehind:!0}}},"header-name":{pattern:/^[\w-]+:(?=.)/m,alias:"keyword"}};var a,e,n,i=t.languages,s={"application/javascript":i.javascript,"application/json":i.json||i.javascript,"application/xml":i.xml,"text/xml":i.xml,"text/html":i.html,"text/css":i.css},p={"application/json":!0,"application/xml":!0};for(var r in s)if(s[r]){a=a||{};var T=p[r]?(void 0,n=(e=r).replace(/^[a-z]+\//,""),"(?:"+e+"|\\w+/(?:[\\w.-]+\\+)+"+n+"(?![+\\w.-]))"):r;a[r]={pattern:RegExp("(content-type:\\s*"+T+"[\\s\\S]*?)(?:\\r?\\n|\\r){2}[\\s\\S]*","i"),lookbehind:!0,inside:{rest:s[r]}}}a&&t.languages.insertBefore("http","header-name",a)}(Prism); \ No newline at end of file diff --git a/docs/_assets/prism-json.min.js b/docs/_assets/prism-json.min.js new file mode 100644 index 000000000..b67c29fe9 --- /dev/null +++ b/docs/_assets/prism-json.min.js @@ -0,0 +1 @@ +Prism.languages.json={property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},comment:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,number:/-?\d+\.?\d*(e[+-]?\d+)?/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}}; \ No newline at end of file diff --git a/docs/_assets/prism-yaml.min.js b/docs/_assets/prism-yaml.min.js new file mode 100644 index 000000000..1a6fb682f --- /dev/null +++ b/docs/_assets/prism-yaml.min.js @@ -0,0 +1 @@ +Prism.languages.yaml={scalar:{pattern:/([\-:]\s*(?:![^\s]+)?[ \t]*[|>])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},Prism.languages.yml=Prism.languages.yaml; \ No newline at end of file diff --git a/docs/_assets/prism.css b/docs/_assets/prism.css new file mode 100644 index 000000000..c2e13ca78 --- /dev/null +++ b/docs/_assets/prism.css @@ -0,0 +1,143 @@ +/* PrismJS 1.17.1 +https://prismjs.com/download.html#themes=prism-dark&languages=markup+css+clike+javascript+bash+http+json+shell-session+yaml */ +/** + * prism.js Dark theme for JavaScript, CSS and HTML + * Based on the slides of the talk “/Reg(exp){2}lained/” + * @author Lea Verou + */ + +code[class*="language-"], +pre[class*="language-"] { + color: #cacaca; + background: none; + text-shadow: 0 -.1em .2em black; + font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; + font-size: 1em; + text-align: left; + white-space: pre; + word-spacing: normal; + word-break: normal; + word-wrap: normal; + line-height: 1.5; + + -moz-tab-size: 4; + -o-tab-size: 4; + tab-size: 4; + + -webkit-hyphens: none; + -moz-hyphens: none; + -ms-hyphens: none; + hyphens: none; +} + +@media print { + code[class*="language-"], + pre[class*="language-"] { + text-shadow: none; + } +} + +pre[class*="language-"], +:not(pre) > code[class*="language-"] { + background: hsl(30, 20%, 25%); +} + +/* Code blocks */ +pre[class*="language-"] { + padding: 1em; + margin: .5em 0; + overflow: auto; + border: .3em solid hsl(30, 20%, 40%); + border-radius: .5em; + box-shadow: 1px 1px .5em black inset; +} + +/* Inline code */ +:not(pre) > code[class*="language-"] { + padding: .15em .2em .05em; + border-radius: .3em; + border: .13em solid hsl(30, 20%, 40%); + box-shadow: 1px 1px .3em -.1em black inset; + white-space: normal; +} + +.token.comment, +.token.prolog, +.token.doctype, +.token.cdata { + color: hsl(30, 20%, 50%); +} + +.token.punctuation { + opacity: .7; +} + +.namespace { + opacity: .7; +} + +.token.property, +.token.tag, +.token.number, +.token.symbol { + color: hsl(350, 40%, 70%); +} + + +.token.attr-name, +.token.string, +.token.char, +.token.builtin, +.token.inserted { + color: hsl(75, 70%, 60%); +} + +.token.operator, +.token.entity, +.token.url, +.language-css .token.string, +.style .token.string, +.token.variable { + color: hsl(40, 90%, 60%); +} + +.token.atrule, +.token.attr-value, +.token.keyword { + color: hsl(350, 40%, 70%); +} + +.token.important { + color: #e90; +} + +.token.important, +.token.bold { + font-weight: bold; +} +.token.italic { + font-style: italic; +} + +.token.entity { + cursor: help; +} + +.token.deleted { + color: rgb(218, 92, 92); /* the ; in backlogs */ +} +.token.regex { + color: #e90; /* command */ +} + +.token.selector { + color: hsl(187, 78%, 57%); /* rule operators */ +} + +.token.constant { + color: hsl(61, 64%, 47%); /* rule triggers */ +} + +.token.boolean { + color: hsl(290, 38%, 60%); /* backlog */ +} diff --git a/docs/_assets/prism.js b/docs/_assets/prism.js new file mode 100644 index 000000000..09753c2f9 --- /dev/null +++ b/docs/_assets/prism.js @@ -0,0 +1,14 @@ +/* PrismJS 1.17.1 +https://prismjs.com/download.html#themes=prism-dark&languages=markup+css+clike+javascript+bash+http+json+jsonp+json5+shell-session+yaml */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(u){var c=/\blang(?:uage)?-([\w-]+)\b/i,r=0;var _={manual:u.Prism&&u.Prism.manual,disableWorkerMessageHandler:u.Prism&&u.Prism.disableWorkerMessageHandler,util:{encode:function(e){return e instanceof L?new L(e.type,_.util.encode(e.content),e.alias):Array.isArray(e)?e.map(_.util.encode):e.replace(/&/g,"&").replace(/e.length)return;if(!(k instanceof L)){if(d&&y!=r.length-1){if(c.lastIndex=v,!(O=c.exec(e)))break;for(var b=O.index+(f&&O[1]?O[1].length:0),w=O.index+O[0].length,A=y,P=v,x=r.length;A"+n.content+""},!u.document)return u.addEventListener&&(_.disableWorkerMessageHandler||u.addEventListener("message",function(e){var r=JSON.parse(e.data),n=r.language,t=r.code,a=r.immediateClose;u.postMessage(_.highlight(t,_.languages[n],n)),a&&u.close()},!1)),_;var e=_.util.currentScript();if(e&&(_.filename=e.src,e.hasAttribute("data-manual")&&(_.manual=!0)),!_.manual){function n(){_.manual||_.highlightAll()}var t=document.readyState;"loading"===t||"interactive"===t&&e&&e.defer?document.addEventListener("DOMContentLoaded",n):window.requestAnimationFrame?window.requestAnimationFrame(n):window.setTimeout(n,16)}return _}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment://,prolog:/<\?[\s\S]+?\?>/,doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:(?!)*\]\s*)?>/i,greedy:!0},cdata://i,tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/i,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/i,inside:{punctuation:[/^=/,{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.hooks.add("wrap",function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))}),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var n={"included-cdata":{pattern://i,inside:s}};n["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var t={};t[a]={pattern:RegExp("(<__[\\s\\S]*?>)(?:\\s*|[\\s\\S])*?(?=<\\/__>)".replace(/__/g,a),"i"),lookbehind:!0,greedy:!0,inside:n},Prism.languages.insertBefore("markup","cdata",t)}}),Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup; +!function(s){var t=/("|')(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:/@[\w-]+[\s\S]*?(?:;|(?=\s*\{))/,inside:{rule:/@[\w-]+/}},url:{pattern:RegExp("url\\((?:"+t.source+"|[^\n\r()]*)\\)","i"),inside:{function:/^url/i,punctuation:/^\(|\)$/}},selector:RegExp("[^{}\\s](?:[^{};\"']|"+t.source+")*?(?=\\s*\\{)"),string:{pattern:t,greedy:!0},property:/[-_a-z\xA0-\uFFFF][-\w\xA0-\uFFFF]*(?=\s*:)/i,important:/!important\b/i,function:/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var e=s.languages.markup;e&&(e.tag.addInlined("style","css"),s.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|')(?:\\[\s\S]|(?!\1)[^\\])*\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:e.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:s.languages.css}},alias:"language-css"}},e.tag))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|interface|extends|implements|trait|instanceof|new)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,boolean:/\b(?:true|false)\b/,function:/\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])[_$A-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\.(?:prototype|constructor))/,lookbehind:!0}],keyword:[{pattern:/((?:^|})\s*)(?:catch|finally)\b/,lookbehind:!0},{pattern:/(^|[^.])\b(?:as|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],number:/\b(?:(?:0[xX](?:[\dA-Fa-f](?:_[\dA-Fa-f])?)+|0[bB](?:[01](?:_[01])?)+|0[oO](?:[0-7](?:_[0-7])?)+)n?|(?:\d(?:_\d)?)+n|NaN|Infinity)\b|(?:\b(?:\d(?:_\d)?)+\.?(?:\d(?:_\d)?)*|\B\.(?:\d(?:_\d)?)+)(?:[Ee][+-]?(?:\d(?:_\d)?)+)?/,function:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,operator:/--|\+\+|\*\*=?|=>|&&|\|\||[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?[.?]?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|interface|extends|implements|instanceof|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/((?:^|[^$\w\xA0-\uFFFF."'\])\s])\s*)\/(?:\[(?:[^\]\\\r\n]|\\.)*]|\\.|[^/\\\[\r\n])+\/[gimyus]{0,6}(?=\s*(?:$|[\r\n,.;})\]]))/,lookbehind:!0,greedy:!0},"function-variable":{pattern:/#?[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|[_$a-zA-Z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*)?\s*\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/[_$a-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*(?=\s*=>)/i,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:[_$A-Za-z\xA0-\uFFFF][$\w\xA0-\uFFFF]*\s*)\(\s*)(?!\s)(?:[^()]|\([^()]*\))+?(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{"template-string":{pattern:/`(?:\\[\s\S]|\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}|(?!\${)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\${(?:[^{}]|{(?:[^{}]|{[^}]*})*})+}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\${|}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}}}),Prism.languages.markup&&Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.js=Prism.languages.javascript; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",n={environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+\.?\d*|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--?|-=|\+\+?|\+=|!=?|~|\*\*?|\*=|\/=?|%=?|<<=?|>>=?|<=?|>=?|==?|&&?|&=|\^=?|\|\|?|\|=|\?|:/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|x[0-9a-fA-F]{1,2}|u[0-9a-fA-F]{4}|U[0-9a-fA-F]{8})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)\w+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b\w+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+?)\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s*(?:\r?\n|\r)(?:[\s\S])*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0},{pattern:/(["'])(?:\\[\s\S]|\$\([^)]+\)|`[^`]+`|(?!\1)[^\\])*\1/,greedy:!0,inside:n}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|aptitude|apt-cache|apt-get|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:if|then|else|elif|fi|for|while|in|case|esac|function|select|do|done|until)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|break|cd|continue|eval|exec|exit|export|getopts|hash|pwd|readonly|return|shift|test|times|trap|umask|unset|alias|bind|builtin|caller|command|declare|echo|enable|help|let|local|logout|mapfile|printf|read|readarray|source|type|typeset|ulimit|unalias|set|shopt)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:true|false)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|==?|!=?|=~|<<[<-]?|[&\d]?>>|\d?[<>]&?|&[>&]?|\|[&|]?|<=?|>=?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}};for(var a=["comment","function-name","for-or-select","assign-left","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],r=n.variable[1].inside,s=0;s])[ \t]*(?:((?:\r?\n|\r)[ \t]+)[^\r\n]+(?:\2[^\r\n]+)*)/,lookbehind:!0,alias:"string"},comment:/#.*/,key:{pattern:/(\s*(?:^|[:\-,[{\r\n?])[ \t]*(?:![^\s]+)?[ \t]*)[^\r\n{[\]},#\s]+?(?=\s*:\s)/,lookbehind:!0,alias:"atrule"},directive:{pattern:/(^[ \t]*)%.+/m,lookbehind:!0,alias:"important"},datetime:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:\d{4}-\d\d?-\d\d?(?:[tT]|[ \t]+)\d\d?:\d{2}:\d{2}(?:\.\d*)?[ \t]*(?:Z|[-+]\d\d?(?::\d{2})?)?|\d{4}-\d{2}-\d{2}|\d\d?:\d{2}(?::\d{2}(?:\.\d*)?)?)(?=[ \t]*(?:$|,|]|}))/m,lookbehind:!0,alias:"number"},boolean:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:true|false)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},null:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)(?:null|~)[ \t]*(?=$|,|]|})/im,lookbehind:!0,alias:"important"},string:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)("|')(?:(?!\2)[^\\\r\n]|\\.)*\2(?=[ \t]*(?:$|,|]|}|\s*#))/m,lookbehind:!0,greedy:!0},number:{pattern:/([:\-,[{]\s*(?:![^\s]+)?[ \t]*)[+-]?(?:0x[\da-f]+|0o[0-7]+|(?:\d+\.?\d*|\.?\d+)(?:e[+-]?\d+)?|\.inf|\.nan)[ \t]*(?=$|,|]|})/im,lookbehind:!0},tag:/![^\s]+/,important:/[&*][\w]+/,punctuation:/---|[:[\]{}\-,|>?]|\.\.\./},Prism.languages.yml=Prism.languages.yaml; diff --git a/docs/_assets/theme-custom.css b/docs/_assets/theme-custom.css new file mode 100644 index 000000000..273884423 --- /dev/null +++ b/docs/_assets/theme-custom.css @@ -0,0 +1,78 @@ +:root { + --mono-hue : 201; + --mono-saturation : 18%; + --mono-shade4 : hsl(var(--mono-hue), var(--mono-saturation), 10%); + --base-line-height : 1.5; + --content-max-width : 70em; + --cover-background-blend-mode : darken ; + --cover-background-color : var(--base-background-color); + --cover-background-mask-opacity : 0.8; + --cover-blockquote-color : #1fa3ec; + --code-theme-text : #e4e4e4 ; + --table-cell-padding : 0.4em 0.75em; + --table-head-background : var(--mono-shade4); + --table-row-even-background : var(--mono-shade2); + --table-row-odd-background : var(--mono-shade3); + /* Sidebar + ============================================================================= */ + --sidebar-background : var(--mono-shade2); + --sidebar-padding : 0 25px; + --sidebar-transition-duration : var(--duration-fast); + --sidebar-width : 18rem; + --sidebar-nav-indent : 0.6em; + --sidebar-nav-margin : 0 0 0; + --sidebar-nav-link-padding : 0 0; + --sidebar-nav-link-before-margin : 0 0 0 0; +} + +.alert.ems-esp { + border: 1px solid var(--mono-shade2); + border-left-width: .25rem; + border-radius: .25rem; + background: var(--mono-shade2); + padding: .25rem 1.25rem !important; + margin-bottom: 0.25rem !important; +} + +.medium-zoom-overlay, .medium-zoom-image--open { + z-index: 0 !important; +} +.alert.ems-esp.warning { + border-left-color: #f0ad4e !important; +} + +.alert.ems-esp.warning .title { + color: #f0ad4e; +} + +.alert.ems-esp.tip { + border-left-color: #28a745 !important; +} + +.alert.ems-esp.tip .title { + color: #28a745; +} + +.alert.ems-esp.info { + border-left-color: #E0FFFF !important; +} + +.alert.ems-esp.info .title { + color: #E0FFFF; +} + +.alert.ems-esp.danger { + border-left-color: #dc3545 !important; +} + +.alert.ems-esp.danger .title { + color: #dc3545; +} + +.alert.ems-esp.example { + border-left-color: #1FA3EC !important; +} + +.alert.ems-esp.example .title { + color: #1FA3EC; +} \ No newline at end of file diff --git a/docs/_glossary.md b/docs/_glossary.md new file mode 100644 index 000000000..c93ff6bab --- /dev/null +++ b/docs/_glossary.md @@ -0,0 +1,12 @@ +##### Device ID + +TBD + +##### Product ID + +TBD + +##### Telegram + +TBD + diff --git a/docs/_media/EMS-ESP_logo.png b/docs/_media/EMS-ESP_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7c3d2fbe0a821fe232fcb3348738e2059a69efb8 GIT binary patch literal 4159 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 \ No newline at end of file diff --git a/docs/_media/boiler_128.png b/docs/_media/boiler_128.png new file mode 100644 index 0000000000000000000000000000000000000000..3abbdc1fa0e399c908ee58016dbb2e8e2c49b7a5 GIT binary patch literal 4329 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 literal 0 HcmV?d00001 diff --git a/docs/_media/boiler_16x16.ico b/docs/_media/boiler_16x16.ico new file mode 100644 index 0000000000000000000000000000000000000000..a7f3d243237b86c8d93556869149c8eab934ef9a GIT binary patch literal 1150 zcmZQzU<5(|0R|wcz>vYhz#zuJz@P!dKp~(AL>x#lFaYIlFhVexkA+}l1S())kTKNP zKP4+8oe0842KuK!Vo*6Ox*$TT3L*?5LflGL#_|n;p2i>ILrl-b2AiDobv680lwy|k z?tDJq+w=K2^#di?^)w_WcU5}-pWhn+#F1b;rz`CL><*vbUJi;aKs9XW1~4--frNMh ze5|KU?aBSPYkm9wll!Lpzi?zG7=zf`*R=kh*q-*m&)s+`NG&rHSP$4Jb~aWJtu(#A z;PL;@`~LrWx9k7&+pGV-d$a+JL2QuN|M%PePi;?n3{uO^1`JFnU}p#GSMG1meDdnf zn*YykuKa)h(vtrVuPy^)5E~@+;^xx-y$vx>fZCLyc7jb{Wd)n1oER7QWd5wy|MO1gB@g!@|>AnPyYRU^#9NI2UzjHAGiO{nOY0h&%ure zMwtG&vwEKV|MTSk|6h+F`1j-g|3Mhezx#jg^g2BHyW#r(0rkCqeGQC3Y={{|>IbSn zab!I(zEb~BYEJ{R|NjQM>o;-wzkj~-e{yH`|Fc`N{~uThGy}-~@%b*%`hR`B|9^Ua z$^RXT68}$c_5VM$xA_0BZ}$o6pEsxX$^XAk!C`jq)=^Mc|DQXp_Wyk#8yv2G?){%P zqaGvtSXsg8N2ax@?8ckt7ytkL@c^v;->=92L172NzrNo6|MuDG|E&$#H-T|2!v@g< zPCrnBSzS#zG9fN>^{s0M*Kggp;O>-(&3~p%ZvEZYUH7r7BIkB=gzqLz4aF#+dS;l$ VAMy+gANUy<9srZj0iYs&<+3q literal 0 HcmV?d00001 diff --git a/docs/_media/boiler_24.png b/docs/_media/boiler_24.png new file mode 100644 index 0000000000000000000000000000000000000000..8e37e504b5a136b202fb1e65d5277f31f40c1666 GIT binary patch literal 856 zcmV-e1E>6nP)a^Tgv*p>*bKWkba+|gj zdD#Q+&GVlB^LzjA|M04?v8+0suF_V#H@EwF|KyFf)+2pSpV$cj0~ORPtC1ptKqMkd z8Vxt)^-MnS&(HS)@NAOzTO7xg+KP&O*YDmFho^mHS|op5uRl(ZD|fo&lG5^Jp6AOF z0<78DxBG@i69%te9|S_WhDM3aUh*(DkB&7cwVGxaCJr1}Ttv^~M*x6RRZgTDjnP32 z12siyV(ZiiTLLgQ<3+vGfiWo=@1bpU{x+FFzyJ+^fK0C3jT!&z6a^z&a*bVdK7|A2&w8?u&9(ls|WfYa#| zhe!kne+wfuCB={sz-qPHGpcj@z|1A&AeHwU18*HSJ8wTrPg}sx&yV|^ ztCN?trMoS+o2PyDkpwjWFaS!gU%mCu`Mcr=Hs0wNJWXO&SzSt0$eB;vV)n&cU}j{r z`KW|l=&T&(spC3=Jz=(IvHaVUDhjVYJ{psI;y3?C!HDFA3e<&O0W+%A#4EGk_j2lr z?;D)|!h^cZ0t0dscCUwKuMhV2B*wKEmvgDHv3desH#+XXr~2j$+Xc5V=I6oK`TN&W z`6XO3SQE?e4wTZiJ*fm4{qd{6l79~ZT`wqBIv>3xH3KFCqiD2ST7gLpvJ-*zl5S0j z+sA4Ar)Xpp!CWnSPNMGQ4xYMU%72D5INcga{QGC#yfnnnwAj?!?`dt%LWkUHp%ux* zm*aUnOOTOD_L$@%eff8|pgjy7@|Ovs)Q!$S%!>Yi`gY;ny_T;@MpOA9B|23%&N_oT z`c^HjB?b-vzYFuA6hRD0n(G9;)5kaYaGJJM;2FVKQy1}+;Y~G@maRp;@*8}jwcm@h z(qdx#m4$M7y}{Esv{;vDSb?q!GEE$Dp86y}Ml6;c+7zGbNg)b|blvGz=JcZC8ZLV6^PH%Ka%cq7Fy&OOznU3Z>jD5^@{}_BwSu&Al^2 zWi^MklVGl>kQxu-_BuhJR1xdr{?=MkLB%H;JM~>y8B?5#E;|{crDbGv6irujOrdt! zgku9bIwqBqPC3pKf)01+#L0=-+|2ZZj9=4f)c20cgvMDt03Q>L;KGMuQE+x{YC==P zI`}?Hn7){7i@v7|!X>%pm)RE4q-_Ks&;+hsBS0~y`Pru1)563=lnxm_4T2(d0V~w( z%E}W5-jR_}rmbJDz@ewne{pl^=%(jpCg(}934DA6r{}cvja6(7sdm{pSb5ksOl&c1 z`}=dszkRJM>@5=qIrKv;v%-n42_jXqcffM?gClhVoDHY(CfZ`8Czzx5GZ-I81|KEE; z!;mGqM3_9^fukdL`xhYD%132n-cJ5-2%r~wvblV~T4~oWS zR1n%KB_Ot*)O~+xQkIlN*sGAZ8LN~^wdAFurlL?dY0z2cURqpimq;% zjCrDI^48+mRTyZpzI*+{$=?_#4eLS^x$t{~^Fc}VGk;ob>I<*_KBahS5qjy+#|M2@ z+HW)t2jQ_^GdA?gVOI3hJ>zD00Dl`gRK7_;Nc?rx(nKjGiqlhqa4)wZ}o^W(ox3}E!-gwx8f zL3lCHOpF*^90+^$D!$DVSHN!E_9mz0A0=tS*$=b@OF)C^K=s<(>f&&%+huL&uJGmY zviz^fUP^pDx2Y>jiTkCkfDr*H{GX_sqe9wcZ#g?p?T(rsQHn>~&*^71Z+ICpm1eVDO`wBgBp&|id`iEsx4?`owQ}GNZh~({THg42VXx%w(U*O zT%lKZH1a}Oj&D#}1``b&Z^%z9q*c5`-LN4R@ubS1C4R8DoKrqr&iFDF6y)fqxpQ2Y zPT1|l_*agNNq~Eq5@Aa&RfYn**zWs=D)+WcQx>LsuA|O(DQK7{KW@~%pK_QaCtXzg zK7@s}-(5BI5vU8!aT0AU6w!~-pmxIyLo~YX*lSPGa&_a}b*Q`NqV0ne4PI)rpA{F` zsoZFNG(I_R0>t96Yy#=RQY8e_a;Zd1XI7KF3c8FgCM>o-ceUB8GT;7W)QMZ-O=P|J z$(XW!9R%oGSZ!f7?^l6_2Y9$^Yzf!f14LG>Tx&rCyZM7>=atV^mwUM(G&mc0 zArEX#X5ukB`Wn`Q8QHK#*9{{Qfd0ta5=FY*l~~%S^V73ix=^x1xi#>Z7cdx z9D7jcr^^TP)5h_|rA7b1o!*M(ofp)Hho*Wld*atmyL&&SJ@uN~#K;*PhQY9VB6L0EEL+aWZ6FEuB*{EMO6Uo9%oR|E1k#-Bi zEj9_Xy>5T(1%pB-Ru(Kh==w`EJO+END;7F5F3}|-Y0*vq=~5{homX@BWRBQ zOjak>!4^a+77=PnlmaP-(4bTWVUX?eg`a_soyF%YwJ&tTX86 z$gl77!d9C6SHTFfIq9nxjC_|t7*7(^EUw{h9>-YbBzYE>;hDg;P0so$XpIB<#2>%` zM4Apl&20~(Lyep>gza%Sq*i*@J#=XGR5l~u-EG%(;CI=5>2EZzx(~m4L`3&G5??Z+ ztPiM@ZNoR+Lf+M`Y#Sf%&dy2o@XT+%;k+5+dHHF{?2#kYwPoCDX%~7Y8Wq4oXO_Ar zj$G;TypYiFE+_Oi*H!KITxc__wDVb+5Ow;)AKl{RQ;^+~Pkj>{2_ss@K1qS(%W>q! zhkX1*CA;m@^RB>tB{EajA3SCjeHCx)mSBr#Wa7du-r8?^^pKzj32V}Bz5#vtHtCO- zTqT`np-`j3jp(&5>(lOar*Y}sud$Jp%)s)*QKj)q-xJ8t4tqlujX9!DZVlcvJNH}L z*rhht+?`eA?uf1qL`*MP1MOI9TBwt-WI&0?{W&m36EmVs@8OA4rS&d>8)OEg1x=_6Q-@Q#Dm15Ess-cRMbG+s;O4hzB)a@Z<61@I{UWYInlkMPTRZJx}ULp^iL} zv}c9sZN1$V)(JtqM3Ys|9?t9M+4MMwi>h4Dz?$q7!2MYii`Q7EhI+2lT-CkM+}qll z)gp3{5Xex|irb8sj{T@WOGWE98gC!?F-h$G6CRFF2R8b$?q`7r51RoiG;oH7coghZcS z{33P4TaPxXN&fPZfPCrPXG>axg3`t_vn84I7YoX|e9kFx<}6P)?Ciny4r20lI^rKy zG6HjaFbBR4Ka03}(Kt2ky1@a$iB+2$U9)#{j^2Jq3i_4@CbhkOaR*_0(cchE%0-)B z-lo8-n??rQCJx_~2?TRT{AY!!@V1nB|0#uQaU)}gQdUMm;VTEyq3 zGs8cX;KsGXo6cAXIEd#7mGJ0MaBOF46X0sI=MG2FtPgEUW#4Zra2uQZZ1uknMlPCw zg_Egg`>eg=NV+_+h5A`R!S;7cS9zrHl+HL7kA8mV8DJYCY`gHse%GVu|^|c zrE_~ota>t~lR0MC{P}$;D~ld;1=3PQA0cY5IgV&=?$D5S*jrmDJy-OMKw%ba)0j{+ z$ZR5q+D$NKRFlj{`XbB3b>i?EMsbxbxif3Hn4N6^FUK0oD|+d;>|d29vi3n2#|bGJ zWzdH?9lMOV95z8$|GK;>doxu+tB}X`v z_?Vr6`x)T-4P(2dcRpfyL4OHYbf4eIBH^DCs_oR4aG4vxm%2Jfr0LsYF70mdsf0@^ zYr{0?TT+9MjaO@+;0FxtXj7>(&1S-XhJLe_<#WeRWZVbmZ>re&n{EH{d@4*pq3d5W zxx=NSzY(6nz10~*?_t2zBZU;79Oa_TnJcN9gS7e^ZUnmHZLh5`#8=<4K0pYP%S5JVA6hO%5?#=`XZHW>m z|5egn-)D7Obt!xq`aSj@T45#QC{{ML`%&WB(JCfMP_)Be?hVdPOXkzRYig@`m3pRp zdsZH3qzJ?aS04-h_x+F_A7(&8(a}iE$@h5cS3e%>PoYralsMf#wpy7P{hc$_X!&^9 z%)Ct0YxzXLVm7ryRarq{QHyy)aI;69^Bp}>)O+!1bAD!--uiE^wk_1Yvxd%2PX1o5 zPPo7Q!_|@~-G0>xy9{DL#!z8BOiTtHc9I(R4{z$8VbQ7W9*$I-gQIkz)oBT9a!PYClZ*J!gNH$RddO#&IRDcnjT!^;>I`mEs?8e#ZRi8-$)>}AZA zNZ=j1UT|l+Mk9MNSiNcgUOD^ABg(`l_1u z*hqaIif@4%fVal@Gh;H4i)g1zPA+$BzB)2HWms8RK}L4T&}_NMp;TlfC8wf8Iwnc+ zi~t{(iTCAaMC2=GLK^vl_k!BdNy#`8WHP8SD1y`ky}uRsIfK8Js}Q@&Gnrvyqyj{; zKbV0?OSSvu!$+;nPlCWCAi*5KZ9{uv5o#*xc>M6=54@r)Lo9Y4gyv9 z`rybm3kBf)zdtboE=mBth*Zt;=UaV#trwWti-#A1zsR7znnG2(GbkrVtIrTv7;UZi z8}i?bTlZj%ox#Rl&j`ONh*vRCq-H4mckZ}|4ez|LQv%D$z~DB)KdCXDp75?Ppz(wC;2JfIn3qXE4sEwz^e{$*aV54*7J#g{I$n9dCP6JAUK24)(lZU0w9SZjiUm z2w5~XZayB?dP@#%*}me7AThjf!R!oq@ZB$IE02SY=5&|AMpZ&UB*a4pXbb2u3iCxE zV^Is`8Wu>#tzr7ePkKo9e9cYn2=Z&EpaQ@1!LwuKX5nTiCd1_pAhXw~y9a@mDxsln zMt%#(Xd!*8s^C-5fPnB!hvvTpa?0^E^FS|fC@Mc>;8uYFz&h? zu7HL+c#XSWjE>ZPoW;)lquh;Xc1G{yiZ}|Th?g*qT#Wcv=-Jd8+QpW%s$c2@CPJy( z=UPwp2aV3yx{KOxhGp^`e*T=qrxIPVeu=Yne z^Gbmx1HyT?ujzQmOu#1;(PHwWrRK)DFV(V{i*3$$kj-UPb=aa~)ev8Pv9wT2RtXl+ z?W=>=Dkgrt#Y69F$JL`og+H-a)YREwHh$Z6mswOcI$9jTQZp_nP^F7o!P`*t@{!rd z++1EQ^QaG*g?YC>G3DB83`xo}8wyi%8WoyElkVxg0@@jY;jjgnf-+16zvF+VIB;<$ zBfgPzc%o87bIxw1JXGHvs~mc#;R|jb)}A8h2HhHGmj}oJKn`li`^?FN!ONq~`PI;r z9O0~=&Hg21FHA;&=|*4c{eJVcm9dRV8viY6*XP#NLw;$yJ}6Dr;L}rw)pJh-y?eC~ zK}*FU++zd5b0?Hc7LvRo+ zxx?OUZn(%yD?_sLNUm&Q0hP4Z6H>b|>+^c5zUKrUsy;ns=a^^>Tr1vY^}B1Uzf~Vn z?zh2pF{6@8tP&yE!A%6IXq0pqRj5WV{mMgs9RR?`xd(kg9(#8s8dgjY;W6AwHo+)2p?@{m{v00_~#=(@B=&$NB#0}6AZ;xo};!4J=V zE2)FjWR=9!gkI>UCC6Wt;)|N$O znV4`uL~=IH5-GJFulxFliAhy#Ozxhq1!-$io(DRP>uT$msrv-536a_6aBzJo?m>9{ z>+S4J>*=2Fu(lVzMO}h4P_9X3viZ|BmjGn3R6EEHK^eX&H3 zjwE_YB5&b98OHcUvWX~Mws+$CnwXL#aKk^cIut-E4Nz}H7lIN7@ko5=p3nrc4i9-~ zIi21)=Nr2%vo2+2?H!0ZuC6XB+XvB%5nKq02u{2;SMZYSI6aIyK78j|T2fT|qbxLA z%5ebkVNy7L_Z-yge*h_96#_bW$Umc~4kDWh8|eGo%FlS%iyzfpTh3pSM5kqM-WJM6U*39FUsRQ4?*9;uL-($zJCSw z7GuZrEFB&H@{J*8_|BPK-EQKjwQ$Z%rSg=K^+n#vwq?dLQ#5|bjtNF+$Gfa@m2*WB z;GRf=A#okWC{XBAsB@?G^EE&agg*57s08Dvv4t{&-z{m5DdI^p|g z40a4ZYH`p9313LCr6I9K5~#nb^ob*MZI4BVphfl*GI53wA){ck#)^h7iHmh54i)T$ zwcm1(tx`6rH!dE;4fYz7i<-OPvAKiN%<(6$l#q!j(v;+BcreM2$y#LR%LTlo{mTc} z2w1In1Ue-3Iwo>M+LM#Fac+l>YfMmA|F?@#pV*0OCOob{5F6xCYm#Gil zIUQUt8XPZUp*Vo+5mAvF6eO{sij*NgzWnQeNaSS<(8Gu)(dAzgKc$ni@Sl!?Mg<|$ z2Li1S879<^A1H06O6|m!jP?&4N(x(Wg8e8eFMRge+8o?m+b4?4JH|GRiA-gP9HGZ~ zd<(IFZC1}@-8?(iWe=oA#p65)N#|1z@{SqrJt z7x&o)vY)NDuFKdH`soa>?K2tvP3-5Dk3U6vmHx>k|NAP)Pn5mz@G+s&Z%Ps{CDiVE zelI)?=bLFmA6DgzPMU}WYtLyZDHD&jAr(0=2JL~H>8i5bH{MEIgAX4>(b?g3A2hnc zOPQNMihEjFVq*Jy--F+~FO%t$JQYul-qfj|(e*=lPPzN{k?M@Ro0*EhVbv%ej&-hF zIOB1Fmc+O73u^N6hWkd{jaPGF{$1aep;*Od!Ou ze!&l(mDMgDW#Yca%~Wb8bTl@8x4(BA*N|j1LrlFVfbc7{ZVw~}1%0$H3t*489(198 zM?y=dGF)%Std^s`i70#hg1|@B$E*hsY;2gCU%lG6rfz7RS{t{&^^ETi@=+=*+%(;LSbJTqz$hVfIfAPOAda2XREpZj2jWMY!-*?W*^IwHmT169^9 z$h0?V4->35uxVyxM#)EuekZ{2lMSeZi6`z`I4$+aFY4;G;FO6-=Jbv_^2d|aK|(~S zkeU&Jg09g@XqT9GZrWo%Yz?E(?ap<16DHE^MpoJ@6sO?1&8L3Z?-PGT}^EL?q(L-6yPf za=oX71c%quiHm2M9(spI2kpF@HI-#yjnQITm9=^4t<==RDhY79Pq{^%FiscW9HO^> zx2zFE=@la2EvrXFOnq{yuW@a&3~INp*g8u$u0>>=(|($pCa;v3`4+a+BY?C&cj3L9 zA^elGnlUJ7xh^h}a*2m~&Q3nsGcWo#FfulLk>%BU0i4fRqx}e_Fx96H<~!XoHd4|X zD5$)7A}37llv@@|`s2}u`%UKa=O7~CR7qeE2dfy+zg#W`JX`Z^G2;dJyHMH>H;vl! z&>`?r2qWb#YFokXAtl3P+M5;w5%>CCUsypky~jI7Mi?XB+_7WZLAq^B7jzFRlVmg@ zL6K&t0WU+-++4w0uJ^fldHJ}O?mm4<`(WPyF`Xo2qJ~#it{3|W&T~%A_~c|>VOIk= zy#XBk3|7@-z};FbH*vn%-)d`<$5_uGc@Vl5GPS${?SDxu|MPkVWp})iVEs&ka}ffE zUJISB5G@)p(D@I%RZz)Tkr|#?)krw0-4ey=dD!mS>Ufy(s*B0=HA-?9;D46PE#pD#cgDGSUDP1g{(k#!u_VpYsHc*#xd=0PoCZbBc-EHy1ZA7G=#R?T&6aNUsEd z&^qe`S^uv%lqH)t4+C1U*93U$V`fM8z{4DhPp4}^wFu|38=yHma&H9jcv7l^og_d$ z54=Tt-i_7Gz;RT9LXWO)ku!LVJ}{F0j#jg<*nWlL>LNcam;m*GaLc+JbJiL>+SC64 Z(ow`R*(bj`K{5^~y-|N%C2JA>zW~=ONZSAa literal 0 HcmV?d00001 diff --git a/docs/_media/boiler_32.png b/docs/_media/boiler_32.png new file mode 100644 index 0000000000000000000000000000000000000000..ba7976f874007f3923b084971f014c86b3c1e189 GIT binary patch literal 1186 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 literal 0 HcmV?d00001 diff --git a/docs/_media/boiler_64.png b/docs/_media/boiler_64.png new file mode 100644 index 0000000000000000000000000000000000000000..a2c0aa610692a3a9a09b47068e8a8b2805fb6f40 GIT binary patch literal 2238 zcmV;v2toIWP)5{L~61wv^<5IXWE z0;Uoeq$;*UTSrHwI<$aQM>{$K71YjXZ7Tx`qD~cyRG?7-5s-HX1P~IETrMOexm?cV zlH6S`xBcUiK)5jEj(c%RzB9j>-|g=6?03JnzukRyb_M>yZ-K=?C=dy#gb->er5X@G zGhhMQffm3D)B-v{4^(x%p9Rd`BqqGzBLm0>CILTF@)($Mq;l5{Ca6@rw9@0~qs z&#oQAx($MYf>1|95E>c=LeSpUN?U6y9X8v|>T&?3z$xG;uopPlmF^Kd6<`>!99Rg% zUz_pB)64kNs=xFqY`5EKsJlW~SUBNoHG`DO8#-<_nXp-{T&cNCO|>4qPKUm#3VlTd z=TD!ax}v;y1B5V1DYpPG12yh8#1jFMgb?3IDYb)?N^-`IWBkN?ev&_l@p<`ZVq-mU z*?)X*`kv#bPI2_$L5_aCo8m(Uu(r1&gs75I-ih;b={GzPU<^(TA)%qe`EIjX znUk4}snKASQicPa{q>`8v)*BVDm^nZpp6Gmh^zlza7YL#86%NWhT!Dbe?RWl3!qTA zYvv^Y1YGuH21{3?LHvVs+l zJ;FC%e&Le0_QmI!GGivMy!kdssan5r@|ytX&zxq_%xM@64GbNgN$&iIiO>2mNJ-7P zVvc|OE?*b@mpOS8_^{|J?#RyZ3opM2&}ufbWL^PALj!q>A7kdSmrw*Rs{{zP1S=1gW_b zd!@G+>HvrtqVY97-wP0<(V$JwKv#ASQ;ojYXP_OQ?^3?0T1S29Inpvl5ET>SYkK|} z1PdQrjC43CTKD`-%NDJD4k;yt4=(ltGd~INo25^Yl&Ym<=O^r1y%I;K-KC79)6ULS z%Q;*0Z<4iXEP3+x{-EZcg;2O!&HAm|xPQh}4!-v$rTf1mcfqen$QskN5z*HNRHyd$zv{g&n}$HbBhXG(!V=?go5NKO1|CiYkI!l z6b+AvBw=_uVSViL$E9cq3JP*b4^^w3HiIL4P0#IvlF2|-cHSh`eZJQRblk(Wv%t#> zrgGuP0e}>oC(Qc=cRztP0Bd`jn`S=3HGiL_wYB@TwXdQ#g1Z7V3L$DL&YnSE`kkAm z-bF{JM0WlC)fdiEeW3&)gdT9~RE6sYcyl-$4#(a5w|~kYr4n^?G!b2A0Q?1q1XH^m z-MJDDY<-^%D<8+wY6f@)=RJac!;{nE0(c#GqT5~*pGek(JTgX)Aw6dd!?Q;-WLSa+ zuKR{`IJi=!<6`kiE}kjo(&gp^XQ0anrz9`(O5o+1bMC2$vz%XPge zL={SGawX z^g0?Y>uIdHjJ>1xZ4x1bO-gwf*bRIDT=1k3-ncRY@BpwmW$e!wnx2VKS59M9In8yK zZ`rXTCtpAmPB}r2G!t57vl~~J63ZurrK%@m8H~ImSLzYqfvK>a7`R@ zU)^XNq);3aO2vwGV`5Kwi?lZd0OuXTLYyh0bTH!;E0~;a(0tA{spy3Yz zj#{mjBJ9eTeS7!h3nA)&;y%iq7DCkR+q)+pyE4XNX)nUf$j%e|55;BQ(L&S|`~Uy| M07*qoM6N<$f=`haVgLXD literal 0 HcmV?d00001 diff --git a/doc/ems gateway/ems-board-white.jpg b/docs/_media/ems gateway/ems-board-white.jpg similarity index 100% rename from doc/ems gateway/ems-board-white.jpg rename to docs/_media/ems gateway/ems-board-white.jpg diff --git a/doc/ems gateway/ems-kit-2.jpg b/docs/_media/ems gateway/ems-kit-2.jpg similarity index 100% rename from doc/ems gateway/ems-kit-2.jpg rename to docs/_media/ems gateway/ems-kit-2.jpg diff --git a/doc/ems gateway/on-boiler.jpg b/docs/_media/ems gateway/on-boiler.jpg similarity index 100% rename from doc/ems gateway/on-boiler.jpg rename to docs/_media/ems gateway/on-boiler.jpg diff --git a/docs/_media/esp8266.png b/docs/_media/esp8266.png new file mode 100644 index 0000000000000000000000000000000000000000..0eea496f3d04adcade6b3438d4d8dc8176b7c4e0 GIT binary patch literal 92063 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