Patent Description:
Conventional lithium-ion (Li-ion) batteries can charge and/or discharge safely up to a certain internal temperature (e.g., <NUM>). Some Li-ion batteries have cell chemistries that enable the battery to safely discharge up to a higher maximum discharge temperature (e.g., <NUM>) but safely charge only up to a lower maximum charge temperature (e.g., <NUM>). Within the range between the maximum discharge and charge temperatures, the battery is not able to charge but can still discharge. Consequently, if the battery temperature cannot be decreased to below the lower maximum charge temperature (e.g., due to high ambient temperatures preventing sufficient cooldown of the battery temperature) but is below the higher maximum discharge temperature, then the battery may discharge until it depletes completely or triggers a low-battery shut down state where operations powered by the battery are no longer available, resulting in a poor user experience. <CIT> discloses a method for charging an electric vehicle battery in order to reduce ageing and extend lifespan. The charging of the battery is planned over a future period on the basis of an estimated future temperature of the battery over the future period, so as to minimize the calendar aging of the battery.

The present document describes techniques for safe battery charging during high ambient temperatures. These techniques extend device runtime during peak use periods when ambient temperature is high by increasing the possibility for battery charging during high ambient temperature conditions. In an example, a device, during high ambient temperatures, checks future ambient temperatures over a network to identify if the minimum future ambient temperature over a block of time within the next N number of days is predicted to be sufficiently low that, when combined with device-performance throttling, is estimated to reduce the temperature of the battery to below the maximum charge temperature to enable the battery to be safely charged. In a further example, the device uses the future ambient temperatures to budget current battery usage by implementing and/or adjusting device-performance throttling.

In an example, a method performed by an electronic device is described. The method includes determining that a battery temperature of a battery of the electronic device has exceeded a first temperature threshold and in response to the battery temperature exceeding the first temperature threshold, determining whether to initiate charging of the battery based on a first state-of-charge threshold. The method also includes estimating future battery temperatures for each of a plurality of future time periods based on the local-weather-forecast data combined with battery-temperature data associated with a plurality of device-performance throttling modes for the electronic device. In addition, the method includes identifying, using the local-weather-forecast data, whether one or more future time periods of the plurality of future time periods exists within a next N number of days in which an ambient temperature around the electronic device is forecasted to be sufficiently low that, when combined with device-performance throttling of the electronic device, is estimated to reduce the battery temperature to below a second temperature threshold to enable the battery to be charged. The method thus may include identifying whether one or more future time periods of the plurality of future time periods exists within the next N days in which the estimated future battery temperature is below the second temperature threshold to enable the battery to be charged.

In an example, an electronic device is disclosed. The electronic device includes a battery configured to power one or more functions, a processor, and a memory for storing computer-readable instructions that, when executed by the processor, implement a battery-manager module and a charge-time predictor. The battery-manager module is configured to determine that a battery temperature of a battery of the electronic device has exceeded a first temperature threshold and in response to the battery temperature exceeding the first temperature threshold, determine whether to initiate charging of the battery based on a first state-of-charge threshold. The charge-time predictor is configured to, responsive to a determination that the state-of-charge of the battery is below the first state-of-charge threshold, obtain local-weather-forecast data from a weather source over a network based on a geographic location of the electronic device. The charge-time predictor is further configured to estimate future battery temperatures during each of a plurality of future time periods based on the local-weather-forecast data combined with battery-temperature data associated with a plurality of device-performance throttling modes for the electronic device. Also, the charge-time predictor is configured to identify, using the local-weather-forecast data, whether one or more future time periods of the plurality of future time periods exists within a next N number of days in which an ambient temperature around the electronic device is estimated to be sufficiently low that, when combined with device-performance throttling of the electronic device, is estimated to reduce the battery temperature to below a second temperature threshold to enable the battery to be charged.

This summary is provided to introduce simplified concepts of safe battery charging during high ambient temperatures, which are further described below in the Detailed Description. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.

The details of one or more aspects of safe battery charging during high ambient temperatures are described in this document with reference to the following drawings. The same numbers are used throughout the drawings to reference like features and components:.

The present document describes techniques for safe battery charging during high ambient temperatures. The techniques described herein enable an electronic device to implement safety measures if its battery is above a maximum charge temperature but has a relatively low SOC. For example, the electronic device checks future ambient temperatures and solar conditions in the local region of the electronic device to determine if a block of time (e.g., three-hour period) exists where the ambient temperature is predicted to be sufficiently low that, when combined with device-performance throttling, is estimated to reduce the battery temperature to within a safe temperature range for charging (e.g., below the maximum charge temperature).

By identifying if and when such a time period is estimated to occur, the electronic device can determine whether to budget current battery usage. In one example, if the electronic device does not identify a time period within the next e.g., three days, in which the battery could be safely charged with (or without) device-performance throttling (e.g., if the electronic device does not identify a future time period within the next N days in which the estimated future battery temperature is below the second temperature threshold), the electronic device budgets current battery usage by adjusting current device-performance throttling on battery-powered operations to extend the current cycle of the battery. In another example, if the electronic device identifies a time period within the next e.g., three days, in which the battery can be safely charged with device-performance throttling (e.g., if there is a future time period within the next N days in which the estimated future battery temperature is below the second temperature threshold), the electronic device notifies the user and requests permission to enter a throttling mode during the identified time period to safely charge the battery during that time period.

The techniques described herein extend device runtime during peak periods when the ambient temperature is high by increasing the possibility for battery charging during high ambient temperature conditions, including high average temperature conditions. Further, these techniques reduce the likelihood of a battery being depleted when high ambient temperatures contribute to causing the battery temperature to be between the maximum charge temperature and the maximum discharge temperature, which is greater than the maximum charge temperature, thereby preventing the battery from charging but enabling the battery to still discharge.

While features and concepts of the described techniques for safe battery charging during high ambient temperatures can be implemented in any number of different environments, aspects are described in the context of the following examples.

<FIG> illustrates an example implementation <NUM> of an electronic device configured for safe battery charging during high ambient temperatures in accordance with the techniques described herein. The illustrated example includes an electronic device <NUM> having a battery <NUM>, which provides battery power to the electronic device <NUM>, and a wire <NUM> (e.g., power cord) coupled to an external power source <NUM> (e.g., outlet, power bank, computing device), which provides line power to the electronic device <NUM>.

The electronic device <NUM> also includes a battery-manager module <NUM>, which is configured to monitor and manage the battery <NUM>, including controlling charging events of the battery <NUM> and monitoring battery health. The battery-manager module <NUM> is configured to check battery health (e.g., battery temperature, SOC) and provide notifications (e.g., alerts) when detecting problems with the battery <NUM>. By controlling charging events, the battery-manager module <NUM> can optimize the charging of the battery <NUM> to reduce chemistry degradation and ion consumption within the battery <NUM>, thereby extending the life of the battery <NUM>. In an example, the coupling to the external power source <NUM> is a wireless connection (e.g., using inductive coils).

The battery <NUM> may be any suitable rechargeable battery. An example battery <NUM>, as described herein (see <FIG>), is a Li-ion battery. Any suitable Li-ion-battery chemistry may be implemented.

The battery-manager module <NUM> is configured to determine battery temperature <NUM> and state-of-charge <NUM> (SOC <NUM>). The battery temperature <NUM> indicates a current internal temperature of the battery <NUM>. The battery-manager module <NUM> monitors the battery temperature <NUM> in relation to the maximum charge temperature of the battery <NUM>. The battery-manager module <NUM> also monitors the SOC <NUM> of the battery <NUM> in relation to one or more ranges of SOC and/or threshold SOCs to determine if the battery <NUM> needs charging.

The SOC <NUM> may include a current SOC level (e.g., <NUM>%, <NUM>%, <NUM>%, <NUM>%, <NUM>%, <NUM>%, <NUM>%, <NUM>%, <NUM>%) of the battery <NUM>. Generally, the SOC <NUM> is determined by a percentage of the charge capacity of the battery <NUM>. However, the SOC <NUM> may be determined based on any suitable quantifiable measure.

The electronic device <NUM> also includes a thermal-mitigation module <NUM> configured to implement one or more device-performance throttling modes <NUM>. The device-performance throttling mode <NUM> may be implemented to reduce battery-power consumption by the electronic device <NUM> and/or to reduce heat dissipation resulting from power consumption by one or more components (e.g., the processor(s) <NUM>) of the electronic device <NUM>. Throttling device performance (e.g., deactivating one or more processes and/or components) may enable the battery temperature <NUM> to decrease. In aspects, implementing a device-performance throttling mode <NUM> during a time period in which the ambient temperature is low, may reduce the battery temperature <NUM> to below the maximum charge temperature of the battery <NUM> and thus enable the battery <NUM> to be safely charged.

The electronic device <NUM> also includes a charge-time predictor <NUM>. The charge-time predictor <NUM> is a module configured to estimate future time periods <NUM>, which may or may not be used to safely charge the battery <NUM>. The estimated future time periods <NUM> may each be any suitable duration of time. In aspects, the estimated future time periods <NUM> correspond to estimated future ambient temperatures <NUM> derived or determined from local-weather forecast data <NUM>, which may be obtained from a weather information source (e.g., server, weather server, search engine) over a network <NUM>.

In an example, the local-weather forecast data <NUM> includes a <NUM>-day hourly forecast for the geographical region (e.g., locale, location, area, city) corresponding to the location of the electronic device <NUM>. The charge-time predictor <NUM> determines the future ambient temperatures <NUM> for the electronic device <NUM>, using the local-weather forecast data <NUM>, as well as solar conditions for the electronic device <NUM> for each time period <NUM>. The future ambient temperature <NUM> for a time period <NUM> may be determined as an average ambient temperature over the duration of the time period <NUM>, which may be several hours long. Further, for each future time period <NUM>, the charge-time predictor <NUM> estimates thermal effects of different device-performance throttling modes <NUM> on the battery temperature <NUM>, combined with the future ambient temperatures and solar conditions. In this way, the charge-time predictor <NUM> estimates future battery temperatures <NUM> for each future time period <NUM>. Using the estimated future battery temperatures <NUM> for each future time period <NUM>, the battery-manager module <NUM> can determine if a time period exists when, based on forecast ambient temperatures and solar conditions combined with a device-performance throttling mode of the electronic device <NUM>, the future battery temperature <NUM> is estimated to be less than a temperature threshold (e.g., the maximum charge temperature) to enable charging of the battery <NUM>.

The electronic device <NUM> may also be configured to communicate with one or more devices or servers over the network <NUM>. By way of example and not limitation, the electronic device <NUM> may communicate data over a local-area-network (LAN), a wireless local-area-network (WLAN), a personal-area-network (PAN), a wide-area-network (WAN), an intranet, the Internet, a peer-to-peer network, point-to-point network, or a mesh network.

Consider now <FIG>, which illustrates an example implementation of the electronic device from <FIG> in more detail. The electronic device <NUM> of <FIG> is illustrated with a variety of example devices, including a smartphone <NUM>-<NUM>, a tablet <NUM>-<NUM>, a laptop <NUM>-<NUM>, a security camera <NUM>-<NUM>, a computing watch <NUM>-<NUM>, computing spectacles <NUM>-<NUM>, a gaming system <NUM>-<NUM>, a video-recording doorbell <NUM>-<NUM>, and a speaker <NUM>-<NUM>. The electronic device <NUM> can also include other devices, e.g., televisions, entertainment systems, audio systems, projectors, automobiles, drones, track pads, drawing pads, netbooks, e-readers, home security systems, and other home appliances. Note that the electronic device <NUM> can be mobile, wearable, non-wearable but mobile, or relatively immobile (e.g., desktops and appliances).

The electronic device <NUM> includes a battery (e.g., battery <NUM>). The battery <NUM> may be any suitable rechargeable battery. As described herein, the battery <NUM> may be a Li-ion battery. Various different Li-ion-battery chemistries may be implemented, some examples of which include lithium iron phosphate (LiFePO<NUM>), lithium manganese oxide (LiMn<NUM>O<NUM> spinel, or Li<NUM>MnO<NUM>-based lithium-rich layered materials, LMR-NMC), and lithium nickel manganese cobalt oxide (LiNiMnCoO<NUM>, Li-NMC, LNMC, NMC, or NCM). Many batteries are susceptible to chemistry degradation at higher voltages (e.g., above <NUM>% SOC) and lower voltages (e.g., below <NUM>% SOC). Because of this susceptibility, battery life can be significantly extended if maintained (used and stored) at a medium-range SOC (e.g., between <NUM>% and <NUM>%, including around <NUM>%). Many batteries are also susceptible to thermal events above <NUM>, including thermal runaway. Some batteries, due to their chemistry, can withstand an internal temperature up to <NUM> before experiencing thermal events. To avoid degradation and damage, these batteries should not be charged above a maximum charge temperature (e.g., <NUM>) even though some batteries have a maximum discharge temperature that is higher than the maximum charge temperature, enabling the batteries to continue discharging safely at higher temperatures until depletion without being able to safely charge.

The electronic device <NUM> includes one or more processors <NUM> (e.g., any of microprocessors, controllers, or other controllers) that can process various computer-executable instructions to control the operation of the electronic device <NUM> and to enable techniques for safe battery charging during high ambient temperatures. Alternatively or additionally, the processor(s) <NUM> can be implemented with any one or combination of hardware elements, firmware, or fixed logic circuitry that is implemented in connection with processing and control circuits. Although not shown, the electronic device <NUM> can include a system bus or data transfer system that couples the various components within the device. A system bus can include any one or combination of different bus structures, such as a memory bus or memory controller, a peripheral bus, a universal serial bus, and/or a processor or local bus that utilizes any of a variety of bus architectures.

The electronic device <NUM> also includes computer-readable media <NUM> (CRM <NUM>), such as one or more memory devices that enable persistent and/or non-transitory data storage (in contrast to mere signal transmission), examples of which include random access memory (RAM), non-volatile memory (e.g., any one or more of a read-only memory (ROM), flash memory, EPROM, EEPROM, etc.), and a disk storage device. A disk storage device may be implemented as any type of magnetic or optical storage device, such as a hard disk drive, a recordable and/or rewritable compact disc (CD), any type of a digital versatile disc (DVD).

The computer-readable media <NUM> provides data storage mechanisms to store various device applications <NUM>, an operating system <NUM>, memory/storage, and other types of information and/or data related to operational aspects of the electronic device <NUM>. For example, the operating system <NUM> can be maintained as a computer application within the computer-readable media <NUM> and executed by the processor(s) <NUM> to provide some or all of the functionalities described herein. The device applications <NUM> may include a device manager, such as any form of a control application, software application, or signal-processing and control modules. The device applications <NUM> may also include system components, engines, or managers to implement techniques for safe battery charging during high ambient temperatures, such as the battery-manager module <NUM>, the thermal-mitigation module <NUM>, and the charge-time predictor <NUM>. The electronic device <NUM> may also include, or have access to, one or more machine learning systems.

Various implementations of the battery-manager module <NUM>, the thermal-mitigation module <NUM>, and the charge-time predictor <NUM> can include, or communicate with, a System-on-Chip (SoC), one or more Integrated Circuits (ICs), a processor with embedded processor instructions or configured to access processor instructions stored in memory, hardware with embedded firmware, a printed circuit board with various hardware components, or any combination thereof.

The electronic device <NUM> may also include the communication module <NUM> (e.g., network interface). The electronic device <NUM> can use the communication module <NUM> for communicating data over wired, wireless, or optical networks (e.g., the network <NUM>). By way of example and not limitation, the communication module <NUM> may communicate data over a local-area-network (LAN), a wireless local-area-network (WLAN), a personal-area-network (PAN), a wide-area-network (WAN), an intranet, the Internet, a peer-to-peer network, point-to-point network, or a mesh network. The communication module <NUM> can be implemented as one or more of a serial and/or parallel interface, a wireless interface, any type of network interface, a modem, or any other type of communication interface. Using the communication module <NUM>, the electronic device <NUM> may communicate via a cloud computing service (e.g., the network <NUM>) to access a platform having resources. In some aspects, the electronic device <NUM> may use the communication module <NUM> to retrieve software updates to enable the battery-manager module <NUM> to be updated and/or implemented on the electronic device <NUM>.

The electronic device <NUM> also includes one or more sensors <NUM>, which can include any of a variety of sensors, including an audio sensor (e.g., a microphone), a touch-input sensor (e.g., a touchscreen, a fingerprint sensor, a capacitive touch sensor), an image-capture device (e.g., a camera or video camera), a proximity sensor (e.g., capacitive sensor), a temperature sensor (e.g., thermistor), or an ambient light sensor (e.g., photodetector).

The electronic device <NUM> can also include a display device (e.g., display device <NUM>). The display device <NUM> can include any suitable touch-sensitive display device, e.g., a touchscreen, a liquid crystal display (LCD), thin film transistor (TFT) LCD, an in-place switching (IPS) LCD, a capacitive touchscreen display, an organic light-emitting diode (OLED) display, an active-matrix organic light-emitting diode (AMOLED) display, super AMOLED display, and so forth. The display device <NUM> may be referred to as a display or a screen, such that digital content may be displayed on-screen.

The electronic device <NUM> may also include a camera device <NUM> configured to capture images and/or video of a scene within a field of view (FOV) of the camera device <NUM>. The images captured by the camera device <NUM> can be used for detection, object detection (e.g., face detection), object identification (e.g., facial recognition, animal identification), and so forth.

Although not shown, the electronic device <NUM> also includes I/O interfaces for receiving and providing data. For example, the I/O interfaces may include one or more of a touch-sensitive input, a capacitive button, a microphone, a keyboard, a mouse, an accelerometer, a display, a light-emitting diode (LED) indicator, a speaker, or a haptic feedback device.

Further to the descriptions above, a user may be provided with controls allowing the user to make an election as to both if and when systems, programs, or features described herein may enable collection of user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, a user's current location, a user's calendar schedule, or a user's scheduled activities), and if the user is sent content or communications from a server. In addition, certain data may be treated in one or more ways before it is stored or used so that personally identifiable information is removed. For example, a user's identity may be treated so that no personally identifiable information can be determined for the user, or a user's geographic location may be generalized where location information is obtained (such as to a city, ZIP code, or state level) so that a particular location of a user cannot be determined. Thus, the user may have control over what information is collected about the user, how that information is used, and what information is provided to the user.

These and other capabilities and configurations, as well as ways in which entities of <FIG> and <FIG> act and interact, are set forth in greater detail below. These entities may be further divided, combined, and so on. The implementation <NUM> of <FIG> and the detailed illustrations of <FIG> illustrate some of many possible environments, devices, and methods capable of employing the described techniques, whether individually or in combination with one another.

<FIG> illustrates an example implementation <NUM> of thermal-mitigation techniques including device-performance throttling modes. The example implementation <NUM> illustrates a number of different device-performance throttling modes, which may be used to either provide full performance (zero throttling) or to restrict performance and consume less power, thereby generating less heat. Different levels of throttling (e.g., zero, mild, medium, severe, shutdown) may be used depending on how much to reduce heat generation to enable the battery <NUM> to cool. Any suitable number and/or configuration of throttling modes can be implemented.

The example illustrated in <FIG> shows various throttling modes and corresponding transitions. A first throttling mode may include zero throttling <NUM> (zero-throttling mode <NUM>), which is a full-featured, full-performance mode of the electronic device <NUM>. In one example, the zero-throttling mode <NUM> permits operation up to <NUM> Watts (W) and includes <NUM> progressive scan (p) at <NUM> frames-per-second (fps) and <NUM>% machine learning (ML), which results in high levels of power dissipation. When no event <NUM> (e.g., motion within the FOV of the camera device <NUM>) is occurring, the electronic device <NUM> may enter an idle mode (e.g., zero-throttling idle <NUM> (zero-throttling-idle mode <NUM>)). The zero-throttling-idle mode <NUM> uses less power than the zero-throttling mode <NUM>. In an example, the zero-throttling-idle mode <NUM> permits operation up to <NUM>. 2W of power, using 960p at 30fps and <NUM>% ML. When an event <NUM> is detected, the electronic device <NUM> may exit the idle mode and enter the full-performance mode (e.g., zero-throttling mode <NUM>).

A second throttling mode may include mild throttling <NUM> (mild-throttling mode <NUM>), which has reduced performance relative to zero throttling <NUM> and zero-throttling-idle <NUM> modes. Compared to zero throttling <NUM>, the mild throttling <NUM> may include a reduced video quality. In an example, the mild-throttling mode <NUM> permits operation up to <NUM>. 1W, using 720p at 15fps and <NUM>% ML when an event <NUM> is detected. When operating according to the mild-throttling mode <NUM>, the electronic device <NUM> may enter an idle mode (e.g., mild-throttling idle <NUM> (mild-throttling-idle mode <NUM>)) when no event <NUM> is occurring. The mild-throttling-idle mode <NUM> uses less power than the mild-throttling mode <NUM>. In an example, the mild-throttling-idle mode <NUM> permits operation up to <NUM>. 1W, using 720p at 15fps and <NUM>% ML.

A third throttling mode may include medium throttling <NUM> (medium-throttling mode <NUM>), which has reduced performance relative to the mild throttling <NUM> and mild-throttling idle <NUM> modes. To reduce heat dissipation, the medium-throttling mode <NUM> can be implemented to reduce video quality and disable (turn off) machine learning operations. In an example, the medium throttling mode <NUM> permits up to <NUM>. 6W, using 720p at 15fps with no high-dynamic-range imaging and no machine learning operation.

To further reduce heat dissipation, a fourth throttling mode may be implemented. The fourth throttling mode may include severe throttling <NUM> (severe-throttling mode <NUM>). Severe throttling <NUM> further reduces device performance relative to the medium throttling <NUM>. In an example, the severe-throttling mode <NUM> permits up to <NUM>. 6W and disables one or more additional features, such as camera and/or audio operations. In another example, by implementing the severe-throttling mode <NUM>, a video-recording doorbell device disables non-battery-powered functions, including video and audio, and only permits one or more battery-powered functions, such as a doorbell chime. Severe throttling <NUM> may be used in extreme circumstances when the ambient temperature is sufficiently high that, when combined with heat-dissipating functions (including low-powered video and audio functions), the battery temperature <NUM> cannot cool to below the maximum charge temperature of the battery <NUM> for safe charging. Disabling such functions can, depending on the ambient temperature, enable the battery temperature <NUM> to decrease to within the safe-temperature range for charging (e.g., below the maximum charge temperature).

In further extreme circumstances where the ambient temperature is too high for the battery temperature <NUM> to cool to within the safe-temperature range for charging, a fifth throttling mode (e.g., shutdown <NUM>) can be implemented to turn off all operations of the electronic device <NUM>. In an example, the shutdown mode <NUM> uses 0W because it causes the electronic device <NUM> to turn off completely.

The illustrated throttling modes are described as examples of various different levels of device-performance throttling. Any suitable number of different levels can be implemented and the throttling modes are not limited to the examples described herein. For example, any of the throttling modes may enable or disable functions different from the specific examples described and use different levels of power and quality from the specific examples described.

<FIG> and <FIG> depict example methods <NUM> and <NUM>, respectively, for safe battery charging during high ambient temperatures. The methods <NUM> and <NUM> can be performed by the electronic device <NUM>, which uses the battery-manager module <NUM>, the thermal-mitigation module <NUM>, and/or the charge-time predictor <NUM> to implement the described techniques. The methods <NUM> and <NUM> collectively provide enhanced safety, reliability, performance, and sustainability for the battery <NUM> and the electronic device <NUM>. The method <NUM> is supplemental to, and is optionally performed in conjunction with, the method <NUM>.

The methods <NUM> and <NUM> are shown as a set of blocks that specify operations performed but are not necessarily limited to the order or combinations shown for performing the operations by the respective blocks. Further, any of one or more of the operations may be repeated, combined, reorganized, or linked to provide a wide array of additional and/or alternate methods. In portions of the following discussion, reference may be made to the example implementation <NUM> of <FIG> or to entities or processes as detailed in <FIG> and <FIG>, reference to which is made for example only. The techniques are not limited to performance by one entity or multiple entities operating on one device.

At <NUM>, the battery temperature of a battery is determined to be greater than a first temperature threshold T1. This high temperature of the battery may be determined based on a battery charger hot-temperature fault indicating that the battery temperature has exceeded the first temperature threshold T1. In an example, the battery-manager module <NUM> determines that the battery temperature <NUM> of the battery <NUM> has exceeded the first temperature threshold T1 (e.g., the maximum charge temperature) for charging.

At <NUM>, the electronic device determines if the battery currently has an SOC that is greater than (or less than) a first SOC threshold X (e.g., X% SOC). For example, the battery-manager module <NUM> determines if the current SOC of the battery <NUM> is greater than the first SOC threshold X (e.g., <NUM>% SOC). If the battery SOC is greater than the first SOC threshold X ("YES" at <NUM>), then the battery-manager module <NUM> determines that the battery <NUM> has sufficient charge to sustain device operation and is not currently in need of charging. The method <NUM> then loops back to <NUM> to continue monitoring the battery temperature <NUM>. If the battery-manager module <NUM> is less than (or equal to) the first SOC threshold X ("NO" at <NUM>), then the battery-manager module <NUM> determines that the battery SOC is sufficiently depleted such that the battery <NUM> may be in need of charging, and the method <NUM> proceeds to <NUM>.

At <NUM>, the electronic device <NUM> obtains local-weather forecast data. In an example, the charge-time predictor <NUM> communicates with a weather source (e.g., general server, weather service, search engine), via the communication module <NUM> and over the network <NUM>, to obtain local-weather forecast data <NUM>. The local-weather forecast data <NUM> may include forecasted weather information local to the region in which the electronic device <NUM> is geographically located. The weather information may include any suitable number of days, including a single-day forecast, a <NUM>-day forecast, a <NUM>-day forecast, a <NUM>-day forecast, a <NUM>-day forecast, and so on. Hourly temperatures, solar information (e.g., cloudy, sunny), humidity levels, precipitation estimations, and so forth may be included in the forecasted weather information.

One example is depicted below in Table <NUM>, which shows local-weather forecast data <NUM> for a <NUM>-day period and corresponding hourly minimum ambient temperatures. In particular, Table <NUM> shows an approximate <NUM>-hour window of time (out of a <NUM>-hour period) for each of the next <NUM> days where the hourly ambient temperature for the electronic device <NUM> is at a minimum. The <NUM>-hour window of time is used as an example amount of time to fully charge the battery <NUM> of the electronic device <NUM>.

In the example shown in Table <NUM>, the lowest temperatures are generally between 3AM and 6AM. The majority of the days in this forecast are predicted to have an ambient temperature of approximately <NUM>. For example, Friday's hourly minimum-ambient temperatures are forecasted to be <NUM> °F at 3AM, <NUM> °F at 4AM, and <NUM> °F at 5AM, resulting in an average ambient temperature of <NUM> °F (<NUM>) for the <NUM>-hour time period of approximately <NUM>-6AM.

At <NUM>, the electronic device <NUM> determines a time period when the battery temperature is estimated to be less than a second temperature threshold T2. The second temperature threshold T2 may be the same as, or different from, the first temperature threshold T1. In an example, the second temperature threshold T2 is approximately three degrees below the first temperature threshold T1 to account for a tolerance or margin of error of the temperature sensors (e.g., thermistors) measuring the temperature of the battery <NUM>.

To predict future battery temperatures <NUM> for the future time periods <NUM> having the minimum-ambient temperatures (e.g., minimum average ambient temperatures), the charge-time predictor <NUM> uses the future ambient temperatures <NUM> in combination with battery-temperature data derived under various circumstances and device-performance throttling modes. The battery-temperature data may be included in a lookup table defining battery temperatures that generally occur under one or more ambient temperatures (e.g., <NUM>, <NUM>, <NUM>), solar conditions (e.g., direct sunlight), housing color (e.g., darker colors tend to absorb more solar heat than lighter colors), device-performance levels affecting the amount of heat dissipation of the processor(s) <NUM>, and so on. In another example, the battery-temperature data may be determined using machine learning.

The charge-time predictor <NUM> uses battery-temperature data to predict or estimate the future battery temperatures <NUM> for the future time periods <NUM>, which have minimum future ambient temperatures <NUM>, according to different device-performance throttling modes <NUM>. An example is depicted in Table <NUM> below.

In the example shown in Table <NUM>, the average ambient temperature for the <NUM>-hour time period with the minimum ambient temperatures during each day of the <NUM>-day forecast from Table <NUM> is combined with battery-temperature data at different device-performance throttling modes to estimate the battery temperature achievable during those time periods. For example, because the average ambient temperature for the time period of <NUM>-6AM on Thursday is forecasted to be <NUM>, the battery temperature using the mild-throttling mode <NUM> is estimated to be <NUM>, the battery temperature using the medium throttling mode <NUM> is estimated to be <NUM>, and the battery temperature using the severe-throttling mode <NUM> is estimated to be <NUM>. The <NUM> during mild throttling indicates that the battery <NUM> is able to discharge but not charge because the battery temperature is less than the maximum discharge temperature (e.g., <NUM>) but greater than the maximum charge temperature (e.g., <NUM>). The battery-manager module <NUM> can determine, however, that with severe throttling on Thursday between <NUM>-6AM, the battery temperature is estimated to be <NUM>, which is less than the second temperature threshold T2 (e.g., <NUM>) and indicates that the battery <NUM> can be charged during that time period.

At <NUM>, the battery-manager module <NUM> determines whether the battery can be charged within the next N days (e.g., if there is at least one future time period of the plurality of future time periods within the next N days in which the estimated future battery temperature is below the second temperature threshold T2). Any suitable value can be used for "N" including, e.g., <NUM>, <NUM>, <NUM>, <NUM>, and so forth. Continuing with the above example, the battery-manager module <NUM> uses the information in Table <NUM> and identifies three days (e.g., Thu, Sat, Sun) within the next <NUM> days, which have a <NUM>-hour time period where the battery <NUM> can be charged if the power state of the electronic device <NUM> is reduced (e.g., using device-performance throttling). Because the battery <NUM> can be charged within the next e.g., three days ("YES" at <NUM>), then at <NUM>, no change to the power state (e.g., device-performance throttling modes) is implemented and the method proceeds to <FIG>.

Suppose the information in Table <NUM> indicates instead that the battery temperature is estimated to not decrease to below the second temperature threshold T2 until Wednesday (e.g., there is no time period in which the estimated future battery temperature is below the second temperature threshold T2 until Wednesday), which is seven days away. This indicates that the ambient temperature is forecasted to be sufficiently high throughout multiple <NUM>-hour windows (even during the night) such that even with a reduced power state (e.g., using device-performance throttling), the battery temperature <NUM> is estimated to be above the maximum charge temperature (e.g., <NUM>). Depending on the current SOC <NUM> of the battery <NUM>, the battery <NUM> may be depleted if it cannot be charged within the next N days. Accordingly, if the battery <NUM> cannot be charged within the next N days (e.g., three days), then at <NUM>, the electronic device <NUM> may, in response, enter a device-performance throttling mode to reduce the amount of power or battery consumption and extend the battery cycle to beyond the N days, where the combined ambient and reduced-power-state temperatures might be sufficiently low to enable the battery temperature to decrease to below the maximum charge temperature and thus enable the battery <NUM> to charge. In an example, the battery-manager module <NUM> causes the processor <NUM> to enter the medium throttling mode <NUM>.

At <NUM>, the battery-manager module <NUM> uses the local-weather forecast data <NUM> and the battery temperature information (e.g., Tables <NUM> and <NUM>) to determine a future time period <NUM> within the next N+M days where the ambient temperature is forecasted to be sufficiently low to enable the battery <NUM> to charge over a future time period <NUM>. The term "M" can be any suitable number, including <NUM>, <NUM>, <NUM>, and so on. In one aspect, N may define a number of days that the battery <NUM> is estimated to last (until depletion) without device-performance throttling. The term N+M may define a total number of days that the battery is estimated to last if device-performance throttling is implemented. The method then proceeds to <FIG>.

At <NUM>, the electronic device <NUM> requests permission, from the user, to enter a severe-throttling mode during the determined time period. For example, the electronic device <NUM> presents a prompt or notification to alert the user that a future time period (e.g., the future time period <NUM>) has been identified for charging the battery <NUM> if severe throttling <NUM> is applied. In this way, device-performance throttling does not affect the user experience without the user's knowledge and permission. Although the severe-throttling mode <NUM> is used in this example, the notification may request permission to enter any one of the device-performance throttling modes during the future time period <NUM>.

At <NUM>, the electronic device <NUM> determines if the user granted permission to implement device-performance throttling during the identified future time period (or immediately). If the user denies the request ("NO" at <NUM>), then at <NUM>, a delay timer is initiated. The delay timer is used to delay when the electronic device <NUM> restarts or repeats the method <NUM> by returning to <NUM> in <FIG>. Expiration of the delay timer at <NUM> may trigger the electronic device <NUM> to restart the method <NUM> at <NUM> to again determine if the battery temperature has exceeded the first temperature threshold T1 (e.g., maximum charge temperature) for charging the battery <NUM>. In an example, the delay timer is set for one day (<NUM> hours). However, the delay timer may be set for any suitable amount of time, including <NUM> hours, <NUM> hours, <NUM> hours, <NUM> hours, and so forth.

Returning to <NUM>, if the electronic device <NUM> receives a user input granting permission to enter severe throttling at the identified future time period ("YES" at <NUM>), then at <NUM>, the electronic device <NUM> applies the severe-throttling mode <NUM> at the beginning of the determined time period (e.g., the identified future time period). In an example, at the beginning of the identified time period, the video-recording doorbell device <NUM>-<NUM> enters a doorbell-only mode, which disables the camera, microphones, Wi-Fi connection, and so on, leaving only the battery-powered doorbell chime functioning. Such severe throttling prevents non-battery functions from dissipating heat that may increase the battery temperature <NUM> and/or prevent the battery temperature <NUM> from decreasing to below the maximum charge temperature. In an example, the electronic device <NUM> applies the corresponding device-performance throttling mode for which permission was granted. If, for example, the user selects and grants permission to enter a throttling mode that is different from the requested throttling mode, then the electronic device <NUM> enters the user-selected throttling mode. In some implementations, the user may select a more-restrictive throttling mode than the requested throttling mode.

At <NUM>, the electronic device <NUM> determines if the battery temperature is less than the second temperature threshold T2. For example, the battery-manager module <NUM> checks the battery temperature <NUM> to ensure that it is below the maximum charge temperature before charging the battery <NUM>. If the battery temperature <NUM> is not less than the second temperature threshold T2 ("NO" at <NUM>), then the battery-manager module <NUM> continues to monitor the battery temperature <NUM>. In some aspects, it may take several seconds or minutes for the battery temperature <NUM> to decrease to acceptable levels for charging the battery <NUM>.

If the battery temperature <NUM> is below the second temperature threshold T2 (or below the first temperature threshold T1) ("YES" at <NUM>), then at <NUM> the battery <NUM> is charged. Any suitable charging technique may be implemented to charge the battery <NUM>, including fast charging, slow charging, or other standard charging.

At <NUM>, the electronic device <NUM> monitors the SOC <NUM> of the battery <NUM> to determine if the battery charging is complete. In an example, the battery-manager module <NUM> determines if the SOC <NUM> of the battery <NUM> is at or greater than an SOC threshold (e.g., X% SOC). In some aspects, to reduce degradation of a Li-ion battery, the X% SOC may be set at <NUM>% SOC. However, the X% SOC may be any suitable value, including <NUM>%, <NUM>%, <NUM>%, <NUM>%, and so on. The battery <NUM> may be considered to be "fully charged" (or the battery charging may be considered "complete") if the SOC <NUM> of the battery <NUM> is at or exceeds the SOC threshold (e.g., X% SOC), though the SOC <NUM> of the battery <NUM> may be less than <NUM>%. If the battery <NUM> is fully charged ("YES" at <NUM>) such that the SOC <NUM> is at or greater than the SOC threshold (e.g., X% SOC), then at <NUM>, the battery charging is ended. For example, the battery-manager module <NUM> ceases the charging of the battery <NUM> when the SOC <NUM> reaches or exceeds the SOC threshold.

Claim 1:
A method performed by an electronic device (<NUM>), the method comprising:
determining that a battery temperature (<NUM>) of a battery (<NUM>) of the electronic device (<NUM>) has exceeded a first temperature threshold;
in response to the battery temperature (<NUM>) exceeding the first temperature threshold, determining whether to initiate charging of the battery (<NUM>) based on a first state-of-charge threshold;
responsive to a determination that the state-of-charge of the battery (<NUM>) is below the first state-of-charge threshold, obtaining local-weather-forecast data (<NUM>) from a weather source over a network (<NUM>) based on a geographic location of the electronic device (<NUM>);
estimating future battery temperatures (<NUM>) for each of a plurality of future time periods (<NUM>) based on the local-weather-forecast data (<NUM>) combined with battery-temperature data associated with a plurality of device-performance throttling modes (<NUM>) for the electronic device (<NUM>); and
identifying whether one or more future time periods of the plurality of future time periods (<NUM>) exists within a next N number of days in which the estimated future battery temperature (<NUM>) is below a second temperature threshold to enable the battery (<NUM>) to be charged.