A thermostat management server that conserves energy while communicating over a network (502, 504) with a thermostat (110, 112) powered by a battery (110A, 112A), comprising: a processor configured to execute one or more instructions; a memory designed to hold instructions when executed on the processor, that causes the processor to perform one or more processes, including, a battery-level collection process that stores a battery-level associated with the battery from the thermostat, wherein the battery-level is provided by the thermostat over a communication channel established over the network between the thermostat management server and the thermostat and provides an indication of remaining energy in the battery associated with the thermostat, a data priority process that classifies one or more types of data to be transmitted to the thermostat over the communication channel according to a data priority ranging from a low-priority data type to a high-priority data type, wherein the low-priority data type includes data of lesser importance to the operation of a thermostat management system and the thermostat including optional functions to be performed on the thermostat comprising software updates or other maintenance, and the high-priority data type includes data of higher importance to the operation of the thermostat management system and the thermostat as compared with the low-priority data type including requests to actively perform an action on the thermostat comprising changing a setpoint, turning-on/off heating or cooling or checking ambient temperature in a residence or commercial location where the thermostat is located, a power-priority transmission process that transmits data classified in a range from a low-priority data type to a high-priority data type when the battery-level associated with the thermostat is at a high battery-level and transmits data classified in the high-priority data type and not the low-priority data type when the battery-level associated with the network-attached thermostat is at a low battery-level. a processor configured to execute one or more instructions; a memory designed to hold instructions when executed on the processor, that causes the processor to perform one or more processes, including, a battery-level collection process that stores a battery-level associated with the battery from the thermostat, wherein the battery-level is provided by the thermostat over a communication channel established over the network between the thermostat management server and the thermostat and provides an indication of remaining energy in the battery associated with the thermostat, a data priority process that classifies one or more types of data to be transmitted to the thermostat over the communication channel according to a data priority ranging from a low-priority data type to a high-priority data type, wherein the low-priority data type includes data of lesser importance to the operation of a thermostat management system and the thermostat including optional functions to be performed on the thermostat comprising software updates or other maintenance, and the high-priority data type includes data of higher importance to the operation of the thermostat management system and the thermostat as compared with the low-priority data type including requests to actively perform an action on the thermostat comprising changing a setpoint, turning-on/off heating or cooling or checking ambient temperature in a residence or commercial location where the thermostat is located, a power-priority transmission process that transmits data classified in a range from a low-priority data type to a high-priority data type when the battery-level associated with the thermostat is at a high battery-level and transmits data classified in the high-priority data type and not the low-priority data type when the battery-level associated with the network-attached thermostat is at a low battery-level.