diff --git a/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino b/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino index 46cb50697..8c9d5cbea 100644 --- a/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino +++ b/tasmota/tasmota_xdrv_driver/xdrv_63_modbus_bridge.ino @@ -644,8 +644,8 @@ void ModbusTCPHandle(void) writeData = (uint16_t *)malloc(dataSendCount); for (uint8_t dataPointer = 0; dataPointer < dataSendCount; dataPointer++) { - writeData[dataPointer] = (uint16_t)((((uint16_t)modbusBridgeTCP.tcp_buf[dataStartByte+dataPointer]) << 8) - | ((uint16_t)modbusBridgeTCP.tcp_buf[dataStartByte + 1 + dataPointer])); + writeData[dataPointer] = (uint16_t)((((uint16_t)modbusBridgeTCP.tcp_buf[dataStartByte+(dataPointer*2)]) << 8) + | ((uint16_t)modbusBridgeTCP.tcp_buf[dataStartByte + 1 + (dataPointer*2)])); } }