From d1358faffca86491d1f335b277fe0260f70a8e96 Mon Sep 17 00:00:00 2001 From: Theo Arends <11044339+arendst@users.noreply.github.com> Date: Mon, 19 Oct 2026 14:35:40 +0200 Subject: [PATCH] Fix ble eq3 bthome decryption regression --- tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino b/tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino index a745823ed..bac59ffe6 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_85_esp32_ble_eq3_trv.ino @@ -756,9 +756,6 @@ void TaskEQ3ParseBTHome(BLE_ESP32::ble_advertisment_t* pStruct) { if (eq3->cryptState) { #ifdef USE_MI_ESP32 #define USE_MI_DECRYPTION // Just to be sure... - uint8_t addrRev[6]; - memcpy(addrRev, addr, 6); - BLE_ESP32::ReverseMAC(addrRev); uint8_t* bufPtr = (uint8_t*)ServiceDataStr.data(); uint32_t micTag = *(uint32_t*)(bufPtr + (ServiceDataLength - 4)); uint8_t nonce[13]; @@ -769,7 +766,7 @@ void TaskEQ3ParseBTHome(BLE_ESP32::ble_advertisment_t* pStruct) { memcpy(&nonce[9], bufPtr + (ServiceDataLength - 8), 4); uint8_t* cipherText = bufPtr + 1; int cipherLen = ServiceDataLength - 9; - eq3->cryptState = MIDecryptPayload(addrRev, nonce, micTag, cipherText, cipherLen); + eq3->cryptState = MIDecryptPayload(addr, nonce, micTag, cipherText, cipherLen); if (eq3->cryptState) return; // Decrypt failed on any reason ServiceDataLength -= 8; ServiceData = bufPtr;