From a9e75e78401bd84f475876dc41e80e5547049f62 Mon Sep 17 00:00:00 2001 From: SteWers <42718143+SteWers@users.noreply.github.com> Date: Sat, 3 Jan 2026 23:29:32 +0100 Subject: [PATCH] [Zigbee] Fix negative tuya values (#24297) * [Zigbee] Fix negative tuya values * Update xdrv_23_zigbee_A_impl.ino - Added SPACE between light color and value regarding to other value presentations - Removed the 'json' parameter from ZigbeeShow, as it is not used * Revert code optimizations * get32IBigEndian --- tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_6_0_commands.ino | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_6_0_commands.ino b/tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_6_0_commands.ino index d9270b0d3..589779e7e 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_6_0_commands.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_23_zigbee_6_0_commands.ino @@ -548,8 +548,8 @@ void parseSingleTuyaAttribute(Z_attribute & attr, const SBuffer &buf, case 0x04: // enum 8 bits attr.setUInt(buf.get8(i)); break; - case 0x02: // 4 bytes value (signed?) - attr.setUInt(buf.get32BigEndian(i)); + case 0x02: // 4 bytes value (signed? Yes, signed!) + attr.setInt(buf.get32IBigEndian(i)); break; case 0x03: // String (we expect it is not ended with \00) {