Ignore manufacturer specific header sizes changes

pull/77/head
cinemarene 2020-02-12 23:28:09 +01:00 zatwierdzone przez GitHub
rodzic b374d9fc19
commit 34a5297093
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
1 zmienionych plików z 16 dodań i 1 usunięć

Wyświetl plik

@ -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);