ESP8266 I2C Multiplexer
There is something that you need to check carefully. In the I2C and SMBus world there has always been the confusing use of a mix of 7-bit address values and 8-bit slave address values. The data sheet for the TCA9548A calls out the I2C slave address for the MUX part as a 7-bit address that resides in the upper 7 bits of the transmitted address byte. 





In your code you have set the define for TCAADDR to 0x70 which will be correct for the instance that you have tied the A0, A1 and A2 pins on the MUX part all to GND. Keep in mind that this 0x70 value is a 7-bit slave address. 

Many software libraries for communicating on I2C and SMBus will use an 8-bit representation for the slave address and then simply or in a 0x01 to the low bit for a READ type operation. If the library code uses a 7-bit slave address input the code must shift that value one place to the left in order to get the byte to send out to be correct. 

So the check you need to make is how the library code treats the slave address. If it works in the 8-bit mode then you would have to set your TCAADDR to 0xE0.

Do not feel bad if this is the problem that has caught up with you here. Countless persons have been bitten by this issue.