kopia lustrzana https://github.com/weetmuts/wmbusmeters
Ignore manufacturer specific header sizes changes
rodzic
b374d9fc19
commit
34a5297093
17
src/wmbus.cc
17
src/wmbus.cc
|
@ -487,6 +487,9 @@ string mediaTypeJSON(int a_field_device_type)
|
|||
case 0x62: return "warm water";
|
||||
case 0x72: return "cold water";
|
||||
|
||||
// Techem FHKV.
|
||||
case 0x80: return "Heat Cost Allocator"; // FHKV data ii/iii
|
||||
|
||||
// Techem Vario 4 Typ 4.5.1 manufacturer specific codes:
|
||||
case 0xC3: return "heat";
|
||||
|
||||
|
@ -1577,7 +1580,19 @@ bool Telegram::parseTPL(vector<uchar>::iterator &pos)
|
|||
case CI_Field_Values::TPL_78: return parse_TPL_78(pos);
|
||||
case CI_Field_Values::TPL_79: return parse_TPL_79(pos);
|
||||
case CI_Field_Values::TPL_7A: return parse_TPL_7A(pos);
|
||||
case CI_Field_Values::MFCT_SPECIFIC_A0:
|
||||
case CI_Field_Values::MFCT_SPECIFIC_A0: {
|
||||
bool _ignore_header_change = false;
|
||||
|
||||
if(dll_type == 0x80 && dll_mfct == 0x5068) { // Techem Heat Cost Allocator
|
||||
_ignore_header_change = true;
|
||||
}
|
||||
|
||||
if(!_ignore_header_change) {
|
||||
header_size = distance(frame.begin(), pos);
|
||||
}
|
||||
suffix_size = 0;
|
||||
return true; // Manufacturer specific telegram payload. Oh well....
|
||||
}
|
||||
case CI_Field_Values::MFCT_SPECIFIC_A2:
|
||||
{
|
||||
header_size = distance(frame.begin(), pos);
|
||||
|
|
Ładowanie…
Reference in New Issue