Thermal infrared camera for an alarm?

Wire.requestFrom(D6T_addr, 35);
  while(Wire.available()){
    c = Wire.read();
    rbuff[i] = c;
    i++;
  }
  Wire.endTransmission();

If I recall correctly the internal buffers of Arduino are only 32 bytes so they will not be able to capture 35 bytes...

try replace the communication with 7 blocks of 5 bytes? or 35 individual bytes?

for (int cnt = 0; cnt < 7; cnt++)
{
  Wire.requestFrom(D6T_addr, 5);
  while(Wire.available())
  {
    c = Wire.read();
    rbuff[i] = c;
    i++;
  }
  Wire.endTransmission();
}

Or adapt the wire lib to have a 64 (or 40) byte buffer.