I2C master's output is always 255
Instead of discarding the return value from Wire.requestFrom(TEMP_ADDRESS, 12);, test the return value to determine whether or not the Wire.requestFrom worked correctly:
byte numBytesReceived = Wire.requestFrom(TEMP_ADDRESS, /* quantity */ 12); 
if (numBytesReceived == 0) {
  Serial.print(&quot;** error: device not found **&quot;);
}
else if (numBytesReceived &lt; 12) {
  Serial.print(&quot;** error: incomplete transfer **&quot;);
}
else {
  Serial.print(&quot;++ device reply received ++&quot;);
}

Documentation is here:
https://www.arduino.cc/en/Reference/WireRequestFrom
See also this Q&amp;A about using Arduino as an I2C slave:
https://arduino.stackexchange.com/questions/43007/why-is-a-delay1-necessary-before-wire-requestfrom