Merge pull request #202 from kstaniek:MM100

Added pump modulation and valve status
This commit is contained in:
Proddy
2019-10-06 22:24:14 +02:00
committed by GitHub
4 changed files with 22 additions and 12 deletions

View File

@@ -684,6 +684,8 @@ 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);
_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;
// 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].device_id = EMS_ID_NONE;
EMS_Mixing.hc[i].model_id = EMS_MODEL_NONE;
EMS_Mixing.hc[i].product_id = EMS_ID_NONE;
EMS_Mixing.hc[i].hc = i + 1;
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].device_id = EMS_ID_NONE;
EMS_Mixing.hc[i].model_id = EMS_MODEL_NONE;
EMS_Mixing.hc[i].product_id = EMS_ID_NONE;
}
// UBAParameterWW
@@ -1496,7 +1498,9 @@ void _process_MMPLUSStatusMessage(_EMS_RxTelegram * EMS_RxTelegram) {
if (EMS_RxTelegram->data_length == 1) {
} 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
uint16_t flowTemp;
uint8_t pumpMod;
uint8_t valveStatus;
} _EMS_Mixing_HC;
// Mixer data

View File

@@ -145,11 +145,13 @@
#define EMS_OFFSET_JunkersStatusMessage_curr 4 // current temp
// MM100 (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_OFFSET_MMPLUSStatusMessage_flow_temp 3 // flow temperature
#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_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