cleaned up ReadOnlyThermostatState