OTI-301 Infrared Sensor
For faster response and easier mounting, I switched from a contact sensor to the OTI-301 non-contact sensor from the vendor you referenced. The following is the code that I used. Verify that your OTI-301 expected VDD is 3.3V. The MLX90614 that I tested was 5V. Would be easy to overlook the difference.

// Demo Arduino code for the OPT-301 non-contact thermometer
// References used:
//   https://drive.google.com/file/d/1XMRDCNzY3fn0q6lkGejs5D-pqksfRuZ8/view?usp=sharing
//   https://drive.google.com/file/d/1mmdkHkNbwC5VgQxGMrq07XolajNvgBkN/view?usp=sharing

#include &lt;Wire.h&gt;

void setup() {
  Serial.begin(9600);
  Wire.begin();
}

void loop() {
  const int addr = 0x10; // I2C addresses at 7-bit, must shift documented 0x20 address, so 0x10.

  Wire.beginTransmission(addr);
  Wire.write(0x80);
  int rv = Wire.endTransmission(false);

  if (rv != 0) {
    Serial.print("Error while transmitting: ");
    Serial.println(rv);
  } else {
    const int n = 6;
    uint8_t dat[n];

    Wire.requestFrom(addr, n);

    int i;
    for (i = 0; i &lt; n &amp;&amp; Wire.available(); i++) {
      dat[i] = Wire.read();
    }

    if (i != n) {
      Serial.println("Incomplete data");
    } else {
      float amb = (dat[2] * 65536L + dat[1] * 256L + dat[0]) / 200.;
      float obj = (dat[5] * 65536L + dat[4] * 256L + dat[3]) / 200.;

      Serial.print("Temperatures (C): Ambient: ");
      Serial.print(amb);
      Serial.print("  Object: ");
      Serial.println(obj);
    }
  }
}