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