Download Updating control software on a network
Transcript
US008594850B1 (12) United States Patent Gourlay et a]. (54) (10) Patent N0.: US 8,594,850 B1 (45) Date of Patent: UPDATING CONTROL SOFTWARE ON A (56) Nov. 26, 2013 References Cited NETWORK-CONNECTED HVAC CONTROLLER U.S. PATENT DOCUMENTS (71) Applicant: Nest Labs, Inc., Palo Alto, CA (US) 2 ggggzzlhéteifl' (72) Inventors: Alastair Robert Gourlay, Boulder Creek, CA (US); David A. Bourne, San (Continued) Francisco’ CA (Us); Grant M_ FOREIGN PATENT DOCUMENTS Erickson, Sunnyvale, CA (US); Richard David J. Schultz, S100,Mountain Menlo Park, View, CACA (US); (US); . Jonathan Solnit, San Jose, CA (US) (Commued) OTHER PUBLICATIONS (73) Assignee: Nest Labs, Inc., Palo Alto, CA (US) Aprilaire Electronic Thermostats Model 8355 User’s Manual, (*) Notice: Subject to any disclaimer, the term of this Research Products Corporation, 2000, 16 pages. patent is extended or adjusted under 35 _ U.S.C. 154(1)) by 0 days. p10‘Z (Commued) Primary Examiner i Ramesh Patel (74) Attorney, Agent, or Firm * Kilpatrick Townsend & (22) Filed: Sep. 30, 2012 Stockton LLP (51) Int. Cl. G01M1/38 (2006-01) (57) ABSTRACT Apparatus, systems, methods, and computer program prod G05B 13/00 G05B 15/00 (2006-01) (2006-01) ucts are disclosed for providing software updates to client devices. A client device (such as a thermostat) executes soft G05B 23/00 (2006-01) ware to perform one or more functionalities of the device. (2006-01) (2006-01) (2006-01) Upon receiving an indicating that a software update is avail able, the device waits to download the software update until pre-download conditions are satis?ed. Once the software update is downloaded, the device then waits to install the G06F 9/44 B60H 1/00 F223 3/00 (52) U-s- Cl- (58) USPC ~~~~~~~~~ -~ 700/276; 700/ 277; 700/278; 700/ 299; software update until pre-install conditions are satis?ed. If the 700/300; 236/1 B; 236/1 E; 236/3; 236/ 101 C; 717/168; 717/171; 717/173; 717/174; 707/638; 707/695; 165/111; 165/112; 165/203; 165/270 Field of Classi?cation Search software update is non-critical and received during an initial installation of the device, the software update may not be installed until after installation of the device is complete. If the device is a thermostat, the device may delay installation of USPC ..... .. 700/276i278, 299*300; 236/1 B, 1 E, 3, the software update until a controlled HVAC system in inac tive. Control of the HVAC system may be disabled during 236/101 C; 165/11.1*11.2, 200, 203, 270; 717/122, 168, 17(L174, 177*178; 707/638, 695, 806; 715/229 See application ?le for complete search history. installation of the software update. 30 Claims, 15 Drawing Sheets 258 [200 250 252 US 8,594,850 B1 Page 2 (56) References Cited 2009/0143880 A1 2009/0194601 2009/0261174 2010/0114382 2010/0131112 2010/0163633 2010/0163635 2010/0168924 2010/0298985 2011/0001812 U_S_ PATENT DQCUMENTS 5,161,606 5,224,648 5,452,762 5,467,921 5,950,709 6 102 749 A A A A A A 11/1992 7/1993 9/1995 11/1995 9/1999 8/2000 Berkeley et a1‘ Simon et a1‘ Zillner Shreeve et a1‘ Krueger et a1‘ Lynn et a1‘ A1 A1 A1 A1 A1 A1 A1 A1 A1 634533687 B2 9000; Sharood et a1‘ 2011/0151837 A1 6,513,723 B1 2/2003 Mueller et a1‘ 2012/0233478 A1* 6,519,509 B1 2/2003 Nierlich et a1‘ 2012/0248211 A1 6,619,055 B1 9/2003 Addy 6,798,341 B1 9/2004 Eckel et al. 6,851,621 B1* 2/2005 6,851,967 B2 6,891,838 B1 6,909,921 B1 2/2005 Miyoshi et al. 5/2005 Petite et a1. 6/2005 Bilger 6,963,285 B2 * 11/2005 Fischer et a1. .............. .. 340/635 7,055,759 B2 * 6/2006 Wacker et al. ................ .. 236/51 7,222,800 B2 * 8/2006 11/2006 1/2007 1/2007 2/2007 5/2007 6/2011 Winbush, 111 9/2012 Mucignat et al. ........... .. 713/320 10/2012 Warren et al. JP SI WO 9-298780 A 20556 A 2005/019740 A1 11/1997 10/2001 3/2005 WO 2007/027554 A2 3/2007 WO 2008/054938 A2 5/2008 Pouchak Chapman, Jr. et al. Rosen Smyth et a1, Amundson et 31~ Bourke, Server Load Balancing, 2001, 182 pages. Braeburn 5300 Installer Guide, Braeburn Systems, LLC, 2009, 10 Wruck .......................... .. 236/51 pages‘ OTHER PUBLICATIONS g?gfzrtsal 734343742 B2 7,460,690 B2 10/2008 Mueller et a1, 12/2008 Cohen et 31 7,469,550 B2 12/2008 7,516,106 B2 * Flohr Butler et al. Ha et al. Amundson et al. Barett et al. Ye Tessier et al. Hess et al. Kang et al. FOREIGN PATENT DOCUMENTS 2/2006 Alles B2 B2 B1 B2 B2 8/2009 10/2009 5/2010 5/2010 7/2010 7/2010 7/2010 11/2010 1/2011 Wacker et al. ................ .. 236/51 6,997,390 B2 7,083,109 7,135,965 7,156,318 7,167,079 7,181,317 6/2009 Amundson et a1. Braeburn Model 5200, Braeburn Systems, LLC, 2011, 11 pages. Ecobee Smart Thermostat Installation Manual, 2011, 20 pages. Ecobee Smart Thermostat User Manual, 2010, 20 pages. Chapman, Jr. et al. - - - 4/2009 Ehlers et a1‘ ““““““““ “ 705/412 Honeywell Installation Guide FocusPRO TH6000 Series, Honeywell 7,537,171 B2 7,562,536 B2 5/2009 Mueller et al‘ 7/2009 Harrod et a1, International, Inc., 2012, 24 pages. Honeywell Operating Manual FocusPRO TH6000 Series, Honeywell 7,565,813 B2 * 7/2009 Pouchak ....................... .. 62/126 International, Inc., 2011, 80 pages. 7,571,865 B2 8/2009 Nlcodem et a1~ 7,634,504 B2 7,702,424 B2 7,703,694 B2 13614976 5 7,748,640 B2 Honeywell Prestige IAQ Product Data, Honeywell International, 12/2009 Amundson 4/2010 Inc., 2012, 126 pages. . . Honeywell Prestige THX9321-9421 Operating Manual, Honeywell International, Inc., 2011, 120 pages. Hunter Internet Thermostat Installation Guide, Hunter Fan Co., 2012, 8 pages, Cannon et al. 4/2010 Mueller et a1‘ 5/201() SkafdI-up et 31, 7/2010 ROher et 31. 7,844,764 B2 11/2010 Williams ggz?glgarlnitgm Installation and Start-Up Instructions Evolution Control, Bryant 8,037,022 B2 8,067,912 B2 8,131,207 B2 100011 Rahman et a1‘ ' 11/2011 Mullin 3/2012 Hwang et al. Heating & Cooling Systems, 2004, 12 pages. LennoX ComfortSense 5000 Owners Guide, LennoX Industries, Inc., 2007, 32 pages. 2003/0231001 A1 2004/0095237 A1 2004/0130454 A1 2004/0193324 A1 2004/ 0238651 A1 12/2003 Bruning - 5/2004 Chen et a1‘ - ligggiofsComfortSense 7000 Owners Guide, LennoX Industries, Inc., 7/2004 Barton ’ 9/2004 Hoog et a1‘ 12/ 2004 Juntunen et al. Pages' _ LennoX iComfort Manual, LennoX Industries, Inc., 2010, 20 pages. RobertShaw Product Manual 9620, Maple Chase Company, 2001, 14 2005/0040247 A1* 2/2005 Zoos/0040249 A1 * 2005/0040250 A1 2/2005 Wacker et a1‘ 2/2005 Wruck Pouchak ................... .. 236/44 C 2005/0159846 A1 7/2005 Van Ostrand et al. Her Corp, 2012, 20 Pages~ 2005/0194456 A1 2007/0045441 A1 2007/0114295 A1 9/2005 Tessier et al. 3/2007 Ashworth et al. 5/2007 Jenklns TB-PAC, TB-PHP, Base Series Programmable Thermostats, Carrier Corp, 2012, 8 pages. Trane Communicating Thermostats for Fan Coil, Trane, 2011, 32 2007/0115902 A1 5/2007 Shamoon et al. pages‘ " 236/51 521321;; 31' 9/2007 Wagner et al. 2007/022g1g3 A1 2008/0015740 A1 2008/0015742 A1 10/2007 Kennedy et a1, 1/2008 Osann, Jr. V2008 Kulyk et a1. 2008/0099568 A1 5/2008 Nicodem et al. Trane Communicating Thermostats for Heat Pump Control, Trane, 2011’ 32 Pages~ _ TCONT600AF11MA Programmable Comfort Control, Installation Instructions, Trane, Mar. 2006, 16 pages. TZONE950AC52ZA ComfortLink 11 Installation Guide, Trane, 2011, 20 pages‘ ¥ililéllrlliteild Zoos/0272934 A1,, 110008 Wang et a1 ' RobertShaw Product Manual 9825i2, Maple Chase Company, 2006, 36 pages‘ SYSTXCCUIZOl-V In?nity Control Installation Instructions, Car gggrszd 2007/0221741 A1 pages, Venstar T2900 Manual, Venstar, Inc., 2008, 113 pages. 340/870 11 VisionPRO TH8000 Series Installation Guide, Honeywell Interna 2009/0057425 A1 2009/0140056 A1 3/2009 Sullivan et al. 6/2009 Leen “9113141191012, IZPagfeS' _ VisionPRO TH8000 Series Operating Manual, Honeywell Interna 2009/0140064 A1 2009/0140065 A1 2009/0143879 A1 6/2009 Schultz et a1. 6/2009 Juntunen et al. 6/2009 Amundson et al. tional, Inc, 2012, 96 Pages VisionPRO Wi-Fi Programmable Thermostat, Honeywell Interna tional, Inc, Operating Manual, 2012, 48 pages. US 8,594,850 B1 Page 3 (56) References Cited OTHER PUBLICATIONS White et al., A Conceptual Model for Simulation Load Balancing, Proc. 1998 Spring Simulation Interoperability Workshop, 1998, 7 TP-PAC, TP-PHP, TP-NAC, TP-NHP Performance Series AC/HP Thermostat Installation Instructions, Carrier Corp, Sep. 2007, 56 pages. Trane XL950 Installation Guide, Trane, Mar. 2011, 20 pages. Venstar T5800 Manual, Venstar, Inc., Sep. 2011, 63 pages. White Rodgers (Emerson) Model lF8l-26l Installation and Operat pages. ing Instructions, White Rodgers, Apr. 2010, 8 pages. Bryant, SYSTXBBUIDOI Evolution Control Installation Instruc tions, Feb. 2004, 12 pages. LuX PSPU732T Manual, Lux Products Corporation, Jan. 2009, 48 White Rodgers (Emerson) Model IF98EZ-l62l HomeoWner’s User Guide, White Rodgers, Jan. 2012, 28 pages. pages. * cited by examiner US. Patent Nov. 26, 2013 Sheet 1 0f 15 US 8,594,850 B1 1. ¢¢ ~ ~ nu‘ v n v<1‘ 4|“ C;0 HM 'N. 0 UH Tar.v@HSRa1. ua -- a:|. w 31 W m MN '0 l‘ 0““'" m.r| _m a -p 2|\\_ m3 mm .PM.D naE-PU.u.KTFC.F-AL-.1 . NW E, FTPE_" ". u n HA 1O cm Hm.EU. :K.AGI.. mm_" -~l"u.. n u F -_ c .e- -L, 4.. C n . _ _ - A-.I4L! O HM»Am”. L 4!.I Q INTELLIGENCE COMPONENTS \ BA TTERY US. Patent Nov. 26, 2013 Sheet 2 0f 15 US 8,594,850 B1 109 134 122 “132 11 ll / 124 H (J ms ‘125 HW HJF—I“WlH "ESQ 136 12G US. Patent Nov. 26, 2013 Sheet 3 0f 15 US 8,594,850 B1 mam www /.\m/iwm Mp63% 35 E@Em MUZEAQ‘ mmm mmw F {2g0i. mwm US. Patent Nov. 26, 2013 Sheet 4 0f 15 US 8,594,850 B1 S Gi G A5CU k5 G3 m. E“"nR IAI1.!) B N Q WSWWHT 04.4.5 \ w \ w My my“ 23 2 3% “s RM» A AJhIvOn51mrPSfwtah0?ELuP.EWRWF RE.13 ?g Wm “Puma AC OmE.Il V.D VCm! U I!01m % E.w,7 W MU 0W R T “W EEl: Wm?r! NS“NEJ _.H m E, Cs, E MM “.R k T 7. W m \ GD00 \V D E Vm E S wmES 3T.co T 32O5 3 2 n1.... 4 US. Patent Nov. 26, 2013 Sheet 5 0f 15 US 8,594,850 B1 EX; EX'F'RINSIC INFGRMAT'ION » WEA THER FORECAST 56.91., FROM .'i\’TERi\!ET) ‘f -- PRICES ‘ NEIGHBORHQOD/HOME UVFQRMA TIUN PROCESSiNG PARADIGMS A ,- ( W EX.‘ A/WJA SERVICES; GED “ RFS‘;JéN’SC I \A'EOQ AQVERTJSWG/ commummnom PRUGES$ING 306 < 5 ENGINE 419-“) 300mg \ 419s CHALLENGES! RULES,’ COMPLIANCE! REWARDS \ g 41 Gd 1k 404 ‘V ‘ “ k ‘V “ “ ‘ a [)5 as as as D5 as DC DC 35 0c sc- \ o _ 0 “ f 408 [)5 $5 ac: so \ 492 f k 03 : DATA SOURCE ‘c: k‘ J Y ‘ gq : I 406 DEW??? x5" I SC = SERVICE CONSUMER’ ' w LIGHTS, HVAC, WATER CONTROLLERS/SENSORS -— HOME APPLIANCES SM CEKé'E/i: O/HAZA R9 SEN 30R 5114 LA RM S US. Patent Nov. 26, 2013 Sheet 6 0f 15 US 8,594,850 B1 S TGRAGE EiEMENT i215 SYNCHROMZA TJ'ON SERVER ‘3 14A 3 YNCHROi‘J/ZA TIGN SERVER 5145! REGISTRA TIDN SERVER 572 8 OF TWARE UPDA TE SERVER 518 530 CLIENT DEVICE 5P0 US. Patent Nov. 26, 2013 Sheet 7 0f 15 US 8,594,850 B1 [ 50f) CHEN T DEWCE REGISTRATION SEER VER CONTACT REGJSTRA TIGN SERVER INFO INDICA TING APPRGPRIA TE SW 4 ______ _ l’iRéig-??______ _ _ CRITYCAL/NGI‘J-CRIT/CAL UPDATE 4 _____ _ LNLJ’EAJ ______ _ _ REQUES T FOR SOFTWARE EJ'PDA TE w SOFTWARE SE}? VER UPDA US. Patent Nov. 26, 2013 Sheet 9 0f 15 US 8,594,850 B1 _ _ MW 7, 7. 7 D Ar. M .M wT n a7 ECAS On?"KT.N WPOVUB0mmTQM%M EURWEM.A migm“\I E\L. 7w E US. Patent I I I I | Nov. 26, 2013 l | l | ' N DEL/{CE AWAKE? I l I l l I I | I I US 8,594,850 B1 718A I l Sheet 10 0f 15 Y WAiT /L 7189 17180 SUFFICIENT BATTERY QJ-{ARGi-E? I | | | | N I | I Y mm /L 718,: : l l 7185 l I I : CGNNECTED TO BAQKPLAIE? N | | I : Y WAIT g 4 718+; DiSPLAYACTH/E? . Y | | I I | | I N WAIT I | | I I I I | | ? : l | /L W8‘, | l 7181 Y H VAC A C TI‘VE? l ' | | | | US. Patent Nov. 26, 2013 Sheet 11 0f 15 DESABLE HVAC CONTROL US 8,594,850 B1 /L 720A J, COPY SOFTWARE UPDATE TG $ECONDAF€Y PAR'I'I'HGN V R5800 7' DEVJCE FHC'M SECONDARY PARTITlON REBOOT 5110053311111? _ _§\ " 20E (30W SOFTVWWE UPDATE m PRIMARY PARTITION l _ _5\ I’ZQF REBOOT DEVICE mom PRIMARY PARTiTiON J, .7206 -5\ ENABLE HVAC CONTRQL /L 7205 L » I/ZOC -~ - ERROR /L . 72011 US. Patent Nov. 26, 2013 Sheet 12 0f 15 US 8,594,850 B1 [- 5300 DOWNLOAD UPDA TE TO i-a‘EAD UNFT i 962 Y INSTALL UPDATE TO HEAD UNIT Q $64 ‘Y’ <—— WAIT ’L 908 HEAD UNIT CGNI‘JECTED TO BA CK PLATE? BA CK FLA TE :“ EEC) UPDA TE? INS TALL SOFTWARE UPDA TE TO BA CK FLA TE {DO NOT INSTALL SOFTV‘MRE UPDA T5 T0 BA CK PLA TE L 5314 US. Patent Nov. 26, 2013 Sheet 13 0f 15 US 8,594,850 B1 910 DETERMINE SOFTWARE VERSI‘ON 4- WOA OF BA CK FLA TE SOFTMMRE VERSION AS EXPECTED? BA CK PLA'F'E' DOES N5)? NEED [kDi,@a. m m C K pMC NEmu .!Lmm 1F V G. .» m C 9 1 OD US. Patent Nov. 26, 2013 US 8,594,850 B1 Sheet 14 0f 15 [- I000 RECEIVE DEVICE ID DETERMTAIE APPRQPRI'ATE SOFTWARE VERSION 1 1-002 1 1904 v DETERMINE SOFTWARE UPDATE 1 SERVER ID 1006 Y SEND APPROPRIATE SOFTWARE VERSION ,L _ 1008 v SEND DRDA TE sER vER ID 1 1 01 G Y DETERI’VIINE WHETHER UPDA TE IS ,L DRITIDAL 1012 v SEN!) INDICATION/41S TD WHETHER ,L _ UPDA TE IS CRITICAL "i014 US. Patent Nov. 26, 2013 Sheet 15 0f 15 US 8,594,850 B1 m : f we: “a: m2; 3:\ mohz l. L _20%? |_.m| m> H N> U _ l w_wmugqwm um wZQ“E$D2.MvQ9w@u?Emwiém $w“:02G_; m w _ m: 1. 5 mm. N V3 w US 8,594,850 B1 1 2 UPDATING CONTROL SOFTWARE ON A NETWORK-CONNECTED HVAC CONTROLLER have relatively loW poWer capacity and limited access to poWer sources. By Way of example and not by Way of limi tation, thermostats provided in structured environments may have limited amounts of poWer capacity (e. g., a rechargeable lithium-ion battery) that is replenished using poWer stealing FIELD techniques that ‘steal’ or otherWise acquire poWer from HVAC systems Which the thermostats are coupled to control. This patent speci?cation relates to systems, methods, and related computer program products for performing softWare updates. More particularly, this patent speci?cation relates to poWer stores as it is consumed by the thermostat, in some techniques for performing user-friendly softWare updates in potentially poWer-limited network-connected electronic user experience, consume poWer at a higher rate than that devices. replenished. Further, in the particular example of thermostats While these poWer stealing may advantageously replenish cases thermostats may, to provide superior functionality and installed in structured environments, a user typically cannot obviate the poWer limitations by simply ‘plugging in’ the BACKGROUND device to a poWer source. Updating softWare on electronic devices may spread the spectrum of complexity from a trivial to daunting. At one end Many, if not most, electronic devices in use today have installed thereon some type of software for facilitating opera tion of the electronic device. Such softWare may include operating systems, such as the WindoWs operating system by Microsoft Corp. of Redmond, Wash. Such softWare typically of the spectrum, a softWare update may comprise almost super?cial changes to a single softWare application or process 20 executing or executable on the electronic device. At the other also includes application softWare that executes over the oper end of the spectrum, a softWare update may comprise replace ating system and provides additional device functionality, ment of an entire operating system of the electronic device. Regardless of the situation, hoWever, common elements to a such as the Of?ce softWare also by Microsoft Corp. Incre mental changes to such softWare (the operation system and/or application softWare) are often made by the softWare devel 25 opers to provide improvements, address de?ciencies, or for other reasons. These changes are commonly propagated to Techniques for reliably doWnloading and installing soft Ware updates in poWer limited environments are described the user of the softWare over Wired or Wireless netWorks so that the user may revise their softWare With the latest softWare upgrades provided by the developers. 30 herein. In one particular embodiment, an intelligent netWork connected thermostat for controlling the operation of an HVAC system in a smart home environment is disclosed. Thermostat includes a communications component for com municating With at least one server that is located remotely While certain mechanisms for updating softWare on an electronic device are currently available, substantial disad vantages can arise for certain knoWn methods in that they tend to be a one-siZe-?ts-all approach that does not take into account the nature of the device that is being updated in terms reliable update process exist, including the electronic device doWnloading or otherWise acquiring the softWare update, and installing the softWare update. from the thermostat, HVAC control circuitry operable to actu 35 ate one or more elements of the HVAC system, a storage of the problems, pitfalls, inconveniences, and even dangers element for storing computer softWare operable to control that can arise for that particular type of device. For example, many such knoWn softWare updating mechanisms are typi processor is operable to perform a variety of operations. For one or more functions of the thermostat, and a processor. The cally implemented in environments Whereby the electronic device is either constantly connected to a reliable poWer source (e.g., a desktop computer connected to an AC poWer source) or may easily be connected to a reliable poWer source via minimal user interaction (e. g., a user may plug a portable 40 electronic device such as a smartphone into an AC poWer source). Modern day techniques, hoWever, have yet to con sider much less address environments Whereby the electronic 45 the criticality indicator, Whether the softWare update is criti cal, and delay installation of the softWare update When it is device has limited access to poWer and users may be signi? cantly hindered in providing reliable access to poWer. Even though electronic devices may exist in such environments, like their poWer-satis?ed cousins such devices may similarly derive various bene?ts from reliably receiving and installing 50 softWare updates. While one or more of the embodiments described hereinbeloW have been found to be particularly advantageous in the context of a network-connected thermo stat designed to control an HVAC system, it is to be appreci ated that the scope of the present teachings is not so limited, example, the processor may be operable to receive a critical ity indicator indicating Whether a softWare update to the com puter softWare stored in the storage element is critical or not, doWnload the softWare update from a softWare update server via the communications component, determine Whether the softWare update Was doWnloaded during an initial installation of the thermostat in a physical structure, determine, based on determined that the softWare update is not critical and the softWare update Was doWnloaded during the initial installa tion of the thermostat in the physical structure. In another particular embodiment, a thermostat includes a communications component for communicating With at least one server that is located remotely from the thermostat, HVAC control circuitry operable to actuate one or more ele 55 ments of the HVAC system, a storage element for storing computer softWare operable to control one or more functions and can advantageously be applied across a broad array of of the thermostat, and a processor operable to perform a smart-home devices in Which one or more similar issues may variety of operations. For example, the processor may be be faced. 60 SUMMARY operable to doWnload a softWare update to the computer softWare stored in the storage element from a softWare update server via the communications component, determine Whether the HVAC control circuitry has actuated one or more Various techniques for providing softWare updates are dis closed herein. While such techniques may be implemented in various electronic devices across a variety of computing envi ronments, some techniques may be particularly Well-suited for environments Where one or more of the electronic devices elements of the HVAC system to be in an active state, and When it is determined that one or more elements of the HVAC 65 system are in an active state, delay installation of the softWare update until the one or more elements of the HVAC system are in an inactive state. US 8,594,850 B1 3 4 In yet another particular embodiment, a thermostat includes a communications component for communicating FIG. 11 is a block diagram of a special-purpose computer system according to an embodiment. with at least one server that is located remotely from the thermostat, HVAC control circuitry operable to actuate one or more elements of the HVAC system, a storage element for storing computer software operable to control one or more functions of the thermostat, and a processor operable to per DETAILED DESCRIPTION As described further herein, one or more intelligent, multi sensing, network-connected devices can be used to promote user comfort, convenience, safety and/or cost savings. FIG. 1A illustrates an example of general device components form a variety of operations. For example, the processor may be operable to download a software update to the computer software stored in the storage element from a software update server via the communications component, disable control of which can be included in an intelligent, network-connected device 100 (i.e., “device”). Each of one, more or all devices 100 within a system of devices can include one or more one or more elements of the HVAC system, install the soft ware update, and enable control of one or more elements of sensors 102, a user-interface component 104, a power supply the HVAC system after installing the software update. a communications component 110, a modularity unit (e.g., (e.g., including a power connection 106 and/or battery 108), For a more complete understanding of the nature and including a docking station 112 and replaceable module 114) advantages of embodiments of the present invention, refer and intelligence components 116. Particular sensors 102, ence should be made to the ensuing detailed description and user-interface components 104, power-supply con?gura tions, communications components 110, modularity units accompanying drawings. Other aspects, objects and advan tages of the invention will be apparent from the drawings and detailed description that follows. However, the scope of the invention will be fully apparent from the recitations of the 20 and/or intelligence components 116 can be the same or simi lar across devices 100 or can vary depending on device type or model. By way of example and not by way of limitation, one or claims. more sensors 102 in a device 100 may be able to, e.g., detect BRIEF DESCRIPTION OF THE DRAWINGS 25 FIG. 1A illustrates an example of general device compo nents which can be included in an intelligent, network-con nected device. FIG. 1B illustrates an intelligent, network-connected device having a replaceable module and a docking station according to some embodiments. FIG. 2 illustrates an example of a smart home environment within which one or more of the devices, methods, systems, services, and/or computer program products described fur 30 mental sensor(s), accelerometer(s), microphone(s), optical sensors up to and including camera(s) (e. g., charged-coupled device or video cameras), active or passive radiation sensors, 35 FIG. 3 illustrates a network-level view of an extensible 40 updating software on a client device according to an embodi for energy-ef?ciency objectives or smart-operation objec FIG. 6 illustrates a communication sequence of a process unaware of an existence of a secondary sensor. One or more user-interface components 104 in device 100 may be con?gured to present information to a user via a visual ment. FIG. 7 is a ?owchart of a process for a client device to 50 ment. FIG. 8B is a ?owchart of a process for a client device to 55 FIG. 8C is a ?owchart of a process for a client device to ring (e.g., to adjust a setting) and/or by clicking the ring FIG. 9A is a ?owchart of a process for a client device to according to an embodiment. FIG. 9B is a ?owchart of a process for a client device to determine whether a back plate needs an update according to an embodiment. touchscreen, buttons, scroll component (e.g., a movable or virtual ring component), microphone or camera (e.g., to detect gestures). In one embodiment, user-input component 104 includes a click-and-rotate annular ring component, wherein a user can interact with the component by rotating the install a software update according to an embodiment. perform software updating of head units and back plates display (e.g., a thin-?lm-transistor display or organic light emitting-diode display) and/or an audio speaker. User-inter face component 104 can also include one or more user-input components to receive information from a user, such as a FIG. 8A is a ?owchart of a process for a client device to satisfy pre-download conditions according to an embodi satisfy pre-install conditions according to an embodiment. While FIG. 1 illustrates an embodiment with a single sensor, many embodiments will include multiple sensors. In some instances, device 100 includes one or more primary sensors and one or more secondary sensors. The primary sensor(s) can sense data central to the core operation of the device (e. g., sensing a temperature in a thermostat or sensing smoke in a 45 tives. In some instances, an average user may even be for performing software updates according to an embodi perform software updating according to an embodiment. GPS receiver(s) or radio-frequency identi?cation detector(s). smoke detector). The secondary sensor(s) can sense other types of data (e. g., motion, light or sound), which can be used FIG. 5 depicts a system that implements techniques for ment. quency (RF) or other electromagnetic signals or ?elds. Thus, for example, sensors 102 can include temperature sensor(s), humidity sensor(s), haZard-related sensor(s) or other environ ther herein can be applicable. devices and services platform with which a smart home envi ronment can be integrated. FIG. 4 illustrates an abstracted functional view of the extensible devices and services platform of FIG. 3. acceleration, temperature, humidity, water, supplied power, proximity, external motion, device motion, sound signals, ultrasound signals, light signals, ?re, smoke, carbon monox ide, global-positioning-satellite (GPS) signals, or radio-fre inwards (e.g., to select an adjusted setting or to select an 60 option). In another embodiment, user-input component 104 includes a camera, such that gestures can be detected (e.g., to indicate that a power or alarm state of a device is to be changed). A power-supply component in device 100 may include a FIG. 10 is a ?owchart of a process for a remote server (e.g., 65 power connection 106 and/or local battery 108. For example, a registration server 512) to perform software updating power connection 106 can connect device 100 to a power according to an embodiment. source such as a line voltage source. In some instances, con