Below is the code I am using to read temperature history on other devices....
var senIterator = null;
var senHistory = null;
var senSample = null;
var senValue = 0;
if (Toybox has :SensorHistory) {
if (Toybox.SensorHistory has :getTemperatureHistory) {
senIterator = new Lang.Method(Toybox.SensorHistory, :getTemperatureHistory);
senHistory = (senIterator == null) ? null : senIterator.invoke({});
senSample = (senHistory == null) ? null : senHistory.next();
senValue = (senSample == null) ? 0 : (senSample.data == null) ? 0 : senSample.data;
} // end if SensorHistory has getTemperatureHistory
} // end if device has SensorHistory
return (Sys.getDeviceSettings().temperatureUnits == Sys.UNIT_METRIC) ? senValue : senValue.toFloat()*9.0/5.0+32.0;