This patent specification relates to systems, methods, and related computer program products for the monitoring and control of energy-consuming systems or other resource-consuming systems. More particularly, this patent specification relates to rotational input devices and user interfaces for control units that govern the operation of energy-consuming systems, household devices, or other resource-consuming systems, including user interfaces for thermostats that govern the operation of heating, ventilation, and air conditioning (HVAC) systems.
While substantial effort and attention continues toward the development of newer and more sustainable energy supplies, the conservation of energy by increased energy efficiency remains crucial to the world's energy future. According to an October 2010 report from the U.S. Department of Energy, heating and cooling account for 56% of the energy use in a typical U.S. home, making it the largest energy expense for most homes. Along with improvements in the physical plant associated with home heating and cooling (e.g., improved insulation, higher efficiency furnaces), substantial increases in energy efficiency can be achieved by better control and regulation of home heating and cooling equipment. By activating heating, ventilation, and air conditioning (HVAC) equipment for judiciously selected time intervals and carefully chosen operating levels, substantial energy can be saved while at the same time keeping the living space suitably comfortable for its occupants.
Historically, however, most known HVAC thermostatic control systems have tended to fall into one of two opposing categories, neither of which is believed be optimal in most practical home environments. In a first category are many simple, non-programmable home thermostats, each typically consisting of a single mechanical or electrical dial for setting a desired temperature and a single HEAT-FAN-OFF-AC switch. While being easy to use for even the most unsophisticated occupant, any energy-saving control activity, such as adjusting the nighttime temperature or turning off all heating/cooling just before departing the home, must be performed manually by the user. As such, substantial energy-saving opportunities are often missed for all but the most vigilant users. Moreover, more advanced energy-saving capabilities are not provided, such as the ability for the thermostat to be programmed for less energy-intensive temperature setpoints (“setback temperatures”) during planned intervals of non-occupancy, and for more comfortable temperature setpoints during planned intervals of occupancy.
In a second category, on the other hand, are many programmable thermostats, which have become more prevalent in recent years in view of Energy Star (US) and TCO (Europe) standards, and which have progressed considerably in the number of different settings for an HVAC system that can be individually manipulated. Unfortunately, however, users are often intimidated by a dizzying array of switches and controls laid out in various configurations on the face of the thermostat or behind a panel door on the thermostat, and seldom adjust the manufacturer defaults to optimize their own energy usage. Thus, even though the installed programmable thermostats in a large number of homes are technologically capable of operating the HVAC equipment with energy-saving profiles, it is often the case that only the one-size-fits-all manufacturer default profiles are ever implemented in a large number of homes. Indeed, in an unfortunately large number of cases, a home user may permanently operate the unit in a “temporary” or “hold” mode, manually manipulating the displayed set temperature as if the unit were a simple, non-programmable thermostat.
Proposals have been made for so-called self-programming thermostats, including a proposal for establishing learned setpoints based on patterns of recent manual user setpoint entries as discussed in US20080191045A1, and including a proposal for automatic computation of a setback schedule based on sensed occupancy patterns in the home as discussed in G. Gao and K. Whitehouse, “The Self-Programming Thermostat: Optimizing Setback Schedules Based on Home Occupancy Patterns,” Proceedings of the First ACM Workshop on Embedded Sensing Systems for Energy-Efficiency in Buildings, pp. 67-72, Association for Computing Machinery (November 2009). It has been found, however, that crucial and substantial issues arise when it comes to the practical integration of self-programming behaviors into mainstream residential and/or business use, issues that appear unaddressed and unresolved in such self-programming thermostat proposals. By way of example, just as there are many users who are intimidated by dizzying arrays of controls on user-programmable thermostats, there are also many users who would be equally uncomfortable with a thermostat that fails to give the user a sense of control and self-determination over their own comfort, or that otherwise fails to give confidence to the user that their wishes are indeed being properly accepted and carried out at the proper times. At a more general level, because of the fact that human beings must inevitably be involved, there is a tension that arises between (i) the amount of energy-saving sophistication that can be offered by an HVAC control system, and (ii) the extent to which that energy-saving sophistication can be put to practical, everyday use in a large number of homes. Similar issues arise in the context of multi-unit apartment buildings, hotels, retail stores, office buildings, industrial buildings, and more generally any living space or work space having one or more HVAC systems. It has been found that the user interface of a thermostat, which so often seems to be an afterthought in known commercially available products, represents a crucial link in the successful integration of self-programming thermostats into widespread residential and business use, and that even subtle visual and tactile cues can make an large difference in whether those efforts are successful.
Thus, it would be desirable to provide a thermostat having an improved user interface that is simple, intuitive, elegant, and easy to use such that the typical user is able to access many of the energy-saving and comfort-maintaining features, while at the same time not being overwhelmed by the choices presented.
Provided according to one or more embodiments is method of processing rotational inputs to a control device having a an electronic display and user interface, such as a programmable thermostat, that controls the operation of one or more energy-consuming systems, household devices, or other resource-consuming systems, such as a heating, ventilation, and air conditioning (HVAC) system. Further provided are systems, methods, computer program products, and related business methods associated with the user interface and programmable device. For some embodiments, the programmable device is configured to carry out a method for interacting with a user thereof, the method includes displaying on the electronic display associated with the control device at least a portion of an initial display element selected from a sequence of display elements. In response to seeing such information, the user applies a rotational input applied to a rotational input device, such as a rotatable ring around the electronic display. A variable assist scroll engine receives this information and determines an angular movement as provided by the user through the rotational input device. In order to reduce the rotational input required by the user, the variable assist scroll engine applies one or more heuristics to variably assist with a scrolling movement of a sequence of display elements on the electronic display. Some embodiments may accelerate the scrolling of certain display elements on a display screen as a user operates a rotational input device. As a result, the variable assist scroll engine may reduce the rotational user input required to traverse an arbitrary number of display elements to as little as a quarter-revolution of the rotational input device in order that a user is better able to operate the control device and use the rotational input when navigating the user interface of a control device.
The inventive body of work will be readily understood by referring to the following detailed description in conjunction with the accompanying drawings, in which:
A detailed description of the inventive body of work is provided below. While several embodiments are described, it should be understood that the inventive body of work is not limited to any one embodiment, but instead encompasses numerous alternatives, modifications, and equivalents. In addition, while numerous specific details are set forth in the following description in order to provide a thorough understanding of the inventive body of work, some embodiments can be practiced without some or all of these details. Moreover, for the purpose of clarity, certain technical material that is known in the related art has not been described in detail in order to avoid unnecessarily obscuring the inventive body of work.
As used herein the term “HVAC” includes systems providing both heating and cooling, heating only, cooling only, as well as systems that provide other occupant comfort and/or conditioning functionality such as humidification, dehumidification and ventilation.
As used herein the terms power “harvesting,” “sharing” and “stealing” when referring to HVAC thermostats all refer to the thermostat are designed to derive power from the power transformer through the equipment load without using a direct or common wire source directly from the transformer.
As used herein the term “residential” when referring to an HVAC system means a type of HVAC system that is suitable to heat, cool and/or otherwise condition the interior of a building that is primarily used as a single family dwelling. An example of a cooling system that would be considered residential would have a cooling capacity of less than about 5 tons of refrigeration (1 ton of refrigeration=12,000 Btu/h).
As used herein the term “light commercial” when referring to an HVAC system means a type of HVAC system that is suitable to heat, cool and/or otherwise condition the interior of a building that is primarily used for commercial purposes, but is of a size and construction that a residential HVAC system is considered suitable. An example of a cooling system that would be considered residential would have a cooling capacity of less than about 5 tons of refrigeration.
As used herein the term “thermostat” means a device or system for regulating parameters such as temperature and/or humidity within at least a part of an enclosure. The term “thermostat” may include a control unit for a heating and/or cooling system or a component part of a heater or air conditioner. As used herein the term “thermostat” can also refer generally to a versatile sensing and control unit (VSCU unit) that is configured and adapted to provide sophisticated, customized, energy-saving HVAC control functionality while at the same time being visually appealing, non-intimidating, elegant to behold, and delightfully easy to use.
Although being formed from a single lens-like piece of material such as polycarbonate, the cover 314 has two different regions or portions including an outer portion 314o and a central portion 314i. According to some embodiments, the cover 314 is painted or smoked around the outer portion 314o, but leaves the central portion 314i visibly clear so as to facilitate viewing of an electronic display 316 disposed thereunderneath. According to some embodiments, the curved cover 314 acts as a lens that tends to magnify the information being displayed in electronic display 316 to users. According to some embodiments the central electronic display 316 is a dot-matrix layout (individually addressable) such that arbitrary shapes can be generated, rather than being a segmented layout. According to some embodiments, a combination of dot-matrix layout and segmented layout is employed. According to some embodiments, central display 316 is a backlit color liquid crystal display (LCD). An example of information displayed on the electronic display 316 is illustrated in
Motion sensing as well as other techniques can be use used in the detection and/or predict of occupancy, as is described further in the commonly assigned U.S. Ser. No. 12/881,430, supra. According to some embodiments, occupancy information is used in generating an effective and efficient scheduled program. Preferably, an active proximity sensor 370A is provided to detect an approaching user by infrared light reflection, and an ambient light sensor 370B is provided to sense visible light. The proximity sensor 370A can be used to detect proximity in the range of about one meter so that the thermostat 300 can initiate “waking up” when the user is approaching the thermostat and prior to the user touching the thermostat. Such use of proximity sensing is useful for enhancing the user experience by being “ready” for interaction as soon as, or very soon after the user is ready to interact with the thermostat. Further, the wake-up-on-proximity functionality also allows for energy savings within the thermostat by “sleeping” when no user interaction is taking place our about to take place. The ambient light sensor 370B can be used for a variety of intelligence-gathering purposes, such as for facilitating confirmation of occupancy when sharp rising or falling edges are detected (because it is likely that there are occupants who are turning the lights on and off), and such as for detecting long term (e.g., 24-hour) patterns of ambient light intensity for confirming and/or automatically establishing the time of day.
According to some embodiments, for the combined purposes of inspiring user confidence and further promoting visual and functional elegance, the thermostat 300 is controlled by only two types of user input, the first being a rotation of the outer ring 312 as shown in
According to some embodiments, the thermostat 300 includes a processing system 360, display driver 364 and a wireless communications system 366. The processing system 360 is adapted to cause the display driver 364 and display area 316 to display information to the user, and to receiver user input via the rotatable ring 312. The processing system 360, according to some embodiments, is capable of carrying out the governance of the operation of thermostat 300 including the user interface features described herein. The processing system 360 is further programmed and configured to carry out other operations as described further hereinbelow and/or in other ones of the commonly assigned incorporated applications. For example, processing system 360 is further programmed and configured to maintain and update a thermodynamic model for the enclosure in which the HVAC system is installed, such as described in U.S. Ser. No. 12/881,463, supra. According to some embodiments, the wireless communications system 366 is used to communicate with devices such as personal computers and/or other thermostats or HVAC system components, which can be peer-to-peer communications, communications through one or more servers located on a private network, or and/or communications through a cloud-based service.
Backplate 440 includes electronics 482 and a temperature/humidity sensor 484 in housing 460, which are ventilated via vents 442. Two or more temperature sensors (not shown) are also located in the head unit 410 and cooperate to acquire reliable and accurate room temperature data. Wire connectors 470 are provided to allow for connection to HVAC system wires. Connection terminal 480 provides electrical connections between the head unit 410 and backplate 440. Backplate electronics 482 also includes power sharing circuitry for sensing and harvesting power available power from the HVAC system circuitry.
Usability of the user interface displayed on thermostat 300 may be positively enhanced when the user's hand position on thermostat 300 remains in a comfortable position throughout all aspects of operating the thermostat 300. In some implementations, the user's hand may initially be comfortably positioned in any one of the circular quadrants 500 (I) through (IV) depending on the user's left or right handedness, height relative to the position of the thermostat, and a variety of other ergonomic factors. Once the user's hand is placed in a comfortable position, the user should be able to navigate most, if not all, aspects of the user interface displayed on thermostat 300 while rotating rotatable ring 312 through one or two but preferably no more three of the circular quadrants 500 (I) through (IV). This navigation is preferably done without the user having to lift and reposition their hand.
As an example, a user's hand 502 in starting position (a) initially begins navigation of a user interface displayed on thermostat 300, as indicated by the approximate position of the forefinger, in circular quadrant (I). The user's hand 502 placed on thermostat 300 may then rotate clockwise approximately a quarter-revolution into intermediary position (b) and towards the lower boundary of circular quadrant (I), which may happen to be a limit on the user's ability to rotate their wrist and hand. With the user's hand remaining engaged to the thermostat 300 in intermediary position (b), the user may peer through the open area between the thumb and forefinger to read information displayed on the user interface, reposition a display element on the display, select a display element with a inward click, or other interactions with the user interface. The user may then turn an equivalent quarter-revolution counter-clockwise from the intermediary position (b) arriving in a final position (c) whereupon the user's hand continues to remain engaged to the thermostat 300 and is ready to further interact with the user interface.
Embodiments of the present invention facilitate keeping the user's hand in a comfortable position and engaged to the thermostat 300 as menus and interactions within the user interface vary in both complexity and number of display elements presented. A variable assist scroll engine for rotational inputs (not shown in
As a brief example,
In some embodiments, variable assist scroll engine 604 receives these linear and/or rotational displacements over time and uses them to determine a scrolling movement for display elements on the electronic display. The scrolling movement may be calculated using linear or angular equations describing speed (change in displacement), velocity (speed in a direction), and acceleration (change in velocity over time with direction). Variable assist scroll engine 604 may modify the degree of acceleration than provided through rotational input device 602 according to the application of information such as tuning parameters for scrolling display elements 612 (also referred to as tuning parameters 612) as well as display elements metadata 610, which are used to describe the shapes and sizes of display elements as they are rendered on the electronic display of the thermostat.
Some of these tuning parameters 612 help the variable assist scroll engine 604 model the scrolling of the display elements as physical objects having a mass and inertia being accelerated and then damped by friction or other opposing forces. Different inertial models used in simulating movement of these display elements may include a flywheel or weighted cylinder spinning around a rod as well as other variations to provide a smooth and attractive appearance of the display elements as they are rendered on the electronic display. For example, if a user enters user rotational inputs 608 in the opposite direction to the movement of the scrolling display, variable assist scroll engine may dampen the scrolling of the display elements based on tuning parameters 612 and the inertial model. In some embodiments, tuning parameters 612 may also be selected to accommodate for different menu types, such as a circular menu and a linear menu either with wrapping and non-wrapping effects, and to achieve an overall effect on the scrolling of the display elements on the electronic display.
In some implementations, these tuning parameters 612 may include an acceleration multiplier, a scroll decay factor, edge bounce decay factor, a center decay factor, and a scroll settle threshold. The acceleration multiplier is used to increase or decrease the amount of acceleration applied to a set of scrolling elements. The value may be set to a higher value if a menu has a larger sequence of display elements and it is desirable to scroll quickly through the sequence. Scroll decay factor helps simulate the effect of friction and determines how the long the elements may scroll before stopping. If the scroll decay is set to a high value, the scrolling movement may decay quickly and stop. In some embodiments, the scrolling may continue even after a user has stopped providing rotational input to the rotational input device 602 due to simulated force and inertia. The edge bounce decay factor is used in a non-wrapping menu when it reaches the terminus element. In some embodiments, the menu will not stop quickly but “bounce” when it reaches the end and oscillate briefly as the energy decays. Accordingly, edge bounce decay determines how quickly the energy in the terminus element in a sequence of display elements will decay when it reaches the end of the menu. The center decay is used to determine how a quickly the decay will occur for a display element once it settles into a position. In some embodiments, a user interface may apply gravity to a display element and cause the display element to settle into simulated notch, groove, or indentation simulated in the user interface. Accordingly, the center decay determines the decay associated with this event and how quickly a display element may settle into position. The scroll settle threshold is a threshold value used to determine when a scrolling of elements has effectively stopped. Once the movement of the scrolling elements falls below this threshold, scrolling of the elements will be stopped. In some embodiments, the scroll settle threshold may vary for different menus depending on the simulated forces, inertia, and friction associated with the scrolling movement of the display elements.
The variable assist scroll engine 604 sends these display elements to render engine 606 to be displayed on the electronic display at a frequency determined by the display device. In some implementations, the frequency of the electronic display device may be every 1/60th of a second or faster depending on the capabilities of the particular device and how it is configured. As this process repeats, the display elements scrolling over the electronic display appear animated, pleasing to the user and easier to navigate in accordance with embodiments of the invention.
Referring to
In some embodiments, memory 710 may include a menu system module 718, variable assist scroll engine 720, display render module 722, HVAC module 724, communications module 726, and a runtime environment 728 for managing these modules and their execution on head unit processor 704. In one embodiment, menu system module 718 may include the menu systems associated with configuring, controlling, and generally interfacing with thermostat 700 through rotatable ring 716. In accordance with some embodiments, variable assist scroll engine 720 processes scrolling display elements used in menu system module 718 to interact more efficiently with rotatable ring 716 as well as display more attractively on the electronic display of the thermostat 700. For example, the variable assist scroll engine 720 may further accelerate the scrolling of display elements from a menu in menu system module 718 and thereby reduce the required amount of rotational input applied to rotatable ring 716. In some embodiments, variable assist scroll engine 720 accelerates the scrolling movement allowing the user to scroll through many display elements in multiple areas of menu system module 718. In each the areas of the menu, the user may scroll through a variable number of display elements without turning rotatable ring 716 more than a quarter-turn. This advantageously makes the thermostat 800 or other control devices with a rotational input easier to use since user's hand can control the thermostat without having to remove and reposition multiple times in the midst of navigating a menu, setting a set point on the thermostat, or performing some other task. The display render module 722 receives the various display elements from variable assist scroll engine 720 and renders them on the electronic display (not shown) of thermostat 800. HVAC module 724 may further be used to gather commands and data from menu system module 718 in consideration of controlling the HVAC system.
In some embodiments, aspects of the present invention may display on the electronic display associated with the control device at least a portion of an initial display element selected from a sequence of display elements. (802) For example, the initial display element may be a symbol or image selected from a sequence of display elements arranged along on a circular menu or may be a symbol or image selected from a sequence of display elements arranged in a series on a linear menu. If the initial display element is larger then it may only be partially displayed on the electronic display while a smaller display element from a sequence of display elements may be fully displayed on the on the electronic display. In some embodiments, the electronic display is centrally mounted on a body of a control device providing for a smaller overall form factor for the device while in alternate embodiments, the display may be mounted offset or adjacent to the body of the control device.
In some embodiments, determining an angular movement is made from a rotational user input applied to a rotational input device associated with the control device. (804) The angular movement may be determined as a measurement of the displacement, velocity, and acceleration of the rotational input device averaged over a time interval. For example, a user may impart a rotational user input with their hand using a rotatable ring around a periphery of the electronic display, such as rotatable ring 300 described and shown supra. in
In some embodiments, one or more heuristics are applied to variably assist with a scrolling movement of the sequence of display elements on the electronic display and reduce the rotational user input necessary to traverse the sequence of display elements. (806) The user may preferably configure one embodiment of the variable assist scroll engine to assist in scrolling through the sequence of display elements using a rotational input of less than a quarter-revolution, a half-revolution, a three-quarter revolution, or set as a measurement of an angular displacement from 0 to 360 degrees. Alternate embodiments of the variable assist scroll engine may set the default rotational input to less than quarter-revolution if the user selects to not customize or change these settings. In providing assistance with the scrolling movement, one embodiment takes into consideration an angular movement associated with the rotational user input and an element distance associated with the sequence of display elements to be displayed on the electronic display. If the angular movement has a larger rotational acceleration component and the element distance is quite long, the engine may increase the assistance with scrolling through the sequence of display elements in one or multiple ways as the user has indicated an imperative to quickly view the sequence of display elements. For example, a user may wish to read a terminus element in a menu having a long list of display elements with text and thus provide a large rotational acceleration to the rotational input device.
In some embodiments, a heuristic to reduce the required rotational user input may cause the engine to increase or decrease the rate of scrolling movement associated with the sequence of display elements compared with a rate of angular movement received from the rotational input device. (808) To perform this function, for example, the engine may increase the acceleration of the scrolling movement to meet both the user's request to view the information quickly and reduce the rotational input required to a predetermined amount, such as a quarter-rotation of the rotational ring 312 in
In some embodiments, a heuristic to reduce the required rotational user input may cause the engine to create an extended scrolling movement that continues to display additional display elements from the sequence of display elements after the initial angular movement associated with the rotational user input has stopped. (810) For example, a rotational user input with acceleration may impart a simulated force and inertia on the sequence of display elements causing the display elements to scroll after the rotational user input has ended. As previously described hereinabove, the movement of the display may be modeled as a physical object having mass, inertia, and decay due to friction or opposing rotational forces. Incorporating this type of “virtual inertia” increases the visual attraction of the interface while simultaneously achieving the goal of reducing the rotational input required to scroll through the display elements in a manner understood and expected in the user's physical world (i.e, inertia and decay). In some embodiments, the extended scrolling movement may be reduced through successive subtraction or division by a scroll decay factor until the scrolling movement falls below a scroll settle threshold and is determined to have stopped.
In some embodiments, a heuristic to reduce the required rotational user input may cause the engine to increase a distance covered by the scrolling movement compared with a distance covered by the angular movement. (812) For example, a user may provide a quarter-revolution on a rotatable ring as and input and cause the corresponding elements to scroll a half-revolution on the electronic display. In some embodiments, the distance travelled by the scrolling elements may be one or several times the distance provided by the user through the rotational input device. This is particularly useful if a user is scrolling through a long sequence of display elements and needs to cover the longer distance quickly.
In some embodiments, a heuristic to reduce the required rotational user input may cause the engine to continue the scrolling movement of the sequence of display elements until at least one has been affirmatively identified on the electronic display. (814) For example, a user's rotational input may cause a sequence of display elements to scroll with a scrolling movement and land in an area between two display elements leaving it not possible to select or identify a specific display element in the context of the user interface. To keep the required rotational user input reduced or minimized, one embodiment simulates a notch, indentation, or groove coincident with each display element under the force of gravity and friction which in turn causes the scrolling movement to settle on a particular display element. In one embodiment, a distance calculation may be used to select one display element over another nearby display element as the scrolling movement of the display elements slows and comes close to falling below the scroll settle threshold.
In some embodiments, the variable assist scroll engine may determine whether a user has applied a subsequent angular movement in an opposite rotational. (816) In some embodiments, the user applies the subsequent rotational input to the rotational input device in an opposite direction to the scrolling movement displayed on the electronic display. (816—Yes) For example, the user may see a display element of interest and desire to quickly slow or potentially stop the scrolling of the display elements. Variable assist scroll engine responds by gradually slowing the scrolling of display elements in proportion to the amount of the subsequent angular movement. (818) In one embodiment, variable assist scroll engine models the subsequent rotational input as an opposing rotational force upon an object thus the user experience is familiar and expected. In addition, this heuristic further reduces the required rotational user input as the variable assist scroll engine allows the user to quickly slow or stop the scrolling movement with a reduced rotational input.
In one embodiment, the circular menu 912 at t2 in
At a subsequent time interval t3, the user is no longer moving rotatable ring 906 and the ring velocity 932 as indicated by velocity graph 930 is negligible or zero. In contrast, circular menu 912 continues to travel at a much more significant display velocity 934 reduced in part by a simulated friction or decay. In this embodiment. variable assist scroll engine has imparted a rotational inertia and decay to circular menu 912 to further reduce the rotational input required by the user. While not displayed in
Referring to
In one embodiment, the circular menu 912 at t2 in
At a subsequent time interval t3 in
Referring to
In one embodiment, the circular menu 912 at t2 in
At a subsequent time interval t3 in
In this example, a rotational displacement 1002 on thermostat 902 at t1 results in circular menu 912 at t2 experiencing a rotational displacement 1008 such that indicator 910 momentarily falls between symbols “u” and “v” making it not possible to determine whether “u” or “v” has been identified in the context of the user interface. To resolve this dilemma, and further reduce or minimize additional required rotational input from the user, one embodiment at t3 in
In one embodiment, the linear menu 1108 at t2 in
At a subsequent time interval t3 in
Referring to
In one embodiment, the linear menu 1108 at t2 in
At a subsequent time interval t3 in
Although the foregoing has been described in some detail for purposes of clarity, it will be apparent that certain changes and modifications may be made without departing from the principles thereof. By way of example, it is within the scope of the present teachings for the rotatable ring of the above-described thermostat to be provided in a “virtual,” “static,” or “solid state” form instead of a mechanical form, whereby the outer periphery of the thermostat body contains a touch-sensitive material similar to that used on touchpad computing displays and smartphone displays. For such embodiments, the manipulation by the user's hand would be a “swipe” across the touch-sensitive material, rather than a literal rotation of a mechanical ring, the user's fingers sliding around the periphery but not actually causing mechanical movement. This form of user input, which could be termed a “virtual ring rotation,” “static ring rotation”, “solid state ring rotation”, or a “rotational swipe”, would otherwise have the same purpose and effect of the above-described mechanical rotations, but would obviate the need for a mechanical ring on the device. Although not believed to be as desirable as a mechanically rotatable ring insofar as there may be a lesser amount of tactile satisfaction on the part of the user, such embodiments may be advantageous for reasons such as reduced fabrication cost. By way of further example, it is within the scope of the present teachings for the inward mechanical pressability or “inward click” functionality of the rotatable ring to be provided in a “virtual” or “solid state” form instead of a mechanical form, whereby an inward pressing effort by the user's hand or fingers is detected using internal solid state sensors (for example, solid state piezoelectric transducers) coupled to the outer body of the thermostat. For such embodiments, the inward pressing by the user's hand or fingers would not cause actual inward movement of the front face of the thermostat as with the above-described embodiments, but would otherwise have the same purpose and effect as the above-described “inward clicks” of the rotatable ring. Optionally, an audible beep or clicking sound can be provided from an internal speaker or other sound transducer, to provide feedback that the user has sufficiently pressed inward on the rotatable ring or virtual/solid state rotatable ring. Although not believed to be as desirable as the previously described embodiments, whose inwardly moving rotatable ring and sheet-metal metal style rebounding mechanical “click” has been found to be particularly satisfying to users, such embodiments may be advantageous for reasons including reduced fabrication cost. It is likewise within the scope of the present teachings for the described thermostat to provide both the ring rotations and inward clicks in “virtual” or “solid state” form, whereby the overall device could be provided in fully solid state form with no moving parts at all.
While examples and implementations have been described, they should not serve to limit any aspect of the present invention. Accordingly, implementations of the invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. Apparatus of the invention can be implemented in a computer program product tangibly embodied in a machine readable storage device for execution by a programmable processor; and method steps of the invention can be performed by a programmable processor executing a program of instructions to perform functions of the invention by operating on input data and generating output. The invention can be implemented advantageously in one or more computer programs that are executable on a programmable system including at least one programmable processor coupled to receive data and instructions from, and to transmit data and instructions to, a data storage system, at least one input device, and at least one output device. Each computer program can be implemented in a high level procedural or object oriented programming language, or in assembly or machine language if desired; and in any case, the language can be a compiled or interpreted language. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, a processor will receive instructions and data from a read only memory and/or a random access memory. Generally, a computer will include one or more mass storage devices for storing data files; such devices include magnetic disks, such as internal hard disks and removable disks; magneto optical disks; and optical disks. Storage devices suitable for tangibly embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, such as EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto optical disks; CD ROM disks and other non-transitory storage mediums. Any of the foregoing can be supplemented by, or incorporated in, ASICs.
By way of further example, although described above as having ring rotations and inward clicks as the exclusive user input modalities, which has been found particularly advantageous in terms of device elegance and simplicity, it is nevertheless within the scope of the present teachings to alternatively provide the described thermostat with an additional button, such as a “back” button. In one option, the “back” button could be provided on the side of the device, such as described in the commonly assigned U.S. Ser. No. 13/033,573, supra. In other embodiments, plural additional buttons, such as a “menu” button and so forth, could be provided on the side of the device. For one embodiment, the actuation of the additional buttons would be fully optional on the part of the user, that is, the device could still be fully controlled using only the ring rotations and inward clicks. However, for users that really want to use the “menu” and “back” buttons because of the habits they may have formed with other computing devices such as smartphones and the like, the device would accommodate and respond accordingly to such “menu” and “back” button inputs.
By way of even further example, other forms of user input modalities could be provided by the above-described thermostat as additions and/or alternative to the above-described ring rotations and inward clicks without necessarily departing from the scope of the present teachings. Examples include optically sensed gesture-based user inputs similar to those provided with modern video game consoles, and voice inputs implemented using known speech recognition algorithms. It is to be appreciated that there are many alternative ways of implementing both the processes and apparatuses described herein. Accordingly, the present embodiments are to be considered as illustrative and not restrictive, and the inventive body of work is not to be limited to the details given herein, which may be modified within the scope and equivalents of the appended claims.
The subject matter of this patent specification relates to the subject matter of the following commonly assigned applications: U.S. Ser. No. 12/881,430 filed Sep. 14, 2010; U.S. Ser. No. 12/881,463 filed Sep. 14, 2010; U.S. Ser. No. 61/415,771 filed Nov. 19, 2010; U.S. Ser. No. 61/429,093 filed Dec. 31, 2010; U.S. Ser. No. 12/984,602 filed Jan. 4, 2011; U.S. Ser. No. 12/987,257 filed Jan. 10, 2011; U.S. Ser. No. 13/033,573 filed Feb. 23, 2011; U.S. Ser. No. 29/386,021, filed Feb. 23, 2011; U.S. Ser. No. 13/034,666, U.S. Ser. No. 13/034,674 and U.S. Ser. No. 13/034,678 filed Feb. 24, 2011; U.S. Ser. No. 13/038,191 filed Mar. 1, 2011; U.S. Ser. No. 13/038,206 filed Mar. 1, 2011; U.S. Ser. No. 29/399,609 filed Aug. 16, 2011; U.S. Ser. No. 29/399,614 filed Aug. 16, 2011; U.S. Ser. No. 29/399,617 filed Aug. 16, 2011; U.S. Ser. No. 29/399,618 filed Aug. 16, 2011; U.S. Ser. No. 29/399,621 filed Aug. 16, 2011; U.S. Ser. No. 29/399,623 filed Aug. 16, 2011; U.S. Ser. No. 29/399,625 filed Aug. 16, 2011; U.S. Ser. No. 29/399,627 filed Aug. 16, 2011; U.S. Ser. No. 29/399,630 filed Aug. 16, 2011; U.S. Ser. No. 29/399,632 filed Aug. 16, 2011; U.S. Ser. No. 29/399,633 filed Aug. 16, 2011; U.S. Ser. No. 29/399,636 filed Aug. 16, 2011; U.S. Ser. No. 29/399,637 filed Aug. 16, 2011; U.S. Ser. No. 13/199,108, filed Aug. 17, 2011; U.S. Ser. No. 13/267,871 filed Oct. 6, 2011; U.S. Ser. No. 13/267,877 filed Oct. 6, 2011; U.S. Ser. No. 13/269,501 filed Oct. 7, 2011; U.S. Ser. No. 29/404,096 filed Oct. 14, 2011; U.S. Ser. No. 29/404,097 filed Oct. 14, 2011; U.S. Ser. No. 29/404,098 filed Oct. 14, 2011; U.S. Ser. No. 29/404,099 filed Oct. 14, 2011; U.S. Ser. No. 29/404,101 filed Oct. 14, 2011; U.S. Ser. No. 29/404,103 filed Oct. 14, 2011; U.S. Ser. No. 29/404,104 filed Oct. 14, 2011; U.S. Ser. No. 29/404,105 filed Oct. 14, 2011; U.S. Ser. No. 13/275,311 filed Oct. 17, 2011; U.S. Ser. No. 13/275,307, filed Oct. 17, 2011; Attorney Docket 00162-000300000, filed Oct. 17, 2011 via Express Mail Receipt, EH 162375377 US entitled, “User Interfaces for Remote Management and Control of Network-Connected Thermostats”. Each of the above-referenced patent applications is incorporated by reference herein. The above-referenced patent applications are collectively referenced hereinbelow as “the commonly assigned incorporated applications.”
Number | Date | Country | |
---|---|---|---|
61415771 | Nov 2010 | US | |
61429093 | Dec 2010 | US |