After the Wire.requestFrom(), the I2C transaction has completely finished. You can remove the while-loops with the delay in two places after the call to Wire.requestFrom().
In the function getLux(), the Wire.requestFrom() is followed by Wire.endTransmission(). You can remove that Wire.endTransmission, it should only be used when writing data.
After the Wire.requestFrom(), the I2C transaction has completely finished. You can remove the while-loops with the delay in two places after the call to Wire.requestFrom().
In the function getLux(), the Wire.requestFrom() is followed by Wire.endTransmission(). You can remove that Wire.endTransmission, it should only be used when writing data.