A battery management system thermally conditions a battery assembly prior to a determined upcoming time or the battery assembly's arrival at an upcoming location, and selects a source of the power used for the thermal conditioning.