diff --git a/README.md b/README.md
index ad79ab171..774b1a468 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-
+
[](https://github.com/proddy/EMS-ESP/blob/master/CHANGELOG.md)
[](https://github.com/proddy/EMS-ESP/commits/master)
@@ -10,42 +10,28 @@
[](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
-
-|  |  |
-| -------------------------------------------------------- | ---------------------------------------------------------- |
-
-#### MQTT support for Home Assistant and Domoticz
-
-
-
-#### Telnet for advanced configuration and verbose traffic logging
-
-|  |  |
-| ------------------------------------------------------------ | -------------------------------------------------------- |
-
-## 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**
+|  |  |
+| - | - |
+
-All firmware versions fully support BBQKees' [EMS Gateway](https://bbqkees-electronics.nl/) board with integrated Wemos D1 ESP8266.
+|  |  |
+| - | - |
-|  |  |  |
-| ------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------- |
+|  |  |  |
+| - | - | - |
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
diff --git a/src/ems-esp.cpp b/src/ems-esp.cpp
index 9068152df..0032ad4bf 100644
--- a/src/ems-esp.cpp
+++ b/src/ems-esp.cpp
@@ -778,7 +778,11 @@ 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
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 959bb29aa..e42de13fb 100644
--- a/src/ems.cpp
+++ b/src/ems.cpp
@@ -1258,7 +1258,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) {
@@ -1271,9 +1271,13 @@ 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) {
+<<<<<<< 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);