diff --git a/cube/User/Src/mbusParserExt.c b/cube/User/Src/mbusParserExt.c index 454ee80..2431ed2 100644 --- a/cube/User/Src/mbusParserExt.c +++ b/cube/User/Src/mbusParserExt.c @@ -12,12 +12,14 @@ static const char NAME_VOLTAGE[] = "Voltage"; static const char NAME_CURRENT[] = "Current"; static const char NAME_POWER[] = "Power"; static const char NAME_ENERGY[] = "Energy"; +static const char NAME_VOLUME[] = "Volume"; static const char NAME_UNKNOWN[] = "unknown"; static const char UNIT_VOLT[] = "V"; static const char UNIT_AMPERE[] = "A"; static const char UNIT_WATT[] = "W"; static const char UNIT_WATTHOUR[] = "Wh"; +static const char UNIT_QUBICMETER[] = "m3"; static const char UNIT_UNKNOWN[] = "?"; static parsedVIB_t parseVIB_FB(mbus_value_information_block vib) { @@ -61,6 +63,11 @@ static parsedVIB_t parseVIB_default(mbus_value_information_block vib) { parsedVIB.unit = UNIT_WATT; parsedVIB.exponent = (vib.vif & 0b0111) - 3; parsedVIB.found = true; + } else if ((vib.vif & 0b01111000) == 0b00010000) { + parsedVIB.name = NAME_VOLUME; + parsedVIB.unit = UNIT_QUBICMETER; + parsedVIB.exponent = (vib.vif & 0b0111) - 3; + parsedVIB.found = true; } else { coloredMsg(LOG_RED, true, "mpe pvd unknown vif 0x%02x", vib.vif); }