diff --git a/mbus/mbus-protocol.c b/mbus/mbus-protocol.c index 3289ac6..b1027c1 100644 --- a/mbus/mbus-protocol.c +++ b/mbus/mbus-protocol.c @@ -754,6 +754,8 @@ mbus_data_product_name(mbus_data_variable_header *header) static char buff[128]; unsigned int manufacturer; + memset(buff, 0, sizeof(buff)); + if (header) { manufacturer = (header->manufacturer[1] << 8) + header->manufacturer[0]; @@ -782,6 +784,15 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } + else if (manufacturer == MBUS_VARIABLE_DATA_MAN_EFE) + { + switch (header->version) + { + case 0x01: + strcpy(buff,"Engelmann SensoStar 2C"); + break; + } + } else if (manufacturer == MBUS_VARIABLE_DATA_MAN_SLB) { switch (header->version) @@ -821,18 +832,6 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } - else if (manufacturer == MBUS_VARIABLE_DATA_MAN_ZRM) - { - switch (header->version) - { - case 0x81: - strcpy(buff,"Minol Minocal C2"); - break; - case 0x82: - strcpy(buff,"Minol Minocal WR3"); - break; - } - } else if (manufacturer == MBUS_VARIABLE_DATA_MAN_SVM) { switch (header->version) @@ -868,6 +867,7 @@ mbus_data_product_name(mbus_data_variable_header *header) switch (header->version) { case 0x31: + case 0x34: strcpy(buff,"Sensus PolluTherm"); break; } @@ -908,11 +908,30 @@ mbus_data_product_name(mbus_data_variable_header *header) break; } } - - return buff; + else if (manufacturer == MBUS_VARIABLE_DATA_MAN_TCH) + { + switch (header->version) + { + case 0x26: + strcpy(buff,"Techem m-bus S"); + break; + } + } + else if (manufacturer == MBUS_VARIABLE_DATA_MAN_ZRM) + { + switch (header->version) + { + case 0x81: + strcpy(buff,"Minol Minocal C2"); + break; + case 0x82: + strcpy(buff,"Minol Minocal WR3"); + break; + } + } } - return ""; + return buff; } //------------------------------------------------------------------------------ diff --git a/mbus/mbus-protocol.h b/mbus/mbus-protocol.h index 6a7d515..5fa5298 100644 --- a/mbus/mbus-protocol.h +++ b/mbus/mbus-protocol.h @@ -465,6 +465,7 @@ typedef struct _mbus_data_secondary_address { #define MBUS_VARIABLE_DATA_MAN_ACW 0x0477 #define MBUS_VARIABLE_DATA_MAN_ABB 0x0442 #define MBUS_VARIABLE_DATA_MAN_AMT 0x05B4 +#define MBUS_VARIABLE_DATA_MAN_EFE 0x14C5 #define MBUS_VARIABLE_DATA_MAN_ELS 0x1593 #define MBUS_VARIABLE_DATA_MAN_EMH 0x15A8 #define MBUS_VARIABLE_DATA_MAN_HYD 0x2324 @@ -478,7 +479,7 @@ typedef struct _mbus_data_secondary_address { #define MBUS_VARIABLE_DATA_MAN_SON 0x4DEE #define MBUS_VARIABLE_DATA_MAN_SPX 0x4E18 #define MBUS_VARIABLE_DATA_MAN_SVM 0x4ECD -#define MBUS_VARIABLE_DATA_MAN_TCM 0x5068 +#define MBUS_VARIABLE_DATA_MAN_TCH 0x5068 #define MBUS_VARIABLE_DATA_MAN_ZRM 0x6A4D //