handle error returned from I2C Device

Also read temperature directly from I2CDeviceAddress.  Apparently the
rest of this code isn't really necessary and sometimes breaks things.