- use linear interpolation to calculate daily heating and cooling energy
- prevent updating Heliodon.calendar if update is a side effect of
calling setDate()