Added pump modulation and valve status

This commit is contained in:
Klaudiusz Staniek
2019-10-06 21:51:00 +02:00
parent a5719800a3
commit 0419e20592
4 changed files with 22 additions and 12 deletions

View File

@@ -682,8 +682,10 @@ void showInfo() {
for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) { for (uint8_t hc_num = 1; hc_num <= EMS_THERMOSTAT_MAXHC; hc_num++) {
if (EMS_Mixing.hc[hc_num - 1].active) { if (EMS_Mixing.hc[hc_num - 1].active) {
myDebug_P(PSTR(" Mixing Circuit %d"), hc_num); myDebug_P(PSTR(" Mixing Circuit %d"), hc_num);
_renderUShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp); _renderUShortValue(" Current flow temperature", "C", EMS_Mixing.hc[hc_num - 1].flowTemp);
_renderIntValue(" Current pump modulation", "%", EMS_Mixing.hc[hc_num - 1].pumpMod);
_renderIntValue(" Current valve status", "%", EMS_Mixing.hc[hc_num - 1].valveStatus);
} }
} }
} }

View File

@@ -278,11 +278,13 @@ void ems_init() {
EMS_Mixing.detected = false; EMS_Mixing.detected = false;
// init all mixing modules // init all mixing modules
for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) { for (uint8_t i = 0; i < EMS_THERMOSTAT_MAXHC; i++) {
EMS_Mixing.hc[i].hc = i + 1; EMS_Mixing.hc[i].hc = i + 1;
EMS_Mixing.hc[i].flowTemp = EMS_VALUE_SHORT_NOTSET; EMS_Mixing.hc[i].flowTemp = EMS_VALUE_SHORT_NOTSET;
EMS_Mixing.hc[i].device_id = EMS_ID_NONE; EMS_Mixing.hc[i].pumpMod = EMS_VALUE_INT_NOTSET;
EMS_Mixing.hc[i].model_id = EMS_MODEL_NONE; EMS_Mixing.hc[i].valveStatus = EMS_VALUE_INT_NOTSET;
EMS_Mixing.hc[i].product_id = EMS_ID_NONE; EMS_Mixing.hc[i].device_id = EMS_ID_NONE;
EMS_Mixing.hc[i].model_id = EMS_MODEL_NONE;
EMS_Mixing.hc[i].product_id = EMS_ID_NONE;
} }
// UBAParameterWW // UBAParameterWW
@@ -1496,7 +1498,9 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) {
if (EMS_RxTelegram->data_length == 1) { if (EMS_RxTelegram->data_length == 1) {
} else if (EMS_RxTelegram->data_length > 8) { } else if (EMS_RxTelegram->data_length > 8) {
EMS_Mixing.hc[hc].flowTemp = _toShort(EMS_OFFSET_MMPLUSStatusMessage_flow_temp); EMS_Mixing.hc[hc].flowTemp = _toShort(EMS_OFFSET_MMPLUSStatusMessage_flow_temp);
EMS_Mixing.hc[hc].pumpMod = _toByte(EMS_OFFSET_MMPLUSStatusMessage_pump_mod);
EMS_Mixing.hc[hc].valveStatus = _toByte(EMS_OFFSET_MMPLUSStatusMessage_valve_status);
} }
} }

View File

@@ -381,6 +381,8 @@ typedef struct {
bool active; // true if there is data for this HC bool active; // true if there is data for this HC
uint16_t flowTemp; uint16_t flowTemp;
uint8_t pumpMod;
uint8_t valveStatus;
} _EMS_Mixing_HC; } _EMS_Mixing_HC;
// Mixer data // Mixer data

View File

@@ -145,11 +145,13 @@
#define EMS_OFFSET_JunkersStatusMessage_curr 4 // current temp #define EMS_OFFSET_JunkersStatusMessage_curr 4 // current temp
// MM100 (EMS Plus) // MM100 (EMS Plus)
#define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixer status HC1 #define EMS_TYPE_MMPLUSStatusMessage_HC1 0x01D7 // mixer status HC1
#define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2 #define EMS_TYPE_MMPLUSStatusMessage_HC2 0x01D8 // mixer status HC2
#define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixer status HC3 #define EMS_TYPE_MMPLUSStatusMessage_HC3 0x01D9 // mixer status HC3
#define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixer status HC4 #define EMS_TYPE_MMPLUSStatusMessage_HC4 0x01DA // mixer status HC4
#define EMS_OFFSET_MMPLUSStatusMessage_flow_temp 3 // flow temperature #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
// Known EMS devices // Known EMS devices