Fix Xiaomi merged packet parsing (#1293)

* Fix Xiaomi merged packet parsing

solves #1500

* renamed variables and updated payload and value checking

* renamed function and parameter

* add function to header

* changed log message
This commit is contained in:
Alexander Leisentritt
2020-10-13 04:06:09 +02:00
committed by Guillermo Ruffino
parent 221ef07c8b
commit 540c62061d
2 changed files with 97 additions and 69 deletions
@@ -57,6 +57,7 @@ struct XiaomiAESVector {
size_t ivsize;
};
bool parse_xiaomi_value(uint8_t value_type, const uint8_t *data, uint8_t value_length, XiaomiParseResult &result);
bool parse_xiaomi_message(const std::vector<uint8_t> &message, XiaomiParseResult &result);
optional<XiaomiParseResult> parse_xiaomi_header(const esp32_ble_tracker::ServiceData &service_data);
bool decrypt_xiaomi_payload(std::vector<uint8_t> &raw, const uint8_t *bindkey, const uint64_t &address);